Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
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