- h5tables[table._v_pathname] = {
- 'name': table._v_pathname,
- 'columns': colnames,
- 'primary_keys': [],
- 'count': int(table.nrows),
- 'label_column': None,
- 'hidden': False,
- 'fts_table': None,
- 'foreign_keys': {'incoming': [], 'outgoing': []},
- }
-
- h5file.close()
- return h5tables, views, _connector_type
-
-def _parse_sql(sql, params):
- # Table name
- sql = re.sub('(?i)from \[(.*)]', 'from "\g<1>"', sql)
- # Params
- for param in params:
- sql = sql.replace(":" + param, param)
-
- try:
- parsed = parse(sql)
- except:
- # Propably it's a PyTables expression
- for token in ['group by', 'order by', 'limit']:
- res = re.search('(?i)where (.*)' + token, sql)
- if res:
- modified_sql = re.sub('(?i)where (.*)(' + token + ')', '\g<2>', sql)
- parsed = parse(modified_sql)
- parsed['where'] = res.group(1)
- break