GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - hyrise/sql-parser: SQL Parser for C++. Building C++ object structure from SQL statements.

BranchesTags
Open more actions menu

Latest commit

 

History

429 Commits
429 Commits

Folders and files

NameName
Last commit message
Last commit date
.github/workflows
.github/workflows
 
 
benchmark
benchmark
 
 
docs
docs
 
 
example
example
 
 
src
src
 
 
test
test
 
 
.clang-format
.clang-format
 
 
.gitignore
.gitignore
 
 
LICENSE
LICENSE
 
 
Makefile
Makefile
 
 
README.md
README.md
 
 
format.sh
format.sh
 
 

Repository files navigation

C++ SQL Parser

Build Status

This is a SQL Parser for C++. It parses the given SQL query into C++ objects. It has been developed for integration in Hyrise, but can be used perfectly well 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 here.

To use the SQL parser in your own projects you simply have to follow these few steps.

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

/* ... */

{
    // Basic Usage Example

    const std::string query = "...";
    hsql::SQLParserResult result;
    hsql::SQLParser::parse(query, &result);

    if (result.isValid() && result.size() > 0) {
        const hsql::SQLStatement* statement = result.getStatement(0);

        if (statement->isType(hsql::kStmtSelect)) {
            const auto* select = static_cast<const hsql::SelectStatement*>(statement);
            /* ... */
        }
    }
}

Quick Links:

  • SQLParser.h
  • SQLParserResult.h
  • SelectStatement.h

How to Contribute

Developer Documentation

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.

License

HYRISE sql-parser is licensed as open source after the MIT License which is declared in the LICENSE file of this project.

About

SQL Parser for C++. Building C++ object structure from SQL statements.

Topics

c-plus-plushyrisesqlsql-parser

Resources

Readme
MIT license
Activity
Custom properties

Stars

813 stars

Watchers

47 watching

Forks

265 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.