@@ -118,39 +118,36 @@ def create(cls, owner, name, description, parent=None, from_default=False):
118
118
"""
119
119
queue = "create_analysis"
120
120
conn_handler = SQLConnectionHandler ()
121
+ conn_handler .create_queue (queue )
121
122
# TODO after demo: if exists()
122
123
123
124
if from_default :
124
125
# insert analysis and move samples into that new analysis
125
126
dflt_id = owner .default_analysis
126
- sql = \
127
- """ DO $do$
128
- DECLARE
129
- aid = varchar;
130
- BEGIN
131
- INSERT INTO qiita.{0}
127
+ sql = """INSERT INTO qiita.{0}
132
128
(email, name, description, analysis_status_id)
133
129
VALUES (%s, %s, %s, 3)
134
- RETURNING analysis_id INTO aid;
135
- UPDATE qiita.analysis_sample SET analysis_id = aid
136
- WHERE analysis_id = {1};
137
- RETURN aid;
138
- END $do$""" . format ( cls . _table , dflt_id )
139
- a_id = conn_handler . add_to_queue (
140
- queue , sql , ( owner . id , name , description ) )
130
+ RETURNING analysis_id""" . format ( cls . _table )
131
+ conn_handler . add_to_queue ( queue , sql , ( owner . id , name ,
132
+ description ))
133
+ sql = """UPDATE qiita.analysis_sample
134
+ SET analysis_id = %s
135
+ WHERE analysis_id = %s RETURNING %s"""
136
+ conn_handler . add_to_queue ( queue , sql , [ '{0}' , dflt_id , '{0}' ] )
141
137
else :
142
138
# insert analysis information into table as "in construction"
143
- sql = ("""INSERT INTO qiita.{0} (email, name, description, "
144
- "analysis_status_id) VALUES (%s, %s, %s, 1) "
145
- "RETURNING analysis_id""" .format (cls ._table ))
146
- a_id = conn_handler .add_to_queue (
147
- queue , sql , (owner .id , name , description ))[0 ]
139
+ sql = """INSERT INTO qiita.{0}
140
+ (email, name, description, analysis_status_id)
141
+ VALUES (%s, %s, %s, 1)
142
+ RETURNING analysis_id""" .format (cls ._table )
143
+ conn_handler .add_to_queue (
144
+ queue , sql , (owner .id , name , description ))
148
145
149
146
# add parent if necessary
150
147
if parent :
151
148
sql = ("INSERT INTO qiita.analysis_chain (parent_id, child_id) "
152
- "VALUES (%s, {0} ) RETURNING child_id" )
153
- conn_handler .add_to_queue (queue , sql , [parent .id ])
149
+ "VALUES (%s, %s ) RETURNING child_id" )
150
+ conn_handler .add_to_queue (queue , sql , [parent .id , '{0}' ])
154
151
155
152
a_id = conn_handler .execute_queue (queue )[0 ]
156
153
return cls (a_id )
0 commit comments