Polars SQL 差异¶
本页记录使用 Polars SQL 时相关的 SQL 语法差异。其中包括名称或参数顺序不同的等价语法,以及未在 Polars SQL 中记录为受支持的 SQL 文档特性。
对比基线是从 presto-docs/src/main/sphinx 导入的 PrestoDB 文档,来源为 release-0.298 分支的提交 04cc4d6e1352c64cdd66e474d228235dd6c81942。本页条目描述 Polars SQL 文档有意与该 PrestoDB 文档基线不同的地方。
等价语法¶
以下行是严格等价项:Polars SQL 语法以不同名称、别名、简写形式或参数顺序提供相同的已记录能力。
范围 |
源文档语法 |
Polars SQL 语法 |
说明 |
依据 |
|---|---|---|---|---|
数学 |
|
|
阶乘函数。超出支持的整数阶乘范围的值返回 |
|
数学 |
|
|
以 10 为底的对数。 |
|
字符串 |
|
|
字符计数别名。 |
|
字符串 |
|
|
从 Unicode 码点生成字符。 |
|
字符串 |
|
|
前缀检查。 |
|
字符串 |
|
|
后缀检查。 |
|
字符串 |
|
|
从 1 开始计数的子串位置。未找到时 |
|
字符串 |
|
|
正数位置的子串提取。 |
|
日期和时间 |
|
|
|
|
日期和时间 |
|
|
天单位的简写形式。 |
|
日期和时间 |
|
|
差值方向相同: |
|
不支持的 SQL 特性¶
每一行都保留源文档页面、移除的特性、原因、验证方式以及作为依据的 .test 文件。
从函数索引中移除的函数系列¶
源文档页面 |
移除的特性 |
原因 |
验证方式 |
依据 |
|---|---|---|---|---|
|
从源文档继承而来的 lambda 函数、位运算函数、decimal 专用语义、二进制函数、JSON 函数、加噪聚合函数、数组函数、map 函数、URL 提取/编码函数、IP 地址函数、地理空间函数、HyperLogLog、KHyperLogLog、QDigest、UUID、TDigest、颜色函数、会话信息函数、Teradata 兼容函数、国际化函数、SetDigest、sketch、Pinot 下推函数、插件加载函数列表以及表函数。 |
这些函数系列中的标量、聚合或窗口特性没有经过支持验证。Polars SQL 中存在一些相近的专用函数,但它们并不是同一组已记录函数系列,也未列为等价语法。 |
针对保留函数系列的 Polars SQL 冒烟测试,以及针对代表性移除函数系列的未支持边界检查。 |
|
从比较页面中移除的特性¶
源文档页面 |
移除的特性 |
原因 |
验证方式 |
依据 |
|---|---|---|---|---|
|
|
这些形式没有经过支持验证。Polars SQL 当前在本页记录普通比较运算符、 |
针对保留比较行为的 Polars SQL 测试、针对移除形式的未支持边界检查,以及对不完整量化比较布尔语义的人工验证。 |
|
从条件表达式页面中移除的特性¶
源文档页面 |
移除的特性 |
原因 |
验证方式 |
依据 |
|---|---|---|---|---|
|
|
Polars SQL 在部分上下文中接受 |
针对保留条件表达式的 Polars SQL 测试,以及针对 |
|
从转换页面中移除的特性¶
源文档页面 |
移除的特性 |
原因 |
验证方式 |
依据 |
|---|---|---|---|---|
|
|
Polars SQL 没有经过验证的 |
针对保留 |
|
|
|
Polars SQL 没有经过验证的标量函数来支持该数据大小解析器。 |
针对 Polars SQL 未支持函数的检查。 |
|
|
|
Polars SQL 没有经过验证的标量函数用于返回表达式类型名称。 |
针对 Polars SQL 未支持函数的检查。 |
|
|
原转换页面记录的、允许空白字符的字符串到 |
Polars SQL 未将 |
Polars SQL 保留转换检查和未支持转换边界检查。 |
|
从数学页面中移除的特性¶
源文档页面 |
移除的特性 |
原因 |
验证方式 |
依据 |
|---|---|---|---|---|
|
|
Polars SQL 没有经过验证的标量函数或兼容函数名映射来支持这些函数。直接 Polars SQL 检查显示, |
针对 Polars SQL 未支持函数的检查。 |
|
|
稀疏向量和数组向量数学函数 |
Polars SQL 没有经过验证的标量函数来支持这些向量函数。 |
针对 Polars SQL 未支持函数的检查。 |
|
|
概率 CDF 和逆 CDF 函数,包括 |
Polars SQL 没有经过验证的标量函数来支持这些概率分布函数。 |
针对 Polars SQL 未支持函数的检查。 |
|
|
Wilson 区间函数 |
Polars SQL 没有经过验证的标量函数来支持这些统计函数。 |
针对 Polars SQL 未支持函数的检查。 |
|
|
双曲函数和浮点辅助函数 |
Polars SQL 没有经过验证的标量函数来支持这些浮点辅助函数。 |
针对 Polars SQL 未支持函数的检查。 |
|
从字符串页面中移除的特性¶
源文档页面 |
移除的特性 |
原因 |
验证方式 |
依据 |
|---|---|---|---|---|
|
|
Polars SQL 没有经过验证的兼容名称映射。 |
针对 Polars SQL 未支持函数的检查。 |
|
|
|
Polars SQL 没有经过验证的兼容实现来支持这些查找和拆分函数。 |
针对 Polars SQL 未支持函数的检查。 |
|
|
|
Polars SQL 没有经过验证的标量函数来支持这些文本相似度、前缀和词干提取函数。 |
针对 Polars SQL 未支持函数的检查。 |
|
|
|
Polars SQL 没有经过验证的兼容行为来支持这些形式。特别是,直接 Polars SQL 验证显示,负数子串起始位置会返回空字符串,而不是使用源文档中相对于末尾的解释。 |
Polars SQL 未支持或不兼容行为检查。 |
|
|
Unicode 函数 |
Polars SQL 没有经过验证的标量函数来支持这些 Unicode 和二进制转换函数。 |
针对 Polars SQL 未支持函数的检查。 |
|
从正则表达式页面中移除的特性¶
源文档页面 |
移除的特性 |
原因 |
验证方式 |
依据 |
|---|---|---|---|---|
|
|
Polars SQL 没有经过验证的标量映射来支持这些正则表达式函数。返回数组的形式也超出了已验证 Polars SQL 标量文档范围。 |
针对 Polars SQL 未支持函数的检查。 |
|
|
双参数 |
Polars SQL 只验证支持 |
针对 Polars SQL 未支持函数的检查。 |
|
|
Java |
Polars SQL 正则替换不遵循源 Java |
Polars SQL 不兼容行为检查。 |
|
从日期和时间页面中移除的特性¶
源文档页面 |
移除的特性 |
原因 |
验证方式 |
依据 |
|---|---|---|---|---|
|
基于 |
Polars SQL 没有经过验证的兼容区间算术或带时区时间戳运算符支持。 |
针对 Polars SQL 未支持语法的检查。 |
|
|
|
在这一组中,Polars SQL 只验证支持 |
针对 Polars SQL 未支持函数的检查。 |
|
|
|
Polars SQL 没有经过验证的标量函数来支持这些日期/时间转换辅助函数。 |
针对 Polars SQL 未支持函数的检查。 |
|
|
|
Polars SQL 没有经过验证的标量函数来支持这些截断、持续时间和格式化函数。 |
针对 Polars SQL 未支持函数的检查。 |
|
|
通过 |
Polars SQL 只验证兼容支持 |
Polars SQL 未支持或不兼容提取检查。 |
|
从聚合页面中移除的特性¶
源文档页面 |
移除的特性 |
原因 |
验证方式 |
依据 |
|---|---|---|---|---|
|
通用聚合 |
Polars SQL 只验证支持聚合页面中保留的标量值通用聚合函数。 |
Polars SQL 保留聚合检查和代表性未支持函数检查。 |
|
|
|
Polars SQL 没有经过验证的兼容聚合函数来支持这些按排序键取值的函数。 |
针对 Polars SQL 未支持函数的检查。 |
|
|
返回数组的 Top-N 聚合形式 |
直接 Polars SQL 验证显示,这些形式返回标量 |
Polars SQL 不兼容行为检查。 |
|
|
位聚合函数 |
Polars SQL 没有经过验证的兼容聚合函数来支持这些位聚合函数。 |
针对 Polars SQL 未支持函数的检查。 |
|
|
Map 聚合函数 |
Polars SQL 没有经过验证的返回 map 的聚合支持来覆盖这些函数。 |
针对 Polars SQL 未支持函数的检查。 |
|
|
|
在这一组中,Polars SQL 只验证兼容支持 |
Polars SQL 保留 |
|
|
统计聚合 |
Polars SQL 没有经过验证的兼容聚合函数来支持这些统计函数。已验证的统计支持仅限于聚合页面中保留的协方差、相关性、回归、方差和标准差函数。 |
Polars SQL 保留统计聚合检查和未支持函数检查。 |
|
|
分类指标聚合函数、微分熵聚合函数、蓄水池采样聚合函数和加噪聚合函数。 |
Polars SQL 没有经过验证的兼容聚合函数来支持这些聚合系列。 |
针对 Polars SQL 未支持函数的检查。 |
|
从窗口函数页面中移除的特性¶
源文档页面 |
移除的特性 |
原因 |
验证方式 |
依据 |
|---|---|---|---|---|
|
|
Polars SQL 不支持 |
针对 Polars SQL 未支持窗口框架的检查。 |
|
|
基于 |
Polars SQL 没有经过验证的兼容 |
针对 Polars SQL 未支持函数的检查。 |
|
从数据类型页面中移除的类型¶
源文档页面 |
移除的特性 |
原因 |
验证方式 |
依据 |
|---|---|---|---|---|
|
|
Polars SQL 没有经过验证的 |
针对 Polars SQL 未支持转换的检查。 |
|
|
定精度 |
Polars SQL 可以分析某些 decimal 形式,但对 |
人工验证发现 Polars SQL 输出 |
|
|
定长 |
Polars SQL 接受 |
Polars SQL 不兼容行为检查。 |
|
|
|
Polars SQL 没有经过验证的兼容二进制或 JSON 值支持。 |
针对 Polars SQL 未支持字面量/类型的检查。 |
|
|
|
在本页中,Polars SQL 只验证支持 |
针对 Polars SQL 未支持时区/interval 的检查,以及日期时间页面的未支持时区检查。 |
|
|
结构类型 |
Polars SQL 没有经过验证的兼容结构化值支持来覆盖这些类型。 |
针对 Polars SQL 未支持表达式/类型的检查。 |
|
|
网络、UUID、sketch 和地理空间类型,包括 |
Polars SQL 没有经过验证的兼容支持来覆盖这些 SQL 专用值类型和 sketch 类型。 |
针对代表性网络和 UUID 字面量的 Polars SQL 未支持类型检查。 |
|
保留关键字页面差异¶
源文档页面 |
移除的特性 |
原因 |
验证方式 |
依据 |
|---|---|---|---|---|
|
源保留关键字表以及 SQL:2016/SQL-92 状态列。 |
Polars SQL 使用自己的解析器语法和保留关键字集合。保留页面列出的是 Polars SQL 解析器保留关键字,而不是源解析器/标准状态表。 |
Polars SQL 检查带引号保留标识符、拒绝未加引号的保留标识符,以及非保留关键字标识符。 |
|
从 SQL 章节中移除的语句语法¶
源文档页面 |
移除的特性 |
原因 |
验证方式 |
依据 |
|---|---|---|---|---|
|
用于更改函数 null 调用行为的 |
Polars SQL 没有经过验证的支持来修改 SQL 函数元数据。 |
针对 Polars SQL 未支持语句的检查。 |
|
|
|
Polars SQL 没有经过验证的物化视图属性修改支持。 |
针对 Polars SQL 未支持语句的检查。 |
|
|
|
不支持 schema 重命名。 |
针对 Polars SQL 未支持语句的检查。 |
|
|
|
直接 Polars SQL 验证显示,已接受的表/列修改形式不能可靠地产生源文档记录的效果,并且若干 SQL 子形式完全不受支持。因此移除该页面,而不是记录部分可接受但不兼容的行为。 |
针对添加列、重命名列和重命名表形式的 Polars SQL 不兼容行为检查,以及针对代表性未支持子形式的未支持检查。 |
|
|
连接器专用 |
在本页中,Polars SQL 只验证支持普通 |
Polars SQL 保留普通 |
|
|
|
Polars SQL 没有经过验证的连接器调用或存储过程调用支持。 |
针对 Polars SQL 未支持语句的检查。 |
|
|
|
Polars SQL 没有经过验证的显式事务控制 SQL 支持。 |
针对 Polars SQL 未支持语句的检查。 |
|
|
用于 SQL 或外部例程的 |
Polars SQL 没有经过验证的创建用户自定义 SQL 函数支持。 |
针对 Polars SQL 未支持语句的检查。 |
|
|
|
Polars SQL 没有经过验证的角色管理支持。 |
针对 Polars SQL 未支持语句的检查。 |
|
|
|
Polars SQL 可以创建 schema,但直接验证显示 |
Polars SQL 保留 |
|
|
|
Polars SQL 已验证支持普通列定义、 |
Polars SQL 保留 |
|
|
CTAS |
Polars SQL 已验证支持基本 |
Polars SQL 保留 CTAS 检查,以及不兼容 |
|
|
|
Polars SQL 不支持向量索引 DDL。 |
针对 Polars SQL 未支持语句的检查。 |
|
|
视图安全模式 |
视图安全子句会被接受但被忽略;视图使用等价于 invoker 的行为。已验证页面只记录存储查询行为和 |
Polars SQL 保留 |
|
|
|
不支持创建物化视图。 |
针对 Polars SQL 未支持语句的检查。 |
|
|
|
不支持预处理语句生命周期命令。 |
针对 Polars SQL 未支持语句的检查。 |
|
|
|
不支持 |
针对已有表的 Polars SQL 未支持语句检查。 |
|
|
用于预处理语句的 |
Polars SQL 不支持可执行的预处理语句控制语句,因此不支持预处理语句输入/输出检查。 |
针对 Polars SQL 未支持语句的检查。 |
|
|
用于用户自定义 SQL 函数或临时函数的 |
Polars SQL 没有经过验证的删除用户自定义 SQL 函数支持。 |
针对 Polars SQL 未支持语句的检查。 |
|
|
|
Polars SQL 没有经过验证的角色管理支持。 |
针对 Polars SQL 未支持语句的检查。 |
|
|
|
Polars SQL 可以删除已有 schema,但直接验证显示 |
Polars SQL 保留 |
|
|
|
不支持物化视图 DDL。 |
针对 Polars SQL 未支持语句的检查。 |
|
|
|
不支持预处理语句执行。 |
针对 Polars SQL 未支持语句的检查。 |
|
|
|
Polars SQL 已验证支持查询计划的基本 |
Polars SQL 保留基本 |
|
|
|
Polars SQL 不支持 |
Polars SQL 未支持/不兼容语句检查。 |
|
|
权限授予和角色授予。 |
Polars SQL 没有经过验证的权限或角色管理 SQL 支持。 |
针对 Polars SQL 未支持语句的检查。 |
|
|
|
不支持 |
针对 Polars SQL 未支持语句的检查。 |
|
|
|
不支持预处理语句生命周期命令。 |
针对 Polars SQL 未支持语句的检查。 |
|
|
|
不支持刷新物化视图。 |
针对 Polars SQL 未支持语句的检查。 |
|
|
|
Polars SQL 没有经过验证的会话属性控制语句支持。 |
针对 Polars SQL 未支持语句的检查。 |
|
|
权限回收和角色回收。 |
Polars SQL 没有经过验证的权限或角色管理 SQL 支持。 |
针对 Polars SQL 未支持语句的检查。 |
|
|
显式事务回滚语法 |
Polars SQL 没有经过验证的显式事务控制 SQL 支持。 |
针对 Polars SQL 未支持语句的检查。 |
|
|
|
Polars SQL 会将递归 |
针对 Polars SQL 未支持查询的检查。 |
|
|
|
Polars SQL 接受该语法,但验证显示采样比例会被忽略,因此采样行为未记录为受支持。 |
Polars SQL 不兼容行为检查。 |
|
|
|
Polars SQL 没有经过验证的数组或 map 展开支持。 |
针对 Polars SQL 未支持查询的检查。 |
|
|
|
已验证的 Polars SQL 行为在相关 |
针对 Polars SQL 未支持查询的检查。 |
|
|
|
Polars SQL 验证仅覆盖 |
Polars SQL 保留去重集合运算检查。 |
|
|
|
Polars SQL 没有经过验证的角色管理 SQL 支持。 |
针对 Polars SQL 未支持语句的检查。 |
|
|
|
Polars SQL 没有经过验证的会话属性控制语句支持。 |
针对 Polars SQL 未支持语句的检查。 |
|
|
元数据检查 |
Polars SQL 没有经过验证的这些元数据检查语句支持。 |
针对 Polars SQL 未支持语句的检查,包括针对 |
|
|
|
Polars SQL 没有经过验证的显式事务控制 SQL 支持。 |
针对 Polars SQL 未支持语句的检查。 |
|
|
|
|
针对 Polars SQL 未支持语句的检查,以及用于确认行数保持不变的检查。 |
|
|
|
不支持 |
针对 Polars SQL 未支持语句的检查。 |
|