Parser used for BeeDB, mainly forked from Hyrise SQL Parser (https://github.com/hyrise/sql-parser).
Go to file
Adnan Hasnain Alam bcb5fe5e82 Enable compilation on clang++ also
‘uint’ is only available on Linux. Other than this, there seems to be
no other dependency on the compiler.
2016-04-30 10:26:18 +05:30
docs cleaned up documentation 2016-02-27 16:58:51 +01:00
example implement clang compatibility 2016-02-27 17:44:42 +01:00
hyrise cleaned up documentation 2016-02-27 16:58:51 +01:00
src Enable compilation on clang++ also 2016-04-30 10:26:18 +05:30
test add test for installed library 2016-02-27 16:45:17 +01:00
.gitignore add astyle formatting 2016-02-27 15:01:06 +01:00
.travis.yml implement clang compatibility 2016-02-27 17:44:42 +01:00
LICENSE adds license 2015-04-15 09:16:36 +02:00
Makefile implement clang compatibility 2016-02-27 17:44:42 +01:00
README.md Update README.md 2016-02-27 18:39:16 +01:00
astyle.options add astyle formatting 2016-02-27 15:01:06 +01:00

README.md

C++ SQL Parser for Hyrise

This is a SQL Parser for C++. It parses the given SQL query into C++ objects. It is developed for integration in hyrise (https://github.com/hyrise/hyrise), but can be used in other environments as well.

In March 2015 we've also written a short paper outlining discussing some development details and the integration into our database Hyrise. You can find the paper here.

Usage

Note: You can also find a detailed usage description at this blog post.

Requirements:

  • gcc 4.8+

To use the SQL parser in your own projects you simply have to follow these few steps. The only requirement for is gcc 4.8+. Older versions of gcc might also work, but are untested.

  1. Download the latest release here
  2. Compile the library make to create libsqlparser.so
  3. (Optional) Run make install to copy the library to /usr/local/lib/
  4. Run the tests make test to make sure everything worked
  5. Take a look at the example project here
  6. Include the SQLParser.h from src/ and link the library in your project

Development

Requirements for development:

  • gcc 4.8 (or newer)
  • bison (tested with v3.0.2)
  • flex (tested with v2.5.5)

First step to extending this parser is cloning the repository git clone git@github.com:hyrise/sql-parser.git and making sure everything works by running the following steps:

make parser   # builds the bison parser and flex lexer
make library  # builds the libsqlparser.so
make test     # runs the tests with the library

Rerun these steps whenever you change part of the parse. To execute the entire pipeline automatically you can run:

make cleanall  # cleans the parser build and library build
make test      # build parser, library and runs the tests

How to contribute

We strongly encourage you to contribute to this project! If you want to contribute to this project there are several options. If you've noticed a bug or would like an improvement let us know by creating a new issue. If you want to develop a new feature yourself or just improve the quality of the system, feel free to fork the reposistory and implement your changes. Open a pull request as soon as your done and we will look over it. If we think it's good then your pull request will be merged into this repository.

Resources

License

HYRISE sql-parser is licensed as open source after the OpenSource "Licence of the Hasso-Plattner Institute" declared in the LICENSE file of this project.

Contributers

The following people contributed to HYRISE sql-parser in various forms.