{"repo":"apache/datafusion-sqlparser-rs","free":true,"listed":false,"github":"https://github.com/apache/datafusion-sqlparser-rs","clone":"git clone https://github.com/apache/datafusion-sqlparser-rs.git","description":"Extensible SQL Lexer and Parser for Rust","language":"Rust","stars":3427,"topics":["sql","rust","big-data"],"license":"Apache-2.0","category":"databases-storage","readme_excerpt":"Extensible SQL Lexer and Parser for Rust This crate contains a lexer and parser for SQL that conforms with the [ANSI/ISO SQL standard][sql-standard] and other dialects. This crate is used as a foundation for SQL query engines, vendor-specific parsers, and various SQL analysis. Example To parse a simple SELECT statement: This outputs Features The following optional crate features are available: serde : Adds Serde support by implementing Serialize and Deserialize for all AST nodes. visitor : Adds a Visitor capable of recursively walking the AST tree. recursive-protection (enabled by default), uses recursive for stack overflow protection. Syntax vs Semantics This crate provides only a syntax parser, and tries to avoid applying any SQL semantics, and accepts queries that specific databases would reject, even when using that Database's specific Dialect . For example, CREATE TABLE(x int, x int) is accepted by this crate, even though most SQL engines will reject this statement due to the repeated column name x . This crate avoids semantic analysis because it varies drastically between dialects and implementations. If you want to do semantic analysis, feel free to use this project as a base. Preserves Syntax Round Trip This crate allows users to recover the original SQL text (with comments removed, normalized whitespace and keyword capitalization), which is useful for tools that analyze and manipulate SQL. This means that other than comments, whitespace and the capitalization of keyw","default_branch":null,"files":null,"tree":[],"storefront":"/r/apache","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/apache/datafusion-sqlparser-rs/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}