def query(self, sql, args=None, many=None, as_dict=False):
        """The connection raw sql query,  when select table,  show table
            to fetch records, it is compatible the dbi execute method.


        :param sql string: the sql stamtement like 'select * from %s'
        :param args  list: Wen set None, will use dbi execute(sql), else
            dbi execute(sql, args), the args keep the original rules, it shuld be tuple or list of list
        :param many  int: when set, the query method will return genarate an iterate
        :param as_dict bool: when is true, the type of row will be dict, otherwise is tuple
        """
        con = self.pool.pop()
        c = None
        try:
            c = con.cursor(as_dict)
            LOGGER.debug("Query sql: " + sql + " args:" + str(args))
            c.execute(sql, args)
            if many and many > 0:
                return self._yield(con, c, many)
            else:
                return c.fetchall()

        except Exception as e:
            LOGGER.error("Error Qeury on %s", str(e))
            raise DBError(e.args[0], e.args[1])
        finally:
            many or (c and c.close())
            many or (con and self.pool.push(con))
def query ( self , sql , args = None , many = None , as_dict = False ) : con = self . pool . pop ( ) c = None try : c = con . cursor ( as_dict ) LOGGER . debug ( "Query sql: " + sql + " args:" + str ( args ) ) c . execute ( sql , args ) if many and many > 0 : return self . _yield ( con , c , many ) else : return c . fetchall ( ) except Exception as e : LOGGER . error ( "Error Qeury on %s" , str ( e ) ) raise DBError ( e . args [ 0 ] , e . args [ 1 ] ) finally : many or ( c and c . close ( ) ) many or ( con and self . pool . push ( con ) )
The connection raw sql query,  when select table,  show table
            to fetch records, it is compatible the dbi execute method.


        :param sql string: the sql stamtement like 'select * from %s'
        :param args  list: Wen set None, will use dbi execute(sql), else
            dbi execute(sql, args), the args keep the original rules, it shuld be tuple or list of list
        :param many  int: when set, the query method will return genarate an iterate
        :param as_dict bool: when is true, the type of row will be dict, otherwise is tuple