@@ -163,7 +163,7 @@ def db_get_connection(session_name):
163163 db_con = None
164164
165165 # Get the values
166- db_type = db_params .get (DB_TYPE )
166+ db_type = db_params .get (DB_TYPE ). lower ()
167167 db_name = db_params .get (DB_NAME )
168168 db_user_id = db_params .get (DB_USER_ID )
169169 db_password = db_params .get (DB_PASSWORD )
@@ -368,14 +368,18 @@ def db_select(data_set):
368368 query = None
369369 session_name = 'default'
370370 variable_name = None
371+ return_type = None
371372 for left , mid , right in data_set :
372373 if left == "query" :
373374 # Get the and query, and remove any whitespaces
374375 query = right .strip ()
375376 if "action" in mid :
376377 variable_name = right .strip ()
377378 if 'session' in left .lower ():
378- session_name = right .strip ()
379+ session_name = right .strip ()
380+ if 'return' in left .lower ():
381+ return_type = "records"
382+
379383
380384 if variable_name is None :
381385 CommonUtil .ExecLog (sModuleInfo , "Variable name must be provided." , 3 )
@@ -403,6 +407,10 @@ def db_select(data_set):
403407 db_rows .append (list (db_row ))
404408
405409 # Set the rows as a shared variable
410+ if return_type == 'records' :
411+ column_headers = [i [0 ] for i in db_cursor .description ]
412+ db_rows = [dict (zip (column_headers , row )) for row in db_rows ]
413+
406414 sr .Set_Shared_Variables (variable_name , db_rows )
407415
408416 db_con .close ()
0 commit comments