!4022 修复collation_connection可以设置系统字符集的问题

Merge pull request !4022 from 魏文韬/charset_fix
This commit is contained in:
opengauss_bot
2023-09-11 11:22:01 +00:00
committed by Gitee
2 changed files with 10 additions and 6 deletions

View File

@ -874,7 +874,7 @@ bool check_collation_connection(char** newval, void** extra, GucSource source)
}
Oid collid = get_collation_oid_with_lower_name(*newval, PG_INVALID_ENCODING);
if (!OidIsValid(collid)) {
if (!COLLATION_IN_B_FORMAT(collid)) {
return false;
}

View File

@ -293,16 +293,17 @@ show collation_connection;
set names gbk;
set names utf8 collate 'default';
ERROR: invalid value for parameter "collation_connection": "default"
show character_set_connection;
character_set_connection
--------------------------
UTF8
GBK
(1 row)
show collation_connection;
collation_connection
----------------------
default
gbk_chinese_ci
(1 row)
set names gbk;
@ -321,6 +322,7 @@ show collation_connection;
-- test charset = -1
set collation_connection = 'C';
ERROR: invalid value for parameter "collation_connection": "C"
show character_set_connection;
character_set_connection
--------------------------
@ -330,10 +332,11 @@ show character_set_connection;
show collation_connection;
collation_connection
----------------------
C
utf8mb4_general_ci
(1 row)
set collation_connection = 'default';
ERROR: invalid value for parameter "collation_connection": "default"
show character_set_connection;
character_set_connection
--------------------------
@ -343,10 +346,11 @@ show character_set_connection;
show collation_connection;
collation_connection
----------------------
default
utf8mb4_general_ci
(1 row)
set collation_connection = 'POSIX';
ERROR: invalid value for parameter "collation_connection": "POSIX"
show character_set_connection;
character_set_connection
--------------------------
@ -356,7 +360,7 @@ show character_set_connection;
show collation_connection;
collation_connection
----------------------
POSIX
utf8mb4_general_ci
(1 row)
\! @abs_bindir@/gs_guc reload -Z datanode -D @abs_srcdir@/tmp_check/datanode1 -c "b_format_behavior_compat_options=''" >/dev/null 2>&1