2 个版本
0.1.3 | 2024年6月2日 |
---|---|
0.1.0 | 2024年6月1日 |
#9 in #dialect
1MB
348 代码行数,不包括注释
SQL 函数
该包包含从各种 SQL 方言生成的函数存根和实现。目标是使计算提供程序(如 DataFusion)能够选择性地从许多方言中导入函数。
目标:**与所有 SQL 方言中的所有函数具有功能等价性**。
要贡献一个函数,请参阅我们的 贡献指南
概览
该包分为以下组件
- signatures - 包含每个 SQL 方言的文件夹。每个文件夹包含
.sdf.yml
格式的函数签名。这些签名随后由生成器用于生成函数存根。每个函数存根都有一个todo!()
,需要填充。 - src - 包含每个函数的实现。我们建议每个文件一个函数。
先决条件设置
所有函数都编译到一个单独的包中。
要 构建 函数包
cargo build
要 测试 函数包
cargo test
单态函数
该包中的函数默认是 单态的。这意味着每个函数只操作一种 类型 的数据,支持多种数据类型将导致函数重载。例如,一个接受整数并返回整数的函数,如 int add(int a, int b),是单态的。
这与多态函数相反,多态函数可以通过泛型或类型参数等机制在多种类型上操作。单态函数在类型检查和类型推断方面通常更简单,因为没有需要解析的泛型类型参数。
贡献
欢迎贡献!无论是报告列表还是文档。请仔细阅读 CONTRIBUTING.md
使用 SQL 函数包
依赖项
~64MB
~1.5M SLoC