Parses MySQL and translates ADQL to MySQL.
Project description
Let’s parse some MySQL and ADQL!
Parsing MySQL
Processing of MySQL queries is done by first creating an instance of the MySQLQueryProcessor class
from queryparser.mysql import MySQLQueryProcessor
qp = MySQLQueryProcessor()
feeding it a MySQL query
sql = "SELECT a FROM b;"
qp.set_query(sql)
and running it with
qp.process_query()
After the processing, the processor object will include columns, functions, and keywords used in the query.
Alternatively, passing the query at initialization automatically processes it.
Translating ADQL
Translation of ADQL queries is done similarly by first creating an instance of the ADQLQueryTranslator class
from queryparser.adql import ADQLQueryTranslator
adql = "SELECT TOP 100 a,b FROM c"
adt = ADQLQueryTranslator(adql)
and calling
adt.to_mysql()
which returns a translated string.
Examples
There are some example queries in the queryparser/examples directory. Have a look there, edit run.py (just comment out/uncomment the line you want in main) and run it:
python queryparser/examples/run.py
This will parse a number of queries (specified in the corresponding example-files) and print the query, the parsed columns and the parsing time.
Generating the parser from the git repository
To generate the parsers you need python (either 2 or 3), java above version 7, and antlr4 (which has to be installed inside the /usr/local/lib/ or /usr/local/bin/ directories).
After cloning the project, run
python make.py
and a lib directory will be created with the complete source for python2 and python3. After that, run:
python setup.py install
to install the generated parser in you virtual env.
TODO
more Documentation
ADQL coordinate systems
ADQL mixed coordinates
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file queryparser-python3-0.1.tar.gz
.
File metadata
- Download URL: queryparser-python3-0.1.tar.gz
- Upload date:
- Size: 217.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 32afca061857f0d950b39a9b71756da9aaed313773430c7d1e7f39ca8291f67c |
|
MD5 | ac6a28ba4ac52730ffeab1881bd3d9b3 |
|
BLAKE2b-256 | 34947363e35e0743556a209f254765bf33e2ec295c3b04ca54375c26380edbc6 |