def __init__(self, sql, all_fields=None): self.tokens = sql_parser.parseString(sql) if isinstance(sql, basestring) else sql self.column_classes = None self._table_subquery = None self._all_fields = all_fields self._idx = {} self._parts = self._generate_parts()
def _query(self, sql): tokens = sql_parser.parseString(sql) all_fields = [] if tokens.columns == '*': usePrefix = len(tokens.tables) > 1 for t in tokens.tables: columns = sql_columns(self.conns[0], t[0]) if usePrefix: columns = ["%s.%s"%(t[0],c) for c in columns] all_fields.extend(columns) return DbShardsQuery(sql, all_fields), all_fields