sql-metadata
sql-metadata copied to clipboard
Uses tokenized query returned by python-sqlparse and generates query metadata
its a Great piece of work, but a small bug, for the below query, DD and WK keyword is been returned as columns , which ideally its not. so appreciate...
Given a `group_concat` invocation: ```sql GROUP_CONCAT([DISTINCT] expr [,expr ...] [ORDER BY {unsigned_integer | col_name | expr} [ASC | DESC] [,col_name ...]] [SEPARATOR str_val]) Select JoinedMonth, group_concat( distinct FirstName order by...
Hi! Thank you, your package is very useful to us! We encountered a minor issue with a query where some `with_name` is incorrectly marked as a `table`. I built this...
When trying to parse queries of the type `CREATE INDEX`, the `Parser` fails. It seems like this is currently not supported! Stacktrace from within sql-metadata: ``` File "/code/backend/core/sawmill/.venv/lib/python3.10/site-packages/sql_metadata/parser.py", line 344,...
Using the following code: ``` from sql_metadata import Parser sql = """ select dependent_schema.name as dependent_schema, relationships.dependent_name as dependent_name from relationships join schema as dependent_schema on relationships.dependent_schema_id=dependent_schema.id join schema as...
This would be super helpful for parsing more advanced SQL select statements, like: `SELECT DATE_TRUNC('month', o.order_date) AS month, c.customer_id, c.customer_name, p.product_name, SUM(oi.quantity * oi.unit_price) AS revenue, ROW_NUMBER() OVER (PARTITION BY...
``` >>> from sql_metadata import Parser >>> sql2 = "select * from t1 where uid = 4" >>> parser = Parser(sql2) >>> data = parser.columns_dict >>> print(data) {'select': ['*']} ```...
``` >>> parser = Parser("select * from t1 where id = 1") >>> parser.values_dict >>> parser.values [] ``` I want to obtain id=1
SQL: ```sql select a.A as M from tab1 a union all select b.B as M from tab2 b ``` ```python parser = Parser(SQL) print(parser.columns_dict, parser.columns_aliases) ``` Result: ```json {"M": "tab1.A"}...
``` >>> from sql_metadata import Parser >>> >>> parser = Parser("select * from checksums as c where c.tbl='esx_binlog_member' limit 1") >>> parser.columns_aliases_names [] >>> parser.columns_aliases_dict >>> ``` **### does not...