From 21724558650a7387ffbc2b0da53d6314389419bb Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Fri, 10 Jun 2022 06:05:08 +0200 Subject: [PATCH] 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 --- src/backend/parser/parse_jsontable.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/backend/parser/parse_jsontable.c b/src/backend/parser/parse_jsontable.c index dbd3e66205..ae559d9cae 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); } }