gtable(GaloisTable) is a low-latency in-menory database engine implement by c++ for relational data storage especially for advertisement data. Support SQL like pre-compiled query language GQL. You can embed gtable into any c++ project.
gtable-parser is a tool for translating *.ddl or *.gql file inito xml file.
Installation dependency:
- cmake 2.8+
- cmake_setuptools
- python 2.7+
- bison 2.3+
- flex 2.5+
- gcc c++17+
$ git clone --recursive git@github.com:galois-advertising/gtable-parser.git
$ cd gtable-parser
$ python setup.py install
If fails, check your gcc version:
$ export CC=/opt/gcc720/bin/gcc && export CXX=/opt/gcc720/bin/g++
and re-run the commands above.
import os
import sys
import gtableparser
with open("schema/Datatable.ddl", 'r') as f:
datatable = f.read()
p = gtableparser.ddlparser()
xml = p.parse(datatable)
print xml
with open("schema/SeekIndex.gql", 'r') as f:
seekindex = f.read()
p = gtableparser.gqlparser()
xml = p.parse(seekindex)
print xml