From: Peter Eisentraut Date: Fri, 10 Jun 2022 04:05:08 +0000 (+0200) Subject: Fix collation of JSON_TABLE output columns X-Git-Tag: REL_15_BETA2~50 X-Git-Url: http://git.postgresql.org/gitweb/?a=commitdiff_plain;h=21724558650a7387ffbc2b0da53d6314389419bb;p=postgresql.git Fix collation of JSON_TABLE output columns The output columns of JSON_TABLE should have the collations of their data type. The existing implementation sets the default collation if the type is collatable. Reviewed-by: Andrew Dunstan Discussion: https://www.postgresql.org/message-id/flat/9d75ce67-0121-5050-5bec-bf5009db55ce%40enterprisedb.com --- diff --git a/src/backend/parser/parse_jsontable.c b/src/backend/parser/parse_jsontable.c index dbd3e66205d..ae559d9cae5 100644 --- a/src/backend/parser/parse_jsontable.c +++ b/src/backend/parser/parse_jsontable.c @@ -514,10 +514,7 @@ appendJsonTableColumns(JsonTableContext *cxt, List *columns) tf->coltypes = lappend_oid(tf->coltypes, typid); tf->coltypmods = lappend_int(tf->coltypmods, typmod); - tf->colcollations = lappend_oid(tf->colcollations, - type_is_collatable(typid) - ? DEFAULT_COLLATION_OID - : InvalidOid); + tf->colcollations = lappend_oid(tf->colcollations, get_typcollation(typid)); tf->colvalexprs = lappend(tf->colvalexprs, colexpr); } }