From a326d87e6d040ec02142c01f16e119e964d8ff21 Mon Sep 17 00:00:00 2001 From: gentle_hu Date: Thu, 2 Sep 2021 20:25:23 +0800 Subject: [PATCH] change volatile of json_populate_recordset as same as pg, and fix a mistake --- src/common/backend/catalog/builtin_funcs.ini | 6 +++--- .../upgrade-post_catalog_maindb_92_301.sql | 2 +- .../upgrade-post_catalog_otherdb_92_301.sql | 2 +- src/test/regress/expected/json_and_jsonb.out | 10 +++++----- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/common/backend/catalog/builtin_funcs.ini b/src/common/backend/catalog/builtin_funcs.ini index c7e2f9c32..ac3294332 100755 --- a/src/common/backend/catalog/builtin_funcs.ini +++ b/src/common/backend/catalog/builtin_funcs.ini @@ -2992,7 +2992,7 @@ AddBuiltinFunc(_0(3493), _1("gin_extract_jsonb_query"), _2(7), _3(true), _4(false), _5(gin_extract_jsonb_query), _6(2281), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(7, 2277, 2281, 21, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gin_extract_jsonb_query"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( - "gin_extract_jsonb_query_ha", 1, + "gin_extract_jsonb_query_hash", 1, AddBuiltinFunc(_0(3486), _1("gin_extract_jsonb_query_hash"), _2(7), _3(true), _4(false), _5(gin_extract_jsonb_query_hash), _6(2281), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(7, 2277, 2281, 21, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gin_extract_jsonb_query_hash"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( @@ -3010,7 +3010,7 @@ AddBuiltinFunc(_0(3494), _1("gin_triconsistent_jsonb"), _2(7), _3(true), _4(false), _5(gin_triconsistent_jsonb), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(7, 2281, 21, 2277, 23, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gin_triconsistent_jsonb"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( - "gin_triconsistent_jsonb_ha", 1, + "gin_triconsistent_jsonb_hash", 1, AddBuiltinFunc(_0(3495), _1("gin_triconsistent_jsonb_hash"), _2(7), _3(true), _4(false), _5(gin_triconsistent_jsonb_hash), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(7, 2281, 21, 2277, 23, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gin_triconsistent_jsonb_hash"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( @@ -5398,7 +5398,7 @@ ), AddFuncGroup( "json_populate_recordset", 1, - AddBuiltinFunc(_0(3409), _1("json_populate_recordset"), _2(3), _3(false), _4(true), _5(json_populate_recordset), _6(2283), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(100), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(1), _20(3, 2283, 114, 16), _21(NULL), _22(NULL), _23(NULL), _24("({CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :ismaxvalue false :location 72803 :constvalue 1 [ 0 0 0 0 0 0 0 0 ] :cursor_data :row_count 0 :cur_dno 0 :is_open false :found false :not_found false :null_open false :null_fetch false})"), _25("json_populate_recordset"), _26(NULL), _27(NULL), _28(NULL), _29(1, 2), _30(false), _31(false), _32(false), _33(NULL), _34('f')) + AddBuiltinFunc(_0(3409), _1("json_populate_recordset"), _2(3), _3(false), _4(true), _5(json_populate_recordset), _6(2283), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(100), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(1), _20(3, 2283, 114, 16), _21(NULL), _22(NULL), _23(NULL), _24("({CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :ismaxvalue false :location 72803 :constvalue 1 [ 0 0 0 0 0 0 0 0 ] :cursor_data :row_count 0 :cur_dno 0 :is_open false :found false :not_found false :null_open false :null_fetch false})"), _25("json_populate_recordset"), _26(NULL), _27(NULL), _28(NULL), _29(1, 2), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "json_to_record", 1, diff --git a/src/include/catalog/upgrade_sql/upgrade_catalog_maindb/upgrade-post_catalog_maindb_92_301.sql b/src/include/catalog/upgrade_sql/upgrade_catalog_maindb/upgrade-post_catalog_maindb_92_301.sql index 08a6c9b8a..7c44db85c 100644 --- a/src/include/catalog/upgrade_sql/upgrade_catalog_maindb/upgrade-post_catalog_maindb_92_301.sql +++ b/src/include/catalog/upgrade_sql/upgrade_catalog_maindb/upgrade-post_catalog_maindb_92_301.sql @@ -266,7 +266,7 @@ DROP FUNCTION IF EXISTS pg_catalog.json_populate_recordset(anyelement, json, boo SET LOCAL inplace_upgrade_next_system_object_oids = IUO_PROC, 3409; CREATE FUNCTION pg_catalog.json_populate_recordset ( anyelement, json, boolean DEFAULT false -) RETURNS SETOF anyelement LANGUAGE INTERNAL ROWS 100 VOLATILE as 'json_populate_recordset'; +) RETURNS SETOF anyelement LANGUAGE INTERNAL ROWS 100 STABLE as 'json_populate_recordset'; DROP FUNCTION IF EXISTS pg_catalog.json_to_record(json, boolean) CASCADE; SET LOCAL inplace_upgrade_next_system_object_oids = IUO_PROC, 3410; diff --git a/src/include/catalog/upgrade_sql/upgrade_catalog_otherdb/upgrade-post_catalog_otherdb_92_301.sql b/src/include/catalog/upgrade_sql/upgrade_catalog_otherdb/upgrade-post_catalog_otherdb_92_301.sql index 08a6c9b8a..7fd7e0061 100644 --- a/src/include/catalog/upgrade_sql/upgrade_catalog_otherdb/upgrade-post_catalog_otherdb_92_301.sql +++ b/src/include/catalog/upgrade_sql/upgrade_catalog_otherdb/upgrade-post_catalog_otherdb_92_301.sql @@ -266,7 +266,7 @@ DROP FUNCTION IF EXISTS pg_catalog.json_populate_recordset(anyelement, json, boo SET LOCAL inplace_upgrade_next_system_object_oids = IUO_PROC, 3409; CREATE FUNCTION pg_catalog.json_populate_recordset ( anyelement, json, boolean DEFAULT false -) RETURNS SETOF anyelement LANGUAGE INTERNAL ROWS 100 VOLATILE as 'json_populate_recordset'; +) RETURNS SETOF anyelement LANGUAGE INTERNAL ROWS 100 STABLE as 'json_populate_recordset'; DROP FUNCTION IF EXISTS pg_catalog.json_to_record(json, boolean) CASCADE; SET LOCAL inplace_upgrade_next_system_object_oids = IUO_PROC, 3410; diff --git a/src/test/regress/expected/json_and_jsonb.out b/src/test/regress/expected/json_and_jsonb.out index 60149cd25..879006c22 100644 --- a/src/test/regress/expected/json_and_jsonb.out +++ b/src/test/regress/expected/json_and_jsonb.out @@ -43,7 +43,7 @@ select oid,* from pg_proc where proname like '%json%' order by oid; 3406 | json_object_field | 11 | 10 | 12 | 1 | 0 | 0 | - | f | f | f | f | t | f | i | 2 | 0 | 114 | 114 25 | | | | | json_object_field | | | | | f | f | f | f 3407 | json_object_keys | 11 | 10 | 12 | 1 | 100 | 0 | - | f | f | f | f | t | t | i | 1 | 0 | 25 | 114 | | | | | json_object_keys | | | | | f | f | f | f 3408 | json_populate_record | 11 | 10 | 12 | 1 | 0 | 0 | - | f | f | f | f | f | f | s | 3 | 1 | 2283 | 2283 114 16 | | | | ({CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :ismaxvalue false :location 72803 :constvalue 1 [ 0 0 0 0 0 0 0 0 ] :cursor_data :row_count 0 :cur_dno 0 :is_open false :found false :not_found false :null_open false :null_fetch false}) | json_populate_record | | | | 2 | f | f | f | f - 3409 | json_populate_recordset | 11 | 10 | 12 | 1 | 100 | 0 | - | f | f | f | f | f | t | v | 3 | 1 | 2283 | 2283 114 16 | | | | ({CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :ismaxvalue false :location 72803 :constvalue 1 [ 0 0 0 0 0 0 0 0 ] :cursor_data :row_count 0 :cur_dno 0 :is_open false :found false :not_found false :null_open false :null_fetch false}) | json_populate_recordset | | | | 2 | f | f | f | f + 3409 | json_populate_recordset | 11 | 10 | 12 | 1 | 100 | 0 | - | f | f | f | f | f | t | s | 3 | 1 | 2283 | 2283 114 16 | | | | ({CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :ismaxvalue false :location 72803 :constvalue 1 [ 0 0 0 0 0 0 0 0 ] :cursor_data :row_count 0 :cur_dno 0 :is_open false :found false :not_found false :null_open false :null_fetch false}) | json_populate_recordset | | | | 2 | f | f | f | f 3410 | json_to_record | 11 | 10 | 12 | 1 | 0 | 0 | - | f | f | f | f | f | f | s | 2 | 0 | 2249 | 114 16 | | | | | json_to_record | | | | | f | f | f | f 3411 | json_to_recordset | 11 | 10 | 12 | 1 | 100 | 0 | - | f | f | f | f | f | t | s | 2 | 0 | 2249 | 114 16 | | | | | json_to_recordset | | | | | f | f | f | f 3412 | jsonb_array_element | 11 | 10 | 12 | 1 | 0 | 0 | - | f | f | f | f | t | f | i | 2 | 0 | 3802 | 3802 23 | | | | | jsonb_array_element | | | | | f | f | f | f @@ -157,8 +157,8 @@ select * from pg_opclass where opcfamily in (4033, 4034, 4035, 4036, 4037) order (4 rows) select * from pg_amproc where amprocfamily in (4033, 4034, 4035, 4036, 4037) order by amprocfamily, amprocnum; - amprocfamily | amproclefttype | amprocrighttype | amprocnum | amproc ---------------+----------------+-----------------+-----------+----------------------------------------- + amprocfamily | amproclefttype | amprocrighttype | amprocnum | amproc +--------------+----------------+-----------------+-----------+------------------------------ 4033 | 3802 | 3802 | 1 | jsonb_cmp 4034 | 3802 | 3802 | 1 | jsonb_hash 4036 | 3802 | 3802 | 1 | gin_compare_jsonb @@ -168,9 +168,9 @@ select * from pg_amproc where amprocfamily in (4033, 4034, 4035, 4036, 4037) ord 4036 | 3802 | 3802 | 6 | gin_triconsistent_jsonb 4037 | 3802 | 3802 | 1 | btint4cmp 4037 | 3802 | 3802 | 2 | gin_extract_jsonb_hash - 4037 | 3802 | 3802 | 3 | pg_catalog.gin_extract_jsonb_query_hash + 4037 | 3802 | 3802 | 3 | gin_extract_jsonb_query_hash 4037 | 3802 | 3802 | 4 | gin_consistent_jsonb_hash - 4037 | 3802 | 3802 | 6 | pg_catalog.gin_triconsistent_jsonb_hash + 4037 | 3802 | 3802 | 6 | gin_triconsistent_jsonb_hash (12 rows) select * from pg_amop where amopfamily in (4033, 4034, 4035, 4036, 4037) order by amopfamily, amopstrategy;