VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

vastbase_sql_mode

功能描述

Vastbase在MySQL兼容模式下,支持使用GUC参数vastbase_sql_mode控制B兼容下的语法校验规则。

该参数属于USERSET类型参数,请参考重设参数表1中对应设置方法进行设置。

当前版本默认值为ONLY_FULL_GROUP_BY,ANSI_QUOTES,含义详情参考表1

注意事项

  • 该功能仅在数据库兼容模式为MySQL时能够使用(即创建DB时DBCOMPATIBILITY='B'),在其他数据库兼容模式下不能使用该特性。
  • 从V2.2 Build 10(Patch No.2)开始,仅在MySQL兼容模式下校验此参数。在其他兼容模式下修改此参数值并不会报错,但修改不会生效。
  • 当此参数指定的值中不包含ANSI_QUOTES时,双引号引用的内容将被解释为字符串。此时将导致使用vsql连接数据库后部分命令会报语法错误,引起部分功能异常,请谨慎设置。

取值范围

字符串,仅允许合法字符串设定。参数值由若干个配置项用逗号隔开构成。

  • 当前仅支持表1中的内容。

  • 同时配置多个选项时,相邻配置项用逗号隔开,例如:set vastbase_sql_mode='ONLY_FULL_GROUP_BY,ANSI_QUOTES';

  • 若将此参数取值设为空字符串,则表示不启用任何相关特性。

表1 vastbase_sql_mode取值范围

取值 说明 用法参考 数据库支持版本
ONLY_FULL_GROUP_BY 用于限制以下两种场景:
  • 出现在select列表中的列,一定要出现在group by子句中。
  • 出现在order by中的列,一定要出现在select distinct中。
  • SELECT...GROUP BY
  • SELECT DISTINCT...ORDER BY
  • V2.2 Build 10及以上
    ANSI_QUOTES 控制双引号引用的内容被解释为标识符还是字符串。 双引号解释为标识符 V2.2 Build 11及以上

    示例

    示例请参考表1中的“用法参考”。