Skip to content

cata_case_sensitive

参数名称

cata_case_sensitive

参数解释

控制系统字典(系统表)中对象名(如表、列)的存储和匹配是否区分大小写。

  • true:严格区分大小写,与写入系统表的格式完全一致。
  • false:不区分大小写,统一按大写处理。

默认值

false

取值范围

[true|false]

访问权限

R/W

是否全局参数

修改生效方式

cata_case_sensitive不支持在数据库中执行SET命令修改,只能通过修改xugu.ini文件,重启系统后生效。

操作步骤

  1. 在数据库中执行以下命令中止数据库服务,退出控制台工具。
    SQL> SHUTDOWN
  2. 修改SETUP文件夹下xugu.ini文件中的cata_case_sensitive参数,根据实际需求在取值范围内选择合适的参数值,保存并退出。
  3. 重新启动数据库服务。
  4. 在数据库中执行以下命令查看当前参数值。
    SQL> SHOW cata_case_sensitive

注意事项

V12.5及之前版本开表逻辑(基于table_name)

  • 相关参数enable_sys_name_idx:

    • 该参数用于控制按对象名查询系统表时是否使用索引,默认值为false。
    • 如果enable_sys_name_idx设置为true,则使用索引扫描,且索引严格区分大小写(不受cata_case_sensitive参数的影响)。
    • 仅在节点上首次访问时才会访问系统表,后续访问会利用对象缓存。
  • 输入标识符处理:

    • 输入标识符的处理方式与数据库的兼容模式相关。PostgreSQL兼容模式:默认将标识符转换为小写。Oracle/Xugu兼容模式:默认将标识符转换为大写。
    • 使用反引号`可以强制保留标识符的原始大小写。
  • 对象缓存规则:

    • cata_case_sensitive=false:缓存强制大写。
    • cata_case_sensitive=true:缓存与系统表存储的格式一致。

V12.6及以上版本开表逻辑(基于table_id)

开表过程改为通过表ID(table_id)进行。