vitess-sqlparser - simply SQL Parser for Go ( powered by vitess and TiDB )

  •        17

xwb1989/sqlparser is famous sql parser in Go. But it cannot parse some query (like offset or bulk insert...) because it customizes vitess's sql parser. Also, some libraries use from vitess sql parser directly. But vitess's sql parser only partial supports DDL parsing.

https://github.com/knocknote/vitess-sqlparser

Tags
Implementation
License
Platform

   




Related Projects

sqlparser - SQL Parser implemented in Go

  •    Go

Go package for parsing MySQL SQL queries. The backbone of this repo is extracted from vitessio/vitess.

Vitess - Database clustering system for horizontal scaling of MySQL

  •    Go

Vitess is a database clustering system for horizontal scaling of MySQL through generalized sharding. By encapsulating shard-routing logic, Vitess allows application code and database queries to remain agnostic to the distribution of data onto multiple shards. With Vitess, you can even split and merge shards as your needs grow, with an atomic cutover step that takes only a few seconds. Vitess has been a core component of YouTube's database infrastructure since 2011, and has grown to encompass tens of thousands of MySQL nodes.

Vitess - Database clustering system for horizontal scaling of MySQL

  •    Go

Vitess is a database clustering system for horizontal scaling of MySQL through generalized sharding. By encapsulating shard-routing logic, Vitess allows application code and database queries to remain agnostic to the distribution of data onto multiple shards. With Vitess, you can even split and merge shards as your needs grow, with an atomic cutover step that takes only a few seconds.

WowPacketParser - World of Warcraft Packet Parser

  •    CSharp

Optionally, WPP can connect to two kinds of MySQL databases: world from TrinityCore and its own database, WPP. This can be enabled by setting <add key="DBEnabled" value="true" /> in the .config file. Remember to set <add key="TargetedDatabase" value="1"/> in accordance with the targeted version of the core. The world database is used when creating SQL files after parsing to produce the mimimum number of changes needed to update the database. For example, if only the faction of a creature that appears in the sniff needs to be updated, the produced SQL files will contain an UPDATE query, instead of a full INSERT to the table creature_template. WPP does not modify this database directly, all the tentative changes will be written to the output SQL files.

Sqlparse - A non-validating SQL parser module for Python

  •    Python

sqlparse is a non-validating SQL parser for Python. It provides support for parsing, splitting and formatting SQL statements.


SQLParser

  •    

An attempt to write a full MS Sql parser in FsLex and FsYacc.

sql-parser - A SQL parser written in pure JS

  •    Javascript

SQL Parser is a lexer, grammar and parser for SQL written in JS. Currently it is only capable of parsing fairly basic SELECT queries but full SQL support will hopefully come in time. See the specs for examples of currently supported queries. The package is distributed on NPM and can be installed with...

Open SQL Parser

  •    Javascript

Open SQL Parser is a database independant SQL parser written in PHP.

Parser SQL Query

  •    C++

Class C++ of parse SQL query. Simple, but effective to add a condition to the SQL query of any complexity or replace a variable by its value. Variable begins with a '$'.

Convert Ms Word Table to Sql Table

  •    

This utility would help convert Ms word 2007 Tables to Sql tables. Add this macro to any word docx document and Run the macro. We get a text file containing all the tables which follow the naming convention converted into sql DDL statements. You just need to follow some naming

SQL Parser for Delphi

  •    Delphi

Develope a string parser that is capable to parse SQL statements into tokens, allows changing theese tokens and rebuilding (modified) SQL statement

Text-Field Parser for Windows Phone

  •    

Text-Field Parser for Windows Phone is an analog of the Microsoft VisualBasic IO Text-Field Parser but designed to run on Windows Phone. The project was created specifically for another code project product, GTFS SQL Library for Windows Phone, and thus has only been impleme...

Visual Log Parser

  •    

Visual LogParser GUI is a free Visual tool for the Microsoft LogParser engine. It enable user to query any log files or data source with an advanced SQL syntax. Visual LogParser offer an dockable MDI interface, color syntax hightlighting, customisation of the log source pro...

ANTLR - ANother Tool for Language Recognition

  •    Java

ANTLR (ANother Tool for Language Recognition) is a powerful parser generator for reading, processing, executing, or translating structured text or binary files. It's widely used to build languages, tools, and frameworks. From a grammar, ANTLR generates a parser that can build and walk parse trees. Twitter search uses ANTLR for query parsing, with over 2 billion queries a day.

rdb - Javascript ORM

  •    Javascript

ORM for nodejs. Supports postgres, mySql and sqlite. 1.7.1 Support for schemas (postgres only). 1.7.0 sqlite3 is now a peer dependency. Add it to your own package.json if you intend to use it. 1.6.9 Bugfix: one-to-many relation returns empty if strategy is included. 1.6.8 Bugfix: one-to-many relation returns empty if insert/update is done earlier in transaction. 1.6.7 Bugfix in relations. 1.6.6 Bugfix. 1.6.5 Improved performance on relations. 1.6.4 Bugfix. 1.6.3 Bugfix: potential incorrect timeZoneOffset when serializing date to JSON. Got timeZoneOffset from now() instead of on actual date. 1.6.2 Removed es6 syntax to ensure backwards compatability. Fixed global var leak. 1.6.1 Now supporting sqlite. 1.6.0 Bugfix: potential ambigous column error when using limit and relating to other tables. 1.5.9 Bugfix: using multipleStatements in mySql could sometimes cause an error when updates are run right before a select. Improved performance on limit when relating to other tables. Using uuid instead of node-uuid Updated all dependencies but generic-pool to latest. (Generic-pool has some breaking changes in latest. I will update it in next release.) 1.5.8 Cleanup line breaks in documentation. 1.5.7 Bugfix: getById.exclusive and tryGetById.exclusive did not lock if row was cached. Improved performance on tryGetFirst. 1.5.6 Raw sql filters can accept sql both as string and as function. E.g. var filter = {sql: function() {return 'foo > 1';}}. 1.5.5 Optional locks for getMany, tryGetFirst and tryGetById. Instead of calling getMany(params) just call getMany.exclusive(params). Same syntax goes for tryGetFirst and tryGetById. This will result in SELECT FOR UPDATE. Bugfix: bulk deletes now accepts raw sql filters too. 1.5.4 Transaction locks. Postgres only. 1.5.3 Upgraded to pg 6.0.3 1.5.2 Improved performance and reduced memory footprint. 1.5.1 Documented JSON column type. Bug fix: Insert and foreign key violation. 1.5.0 JSON column type. Postgres json type does not support rdb filters. 1.4.1 Empty filter would sometimes cause invalid filter. 1.4.0 Raw SQL query. 1.3.0 getMany() now supports limit and orderBy - same syntax as in streaming. 1.2.3 Bugfix: iEqual gave incorrect sql when parameterized. 1.2.2 Exlusive no longer returns a clone of table. It has changes current table to exclusive locking. 1.2.1 Bugfix: Exclusive row locks 1.2.0 Exclusive row locks 1.1.0 Now supporting streaming. Requires postgres or MySQL >=5.7.7 1.0.8 README fixup. 1.0.7 Better performance on insert and update. 1.0.6 Bugfix: Transaction domain should not forward rdb singleton from old domain. 1.0.5 Documentation cleanup. 1.0.4 orderBy in toDto(). 1.0.3 toDto() using next tick on every thousandth row to avoid maximum call stack size exceeded. 1.0.2 Reduced number of simultaneous promises in order to avoid maximum call stack size exceeded. 1.0.1 Bugfix: Incorrect insert/updates on timestamp without timezone. The time was converted utc instead of stripping the timezone. 1.0.0 Transaction domain forwards properties from old domain. Semantic versioning from now on. 0.5.1 Improved performance 0.5.0 Logging: rdb.log(someFunc) logs sql and parameters. Raw sql filters. 0.4.9 New method: tryGetById. New filter: iEqual, postgres only. Bugfix: rows.toJSON() without strategy did not include any children. 0.4.8 Explicit pooling with size and end(). Bugfix: mySql did not release client to pool. 0.4.7 Upgraded to pg 4.3.0 Upgraded to mysql 2.5.5 0.4.6 Upgraded pg 4.2.0. 0.4.5 Oops. Forgot to use pg.js instead of pg. 0.4.4 Upgraded all dependencies to latest. Using pg.js instead of pg. 0.4.3 Can ignore columns when serializing to dto. 0.4.2 Bugfix: update on a row crashes when a delete occurs earlier in same transaction. 0.4.1 Bugfix: more global leaks. 0.4.0 Bugfix: global leak. 0.3.9 Bugfix: eager loading joins/hasOne with non unique column names was not handled correctly. 0.3.8 Supports mySql. Bulk deletes. 0.3.7 Bugfix: eager loading manyRelation on a join/hasOne returned empty array #11 0.3.6 Fixed sql injection vulnerability. 0.3.5 Built-in fetching strategies for lazy loading. Works best in readonly scenarios. 0.3.4 Docs and examples split moved to separate file. 0.3.3 Fixed documentation layout again. 0.3.2 Fixed documentation layout. 0.3.1 Case insensitive filters: iStartsWith, iEndsWith and iContains. 0.3.0 Fix broken links in docs. 0.2.9 Support for row.delete(). Rollback only throws when error is present. 0.2.8 Guid accepts uppercase letters. Bugfix: null inserts on guid columns yielded wrong sql. 0.2.7 New method, toDto(), converts row to data transfer object. Bugfix: toJSON returned incorrect string on hasMany relations. 0.2.6 Fixed incorrect links in README. 0.2.5 Bugfix: caching on composite keys could give a crash #7. Improved sql compression on insert/update. 0.2.4 Bugfix: getMany with many-strategy and shallowFilter yields incorrect query #6. 0.2.3 Reformatted documentation. No code changes.

pgModeler - PostgreSQL Database Modeler

  •    C++

pgModeler - PostgreSQL Database Modeler - is an open source data modeling tool designed for PostgreSQL. No more DDL commands written by hand let pgModeler do the job for you! This software reunites the concepts of entity-relationship diagrams and the features that PostgreSQL implements as extensions of SQL standards.

SQL Bandwidth Meter Log Parser

  •    

Parses the log files created by the Hosts Tools SQL Bandwidth Meter application

Data Access Objects (DAO) for PHP

  •    PHP

Data Access Objects (DAO) code generator which reads schema directly from your database. PreparedStatement PHP class similar to JDBC. Database-neutral XML DDL Schema engine and SQL generator. Supports MySQL. Support for other databases coming.

node-mysql2 - :zap: fast node-mysql compatible mysql driver for node.js

  •    Javascript

MySQL2 project is a continuation of MySQL-Native. Protocol parser code was rewritten from scratch and api changed to match popular mysqljs/mysql. MySQL2 team is working together with mysqljs/mysql team to factor out shared code and move it under mysqljs organisation. MySQL2 is free from native bindings and can be installed on Linux, Mac OS or Windows without any issues.

vcif - CIF Validation Software

  •    C

vcif is an open source software for validation of Crystallographic Information Files. It supports lexical, parser and dictionary validation (DDL 1 and 2 are fully supported, DDLm draft partially supported)