sqlparser-rs:该项目用rust实现了一个符合ANSI/ISO SQL标准以及其他方言的SQL解析器和词法分析器。可以被用作SQL查询引擎、特定供应商解析器以及各种SQL分析的基础。项目地址:github.com/sqlparser-rs/sqlparser-rs也可以用来学习,该项目核心表达式解析器采用了Pratt解析器设计,这是一种自顶向下的运算符优先级(TDOP...
SQL解析:利用现有的SQL解析库,如sqlparser-rs,来解析SQL语句。 CLI库:使用如clap等库来构建命令行界面。 步骤 1.环境准备和项目初始化 安装Rust并使用Cargo创建新项目: cargo new rust_sql_toolcdrust_sql_tool 2.设置依赖 在Cargo.toml中添加所需的库: [dependencies] diesel = { version = "1.4.5", fea...
use sqlparser::dialect::GenericDialect; use sqlparser::parser::Parser; let sql = "SELECT a, b, 123, myfunc(b) \ FROM table_1 \ WHERE a > b AND b < 100 \ ORDER BY a DESC, b"; let dialect = GenericDialect {}; // or AnsiDialect, or your own dialect ... let ast = Parser...
#码趣 Rust版sqlparser-rs在fuzz健壮性测试下(比如解析 "ASSERT-URA<<"字符)会不停的panic,很影响稳定性,主要原因是upstream错误处理不当导致。Datafuse 团队对其进行了修复并已合并到master分支, issue: http:...
README.md SECURITY.md rustfmt.toml Breadcrumbs sqlparser-rs / rustfmt.toml Latest commit Cannot retrieve latest commit at this time. HistoryHistory File metadata and controls Code Blame 1 lines (1 loc) · 61 Bytes Raw # We use rustfmt's default settings to format the source code 1 Wh...
sqlparser-rs - 可拓展的 SQL词法分析器和语法解析器 使用返回 error 替代 panic 添加基于 honggfuzz 的模糊测试工具 支持tinyint datafuse-extras/sqlparser-rs 目前包含一些 Databend 定制的特性 支持INSERT FORMAT 支持cast(a, b) 使函数支持参数
GlueSQL 是一个用 Rust 编写的 SQL 数据库的库包(注意:不是数据库本身)。它提供了打包成单个库的解析器 ( sqlparser-rs )、执行层和可选存储 ( sled )。开发人员可以选择使用 GlueSQL 来构建自己的 SQL 数据库,或者作为使用默认存储引擎的嵌入式 SQL 数据库。您可以将 GlueSQL 用作嵌入式 SQL 数据库。
sqlparser-rs - 可拓展的 SQL 词法分析器和语法解析器 使用返回 error 替代 panic 添加基于 honggfuzz 的模糊测试工具 支持tinyint datafuse-extras/sqlparser-rs 目前包含一些 Databend 定制的特性 支持INSERT FORMAT 支持cast(a, b) 使函数支持参数
•sqlparser-rs - 可拓展的 SQL 词法分析器和语法解析器 •使用返回 error 替代 panic •添加基于 honggfuzz 的模糊测试工具 •支持 tinyint •datafuse-extras/sqlparser-rs 目前包含一些 Databend 定制的特性 •支持 INSERT FORMAT •支持 cast(a, b) ...
机器学习 /深度学习是 Rust 很有潜力,但目前生态还很匮乏的领域。 Rust 有 tensorflow 的绑定,也有 tch-rs 这个 libtorch(PyTorch)的绑定。除了这些著名的 ML 库的 Rust 绑定外,Rust 下还有对标 scikit-learn 的 linfa。 小结 我的天呐,今天才知道 Rust可以用在这么多方向上。目前主要用在WebAssembly领域。