cata_case_sensitive
参数名称
cata_case_sensitive
参数解释
控制系统字典(系统表)中对象名(如表、列)的存储和匹配是否区分大小写。
- true:严格区分大小写,与写入系统表的格式完全一致。
- false:不区分大小写,统一按大写处理。
默认值
false
取值范围
[true|false]
访问权限
R/W
是否全局参数
是
修改生效方式
cata_case_sensitive不支持在数据库中执行SET命令修改,只能通过修改xugu.ini文件,重启系统后生效。
操作步骤
- 在数据库中执行以下命令中止数据库服务,退出控制台工具。
SQL> SHUTDOWN
- 修改SETUP文件夹下xugu.ini文件中的cata_case_sensitive参数,根据实际需求在取值范围内选择合适的参数值,保存并退出。
- 重新启动数据库服务。
- 在数据库中执行以下命令查看当前参数值。
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)进行。