def query_db(db, http_req_args): select_target = 'programs.*' if http_req_args.has_key('count'): select_target = 'COUNT(*) as COUNT' db_req_args = [] where_str = make_where_str(http_req_args, db_req_args) paging_str = make_paging_str(http_req_args, db_req_args) db_req = 'SELECT %s FROM programs %s ORDER BY programs.start %s;' % (select_target, where_str, paging_str) if not server_helper.profile: return db.query(db_req, *db_req_args) else: ts1 = server_helper.get_ts() rows = db.query(db_req, *db_req_args) ts2 = server_helper.get_ts() print db_req % tuple(db_req_args) print 'Took %f ms' % ((ts2 - ts1) * 1000) return rows
def query_db(db, http_req_args): # Get pr_ids for ctg_ids and time db_req_args = [] select_target = 'pr_id' if http_req_args.has_key('count'): select_target = 'COUNT(*) as COUNT' ctg_where_str = make_ctg_where_str(http_req_args, db_req_args) paging_str = make_paging_str(http_req_args, db_req_args) db_req = 'SELECT %s FROM categories %s ORDER BY categories.start %s' % (select_target, ctg_where_str, paging_str); ts1 = server_helper.get_ts() rows = db.query(db_req, *db_req_args) ts2 = server_helper.get_ts() if server_helper.profile: print db_req % tuple(db_req_args) print 'categories: Took %f ms' % ((ts2 - ts1) * 1000) if (http_req_args.has_key('count')): return rows pr_ids = [row['pr_id'] for row in rows] if len(pr_ids) == 0: return [] prg_where_str = '%s,' * len(pr_ids) prg_where_str = prg_where_str[:-1] prg_where_str = 'WHERE pr_id in (%s)' % prg_where_str db_req = 'SELECT * FROM programs %s ORDER BY programs.start;' % (prg_where_str) ts1 = server_helper.get_ts() rows = db.query(db_req, *pr_ids) ts2 = server_helper.get_ts() if server_helper.profile: print db_req % tuple(pr_ids) print 'programs: Took %f ms' % ((ts2 - ts1) * 1000) return rows