# 平台和客户端兼容性
数据库系统的对外兼容性，为平台服务多样化客户端提供了关键便利。
#### transform_null_equals
**参数说明：**控制表达式expr = NULL（或NULL = expr）当做expr IS NULL处理。如果expr得出NULL值则返回真，否则返回假。
- 正确的SQL标准兼容的expr = NULL总是返回NULL（未知）。
- Microsoft Access里的过滤表单生成的查询使用expr = NULL来测试空值。打开这个选项，可以使用该接口来访问数据库。
**参数类型：**USERSET
**取值范围：**布尔型
- on表示控制表达式expr = NULL（或NULL = expr）当做expr IS NULL处理。
- off表示不控制，即expr = NULL总是返回NULL（未知）。
**默认值：**off
![](https://support.huaweicloud.com/devg-911-dws/public_sys-resources/note_3.0-zh-cn.png)
新用户经常在涉及NULL的表达式上语义混淆，故默认值设为off。
 #### td_compatible_truncation
**参数说明：**控制是否开启与Teradata数据库相应兼容的特征。该参数在用户连接上与TD兼容的数据库时，可以将参数设置成为on（即超长字符串自动截断功能启用），该功能启用后，在后续的insert语句中，对目标表中char和varchar类型的列插入超长字符串时，会按照目标表中相应列定义的最大长度对超长字符串进行自动截断。保证数据都能插入目标表中，而不是报错。
![](https://support.huaweicloud.com/devg-911-dws/public_sys-resources/note_3.0-zh-cn.png)
- 超长字符串自动截断功能不适用于insert语句包含外表的场景。
- 如果向字符集为字节类型编码（SQL_ASCII，LATIN1等）的数据库中插入多字节字符数据（如汉字等），且字符数据跨越截断位置，这种情况下，按照字节长度自动截断，自动截断后会在尾部产生非预期结果。如果用户有对于截断结果正确性的要求，建议用户采用UTF8等能够按照字符截断的输入字符集作为数据库的编码集。
 
**参数类型：**USERSET
**取值范围：**布尔型
- on表示启动超长字符串自动截断功能。
- off表示停止超长字符串自动截断功能。
**默认值：**off
 #### behavior_compat_options
**参数说明：** 数据库兼容性行为配置项，该参数的值由若干个配置项用逗号隔开构成。不同的兼容性配置项，适用的兼容模式（ORA/TD/MySQL）不同，参见[表1]。
**参数类型：**USERSET
**取值范围：**字符串
**默认值：**新安装集群场景下，该参数默认值为check_function_conflicts, check_function_shippable, force_german_dmy, inner_iso_datestyle, correct_convert_tz, disable_srf_condition_expr, cte_mem_exceeds_not_inline_all, ora_void_return_null, job_broken_disable, overwrite_partition_optimization, disable_timetimestamp_comparison以防止用户定义错误的函数属性导致严重的问题。
升级场景下保持前向兼容，即与升级前的集群中该参数的默认值保持一致。
![](https://support.huaweicloud.com/devg-911-dws/public_sys-resources/note_3.0-zh-cn.png)
- 当前只支持[表1]。
- 配置多个兼容性配置项时，相邻配置项用逗号隔开，例如：set behavior_compat_options='end_month_calculate,display_leading_zero';
- 此参数选项中strict_concat_functions和strict_text_concat_td不能同时设置。
- Oracle兼容模式下不建议设置behavior_compat_options= 'return_null_string' ，如果设置了此选项，应避免将查询结果插入到表里。
 
 表1兼容性配置项 
| **兼容性配置项**                                 | **兼容性行为控制**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | 适用兼容模式                                                                                                              |
|:---|:---|:---|
| display_leading_zero                 | 浮点数显示配置项。 - 不设置此配置项时，对于-1\~0和0\~1之间的小数，不显示小数点前的0。比如，0.25显示为.25。  - 设置此配置项时，对于-1\~0和0\~1之间的小数，显示小数点前的0。比如，0.25显示为0.25。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | ORA TD                                                                |
| end_month_calculate                   | add_months函数计算逻辑配置项。 假定函数add_months的两个参数分别为param1和param2，param1的月份和param2的月份和为result。 - 不设置此配置项时，如果param1的日期（Day字段）为月末，并且param1的日期（Day字段）比result月份的月末日期小，计算结果中的日期字段（Day字段）和param1的日期字段保持一致。比如，   ``` select add_months('2018-02-28',3) from dual; add_months --------------------- 2018-05-28 00:00:00 (1 row) ``` - 设置此配置项时，如果param1的日期（Day字段）为月末，并且param1的日期（Day字段）比result月份的月末日期比小，计算结果中的日期字段（Day字段）和result的月末日期保持一致。比如，   ``` select add_months('2018-02-28',3) from dual; add_months --------------------- 2018-05-31 00:00:00 (1 row) ```                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | ORA TD                                                             |
| compat_analyze_sample                   | analyze采样行为配置项。 设置此配置项时，会优化analyze的采样行为，主要体现在analyze时全局采样会更精确的控制在3万条左右，更好地控制analyze时Coordinator端的内存消耗，保证analyze性能的稳定性。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | ORA TD MySQL            |
| bind_schema_tablespace                 | 绑定模式与同名表空间配置项。 如果存在与模式名schema_name相同的表空间名，那么如果设置search_path为schema_name， default_tablespace也会同步切换到schema_name。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | ORA TD MySQL           |
| bind_procedure_searchpath              | 未指定模式名的数据库对象的搜索路径配置项。 在存储过程中如果不显式指定模式名，会优先在存储过程所属的模式下搜索。 如果找不到，则有两种情况： - 若不设置此参数，报错退出。  - 若设置此参数，按照search_path中指定的顺序继续搜索。如果还是找不到，报错退出。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | ORA TD MySQL          |
| correct_to_number                        | 控制to_number()结果兼容性的配置项。 若设置此配置项，则to_number()函数结果与PG11保持一致，否则默认与Oracle保持一致。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | ORA                                                                                                                |
| unbind_divide_bound                    | 控制对整数除法的结果进行范围校验。 - 不设置此配置项时，将对除法结果进行校验，超出范围则报错。例如，示例中INT_MIN/(-1)会因为超过结果大于INT_MAX而报越界错误：   ``` SELECT (-2147483648)::int / (-1)::int; ERROR:  integer out of range ``` - 若设置此配置项，则不需要对除法结果进行范围校验。例如，示例中INT_MIN/(-1)可以得到输出结果INT_MAX+1：   ``` SELECT (-2147483648)::int / (-1)::int; ?column? ------------ 2147483648 (1 row) ```                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | ORA TD                                                               |
| merge_update_multi                   | 控制行存表merge into匹配多行时是否进行update操作。 若设置此配置项，匹配多行时update不报错，否则默认与Oracle保持一致，报错。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | ORA TD                                                               |
| disable_row_update_multi                | 控制行存表update匹配多行时是否进行update操作。 若设置此配置项，匹配多行时update报错，否则默认可以进行多行匹配更新。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | ORA TD                                                                 |
| return_null_string                    | 控制函数lpad()、rpad()、repeat()、regexp_split_to_table()和split_part()的结果为空字符串''的显示配置项。 - 不设置此配置项时，空字符串显示为NULL。   ``` select length(lpad('123',0,'*')) from dual; length -------- (1 row) ``` - 设置此配置项时，空字符串显示为''。   ``` select length(lpad('123',0,'*')) from dual; length -------- 0 (1 row) ```                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | ORA                                                                                                                 |
| compat_concat_variadic                | 控制函数concat()和concat_ws()对variadic类型结果兼容性的配置项。 若设置此配置项，当concat函数参数为variadic类型时，保留Oracle和Teradata兼容模式下不同的结果形式；否则默认Oracle和Teradata兼容模式下结果相同，且与Oracle保持一致。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | ORA TD                                                               |
| convert_string_digit_to_numeric         | 控制CHAR类型和INT类型进行二元BOOL运算时类型转换优先级的配置项。 - 不设置此配置项时，类型转换优先级与PG9.6一致。  - 设置此配置项时，所有CHAR类型和INT类型的二元BOOL运算均强制转换为NUMERIC类型进行计算。 设置此配置项后会被影响的CHAR类型包括BPCHAR、VARCHAR、NVARCHAR2、TEXT四种类型，会被影响的INT类型包括INT1、INT2、INT4、INT8四种类型。    注意： 此配置项只对二元BOOL运算生效，例如，INT2\>TEXT、INT4=BPCHAR，非BOOL运算不会受到影响，该配置项暂不支持INT\>'1.1'这类UNKNOWN类型运算的转换。由于该配置项开启后，CHAR类型与INT类型的BOOL运算会优先转换为NUMERIC类型进行计算，因此会影响数据库计算性能，当JOIN列为受影响的类型组合时，还会影响执行计划。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | ORA TD MySQL            |
| check_function_conflicts                | 控制是否检查自定义plpgsql/SQL函数的属性。 - 不设置此配置项时，不检查自定义函数的IMMUTABLE/STABLE/VOLATILE属性。  - 设置此配置项时，会检查自定义函数的IMMUTABLE属性，如果函数中含有表，或者是有STABLE/VOLATILE函数时，在执行时会报错。因为函数中如果有表或者STABLE/VOLATILE函数时，与函数定义中的IMMUTABLE属性冲突，即这种场景下，函数的行为非IMMUTABLE。   例如：设置此参数时，以下场景下会执行报错： ``` CREATE OR replace FUNCTION sql_immutable (INTEGER) RETURNS INTEGER AS 'SELECT a+$1 from shipping_schema.t4 where a=1;' LANGUAGE SQL IMMUTABLE RETURNS NULL ON NULL INPUT; select sql_immutable(1); ERROR:  IMMUTABLE function cannot contain SQL statements with relation or Non-IMMUTABLE function. CONTEXT:  SQL function "sql_immutable" during startup referenced column: sql_immutable ```                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | ORA TD MySQL          |
| varray_verification                    | 控制是否校验数组长度以及数组类型长度。用于兼容DWS 8.1.0之前的版本。 若设置此配置项，不会校验数组长度以及数组类型长度。 ``` -- 场景1 CREATE OR REPLACE PROCEDURE varray_verification AS TYPE org_varray_type IS varray(5) OF VARCHAR2(2); v_org_varray org_varray_type; BEGIN v_org_varray(1) := '111'; --例如赋值已经超过了VARCHAR2(2)的限制，配置该选项后将和历史版本保持一致不进行校验 END; / --场景2 CREATE OR REPLACE PROCEDURE varray_verification_i3_1 AS TYPE org_varray_type IS varray(2) OF NUMBER(2); v_org_varray org_varray_type; BEGIN v_org_varray(3) := 1; --例如赋值已经超过了varray(2)的数组长度限制，配置该选项后将和历史版本保持一致不进行校验 END; / ```                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | ORA TD                                                              |
| strict_concat_functions                 | 控制函数textanycat()和anytextcat()在参数存在空值时，对返回值兼容性的配置项。此参数不能和strict_text_concat_td同时设置。 MySQL兼容模式下，此参数无影响。 - 不设置此配置项时，函数textanycat()和anytextcat()的返回值默认与Oracle保持一致。  - 设置此配置项时，若函数textanycat()和anytextcat()的参数存在空值，则返回值也为空值，保留与Oracle和Teradata兼容模式下不同的结果。   例如，不设置此配置项时，函数textanycat()和anytextcat()的返回值与Oracle保持一致： ``` SELECT textanycat('gauss', cast(NULL as BOOLEAN)); textanycat ------------ gauss (1 row) SELECT 'gauss' || cast(NULL as BOOLEAN); --这种情况下，||运算符会被转换为函数textanycat ?column? ---------- gauss (1 row) ``` 设置此配置项时，保留与Oracle和Teradata兼容模式下不同的结果： ``` SELECT textanycat('gauss', cast(NULL as BOOLEAN)); textanycat ------------ (1 row) SELECT 'gauss' || cast(NULL as BOOLEAN); --这种情况下，||运算符会被转换为函数textanycat ?column? ---------- (1 row) ```                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | ORA TD                                                             |
| strict_text_concat_td                | Teradata兼容模式下，控制函数textcat()、textanycat()和anytextcat()在参数存在空值时，对返回值兼容性的配置项。此参数不能和strict_concat_functions同时设置。 - 不设置此配置项时，Teradata兼容模式下函数textcat()、textanycat()和anytextcat()的返回值与DWS一致。  - 设置此配置项时，若Teradata兼容模式下函数textcat()、textanycat()和anytextcat()的参数存在空值，则返回值为空值。   例如，不设置此配置项时，函数textcat()、textanycat()和anytextcat()的返回值与DWS保持一致： ``` td_compatibility_db=# SELECT textcat('abc', NULL); textcat --------- abc (1 row) ``` ``` td_compatibility_db=# SELECT 'abc' || NULL; --这种情况下，||运算符会被转换为函数textcat() ?column? ---------- abc (1 row) ``` 设置此配置项时，若函数textcat()、textanycat()和anytextcat()的返回值有空值，则返回NULL： ``` td_compatibility_db=# SELECT textcat('abc', NULL); textcat --------- (1 row) ``` ``` td_compatibility_db=# SELECT 'abc' || NULL; ?column? ---------- (1 row) ```                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | TD                                                                                                                 |
| compat_display_ref_table             | 设置视图中列的显示格式。 - 不设置该选项时默认带前缀，即tab.col的格式。  - 设置该选项时与原始定义一致，原始定义带前缀则显示，否则不显示。   ``` SET behavior_compat_options='compat_display_ref_table'; CREATE OR REPLACE VIEW viewtest2 AS SELECT a.c1, c2, a.c3, 0 AS c4 FROM viewtest_tbl a; SELECT pg_get_viewdef('viewtest2'); pg_get_viewdef ----------------------------------------------------- SELECT a.c1, c2, a.c3, 0 AS c4 FROM viewtest_tbl a; (1 row) ```                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | ORA TD                                                            |
| para_support_set_func                    | 列存表中控制函数COALESCE()、NVL()、GREATEST()、LEAST()入参是否支持多结果集表达式。 - 不设置此配置项时，函数入参包含多结果集表达式时，直接报错不支持。   ``` SELECT COALESCE(regexp_split_to_table(c3,'#'), regexp_split_to_table(c3,'#')) FROM regexp_ext2_tb1 ORDER BY 1 LIMIT 5; ERROR:  set-valued function called in context that cannot accept a set ``` - 设置此配置项时，支持函数入参包含多结果集表达式。   ``` SELECT COALESCE(regexp_split_to_table(c3,'#'), regexp_split_to_table(c3,'#')) FROM regexp_ext2_tb1 ORDER BY 1 LIMIT 5; coalesce ---------- a a a a a (5 rows) ```                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | ORA TD                                                              |
| disable_select_truncate_parallel        | 控制分区表的truncate等ddl的锁等级。 - 设置此配置项时，将禁止分区表的不同分区上truncate与DML(如select)的并发，允许分区表上select的FQS(快速下发)。在OLTP场景下分区表上的简单查询较多，并且没有分区表不同分区truncate与DML并发的需求，可以考虑设置此配置项。  - 不设置此配置项时，分区表上不同分区的select与truncate可以并发进行，同时关闭分区表的FQS（快速下发）来避免可能的不一致问题。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | ORA TD MySQL          |
| bpchar_text_without_rtrim               | Teradata兼容模式下，设置此参数时，控制bpchar到text转换保留右侧空格，如果实际长度不足bpchar指定的长度，对其进行补空格操作，兼容Teradata对bpchar字符串的处理风格。 当前不支持"比较字符串时忽略尾部空格"，拼接后结果如果存在尾部空格，进行比较时会对空格敏感。 例如，设置参数时： ``` td_compatibility_db=# select length('a'::char(10)::text); length -------- 10 (1 row) td_compatibility_db=# select length('a'||'a'::char(10)); length -------- 11 (1 row) ```                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | TD                                                                                                                |
| convert_empty_str_to_null_td            | Teradata兼容模式下，设置此参数时，控制to_date, to_timestamp和to_number类型转换函数处理空串时，返回null；同时控制to_char函数处理date类型入参时返回的格式。 例如： 未设置此参数时： ``` td_compatibility_db=# select to_number(''); to_number ----------- 0 (1 row) td_compatibility_db=# select to_date(''); ERROR:  the format is not correct DETAIL:  invalid date length "0", must between 8 and 10. CONTEXT:  referenced column: to_date td_compatibility_db=# select to_timestamp(''); to_timestamp ------------------------ 0001-01-01 00:00:00 BC (1 row) td_compatibility_db=# select to_char(date '2020-11-16'); to_char ------------------------ 2020-11-16 00:00:00+08 (1 row) ``` 设置此参数，若to_number, to_date, to_timestamp函数的参数有空串时： ``` td_compatibility_db=# select to_number(''); to_number ----------- (1 row) td_compatibility_db=# select to_date(''); to_date --------- (1 row) td_compatibility_db=# select to_timestamp(''); to_timestamp -------------- (1 row) td_compatibility_db=# select to_char(date '2020-11-16'); to_char ------------ 2020/11/16 (1 row) ```                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | TD                                                                                                                |
| disable_case_specific                  | 控制字符类型匹配时是否忽略大小写。仅在Teradata兼容模式下生效。 - 不设置此配置项时，字符类型匹配时，字符的大小写敏感。  - 设置此配置项时，字符类型匹配时，字符的大小写不敏感。   设置此配置项后会影响的字符类型包括CHAR、TEXT、BPCHAR、VARCHAR、NVARCHAR五种类型，会被影响的操作符包括\<、\>、=、\>=、\<=、!=、\<\>、!=、like、not like、in、not in共12种操作符以及case when、decode 表达式。 注意： 由于该配置项开启后，字符类型前会增加UPPER函数进而会影响估算逻辑，需要使用增强的估算模型。（建议设置：cost_param=16、cost_model_version = 1、join_num_distinct=-20、qual_num_distinct=200）                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | TD                                                                                                                |
| enable_interval_to_text                 | 控制interval到text类型的隐式转换功能。 - 设置此选项时，支持interval类型到text类型的隐式转换。 ``` SELECT TO_DATE('20200923', 'yyyymmdd') - TO_DATE('20200920', 'yyyymmdd') = '3'::text; ?column? ---------- f (1 row) ```   - 不设置此选项时，不支持interval类型到text类型的隐式转换。 ``` SELECT TO_DATE('20200923', 'yyyymmdd') - TO_DATE('20200920', 'yyyymmdd') = '3'::text; ?column? ---------- t (1 row) ```                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | ORA TD MySQL         |
| case_insensitive                      | MySQL兼容模式下，设置此参数，控制locate，strpos，instr字符串函数入参大小写不敏感。 目前默认未设置该参数，即入参大小写敏感。 例如： - 未设置此选项时，入参大小写敏感。 ``` mysql_compatibility_db=# SELECT LOCATE('sub', 'Substr'); locate -------- 0 (1 row) ```     - 设置此选项时，入参大小写不敏感。 ``` mysql_compatibility_db=# SELECT LOCATE('sub', 'Substr'); locate -------- 1 (1 row) ```                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | MySQL                                                                                                             |
| inherit_not_null_strict_func            | 控制函数原有的strict属性，参数为1个的函数可以传递NOT NULL属性的行为。即：对于func(x)，如果func()为strict属性，且x包含NOT NULL约束，则认为func(x)也是包含NOT NULL约束的。 该兼容配置项在某些优化场景，例如：NOT IN优化、COUNT(DISTINCT)优化，会有特定的优化效果，但特定场景可能导致结果错误。 目前默认未设置该参数，保证结果正确，但可能导致性能回退，如果出现问题可设置该参数回退到历史版本行为。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | ORA TD MySQL             |
| disable_compat_minmax_expr_mysql        | MySQL兼容模式下，控制greatest/least表达式对null入参的处理方式。 默认兼容MySQL。可通过设置此参数，回退到历史版本行为。 - 不设置此选项时，兼容MySQL行为，入参为null时返回null。 ``` mysql_compatibility_db=# SELECT greatest(1, 2, null), least(1, 2, null); greatest | least ----------+------- | (1 row) ```   - 设置此选项时，返回非null参数中的最大/小值。 ``` mysql_compatibility_db=# SELECT greatest(1, 2, null), least(1, 2, null); greatest | least ----------+------- 2 |     1 (1 row) ```                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | MySQL                                                                                                               |
| disable_compat_substr_mysql            | MySQL兼容模式下，控制substr/substring函数在起始位置pos \<= 0时的行为。 默认兼容MySQL。可通过设置此参数，回退到历史版本行为。 - 不设置此选项时，兼容MySQL行为，即pos = 0时返回空串，pos \< 0时从倒数第 \|pos\| 个位置开始截取字符。 ``` mysql_compatibility_db=# SELECT substr('helloworld',0); substr -------- (1 row) mysql_compatibility_db=# SELECT substring('helloworld',0),substring('helloworld',-2,4); substring | substring -----------+----------- | ld (1 row) ```   - 设置此选项时，pos \<= 0时仍然从左侧开始截取字符。此时substr/substring函数行为与ORACLE兼容模式下行为一致。 ``` mysql_compatibility_db=# SELECT substr('helloworld',0); substr ------------ helloworld (1 row) mysql_compatibility_db=# SELECT substring('helloworld',0),substring('helloworld',-2,4); substring  | substring ------------+----------- helloworld | h (1 row) ```                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | MySQL                                                                                                              |
| disable_compat_trim_mysql              | MySQL兼容模式下，控制trim/ltrim/rtrim函数对入参的处理方式。 默认兼容MySQL。可通过设置此参数，回退到历史版本行为。 - 不设置此选项时，兼容MySQL行为，匹配完整子串。 ``` mysql_compatibility_db=# SELECT trim('{}{name}{}','{}'),trim('xyznamezyx','xyz'); btrim  |  btrim --------+--------- {name} | namezyx (1 row) ```   - 设置此选项时，匹配字符集合中的单个字符。 ``` mysql_compatibility_db=# SELECT trim('{}{name}{}','{}'),trim('xyznamezyx','xyz'); btrim | btrim -------+------- name  | name (1 row) ```                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | MySQL                                                                                                                |
| light_object_mtime                     | 控制pg_object系统表mtime字段是否会记录对象行为的操作。 - 设置此选项时，GRANT/REVOKE/TRUNCATE操作不被mtime记录即不更新mtime字段。  - 不设置此选项时（默认行为），ALTER操作、COMMENT、GRANT/REVOKE和TRUNCATE均会被mtime记录即更新mtime字段。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | ORA TD MySQL           |
| disable_including_all_mysql             | MySQL兼容模式下，控制CREATE TABLE ... LIKE语法是否为INCLUDING_ALL模式。 默认不设置此参数，即MySQL兼容模式下，CREATE TABLE ... LIKE语法默认为INCLUDING_ALL模式。 可通过设置此参数，回退到历史版本行为。 - 不设置此选项，MySQL兼容模式下，CREATE TABLE ... LIKE语法为INCLUDING_ALL模式。 ``` mysql_compatibility_db=# CREATE TABLE mysql_like(id int, name varchar(10), score int) DISTRIBUTE BY hash(id) COMMENT 'mysql_like'; CREATE TABLE mysql_compatibility_db=# CREATE INDEX index_like ON mysql_like(name); CREATE INDEX mysql_compatibility_db=# \d+ mysql_like; Table "public.mysql_like" Column |         Type          | Modifiers | Storage  | Stats target | Description --------+-----------------------+-----------+----------+--------------+------------- id     | integer               |           | plain    |              | name   | character varying(10) |           | extended |              | score  | integer               |           | plain    |              | Indexes: "index_like" btree (name) TABLESPACE pg_default Has OIDs: no Distribute By: HASH(id) Location Nodes: ALL DATANODES Options: orientation=row, compression=no mysql_compatibility_db=# CREATE TABLE copy_like like mysql_like; CREATE TABLE mysql_compatibility_db=# \d+ copy_like; Table "public.copy_like" Column |         Type          | Modifiers | Storage  | Stats target | Description --------+-----------------------+-----------+----------+--------------+------------- id     | integer               |           | plain    |              | name   | character varying(10) |           | extended |              | score  | integer               |           | plain    |              | Indexes: "copy_like_name_idx" btree (name) TABLESPACE pg_default Has OIDs: no Distribute By: HASH(id) Location Nodes: ALL DATANODES Options: orientation=row, compression=no ```   - 设置此选项，MySQL兼容模式下，CREATE TABLE ... LIKE语法为空模式。 ``` mysql_compatibility_db=# SET behavior_compat_options = 'disable_including_all_mysql'; SET mysql_compatibility_db=# CREATE TABLE mysql_copy LIKE mysql_like; NOTICE:  The 'DISTRIBUTE BY' clause is not specified. Using round-robin as the distribution mode by default. HINT:  Please use 'DISTRIBUTE BY' clause to specify suitable data distribution column. CREATE TABLE mysql_db=# \d+ mysql_copy; Table "public.mysql_copy" Column |         Type          | Modifiers | Storage  | Stats target | Description --------+-----------------------+-----------+----------+--------------+------------- id     | integer               |           | plain    |              | name   | character varying(10) |           | extended |              | score  | integer               |           | plain    |              | Has OIDs: no Distribute By: ROUND ROBIN Location Nodes: ALL DATANODES Options: orientation=row, compression=no ```    | MySQL                                                                                                              |
| cte_onetime_inline                     | 控制非stream计划是否执行inline。 - 设置此选项时，非stream计划且只被引用一次的CTE执行inline。  - 不设置此选项时，非stream计划且只被引用一次的CTE不执行inline。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | ORA TD MySQL            |
| skip_first_after_mysql                 | MySQL兼容模式下，控制是否在ALTER TABLE ADD/MODIFY/CHANGE COLUMN中忽略FIRST/AFTER colname语法。 - 设置此选项时，将忽略FIRST/AFTER colname语法，执行不报错。 ``` mysql_compatibility_db=# SET behavior_compat_options = 'skip_first_after_mysql'; mysql_compatibility_db=# ALTER TABLE t1 ADD COLUMN b text after a; ALTER TABLE ```     - 不设置此选项时，将不支持FIRST/AFTER colname语法，执行报错。 ``` mysql_compatibility_db=# SET behavior_compat_options = ''; mysql_compatibility_db=# ALTER TABLE t1 ADD COLUMN b text after a; ERROR:  FIRST/AFTER is not yet supported. ```                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | MySQL                                                                                                             |
| enable_division_by_zero_mysql        | MySQL兼容模式下，除数为0时，控制除法或取余操作是否报错。（该配置项仅8.1.3.110及以上集群版本支持。） - 设置此选项时，除法或取余操作除数为0时，返回NULL。 ``` compatible_mysql_db=# SET behavior_compat_options = 'enable_division_by_zero_mysql'; SET compatible_mysql_db=# SELECT 1/0 AS test; test ---------- (1 row) ```   - 不设置此选项时，除法或取余操作除数为0时，执行报错。 ``` compatible_mysql_db=# SELECT 1/0; ERROR:  division by zero ```                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | MySQL                                                                                                               |
| normal_session_id                     | 控制是否生成normal格式的会话ID。 - 设置此选项时，生成normal格式的会话ID，兼容8.1.3及之前集群版本的会话ID。 ``` SET behavior_compat_options='normal_session_id'; SELECT pg_current_sessionid(); pg_current_sessionid ---------------------------- 1660268184.140594655524608 (1 row) ```   - 不设置此选项时，生成pretty格式的会话ID。 ``` SET behavior_compat_options=''; SELECT pg_current_sessionid(); pg_current_sessionid ----------------------------------------- 1660268184.140594655524608.coordinator1 (1 row) ```                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | ORA TD MySQL         |
| disable_jsonb_exact_match                | 控制操作符匹配规则，在对二元操作符进行模糊匹配时是否考虑jsonb类型。 - 设置此选项时，当对操作符进行模糊匹配时，会在所有备选（即不区分jsonb类型）中匹配，兼容8.1.1之后集群版本的匹配规则。 ``` SET behavior_compat_options='disable_jsonb_exact_match'; select '2022' - '2'::text; ERROR:  cannot delete from scalar ```   - 不设置此选项时，当对操作符进行模糊匹配时，会在不含jsonb类型的备选中匹配，兼容8.1.1之前集群版本的匹配规则。 ``` SET behavior_compat_options=''; select '2022' - '2'::text; ?column? ---------- 2020 (1 row) ```                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | ORA TD MySQL         |
| merge_into_with_trigger                | 控制是否支持对有触发器的表执行MERGE INTO操作。 - 设置此选项时，可以对有触发器的表执行MERGE INTO操作。注意在MERGE INTO操作执行时，表上的触发器不会被触发执行。  - 不设置此选项时，对有触发器的表执行MERGE INTO操作时报错。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | ORA TD MySQL         |
| add_column_default_v_func             | 控制alter table add column default expression中expression是否支持volatile类型的函数。 - 设置此选项时，alter table add column default expression中的expression支持volatile类型的函数。  - 不设置此选项时，alter table add column default expression中expression不支持volatile类型的函数，如果expression中有volatile的函数，该语句执行会报错。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | ORA TD MySQL          |
| disable_full_group_by_mysql            | MySQL兼容模式下，控制查询中GROUP BY后是否可以不体现任何非聚合函数查询字段。 - 设置此选项时，查询允许GROUP BY后不体现任何非聚合函数查询字段。 ``` SET behavior_compat_options='disable_full_group_by_mysql'; SELECT a,b FROM t1 GROUP BY a; a | b ---+--- 1 | 1 2 | 2 (2 rows) ```     - 不设置此选项时，查询不允许GROUP BY后不体现任何非聚合函数查询字段，查询报错。 ``` SET behavior_compat_options=''; SELECT a,b FROM t1 GROUP BY a; ERROR:  column "t1.b" must appear in the GROUP BY clause or be used in an aggregate function LINE 1: SELECT a,b FROM t1 GROUP BY a; ```    注意： 该参数需结合full_group_by_mode使用，具体请参考[full_group_by_mode](https://support.huaweicloud.com/devg-911-dws/dws_04_0936.html#ZH-CN_TOPIC_0000002202095025__section8513287116)。 此配置项配置后，若full_group_by_mode为notpadding，对于非GROUP BY后非聚合查询字段需要保证分组后数据一致，否则该列将为随机值。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | MySQL                                                                                                               |
| disable_gc_fdw_filter_partial_pushdown | 协同分析外表（类型为gc_fdw）场景下，控制使用过滤条件查询外表数据时过滤条件的下推情况。 - 设置此选项时，过滤条件中若存在不满足下推条件的因素（如非immutable函数），为了保证结果集文档，则全部过滤条件不下推，此行为兼容8.2.1版本之前的行为。 ``` --源端集群建表 CREATE TABLE t1(c1 INT, c2 INT, c3 INT) DISTRIBUTE BY HASH(c1); --本地集群建相同结构外表 CREATE SERVER server_remote FOREIGN DATA WRAPPER gc_fdw options(ADDRESS 'address', DBNAME 'dbname', USERNAME 'username', PASSWORD 'password'); CREATE FOREIGN TABLE t1(c1 INT, c2 INT, c3 INT) SERVER server_remote; --打开参数时，条件下推情况 SET behavior_compat_options = 'disable_gc_fdw_filter_partial_pushdown'; EXPLAIN (verbose on,costs off) SELECT * FROM t1 WHERE c1>3 AND c2 <100 AND now() - '20230101' < c3; QUERY PLAN ---------------------------------------------------------------------------------------------------------------------------------------------------------- Streaming (type: GATHER) Output: c1, c2, c3 Node/s: All datanodes ->  Foreign Scan on ca_schema.t1 Output: c1, c2, c3 Filter: ((t1.c1 > 3) AND (t1.c2 < 100) AND ((now() - '2023-01-01 00:00:00-08'::timestamp with time zone) < (t1.c3)::interval)) Remote SQL: SELECT c1, c2, c3 FROM ca_schema.t1 (7 rows) ```   - 不设置此选项时，过滤条件中可下推的部分将下推到源端集群执行，不可下推部分将在本地集群执行，如此可提升外表查询效率。 ``` --关闭参数时，条件下推情况 SET behavior_compat_options = ''; EXPLAIN (verbose on,costs off) SELECT * FROM t1 WHERE c1>3 AND c2 <100 AND now() - '20230101' < c3; QUERY PLAN ---------------------------------------------------------------------------------------------------------- Streaming (type: GATHER) Output: c1, c2, c3 Node/s: All datanodes ->  Foreign Scan on ca_schema.t1 Output: c1, c2, c3 Filter: ((now() - '2023-01-01 00:00:00-08'::timestamp with time zone) < (t1.c3)::interval) Remote SQL: SELECT c1, c2, c3 FROM ca_schema.t1 WHERE ((c1 > 3)) AND ((c2 < 100)) (7 rows) ```                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | ORA TD MySQL  |
| ignore_unshipped_concurrent_update     | 并发更新场景下，当前会话的语句不下推时，如果更新的元组被其它会话更新成新元组后，控制当前会话执行UPDATE/DELETE语句时是否忽略处理新的元组。默认不再处理新的元组。 - 设置此选项时，当前会话执行UPDATE/DELETE语句时忽略处理新的元组，当前UPDATE/DELETE语句执行成功，此行为会导致并发更新场景数据不一致。此行为兼容8.2.1版本之前的行为。  - 不设置此选项时，当前会话执行UPDATE/DELETE语句检测元组已被更新时，会重新执行当前会话的UPDATE/DELETE语句，以保证数据一致性。语句执行重试次数受[max_query_retry_times](https://support.huaweicloud.com/devg-911-dws/dws_04_0932.html#ZH-CN_TOPIC_0000002202139797__sc9cd4d1562654b6ebb842765d3e398e4)参数控制。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | ORA TD MySQL        |
| disable_set_global_var_on_datanode     | 控制set_config函数是否可以在DN上设置全局变量。 - 设置此选项时，禁止set_config函数在DN上设置全局变量。此行为默认兼容8.2.1版本之前的行为。  - 不设置此选项时，允许set_config函数在DN上设置全局变量，这将会使得CN与DN上全局变量值不一致，导致read_global_var函数下推时可能出错。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | ORA TD MySQL          |
| variadic_null_check                     | 控制variadic参数是否能传入NULL参数的选项，默认不开启。（该参数仅8.3.0及以上集群版本支持） - 设置此选项时，禁止variadic传入NULL参数，传入后会报错。 ``` SET behavior_compat_options = 'variadic_null_check'; SELECT format ( 'array', VARIADIC NULL); ERROR:  VARIADIC parameter must be an array ``` 说明： 为了兼容mysql，compat_concat_variadic开启时，对concat函数和concat_ws函数不会生效，仍然可以传入NULL参数。   - 不设置此选项时，允许variadic传入NULL参数。 ``` SET behavior_compat_options = ''; SELECT format ( 'array', VARIADIC NULL); format -------- array (1 row) ```                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | ORA TD MySQL         |
| enable_use_syscol_in_replicate_table    | 控制复制表在INSERT、UPDATE、MERGE INTO和DELETE时是否可以采用oid/ctid/tableoid/xc_node_id作为过滤条件、连接条件和having条件。该选项默认不设置。 - 不设置该选项时，如果复制表在INSERT、UPDATE、MERGE INTO和DELETE时采用oid/ctid/tableoid/xc_node_id作为过滤条件、连接条件和having条件，会报如下错误： ``` ERROR:  Can not use system column oid/ctid/tableoid/xc_node_id in Replication Table. ```   - 设置该选项时，可在复制表中使用系统列id/ctid/tableoid/xc_node_id进行INSERT、UPDATE、MERGE INTO和DELETE。 注意： 复制表在INSERT、UPDATE、MERGE INTO和DELETE时采用oid/ctid/tableoid/xc_node_id作为过滤条件、连接条件和having条件，语句有导致集群core的风险，请慎重考虑配置该选项。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | ORA TD MYSQL          |
| enable_force_add_batch                   | 当参数support_batch_bind设置为on时，JDBC的addBatch入库采用多路并行执行策略，该策略要求[enable_fast_query_shipping](https://support.huaweicloud.com/devg-911-dws/dws_04_0936.html#ZH-CN_TOPIC_0000002202095025__s9b7f64f4f112450490c8c74b520cc915)和[enable_light_proxy](https://support.huaweicloud.com/devg-911-dws/dws_04_0936.html#ZH-CN_TOPIC_0000002202095025__section46891552174813)参数同时为on。 - 当behavior_compat_options包含选项enable_force_add_batch时，若上述依赖条件不满足，系统将自动选择单条串行执行策略，性能会明显下降。  - 当behavior_compat_options不包含选项enable_force_add_batch时，若上述依赖条件不满足，系统将报错并提示业务检查相关参数配置。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | ORA TD MYSQL            |
| disable_mergesort_without_material    | 控制当前stream片段是否含有物化算子时stream算子采用merge sort。 - 设置此选项时，若当前stream片段含有物化算子（material、sort、agg、CteScan），则可采用merge sort，否则不可采用merge sort。  - 不设置此选项时，是否采用merge sort不需要判断当前stream片段是否含有物化算子。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | ORA TD MYSQL           |
| enable_pushdown_groupingset_subquery  | 当子查询中含有grouping set时，该选项控制是否可将外层查询中仅与该子查询相关的条件下推到子查询中。 - 当子查询中含有grouping set时，设置此选项，则不可将外层查询的条件下推到子查询中。  - 当子查询中含有grouping set时，不设置此选项，则将外层查询的条件下推到子查询中。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | ORA TD MYSQL         |
| enable_whole_row_var                  | 该参数主要涉及两个场景。1. 控制是否允许表或视图出现在SQL表达式中，包括但不限于查询的目标列表、GROUP BY列表等；2. 控制是否允许非表的record出现的SQL表达式。该选项仅8.3.0及以上集群版本支持。 - 设置此选项时，允许表或视图出现在SQL表达式中。 ``` SET behavior_compat_options = 'enable_whole_row_var'; SELECT a1 FROM t a1; a1 ---- (0 rows) SELECT t FROM (SELECT 1) as t; t ----- (1) (1 rows) ```   - 不设置此选项时，不允许表或视图出现在SQL表达式中，如果SQL中出现则报错。 ``` SET behavior_compat_options = ''; SELECT a1 FROM t a1; ERROR:  Table or view cannot appear in expression. Table/view name: t, alias: a1. Please check targetList, groupClause etc. SELECT t FROM (SELECT 1) as t; ERROR:  Non-table records cannot appear in expression. alias: t. Please check targetList, groupClause etc. ```                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | ORA TD MYSQL           |
| enable_unknown_datatype                | 控制是否允许创建含有unknown类型列的表。该选项仅8.3.0及以上集群版本支持。 - 设置此选项时，允许创建含有unknown类型列的表。 注意： unknown类型在数据库中通常用于处理临时数据或中间结果，不适合作为持久化数据的存储类型，不建议用户直接指定表的字段类型为unknown类型，因此也不建议设置该选项。   - 不设置此选项时，不允许创建含有unknown类型列的表，如果建表SQL含有unknown列，则报错。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | ORA TD MYSQL     |
| alter_distribute_key_by_partition       | 控制ALTER TABLE修改分区表分布列时INSERT INTO是否按分区执行。 - 设置此选项时，按分区执行INSERT INTO，使用内存降低但性能劣化。    - 不设置此选项时，将分区表整表进行INSERT INTO，性能较好但使用内存较多。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | ORA TD MYSQL           |
| disable_update_returning_check        | 控制是否禁用涉及到多表关联，更新复制表且带returning语句场景。该选项仅8.3.0及以上集群版本支持。 - 不设置此选项时，更新复制表且带returning语句场景，若涉及到多表关联，则报下述错误： ``` ERROR: Unsupported FOR UPDATE replicated table joined with other table. ```   - 设置此选项，与旧版本前向兼容，但是在更新复制表且带returning语句场景，若涉及到多表关联，存在结果集不一致问题。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | ORA TD MYSQL            |
| check_function_shippable                | 控制是否检查自定义plpgsql/SQL函数的属性。该选项仅8.3.0及以上集群版本支持。 - 不设置此配置项时，不检查自定义函数的IMMUTABLE/STABLE/VOLATILE属性。  - 设置此配置项时，会遵循以下逻辑检查自定义函数的IMMUTABLE/STABLE/VOLATILE属性： - 设置白名单：对于[DBMS_OUTPUT](https://support.huaweicloud.com/devg-911-dws/dws_04_0553.html)的3个函数，跳过check_function_shippable的检测**。**  - 如果自定义函数内部有DML语句，外层是IMMUTABLE或者SHIPPABLE，均是下推，故报错。  - 如果自定义函数外层是shippable，内层是immutable，则通过检查。  - 如果自定义函数外层是shippable，内层是非immutable且内层是shippable，则通过检查。  - 如果函数外层是shippable，但是内层非上述的情况，则报错。     例如：设置此参数时，以下场景下会执行报错： ``` CREATE OR replace function func_ship(a int) returns int LANGUAGE plpgsql NOT FENCED  SHIPPABLE AS $function$ begin perform test_ship(); return a; EXCEPTION WHEN OTHERS THEN return a; end $function$; select func_ship(a) from tt3; ERROR:  parent function is shippable but child is not immutable or shippable. ```                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | ORA TD MYSQL             |
| enable_full_string_agg                 | 控制string_agg(a, delimiter) over (partition by b order by c)场景行为，采用窗口内的全量聚合逻辑还是增量聚合逻辑。该参数8.3.0及以上集群版本支持。 不设置此选项时，采用增量聚合逻辑。设置此选项时，采用窗口内的全量聚合逻辑。默认不设置此选项。 ``` CREATE TABLE string_agg_dn_col(c1 int, c2 text) WITH(orientation = column) distribute by hash(c1); INSERT INTO string_agg_dn_col values(1, 'test'); INSERT INTO string_agg_dn_col values(1, 'haidian'); INSERT INTO string_agg_dn_col values(1, 'nanjing'); SELECT t.c1 AS c1, string_agg(t.c2, ',') OVER(PARTITION BY t.c1 ORDER BY t.c2) AS c2 FROM string_agg_dn_col t ORDER BY c2; c1 |          c2 ----+---------------------- 1 | haidian 1 | haidian,nanjing 1 | haidian,nanjing,test (3 rows) SET behavior_compat_options='enable_full_string_agg'; SELECT t.c1 AS c1, string_agg(t.c2, ',') OVER(PARTITION BY t.c1 ORDER BY t.c2) AS c2 FROM string_agg_dn_col t ORDER BY c2; c1 |          c2 ----+---------------------- 1 | haidian,nanjing,test 1 | haidian,nanjing,test 1 | haidian,nanjing,test (3 rows) ```                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | ORA TD MYSQL      |
| enable_banker_round                    | 控制数值类型舍入行为使用四舍五入还是银行家算法。该选项仅8.3.0及以上集群版本支持。 受到参数控制的行为包括： - INSERT INTO和::xxx指定类型时自动触发的类型转换：所有整数类型（int1，int2，int4，int8）、所有任意精度类型（decimal，numeric，number）和money类型。  - 对numeric类型的舍入和转换函数：round(xxx.xx,s),cast('xxx.xx',numeric),to_char(xxx.xx,'xxx')。  - numeric类型的数学计算。   说明： 银行家算法舍入规则：舍入位后的值大于5时，进位；舍入位后的值小于5时，舍去不进位；舍入位后的值等于5且全为零时，则按照修约前数字奇偶性决定舍入，奇数进位，偶数舍去；舍入位后的值等于5且存在非零数字，则直接进位。 - 设置选项时，舍入行为采用银行家算法：   ``` SET behavior_compat_options = enable_banker_round; SELECT 1.5::int1,1.5::int2,1.5::int4,1.5::int8,1.5::numeric(10,0),1.115::money; int1 | int2 | int4 | int8 | numeric | money ------+------+------+------+---------+------- 2    |    2 |    2 |    2 |       2 | $1.12 SELECT 0.5::int1,0.5::int2,0.5::int4,0.5::int8,0.5::numeric(10,0),1.105::money; int1 | int2 | int4 | int8 | numeric | money ------+------+------+------+---------+------- 0    |    0 |    0 |    0 |       0 | $1.10 SELECT round(1.05,1),round(1.15,1),cast('1.05',numeric(10,1)),cast('1.15',numeric(10,1)),to_char(1.05,'9D9'),to_char(1.15,'9D9'); round | round | numeric | numeric | to_char | to_char -------+-------+---------+---------+---------+--------- 1.0 |   1.2 |     1.0 |     1.2 |  1.0    |  1.2 ``` - 不设置选项时，舍入行为采用四舍五入：   ``` SET behavior_compat_options = ''; SELECT 1.5::int1,1.5::int2,1.5::int4,1.5::int8,1.5::numeric(10,0),1.115::money; int1 | int2 | int4 | int8 | numeric | money ------+------+------+------+---------+------- 2    |    2 |    2 |    2 |       2 | $1.12 SELECT 0.5::int1,0.5::int2,0.5::int4,0.5::int8,0.5::numeric(10,0),1.105::money; int1 | int2 | int4 | int8 | numeric | money ------+------+------+------+---------+------- 1    |    1 |    1 |    1 |       1 | $1.11 SELECT round(1.05,1),round(1.15,1),cast('1.05',numeric(10,1)),cast('1.15',numeric(10,1)),to_char(1.05,'9D9'),to_char(1.15,'9D9'); round | round | numeric | numeric | to_char | to_char -------+-------+---------+---------+---------+--------- 1.1 |   1.2 |     1.1 |     1.2 |  1.1    |  1.2 ```                                                                                                                                                                                                                                                                                                                                                                                                     | ORA TD MYSQL    |
| create_partition_local_index            | 控制在分区表上默认创建的索引是全局（GLOBAL）索引还是本地（LOCAL）索引。该选项仅8.2.1.210及以上集群版本支持。 - 不设置此选项时，在分区表上默认创建全局（GLOBAL）索引。 ``` SET behavior_compat_options = ''; CREATE INDEX sale_id_idx ON sales(sale_id); ERROR:  partitioned table does not support global index HINT:  please set behavior_compat_options = 'create_partition_local_index'to create local index by default. ```   - 设置此选项时，在分区表上默认创建本地（LOCAL）索引。 ``` SET behavior_compat_options = create_partition_local_index; CREATE INDEX sale_id_idx ON sales(sale_id); CREATE INDEX ```                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | ORA                                                                                                              |
| enable_int_division_by_truncate          | 控制整数除法行为结果集输出整数还是浮点数，行为兼容PG或者兼容ORA。 - 设置此选项时，整数除法结果输出整数，小数位截断，兼容PG行为。 ``` SET behavior_compat_options = 'enable_int_division_by_truncate'; SELECT 8::int8 / 3::int8, 8::int4 / 3::int4, 8::int2 / 3::int2, 8::int1 / 3::int1; ?column? | ?column? | ?column? | ?column? ----------+----------+----------+---------- 2 |        2 |        2 |        2 (1 row) ```     - 不设置此选项时，整数除法结果输出浮点数，包含小数位，兼容ORA行为。 ``` SET behavior_compat_options = ''; SELECT 8::int8 / 3::int8, 8::int4 / 3::int4, 8::int2 / 3::int2, 8::int1 / 3::int1; ?column?     |     ?column?     |     ?column?     |     ?column? ------------------+------------------+------------------+------------------ 2.66666666666667 | 2.66666666666667 | 2.66666666666667 | 2.66666666666667 (1 row) ```                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | ORA TD MYSQL        |
| select_into_allow_multi_result         | 控制存储过程中SELECT INTO是否允许接收多行结果或者没有结果集。 - 不设置此选项时，存储过程中使用SELECT INTO语句插入多值或者空时，执行报错： ``` CREATE TABLE PersonTmpTable (id int primary key, name varchar(64), age int, city varchar(512) default null, update_time timestamp default null); INSERT INTO PersonTmpTable VALUES(1,'zhangsan', 23, 'wuhan', '2022-12-10 15:39:32'); INSERT INTO PersonTmpTable VALUES(2,'lisi', 11, 'beijing', '2022-12-13 15:39:32'); INSERT INTO PersonTmpTable VALUES(3,'wangwu', 46, 'xian', '2022-12-1 15:39:32'); INSERT INTO PersonTmpTable VALUES(4,'zhaoliu', 46, 'wuhan', '2022-12-31 15:39:32'); SET behavior_compat_options = ''; CREATE OR REPLACE function func_test1 RETURNS int LANGUAGE plpgsql AS $$DECLAREtmp INTEGER;BEGINSELECT id INTO tmp FROM  PersonTmpTable;dbms_output.put_line(tmp);return tmp;END;$$;select func_test1(); ERROR:  query returned no rows when process INTO. ERROR:  query returned 2 rows more than one row. ```     - 设置此选项，存储过程中使用SELECT INTO语句插入多值或者空时，成功插入第一行或者空。 ``` SET behavior_compat_options = 'select_into_allow_multi_result'; CREATE OR REPLACE function func_test1 RETURNS int LANGUAGE plpgsql AS $$DECLAREtmp INTEGER;BEGINSELECT id INTO tmp FROM  PersonTmpTable;dbms_output.put_line(tmp);return tmp;END;$$;select func_test1(); CREATE FUNCTION ```                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | ORA TD MYSQL         |
| orderby_null_first                     | 控制ORDER BY排序时NULL值是否默认视为最小值。 - 设置此选项时，ORDER BY排序时NULL值默认视为最小值。 ``` SET behavior_compat_options = 'orderby_null_first'; SELECT * FROM test ORDER BY a; a | b ---+--- | 1 1 | 2 ```   - 不设置此选项时，ORDER BY排序时NULL值默认视为最大值。 ``` SET behavior_compat_options = ''; SELECT * FROM test ORDER BY a; a | b ---+--- 1 | 2 | 1 ```                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | TD                                                                                                                 |
| enable_cast_hashjoin                        | 控制在SQL语句的解析阶段，在处理比较操作语句时，针对不支持hash的等值比较操作符，判断是否能转换为一致的数据类型，若能转测，则内部转换比较操作符，使后续join操作能够使用hashjoin以提升查询性能。该选项仅8.3.0及以上集群版本支持。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | ORA TD MYSQL             |
| unsupported_set_function_case          | 控制是否支持case when条件中含有返回为多结果集函数。该选项仅8.2.1.261及以上集群版本支持。新安装的集群版本中默认开启该参数。 - 设置此选项时，列存不支持case when条件中含有返回为多结果集函数： ``` CREATE TABLE t1(id int, c1 text) with(orientation=column); INSERT INTO t1 values(1, 'a#1'); SET behavior_compat_options = 'unsupported_set_function_case'; SELECT CASE split_part(regexp_split_to_table(c1, E'\,'),'#',1) when 'a' then c1 else null end from t1; ERROR:  set-valued function called in context that cannot accept a set ```   - 不设置此选项时，列存支持case when条件中含有返回为多结果集函数： ``` SET behavior_compat_options = ''; SELECT CASE split_part(regexp_split_to_table(c1, E'\,'),'#',1) when 'a' then c1 else null end from t1; case ------ a#1 (1 row) ```                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | ORA TD MYSQL           |
| enable_change_search_path                 | 控制在形成通用计划generic_plan后能否修改搜寻路径。该选项仅9.1.0及以上集群版本支持。 - 不设置此选项时，当设置新的搜索路径（search_path）并执行EXECUTE语句，数据库将仍然从原表的schema下寻找对应表。 ``` CREATE SCHEMA s1; CREATE TABLE abc(f1 INT); CREATE SCHEMA s2; CREATE TABLE abc(f1 INT); SET search_path = s1; INSERT INTO s1.abc VALUES(123);INSERT INTO s2.abc VALUES(456); SET search_path = s1; PREPARE p1 AS SELECT f1 FROM abc; EXECUTE p1; f1 ----- 123 (1 row) SET search_path = s2; SELECT f1 FROM abc; f1 ----- 456 (1 row) EXECUTE p1; f1 ----- 123 (1 row) ```   - 设置此选项时，当设置新的搜索路径（search_path）并执行EXECUTE语句，数据库将从新设置的搜索路径中寻找对应表。 ``` SET behavior_compat_options = 'enable_change_search_path'; EXECUTE p1; f1 ----- 456 (1 row) SET search_path = s1; EXECUTE p1; f1 ----- 123 (1 row) ```                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | TD                                                                                                                 |
| enable_varchar_to_nvarchar2              | 控制通过DDL语句创建及更新的varchar字段是否自动切换为nvarchar2字段。该选项仅9.1.0及以上集群版本支持。 - 设置此选项时，通过DDL语句创建/更新的varchar字段自动切换为nvarchar2字段。  - 不设置此选项时，通过DDL语句创建/更新的varchar字段不会切换为nvarchar2字段。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | ORA TD MYSQL             |
| normalize_negative_zero                 | 控制ceil()，round()函数在处理float类型特定值时返回-0与否。 - 设置此选项时，ceil()处理(-1,0)，round()处理\[-0.5, 0)时返回值会返回0。 ``` SET behavior_compat_options='normalize_negative_zero'; SELECT ceil(cast(-0.1 as float)); ceil ------ 0 (1 row) SELECT round(cast(-0.1 as FLOAT)); round ------- 0 (1 row) ```     - 不设置此选项时，ceil()处理(-1,0)，round()处理\[-0.5, 0)时返回值会返回-0。 ``` SET behavior_compat_options = ''; SELECT ceil(cast(-0.1 as FLOAT)); ceil ------ -0 (1 row) SELECT round(cast(-0.1 as FLOAT)); round ------- -0 (1 row) ```                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | ORA TD MySQL          |
| disable_client_detection_commit        | 控制在每次事务提交之前，检测与客户端的连接是否存在。如果不存在，则报错，回滚该事务，防止因断连未感知重复下发导致的数据重复问题。 - 不设置此选项时，每次事务提交之前检测一次客户端连接是否存在。  - 设置此选项时，事务提交之前不检测客户端连接是否存在。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | ORA TD MySQL         |
| change_illegal_char                     | 控制gds读取UTF8非法字符的显示问题。该选项仅8.3.0.100及以上集群版本支持。 该选项打开时，gds读取到UTF8不兼容的非法字符从"？"变为显示"�"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | MySQL                                                                                                              |
| row_use_pseudo_name                    | 控制row相关表达式是否对匿名列生成伪列名。该参数仅9.1.0.100及以上集群版本支持。 - 不设置此选项时，row表达式中若存在对应的真实列名，则使用真实的列名，若本身为匿名列，则生成f1、f2...fn的伪列名。   ``` SELECT row_to_json(row(1,'foo')); row_to_json --------------------- {"f1":1,"f2":"foo"} (1 row) CREATE TABLE json_tbl(id INT, x INT, y text) WITH (ORIENTATION = COLUMN); INSERT INTO json_tbl VALUES (1, 1, 'txt1'), (2, 2, 'txt2'), (3, 3, 'txt3'); SELECT to_json(t.*) FROM json_tbl t; to_json --------------------------- {"id":3,"x":3,"y":"txt3"} {"id":1,"x":1,"y":"txt1"} {"id":2,"x":2,"y":"txt2"} (3 rows) ``` - 设置此选项时，row表达式中将在列存表条件下生成f1、f2...fn的伪列名。   ``` SET behavior_compat_options='ROW_USE_PSEUDO_NAME'; SELECT to_json(t.*) FROM json_tbl t; to_json ----------------------------- {"f1":3,"f2":3,"f3":"txt3"} {"f1":1,"f2":1,"f3":"txt1"} {"f1":2,"f2":2,"f3":"txt2"} (3 rows) ```                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | ORA TD MySQL          |
| enable_trunc_orc_string              | 控制orc格式外表字段为varchar(n)，但是orc文件字段类型为string，且string长度超过n时，外表查询的行为。 - 不设置此选项时，查询报错，提示字段超长。  - 设置此选项时，查询正常，按照varchar(n)定义长度进行截断。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | ORA TD MySQL          |
| gds_fill_multi_missing_fields            | 控制GDS外表容错性参数fill_missing_fields设置为true/on时的行为。在GDS外表fill_missing_fields设置为true/on时，允许数据源文件一行中最后若干字段缺失，处理方式是将这些字段设置为NULL。而在此之前，仅允许数据源文件一行中最后一个字段缺失，否则报错。 - 设置此选项时，GDS外表允许数据源文件一行最后多个字段缺失。  - 不设置此选项时，GDS外表允许数据源文件一行最后一个字段缺失。兼容历史行为。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | ORA TD MySQL        |
| force_german_dmy                       | 该选项控制时间日期输出格式german是否必须搭配dmy日期顺序。 设置该选项时，强制要求german格式必须搭配dmy日期顺序，防止在系统中因输出格式冲突，导致日期日月颠倒的数据错误。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | ORA TD MySQL        |
| inner_iso_datestyle                     | 在SET datestyle = 'Postgres, MDY' 设置下，CN将输入的时间字符串转换为包含本地时区缩写CST的字符串发送给DN。由于CST可对应多个时区，DN解析时可能错误识别时区，导致CN与DN的数据校验失败。 该场景下设置该选项后，CN发送给DN的时间字符串将统一采用ISO标准格式，确保DN能够准确解析。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | ORA TD MySQL      |
| correct_convert_tz                     | 控制convert_tz函数查询结果是否与MySQL行为一致。该选项仅9.1.0.210及以上集群版本支持。 - 设置此选项时，convert_tz函数在时区转换时返回预期结果，与MySQL行为一致。 ``` set behavior_compat_options = 'correct_convert_tz'; select convert_tz('2020-1-1 12:00', '+00:00', 'PRC'); convert_tz --------------------- 2020-01-01 20:00:00 (1 row) ```   - 不设置此选项时，convert_tz函数在时区转换时结果不符合预期，与MySQL行为不一致。 ``` set behavior_compat_options = ''; select convert_tz('2020-1-1 12:00', '+00:00', 'PRC'); convert_tz --------------------- 2020-01-01 04:00:00 (1 row) ```                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | ORA TD MySQL          |
| set_timezone_mysql_style                | 控制set timezone='+08:00' / '-07:00'等类型时（'+/- 时:分'形式）是否与MySQL行为一致。该选项仅9.1.0.210及以上集群版本支持。 - 设置此选项时，set timezone='+08:00'表示时区设置为东八区，与MySQL行为一致。 ``` set behavior_compat_options = 'set_timezone_mysql_style'; set timezone='UTC'; select * from t; a ------------------------ 2020-01-01 12:00:00+00 (1 row) set timezone='+08:00'; select * from t; a ------------------------ 2020-01-01 20:00:00+08 (1 row) ```   - 不设置此选项时，set timezone='+08:00'表示时区设置为西八区，与MySQL行为不一致，为PG行为。 ``` set behavior_compat_options = ''; set timezone='UTC'; select * from t; a ------------------------ 2020-01-01 12:00:00+00 (1 row) set timezone='+08:00'; select * from t; a ------------------------ 2020-01-01 04:00:00-08 (1 row) ```                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | ORA TD MySQL          |
| parquet_int96_is_localtime            | 控制读取parquet格式外表的int96类型数据（timestamp专用）时，是否将存储的原始时间戳使用数据库时区修正。该选项仅9.1.0.210及以上集群版本支持。 - 设置此选项时，认为parquet int96类型存储的是本地时间（非UTC+0），读取结果不会再进行时区修正。 ``` set behavior_compat_options = 'parquet_int96_is_localtime'; set time zone 'Asia/Shanghai'; select * from test_parquet_int96; a --------------------- 2025-01-25 00:00:00 (1 row) set time zone 'Atlantic/Cape_Verde'; select * from test_parquet_int96; a --------------------- 2025-01-25 00:00:00 (1 row) ```   - 不设置此选项时，认为parquet int96类型存储是UTC+0时间，为了兼容spark、hive等引擎，读取结果会使用数据库时区进行修正。 ``` set behavior_compat_options = ''; set time zone 'Asia/Shanghai'; select * from test_parquet_int96; a --------------------- 2025-01-25 08:00:00 (1 row) set time zone 'Atlantic/Cape_Verde'; select * from test_parquet_int96; a --------------------- 2025-01-24 23:00:00 (1 row) ```                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | ORA TD MySQL     |
| disable_vfork_create_subprocess           | 禁止使用vfork实现DWS子进程启动。该选项仅9.1.1.100及以上集群版本支持。 - 设置此选项时，DWS子进程启动禁止使用vfork优化。    - 不设置此选项时，DWS子进程启动使用vfork启动，避免父子进程间copy虚拟内存产生的mmap写锁阻塞。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | ORA TD MySQL              |
| disable_user_thread_stack              | 禁止使用用户态内存作为线程栈内存。该选项仅9.1.1.100及以上集群版本支持。 - 设置此选项时，DWS启动子线程时使用Linux内核态临时内存。  - 不设置此选项时，DWS启动子线程时使用用户态内存池，避免申请临时栈内存产生的mmap写锁阻塞。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | ORA TD MySQL              |
| turbo_support_nan                       | 对于turbo表，当numeric(p,s) p\<=38时，其不允许插入NAN（Not a Number，非数字）。该选项9.1.1.100及以上集群版本支持。 - 设置此选项时会自动在建表时修改numeric列属性，将p\<=38修改至p=39，允许插入NAN。  - 不设置此选项时，不修改建表属性。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | ORA TD MySQL         |
| view_star_expand                       | 在通过pg_get_viewdef或\\d+等操作获取视图定义时，该参数控制是否对语句中的\*字段进行展开。 该选项8.2.1集群版本中8.2.1.251及以上版本支持；9.1.1.100及以上集群版本支持。 - 设置此选项时，语句中的\*字段会展示为创建视图时依赖的具体字段。 ``` create table t1(a int, b int, c int); create view v1 as select t1.*, 1 as d from t1; set behavior_compat_options='on(view_star_expand)'; SET \d+ v1 View "public.v1" Column |  Type   | Modifiers | Storage | Description --------+---------+-----------+---------+------------- a      | integer |           | plain   | b      | integer |           | plain   | c      | integer |           | plain   | d      | integer |           | plain   | View definition: SELECT t1.a, t1.b, t1.c, 1 AS d FROM t1; ```   - 不设置此选项时，语句中的\*字段按照\*字段进行展示，但是实际查找还是创建视图时依赖的具体字段，与之前历史版本保持一致。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | ORA TD MySQL          |
| disable_srf_condition_expr             | 控制在case、coalesce、nvl、ifnull条件表达式中是否支持使用返回多结果集的函数。该选项仅9.1.1.100及以上集群版本支持。 - 设置后不支持在case、coalesce、nvl、ifnull条件表达式中使用返回多结果集的函数。  - 不设置此选项时，不限制case、coalesce、nvl、ifnull条件表达式中使用返回多结果集的函数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | ORA TD MySQL            |
| enable_pl_with_txnctl                    | 控制是否支持在存储过程中调用commit、rollback管理部分语句的提交和回滚。该选项仅9.1.1.100及以上集群版本支持。 - 设置此选项时，支持在存储过程中调用commit、rollback进行事务控制。  - 不设置此选项时，调用带有commit、rollback的存储过程时会报错。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | ORA                                                                                                                   |
| overwrite_partition_optimization       | 控制指定分区的insert overwrite是否进行单分区的优化。该选项仅9.1.1.100及以上集群版本支持。 - 设置此选项时，过程中的临时表建为普通表，执行性能较快。  - 不设置此选项时，过程中的临时表建为分区表，执行性能较慢。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | ORA TD MySQL          |
| job_broken_disable                    | 控制Job针对两次任务相同nextRunDate场景下的处理。该选项仅9.1.0.226及以上集群版本支持。 - 设置此选项时，系统将不会标记此类任务为异常（broken），任务将继续执行。  - 不设置此选项时，系统将认为任务异常，任务停止执行。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | ORA TD MySQL      |
| disable_vectorization_json             | 控制行存表中的json/jsonb类型是否使用强制向量化。该参数9.1.0.226及以上集群版本支持。 - 设置此选项时，行存表中的json/jsonb类型不使用强制向量化。  - 不设置此选项时，行存表中的json/jsonb类型使用强制向量化。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | ORA TD MySQL          |
| enable_text_to_unknown                 | 控制insert unknown类型列执行pgxc plan时是否支持将text类型转为unknown类型。该选项仅9.1.1.100及以上集群版本支持。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | ORA TD MySQL             |
| cte_mem_exceeds_not_inline_all         | 控制某个CTE的结果集估算占用内存大小超过[stream_ctescan_max_estimate_mem](https://support.huaweicloud.com/devg-911-dws/dws_04_0912.html#ZH-CN_TOPIC_0000002202095173__section27371911515)设置的阈值时，只有内存估算超阈值的CTE被inline，而不是整个计划中的所有CTE都进行inline处理。该选项仅9.1.1.100及以上集群版本支持。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | ORA TD MySQL        |
| ora_void_return_null                   | 控制ORA兼容模式下CN和DN上的void类型函数返回值是否保持一致。该选项仅9.1.1.100及以上集群版本支持。 - 设置此选项时，CN和DN上的void类型函数返回值保持一致返回NULL。  - 不设置此选项时，void类型的函数在CN上返回空串，而在DN上返回NULL。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | ORA                                                                                                                 |
| enable_vacuum_update_datfrozenxid       | 控制在VACUUM FULL过程中是否执行更新datfrozenxid64字段的操作。 该选项8.2.1集群版本中8.2.1.200及以上版本支持；9.1.0.210及以上集群版本支持。 设置此选项时需要开启autovacuum，如果autovacuum参数没有开启，即使没有添加enable_vacuum_update_datfrozenxid配置项也会执行更新datfrozenxid64字段的操作。在数据库中表较多时，设置该选项可能会拖慢VACUUM FULL操作在小表上的执行时间。 - 设置此选项时，VACUUM FULL会执行更新datfrozenxid64字段的操作。  - 不设置此选项时，默认VACUUM FULL不执行更新datfrozenxid64字段的操作。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | ORA TD MySQL             |
| iden_spec_char                        | 控制是否允许用户创建的名字中带有特殊字符。该参数仅9.1.1.200及以上集群版本支持。该功能为Beta特性，如需使用，请联系技术支持。 - 设置此选项时，创建角色、用户、数据库时， 允许对应数据库对象名称中带有特殊字符。 ``` set behavior_compat_options = 'iden_spec_char'; CREATE USER "userName.with@Point" WITH PASSWORD '********'; CREATE USER ```   - 不设置此选项时，不允许用户创建的用户名中带特殊字符。 ``` set behavior_compat_options = ''; CREATE ROLE ".@roleName.with@Point" WITH PASSWORD '********'; ERROR:  invalid name: .@roleName.with@Point ```                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | MySQL                                                                                                               |
| enable_revoke_permission_warning      | 当回收的权限与现有权限相同时，且回收权限失败，该参数控制系统是否返回提示信息。 该参数9.1.0.226及以上的9.1.0.xxx集群版本支持；9.1.1.200及以上的9.1.1.xxx集群版本支持。 设置此参数时，回收权限失败会显示如下类似提示信息： ``` WARNING: Relation-level privilege SELECT revoke not executed ``` 不设置此参数时，回收权限失败不会显示提示信息。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | ORA TD MySQL           |
| disable_timetimestamp_comparison         | 设置该选项时time和timestamp数据类型不允许进行隐式类型转换。该选项仅9.1.1.200及以上集群版本支持。 新装集群默认设置该参数，升级场景下默认不设置该参数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | ORA TD MySQL        |
| prefer_alias_in_having_clause          | 该选项用于控制Having子句中列名的解析顺序。该选项9.1.0.226及以上的9.1.0.xxx集群版本支持；9.1.1.200及以上集群版本支持。 - 设置该选项时，在Having子句中优先将列名解析为聚集函数的别名，如果聚集函数的别名不存在，则尝试解析为表的列名。    - 不设置该选项时，在Having子句中优先将列名解析为表的列名，如果表里没有该列名，则尝试解析为聚集函数的别名。   注意： - 新装集群和升级场景都不设置该参数。  - 该选项控制Having子句中列名的解析顺序，设置后会引起包含Having子句的SQL语句结果集变化，请慎重考虑配置该选项。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | ORA TD MySQL           |
| ora_char_varchar_keep_space             | 控制ORA兼容下char与varchar类型转换时是否去除尾部空格。该选项仅9.1.1.300及以上集群版本支持。 - 设置该选项时，ORA兼容下char类型转varchar类型时保留空格。  - 不设置该选项时，ORA兼容下char类型转varchar类型时去除空格。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | ORA                                                                                                               |
   
 #### enable_matview
**参数说明**：用于控制CREATE MATERIALIZED VIEW是否能创建物化视图。
**参数类型**：USERSET
**取值范围**：布尔型
- on表示CREATE MATERIALIZED VIEW可以创建物化视图。
- off表示CREATE MATERIALIZED VIEW不可以创建物化视图。
**默认值**：on
![](https://support.huaweicloud.com/devg-911-dws/public_sys-resources/note_3.0-zh-cn.png)
该参数9.1.1.300及以上集群版本中默认值为on，9.1.1.300以下集群版本中默认值为off。
 #### mv_max_cascade_depth
**参数说明**：设置嵌套物化视图最大深度。该参数仅9.1.0.200及以上集群版本支持。
**参数类型：**USERSET
**取值范围**：整型， 1～10
**默认值**：3
#### matview_incr_refresh_retry_times
**参数说明：**用于控制物化视图增量刷新失败时的重试次数，所有重试均失败则回退为全量刷新。该参数仅9.1.1.300及以上集群版本支持。
**参数类型：**USERSET
**取值范围：**整型，1\~100
**默认值：** 1
#### hive_compat_options
**参数说明** ：用于DWS的MySQL模式下，控制INSERT INTO VALUES方式插入数据到数值类型字段和INSERT INTO SELECT方式插入数据到字符类型字段时是否将空串转为NULL。该参数仅9.1.0.210及以上集群版本支持。设置示例，可参见[INSERT](https://support.huaweicloud.com/sqlreference-dws/dws_06_0236.html)章节。
**参数类型**：USERSET
**取值范围**：枚举型
- empty_str_to_null，表示INSERT INTO VALUES方式插入数据到数值类型字段和INSERT INTO SELECT方式插入数据到字符类型字段时，会将空串转为NULL。
- 空，表示INSERT INTO VALUES方式插入数据到数值类型字段和INSERT INTO SELECT方式插入数据到字符类型字段时，对空串不做任何处理。
**默认值**：空
