From 3d79c59118daa15d20933e3f8d9148fde2977d88 Mon Sep 17 00:00:00 2001 From: dengxuyue Date: Sat, 6 Mar 2021 12:36:55 +0800 Subject: [PATCH] Misc bugfixes --- Tools/memory_check/asan_report.pl | 301 + Tools/memory_check/memleak_ignore | 3 + Tools/memory_check/setup_memchk.sh | 520 + build/script/build_opengauss.sh | 0 build/script/gsql_env.sh | 16 +- build/script/make_win_odbc_vs2010.bat | 17 +- build/script/mpp_cmake_package.sh | 1623 + build/script/mpp_package.sh | 74 +- build/script/mpp_release_list_centos | 1386 - build/script/mpp_release_list_centos_aarch64 | 1372 - build/script/mpp_release_list_centos_single | 1347 - build/script/mpp_release_list_euleros | 1394 - build/script/mpp_release_list_euleros_aarch64 | 1399 - .../mpp_release_list_euleros_aarch64_single | 1390 - build/script/mpp_release_list_euleros_single | 1371 - build/script/mpp_release_list_linux_x86_64 | 1277 - .../script/mpp_release_list_openeuler_aarch64 | 1388 - .../mpp_release_list_openeuler_aarch64_single | 1317 - .../opengauss_release_list_centos_single | 133 +- ...ngauss_release_list_euleros_aarch64_single | 117 +- .../opengauss_release_list_euleros_single | 213 +- ...auss_release_list_openeuler_aarch64_single | 215 +- .../opengauss_release_list_openeuler_single | 3 +- build/script/package_opengauss.sh | 310 +- configure | 35 + .../gsredistribute/gsredistribute--1.0.sql | 108 +- contrib/gsredistribute/gsredistribute.cpp | 0 contrib/mppdb_decoding/mppdb_decoding.cpp | 0 contrib/oid2name/oid2name.cpp | 8 +- contrib/oracle_fdw/Makefile | 20 +- contrib/pagehack/pagehack.cpp | 25 +- .../pg_archivecleanup/pg_archivecleanup.cpp | 6 +- contrib/pg_standby/pg_standby.cpp | 6 +- contrib/pg_trgm/trgm_op.cpp | 0 contrib/pgbench/pgbench.cpp | 9 +- contrib/postgis/extension_dependency.h | 0 contrib/postgres_fdw/.gitignore | 0 contrib/postgres_fdw/Makefile | 0 contrib/postgres_fdw/connection.cpp | 0 contrib/postgres_fdw/deparse.cpp | 0 .../postgres_fdw/expected/postgres_fdw.out | 0 contrib/postgres_fdw/option.cpp | 0 contrib/postgres_fdw/postgres_fdw--1.0.sql | 0 contrib/postgres_fdw/postgres_fdw.control | 0 contrib/postgres_fdw/postgres_fdw.cpp | 0 contrib/postgres_fdw/postgres_fdw.h | 0 contrib/postgres_fdw/sql/postgres_fdw.sql | 0 contrib/security_plugin/access_audit.cpp | 0 contrib/security_plugin/access_audit.h | 0 contrib/security_plugin/gs_audit_policy.cpp | 0 contrib/security_plugin/gs_audit_policy.h | 0 contrib/security_plugin/gs_mask_policy.h | 0 contrib/security_plugin/gs_policy_filter.cpp | 0 contrib/security_plugin/gs_policy_filter.h | 0 contrib/security_plugin/gs_policy_labels.cpp | 0 contrib/security_plugin/gs_policy_labels.h | 0 .../gs_policy_logical_tree.cpp | 0 .../security_plugin/gs_policy_logical_tree.h | 0 .../gs_policy_object_types.cpp | 34 +- .../security_plugin/gs_policy_object_types.h | 3 + contrib/security_plugin/gs_policy_plugin.cpp | 2 +- contrib/security_plugin/gs_policy_plugin.h | 2 +- contrib/security_plugin/masking.cpp | 83 +- contrib/security_plugin/privileges_audit.cpp | 0 contrib/security_plugin/privileges_audit.h | 2 - contrib/unaccent/unaccent.cpp | 0 contrib/vacuumlo/vacuumlo.cpp | 7 +- contrib/xml2/xpath.cpp | 0 doc/src/sgml/ref/allfiles.sgmlin | 1 - doc/src/sgml/ref/alter_audit_policy.sgmlin | 0 doc/src/sgml/ref/alter_role.sgmlin | 0 doc/src/sgml/ref/alter_table.sgmlin | 5 - doc/src/sgml/ref/alter_user.sgmlin | 0 doc/src/sgml/ref/create_audit_policy.sgmlin | 0 doc/src/sgml/ref/drop_audit_policy.sgmlin | 0 docker/dockerfiles/1.0.0/dockerfile_arm | 0 docker/dockerfiles/1.0.0/entrypoint.sh | 36 +- docker/dockerfiles/1.0.1/entrypoint.sh | 36 +- docker/dockerfiles/1.1.0/dockerfile_amd | 4 +- docker/dockerfiles/1.1.0/dockerfile_arm | 6 +- docker/dockerfiles/1.1.0/entrypoint.sh | 20 +- docker/dockerfiles/buildDockerImage.sh | 40 +- docker/dockerfiles/create_master_slave.sh | 24 +- escan.txt | 1232 + src/Makefile.global.in | 10 +- src/bin/Makefile | 7 +- src/bin/gs_cgroup/cgconf.cpp | 0 src/bin/gs_cgroup/cgexec.cpp | 0 src/bin/gs_cgroup/cgptree.cpp | 6 + src/bin/gs_cgroup/cgutil.h | 0 src/bin/gs_cgroup/main.cpp | 0 src/bin/gs_guc/Makefile | 3 +- src/bin/gs_guc/cluster_config.cpp | 4 + src/bin/gs_guc/cluster_guc.conf | 76 +- src/bin/gs_guc/cluster_guc.cpp | 700 +- src/bin/gs_guc/crypt.cpp | 0 src/bin/gs_guc/crypt.h | 0 src/bin/gs_guc/encrypt.cpp | 0 src/bin/gs_guc/pg_guc.cpp | 144 +- src/bin/gs_guc/pg_hba.cpp | 0 src/bin/gs_ktool/Makefile | 42 + src/bin/gs_ktool/gs_ktool_conf.ini | 15 + src/bin/gs_ktool/kt_common.cpp | 415 + src/bin/gs_ktool/kt_common.h | 141 + src/bin/gs_ktool/kt_interface.cpp | 115 + src/bin/gs_ktool/kt_key_manage.cpp | 589 + src/bin/gs_ktool/kt_key_manage.h | 90 + src/bin/gs_ktool/kt_kmc_callback.cpp | 467 + src/bin/gs_ktool/kt_kmc_callback.h | 58 + src/bin/gs_ktool/kt_log_manage.cpp | 361 + src/bin/gs_ktool/kt_log_manage.h | 108 + src/bin/gs_ktool/kt_main.cpp | 820 + src/bin/gs_log/gs_log_dump.cpp | 0 .../dependences/clean_temp.sql | 0 .../dependences/restore_temp.sql | 0 .../dependences/store_pg_class_stats.sql | 0 .../store_pg_statistic_ext_stats.sql | 0 .../dependences/store_pg_statistic_stats.sql | 0 .../dependences/store_pgxc_class.sql | 0 src/bin/gsqlerr/Makefile | 2 +- src/bin/gsqlerr/errmsg.txt | 25494 +++++++++++++--- src/bin/gsqlerr/errmsg_st.h | 0 src/bin/gsqlerr/gsqlerr.cpp | 0 src/bin/gsqlerr/scanEreport.cpp | 168 +- src/bin/initdb/initdb.cpp | 175 +- src/bin/initdb/initdb.cpp_for_llt | 0 src/bin/pg_basebackup/pg_basebackup.cpp | 75 +- src/bin/pg_basebackup/pg_receivexlog.cpp | 6 +- src/bin/pg_basebackup/pg_recvlogical.cpp | 2 +- src/bin/pg_basebackup/receivelog.cpp | 9 +- src/bin/pg_basebackup/streamutil.cpp | 11 +- src/bin/pg_basebackup/streamutil.h | 2 +- src/bin/pg_config/pg_config.cpp | 7 +- src/bin/pg_controldata/pg_controldata.cpp | 8 +- src/bin/pg_ctl/backup.cpp | 6 +- src/bin/pg_ctl/pg_build.cpp | 0 src/bin/pg_ctl/pg_build.h | 0 src/bin/pg_ctl/pg_ctl.cpp | 34 +- src/bin/pg_ctl/receivelog.cpp | 9 +- src/bin/pg_ctl/receivelog.h | 0 src/bin/pg_ctl/streamutil.cpp | 0 src/bin/pg_ctl/streamutil.h | 0 src/bin/pg_dump/Makefile | 2 +- src/bin/pg_dump/dumputils.cpp | 0 src/bin/pg_dump/dumputils.h | 0 src/bin/pg_dump/pg_backup.h | 0 src/bin/pg_dump/pg_backup_archiver.cpp | 38 +- src/bin/pg_dump/pg_backup_db.cpp | 0 src/bin/pg_dump/pg_backup_directory.cpp | 0 src/bin/pg_dump/pg_backup_tar.cpp | 0 src/bin/pg_dump/pg_dump.cpp | 57 +- src/bin/pg_dump/pg_dump.h | 2 +- src/bin/pg_dump/pg_dump_sort.cpp | 3 +- src/bin/pg_dump/pg_restore.cpp | 12 +- src/bin/pg_probackup/Makefile | 0 src/bin/pg_probackup/backup.cpp | 301 +- src/bin/pg_probackup/catalog.cpp | 78 +- src/bin/pg_probackup/configuration.cpp | 5 +- src/bin/pg_probackup/data.cpp | 33 +- src/bin/pg_probackup/delete.cpp | 25 +- src/bin/pg_probackup/dir.cpp | 11 +- src/bin/pg_probackup/file.cpp | 40 +- src/bin/pg_probackup/file.h | 2 +- src/bin/pg_probackup/file_gz.cpp | 16 +- src/bin/pg_probackup/help.cpp | 3 + src/bin/pg_probackup/logger.cpp | 8 +- src/bin/pg_probackup/merge.cpp | 24 +- src/bin/pg_probackup/parray.cpp | 6 +- src/bin/pg_probackup/parsexlog.cpp | 9 +- src/bin/pg_probackup/pg_lzcompress.cpp | 190 +- src/bin/pg_probackup/pg_lzcompress.h | 5 - src/bin/pg_probackup/pg_probackup.cpp | 9 +- src/bin/pg_probackup/pg_probackupb.h | 1 - src/bin/pg_probackup/pg_probackupc.h | 1 + src/bin/pg_probackup/pgut.cpp | 80 +- src/bin/pg_probackup/ptrack.cpp | 11 +- src/bin/pg_probackup/restore.cpp | 24 +- src/bin/pg_probackup/show.cpp | 34 +- src/bin/pg_probackup/validate.cpp | 5 +- src/bin/pg_resetxlog/pg_resetxlog.cpp | 6 +- src/bin/pg_rewind/datapagemap.cpp | 0 src/bin/pg_rewind/datapagemap.h | 0 src/bin/pg_rewind/fetch.cpp | 223 +- src/bin/pg_rewind/fetch.h | 6 +- src/bin/pg_rewind/file_ops.cpp | 0 src/bin/pg_rewind/file_ops.h | 0 src/bin/pg_rewind/filemap.cpp | 2 + src/bin/pg_rewind/filemap.h | 0 src/bin/pg_rewind/logging.cpp | 0 src/bin/pg_rewind/logging.h | 0 src/bin/pg_rewind/parsexlog.cpp | 0 src/bin/pg_rewind/pg_rewind.cpp | 138 +- src/bin/pg_rewind/pg_rewind.h | 0 src/bin/pg_upgrade/pg_format_cu.cpp | 0 src/bin/pgxc_clean/pgxc_clean.cpp | 0 src/bin/pgxc_clean/pgxc_clean.h | 0 src/bin/pgxc_clean/txninfo.cpp | 2 +- src/bin/psql/Makefile | 15 +- src/bin/psql/command.cpp | 4 +- src/bin/psql/describe.cpp | 0 src/bin/psql/help.cpp | 19 +- src/bin/psql/mainloop.cpp | 2 +- src/bin/psql/mbprint.cpp | 0 src/bin/psql/mbprint.h | 0 src/bin/psql/print.cpp | 0 src/bin/psql/prompt.cpp | 10 +- src/bin/psql/startup.cpp | 5 +- src/bin/scripts/clusterdb.cpp | 6 +- src/bin/scripts/createdb.cpp | 6 +- src/bin/scripts/createlang.cpp | 6 +- src/bin/scripts/createuser.cpp | 6 +- src/bin/scripts/dropdb.cpp | 6 +- src/bin/scripts/droplang.cpp | 6 +- src/bin/scripts/dropuser.cpp | 6 +- src/bin/scripts/reindexdb.cpp | 6 +- src/bin/scripts/vacuumdb.cpp | 6 +- src/common/backend/catalog/aclchk.cpp | 50 +- src/common/backend/catalog/builtin_funcs.ini | 6274 ++-- src/common/backend/catalog/catalog.cpp | 4 + src/common/backend/catalog/cstore_ctlg.cpp | 0 src/common/backend/catalog/dependency.cpp | 13 +- src/common/backend/catalog/dfsstore_ctlg.cpp | 0 src/common/backend/catalog/gs_matview.cpp | 20 + src/common/backend/catalog/heap.cpp | 0 src/common/backend/catalog/index.cpp | 8 + src/common/backend/catalog/namespace.cpp | 27 +- src/common/backend/catalog/objectaddress.cpp | 2 +- .../backend/catalog/performance_views.sql | 9 +- src/common/backend/catalog/pg_aggregate.cpp | 0 src/common/backend/catalog/pg_cast_oid.txt | 0 src/common/backend/catalog/pg_collation.cpp | 0 src/common/backend/catalog/pg_constraint.cpp | 1 + src/common/backend/catalog/pg_conversion.cpp | 0 .../backend/catalog/pg_db_role_setting.cpp | 25 + src/common/backend/catalog/pg_depend.cpp | 0 src/common/backend/catalog/pg_enum.cpp | 0 src/common/backend/catalog/pg_hashbucket.cpp | 9 + src/common/backend/catalog/pg_namespace.cpp | 0 src/common/backend/catalog/pg_object.cpp | 4 +- src/common/backend/catalog/pg_operator.cpp | 0 src/common/backend/catalog/pg_proc.cpp | 37 +- src/common/backend/catalog/pg_shdepend.cpp | 0 src/common/backend/catalog/pg_type.cpp | 0 src/common/backend/catalog/pgxc_class.cpp | 0 src/common/backend/catalog/storage.cpp | 8 +- src/common/backend/catalog/storage_gtt.cpp | 136 +- src/common/backend/catalog/system_views.sql | 16 +- src/common/backend/catalog/toasting.cpp | 0 .../backend/client_logic/client_logic.cpp | 16 +- src/common/backend/lib/dllist.cpp | 0 src/common/backend/lib/stringinfo.cpp | 0 src/common/backend/libpq/auth.cpp | 23 +- src/common/backend/libpq/be-fsstubs.cpp | 0 src/common/backend/libpq/be-secure.cpp | 5 +- src/common/backend/libpq/crypt.cpp | 36 +- src/common/backend/libpq/hba.cpp | 0 src/common/backend/libpq/ip.cpp | 0 src/common/backend/libpq/md5.cpp | 0 src/common/backend/libpq/pqsignal.cpp | 0 src/common/backend/nodes/bitmapset.cpp | 0 src/common/backend/nodes/copyfuncs.cpp | 20 +- src/common/backend/nodes/equalfuncs.cpp | 3 +- src/common/backend/nodes/list.cpp | 0 src/common/backend/nodes/makefuncs.cpp | 0 src/common/backend/nodes/nodeFuncs.cpp | 0 src/common/backend/nodes/nodes.cpp | 0 src/common/backend/nodes/outfuncs.cpp | 0 src/common/backend/nodes/print.cpp | 110 + src/common/backend/nodes/read.cpp | 0 src/common/backend/nodes/tidbitmap.cpp | 0 src/common/backend/parser/Makefile | 10 +- src/common/backend/parser/analyze.cpp | 13 +- src/common/backend/parser/gram.y | 47 +- src/common/backend/parser/hint_gram.y | 2 +- src/common/backend/parser/parse_agg.cpp | 0 src/common/backend/parser/parse_clause.cpp | 0 src/common/backend/parser/parse_coerce.cpp | 0 src/common/backend/parser/parse_collate.cpp | 0 src/common/backend/parser/parse_cte.cpp | 0 src/common/backend/parser/parse_func.cpp | 8 + src/common/backend/parser/parse_node.cpp | 0 src/common/backend/parser/parse_oper.cpp | 0 src/common/backend/parser/parse_param.cpp | 0 src/common/backend/parser/parse_relation.cpp | 0 src/common/backend/parser/parse_target.cpp | 0 src/common/backend/parser/parse_type.cpp | 21 +- src/common/backend/parser/parse_utilcmd.cpp | 44 +- src/common/backend/parser/parser.cpp | 0 .../backend/pgxc_single/barrier/barrier.cpp | 16 +- .../backend/pgxc_single/nodemgr/groupmgr.cpp | 9 - .../backend/pgxc_single/nodemgr/nodemgr.cpp | 0 .../backend/pgxc_single/pool/execRemote.cpp | 7 - .../backend/pgxc_single/pool/pgxcnode.cpp | 11 +- .../backend/pgxc_single/pool/poolmgr.cpp | 43 +- .../backend/pgxc_single/pool/poolutils.cpp | 232 +- src/common/backend/port/aix/mkldexport.sh | 3 +- src/common/backend/port/dynloader/win32.cpp | 0 src/common/backend/port/ipc_test.cpp | 0 src/common/backend/port/sysv_sema.cpp | 0 src/common/backend/port/sysv_shmem.cpp | 0 src/common/backend/port/win32/socket.cpp | 0 src/common/backend/regex/regc_color.cpp | 0 src/common/backend/regex/regc_cvec.cpp | 0 src/common/backend/regex/regc_lex.cpp | 0 src/common/backend/regex/regc_locale.cpp | 0 src/common/backend/regex/regc_nfa.cpp | 0 src/common/backend/regex/regc_pg_locale.cpp | 0 src/common/backend/regex/regcomp.cpp | 0 src/common/backend/regex/rege_dfa.cpp | 0 src/common/backend/regex/regerror.cpp | 0 src/common/backend/regex/regexec.cpp | 0 src/common/backend/regex/regprefix.cpp | 0 src/common/backend/snowball/dict_snowball.cpp | 0 .../libstemmer/stem_ISO_8859_1_danish.cpp | 0 .../libstemmer/stem_ISO_8859_1_dutch.cpp | 0 .../libstemmer/stem_ISO_8859_1_english.cpp | 0 .../libstemmer/stem_ISO_8859_1_finnish.cpp | 0 .../libstemmer/stem_ISO_8859_1_french.cpp | 0 .../libstemmer/stem_ISO_8859_1_german.cpp | 0 .../libstemmer/stem_ISO_8859_1_hungarian.cpp | 0 .../libstemmer/stem_ISO_8859_1_italian.cpp | 0 .../libstemmer/stem_ISO_8859_1_norwegian.cpp | 0 .../libstemmer/stem_ISO_8859_1_porter.cpp | 0 .../libstemmer/stem_ISO_8859_1_portuguese.cpp | 0 .../libstemmer/stem_ISO_8859_1_spanish.cpp | 0 .../libstemmer/stem_ISO_8859_1_swedish.cpp | 0 .../libstemmer/stem_ISO_8859_2_romanian.cpp | 0 .../libstemmer/stem_KOI8_R_russian.cpp | 0 .../snowball/libstemmer/stem_UTF_8_danish.cpp | 0 .../snowball/libstemmer/stem_UTF_8_dutch.cpp | 0 .../libstemmer/stem_UTF_8_english.cpp | 0 .../libstemmer/stem_UTF_8_finnish.cpp | 0 .../snowball/libstemmer/stem_UTF_8_french.cpp | 0 .../snowball/libstemmer/stem_UTF_8_german.cpp | 0 .../libstemmer/stem_UTF_8_hungarian.cpp | 0 .../libstemmer/stem_UTF_8_italian.cpp | 0 .../libstemmer/stem_UTF_8_norwegian.cpp | 0 .../snowball/libstemmer/stem_UTF_8_porter.cpp | 0 .../libstemmer/stem_UTF_8_portuguese.cpp | 0 .../libstemmer/stem_UTF_8_romanian.cpp | 0 .../libstemmer/stem_UTF_8_russian.cpp | 0 .../libstemmer/stem_UTF_8_spanish.cpp | 0 .../libstemmer/stem_UTF_8_swedish.cpp | 0 .../libstemmer/stem_UTF_8_turkish.cpp | 0 .../backend/snowball/libstemmer/utilities.cpp | 0 src/common/backend/tsearch/dict.cpp | 0 src/common/backend/tsearch/dict_ispell.cpp | 0 src/common/backend/tsearch/dict_simple.cpp | 0 src/common/backend/tsearch/dict_synonym.cpp | 0 src/common/backend/tsearch/dict_thesaurus.cpp | 0 src/common/backend/tsearch/regis.cpp | 0 src/common/backend/tsearch/spell.cpp | 2 +- src/common/backend/tsearch/to_tsany.cpp | 0 src/common/backend/tsearch/ts_locale.cpp | 0 src/common/backend/tsearch/ts_parse.cpp | 0 src/common/backend/tsearch/ts_selfuncs.cpp | 0 src/common/backend/tsearch/ts_typanalyze.cpp | 0 src/common/backend/tsearch/ts_utils.cpp | 21 +- src/common/backend/tsearch/wparser.cpp | 0 src/common/backend/utils/Makefile | 0 src/common/backend/utils/adt/acl.cpp | 0 .../backend/utils/adt/array_selfuncs.cpp | 8 +- .../backend/utils/adt/array_typanalyze.cpp | 0 .../backend/utils/adt/array_userfuncs.cpp | 0 src/common/backend/utils/adt/arrayfuncs.cpp | 0 src/common/backend/utils/adt/arrayutils.cpp | 0 src/common/backend/utils/adt/ascii.cpp | 0 src/common/backend/utils/adt/bool.cpp | 0 src/common/backend/utils/adt/cash.cpp | 0 .../backend/utils/adt/clientlogic_bytea.cpp | 77 +- src/common/backend/utils/adt/date.cpp | 0 src/common/backend/utils/adt/datetime.cpp | 0 src/common/backend/utils/adt/datum.cpp | 0 src/common/backend/utils/adt/dbsize.cpp | 6 +- src/common/backend/utils/adt/domains.cpp | 0 src/common/backend/utils/adt/encode.cpp | 0 src/common/backend/utils/adt/enum.cpp | 0 src/common/backend/utils/adt/float.cpp | 0 src/common/backend/utils/adt/format_type.cpp | 0 src/common/backend/utils/adt/formatting.cpp | 5 + src/common/backend/utils/adt/genfile.cpp | 0 src/common/backend/utils/adt/geo_ops.cpp | 6 +- .../backend/utils/adt/inet_cidr_ntop.cpp | 0 .../backend/utils/adt/inet_net_pton.cpp | 0 src/common/backend/utils/adt/int.cpp | 0 src/common/backend/utils/adt/int8.cpp | 0 src/common/backend/utils/adt/json.cpp | 0 src/common/backend/utils/adt/like.cpp | 0 src/common/backend/utils/adt/like_match.cpp | 0 src/common/backend/utils/adt/lockfuncs.cpp | 0 src/common/backend/utils/adt/mac.cpp | 0 src/common/backend/utils/adt/misc.cpp | 44 +- src/common/backend/utils/adt/name.cpp | 0 src/common/backend/utils/adt/network.cpp | 0 src/common/backend/utils/adt/numutils.cpp | 0 src/common/backend/utils/adt/oid.cpp | 0 src/common/backend/utils/adt/pg_locale.cpp | 7 +- .../backend/utils/adt/pg_lzcompress.cpp | 0 src/common/backend/utils/adt/pgstatfuncs.cpp | 58 +- src/common/backend/utils/adt/pseudotypes.cpp | 0 src/common/backend/utils/adt/rangetypes.cpp | 0 .../backend/utils/adt/rangetypes_gist.cpp | 0 src/common/backend/utils/adt/regexp.cpp | 0 src/common/backend/utils/adt/regproc.cpp | 0 src/common/backend/utils/adt/ri_triggers.cpp | 0 src/common/backend/utils/adt/rowtypes.cpp | 0 src/common/backend/utils/adt/ruleutils.cpp | 327 +- src/common/backend/utils/adt/selfuncs.cpp | 242 +- src/common/backend/utils/adt/tid.cpp | 0 src/common/backend/utils/adt/timestamp.cpp | 13 +- src/common/backend/utils/adt/tsginidx.cpp | 0 src/common/backend/utils/adt/tsgistidx.cpp | 0 src/common/backend/utils/adt/tsquery.cpp | 0 .../backend/utils/adt/tsquery_cleanup.cpp | 0 src/common/backend/utils/adt/tsquery_gist.cpp | 0 src/common/backend/utils/adt/tsquery_op.cpp | 0 .../backend/utils/adt/tsquery_rewrite.cpp | 0 src/common/backend/utils/adt/tsquery_util.cpp | 0 src/common/backend/utils/adt/tsrank.cpp | 0 src/common/backend/utils/adt/tsvector.cpp | 0 src/common/backend/utils/adt/tsvector_op.cpp | 0 .../backend/utils/adt/tsvector_parser.cpp | 0 src/common/backend/utils/adt/txid.cpp | 0 src/common/backend/utils/adt/uuid.cpp | 0 src/common/backend/utils/adt/varbit.cpp | 0 src/common/backend/utils/adt/varchar.cpp | 0 src/common/backend/utils/adt/windowfuncs.cpp | 22 +- src/common/backend/utils/adt/xid.cpp | 0 src/common/backend/utils/adt/xml.cpp | 17 + .../backend/utils/cache/attoptcache.cpp | 0 src/common/backend/utils/cache/catcache.cpp | 2 +- src/common/backend/utils/cache/inval.cpp | 0 src/common/backend/utils/cache/partcache.cpp | 2 +- src/common/backend/utils/cache/plancache.cpp | 132 +- src/common/backend/utils/cache/relcache.cpp | 5 +- src/common/backend/utils/cache/spccache.cpp | 0 src/common/backend/utils/cache/ts_cache.cpp | 0 src/common/backend/utils/cache/typcache.cpp | 0 src/common/backend/utils/error/elog.cpp | 80 +- src/common/backend/utils/error/fatal_err.cpp | 6 +- src/common/backend/utils/fmgr/funcapi.cpp | 0 src/common/backend/utils/hash/dynahash.cpp | 0 src/common/backend/utils/init/globals.cpp | 2 +- src/common/backend/utils/init/miscinit.cpp | 0 src/common/backend/utils/init/postinit.cpp | 8 + .../utils/mb/Unicode/gb18030_to_utf8.map | 2 - .../conversion_procs/conversion_create.sql.in | 132 + src/common/backend/utils/mb/mbutils.cpp | 0 src/common/backend/utils/mb/wchar.cpp | 0 src/common/backend/utils/misc/Makefile | 6 +- src/common/backend/utils/misc/elf_parser.cpp | 14 +- src/common/backend/utils/misc/guc-file.l | 26 +- src/common/backend/utils/misc/guc.cpp | 70 +- src/common/backend/utils/misc/pg_rusage.cpp | 0 src/common/backend/utils/misc/ps_status.cpp | 0 src/common/backend/utils/misc/superuser.cpp | 0 src/common/backend/utils/mmgr/mcxt.cpp | 0 src/common/backend/utils/mmgr/portalmem.cpp | 36 +- .../backend/utils/resowner/resowner.cpp | 124 +- src/common/backend/utils/sort/Makefile | 6 +- src/common/backend/utils/sort/logtape.cpp | 0 src/common/backend/utils/sort/tuplesort.cpp | 2 +- src/common/backend/utils/sort/tuplestore.cpp | 0 src/common/backend/utils/time/combocid.cpp | 0 src/common/backend/utils/time/snapmgr.cpp | 0 src/common/interfaces/ecpg/ecpglib/pg_type.h | 0 .../interfaces/ecpg/pgtypeslib/datetime.cpp | 0 src/common/interfaces/ecpg/pgtypeslib/dt.h | 0 .../interfaces/ecpg/pgtypeslib/dt_common.cpp | 0 .../interfaces/ecpg/pgtypeslib/interval.cpp | 0 .../interfaces/ecpg/pgtypeslib/timestamp.cpp | 0 src/common/interfaces/ecpg/preproc/ecpg.cpp | 6 +- .../compat_informix-test_informix2.cpp | 0 src/common/interfaces/libpq/Makefile | 6 +- src/common/interfaces/libpq/cl_state.cpp | 8 +- .../libpq/client_logic_cache/Makefile | 2 +- .../libpq/client_logic_cache/cache_loader.cpp | 16 +- .../libpq/client_logic_cache/cache_loader.h | 8 + .../cached_column_manager.cpp | 25 +- .../client_logic_cache/createTypesMap.sh | 0 .../libpq/client_logic_common/Makefile | 2 +- .../libpq/client_logic_expressions/Makefile | 2 +- .../pg_functions_support.cpp | 13 +- .../libpq/client_logic_fmt/Makefile | 2 +- .../libpq/client_logic_fmt/gs_copy.cpp | 24 +- .../client_logic_fmt/{float.h => gs_float.h} | 0 .../libpq/client_logic_fmt/gs_num.cpp | 2 +- .../libpq/client_logic_fmt/varlena.cpp | 6 +- .../libpq/client_logic_hooks/Makefile | 4 +- .../column_hook_executor.cpp | 16 +- .../client_logic_hooks/column_hook_executor.h | 15 +- .../encryption_hooks/Makefile | 2 +- .../encryption_column_hook_executor.cpp | 129 +- .../encryption_column_hook_executor.h | 13 +- .../encryption_global_hook_executor.cpp | 34 +- .../encryption_global_hook_executor.h | 2 +- .../encryption_hooks/gs_ktool_interface.cpp | 32 +- .../encryption_hooks/gs_ktool_interface.h | 8 +- .../encryption_hooks/localkms_gen_cmk.cpp | 219 +- .../encryption_hooks/localkms_gen_cmk.h | 33 +- .../global_hook_executor.cpp | 2 +- .../client_logic_hooks/global_hook_executor.h | 2 +- .../client_logic_hooks/hooks_factory.cpp | 15 +- .../client_logic_hooks/hooks_manager.cpp | 38 +- .../libpq/client_logic_hooks/hooks_manager.h | 13 +- .../libpq/client_logic_processor/Makefile | 2 +- .../create_stmt_processor.cpp | 18 +- .../encryption_pre_process.cpp | 14 +- .../prepared_statements_list.cpp | 10 +- .../client_logic_processor/raw_value.cpp | 11 +- .../libpq/client_logic_processor/raw_value.h | 2 +- .../raw_values_cont.cpp | 6 +- .../client_logic_processor/stmt_processor.cpp | 139 +- .../values_processor.cpp | 82 +- .../client_logic_processor/values_processor.h | 11 +- src/common/interfaces/libpq/fe-auth.cpp | 0 src/common/interfaces/libpq/fe-connect.cpp | 7 +- src/common/interfaces/libpq/fe-exec.cpp | 132 +- src/common/interfaces/libpq/fe-lobj.cpp | 0 src/common/interfaces/libpq/fe-protocol2.cpp | 0 src/common/interfaces/libpq/fe-protocol3.cpp | 3 - src/common/interfaces/libpq/fe-secure.cpp | 0 .../interfaces/libpq/frontend_parser/Makefile | 2 +- .../interfaces/libpq/frontend_parser/gram.y | 77 +- .../libpq/frontend_parser/kwlookup.cpp | 1 - src/common/interfaces/libpq/libpq-events.cpp | 0 .../interfaces/libpq/test/uri-regress.cpp | 0 src/common/interfaces/libpq/win32.cpp | 0 src/common/pl/plpgsql/src/pl_comp.cpp | 2 - src/common/pl/plpgsql/src/pl_exec.cpp | 262 +- src/common/pl/plpgsql/src/pl_funcs.cpp | 0 src/common/pl/plpgsql/src/pl_handler.cpp | 39 +- src/common/pl/plpgsql/src/pl_scanner.cpp | 0 src/common/pl/plpgsql/src/plpgsql.h | 5 +- src/common/pl/plpgsql/src/plsql_packages.cpp | 4 +- src/common/port/chklocale.cpp | 8 +- src/common/port/dirent.cpp | 0 src/common/port/exec.cpp | 0 src/common/port/getaddrinfo.cpp | 0 src/common/port/gethostname.cpp | 0 src/common/port/gs_readdir.cpp | 0 src/common/port/gs_thread.cpp | 2 +- src/common/port/inet_net_ntop.cpp | 0 src/common/port/path.cpp | 0 src/common/port/pgmkdirp.cpp | 0 src/common/port/pgsleep.cpp | 0 src/common/port/pgstrcasecmp.cpp | 0 src/common/port/random.cpp | 0 src/common/port/snprintf.cpp | 0 src/common/port/sprompt.cpp | 0 src/common/port/thread.cpp | 0 src/common/port/unsetenv.cpp | 0 src/common/timezone/ialloc.cpp | 0 src/common/timezone/localtime.cpp | 0 src/common/timezone/pgtz.cpp | 0 src/common/timezone/scheck.cpp | 0 src/common/timezone/strftime.cpp | 0 src/common/tutorial/complex.cpp | 0 src/common/tutorial/funcs_new.cpp | 0 src/gausskernel/Makefile | 16 +- src/gausskernel/Makefile_for_llt | 1 - src/gausskernel/bootstrap/Makefile | 10 +- src/gausskernel/bootstrap/bootparse.y | 2 +- src/gausskernel/bootstrap/bootstrap.cpp | 2 + src/gausskernel/cbb/communication/libcomm.cpp | 6 + .../cbb/communication/libcomm_common.cpp | 1 + .../cbb/communication/libcomm_common.h | 1 + .../libcomm_utils/libcomm_adapter.cpp | 3 + .../libcomm_utils/libcomm_thread.cpp | 40 +- src/gausskernel/cbb/grpc/rpc_server.cpp | 0 src/gausskernel/cbb/instruments/ash/Makefile | 0 src/gausskernel/cbb/instruments/ash/ash.cpp | 6 + .../cbb/instruments/ash/wait_event_info.cpp | 3 +- .../cbb/instruments/event/instr_waitevent.cpp | 40 +- .../statement/instr_handle_mgr.cpp | 5 +- .../instruments/statement/instr_statement.cpp | 427 +- .../unique_sql/instr_unique_sql.cpp | 21 +- .../cbb/instruments/utils/unique_query.cpp | 16 +- .../cbb/instruments/wdr/generate_report.cpp | 55 +- .../cbb/instruments/wdr/snapshot.cpp | 21 +- src/gausskernel/cbb/utils/aes/cipherfn.cpp | 47 +- .../cbb/utils/gssignal/gs_signal.cpp | 5 + src/gausskernel/cbb/workload/cpwlm.cpp | 0 src/gausskernel/cbb/workload/ioschdl.cpp | 18 + src/gausskernel/cbb/workload/spmgr.cpp | 0 src/gausskernel/cbb/workload/statctl.cpp | 4 + .../dbmind/kernel/hypopg_index.cpp | 88 +- .../dbmind/kernel/index_advisor.cpp | 68 +- .../index_advisor/index_advisor_workload.py | 224 +- .../dbmind/tools/predictor/python/certs.py | 0 .../dbmind/tools/predictor/python/model.py | 11 +- .../dbmind/tools/predictor/python/run.py | 10 +- .../dbmind/tools/predictor/python/settings.py | 2 +- src/gausskernel/dbmind/tools/sqldiag/main.py | 9 +- .../tools/xtuner/{Readme.md => README.md} | 0 .../tuner/benchmark/{Readme.md => README.md} | 0 .../dbmind/tools/xtuner/tuner/main.py | 8 + src/gausskernel/optimizer/commands/alter.cpp | 0 .../optimizer/commands/analyze.cpp | 44 +- src/gausskernel/optimizer/commands/async.cpp | 2 +- .../optimizer/commands/cluster.cpp | 23 +- .../optimizer/commands/conversioncmds.cpp | 0 src/gausskernel/optimizer/commands/copy.cpp | 8 +- .../optimizer/commands/createas.cpp | 0 .../optimizer/commands/datasourcecmds.cpp | 0 .../optimizer/commands/dbcommands.cpp | 36 +- src/gausskernel/optimizer/commands/define.cpp | 0 .../optimizer/commands/directory.cpp | 0 .../optimizer/commands/dropcmds.cpp | 3 + .../optimizer/commands/explain.cpp | 70 +- .../optimizer/commands/extension.cpp | 0 .../optimizer/commands/foreigncmds.cpp | 0 .../optimizer/commands/formatter.cpp | 0 .../optimizer/commands/functioncmds.cpp | 8 + .../optimizer/commands/gds_stream.cpp | 0 .../optimizer/commands/indexcmds.cpp | 0 .../optimizer/commands/lockcmds.cpp | 9 + .../optimizer/commands/matview.cpp | 205 +- .../optimizer/commands/portalcmds.cpp | 22 +- .../optimizer/commands/prepare.cpp | 126 +- .../optimizer/commands/proclang.cpp | 0 .../optimizer/commands/schemacmds.cpp | 0 .../optimizer/commands/sec_rls_cmds.cpp | 0 .../optimizer/commands/sequence.cpp | 445 +- .../optimizer/commands/tablecmds.cpp | 52 +- .../optimizer/commands/trigger.cpp | 70 + .../optimizer/commands/tsearchcmds.cpp | 3 + .../optimizer/commands/typecmds.cpp | 0 src/gausskernel/optimizer/commands/user.cpp | 52 +- src/gausskernel/optimizer/commands/vacuum.cpp | 15 +- .../optimizer/commands/variable.cpp | 0 src/gausskernel/optimizer/commands/verify.cpp | 2 +- src/gausskernel/optimizer/commands/view.cpp | 0 src/gausskernel/optimizer/geqo/geqo_erx.cpp | 0 src/gausskernel/optimizer/geqo/geqo_eval.cpp | 0 src/gausskernel/optimizer/geqo/geqo_misc.cpp | 0 src/gausskernel/optimizer/path/Makefile | 4 +- src/gausskernel/optimizer/path/allpaths.cpp | 16 +- src/gausskernel/optimizer/path/clausesel.cpp | 0 src/gausskernel/optimizer/path/costsize.cpp | 35 + src/gausskernel/optimizer/path/equivclass.cpp | 0 src/gausskernel/optimizer/path/indxpath.cpp | 3 +- src/gausskernel/optimizer/path/joinpath.cpp | 0 src/gausskernel/optimizer/path/joinrels.cpp | 0 src/gausskernel/optimizer/path/orindxpath.cpp | 180 + src/gausskernel/optimizer/path/pathkeys.cpp | 0 .../optimizer/path/pgxcpath_single.cpp | 0 .../optimizer/path/streampath_base.cpp | 455 +- .../optimizer/path/streampath_single.cpp | 290 +- src/gausskernel/optimizer/path/tidpath.cpp | 0 src/gausskernel/optimizer/plan/Makefile | 0 src/gausskernel/optimizer/plan/createplan.cpp | 66 +- .../optimizer/plan/dynsmp_single.cpp | 0 src/gausskernel/optimizer/plan/initsplan.cpp | 0 .../optimizer/plan/pgxcplan_single.cpp | 8 + src/gausskernel/optimizer/plan/planagg.cpp | 0 src/gausskernel/optimizer/plan/planmain.cpp | 7 - src/gausskernel/optimizer/plan/planner.cpp | 35 +- .../optimizer/plan/planrecursive_single.cpp | 0 .../optimizer/plan/planrewrite.cpp | 0 src/gausskernel/optimizer/plan/setrefs.cpp | 0 src/gausskernel/optimizer/plan/streamplan.cpp | 6 +- .../optimizer/plan/streamplan_single.cpp | 56 +- .../optimizer/plan/streamplan_utils.cpp | 65 + src/gausskernel/optimizer/plan/subselect.cpp | 9 +- .../optimizer/prep/prepjointree.cpp | 0 .../optimizer/prep/prepnonjointree.cpp | 0 src/gausskernel/optimizer/prep/prepqual.cpp | 157 +- src/gausskernel/optimizer/prep/preprownum.cpp | 2 +- src/gausskernel/optimizer/prep/prepunion.cpp | 0 .../optimizer/rewrite/rewriteDefine.cpp | 0 .../optimizer/rewrite/rewriteHandler.cpp | 2 +- .../optimizer/rewrite/rewriteManip.cpp | 0 .../optimizer/rewrite/rewriteRemove.cpp | 0 .../optimizer/rewrite/rewriteSupport.cpp | 0 src/gausskernel/optimizer/util/Makefile | 2 +- .../optimizer/util/autoanalyzer.cpp | 0 src/gausskernel/optimizer/util/clauses.cpp | 106 - src/gausskernel/optimizer/util/dataskew.cpp | 0 src/gausskernel/optimizer/util/joininfo.cpp | 0 src/gausskernel/optimizer/util/learn/comm.cpp | 4 +- .../optimizer/util/learn/encoding.cpp | 5 +- .../optimizer/util/learn/ml_model.cpp | 5 + .../optimizer/util/learn/plan_tree_model.cpp | 0 src/gausskernel/optimizer/util/nodegroups.cpp | 13 + src/gausskernel/optimizer/util/optcommon.cpp | 0 .../optimizer/util/optimizerdebug.cpp | 0 src/gausskernel/optimizer/util/orclauses.cpp | 332 - src/gausskernel/optimizer/util/pathnode.cpp | 19 +- src/gausskernel/optimizer/util/pgxcship.cpp | 20 +- .../optimizer/util/placeholder.cpp | 0 src/gausskernel/optimizer/util/plancat.cpp | 2 +- src/gausskernel/optimizer/util/predtest.cpp | 0 src/gausskernel/optimizer/util/pruning.cpp | 13 +- src/gausskernel/optimizer/util/randomplan.cpp | 0 src/gausskernel/optimizer/util/relnode.cpp | 0 .../optimizer/util/restrictinfo.cpp | 0 src/gausskernel/optimizer/util/tlist.cpp | 0 src/gausskernel/optimizer/util/var.cpp | 0 .../process/datasource/datasource.cpp | 0 .../process/globalplancache/Makefile | 2 +- .../globalplancache/globalplancache.cpp | 477 +- .../globalplancache/globalplancache_util.cpp | 49 +- .../globalplancache/globalplancache_view.cpp | 46 +- .../globalplancache/globalpreparestmt.cpp | 620 - src/gausskernel/process/job/job_scheduler.cpp | 2 + src/gausskernel/process/main/main.cpp | 8 +- .../process/postmaster/aiocompleter.cpp | 0 .../process/postmaster/alarmchecker.cpp | 0 .../process/postmaster/autovacuum.cpp | 10 +- .../process/postmaster/barrier_creator.cpp | 28 + .../process/postmaster/bgwriter.cpp | 8 +- .../process/postmaster/cbmwriter.cpp | 0 .../process/postmaster/checkpointer.cpp | 14 + .../process/postmaster/fencedudf.cpp | 0 .../process/postmaster/gaussdb_version.cpp | 0 .../process/postmaster/lwlockmonitor.cpp | 0 src/gausskernel/process/postmaster/pgarch.cpp | 13 +- .../process/postmaster/pgaudit.cpp | 213 +- src/gausskernel/process/postmaster/pgstat.cpp | 96 +- .../process/postmaster/postmaster.cpp | 146 +- .../process/postmaster/remoteservice.cpp | 0 .../process/postmaster/startup.cpp | 0 .../process/postmaster/syslogger.cpp | 4 +- .../process/postmaster/twophasecleaner.cpp | 0 src/gausskernel/process/stream/execStream.cpp | 39 +- src/gausskernel/process/stream/streamCore.cpp | 29 +- src/gausskernel/process/stream/streamMain.cpp | 1 + src/gausskernel/process/tcop/auditfuncs.cpp | 6 +- .../process/tcop/autonomoustransaction.cpp | 124 +- src/gausskernel/process/tcop/dest.cpp | 0 src/gausskernel/process/tcop/fastpath.cpp | 0 src/gausskernel/process/tcop/postgres.cpp | 330 +- src/gausskernel/process/tcop/pquery.cpp | 7 + src/gausskernel/process/tcop/stmt_retry.cpp | 0 src/gausskernel/process/tcop/utility.cpp | 105 +- .../process/threadpool/knl_guc.cpp | 0 .../process/threadpool/knl_instance.cpp | 53 +- .../process/threadpool/knl_session.cpp | 33 +- .../process/threadpool/knl_thread.cpp | 3 - .../threadpool/threadpool_controler.cpp | 0 .../process/threadpool/threadpool_group.cpp | 0 .../threadpool/threadpool_listener.cpp | 0 .../threadpool/threadpool_scheduler.cpp | 30 +- .../process/threadpool/threadpool_sessctl.cpp | 115 +- .../process/threadpool/threadpool_worker.cpp | 14 +- .../codegen/codegenutil/bigintegercodegen.cpp | 0 .../codegen/codegenutil/boolcodegen.cpp | 0 .../codegen/codegenutil/codegendebuger.cpp | 0 .../codegen/codegenutil/datecodegen.cpp | 0 .../codegen/codegenutil/floatcodegen.cpp | 0 .../codegen/codegenutil/intcodegen.cpp | 0 .../codegen/codegenutil/numericcodegen.cpp | 0 .../codegen/codegenutil/timestampcodegen.cpp | 0 .../codegen/codegenutil/varcharcodegen.cpp | 0 .../codegen/codegenutil/varlenacodegen.cpp | 0 .../codegen/executor/foreignscancodegen.cpp | 0 src/gausskernel/runtime/codegen/gscodegen.cpp | 0 .../codegen/vecexecutor/vecexprcodegen.cpp | 0 .../codegen/vecexecutor/vechashaggcodegen.cpp | 0 .../vecexecutor/vechashjoincodegen.cpp | 0 .../codegen/vecexecutor/vecsortcodegen.cpp | 0 src/gausskernel/runtime/executor/execAmi.cpp | 0 .../runtime/executor/execClusterResize.cpp | 2 +- .../runtime/executor/execCurrent.cpp | 0 .../runtime/executor/execGrouping.cpp | 0 src/gausskernel/runtime/executor/execJunk.cpp | 0 src/gausskernel/runtime/executor/execMain.cpp | 65 +- .../runtime/executor/execMerge.cpp | 0 .../runtime/executor/execProcnode.cpp | 13 +- src/gausskernel/runtime/executor/execQual.cpp | 73 +- src/gausskernel/runtime/executor/execScan.cpp | 0 .../runtime/executor/execTuples.cpp | 0 .../runtime/executor/execUtils.cpp | 43 +- .../runtime/executor/functions.cpp | 0 .../runtime/executor/instrument.cpp | 26 +- .../runtime/executor/lightProxy.cpp | 92 +- src/gausskernel/runtime/executor/nodeAgg.cpp | 0 .../runtime/executor/nodeAppend.cpp | 0 .../runtime/executor/nodeBitmapAnd.cpp | 0 .../runtime/executor/nodeBitmapHeapscan.cpp | 0 .../runtime/executor/nodeBitmapIndexscan.cpp | 0 .../runtime/executor/nodeBitmapOr.cpp | 0 .../runtime/executor/nodeCtescan.cpp | 0 .../runtime/executor/nodeExtensible.cpp | 0 .../runtime/executor/nodeFunctionscan.cpp | 0 .../runtime/executor/nodeGroup.cpp | 0 src/gausskernel/runtime/executor/nodeHash.cpp | 0 .../runtime/executor/nodeHashjoin.cpp | 0 .../runtime/executor/nodeIndexonlyscan.cpp | 43 +- .../runtime/executor/nodeIndexscan.cpp | 0 .../runtime/executor/nodeLimit.cpp | 0 .../runtime/executor/nodeLockRows.cpp | 0 .../runtime/executor/nodeMaterial.cpp | 0 .../runtime/executor/nodeMergeAppend.cpp | 0 .../runtime/executor/nodeMergejoin.cpp | 0 .../runtime/executor/nodeModifyTable.cpp | 105 +- .../runtime/executor/nodeNestloop.cpp | 0 .../runtime/executor/nodePartIterator.cpp | 0 .../runtime/executor/nodeRecursiveunion.cpp | 0 .../runtime/executor/nodeResult.cpp | 0 .../runtime/executor/nodeSamplescan.cpp | 0 .../runtime/executor/nodeSeqscan.cpp | 0 .../runtime/executor/nodeSetOp.cpp | 0 src/gausskernel/runtime/executor/nodeSort.cpp | 0 src/gausskernel/runtime/executor/nodeStub.cpp | 0 .../runtime/executor/nodeSubplan.cpp | 0 .../runtime/executor/nodeSubqueryscan.cpp | 0 .../runtime/executor/nodeTidscan.cpp | 0 .../runtime/executor/nodeUnique.cpp | 0 .../runtime/executor/nodeValuesscan.cpp | 0 .../runtime/executor/nodeWindowAgg.cpp | 0 .../runtime/executor/nodeWorktablescan.cpp | 0 src/gausskernel/runtime/executor/opfusion.cpp | 37 +- .../runtime/executor/opfusion_scan.cpp | 66 +- .../runtime/executor/opfusion_util.cpp | 2 +- src/gausskernel/runtime/executor/spi.cpp | 133 +- .../runtime/executor/tstoreReceiver.cpp | 0 .../runtime/vecexecutor/vecexecutor.cpp | 0 .../runtime/vecexecutor/vecexpression.cpp | 9 +- .../runtime/vecexecutor/vecfuncache.cpp | 0 .../runtime/vecexecutor/vecnode/dfsscan.cpp | 0 .../runtime/vecexecutor/vecnode/vecagg.cpp | 0 .../vecexecutor/vecnode/vecconstraints.cpp | 0 .../runtime/vecexecutor/vecnode/veccstore.cpp | 0 .../vecexecutor/vecnode/veccstoreindexand.cpp | 0 .../vecnode/veccstoreindexctidscan.cpp | 0 .../vecnode/veccstoreindexheapscan.cpp | 0 .../vecexecutor/vecnode/veccstoreindexor.cpp | 0 .../vecnode/veccstoreindexscan.cpp | 0 .../vecexecutor/vecnode/vecdfsindexscan.cpp | 0 .../vecexecutor/vecnode/vecforeignscan.cpp | 0 .../runtime/vecexecutor/vecnode/vecgroup.cpp | 0 .../vecexecutor/vecnode/vechashagg.cpp | 0 .../vecexecutor/vecnode/vechashjoin.cpp | 0 .../vecexecutor/vecnode/vechashtable.cpp | 0 .../runtime/vecexecutor/vecnode/veclimit.cpp | 0 .../vecexecutor/vecnode/vecmaterial.cpp | 0 .../vecexecutor/vecnode/vecmergeinto.cpp | 22 +- .../vecexecutor/vecnode/vecmergejoin.cpp | 0 .../vecexecutor/vecnode/vecmodifytable.cpp | 0 .../vecexecutor/vecnode/vecnestloop.cpp | 0 .../vecexecutor/vecnode/vecpartiterator.cpp | 0 .../vecexecutor/vecnode/vecplainagg.cpp | 0 .../vecexecutor/vecnode/vecremotequery.cpp | 0 .../runtime/vecexecutor/vecnode/vecrescan.cpp | 0 .../runtime/vecexecutor/vecnode/vecresult.cpp | 0 .../vecexecutor/vecnode/vecrowtovector.cpp | 0 .../runtime/vecexecutor/vecnode/vecscan.cpp | 0 .../runtime/vecexecutor/vecnode/vecsetop.cpp | 0 .../runtime/vecexecutor/vecnode/vecsort.cpp | 0 .../vecexecutor/vecnode/vecsortagg.cpp | 0 .../runtime/vecexecutor/vecnode/vecstore.cpp | 0 .../runtime/vecexecutor/vecnode/vecstream.cpp | 0 .../vecexecutor/vecnode/vecsubplan.cpp | 0 .../vecexecutor/vecnode/vecsubqueryscan.cpp | 0 .../vecexecutor/vecnode/vectortorow.cpp | 0 .../runtime/vecexecutor/vecnode/vecunique.cpp | 0 .../vecexecutor/vecnode/vecwindowagg.cpp | 0 .../runtime/vecexecutor/vectorbatch.cpp | 0 .../vectorsonic/sonicarray/vsonicarray.cpp | 0 .../vectorsonic/sonicarray/vsonicchar.cpp | 0 .../sonicarray/vsonicencodingchar.cpp | 0 .../vectorsonic/sonicarray/vsonicfixlen.cpp | 0 .../vectorsonic/sonicarray/vsonicint.cpp | 0 .../vectorsonic/sonicarray/vsonicnumeric.cpp | 0 .../vectorsonic/vsonicfilesource.cpp | 0 .../vecexecutor/vectorsonic/vsonichash.cpp | 0 .../vecexecutor/vectorsonic/vsonichashagg.cpp | 0 .../vectorsonic/vsonichashjoin.cpp | 0 .../vectorsonic/vsonicpartition.cpp | 0 .../runtime/vecexecutor/vecvar.cpp | 0 .../security/gs_policy/policy_common.cpp | 18 +- .../security/keymanagement/FIKMSmessage.cpp | 0 .../keymanagement/HttpRestfulClient.cpp | 0 .../security/keymanagement/KeyManager.cpp | 0 .../security/keymanagement/KeyRecord.cpp | 30 +- .../security/keymanagement/TDEKeysFile.cpp | 0 .../keymanagement/TDEKeysRecords.pb.h | 0 .../keymanagement/TDEKeysRecords.proto | 0 .../storage/access/cbtree/cbtree.cpp | 0 .../storage/access/common/heaptuple.cpp | 0 .../storage/access/common/printtup.cpp | 0 .../storage/access/common/reloptions.cpp | 47 +- .../storage/access/common/scankey.cpp | 0 .../storage/access/common/tupdesc.cpp | 0 .../storage/access/dfs/common_parser.h | 0 src/gausskernel/storage/access/dfs/dfs_am.cpp | 0 .../storage/access/dfs/dfs_parinsert.cpp | 0 .../storage/access/dfs/dfs_query.cpp | 0 .../storage/access/dfs/dfs_stream_factory.cpp | 0 .../storage/access/dfs/dfsdesc.cpp | 0 .../storage/access/dfs/orc/OrcObsFile.cpp | 0 .../storage/access/dfs/orc/orc_reader.cpp | 0 .../storage/access/dfs/orc/orc_rw.h | 0 .../storage/access/dfs/orc/orc_writer.cpp | 0 .../dfs/parquet/parquet_file_reader.cpp | 0 .../access/dfs/parquet/parquet_file_reader.h | 0 .../parquet/parquet_input_stream_adapter.cpp | 0 .../parquet/parquet_input_stream_adapter.h | 0 .../access/dfs/parquet/parquet_reader.cpp | 0 .../access/dfs/parquet/parquet_reader.h | 0 .../storage/access/gin/gindatapage.cpp | 0 .../storage/access/gin/ginentrypage.cpp | 0 .../storage/access/gin/ginfast.cpp | 0 src/gausskernel/storage/access/gin/ginget.cpp | 0 .../storage/access/gin/gininsert.cpp | 0 .../storage/access/gin/ginpostinglist.cpp | 0 .../storage/access/gin/ginvacuum.cpp | 0 .../storage/access/gin/ginxlog.cpp | 0 .../storage/access/gist/gistbuild.cpp | 0 .../storage/access/gist/gistxlog.cpp | 0 .../storage/access/hash/hashfunc.cpp | 0 .../storage/access/hash/hashscan.cpp | 0 .../storage/access/hash/hashsort.cpp | 0 .../storage/access/hbstore/hbucket_am.cpp | 0 .../storage/access/heap/heapam.cpp | 8 +- .../storage/access/heap/heapam_visibility.cpp | 31 +- .../storage/access/heap/pruneheap.cpp | 0 .../storage/access/heap/syncscan.cpp | 0 .../storage/access/heap/visibilitymap.cpp | 0 .../storage/access/index/genam.cpp | 0 .../storage/access/index/indexam.cpp | 0 .../storage/access/nbtree/nbtree.cpp | 0 .../storage/access/nbtree/nbtsearch.cpp | 0 .../storage/access/nbtree/nbtsort.cpp | 0 .../storage/access/nbtree/nbtutils.cpp | 0 .../storage/access/nbtree/nbtxlog.cpp | 0 src/gausskernel/storage/access/obs/obs_am.cpp | 20 + .../storage/access/rmgrdesc/standbydesc.cpp | 0 .../storage/access/rmgrdesc/xactdesc.cpp | 4 +- .../storage/access/rmgrdesc/xlogdesc.cpp | 0 .../storage/access/spgist/spgkdtreeproc.cpp | 0 .../storage/access/spgist/spgxlog.cpp | 0 .../storage/access/transam/cbmfuncs.cpp | 2 - .../storage/access/transam/cbmparsexlog.cpp | 0 .../storage/access/transam/clog.cpp | 4 +- .../storage/access/transam/csnlog.cpp | 55 +- .../storage/access/transam/double_write.cpp | 3 +- .../access/transam/extreme_rto/dispatcher.cpp | 13 +- .../access/transam/extreme_rto/page_redo.cpp | 62 +- .../storage/access/transam/gtm_single.cpp | 0 .../storage/access/transam/multixact.cpp | 4 +- .../transam/parallel_recovery/dispatcher.cpp | 0 .../transam/parallel_recovery/page_redo.cpp | 0 .../parallel_recovery/posix_semaphore.cpp | 0 .../transam/parallel_recovery/redo_item.cpp | 0 .../storage/access/transam/slru.cpp | 93 +- .../storage/access/transam/transam.cpp | 0 .../storage/access/transam/twophase.cpp | 62 +- .../storage/access/transam/varsup.cpp | 0 .../storage/access/transam/xact.cpp | 57 +- .../storage/access/transam/xlog.cpp | 242 +- .../storage/access/transam/xlogfuncs.cpp | 169 +- .../storage/access/transam/xloginsert.cpp | 0 src/gausskernel/storage/buffer/buf_init.cpp | 0 src/gausskernel/storage/buffer/bufmgr.cpp | 24 +- src/gausskernel/storage/buffer/localbuf.cpp | 3 +- src/gausskernel/storage/bulkload/dist_fdw.cpp | 0 .../storage/bulkload/foreignroutine.cpp | 0 .../storage/bulkload/importerror.cpp | 0 src/gausskernel/storage/bulkload/parser.cpp | 0 .../storage/bulkload/roach_adpter.cpp | 0 .../cstore/compression/compress_kits.cpp | 0 .../cstore/compression/cstore_compress.cpp | 0 .../compression/time_series_compress.cpp | 0 .../storage/cstore/cstore_allocspace.cpp | 0 src/gausskernel/storage/cstore/cstore_am.cpp | 0 .../storage/cstore/cstore_delete.cpp | 0 .../storage/cstore/cstore_insert.cpp | 0 .../storage/cstore/cstore_rewrite.cpp | 0 .../storage/cstore/cstore_update.cpp | 0 .../storage/cstore/cstore_vector.cpp | 0 src/gausskernel/storage/cstore/cu.cpp | 0 .../storage/cstore/cucache_mgr.cpp | 0 src/gausskernel/storage/cstore/custorage.cpp | 0 src/gausskernel/storage/dfs/dfs_connector.cpp | 0 src/gausskernel/storage/dfs/dfscache_mgr.cpp | 0 .../storage/dfs/obs/obs_connector.cpp | 0 src/gausskernel/storage/file/copydir.cpp | 0 src/gausskernel/storage/file/fd.cpp | 0 src/gausskernel/storage/file/lz4_file.cpp | 0 .../storage/freespace/freespace.cpp | 0 src/gausskernel/storage/ipc/ipc.cpp | 3 +- src/gausskernel/storage/ipc/ipci.cpp | 1 - src/gausskernel/storage/ipc/pmsignal.cpp | 0 src/gausskernel/storage/ipc/procarray.cpp | 147 +- src/gausskernel/storage/ipc/shmem.cpp | 0 src/gausskernel/storage/ipc/sinval.cpp | 0 src/gausskernel/storage/ipc/sinvaladt.cpp | 0 src/gausskernel/storage/ipc/standby.cpp | 79 +- .../storage/large_object/inv_api.cpp | 0 src/gausskernel/storage/lmgr/deadlock.cpp | 0 src/gausskernel/storage/lmgr/lmgr.cpp | 0 src/gausskernel/storage/lmgr/lock.cpp | 57 +- src/gausskernel/storage/lmgr/lwlock.cpp | 11 +- src/gausskernel/storage/lmgr/lwlocknames.txt | 1 + src/gausskernel/storage/lmgr/predicate.cpp | 2 +- src/gausskernel/storage/lmgr/proc.cpp | 142 +- src/gausskernel/storage/lmgr/s_lock.cpp | 0 .../infra/config/props_config_file_loader.h | 0 .../src/infra/config/typed_config_value.cpp | 0 .../src/infra/containers/concurrent_map.h | 0 .../mot/core/src/infra/containers/mot_map.h | 0 .../mot/core/src/infra/containers/mot_set.h | 0 .../core/src/infra/containers/mot_string.cpp | 0 .../storage/mot/core/src/infra/infra.cpp | 0 .../storage/mot/core/src/infra/infra.h | 0 .../stats/boolean_statistic_variable.cpp | 0 .../infra/stats/boolean_statistic_variable.h | 0 .../infra/stats/discrete_statistic_variable.h | 215 - .../stats/enumerated_statistic_variable.h | 93 - .../stats/frequency_statistic_variable.cpp | 0 .../stats/frequency_statistic_variable.h | 0 .../src/infra/stats/global_statistics.cpp | 0 .../core/src/infra/stats/global_statistics.h | 0 .../infra/stats/level_statistic_variable.cpp | 0 .../storage/mot/core/src/memory/object_pool.h | 5 +- .../mot/core/src/memory/object_pool_impl.h | 1 - .../storage/mot/core/src/storage/table.cpp | 82 +- .../storage/mot/core/src/storage/table.h | 17 +- .../system/checkpoint/checkpoint_manager.cpp | 10 +- .../storage/mot/core/src/system/mot_engine.h | 12 - .../system/recovery/checkpoint_recovery.cpp | 2 +- .../recovery/inprocess_transactions.cpp | 17 +- .../system/recovery/inprocess_transactions.h | 92 +- .../src/system/recovery/irecovery_manager.h | 16 - .../src/system/recovery/recovery_manager.cpp | 133 +- .../src/system/recovery/recovery_manager.h | 33 - .../core/src/system/recovery/recovery_ops.cpp | 291 +- .../core/src/system/recovery/recovery_ops.h | 73 - .../mot/core/src/system/transaction/txn.cpp | 81 +- .../mot/core/src/system/transaction/txn.h | 25 - .../system/transaction_logger/redo_log.cpp | 27 +- .../src/system/transaction_logger/redo_log.h | 16 +- .../transaction_logger/redo_log_buffer.h | 80 +- .../transaction_logger/redo_log_writer.cpp | 112 +- .../transaction_logger/redo_log_writer.h | 38 +- .../storage/mot/fdw_adapter/src/mot_fdw.cpp | 45 +- .../mot/fdw_adapter/src/mot_internal.cpp | 11 +- .../mot/fdw_adapter/src/mot_internal.h | 1 - .../mot/jit_exec/src/jit_context_pool.cpp | 0 .../storage/mot/jit_exec/src/jit_llvm_funcs.h | 5 +- .../jit_exec/src/jit_llvm_query_codegen.cpp | 44 +- .../mot/jit_exec/src/jit_source_map.cpp | 0 .../storage/mot/jit_exec/src/jit_tvm_funcs.h | 4 +- .../jit_exec/src/jit_tvm_query_codegen.cpp | 43 +- .../storage/mot/jit_exec/src/jit_tvm_util.cpp | 0 src/gausskernel/storage/page/pagecompress.cpp | 0 .../storage/remote/remote_adapter.cpp | 0 src/gausskernel/storage/replication/Makefile | 18 +- .../storage/replication/basebackup.cpp | 3 +- src/gausskernel/storage/replication/bcm.cpp | 0 .../storage/replication/catchup.cpp | 0 .../storage/replication/dataqueue.cpp | 0 .../storage/replication/datarcvwriter.cpp | 0 .../storage/replication/datareceiver.cpp | 0 .../storage/replication/datasender.cpp | 0 .../storage/replication/datasyncrep.cpp | 0 .../storage/replication/heartbeat.cpp | 18 + .../storage/replication/libpqwalreceiver.cpp | 0 .../storage/replication/logical/logical.cpp | 4 +- .../replication/logical/logicalfuncs.cpp | 5 + .../replication/logical/reorderbuffer.cpp | 0 .../storage/replication/logical/snapbuild.cpp | 2 +- .../storage/replication/obswalreceiver.cpp | 16 +- .../storage/replication/repl_gram.y | 4 +- src/gausskernel/storage/replication/slot.cpp | 9 +- .../storage/replication/slotfuncs.cpp | 12 +- .../storage/replication/syncrep.cpp | 7 +- .../storage/replication/syncrep_gram.y | 23 +- .../storage/replication/syncrep_scanner.l | 2 + .../storage/replication/walrcvwriter.cpp | 0 .../storage/replication/walreceiver.cpp | 62 +- .../storage/replication/walreceiverfuncs.cpp | 30 +- .../storage/replication/walsender.cpp | 180 +- src/gausskernel/storage/smgr/md.cpp | 0 src/gausskernel/storage/smgr/smgr.cpp | 0 src/get_PlatForm_str.sh | 0 src/include/Makefile | 0 src/include/access/cbmparsexlog.h | 0 src/include/access/cstore_am.h | 0 src/include/access/cstore_delete.h | 0 src/include/access/cstore_insert.h | 0 src/include/access/cstore_psort.h | 0 src/include/access/cstore_update.h | 0 src/include/access/cstore_vector.h | 0 src/include/access/dfs/dfs_am.h | 0 src/include/access/dfs/dfs_query.h | 0 src/include/access/extreme_rto/dispatcher.h | 4 + src/include/access/extreme_rto/page_redo.h | 5 +- src/include/access/gin_private.h | 0 src/include/access/gist_private.h | 0 src/include/access/gtm.h | 0 src/include/access/hash.h | 0 src/include/access/hbucket_am.h | 0 src/include/access/htup.h | 2 +- src/include/access/multixact.h | 0 src/include/access/nbtree.h | 0 src/include/access/obs/obs_am.h | 0 src/include/access/redo_statistic.h | 2 + src/include/access/reloptions.h | 0 src/include/access/relscan.h | 0 src/include/access/rmgrlist.h | 0 src/include/access/skey.h | 0 src/include/access/slru.h | 3 +- src/include/access/spgist_private.h | 0 src/include/access/transam.h | 3 +- src/include/access/tupdesc.h | 0 src/include/access/twophase.h | 0 src/include/access/visibilitymap.h | 0 src/include/access/xact.h | 1 + src/include/access/xlog_internal.h | 0 src/include/access/xlogrecord.h | 0 src/include/alarm/alarm.h | 0 src/include/bootstrap/bootstrap.h | 0 src/include/bulkload/utils.h | 0 src/include/catalog/catalog.h | 1 + src/include/catalog/catversion.h | 0 src/include/catalog/genbki.h | 0 src/include/catalog/gs_matview.h | 1 + src/include/catalog/gs_opt_model.h | 0 src/include/catalog/heap.h | 0 src/include/catalog/index.h | 0 src/include/catalog/indexing.h | 0 src/include/catalog/namespace.h | 1 + src/include/catalog/pg_aggregate.h | 0 src/include/catalog/pg_am.h | 0 src/include/catalog/pg_amop.h | 0 src/include/catalog/pg_amproc.h | 0 src/include/catalog/pg_authid.h | 0 src/include/catalog/pg_cast.h | 0 src/include/catalog/pg_constraint.h | 0 src/include/catalog/pg_control.h | 0 src/include/catalog/pg_database.h | 0 src/include/catalog/pg_db_role_setting.h | 3 + src/include/catalog/pg_directory.h | 0 src/include/catalog/pg_enum.h | 0 src/include/catalog/pg_job.h | 0 src/include/catalog/pg_namespace.h | 0 src/include/catalog/pg_object.h | 0 src/include/catalog/pg_opclass.h | 0 src/include/catalog/pg_operator.h | 0 src/include/catalog/pg_opfamily.h | 0 src/include/catalog/pg_partition.h | 0 src/include/catalog/pg_proc.h | 0 src/include/catalog/pg_proc_fn.h | 0 src/include/catalog/pg_resource_pool.h | 0 src/include/catalog/pg_statistic.h | 0 src/include/catalog/pg_statistic_ext.h | 0 src/include/catalog/pg_synonym.h | 0 src/include/catalog/pg_type.h | 0 src/include/catalog/pg_user_status.h | 0 src/include/catalog/pgxc_class.h | 0 src/include/catalog/pgxc_group.h | 0 src/include/catalog/toasting.h | 0 .../{open_gauss => }/check_upgrade/.gitkeep | 0 .../rollback-post_catalog_maindb_92_200.sql | 0 .../rollback_catalog_maindb_92_200.sql | 0 .../rollback-post_catalog_otherdb_92_200.sql | 0 .../rollback_catalog_otherdb_92_200.sql | 0 .../{open_gauss => }/set_guc/.gitkeep | 0 .../upgrade-post_catalog_maindb_92_200.sql | 5 +- .../upgrade_catalog_maindb_92_200.sql | 107 +- .../upgrade-post_catalog_otherdb_92_200.sql | 5 +- .../upgrade_catalog_otherdb_92_200.sql | 106 +- src/include/cipher.h | 0 src/include/client_logic/client_logic.h | 1 - .../client_logic/client_logic_common.h | 37 - src/include/client_logic/client_logic_enums.h | 9 + src/include/client_logic/cstrings_map.h | 2 + src/include/cm/cm_agent/cma_datanode.h | 4 +- src/include/cm/cm_agent/cma_datanode_utils.h | 10 +- src/include/cm/cm_agent/cma_global_params.h | 2 +- .../cm/cm_agent/cma_instance_management.h | 5 +- src/include/cm/cm_agent/cma_main.h | 9 +- src/include/cm/cm_agent/cma_threads.h | 2 + src/include/cm/cm_msg.h | 44 +- src/include/cm/cm_server/cm_server.h | 7 + src/include/cm/cm_server/cms_az.h | 7 + src/include/cm/cm_server/cms_cn.h | 2 +- src/include/cm/cm_server/cms_etcd.h | 7 +- src/include/cm/cm_server/cms_global_params.h | 18 + .../cm/cm_server/cms_process_messages.h | 1 + src/include/cm/cm_server/cms_threads.h | 1 + src/include/cm/elog.h | 0 src/include/codegen/builtinscodegen.h | 0 src/include/codegen/codegendebuger.h | 0 src/include/codegen/gscodegen.h | 0 src/include/codegen/vecexprcodegen.h | 0 src/include/codegen/vechashaggcodegen.h | 0 src/include/codegen/vechashjoincodegen.h | 0 src/include/codegen/vecsortcodegen.h | 0 src/include/commands/async.h | 0 src/include/commands/cluster.h | 0 src/include/commands/copy.h | 0 src/include/commands/dbcommands.h | 0 src/include/commands/directory.h | 0 src/include/commands/formatter.h | 0 src/include/commands/matview.h | 1 - src/include/commands/prepare.h | 4 - src/include/commands/sequence.h | 2 + src/include/commands/tablecmds.h | 0 src/include/commands/tablespace.h | 0 src/include/commands/trigger.h | 4 + src/include/commands/user.h | 1 - src/include/commands/vacuum.h | 0 src/include/commands/variable.h | 0 src/include/common/build_query/build_query.h | 0 src/include/common/config/cm_config.h | 1 + src/include/connector.h | 0 src/include/dfs_config.h | 0 src/include/dfsdesc.h | 0 src/include/distributelayer/streamConsumer.h | 0 src/include/distributelayer/streamCore.h | 4 + src/include/distributelayer/streamProducer.h | 0 .../distributelayer/streamTransportCore.h | 0 src/include/executor/execMerge.h | 0 src/include/executor/execStream.h | 0 src/include/executor/execdesc.h | 0 src/include/executor/executor.h | 0 src/include/executor/hashjoin.h | 0 src/include/executor/instrument.h | 18 +- src/include/executor/lightProxy.h | 0 src/include/executor/nodeAgg.h | 0 src/include/executor/nodeBitmapIndexscan.h | 0 src/include/executor/nodeExtensible.h | 0 src/include/executor/nodeFunctionscan.h | 0 src/include/executor/nodeHash.h | 0 src/include/executor/nodeRecursiveunion.h | 0 src/include/executor/nodeSamplescan.h | 0 src/include/executor/spi.h | 1 + src/include/executor/spi_priv.h | 0 src/include/executor/tuptable.h | 0 src/include/fmgr.h | 0 src/include/foreign/fdwapi.h | 0 src/include/funcapi.h | 0 src/include/gen_alloc.h | 0 src/include/getaddrinfo.h | 0 src/include/gs_ktool/kt_interface.h | 5 +- src/include/gs_thread.h | 0 src/include/gssignal/gs_signal.h | 0 src/include/gstrace/gstrace_infra_int.h | 8 +- src/include/gtm/gtm.h | 0 src/include/gtm/gtm_backup.h | 0 src/include/gtm/gtm_c.h | 0 src/include/gtm/gtm_client.h | 0 src/include/gtm/gtm_csnsync.h | 0 src/include/gtm/gtm_lock.h | 0 src/include/gtm/gtm_msg.h | 0 src/include/gtm/gtm_opt.h | 0 src/include/gtm/gtm_proxy.h | 0 src/include/gtm/gtm_seq.h | 0 src/include/gtm/gtm_test_framework.h | 0 src/include/gtm/gtm_txn.h | 0 src/include/hotpatch/hotpatch_client.h | 0 src/include/instruments/dblink_query.h | 0 src/include/instruments/generate_report.h | 0 src/include/instruments/gs_stat.h | 2 + src/include/instruments/instr_statement.h | 14 +- src/include/instruments/instr_unique_sql.h | 39 +- src/include/instruments/percentile.h | 0 src/include/instruments/snapshot.h | 0 src/include/instruments/unique_query.h | 3 +- src/include/keymanagement/FIKMSmessage.h | 0 src/include/keymanagement/HttpRestfulClient.h | 0 src/include/keymanagement/KeyManager.h | 0 src/include/keymanagement/KeyRecord.h | 0 src/include/keymanagement/TDEKeysFile.h | 0 src/include/knl/knl_guc.h | 0 src/include/knl/knl_guc/knl_guc_common.h | 0 .../knl/knl_guc/knl_instance_attr_common.h | 0 .../knl/knl_guc/knl_instance_attr_resource.h | 0 .../knl/knl_guc/knl_instance_attr_security.h | 0 .../knl/knl_guc/knl_instance_attr_storage.h | 0 .../knl/knl_guc/knl_session_attr_common.h | 0 .../knl/knl_guc/knl_session_attr_resource.h | 0 .../knl/knl_guc/knl_session_attr_storage.h | 0 src/include/knl/knl_instance.h | 21 +- src/include/knl/knl_session.h | 30 +- src/include/knl/knl_thread.h | 6 - src/include/lib/dllist.h | 0 src/include/lib/stringinfo.h | 0 src/include/libcomm/libcomm.h | 0 src/include/libpq/auth.h | 2 +- src/include/libpq/cl_state.h | 15 +- src/include/libpq/crypt.h | 9 + src/include/libpq/hba.h | 0 src/include/libpq/libpq-be.h | 0 src/include/libpq/libpq-fe.h | 3 - src/include/libpq/libpq-int.h | 0 src/include/libpq/libpq.h | 0 src/include/libpq/md5.h | 0 src/include/libpq/pqcomm.h | 0 src/include/libpq/pqformat.h | 0 src/include/libpq/pqsignal.h | 0 src/include/libpq/sha2.h | 0 src/include/mb/pg_wchar.h | 0 src/include/miscadmin.h | 0 src/include/nodes/bitmapset.h | 0 src/include/nodes/execnodes.h | 5 +- src/include/nodes/makefuncs.h | 0 src/include/nodes/nodeFuncs.h | 0 src/include/nodes/params.h | 0 src/include/nodes/parsenodes.h | 18 - src/include/nodes/parsenodes_common.h | 18 + src/include/nodes/pg_list.h | 0 src/include/nodes/plannodes.h | 0 src/include/nodes/primnodes.h | 0 src/include/nodes/print.h | 4 + src/include/nodes/readfuncs.h | 0 src/include/nodes/relation.h | 0 src/include/nodes/replnodes.h | 0 src/include/nodes/tidbitmap.h | 0 src/include/opfusion/opfusion.h | 6 +- src/include/opfusion/opfusion_scan.h | 4 + src/include/opfusion/opfusion_util.h | 1 + src/include/optimizer/autoanalyzer.h | 0 src/include/optimizer/bucketinfo.h | 0 src/include/optimizer/bucketpruning.h | 0 src/include/optimizer/clauses.h | 0 src/include/optimizer/cost.h | 0 src/include/optimizer/dataskew.h | 0 src/include/optimizer/dynsmp.h | 0 src/include/optimizer/nodegroups.h | 2 + src/include/optimizer/optimizerdebug.h | 0 src/include/optimizer/orclauses.h | 21 - src/include/optimizer/pathnode.h | 0 src/include/optimizer/paths.h | 0 src/include/optimizer/pgxcplan.h | 0 src/include/optimizer/pgxcship.h | 0 src/include/optimizer/plancat.h | 0 src/include/optimizer/planmain.h | 0 src/include/optimizer/planmem_walker.h | 0 src/include/optimizer/planner.h | 2 +- src/include/optimizer/prep.h | 2 +- src/include/optimizer/pruning.h | 0 src/include/optimizer/stream_util.h | 2 +- src/include/optimizer/streampath.h | 107 +- src/include/optimizer/streamplan.h | 2 +- src/include/optimizer/subselect.h | 0 src/include/optimizer/tlist.h | 0 src/include/optimizer/var.h | 0 src/include/parser/analyze.h | 0 src/include/parser/gramparse.h | 0 src/include/parser/kwlist.h | 4 +- src/include/parser/parse_agg.h | 0 src/include/parser/parse_clause.h | 0 src/include/parser/parse_coerce.h | 0 src/include/parser/parse_expr.h | 0 src/include/parser/parse_func.h | 0 src/include/parser/parse_hint.h | 0 src/include/parser/parse_merge.h | 0 src/include/parser/parse_node.h | 0 src/include/parser/parse_relation.h | 0 src/include/parser/parse_target.h | 0 src/include/parser/parse_type.h | 2 + src/include/parser/parse_utilcmd.h | 1 + src/include/parser/parsetree.h | 0 src/include/parser/scanner.h | 0 src/include/pg_config_manual.h | 0 src/include/pgaudit.h | 0 src/include/pgstat.h | 2 +- src/include/pgxc/barrier.h | 2 + src/include/pgxc/execRemote.h | 4 + src/include/pgxc/groupmgr.h | 0 src/include/pgxc/locator.h | 1 + src/include/pgxc/nodemgr.h | 0 src/include/pgxc/pgxc.h | 0 src/include/pgxc/pgxcnode.h | 9 +- src/include/pgxc/poolmgr.h | 5 +- src/include/pgxc/pruningslice.h | 2 +- src/include/pgxc/redistrib.h | 0 src/include/port/win32.h | 0 src/include/portability/instr_time.h | 0 src/include/postgres.h | 2 + src/include/postgres_ext.h | 0 src/include/postmaster/autovacuum.h | 2 + src/include/postmaster/bgwriter.h | 0 src/include/postmaster/cbmwriter.h | 0 src/include/postmaster/fencedudf.h | 0 src/include/postmaster/startup.h | 0 src/include/postmaster/syslogger.h | 0 src/include/regex/regcustom.h | 0 src/include/regex/regex.h | 0 src/include/regex/regguts.h | 0 src/include/replication/basebackup.h | 0 src/include/replication/dataqueue.h | 0 src/include/replication/datareceiver.h | 0 src/include/replication/datasender_private.h | 0 src/include/replication/heartbeat.h | 1 + src/include/replication/libpqwalreceiver.h | 0 src/include/replication/obswalreceiver.h | 2 + src/include/replication/output_plugin.h | 0 src/include/replication/replicainternal.h | 0 src/include/replication/slot.h | 0 src/include/replication/walprotocol.h | 1 + src/include/replication/walreceiver.h | 0 src/include/replication/walsender.h | 0 src/include/replication/walsender_private.h | 1 + src/include/rewrite/rewriteManip.h | 0 src/include/securec.h | 0 src/include/securec_check.h | 0 src/include/ssl/openssl_etcd.cnf | 72 - src/include/storage/backendid.h | 0 src/include/storage/barrier.h | 0 src/include/storage/compress_kits.h | 0 src/include/storage/cu.h | 0 src/include/storage/cucache_mgr.h | 0 src/include/storage/custorage.h | 0 src/include/storage/dfs/dfscache_mgr.h | 0 src/include/storage/fd.h | 0 src/include/storage/freespace.h | 0 src/include/storage/fsm_internals.h | 0 src/include/storage/gds_utils.h | 0 src/include/storage/ipc.h | 1 - src/include/storage/lmgr.h | 0 src/include/storage/lz4_file.h | 0 src/include/storage/mot/mot_fdw.h | 7 - src/include/storage/parser.h | 2 + src/include/storage/pmsignal.h | 0 src/include/storage/proc.h | 11 +- src/include/storage/procarray.h | 2 + src/include/storage/relfilenode.h | 0 src/include/storage/sinval.h | 0 src/include/storage/standby.h | 3 + src/include/storage/time_series_compress.h | 0 src/include/streaming/streaming_catalog.h | 1 + src/include/tcop/autonomoustransaction.h | 34 +- src/include/tcop/dest.h | 0 src/include/tcop/stmt_retry.h | 0 src/include/tcop/tcopprot.h | 0 src/include/tcop/utility.h | 0 src/include/threadpool/threadpool.h | 0 src/include/threadpool/threadpool_controler.h | 0 src/include/threadpool/threadpool_group.h | 0 src/include/threadpool/threadpool_listener.h | 0 src/include/threadpool/threadpool_scheduler.h | 2 +- src/include/threadpool/threadpool_sessctl.h | 3 + src/include/threadpool/threadpool_worker.h | 0 src/include/tsearch/ts_cache.h | 0 src/include/tsearch/ts_utils.h | 0 src/include/tsearch/ts_zh_ngram.h | 0 src/include/utils/acl.h | 0 src/include/utils/aes.h | 0 src/include/utils/anls_opt.h | 0 src/include/utils/array.h | 0 src/include/utils/aset.h | 0 src/include/utils/batchsort.h | 0 src/include/utils/batchstore.h | 0 src/include/utils/biginteger.h | 0 src/include/utils/bloom_filter.h | 0 src/include/utils/builtins.h | 0 src/include/utils/cash.h | 0 src/include/utils/catcache.h | 0 src/include/utils/datetime.h | 0 src/include/utils/distribute_test.h | 0 src/include/utils/elf_parser.h | 5 + src/include/utils/elog.h | 8 +- src/include/utils/evp_cipher.h | 0 src/include/utils/extended_statistics.h | 0 src/include/utils/formatting.h | 0 src/include/utils/globalplancache.h | 21 +- src/include/utils/globalplancore.h | 53 +- src/include/utils/globalpreparestmt.h | 69 - src/include/utils/guc.h | 4 +- src/include/utils/guc_tables.h | 0 src/include/utils/hsearch.h | 0 src/include/utils/inval.h | 0 src/include/utils/memprot.h | 0 src/include/utils/memutils.h | 0 src/include/utils/numeric.h | 0 src/include/utils/numeric_gs.h | 0 src/include/utils/palloc.h | 0 src/include/utils/partcache.h | 0 src/include/utils/partitionkey.h | 0 src/include/utils/partitionmap.h | 0 src/include/utils/partitionmap_gs.h | 0 src/include/utils/pg_locale.h | 2 +- src/include/utils/pg_lzcompress.h | 0 src/include/utils/plancache.h | 11 +- src/include/utils/plog.h | 0 src/include/utils/plpgsql.h | 0 src/include/utils/portal.h | 45 +- src/include/utils/postinit.h | 0 src/include/utils/rangetypes.h | 0 src/include/utils/rel.h | 1 + src/include/utils/rel_gs.h | 0 src/include/utils/relcache.h | 0 src/include/utils/relmapper.h | 0 src/include/utils/resowner.h | 5 + src/include/utils/rowstore.h | 0 src/include/utils/selfuncs.h | 2 + src/include/utils/snapmgr.h | 0 src/include/utils/snapshot.h | 0 src/include/utils/sortsupport.h | 0 src/include/utils/sortsupport_gs.h | 0 src/include/utils/syscache.h | 0 src/include/utils/syscall_lock.h | 0 src/include/utils/timestamp.h | 9 +- src/include/utils/tuplesort.h | 0 src/include/utils/tuplestore.h | 0 src/include/utils/uuid.h | 0 src/include/vecexecutor/vecagg.h | 0 src/include/vecexecutor/vecfunc.h | 0 src/include/vecexecutor/vechashagg.h | 0 src/include/vecexecutor/vechashjoin.h | 0 src/include/vecexecutor/vechashtable.h | 0 src/include/vecexecutor/vecnodes.h | 0 src/include/vecexecutor/vecsetop.h | 0 src/include/vecexecutor/vecstore.h | 0 src/include/vecexecutor/vecstream.h | 0 src/include/vecexecutor/vectorbatch.h | 0 src/include/vecexecutor/vecwindowagg.h | 0 src/include/vectorsonic/vsonicarray.h | 0 src/include/vectorsonic/vsonicchar.h | 0 src/include/vectorsonic/vsonicencodingchar.h | 0 src/include/vectorsonic/vsonicfilesource.h | 0 src/include/vectorsonic/vsonicfixlen.h | 0 src/include/vectorsonic/vsonichash.h | 0 src/include/vectorsonic/vsonichashagg.h | 0 src/include/vectorsonic/vsonichashjoin.h | 0 src/include/vectorsonic/vsonicint.h | 0 src/include/vectorsonic/vsonicnumeric.h | 0 src/include/vectorsonic/vsonicpartition.h | 0 src/include/workload/commgr.h | 0 src/include/workload/cpwlm.h | 0 src/include/workload/dywlm_client.h | 0 src/include/workload/dywlm_server.h | 0 src/include/workload/gscgroup.h | 0 src/include/workload/ioschdl.h | 0 src/include/workload/memctl.h | 0 src/include/workload/parctl.h | 0 src/include/workload/statctl.h | 0 src/include/workload/workload.h | 0 src/lib/alarm/alarm.cpp | 0 src/lib/build_query/build_query.cpp | 9 + src/lib/config/cm_config.cpp | 193 +- src/lib/elog/elog.cpp | 0 src/lib/gstrace/common/gstrace_infra.cpp | 3 + src/test/ha/GNUmakefile | 2 - src/test/ha/standby_env.sh | 100 - src/test/ha/util.sh | 102 - src/test/regress/GNUmakefile | 6 +- .../regress/expected/aggregates_part2.out | 31 - src/test/regress/expected/alter_table_000.out | 5 - .../expected/autonomous_transaction.out | 197 +- src/test/regress/expected/ce_cmk_cek_test.out | 24 +- .../regress/expected/ce_cmk_search_path.out | 2 +- .../regress/expected/ce_column_constraint.out | 2 +- src/test/regress/expected/ce_copy.out | 4 +- .../ce_cursor_crud_all_types_test.out | 2 +- .../regress/expected/ce_default_values.out | 4 +- src/test/regress/expected/ce_describe.out | 2 +- src/test/regress/expected/ce_distinct.out | 2 +- src/test/regress/expected/ce_drop_cek.out | 10 +- .../regress/expected/ce_drop_cek_depend.out | 20 +- .../regress/expected/ce_drop_cek_schema.out | 4 +- src/test/regress/expected/ce_drop_cmk.out | 16 +- .../regress/expected/ce_drop_cmk_schema.out | 2 +- src/test/regress/expected/ce_drop_schema.out | 6 +- .../regress/expected/ce_encoding_test.out | 2 +- src/test/regress/expected/ce_escaping.out | 2 +- src/test/regress/expected/ce_foreign_key.out | 10 +- .../expected/ce_insert_columnstore.out | 2 +- src/test/regress/expected/ce_join.out | 4 +- .../regress/expected/ce_kt_invalid_input.out | 271 +- .../regress/expected/ce_kt_key_manage.out | 105 +- src/test/regress/expected/ce_limit.out | 2 +- src/test/regress/expected/ce_merge_into.out | 2 +- .../expected/ce_no_premissions_on_schema.out | 2 +- src/test/regress/expected/ce_orderby.out | 3 +- .../expected/ce_permission_on_keys_schema.out | 203 + .../expected/ce_premission_on_schema.out | 8 +- .../ce_premission_on_schema_delete.out | 3 +- ...sion_on_schema_drop_check_catalogtable.out | 2 +- .../ce_premission_on_schema_drop_failed.out | 4 +- ...sion_on_schema_drop_failed_table_exist.out | 12 +- ...on_schema_drop_keys_table_exist_casade.out | 28 +- ...e_premission_on_schema_drop_remove_key.out | 6 +- .../ce_premission_on_schema_namespece.out | 8 +- .../ce_premission_on_schema_owner.out | 8 +- .../ce_premission_on_schema_pgdepend.out | 8 +- ...ce_premission_on_schema_pgdepend_check.out | 12 +- ..._premission_on_schema_purge_premission.out | 12 +- .../ce_premission_on_schema_revoke.out | 20 +- .../regress/expected/ce_privileges_dba.out | 24 +- .../expected/ce_privileges_on_schema.out | 75 +- src/test/regress/expected/ce_procedure.out | 59 +- src/test/regress/expected/ce_random.out | 4 +- src/test/regress/expected/ce_rlspolicy.out | 95 +- src/test/regress/expected/ce_searchpath.out | 20 +- .../regress/expected/ce_select_operators.out | 4 +- .../expected/char_truncation_common.out | 2 + src/test/regress/expected/create_schema.out | 16 - src/test/regress/expected/create_type.out | 2 +- src/test/regress/expected/delete_limit.out | 37 +- src/test/regress/expected/encode_tpch.out | 0 src/test/regress/expected/explain_pbe.out | 22 +- src/test/regress/expected/gpi_clean_wait.out | 4 + .../expected/gpi_set_index_unusable.out | 15 +- src/test/regress/expected/hw_pbe.out | 22 +- src/test/regress/expected/inplace_upgrade.out | 4 +- src/test/regress/expected/join.out | 2 +- .../expected/leaky_function_operator.out | 20 + src/test/regress/expected/merge_ng.out | 34 +- .../expected/nodegroup_subplan_smp_test.out | 2 +- .../expected/nodegroup_utility_test.out | 2 + src/test/regress/expected/opr_sanity.out | 2 - src/test/regress/expected/plan_table04.out | 0 src/test/regress/expected/rangefuncs.out | 8 +- src/test/regress/expected/rangefuncs_1.out | 3 +- src/test/regress/expected/rewrite.out | 2 + src/test/regress/expected/select.out | 2 +- src/test/regress/expected/single_node_ddl.out | 5 +- .../expected/single_node_mergeinto.out | 109 + .../expected/single_node_opr_sanity.out | 2 - .../regress/expected/single_node_vacuum.out | 2 + src/test/regress/expected/subselect_part1.out | 14 +- src/test/regress/expected/temp.out | 24 + .../regress/expected/tpch_disablevec07.out | 4 +- src/test/regress/expected/tpchcol07.out | 4 +- src/test/regress/expected/upsert_001.out | 4 +- src/test/regress/expected/upsert_002.out | 2 - src/test/regress/expected/upsert_003.out | 2 - src/test/regress/expected/upsert_008.out | 2 - src/test/regress/expected/upsert_009.out | 2 - src/test/regress/expected/upsert_010.out | 2 - .../regress/expected/upsert_composite.out | 8 - src/test/regress/expected/upsert_explain.out | 8 - .../expected/upsert_grammer_test_01.out | 8 - .../expected/upsert_grammer_test_02.out | 8 - .../regress/expected/upsert_restriction.out | 14 +- src/test/regress/expected/upsert_tmp_test.out | 8 - .../regress/expected/upsert_trigger_test.out | 8 - .../regress/expected/upsert_unlog_test.out | 8 - src/test/regress/expected/vacuum.out | 2 + src/test/regress/expected/with.out | 39 +- .../regress/expected/wlm_plan_encoding.out | 0 src/test/regress/expected/xc_alter_table.out | 42 +- src/test/regress/expected/xc_triggers_1.out | 4 +- .../input/alter_set_same_parameter.source | 2 +- src/test/regress/input/bypass_pbe.source | 1 + .../input/dfs_orc_hw_cstore_vacuum.source | 2 + .../input/dfs_orc_hw_vacuum_compact.source | 2 + .../input/dfs_orc_hw_vacuum_full.source | 2 + src/test/regress/input/enum_empty_test.source | 2 +- src/test/regress/input/gs_guc.source | 1 - .../regress/input/gs_guc_value_range.source | 2 +- src/test/regress/input/gs_initdb.source | 2 +- src/test/regress/input/gsqlerr.source | 10 +- src/test/regress/input/hotpatch.source | 34 +- .../regress/input/hw_cstore_vacuum.source | 2 + src/test/regress/input/rlstm.source | 0 .../input/unify_superuser_definition.source | 2 +- .../output/alter_set_same_parameter.source | 20 +- src/test/regress/output/bypass_pbe.source | 1 + .../output/dfs_orc_hw_cstore_vacuum.source | 2 + .../output/dfs_orc_hw_vacuum_compact.source | 2 + .../output/dfs_orc_hw_vacuum_full.source | 2 + .../disable_dbeperf_and_snapshot.source | 8 +- .../regress/output/enum_empty_test.source | 1 + src/test/regress/output/gs_guc.source | 3 +- .../regress/output/gs_guc_value_range.source | 15 +- src/test/regress/output/gs_initdb.source | 2 +- src/test/regress/output/gsqlerr.source | 14 +- src/test/regress/output/hotpatch.source | 12 +- .../regress/output/hw_cstore_vacuum.source | 2 + .../output/hw_partition_start_end.source | 4 +- .../output/nodegroup_subplan_test.source | 2 +- .../regress/output/recovery_2pc_tools.source | 3 +- src/test/regress/output/rlstm.source | 0 .../output/unify_superuser_definition.source | 32 +- src/test/regress/parallel_schedule0 | 28 +- src/test/regress/parallel_schedule0A | 524 + src/test/regress/parallel_schedule0B | 238 + src/test/regress/parallel_schedule10 | 178 +- src/test/regress/parallel_schedule19 | 35 + src/test/regress/pg_regress.cpp | 174 +- src/test/regress/pg_regress_main.cpp | 2 +- src/test/regress/sql/aggregates_part2.sql | 7 - src/test/regress/sql/alarm_component_test.sql | 2 +- .../regress/sql/autonomous_transaction.sql | 161 +- src/test/regress/sql/ce_constraint.sql | 82 - src/test/regress/sql/ce_exec_direct.sql | 19 - src/test/regress/sql/ce_insert_boolean.sql | 49 - src/test/regress/sql/ce_insert_int.sql | 81 - src/test/regress/sql/ce_key_test.sql | 22 - src/test/regress/sql/ce_kt_invalid_input.sql | 1 + src/test/regress/sql/ce_kt_key_manage.sql | 4 +- .../sql/ce_multinode_create_table_like.sql | 26 - src/test/regress/sql/ce_orderby.sql | 2 +- .../sql/ce_permission_on_keys_schema.sql | 121 + src/test/regress/sql/ce_privileges_dba.sql | 4 +- .../regress/sql/ce_privileges_on_schema.sql | 39 +- src/test/regress/sql/ce_procedure.sql | 6 +- src/test/regress/sql/ce_rlspolicy.sql | 32 + src/test/regress/sql/create_schema.sql | 10 - src/test/regress/sql/create_type.sql | 2 +- src/test/regress/sql/delete_limit.sql | 34 + src/test/regress/sql/gpi_clean_wait.sql | 4 + src/test/regress/sql/hw_procedure_define.sql | 3 +- src/test/regress/sql/inplace_upgrade.sql | 2 + src/test/regress/sql/join.sql | 2 +- .../regress/sql/leaky_function_operator.sql | 22 + src/test/regress/sql/locktag_decode.sql | 1 - .../regress/sql/nodegroup_utility_test.sql | 2 + src/test/regress/sql/rewrite.sql | 2 + src/test/regress/sql/select.sql | 2 +- src/test/regress/sql/single_node_ddl.sql | 2 +- .../regress/sql/single_node_mergeinto.sql | 75 + src/test/regress/sql/single_node_vacuum.sql | 2 + src/test/regress/sql/temp.sql | 11 + src/test/regress/sql/upsert_001.sql | 3 - src/test/regress/sql/upsert_002.sql | 3 - src/test/regress/sql/upsert_003.sql | 3 - src/test/regress/sql/upsert_008.sql | 3 - src/test/regress/sql/upsert_009.sql | 3 - src/test/regress/sql/upsert_010.sql | 3 - src/test/regress/sql/upsert_composite.sql | 3 - src/test/regress/sql/upsert_explain.sql | 3 - .../regress/sql/upsert_grammer_test_01.sql | 3 - .../regress/sql/upsert_grammer_test_02.sql | 3 - src/test/regress/sql/upsert_restriction.sql | 5 +- src/test/regress/sql/upsert_tmp_test.sql | 4 - src/test/regress/sql/upsert_trigger_test.sql | 3 - src/test/regress/sql/upsert_unlog_test.sql | 3 - src/test/regress/sql/vacuum.sql | 4 +- src/test/regress/sql/with.sql | 2 - 1729 files changed, 44948 insertions(+), 32888 deletions(-) create mode 100644 Tools/memory_check/asan_report.pl create mode 100644 Tools/memory_check/memleak_ignore create mode 100755 Tools/memory_check/setup_memchk.sh mode change 100644 => 100755 build/script/build_opengauss.sh create mode 100644 build/script/mpp_cmake_package.sh mode change 100644 => 100755 build/script/mpp_package.sh delete mode 100644 build/script/mpp_release_list_centos delete mode 100644 build/script/mpp_release_list_centos_aarch64 delete mode 100644 build/script/mpp_release_list_centos_single delete mode 100644 build/script/mpp_release_list_euleros delete mode 100644 build/script/mpp_release_list_euleros_aarch64 delete mode 100644 build/script/mpp_release_list_euleros_aarch64_single delete mode 100644 build/script/mpp_release_list_euleros_single delete mode 100644 build/script/mpp_release_list_linux_x86_64 delete mode 100644 build/script/mpp_release_list_openeuler_aarch64 delete mode 100644 build/script/mpp_release_list_openeuler_aarch64_single mode change 100644 => 100755 build/script/package_opengauss.sh mode change 100644 => 100755 contrib/gsredistribute/gsredistribute.cpp mode change 100755 => 100644 contrib/mppdb_decoding/mppdb_decoding.cpp mode change 100755 => 100644 contrib/pagehack/pagehack.cpp mode change 100644 => 100755 contrib/pg_trgm/trgm_op.cpp mode change 100644 => 100755 contrib/pgbench/pgbench.cpp mode change 100755 => 100644 contrib/postgis/extension_dependency.h mode change 100644 => 100755 contrib/postgres_fdw/.gitignore mode change 100644 => 100755 contrib/postgres_fdw/Makefile mode change 100644 => 100755 contrib/postgres_fdw/connection.cpp mode change 100644 => 100755 contrib/postgres_fdw/deparse.cpp mode change 100644 => 100755 contrib/postgres_fdw/expected/postgres_fdw.out mode change 100644 => 100755 contrib/postgres_fdw/option.cpp mode change 100644 => 100755 contrib/postgres_fdw/postgres_fdw--1.0.sql mode change 100644 => 100755 contrib/postgres_fdw/postgres_fdw.control mode change 100644 => 100755 contrib/postgres_fdw/postgres_fdw.cpp mode change 100644 => 100755 contrib/postgres_fdw/postgres_fdw.h mode change 100644 => 100755 contrib/postgres_fdw/sql/postgres_fdw.sql mode change 100644 => 100755 contrib/security_plugin/access_audit.cpp mode change 100644 => 100755 contrib/security_plugin/access_audit.h mode change 100644 => 100755 contrib/security_plugin/gs_audit_policy.cpp mode change 100644 => 100755 contrib/security_plugin/gs_audit_policy.h mode change 100644 => 100755 contrib/security_plugin/gs_mask_policy.h mode change 100644 => 100755 contrib/security_plugin/gs_policy_filter.cpp mode change 100644 => 100755 contrib/security_plugin/gs_policy_filter.h mode change 100644 => 100755 contrib/security_plugin/gs_policy_labels.cpp mode change 100644 => 100755 contrib/security_plugin/gs_policy_labels.h mode change 100644 => 100755 contrib/security_plugin/gs_policy_logical_tree.cpp mode change 100644 => 100755 contrib/security_plugin/gs_policy_logical_tree.h mode change 100644 => 100755 contrib/security_plugin/gs_policy_object_types.cpp mode change 100644 => 100755 contrib/security_plugin/gs_policy_object_types.h mode change 100644 => 100755 contrib/security_plugin/gs_policy_plugin.cpp mode change 100644 => 100755 contrib/security_plugin/gs_policy_plugin.h mode change 100644 => 100755 contrib/security_plugin/privileges_audit.cpp mode change 100644 => 100755 contrib/security_plugin/privileges_audit.h mode change 100644 => 100755 contrib/unaccent/unaccent.cpp mode change 100644 => 100755 contrib/xml2/xpath.cpp mode change 100644 => 100755 doc/src/sgml/ref/alter_audit_policy.sgmlin mode change 100644 => 100755 doc/src/sgml/ref/alter_role.sgmlin mode change 100644 => 100755 doc/src/sgml/ref/alter_user.sgmlin mode change 100644 => 100755 doc/src/sgml/ref/create_audit_policy.sgmlin mode change 100644 => 100755 doc/src/sgml/ref/drop_audit_policy.sgmlin mode change 100755 => 100644 docker/dockerfiles/1.0.0/dockerfile_arm mode change 100755 => 100644 docker/dockerfiles/1.0.0/entrypoint.sh mode change 100755 => 100644 docker/dockerfiles/1.0.1/entrypoint.sh mode change 100755 => 100644 docker/dockerfiles/buildDockerImage.sh mode change 100755 => 100644 docker/dockerfiles/create_master_slave.sh create mode 100644 escan.txt mode change 100755 => 100644 src/bin/gs_cgroup/cgconf.cpp mode change 100755 => 100644 src/bin/gs_cgroup/cgexec.cpp mode change 100755 => 100644 src/bin/gs_cgroup/cgptree.cpp mode change 100755 => 100644 src/bin/gs_cgroup/cgutil.h mode change 100755 => 100644 src/bin/gs_cgroup/main.cpp mode change 100755 => 100644 src/bin/gs_guc/cluster_config.cpp mode change 100644 => 100755 src/bin/gs_guc/cluster_guc.conf mode change 100755 => 100644 src/bin/gs_guc/cluster_guc.cpp mode change 100755 => 100644 src/bin/gs_guc/crypt.cpp mode change 100755 => 100644 src/bin/gs_guc/crypt.h mode change 100755 => 100644 src/bin/gs_guc/encrypt.cpp mode change 100755 => 100644 src/bin/gs_guc/pg_hba.cpp create mode 100644 src/bin/gs_ktool/Makefile create mode 100644 src/bin/gs_ktool/gs_ktool_conf.ini create mode 100644 src/bin/gs_ktool/kt_common.cpp create mode 100644 src/bin/gs_ktool/kt_common.h create mode 100644 src/bin/gs_ktool/kt_interface.cpp create mode 100644 src/bin/gs_ktool/kt_key_manage.cpp create mode 100644 src/bin/gs_ktool/kt_key_manage.h create mode 100644 src/bin/gs_ktool/kt_kmc_callback.cpp create mode 100644 src/bin/gs_ktool/kt_kmc_callback.h create mode 100644 src/bin/gs_ktool/kt_log_manage.cpp create mode 100644 src/bin/gs_ktool/kt_log_manage.h create mode 100644 src/bin/gs_ktool/kt_main.cpp mode change 100755 => 100644 src/bin/gs_log/gs_log_dump.cpp mode change 100755 => 100644 src/bin/gs_plan_simulator/dependences/clean_temp.sql mode change 100755 => 100644 src/bin/gs_plan_simulator/dependences/restore_temp.sql mode change 100755 => 100644 src/bin/gs_plan_simulator/dependences/store_pg_class_stats.sql mode change 100755 => 100644 src/bin/gs_plan_simulator/dependences/store_pg_statistic_ext_stats.sql mode change 100755 => 100644 src/bin/gs_plan_simulator/dependences/store_pg_statistic_stats.sql mode change 100755 => 100644 src/bin/gs_plan_simulator/dependences/store_pgxc_class.sql mode change 100755 => 100644 src/bin/gsqlerr/errmsg.txt mode change 100755 => 100644 src/bin/gsqlerr/errmsg_st.h mode change 100755 => 100644 src/bin/gsqlerr/gsqlerr.cpp mode change 100755 => 100644 src/bin/gsqlerr/scanEreport.cpp mode change 100644 => 100755 src/bin/initdb/initdb.cpp_for_llt mode change 100755 => 100644 src/bin/pg_basebackup/pg_receivexlog.cpp mode change 100755 => 100644 src/bin/pg_ctl/backup.cpp mode change 100755 => 100644 src/bin/pg_ctl/pg_build.cpp mode change 100755 => 100644 src/bin/pg_ctl/pg_build.h mode change 100755 => 100644 src/bin/pg_ctl/receivelog.cpp mode change 100755 => 100644 src/bin/pg_ctl/receivelog.h mode change 100755 => 100644 src/bin/pg_ctl/streamutil.cpp mode change 100755 => 100644 src/bin/pg_ctl/streamutil.h mode change 100755 => 100644 src/bin/pg_dump/dumputils.cpp mode change 100755 => 100644 src/bin/pg_dump/dumputils.h mode change 100755 => 100644 src/bin/pg_dump/pg_backup.h mode change 100755 => 100644 src/bin/pg_dump/pg_backup_archiver.cpp mode change 100755 => 100644 src/bin/pg_dump/pg_backup_db.cpp mode change 100755 => 100644 src/bin/pg_dump/pg_backup_directory.cpp mode change 100755 => 100644 src/bin/pg_dump/pg_backup_tar.cpp mode change 100644 => 100755 src/bin/pg_probackup/Makefile mode change 100755 => 100644 src/bin/pg_rewind/datapagemap.cpp mode change 100755 => 100644 src/bin/pg_rewind/datapagemap.h mode change 100755 => 100644 src/bin/pg_rewind/fetch.cpp mode change 100755 => 100644 src/bin/pg_rewind/fetch.h mode change 100755 => 100644 src/bin/pg_rewind/file_ops.cpp mode change 100755 => 100644 src/bin/pg_rewind/file_ops.h mode change 100755 => 100644 src/bin/pg_rewind/filemap.h mode change 100755 => 100644 src/bin/pg_rewind/logging.cpp mode change 100755 => 100644 src/bin/pg_rewind/logging.h mode change 100755 => 100644 src/bin/pg_rewind/parsexlog.cpp mode change 100755 => 100644 src/bin/pg_rewind/pg_rewind.cpp mode change 100755 => 100644 src/bin/pg_rewind/pg_rewind.h mode change 100755 => 100644 src/bin/pg_upgrade/pg_format_cu.cpp mode change 100755 => 100644 src/bin/pgxc_clean/pgxc_clean.cpp mode change 100755 => 100644 src/bin/pgxc_clean/pgxc_clean.h mode change 100755 => 100644 src/bin/psql/describe.cpp mode change 100755 => 100644 src/bin/psql/help.cpp mode change 100755 => 100644 src/bin/psql/mbprint.cpp mode change 100755 => 100644 src/bin/psql/mbprint.h mode change 100755 => 100644 src/bin/psql/print.cpp mode change 100755 => 100644 src/bin/psql/startup.cpp mode change 100755 => 100644 src/common/backend/catalog/aclchk.cpp mode change 100644 => 100755 src/common/backend/catalog/builtin_funcs.ini mode change 100755 => 100644 src/common/backend/catalog/catalog.cpp mode change 100755 => 100644 src/common/backend/catalog/cstore_ctlg.cpp mode change 100755 => 100644 src/common/backend/catalog/dependency.cpp mode change 100755 => 100644 src/common/backend/catalog/dfsstore_ctlg.cpp mode change 100755 => 100644 src/common/backend/catalog/heap.cpp mode change 100755 => 100644 src/common/backend/catalog/index.cpp mode change 100755 => 100644 src/common/backend/catalog/namespace.cpp mode change 100755 => 100644 src/common/backend/catalog/objectaddress.cpp mode change 100755 => 100644 src/common/backend/catalog/performance_views.sql mode change 100755 => 100644 src/common/backend/catalog/pg_aggregate.cpp mode change 100755 => 100644 src/common/backend/catalog/pg_cast_oid.txt mode change 100755 => 100644 src/common/backend/catalog/pg_collation.cpp mode change 100755 => 100644 src/common/backend/catalog/pg_constraint.cpp mode change 100755 => 100644 src/common/backend/catalog/pg_conversion.cpp mode change 100755 => 100644 src/common/backend/catalog/pg_depend.cpp mode change 100755 => 100644 src/common/backend/catalog/pg_enum.cpp mode change 100755 => 100644 src/common/backend/catalog/pg_namespace.cpp mode change 100755 => 100644 src/common/backend/catalog/pg_operator.cpp mode change 100755 => 100644 src/common/backend/catalog/pg_shdepend.cpp mode change 100755 => 100644 src/common/backend/catalog/pg_type.cpp mode change 100755 => 100644 src/common/backend/catalog/pgxc_class.cpp mode change 100755 => 100644 src/common/backend/catalog/toasting.cpp mode change 100755 => 100644 src/common/backend/lib/dllist.cpp mode change 100755 => 100644 src/common/backend/lib/stringinfo.cpp mode change 100755 => 100644 src/common/backend/libpq/auth.cpp mode change 100755 => 100644 src/common/backend/libpq/be-fsstubs.cpp mode change 100755 => 100644 src/common/backend/libpq/crypt.cpp mode change 100755 => 100644 src/common/backend/libpq/hba.cpp mode change 100755 => 100644 src/common/backend/libpq/ip.cpp mode change 100755 => 100644 src/common/backend/libpq/md5.cpp mode change 100755 => 100644 src/common/backend/libpq/pqsignal.cpp mode change 100755 => 100644 src/common/backend/nodes/bitmapset.cpp mode change 100755 => 100644 src/common/backend/nodes/equalfuncs.cpp mode change 100755 => 100644 src/common/backend/nodes/list.cpp mode change 100755 => 100644 src/common/backend/nodes/makefuncs.cpp mode change 100755 => 100644 src/common/backend/nodes/nodeFuncs.cpp mode change 100755 => 100644 src/common/backend/nodes/nodes.cpp mode change 100755 => 100644 src/common/backend/nodes/outfuncs.cpp mode change 100755 => 100644 src/common/backend/nodes/print.cpp mode change 100755 => 100644 src/common/backend/nodes/read.cpp mode change 100755 => 100644 src/common/backend/nodes/tidbitmap.cpp mode change 100755 => 100644 src/common/backend/parser/parse_agg.cpp mode change 100755 => 100644 src/common/backend/parser/parse_clause.cpp mode change 100755 => 100644 src/common/backend/parser/parse_coerce.cpp mode change 100755 => 100644 src/common/backend/parser/parse_collate.cpp mode change 100755 => 100644 src/common/backend/parser/parse_cte.cpp mode change 100755 => 100644 src/common/backend/parser/parse_func.cpp mode change 100755 => 100644 src/common/backend/parser/parse_node.cpp mode change 100755 => 100644 src/common/backend/parser/parse_oper.cpp mode change 100755 => 100644 src/common/backend/parser/parse_param.cpp mode change 100755 => 100644 src/common/backend/parser/parse_relation.cpp mode change 100755 => 100644 src/common/backend/parser/parse_target.cpp mode change 100755 => 100644 src/common/backend/parser/parse_type.cpp mode change 100755 => 100644 src/common/backend/parser/parser.cpp mode change 100755 => 100644 src/common/backend/pgxc_single/nodemgr/nodemgr.cpp mode change 100755 => 100644 src/common/backend/pgxc_single/pool/execRemote.cpp mode change 100644 => 100755 src/common/backend/port/aix/mkldexport.sh mode change 100755 => 100644 src/common/backend/port/dynloader/win32.cpp mode change 100755 => 100644 src/common/backend/port/ipc_test.cpp mode change 100755 => 100644 src/common/backend/port/sysv_sema.cpp mode change 100755 => 100644 src/common/backend/port/sysv_shmem.cpp mode change 100755 => 100644 src/common/backend/port/win32/socket.cpp mode change 100755 => 100644 src/common/backend/regex/regc_color.cpp mode change 100755 => 100644 src/common/backend/regex/regc_cvec.cpp mode change 100755 => 100644 src/common/backend/regex/regc_lex.cpp mode change 100755 => 100644 src/common/backend/regex/regc_locale.cpp mode change 100755 => 100644 src/common/backend/regex/regc_nfa.cpp mode change 100755 => 100644 src/common/backend/regex/regc_pg_locale.cpp mode change 100755 => 100644 src/common/backend/regex/regcomp.cpp mode change 100755 => 100644 src/common/backend/regex/rege_dfa.cpp mode change 100755 => 100644 src/common/backend/regex/regerror.cpp mode change 100755 => 100644 src/common/backend/regex/regexec.cpp mode change 100755 => 100644 src/common/backend/regex/regprefix.cpp mode change 100755 => 100644 src/common/backend/snowball/dict_snowball.cpp mode change 100755 => 100644 src/common/backend/snowball/libstemmer/stem_ISO_8859_1_danish.cpp mode change 100755 => 100644 src/common/backend/snowball/libstemmer/stem_ISO_8859_1_dutch.cpp mode change 100755 => 100644 src/common/backend/snowball/libstemmer/stem_ISO_8859_1_english.cpp mode change 100755 => 100644 src/common/backend/snowball/libstemmer/stem_ISO_8859_1_finnish.cpp mode change 100755 => 100644 src/common/backend/snowball/libstemmer/stem_ISO_8859_1_french.cpp mode change 100755 => 100644 src/common/backend/snowball/libstemmer/stem_ISO_8859_1_german.cpp mode change 100755 => 100644 src/common/backend/snowball/libstemmer/stem_ISO_8859_1_hungarian.cpp mode change 100755 => 100644 src/common/backend/snowball/libstemmer/stem_ISO_8859_1_italian.cpp mode change 100755 => 100644 src/common/backend/snowball/libstemmer/stem_ISO_8859_1_norwegian.cpp mode change 100755 => 100644 src/common/backend/snowball/libstemmer/stem_ISO_8859_1_porter.cpp mode change 100755 => 100644 src/common/backend/snowball/libstemmer/stem_ISO_8859_1_portuguese.cpp mode change 100755 => 100644 src/common/backend/snowball/libstemmer/stem_ISO_8859_1_spanish.cpp mode change 100755 => 100644 src/common/backend/snowball/libstemmer/stem_ISO_8859_1_swedish.cpp mode change 100755 => 100644 src/common/backend/snowball/libstemmer/stem_ISO_8859_2_romanian.cpp mode change 100755 => 100644 src/common/backend/snowball/libstemmer/stem_KOI8_R_russian.cpp mode change 100755 => 100644 src/common/backend/snowball/libstemmer/stem_UTF_8_danish.cpp mode change 100755 => 100644 src/common/backend/snowball/libstemmer/stem_UTF_8_dutch.cpp mode change 100755 => 100644 src/common/backend/snowball/libstemmer/stem_UTF_8_english.cpp mode change 100755 => 100644 src/common/backend/snowball/libstemmer/stem_UTF_8_finnish.cpp mode change 100755 => 100644 src/common/backend/snowball/libstemmer/stem_UTF_8_french.cpp mode change 100755 => 100644 src/common/backend/snowball/libstemmer/stem_UTF_8_german.cpp mode change 100755 => 100644 src/common/backend/snowball/libstemmer/stem_UTF_8_hungarian.cpp mode change 100755 => 100644 src/common/backend/snowball/libstemmer/stem_UTF_8_italian.cpp mode change 100755 => 100644 src/common/backend/snowball/libstemmer/stem_UTF_8_norwegian.cpp mode change 100755 => 100644 src/common/backend/snowball/libstemmer/stem_UTF_8_porter.cpp mode change 100755 => 100644 src/common/backend/snowball/libstemmer/stem_UTF_8_portuguese.cpp mode change 100755 => 100644 src/common/backend/snowball/libstemmer/stem_UTF_8_romanian.cpp mode change 100755 => 100644 src/common/backend/snowball/libstemmer/stem_UTF_8_russian.cpp mode change 100755 => 100644 src/common/backend/snowball/libstemmer/stem_UTF_8_spanish.cpp mode change 100755 => 100644 src/common/backend/snowball/libstemmer/stem_UTF_8_swedish.cpp mode change 100755 => 100644 src/common/backend/snowball/libstemmer/stem_UTF_8_turkish.cpp mode change 100755 => 100644 src/common/backend/snowball/libstemmer/utilities.cpp mode change 100755 => 100644 src/common/backend/tsearch/dict.cpp mode change 100755 => 100644 src/common/backend/tsearch/dict_ispell.cpp mode change 100755 => 100644 src/common/backend/tsearch/dict_simple.cpp mode change 100755 => 100644 src/common/backend/tsearch/dict_synonym.cpp mode change 100755 => 100644 src/common/backend/tsearch/dict_thesaurus.cpp mode change 100755 => 100644 src/common/backend/tsearch/regis.cpp mode change 100755 => 100644 src/common/backend/tsearch/spell.cpp mode change 100755 => 100644 src/common/backend/tsearch/to_tsany.cpp mode change 100755 => 100644 src/common/backend/tsearch/ts_locale.cpp mode change 100755 => 100644 src/common/backend/tsearch/ts_parse.cpp mode change 100755 => 100644 src/common/backend/tsearch/ts_selfuncs.cpp mode change 100755 => 100644 src/common/backend/tsearch/ts_typanalyze.cpp mode change 100755 => 100644 src/common/backend/tsearch/ts_utils.cpp mode change 100755 => 100644 src/common/backend/tsearch/wparser.cpp mode change 100755 => 100644 src/common/backend/utils/Makefile mode change 100755 => 100644 src/common/backend/utils/adt/acl.cpp mode change 100755 => 100644 src/common/backend/utils/adt/array_selfuncs.cpp mode change 100755 => 100644 src/common/backend/utils/adt/array_typanalyze.cpp mode change 100755 => 100644 src/common/backend/utils/adt/array_userfuncs.cpp mode change 100755 => 100644 src/common/backend/utils/adt/arrayfuncs.cpp mode change 100755 => 100644 src/common/backend/utils/adt/arrayutils.cpp mode change 100755 => 100644 src/common/backend/utils/adt/ascii.cpp mode change 100755 => 100644 src/common/backend/utils/adt/bool.cpp mode change 100755 => 100644 src/common/backend/utils/adt/cash.cpp mode change 100755 => 100644 src/common/backend/utils/adt/date.cpp mode change 100755 => 100644 src/common/backend/utils/adt/datetime.cpp mode change 100755 => 100644 src/common/backend/utils/adt/datum.cpp mode change 100755 => 100644 src/common/backend/utils/adt/dbsize.cpp mode change 100755 => 100644 src/common/backend/utils/adt/domains.cpp mode change 100755 => 100644 src/common/backend/utils/adt/encode.cpp mode change 100755 => 100644 src/common/backend/utils/adt/enum.cpp mode change 100755 => 100644 src/common/backend/utils/adt/float.cpp mode change 100755 => 100644 src/common/backend/utils/adt/format_type.cpp mode change 100755 => 100644 src/common/backend/utils/adt/formatting.cpp mode change 100755 => 100644 src/common/backend/utils/adt/genfile.cpp mode change 100755 => 100644 src/common/backend/utils/adt/geo_ops.cpp mode change 100755 => 100644 src/common/backend/utils/adt/inet_cidr_ntop.cpp mode change 100755 => 100644 src/common/backend/utils/adt/inet_net_pton.cpp mode change 100755 => 100644 src/common/backend/utils/adt/int.cpp mode change 100755 => 100644 src/common/backend/utils/adt/int8.cpp mode change 100755 => 100644 src/common/backend/utils/adt/json.cpp mode change 100755 => 100644 src/common/backend/utils/adt/like.cpp mode change 100755 => 100644 src/common/backend/utils/adt/like_match.cpp mode change 100755 => 100644 src/common/backend/utils/adt/lockfuncs.cpp mode change 100755 => 100644 src/common/backend/utils/adt/mac.cpp mode change 100755 => 100644 src/common/backend/utils/adt/misc.cpp mode change 100755 => 100644 src/common/backend/utils/adt/name.cpp mode change 100755 => 100644 src/common/backend/utils/adt/network.cpp mode change 100755 => 100644 src/common/backend/utils/adt/numutils.cpp mode change 100755 => 100644 src/common/backend/utils/adt/oid.cpp mode change 100755 => 100644 src/common/backend/utils/adt/pg_locale.cpp mode change 100755 => 100644 src/common/backend/utils/adt/pg_lzcompress.cpp mode change 100755 => 100644 src/common/backend/utils/adt/pseudotypes.cpp mode change 100755 => 100644 src/common/backend/utils/adt/rangetypes.cpp mode change 100755 => 100644 src/common/backend/utils/adt/rangetypes_gist.cpp mode change 100755 => 100644 src/common/backend/utils/adt/regexp.cpp mode change 100755 => 100644 src/common/backend/utils/adt/regproc.cpp mode change 100755 => 100644 src/common/backend/utils/adt/ri_triggers.cpp mode change 100755 => 100644 src/common/backend/utils/adt/rowtypes.cpp mode change 100755 => 100644 src/common/backend/utils/adt/tid.cpp mode change 100755 => 100644 src/common/backend/utils/adt/timestamp.cpp mode change 100755 => 100644 src/common/backend/utils/adt/tsginidx.cpp mode change 100755 => 100644 src/common/backend/utils/adt/tsgistidx.cpp mode change 100755 => 100644 src/common/backend/utils/adt/tsquery.cpp mode change 100755 => 100644 src/common/backend/utils/adt/tsquery_cleanup.cpp mode change 100755 => 100644 src/common/backend/utils/adt/tsquery_gist.cpp mode change 100755 => 100644 src/common/backend/utils/adt/tsquery_op.cpp mode change 100755 => 100644 src/common/backend/utils/adt/tsquery_rewrite.cpp mode change 100755 => 100644 src/common/backend/utils/adt/tsquery_util.cpp mode change 100755 => 100644 src/common/backend/utils/adt/tsrank.cpp mode change 100755 => 100644 src/common/backend/utils/adt/tsvector.cpp mode change 100755 => 100644 src/common/backend/utils/adt/tsvector_op.cpp mode change 100755 => 100644 src/common/backend/utils/adt/tsvector_parser.cpp mode change 100755 => 100644 src/common/backend/utils/adt/txid.cpp mode change 100755 => 100644 src/common/backend/utils/adt/uuid.cpp mode change 100755 => 100644 src/common/backend/utils/adt/varbit.cpp mode change 100755 => 100644 src/common/backend/utils/adt/varchar.cpp mode change 100755 => 100644 src/common/backend/utils/adt/xid.cpp mode change 100755 => 100644 src/common/backend/utils/adt/xml.cpp mode change 100755 => 100644 src/common/backend/utils/cache/attoptcache.cpp mode change 100755 => 100644 src/common/backend/utils/cache/inval.cpp mode change 100755 => 100644 src/common/backend/utils/cache/partcache.cpp mode change 100755 => 100644 src/common/backend/utils/cache/spccache.cpp mode change 100755 => 100644 src/common/backend/utils/cache/ts_cache.cpp mode change 100755 => 100644 src/common/backend/utils/cache/typcache.cpp mode change 100755 => 100644 src/common/backend/utils/fmgr/funcapi.cpp mode change 100755 => 100644 src/common/backend/utils/hash/dynahash.cpp mode change 100755 => 100644 src/common/backend/utils/init/globals.cpp mode change 100755 => 100644 src/common/backend/utils/init/miscinit.cpp create mode 100644 src/common/backend/utils/mb/conversion_procs/conversion_create.sql.in mode change 100755 => 100644 src/common/backend/utils/mb/mbutils.cpp mode change 100755 => 100644 src/common/backend/utils/mb/wchar.cpp mode change 100755 => 100644 src/common/backend/utils/misc/pg_rusage.cpp mode change 100755 => 100644 src/common/backend/utils/misc/ps_status.cpp mode change 100755 => 100644 src/common/backend/utils/misc/superuser.cpp mode change 100755 => 100644 src/common/backend/utils/mmgr/mcxt.cpp mode change 100755 => 100644 src/common/backend/utils/mmgr/portalmem.cpp mode change 100755 => 100644 src/common/backend/utils/sort/logtape.cpp mode change 100755 => 100644 src/common/backend/utils/sort/tuplestore.cpp mode change 100755 => 100644 src/common/backend/utils/time/combocid.cpp mode change 100755 => 100644 src/common/backend/utils/time/snapmgr.cpp mode change 100755 => 100644 src/common/interfaces/ecpg/ecpglib/pg_type.h mode change 100755 => 100644 src/common/interfaces/ecpg/pgtypeslib/datetime.cpp mode change 100755 => 100644 src/common/interfaces/ecpg/pgtypeslib/dt.h mode change 100755 => 100644 src/common/interfaces/ecpg/pgtypeslib/dt_common.cpp mode change 100755 => 100644 src/common/interfaces/ecpg/pgtypeslib/interval.cpp mode change 100755 => 100644 src/common/interfaces/ecpg/pgtypeslib/timestamp.cpp mode change 100755 => 100644 src/common/interfaces/ecpg/test/expected/compat_informix-test_informix2.cpp mode change 100644 => 100755 src/common/interfaces/libpq/Makefile mode change 100644 => 100755 src/common/interfaces/libpq/client_logic_cache/Makefile mode change 100644 => 100755 src/common/interfaces/libpq/client_logic_cache/createTypesMap.sh mode change 100644 => 100755 src/common/interfaces/libpq/client_logic_common/Makefile rename src/common/interfaces/libpq/client_logic_fmt/{float.h => gs_float.h} (100%) mode change 100644 => 100755 src/common/interfaces/libpq/client_logic_hooks/Makefile mode change 100644 => 100755 src/common/interfaces/libpq/client_logic_processor/Makefile mode change 100755 => 100644 src/common/interfaces/libpq/fe-auth.cpp mode change 100755 => 100644 src/common/interfaces/libpq/fe-exec.cpp mode change 100755 => 100644 src/common/interfaces/libpq/fe-lobj.cpp mode change 100755 => 100644 src/common/interfaces/libpq/fe-protocol2.cpp mode change 100755 => 100644 src/common/interfaces/libpq/fe-protocol3.cpp mode change 100755 => 100644 src/common/interfaces/libpq/fe-secure.cpp mode change 100644 => 100755 src/common/interfaces/libpq/frontend_parser/gram.y mode change 100755 => 100644 src/common/interfaces/libpq/libpq-events.cpp mode change 100755 => 100644 src/common/interfaces/libpq/test/uri-regress.cpp mode change 100755 => 100644 src/common/interfaces/libpq/win32.cpp mode change 100755 => 100644 src/common/pl/plpgsql/src/pl_comp.cpp mode change 100755 => 100644 src/common/pl/plpgsql/src/pl_exec.cpp mode change 100755 => 100644 src/common/pl/plpgsql/src/pl_funcs.cpp mode change 100755 => 100644 src/common/pl/plpgsql/src/pl_scanner.cpp mode change 100755 => 100644 src/common/pl/plpgsql/src/plpgsql.h mode change 100755 => 100644 src/common/port/chklocale.cpp mode change 100755 => 100644 src/common/port/dirent.cpp mode change 100755 => 100644 src/common/port/exec.cpp mode change 100755 => 100644 src/common/port/getaddrinfo.cpp mode change 100755 => 100644 src/common/port/gethostname.cpp mode change 100755 => 100644 src/common/port/gs_readdir.cpp mode change 100755 => 100644 src/common/port/gs_thread.cpp mode change 100755 => 100644 src/common/port/inet_net_ntop.cpp mode change 100755 => 100644 src/common/port/path.cpp mode change 100755 => 100644 src/common/port/pgmkdirp.cpp mode change 100755 => 100644 src/common/port/pgsleep.cpp mode change 100755 => 100644 src/common/port/pgstrcasecmp.cpp mode change 100755 => 100644 src/common/port/random.cpp mode change 100755 => 100644 src/common/port/snprintf.cpp mode change 100755 => 100644 src/common/port/sprompt.cpp mode change 100755 => 100644 src/common/port/thread.cpp mode change 100755 => 100644 src/common/port/unsetenv.cpp mode change 100755 => 100644 src/common/timezone/ialloc.cpp mode change 100755 => 100644 src/common/timezone/localtime.cpp mode change 100755 => 100644 src/common/timezone/pgtz.cpp mode change 100755 => 100644 src/common/timezone/scheck.cpp mode change 100755 => 100644 src/common/timezone/strftime.cpp mode change 100755 => 100644 src/common/tutorial/complex.cpp mode change 100755 => 100644 src/common/tutorial/funcs_new.cpp mode change 100644 => 100755 src/gausskernel/Makefile_for_llt mode change 100755 => 100644 src/gausskernel/bootstrap/bootstrap.cpp mode change 100755 => 100644 src/gausskernel/cbb/communication/libcomm.cpp mode change 100755 => 100644 src/gausskernel/cbb/grpc/rpc_server.cpp mode change 100644 => 100755 src/gausskernel/cbb/instruments/ash/Makefile mode change 100755 => 100644 src/gausskernel/cbb/workload/cpwlm.cpp mode change 100755 => 100644 src/gausskernel/cbb/workload/spmgr.cpp mode change 100755 => 100644 src/gausskernel/dbmind/tools/predictor/python/certs.py mode change 100755 => 100644 src/gausskernel/dbmind/tools/predictor/python/model.py mode change 100755 => 100644 src/gausskernel/dbmind/tools/predictor/python/run.py mode change 100755 => 100644 src/gausskernel/dbmind/tools/predictor/python/settings.py rename src/gausskernel/dbmind/tools/xtuner/{Readme.md => README.md} (100%) rename src/gausskernel/dbmind/tools/xtuner/tuner/benchmark/{Readme.md => README.md} (100%) mode change 100755 => 100644 src/gausskernel/optimizer/commands/alter.cpp mode change 100755 => 100644 src/gausskernel/optimizer/commands/analyze.cpp mode change 100755 => 100644 src/gausskernel/optimizer/commands/async.cpp mode change 100755 => 100644 src/gausskernel/optimizer/commands/cluster.cpp mode change 100755 => 100644 src/gausskernel/optimizer/commands/conversioncmds.cpp mode change 100755 => 100644 src/gausskernel/optimizer/commands/createas.cpp mode change 100755 => 100644 src/gausskernel/optimizer/commands/datasourcecmds.cpp mode change 100755 => 100644 src/gausskernel/optimizer/commands/dbcommands.cpp mode change 100755 => 100644 src/gausskernel/optimizer/commands/define.cpp mode change 100755 => 100644 src/gausskernel/optimizer/commands/directory.cpp mode change 100755 => 100644 src/gausskernel/optimizer/commands/dropcmds.cpp mode change 100755 => 100644 src/gausskernel/optimizer/commands/explain.cpp mode change 100755 => 100644 src/gausskernel/optimizer/commands/extension.cpp mode change 100755 => 100644 src/gausskernel/optimizer/commands/foreigncmds.cpp mode change 100755 => 100644 src/gausskernel/optimizer/commands/formatter.cpp mode change 100755 => 100644 src/gausskernel/optimizer/commands/functioncmds.cpp mode change 100755 => 100644 src/gausskernel/optimizer/commands/gds_stream.cpp mode change 100755 => 100644 src/gausskernel/optimizer/commands/indexcmds.cpp mode change 100755 => 100644 src/gausskernel/optimizer/commands/lockcmds.cpp mode change 100755 => 100644 src/gausskernel/optimizer/commands/portalcmds.cpp mode change 100755 => 100644 src/gausskernel/optimizer/commands/prepare.cpp mode change 100755 => 100644 src/gausskernel/optimizer/commands/proclang.cpp mode change 100755 => 100644 src/gausskernel/optimizer/commands/schemacmds.cpp mode change 100755 => 100644 src/gausskernel/optimizer/commands/sec_rls_cmds.cpp mode change 100755 => 100644 src/gausskernel/optimizer/commands/sequence.cpp mode change 100755 => 100644 src/gausskernel/optimizer/commands/tsearchcmds.cpp mode change 100755 => 100644 src/gausskernel/optimizer/commands/typecmds.cpp mode change 100755 => 100644 src/gausskernel/optimizer/commands/user.cpp mode change 100755 => 100644 src/gausskernel/optimizer/commands/vacuum.cpp mode change 100755 => 100644 src/gausskernel/optimizer/commands/variable.cpp mode change 100755 => 100644 src/gausskernel/optimizer/commands/view.cpp mode change 100755 => 100644 src/gausskernel/optimizer/geqo/geqo_erx.cpp mode change 100755 => 100644 src/gausskernel/optimizer/geqo/geqo_eval.cpp mode change 100755 => 100644 src/gausskernel/optimizer/geqo/geqo_misc.cpp mode change 100755 => 100644 src/gausskernel/optimizer/path/allpaths.cpp mode change 100755 => 100644 src/gausskernel/optimizer/path/clausesel.cpp mode change 100755 => 100644 src/gausskernel/optimizer/path/equivclass.cpp mode change 100755 => 100644 src/gausskernel/optimizer/path/indxpath.cpp mode change 100755 => 100644 src/gausskernel/optimizer/path/joinpath.cpp mode change 100755 => 100644 src/gausskernel/optimizer/path/joinrels.cpp create mode 100644 src/gausskernel/optimizer/path/orindxpath.cpp mode change 100755 => 100644 src/gausskernel/optimizer/path/pathkeys.cpp mode change 100755 => 100644 src/gausskernel/optimizer/path/pgxcpath_single.cpp mode change 100755 => 100644 src/gausskernel/optimizer/path/streampath_single.cpp mode change 100755 => 100644 src/gausskernel/optimizer/path/tidpath.cpp mode change 100644 => 100755 src/gausskernel/optimizer/plan/Makefile mode change 100755 => 100644 src/gausskernel/optimizer/plan/dynsmp_single.cpp mode change 100755 => 100644 src/gausskernel/optimizer/plan/initsplan.cpp mode change 100755 => 100644 src/gausskernel/optimizer/plan/pgxcplan_single.cpp mode change 100755 => 100644 src/gausskernel/optimizer/plan/planagg.cpp mode change 100755 => 100644 src/gausskernel/optimizer/plan/planmain.cpp mode change 100755 => 100644 src/gausskernel/optimizer/plan/planrecursive_single.cpp mode change 100755 => 100644 src/gausskernel/optimizer/plan/planrewrite.cpp mode change 100755 => 100644 src/gausskernel/optimizer/plan/setrefs.cpp mode change 100755 => 100644 src/gausskernel/optimizer/plan/streamplan_single.cpp mode change 100755 => 100644 src/gausskernel/optimizer/plan/subselect.cpp mode change 100755 => 100644 src/gausskernel/optimizer/prep/prepjointree.cpp mode change 100755 => 100644 src/gausskernel/optimizer/prep/prepnonjointree.cpp mode change 100755 => 100644 src/gausskernel/optimizer/prep/prepqual.cpp mode change 100755 => 100644 src/gausskernel/optimizer/prep/prepunion.cpp mode change 100755 => 100644 src/gausskernel/optimizer/rewrite/rewriteDefine.cpp mode change 100755 => 100644 src/gausskernel/optimizer/rewrite/rewriteManip.cpp mode change 100755 => 100644 src/gausskernel/optimizer/rewrite/rewriteRemove.cpp mode change 100755 => 100644 src/gausskernel/optimizer/rewrite/rewriteSupport.cpp mode change 100644 => 100755 src/gausskernel/optimizer/util/Makefile mode change 100755 => 100644 src/gausskernel/optimizer/util/autoanalyzer.cpp mode change 100755 => 100644 src/gausskernel/optimizer/util/dataskew.cpp mode change 100755 => 100644 src/gausskernel/optimizer/util/joininfo.cpp mode change 100755 => 100644 src/gausskernel/optimizer/util/learn/comm.cpp mode change 100755 => 100644 src/gausskernel/optimizer/util/learn/encoding.cpp mode change 100755 => 100644 src/gausskernel/optimizer/util/learn/ml_model.cpp mode change 100755 => 100644 src/gausskernel/optimizer/util/learn/plan_tree_model.cpp mode change 100755 => 100644 src/gausskernel/optimizer/util/nodegroups.cpp mode change 100755 => 100644 src/gausskernel/optimizer/util/optcommon.cpp mode change 100755 => 100644 src/gausskernel/optimizer/util/optimizerdebug.cpp delete mode 100644 src/gausskernel/optimizer/util/orclauses.cpp mode change 100755 => 100644 src/gausskernel/optimizer/util/pathnode.cpp mode change 100755 => 100644 src/gausskernel/optimizer/util/placeholder.cpp mode change 100755 => 100644 src/gausskernel/optimizer/util/predtest.cpp mode change 100755 => 100644 src/gausskernel/optimizer/util/pruning.cpp mode change 100755 => 100644 src/gausskernel/optimizer/util/randomplan.cpp mode change 100755 => 100644 src/gausskernel/optimizer/util/relnode.cpp mode change 100755 => 100644 src/gausskernel/optimizer/util/restrictinfo.cpp mode change 100755 => 100644 src/gausskernel/optimizer/util/tlist.cpp mode change 100755 => 100644 src/gausskernel/optimizer/util/var.cpp mode change 100755 => 100644 src/gausskernel/process/datasource/datasource.cpp delete mode 100644 src/gausskernel/process/globalplancache/globalpreparestmt.cpp mode change 100755 => 100644 src/gausskernel/process/main/main.cpp mode change 100755 => 100644 src/gausskernel/process/postmaster/aiocompleter.cpp mode change 100755 => 100644 src/gausskernel/process/postmaster/alarmchecker.cpp mode change 100755 => 100644 src/gausskernel/process/postmaster/autovacuum.cpp mode change 100755 => 100644 src/gausskernel/process/postmaster/bgwriter.cpp mode change 100755 => 100644 src/gausskernel/process/postmaster/cbmwriter.cpp mode change 100755 => 100644 src/gausskernel/process/postmaster/checkpointer.cpp mode change 100755 => 100644 src/gausskernel/process/postmaster/fencedudf.cpp mode change 100755 => 100644 src/gausskernel/process/postmaster/gaussdb_version.cpp mode change 100755 => 100644 src/gausskernel/process/postmaster/lwlockmonitor.cpp mode change 100755 => 100644 src/gausskernel/process/postmaster/pgarch.cpp mode change 100755 => 100644 src/gausskernel/process/postmaster/pgaudit.cpp mode change 100755 => 100644 src/gausskernel/process/postmaster/postmaster.cpp mode change 100755 => 100644 src/gausskernel/process/postmaster/remoteservice.cpp mode change 100755 => 100644 src/gausskernel/process/postmaster/startup.cpp mode change 100755 => 100644 src/gausskernel/process/postmaster/syslogger.cpp mode change 100755 => 100644 src/gausskernel/process/postmaster/twophasecleaner.cpp mode change 100755 => 100644 src/gausskernel/process/tcop/dest.cpp mode change 100755 => 100644 src/gausskernel/process/tcop/fastpath.cpp mode change 100755 => 100644 src/gausskernel/process/tcop/postgres.cpp mode change 100755 => 100644 src/gausskernel/process/tcop/stmt_retry.cpp mode change 100755 => 100644 src/gausskernel/process/threadpool/knl_guc.cpp mode change 100755 => 100644 src/gausskernel/process/threadpool/knl_instance.cpp mode change 100755 => 100644 src/gausskernel/process/threadpool/knl_thread.cpp mode change 100755 => 100644 src/gausskernel/process/threadpool/threadpool_controler.cpp mode change 100755 => 100644 src/gausskernel/process/threadpool/threadpool_group.cpp mode change 100755 => 100644 src/gausskernel/process/threadpool/threadpool_listener.cpp mode change 100755 => 100644 src/gausskernel/process/threadpool/threadpool_scheduler.cpp mode change 100755 => 100644 src/gausskernel/runtime/codegen/codegenutil/bigintegercodegen.cpp mode change 100755 => 100644 src/gausskernel/runtime/codegen/codegenutil/boolcodegen.cpp mode change 100755 => 100644 src/gausskernel/runtime/codegen/codegenutil/codegendebuger.cpp mode change 100755 => 100644 src/gausskernel/runtime/codegen/codegenutil/datecodegen.cpp mode change 100755 => 100644 src/gausskernel/runtime/codegen/codegenutil/floatcodegen.cpp mode change 100755 => 100644 src/gausskernel/runtime/codegen/codegenutil/intcodegen.cpp mode change 100755 => 100644 src/gausskernel/runtime/codegen/codegenutil/numericcodegen.cpp mode change 100755 => 100644 src/gausskernel/runtime/codegen/codegenutil/timestampcodegen.cpp mode change 100755 => 100644 src/gausskernel/runtime/codegen/codegenutil/varcharcodegen.cpp mode change 100755 => 100644 src/gausskernel/runtime/codegen/codegenutil/varlenacodegen.cpp mode change 100755 => 100644 src/gausskernel/runtime/codegen/executor/foreignscancodegen.cpp mode change 100755 => 100644 src/gausskernel/runtime/codegen/gscodegen.cpp mode change 100755 => 100644 src/gausskernel/runtime/codegen/vecexecutor/vecexprcodegen.cpp mode change 100755 => 100644 src/gausskernel/runtime/codegen/vecexecutor/vechashaggcodegen.cpp mode change 100755 => 100644 src/gausskernel/runtime/codegen/vecexecutor/vechashjoincodegen.cpp mode change 100755 => 100644 src/gausskernel/runtime/codegen/vecexecutor/vecsortcodegen.cpp mode change 100755 => 100644 src/gausskernel/runtime/executor/execAmi.cpp mode change 100755 => 100644 src/gausskernel/runtime/executor/execClusterResize.cpp mode change 100755 => 100644 src/gausskernel/runtime/executor/execCurrent.cpp mode change 100755 => 100644 src/gausskernel/runtime/executor/execGrouping.cpp mode change 100755 => 100644 src/gausskernel/runtime/executor/execJunk.cpp mode change 100755 => 100644 src/gausskernel/runtime/executor/execMerge.cpp mode change 100755 => 100644 src/gausskernel/runtime/executor/execProcnode.cpp mode change 100755 => 100644 src/gausskernel/runtime/executor/execQual.cpp mode change 100755 => 100644 src/gausskernel/runtime/executor/execScan.cpp mode change 100755 => 100644 src/gausskernel/runtime/executor/execTuples.cpp mode change 100755 => 100644 src/gausskernel/runtime/executor/execUtils.cpp mode change 100755 => 100644 src/gausskernel/runtime/executor/functions.cpp mode change 100755 => 100644 src/gausskernel/runtime/executor/lightProxy.cpp mode change 100755 => 100644 src/gausskernel/runtime/executor/nodeAgg.cpp mode change 100755 => 100644 src/gausskernel/runtime/executor/nodeAppend.cpp mode change 100755 => 100644 src/gausskernel/runtime/executor/nodeBitmapAnd.cpp mode change 100755 => 100644 src/gausskernel/runtime/executor/nodeBitmapHeapscan.cpp mode change 100755 => 100644 src/gausskernel/runtime/executor/nodeBitmapIndexscan.cpp mode change 100755 => 100644 src/gausskernel/runtime/executor/nodeBitmapOr.cpp mode change 100755 => 100644 src/gausskernel/runtime/executor/nodeCtescan.cpp mode change 100755 => 100644 src/gausskernel/runtime/executor/nodeExtensible.cpp mode change 100755 => 100644 src/gausskernel/runtime/executor/nodeFunctionscan.cpp mode change 100755 => 100644 src/gausskernel/runtime/executor/nodeGroup.cpp mode change 100755 => 100644 src/gausskernel/runtime/executor/nodeHash.cpp mode change 100755 => 100644 src/gausskernel/runtime/executor/nodeHashjoin.cpp mode change 100755 => 100644 src/gausskernel/runtime/executor/nodeIndexonlyscan.cpp mode change 100755 => 100644 src/gausskernel/runtime/executor/nodeIndexscan.cpp mode change 100755 => 100644 src/gausskernel/runtime/executor/nodeLimit.cpp mode change 100755 => 100644 src/gausskernel/runtime/executor/nodeLockRows.cpp mode change 100755 => 100644 src/gausskernel/runtime/executor/nodeMaterial.cpp mode change 100755 => 100644 src/gausskernel/runtime/executor/nodeMergeAppend.cpp mode change 100755 => 100644 src/gausskernel/runtime/executor/nodeMergejoin.cpp mode change 100755 => 100644 src/gausskernel/runtime/executor/nodeNestloop.cpp mode change 100755 => 100644 src/gausskernel/runtime/executor/nodePartIterator.cpp mode change 100755 => 100644 src/gausskernel/runtime/executor/nodeRecursiveunion.cpp mode change 100755 => 100644 src/gausskernel/runtime/executor/nodeResult.cpp mode change 100755 => 100644 src/gausskernel/runtime/executor/nodeSamplescan.cpp mode change 100755 => 100644 src/gausskernel/runtime/executor/nodeSeqscan.cpp mode change 100755 => 100644 src/gausskernel/runtime/executor/nodeSetOp.cpp mode change 100755 => 100644 src/gausskernel/runtime/executor/nodeSort.cpp mode change 100755 => 100644 src/gausskernel/runtime/executor/nodeStub.cpp mode change 100755 => 100644 src/gausskernel/runtime/executor/nodeSubplan.cpp mode change 100755 => 100644 src/gausskernel/runtime/executor/nodeSubqueryscan.cpp mode change 100755 => 100644 src/gausskernel/runtime/executor/nodeTidscan.cpp mode change 100755 => 100644 src/gausskernel/runtime/executor/nodeUnique.cpp mode change 100755 => 100644 src/gausskernel/runtime/executor/nodeValuesscan.cpp mode change 100755 => 100644 src/gausskernel/runtime/executor/nodeWindowAgg.cpp mode change 100755 => 100644 src/gausskernel/runtime/executor/nodeWorktablescan.cpp mode change 100755 => 100644 src/gausskernel/runtime/executor/opfusion_util.cpp mode change 100755 => 100644 src/gausskernel/runtime/executor/spi.cpp mode change 100755 => 100644 src/gausskernel/runtime/executor/tstoreReceiver.cpp mode change 100755 => 100644 src/gausskernel/runtime/vecexecutor/vecexecutor.cpp mode change 100755 => 100644 src/gausskernel/runtime/vecexecutor/vecexpression.cpp mode change 100755 => 100644 src/gausskernel/runtime/vecexecutor/vecfuncache.cpp mode change 100755 => 100644 src/gausskernel/runtime/vecexecutor/vecnode/dfsscan.cpp mode change 100755 => 100644 src/gausskernel/runtime/vecexecutor/vecnode/vecagg.cpp mode change 100755 => 100644 src/gausskernel/runtime/vecexecutor/vecnode/vecconstraints.cpp mode change 100755 => 100644 src/gausskernel/runtime/vecexecutor/vecnode/veccstore.cpp mode change 100755 => 100644 src/gausskernel/runtime/vecexecutor/vecnode/veccstoreindexand.cpp mode change 100755 => 100644 src/gausskernel/runtime/vecexecutor/vecnode/veccstoreindexctidscan.cpp mode change 100755 => 100644 src/gausskernel/runtime/vecexecutor/vecnode/veccstoreindexheapscan.cpp mode change 100755 => 100644 src/gausskernel/runtime/vecexecutor/vecnode/veccstoreindexor.cpp mode change 100755 => 100644 src/gausskernel/runtime/vecexecutor/vecnode/veccstoreindexscan.cpp mode change 100755 => 100644 src/gausskernel/runtime/vecexecutor/vecnode/vecdfsindexscan.cpp mode change 100755 => 100644 src/gausskernel/runtime/vecexecutor/vecnode/vecforeignscan.cpp mode change 100755 => 100644 src/gausskernel/runtime/vecexecutor/vecnode/vecgroup.cpp mode change 100755 => 100644 src/gausskernel/runtime/vecexecutor/vecnode/vechashagg.cpp mode change 100755 => 100644 src/gausskernel/runtime/vecexecutor/vecnode/vechashjoin.cpp mode change 100755 => 100644 src/gausskernel/runtime/vecexecutor/vecnode/vechashtable.cpp mode change 100755 => 100644 src/gausskernel/runtime/vecexecutor/vecnode/veclimit.cpp mode change 100755 => 100644 src/gausskernel/runtime/vecexecutor/vecnode/vecmaterial.cpp mode change 100755 => 100644 src/gausskernel/runtime/vecexecutor/vecnode/vecmergeinto.cpp mode change 100755 => 100644 src/gausskernel/runtime/vecexecutor/vecnode/vecmergejoin.cpp mode change 100755 => 100644 src/gausskernel/runtime/vecexecutor/vecnode/vecmodifytable.cpp mode change 100755 => 100644 src/gausskernel/runtime/vecexecutor/vecnode/vecnestloop.cpp mode change 100755 => 100644 src/gausskernel/runtime/vecexecutor/vecnode/vecpartiterator.cpp mode change 100755 => 100644 src/gausskernel/runtime/vecexecutor/vecnode/vecplainagg.cpp mode change 100755 => 100644 src/gausskernel/runtime/vecexecutor/vecnode/vecremotequery.cpp mode change 100755 => 100644 src/gausskernel/runtime/vecexecutor/vecnode/vecrescan.cpp mode change 100755 => 100644 src/gausskernel/runtime/vecexecutor/vecnode/vecresult.cpp mode change 100755 => 100644 src/gausskernel/runtime/vecexecutor/vecnode/vecrowtovector.cpp mode change 100755 => 100644 src/gausskernel/runtime/vecexecutor/vecnode/vecscan.cpp mode change 100755 => 100644 src/gausskernel/runtime/vecexecutor/vecnode/vecsetop.cpp mode change 100755 => 100644 src/gausskernel/runtime/vecexecutor/vecnode/vecsort.cpp mode change 100755 => 100644 src/gausskernel/runtime/vecexecutor/vecnode/vecsortagg.cpp mode change 100755 => 100644 src/gausskernel/runtime/vecexecutor/vecnode/vecstore.cpp mode change 100755 => 100644 src/gausskernel/runtime/vecexecutor/vecnode/vecstream.cpp mode change 100755 => 100644 src/gausskernel/runtime/vecexecutor/vecnode/vecsubplan.cpp mode change 100755 => 100644 src/gausskernel/runtime/vecexecutor/vecnode/vecsubqueryscan.cpp mode change 100755 => 100644 src/gausskernel/runtime/vecexecutor/vecnode/vectortorow.cpp mode change 100755 => 100644 src/gausskernel/runtime/vecexecutor/vecnode/vecunique.cpp mode change 100755 => 100644 src/gausskernel/runtime/vecexecutor/vecnode/vecwindowagg.cpp mode change 100755 => 100644 src/gausskernel/runtime/vecexecutor/vectorbatch.cpp mode change 100755 => 100644 src/gausskernel/runtime/vecexecutor/vectorsonic/sonicarray/vsonicarray.cpp mode change 100755 => 100644 src/gausskernel/runtime/vecexecutor/vectorsonic/sonicarray/vsonicchar.cpp mode change 100755 => 100644 src/gausskernel/runtime/vecexecutor/vectorsonic/sonicarray/vsonicencodingchar.cpp mode change 100755 => 100644 src/gausskernel/runtime/vecexecutor/vectorsonic/sonicarray/vsonicfixlen.cpp mode change 100755 => 100644 src/gausskernel/runtime/vecexecutor/vectorsonic/sonicarray/vsonicint.cpp mode change 100755 => 100644 src/gausskernel/runtime/vecexecutor/vectorsonic/sonicarray/vsonicnumeric.cpp mode change 100755 => 100644 src/gausskernel/runtime/vecexecutor/vectorsonic/vsonicfilesource.cpp mode change 100755 => 100644 src/gausskernel/runtime/vecexecutor/vectorsonic/vsonichash.cpp mode change 100755 => 100644 src/gausskernel/runtime/vecexecutor/vectorsonic/vsonichashagg.cpp mode change 100755 => 100644 src/gausskernel/runtime/vecexecutor/vectorsonic/vsonichashjoin.cpp mode change 100755 => 100644 src/gausskernel/runtime/vecexecutor/vectorsonic/vsonicpartition.cpp mode change 100755 => 100644 src/gausskernel/runtime/vecexecutor/vecvar.cpp mode change 100755 => 100644 src/gausskernel/security/keymanagement/FIKMSmessage.cpp mode change 100755 => 100644 src/gausskernel/security/keymanagement/HttpRestfulClient.cpp mode change 100755 => 100644 src/gausskernel/security/keymanagement/KeyManager.cpp mode change 100755 => 100644 src/gausskernel/security/keymanagement/KeyRecord.cpp mode change 100755 => 100644 src/gausskernel/security/keymanagement/TDEKeysFile.cpp mode change 100755 => 100644 src/gausskernel/security/keymanagement/TDEKeysRecords.pb.h mode change 100644 => 100755 src/gausskernel/security/keymanagement/TDEKeysRecords.proto mode change 100755 => 100644 src/gausskernel/storage/access/cbtree/cbtree.cpp mode change 100755 => 100644 src/gausskernel/storage/access/common/heaptuple.cpp mode change 100755 => 100644 src/gausskernel/storage/access/common/printtup.cpp mode change 100755 => 100644 src/gausskernel/storage/access/common/scankey.cpp mode change 100755 => 100644 src/gausskernel/storage/access/common/tupdesc.cpp mode change 100755 => 100644 src/gausskernel/storage/access/dfs/common_parser.h mode change 100755 => 100644 src/gausskernel/storage/access/dfs/dfs_am.cpp mode change 100755 => 100644 src/gausskernel/storage/access/dfs/dfs_parinsert.cpp mode change 100755 => 100644 src/gausskernel/storage/access/dfs/dfs_query.cpp mode change 100755 => 100644 src/gausskernel/storage/access/dfs/dfs_stream_factory.cpp mode change 100755 => 100644 src/gausskernel/storage/access/dfs/dfsdesc.cpp mode change 100755 => 100644 src/gausskernel/storage/access/dfs/orc/OrcObsFile.cpp mode change 100755 => 100644 src/gausskernel/storage/access/dfs/orc/orc_reader.cpp mode change 100755 => 100644 src/gausskernel/storage/access/dfs/orc/orc_rw.h mode change 100755 => 100644 src/gausskernel/storage/access/dfs/orc/orc_writer.cpp mode change 100755 => 100644 src/gausskernel/storage/access/dfs/parquet/parquet_file_reader.cpp mode change 100755 => 100644 src/gausskernel/storage/access/dfs/parquet/parquet_file_reader.h mode change 100755 => 100644 src/gausskernel/storage/access/dfs/parquet/parquet_input_stream_adapter.cpp mode change 100755 => 100644 src/gausskernel/storage/access/dfs/parquet/parquet_input_stream_adapter.h mode change 100755 => 100644 src/gausskernel/storage/access/dfs/parquet/parquet_reader.cpp mode change 100755 => 100644 src/gausskernel/storage/access/dfs/parquet/parquet_reader.h mode change 100755 => 100644 src/gausskernel/storage/access/gin/gindatapage.cpp mode change 100755 => 100644 src/gausskernel/storage/access/gin/ginentrypage.cpp mode change 100755 => 100644 src/gausskernel/storage/access/gin/ginfast.cpp mode change 100755 => 100644 src/gausskernel/storage/access/gin/ginget.cpp mode change 100755 => 100644 src/gausskernel/storage/access/gin/gininsert.cpp mode change 100755 => 100644 src/gausskernel/storage/access/gin/ginpostinglist.cpp mode change 100755 => 100644 src/gausskernel/storage/access/gin/ginvacuum.cpp mode change 100755 => 100644 src/gausskernel/storage/access/gin/ginxlog.cpp mode change 100755 => 100644 src/gausskernel/storage/access/gist/gistbuild.cpp mode change 100755 => 100644 src/gausskernel/storage/access/gist/gistxlog.cpp mode change 100755 => 100644 src/gausskernel/storage/access/hash/hashfunc.cpp mode change 100755 => 100644 src/gausskernel/storage/access/hash/hashscan.cpp mode change 100755 => 100644 src/gausskernel/storage/access/hash/hashsort.cpp mode change 100755 => 100644 src/gausskernel/storage/access/hbstore/hbucket_am.cpp mode change 100755 => 100644 src/gausskernel/storage/access/heap/pruneheap.cpp mode change 100755 => 100644 src/gausskernel/storage/access/heap/syncscan.cpp mode change 100755 => 100644 src/gausskernel/storage/access/heap/visibilitymap.cpp mode change 100755 => 100644 src/gausskernel/storage/access/index/genam.cpp mode change 100755 => 100644 src/gausskernel/storage/access/index/indexam.cpp mode change 100755 => 100644 src/gausskernel/storage/access/nbtree/nbtree.cpp mode change 100755 => 100644 src/gausskernel/storage/access/nbtree/nbtsearch.cpp mode change 100755 => 100644 src/gausskernel/storage/access/nbtree/nbtsort.cpp mode change 100755 => 100644 src/gausskernel/storage/access/nbtree/nbtutils.cpp mode change 100755 => 100644 src/gausskernel/storage/access/nbtree/nbtxlog.cpp mode change 100755 => 100644 src/gausskernel/storage/access/obs/obs_am.cpp mode change 100755 => 100644 src/gausskernel/storage/access/rmgrdesc/standbydesc.cpp mode change 100755 => 100644 src/gausskernel/storage/access/rmgrdesc/xlogdesc.cpp mode change 100755 => 100644 src/gausskernel/storage/access/spgist/spgkdtreeproc.cpp mode change 100755 => 100644 src/gausskernel/storage/access/spgist/spgxlog.cpp mode change 100755 => 100644 src/gausskernel/storage/access/transam/cbmfuncs.cpp mode change 100755 => 100644 src/gausskernel/storage/access/transam/cbmparsexlog.cpp mode change 100755 => 100644 src/gausskernel/storage/access/transam/clog.cpp mode change 100755 => 100644 src/gausskernel/storage/access/transam/csnlog.cpp mode change 100755 => 100644 src/gausskernel/storage/access/transam/gtm_single.cpp mode change 100755 => 100644 src/gausskernel/storage/access/transam/parallel_recovery/dispatcher.cpp mode change 100755 => 100644 src/gausskernel/storage/access/transam/parallel_recovery/page_redo.cpp mode change 100755 => 100644 src/gausskernel/storage/access/transam/parallel_recovery/posix_semaphore.cpp mode change 100755 => 100644 src/gausskernel/storage/access/transam/parallel_recovery/redo_item.cpp mode change 100755 => 100644 src/gausskernel/storage/access/transam/slru.cpp mode change 100755 => 100644 src/gausskernel/storage/access/transam/transam.cpp mode change 100755 => 100644 src/gausskernel/storage/access/transam/twophase.cpp mode change 100755 => 100644 src/gausskernel/storage/access/transam/varsup.cpp mode change 100755 => 100644 src/gausskernel/storage/access/transam/xlog.cpp mode change 100755 => 100644 src/gausskernel/storage/access/transam/xlogfuncs.cpp mode change 100755 => 100644 src/gausskernel/storage/access/transam/xloginsert.cpp mode change 100755 => 100644 src/gausskernel/storage/buffer/buf_init.cpp mode change 100755 => 100644 src/gausskernel/storage/bulkload/dist_fdw.cpp mode change 100755 => 100644 src/gausskernel/storage/bulkload/foreignroutine.cpp mode change 100755 => 100644 src/gausskernel/storage/bulkload/importerror.cpp mode change 100755 => 100644 src/gausskernel/storage/bulkload/parser.cpp mode change 100755 => 100644 src/gausskernel/storage/bulkload/roach_adpter.cpp mode change 100755 => 100644 src/gausskernel/storage/cstore/compression/compress_kits.cpp mode change 100755 => 100644 src/gausskernel/storage/cstore/compression/cstore_compress.cpp mode change 100755 => 100644 src/gausskernel/storage/cstore/compression/time_series_compress.cpp mode change 100755 => 100644 src/gausskernel/storage/cstore/cstore_allocspace.cpp mode change 100755 => 100644 src/gausskernel/storage/cstore/cstore_am.cpp mode change 100755 => 100644 src/gausskernel/storage/cstore/cstore_delete.cpp mode change 100755 => 100644 src/gausskernel/storage/cstore/cstore_insert.cpp mode change 100755 => 100644 src/gausskernel/storage/cstore/cstore_rewrite.cpp mode change 100755 => 100644 src/gausskernel/storage/cstore/cstore_update.cpp mode change 100755 => 100644 src/gausskernel/storage/cstore/cstore_vector.cpp mode change 100755 => 100644 src/gausskernel/storage/cstore/cu.cpp mode change 100755 => 100644 src/gausskernel/storage/cstore/cucache_mgr.cpp mode change 100755 => 100644 src/gausskernel/storage/cstore/custorage.cpp mode change 100755 => 100644 src/gausskernel/storage/dfs/dfs_connector.cpp mode change 100755 => 100644 src/gausskernel/storage/dfs/dfscache_mgr.cpp mode change 100755 => 100644 src/gausskernel/storage/dfs/obs/obs_connector.cpp mode change 100755 => 100644 src/gausskernel/storage/file/copydir.cpp mode change 100755 => 100644 src/gausskernel/storage/file/fd.cpp mode change 100755 => 100644 src/gausskernel/storage/file/lz4_file.cpp mode change 100755 => 100644 src/gausskernel/storage/freespace/freespace.cpp mode change 100755 => 100644 src/gausskernel/storage/ipc/ipci.cpp mode change 100755 => 100644 src/gausskernel/storage/ipc/pmsignal.cpp mode change 100755 => 100644 src/gausskernel/storage/ipc/shmem.cpp mode change 100755 => 100644 src/gausskernel/storage/ipc/sinval.cpp mode change 100755 => 100644 src/gausskernel/storage/ipc/sinvaladt.cpp mode change 100755 => 100644 src/gausskernel/storage/ipc/standby.cpp mode change 100755 => 100644 src/gausskernel/storage/large_object/inv_api.cpp mode change 100755 => 100644 src/gausskernel/storage/lmgr/deadlock.cpp mode change 100755 => 100644 src/gausskernel/storage/lmgr/lmgr.cpp mode change 100755 => 100644 src/gausskernel/storage/lmgr/lock.cpp mode change 100755 => 100644 src/gausskernel/storage/lmgr/lwlock.cpp mode change 100755 => 100644 src/gausskernel/storage/lmgr/predicate.cpp mode change 100755 => 100644 src/gausskernel/storage/lmgr/proc.cpp mode change 100755 => 100644 src/gausskernel/storage/lmgr/s_lock.cpp mode change 100755 => 100644 src/gausskernel/storage/mot/core/src/infra/config/props_config_file_loader.h mode change 100755 => 100644 src/gausskernel/storage/mot/core/src/infra/config/typed_config_value.cpp mode change 100755 => 100644 src/gausskernel/storage/mot/core/src/infra/containers/concurrent_map.h mode change 100755 => 100644 src/gausskernel/storage/mot/core/src/infra/containers/mot_map.h mode change 100755 => 100644 src/gausskernel/storage/mot/core/src/infra/containers/mot_set.h mode change 100755 => 100644 src/gausskernel/storage/mot/core/src/infra/containers/mot_string.cpp mode change 100755 => 100644 src/gausskernel/storage/mot/core/src/infra/infra.cpp mode change 100755 => 100644 src/gausskernel/storage/mot/core/src/infra/infra.h mode change 100755 => 100644 src/gausskernel/storage/mot/core/src/infra/stats/boolean_statistic_variable.cpp mode change 100755 => 100644 src/gausskernel/storage/mot/core/src/infra/stats/boolean_statistic_variable.h delete mode 100755 src/gausskernel/storage/mot/core/src/infra/stats/discrete_statistic_variable.h delete mode 100755 src/gausskernel/storage/mot/core/src/infra/stats/enumerated_statistic_variable.h mode change 100755 => 100644 src/gausskernel/storage/mot/core/src/infra/stats/frequency_statistic_variable.cpp mode change 100755 => 100644 src/gausskernel/storage/mot/core/src/infra/stats/frequency_statistic_variable.h mode change 100755 => 100644 src/gausskernel/storage/mot/core/src/infra/stats/global_statistics.cpp mode change 100755 => 100644 src/gausskernel/storage/mot/core/src/infra/stats/global_statistics.h mode change 100755 => 100644 src/gausskernel/storage/mot/core/src/infra/stats/level_statistic_variable.cpp mode change 100755 => 100644 src/gausskernel/storage/mot/jit_exec/src/jit_context_pool.cpp mode change 100755 => 100644 src/gausskernel/storage/mot/jit_exec/src/jit_source_map.cpp mode change 100755 => 100644 src/gausskernel/storage/mot/jit_exec/src/jit_tvm_query_codegen.cpp mode change 100755 => 100644 src/gausskernel/storage/mot/jit_exec/src/jit_tvm_util.cpp mode change 100755 => 100644 src/gausskernel/storage/page/pagecompress.cpp mode change 100755 => 100644 src/gausskernel/storage/remote/remote_adapter.cpp mode change 100755 => 100644 src/gausskernel/storage/replication/basebackup.cpp mode change 100755 => 100644 src/gausskernel/storage/replication/bcm.cpp mode change 100755 => 100644 src/gausskernel/storage/replication/catchup.cpp mode change 100755 => 100644 src/gausskernel/storage/replication/dataqueue.cpp mode change 100755 => 100644 src/gausskernel/storage/replication/datarcvwriter.cpp mode change 100755 => 100644 src/gausskernel/storage/replication/datareceiver.cpp mode change 100755 => 100644 src/gausskernel/storage/replication/datasender.cpp mode change 100755 => 100644 src/gausskernel/storage/replication/datasyncrep.cpp mode change 100755 => 100644 src/gausskernel/storage/replication/libpqwalreceiver.cpp mode change 100755 => 100644 src/gausskernel/storage/replication/logical/logical.cpp mode change 100755 => 100644 src/gausskernel/storage/replication/logical/logicalfuncs.cpp mode change 100755 => 100644 src/gausskernel/storage/replication/logical/reorderbuffer.cpp mode change 100755 => 100644 src/gausskernel/storage/replication/logical/snapbuild.cpp mode change 100755 => 100644 src/gausskernel/storage/replication/syncrep.cpp mode change 100755 => 100644 src/gausskernel/storage/replication/walrcvwriter.cpp mode change 100755 => 100644 src/gausskernel/storage/replication/walreceiver.cpp mode change 100755 => 100644 src/gausskernel/storage/replication/walreceiverfuncs.cpp mode change 100755 => 100644 src/gausskernel/storage/replication/walsender.cpp mode change 100755 => 100644 src/gausskernel/storage/smgr/md.cpp mode change 100755 => 100644 src/gausskernel/storage/smgr/smgr.cpp mode change 100644 => 100755 src/get_PlatForm_str.sh mode change 100755 => 100644 src/include/Makefile mode change 100755 => 100644 src/include/access/cbmparsexlog.h mode change 100755 => 100644 src/include/access/cstore_am.h mode change 100755 => 100644 src/include/access/cstore_delete.h mode change 100755 => 100644 src/include/access/cstore_insert.h mode change 100755 => 100644 src/include/access/cstore_psort.h mode change 100755 => 100644 src/include/access/cstore_update.h mode change 100755 => 100644 src/include/access/cstore_vector.h mode change 100755 => 100644 src/include/access/dfs/dfs_am.h mode change 100755 => 100644 src/include/access/dfs/dfs_query.h mode change 100755 => 100644 src/include/access/gin_private.h mode change 100755 => 100644 src/include/access/gist_private.h mode change 100755 => 100644 src/include/access/gtm.h mode change 100755 => 100644 src/include/access/hash.h mode change 100755 => 100644 src/include/access/hbucket_am.h mode change 100755 => 100644 src/include/access/htup.h mode change 100755 => 100644 src/include/access/multixact.h mode change 100755 => 100644 src/include/access/nbtree.h mode change 100755 => 100644 src/include/access/obs/obs_am.h mode change 100755 => 100644 src/include/access/reloptions.h mode change 100755 => 100644 src/include/access/relscan.h mode change 100755 => 100644 src/include/access/rmgrlist.h mode change 100755 => 100644 src/include/access/skey.h mode change 100755 => 100644 src/include/access/slru.h mode change 100755 => 100644 src/include/access/spgist_private.h mode change 100755 => 100644 src/include/access/transam.h mode change 100755 => 100644 src/include/access/tupdesc.h mode change 100755 => 100644 src/include/access/twophase.h mode change 100755 => 100644 src/include/access/visibilitymap.h mode change 100755 => 100644 src/include/access/xact.h mode change 100755 => 100644 src/include/access/xlog_internal.h mode change 100755 => 100644 src/include/access/xlogrecord.h mode change 100755 => 100644 src/include/alarm/alarm.h mode change 100755 => 100644 src/include/bootstrap/bootstrap.h mode change 100755 => 100644 src/include/bulkload/utils.h mode change 100755 => 100644 src/include/catalog/catalog.h mode change 100755 => 100644 src/include/catalog/catversion.h mode change 100755 => 100644 src/include/catalog/genbki.h mode change 100755 => 100644 src/include/catalog/gs_opt_model.h mode change 100755 => 100644 src/include/catalog/heap.h mode change 100755 => 100644 src/include/catalog/index.h mode change 100755 => 100644 src/include/catalog/indexing.h mode change 100755 => 100644 src/include/catalog/namespace.h mode change 100755 => 100644 src/include/catalog/pg_aggregate.h mode change 100755 => 100644 src/include/catalog/pg_am.h mode change 100755 => 100644 src/include/catalog/pg_amop.h mode change 100755 => 100644 src/include/catalog/pg_amproc.h mode change 100755 => 100644 src/include/catalog/pg_authid.h mode change 100755 => 100644 src/include/catalog/pg_cast.h mode change 100755 => 100644 src/include/catalog/pg_constraint.h mode change 100755 => 100644 src/include/catalog/pg_control.h mode change 100755 => 100644 src/include/catalog/pg_database.h mode change 100755 => 100644 src/include/catalog/pg_directory.h mode change 100755 => 100644 src/include/catalog/pg_enum.h mode change 100755 => 100644 src/include/catalog/pg_job.h mode change 100755 => 100644 src/include/catalog/pg_namespace.h mode change 100755 => 100644 src/include/catalog/pg_object.h mode change 100755 => 100644 src/include/catalog/pg_opclass.h mode change 100755 => 100644 src/include/catalog/pg_operator.h mode change 100755 => 100644 src/include/catalog/pg_opfamily.h mode change 100755 => 100644 src/include/catalog/pg_partition.h mode change 100755 => 100644 src/include/catalog/pg_proc.h mode change 100755 => 100644 src/include/catalog/pg_proc_fn.h mode change 100755 => 100644 src/include/catalog/pg_resource_pool.h mode change 100755 => 100644 src/include/catalog/pg_statistic.h mode change 100755 => 100644 src/include/catalog/pg_statistic_ext.h mode change 100755 => 100644 src/include/catalog/pg_synonym.h mode change 100755 => 100644 src/include/catalog/pg_type.h mode change 100755 => 100644 src/include/catalog/pg_user_status.h mode change 100755 => 100644 src/include/catalog/pgxc_class.h mode change 100755 => 100644 src/include/catalog/pgxc_group.h mode change 100755 => 100644 src/include/catalog/toasting.h rename src/include/catalog/upgrade_sql/{open_gauss => }/check_upgrade/.gitkeep (100%) rename src/include/catalog/upgrade_sql/{open_gauss => }/rollback_catalog_maindb/rollback-post_catalog_maindb_92_200.sql (100%) rename src/include/catalog/upgrade_sql/{open_gauss => }/rollback_catalog_maindb/rollback_catalog_maindb_92_200.sql (100%) rename src/include/catalog/upgrade_sql/{open_gauss => }/rollback_catalog_otherdb/rollback-post_catalog_otherdb_92_200.sql (100%) rename src/include/catalog/upgrade_sql/{open_gauss => }/rollback_catalog_otherdb/rollback_catalog_otherdb_92_200.sql (100%) rename src/include/catalog/upgrade_sql/{open_gauss => }/set_guc/.gitkeep (100%) rename src/include/catalog/upgrade_sql/{open_gauss => }/upgrade_catalog_maindb/upgrade-post_catalog_maindb_92_200.sql (97%) rename src/include/catalog/upgrade_sql/{open_gauss => }/upgrade_catalog_maindb/upgrade_catalog_maindb_92_200.sql (93%) rename src/include/catalog/upgrade_sql/{open_gauss => }/upgrade_catalog_otherdb/upgrade-post_catalog_otherdb_92_200.sql (97%) rename src/include/catalog/upgrade_sql/{open_gauss => }/upgrade_catalog_otherdb/upgrade_catalog_otherdb_92_200.sql (93%) mode change 100755 => 100644 src/include/cipher.h delete mode 100644 src/include/client_logic/client_logic_common.h mode change 100755 => 100644 src/include/cm/cm_msg.h mode change 100755 => 100644 src/include/cm/elog.h mode change 100755 => 100644 src/include/codegen/builtinscodegen.h mode change 100755 => 100644 src/include/codegen/codegendebuger.h mode change 100755 => 100644 src/include/codegen/gscodegen.h mode change 100755 => 100644 src/include/codegen/vecexprcodegen.h mode change 100755 => 100644 src/include/codegen/vechashaggcodegen.h mode change 100755 => 100644 src/include/codegen/vechashjoincodegen.h mode change 100755 => 100644 src/include/codegen/vecsortcodegen.h mode change 100755 => 100644 src/include/commands/async.h mode change 100755 => 100644 src/include/commands/cluster.h mode change 100755 => 100644 src/include/commands/copy.h mode change 100755 => 100644 src/include/commands/dbcommands.h mode change 100755 => 100644 src/include/commands/directory.h mode change 100755 => 100644 src/include/commands/formatter.h mode change 100755 => 100644 src/include/commands/prepare.h mode change 100755 => 100644 src/include/commands/tablecmds.h mode change 100755 => 100644 src/include/commands/tablespace.h mode change 100755 => 100644 src/include/commands/trigger.h mode change 100755 => 100644 src/include/commands/user.h mode change 100755 => 100644 src/include/commands/vacuum.h mode change 100755 => 100644 src/include/commands/variable.h mode change 100755 => 100644 src/include/common/build_query/build_query.h mode change 100755 => 100644 src/include/common/config/cm_config.h mode change 100755 => 100644 src/include/connector.h mode change 100755 => 100644 src/include/dfs_config.h mode change 100755 => 100644 src/include/dfsdesc.h mode change 100755 => 100644 src/include/distributelayer/streamConsumer.h mode change 100755 => 100644 src/include/distributelayer/streamCore.h mode change 100755 => 100644 src/include/distributelayer/streamProducer.h mode change 100755 => 100644 src/include/distributelayer/streamTransportCore.h mode change 100755 => 100644 src/include/executor/execMerge.h mode change 100755 => 100644 src/include/executor/execStream.h mode change 100755 => 100644 src/include/executor/execdesc.h mode change 100755 => 100644 src/include/executor/executor.h mode change 100755 => 100644 src/include/executor/hashjoin.h mode change 100755 => 100644 src/include/executor/instrument.h mode change 100755 => 100644 src/include/executor/lightProxy.h mode change 100755 => 100644 src/include/executor/nodeAgg.h mode change 100755 => 100644 src/include/executor/nodeBitmapIndexscan.h mode change 100755 => 100644 src/include/executor/nodeExtensible.h mode change 100755 => 100644 src/include/executor/nodeFunctionscan.h mode change 100755 => 100644 src/include/executor/nodeHash.h mode change 100755 => 100644 src/include/executor/nodeRecursiveunion.h mode change 100755 => 100644 src/include/executor/nodeSamplescan.h mode change 100755 => 100644 src/include/executor/spi.h mode change 100755 => 100644 src/include/executor/spi_priv.h mode change 100755 => 100644 src/include/executor/tuptable.h mode change 100755 => 100644 src/include/fmgr.h mode change 100755 => 100644 src/include/foreign/fdwapi.h mode change 100755 => 100644 src/include/funcapi.h mode change 100755 => 100644 src/include/gen_alloc.h mode change 100755 => 100644 src/include/getaddrinfo.h mode change 100755 => 100644 src/include/gs_thread.h mode change 100755 => 100644 src/include/gssignal/gs_signal.h mode change 100755 => 100644 src/include/gstrace/gstrace_infra_int.h mode change 100755 => 100644 src/include/gtm/gtm.h mode change 100755 => 100644 src/include/gtm/gtm_backup.h mode change 100755 => 100644 src/include/gtm/gtm_c.h mode change 100755 => 100644 src/include/gtm/gtm_client.h mode change 100755 => 100644 src/include/gtm/gtm_csnsync.h mode change 100755 => 100644 src/include/gtm/gtm_lock.h mode change 100755 => 100644 src/include/gtm/gtm_msg.h mode change 100755 => 100644 src/include/gtm/gtm_opt.h mode change 100755 => 100644 src/include/gtm/gtm_proxy.h mode change 100755 => 100644 src/include/gtm/gtm_seq.h mode change 100755 => 100644 src/include/gtm/gtm_test_framework.h mode change 100755 => 100644 src/include/gtm/gtm_txn.h mode change 100755 => 100644 src/include/hotpatch/hotpatch_client.h mode change 100755 => 100644 src/include/instruments/dblink_query.h mode change 100755 => 100644 src/include/instruments/generate_report.h mode change 100755 => 100644 src/include/instruments/instr_unique_sql.h mode change 100755 => 100644 src/include/instruments/percentile.h mode change 100755 => 100644 src/include/instruments/snapshot.h mode change 100755 => 100644 src/include/instruments/unique_query.h mode change 100755 => 100644 src/include/keymanagement/FIKMSmessage.h mode change 100755 => 100644 src/include/keymanagement/HttpRestfulClient.h mode change 100755 => 100644 src/include/keymanagement/KeyManager.h mode change 100755 => 100644 src/include/keymanagement/KeyRecord.h mode change 100755 => 100644 src/include/keymanagement/TDEKeysFile.h mode change 100755 => 100644 src/include/knl/knl_guc.h mode change 100755 => 100644 src/include/knl/knl_guc/knl_guc_common.h mode change 100755 => 100644 src/include/knl/knl_guc/knl_instance_attr_common.h mode change 100755 => 100644 src/include/knl/knl_guc/knl_instance_attr_resource.h mode change 100755 => 100644 src/include/knl/knl_guc/knl_instance_attr_security.h mode change 100755 => 100644 src/include/knl/knl_guc/knl_instance_attr_storage.h mode change 100755 => 100644 src/include/knl/knl_guc/knl_session_attr_common.h mode change 100755 => 100644 src/include/knl/knl_guc/knl_session_attr_resource.h mode change 100755 => 100644 src/include/knl/knl_guc/knl_session_attr_storage.h mode change 100755 => 100644 src/include/lib/dllist.h mode change 100755 => 100644 src/include/lib/stringinfo.h mode change 100755 => 100644 src/include/libcomm/libcomm.h mode change 100755 => 100644 src/include/libpq/auth.h mode change 100755 => 100644 src/include/libpq/crypt.h mode change 100755 => 100644 src/include/libpq/hba.h mode change 100755 => 100644 src/include/libpq/libpq-be.h mode change 100755 => 100644 src/include/libpq/libpq-fe.h mode change 100755 => 100644 src/include/libpq/libpq-int.h mode change 100755 => 100644 src/include/libpq/libpq.h mode change 100755 => 100644 src/include/libpq/md5.h mode change 100755 => 100644 src/include/libpq/pqcomm.h mode change 100755 => 100644 src/include/libpq/pqformat.h mode change 100755 => 100644 src/include/libpq/pqsignal.h mode change 100755 => 100644 src/include/libpq/sha2.h mode change 100755 => 100644 src/include/mb/pg_wchar.h mode change 100755 => 100644 src/include/miscadmin.h mode change 100755 => 100644 src/include/nodes/bitmapset.h mode change 100755 => 100644 src/include/nodes/makefuncs.h mode change 100755 => 100644 src/include/nodes/nodeFuncs.h mode change 100755 => 100644 src/include/nodes/params.h mode change 100755 => 100644 src/include/nodes/parsenodes.h mode change 100755 => 100644 src/include/nodes/pg_list.h mode change 100755 => 100644 src/include/nodes/plannodes.h mode change 100755 => 100644 src/include/nodes/primnodes.h mode change 100755 => 100644 src/include/nodes/print.h mode change 100755 => 100644 src/include/nodes/readfuncs.h mode change 100755 => 100644 src/include/nodes/relation.h mode change 100755 => 100644 src/include/nodes/replnodes.h mode change 100755 => 100644 src/include/nodes/tidbitmap.h mode change 100755 => 100644 src/include/optimizer/autoanalyzer.h mode change 100755 => 100644 src/include/optimizer/bucketinfo.h mode change 100755 => 100644 src/include/optimizer/bucketpruning.h mode change 100755 => 100644 src/include/optimizer/clauses.h mode change 100755 => 100644 src/include/optimizer/cost.h mode change 100755 => 100644 src/include/optimizer/dataskew.h mode change 100755 => 100644 src/include/optimizer/dynsmp.h mode change 100755 => 100644 src/include/optimizer/nodegroups.h mode change 100755 => 100644 src/include/optimizer/optimizerdebug.h delete mode 100644 src/include/optimizer/orclauses.h mode change 100755 => 100644 src/include/optimizer/pathnode.h mode change 100755 => 100644 src/include/optimizer/paths.h mode change 100755 => 100644 src/include/optimizer/pgxcplan.h mode change 100755 => 100644 src/include/optimizer/pgxcship.h mode change 100755 => 100644 src/include/optimizer/plancat.h mode change 100755 => 100644 src/include/optimizer/planmain.h mode change 100755 => 100644 src/include/optimizer/planmem_walker.h mode change 100755 => 100644 src/include/optimizer/planner.h mode change 100755 => 100644 src/include/optimizer/prep.h mode change 100755 => 100644 src/include/optimizer/pruning.h mode change 100755 => 100644 src/include/optimizer/streampath.h mode change 100755 => 100644 src/include/optimizer/subselect.h mode change 100755 => 100644 src/include/optimizer/tlist.h mode change 100755 => 100644 src/include/optimizer/var.h mode change 100755 => 100644 src/include/parser/analyze.h mode change 100755 => 100644 src/include/parser/gramparse.h mode change 100755 => 100644 src/include/parser/kwlist.h mode change 100755 => 100644 src/include/parser/parse_agg.h mode change 100755 => 100644 src/include/parser/parse_clause.h mode change 100755 => 100644 src/include/parser/parse_coerce.h mode change 100755 => 100644 src/include/parser/parse_expr.h mode change 100755 => 100644 src/include/parser/parse_func.h mode change 100755 => 100644 src/include/parser/parse_hint.h mode change 100755 => 100644 src/include/parser/parse_merge.h mode change 100755 => 100644 src/include/parser/parse_node.h mode change 100755 => 100644 src/include/parser/parse_relation.h mode change 100755 => 100644 src/include/parser/parse_target.h mode change 100755 => 100644 src/include/parser/parse_type.h mode change 100755 => 100644 src/include/parser/parse_utilcmd.h mode change 100755 => 100644 src/include/parser/parsetree.h mode change 100755 => 100644 src/include/parser/scanner.h mode change 100755 => 100644 src/include/pg_config_manual.h mode change 100755 => 100644 src/include/pgaudit.h mode change 100755 => 100644 src/include/pgstat.h mode change 100755 => 100644 src/include/pgxc/execRemote.h mode change 100755 => 100644 src/include/pgxc/groupmgr.h mode change 100755 => 100644 src/include/pgxc/nodemgr.h mode change 100755 => 100644 src/include/pgxc/pgxc.h mode change 100755 => 100644 src/include/pgxc/pgxcnode.h mode change 100755 => 100644 src/include/pgxc/poolmgr.h mode change 100755 => 100644 src/include/pgxc/redistrib.h mode change 100755 => 100644 src/include/port/win32.h mode change 100755 => 100644 src/include/portability/instr_time.h mode change 100755 => 100644 src/include/postgres_ext.h mode change 100755 => 100644 src/include/postmaster/autovacuum.h mode change 100755 => 100644 src/include/postmaster/bgwriter.h mode change 100755 => 100644 src/include/postmaster/cbmwriter.h mode change 100755 => 100644 src/include/postmaster/fencedudf.h mode change 100755 => 100644 src/include/postmaster/startup.h mode change 100755 => 100644 src/include/postmaster/syslogger.h mode change 100755 => 100644 src/include/regex/regcustom.h mode change 100755 => 100644 src/include/regex/regex.h mode change 100755 => 100644 src/include/regex/regguts.h mode change 100755 => 100644 src/include/replication/basebackup.h mode change 100755 => 100644 src/include/replication/dataqueue.h mode change 100755 => 100644 src/include/replication/datareceiver.h mode change 100755 => 100644 src/include/replication/datasender_private.h mode change 100755 => 100644 src/include/replication/libpqwalreceiver.h mode change 100755 => 100644 src/include/replication/output_plugin.h mode change 100755 => 100644 src/include/replication/replicainternal.h mode change 100755 => 100644 src/include/replication/slot.h mode change 100755 => 100644 src/include/replication/walprotocol.h mode change 100755 => 100644 src/include/replication/walreceiver.h mode change 100755 => 100644 src/include/replication/walsender.h mode change 100755 => 100644 src/include/replication/walsender_private.h mode change 100755 => 100644 src/include/rewrite/rewriteManip.h mode change 100755 => 100644 src/include/securec.h mode change 100755 => 100644 src/include/securec_check.h delete mode 100644 src/include/ssl/openssl_etcd.cnf mode change 100755 => 100644 src/include/storage/backendid.h mode change 100755 => 100644 src/include/storage/barrier.h mode change 100755 => 100644 src/include/storage/compress_kits.h mode change 100755 => 100644 src/include/storage/cu.h mode change 100755 => 100644 src/include/storage/cucache_mgr.h mode change 100755 => 100644 src/include/storage/custorage.h mode change 100755 => 100644 src/include/storage/dfs/dfscache_mgr.h mode change 100755 => 100644 src/include/storage/fd.h mode change 100755 => 100644 src/include/storage/freespace.h mode change 100755 => 100644 src/include/storage/fsm_internals.h mode change 100755 => 100644 src/include/storage/gds_utils.h mode change 100755 => 100644 src/include/storage/ipc.h mode change 100755 => 100644 src/include/storage/lmgr.h mode change 100755 => 100644 src/include/storage/lz4_file.h mode change 100755 => 100644 src/include/storage/parser.h mode change 100755 => 100644 src/include/storage/pmsignal.h mode change 100755 => 100644 src/include/storage/relfilenode.h mode change 100755 => 100644 src/include/storage/sinval.h mode change 100755 => 100644 src/include/storage/time_series_compress.h mode change 100755 => 100644 src/include/tcop/dest.h mode change 100755 => 100644 src/include/tcop/stmt_retry.h mode change 100755 => 100644 src/include/tcop/tcopprot.h mode change 100755 => 100644 src/include/tcop/utility.h mode change 100755 => 100644 src/include/threadpool/threadpool.h mode change 100755 => 100644 src/include/threadpool/threadpool_controler.h mode change 100755 => 100644 src/include/threadpool/threadpool_group.h mode change 100755 => 100644 src/include/threadpool/threadpool_listener.h mode change 100755 => 100644 src/include/threadpool/threadpool_scheduler.h mode change 100755 => 100644 src/include/threadpool/threadpool_worker.h mode change 100755 => 100644 src/include/tsearch/ts_cache.h mode change 100755 => 100644 src/include/tsearch/ts_utils.h mode change 100755 => 100644 src/include/tsearch/ts_zh_ngram.h mode change 100755 => 100644 src/include/utils/acl.h mode change 100755 => 100644 src/include/utils/aes.h mode change 100755 => 100644 src/include/utils/anls_opt.h mode change 100755 => 100644 src/include/utils/array.h mode change 100755 => 100644 src/include/utils/aset.h mode change 100755 => 100644 src/include/utils/batchsort.h mode change 100755 => 100644 src/include/utils/batchstore.h mode change 100755 => 100644 src/include/utils/biginteger.h mode change 100755 => 100644 src/include/utils/bloom_filter.h mode change 100755 => 100644 src/include/utils/builtins.h mode change 100755 => 100644 src/include/utils/cash.h mode change 100755 => 100644 src/include/utils/catcache.h mode change 100755 => 100644 src/include/utils/datetime.h mode change 100755 => 100644 src/include/utils/distribute_test.h mode change 100755 => 100644 src/include/utils/elog.h mode change 100755 => 100644 src/include/utils/evp_cipher.h mode change 100755 => 100644 src/include/utils/extended_statistics.h mode change 100755 => 100644 src/include/utils/formatting.h delete mode 100644 src/include/utils/globalpreparestmt.h mode change 100755 => 100644 src/include/utils/guc.h mode change 100755 => 100644 src/include/utils/guc_tables.h mode change 100755 => 100644 src/include/utils/hsearch.h mode change 100755 => 100644 src/include/utils/inval.h mode change 100755 => 100644 src/include/utils/memprot.h mode change 100755 => 100644 src/include/utils/memutils.h mode change 100755 => 100644 src/include/utils/numeric.h mode change 100755 => 100644 src/include/utils/numeric_gs.h mode change 100755 => 100644 src/include/utils/palloc.h mode change 100755 => 100644 src/include/utils/partcache.h mode change 100755 => 100644 src/include/utils/partitionkey.h mode change 100755 => 100644 src/include/utils/partitionmap.h mode change 100755 => 100644 src/include/utils/partitionmap_gs.h mode change 100755 => 100644 src/include/utils/pg_locale.h mode change 100755 => 100644 src/include/utils/pg_lzcompress.h mode change 100755 => 100644 src/include/utils/plancache.h mode change 100755 => 100644 src/include/utils/plog.h mode change 100755 => 100644 src/include/utils/plpgsql.h mode change 100755 => 100644 src/include/utils/portal.h mode change 100755 => 100644 src/include/utils/postinit.h mode change 100755 => 100644 src/include/utils/rangetypes.h mode change 100755 => 100644 src/include/utils/rel.h mode change 100755 => 100644 src/include/utils/rel_gs.h mode change 100755 => 100644 src/include/utils/relcache.h mode change 100755 => 100644 src/include/utils/relmapper.h mode change 100755 => 100644 src/include/utils/rowstore.h mode change 100755 => 100644 src/include/utils/selfuncs.h mode change 100755 => 100644 src/include/utils/snapmgr.h mode change 100755 => 100644 src/include/utils/snapshot.h mode change 100755 => 100644 src/include/utils/sortsupport.h mode change 100755 => 100644 src/include/utils/sortsupport_gs.h mode change 100755 => 100644 src/include/utils/syscache.h mode change 100755 => 100644 src/include/utils/syscall_lock.h mode change 100755 => 100644 src/include/utils/timestamp.h mode change 100755 => 100644 src/include/utils/tuplesort.h mode change 100755 => 100644 src/include/utils/tuplestore.h mode change 100755 => 100644 src/include/utils/uuid.h mode change 100755 => 100644 src/include/vecexecutor/vecagg.h mode change 100755 => 100644 src/include/vecexecutor/vecfunc.h mode change 100755 => 100644 src/include/vecexecutor/vechashagg.h mode change 100755 => 100644 src/include/vecexecutor/vechashjoin.h mode change 100755 => 100644 src/include/vecexecutor/vechashtable.h mode change 100755 => 100644 src/include/vecexecutor/vecnodes.h mode change 100755 => 100644 src/include/vecexecutor/vecsetop.h mode change 100755 => 100644 src/include/vecexecutor/vecstore.h mode change 100755 => 100644 src/include/vecexecutor/vecstream.h mode change 100755 => 100644 src/include/vecexecutor/vectorbatch.h mode change 100755 => 100644 src/include/vecexecutor/vecwindowagg.h mode change 100755 => 100644 src/include/vectorsonic/vsonicarray.h mode change 100755 => 100644 src/include/vectorsonic/vsonicchar.h mode change 100755 => 100644 src/include/vectorsonic/vsonicencodingchar.h mode change 100755 => 100644 src/include/vectorsonic/vsonicfilesource.h mode change 100755 => 100644 src/include/vectorsonic/vsonicfixlen.h mode change 100755 => 100644 src/include/vectorsonic/vsonichash.h mode change 100755 => 100644 src/include/vectorsonic/vsonichashagg.h mode change 100755 => 100644 src/include/vectorsonic/vsonichashjoin.h mode change 100755 => 100644 src/include/vectorsonic/vsonicint.h mode change 100755 => 100644 src/include/vectorsonic/vsonicnumeric.h mode change 100755 => 100644 src/include/vectorsonic/vsonicpartition.h mode change 100755 => 100644 src/include/workload/commgr.h mode change 100755 => 100644 src/include/workload/cpwlm.h mode change 100755 => 100644 src/include/workload/dywlm_client.h mode change 100755 => 100644 src/include/workload/dywlm_server.h mode change 100755 => 100644 src/include/workload/gscgroup.h mode change 100755 => 100644 src/include/workload/ioschdl.h mode change 100755 => 100644 src/include/workload/memctl.h mode change 100755 => 100644 src/include/workload/parctl.h mode change 100755 => 100644 src/include/workload/statctl.h mode change 100755 => 100644 src/include/workload/workload.h mode change 100755 => 100644 src/lib/alarm/alarm.cpp mode change 100755 => 100644 src/lib/build_query/build_query.cpp mode change 100755 => 100644 src/lib/config/cm_config.cpp mode change 100755 => 100644 src/lib/elog/elog.cpp mode change 100755 => 100644 src/test/regress/expected/autonomous_transaction.out create mode 100644 src/test/regress/expected/ce_permission_on_keys_schema.out mode change 100755 => 100644 src/test/regress/expected/encode_tpch.out create mode 100644 src/test/regress/expected/leaky_function_operator.out mode change 100755 => 100644 src/test/regress/expected/plan_table04.out mode change 100755 => 100644 src/test/regress/expected/single_node_opr_sanity.out mode change 100755 => 100644 src/test/regress/expected/wlm_plan_encoding.out mode change 100755 => 100644 src/test/regress/input/rlstm.source mode change 100755 => 100644 src/test/regress/output/rlstm.source create mode 100644 src/test/regress/parallel_schedule0A create mode 100644 src/test/regress/parallel_schedule0B create mode 100644 src/test/regress/parallel_schedule19 mode change 100755 => 100644 src/test/regress/sql/autonomous_transaction.sql delete mode 100644 src/test/regress/sql/ce_constraint.sql delete mode 100644 src/test/regress/sql/ce_exec_direct.sql delete mode 100644 src/test/regress/sql/ce_insert_boolean.sql delete mode 100644 src/test/regress/sql/ce_insert_int.sql delete mode 100644 src/test/regress/sql/ce_key_test.sql delete mode 100644 src/test/regress/sql/ce_multinode_create_table_like.sql create mode 100644 src/test/regress/sql/ce_permission_on_keys_schema.sql create mode 100644 src/test/regress/sql/leaky_function_operator.sql diff --git a/Tools/memory_check/asan_report.pl b/Tools/memory_check/asan_report.pl new file mode 100644 index 000000000..f85bf9abd --- /dev/null +++ b/Tools/memory_check/asan_report.pl @@ -0,0 +1,301 @@ +#!/usr/bin/perl + +use warnings; +use strict; +use Getopt::Long; +use File::Basename qw(dirname); + +our $show_usage; +our $verbose; +our $ignored_dir; +our $asanlog_dir; +our $output; + +use constant { + SEARCH_KEY_LEN => 64, +}; + +sub usage() { + print "perl asan_report.pl --asanlog-dir /Directory/to/AddressSanitize/Log/ \n"; + print "perl asan_report.pl --asanlog-dir /Directory/to/AddressSanitize/Log/ --output /Path/to/Output/File --ignore-dir /Directory/to/Ignored/Results/ \n"; + print "perl asan_report.pl --help \n"; +} + +sub get_asan_log_dir { + my $log_file_dir = $asanlog_dir; + + unless ($asanlog_dir) { + my $asan_option = $ENV{'ASAN_OPTIONS'}; + if ($asan_option =~ /log_path=([\w\/\.\-\s]+)/) { + $log_file_dir = dirname $1; + } + } + + $log_file_dir =~ s/\/+$//g; + + $log_file_dir; +} + +sub check_component { + my($line_block) = @_; + + my $component = ''; + for my $line(@$line_block) { + if ($line =~ m/^\s+#(\d+)\s+(\w+)\s+in\s+(\w+)\s+(\S+)$/) { + my($index, $addr, $func, $file_lineno) = ($1, $2, $3, $4); + my ($file, $lno) = split (/:/, $file_lineno); + if ($func eq 'main') { + if ($file =~ m{/Code/src/}) { + my $fn = $'; + if ($fn =~ m{^(gtm|cm)/}) { + $component = $1; + } + elsif ($fn =~ m{^backend/}) { + $component = 'gaussdb'; + } + elsif ($fn =~ m{^bin/(\w+)/}) { + $component = $1 + } + else { + print "Unknown main location: $line\n" + } + + return $component if $component; + } + } + else { + # last result will win + if ($file =~ m{/Code/src/}) { + my $fn = $'; + if ($fn =~ m{^(gtm|cm)/}) { + $component = $1; + } + elsif ($fn =~ m{^backend/}) { + $component = 'gaussdb'; + } + elsif ($fn =~ m{^bin/(\w+)/}) { + $component = $1 + } + } + } + } + } + + $component = 'unknown' unless $component; + $component; +} + +sub is_call_stack_unique { + my ($ignored_call_stacks, $uniq_call_stacks, $line_block) = @_; + + my $search_key = ''; + my $signature = ''; + for my $line(@$line_block) { + if ($line =~ m/^\s+#(\d+)\s+(\w+)\s+in\s+(\w+)\s+(\S+)$/) { + my($index, $addr, $func, $file_lineno) = ($1, $2, $3, $4); + my ($file, $lno) = split (/:/, $file_lineno); + if ($file =~ m{/Code/src/}) { + $file = "src/" . $'; + if (defined $lno) { + $search_key = $search_key . "$func:$file:$lno"; + } + else { + $search_key = $search_key . "$func:$file"; + } + } + if (defined $lno) { + $signature = $signature . "$func:$file:$lno"; + } + else { + $signature = $signature . "$func:$file"; + } + } + } + + if (ref $ignored_call_stacks eq 'HASH') { + if ( exists $ignored_call_stacks->{substr($search_key, 0, SEARCH_KEY_LEN)} ) { + for my $sig(@{ $ignored_call_stacks->{substr($search_key, 0, SEARCH_KEY_LEN)} } ) { + return 0 if ($sig eq $signature); + } + } + } + + if ( exists $uniq_call_stacks->{substr($search_key, 0, SEARCH_KEY_LEN)} ) { + for my $sig(@{ $uniq_call_stacks->{substr($search_key, 0, SEARCH_KEY_LEN)} } ) { + return 0 if ($sig eq $signature); + } + } + else { + $uniq_call_stacks->{substr($search_key, 0, SEARCH_KEY_LEN)} = [] + } + + push @{$uniq_call_stacks->{substr($search_key, 0, SEARCH_KEY_LEN)}}, $signature; + + return 1; +} + +sub gen_report { + my ($log_dir, $ignored_call_stacks, $output_file) = @_; + + return {} unless $log_dir; + + my %uniq_call_stacks; + my @mem_leak_block = (); + my @addr_issue_block = (); + + for my $file(glob "${log_dir}/*") { + open my $fh, "<$file" or next; + my $type = 'none'; + my @file_content = (); + while(<$fh>) { + push @file_content, $_; + } + close $fh; + + my $component = check_component(\@file_content); + if ($output_file) { + } + foreach my $line(@file_content) { + chomp $line; + next unless $line =~ /\s*\S+/; + + # headline + # assuming one type error + if ($line =~ /^==\d+==ERROR:/) { + if ($line =~ /LeakSanitizer:/) { + $type = 'memory-leak'; + } + elsif ($line =~ /AddressSanitizer:/ && $line =~ /double-free/) { + $type = 'double-free'; + } + elsif ($line =~ /AddressSanitizer:/ && $line =~ /attempting free/) { + $type = 'bad-free'; + } + elsif ($line =~ /AddressSanitizer:\s+([-\w]+)/) { + $type = $1; + } + else { + print "Unknown error type in $file:\n$line\n" if $verbose; + } + } + # block header + elsif ($line =~ /(Direct|Indirect) leak/) { + $type = 'memory-leak' if $type eq 'none'; + if (scalar @mem_leak_block) { + if (is_call_stack_unique($ignored_call_stacks, \%uniq_call_stacks, \@mem_leak_block)) { + if ($output_file) { + open MEMLEAK, ">>$output_file.memory-leak.$component"; + print MEMLEAK "$_\n" foreach (@mem_leak_block); + print MEMLEAK "\n\n"; + close MEMLEAK; + } + } + + @mem_leak_block = (); + } + + # $type = 'memory-leak'; + push @mem_leak_block, $line; + } + elsif ($line =~ /^\s+#\d+/) { + if ($type eq 'memory-leak') { + push @mem_leak_block, $line + } + elsif ($type eq 'none') { + print "Unknown issue type for $file\n" if $verbose; + } + else { + push @addr_issue_block, $line + } + } + + # start another block + elsif ( $line =~ /^\w+/ || $line =~ /^={3,}/ ) { + if ($type eq 'memory-leak' && scalar @mem_leak_block) { + if (is_call_stack_unique($ignored_call_stacks, \%uniq_call_stacks, \@mem_leak_block)) { + if ($output_file) { + open MEMLEAK, ">>$output_file.memory-leak.$component"; + print MEMLEAK "$_\n" foreach (@mem_leak_block); + print MEMLEAK "\n\n"; + close MEMLEAK; + } + } + + @mem_leak_block = (); + } + elsif ($type eq 'none' && (scalar @addr_issue_block || scalar @mem_leak_block)) { + print "\n\n***FATAL***: you should not see me at all.\n"; + print "Check in $file:\n$line\n"; + + } + elsif (scalar @addr_issue_block) { + # Fatal address issue: + # 1. stack-buffer-overflow/heap-buffer-overflow + # 2. double-free + # + # Assuming only ONE issue in each log file for above issue type + + last + } + else { + # first block for fatal address issue is not yet filled + # second or subsequent blocks for memory leak + } + } + } + + close $fh; + + if ($type eq 'memory-leak' && scalar @mem_leak_block) { + if (is_call_stack_unique($ignored_call_stacks, \%uniq_call_stacks, \@mem_leak_block)) { + if ($output_file) { + open MEMLEAK, ">>$output_file.memory-leak.$component"; + print MEMLEAK "$_\n" foreach (@mem_leak_block); + print MEMLEAK "\n\n"; + close MEMLEAK; + } + } + } + elsif ($type ne 'none' && scalar @addr_issue_block) { + if (is_call_stack_unique($ignored_call_stacks, \%uniq_call_stacks, \@addr_issue_block)) { + open my $ifh, "<$file" or next; + open my $ofh, ">>$output.$type.$component" or next; + while (<$ifh>) { + print $ofh $_; + } + print $ofh "\n\n"; + close $ifh; + close $ofh; + } + } + + @mem_leak_block = (); + @addr_issue_block = () + } + ## for my $file(glob "${log_file_trunk}*") { + + close MEMLEAK; + + \%uniq_call_stacks +} + + +GetOptions ( + "ignore-dir=s" => \$ignored_dir, + "asanlog-dir=s" => \$asanlog_dir, + "output|o=s" => \$output, + "verbose" => \$verbose, + "help|h" => \$show_usage +) or die("Error in command line arguments\n"); + +if ($show_usage) { + usage(); + exit 0; +} + +$output = "$$" unless $output; + +my $ignored_call_stacks = gen_report($ignored_dir, undef, undef); +my $log_file_dir = get_asan_log_dir(); + +gen_report($log_file_dir, $ignored_call_stacks, $output); diff --git a/Tools/memory_check/memleak_ignore b/Tools/memory_check/memleak_ignore new file mode 100644 index 000000000..bace9e443 --- /dev/null +++ b/Tools/memory_check/memleak_ignore @@ -0,0 +1,3 @@ +#----pg_regress +leak:regression_main +leak:get_node_info_name diff --git a/Tools/memory_check/setup_memchk.sh b/Tools/memory_check/setup_memchk.sh new file mode 100755 index 000000000..c814bd78a --- /dev/null +++ b/Tools/memory_check/setup_memchk.sh @@ -0,0 +1,520 @@ +#!/bin/bash +# *********************************************************************** +# Copyright: (c) Huawei Technologies Co., Ltd. 2019. All rights reserved. +# script for memcheck setup +# version: 1.0.0 +# change log: +# *********************************************************************** +set -e + +SUFFIX="$(date +%Y-%m-%d-%H-%M-%S | tr -d '\n\r')" +CWD="$(pwd | tr -d '\n\r')" + +alter_env_file="" +env_file="$HOME/.bashrc" +os_ver="Suse11SP1" + +user="$(whoami | tr -d '\r\n')" + +# commence/restore +action="commence" + +# jeprof/asan +mode="asan" + +version="V100R008C10" + +revision="" +jeprofpath="" + +mem_check_dir="$(dirname $0)" +TOP_DIR="$(cd $mem_check_dir/../../; pwd)" + +INST_DIR=$TOP_DIR/mppdb_temp_install +if [ ! -z $GAUSSHOME ]; then + INST_DIR=$GAUSSHOME +fi + +PORT=22200 +if [ ! -z $LLTPORT ]; then + PORT=$LLTPORT +fi + +gcc_version="5.4" + +help() +{ + echo "$0 [-t action|-m mode|-u user|-f user-profile|-v version|-r revision|-p jeprof] [/path/to/gaussdb/package]" + echo " " + echo " -t action setup or restore memory check and start cluster for you" + echo " action can be:" + echo " commence set up memory check tools and start cluster, and then you can run jobs" + echo " restore restore cluster to the state before you set up mem check tools" + echo " llt-mem-check 1) run /Code/configure with '--enable-memory-check'" + echo " 2) make && make install" + echo " 3) make fastcheck" + echo " gen-report generate report for memory check of mode 'asan' or 'jeprof'" + echo " -m mode what kind of mem check you will do" + echo " mode can be:" + echo " jeprof enaable jemallc profiling and start cluster, and then you can run jobs" + echo " asan enaable address sanitizer and start cluster" + echo " -u user current user name" + echo " -v version current mppdb version, e.g. V100R007C10" + echo " -r revision current mppdb revision, e.g. a4a4edc7" + echo " -f user-profile alternative user profile, e.g. /opt/huawei/Bigdata/mppdb/.mppdb_profile" + + echo " -p jeprof jeprof file path" + echo " " + + echo "Example:" + echo " " +} + +# environ variables +setup_environ() +{ + # SUSE + if [ $(cat /etc/issue | grep 'SUSE' | wc -l) -ge 1 ]; then + + export SUSE11_HOME="$(cd ../buildtools/suse11_sp1_x86_64/; pwd)" + export CC=$SUSE11_HOME/gcc$gcc_version/gcc/bin/gcc + export CXX=$SUSE11_HOME/gcc$gcc_version/gcc/bin/g++ + export JAVA_HOME=$SUSE11_HOME/jdk8/jdk1.8.0_77 + export JRE_HOME=$JAVA_HOME/jre + export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH + LD_LIBRARY_PATH=$JRE_HOME/lib/amd64/server:$LD_LIBRARY_PATH + LD_LIBRARY_PATH=$SUSE11_HOME/gcc$gcc_version/gcc/lib64:$SUSE11_HOME/gcc$gcc_version/isl/lib:$LD_LIBRARY_PATH + export LD_LIBRARY_PATH=$SUSE11_HOME/gcc$gcc_version/mpc/lib:$SUSE11_HOME/gcc$gcc_version/mpfr/lib/:$SUSE11_HOME/gcc$gcc_version/gmp/lib:$LD_LIBRARY_PATH + export PATH=$SUSE11_HOME/gcc$gcc_version/gcc/bin:$PATH + + # Redhat + elif [ $(cat /etc/issue | grep 'Red Hat'|wc -l) -ge 1 ]; then + + export RHEL64_HOME=$(cd ../buildtools/redhat6.4_x86_64/; pwd) + export CC=$RHEL64_HOME/gcc$gcc_version/gcc/bin/gcc + export CXX=$RHEL64_HOME/gcc$gcc_version/gcc/bin/g++ + export JAVA_HOME=$RHEL64_HOME/jdk8/jdk1.8.0_77 + export JRE_HOME=$JAVA_HOME/jre + export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH + LD_LIBRARY_PATH=$JRE_HOME/lib/amd64/server:$LD_LIBRARY_PATH + LD_LIBRARY_PATH=$RHEL64_HOME/gcc$gcc_version/gcc/lib64:$RHEL64_HOME/gcc$gcc_version/isl/lib:$LD_LIBRARY_PATH + export LD_LIBRARY_PATH=$RHEL64_HOME/gcc$gcc_version/mpc/lib:$RHEL64_HOME/gcc$gcc_version/mpfr/lib/:$RHEL64_HOME/gcc$gcc_version/gmp/lib:$LD_LIBRARY_PATH + export PATH=$RHEL64_HOME/gcc$gcc_version/gcc/bin:$PATH + + fi + + # to suppress some address-sanitizer false negative errors + ulimit -v unlimited +} + + +check_cluster() +{ + i=0 + while [ 1 ]; do + sta='' + cm_ctl query | grep 'cluster_state' | grep 'Normal' > /dev/null 2>&1 + if [ $? -eq 0 ]; then + sta="Y$sta" + fi + + cm_ctl query | grep 'balanced' | grep 'Yes' > /dev/null 2>&1 + if [ $? -eq 0 ]; then + sta="Y$sta" + else + #cluster_state: Normal + if [ ! -z $sta ] && [ $sta = "Y" ]; then + cm_ctl switchover -a + fi + fi + + chk_code='passed' + if [ -z "$sta" ] || [ "$sta" != "YY" ]; then + chk_code='failed' + else + break + fi + + # wait for 5 minutes if 'failed' + if [ $i -gt 30 ]; then + echo "####### $(date): Cluster Status = $chk_code; waiting ... #######" + sleep 10 + else + break + fi + + i=$(expr $i + 1) + done + + echo "####### $(date): Cluster Status = $chk_code ########" +} + + +get_package() +{ + if [ -z $version ]; then + echo "No db version is provided." + elif [ $version = "V100R007C00" ]; then + ftpurl="ftp://mpp:mpp@10.180.56.168:16162/V1R7TrunkC00_packges/${os_ver}" + elif [ $version = "V100R007C10" ]; then + ftpurl="ftp://mpp:mpp@10.180.56.168:16162/V1R7TrunkC10_packges/${os_ver}" + elif [ $version = "V100R008C00" ]; then + ftpurl="ftp://mpp:mpp@10.180.56.168:16162/V1R8TrunkC00_packges/${os_ver}" + else + echo "Current version $version is not supported yet." + exit 1 + fi + echo "ftp: $ftpurl" + + latest_pkg="" +ftp $ftpurl/ <<_EOF1_ > $CWD/package.list.$$ +ls -lrt +_EOF1_ + + if [ -z $revision ]; then + # get latest package, e.g. "Gauss-MPPDB-ALL-PACKAGES-20161221175107-SVN7610" + latest_pkg=$(cat $CWD/package.list.$$ | grep 'Gauss-MPPDB-ALL-PACKAGES' | tail -n 1 | awk '{print $NF}') + else + # get chosen package, e.g. "Gauss-MPPDB-ALL-PACKAGES-20161221175107-SVN7610" + latest_pkg=$(cat $CWD/package.list.$$ | grep "$revision" | awk '{print $NF}') + fi + rm -f $CWD/package.list.$$ + if [ -z "$latest_pkg" ]; then + echo "Cannot find proper package." + exit 1 + fi + + revision1=$(echo $latest_pkg | awk 'BEGIN{FS="-"}{print $7}') + if [ ! -z $revision ] && [ $revision != $revision1 ]; then + echo "Cannot get proper version $revision($revision1)" + exit 1 + fi + + revision=$revision1 + echo $revision + test -d $HOME/memchk/$revision || mkdir $HOME/memchk/$revision + cd $HOME/memchk/$revision + + for t in debug memcheck; do + test -d $t || mkdir $t + cd $t + + echo "ftpurl: $ftpurl/$latest_pkg/$t/" + ftp $ftpurl/$latest_pkg/$t/ <<_EOF2_ +get Gauss200_OLAP_${version}_PACKAGES.tar.gz +_EOF2_ + + echo "Got $latest_pkg." + + tar -xzf Gauss200_OLAP_${version}_PACKAGES.tar.gz + tar -xzvf Gauss200-OLAP-${version}*-64bit.tar.gz + + mkdir gaussdb/ + cd gaussdb + ../Gauss200-OLAP-${version}*-64bit.bin + + cd ../.. + done + + # debug version is also downloaded and extracted + inst_pkg_dir=$HOME/memchk/$revision/memcheck/gaussdb + + cd $CWD +} + +backup_binaries() +{ + for d in bin lib; do + if [ ! -d $GAUSSHOME/$d.orig ]; then + mkdir $GAUSSHOME/$d.orig + echo "cp -fr $GAUSSHOME/$d/* $GAUSSHOME/$d.orig" + cp -fr $GAUSSHOME/$d/* $GAUSSHOME/$d.orig + else + mkdir $GAUSSHOME/$d.$SUFFIX + echo "cp -fr $GAUSSHOME/$d/* $GAUSSHOME/$d.$SUFFIX" + cp -fr $GAUSSHOME/$d/* $GAUSSHOME/$d.$SUFFIX + fi + done +} + +replace_binaries() +{ + echo "cp -f $inst_pkg_dir/bin/gaussdb $GAUSSHOME/bin/gaussdb" + cp -f $inst_pkg_dir/bin/gaussdb $GAUSSHOME/bin/gaussdb +} + +restore_binaries() +{ + echo "cp -f $GAUSSHOME/bin.orig/gaussdb $GAUSSHOME/bin/gaussdb" + cp -f $GAUSSHOME/bin.orig/gaussdb $GAUSSHOME/bin/gaussdb +} + + +restart_om_monitor() +{ + ps -ef | grep -w 'om_monitor' | grep -w $user | grep -v grep + ps -ef | grep -w 'om_monitor' | grep -w $user | grep -v grep | awk '{print "kill -9", $2}' | bash + + ps -ef | grep -w 'cm_agent' | grep -w $user | grep -v grep + ps -ef | grep -w 'cm_agent' | grep -w $user | grep -v grep | awk '{print "kill -9", $2}' | bash +} + +setup_jeprof() +{ + cm_ctl stop -mi + backup_binaries + replace_binaries + + echo "Fixing $env_file..." + cp $env_file $env_file.$SUFFIX + awk '!/export MALLOC_CONF/{print $0} /export MALLOC_CONF/{}' $env_file.$SUFFIX > $env_file + echo "export MALLOC_CONF='prof:true,prof_final:false,prof_gdump:true,lg_prof_sample:20'" >> $env_file + + if [ ! -z $alter_env_file ]; then + echo "Fixing $alter_env_file..." + cp $alter_env_file $alter_env_file.$SUFFIX + awk '!/export MALLOC_CONF/{print $0} /export MALLOC_CONF/{}' $alter_env_file.$SUFFIX > $alter_env_file + echo "export MALLOC_CONF='prof:true,prof_final:false,prof_gdump:true,lg_prof_sample:20'" >> $alter_env_file + fi + + restart_om_monitor + + cm_ctl start + + check_cluster +} + +setup_asan() +{ + cm_ctl stop -mi + backup_binaries + replace_binaries + + test -d $HOME/memchk/asan || mkdir -p $HOME/memchk/asan + + echo "Fixing $env_file..." + cp $env_file $env_file.$SUFFIX + awk '!/export [AL]SAN_OPTIONS/{print $0} /export [AL]SAN_OPTIONS/{}' $env_file.$SUFFIX > $env_file + echo "export ASAN_OPTIONS='detect_leaks=1:halt_on_error=0:alloc_dealloc_mismatch=0:log_path=$HOME/memchk/asan/runlog'" >> $env_file + if [ -f $HOME/.memleak_ignore ]; then + lopt="suppressions=$TOP_DIR/Tools/memory_check/memleak_ignore" + fi + echo "export LSAN_OPTIONS='exitcode=0:$lopt'" >> $env_file + + if [ ! -z $alter_env_file ]; then + echo "Fixing $alter_env_file..." + cp $alter_env_file $alter_env_file.$SUFFIX + awk '!/export [AL]SAN_OPTIONS/{print $0} /export [AL]SAN_OPTIONS/{}' $alter_env_file.$SUFFIX > $alter_env_file + echo "export ASAN_OPTIONS='detect_leaks=1:halt_on_error=0:alloc_dealloc_mismatch=0:log_path=$HOME/memchk/asan/runlog'" >> $alter_env_file + lopt="" + if [ -f $TOP_DIR/Tools/memory_check/memleak_ignore ]; then + lopt="suppressions=$TOP_DIR/Tools/memory_check/memleak_ignore" + fi + echo "export LSAN_OPTIONS='exitcode=0:$lopt'" >> $alter_env_file + fi + + restart_om_monitor + + cm_ctl start + + check_cluster +} + +restore_jeprof() +{ + cm_ctl stop -mi + restore_binaries + + cp $env_file $env_file.$SUFFIX + awk '!/export MALLOC_CONF/{print $0} /export MALLOC_CONF/{}' $env_file.$SUFFIX > $env_file + + if [ ! -z $alter_env_file ]; then + cp $alter_env_file $alter_env_file.$SUFFIX + awk '!/export MALLOC_CONF/{print $0} /export MALLOC_CONF/{}' $alter_env_file.$SUFFIX > $alter_env_file + fi + + restart_om_monitor + + cm_ctl start + + check_cluster +} + +genreport_jeprof() +{ + if [ -z $jeprofpath ]; then + echo "You need provide jeprof file path by '-p'." + help + exit 1 + fi + + jeprofdir=$(dirname $jeprofpath) + jeproffile=$(basename $jeprofpath) + if [ ${jeproffile: -5} = ".heap" ]; then + jeproffile=${jeproffile%.heap} + fi + + mkdir jeprof-report-$SUFFIX + for f in $(ls $jeprofdir/${jeproffile}*.heap); do + fn=$(basename $f) + pprof --show_bytes --pdf $GAUSSHOME/bin/gaussdb $f > jeprof-report-$SUFFIX/$fn.pdf + done + +} + +restore_asan() +{ + cm_ctl stop -mi + restore_binaries + + cp $env_file $env_file.$SUFFIX + awk '!/export ASAN_OPTIONS/{print $0} /export ASAN_OPTIONS/{print ""}' $env_file.$SUFFIX > $env_file + + if [ ! -z $alter_env_file ]; then + cp $alter_env_file $alter_env_file.$SUFFIX + awk '!/export ASAN_OPTIONS/{print $0} /export ASAN_OPTIONS/{print ""}' $alter_env_file.$SUFFIX > $alter_env_file + fi + + restart_om_monitor + + cm_ctl start + + check_cluster +} + +genreport_asan() +{ + out_file="$TOP_DIR/Tools/memory_check/$(date +%Y-%m-%d-%H-%M-%S)" + perl $TOP_DIR/Tools/memory_check/asan_report.pl --asanlog-dir $HOME/memchk/asan --output $out_file + + echo "Please check:" + echo "$(ls ${out_file}*)" +} + +while getopts f:m:p:r:t:u:v:h option +do + case "${option}" in + f) + alter_env_file=${OPTARG} + ;; + + m) + mode=${OPTARG} + ;; + + p) + jeprofpath=${OPTARG} + ;; + + r) + revision=${OPTARG} + ;; + + t) + action=${OPTARG} + ;; + + u) + user=${OPTARG} + ;; + + v) + version=${OPTARG} + ;; + + h) + help + exit 0 + ;; + + -) + case "${OPTARG}" in + gcc) + val="${!OPTIND}"; OPTIND=$(( $OPTIND + 1 )) + gcc_version=$val + ;; + gcc=*) + val=${OPTARG#*=} + opt=${OPTARG%=$val} + gcc_version=$val + ;; + *) + echo "Unknown option --${OPTARG}" + ;; + esac + ;; + + *) + echo "The option can only be '-f', '-t', '-u', '-f', or '-h'." + echo " " + help + exit 1 + ;; + esac +done + +if [ ${gcc_version:0:3} == "5.4" ];then + gcc_version="5.4" +elif [ ${gcc_version:0:3} == "6.1" ];then + gcc_version="6.1" +else + echo "Unknown gcc version $gcc_version" + exit 0 +fi + +if [ $mode != "asan" ] && [ $mode != "jeprof" ]; then + echo "ERROR: mode ($mode) is not supported." + echo " " + help + exit 1 +fi +if [ $action != "commence" ] && [ $action != "restore" ] && [ $action != "gen-report" ] && [ $action != "llt-mem-check" ]; then + echo "ERROR: action ($action) is not supported." + echo " " + help + exit 1 +fi + +shift $((OPTIND -1)) + +inst_pkg_dir=$1 + +if [ $action = "commence" ]; then + # -- get package if necessary + if [ -z $inst_pkg_dir ]; then + get_package + # inst_pkg_dir is setup in above get_package function, if everything works well + fi + if [ -z $inst_pkg_dir ]; then + echo "Cannot get proper package for memory check." + exit 0 + fi + + if [ $mode = "asan" ]; then + setup_asan + elif [ $mode = "jeprof" ]; then + setup_jeprof + fi + +elif [ $action = "restore" ]; then + if [ $mode = "asan" ]; then + restore_asan + elif [ $mode = "jeprof" ]; then + restore_jeprof + fi + +elif [ $action = "llt-mem-check" ]; then + cd $TOP_DIR/Code/ + setup_environ + make distclean -sj + ./configure --gcc-version=${gcc_version}.0 --prefix="${INST_DIR}" CFLAGS='-O0 -g' --enable-debug --enable-cassert --enable-thread-safety --without-readline --without-zlib --enable-memory-check CC=g++ + make -sj > /dev/null || make -sj > /dev/null + make fastcheck p=$PORT -sj + +elif [ $action = "gen-report" ]; then + if [ $mode = "jeprof" ]; then + genreport_jeprof + elif [ $mode = "asan" ]; then + genreport_asan + fi +fi diff --git a/build/script/build_opengauss.sh b/build/script/build_opengauss.sh old mode 100644 new mode 100755 diff --git a/build/script/gsql_env.sh b/build/script/gsql_env.sh index 943260871..bd3670089 100644 --- a/build/script/gsql_env.sh +++ b/build/script/gsql_env.sh @@ -44,17 +44,27 @@ function doing() #------------------------------ # gsql things #------------------------------ -function cofig_gsql() +function cofig_gsql_and_gs_ktool() { - doing 'Configuring LD_LIBRARY_PATH and PATH for gsql...' + doing 'Configuring LD_LIBRARY_PATH, PATH and GS_KTOOL_FILE_PATH for gsql and gs_ktool...' LIB_PATH="${LOCAL_PATH}/lib" BIN_PATH="${LOCAL_PATH}/bin" + GS_KT_FILE_PATH="${LOCAL_PATH}/gs_ktool_file" if [ ! -f "${LOCAL_PATH}/bin/gsql" ]; then logerr "failed to locate ./bin/gsql, please source this file at the path where it is. " return 1; fi; + if [ ! -f "${LOCAL_PATH}/bin/gs_ktool" ]; then + logerr "failed to locate ./bin/gs_ktool, please source this file at the path where it is. " + return 1; + fi; + if [ ! -f "${LOCAL_PATH}/gs_ktool_file/gs_ktool_conf.ini" ]; then + logerr "failed to locate ./gs_ktool_file/gs_ktool_con.ini, please source this file at the path where it is. " + return 1; + fi; export LD_LIBRARY_PATH=${LIB_PATH}:${LD_LIBRARY_PATH} export PATH=${BIN_PATH}:${PATH} + export GS_KTOOL_FILE_PATH=${GS_KT_FILE_PATH} echo 'done' return 0 } @@ -63,7 +73,7 @@ if [ ! -z "$1" ]; then echo "Usage:" echo " source $0" else - cofig_gsql + cofig_gsql_and_gs_ktool if [ 0 -eq $? ]; then echo 'All things done.' fi diff --git a/build/script/make_win_odbc_vs2010.bat b/build/script/make_win_odbc_vs2010.bat index 2dd7e9dc5..c9469fd85 100644 --- a/build/script/make_win_odbc_vs2010.bat +++ b/build/script/make_win_odbc_vs2010.bat @@ -1,3 +1,12 @@ +rem ####################################################################### +rem Copyright (c): 2020-2025, Huawei Tech. Co., Ltd. +rem descript: Compile windows ODBC +rem Return 0 means OK. +rem Return error-code means failed. +rem version: 1.0 +rem date: 2020-12-29 +rem ####################################################################### + @echo off rem Make sure current dir is .\Build\Script @@ -18,9 +27,8 @@ set ODBC_TMP_DIR=%ROOT_DIR%odbc_tmp set FULLBRANCH=%1 if "%FULLBRANCH%" == "" ( - echo FULLBRANCH is null - set ERRORNO=%ERROR_FULLBRANCH_NULL% - goto END + echo FULLBRANCH is null + set ERRORNO=%ERROR_FULLBRANCH_NULL% && goto END ) set TAR_FILE=%ROOT_DIR%%FULLBRANCH%-Windows-Odbc.zip @@ -54,8 +62,7 @@ if exist C:\"Program Files (x86)"\WinRAR ( set winrar=C:\"Program Files"\WinRAR\winrar ) else ( echo WinRAR was nowhere to be found in C:\"Program Files (x86)"\WinRAR or C:\"Program Files"\WinRAR - set ERRORNO=%ERROR_WINRAR_NOTEXIST% - goto END + set ERRORNO=%ERROR_WINRAR_NOTEXIST% && goto END ) cd %ODBC_TMP_DIR% diff --git a/build/script/mpp_cmake_package.sh b/build/script/mpp_cmake_package.sh new file mode 100644 index 000000000..9812f3f33 --- /dev/null +++ b/build/script/mpp_cmake_package.sh @@ -0,0 +1,1623 @@ +#!/bin/bash +####################################################################### +# Copyright (c): 2020-2025, Huawei Tech. Co., Ltd. +# descript: Compile and pack MPPDB +# Return 0 means OK. +# Return 1 means failed. +# version: 2.0 +# date: 2020-08-08 +####################################################################### + +##default package type is all +declare package_type='all' +declare install_package_format='tar' +declare optimized='true' + +declare product_mode='multiple' + +##default version mode is relase +declare version_mode='release' +declare binarylib_dir='None' +declare separate_symbol='on' +#detect platform information. +PLATFORM=32 +bit=$(getconf LONG_BIT) +if [ "$bit" -eq 64 ]; then + PLATFORM=64 +fi + +#get OS distributed version. +kernel="" +version="" +if [ -f "/etc/euleros-release" ]; then + kernel=$(cat /etc/euleros-release | awk -F ' ' '{print $1}' | tr A-Z a-z) + version=$(cat /etc/euleros-release | awk -F '(' '{print $2}'| awk -F ')' '{print $1}' | tr A-Z a-z) +elif [ -f "/etc/openEuler-release" ]; then + kernel=$(cat /etc/openEuler-release | awk -F ' ' '{print $1}' | tr A-Z a-z) + version=$(cat /etc/openEuler-release | awk -F '(' '{print $2}'| awk -F ')' '{print $1}' | tr A-Z a-z) +elif [ -f "/etc/centos-release" ]; then + kernel=$(cat /etc/centos-release | awk -F ' ' '{print $1}' | tr A-Z a-z) + version=$(cat /etc/centos-release | awk -F '(' '{print $2}'| awk -F ')' '{print $1}' | tr A-Z a-z) +else + kernel=$(lsb_release -d | awk -F ' ' '{print $2}'| tr A-Z a-z) + version=$(lsb_release -r | awk -F ' ' '{print $2}') +fi + +if [ X"$kernel" == X"euleros" ]; then + dist_version="EULER" +elif [ X"$kernel" == X"centos" ]; then + dist_version="CENTOS" +elif [ X"$kernel" == X"openeuler" ]; then + dist_version="OPENEULER" +elif [ X"$kernel" == X"kylin" ]; then + dist_version="KYLIN" +else + echo "Only support EulerOS, OPENEULER(aarch64), CentOS and Kylin(aarch64) platform." + echo "Kernel is $kernel" + exit 1 +fi + +show_package=false + +gcc_version="7.3.0" +##add platform architecture information +cpus_num=$(grep -w processor /proc/cpuinfo|wc -l) +PLATFORM_ARCH=$(uname -p) +if [ "$PLATFORM_ARCH"X == "aarch64"X ] ; then + if [ "$dist_version" == "EULER" ]; then + ARCHITECTURE_EXTRA_FLAG=_euleros2.0_sp8_$PLATFORM_ARCH + GAUSSDB_EXTRA_FLAGS=" -D__USE_NUMA" + elif [ "$dist_version" == "CENTOS" ]; then + ARCHITECTURE_EXTRA_FLAG=_centos_7.5_$PLATFORM_ARCH + elif [ "$dist_version" == "OPENEULER" ]; then + ARCHITECTURE_EXTRA_FLAG=_openeuler_$PLATFORM_ARCH + # it may be risk to enable 'ARM_LSE' for all ARM CPU, but we bid our CPUs are not elder than ARMv8.1 + GAUSSDB_EXTRA_FLAGS=" -D__USE_NUMA -D__ARM_LSE" + elif [ "$dist_version" == "KYLIN" ]; then + ARCHITECTURE_EXTRA_FLAG=_kylin_$PLATFORM_ARCH + else + ARCHITECTURE_EXTRA_FLAG=_$PLATFORM_ARCH + fi + release_file_list="mpp_release_list_${kernel}_${PLATFORM_ARCH}" +else + ARCHITECTURE_EXTRA_FLAG=_euleros2.0_sp5_$PLATFORM_ARCH + release_file_list="mpp_release_list_${kernel}" +fi + +##default install version storage path +declare mppdb_version='GaussDB Kernel' +declare mppdb_name_for_package="$(echo ${mppdb_version} | sed 's/ /-/g')" +declare package_path='./' +declare version_number='' +declare make_check='off' +declare zip_package='on' +declare extra_config_opt='' + +####################################################################### +##putout the version of mppdb +####################################################################### +function print_version() +{ + echo "$version_number" +} +####################################################################### +## print help information +####################################################################### +function print_help() +{ + echo "Usage: $0 [OPTION] + -h|--help show help information. + -V|--version show version information. + -f|--file provide the file list released. + -3rd|--binarylib_dir the directory of third party binarylibs. + -pkg|--package provode type of installation packages, values parameter is all, server, jdbc, odbc, agent. + -pm product mode, values parameter is single, multiple or opengauss, default value is multiple. + -p|--path generation package storage path. + -t packaging format, values parameter is tar or rpm, the default value is tar. + -m|--version_mode this values of paramenter is debug, release, memcheck, the default value is release. + -mc|--make_check this values of paramenter is on or off, the default value is on. + -s|--symbol_mode whether separate symbol in debug mode, the default value is on. + -cv|--gcc_version gcc-version option: 7.3.0. + -nopt|--not_optimized on kunpeng platform , like 1616 version, without LSE optimized. + -nopkg|--no_package don't zip binaries into packages + -co|--config_opt more config options + -S|--show_pkg show server package name and Bin name base on current configuration. +" +} + +if [ $# = 0 ] ; then + echo "missing option" + print_help + exit 1 +fi + +SCRIPT_PATH=${0} +FIRST_CHAR=$(expr substr "$SCRIPT_PATH" 1 1) +if [ "$FIRST_CHAR" = "/" ]; then + SCRIPT_PATH=${0} +else + SCRIPT_PATH="$(pwd)/${SCRIPT_PATH}" +fi + +SCRIPT_DIR=$(dirname "${SCRIPT_PATH}") +SCRIPT_DIR=$(dirname "$SCRIPT_DIR") + +if [ ! -f "$SCRIPT_DIR"/mpp_package.sh ] ; then + SCRIPT_DIR=$SCRIPT_DIR/script +fi + +package_path=$SCRIPT_DIR +####################################################################### +##read version from $release_file_list +####################################################################### +function read_mpp_version() +{ + cd $SCRIPT_DIR + local head=$(cat $release_file_list | grep "\[version\]" -n | awk -F: '{print $1}') + if [ ! -n "$head" ]; then + echo "error: no find version in the $release_file_list file " + exit 1 + fi + local tail=$(cat $release_file_list | sed "1,$head d" | grep "^\[" -n | sed -n "1p" | awk -F: '{print $1}') + if [ ! -n "$tail" ]; then + local all=$(cat $release_file_list | wc -l) + let tail=$all+1-$head + fi + version_number=$(cat $release_file_list | awk "NR==$head+1,NR==$tail+$head-1") + echo "${mppdb_name_for_package}-${version_number}">version.cfg + #auto read the number from kernal globals.cpp, no need to change it here +} +####################################################################### +##first read mppdb version +####################################################################### + +######################################################################### +##read command line paramenters +####################################################################### +while [ $# -gt 0 ]; do + case "$1" in + -h|--help) + print_help + exit 1 + ;; + -V|--version) + print_version + exit 1 + ;; + -f|--file) + if [ "$2"X = X ]; then + echo "no given file name" + exit 1 + fi + release_file_list=$2 + shift 2 + ;; + -3rd|--binarylib_dir) + if [ "$2"X = X ]; then + echo "no given binarylib directory values" + exit 1 + fi + binarylib_dir=$2 + shift 2 + ;; + -p|--path) + if [ "$2"X = X ]; then + echo "no given generration package path" + exit 1 + fi + package_path=$2 + if [ ! -d "$package_path" ]; then + mkdir -p $package_path + fi + shift 2 + ;; + -pkg) + if [ "$2"X = X ]; then + echo "no given package type name" + exit 1 + fi + package_type=$2 + shift 2 + ;; + -pm) + if [ "$2"X = X ]; then + echo "no given product mode" + exit 1 + fi + product_mode=$2 + shift 2 + ;; + -s|--symbol_mode) + if [ "$2"X = X ]; then + echo "no given symbol parameter" + exit 1 + fi + separate_symbol=$2 + shift 2 + ;; + -t) + if [ "$2"X = X ]; then + echo "no given installation package format values" + exit 1 + fi + if [ "$2" = rpm ]; then + echo "error: do not suport rpm package now!" + exit 1 + fi + install_package_format=$2 + shift 1 + ;; + -m|--version_mode) + if [ "$2"X = X ]; then + echo "no given version number values" + exit 1 + fi + version_mode=$2 + shift 2 + ;; + -mc|--make_check) + if [ "$2"X = X ]; then + echo "no given make check values" + exit 1 + fi + make_check=$2 + shift 2 + ;; + -cv|--gcc_version) + if [ "$2"X = X ]; then + echo "no given gcc version" + exit 1 + fi + gcc_version=$2 + shift 2 + ;; + -nopt|--not_optimized) + optimized='false' + shift 1 + ;; + -nopkg|--no_package) + zip_package='off' + shift 1 + ;; + -co|--config_opt) + if [ "$2"X = X ]; then + echo "no extra configure options provided" + exit 1 + fi + extra_config_opt=$2 + shift 2 + ;; + -S|--show_pkg) + show_package=true + shift + ;; + *) + echo "Internal Error: option processing error: $1" 1>&2 + echo "please input right paramtenter, the following command may help you" + echo "./mpp_package.sh --help or ./mpp_package.sh -h" + exit 1 + esac +done + +if [ "$product_mode"x == "single"x ]; then + release_file_list="${release_file_list}_${product_mode}" +fi + +if [ "$product_mode"x == "opengauss"x ]; then + release_file_list=$(echo ${release_file_list}_single | sed -e 's/mpp_release/opengauss_release/') +fi + +read_mpp_version + +if [ "$gcc_version" = "7.3.0" ]; then + gcc_version=${gcc_version:0:3} +else + echo "Unknown gcc version $gcc_version" + exit 1 +fi + +####################################################################### +## declare all package name +####################################################################### +declare version_string="${mppdb_name_for_package}-${version_number}" +declare package_pre_name="${version_string}-${dist_version}-${PLATFORM}bit" +declare server_package_name="${package_pre_name}.${install_package_format}.gz" +declare agent_package_name="${package_pre_name}-AGENT.${install_package_format}.gz" +declare gsql_package_name="${mppdb_name_for_package}-${version_number}-${dist_version}-${PLATFORM}bit-gsql.${install_package_format}.gz" +declare client_package_name="${package_pre_name}-ClientTools.${install_package_format}.gz" +declare libpq_package_name="${package_pre_name}-Libpq.${install_package_format}.gz" +declare gds_package_name="${package_pre_name}-Gds.${install_package_format}.gz" +declare symbol_package_name="${package_pre_name}-symbol.${install_package_format}.gz" +declare inspection_package_name="${version_string}-Inspection.tar.gz" + +echo "[makemppdb] $(date +%y-%m-%d' '%T): script dir : ${SCRIPT_DIR}" +ROOT_DIR=$(dirname "$SCRIPT_DIR") +ROOT_DIR=$(dirname "$ROOT_DIR") +PLAT_FORM_STR=$(sh "${ROOT_DIR}/src/get_PlatForm_str.sh") +if [ "${PLAT_FORM_STR}"x == "Failed"x ] +then + echo "Only support EulerOS openEuler and Centros platform." + exit 1; +fi +PG_REG_TEST_ROOT="${ROOT_DIR}" +ROACH_DIR="${ROOT_DIR}/src/distribute/bin/roach" + +CMAKE_BUILD_DIR=${ROOT_DIR}/tmp_build +MPPDB_DECODING_DIR="${ROOT_DIR}/contrib/mppdb_decoding" +PMK_SCHEMA="${ROOT_DIR}/script/pmk_schema.sql" +declare LOG_FILE="${ROOT_DIR}/build/script/makemppdb_pkg.log" +declare BUILD_DIR="${ROOT_DIR}/mppdb_temp_install" +declare ERR_MKGS_FAILED=1 +declare MKGS_OK=0 +if [ "${binarylib_dir}" != 'None' ] && [ -d "${binarylib_dir}" ]; then + BUILD_TOOLS_PATH="${binarylib_dir}/buildtools/${PLAT_FORM_STR}" + BINARYLIBS_PATH="${binarylib_dir}/dependency" +else + BUILD_TOOLS_PATH="${ROOT_DIR}/buildtools/${PLAT_FORM_STR}" + BINARYLIBS_PATH="${ROOT_DIR}/binarylibs" +fi + +declare UPGRADE_SQL_DIR="${ROOT_DIR}/src/distribute/include/catalog/upgrade_sql" + +gaussdb_200_file="${binarylib_dir}/buildtools/license_control/gaussdb.version.GaussDB200" +gaussdb_300_file="${binarylib_dir}/buildtools/license_control/gaussdb.version.GaussDB300" +gaussdb_200_standard_file="${binarylib_dir}/buildtools/license_control/gaussdb.license.GaussDB200_Standard" +gaussdb_version_file="${ROOT_DIR}/src/gausskernel/process/postmaster/gaussdb_version.cpp" + +ccache -V >/dev/null 2>&1 && USE_CCACHE="ccache " ENABLE_CCACHE="--enable-ccache" +export CC="${USE_CCACHE}$BUILD_TOOLS_PATH/gcc$gcc_version/gcc/bin/gcc" +export CXX="${USE_CCACHE}$BUILD_TOOLS_PATH/gcc$gcc_version/gcc/bin/g++" +export LD_LIBRARY_PATH=$BUILD_TOOLS_PATH/gcc$gcc_version/gcc/lib64:$BUILD_TOOLS_PATH/gcc$gcc_version/isl/lib:$BUILD_TOOLS_PATH/gcc$gcc_version/mpc/lib/:$BUILD_TOOLS_PATH/gcc$gcc_version/mpfr/lib/:$BUILD_TOOLS_PATH/gcc$gcc_version/gmp/lib/:$LD_LIBRARY_PATH +export PATH=$BUILD_TOOLS_PATH/gcc$gcc_version/gcc/bin:$PATH + +declare p7zpath="${BUILD_TOOLS_PATH}/p7z/bin" +################################### +# build parameter about enable-llt +################################## +COMPLIE_TYPE="comm" +echo "[makemppdb] $(date +%y-%m-%d' '%T): Work root dir : ${ROOT_DIR}" +################################### +# get version number from globals.cpp +################################## +function read_mpp_number() +{ + global_kernal="${ROOT_DIR}/src/common/backend/utils/init/globals.cpp" + version_name="GRAND_VERSION_NUM" + version_num="" + line=$(cat $global_kernal | grep ^const* | grep $version_name) + version_num1=${line#*=} + #remove the symbol; + version_num=$(echo $version_num1 | tr -d ";") + #remove the blank + version_num=$(echo $version_num) + + if echo $version_num | grep -qE '^92[0-9]+$' + then + # get the last three number + latter=${version_num:2} + echo "92.${latter}" >>${SCRIPT_DIR}/version.cfg + else + echo "Cannot get the version number from globals.cpp." + exit 1 + fi +} +read_mpp_number + +####################################################################### +# Print log. +####################################################################### +log() +{ + echo "[makegaussdb] $(date +%y-%m-%d' '%T): $@" + echo "[makegaussdb] $(date +%y-%m-%d' '%T): $@" >> "$LOG_FILE" 2>&1 +} + +####################################################################### +# print log and exit. +####################################################################### +die() +{ + log "$@" + echo "$@" + exit $ERR_MKGS_FAILED +} + +####################################################################### +## Check the installation package production environment +####################################################################### +function mpp_pkg_pre_check() +{ + if [ -d "$BUILD_DIR" ]; then + rm -rf $BUILD_DIR + fi + if [ -d "$LOG_FILE" ]; then + rm -rf $LOG_FILE + fi + + if [ X"$package_type" == X"server" -o X"$package_type" == X"all" ] && [ X"$zip_package" = X"on" ] && [ ! -d "${ROOT_DIR}"/script/script/gspylib/ ]; then + printf "\033[31mCan not found OM script directory. solution steps:\n\033[0m" + echo " 1) git clone git@isource-dg.huawei.com:2222/GaussDB_Kernel/GaussDB_Kernel_OM.git -b $(git branch | grep '*' | sed -e 's/*//g' -e 's/^ //g')" + echo " 2) if you do not have the permission to git it, please call CMO " + echo " 3) rm -rf ${ROOT_DIR}/script && ln -s /GaussDB_Kernel_OM ${ROOT_DIR}/script" + echo "and then try again!" + exit 1 + fi +} + +####################################################################### +# Install all SQL files from src/distribute/include/catalog/upgrade_sql +# to INSTALL_DIR/bin/script/upgrade_sql. +# Package all SQL files and then verify them with SHA256. +####################################################################### +function package_upgrade_sql() +{ + echo "Begin to install upgrade_sql files..." + UPGRADE_SQL_TAR="upgrade_sql.tar.gz" + UPGRADE_SQL_SHA256="upgrade_sql.sha256" + SINGLE_IGNORE_VERSION=(263 264 270 280 287) + MULTIP_IGNORE_VERSION=(289 294 296) + cp -r "${UPGRADE_SQL_DIR}" . + [ $? -ne 0 ] && die "Failed to cp upgrade_sql files" + if [ "$product_mode"x == "single"x ] || [ "$product_mode"x == "opengauss"x ]; then + for version_num in ${SINGLE_IGNORE_VERSION[*]} + do + find ./upgrade_sql -name *${version_num}* | xargs rm -rf + done + fi + if [ "$product_mode"x == "multiple"x ]; then + for version_num in ${MULTIP_IGNORE_VERSION[*]} + do + find ./upgrade_sql -name *${version_num}* | xargs rm -rf + done + fi + tar -czf ${UPGRADE_SQL_TAR} upgrade_sql + [ $? -ne 0 ] && die "Failed to package ${UPGRADE_SQL_TAR}" + rm -rf ./upgrade_sql > /dev/null 2>&1 + + sha256sum ${UPGRADE_SQL_TAR} | awk -F" " '{print $1}' > "${UPGRADE_SQL_SHA256}" + [ $? -ne 0 ] && die "Failed to generate sha256 sum file for ${UPGRADE_SQL_TAR}" + + chmod 600 ${UPGRADE_SQL_TAR} + chmod 600 ${UPGRADE_SQL_SHA256} + + echo "Successfully packaged upgrade_sql files." +} +####################################################################### +# get cluster version from src/include/pg_config.h by 'DEF_GS_VERSION ' +# then replace OM tools version +####################################################################### +function replace_omtools_version() +{ + local gs_version=$(grep DEF_GS_VERSION ${CMAKE_BUILD_DIR}/pg_config.h | awk -F '"' '{print $2}') + echo $gs_version | grep -e "${mppdb_version}.*build.*compiled.*" > /dev/null 2>&1 + if [ $? -ne 0 ]; then + die "Failed to get gs_version from pg_config.h." + fi + + if [ -f "$1"/script/gspylib/common/VersionInfo.py ] ; then + sed -i -e "s/COMMON_VERSION = \"Gauss200 OM VERSION\"/COMMON_VERSION = \"$(echo ${gs_version})\"/g" -e "s/__GAUSS_PRODUCT_STRING__/$mppdb_version/g" $1/script/gspylib/common/VersionInfo.py + if [ $? -ne 0 ]; then + die "Failed to replace OM tools version number." + fi + else + sed -i "s/COMMON_VERSION = \"Gauss200 OM VERSION\"/COMMON_VERSION = \"$(echo ${gs_version})\"/g" $1/script/gspylib/os/gsOSlib.py + if [ $? -ne 0 ]; then + die "Failed to replace OM tools version number." + fi + fi + + grep 'CATALOG_VERSION_NO' ${PG_REG_TEST_ROOT}/src/include/catalog/catversion.h >/dev/null 2>&1 + if [ $? -ne 0 ]; then + die "Failed to get catalog_version from catversion.h." + fi + + catalog_version=$(grep 'CATALOG_VERSION_NO' ${PG_REG_TEST_ROOT}/src/include/catalog/catversion.h | uniq | awk -F ' ' '{print $NF}') + if [ x"$catalog_version" == x"" ]; then + die "Failed to get catalog_version from catversion.h." + fi + + sed -i "s/TABLESPACE_VERSION_DIRECTORY = .*/TABLESPACE_VERSION_DIRECTORY = \"PG_9.2_$(echo ${catalog_version})\"/g" $1/script/gspylib/common/Common.py + if [ $? -ne 0 ]; then + die "Failed to replacecatalog_version number." + fi + +} +####################################################################### +# get cluster version from src/include/pg_config.h by 'DEF_GS_VERSION ' +# then replace ODBC version +####################################################################### +function replace_odbc_version() +{ + local gs_version=$(grep DEF_GS_VERSION ${CMAKE_BUILD_DIR}/pg_config.h | awk -F '"' '{print $2}') + echo $gs_version | grep -e "${mppdb_version:x}.*build.*compiled.*" > /dev/null 2>&1 + + if [ $? -ne 0 ]; then + die "Failed to get gs_version from pg_config.h." + fi + + if [ -f "$1"/config.h ] ; then + sed -i "/^\\s*#define\\s*DEF_GS_VERSION.*$/d" $1/config.h + echo "#define DEF_GS_VERSION \"$(echo ${gs_version})\"">>$1/config.h + if [ $? -ne 0 ]; then + die "Failed to replace odbc tools version number." + fi + else + echo "Failed to replace odbc tools: can not find file $1/config.h." + fi +} +####################################################################### +##install gaussdb database and others +##select to install something according to variables package_type need +####################################################################### +function mpp_pkg_bld() +{ + case "$package_type" in + all) + echo "Install all" + install_gaussdb + install_inspection + echo "Install all success" + ;; + server) + install_gaussdb + ;; + gsql) + install_gaussdb + ;; + libpq) + install_gaussdb + ;; + gds) + install_gaussdb + ;; + inspection) + install_inspection + ;; + *) + echo "Internal Error: option processing error: $package_type" + echo "please input right paramenter values all, server, libpq, gds or gsql " + exit 1 + esac +} +####################################################################### +##install inspection tool scripts +####################################################################### +function install_inspection() +{ + echo "packaging inspection..." + rm -rf ${package_path}/inspection && + mkdir -p ${package_path}/inspection && + + cp -f ${script_dir}/script/gs_check ${package_path}/inspection/ && + cp -rf ${script_dir}/script/gspylib/ ${package_path}/inspection/ && + + mkdir -p ${package_path}/inspection/gspylib/inspection/output/log/ && + mkdir -p ${package_path}/inspection/gspylib/inspection/output/nodes/ && + mkdir -p ${package_path}/inspection/gspylib/inspection/lib/asn1crypto/ && + mkdir -p ${package_path}/inspection/gspylib/inspection/lib/bcrypt/ && + mkdir -p ${package_path}/inspection/gspylib/inspection/lib/cryptography/ && + mkdir -p ${package_path}/inspection/gspylib/inspection/lib/cffi/ && + mkdir -p ${package_path}/inspection/gspylib/inspection/lib/enum/ && + mkdir -p ${package_path}/inspection/gspylib/inspection/lib/idna/ && + mkdir -p ${package_path}/inspection/gspylib/inspection/lib/nacl/ && + mkdir -p ${package_path}/inspection/gspylib/inspection/lib/pyasn1/ && + mkdir -p ${package_path}/inspection/gspylib/inspection/lib/kafka-python/ && + mkdir -p ${package_path}/inspection/gspylib/inspection/lib/pycparser/ && + mkdir -p ${package_path}/inspection/gspylib/inspection/lib/OpenSSL/ && + mkdir -p ${package_path}/inspection/gspylib/inspection/lib/psutil/ && + mkdir -p ${package_path}/inspection/gspylib/inspection/lib/netifaces/ && + mkdir -p ${package_path}/inspection/gspylib/inspection/lib/paramiko/ && + mkdir -p ${package_path}/inspection/gspylib/inspection/lib/paste/ && + mkdir -p ${package_path}/inspection/gspylib/inspection/lib/bottle/ && + + cp -rf ${BINARYLIBS_PATH}/install_tools${ARCHITECTURE_EXTRA_FLAG}/asn1crypto/ ${package_path}/inspection/gspylib/inspection/lib/ + cp -rf ${BINARYLIBS_PATH}/install_tools${ARCHITECTURE_EXTRA_FLAG}/bcrypt/ ${package_path}/inspection/gspylib/inspection/lib/ + cp -rf ${BINARYLIBS_PATH}/install_tools${ARCHITECTURE_EXTRA_FLAG}/cffi/ ${package_path}/inspection/gspylib/inspection/lib/ + cp -rf ${BINARYLIBS_PATH}/install_tools${ARCHITECTURE_EXTRA_FLAG}/cryptography/ ${package_path}/inspection/gspylib/inspection/lib/ + cp -rf ${BINARYLIBS_PATH}/install_tools${ARCHITECTURE_EXTRA_FLAG}/enum/ ${package_path}/inspection/gspylib/inspection/lib/ + cp -rf ${BINARYLIBS_PATH}/install_tools${ARCHITECTURE_EXTRA_FLAG}/idna/ ${package_path}/inspection/gspylib/inspection/lib/ + cp -rf ${BINARYLIBS_PATH}/install_tools${ARCHITECTURE_EXTRA_FLAG}/nacl/ ${package_path}/inspection/gspylib/inspection/lib/ + cp -rf ${BINARYLIBS_PATH}/install_tools${ARCHITECTURE_EXTRA_FLAG}/pyasn1/ ${package_path}/inspection/gspylib/inspection/lib/ + cp -rf ${BINARYLIBS_PATH}/install_tools${ARCHITECTURE_EXTRA_FLAG}/kafka-python/ ${package_path}/inspection/gspylib/inspection/lib/ + cp -rf ${BINARYLIBS_PATH}/install_tools${ARCHITECTURE_EXTRA_FLAG}/pycparser/ ${package_path}/inspection/gspylib/inspection/lib/ + cp -rf ${BINARYLIBS_PATH}/install_tools${ARCHITECTURE_EXTRA_FLAG}/OpenSSL/ ${package_path}/inspection/gspylib/inspection/lib/ + cp -rf ${BINARYLIBS_PATH}/install_tools${ARCHITECTURE_EXTRA_FLAG}/ipaddress.py ${package_path}/inspection/gspylib/inspection/lib/ + cp -rf ${BINARYLIBS_PATH}/install_tools${ARCHITECTURE_EXTRA_FLAG}/six.py ${package_path}/inspection/gspylib/inspection/lib/ + cp -rf ${BINARYLIBS_PATH}/install_tools${ARCHITECTURE_EXTRA_FLAG}/_cffi_backend.py ${package_path}/inspection/gspylib/inspection/lib/ + cp -rf ${BINARYLIBS_PATH}/install_tools${ARCHITECTURE_EXTRA_FLAG}/_cffi_backend.so_UCS2 ${package_path}/inspection/gspylib/inspection/lib/ + cp -rf ${BINARYLIBS_PATH}/install_tools${ARCHITECTURE_EXTRA_FLAG}/_cffi_backend.so_UCS4 ${package_path}/inspection/gspylib/inspection/lib/ + cp -rf ${BINARYLIBS_PATH}/install_tools${ARCHITECTURE_EXTRA_FLAG}/psutil/ ${package_path}/inspection/gspylib/inspection/lib/ + cp -rf ${BINARYLIBS_PATH}/install_tools${ARCHITECTURE_EXTRA_FLAG}/netifaces/ ${package_path}/inspection/gspylib/inspection/lib/ + cp -rf ${BINARYLIBS_PATH}/install_tools${ARCHITECTURE_EXTRA_FLAG}/paramiko/ ${package_path}/inspection/gspylib/inspection/lib/ + cp -rf ${BINARYLIBS_PATH}/install_tools${ARCHITECTURE_EXTRA_FLAG}/paste/ ${package_path}/inspection/gspylib/inspection/lib/ + cp -rf ${BINARYLIBS_PATH}/install_tools${ARCHITECTURE_EXTRA_FLAG}/bottle/ ${package_path}/inspection/gspylib/inspection/lib/ + + mv -f ${package_path}/inspection/gspylib/inspection/readme.txt ${package_path}/inspection/ + + if [ $? -ne 0 ]; then + die "cp -rf ${script_dir}/script/inspection/* ${package_path}/inspection/inspection/ failed" + fi + + find ${package_path}/inspection/ -name .svn -type d -print0 | xargs -0 rm -rf + find ${package_path}/inspection/ -name d2utmp* -print0 | xargs -0 rm -rf + chmod -R +x ${package_path}/inspection/ + + cd ${package_path}/inspection + select_package_command + $package_command "${inspection_package_name}" ./* >>"$LOG_FILE" 2>&1 + if [ $? -ne 0 ]; then + die "$package_command ${inspection_package_name} failed" + fi + mv ${inspection_package_name} ${package_path} + rm -rf ${package_path}/inspection/ + echo "install $pkgname tools is ${inspection_package_name} of ${package_path} directory " >> "$LOG_FILE" 2>&1 + echo "success!" +} +####################################################################### +##install gaussdb database contained server,client and libpq +####################################################################### +function install_gaussdb() +{ + # Generate the license control file, and set md5sum string to the code. + echo "Modify gaussdb_version.cpp file." >> "$LOG_FILE" 2>&1 + make_license_control + echo "Modify gaussdb_version.cpp file success." >> "$LOG_FILE" 2>&1 + #putinto to Code dir + cd "$ROOT_DIR" + #echo "$ROOT_DIR/Code" + if [ $? -ne 0 ]; then + die "change dir to $SRC_DIR failed." + fi + + if [ "$version_mode" = "debug" -a "$separate_symbol" = "on" ]; then + echo "WARNING: do not separate symbol in debug mode!" + fi + + if [ "$product_mode" != "single" ] && [ "$product_mode" != "multiple" ] && [ "$product_mode" != "opengauss" ]; then + die "the product mode can only be multiple, single, or opengauss!" + fi + + binarylibs_path=${ROOT_DIR}/binarylibs + if [ "${binarylib_dir}"x != "None"x ]; then + binarylibs_path=${binarylib_dir} + fi + + export APPEND_FLAGS="-g3 -w -fPIC" + export BUILD_TUPLE=${PLATFORM_ARCH} + echo *******${PLATFORM_ARCH}****** + export THIRD_BIN_PATH="${binarylibs_path}" + export prefix_home="${BUILD_DIR}" + export LD_LIBRARY_PATH=${BINARYLIBS_PATH}/${PLAT_FORM_STR}/kerberos/comm/lib:$LD_LIBRARY_PATH + export LD_LIBRARY_PATH=${BINARYLIBS_PATH}/${PLAT_FORM_STR}/libcgroup/comm/lib:$LD_LIBRARY_PATH + export LD_LIBRARY_PATH=${BINARYLIBS_PATH}/${PLAT_FORM_STR}/openssl/comm/lib:$LD_LIBRARY_PATH + export LD_LIBRARY_PATH=${BINARYLIBS_PATH}/${PLAT_FORM_STR}/libcurl/comm/lib:$LD_LIBRARY_PATH + + + #shared_opt="--gcc-version=${gcc_version}.0 --prefix="${BUILD_DIR}" --3rd=${binarylibs_path} --enable-thread-safety --without-readline --without-zlib" + if [ "$product_mode"x == "multiple"x ]; then + if [ "$version_mode"x == "release"x ]; then + #./configure $shared_opt CFLAGS="-O2 -g3 ${GAUSSDB_EXTRA_FLAGS}" CC="${USE_CCACHE}g++" ${ENABLE_CCACHE} --enable-multiple-nodes $extra_config_opt >> "$LOG_FILE" 2>&1 + CMAKE_OPT="-DENABLE_MULTIPLE_NODES=ON -DENABLE_THREAD_SAFETY=ON" + export DEBUG_TYPE=release + elif [ "$version_mode"x == "memcheck"x ]; then + ./configure $shared_opt CFLAGS='-O0' --enable-debug --enable-cassert --enable-memory-check CC=g++ --enable-multiple-nodes $extra_config_opt >> "$LOG_FILE" 2>&1 + elif [ "$version_mode"x == "threadcheck"x ] && [ "$PLATFORM_ARCH"X == "aarch64"X ]; then + ./configure $shared_opt CFLAGS='-O2 -g3' --disable-jemalloc --enable-thread-check CC=g++ --enable-multiple-nodes $extra_config_opt >> "$LOG_FILE" 2>&1 + elif [ "$version_mode"x == "fiurelease"x ]; then + ./configure $shared_opt CFLAGS="-O2 -g3 ${GAUSSDB_EXTRA_FLAGS}" CC=g++ --enable-multiple-nodes --disable-jemalloc $extra_config_opt >> "$LOG_FILE" 2>&1 + elif [ "$version_mode"x == "fiudebug"x ]; then + ./configure $shareed_opt CFLAGS="-O0 ${GAUSSDB_EXTRA_FLAGS}" --enable-debug --enable-cassert CC=g++ --enable-multiple-nodes --disable-jemalloc $extra_config_opt >> "$LOG_FILE" 2>&1 + else + #./configure $shared_opt CFLAGS="-O0 ${GAUSSDB_EXTRA_FLAGS}" --enable-debug --enable-cassert CC="${USE_CCACHE}g++" ${ENABLE_CCACHE} --enable-multiple-nodes $extra_config_opt >> "$LOG_FILE" 2>&1 + CMAKE_OPT="-DENABLE_MULTIPLE_NODES=ON -DENABLE_THREAD_SAFETY=ON" + export DEBUG_TYPE=debug + fi + elif [ "$product_mode"x == "single"x ]; then + if [ "$version_mode"x == "release"x ]; then + # configure -D__USE_NUMA -D__ARM_LSE with arm single mode + if [ "$PLATFORM_ARCH"X == "aarch64"X ] ; then + #echo "configure -D__USE_NUMA -D__ARM_LSE with arm single mode" + GAUSSDB_EXTRA_FLAGS=" -D__USE_NUMA -D__ARM_LSE " + fi + #./configure $shared_opt CFLAGS="-O2 -g3 ${GAUSSDB_EXTRA_FLAGS}" CC=g++ --enable-privategauss $extra_config_opt >> "$LOG_FILE" 2>&1 + + CMAKE_OPT="-DENABLE_MULTIPLE_NODES=OFF -DENABLE_THREAD_SAFETY=ON -DENABLE_PRIVATEGAUSS=ON" + export DEBUG_TYPE=release + elif [ "$version_mode"x == "memcheck"x ]; then + ./configure $shared_opt CFLAGS='-O0' --enable-debug --enable-cassert --enable-memory-check CC=g++ --enable-privategauss $extra_config_opt >> "$LOG_FILE" 2>&1 + elif [ "$version_mode"x == "fiurelease"x ]; then + ./configure $shared_opt CFLAGS="-O2 -g3 ${GAUSSDB_EXTRA_FLAGS}" --disable-jemalloc CC=g++ --enable-privategauss $extra_config_opt >> "$LOG_FILE" 2>&1 + elif [ "$version_mode"x == "fiudebug"x ]; then + ./configure $shared_opt CFLAGS="-O0 ${GAUSSDB_EXTRA_FLAGS}" --enable-debug --enable-cassert --disable-jemalloc CC=g++ --enable-privategauss $extra_config_opt >> "$LOG_FILE" 2>&1 + else + #./configure $shared_opt CFLAGS="-O0 ${GAUSSDB_EXTRA_FLAGS}" --enable-debug --enable-cassert CC=g++ --enable-privategauss $extra_config_opt >> "$LOG_FILE" 2>&1 + + CMAKE_OPT="-DENABLE_MULTIPLE_NODES=OFF -DENABLE_THREAD_SAFETY=ON -DENABLE_PRIVATEGAUSS=ON" + export DEBUG_TYPE=debug + fi + else # product_mode == opengauss + if [ "$version_mode"x == "release"x ]; then + # configure -D__USE_NUMA -D__ARM_LSE with arm opengauss mode + if [ "$PLATFORM_ARCH"X == "aarch64"X ] ; then + #echo "configure -D__USE_NUMA -D__ARM_LSE with arm opengauss mode" + GAUSSDB_EXTRA_FLAGS=" -D__USE_NUMA -D__ARM_LSE" + CMAKE_OPT="-DENABLE_MULTIPLE_NODES=OFF -DENABLE_THREAD_SAFETY=ON" + export DEBUG_TYPE=release + fi + + ./configure $shared_opt CFLAGS="-O2 -g3 ${GAUSSDB_EXTRA_FLAGS}" --enable-mot CC=g++ $extra_config_opt >> "$LOG_FILE" 2>&1 + elif [ "$version_mode"x == "memcheck"x ]; then + ./configure $shared_opt CFLAGS="-O0" --enable-mot --enable-debug --enable-cassert --enable-memory-check CC=g++ $extra_config_opt >> "$LOG_FILE" 2>&1 + elif [ "$version_mode"x == "fiurelease"x ]; then + ./configure $shared_opt CFLAGS="-O2 -g3 ${GAUSSDB_EXTRA_FLAGS}" --enable-mot --disable-jemalloc CC=g++ $extra_config_opt >> "$LOG_FILE" 2>&1 + elif [ "$version_mode"x == "fiudebug"x ]; then + ./configure $shared_opt CFLAGS="-O0 ${GAUSSDB_EXTRA_FLAGS}" --enable-mot --enable-debug --enable-cassert --disable-jemalloc CC=g++ $extra_config_opt >> "$LOG_FILE" 2>&1 + else + #./configure $shared_opt CFLAGS="-O0 ${GAUSSDB_EXTRA_FLAGS}" --enable-mot --enable-debug --enable-cassert CC=g++ $extra_config_opt >> "$LOG_FILE" 2>&1 + CMAKE_OPT="-DENABLE_MULTIPLE_NODES=OFF -DENABLE_THREAD_SAFETY=ON" + export DEBUG_TYPE=debug + fi + fi + + if [ $? -ne 0 ]; then + die "configure failed." + fi + echo "End configure" >> "$LOG_FILE" 2>&1 + + echo "Begin make install gaussdb server" >> "$LOG_FILE" 2>&1 + + export GAUSSHOME=${BUILD_DIR} + export LD_LIBRARY_PATH=${BUILD_DIR}/lib:${BUILD_DIR}/lib/postgresql:${LD_LIBRARY_PATH} + + cd ${ROOT_DIR} + [ -d ${CMAKE_BUILD_DIR} ] && rm -rf ${CMAKE_BUILD_DIR} + mkdir -p ${CMAKE_BUILD_DIR} + cd ${CMAKE_BUILD_DIR} + cmake .. ${CMAKE_OPT} + make -sj ${cpus_num} + if [ $? -ne 0 ]; then + die "make failed." + fi + make install + if [ $? -ne 0 ]; then + die "make install failed." + fi + + ## check build specification + spec="gaussdbkernel" + if ( cat $SCRIPT_DIR/gauss.spec | grep 'PRODUCT' | grep 'GaussDB Kernel' >/dev/null 2>&1 ); then + spec="gaussdbkernel" + elif ( cat $SCRIPT_DIR/gauss.spec | grep 'PRODUCT' | grep 'openGauss' >/dev/null 2>&1 ); then + spec="opengauss" + fi + + chmod 444 ${BUILD_DIR}/bin/cluster_guc.conf + dos2unix ${BUILD_DIR}/bin/cluster_guc.conf > /dev/null 2>&1 + + #back to separate_debug_symbol.sh dir + cd $SCRIPT_DIR + if [ "$version_mode" = "release" -a "$separate_symbol" = "on" -a "$zip_package" = "on" ]; then + chmod +x ./separate_debug_information.sh + ./separate_debug_information.sh + cd $SCRIPT_DIR + mv symbols.tar.gz $symbol_package_name + fi + + #back to root dir + cd $ROOT_DIR + + # om scripts may be package alone + if [ "${zip_package}" = "on" ]; then + copy_script_file "$script_dir/" ${BUILD_DIR}/bin/ + cp ${BUILD_DIR}/bin/script/gspylib/etc/sql/pmk_schema.sql ${BUILD_DIR}/share/postgresql/ + if [ -f "${BUILD_DIR}"/bin/script/gspylib/etc/sql/pmk_schema_single_inst.sql ]; then + cp ${BUILD_DIR}/bin/script/gspylib/etc/sql/pmk_schema_single_inst.sql ${BUILD_DIR}/share/postgresql/ + fi + + #copy transfer.py to bin + cd $ROOT_DIR + cp -f ${script_dir}/other/transfer.py ${BUILD_DIR}/bin + if [ $? -ne 0 ]; then + die "cp -f ${script_dir}/script/transfer.py ${BUILD_DIR}/bin failed." + fi + dos2unix ${BUILD_DIR}/bin/transfer.py > /dev/null 2>&1 + + # generate gaussdb.version file. + echo "Copy gaussdb.version file." >> "$LOG_FILE" 2>&1 + cd $ROOT_DIR + copy_license_file "${BUILD_DIR}/bin/" + echo "Copy gaussdb.version file success." >> "$LOG_FILE" 2>&1 + + + #copy getDEK.jar to bin + cp -f ${binarylib_dir}/platform/common/JdbcDek/getDEK.jar ${BUILD_DIR}/bin && + chmod +x ${BUILD_DIR}/bin/getDEK.jar + if [ $? -ne 0 ]; then + die "copy getDEK.jar to bin failed." + fi + + #insert the commitid to version.cfg as the upgrade app path specification + export PATH=${BUILD_DIR}:$PATH + export LD_LIBRARY_PATH=$GAUSSHOME/lib:$LD_LIBRARY_PATH + + commitid=$(LD_PRELOAD='' ${BUILD_DIR}/bin/gaussdb -V | awk '{print $6}' | cut -d ")" -f 1) + echo "${commitid}" >>${SCRIPT_DIR}/version.cfg + echo "End insert commitid into version.cfg" >> "$LOG_FILE" 2>&1 + # Remove the license control file, and restore the source code. + echo "Restore gaussdb_version.cpp file." >> "$LOG_FILE" 2>&1 + restore_license_control + echo "Restore gaussdb_version.cpp file success." >> "$LOG_FILE" 2>&1 + + cp ${BINARYLIBS_PATH}/${PLAT_FORM_STR}/iperf/comm/bin/iperf3 ${BUILD_DIR}/bin + if [ $? -ne 0 ]; then + die "cp ${BINARYLIBS_PATH}/${PLAT_FORM_STR}/iperf/comm/bin/iperf3 ${BUILD_DIR}/bin failed" + fi + + cp ${BINARYLIBS_PATH}/${PLAT_FORM_STR}/iperf/comm/lib/libiperf.so.0 ${BUILD_DIR}/lib + if [ $? -ne 0 ]; then + die "cp ${BINARYLIBS_PATH}/${PLAT_FORM_STR}/iperf/comm/lib/libiperf.so.0 ${BUILD_DIR}/lib failed" + fi + + cp ${BINARYLIBS_PATH}/${PLAT_FORM_STR}/fio/comm/bin/fio ${BUILD_DIR}/bin + if [ $? -ne 0 ]; then + die "cp ${BINARYLIBS_PATH}/${PLAT_FORM_STR}/fio/comm/bin/fio ${BUILD_DIR}/bin failed" + fi + fi +} + +####################################################################### + +####################################################################### +# make package for gsql +####################################################################### +function make_package_gsql() +{ + # mkdir temp directory + mkdir -p gsql + mkdir -p gsql/bin + mkdir -p gsql/lib + mkdir -p gsql/gs_ktool_file + + # copy gsql and depend *.so + cp ${BUILD_DIR}/bin/gsql gsql/bin + if [ $? -ne 0 ]; then + die "copy gsql failed." + fi + + cp ${BUILD_DIR}/bin/gs_ktool gsql/bin + if [ $? -ne 0 ]; then + die "copy gsql failed." + fi + + cp -r ${BUILD_DIR}/etc/gs_ktool_file/gs_ktool_conf.ini gsql/gs_ktool_file + if [ $? -ne 0 ]; then + die "copy gs_ktool_con.ini failed." + fi + + cd gsql + tar -xvf ${package_path}/${libpq_package_name} + if [ $? -ne 0 ]; then + die "unpack libpq failed." + fi + rm -f *.docx + chmod 700 ./lib/*.so* + cd .. + + cp $SCRIPT_DIR/gsql_env.sh gsql/gsql_env.sh + if [ $? -ne 0 ]; then + die "copy gsql_env.sh failed." + fi + chmod +x gsql/gsql_env.sh + + # make package + cd gsql + echo "packaging gsql..." + tar -zcf "${gsql_package_name}" ./* >>"$LOG_FILE" 2>&1 + if [ $? -ne 0 ]; then + die "tar ${gsql_package_name} failed" + fi + mv ${gsql_package_name} ${package_path} + + # clean tmp directory + cd .. && rm -rf gsql + + echo "install $pkgname tools is ${gsql_package_name} of ${package_path} directory " >> "$LOG_FILE" 2>&1 + echo "success!" +} + +####################################################################### +##select package type according to variable package_type +####################################################################### +function mpp_pkg_make() +{ + case "$package_type" in + server) + echo "file list: $release_file_list" + make_package $release_file_list 'server' + make_package $release_file_list 'libpq' + make_package_gsql + make_package $release_file_list 'gds' + ;; + jdbc) + make_package $release_file_list 'jdbc' + ;; + odbc) + make_package $release_file_list 'odbc' + ;; + libpq) + make_package $release_file_list 'libpq' + ;; + gsql) + make_package $release_file_list 'libpq' + make_package_gsql + ;; + gds) + make_package $release_file_list 'gds' + ;; + esac +} +declare package_command +####################################################################### +##select package command accroding to install_package_format +####################################################################### +function select_package_command() +{ + + case "$install_package_format" in + tar) + tar='tar' + option=' -zcvf' + package_command="$tar$option" + ;; + rpm) + rpm='rpm' + option=' -i' + package_command="$rpm$option" + ;; + esac +} + +############################################################### +## client tools package +## Roach yes +## sslcert no +## Data Studio no +## Database Manager no +## Migration Toolkit no +## Cluster Configuration Assistant (CCA) no +## CAT no +############################################################### +function target_file_copy_for_non_server() +{ + for file in $(echo $1) + do + tar -cpf - $file | ( cd $2; tar -xpf - ) + done + + if [ "$3"x = "client"x ]; then + # copy Roach tools + mkdir -p $2/gs_roach + mkdir -p $2/gs_roach/lib/postgresql + mkdir -p $2/gs_roach/script/util + mkdir -p $2/gs_roach/share/doc/postgresql/extension + mkdir -p $2/gs_roach/share/postgresql/extension + mkdir -p $2/gs_roach/share/roach + + cp -r ${CMAKE_BUILD_DIR}/gs_roach $2/gs_roach/ + cp -r ${BUILD_DIR}/lib/postgresql/roach_api.so $2/gs_roach/lib/postgresql + cp -r ${CMAKE_BUILD_DIR}/lib_roach_show.so $2/gs_roach/lib + cp -r ${CMAKE_BUILD_DIR}/roach_contrib.so $2/gs_roach/lib + cp -r ${BUILD_DIR}/share/postgresql/extension/roach_api--1.0.sql $2/gs_roach/share/postgresql/extension + cp -r ${BUILD_DIR}/share/postgresql/extension/roach_api.control $2/gs_roach/share/postgresql/extension + cp -r ${ROOT_DIR}/src/distribute/bin/roach/src/conf/*.conf $2/gs_roach/share/roach + cp -f ${script_dir}/other/roach/util/GSroach* $2/gs_roach/script/util + if [ "$version_mode"x == "release"x ]; then + mkdir -p $2/gs_roach/symbols + #cp -r ${CMAKE_BUILD_DIR}/roach/symbols $2/gs_roach/ + fi + if [ $? -ne 0 ]; then + if [ "$version_mode"x == "release"x ]; then + die "cp -r ${ROACH_DIR}/bin/package/${PLAT_FORM_STR}/release/* $2/gs_roach/ failed" + else + die "cp -r ${ROACH_DIR}/bin/package/${PLAT_FORM_STR}/debug/* $2/gs_roach/ failed" + fi + fi + fi +} + +declare bin_name="${package_pre_name}.bin" +declare sha256_name='' +declare script_dir="${ROOT_DIR}/script" +declare root_script='' +declare bin_script='' +####################################################################### +##copy target file into temporary directory temp +####################################################################### +function target_file_copy() +{ + ################################################### + # make bin package + ################################################### + for file in $(echo $1) + do + tar -cpf - $file | ( cd $2; tar -xpf - ) + done + + cd $SCRIPT_DIR + sed 's/^\./\.\/bin/' script_file >binfile + root_script=$(cat script_file) + sed -i '/gs_backup/d' binfile + sed -i '/gs_check/d' binfile + sed -i '/gs_checkos/d' binfile + sed -i '/gs_checkperf/d' binfile + sed -i '/gs_collector/d' binfile + sed -i '/gs_expand/d' binfile + sed -i '/gs_install/d' binfile + sed -i '/gs_om/d' binfile + sed -i '/gs_postuninstall/d' binfile + sed -i '/gs_preinstall/d' binfile + sed -i '/gs_replace/d' binfile + sed -i '/gs_shrink/d' binfile + sed -i '/gs_ssh/d' binfile + sed -i '/gs_sshexkey/d' binfile + sed -i '/gs_uninstall/d' binfile + sed -i '/gs_upgradectl/d' binfile + sed -i '/gs_lcctl/d' binfile + sed -i '/gs_wsr/d' binfile + sed -i '/gs_gucZenith/d' binfile + + + bin_script=$(cat binfile) + rm binfile script_file + cd $BUILD_DIR + for file in $(echo $bin_script) + do + tar -cpf - $file | ( cd $2; tar -xpf - ) + done + + # create script/gspylib/clib, put file encrypt, libcrypto.so.1.1,libssl.so.1.1 + rm -rf $BUILD_DIR/script/gspylib/clib + mkdir -p $BUILD_DIR/script/gspylib/clib + cp $BUILD_DIR/lib/libstdc++.so.6 $BUILD_DIR/script/gspylib/clib + cp $BUILD_DIR/lib/libssl.so.1.1 $BUILD_DIR/script/gspylib/clib + cp $BUILD_DIR/lib/libcrypto.so.1.1 $BUILD_DIR/script/gspylib/clib + cp $BUILD_DIR/bin/encrypt $BUILD_DIR/script/gspylib/clib + + # copy script dir to temp path + cp -rf $BUILD_DIR/script/gspylib/ $2/bin/script/ + cp -rf $BUILD_DIR/script/impl/ $2/bin/script/ + cp -rf $BUILD_DIR/script/local/ $2/bin/script/ + + # copy script which gs_roach depends from ${script_dir}/ to $2/bin/script + cp -rf ${script_dir}/other/roach/util/ $2/bin/script/ + cp -f ${script_dir}/other/roach/local/* $2/bin/script/local/ + + # clean the files which under bin/script/ is not be used + for x in $(ls $2/bin/script/) + do + filename="$2/bin/script/$x" + if [[ "$filename" = *"__init__.py" ]];then + continue + elif [ -d "$filename" ];then + continue + elif [ -f "$filename" ];then + rm -f "$filename" + fi + done + + chmod -R +x $2/bin/script/ + + if [ "$PLATFORM_ARCH"X == "aarch64"X ] ; then + # do nothing in current version + echo "" + else + sed -i '/^process_cpu_affinity|/d' $2/bin/cluster_guc.conf + fi + + #generate bin file + echo "Begin generate ${bin_name} bin file..." >> "$LOG_FILE" 2>&1 + ${p7zpath}/7z a -t7z -sfx "${bin_name}" "$2/*" >> "$LOG_FILE" 2>&1 + if [ $? -ne 0 ]; then + echo "Please check and makesure '7z' exist. " + die "generate ${bin_name} failed." + fi + echo "End generate ${bin_name} bin file" >> "$LOG_FILE" 2>&1 + + #generate sha256 file + sha256_name="${package_pre_name}.sha256" + echo "Begin generate ${sha256_name} sha256 file..." >> "$LOG_FILE" 2>&1 + sha256sum "${bin_name}" | awk -F" " '{print $1}' > "$sha256_name" + if [ $? -ne 0 ]; then + die "generate sha256 file failed." + fi + echo "End generate ${sha256_name} sha256 file" >> "$LOG_FILE" 2>&1 + + + ################################################### + # make server package + ################################################### + if [ -d "${2}" ]; then + rm -rf ${2} + fi + mkdir -p ${2} + mv ${bin_name} ${sha256_name} $2 + for file in $(echo $root_script) + do + tar -cpf - $file | ( cd $2; tar -xpf - ) + done + + # copy script dir to temp path + cp -rf $BUILD_DIR/script/gspylib/ $2/script/ + cp -rf $BUILD_DIR/script/impl/ $2/script/ + cp -rf $BUILD_DIR/script/local/ $2/script/ + + # copy GaussRoach.py to script dir + cp -f ${script_dir}/other/roach/GaussRoach.py $2/script/ + cp -f ${script_dir}/other/roach/SyncDataToStby.py $2/script/ + cp -f ${script_dir}/other/roach/CSVInfo.py $2/script/ + cp -f ${script_dir}/other/roach/HADR.py $2/script/ + cp -f ${script_dir}/other/roach/local/* $2/script/local/ + cp -rf ${script_dir}/other/roach/util/ $2/script/ + + # copy agent tool to temp path + res=$(cp -rf ${script_dir}/agent/ $2/ 2>&1) + if [ $? -ne 0 ]; then + die "copy ${script_dir}/agent to $2 failed. $res" + fi + res=$(cp -f ${script_dir}/agent/common/cmd_sender.py $2/script/ 2>&1) + if [ $? -ne 0 ]; then + die "copy ${script_dir}/agent/common/cmd_sender.py to $2/script/ failed. $res" + fi + res=$(cp -f ${script_dir}/agent/common/uploader.py $2/script/ 2>&1) + if [ $? -ne 0 ]; then + die "copy ${script_dir}/agent/common/uploader.py to $2/script/ failed. $res" + fi + res=$(cp -f ${script_dir}/agent/common/py_pstree.py $2/script/ 2>&1) + if [ $? -ne 0 ]; then + die "copy ${script_dir}/agent/common/py_pstree.py to $2/script/ failed. $res" + fi + # copy the default xml to temp path + res=$(cp -f ${script_dir}/build/cluster_default_agent.xml $2/ 2>&1) + if [ $? -ne 0 ]; then + die "copy ${script_dir}/build/cluster_default_agent.xml to $2 failed. $res" + fi + # copy CBG shell tools to temp path + res=$(cp -rf ${script_dir}/build/bin/ $2/ 2>&1) + if [ $? -ne 0 ]; then + die "copy ${script_dir}/build/bin to $2 failed. $res" + fi + # copy the CBG config template to temp path + res=$(cp -rf ${script_dir}/build/configtemplate/ $2/ 2>&1) + if [ $? -ne 0 ]; then + die "copy ${script_dir}/build/configtemplate/ to $2 failed. $res" + fi + res=$(cp -f ${script_dir}/agent/om_agent.conf $2/configtemplate/ 2>&1) + if [ $? -ne 0 ]; then + die "copy ${script_dir}/agent/om_agent.conf to $2/configtemplate/ failed. $res" + fi + + find $2/bin/ -type f -print0 | xargs -0 -n 10 -r dos2unix > /dev/null 2>&1 && + chmod -R +x $2/bin/ && + chmod -R +x $2/script/ +} + +####################################################################### +# read script file list from mpp_release_list +####################################################################### +function read_script_file() +{ + cd $SCRIPT_DIR + local head=$(cat $releasefile | grep "\[script\]" -n | awk -F: '{print $1}') + if [ ! -n "$head" ]; then + die "error: ono find $pkgname in the $releasefile file " + fi + + local tail=$(cat $releasefile | sed "1,$head d" | grep "^\[" -n | sed -n "1p" | awk -F: '{print $1}') + if [ ! -n "$tail" ]; then + local all=$(cat $releasefile | wc -l) + let tail=$all+1-$head + fi + + touch script_file + cat $releasefile | awk "NR==$head+1,NR==$tail+$head-1" >script_file +} + +####################################################################### +##function make_package have three actions +##1.parse release_file_list variable represent file +##2.copy target file into a newly created temporary directory temp +##3.package all file in the temp directory and renome to destination package_path +####################################################################### +function make_package() +{ + cd $SCRIPT_DIR + releasefile=$1 + pkgname=$2 + + local head=$(cat $releasefile | grep "\[$pkgname\]" -n | awk -F: '{print $1}') + if [ ! -n "$head" ]; then + die "error: ono find $pkgname in the $releasefile file " + fi + + local tail=$(cat $releasefile | sed "1,$head d" | grep "^\[" -n | sed -n "1p" | awk -F: '{print $1}') + if [ ! -n "$tail" ]; then + local all=$(cat $releasefile | wc -l) + let tail=$all+1-$head + fi + + dest=$(cat $releasefile | awk "NR==$head+1,NR==$tail+$head-1") + if [ "$pkgname"x = "libpq"x -a "$version_mode" = "debug" ]; then + # copy include file + head=$(cat $releasefile | grep "\[header\]" -n | awk -F: '{print $1}') + if [ ! -n "$head" ]; then + die "error: ono find header in the $releasefile file " + fi + + tail=$(cat $releasefile | sed "1,$head d" | grep "^\[" -n | sed -n "1p" | awk -F: '{print $1}') + if [ ! -n "$tail" ]; then + all=$(cat $releasefile | wc -l) + let tail=$all+1-$head + fi + + dest1=$(cat $releasefile | awk "NR==$head+1,NR==$tail+$head-1") + # copy cm depend library file + head=$(cat $releasefile | grep "\[cmlibrary\]" -n | awk -F: '{print $1}') + if [ ! -n "$head" ]; then + die "error: ono find cmlibrary in the $releasefile file " + fi + + tail=$(cat $releasefile | sed "1,$head d" | grep "^\[" -n | sed -n "1p" | awk -F: '{print $1}') + if [ ! -n "$tail" ]; then + all=$(cat $releasefile | wc -l) + let tail=$all+1-$head + fi + + dest2=$(cat $releasefile | awk "NR==$head+1,NR==$tail+$head-1") + dest=$(echo "$dest";echo "$dest1";echo "$dest2") + fi + + if [ "$pkgname"x = "server"x ]; then + read_script_file + fi + + mkdir -p ${BUILD_DIR} + cd ${BUILD_DIR} + rm -rf temp + mkdir temp + if [ "$pkgname"x = "server"x ]; then + copy_script_file "$script_dir/" ${BUILD_DIR} + fi + + case "$pkgname" in + server) + mkdir -p ${BUILD_DIR}/temp/etc + target_file_copy "$dest" ${BUILD_DIR}/temp + ;; + *) + target_file_copy_for_non_server "$dest" ${BUILD_DIR}/temp $pkgname + ;; + esac + + cd ${BUILD_DIR}/temp + select_package_command + + case "$pkgname" in + client) + echo "packaging client..." + $package_command "${client_package_name}" ./* >>"$LOG_FILE" 2>&1 + if [ $? -ne 0 ]; then + die "$package_command ${client_package_name} failed" + fi + + mv ${client_package_name} ${package_path} + echo "install $pkgname tools is ${client_package_name} of the current directory " >> "$LOG_FILE" 2>&1 + echo "success!" + ;; + server) + echo "packaging server..." + cp ${SCRIPT_DIR}/version.cfg ${BUILD_DIR}/temp + if [ $? -ne 0 ]; then + die "copy ${SCRIPT_DIR}/version.cfg to ${BUILD_DIR}/temp failed" + fi + + # copy script which gs_roach depends from ${script_dir}/script/util to ${BUILD_DIR}/script/util + cp -rf ${script_dir}/other/roach/util/ ${BUILD_DIR}/temp/script/ + replace_omtools_version ${BUILD_DIR}/temp/ + + #copy inspection lib + mkdir -p ${BUILD_DIR}/temp/script/gspylib/inspection/output/log/ && + mkdir -p ${BUILD_DIR}/temp/script/gspylib/inspection/output/nodes/ && + mkdir -p ${BUILD_DIR}/temp/script/gspylib/inspection/lib/asn1crypto/ && + mkdir -p ${BUILD_DIR}/temp/script/gspylib/inspection/lib/bcrypt/ && + mkdir -p ${BUILD_DIR}/temp/script/gspylib/inspection/lib/cffi/ && + mkdir -p ${BUILD_DIR}/temp/script/gspylib/inspection/lib/cryptography/ && + mkdir -p ${BUILD_DIR}/temp/script/gspylib/inspection/lib/enum/ && + mkdir -p ${BUILD_DIR}/temp/script/gspylib/inspection/lib/idna/ && + mkdir -p ${BUILD_DIR}/temp/script/gspylib/inspection/lib/nacl/ && + mkdir -p ${BUILD_DIR}/temp/script/gspylib/inspection/lib/pyasn1/ && + mkdir -p ${BUILD_DIR}/temp/script/gspylib/inspection/lib/kafka-python/ && + mkdir -p ${BUILD_DIR}/temp/script/gspylib/inspection/lib/pycparser/ && + mkdir -p ${BUILD_DIR}/temp/script/gspylib/inspection/lib/OpenSSL/ && + mkdir -p ${BUILD_DIR}/temp/script/gspylib/inspection/lib/psutil/ && + mkdir -p ${BUILD_DIR}/temp/script/gspylib/inspection/lib/netifaces/ && + mkdir -p ${BUILD_DIR}/temp/script/gspylib/inspection/lib/paramiko/ && + mkdir -p ${BUILD_DIR}/temp/script/gspylib/inspection/lib/bottle/ && + mkdir -p ${BUILD_DIR}/temp/script/gspylib/inspection/lib/paste/ && + + cp -rf ${BINARYLIBS_PATH}/install_tools${ARCHITECTURE_EXTRA_FLAG}/asn1crypto/ ${BUILD_DIR}/temp/script/gspylib/inspection/lib/ + cp -rf ${BINARYLIBS_PATH}/install_tools${ARCHITECTURE_EXTRA_FLAG}/bcrypt/ ${BUILD_DIR}/temp/script/gspylib/inspection/lib/ + cp -rf ${BINARYLIBS_PATH}/install_tools${ARCHITECTURE_EXTRA_FLAG}/cffi/ ${BUILD_DIR}/temp/script/gspylib/inspection/lib/ + cp -rf ${BINARYLIBS_PATH}/install_tools${ARCHITECTURE_EXTRA_FLAG}/cryptography/ ${BUILD_DIR}/temp/script/gspylib/inspection/lib/ + cp -rf ${BINARYLIBS_PATH}/install_tools${ARCHITECTURE_EXTRA_FLAG}/enum/ ${BUILD_DIR}/temp/script/gspylib/inspection/lib/ + cp -rf ${BINARYLIBS_PATH}/install_tools${ARCHITECTURE_EXTRA_FLAG}/idna/ ${BUILD_DIR}/temp/script/gspylib/inspection/lib/ + cp -rf ${BINARYLIBS_PATH}/install_tools${ARCHITECTURE_EXTRA_FLAG}/nacl/ ${BUILD_DIR}/temp/script/gspylib/inspection/lib/ + cp -rf ${BINARYLIBS_PATH}/install_tools${ARCHITECTURE_EXTRA_FLAG}/pyasn1/ ${BUILD_DIR}/temp/script/gspylib/inspection/lib/ + cp -rf ${BINARYLIBS_PATH}/install_tools${ARCHITECTURE_EXTRA_FLAG}/kafka-python/ ${BUILD_DIR}/temp/script/gspylib/inspection/lib/ + cp -rf ${BINARYLIBS_PATH}/install_tools${ARCHITECTURE_EXTRA_FLAG}/pycparser/ ${BUILD_DIR}/temp/script/gspylib/inspection/lib/ + cp -rf ${BINARYLIBS_PATH}/install_tools${ARCHITECTURE_EXTRA_FLAG}/OpenSSL/ ${BUILD_DIR}/temp/script/gspylib/inspection/lib/ + cp -rf ${BINARYLIBS_PATH}/install_tools${ARCHITECTURE_EXTRA_FLAG}/ipaddress.py ${BUILD_DIR}/temp/script/gspylib/inspection/lib/ + cp -rf ${BINARYLIBS_PATH}/install_tools${ARCHITECTURE_EXTRA_FLAG}/six.py ${BUILD_DIR}/temp/script/gspylib/inspection/lib/ + cp -rf ${BINARYLIBS_PATH}/install_tools${ARCHITECTURE_EXTRA_FLAG}/_cffi_backend.py ${BUILD_DIR}/temp/script/gspylib/inspection/lib/ + cp -rf ${BINARYLIBS_PATH}/install_tools${ARCHITECTURE_EXTRA_FLAG}/_cffi_backend.so_UCS2 ${BUILD_DIR}/temp/script/gspylib/inspection/lib/ + cp -rf ${BINARYLIBS_PATH}/install_tools${ARCHITECTURE_EXTRA_FLAG}/_cffi_backend.so_UCS4 ${BUILD_DIR}/temp/script/gspylib/inspection/lib/ + cp -rf ${BINARYLIBS_PATH}/install_tools${ARCHITECTURE_EXTRA_FLAG}/psutil/ ${BUILD_DIR}/temp/script/gspylib/inspection/lib/ + cp -rf ${BINARYLIBS_PATH}/install_tools${ARCHITECTURE_EXTRA_FLAG}/netifaces/ ${BUILD_DIR}/temp/script/gspylib/inspection/lib/ + cp -rf ${BINARYLIBS_PATH}/install_tools${ARCHITECTURE_EXTRA_FLAG}/paramiko/ ${BUILD_DIR}/temp/script/gspylib/inspection/lib/ + cp -rf ${BINARYLIBS_PATH}/install_tools${ARCHITECTURE_EXTRA_FLAG}/bottle/ ${BUILD_DIR}/temp/script/gspylib/inspection/lib/ + cp -rf ${BINARYLIBS_PATH}/install_tools${ARCHITECTURE_EXTRA_FLAG}/paste/ ${BUILD_DIR}/temp/script/gspylib/inspection/lib/ + + if [ $? -ne 0 ]; then + die "remove svn info failed." + fi + + cp -r ${BINARYLIBS_PATH}/install_tools${ARCHITECTURE_EXTRA_FLAG} ./install_tools + find ./install_tools -name .svn -type d -print0 | xargs -0 rm -rf + if [ $? -ne 0 ]; then + die "remove svn info failed." + fi + + mkdir -p ./lib + + mv ./install_tools/asn1crypto ./lib + mv ./install_tools/bcrypt ./lib + mv ./install_tools/cffi ./lib + mv ./install_tools/cryptography ./lib + mv ./install_tools/enum ./lib + mv ./install_tools/idna ./lib + mv ./install_tools/nacl ./lib + mv ./install_tools/pyasn1 ./lib + mv ./install_tools/kafka-python ./lib + mv ./install_tools/pycparser ./lib + mv ./install_tools/OpenSSL ./lib + mv ./install_tools/ipaddress.py ./lib + mv ./install_tools/six.py ./lib + mv ./install_tools/_cffi_backend.py ./lib + mv ./install_tools/_cffi_backend.so_UCS2 ./lib + mv ./install_tools/_cffi_backend.so_UCS4 ./lib + mv ./install_tools/paramiko ./lib + mv ./install_tools/psutil ./lib + mv ./install_tools/netifaces ./lib + mv ./install_tools/unixodbc . + mv ./install_tools/paste ./lib + mv ./install_tools/bottle ./lib + + #Not package unixodbc/bin/odbc_config, so delete it + rm -f ./unixodbc/bin/odbc_config + + rm -r ./install_tools + + if [ "$product_mode"x == "multiple"x ] + then + mkdir -p ./libcgroup/bin + if [ $? -ne 0 ]; then + die "mkdir -p ./libcgroup/bin failed" + fi + + cp ${BUILD_DIR}/bin/gs_cgroup ./libcgroup/bin + if [ $? -ne 0 ]; then + die "cp ${BUILD_DIR}/bin/gs_cgroup ./libcgroup/bin failed" + fi + mkdir -p ./libcgroup/lib + if [ $? -ne 0 ]; then + die "mkdir -p ./libcgroup/lib failed" + fi + cp ${BINARYLIBS_PATH}/${PLAT_FORM_STR}/libcgroup/${COMPLIE_TYPE}/lib/libcgroup.so ./libcgroup/lib + if [ $? -ne 0 ]; then + die "cp ${BINARYLIBS_PATH}/${PLAT_FORM_STR}/libcgroup/${COMPLIE_TYPE}/lib/libcgroup.so ./libcgroup/lib failed" + fi + fi + + + #compress the agent package + echo "Agent package is starting." + cp ./lib/_cffi_backend.so_UCS4 ./lib/_cffi_backend.so + cp -r ./script/gspylib/pssh/bin ./agent/ + cp -r ./script/gspylib/clib ./agent/ + if [ "$product_mode"x == "single"x ] + then + if [ ! -e ./agent/centralized_cluster ] + then + touch ./agent/centralized_cluster + echo "This file is used only to distinguish cluster types (generated by the packaging script)." >> ./agent/centralized_cluster + else + echo "This file is used only to distinguish cluster types (generated by the packaging script)." > ./agent/centralized_cluster + fi + fi + $package_command "${agent_package_name}" ./agent ./lib ./cluster_default_agent.xml ./version.cfg >>"$LOG_FILE" 2>&1 + if [ $? -ne 0 ]; then + die "$package_command ${agent_package_name} failed" + fi + mv ${agent_package_name} ${package_path} + echo "Agent package has been finished." + + #remove the agent path which only needed by agent before compress server package + echo "Server package is starting." + rm -rf ./agent + cp -a ${BUILD_TOOLS_PATH}/secbox . + if [ -e secbox/libso ] ; then rm -rf secbox/libso ; fi + mkdir -p secbox/libso/ + cp -a ${BUILD_DIR}/lib/libcgroup.so secbox/libso/libcgroup.so.1 + cp -a ${BUILD_DIR}/lib/libsecurec.so secbox/libso/libsecurec.so + + # install upgrade_sql.* files. + package_upgrade_sql + + $package_command "${server_package_name}" ./* >>"$LOG_FILE" 2>&1 + if [ $? -ne 0 ]; then + die "$package_command ${server_package_name} failed" + fi + mv ${server_package_name} ${package_path} + echo "install $pkgname tools is ${server_package_name} of ${package_path} directory " >> "$LOG_FILE" 2>&1 + echo "success!" + ;; + libpq) + echo "packaging libpq..." + $package_command "${libpq_package_name}" ./* >>"$LOG_FILE" 2>&1 + if [ $? -ne 0 ]; then + die "$package_command ${libpq_package_name} failed" + fi + mv ${libpq_package_name} ${package_path} + echo "install $pkgname tools is ${libpq_package_name} of ${package_path} directory " >> "$LOG_FILE" 2>&1 + echo "success!" + ;; + gds) + mkdir gds config lib_tmp + cp ./bin/* ./gds + cp ./share/postgresql/* ./config + cp ./lib/libcjson* ./lib_tmp + mv config ./gds/ + rm -rf ./bin ./share ./lib + mv ./lib_tmp ./lib + echo "packaging gds..." + $package_command "${gds_package_name}" ./* >>"$LOG_FILE" 2>&1 + if [ $? -ne 0 ]; then + die "$package_command ${gds_package_name} failed" + fi + mv ${gds_package_name} ${package_path} + echo "install $pkgname tools is ${gds_package_name} of ${package_path} directory " >> "$LOG_FILE" 2>&1 + echo "success!" + ;; + esac +} + +####################################################################### +##copy all file of script directory to target directory +####################################################################### +function copy_script_file() +{ + target_file=$1 + local target_dir=$2 + + cp -rf $target_file/script/ $target_dir/ && + find $target_dir/script/ -type f -print0 | xargs -0 -n 10 -r dos2unix > /dev/null 2>&1 && + find $target_dir/script/gspylib/inspection/ -name d2utmp* -print0 | xargs -0 rm -rf && + cp -rf $target_file/script/gspylib/inspection/lib/checknetspeed/speed_test* $target_dir/script/gspylib/inspection/lib/checknetspeed/ && + cp -rf $target_file/script/gspylib/inspection/lib/*.png $target_dir/script/gspylib/inspection/lib/ && + + if [ $? -ne 0 ]; then + die "cp -r $target_file $target_dir failed " + fi +} +####################################################################### +## generate the version file. +####################################################################### +function make_license_control() +{ + local target_dir=$1 + python_exec=$(which python 2>/dev/null) + + if [ -x "$python_exec" ]; then + $python_exec ${binarylib_dir}/buildtools/license_control/encrypted_version_file.py >> "$LOG_FILE" 2>&1 + fi + + if [ $? -ne 0 ]; then + die "create ${binarylib_dir}/buildtools/license_control license file failed." + fi + + if [ -f "$gaussdb_200_file" ] && [ -f "$gaussdb_300_file" ]; then + # Get the md5sum. + gaussdb_200_sha256sum=$(sha256sum $gaussdb_200_file | awk '{print $1}') + gaussdb_300_sha256sum=$(sha256sum $gaussdb_300_file | awk '{print $1}') + # Modify the source code. + sed -i "s/^[ \t]*const[ \t]\+char[ \t]*\*[ \t]*sha256_digests[ \t]*\[[ \t]*SHA256_DIGESTS_COUNT[ \t]*\][ \t]*=[ \t]*{[ \t]*NULL[ \t]*,[ \t]*NULL[ \t]*}[ \t]*;[ \t]*$/const char \*sha256_digests\[SHA256_DIGESTS_COUNT\] = {\"$gaussdb_200_sha256sum\", \"$gaussdb_300_sha256sum\"};/g" $gaussdb_version_file + fi + + if [ $? -ne 0 ]; then + die "modify '$gaussdb_version_file' failed." + fi +} +####################################################################### +## copy the version file to target directory. +####################################################################### +function copy_license_file() +{ + local target_dir=$1 + + # Copy the version file to bin path. + if [ -f "$gaussdb_200_file" ] && [ -f "$gaussdb_200_file" ] && [ -f "$gaussdb_200_standard_file" ]; then + cp -f $gaussdb_200_file $target_dir && + cp -f $gaussdb_300_file $target_dir && + cp -f $gaussdb_200_standard_file $target_dir + fi + + if [ $? -ne 0 ]; then + die "cp -r ${binarylib_dir}/buildtools/license_control $target_dir failed." + fi +} +####################################################################### +## restore the gaussdb_version.cpp content. +####################################################################### +function restore_license_control() +{ + # Generate license control file. + make_license_control + + # Restore the gaussdb_version.cpp content. + if [ -f "$gaussdb_200_file" ] && [ -f "$gaussdb_300_file" ] && [ -f "$gaussdb_200_standard_file" ]; then + sed -i "s/^[ \t]*const[ \t]\+char[ \t]*\*[ \t]*sha256_digests[ \t]*\[[ \t]*SHA256_DIGESTS_COUNT[ \t]*\][ \t]*=[ \t]*{[ \t]*[a-zA-Z0-9\"]\+[ \t]*,[ \t]*[a-zA-Z0-9\"]\+[ \t]*}[ \t]*;[ \t]*$/const char \*sha256_digests\[SHA256_DIGESTS_COUNT\] = {NULL, NULL};/g" $gaussdb_version_file && + + # Remove the gaussdb.version file. + rm -f $gaussdb_200_file && + rm -f $gaussdb_300_file && + rm -f $gaussdb_200_standard_file + fi + + if [ $? -ne 0 ]; then + die "restore '$gaussdb_version_file' failed, remove ${binarylib_dir}/buildtools/license_control file failed." + fi +} + +############################################################# +# show package for hotpatch sdv. +############################################################# +if [ "$show_package" = true ]; then + echo "package: "$server_package_name + echo "bin: "$bin_name + exit 0 +fi + +############################################################# +# main function +############################################################# +# 1. clean install path and log file +mpp_pkg_pre_check + +# 2. chose action +mpp_pkg_bld +if [ "$zip_package" = "off" ]; then + echo "The option 'nopkg' is on, no package will be zipped." + exit 0 +fi + +# 3. make package +mpp_pkg_make + +#clean mpp_install directory +echo "clean enviroment" +echo "[makemppdb] $(date +%y-%m-%d' '%T): remove ${BUILD_DIR}" >>"$LOG_FILE" 2>&1 + +mkdir ${ROOT_DIR}/output +mv ${ROOT_DIR}/build/script/*.tar.gz ${ROOT_DIR}/output/ +echo "now, all packages has finished!" + +exit 0 diff --git a/build/script/mpp_package.sh b/build/script/mpp_package.sh old mode 100644 new mode 100755 index e383ab4da..bbcb6e4fe --- a/build/script/mpp_package.sh +++ b/build/script/mpp_package.sh @@ -109,7 +109,7 @@ function print_help() -V|--version show version information. -f|--file provide the file list released. -3rd|--binarylib_dir the directory of third party binarylibs. - -pkg|--package provode type of installation packages, values parameter is all, server, jdbc, odbc, agent, adaptor. + -pkg|--package provode type of installation packages, values parameter is all, server, jdbc, odbc, agent. -pm product mode, values parameter is single, multiple or opengauss, default value is multiple. -p|--path generation package storage path. -t packaging format, values parameter is tar or rpm, the default value is tar. @@ -322,7 +322,6 @@ declare version_string="${mppdb_name_for_package}-${version_number}" declare package_pre_name="${version_string}-${dist_version}-${PLATFORM}bit" declare server_package_name="${package_pre_name}.${install_package_format}.gz" declare agent_package_name="${package_pre_name}-AGENT.${install_package_format}.gz" -declare adaptor_package_name="${package_pre_name}-ADAPTOR.${install_package_format}.gz" declare gsql_package_name="${mppdb_name_for_package}-${version_number}-${dist_version}-${PLATFORM}bit-gsql.${install_package_format}.gz" declare client_package_name="${package_pre_name}-ClientTools.${install_package_format}.gz" declare libpq_package_name="${package_pre_name}-Libpq.${install_package_format}.gz" @@ -355,7 +354,11 @@ else BINARYLIBS_PATH="${ROOT_DIR}/binarylibs" fi -declare UPGRADE_SQL_DIR="${ROOT_DIR}/src/distribute/include/catalog/upgrade_sql" +if [ "$product_mode"x == "single"x ] || [ "$product_mode"x == "opengauss"x ]; then + declare UPGRADE_SQL_DIR="${ROOT_DIR}/src/include/catalog/upgrade_sql" +else + declare UPGRADE_SQL_DIR="${ROOT_DIR}/src/distribute/include/catalog/upgrade_sql" +fi gaussdb_200_file="${binarylib_dir}/buildtools/license_control/gaussdb.version.GaussDB200" gaussdb_300_file="${binarylib_dir}/buildtools/license_control/gaussdb.version.GaussDB300" @@ -432,7 +435,7 @@ function mpp_pkg_pre_check() rm -rf $LOG_FILE fi - if [ X"$package_type" == X"server" -o X"$package_type" == X"all" ] && [ X$zip_package = X"on" ] && [ ! -d "${ROOT_DIR}"/script/script/gspylib/ ]; then + if [ X"$package_type" == X"server" -o X"$package_type" == X"all" ] && [ X"$zip_package" = X"on" ] && [ ! -d "${ROOT_DIR}"/script/script/gspylib/ ]; then printf "\033[31mCan not found OM script directory. solution steps:\n\033[0m" echo " 1) git clone git@isource-dg.huawei.com:2222/GaussDB_Kernel/GaussDB_Kernel_OM.git -b $(git branch | grep '*' | sed -e 's/*//g' -e 's/^ //g')" echo " 2) if you do not have the permission to git it, please call CMO " @@ -452,16 +455,9 @@ function package_upgrade_sql() echo "Begin to install upgrade_sql files..." UPGRADE_SQL_TAR="upgrade_sql.tar.gz" UPGRADE_SQL_SHA256="upgrade_sql.sha256" - SINGLE_IGNORE_VERSION=(263 264 270 280 287) MULTIP_IGNORE_VERSION=(289 294 296) cp -r "${UPGRADE_SQL_DIR}" . [ $? -ne 0 ] && die "Failed to cp upgrade_sql files" - if [ "$product_mode"x == "single"x ] || [ "$product_mode"x == "opengauss"x ]; then - for version_num in ${SINGLE_IGNORE_VERSION[*]} - do - find ./upgrade_sql -name *${version_num}* | xargs rm -rf - done - fi if [ "$product_mode"x == "multiple"x ]; then for version_num in ${MULTIP_IGNORE_VERSION[*]} do @@ -787,7 +783,7 @@ function install_gaussdb() spec="opengauss" fi - if [ $spec = "gaussdbkernel" ]; then + if [ "${spec}" = "gaussdbkernel" ]; then echo "Begin make install Roach..." >> "$LOG_FILE" 2>&1 #copy gs_roach form clienttools to bin if [ "$version_mode"x == "release"x ]; then @@ -890,7 +886,7 @@ function install_gaussdb() #back to separate_debug_symbol.sh dir cd $SCRIPT_DIR - if [ "$version_mode" = "release" -a "$separate_symbol" = "on" -a $zip_package = "on" ]; then + if [ "$version_mode" = "release" -a "$separate_symbol" = "on" -a "$zip_package" = "on" ]; then chmod +x ./separate_debug_information.sh ./separate_debug_information.sh cd $SCRIPT_DIR @@ -901,7 +897,7 @@ function install_gaussdb() cd $ROOT_DIR # om scripts may be package alone - if [ $zip_package = "on" ]; then + if [ "${zip_package}" = "on" ]; then copy_script_file "$script_dir/" ${BUILD_DIR}/bin/ cp ${BUILD_DIR}/bin/script/gspylib/etc/sql/pmk_schema.sql ${BUILD_DIR}/share/postgresql/ if [ -f "${BUILD_DIR}"/bin/script/gspylib/etc/sql/pmk_schema_single_inst.sql ]; then @@ -970,6 +966,7 @@ function make_package_gsql() mkdir -p gsql mkdir -p gsql/bin mkdir -p gsql/lib + mkdir -p gsql/gs_ktool_file # copy gsql and depend *.so cp ${BUILD_DIR}/bin/gsql gsql/bin @@ -977,6 +974,16 @@ function make_package_gsql() die "copy gsql failed." fi + cp ${BUILD_DIR}/bin/gs_ktool gsql/bin + if [ $? -ne 0 ]; then + die "copy gsql failed." + fi + + cp -r ${BUILD_DIR}/etc/gs_ktool_file/gs_ktool_conf.ini gsql/gs_ktool_file + if [ $? -ne 0 ]; then + die "copy gs_ktool_con.ini failed." + fi + cd gsql tar -xvf ${package_path}/${libpq_package_name} if [ $? -ne 0 ]; then @@ -1161,10 +1168,6 @@ function target_file_copy() cp -rf $BUILD_DIR/script/impl/ $2/bin/script/ cp -rf $BUILD_DIR/script/local/ $2/bin/script/ - # copy server.key to bin path - cp -f ${BUILD_DIR}/server.key.cipher $2/bin/ - cp -f ${BUILD_DIR}/server.key.rand $2/bin/ - # copy script which gs_roach depends from ${script_dir}/ to $2/bin/script cp -rf ${script_dir}/other/roach/util/ $2/bin/script/ cp -f ${script_dir}/other/roach/local/* $2/bin/script/local/ @@ -1228,10 +1231,6 @@ function target_file_copy() cp -rf $BUILD_DIR/script/impl/ $2/script/ cp -rf $BUILD_DIR/script/local/ $2/script/ - # copy server.key to temp path - cp -f ${BUILD_DIR}/server.key.cipher $2/ - cp -f ${BUILD_DIR}/server.key.rand $2/ - # copy GaussRoach.py to script dir cp -f ${script_dir}/other/roach/GaussRoach.py $2/script/ cp -f ${script_dir}/other/roach/SyncDataToStby.py $2/script/ @@ -1257,12 +1256,6 @@ function target_file_copy() if [ $? -ne 0 ]; then die "copy ${script_dir}/agent/common/py_pstree.py to $2/script/ failed. $res" fi - #copy adaptor tool to temp path - res=$(cp -rf ${script_dir}/adaptor/ $2/ 2>&1) - if [ $? -ne 0 ]; then - die "copy ${script_dir}/adaptor to $2 failed. $res" - fi - # copy the default xml to temp path res=$(cp -f ${script_dir}/build/cluster_default_agent.xml $2/ 2>&1) if [ $? -ne 0 ]; then @@ -1310,7 +1303,7 @@ function read_script_file() } ####################################################################### -##function make_package have tree actions +##function make_package have three actions ##1.parse release_file_list variable represent file ##2.copy target file into a newly created temporary directory temp ##3.package all file in the temp directory and renome to destination package_path @@ -1520,6 +1513,16 @@ function make_package() cp ./lib/_cffi_backend.so_UCS4 ./lib/_cffi_backend.so cp -r ./script/gspylib/pssh/bin ./agent/ cp -r ./script/gspylib/clib ./agent/ + if [ "$product_mode"x == "single"x ] + then + if [ ! -e ./agent/centralized_cluster ] + then + touch ./agent/centralized_cluster + echo "This file is used only to distinguish cluster types (generated by the packaging script)." >> ./agent/centralized_cluster + else + echo "This file is used only to distinguish cluster types (generated by the packaging script)." > ./agent/centralized_cluster + fi + fi $package_command "${agent_package_name}" ./agent ./lib ./cluster_default_agent.xml ./version.cfg >>"$LOG_FILE" 2>&1 if [ $? -ne 0 ]; then die "$package_command ${agent_package_name} failed" @@ -1527,17 +1530,9 @@ function make_package() mv ${agent_package_name} ${package_path} echo "Agent package has been finished." - #compress the adaptor package - echo "Adaptor package is starting." - echo "$package_command ${adaptor_package_name}" - $package_command "${adaptor_package_name}" ./adaptor >>"$LOG_FILE" 2>&1 - mv ${adaptor_package_name} ${package_path} - echo "Adaptor package has been finished." - - #remove the agent and adaptor path which only needed by agent and adaptor before compress server package + #remove the agent path which only needed by agent before compress server package echo "Server package is starting." rm -rf ./agent - rm -rf ./adaptor cp -a ${BUILD_TOOLS_PATH}/secbox . if [ -e secbox/libso ] ; then rm -rf secbox/libso ; fi mkdir -p secbox/libso/ @@ -1594,9 +1589,6 @@ function copy_script_file() local target_dir=$2 cp -rf $target_file/script/ $target_dir/ && - cp -f ${binarylib_dir}/buildtools/server_key/server.key.cipher $target_dir && - cp -f ${binarylib_dir}/buildtools/server_key/server.key.rand $target_dir && - find $target_dir/script/ -type f -print0 | xargs -0 -n 10 -r dos2unix > /dev/null 2>&1 && find $target_dir/script/gspylib/inspection/ -name d2utmp* -print0 | xargs -0 rm -rf && cp -rf $target_file/script/gspylib/inspection/lib/checknetspeed/speed_test* $target_dir/script/gspylib/inspection/lib/checknetspeed/ && diff --git a/build/script/mpp_release_list_centos b/build/script/mpp_release_list_centos deleted file mode 100644 index 513a5bf94..000000000 --- a/build/script/mpp_release_list_centos +++ /dev/null @@ -1,1386 +0,0 @@ -[server] -./bin/gds -./bin/gs_log -./bin/gsql -./bin/gaussdb -./bin/gaussdb.version.GaussDB200 -./bin/gaussdb.version.GaussDB300 -./bin/gaussdb.license.GaussDB200_Standard -./bin/gaussmaster -./bin/gstrace -./bin/gs_encrypt -./bin/gs_gtm -./bin/gs_dump -./bin/gs_dumpall -./bin/gs_initgtm -./bin/gs_initcm -./bin/gs_ctl -./bin/gs_initdb -./bin/gtm_ctl -./bin/cm_server -./bin/cm_agent -./bin/om_monitor -./bin/cm_ctl -./bin/etcd -./bin/etcdctl -./bin/seq_query -./bin/gs_guc -./bin/encrypt -./bin/gs_roach -./bin/gs_clean -./bin/gs_redis -./bin/gs_restore -./bin/gs_cgroup -./bin/openssl -./bin/pg_config -./bin/pg_controldata -./bin/pg_format_cu -./bin/pg_resetxlog -./bin/alarmItem.conf -./bin/retry_errcodes.conf -./bin/cluster_guc.conf -./bin/runsessionstat.sh -./bin/drop_caches.sh -./bin/run_drop_cache.sh -./bin/transfer.py -./bin/gs_plan_simulator.sh -./bin/dependences/clean_temp.sql -./bin/dependences/initdb.py -./bin/dependences/restore_temp.sql -./bin/dependences/store_pg_class_stats.sql -./bin/dependences/store_pg_statistic_ext_stats.sql -./bin/dependences/store_pg_statistic_stats.sql -./bin/dependences/store_pgxc_class.sql -./bin/krb5kdc -./bin/klist -./bin/kinit -./bin/kdestroy -./bin/kdb5_util -./bin/kadmin.local -./etc/kerberos/kadm5.acl -./etc/kerberos/kdc.conf -./etc/kerberos/krb5.conf -./etc/kerberos/mppdb-site.xml -./share/postgis/PostGIS_install.sh -./share/postgresql/tmp/udstools.py -./share/postgresql/snowball_create.sql -./share/postgresql/pmk_schema.sql -./share/postgresql/pmk_schema_single_inst.sql -./share/postgresql/pg_hba.conf.sample -./share/postgresql/pg_service.conf.sample -./share/postgresql/psqlrc.sample -./share/postgresql/conversion_create.sql -./share/postgresql/postgres.shdescription -./share/postgresql/pg_ident.conf.sample -./share/postgresql/postgres.description -./share/postgresql/postgresql.conf.sample -./share/postgresql/extension/plpgsql--1.0.sql -./share/postgresql/extension/hstore.control -./share/postgresql/extension/security_plugin.control -./share/postgresql/extension/security_plugin--1.0.sql -./share/postgresql/extension/tsdb.control -./share/postgresql/extension/tsdb--1.0.sql -./share/postgresql/extension/streaming--1.0.sql -./share/postgresql/extension/streaming.control -./share/postgresql/extension/file_fdw--1.0.sql -./share/postgresql/extension/plpgsql.control -./share/postgresql/extension/dist_fdw.control -./share/postgresql/extension/dist_fdw--1.0.sql -./share/postgresql/extension/hstore--1.1.sql -./share/postgresql/extension/plpgsql--unpackaged--1.0.sql -./share/postgresql/extension/file_fdw.control -./share/postgresql/extension/hstore--unpackaged--1.0.sql -./share/postgresql/extension/hstore--1.0--1.1.sql -./share/postgresql/extension/hdfs_fdw--1.0.sql -./share/postgresql/extension/hdfs_fdw.control -./share/postgresql/extension/gc_fdw--1.0.sql -./share/postgresql/extension/gc_fdw.control -./share/postgresql/extension/roach_api--1.0.sql -./share/postgresql/extension/roach_api.control -./share/postgresql/extension/log_fdw--1.0.sql -./share/postgresql/extension/log_fdw.control -./share/postgresql/extension/dimsearch--1.0.sql -./share/postgresql/extension/dimsearch.control -./share/postgresql/extension/packages--1.0.sql -./share/postgresql/extension/packages--1.0--1.1.sql -./share/postgresql/extension/packages.control -./share/postgresql/extension/gsredistribute.control -./share/postgresql/extension/gsredistribute--1.0.sql -./share/postgresql/extension/gsredistribute--unpackaged--1.0.sql -./share/postgresql/timezone/GB-Eire -./share/postgresql/timezone/Turkey -./share/postgresql/timezone/Kwajalein -./share/postgresql/timezone/UCT -./share/postgresql/timezone/Mexico/BajaSur -./share/postgresql/timezone/Mexico/BajaNorte -./share/postgresql/timezone/Mexico/General -./share/postgresql/timezone/Japan -./share/postgresql/timezone/Israel -./share/postgresql/timezone/US/Eastern -./share/postgresql/timezone/US/Samoa -./share/postgresql/timezone/US/Michigan -./share/postgresql/timezone/US/Aleutian -./share/postgresql/timezone/US/Pacific -./share/postgresql/timezone/US/Pacific-New -./share/postgresql/timezone/US/Indiana-Starke -./share/postgresql/timezone/US/Mountain -./share/postgresql/timezone/US/East-Indiana -./share/postgresql/timezone/US/Hawaii -./share/postgresql/timezone/US/Arizona -./share/postgresql/timezone/US/Alaska -./share/postgresql/timezone/US/Central -./share/postgresql/timezone/Greenwich -./share/postgresql/timezone/Poland -./share/postgresql/timezone/CET -./share/postgresql/timezone/GMT-0 -./share/postgresql/timezone/Indian/Mauritius -./share/postgresql/timezone/Indian/Cocos -./share/postgresql/timezone/Indian/Reunion -./share/postgresql/timezone/Indian/Maldives -./share/postgresql/timezone/Indian/Comoro -./share/postgresql/timezone/Indian/Antananarivo -./share/postgresql/timezone/Indian/Christmas -./share/postgresql/timezone/Indian/Kerguelen -./share/postgresql/timezone/Indian/Chagos -./share/postgresql/timezone/Indian/Mayotte -./share/postgresql/timezone/Indian/Mahe -./share/postgresql/timezone/GMT0 -./share/postgresql/timezone/Antarctica/Palmer -./share/postgresql/timezone/Antarctica/Syowa -./share/postgresql/timezone/Antarctica/South_Pole -./share/postgresql/timezone/Antarctica/McMurdo -./share/postgresql/timezone/Antarctica/Rothera -./share/postgresql/timezone/Antarctica/Mawson -./share/postgresql/timezone/Antarctica/Casey -./share/postgresql/timezone/Antarctica/Davis -./share/postgresql/timezone/Antarctica/DumontDUrville -./share/postgresql/timezone/Antarctica/Vostok -./share/postgresql/timezone/Antarctica/Macquarie -./share/postgresql/timezone/ROK -./share/postgresql/timezone/Chile/EasterIsland -./share/postgresql/timezone/Chile/Continental -./share/postgresql/timezone/posixrules -./share/postgresql/timezone/Atlantic/Azores -./share/postgresql/timezone/Atlantic/St_Helena -./share/postgresql/timezone/Atlantic/Madeira -./share/postgresql/timezone/Atlantic/Jan_Mayen -./share/postgresql/timezone/Atlantic/Faroe -./share/postgresql/timezone/Atlantic/Stanley -./share/postgresql/timezone/Atlantic/Cape_Verde -./share/postgresql/timezone/Atlantic/Reykjavik -./share/postgresql/timezone/Atlantic/Canary -./share/postgresql/timezone/Atlantic/South_Georgia -./share/postgresql/timezone/Atlantic/Bermuda -./share/postgresql/timezone/Atlantic/Faeroe -./share/postgresql/timezone/Hongkong -./share/postgresql/timezone/Libya -./share/postgresql/timezone/Iceland -./share/postgresql/timezone/UTC -./share/postgresql/timezone/Australia/Darwin -./share/postgresql/timezone/Australia/North -./share/postgresql/timezone/Australia/NSW -./share/postgresql/timezone/Australia/Sydney -./share/postgresql/timezone/Australia/Hobart -./share/postgresql/timezone/Australia/LHI -./share/postgresql/timezone/Australia/Victoria -./share/postgresql/timezone/Australia/South -./share/postgresql/timezone/Australia/Melbourne -./share/postgresql/timezone/Australia/Lord_Howe -./share/postgresql/timezone/Australia/West -./share/postgresql/timezone/Australia/Brisbane -./share/postgresql/timezone/Australia/Perth -./share/postgresql/timezone/Australia/Eucla -./share/postgresql/timezone/Australia/Canberra -./share/postgresql/timezone/Australia/Queensland -./share/postgresql/timezone/Australia/Broken_Hill -./share/postgresql/timezone/Australia/Lindeman -./share/postgresql/timezone/Australia/ACT -./share/postgresql/timezone/Australia/Currie -./share/postgresql/timezone/Australia/Adelaide -./share/postgresql/timezone/Australia/Yancowinna -./share/postgresql/timezone/Australia/Tasmania -./share/postgresql/timezone/Jamaica -./share/postgresql/timezone/EST5EDT -./share/postgresql/timezone/MET -./share/postgresql/timezone/W-SU -./share/postgresql/timezone/Mideast/Riyadh87 -./share/postgresql/timezone/Mideast/Riyadh88 -./share/postgresql/timezone/Mideast/Riyadh89 -./share/postgresql/timezone/WET -./share/postgresql/timezone/ROC -./share/postgresql/timezone/Factory -./share/postgresql/timezone/EET -./share/postgresql/timezone/PST8PDT -./share/postgresql/timezone/Portugal -./share/postgresql/timezone/NZ -./share/postgresql/timezone/Brazil/West -./share/postgresql/timezone/Brazil/DeNoronha -./share/postgresql/timezone/Brazil/Acre -./share/postgresql/timezone/Brazil/East -./share/postgresql/timezone/EST -./share/postgresql/timezone/Egypt -./share/postgresql/timezone/Universal -./share/postgresql/timezone/Pacific/Enderbury -./share/postgresql/timezone/Pacific/Noumea -./share/postgresql/timezone/Pacific/Kwajalein -./share/postgresql/timezone/Pacific/Norfolk -./share/postgresql/timezone/Pacific/Nauru -./share/postgresql/timezone/Pacific/Efate -./share/postgresql/timezone/Pacific/Kosrae -./share/postgresql/timezone/Pacific/Galapagos -./share/postgresql/timezone/Pacific/Truk -./share/postgresql/timezone/Pacific/Fiji -./share/postgresql/timezone/Pacific/Auckland -./share/postgresql/timezone/Pacific/Samoa -./share/postgresql/timezone/Pacific/Port_Moresby -./share/postgresql/timezone/Pacific/Johnston -./share/postgresql/timezone/Pacific/Apia -./share/postgresql/timezone/Pacific/Tarawa -./share/postgresql/timezone/Pacific/Pitcairn -./share/postgresql/timezone/Pacific/Marquesas -./share/postgresql/timezone/Pacific/Chatham -./share/postgresql/timezone/Pacific/Tahiti -./share/postgresql/timezone/Pacific/Tongatapu -./share/postgresql/timezone/Pacific/Saipan -./share/postgresql/timezone/Pacific/Fakaofo -./share/postgresql/timezone/Pacific/Guam -./share/postgresql/timezone/Pacific/Niue -./share/postgresql/timezone/Pacific/Chuuk -./share/postgresql/timezone/Pacific/Easter -./share/postgresql/timezone/Pacific/Wallis -./share/postgresql/timezone/Pacific/Gambier -./share/postgresql/timezone/Pacific/Majuro -./share/postgresql/timezone/Pacific/Kiritimati -./share/postgresql/timezone/Pacific/Guadalcanal -./share/postgresql/timezone/Pacific/Funafuti -./share/postgresql/timezone/Pacific/Rarotonga -./share/postgresql/timezone/Pacific/Pago_Pago -./share/postgresql/timezone/Pacific/Midway -./share/postgresql/timezone/Pacific/Palau -./share/postgresql/timezone/Pacific/Honolulu -./share/postgresql/timezone/Pacific/Yap -./share/postgresql/timezone/Pacific/Pohnpei -./share/postgresql/timezone/Pacific/Wake -./share/postgresql/timezone/Pacific/Ponape -./share/postgresql/timezone/Iran -./share/postgresql/timezone/Etc/GMT-4 -./share/postgresql/timezone/Etc/GMT-9 -./share/postgresql/timezone/Etc/UCT -./share/postgresql/timezone/Etc/GMT-7 -./share/postgresql/timezone/Etc/Greenwich -./share/postgresql/timezone/Etc/GMT-0 -./share/postgresql/timezone/Etc/GMT-5 -./share/postgresql/timezone/Etc/GMT0 -./share/postgresql/timezone/Etc/GMT+7 -./share/postgresql/timezone/Etc/GMT-2 -./share/postgresql/timezone/Etc/GMT-10 -./share/postgresql/timezone/Etc/GMT+6 -./share/postgresql/timezone/Etc/GMT+1 -./share/postgresql/timezone/Etc/UTC -./share/postgresql/timezone/Etc/GMT-3 -./share/postgresql/timezone/Etc/GMT-1 -./share/postgresql/timezone/Etc/GMT-8 -./share/postgresql/timezone/Etc/GMT-11 -./share/postgresql/timezone/Etc/GMT+12 -./share/postgresql/timezone/Etc/GMT+10 -./share/postgresql/timezone/Etc/GMT-12 -./share/postgresql/timezone/Etc/GMT+5 -./share/postgresql/timezone/Etc/Universal -./share/postgresql/timezone/Etc/GMT-13 -./share/postgresql/timezone/Etc/GMT-6 -./share/postgresql/timezone/Etc/GMT+9 -./share/postgresql/timezone/Etc/GMT+3 -./share/postgresql/timezone/Etc/GMT-14 -./share/postgresql/timezone/Etc/GMT+4 -./share/postgresql/timezone/Etc/Zulu -./share/postgresql/timezone/Etc/GMT+2 -./share/postgresql/timezone/Etc/GMT+0 -./share/postgresql/timezone/Etc/GMT+8 -./share/postgresql/timezone/Etc/GMT+11 -./share/postgresql/timezone/Etc/GMT -./share/postgresql/timezone/Zulu -./share/postgresql/timezone/GMT+0 -./share/postgresql/timezone/Singapore -./share/postgresql/timezone/NZ-CHAT -./share/postgresql/timezone/Cuba -./share/postgresql/timezone/GB -./share/postgresql/timezone/Arctic/Longyearbyen -./share/postgresql/timezone/MST7MDT -./share/postgresql/timezone/PRC -./share/postgresql/timezone/Canada/Eastern -./share/postgresql/timezone/Canada/Yukon -./share/postgresql/timezone/Canada/Atlantic -./share/postgresql/timezone/Canada/Newfoundland -./share/postgresql/timezone/Canada/Saskatchewan -./share/postgresql/timezone/Canada/Pacific -./share/postgresql/timezone/Canada/East-Saskatchewan -./share/postgresql/timezone/Canada/Mountain -./share/postgresql/timezone/Canada/Central -./share/postgresql/timezone/CST6CDT -./share/postgresql/timezone/HST -./share/postgresql/timezone/America/Boa_Vista -./share/postgresql/timezone/America/New_York -./share/postgresql/timezone/America/Santarem -./share/postgresql/timezone/America/Boise -./share/postgresql/timezone/America/St_Lucia -./share/postgresql/timezone/America/Mendoza -./share/postgresql/timezone/America/Mexico_City -./share/postgresql/timezone/America/Chihuahua -./share/postgresql/timezone/America/Indianapolis -./share/postgresql/timezone/America/Virgin -./share/postgresql/timezone/America/Atka -./share/postgresql/timezone/America/Winnipeg -./share/postgresql/timezone/America/Hermosillo -./share/postgresql/timezone/America/Indiana/Indianapolis -./share/postgresql/timezone/America/Indiana/Tell_City -./share/postgresql/timezone/America/Indiana/Winamac -./share/postgresql/timezone/America/Indiana/Knox -./share/postgresql/timezone/America/Indiana/Vincennes -./share/postgresql/timezone/America/Indiana/Vevay -./share/postgresql/timezone/America/Indiana/Petersburg -./share/postgresql/timezone/America/Indiana/Marengo -./share/postgresql/timezone/America/Moncton -./share/postgresql/timezone/America/Campo_Grande -./share/postgresql/timezone/America/Guyana -./share/postgresql/timezone/America/Caracas -./share/postgresql/timezone/America/Maceio -./share/postgresql/timezone/America/Godthab -./share/postgresql/timezone/America/Thunder_Bay -./share/postgresql/timezone/America/Havana -./share/postgresql/timezone/America/Santiago -./share/postgresql/timezone/America/Los_Angeles -./share/postgresql/timezone/America/Buenos_Aires -./share/postgresql/timezone/America/Manaus -./share/postgresql/timezone/America/Bahia -./share/postgresql/timezone/America/North_Dakota/New_Salem -./share/postgresql/timezone/America/North_Dakota/Beulah -./share/postgresql/timezone/America/North_Dakota/Center -./share/postgresql/timezone/America/Bahia_Banderas -./share/postgresql/timezone/America/Edmonton -./share/postgresql/timezone/America/Tegucigalpa -./share/postgresql/timezone/America/Rankin_Inlet -./share/postgresql/timezone/America/Monterrey -./share/postgresql/timezone/America/Cambridge_Bay -./share/postgresql/timezone/America/Porto_Velho -./share/postgresql/timezone/America/Antigua -./share/postgresql/timezone/America/Atikokan -./share/postgresql/timezone/America/Vancouver -./share/postgresql/timezone/America/Anchorage -./share/postgresql/timezone/America/Port-au-Prince -./share/postgresql/timezone/America/Lima -./share/postgresql/timezone/America/Grenada -./share/postgresql/timezone/America/Creston -./share/postgresql/timezone/America/La_Paz -./share/postgresql/timezone/America/Panama -./share/postgresql/timezone/America/Blanc-Sablon -./share/postgresql/timezone/America/Cayenne -./share/postgresql/timezone/America/Santo_Domingo -./share/postgresql/timezone/America/Grand_Turk -./share/postgresql/timezone/America/Toronto -./share/postgresql/timezone/America/Rainy_River -./share/postgresql/timezone/America/Merida -./share/postgresql/timezone/America/Port_of_Spain -./share/postgresql/timezone/America/Nipigon -./share/postgresql/timezone/America/Jamaica -./share/postgresql/timezone/America/Rosario -./share/postgresql/timezone/America/Dawson_Creek -./share/postgresql/timezone/America/Belize -./share/postgresql/timezone/America/Costa_Rica -./share/postgresql/timezone/America/Barbados -./share/postgresql/timezone/America/Danmarkshavn -./share/postgresql/timezone/America/Argentina/La_Rioja -./share/postgresql/timezone/America/Argentina/Mendoza -./share/postgresql/timezone/America/Argentina/Buenos_Aires -./share/postgresql/timezone/America/Argentina/Tucuman -./share/postgresql/timezone/America/Argentina/Ushuaia -./share/postgresql/timezone/America/Argentina/Catamarca -./share/postgresql/timezone/America/Argentina/ComodRivadavia -./share/postgresql/timezone/America/Argentina/Jujuy -./share/postgresql/timezone/America/Argentina/Cordoba -./share/postgresql/timezone/America/Argentina/San_Luis -./share/postgresql/timezone/America/Argentina/Rio_Gallegos -./share/postgresql/timezone/America/Argentina/Salta -./share/postgresql/timezone/America/Argentina/San_Juan -./share/postgresql/timezone/America/Pangnirtung -./share/postgresql/timezone/America/Anguilla -./share/postgresql/timezone/America/Curacao -./share/postgresql/timezone/America/Cancun -./share/postgresql/timezone/America/Montreal -./share/postgresql/timezone/America/Shiprock -./share/postgresql/timezone/America/Thule -./share/postgresql/timezone/America/Scoresbysund -./share/postgresql/timezone/America/Catamarca -./share/postgresql/timezone/America/Sao_Paulo -./share/postgresql/timezone/America/Sitka -./share/postgresql/timezone/America/Asuncion -./share/postgresql/timezone/America/Regina -./share/postgresql/timezone/America/St_Johns -./share/postgresql/timezone/America/Montevideo -./share/postgresql/timezone/America/Eirunepe -./share/postgresql/timezone/America/Denver -./share/postgresql/timezone/America/Metlakatla -./share/postgresql/timezone/America/Araguaina -./share/postgresql/timezone/America/Juneau -./share/postgresql/timezone/America/Marigot -./share/postgresql/timezone/America/Menominee -./share/postgresql/timezone/America/Glace_Bay -./share/postgresql/timezone/America/Tijuana -./share/postgresql/timezone/America/Detroit -./share/postgresql/timezone/America/Belem -./share/postgresql/timezone/America/Jujuy -./share/postgresql/timezone/America/St_Thomas -./share/postgresql/timezone/America/Resolute -./share/postgresql/timezone/America/Cuiaba -./share/postgresql/timezone/America/Halifax -./share/postgresql/timezone/America/St_Barthelemy -./share/postgresql/timezone/America/Guatemala -./share/postgresql/timezone/America/Nassau -./share/postgresql/timezone/America/St_Kitts -./share/postgresql/timezone/America/Cordoba -./share/postgresql/timezone/America/Miquelon -./share/postgresql/timezone/America/Bogota -./share/postgresql/timezone/America/Rio_Branco -./share/postgresql/timezone/America/Ensenada -./share/postgresql/timezone/America/Yakutat -./share/postgresql/timezone/America/Noronha -./share/postgresql/timezone/America/Kentucky/Monticello -./share/postgresql/timezone/America/Kentucky/Louisville -./share/postgresql/timezone/America/Porto_Acre -./share/postgresql/timezone/America/Santa_Isabel -./share/postgresql/timezone/America/El_Salvador -./share/postgresql/timezone/America/Yellowknife -./share/postgresql/timezone/America/Cayman -./share/postgresql/timezone/America/Whitehorse -./share/postgresql/timezone/America/Ojinaga -./share/postgresql/timezone/America/Aruba -./share/postgresql/timezone/America/Nome -./share/postgresql/timezone/America/Fortaleza -./share/postgresql/timezone/America/Martinique -./share/postgresql/timezone/America/Recife -./share/postgresql/timezone/America/Knox_IN -./share/postgresql/timezone/America/Guayaquil -./share/postgresql/timezone/America/Goose_Bay -./share/postgresql/timezone/America/Iqaluit -./share/postgresql/timezone/America/Matamoros -./share/postgresql/timezone/America/Lower_Princes -./share/postgresql/timezone/America/Louisville -./share/postgresql/timezone/America/Coral_Harbour -./share/postgresql/timezone/America/Phoenix -./share/postgresql/timezone/America/Guadeloupe -./share/postgresql/timezone/America/Mazatlan -./share/postgresql/timezone/America/Swift_Current -./share/postgresql/timezone/America/Paramaribo -./share/postgresql/timezone/America/Dominica -./share/postgresql/timezone/America/Kralendijk -./share/postgresql/timezone/America/Montserrat -./share/postgresql/timezone/America/St_Vincent -./share/postgresql/timezone/America/Fort_Wayne -./share/postgresql/timezone/America/Dawson -./share/postgresql/timezone/America/Inuvik -./share/postgresql/timezone/America/Adak -./share/postgresql/timezone/America/Managua -./share/postgresql/timezone/America/Puerto_Rico -./share/postgresql/timezone/America/Tortola -./share/postgresql/timezone/America/Chicago -./share/postgresql/timezone/Africa/Lome -./share/postgresql/timezone/Africa/Brazzaville -./share/postgresql/timezone/Africa/Khartoum -./share/postgresql/timezone/Africa/Ceuta -./share/postgresql/timezone/Africa/Djibouti -./share/postgresql/timezone/Africa/Lagos -./share/postgresql/timezone/Africa/Accra -./share/postgresql/timezone/Africa/El_Aaiun -./share/postgresql/timezone/Africa/Malabo -./share/postgresql/timezone/Africa/Windhoek -./share/postgresql/timezone/Africa/Tripoli -./share/postgresql/timezone/Africa/Bissau -./share/postgresql/timezone/Africa/Blantyre -./share/postgresql/timezone/Africa/Kinshasa -./share/postgresql/timezone/Africa/Porto-Novo -./share/postgresql/timezone/Africa/Nairobi -./share/postgresql/timezone/Africa/Ouagadougou -./share/postgresql/timezone/Africa/Asmera -./share/postgresql/timezone/Africa/Cairo -./share/postgresql/timezone/Africa/Lubumbashi -./share/postgresql/timezone/Africa/Tunis -./share/postgresql/timezone/Africa/Dar_es_Salaam -./share/postgresql/timezone/Africa/Casablanca -./share/postgresql/timezone/Africa/Algiers -./share/postgresql/timezone/Africa/Mbabane -./share/postgresql/timezone/Africa/Monrovia -./share/postgresql/timezone/Africa/Nouakchott -./share/postgresql/timezone/Africa/Banjul -./share/postgresql/timezone/Africa/Kampala -./share/postgresql/timezone/Africa/Conakry -./share/postgresql/timezone/Africa/Mogadishu -./share/postgresql/timezone/Africa/Ndjamena -./share/postgresql/timezone/Africa/Niamey -./share/postgresql/timezone/Africa/Lusaka -./share/postgresql/timezone/Africa/Addis_Ababa -./share/postgresql/timezone/Africa/Sao_Tome -./share/postgresql/timezone/Africa/Abidjan -./share/postgresql/timezone/Africa/Harare -./share/postgresql/timezone/Africa/Asmara -./share/postgresql/timezone/Africa/Douala -./share/postgresql/timezone/Africa/Freetown -./share/postgresql/timezone/Africa/Libreville -./share/postgresql/timezone/Africa/Luanda -./share/postgresql/timezone/Africa/Maseru -./share/postgresql/timezone/Africa/Gaborone -./share/postgresql/timezone/Africa/Maputo -./share/postgresql/timezone/Africa/Timbuktu -./share/postgresql/timezone/Africa/Bangui -./share/postgresql/timezone/Africa/Bamako -./share/postgresql/timezone/Africa/Dakar -./share/postgresql/timezone/Africa/Juba -./share/postgresql/timezone/Africa/Bujumbura -./share/postgresql/timezone/Africa/Johannesburg -./share/postgresql/timezone/Africa/Kigali -./share/postgresql/timezone/Eire -./share/postgresql/timezone/Europe/Vaduz -./share/postgresql/timezone/Europe/Podgorica -./share/postgresql/timezone/Europe/Rome -./share/postgresql/timezone/Europe/Vienna -./share/postgresql/timezone/Europe/Dublin -./share/postgresql/timezone/Europe/Zurich -./share/postgresql/timezone/Europe/London -./share/postgresql/timezone/Europe/Monaco -./share/postgresql/timezone/Europe/Sofia -./share/postgresql/timezone/Europe/Uzhgorod -./share/postgresql/timezone/Europe/Minsk -./share/postgresql/timezone/Europe/Malta -./share/postgresql/timezone/Europe/Busingen -./share/postgresql/timezone/Europe/Gibraltar -./share/postgresql/timezone/Europe/Volgograd -./share/postgresql/timezone/Europe/Budapest -./share/postgresql/timezone/Europe/Vatican -./share/postgresql/timezone/Europe/Luxembourg -./share/postgresql/timezone/Europe/Chisinau -./share/postgresql/timezone/Europe/Nicosia -./share/postgresql/timezone/Europe/Warsaw -./share/postgresql/timezone/Europe/San_Marino -./share/postgresql/timezone/Europe/Copenhagen -./share/postgresql/timezone/Europe/Ljubljana -./share/postgresql/timezone/Europe/Athens -./share/postgresql/timezone/Europe/Skopje -./share/postgresql/timezone/Europe/Andorra -./share/postgresql/timezone/Europe/Kaliningrad -./share/postgresql/timezone/Europe/Amsterdam -./share/postgresql/timezone/Europe/Guernsey -./share/postgresql/timezone/Europe/Isle_of_Man -./share/postgresql/timezone/Europe/Tirane -./share/postgresql/timezone/Europe/Jersey -./share/postgresql/timezone/Europe/Madrid -./share/postgresql/timezone/Europe/Helsinki -./share/postgresql/timezone/Europe/Riga -./share/postgresql/timezone/Europe/Zagreb -./share/postgresql/timezone/Europe/Bratislava -./share/postgresql/timezone/Europe/Prague -./share/postgresql/timezone/Europe/Tallinn -./share/postgresql/timezone/Europe/Stockholm -./share/postgresql/timezone/Europe/Tiraspol -./share/postgresql/timezone/Europe/Belgrade -./share/postgresql/timezone/Europe/Bucharest -./share/postgresql/timezone/Europe/Vilnius -./share/postgresql/timezone/Europe/Sarajevo -./share/postgresql/timezone/Europe/Belfast -./share/postgresql/timezone/Europe/Zaporozhye -./share/postgresql/timezone/Europe/Oslo -./share/postgresql/timezone/Europe/Mariehamn -./share/postgresql/timezone/Europe/Moscow -./share/postgresql/timezone/Europe/Brussels -./share/postgresql/timezone/Europe/Paris -./share/postgresql/timezone/Europe/Istanbul -./share/postgresql/timezone/Europe/Simferopol -./share/postgresql/timezone/Europe/Lisbon -./share/postgresql/timezone/Europe/Berlin -./share/postgresql/timezone/Europe/Kiev -./share/postgresql/timezone/Europe/Samara -./share/postgresql/timezone/MST -./share/postgresql/timezone/Asia/Khandyga -./share/postgresql/timezone/Asia/Manila -./share/postgresql/timezone/Asia/Novokuznetsk -./share/postgresql/timezone/Asia/Baghdad -./share/postgresql/timezone/Asia/Macau -./share/postgresql/timezone/Asia/Urumqi -./share/postgresql/timezone/Asia/Ujung_Pandang -./share/postgresql/timezone/Asia/Ulan_Bator -./share/postgresql/timezone/Asia/Bishkek -./share/postgresql/timezone/Asia/Qatar -./share/postgresql/timezone/Asia/Qyzylorda -./share/postgresql/timezone/Asia/Calcutta -./share/postgresql/timezone/Asia/Riyadh87 -./share/postgresql/timezone/Asia/Dushanbe -./share/postgresql/timezone/Asia/Yekaterinburg -./share/postgresql/timezone/Asia/Dhaka -./share/postgresql/timezone/Asia/Jakarta -./share/postgresql/timezone/Asia/Shanghai -./share/postgresql/timezone/Asia/Ulaanbaatar -./share/postgresql/timezone/Asia/Jerusalem -./share/postgresql/timezone/Asia/Ashkhabad -./share/postgresql/timezone/Asia/Tokyo -./share/postgresql/timezone/Asia/Macao -./share/postgresql/timezone/Asia/Krasnoyarsk -./share/postgresql/timezone/Asia/Saigon -./share/postgresql/timezone/Asia/Omsk -./share/postgresql/timezone/Asia/Damascus -./share/postgresql/timezone/Asia/Phnom_Penh -./share/postgresql/timezone/Asia/Bangkok -./share/postgresql/timezone/Asia/Kamchatka -./share/postgresql/timezone/Asia/Choibalsan -./share/postgresql/timezone/Asia/Ust-Nera -./share/postgresql/timezone/Asia/Aden -./share/postgresql/timezone/Asia/Vientiane -./share/postgresql/timezone/Asia/Sakhalin -./share/postgresql/timezone/Asia/Ashgabat -./share/postgresql/timezone/Asia/Katmandu -./share/postgresql/timezone/Asia/Almaty -./share/postgresql/timezone/Asia/Baku -./share/postgresql/timezone/Asia/Nicosia -./share/postgresql/timezone/Asia/Riyadh88 -./share/postgresql/timezone/Asia/Kashgar -./share/postgresql/timezone/Asia/Riyadh89 -./share/postgresql/timezone/Asia/Taipei -./share/postgresql/timezone/Asia/Tehran -./share/postgresql/timezone/Asia/Kabul -./share/postgresql/timezone/Asia/Samarkand -./share/postgresql/timezone/Asia/Kuala_Lumpur -./share/postgresql/timezone/Asia/Tashkent -./share/postgresql/timezone/Asia/Thimbu -./share/postgresql/timezone/Asia/Thimphu -./share/postgresql/timezone/Asia/Yerevan -./share/postgresql/timezone/Asia/Chungking -./share/postgresql/timezone/Asia/Hebron -./share/postgresql/timezone/Asia/Karachi -./share/postgresql/timezone/Asia/Kolkata -./share/postgresql/timezone/Asia/Aqtobe -./share/postgresql/timezone/Asia/Muscat -./share/postgresql/timezone/Asia/Hong_Kong -./share/postgresql/timezone/Asia/Chongqing -./share/postgresql/timezone/Asia/Oral -./share/postgresql/timezone/Asia/Pontianak -./share/postgresql/timezone/Asia/Colombo -./share/postgresql/timezone/Asia/Pyongyang -./share/postgresql/timezone/Asia/Hovd -./share/postgresql/timezone/Asia/Kuwait -./share/postgresql/timezone/Asia/Anadyr -./share/postgresql/timezone/Asia/Kathmandu -./share/postgresql/timezone/Asia/Irkutsk -./share/postgresql/timezone/Asia/Bahrain -./share/postgresql/timezone/Asia/Dubai -./share/postgresql/timezone/Asia/Jayapura -./share/postgresql/timezone/Asia/Riyadh -./share/postgresql/timezone/Asia/Ho_Chi_Minh -./share/postgresql/timezone/Asia/Singapore -./share/postgresql/timezone/Asia/Tel_Aviv -./share/postgresql/timezone/Asia/Dili -./share/postgresql/timezone/Asia/Rangoon -./share/postgresql/timezone/Asia/Harbin -./share/postgresql/timezone/Asia/Yakutsk -./share/postgresql/timezone/Asia/Magadan -./share/postgresql/timezone/Asia/Amman -./share/postgresql/timezone/Asia/Kuching -./share/postgresql/timezone/Asia/Novosibirsk -./share/postgresql/timezone/Asia/Seoul -./share/postgresql/timezone/Asia/Dacca -./share/postgresql/timezone/Asia/Vladivostok -./share/postgresql/timezone/Asia/Istanbul -./share/postgresql/timezone/Asia/Beirut -./share/postgresql/timezone/Asia/Aqtau -./share/postgresql/timezone/Asia/Brunei -./share/postgresql/timezone/Asia/Gaza -./share/postgresql/timezone/Asia/Tbilisi -./share/postgresql/timezone/Asia/Makassar -./share/postgresql/timezone/Asia/Beijing -./share/postgresql/timezone/Navajo -./share/postgresql/timezone/GMT -./share/postgresql/gtm.conf.sample -./share/postgresql/system_views.sql -./share/postgresql/performance_views.sql -./share/postgresql/sql_features.txt -./share/postgresql/pg_cast_oid.txt -./share/postgresql/recovery.conf.sample -./share/postgresql/cm_server.conf.sample -./share/postgresql/tsearch_data/english.stop -./share/postgresql/tsearch_data/dutch.stop -./share/postgresql/tsearch_data/hungarian.stop -./share/postgresql/tsearch_data/french.stop -./share/postgresql/tsearch_data/synonym_sample.syn -./share/postgresql/tsearch_data/turkish.stop -./share/postgresql/tsearch_data/portuguese.stop -./share/postgresql/tsearch_data/spanish.stop -./share/postgresql/tsearch_data/hunspell_sample.affix -./share/postgresql/tsearch_data/ispell_sample.affix -./share/postgresql/tsearch_data/danish.stop -./share/postgresql/tsearch_data/german.stop -./share/postgresql/tsearch_data/thesaurus_sample.ths -./share/postgresql/tsearch_data/norwegian.stop -./share/postgresql/tsearch_data/finnish.stop -./share/postgresql/tsearch_data/russian.stop -./share/postgresql/tsearch_data/swedish.stop -./share/postgresql/tsearch_data/ispell_sample.dict -./share/postgresql/tsearch_data/italian.stop -./share/postgresql/cm_agent.conf.sample -./share/postgresql/information_schema.sql -./share/postgresql/timezonesets/Antarctica.txt -./share/postgresql/timezonesets/Australia.txt -./share/postgresql/timezonesets/Europe.txt -./share/postgresql/timezonesets/America.txt -./share/postgresql/timezonesets/Australia -./share/postgresql/timezonesets/Indian.txt -./share/postgresql/timezonesets/India -./share/postgresql/timezonesets/Pacific.txt -./share/postgresql/timezonesets/Atlantic.txt -./share/postgresql/timezonesets/Africa.txt -./share/postgresql/timezonesets/Asia.txt -./share/postgresql/timezonesets/Default -./share/postgresql/timezonesets/Etc.txt -./share/postgresql/postgres.bki -./share/llvmir/GaussDB_expr.ir -./share/sslcert/gsql/openssl.cnf -./share/sslcert/gds/openssl.cnf -./share/sslcert/etcd/openssl.cnf -./share/sslcert/grpc/openssl.cnf -./lib/libsimsearch/ -./lib/postgresql/latin2_and_win1250.so -./lib/postgresql/euc2004_sjis2004.so -./lib/postgresql/euc_kr_and_mic.so -./lib/postgresql/utf8_and_uhc.so -./lib/postgresql/euc_tw_and_big5.so -./lib/postgresql/cyrillic_and_mic.so -./lib/postgresql/utf8_and_johab.so -./lib/postgresql/utf8_and_gb18030.so -./lib/postgresql/pgxs/src/makefiles/pgxs.mk -./lib/postgresql/pgxs/src/Makefile.shlib -./lib/postgresql/pgxs/src/Makefile.port -./lib/postgresql/pgxs/src/nls-global.mk -./lib/postgresql/pgxs/src/Makefile.global -./lib/postgresql/pgxs/config/install-sh -./lib/postgresql/euc_cn_and_mic.so -./lib/postgresql/latin_and_mic.so -./lib/postgresql/utf8_and_sjis2004.so -./lib/postgresql/utf8_and_euc_jp.so -./lib/postgresql/utf8_and_sjis.so -./lib/postgresql/utf8_and_cyrillic.so -./lib/postgresql/hstore.so -./lib/postgresql/tsdb.so -./lib/postgresql/streaming.so -./lib/postgresql/packages.so -./lib/postgresql/utf8_and_euc_kr.so -./lib/postgresql/ascii_and_mic.so -./lib/postgresql/utf8_and_iso8859_1.so -./lib/postgresql/euc_jp_and_sjis.so -./lib/postgresql/dict_snowball.so -./lib/postgresql/utf8_and_ascii.so -./lib/postgresql/utf8_and_euc_tw.so -./lib/postgresql/utf8_and_iso8859.so -./lib/postgresql/utf8_and_win.so -./lib/postgresql/utf8_and_euc_cn.so -./lib/postgresql/utf8_and_gbk.so -./lib/postgresql/utf8_and_euc2004.so -./lib/postgresql/utf8_and_big5.so -./lib/postgresql/roach_api.so -./lib/postgresql/mppdb_decoding.so -./lib/postgresql/gsredistribute.so -./lib/postgresql/dimsearch.so -./lib/postgresql/pg_plugin -./lib/postgresql/proc_srclib -./lib/postgresql/security_plugin.so -./lib/postgresql/pg_upgrade_support.so -./lib/postgresql/java/pljava.jar -./lib/libpljava.so -./lib/libpq.a -./lib/libpq.so -./lib/libpq.so.5 -./lib/libpq.so.5.5 -./lib/libpq_ce.so -./lib/libpq_ce.so.5 -./lib/libpq_ce.so.5.5 -./lib/libcgroup.so -./lib/libcgroup.so.1 -./lib/libcom_err_gauss.so -./lib/libcom_err_gauss.so.3 -./lib/libcom_err_gauss.so.3.0 -./lib/libgpr.so -./lib/libgpr.so.9 -./lib/libgpr.so.9.0.0 -./lib/libgrpc.so -./lib/libgrpc++.so -./lib/libgrpc++.so.1 -./lib/libgrpc++.so.1.28.1 -./lib/libgrpc.so.9 -./lib/libgrpc.so.9.0.0 -./lib/libupb.so -./lib/libupb.so.9 -./lib/libupb.so.9.0.0 -./lib/libabsl_str_format_internal.so -./lib/libabsl_strings.so -./lib/libabsl_throw_delegate.so -./lib/libabsl_strings_internal.so -./lib/libabsl_base.so -./lib/libabsl_dynamic_annotations.so -./lib/libabsl_spinlock_wait.so -./lib/libabsl_int128.so -./lib/libabsl_bad_optional_access.so -./lib/libabsl_raw_logging_internal.so -./lib/libabsl_log_severity.so -./lib/libaddress_sorting.so -./lib/libaddress_sorting.so.9 -./lib/libgssapi_krb5_gauss.so -./lib/libgssapi_krb5_gauss.so.2 -./lib/libgssapi_krb5_gauss.so.2.2 -./lib/libgssrpc_gauss.so -./lib/libgssrpc_gauss.so.4 -./lib/libgssrpc_gauss.so.4.2 -./lib/libk5crypto_gauss.so -./lib/libk5crypto_gauss.so.3 -./lib/libk5crypto_gauss.so.3.1 -./lib/libkadm5clnt.so -./lib/libkadm5clnt_mit.so -./lib/libkadm5clnt_mit.so.11 -./lib/libkadm5clnt_mit.so.11.0 -./lib/libkadm5srv.so -./lib/libkadm5srv_mit.so -./lib/libkadm5srv_mit.so.11 -./lib/libkadm5srv_mit.so.11.0 -./lib/libkdb5.so -./lib/libkdb5.so.9 -./lib/libkdb5.so.9.0 -./lib/libkrad.so -./lib/libkrad.so.0 -./lib/libkrad.so.0.0 -./lib/libkrb5_gauss.so -./lib/libkrb5_gauss.so.3 -./lib/libkrb5_gauss.so.3.3 -./lib/libkrb5support_gauss.so -./lib/libkrb5support_gauss.so.0 -./lib/libkrb5support_gauss.so.0.1 -./lib/krb5/plugins/kdb/db2.so -./lib/libverto.so -./lib/libverto.so.0 -./lib/libverto.so.0.0 -./lib/libcurl.so -./lib/libcurl.so.4 -./lib/libcurl.so.4.6.0 -./lib/libcrypto.so -./lib/libcrypto.so.1.1 -./lib/libssl.so -./lib/libssl.so.1.1 -./lib/libgcc_s.so.1 -./lib/libstdc++.so.6 -./lib/libz.so -./lib/libz.so.1 -./lib/libz.so.1.2.11 -./lib/liblz4.so -./lib/liblz4.so.1 -./lib/liblz4.so.1.9.2 -./lib/libcjson.so -./lib/libcjson.so.1 -./lib/libcjson.so.1.7.13 -./lib/libconfig.so -./lib/libconfig.so.4 -./lib/libcmclient.so -./lib/libcmclient.so.1 -./lib/libcmcommon.so -./lib/libcmcommon.so.2 -./lib/libcmpq.so -./lib/libcmpq.so.1 -./lib/libetcdapi.so -./lib/libetcdapi.so.1 -./lib/libpgport_tool.so -./lib/libpgport_tool.so.1 -./lib/lib_roach_show.so -./lib/roach_contrib.so -./share/llvmir/GaussDB_expr.ir -./lib/libeSDKLogAPI.so -./lib/libeSDKOBS.so -./lib/liblog4cpp.so -./lib/liblog4cpp.so.5 -./lib/liblog4cpp.so.5.0.6 -./lib/libcharset.so -./lib/libcharset.so.1 -./lib/libcharset.so.1.0.0 -./lib/libiconv.so -./lib/libiconv.so.2 -./lib/libiconv.so.2.6.1 -./lib/libnghttp2.so -./lib/libnghttp2.so.14 -./lib/libnghttp2.so.14.18.0 -./lib/libpcre.so -./lib/libpcre.so.1 -./lib/libpcre.so.1.2.12 -./lib/libsecurec.so -./lib/libxml2.so -./lib/libxml2.so.2 -./lib/libxml2.so.2.9.9 -./lib/libparquet.so -./lib/libparquet.so.11 -./lib/libparquet.so.11.1.0 -./lib/OBS.ini -./lib/postgresql/latin2_and_win1250.so -./lib/postgresql/euc2004_sjis2004.so -./lib/libhll.so - - -./include/postgresql/server/postgres_ext.h -./include/postgresql/server/pg_config_os.h -./include/postgresql/server/pgtime.h -./include/postgresql/server/datatypes.h -./include/postgresql/server/client_logic/client_logic_enums.h -./include/postgresql/server/nodes/primnodes.h -./include/postgresql/server/nodes/parsenodes.h -./include/postgresql/server/nodes/parsenodes_common.h -./include/postgresql/server/nodes/bitmapset.h -./include/postgresql/server/nodes/pg_list.h -./include/postgresql/server/nodes/value.h -./include/postgresql/server/nodes/nodes.h -./include/postgresql/server/utils/sortsupport.h -./include/postgresql/server/utils/varbit.h -./include/postgresql/server/utils/spccache.h -./include/postgresql/server/utils/rangetypes.h -./include/postgresql/server/utils/plpgsql.h -./include/postgresql/server/utils/memtrack.h -./include/postgresql/server/utils/pg_locale.h -./include/postgresql/server/utils/tzparser.h -./include/postgresql/server/utils/syscall_lock.h -./include/postgresql/server/utils/partitionmap.h -./include/postgresql/server/utils/array.h -./include/postgresql/server/utils/relmapper.h -./include/postgresql/server/utils/hsearch.h -./include/postgresql/server/utils/xml.h -./include/postgresql/server/utils/bytea.h -./include/postgresql/server/utils/relcache.h -./include/postgresql/server/utils/pg_rusage.h -./include/postgresql/server/utils/numeric.h -./include/postgresql/server/utils/mmpool.h -./include/postgresql/server/utils/nabstime.h -./include/postgresql/server/utils/fmgrtab.h -./include/postgresql/server/utils/snapmgr.h -./include/postgresql/server/utils/syscache.h -./include/postgresql/server/utils/logtape.h -./include/postgresql/server/utils/datum.h -./include/postgresql/server/utils/guc_tables.h -./include/postgresql/server/utils/snapshot.h -./include/postgresql/server/utils/geo_decls.h -./include/postgresql/server/utils/errcodes.h -./include/postgresql/server/utils/inval.h -./include/postgresql/server/utils/help_config.h -./include/postgresql/server/utils/distribute_test.h -./include/postgresql/server/utils/aiomem.h -./include/postgresql/server/utils/tuplestore.h -./include/postgresql/server/utils/rbtree.h -./include/postgresql/server/utils/gs_bitmap.h -./include/postgresql/server/utils/tuplesort.h -./include/postgresql/server/utils/tqual.h -./include/postgresql/server/utils/ps_status.h -./include/postgresql/server/utils/palloc.h -./include/postgresql/server/utils/reltrigger.h -./include/postgresql/server/utils/acl.h -./include/postgresql/server/utils/ascii.h -./include/postgresql/server/utils/selfuncs.h -./include/postgresql/server/utils/json.h -./include/postgresql/server/utils/portal.h -./include/postgresql/server/utils/atomic.h -./include/postgresql/server/utils/elog.h -./include/postgresql/server/utils/date.h -./include/postgresql/server/utils/plancache.h -./include/postgresql/server/utils/int8.h -./include/postgresql/server/utils/timestamp.h -./include/postgresql/server/utils/bloom_filter.h -./include/postgresql/server/utils/fmgroids.h -./include/postgresql/server/utils/pg_crc_tables.h -./include/postgresql/server/utils/probes.h -./include/postgresql/server/utils/datetime.h -./include/postgresql/server/utils/inet.h -./include/postgresql/server/utils/pg_lzcompress.h -./include/postgresql/server/utils/pg_crc.h -./include/postgresql/server/utils/attoptcache.h -./include/postgresql/server/utils/dynahash.h -./include/postgresql/server/utils/rel.h -./include/postgresql/server/utils/partcache.h -./include/postgresql/server/utils/lsyscache.h -./include/postgresql/server/utils/memutils.h -./include/postgresql/server/utils/memprot.h -./include/postgresql/server/utils/uuid.h -./include/postgresql/server/utils/combocid.h -./include/postgresql/server/utils/builtins.h -./include/postgresql/server/utils/guc.h -./include/postgresql/server/utils/dfs_vector.h -./include/postgresql/server/utils/dynamic_loader.h -./include/postgresql/server/utils/resowner.h -./include/postgresql/server/utils/aes.h -./include/postgresql/server/utils/cash.h -./include/postgresql/server/utils/typcache.h -./include/postgresql/server/utils/formatting.h -./include/postgresql/server/utils/partitionkey.h -./include/postgresql/server/utils/aset.h -./include/postgresql/server/utils/catcache.h -./include/postgresql/server/utils/atomic_arm.h -./include/postgresql/server/datatype/timestamp.h -./include/postgresql/server/access/rmgr.h -./include/postgresql/server/access/xlogreader.h -./include/postgresql/server/access/xlog_basic.h -./include/postgresql/server/access/tupdesc.h -./include/postgresql/server/access/rmgrlist.h -./include/postgresql/server/access/htup.h -./include/postgresql/server/access/xlogdefs.h -./include/postgresql/server/access/attnum.h -./include/postgresql/server/access/tupmacs.h -./include/postgresql/server/access/xlogrecord.h -./include/postgresql/server/tcop/dest.h -./include/postgresql/server/catalog/pg_type.h -./include/postgresql/server/catalog/pg_attribute.h -./include/postgresql/server/catalog/genbki.h -./include/postgresql/server/gs_thread.h -./include/postgresql/server/port/pg_bswap.h -./include/postgresql/server/port/pg_crc32c.h -./include/postgresql/server/securec.h -./include/postgresql/server/securectype.h -./include/postgresql/server/storage/off.h -./include/postgresql/server/storage/buf/block.h -./include/postgresql/server/storage/item/item.h -./include/postgresql/server/storage/relfilenode.h -./include/postgresql/server/storage/buf/bufpage.h -./include/postgresql/server/storage/spin.h -./include/postgresql/server/storage/buf/buf.h -./include/postgresql/server/storage/item/itemid.h -./include/postgresql/server/storage/lock/pg_sema.h -./include/postgresql/server/storage/item/itemptr.h -./include/postgresql/server/storage/lock/s_lock.h -./include/postgresql/server/storage/backendid.h -./include/postgresql/server/storage/lock/lock.h -./include/postgresql/server/storage/lock/lwlock.h -./include/postgresql/server/storage/barrier.h -./include/postgresql/server/storage/shmem.h -./include/postgresql/server/pg_config.h -./include/postgresql/server/lib/stringinfo.h -./include/postgresql/server/fmgr.h -./include/postgresql/server/fmgr/fmgr_comp.h -./include/postgresql/server/fmgr/fmgr_core.h -./include/postgresql/server/gs_threadlocal.h -./include/postgresql/server/postgres.h -./include/postgresql/server/executor/tuptable.h -./include/postgresql/server/pg_config_manual.h -./include/postgresql/server/mb/pg_wchar.h -./include/postgresql/server/c.h -./include/postgresql/server/port.h -./include/postgresql/server/utils/be_module.h -./include/postgresql/server/nodes/params.h -./include/postgresql/server/securec_check.h -./include/postgresql/server/nodes/memnodes.h -./include/postgresql/server/access/skey.h -./include/postgresql/server/lib/dllist.h -./include/postgresql/server/lib/ilist.h -./include/postgresql/server/pgxc/locator.h -./include/postgresql/server/gstrace/gstrace_infra.h -./include/postgresql/server/extension_dependency.h -./jre/ASSEMBLY_EXCEPTION -./jre/bin/java -./jre/bin/jjs -./jre/bin/keytool -./jre/bin/orbd -./jre/bin/pack200 -./jre/bin/policytool -./jre/bin/rmid -./jre/bin/rmiregistry -./jre/bin/servertool -./jre/bin/tnameserv -./jre/bin/unpack200 -./jre/lib/amd64/jli/libjli.so -./jre/lib/amd64/jvm.cfg -./jre/lib/amd64/libattach.so -./jre/lib/amd64/libavplugin-ffmpeg-58.so -./jre/lib/amd64/libawt_headless.so -./jre/lib/amd64/libawt.so -./jre/lib/amd64/libawt_xawt.so -./jre/lib/amd64/libdecora_sse.so -./jre/lib/amd64/libdt_socket.so -./jre/lib/amd64/libfontmanager.so -./jre/lib/amd64/libfxplugins.so -./jre/lib/amd64/libglassgtk2.so -./jre/lib/amd64/libglassgtk3.so -./jre/lib/amd64/libglass.so -./jre/lib/amd64/libgstreamer-lite.so -./jre/lib/amd64/libhprof.so -./jre/lib/amd64/libinstrument.so -./jre/lib/amd64/libj2gss.so -./jre/lib/amd64/libj2pcsc.so -./jre/lib/amd64/libj2pkcs11.so -./jre/lib/amd64/libjaas_unix.so -./jre/lib/amd64/libjava_crw_demo.so -./jre/lib/amd64/libjavafx_font_freetype.so -./jre/lib/amd64/libjavafx_font_pango.so -./jre/lib/amd64/libjavafx_font.so -./jre/lib/amd64/libjavafx_iio.so -./jre/lib/amd64/libjava.so -./jre/lib/amd64/libjawt.so -./jre/lib/amd64/libjdwp.so -./jre/lib/amd64/libjfxmedia.so -./jre/lib/amd64/libjfxwebkit.so -./jre/lib/amd64/libjpeg.so -./jre/lib/amd64/libjsdt.so -./jre/lib/amd64/libjsig.so -./jre/lib/amd64/libjsoundalsa.so -./jre/lib/amd64/libjsound.so -./jre/lib/amd64/liblcms.so -./jre/lib/amd64/libmanagement.so -./jre/lib/amd64/libmlib_image.so -./jre/lib/amd64/libnet.so -./jre/lib/amd64/libnio.so -./jre/lib/amd64/libnpt.so -./jre/lib/amd64/libprism_common.so -./jre/lib/amd64/libprism_es2.so -./jre/lib/amd64/libprism_sw.so -./jre/lib/amd64/libsaproc.so -./jre/lib/amd64/libsctp.so -./jre/lib/amd64/libsplashscreen.so -./jre/lib/amd64/libsunec.so -./jre/lib/amd64/libunpack.so -./jre/lib/amd64/libverify.so -./jre/lib/amd64/libzip.so -./jre/lib/amd64/server/libjvm.so -./jre/lib/amd64/server/Xusage.txt -./jre/lib/calendars.properties -./jre/lib/charsets.jar -./jre/lib/classlist -./jre/lib/cmm/CIEXYZ.pf -./jre/lib/cmm/GRAY.pf -./jre/lib/cmm/LINEAR_RGB.pf -./jre/lib/cmm/PYCC.pf -./jre/lib/cmm/sRGB.pf -./jre/lib/content-types.properties -./jre/lib/currency.data -./jre/lib/ext/cldrdata.jar -./jre/lib/ext/dnsns.jar -./jre/lib/ext/jaccess.jar -./jre/lib/ext/jfxrt.jar -./jre/lib/ext/localedata.jar -./jre/lib/ext/meta-index -./jre/lib/ext/nashorn.jar -./jre/lib/ext/sunec.jar -./jre/lib/ext/sunjce_provider.jar -./jre/lib/ext/sunpkcs11.jar -./jre/lib/ext/zipfs.jar -./jre/lib/flavormap.properties -./jre/lib/fontconfig.Euler.properties -./jre/lib/fontconfig.properties -./jre/lib/fontconfig.Ubuntu.properties -./jre/lib/fonts/Roboto-Regular.ttf -./jre/lib/hijrah-config-umalqura.properties -./jre/lib/images/cursors/cursors.properties -./jre/lib/images/cursors/invalid32x32.gif -./jre/lib/images/cursors/motif_CopyDrop32x32.gif -./jre/lib/images/cursors/motif_CopyNoDrop32x32.gif -./jre/lib/images/cursors/motif_LinkDrop32x32.gif -./jre/lib/images/cursors/motif_LinkNoDrop32x32.gif -./jre/lib/images/cursors/motif_MoveDrop32x32.gif -./jre/lib/images/cursors/motif_MoveNoDrop32x32.gif -./jre/lib/javafx-mx.jar -./jre/lib/javafx.properties -./jre/lib/jce.jar -./jre/lib/jexec -./jre/lib/jfr/default.jfc -./jre/lib/jfr.jar -./jre/lib/jfr/profile.jfc -./jre/lib/jfxswt.jar -./jre/lib/jsse.jar -./jre/lib/jvm.hprof.txt -./jre/lib/logging.properties -./jre/lib/management-agent.jar -./jre/lib/management/jmxremote.access -./jre/lib/management/jmxremote.password.template -./jre/lib/management/management.properties -./jre/lib/management/snmp.acl.template -./jre/lib/meta-index -./jre/lib/net.properties -./jre/lib/psfontj2d.properties -./jre/lib/psfont.properties.ja -./jre/lib/resources.jar -./jre/lib/rt.jar -./jre/lib/security/blacklisted.certs -./jre/lib/security/cacerts -./jre/lib/security/java.policy -./jre/lib/security/java.security -./jre/lib/security/policy/limited/local_policy.jar -./jre/lib/security/policy/limited/US_export_policy.jar -./jre/lib/security/policy/unlimited/local_policy.jar -./jre/lib/security/policy/unlimited/US_export_policy.jar -./jre/lib/sound.properties -./jre/lib/tzdb.dat -./jre/LICENSE -./jre/THIRD_PARTY_README -[client] -./bin/gsql -./bin/gs_dump -./bin/gs_dumpall -./bin/gs_restore -./jdbc/gsjdbc4.jar -./jdbc/gsjdbc200.jar -./lib/postgresql/latin2_and_win1250.so -./lib/postgresql/euc2004_sjis2004.so -./lib/postgresql/euc_kr_and_mic.so -./lib/postgresql/utf8_and_uhc.so -./lib/postgresql/euc_tw_and_big5.so -./lib/postgresql/cyrillic_and_mic.so -./lib/postgresql/utf8_and_johab.so -./lib/postgresql/utf8_and_gb18030.so -./lib/postgresql/pgxs/src/makefiles/pgxs.mk -./lib/postgresql/pgxs/src/Makefile.shlib -./lib/postgresql/pgxs/src/Makefile.port -./lib/postgresql/pgxs/src/nls-global.mk -./lib/postgresql/pgxs/src/Makefile.global -./lib/postgresql/pgxs/config/install-sh -./lib/postgresql/euc_cn_and_mic.so -./lib/postgresql/latin_and_mic.so -./lib/postgresql/utf8_and_sjis2004.so -./lib/postgresql/utf8_and_euc_jp.so -./lib/postgresql/utf8_and_sjis.so -./lib/postgresql/utf8_and_cyrillic.so -./lib/postgresql/utf8_and_euc_kr.so -./lib/postgresql/ascii_and_mic.so -./lib/postgresql/utf8_and_iso8859_1.so -./lib/postgresql/euc_jp_and_sjis.so -./lib/postgresql/dict_snowball.so -./lib/postgresql/utf8_and_ascii.so -./lib/postgresql/utf8_and_euc_tw.so -./lib/postgresql/utf8_and_iso8859.so -./lib/postgresql/utf8_and_win.so -./lib/postgresql/utf8_and_euc_cn.so -./lib/postgresql/utf8_and_gbk.so -./lib/postgresql/utf8_and_euc2004.so -./lib/postgresql/utf8_and_big5.so -./lib/postgresql/java/pljava.jar -./lib/libpljava.so -./lib/libpq.a -./lib/libpq.so -./lib/libpq.so.5 -./lib/libpq.so.5.5 -./lib/libpq_ce.so -./lib/libpq_ce.so.5 -./lib/libpq_ce.so.5.5 -./lib/libcrypto.so -./lib/libcrypto.so.1.1 -./lib/libstdc++.so.6 -./lib/libssl.so -./lib/libssl.so.1.1 -./lib/libgssapi_krb5_gauss.so -./lib/libgssapi_krb5_gauss.so.2 -./lib/libgssapi_krb5_gauss.so.2.2 -./lib/libgssrpc_gauss.so -./lib/libgssrpc_gauss.so.4 -./lib/libgssrpc_gauss.so.4.2 -./lib/libk5crypto_gauss.so -./lib/libk5crypto_gauss.so.3 -./lib/libk5crypto_gauss.so.3.1 -./lib/libkrb5support_gauss.so -./lib/libkrb5support_gauss.so.0 -./lib/libkrb5support_gauss.so.0.1 -./lib/libkrb5_gauss.so -./lib/libkrb5_gauss.so.3 -./lib/libkrb5_gauss.so.3.3 -./lib/libcom_err_gauss.so -./lib/libcom_err_gauss.so.3 -./lib/libcom_err_gauss.so.3.0 -./odbc/lib/psqlodbcw.la -./odbc/lib/psqlodbcw.so -[libpq] -./lib/libpq.a -./lib/libpq.so -./lib/libpq.so.5 -./lib/libpq.so.5.5 -./lib/libpq_ce.so -./lib/libpq_ce.so.5 -./lib/libpq_ce.so.5.5 -./lib/libconfig.so -./lib/libconfig.so.4 -./lib/libcmclient.so -./lib/libcmclient.so.1 -./lib/libcmcommon.so -./lib/libcmcommon.so.2 -./lib/libcmpq.so -./lib/libcmpq.so.1 -./lib/libcrypto.so -./lib/libcrypto.so.1.1 -./lib/libstdc++.so.6 -./lib/libssl.so -./lib/libssl.so.1.1 -./lib/libpgport_tool.so -./lib/libpgport_tool.so.1 -./lib/libgssapi_krb5_gauss.so -./lib/libgssapi_krb5_gauss.so.2 -./lib/libgssapi_krb5_gauss.so.2.2 -./lib/libgssrpc_gauss.so -./lib/libgssrpc_gauss.so.4 -./lib/libgssrpc_gauss.so.4.2 -./lib/libk5crypto_gauss.so -./lib/libk5crypto_gauss.so.3 -./lib/libk5crypto_gauss.so.3.1 -./lib/libkrb5support_gauss.so -./lib/libkrb5support_gauss.so.0 -./lib/libkrb5support_gauss.so.0.1 -./lib/libkrb5_gauss.so -./lib/libkrb5_gauss.so.3 -./lib/libkrb5_gauss.so.3.3 -./lib/libcom_err_gauss.so -./lib/libcom_err_gauss.so.3 -./lib/libcom_err_gauss.so.3.0 -[cmlibrary] -./lib/libconfig.a -./lib/libcmclient.a -./lib/libcmcommon.a -./lib/libcmpq.a -./lib/libpgport.a -[header] -./include/libpq-fe.h -./include/postgres_ext.h -./include/gs_thread.h -./include/gs_threadlocal.h -./include/pg_config.h -./include/pg_config_manual.h -./include/pg_config_os.h -./include/cm_config.h -./include/c.h -./include/port.h -./include/cm_msg.h -./include/cm_c.h -./include/cm_misc.h -./include/libpq-int.h -./include/pqcomm.h -./include/pqexpbuffer.h -./include/xlogdefs.h -./include/cm-libpq-fe.h -[gds] -./bin/gds -./bin/gds_ctl.py -./share/postgresql/gds.conf -./share/postgresql/gds.conf.sample -./lib/libcjson.so -./lib/libcjson.so.1 -./lib/libcjson.so.1.7.13 -[version] -V500R001C20 -[script] -./script/__init__.py -./script/gs_check -./script/gs_checkos -./script/gs_checkperf -./script/gs_collector -./script/gs_backup -./script/gs_expand -./script/gs_install -./script/gs_om -./script/gs_hotpatch -./script/gs_postuninstall -./script/gs_preinstall -./script/gs_replace -./script/gs_shrink -./script/gs_ssh -./script/gs_sshexkey -./script/gs_uninstall -./script/gs_upgradectl -./script/gs_lcctl -./script/gs_resize -./script/uninstall_force.py -./script/checkRunStatus.py -./script/JsonToDbClustorInfo.py -./script/nodegroup_migrate.sh diff --git a/build/script/mpp_release_list_centos_aarch64 b/build/script/mpp_release_list_centos_aarch64 deleted file mode 100644 index dd12d87d6..000000000 --- a/build/script/mpp_release_list_centos_aarch64 +++ /dev/null @@ -1,1372 +0,0 @@ -[server] -./bin/gds -./bin/gs_log -./bin/gsql -./bin/gaussdb -./bin/gaussdb.version.GaussDB200 -./bin/gaussdb.version.GaussDB300 -./bin/gaussdb.license.GaussDB200_Standard -./bin/gaussmaster -./bin/gstrace -./bin/gs_encrypt -./bin/gs_gtm -./bin/gs_dump -./bin/gs_dumpall -./bin/gs_initgtm -./bin/gs_initcm -./bin/gs_ctl -./bin/gs_initdb -./bin/gtm_ctl -./bin/cm_server -./bin/cm_agent -./bin/om_monitor -./bin/cm_ctl -./bin/etcd -./bin/etcdctl -./bin/gs_guc -./bin/gs_roach -./bin/gs_clean -./bin/gs_redis -./bin/gs_restore -./bin/gs_cgroup -./bin/openssl -./bin/pg_config -./bin/pg_controldata -./bin/pg_format_cu -./bin/pg_resetxlog -./bin/alarmItem.conf -./bin/retry_errcodes.conf -./bin/cluster_guc.conf -./bin/runsessionstat.sh -./bin/drop_caches.sh -./bin/run_drop_cache.sh -./bin/transfer.py -./bin/setArmOptimization.sh -./bin/bind_net_irq.sh -./bin/getDEK.jar -./bin/gs_plan_simulator.sh -./bin/dependences/clean_temp.sql -./bin/dependences/initdb.py -./bin/dependences/restore_temp.sql -./bin/dependences/store_pg_class_stats.sql -./bin/dependences/store_pg_statistic_ext_stats.sql -./bin/dependences/store_pg_statistic_stats.sql -./bin/dependences/store_pgxc_class.sql -./share/postgis/PostGIS_install.sh -./share/postgresql/tmp/udstools.py -./share/postgresql/snowball_create.sql -./share/postgresql/pmk_schema.sql -./share/postgresql/pmk_schema_single_inst.sql -./share/postgresql/pg_hba.conf.sample -./share/postgresql/pg_service.conf.sample -./share/postgresql/psqlrc.sample -./share/postgresql/conversion_create.sql -./share/postgresql/postgres.shdescription -./share/postgresql/pg_ident.conf.sample -./share/postgresql/postgres.description -./share/postgresql/postgresql.conf.sample -./share/postgresql/extension/plpgsql--1.0.sql -./share/postgresql/extension/hstore.control -./share/postgresql/extension/security_plugin.control -./share/postgresql/extension/security_plugin--1.0.sql -./share/postgresql/extension/tsdb.control -./share/postgresql/extension/tsdb--1.0.sql -./share/postgresql/extension/streaming--1.0.sql -./share/postgresql/extension/streaming.control -./share/postgresql/extension/file_fdw--1.0.sql -./share/postgresql/extension/plpgsql.control -./share/postgresql/extension/dist_fdw.control -./share/postgresql/extension/dist_fdw--1.0.sql -./share/postgresql/extension/hstore--1.1.sql -./share/postgresql/extension/plpgsql--unpackaged--1.0.sql -./share/postgresql/extension/file_fdw.control -./share/postgresql/extension/hstore--unpackaged--1.0.sql -./share/postgresql/extension/hstore--1.0--1.1.sql -./share/postgresql/extension/hdfs_fdw--1.0.sql -./share/postgresql/extension/hdfs_fdw.control -./share/postgresql/extension/gc_fdw--1.0.sql -./share/postgresql/extension/gc_fdw.control -./share/postgresql/extension/roach_api--1.0.sql -./share/postgresql/extension/roach_api.control -./share/postgresql/extension/log_fdw--1.0.sql -./share/postgresql/extension/log_fdw.control -./share/postgresql/extension/dimsearch--1.0.sql -./share/postgresql/extension/dimsearch.control -./share/postgresql/extension/packages--1.0.sql -./share/postgresql/extension/packages.control -./share/postgresql/extension/gsredistribute.control -./share/postgresql/extension/gsredistribute--1.0.sql -./share/postgresql/extension/gsredistribute--unpackaged--1.0.sql -./share/postgresql/timezone/GB-Eire -./share/postgresql/timezone/Turkey -./share/postgresql/timezone/Kwajalein -./share/postgresql/timezone/UCT -./share/postgresql/timezone/Mexico/BajaSur -./share/postgresql/timezone/Mexico/BajaNorte -./share/postgresql/timezone/Mexico/General -./share/postgresql/timezone/Japan -./share/postgresql/timezone/Israel -./share/postgresql/timezone/US/Eastern -./share/postgresql/timezone/US/Samoa -./share/postgresql/timezone/US/Michigan -./share/postgresql/timezone/US/Aleutian -./share/postgresql/timezone/US/Pacific -./share/postgresql/timezone/US/Pacific-New -./share/postgresql/timezone/US/Indiana-Starke -./share/postgresql/timezone/US/Mountain -./share/postgresql/timezone/US/East-Indiana -./share/postgresql/timezone/US/Hawaii -./share/postgresql/timezone/US/Arizona -./share/postgresql/timezone/US/Alaska -./share/postgresql/timezone/US/Central -./share/postgresql/timezone/Greenwich -./share/postgresql/timezone/Poland -./share/postgresql/timezone/CET -./share/postgresql/timezone/GMT-0 -./share/postgresql/timezone/Indian/Mauritius -./share/postgresql/timezone/Indian/Cocos -./share/postgresql/timezone/Indian/Reunion -./share/postgresql/timezone/Indian/Maldives -./share/postgresql/timezone/Indian/Comoro -./share/postgresql/timezone/Indian/Antananarivo -./share/postgresql/timezone/Indian/Christmas -./share/postgresql/timezone/Indian/Kerguelen -./share/postgresql/timezone/Indian/Chagos -./share/postgresql/timezone/Indian/Mayotte -./share/postgresql/timezone/Indian/Mahe -./share/postgresql/timezone/GMT0 -./share/postgresql/timezone/Antarctica/Palmer -./share/postgresql/timezone/Antarctica/Syowa -./share/postgresql/timezone/Antarctica/South_Pole -./share/postgresql/timezone/Antarctica/McMurdo -./share/postgresql/timezone/Antarctica/Rothera -./share/postgresql/timezone/Antarctica/Mawson -./share/postgresql/timezone/Antarctica/Casey -./share/postgresql/timezone/Antarctica/Davis -./share/postgresql/timezone/Antarctica/DumontDUrville -./share/postgresql/timezone/Antarctica/Vostok -./share/postgresql/timezone/Antarctica/Macquarie -./share/postgresql/timezone/ROK -./share/postgresql/timezone/Chile/EasterIsland -./share/postgresql/timezone/Chile/Continental -./share/postgresql/timezone/posixrules -./share/postgresql/timezone/Atlantic/Azores -./share/postgresql/timezone/Atlantic/St_Helena -./share/postgresql/timezone/Atlantic/Madeira -./share/postgresql/timezone/Atlantic/Jan_Mayen -./share/postgresql/timezone/Atlantic/Faroe -./share/postgresql/timezone/Atlantic/Stanley -./share/postgresql/timezone/Atlantic/Cape_Verde -./share/postgresql/timezone/Atlantic/Reykjavik -./share/postgresql/timezone/Atlantic/Canary -./share/postgresql/timezone/Atlantic/South_Georgia -./share/postgresql/timezone/Atlantic/Bermuda -./share/postgresql/timezone/Atlantic/Faeroe -./share/postgresql/timezone/Hongkong -./share/postgresql/timezone/Libya -./share/postgresql/timezone/Iceland -./share/postgresql/timezone/UTC -./share/postgresql/timezone/Australia/Darwin -./share/postgresql/timezone/Australia/North -./share/postgresql/timezone/Australia/NSW -./share/postgresql/timezone/Australia/Sydney -./share/postgresql/timezone/Australia/Hobart -./share/postgresql/timezone/Australia/LHI -./share/postgresql/timezone/Australia/Victoria -./share/postgresql/timezone/Australia/South -./share/postgresql/timezone/Australia/Melbourne -./share/postgresql/timezone/Australia/Lord_Howe -./share/postgresql/timezone/Australia/West -./share/postgresql/timezone/Australia/Brisbane -./share/postgresql/timezone/Australia/Perth -./share/postgresql/timezone/Australia/Eucla -./share/postgresql/timezone/Australia/Canberra -./share/postgresql/timezone/Australia/Queensland -./share/postgresql/timezone/Australia/Broken_Hill -./share/postgresql/timezone/Australia/Lindeman -./share/postgresql/timezone/Australia/ACT -./share/postgresql/timezone/Australia/Currie -./share/postgresql/timezone/Australia/Adelaide -./share/postgresql/timezone/Australia/Yancowinna -./share/postgresql/timezone/Australia/Tasmania -./share/postgresql/timezone/Jamaica -./share/postgresql/timezone/EST5EDT -./share/postgresql/timezone/MET -./share/postgresql/timezone/W-SU -./share/postgresql/timezone/Mideast/Riyadh87 -./share/postgresql/timezone/Mideast/Riyadh88 -./share/postgresql/timezone/Mideast/Riyadh89 -./share/postgresql/timezone/WET -./share/postgresql/timezone/ROC -./share/postgresql/timezone/Factory -./share/postgresql/timezone/EET -./share/postgresql/timezone/PST8PDT -./share/postgresql/timezone/Portugal -./share/postgresql/timezone/NZ -./share/postgresql/timezone/Brazil/West -./share/postgresql/timezone/Brazil/DeNoronha -./share/postgresql/timezone/Brazil/Acre -./share/postgresql/timezone/Brazil/East -./share/postgresql/timezone/EST -./share/postgresql/timezone/Egypt -./share/postgresql/timezone/Universal -./share/postgresql/timezone/Pacific/Enderbury -./share/postgresql/timezone/Pacific/Noumea -./share/postgresql/timezone/Pacific/Kwajalein -./share/postgresql/timezone/Pacific/Norfolk -./share/postgresql/timezone/Pacific/Nauru -./share/postgresql/timezone/Pacific/Efate -./share/postgresql/timezone/Pacific/Kosrae -./share/postgresql/timezone/Pacific/Galapagos -./share/postgresql/timezone/Pacific/Truk -./share/postgresql/timezone/Pacific/Fiji -./share/postgresql/timezone/Pacific/Auckland -./share/postgresql/timezone/Pacific/Samoa -./share/postgresql/timezone/Pacific/Port_Moresby -./share/postgresql/timezone/Pacific/Johnston -./share/postgresql/timezone/Pacific/Apia -./share/postgresql/timezone/Pacific/Tarawa -./share/postgresql/timezone/Pacific/Pitcairn -./share/postgresql/timezone/Pacific/Marquesas -./share/postgresql/timezone/Pacific/Chatham -./share/postgresql/timezone/Pacific/Tahiti -./share/postgresql/timezone/Pacific/Tongatapu -./share/postgresql/timezone/Pacific/Saipan -./share/postgresql/timezone/Pacific/Fakaofo -./share/postgresql/timezone/Pacific/Guam -./share/postgresql/timezone/Pacific/Niue -./share/postgresql/timezone/Pacific/Chuuk -./share/postgresql/timezone/Pacific/Easter -./share/postgresql/timezone/Pacific/Wallis -./share/postgresql/timezone/Pacific/Gambier -./share/postgresql/timezone/Pacific/Majuro -./share/postgresql/timezone/Pacific/Kiritimati -./share/postgresql/timezone/Pacific/Guadalcanal -./share/postgresql/timezone/Pacific/Funafuti -./share/postgresql/timezone/Pacific/Rarotonga -./share/postgresql/timezone/Pacific/Pago_Pago -./share/postgresql/timezone/Pacific/Midway -./share/postgresql/timezone/Pacific/Palau -./share/postgresql/timezone/Pacific/Honolulu -./share/postgresql/timezone/Pacific/Yap -./share/postgresql/timezone/Pacific/Pohnpei -./share/postgresql/timezone/Pacific/Wake -./share/postgresql/timezone/Pacific/Ponape -./share/postgresql/timezone/Iran -./share/postgresql/timezone/Etc/GMT-4 -./share/postgresql/timezone/Etc/GMT-9 -./share/postgresql/timezone/Etc/UCT -./share/postgresql/timezone/Etc/GMT-7 -./share/postgresql/timezone/Etc/Greenwich -./share/postgresql/timezone/Etc/GMT-0 -./share/postgresql/timezone/Etc/GMT-5 -./share/postgresql/timezone/Etc/GMT0 -./share/postgresql/timezone/Etc/GMT+7 -./share/postgresql/timezone/Etc/GMT-2 -./share/postgresql/timezone/Etc/GMT-10 -./share/postgresql/timezone/Etc/GMT+6 -./share/postgresql/timezone/Etc/GMT+1 -./share/postgresql/timezone/Etc/UTC -./share/postgresql/timezone/Etc/GMT-3 -./share/postgresql/timezone/Etc/GMT-1 -./share/postgresql/timezone/Etc/GMT-8 -./share/postgresql/timezone/Etc/GMT-11 -./share/postgresql/timezone/Etc/GMT+12 -./share/postgresql/timezone/Etc/GMT+10 -./share/postgresql/timezone/Etc/GMT-12 -./share/postgresql/timezone/Etc/GMT+5 -./share/postgresql/timezone/Etc/Universal -./share/postgresql/timezone/Etc/GMT-13 -./share/postgresql/timezone/Etc/GMT-6 -./share/postgresql/timezone/Etc/GMT+9 -./share/postgresql/timezone/Etc/GMT+3 -./share/postgresql/timezone/Etc/GMT-14 -./share/postgresql/timezone/Etc/GMT+4 -./share/postgresql/timezone/Etc/Zulu -./share/postgresql/timezone/Etc/GMT+2 -./share/postgresql/timezone/Etc/GMT+0 -./share/postgresql/timezone/Etc/GMT+8 -./share/postgresql/timezone/Etc/GMT+11 -./share/postgresql/timezone/Etc/GMT -./share/postgresql/timezone/Zulu -./share/postgresql/timezone/GMT+0 -./share/postgresql/timezone/Singapore -./share/postgresql/timezone/NZ-CHAT -./share/postgresql/timezone/Cuba -./share/postgresql/timezone/GB -./share/postgresql/timezone/Arctic/Longyearbyen -./share/postgresql/timezone/MST7MDT -./share/postgresql/timezone/PRC -./share/postgresql/timezone/Canada/Eastern -./share/postgresql/timezone/Canada/Yukon -./share/postgresql/timezone/Canada/Atlantic -./share/postgresql/timezone/Canada/Newfoundland -./share/postgresql/timezone/Canada/Saskatchewan -./share/postgresql/timezone/Canada/Pacific -./share/postgresql/timezone/Canada/East-Saskatchewan -./share/postgresql/timezone/Canada/Mountain -./share/postgresql/timezone/Canada/Central -./share/postgresql/timezone/CST6CDT -./share/postgresql/timezone/HST -./share/postgresql/timezone/America/Boa_Vista -./share/postgresql/timezone/America/New_York -./share/postgresql/timezone/America/Santarem -./share/postgresql/timezone/America/Boise -./share/postgresql/timezone/America/St_Lucia -./share/postgresql/timezone/America/Mendoza -./share/postgresql/timezone/America/Mexico_City -./share/postgresql/timezone/America/Chihuahua -./share/postgresql/timezone/America/Indianapolis -./share/postgresql/timezone/America/Virgin -./share/postgresql/timezone/America/Atka -./share/postgresql/timezone/America/Winnipeg -./share/postgresql/timezone/America/Hermosillo -./share/postgresql/timezone/America/Indiana/Indianapolis -./share/postgresql/timezone/America/Indiana/Tell_City -./share/postgresql/timezone/America/Indiana/Winamac -./share/postgresql/timezone/America/Indiana/Knox -./share/postgresql/timezone/America/Indiana/Vincennes -./share/postgresql/timezone/America/Indiana/Vevay -./share/postgresql/timezone/America/Indiana/Petersburg -./share/postgresql/timezone/America/Indiana/Marengo -./share/postgresql/timezone/America/Moncton -./share/postgresql/timezone/America/Campo_Grande -./share/postgresql/timezone/America/Guyana -./share/postgresql/timezone/America/Caracas -./share/postgresql/timezone/America/Maceio -./share/postgresql/timezone/America/Godthab -./share/postgresql/timezone/America/Thunder_Bay -./share/postgresql/timezone/America/Havana -./share/postgresql/timezone/America/Santiago -./share/postgresql/timezone/America/Los_Angeles -./share/postgresql/timezone/America/Buenos_Aires -./share/postgresql/timezone/America/Manaus -./share/postgresql/timezone/America/Bahia -./share/postgresql/timezone/America/North_Dakota/New_Salem -./share/postgresql/timezone/America/North_Dakota/Beulah -./share/postgresql/timezone/America/North_Dakota/Center -./share/postgresql/timezone/America/Bahia_Banderas -./share/postgresql/timezone/America/Edmonton -./share/postgresql/timezone/America/Tegucigalpa -./share/postgresql/timezone/America/Rankin_Inlet -./share/postgresql/timezone/America/Monterrey -./share/postgresql/timezone/America/Cambridge_Bay -./share/postgresql/timezone/America/Porto_Velho -./share/postgresql/timezone/America/Antigua -./share/postgresql/timezone/America/Atikokan -./share/postgresql/timezone/America/Vancouver -./share/postgresql/timezone/America/Anchorage -./share/postgresql/timezone/America/Port-au-Prince -./share/postgresql/timezone/America/Lima -./share/postgresql/timezone/America/Grenada -./share/postgresql/timezone/America/Creston -./share/postgresql/timezone/America/La_Paz -./share/postgresql/timezone/America/Panama -./share/postgresql/timezone/America/Blanc-Sablon -./share/postgresql/timezone/America/Cayenne -./share/postgresql/timezone/America/Santo_Domingo -./share/postgresql/timezone/America/Grand_Turk -./share/postgresql/timezone/America/Toronto -./share/postgresql/timezone/America/Rainy_River -./share/postgresql/timezone/America/Merida -./share/postgresql/timezone/America/Port_of_Spain -./share/postgresql/timezone/America/Nipigon -./share/postgresql/timezone/America/Jamaica -./share/postgresql/timezone/America/Rosario -./share/postgresql/timezone/America/Dawson_Creek -./share/postgresql/timezone/America/Belize -./share/postgresql/timezone/America/Costa_Rica -./share/postgresql/timezone/America/Barbados -./share/postgresql/timezone/America/Danmarkshavn -./share/postgresql/timezone/America/Argentina/La_Rioja -./share/postgresql/timezone/America/Argentina/Mendoza -./share/postgresql/timezone/America/Argentina/Buenos_Aires -./share/postgresql/timezone/America/Argentina/Tucuman -./share/postgresql/timezone/America/Argentina/Ushuaia -./share/postgresql/timezone/America/Argentina/Catamarca -./share/postgresql/timezone/America/Argentina/ComodRivadavia -./share/postgresql/timezone/America/Argentina/Jujuy -./share/postgresql/timezone/America/Argentina/Cordoba -./share/postgresql/timezone/America/Argentina/San_Luis -./share/postgresql/timezone/America/Argentina/Rio_Gallegos -./share/postgresql/timezone/America/Argentina/Salta -./share/postgresql/timezone/America/Argentina/San_Juan -./share/postgresql/timezone/America/Pangnirtung -./share/postgresql/timezone/America/Anguilla -./share/postgresql/timezone/America/Curacao -./share/postgresql/timezone/America/Cancun -./share/postgresql/timezone/America/Montreal -./share/postgresql/timezone/America/Shiprock -./share/postgresql/timezone/America/Thule -./share/postgresql/timezone/America/Scoresbysund -./share/postgresql/timezone/America/Catamarca -./share/postgresql/timezone/America/Sao_Paulo -./share/postgresql/timezone/America/Sitka -./share/postgresql/timezone/America/Asuncion -./share/postgresql/timezone/America/Regina -./share/postgresql/timezone/America/St_Johns -./share/postgresql/timezone/America/Montevideo -./share/postgresql/timezone/America/Eirunepe -./share/postgresql/timezone/America/Denver -./share/postgresql/timezone/America/Metlakatla -./share/postgresql/timezone/America/Araguaina -./share/postgresql/timezone/America/Juneau -./share/postgresql/timezone/America/Marigot -./share/postgresql/timezone/America/Menominee -./share/postgresql/timezone/America/Glace_Bay -./share/postgresql/timezone/America/Tijuana -./share/postgresql/timezone/America/Detroit -./share/postgresql/timezone/America/Belem -./share/postgresql/timezone/America/Jujuy -./share/postgresql/timezone/America/St_Thomas -./share/postgresql/timezone/America/Resolute -./share/postgresql/timezone/America/Cuiaba -./share/postgresql/timezone/America/Halifax -./share/postgresql/timezone/America/St_Barthelemy -./share/postgresql/timezone/America/Guatemala -./share/postgresql/timezone/America/Nassau -./share/postgresql/timezone/America/St_Kitts -./share/postgresql/timezone/America/Cordoba -./share/postgresql/timezone/America/Miquelon -./share/postgresql/timezone/America/Bogota -./share/postgresql/timezone/America/Rio_Branco -./share/postgresql/timezone/America/Ensenada -./share/postgresql/timezone/America/Yakutat -./share/postgresql/timezone/America/Noronha -./share/postgresql/timezone/America/Kentucky/Monticello -./share/postgresql/timezone/America/Kentucky/Louisville -./share/postgresql/timezone/America/Porto_Acre -./share/postgresql/timezone/America/Santa_Isabel -./share/postgresql/timezone/America/El_Salvador -./share/postgresql/timezone/America/Yellowknife -./share/postgresql/timezone/America/Cayman -./share/postgresql/timezone/America/Whitehorse -./share/postgresql/timezone/America/Ojinaga -./share/postgresql/timezone/America/Aruba -./share/postgresql/timezone/America/Nome -./share/postgresql/timezone/America/Fortaleza -./share/postgresql/timezone/America/Martinique -./share/postgresql/timezone/America/Recife -./share/postgresql/timezone/America/Knox_IN -./share/postgresql/timezone/America/Guayaquil -./share/postgresql/timezone/America/Goose_Bay -./share/postgresql/timezone/America/Iqaluit -./share/postgresql/timezone/America/Matamoros -./share/postgresql/timezone/America/Lower_Princes -./share/postgresql/timezone/America/Louisville -./share/postgresql/timezone/America/Coral_Harbour -./share/postgresql/timezone/America/Phoenix -./share/postgresql/timezone/America/Guadeloupe -./share/postgresql/timezone/America/Mazatlan -./share/postgresql/timezone/America/Swift_Current -./share/postgresql/timezone/America/Paramaribo -./share/postgresql/timezone/America/Dominica -./share/postgresql/timezone/America/Kralendijk -./share/postgresql/timezone/America/Montserrat -./share/postgresql/timezone/America/St_Vincent -./share/postgresql/timezone/America/Fort_Wayne -./share/postgresql/timezone/America/Dawson -./share/postgresql/timezone/America/Inuvik -./share/postgresql/timezone/America/Adak -./share/postgresql/timezone/America/Managua -./share/postgresql/timezone/America/Puerto_Rico -./share/postgresql/timezone/America/Tortola -./share/postgresql/timezone/America/Chicago -./share/postgresql/timezone/Africa/Lome -./share/postgresql/timezone/Africa/Brazzaville -./share/postgresql/timezone/Africa/Khartoum -./share/postgresql/timezone/Africa/Ceuta -./share/postgresql/timezone/Africa/Djibouti -./share/postgresql/timezone/Africa/Lagos -./share/postgresql/timezone/Africa/Accra -./share/postgresql/timezone/Africa/El_Aaiun -./share/postgresql/timezone/Africa/Malabo -./share/postgresql/timezone/Africa/Windhoek -./share/postgresql/timezone/Africa/Tripoli -./share/postgresql/timezone/Africa/Bissau -./share/postgresql/timezone/Africa/Blantyre -./share/postgresql/timezone/Africa/Kinshasa -./share/postgresql/timezone/Africa/Porto-Novo -./share/postgresql/timezone/Africa/Nairobi -./share/postgresql/timezone/Africa/Ouagadougou -./share/postgresql/timezone/Africa/Asmera -./share/postgresql/timezone/Africa/Cairo -./share/postgresql/timezone/Africa/Lubumbashi -./share/postgresql/timezone/Africa/Tunis -./share/postgresql/timezone/Africa/Dar_es_Salaam -./share/postgresql/timezone/Africa/Casablanca -./share/postgresql/timezone/Africa/Algiers -./share/postgresql/timezone/Africa/Mbabane -./share/postgresql/timezone/Africa/Monrovia -./share/postgresql/timezone/Africa/Nouakchott -./share/postgresql/timezone/Africa/Banjul -./share/postgresql/timezone/Africa/Kampala -./share/postgresql/timezone/Africa/Conakry -./share/postgresql/timezone/Africa/Mogadishu -./share/postgresql/timezone/Africa/Ndjamena -./share/postgresql/timezone/Africa/Niamey -./share/postgresql/timezone/Africa/Lusaka -./share/postgresql/timezone/Africa/Addis_Ababa -./share/postgresql/timezone/Africa/Sao_Tome -./share/postgresql/timezone/Africa/Abidjan -./share/postgresql/timezone/Africa/Harare -./share/postgresql/timezone/Africa/Asmara -./share/postgresql/timezone/Africa/Douala -./share/postgresql/timezone/Africa/Freetown -./share/postgresql/timezone/Africa/Libreville -./share/postgresql/timezone/Africa/Luanda -./share/postgresql/timezone/Africa/Maseru -./share/postgresql/timezone/Africa/Gaborone -./share/postgresql/timezone/Africa/Maputo -./share/postgresql/timezone/Africa/Timbuktu -./share/postgresql/timezone/Africa/Bangui -./share/postgresql/timezone/Africa/Bamako -./share/postgresql/timezone/Africa/Dakar -./share/postgresql/timezone/Africa/Juba -./share/postgresql/timezone/Africa/Bujumbura -./share/postgresql/timezone/Africa/Johannesburg -./share/postgresql/timezone/Africa/Kigali -./share/postgresql/timezone/Eire -./share/postgresql/timezone/Europe/Vaduz -./share/postgresql/timezone/Europe/Podgorica -./share/postgresql/timezone/Europe/Rome -./share/postgresql/timezone/Europe/Vienna -./share/postgresql/timezone/Europe/Dublin -./share/postgresql/timezone/Europe/Zurich -./share/postgresql/timezone/Europe/London -./share/postgresql/timezone/Europe/Monaco -./share/postgresql/timezone/Europe/Sofia -./share/postgresql/timezone/Europe/Uzhgorod -./share/postgresql/timezone/Europe/Minsk -./share/postgresql/timezone/Europe/Malta -./share/postgresql/timezone/Europe/Busingen -./share/postgresql/timezone/Europe/Gibraltar -./share/postgresql/timezone/Europe/Volgograd -./share/postgresql/timezone/Europe/Budapest -./share/postgresql/timezone/Europe/Vatican -./share/postgresql/timezone/Europe/Luxembourg -./share/postgresql/timezone/Europe/Chisinau -./share/postgresql/timezone/Europe/Nicosia -./share/postgresql/timezone/Europe/Warsaw -./share/postgresql/timezone/Europe/San_Marino -./share/postgresql/timezone/Europe/Copenhagen -./share/postgresql/timezone/Europe/Ljubljana -./share/postgresql/timezone/Europe/Athens -./share/postgresql/timezone/Europe/Skopje -./share/postgresql/timezone/Europe/Andorra -./share/postgresql/timezone/Europe/Kaliningrad -./share/postgresql/timezone/Europe/Amsterdam -./share/postgresql/timezone/Europe/Guernsey -./share/postgresql/timezone/Europe/Isle_of_Man -./share/postgresql/timezone/Europe/Tirane -./share/postgresql/timezone/Europe/Jersey -./share/postgresql/timezone/Europe/Madrid -./share/postgresql/timezone/Europe/Helsinki -./share/postgresql/timezone/Europe/Riga -./share/postgresql/timezone/Europe/Zagreb -./share/postgresql/timezone/Europe/Bratislava -./share/postgresql/timezone/Europe/Prague -./share/postgresql/timezone/Europe/Tallinn -./share/postgresql/timezone/Europe/Stockholm -./share/postgresql/timezone/Europe/Tiraspol -./share/postgresql/timezone/Europe/Belgrade -./share/postgresql/timezone/Europe/Bucharest -./share/postgresql/timezone/Europe/Vilnius -./share/postgresql/timezone/Europe/Sarajevo -./share/postgresql/timezone/Europe/Belfast -./share/postgresql/timezone/Europe/Zaporozhye -./share/postgresql/timezone/Europe/Oslo -./share/postgresql/timezone/Europe/Mariehamn -./share/postgresql/timezone/Europe/Moscow -./share/postgresql/timezone/Europe/Brussels -./share/postgresql/timezone/Europe/Paris -./share/postgresql/timezone/Europe/Istanbul -./share/postgresql/timezone/Europe/Simferopol -./share/postgresql/timezone/Europe/Lisbon -./share/postgresql/timezone/Europe/Berlin -./share/postgresql/timezone/Europe/Kiev -./share/postgresql/timezone/Europe/Samara -./share/postgresql/timezone/MST -./share/postgresql/timezone/Asia/Khandyga -./share/postgresql/timezone/Asia/Manila -./share/postgresql/timezone/Asia/Novokuznetsk -./share/postgresql/timezone/Asia/Baghdad -./share/postgresql/timezone/Asia/Macau -./share/postgresql/timezone/Asia/Urumqi -./share/postgresql/timezone/Asia/Ujung_Pandang -./share/postgresql/timezone/Asia/Ulan_Bator -./share/postgresql/timezone/Asia/Bishkek -./share/postgresql/timezone/Asia/Qatar -./share/postgresql/timezone/Asia/Qyzylorda -./share/postgresql/timezone/Asia/Calcutta -./share/postgresql/timezone/Asia/Riyadh87 -./share/postgresql/timezone/Asia/Dushanbe -./share/postgresql/timezone/Asia/Yekaterinburg -./share/postgresql/timezone/Asia/Dhaka -./share/postgresql/timezone/Asia/Jakarta -./share/postgresql/timezone/Asia/Shanghai -./share/postgresql/timezone/Asia/Ulaanbaatar -./share/postgresql/timezone/Asia/Jerusalem -./share/postgresql/timezone/Asia/Ashkhabad -./share/postgresql/timezone/Asia/Tokyo -./share/postgresql/timezone/Asia/Macao -./share/postgresql/timezone/Asia/Krasnoyarsk -./share/postgresql/timezone/Asia/Saigon -./share/postgresql/timezone/Asia/Omsk -./share/postgresql/timezone/Asia/Damascus -./share/postgresql/timezone/Asia/Phnom_Penh -./share/postgresql/timezone/Asia/Bangkok -./share/postgresql/timezone/Asia/Kamchatka -./share/postgresql/timezone/Asia/Choibalsan -./share/postgresql/timezone/Asia/Ust-Nera -./share/postgresql/timezone/Asia/Aden -./share/postgresql/timezone/Asia/Vientiane -./share/postgresql/timezone/Asia/Sakhalin -./share/postgresql/timezone/Asia/Ashgabat -./share/postgresql/timezone/Asia/Katmandu -./share/postgresql/timezone/Asia/Almaty -./share/postgresql/timezone/Asia/Baku -./share/postgresql/timezone/Asia/Nicosia -./share/postgresql/timezone/Asia/Riyadh88 -./share/postgresql/timezone/Asia/Kashgar -./share/postgresql/timezone/Asia/Riyadh89 -./share/postgresql/timezone/Asia/Taipei -./share/postgresql/timezone/Asia/Tehran -./share/postgresql/timezone/Asia/Kabul -./share/postgresql/timezone/Asia/Samarkand -./share/postgresql/timezone/Asia/Kuala_Lumpur -./share/postgresql/timezone/Asia/Tashkent -./share/postgresql/timezone/Asia/Thimbu -./share/postgresql/timezone/Asia/Thimphu -./share/postgresql/timezone/Asia/Yerevan -./share/postgresql/timezone/Asia/Chungking -./share/postgresql/timezone/Asia/Hebron -./share/postgresql/timezone/Asia/Karachi -./share/postgresql/timezone/Asia/Kolkata -./share/postgresql/timezone/Asia/Aqtobe -./share/postgresql/timezone/Asia/Muscat -./share/postgresql/timezone/Asia/Hong_Kong -./share/postgresql/timezone/Asia/Chongqing -./share/postgresql/timezone/Asia/Oral -./share/postgresql/timezone/Asia/Pontianak -./share/postgresql/timezone/Asia/Colombo -./share/postgresql/timezone/Asia/Pyongyang -./share/postgresql/timezone/Asia/Hovd -./share/postgresql/timezone/Asia/Kuwait -./share/postgresql/timezone/Asia/Anadyr -./share/postgresql/timezone/Asia/Kathmandu -./share/postgresql/timezone/Asia/Irkutsk -./share/postgresql/timezone/Asia/Bahrain -./share/postgresql/timezone/Asia/Dubai -./share/postgresql/timezone/Asia/Jayapura -./share/postgresql/timezone/Asia/Riyadh -./share/postgresql/timezone/Asia/Ho_Chi_Minh -./share/postgresql/timezone/Asia/Singapore -./share/postgresql/timezone/Asia/Tel_Aviv -./share/postgresql/timezone/Asia/Dili -./share/postgresql/timezone/Asia/Rangoon -./share/postgresql/timezone/Asia/Harbin -./share/postgresql/timezone/Asia/Yakutsk -./share/postgresql/timezone/Asia/Magadan -./share/postgresql/timezone/Asia/Amman -./share/postgresql/timezone/Asia/Kuching -./share/postgresql/timezone/Asia/Novosibirsk -./share/postgresql/timezone/Asia/Seoul -./share/postgresql/timezone/Asia/Dacca -./share/postgresql/timezone/Asia/Vladivostok -./share/postgresql/timezone/Asia/Istanbul -./share/postgresql/timezone/Asia/Beirut -./share/postgresql/timezone/Asia/Aqtau -./share/postgresql/timezone/Asia/Brunei -./share/postgresql/timezone/Asia/Gaza -./share/postgresql/timezone/Asia/Tbilisi -./share/postgresql/timezone/Asia/Makassar -./share/postgresql/timezone/Asia/Beijing -./share/postgresql/timezone/Navajo -./share/postgresql/timezone/GMT -./share/postgresql/gtm.conf.sample -./share/postgresql/system_views.sql -./share/postgresql/sql_features.txt -./share/postgresql/pg_cast_oid.txt -./share/postgresql/recovery.conf.sample -./share/postgresql/cm_server.conf.sample -./share/postgresql/tsearch_data/english.stop -./share/postgresql/tsearch_data/dutch.stop -./share/postgresql/tsearch_data/hungarian.stop -./share/postgresql/tsearch_data/french.stop -./share/postgresql/tsearch_data/synonym_sample.syn -./share/postgresql/tsearch_data/turkish.stop -./share/postgresql/tsearch_data/portuguese.stop -./share/postgresql/tsearch_data/spanish.stop -./share/postgresql/tsearch_data/hunspell_sample.affix -./share/postgresql/tsearch_data/ispell_sample.affix -./share/postgresql/tsearch_data/danish.stop -./share/postgresql/tsearch_data/german.stop -./share/postgresql/tsearch_data/thesaurus_sample.ths -./share/postgresql/tsearch_data/norwegian.stop -./share/postgresql/tsearch_data/finnish.stop -./share/postgresql/tsearch_data/russian.stop -./share/postgresql/tsearch_data/swedish.stop -./share/postgresql/tsearch_data/ispell_sample.dict -./share/postgresql/tsearch_data/italian.stop -./share/postgresql/cm_agent.conf.sample -./share/postgresql/information_schema.sql -./share/postgresql/timezonesets/Antarctica.txt -./share/postgresql/timezonesets/Australia.txt -./share/postgresql/timezonesets/Europe.txt -./share/postgresql/timezonesets/America.txt -./share/postgresql/timezonesets/Australia -./share/postgresql/timezonesets/Indian.txt -./share/postgresql/timezonesets/India -./share/postgresql/timezonesets/Pacific.txt -./share/postgresql/timezonesets/Atlantic.txt -./share/postgresql/timezonesets/Africa.txt -./share/postgresql/timezonesets/Asia.txt -./share/postgresql/timezonesets/Default -./share/postgresql/timezonesets/Etc.txt -./share/postgresql/postgres.bki -./share/llvmir/GaussDB_expr.ir -./share/sslcert/gsql/openssl.cnf -./share/sslcert/gds/openssl.cnf -./share/sslcert/etcd/openssl.cnf -./share/sslcert/grpc/openssl.cnf -./lib/libsimsearch/ -./lib/postgresql/latin2_and_win1250.so -./lib/postgresql/euc2004_sjis2004.so -./lib/postgresql/euc_kr_and_mic.so -./lib/postgresql/utf8_and_uhc.so -./lib/postgresql/euc_tw_and_big5.so -./lib/postgresql/cyrillic_and_mic.so -./lib/postgresql/utf8_and_johab.so -./lib/postgresql/utf8_and_gb18030.so -./lib/postgresql/pgxs/src/makefiles/pgxs.mk -./lib/postgresql/pgxs/src/Makefile.shlib -./lib/postgresql/pgxs/src/Makefile.port -./lib/postgresql/pgxs/src/nls-global.mk -./lib/postgresql/pgxs/src/Makefile.global -./lib/postgresql/pgxs/config/install-sh -./lib/postgresql/euc_cn_and_mic.so -./lib/postgresql/latin_and_mic.so -./lib/postgresql/utf8_and_sjis2004.so -./lib/postgresql/utf8_and_euc_jp.so -./lib/postgresql/utf8_and_sjis.so -./lib/postgresql/utf8_and_cyrillic.so -./lib/postgresql/hstore.so -./lib/postgresql/tsdb.so -./lib/postgresql/streaming.so -./lib/postgresql/packages.so -./lib/postgresql/utf8_and_euc_kr.so -./lib/postgresql/ascii_and_mic.so -./lib/postgresql/utf8_and_iso8859_1.so -./lib/postgresql/euc_jp_and_sjis.so -./lib/postgresql/dict_snowball.so -./lib/postgresql/utf8_and_ascii.so -./lib/postgresql/utf8_and_euc_tw.so -./lib/postgresql/utf8_and_iso8859.so -./lib/postgresql/utf8_and_win.so -./lib/postgresql/utf8_and_euc_cn.so -./lib/postgresql/utf8_and_gbk.so -./lib/postgresql/utf8_and_euc2004.so -./lib/postgresql/utf8_and_big5.so -./lib/postgresql/roach_api.so -./lib/postgresql/mppdb_decoding.so -./lib/postgresql/gsredistribute.so -./lib/postgresql/dimsearch.so -./lib/postgresql/pg_plugin -./lib/postgresql/proc_srclib -./lib/postgresql/security_plugin.so -./lib/postgresql/pg_upgrade_support.so -./lib/postgresql/java/pljava.jar -./lib/postgresql/gsredistribute.so -./lib/libpljava.so -./lib/libpq.a -./lib/libpq.so -./lib/libpq.so.5 -./lib/libpq.so.5.5 -./lib/libpq_ce.so -./lib/libpq_ce.so.5 -./lib/libpq_ce.so.5.5 -./lib/libcgroup.so -./lib/libcgroup.so.1 -./lib/libcom_err_gauss.so -./lib/libcom_err_gauss.so.3 -./lib/libcom_err_gauss.so.3.0 -./lib/libgpr.so -./lib/libgpr.so.9 -./lib/libgpr.so.9.0.0 -./lib/libgrpc.so -./lib/libgrpc++.so -./lib/libgrpc++.so.1 -./lib/libgrpc++.so.1.28.1 -./lib/libgrpc.so.9 -./lib/libgrpc.so.9.0.0 -./lib/libupb.so -./lib/libupb.so.9 -./lib/libupb.so.9.0.0 -./lib/libabsl_str_format_internal.so -./lib/libabsl_strings.so -./lib/libabsl_throw_delegate.so -./lib/libabsl_strings_internal.so -./lib/libabsl_base.so -./lib/libabsl_dynamic_annotations.so -./lib/libabsl_spinlock_wait.so -./lib/libabsl_int128.so -./lib/libabsl_bad_optional_access.so -./lib/libabsl_raw_logging_internal.so -./lib/libabsl_log_severity.so -./lib/libaddress_sorting.so -./lib/libaddress_sorting.so.9 -./lib/libgssapi_krb5_gauss.so -./lib/libgssapi_krb5_gauss.so.2 -./lib/libgssapi_krb5_gauss.so.2.2 -./lib/libgssrpc_gauss.so -./lib/libgssrpc_gauss.so.4 -./lib/libgssrpc_gauss.so.4.2 -./lib/libk5crypto_gauss.so -./lib/libk5crypto_gauss.so.3 -./lib/libk5crypto_gauss.so.3.1 -./lib/libkadm5clnt.so -./lib/libkadm5clnt_mit.so -./lib/libkadm5clnt_mit.so.11 -./lib/libkadm5clnt_mit.so.11.0 -./lib/libkadm5srv.so -./lib/libkadm5srv_mit.so -./lib/libkadm5srv_mit.so.11 -./lib/libkadm5srv_mit.so.11.0 -./lib/libkdb5.so -./lib/libkdb5.so.9 -./lib/libkdb5.so.9.0 -./lib/libkrad.so -./lib/libkrad.so.0 -./lib/libkrad.so.0.0 -./lib/libkrb5_gauss.so -./lib/libkrb5_gauss.so.3 -./lib/libkrb5_gauss.so.3.3 -./lib/libkrb5support_gauss.so -./lib/libkrb5support_gauss.so.0 -./lib/libkrb5support_gauss.so.0.1 -./lib/libverto.so -./lib/libverto.so.0 -./lib/libverto.so.0.0 -./lib/libcrypto.so -./lib/libcrypto.so.1.1 -./lib/libssl.so -./lib/libssl.so.1.1 -./lib/libcurl.so -./lib/libcurl.so.4 -./lib/libcurl.so.4.5.0 -./lib/libcrypto.so -./lib/libcrypto.so.1.1 -./lib/libssl.so -./lib/libssl.so.1.1 -./lib/libgcc_s.so.1 -./lib/libstdc++.so.6 -./lib/libz.so -./lib/libz.so.1 -./lib/libz.so.1.2.11 -./lib/liblz4.so -./lib/liblz4.so.1 -./lib/liblz4.so.1.9.2 -./lib/libconfig.so -./lib/libconfig.so.4 -./lib/libcmclient.so -./lib/libcmclient.so.1 -./lib/libcmcommon.so -./lib/libcmcommon.so.2 -./lib/libcmpq.so -./lib/libcmpq.so.1 -./lib/libetcdapi.so -./lib/libetcdapi.so.1 -./lib/libpgport_tool.so -./lib/libpgport_tool.so.1 -./lib/lib_roach_show.so -./lib/roach_contrib.so -./share/llvmir/GaussDB_expr.ir -./lib/libeSDKLogAPI.so -./lib/libeSDKOBS.so -./lib/liblog4cpp.so -./lib/liblog4cpp.so.5 -./lib/liblog4cpp.so.5.0.6 -./lib/libcharset.so -./lib/libcharset.so.1 -./lib/libcharset.so.1.0.0 -./lib/libiconv.so -./lib/libiconv.so.2 -./lib/libiconv.so.2.6.0 -./lib/libnghttp2.so -./lib/libnghttp2.so.14 -./lib/libnghttp2.so.14.16.2 -./lib/libpcre.so -./lib/libpcre.so.1 -./lib/libpcre.so.1.2.7 -./lib/libsecurec.so -./lib/libxml2.so -./lib/libxml2.so.2 -./lib/libxml2.so.2.9.7 -./lib/libparquet.so -./lib/libparquet.so.11 -./lib/libparquet.so.11.1.0 -./lib/OBS.ini -./lib/preloadable_libiconv.so -./lib/postgresql/latin2_and_win1250.so -./lib/postgresql/euc2004_sjis2004.so -./include/postgresql/server/postgres_ext.h -./include/postgresql/server/pg_config_os.h -./include/postgresql/server/pgtime.h -./include/postgresql/server/datatypes.h -./include/postgresql/server/client_logic/client_logic_enums.h -./include/postgresql/server/nodes/primnodes.h -./include/postgresql/server/nodes/parsenodes.h -./include/postgresql/server/nodes/parsenodes_common.h -./include/postgresql/server/nodes/bitmapset.h -./include/postgresql/server/nodes/pg_list.h -./include/postgresql/server/nodes/value.h -./include/postgresql/server/nodes/nodes.h -./include/postgresql/server/utils/sortsupport.h -./include/postgresql/server/utils/varbit.h -./include/postgresql/server/utils/spccache.h -./include/postgresql/server/utils/rangetypes.h -./include/postgresql/server/utils/plpgsql.h -./include/postgresql/server/utils/memtrack.h -./include/postgresql/server/utils/pg_locale.h -./include/postgresql/server/utils/tzparser.h -./include/postgresql/server/utils/syscall_lock.h -./include/postgresql/server/utils/partitionmap.h -./include/postgresql/server/utils/array.h -./include/postgresql/server/utils/relmapper.h -./include/postgresql/server/utils/hsearch.h -./include/postgresql/server/utils/xml.h -./include/postgresql/server/utils/bytea.h -./include/postgresql/server/utils/relcache.h -./include/postgresql/server/utils/pg_rusage.h -./include/postgresql/server/utils/numeric.h -./include/postgresql/server/utils/mmpool.h -./include/postgresql/server/utils/nabstime.h -./include/postgresql/server/utils/fmgrtab.h -./include/postgresql/server/utils/snapmgr.h -./include/postgresql/server/utils/syscache.h -./include/postgresql/server/utils/logtape.h -./include/postgresql/server/utils/datum.h -./include/postgresql/server/utils/guc_tables.h -./include/postgresql/server/utils/snapshot.h -./include/postgresql/server/utils/geo_decls.h -./include/postgresql/server/utils/errcodes.h -./include/postgresql/server/utils/inval.h -./include/postgresql/server/utils/help_config.h -./include/postgresql/server/utils/distribute_test.h -./include/postgresql/server/utils/aiomem.h -./include/postgresql/server/utils/tuplestore.h -./include/postgresql/server/utils/rbtree.h -./include/postgresql/server/utils/gs_bitmap.h -./include/postgresql/server/utils/tuplesort.h -./include/postgresql/server/utils/tqual.h -./include/postgresql/server/utils/ps_status.h -./include/postgresql/server/utils/palloc.h -./include/postgresql/server/utils/reltrigger.h -./include/postgresql/server/utils/acl.h -./include/postgresql/server/utils/ascii.h -./include/postgresql/server/utils/selfuncs.h -./include/postgresql/server/utils/json.h -./include/postgresql/server/utils/portal.h -./include/postgresql/server/utils/atomic.h -./include/postgresql/server/utils/elog.h -./include/postgresql/server/utils/date.h -./include/postgresql/server/utils/plancache.h -./include/postgresql/server/utils/int8.h -./include/postgresql/server/utils/timestamp.h -./include/postgresql/server/utils/bloom_filter.h -./include/postgresql/server/utils/fmgroids.h -./include/postgresql/server/utils/pg_crc_tables.h -./include/postgresql/server/utils/probes.h -./include/postgresql/server/utils/datetime.h -./include/postgresql/server/utils/cJSON.h -./include/postgresql/server/utils/inet.h -./include/postgresql/server/utils/pg_lzcompress.h -./include/postgresql/server/utils/pg_crc.h -./include/postgresql/server/utils/attoptcache.h -./include/postgresql/server/utils/dynahash.h -./include/postgresql/server/utils/rel.h -./include/postgresql/server/utils/partcache.h -./include/postgresql/server/utils/lsyscache.h -./include/postgresql/server/utils/memutils.h -./include/postgresql/server/utils/memprot.h -./include/postgresql/server/utils/uuid.h -./include/postgresql/server/utils/combocid.h -./include/postgresql/server/utils/builtins.h -./include/postgresql/server/utils/guc.h -./include/postgresql/server/utils/dfs_vector.h -./include/postgresql/server/utils/dynamic_loader.h -./include/postgresql/server/utils/resowner.h -./include/postgresql/server/utils/aes.h -./include/postgresql/server/utils/cash.h -./include/postgresql/server/utils/typcache.h -./include/postgresql/server/utils/formatting.h -./include/postgresql/server/utils/partitionkey.h -./include/postgresql/server/utils/aset.h -./include/postgresql/server/utils/catcache.h -./include/postgresql/server/utils/atomic_arm.h -./include/postgresql/server/datatype/timestamp.h -./include/postgresql/server/access/rmgr.h -./include/postgresql/server/access/xlogreader.h -./include/postgresql/server/access/xlog_basic.h -./include/postgresql/server/access/tupdesc.h -./include/postgresql/server/access/rmgrlist.h -./include/postgresql/server/access/htup.h -./include/postgresql/server/access/xlogdefs.h -./include/postgresql/server/access/attnum.h -./include/postgresql/server/access/tupmacs.h -./include/postgresql/server/access/xlogrecord.h -./include/postgresql/server/tcop/dest.h -./include/postgresql/server/catalog/pg_type.h -./include/postgresql/server/catalog/pg_attribute.h -./include/postgresql/server/catalog/genbki.h -./include/postgresql/server/gs_thread.h -./include/postgresql/server/port/pg_bswap.h -./include/postgresql/server/port/pg_crc32c.h -./include/postgresql/server/securec.h -./include/postgresql/server/securectype.h -./include/postgresql/server/storage/off.h -./include/postgresql/server/storage/buf/block.h -./include/postgresql/server/storage/item/item.h -./include/postgresql/server/storage/relfilenode.h -./include/postgresql/server/storage/buf/bufpage.h -./include/postgresql/server/storage/spin.h -./include/postgresql/server/storage/buf/buf.h -./include/postgresql/server/storage/item/itemid.h -./include/postgresql/server/storage/lock/pg_sema.h -./include/postgresql/server/storage/item/itemptr.h -./include/postgresql/server/storage/lock/s_lock.h -./include/postgresql/server/storage/backendid.h -./include/postgresql/server/storage/lock/lock.h -./include/postgresql/server/storage/lock/lwlock.h -./include/postgresql/server/storage/barrier.h -./include/postgresql/server/storage/shmem.h -./include/postgresql/server/pg_config.h -./include/postgresql/server/lib/stringinfo.h -./include/postgresql/server/fmgr.h -./include/postgresql/server/fmgr/fmgr_comp.h -./include/postgresql/server/fmgr/fmgr_core.h -./include/postgresql/server/gs_threadlocal.h -./include/postgresql/server/postgres.h -./include/postgresql/server/executor/tuptable.h -./include/postgresql/server/pg_config_manual.h -./include/postgresql/server/mb/pg_wchar.h -./include/postgresql/server/c.h -./include/postgresql/server/port.h -./include/postgresql/server/utils/be_module.h -./include/postgresql/server/nodes/params.h -./include/postgresql/server/securec_check.h -./include/postgresql/server/nodes/memnodes.h -./include/postgresql/server/access/skey.h -./include/postgresql/server/lib/dllist.h -./include/postgresql/server/lib/ilist.h -./include/postgresql/server/pgxc/locator.h -./include/postgresql/server/gstrace/gstrace_infra.h -./include/postgresql/server/extension_dependency.h -./jre/ASSEMBLY_EXCEPTION -./jre/bin/java -./jre/bin/jjs -./jre/bin/keytool -./jre/bin/orbd -./jre/bin/pack200 -./jre/bin/policytool -./jre/bin/rmid -./jre/bin/rmiregistry -./jre/bin/servertool -./jre/bin/tnameserv -./jre/bin/unpack200 -./jre/lib/aarch64/jli/libjli.so -./jre/lib/aarch64/jvm.cfg -./jre/lib/aarch64/libattach.so -./jre/lib/aarch64/libavplugin-ffmpeg-58.so -./jre/lib/aarch64/libawt_headless.so -./jre/lib/aarch64/libawt.so -./jre/lib/aarch64/libawt_xawt.so -./jre/lib/aarch64/libdecora_sse.so -./jre/lib/aarch64/libdt_socket.so -./jre/lib/aarch64/libfontmanager.so -./jre/lib/aarch64/libfxplugins.so -./jre/lib/aarch64/libglassgtk2.so -./jre/lib/aarch64/libglassgtk3.so -./jre/lib/aarch64/libglass.so -./jre/lib/aarch64/libgstreamer-lite.so -./jre/lib/aarch64/libhprof.so -./jre/lib/aarch64/libinstrument.so -./jre/lib/aarch64/libj2gss.so -./jre/lib/aarch64/libj2pcsc.so -./jre/lib/aarch64/libj2pkcs11.so -./jre/lib/aarch64/libjaas_unix.so -./jre/lib/aarch64/libjava_crw_demo.so -./jre/lib/aarch64/libjavafx_font_freetype.so -./jre/lib/aarch64/libjavafx_font_pango.so -./jre/lib/aarch64/libjavafx_font.so -./jre/lib/aarch64/libjavafx_iio.so -./jre/lib/aarch64/libjava.so -./jre/lib/aarch64/libjawt.so -./jre/lib/aarch64/libjdwp.so -./jre/lib/aarch64/libjfxmedia.so -./jre/lib/aarch64/libjfxwebkit.so -./jre/lib/aarch64/libjpeg.so -./jre/lib/aarch64/libjsdt.so -./jre/lib/aarch64/libjsig.so -./jre/lib/aarch64/libjsoundalsa.so -./jre/lib/aarch64/libjsound.so -./jre/lib/aarch64/liblcms.so -./jre/lib/aarch64/libmanagement.so -./jre/lib/aarch64/libmlib_image.so -./jre/lib/aarch64/libnet.so -./jre/lib/aarch64/libnio.so -./jre/lib/aarch64/libnpt.so -./jre/lib/aarch64/libprism_common.so -./jre/lib/aarch64/libprism_es2.so -./jre/lib/aarch64/libprism_sw.so -./jre/lib/aarch64/libsaproc.so -./jre/lib/aarch64/libsctp.so -./jre/lib/aarch64/libsplashscreen.so -./jre/lib/aarch64/libsunec.so -./jre/lib/aarch64/libunpack.so -./jre/lib/aarch64/libverify.so -./jre/lib/aarch64/libzip.so -./jre/lib/aarch64/server/libjvm.so -./jre/lib/aarch64/server/Xusage.txt -./jre/lib/calendars.properties -./jre/lib/charsets.jar -./jre/lib/classlist -./jre/lib/cmm/CIEXYZ.pf -./jre/lib/cmm/GRAY.pf -./jre/lib/cmm/LINEAR_RGB.pf -./jre/lib/cmm/PYCC.pf -./jre/lib/cmm/sRGB.pf -./jre/lib/content-types.properties -./jre/lib/currency.data -./jre/lib/ext/cldrdata.jar -./jre/lib/ext/dnsns.jar -./jre/lib/ext/jaccess.jar -./jre/lib/ext/jfxrt.jar -./jre/lib/ext/localedata.jar -./jre/lib/ext/meta-index -./jre/lib/ext/nashorn.jar -./jre/lib/ext/sunec.jar -./jre/lib/ext/sunjce_provider.jar -./jre/lib/ext/sunpkcs11.jar -./jre/lib/ext/zipfs.jar -./jre/lib/flavormap.properties -./jre/lib/fontconfig.Euler.properties -./jre/lib/fontconfig.properties -./jre/lib/fontconfig.Ubuntu.properties -./jre/lib/fonts/Roboto-Regular.ttf -./jre/lib/hijrah-config-umalqura.properties -./jre/lib/images/cursors/cursors.properties -./jre/lib/images/cursors/invalid32x32.gif -./jre/lib/images/cursors/motif_CopyDrop32x32.gif -./jre/lib/images/cursors/motif_CopyNoDrop32x32.gif -./jre/lib/images/cursors/motif_LinkDrop32x32.gif -./jre/lib/images/cursors/motif_LinkNoDrop32x32.gif -./jre/lib/images/cursors/motif_MoveDrop32x32.gif -./jre/lib/images/cursors/motif_MoveNoDrop32x32.gif -./jre/lib/javafx-mx.jar -./jre/lib/javafx.properties -./jre/lib/jce.jar -./jre/lib/jexec -./jre/lib/jfr/default.jfc -./jre/lib/jfr.jar -./jre/lib/jfr/profile.jfc -./jre/lib/jfxswt.jar -./jre/lib/jsse.jar -./jre/lib/jvm.hprof.txt -./jre/lib/logging.properties -./jre/lib/management-agent.jar -./jre/lib/management/jmxremote.access -./jre/lib/management/jmxremote.password.template -./jre/lib/management/management.properties -./jre/lib/management/snmp.acl.template -./jre/lib/meta-index -./jre/lib/net.properties -./jre/lib/psfontj2d.properties -./jre/lib/psfont.properties.ja -./jre/lib/resources.jar -./jre/lib/rt.jar -./jre/lib/security/blacklisted.certs -./jre/lib/security/cacerts -./jre/lib/security/java.policy -./jre/lib/security/java.security -./jre/lib/security/policy/limited/local_policy.jar -./jre/lib/security/policy/limited/US_export_policy.jar -./jre/lib/security/policy/unlimited/local_policy.jar -./jre/lib/security/policy/unlimited/US_export_policy.jar -./jre/lib/sound.properties -./jre/lib/tzdb.dat -./jre/LICENSE -./jre/THIRD_PARTY_README -[client] -./bin/gsql -./bin/gs_dump -./bin/gs_dumpall -./bin/gs_restore -./jdbc/gsjdbc4.jar -./jdbc/gsjdbc200.jar -./lib/postgresql/latin2_and_win1250.so -./lib/postgresql/euc2004_sjis2004.so -./lib/postgresql/euc_kr_and_mic.so -./lib/postgresql/utf8_and_uhc.so -./lib/postgresql/euc_tw_and_big5.so -./lib/postgresql/cyrillic_and_mic.so -./lib/postgresql/utf8_and_johab.so -./lib/postgresql/utf8_and_gb18030.so -./lib/postgresql/pgxs/src/makefiles/pgxs.mk -./lib/postgresql/pgxs/src/Makefile.shlib -./lib/postgresql/pgxs/src/Makefile.port -./lib/postgresql/pgxs/src/nls-global.mk -./lib/postgresql/pgxs/src/Makefile.global -./lib/postgresql/pgxs/config/install-sh -./lib/postgresql/euc_cn_and_mic.so -./lib/postgresql/latin_and_mic.so -./lib/postgresql/utf8_and_sjis2004.so -./lib/postgresql/utf8_and_euc_jp.so -./lib/postgresql/utf8_and_sjis.so -./lib/postgresql/utf8_and_cyrillic.so -./lib/postgresql/utf8_and_euc_kr.so -./lib/postgresql/ascii_and_mic.so -./lib/postgresql/utf8_and_iso8859_1.so -./lib/postgresql/euc_jp_and_sjis.so -./lib/postgresql/dict_snowball.so -./lib/postgresql/utf8_and_ascii.so -./lib/postgresql/utf8_and_euc_tw.so -./lib/postgresql/utf8_and_iso8859.so -./lib/postgresql/utf8_and_win.so -./lib/postgresql/utf8_and_euc_cn.so -./lib/postgresql/utf8_and_gbk.so -./lib/postgresql/utf8_and_euc2004.so -./lib/postgresql/utf8_and_big5.so -./lib/postgresql/java/pljava.jar -./lib/libpljava.so -./lib/libpq.a -./lib/libpq.so -./lib/libpq.so.5 -./lib/libpq.so.5.5 -./lib/libpq_ce.so -./lib/libpq_ce.so.5 -./lib/libpq_ce.so.5.5 -./lib/libcrypto.so -./lib/libcrypto.so.1.1 -./lib/libstdc++.so.6 -./lib/libssl.so -./lib/libssl.so.1.1 -./lib/libgssapi_krb5_gauss.so -./lib/libgssapi_krb5_gauss.so.2 -./lib/libgssapi_krb5_gauss.so.2.2 -./lib/libgssrpc_gauss.so -./lib/libgssrpc_gauss.so.4 -./lib/libgssrpc_gauss.so.4.2 -./lib/libk5crypto_gauss.so -./lib/libk5crypto_gauss.so.3 -./lib/libk5crypto_gauss.so.3.1 -./lib/libkrb5support_gauss.so -./lib/libkrb5support_gauss.so.0 -./lib/libkrb5support_gauss.so.0.1 -./lib/libkrb5_gauss.so -./lib/libkrb5_gauss.so.3 -./lib/libkrb5_gauss.so.3.3 -./lib/libcom_err_gauss.so -./lib/libcom_err_gauss.so.3 -./lib/libcom_err_gauss.so.3.0 -./odbc/lib/psqlodbcw.la -./odbc/lib/psqlodbcw.so -[libpq] -./lib/libpq.a -./lib/libpq.so -./lib/libpq.so.5 -./lib/libpq.so.5.5 -./lib/libpq_ce.so -./lib/libpq_ce.so.5 -./lib/libpq_ce.so.5.5 -./lib/libconfig.so -./lib/libconfig.so.4 -./lib/libcmclient.so -./lib/libcmclient.so.1 -./lib/libcmcommon.so -./lib/libcmcommon.so.2 -./lib/libcmpq.so -./lib/libcmpq.so.1 -./lib/libcrypto.so -./lib/libcrypto.so.1.1 -./lib/libstdc++.so.6 -./lib/libssl.so -./lib/libssl.so.1.1 -./lib/libpgport_tool.so -./lib/libpgport_tool.so.1 -./lib/libgssapi_krb5_gauss.so -./lib/libgssapi_krb5_gauss.so.2 -./lib/libgssapi_krb5_gauss.so.2.2 -./lib/libgssrpc_gauss.so -./lib/libgssrpc_gauss.so.4 -./lib/libgssrpc_gauss.so.4.2 -./lib/libk5crypto_gauss.so -./lib/libk5crypto_gauss.so.3 -./lib/libk5crypto_gauss.so.3.1 -./lib/libkrb5support_gauss.so -./lib/libkrb5support_gauss.so.0 -./lib/libkrb5support_gauss.so.0.1 -./lib/libkrb5_gauss.so -./lib/libkrb5_gauss.so.3 -./lib/libkrb5_gauss.so.3.3 -./lib/libcom_err_gauss.so -./lib/libcom_err_gauss.so.3 -./lib/libcom_err_gauss.so.3.0 -[cmlibrary] -./lib/libconfig.a -./lib/libcmclient.a -./lib/libcmcommon.a -./lib/libcmpq.a -./lib/libpgport.a -[header] -./include/libpq-fe.h -./include/postgres_ext.h -./include/gs_thread.h -./include/gs_threadlocal.h -./include/pg_config.h -./include/pg_config_manual.h -./include/pg_config_os.h -./include/cm_config.h -./include/c.h -./include/port.h -./include/cm_msg.h -./include/cm_c.h -./include/cm_misc.h -./include/libpq-int.h -./include/pqcomm.h -./include/pqexpbuffer.h -./include/xlogdefs.h -./include/cm-libpq-fe.h -[gds] -./bin/gds -./bin/gds_ctl.py -./share/postgresql/gds.conf -./share/postgresql/gds.conf.sample -[version] -V500R001C20 -[script] -./script/__init__.py -./script/gs_check -./script/gs_checkos -./script/gs_checkperf -./script/gs_collector -./script/gs_backup -./script/gs_expand -./script/gs_install -./script/gs_om -./script/gs_postuninstall -./script/gs_preinstall -./script/gs_replace -./script/gs_shrink -./script/gs_ssh -./script/gs_sshexkey -./script/gs_uninstall -./script/gs_upgradectl -./script/gs_lcctl -./script/gs_resize -./script/uninstall_force.py -./script/checkRunStatus.py -./script/JsonToDbClustorInfo.py -./script/killall -./script/nodegroup_migrate.sh diff --git a/build/script/mpp_release_list_centos_single b/build/script/mpp_release_list_centos_single deleted file mode 100644 index cca69884a..000000000 --- a/build/script/mpp_release_list_centos_single +++ /dev/null @@ -1,1347 +0,0 @@ -[server] -./bin/gds -./bin/gs_log -./bin/gsql -./bin/gaussdb -./bin/gaussdb.version.GaussDB200 -./bin/gaussdb.version.GaussDB300 -./bin/gaussdb.license.GaussDB200_Standard -./bin/gaussmaster -./bin/gstrace -./bin/gs_encrypt -./bin/gs_dump -./bin/gs_dumpall -./bin/gs_initdb -./bin/gs_ctl -./bin/gs_guc -./bin/encrypt -./bin/gs_clean -./bin/openssl -./bin/gs_redis -./bin/gs_restore -./bin/gs_cgroup -./bin/pg_config -./bin/pg_controldata -./bin/pg_format_cu -./bin/pg_resetxlog -./bin/gs_roach -./bin/alarmItem.conf -./bin/retry_errcodes.conf -./bin/cluster_guc.conf -./bin/runsessionstat.sh -./bin/drop_caches.sh -./bin/run_drop_cache.sh -./bin/transfer.py -./bin/gs_plan_simulator.sh -./bin/dependences/clean_temp.sql -./bin/dependences/initdb.py -./bin/dependences/restore_temp.sql -./bin/dependences/store_pg_class_stats.sql -./bin/dependences/store_pg_statistic_ext_stats.sql -./bin/dependences/store_pg_statistic_stats.sql -./bin/dependences/store_pgxc_class.sql -./bin/krb5kdc -./bin/klist -./bin/kinit -./bin/kdestroy -./bin/kdb5_util -./bin/kadmin.local -./etc/kerberos/kadm5.acl -./etc/kerberos/kdc.conf -./etc/kerberos/krb5.conf -./etc/kerberos/mppdb-site.xml -./share/postgis/PostGIS_install.sh -./share/postgresql/tmp/udstools.py -./share/postgresql/snowball_create.sql -./share/postgresql/pmk_schema.sql -./share/postgresql/pmk_schema_single_inst.sql -./share/postgresql/pg_hba.conf.sample -./share/postgresql/pg_service.conf.sample -./share/postgresql/psqlrc.sample -./share/postgresql/conversion_create.sql -./share/postgresql/postgres.shdescription -./share/postgresql/pg_ident.conf.sample -./share/postgresql/postgres.description -./share/postgresql/postgresql.conf.sample -./share/postgresql/extension/plpgsql--1.0.sql -./share/postgresql/extension/hstore.control -./share/postgresql/extension/security_plugin.control -./share/postgresql/extension/security_plugin--1.0.sql -./share/postgresql/extension/tsdb.control -./share/postgresql/extension/tsdb--1.0.sql -./share/postgresql/extension/file_fdw--1.0.sql -./share/postgresql/extension/plpgsql.control -./share/postgresql/extension/dist_fdw.control -./share/postgresql/extension/dist_fdw--1.0.sql -./share/postgresql/extension/hstore--1.1.sql -./share/postgresql/extension/plpgsql--unpackaged--1.0.sql -./share/postgresql/extension/file_fdw.control -./share/postgresql/extension/hstore--unpackaged--1.0.sql -./share/postgresql/extension/hstore--1.0--1.1.sql -./share/postgresql/extension/hdfs_fdw--1.0.sql -./share/postgresql/extension/hdfs_fdw.control -./share/postgresql/extension/gc_fdw--1.0.sql -./share/postgresql/extension/gc_fdw.control -./share/postgresql/extension/log_fdw--1.0.sql -./share/postgresql/extension/log_fdw.control -./share/postgresql/extension/dimsearch--1.0.sql -./share/postgresql/extension/dimsearch.control -./share/postgresql/extension/packages--1.0.sql -./share/postgresql/extension/packages--1.0--1.1.sql -./share/postgresql/extension/packages.control -./share/postgresql/extension/gsredistribute.control -./share/postgresql/extension/gsredistribute--1.0.sql -./share/postgresql/extension/gsredistribute--unpackaged--1.0.sql -./share/postgresql/extension/roach_api--1.0.sql -./share/postgresql/extension/roach_api.control -./share/postgresql/extension/postgres_fdw--1.0.sql -./share/postgresql/extension/postgres_fdw.control -./share/postgresql/timezone/GB-Eire -./share/postgresql/timezone/Turkey -./share/postgresql/timezone/Kwajalein -./share/postgresql/timezone/UCT -./share/postgresql/timezone/Mexico/BajaSur -./share/postgresql/timezone/Mexico/BajaNorte -./share/postgresql/timezone/Mexico/General -./share/postgresql/timezone/Japan -./share/postgresql/timezone/Israel -./share/postgresql/timezone/US/Eastern -./share/postgresql/timezone/US/Samoa -./share/postgresql/timezone/US/Michigan -./share/postgresql/timezone/US/Aleutian -./share/postgresql/timezone/US/Pacific -./share/postgresql/timezone/US/Pacific-New -./share/postgresql/timezone/US/Indiana-Starke -./share/postgresql/timezone/US/Mountain -./share/postgresql/timezone/US/East-Indiana -./share/postgresql/timezone/US/Hawaii -./share/postgresql/timezone/US/Arizona -./share/postgresql/timezone/US/Alaska -./share/postgresql/timezone/US/Central -./share/postgresql/timezone/Greenwich -./share/postgresql/timezone/Poland -./share/postgresql/timezone/CET -./share/postgresql/timezone/GMT-0 -./share/postgresql/timezone/Indian/Mauritius -./share/postgresql/timezone/Indian/Cocos -./share/postgresql/timezone/Indian/Reunion -./share/postgresql/timezone/Indian/Maldives -./share/postgresql/timezone/Indian/Comoro -./share/postgresql/timezone/Indian/Antananarivo -./share/postgresql/timezone/Indian/Christmas -./share/postgresql/timezone/Indian/Kerguelen -./share/postgresql/timezone/Indian/Chagos -./share/postgresql/timezone/Indian/Mayotte -./share/postgresql/timezone/Indian/Mahe -./share/postgresql/timezone/GMT0 -./share/postgresql/timezone/Antarctica/Palmer -./share/postgresql/timezone/Antarctica/Syowa -./share/postgresql/timezone/Antarctica/South_Pole -./share/postgresql/timezone/Antarctica/McMurdo -./share/postgresql/timezone/Antarctica/Rothera -./share/postgresql/timezone/Antarctica/Mawson -./share/postgresql/timezone/Antarctica/Casey -./share/postgresql/timezone/Antarctica/Davis -./share/postgresql/timezone/Antarctica/DumontDUrville -./share/postgresql/timezone/Antarctica/Vostok -./share/postgresql/timezone/Antarctica/Macquarie -./share/postgresql/timezone/ROK -./share/postgresql/timezone/Chile/EasterIsland -./share/postgresql/timezone/Chile/Continental -./share/postgresql/timezone/posixrules -./share/postgresql/timezone/Atlantic/Azores -./share/postgresql/timezone/Atlantic/St_Helena -./share/postgresql/timezone/Atlantic/Madeira -./share/postgresql/timezone/Atlantic/Jan_Mayen -./share/postgresql/timezone/Atlantic/Faroe -./share/postgresql/timezone/Atlantic/Stanley -./share/postgresql/timezone/Atlantic/Cape_Verde -./share/postgresql/timezone/Atlantic/Reykjavik -./share/postgresql/timezone/Atlantic/Canary -./share/postgresql/timezone/Atlantic/South_Georgia -./share/postgresql/timezone/Atlantic/Bermuda -./share/postgresql/timezone/Atlantic/Faeroe -./share/postgresql/timezone/Hongkong -./share/postgresql/timezone/Libya -./share/postgresql/timezone/Iceland -./share/postgresql/timezone/UTC -./share/postgresql/timezone/Australia/Darwin -./share/postgresql/timezone/Australia/North -./share/postgresql/timezone/Australia/NSW -./share/postgresql/timezone/Australia/Sydney -./share/postgresql/timezone/Australia/Hobart -./share/postgresql/timezone/Australia/LHI -./share/postgresql/timezone/Australia/Victoria -./share/postgresql/timezone/Australia/South -./share/postgresql/timezone/Australia/Melbourne -./share/postgresql/timezone/Australia/Lord_Howe -./share/postgresql/timezone/Australia/West -./share/postgresql/timezone/Australia/Brisbane -./share/postgresql/timezone/Australia/Perth -./share/postgresql/timezone/Australia/Eucla -./share/postgresql/timezone/Australia/Canberra -./share/postgresql/timezone/Australia/Queensland -./share/postgresql/timezone/Australia/Broken_Hill -./share/postgresql/timezone/Australia/Lindeman -./share/postgresql/timezone/Australia/ACT -./share/postgresql/timezone/Australia/Currie -./share/postgresql/timezone/Australia/Adelaide -./share/postgresql/timezone/Australia/Yancowinna -./share/postgresql/timezone/Australia/Tasmania -./share/postgresql/timezone/Jamaica -./share/postgresql/timezone/EST5EDT -./share/postgresql/timezone/MET -./share/postgresql/timezone/W-SU -./share/postgresql/timezone/Mideast/Riyadh87 -./share/postgresql/timezone/Mideast/Riyadh88 -./share/postgresql/timezone/Mideast/Riyadh89 -./share/postgresql/timezone/WET -./share/postgresql/timezone/ROC -./share/postgresql/timezone/Factory -./share/postgresql/timezone/EET -./share/postgresql/timezone/PST8PDT -./share/postgresql/timezone/Portugal -./share/postgresql/timezone/NZ -./share/postgresql/timezone/Brazil/West -./share/postgresql/timezone/Brazil/DeNoronha -./share/postgresql/timezone/Brazil/Acre -./share/postgresql/timezone/Brazil/East -./share/postgresql/timezone/EST -./share/postgresql/timezone/Egypt -./share/postgresql/timezone/Universal -./share/postgresql/timezone/Pacific/Enderbury -./share/postgresql/timezone/Pacific/Noumea -./share/postgresql/timezone/Pacific/Kwajalein -./share/postgresql/timezone/Pacific/Norfolk -./share/postgresql/timezone/Pacific/Nauru -./share/postgresql/timezone/Pacific/Efate -./share/postgresql/timezone/Pacific/Kosrae -./share/postgresql/timezone/Pacific/Galapagos -./share/postgresql/timezone/Pacific/Truk -./share/postgresql/timezone/Pacific/Fiji -./share/postgresql/timezone/Pacific/Auckland -./share/postgresql/timezone/Pacific/Samoa -./share/postgresql/timezone/Pacific/Port_Moresby -./share/postgresql/timezone/Pacific/Johnston -./share/postgresql/timezone/Pacific/Apia -./share/postgresql/timezone/Pacific/Tarawa -./share/postgresql/timezone/Pacific/Pitcairn -./share/postgresql/timezone/Pacific/Marquesas -./share/postgresql/timezone/Pacific/Chatham -./share/postgresql/timezone/Pacific/Tahiti -./share/postgresql/timezone/Pacific/Tongatapu -./share/postgresql/timezone/Pacific/Saipan -./share/postgresql/timezone/Pacific/Fakaofo -./share/postgresql/timezone/Pacific/Guam -./share/postgresql/timezone/Pacific/Niue -./share/postgresql/timezone/Pacific/Chuuk -./share/postgresql/timezone/Pacific/Easter -./share/postgresql/timezone/Pacific/Wallis -./share/postgresql/timezone/Pacific/Gambier -./share/postgresql/timezone/Pacific/Majuro -./share/postgresql/timezone/Pacific/Kiritimati -./share/postgresql/timezone/Pacific/Guadalcanal -./share/postgresql/timezone/Pacific/Funafuti -./share/postgresql/timezone/Pacific/Rarotonga -./share/postgresql/timezone/Pacific/Pago_Pago -./share/postgresql/timezone/Pacific/Midway -./share/postgresql/timezone/Pacific/Palau -./share/postgresql/timezone/Pacific/Honolulu -./share/postgresql/timezone/Pacific/Yap -./share/postgresql/timezone/Pacific/Pohnpei -./share/postgresql/timezone/Pacific/Wake -./share/postgresql/timezone/Pacific/Ponape -./share/postgresql/timezone/Iran -./share/postgresql/timezone/Etc/GMT-4 -./share/postgresql/timezone/Etc/GMT-9 -./share/postgresql/timezone/Etc/UCT -./share/postgresql/timezone/Etc/GMT-7 -./share/postgresql/timezone/Etc/Greenwich -./share/postgresql/timezone/Etc/GMT-0 -./share/postgresql/timezone/Etc/GMT-5 -./share/postgresql/timezone/Etc/GMT0 -./share/postgresql/timezone/Etc/GMT+7 -./share/postgresql/timezone/Etc/GMT-2 -./share/postgresql/timezone/Etc/GMT-10 -./share/postgresql/timezone/Etc/GMT+6 -./share/postgresql/timezone/Etc/GMT+1 -./share/postgresql/timezone/Etc/UTC -./share/postgresql/timezone/Etc/GMT-3 -./share/postgresql/timezone/Etc/GMT-1 -./share/postgresql/timezone/Etc/GMT-8 -./share/postgresql/timezone/Etc/GMT-11 -./share/postgresql/timezone/Etc/GMT+12 -./share/postgresql/timezone/Etc/GMT+10 -./share/postgresql/timezone/Etc/GMT-12 -./share/postgresql/timezone/Etc/GMT+5 -./share/postgresql/timezone/Etc/Universal -./share/postgresql/timezone/Etc/GMT-13 -./share/postgresql/timezone/Etc/GMT-6 -./share/postgresql/timezone/Etc/GMT+9 -./share/postgresql/timezone/Etc/GMT+3 -./share/postgresql/timezone/Etc/GMT-14 -./share/postgresql/timezone/Etc/GMT+4 -./share/postgresql/timezone/Etc/Zulu -./share/postgresql/timezone/Etc/GMT+2 -./share/postgresql/timezone/Etc/GMT+0 -./share/postgresql/timezone/Etc/GMT+8 -./share/postgresql/timezone/Etc/GMT+11 -./share/postgresql/timezone/Etc/GMT -./share/postgresql/timezone/Zulu -./share/postgresql/timezone/GMT+0 -./share/postgresql/timezone/Singapore -./share/postgresql/timezone/NZ-CHAT -./share/postgresql/timezone/Cuba -./share/postgresql/timezone/GB -./share/postgresql/timezone/Arctic/Longyearbyen -./share/postgresql/timezone/MST7MDT -./share/postgresql/timezone/PRC -./share/postgresql/timezone/Canada/Eastern -./share/postgresql/timezone/Canada/Yukon -./share/postgresql/timezone/Canada/Atlantic -./share/postgresql/timezone/Canada/Newfoundland -./share/postgresql/timezone/Canada/Saskatchewan -./share/postgresql/timezone/Canada/Pacific -./share/postgresql/timezone/Canada/East-Saskatchewan -./share/postgresql/timezone/Canada/Mountain -./share/postgresql/timezone/Canada/Central -./share/postgresql/timezone/CST6CDT -./share/postgresql/timezone/HST -./share/postgresql/timezone/America/Boa_Vista -./share/postgresql/timezone/America/New_York -./share/postgresql/timezone/America/Santarem -./share/postgresql/timezone/America/Boise -./share/postgresql/timezone/America/St_Lucia -./share/postgresql/timezone/America/Mendoza -./share/postgresql/timezone/America/Mexico_City -./share/postgresql/timezone/America/Chihuahua -./share/postgresql/timezone/America/Indianapolis -./share/postgresql/timezone/America/Virgin -./share/postgresql/timezone/America/Atka -./share/postgresql/timezone/America/Winnipeg -./share/postgresql/timezone/America/Hermosillo -./share/postgresql/timezone/America/Indiana/Indianapolis -./share/postgresql/timezone/America/Indiana/Tell_City -./share/postgresql/timezone/America/Indiana/Winamac -./share/postgresql/timezone/America/Indiana/Knox -./share/postgresql/timezone/America/Indiana/Vincennes -./share/postgresql/timezone/America/Indiana/Vevay -./share/postgresql/timezone/America/Indiana/Petersburg -./share/postgresql/timezone/America/Indiana/Marengo -./share/postgresql/timezone/America/Moncton -./share/postgresql/timezone/America/Campo_Grande -./share/postgresql/timezone/America/Guyana -./share/postgresql/timezone/America/Caracas -./share/postgresql/timezone/America/Maceio -./share/postgresql/timezone/America/Godthab -./share/postgresql/timezone/America/Thunder_Bay -./share/postgresql/timezone/America/Havana -./share/postgresql/timezone/America/Santiago -./share/postgresql/timezone/America/Los_Angeles -./share/postgresql/timezone/America/Buenos_Aires -./share/postgresql/timezone/America/Manaus -./share/postgresql/timezone/America/Bahia -./share/postgresql/timezone/America/North_Dakota/New_Salem -./share/postgresql/timezone/America/North_Dakota/Beulah -./share/postgresql/timezone/America/North_Dakota/Center -./share/postgresql/timezone/America/Bahia_Banderas -./share/postgresql/timezone/America/Edmonton -./share/postgresql/timezone/America/Tegucigalpa -./share/postgresql/timezone/America/Rankin_Inlet -./share/postgresql/timezone/America/Monterrey -./share/postgresql/timezone/America/Cambridge_Bay -./share/postgresql/timezone/America/Porto_Velho -./share/postgresql/timezone/America/Antigua -./share/postgresql/timezone/America/Atikokan -./share/postgresql/timezone/America/Vancouver -./share/postgresql/timezone/America/Anchorage -./share/postgresql/timezone/America/Port-au-Prince -./share/postgresql/timezone/America/Lima -./share/postgresql/timezone/America/Grenada -./share/postgresql/timezone/America/Creston -./share/postgresql/timezone/America/La_Paz -./share/postgresql/timezone/America/Panama -./share/postgresql/timezone/America/Blanc-Sablon -./share/postgresql/timezone/America/Cayenne -./share/postgresql/timezone/America/Santo_Domingo -./share/postgresql/timezone/America/Grand_Turk -./share/postgresql/timezone/America/Toronto -./share/postgresql/timezone/America/Rainy_River -./share/postgresql/timezone/America/Merida -./share/postgresql/timezone/America/Port_of_Spain -./share/postgresql/timezone/America/Nipigon -./share/postgresql/timezone/America/Jamaica -./share/postgresql/timezone/America/Rosario -./share/postgresql/timezone/America/Dawson_Creek -./share/postgresql/timezone/America/Belize -./share/postgresql/timezone/America/Costa_Rica -./share/postgresql/timezone/America/Barbados -./share/postgresql/timezone/America/Danmarkshavn -./share/postgresql/timezone/America/Argentina/La_Rioja -./share/postgresql/timezone/America/Argentina/Mendoza -./share/postgresql/timezone/America/Argentina/Buenos_Aires -./share/postgresql/timezone/America/Argentina/Tucuman -./share/postgresql/timezone/America/Argentina/Ushuaia -./share/postgresql/timezone/America/Argentina/Catamarca -./share/postgresql/timezone/America/Argentina/ComodRivadavia -./share/postgresql/timezone/America/Argentina/Jujuy -./share/postgresql/timezone/America/Argentina/Cordoba -./share/postgresql/timezone/America/Argentina/San_Luis -./share/postgresql/timezone/America/Argentina/Rio_Gallegos -./share/postgresql/timezone/America/Argentina/Salta -./share/postgresql/timezone/America/Argentina/San_Juan -./share/postgresql/timezone/America/Pangnirtung -./share/postgresql/timezone/America/Anguilla -./share/postgresql/timezone/America/Curacao -./share/postgresql/timezone/America/Cancun -./share/postgresql/timezone/America/Montreal -./share/postgresql/timezone/America/Shiprock -./share/postgresql/timezone/America/Thule -./share/postgresql/timezone/America/Scoresbysund -./share/postgresql/timezone/America/Catamarca -./share/postgresql/timezone/America/Sao_Paulo -./share/postgresql/timezone/America/Sitka -./share/postgresql/timezone/America/Asuncion -./share/postgresql/timezone/America/Regina -./share/postgresql/timezone/America/St_Johns -./share/postgresql/timezone/America/Montevideo -./share/postgresql/timezone/America/Eirunepe -./share/postgresql/timezone/America/Denver -./share/postgresql/timezone/America/Metlakatla -./share/postgresql/timezone/America/Araguaina -./share/postgresql/timezone/America/Juneau -./share/postgresql/timezone/America/Marigot -./share/postgresql/timezone/America/Menominee -./share/postgresql/timezone/America/Glace_Bay -./share/postgresql/timezone/America/Tijuana -./share/postgresql/timezone/America/Detroit -./share/postgresql/timezone/America/Belem -./share/postgresql/timezone/America/Jujuy -./share/postgresql/timezone/America/St_Thomas -./share/postgresql/timezone/America/Resolute -./share/postgresql/timezone/America/Cuiaba -./share/postgresql/timezone/America/Halifax -./share/postgresql/timezone/America/St_Barthelemy -./share/postgresql/timezone/America/Guatemala -./share/postgresql/timezone/America/Nassau -./share/postgresql/timezone/America/St_Kitts -./share/postgresql/timezone/America/Cordoba -./share/postgresql/timezone/America/Miquelon -./share/postgresql/timezone/America/Bogota -./share/postgresql/timezone/America/Rio_Branco -./share/postgresql/timezone/America/Ensenada -./share/postgresql/timezone/America/Yakutat -./share/postgresql/timezone/America/Noronha -./share/postgresql/timezone/America/Kentucky/Monticello -./share/postgresql/timezone/America/Kentucky/Louisville -./share/postgresql/timezone/America/Porto_Acre -./share/postgresql/timezone/America/Santa_Isabel -./share/postgresql/timezone/America/El_Salvador -./share/postgresql/timezone/America/Yellowknife -./share/postgresql/timezone/America/Cayman -./share/postgresql/timezone/America/Whitehorse -./share/postgresql/timezone/America/Ojinaga -./share/postgresql/timezone/America/Aruba -./share/postgresql/timezone/America/Nome -./share/postgresql/timezone/America/Fortaleza -./share/postgresql/timezone/America/Martinique -./share/postgresql/timezone/America/Recife -./share/postgresql/timezone/America/Knox_IN -./share/postgresql/timezone/America/Guayaquil -./share/postgresql/timezone/America/Goose_Bay -./share/postgresql/timezone/America/Iqaluit -./share/postgresql/timezone/America/Matamoros -./share/postgresql/timezone/America/Lower_Princes -./share/postgresql/timezone/America/Louisville -./share/postgresql/timezone/America/Coral_Harbour -./share/postgresql/timezone/America/Phoenix -./share/postgresql/timezone/America/Guadeloupe -./share/postgresql/timezone/America/Mazatlan -./share/postgresql/timezone/America/Swift_Current -./share/postgresql/timezone/America/Paramaribo -./share/postgresql/timezone/America/Dominica -./share/postgresql/timezone/America/Kralendijk -./share/postgresql/timezone/America/Montserrat -./share/postgresql/timezone/America/St_Vincent -./share/postgresql/timezone/America/Fort_Wayne -./share/postgresql/timezone/America/Dawson -./share/postgresql/timezone/America/Inuvik -./share/postgresql/timezone/America/Adak -./share/postgresql/timezone/America/Managua -./share/postgresql/timezone/America/Puerto_Rico -./share/postgresql/timezone/America/Tortola -./share/postgresql/timezone/America/Chicago -./share/postgresql/timezone/Africa/Lome -./share/postgresql/timezone/Africa/Brazzaville -./share/postgresql/timezone/Africa/Khartoum -./share/postgresql/timezone/Africa/Ceuta -./share/postgresql/timezone/Africa/Djibouti -./share/postgresql/timezone/Africa/Lagos -./share/postgresql/timezone/Africa/Accra -./share/postgresql/timezone/Africa/El_Aaiun -./share/postgresql/timezone/Africa/Malabo -./share/postgresql/timezone/Africa/Windhoek -./share/postgresql/timezone/Africa/Tripoli -./share/postgresql/timezone/Africa/Bissau -./share/postgresql/timezone/Africa/Blantyre -./share/postgresql/timezone/Africa/Kinshasa -./share/postgresql/timezone/Africa/Porto-Novo -./share/postgresql/timezone/Africa/Nairobi -./share/postgresql/timezone/Africa/Ouagadougou -./share/postgresql/timezone/Africa/Asmera -./share/postgresql/timezone/Africa/Cairo -./share/postgresql/timezone/Africa/Lubumbashi -./share/postgresql/timezone/Africa/Tunis -./share/postgresql/timezone/Africa/Dar_es_Salaam -./share/postgresql/timezone/Africa/Casablanca -./share/postgresql/timezone/Africa/Algiers -./share/postgresql/timezone/Africa/Mbabane -./share/postgresql/timezone/Africa/Monrovia -./share/postgresql/timezone/Africa/Nouakchott -./share/postgresql/timezone/Africa/Banjul -./share/postgresql/timezone/Africa/Kampala -./share/postgresql/timezone/Africa/Conakry -./share/postgresql/timezone/Africa/Mogadishu -./share/postgresql/timezone/Africa/Ndjamena -./share/postgresql/timezone/Africa/Niamey -./share/postgresql/timezone/Africa/Lusaka -./share/postgresql/timezone/Africa/Addis_Ababa -./share/postgresql/timezone/Africa/Sao_Tome -./share/postgresql/timezone/Africa/Abidjan -./share/postgresql/timezone/Africa/Harare -./share/postgresql/timezone/Africa/Asmara -./share/postgresql/timezone/Africa/Douala -./share/postgresql/timezone/Africa/Freetown -./share/postgresql/timezone/Africa/Libreville -./share/postgresql/timezone/Africa/Luanda -./share/postgresql/timezone/Africa/Maseru -./share/postgresql/timezone/Africa/Gaborone -./share/postgresql/timezone/Africa/Maputo -./share/postgresql/timezone/Africa/Timbuktu -./share/postgresql/timezone/Africa/Bangui -./share/postgresql/timezone/Africa/Bamako -./share/postgresql/timezone/Africa/Dakar -./share/postgresql/timezone/Africa/Juba -./share/postgresql/timezone/Africa/Bujumbura -./share/postgresql/timezone/Africa/Johannesburg -./share/postgresql/timezone/Africa/Kigali -./share/postgresql/timezone/Eire -./share/postgresql/timezone/Europe/Vaduz -./share/postgresql/timezone/Europe/Podgorica -./share/postgresql/timezone/Europe/Rome -./share/postgresql/timezone/Europe/Vienna -./share/postgresql/timezone/Europe/Dublin -./share/postgresql/timezone/Europe/Zurich -./share/postgresql/timezone/Europe/London -./share/postgresql/timezone/Europe/Monaco -./share/postgresql/timezone/Europe/Sofia -./share/postgresql/timezone/Europe/Uzhgorod -./share/postgresql/timezone/Europe/Minsk -./share/postgresql/timezone/Europe/Malta -./share/postgresql/timezone/Europe/Busingen -./share/postgresql/timezone/Europe/Gibraltar -./share/postgresql/timezone/Europe/Volgograd -./share/postgresql/timezone/Europe/Budapest -./share/postgresql/timezone/Europe/Vatican -./share/postgresql/timezone/Europe/Luxembourg -./share/postgresql/timezone/Europe/Chisinau -./share/postgresql/timezone/Europe/Nicosia -./share/postgresql/timezone/Europe/Warsaw -./share/postgresql/timezone/Europe/San_Marino -./share/postgresql/timezone/Europe/Copenhagen -./share/postgresql/timezone/Europe/Ljubljana -./share/postgresql/timezone/Europe/Athens -./share/postgresql/timezone/Europe/Skopje -./share/postgresql/timezone/Europe/Andorra -./share/postgresql/timezone/Europe/Kaliningrad -./share/postgresql/timezone/Europe/Amsterdam -./share/postgresql/timezone/Europe/Guernsey -./share/postgresql/timezone/Europe/Isle_of_Man -./share/postgresql/timezone/Europe/Tirane -./share/postgresql/timezone/Europe/Jersey -./share/postgresql/timezone/Europe/Madrid -./share/postgresql/timezone/Europe/Helsinki -./share/postgresql/timezone/Europe/Riga -./share/postgresql/timezone/Europe/Zagreb -./share/postgresql/timezone/Europe/Bratislava -./share/postgresql/timezone/Europe/Prague -./share/postgresql/timezone/Europe/Tallinn -./share/postgresql/timezone/Europe/Stockholm -./share/postgresql/timezone/Europe/Tiraspol -./share/postgresql/timezone/Europe/Belgrade -./share/postgresql/timezone/Europe/Bucharest -./share/postgresql/timezone/Europe/Vilnius -./share/postgresql/timezone/Europe/Sarajevo -./share/postgresql/timezone/Europe/Belfast -./share/postgresql/timezone/Europe/Zaporozhye -./share/postgresql/timezone/Europe/Oslo -./share/postgresql/timezone/Europe/Mariehamn -./share/postgresql/timezone/Europe/Moscow -./share/postgresql/timezone/Europe/Brussels -./share/postgresql/timezone/Europe/Paris -./share/postgresql/timezone/Europe/Istanbul -./share/postgresql/timezone/Europe/Simferopol -./share/postgresql/timezone/Europe/Lisbon -./share/postgresql/timezone/Europe/Berlin -./share/postgresql/timezone/Europe/Kiev -./share/postgresql/timezone/Europe/Samara -./share/postgresql/timezone/MST -./share/postgresql/timezone/Asia/Khandyga -./share/postgresql/timezone/Asia/Manila -./share/postgresql/timezone/Asia/Novokuznetsk -./share/postgresql/timezone/Asia/Baghdad -./share/postgresql/timezone/Asia/Macau -./share/postgresql/timezone/Asia/Urumqi -./share/postgresql/timezone/Asia/Ujung_Pandang -./share/postgresql/timezone/Asia/Ulan_Bator -./share/postgresql/timezone/Asia/Bishkek -./share/postgresql/timezone/Asia/Qatar -./share/postgresql/timezone/Asia/Qyzylorda -./share/postgresql/timezone/Asia/Calcutta -./share/postgresql/timezone/Asia/Riyadh87 -./share/postgresql/timezone/Asia/Dushanbe -./share/postgresql/timezone/Asia/Yekaterinburg -./share/postgresql/timezone/Asia/Dhaka -./share/postgresql/timezone/Asia/Jakarta -./share/postgresql/timezone/Asia/Shanghai -./share/postgresql/timezone/Asia/Ulaanbaatar -./share/postgresql/timezone/Asia/Jerusalem -./share/postgresql/timezone/Asia/Ashkhabad -./share/postgresql/timezone/Asia/Tokyo -./share/postgresql/timezone/Asia/Macao -./share/postgresql/timezone/Asia/Krasnoyarsk -./share/postgresql/timezone/Asia/Saigon -./share/postgresql/timezone/Asia/Omsk -./share/postgresql/timezone/Asia/Damascus -./share/postgresql/timezone/Asia/Phnom_Penh -./share/postgresql/timezone/Asia/Bangkok -./share/postgresql/timezone/Asia/Kamchatka -./share/postgresql/timezone/Asia/Choibalsan -./share/postgresql/timezone/Asia/Ust-Nera -./share/postgresql/timezone/Asia/Aden -./share/postgresql/timezone/Asia/Vientiane -./share/postgresql/timezone/Asia/Sakhalin -./share/postgresql/timezone/Asia/Ashgabat -./share/postgresql/timezone/Asia/Katmandu -./share/postgresql/timezone/Asia/Almaty -./share/postgresql/timezone/Asia/Baku -./share/postgresql/timezone/Asia/Nicosia -./share/postgresql/timezone/Asia/Riyadh88 -./share/postgresql/timezone/Asia/Kashgar -./share/postgresql/timezone/Asia/Riyadh89 -./share/postgresql/timezone/Asia/Taipei -./share/postgresql/timezone/Asia/Tehran -./share/postgresql/timezone/Asia/Kabul -./share/postgresql/timezone/Asia/Samarkand -./share/postgresql/timezone/Asia/Kuala_Lumpur -./share/postgresql/timezone/Asia/Tashkent -./share/postgresql/timezone/Asia/Thimbu -./share/postgresql/timezone/Asia/Thimphu -./share/postgresql/timezone/Asia/Yerevan -./share/postgresql/timezone/Asia/Chungking -./share/postgresql/timezone/Asia/Hebron -./share/postgresql/timezone/Asia/Karachi -./share/postgresql/timezone/Asia/Kolkata -./share/postgresql/timezone/Asia/Aqtobe -./share/postgresql/timezone/Asia/Muscat -./share/postgresql/timezone/Asia/Hong_Kong -./share/postgresql/timezone/Asia/Chongqing -./share/postgresql/timezone/Asia/Oral -./share/postgresql/timezone/Asia/Pontianak -./share/postgresql/timezone/Asia/Colombo -./share/postgresql/timezone/Asia/Pyongyang -./share/postgresql/timezone/Asia/Hovd -./share/postgresql/timezone/Asia/Kuwait -./share/postgresql/timezone/Asia/Anadyr -./share/postgresql/timezone/Asia/Kathmandu -./share/postgresql/timezone/Asia/Irkutsk -./share/postgresql/timezone/Asia/Bahrain -./share/postgresql/timezone/Asia/Dubai -./share/postgresql/timezone/Asia/Jayapura -./share/postgresql/timezone/Asia/Riyadh -./share/postgresql/timezone/Asia/Ho_Chi_Minh -./share/postgresql/timezone/Asia/Singapore -./share/postgresql/timezone/Asia/Tel_Aviv -./share/postgresql/timezone/Asia/Dili -./share/postgresql/timezone/Asia/Rangoon -./share/postgresql/timezone/Asia/Harbin -./share/postgresql/timezone/Asia/Yakutsk -./share/postgresql/timezone/Asia/Magadan -./share/postgresql/timezone/Asia/Amman -./share/postgresql/timezone/Asia/Kuching -./share/postgresql/timezone/Asia/Novosibirsk -./share/postgresql/timezone/Asia/Seoul -./share/postgresql/timezone/Asia/Dacca -./share/postgresql/timezone/Asia/Vladivostok -./share/postgresql/timezone/Asia/Istanbul -./share/postgresql/timezone/Asia/Beirut -./share/postgresql/timezone/Asia/Aqtau -./share/postgresql/timezone/Asia/Brunei -./share/postgresql/timezone/Asia/Gaza -./share/postgresql/timezone/Asia/Tbilisi -./share/postgresql/timezone/Asia/Makassar -./share/postgresql/timezone/Asia/Beijing -./share/postgresql/timezone/Navajo -./share/postgresql/timezone/GMT -./share/postgresql/system_views.sql -./share/postgresql/performance_views.sql -./share/postgresql/sql_features.txt -./share/postgresql/pg_cast_oid.txt -./share/postgresql/recovery.conf.sample -./share/postgresql/tsearch_data/english.stop -./share/postgresql/tsearch_data/dutch.stop -./share/postgresql/tsearch_data/hungarian.stop -./share/postgresql/tsearch_data/french.stop -./share/postgresql/tsearch_data/synonym_sample.syn -./share/postgresql/tsearch_data/turkish.stop -./share/postgresql/tsearch_data/portuguese.stop -./share/postgresql/tsearch_data/spanish.stop -./share/postgresql/tsearch_data/hunspell_sample.affix -./share/postgresql/tsearch_data/ispell_sample.affix -./share/postgresql/tsearch_data/danish.stop -./share/postgresql/tsearch_data/german.stop -./share/postgresql/tsearch_data/thesaurus_sample.ths -./share/postgresql/tsearch_data/norwegian.stop -./share/postgresql/tsearch_data/finnish.stop -./share/postgresql/tsearch_data/russian.stop -./share/postgresql/tsearch_data/swedish.stop -./share/postgresql/tsearch_data/ispell_sample.dict -./share/postgresql/tsearch_data/italian.stop -./share/postgresql/information_schema.sql -./share/postgresql/timezonesets/Antarctica.txt -./share/postgresql/timezonesets/Australia.txt -./share/postgresql/timezonesets/Europe.txt -./share/postgresql/timezonesets/America.txt -./share/postgresql/timezonesets/Australia -./share/postgresql/timezonesets/Indian.txt -./share/postgresql/timezonesets/India -./share/postgresql/timezonesets/Pacific.txt -./share/postgresql/timezonesets/Atlantic.txt -./share/postgresql/timezonesets/Africa.txt -./share/postgresql/timezonesets/Asia.txt -./share/postgresql/timezonesets/Default -./share/postgresql/timezonesets/Etc.txt -./share/postgresql/postgres.bki -./share/llvmir/GaussDB_expr.ir -./share/sslcert/gsql/openssl.cnf -./share/sslcert/gds/openssl.cnf -./share/sslcert/grpc/openssl.cnf -./lib/libsimsearch/ -./lib/postgresql/latin2_and_win1250.so -./lib/postgresql/euc2004_sjis2004.so -./lib/postgresql/euc_kr_and_mic.so -./lib/postgresql/utf8_and_uhc.so -./lib/postgresql/euc_tw_and_big5.so -./lib/postgresql/cyrillic_and_mic.so -./lib/postgresql/utf8_and_johab.so -./lib/postgresql/utf8_and_gb18030.so -./lib/postgresql/pgxs/src/makefiles/pgxs.mk -./lib/postgresql/pgxs/src/Makefile.shlib -./lib/postgresql/pgxs/src/Makefile.port -./lib/postgresql/pgxs/src/nls-global.mk -./lib/postgresql/pgxs/src/Makefile.global -./lib/postgresql/pgxs/config/install-sh -./lib/postgresql/euc_cn_and_mic.so -./lib/postgresql/latin_and_mic.so -./lib/postgresql/utf8_and_sjis2004.so -./lib/postgresql/utf8_and_euc_jp.so -./lib/postgresql/utf8_and_sjis.so -./lib/postgresql/utf8_and_cyrillic.so -./lib/postgresql/hstore.so -./lib/postgresql/tsdb.so -./lib/postgresql/packages.so -./lib/postgresql/utf8_and_euc_kr.so -./lib/postgresql/ascii_and_mic.so -./lib/postgresql/utf8_and_iso8859_1.so -./lib/postgresql/euc_jp_and_sjis.so -./lib/postgresql/dict_snowball.so -./lib/postgresql/utf8_and_ascii.so -./lib/postgresql/utf8_and_euc_tw.so -./lib/postgresql/utf8_and_iso8859.so -./lib/postgresql/utf8_and_win.so -./lib/postgresql/utf8_and_euc_cn.so -./lib/postgresql/utf8_and_gbk.so -./lib/postgresql/utf8_and_euc2004.so -./lib/postgresql/utf8_and_big5.so -./lib/postgresql/roach_api.so -./lib/postgresql/mppdb_decoding.so -./lib/postgresql/gsredistribute.so -./lib/postgresql/dimsearch.so -./lib/postgresql/pg_plugin -./lib/postgresql/proc_srclib -./lib/postgresql/security_plugin.so -./lib/postgresql/pg_upgrade_support.so -./lib/postgresql/java/pljava.jar -./lib/postgresql/postgres_fdw.so -./lib/libpljava.so -./lib/libpq.a -./lib/libpq.so -./lib/libpq.so.5 -./lib/libpq.so.5.5 -./lib/libpq_ce.so -./lib/libpq_ce.so.5 -./lib/libpq_ce.so.5.5 -./lib/libcgroup.so -./lib/libcgroup.so.1 -./lib/libcom_err_gauss.so -./lib/libcom_err_gauss.so.3 -./lib/libcom_err_gauss.so.3.0 -./lib/libgpr.so -./lib/libgpr.so.9 -./lib/libgpr.so.9.0.0 -./lib/libgrpc.so -./lib/libgrpc++.so -./lib/libgrpc++.so.1 -./lib/libgrpc++.so.1.28.1 -./lib/libgrpc.so.9 -./lib/libgrpc.so.9.0.0 -./lib/libupb.so -./lib/libupb.so.9 -./lib/libupb.so.9.0.0 -./lib/libabsl_str_format_internal.so -./lib/libabsl_strings.so -./lib/libabsl_throw_delegate.so -./lib/libabsl_strings_internal.so -./lib/libabsl_base.so -./lib/libabsl_dynamic_annotations.so -./lib/libabsl_spinlock_wait.so -./lib/libabsl_int128.so -./lib/libabsl_bad_optional_access.so -./lib/libabsl_raw_logging_internal.so -./lib/libabsl_log_severity.so -./lib/libaddress_sorting.so -./lib/libaddress_sorting.so.9 -./lib/libgssapi_krb5_gauss.so -./lib/libgssapi_krb5_gauss.so.2 -./lib/libgssapi_krb5_gauss.so.2.2 -./lib/libgssrpc_gauss.so -./lib/libgssrpc_gauss.so.4 -./lib/libgssrpc_gauss.so.4.2 -./lib/libk5crypto_gauss.so -./lib/libk5crypto_gauss.so.3 -./lib/libk5crypto_gauss.so.3.1 -./lib/libkadm5clnt.so -./lib/libkadm5clnt_mit.so -./lib/libkadm5clnt_mit.so.11 -./lib/libkadm5clnt_mit.so.11.0 -./lib/libkadm5srv.so -./lib/libkadm5srv_mit.so -./lib/libkadm5srv_mit.so.11 -./lib/libkadm5srv_mit.so.11.0 -./lib/libkdb5.so -./lib/libkdb5.so.9 -./lib/libkdb5.so.9.0 -./lib/libkrad.so -./lib/libkrad.so.0 -./lib/libkrad.so.0.0 -./lib/libkrb5_gauss.so -./lib/libkrb5_gauss.so.3 -./lib/libkrb5_gauss.so.3.3 -./lib/libkrb5support_gauss.so -./lib/libkrb5support_gauss.so.0 -./lib/libkrb5support_gauss.so.0.1 -./lib/krb5/plugins/kdb/db2.so -./lib/libverto.so -./lib/libverto.so.0 -./lib/libverto.so.0.0 -./lib/libcrypto.so -./lib/libcrypto.so.1.1 -./lib/libssl.so -./lib/libssl.so.1.1 -./lib/libgcc_s.so.1 -./lib/libstdc++.so.6 -./lib/libz.so -./lib/libz.so.1 -./lib/libz.so.1.2.11 -./lib/liblz4.so -./lib/liblz4.so.1 -./lib/liblz4.so.1.9.2 -./lib/libcjson.so -./lib/libcjson.so.1 -./lib/libcjson.so.1.7.13 -./lib/libconfig.so -./lib/libconfig.so.4 -./lib/libcmclient.so -./lib/libcmclient.so.1 -./lib/libcmcommon.so -./lib/libcmcommon.so.2 -./lib/libcmpq.so -./lib/libcmpq.so.1 -./lib/libetcdapi.so -./lib/libetcdapi.so.1 -./lib/libpgport_tool.so -./lib/libpgport_tool.so.1 -./lib/lib_roach_show.so -./lib/roach_contrib.so -./share/llvmir/GaussDB_expr.ir -./lib/libeSDKLogAPI.so -./lib/libeSDKOBS.so -./lib/liblog4cpp.so -./lib/liblog4cpp.so.5 -./lib/liblog4cpp.so.5.0.6 -./lib/libcharset.so -./lib/libcharset.so.1 -./lib/libcharset.so.1.0.0 -./lib/libiconv.so -./lib/libiconv.so.2 -./lib/libiconv.so.2.6.1 -./lib/libnghttp2.so -./lib/libnghttp2.so.14 -./lib/libnghttp2.so.14.18.0 -./lib/libpcre.so -./lib/libpcre.so.1 -./lib/libpcre.so.1.2.12 -./lib/libsecurec.so -./lib/libxml2.so -./lib/libxml2.so.2 -./lib/libxml2.so.2.9.9 -./lib/libparquet.so -./lib/libparquet.so.11 -./lib/libparquet.so.11.1.0 -./lib/OBS.ini -./lib/postgresql/latin2_and_win1250.so -./lib/postgresql/euc2004_sjis2004.so -./lib/libhll.so - - -./include/postgresql/server/postgres_ext.h -./include/postgresql/server/pg_config_os.h -./include/postgresql/server/pgtime.h -./include/postgresql/server/datatypes.h -./include/postgresql/server/client_logic/client_logic_enums.h -./include/postgresql/server/nodes/primnodes.h -./include/postgresql/server/nodes/parsenodes.h -./include/postgresql/server/nodes/parsenodes_common.h -./include/postgresql/server/nodes/bitmapset.h -./include/postgresql/server/nodes/pg_list.h -./include/postgresql/server/nodes/value.h -./include/postgresql/server/nodes/nodes.h -./include/postgresql/server/utils/sortsupport.h -./include/postgresql/server/utils/varbit.h -./include/postgresql/server/utils/spccache.h -./include/postgresql/server/utils/rangetypes.h -./include/postgresql/server/utils/plpgsql.h -./include/postgresql/server/utils/memtrack.h -./include/postgresql/server/utils/pg_locale.h -./include/postgresql/server/utils/tzparser.h -./include/postgresql/server/utils/syscall_lock.h -./include/postgresql/server/utils/partitionmap.h -./include/postgresql/server/utils/array.h -./include/postgresql/server/utils/relmapper.h -./include/postgresql/server/utils/hsearch.h -./include/postgresql/server/utils/xml.h -./include/postgresql/server/utils/bytea.h -./include/postgresql/server/utils/relcache.h -./include/postgresql/server/utils/pg_rusage.h -./include/postgresql/server/utils/numeric.h -./include/postgresql/server/utils/mmpool.h -./include/postgresql/server/utils/nabstime.h -./include/postgresql/server/utils/fmgrtab.h -./include/postgresql/server/utils/snapmgr.h -./include/postgresql/server/utils/syscache.h -./include/postgresql/server/utils/logtape.h -./include/postgresql/server/utils/datum.h -./include/postgresql/server/utils/guc_tables.h -./include/postgresql/server/utils/snapshot.h -./include/postgresql/server/utils/geo_decls.h -./include/postgresql/server/utils/errcodes.h -./include/postgresql/server/utils/inval.h -./include/postgresql/server/utils/help_config.h -./include/postgresql/server/utils/distribute_test.h -./include/postgresql/server/utils/aiomem.h -./include/postgresql/server/utils/tuplestore.h -./include/postgresql/server/utils/rbtree.h -./include/postgresql/server/utils/gs_bitmap.h -./include/postgresql/server/utils/tuplesort.h -./include/postgresql/server/utils/tqual.h -./include/postgresql/server/utils/ps_status.h -./include/postgresql/server/utils/palloc.h -./include/postgresql/server/utils/reltrigger.h -./include/postgresql/server/utils/acl.h -./include/postgresql/server/utils/ascii.h -./include/postgresql/server/utils/selfuncs.h -./include/postgresql/server/utils/json.h -./include/postgresql/server/utils/portal.h -./include/postgresql/server/utils/atomic.h -./include/postgresql/server/utils/elog.h -./include/postgresql/server/utils/date.h -./include/postgresql/server/utils/plancache.h -./include/postgresql/server/utils/int8.h -./include/postgresql/server/utils/timestamp.h -./include/postgresql/server/utils/bloom_filter.h -./include/postgresql/server/utils/fmgroids.h -./include/postgresql/server/utils/pg_crc_tables.h -./include/postgresql/server/utils/probes.h -./include/postgresql/server/utils/datetime.h -./include/postgresql/server/utils/inet.h -./include/postgresql/server/utils/pg_lzcompress.h -./include/postgresql/server/utils/pg_crc.h -./include/postgresql/server/utils/attoptcache.h -./include/postgresql/server/utils/dynahash.h -./include/postgresql/server/utils/rel.h -./include/postgresql/server/utils/partcache.h -./include/postgresql/server/utils/lsyscache.h -./include/postgresql/server/utils/memutils.h -./include/postgresql/server/utils/memprot.h -./include/postgresql/server/utils/uuid.h -./include/postgresql/server/utils/combocid.h -./include/postgresql/server/utils/builtins.h -./include/postgresql/server/utils/guc.h -./include/postgresql/server/utils/dfs_vector.h -./include/postgresql/server/utils/dynamic_loader.h -./include/postgresql/server/utils/resowner.h -./include/postgresql/server/utils/aes.h -./include/postgresql/server/utils/cash.h -./include/postgresql/server/utils/typcache.h -./include/postgresql/server/utils/formatting.h -./include/postgresql/server/utils/partitionkey.h -./include/postgresql/server/utils/aset.h -./include/postgresql/server/utils/catcache.h -./include/postgresql/server/utils/atomic_arm.h -./include/postgresql/server/datatype/timestamp.h -./include/postgresql/server/access/rmgr.h -./include/postgresql/server/access/xlogreader.h -./include/postgresql/server/access/xlog_basic.h -./include/postgresql/server/access/tupdesc.h -./include/postgresql/server/access/rmgrlist.h -./include/postgresql/server/access/htup.h -./include/postgresql/server/access/xlogdefs.h -./include/postgresql/server/access/attnum.h -./include/postgresql/server/access/tupmacs.h -./include/postgresql/server/access/xlogrecord.h -./include/postgresql/server/tcop/dest.h -./include/postgresql/server/catalog/pg_type.h -./include/postgresql/server/catalog/pg_attribute.h -./include/postgresql/server/catalog/genbki.h -./include/postgresql/server/gs_thread.h -./include/postgresql/server/port/pg_bswap.h -./include/postgresql/server/port/pg_crc32c.h -./include/postgresql/server/securec.h -./include/postgresql/server/securectype.h -./include/postgresql/server/storage/off.h -./include/postgresql/server/storage/buf/block.h -./include/postgresql/server/storage/item/item.h -./include/postgresql/server/storage/relfilenode.h -./include/postgresql/server/storage/buf/bufpage.h -./include/postgresql/server/storage/spin.h -./include/postgresql/server/storage/buf/buf.h -./include/postgresql/server/storage/item/itemid.h -./include/postgresql/server/storage/lock/pg_sema.h -./include/postgresql/server/storage/item/itemptr.h -./include/postgresql/server/storage/lock/s_lock.h -./include/postgresql/server/storage/backendid.h -./include/postgresql/server/storage/lock/lock.h -./include/postgresql/server/storage/lock/lwlock.h -./include/postgresql/server/storage/barrier.h -./include/postgresql/server/storage/shmem.h -./include/postgresql/server/pg_config.h -./include/postgresql/server/lib/stringinfo.h -./include/postgresql/server/fmgr.h -./include/postgresql/server/fmgr/fmgr_comp.h -./include/postgresql/server/fmgr/fmgr_core.h -./include/postgresql/server/gs_threadlocal.h -./include/postgresql/server/postgres.h -./include/postgresql/server/executor/tuptable.h -./include/postgresql/server/pg_config_manual.h -./include/postgresql/server/mb/pg_wchar.h -./include/postgresql/server/c.h -./include/postgresql/server/port.h -./include/postgresql/server/utils/be_module.h -./include/postgresql/server/nodes/params.h -./include/postgresql/server/securec_check.h -./include/postgresql/server/nodes/memnodes.h -./include/postgresql/server/access/skey.h -./include/postgresql/server/lib/dllist.h -./include/postgresql/server/lib/ilist.h -./include/postgresql/server/pgxc/locator.h -./include/postgresql/server/gstrace/gstrace_infra.h -./include/postgresql/server/extension_dependency.h -./jre/ASSEMBLY_EXCEPTION -./jre/bin/java -./jre/bin/jjs -./jre/bin/keytool -./jre/bin/orbd -./jre/bin/pack200 -./jre/bin/policytool -./jre/bin/rmid -./jre/bin/rmiregistry -./jre/bin/servertool -./jre/bin/tnameserv -./jre/bin/unpack200 -./jre/lib/amd64/jli/libjli.so -./jre/lib/amd64/jvm.cfg -./jre/lib/amd64/libattach.so -./jre/lib/amd64/libavplugin-ffmpeg-58.so -./jre/lib/amd64/libawt_headless.so -./jre/lib/amd64/libawt.so -./jre/lib/amd64/libawt_xawt.so -./jre/lib/amd64/libdecora_sse.so -./jre/lib/amd64/libdt_socket.so -./jre/lib/amd64/libfontmanager.so -./jre/lib/amd64/libfxplugins.so -./jre/lib/amd64/libglassgtk2.so -./jre/lib/amd64/libglassgtk3.so -./jre/lib/amd64/libglass.so -./jre/lib/amd64/libgstreamer-lite.so -./jre/lib/amd64/libhprof.so -./jre/lib/amd64/libinstrument.so -./jre/lib/amd64/libj2gss.so -./jre/lib/amd64/libj2pcsc.so -./jre/lib/amd64/libj2pkcs11.so -./jre/lib/amd64/libjaas_unix.so -./jre/lib/amd64/libjava_crw_demo.so -./jre/lib/amd64/libjavafx_font_freetype.so -./jre/lib/amd64/libjavafx_font_pango.so -./jre/lib/amd64/libjavafx_font.so -./jre/lib/amd64/libjavafx_iio.so -./jre/lib/amd64/libjava.so -./jre/lib/amd64/libjawt.so -./jre/lib/amd64/libjdwp.so -./jre/lib/amd64/libjfxmedia.so -./jre/lib/amd64/libjfxwebkit.so -./jre/lib/amd64/libjpeg.so -./jre/lib/amd64/libjsdt.so -./jre/lib/amd64/libjsig.so -./jre/lib/amd64/libjsoundalsa.so -./jre/lib/amd64/libjsound.so -./jre/lib/amd64/liblcms.so -./jre/lib/amd64/libmanagement.so -./jre/lib/amd64/libmlib_image.so -./jre/lib/amd64/libnet.so -./jre/lib/amd64/libnio.so -./jre/lib/amd64/libnpt.so -./jre/lib/amd64/libprism_common.so -./jre/lib/amd64/libprism_es2.so -./jre/lib/amd64/libprism_sw.so -./jre/lib/amd64/libsaproc.so -./jre/lib/amd64/libsctp.so -./jre/lib/amd64/libsplashscreen.so -./jre/lib/amd64/libsunec.so -./jre/lib/amd64/libunpack.so -./jre/lib/amd64/libverify.so -./jre/lib/amd64/libzip.so -./jre/lib/amd64/server/libjvm.so -./jre/lib/amd64/server/Xusage.txt -./jre/lib/calendars.properties -./jre/lib/charsets.jar -./jre/lib/classlist -./jre/lib/cmm/CIEXYZ.pf -./jre/lib/cmm/GRAY.pf -./jre/lib/cmm/LINEAR_RGB.pf -./jre/lib/cmm/PYCC.pf -./jre/lib/cmm/sRGB.pf -./jre/lib/content-types.properties -./jre/lib/currency.data -./jre/lib/ext/cldrdata.jar -./jre/lib/ext/dnsns.jar -./jre/lib/ext/jaccess.jar -./jre/lib/ext/jfxrt.jar -./jre/lib/ext/localedata.jar -./jre/lib/ext/meta-index -./jre/lib/ext/nashorn.jar -./jre/lib/ext/sunec.jar -./jre/lib/ext/sunjce_provider.jar -./jre/lib/ext/sunpkcs11.jar -./jre/lib/ext/zipfs.jar -./jre/lib/flavormap.properties -./jre/lib/fontconfig.Euler.properties -./jre/lib/fontconfig.properties -./jre/lib/fontconfig.Ubuntu.properties -./jre/lib/fonts/Roboto-Regular.ttf -./jre/lib/hijrah-config-umalqura.properties -./jre/lib/images/cursors/cursors.properties -./jre/lib/images/cursors/invalid32x32.gif -./jre/lib/images/cursors/motif_CopyDrop32x32.gif -./jre/lib/images/cursors/motif_CopyNoDrop32x32.gif -./jre/lib/images/cursors/motif_LinkDrop32x32.gif -./jre/lib/images/cursors/motif_LinkNoDrop32x32.gif -./jre/lib/images/cursors/motif_MoveDrop32x32.gif -./jre/lib/images/cursors/motif_MoveNoDrop32x32.gif -./jre/lib/javafx-mx.jar -./jre/lib/javafx.properties -./jre/lib/jce.jar -./jre/lib/jexec -./jre/lib/jfr/default.jfc -./jre/lib/jfr.jar -./jre/lib/jfr/profile.jfc -./jre/lib/jfxswt.jar -./jre/lib/jsse.jar -./jre/lib/jvm.hprof.txt -./jre/lib/logging.properties -./jre/lib/management-agent.jar -./jre/lib/management/jmxremote.access -./jre/lib/management/jmxremote.password.template -./jre/lib/management/management.properties -./jre/lib/management/snmp.acl.template -./jre/lib/meta-index -./jre/lib/net.properties -./jre/lib/psfontj2d.properties -./jre/lib/psfont.properties.ja -./jre/lib/resources.jar -./jre/lib/rt.jar -./jre/lib/security/blacklisted.certs -./jre/lib/security/cacerts -./jre/lib/security/java.policy -./jre/lib/security/java.security -./jre/lib/security/policy/limited/local_policy.jar -./jre/lib/security/policy/limited/US_export_policy.jar -./jre/lib/security/policy/unlimited/local_policy.jar -./jre/lib/security/policy/unlimited/US_export_policy.jar -./jre/lib/sound.properties -./jre/lib/tzdb.dat -./jre/LICENSE -./jre/THIRD_PARTY_README -[client] -./bin/gsql -./bin/gs_dump -./bin/gs_dumpall -./bin/gs_restore -./jdbc/gsjdbc4.jar -./jdbc/gsjdbc200.jar -./lib/postgresql/latin2_and_win1250.so -./lib/postgresql/euc2004_sjis2004.so -./lib/postgresql/euc_kr_and_mic.so -./lib/postgresql/utf8_and_uhc.so -./lib/postgresql/euc_tw_and_big5.so -./lib/postgresql/cyrillic_and_mic.so -./lib/postgresql/utf8_and_johab.so -./lib/postgresql/utf8_and_gb18030.so -./lib/postgresql/pgxs/src/makefiles/pgxs.mk -./lib/postgresql/pgxs/src/Makefile.shlib -./lib/postgresql/pgxs/src/Makefile.port -./lib/postgresql/pgxs/src/nls-global.mk -./lib/postgresql/pgxs/src/Makefile.global -./lib/postgresql/pgxs/config/install-sh -./lib/postgresql/euc_cn_and_mic.so -./lib/postgresql/latin_and_mic.so -./lib/postgresql/utf8_and_sjis2004.so -./lib/postgresql/utf8_and_euc_jp.so -./lib/postgresql/utf8_and_sjis.so -./lib/postgresql/utf8_and_cyrillic.so -./lib/postgresql/utf8_and_euc_kr.so -./lib/postgresql/ascii_and_mic.so -./lib/postgresql/utf8_and_iso8859_1.so -./lib/postgresql/euc_jp_and_sjis.so -./lib/postgresql/dict_snowball.so -./lib/postgresql/utf8_and_ascii.so -./lib/postgresql/utf8_and_euc_tw.so -./lib/postgresql/utf8_and_iso8859.so -./lib/postgresql/utf8_and_win.so -./lib/postgresql/utf8_and_euc_cn.so -./lib/postgresql/utf8_and_gbk.so -./lib/postgresql/utf8_and_euc2004.so -./lib/postgresql/utf8_and_big5.so -./lib/postgresql/java/pljava.jar -./lib/libpljava.so -./lib/libpq.a -./lib/libpq.so -./lib/libpq.so.5 -./lib/libpq.so.5.5 -./lib/libpq_ce.so -./lib/libpq_ce.so.5 -./lib/libpq_ce.so.5.5 -./lib/libcrypto.so -./lib/libcrypto.so.1.1 -./lib/libstdc++.so.6 -./lib/libssl.so -./lib/libssl.so.1.1 -./lib/libgssapi_krb5_gauss.so -./lib/libgssapi_krb5_gauss.so.2 -./lib/libgssapi_krb5_gauss.so.2.2 -./lib/libgssrpc_gauss.so -./lib/libgssrpc_gauss.so.4 -./lib/libgssrpc_gauss.so.4.2 -./lib/libk5crypto_gauss.so -./lib/libk5crypto_gauss.so.3 -./lib/libk5crypto_gauss.so.3.1 -./lib/libkrb5support_gauss.so -./lib/libkrb5support_gauss.so.0 -./lib/libkrb5support_gauss.so.0.1 -./lib/libkrb5_gauss.so -./lib/libkrb5_gauss.so.3 -./lib/libkrb5_gauss.so.3.3 -./lib/libcom_err_gauss.so -./lib/libcom_err_gauss.so.3 -./lib/libcom_err_gauss.so.3.0 -./odbc/lib/psqlodbcw.la -./odbc/lib/psqlodbcw.so -[libpq] -./lib/libpq.a -./lib/libpq.so -./lib/libpq.so.5 -./lib/libpq.so.5.5 -./lib/libpq_ce.so -./lib/libpq_ce.so.5 -./lib/libpq_ce.so.5.5 -./lib/libconfig.so -./lib/libconfig.so.4 -./lib/libcrypto.so -./lib/libcrypto.so.1.1 -./lib/libstdc++.so.6 -./lib/libssl.so -./lib/libssl.so.1.1 -./lib/libpgport_tool.so -./lib/libpgport_tool.so.1 -./lib/libgssapi_krb5_gauss.so -./lib/libgssapi_krb5_gauss.so.2 -./lib/libgssapi_krb5_gauss.so.2.2 -./lib/libgssrpc_gauss.so -./lib/libgssrpc_gauss.so.4 -./lib/libgssrpc_gauss.so.4.2 -./lib/libk5crypto_gauss.so -./lib/libk5crypto_gauss.so.3 -./lib/libk5crypto_gauss.so.3.1 -./lib/libkrb5support_gauss.so -./lib/libkrb5support_gauss.so.0 -./lib/libkrb5support_gauss.so.0.1 -./lib/libkrb5_gauss.so -./lib/libkrb5_gauss.so.3 -./lib/libkrb5_gauss.so.3.3 -./lib/libcom_err_gauss.so -./lib/libcom_err_gauss.so.3 -./lib/libcom_err_gauss.so.3.0 -[cmlibrary] -./lib/libpgport.a -[header] -./include/libpq-fe.h -./include/postgres_ext.h -./include/gs_thread.h -./include/gs_threadlocal.h -./include/pg_config.h -./include/pg_config_manual.h -./include/pg_config_os.h -[gds] -./bin/gds -./bin/gds_ctl.py -./share/postgresql/gds.conf -./share/postgresql/gds.conf.sample -./lib/libcjson.so -./lib/libcjson.so.1 -./lib/libcjson.so.1.7.13 -[version] -V500R001C20 -[script] -./script/__init__.py -./script/gs_check -./script/gs_checkos -./script/gs_checkperf -./script/gs_collector -./script/gs_backup -./script/gs_expand -./script/gs_install -./script/gs_om -./script/gs_hotpatch -./script/gs_postuninstall -./script/gs_preinstall -./script/gs_replace -./script/gs_shrink -./script/gs_ssh -./script/gs_sshexkey -./script/gs_uninstall -./script/gs_upgradectl -./script/gs_lcctl -./script/gs_resize -./script/uninstall_force.py -./script/checkRunStatus.py -./script/JsonToDbClustorInfo.py -./script/nodegroup_migrate.sh diff --git a/build/script/mpp_release_list_euleros b/build/script/mpp_release_list_euleros deleted file mode 100644 index 93206e962..000000000 --- a/build/script/mpp_release_list_euleros +++ /dev/null @@ -1,1394 +0,0 @@ -[server] -./bin/gds -./bin/gs_log -./bin/gsql -./bin/gaussdb -./bin/gaussdb.version.GaussDB200 -./bin/gaussdb.version.GaussDB300 -./bin/gaussdb.license.GaussDB200_Standard -./bin/gaussmaster -./bin/gstrace -./bin/gs_encrypt -./bin/gs_gtm -./bin/gs_dump -./bin/gs_dumpall -./bin/gs_initgtm -./bin/gs_initcm -./bin/gs_ctl -./bin/gs_initdb -./bin/gtm_ctl -./bin/cm_server -./bin/cm_agent -./bin/om_monitor -./bin/cm_ctl -./bin/etcd -./bin/etcdctl -./bin/seq_query -./bin/gs_guc -./bin/encrypt -./bin/gs_roach -./bin/gs_clean -./bin/gs_redis -./bin/gs_restore -./bin/gs_cgroup -./bin/openssl -./bin/pg_config -./bin/pg_controldata -./bin/pg_format_cu -./bin/pg_resetxlog -./bin/alarmItem.conf -./bin/retry_errcodes.conf -./bin/cluster_guc.conf -./bin/runsessionstat.sh -./bin/drop_caches.sh -./bin/run_drop_cache.sh -./bin/transfer.py -./bin/getDEK.jar -./bin/gs_plan_simulator.sh -./bin/dependences/clean_temp.sql -./bin/dependences/initdb.py -./bin/dependences/restore_temp.sql -./bin/dependences/store_pg_class_stats.sql -./bin/dependences/store_pg_statistic_ext_stats.sql -./bin/dependences/store_pg_statistic_stats.sql -./bin/dependences/store_pgxc_class.sql -./bin/krb5kdc -./bin/klist -./bin/kinit -./bin/kdestroy -./bin/kdb5_util -./bin/kadmin.local -./bin/lz4 -./bin/iperf3 -./bin/fio -./etc/kerberos/kadm5.acl -./etc/kerberos/kdc.conf -./etc/kerberos/krb5.conf -./etc/kerberos/mppdb-site.xml -./share/postgis/PostGIS_install.sh -./share/postgresql/tmp/udstools.py -./share/postgresql/snowball_create.sql -./share/postgresql/pmk_schema.sql -./share/postgresql/pmk_schema_single_inst.sql -./share/postgresql/pg_hba.conf.sample -./share/postgresql/pg_service.conf.sample -./share/postgresql/psqlrc.sample -./share/postgresql/conversion_create.sql -./share/postgresql/postgres.shdescription -./share/postgresql/pg_ident.conf.sample -./share/postgresql/postgres.description -./share/postgresql/postgresql.conf.sample -./share/postgresql/extension/plpgsql--1.0.sql -./share/postgresql/extension/hstore.control -./share/postgresql/extension/security_plugin.control -./share/postgresql/extension/security_plugin--1.0.sql -./share/postgresql/extension/tsdb.control -./share/postgresql/extension/tsdb--1.0.sql -./share/postgresql/extension/streaming--1.0.sql -./share/postgresql/extension/streaming.control -./share/postgresql/extension/file_fdw--1.0.sql -./share/postgresql/extension/plpgsql.control -./share/postgresql/extension/dist_fdw.control -./share/postgresql/extension/dist_fdw--1.0.sql -./share/postgresql/extension/hstore--1.1.sql -./share/postgresql/extension/plpgsql--unpackaged--1.0.sql -./share/postgresql/extension/file_fdw.control -./share/postgresql/extension/hstore--unpackaged--1.0.sql -./share/postgresql/extension/hstore--1.0--1.1.sql -./share/postgresql/extension/hdfs_fdw--1.0.sql -./share/postgresql/extension/hdfs_fdw.control -./share/postgresql/extension/gc_fdw--1.0.sql -./share/postgresql/extension/gc_fdw.control -./share/postgresql/extension/roach_api--1.0.sql -./share/postgresql/extension/roach_api.control -./share/postgresql/extension/log_fdw--1.0.sql -./share/postgresql/extension/log_fdw.control -./share/postgresql/extension/dimsearch--1.0.sql -./share/postgresql/extension/dimsearch.control -./share/postgresql/extension/packages--1.0.sql -./share/postgresql/extension/packages--1.0--1.1.sql -./share/postgresql/extension/packages.control -./share/postgresql/extension/gsredistribute.control -./share/postgresql/extension/gsredistribute--1.0.sql -./share/postgresql/extension/gsredistribute--unpackaged--1.0.sql -./share/postgresql/timezone/GB-Eire -./share/postgresql/timezone/Turkey -./share/postgresql/timezone/Kwajalein -./share/postgresql/timezone/UCT -./share/postgresql/timezone/Mexico/BajaSur -./share/postgresql/timezone/Mexico/BajaNorte -./share/postgresql/timezone/Mexico/General -./share/postgresql/timezone/Japan -./share/postgresql/timezone/Israel -./share/postgresql/timezone/US/Eastern -./share/postgresql/timezone/US/Samoa -./share/postgresql/timezone/US/Michigan -./share/postgresql/timezone/US/Aleutian -./share/postgresql/timezone/US/Pacific -./share/postgresql/timezone/US/Pacific-New -./share/postgresql/timezone/US/Indiana-Starke -./share/postgresql/timezone/US/Mountain -./share/postgresql/timezone/US/East-Indiana -./share/postgresql/timezone/US/Hawaii -./share/postgresql/timezone/US/Arizona -./share/postgresql/timezone/US/Alaska -./share/postgresql/timezone/US/Central -./share/postgresql/timezone/Greenwich -./share/postgresql/timezone/Poland -./share/postgresql/timezone/CET -./share/postgresql/timezone/GMT-0 -./share/postgresql/timezone/Indian/Mauritius -./share/postgresql/timezone/Indian/Cocos -./share/postgresql/timezone/Indian/Reunion -./share/postgresql/timezone/Indian/Maldives -./share/postgresql/timezone/Indian/Comoro -./share/postgresql/timezone/Indian/Antananarivo -./share/postgresql/timezone/Indian/Christmas -./share/postgresql/timezone/Indian/Kerguelen -./share/postgresql/timezone/Indian/Chagos -./share/postgresql/timezone/Indian/Mayotte -./share/postgresql/timezone/Indian/Mahe -./share/postgresql/timezone/GMT0 -./share/postgresql/timezone/Antarctica/Palmer -./share/postgresql/timezone/Antarctica/Syowa -./share/postgresql/timezone/Antarctica/South_Pole -./share/postgresql/timezone/Antarctica/McMurdo -./share/postgresql/timezone/Antarctica/Rothera -./share/postgresql/timezone/Antarctica/Mawson -./share/postgresql/timezone/Antarctica/Casey -./share/postgresql/timezone/Antarctica/Davis -./share/postgresql/timezone/Antarctica/DumontDUrville -./share/postgresql/timezone/Antarctica/Vostok -./share/postgresql/timezone/Antarctica/Macquarie -./share/postgresql/timezone/ROK -./share/postgresql/timezone/Chile/EasterIsland -./share/postgresql/timezone/Chile/Continental -./share/postgresql/timezone/posixrules -./share/postgresql/timezone/Atlantic/Azores -./share/postgresql/timezone/Atlantic/St_Helena -./share/postgresql/timezone/Atlantic/Madeira -./share/postgresql/timezone/Atlantic/Jan_Mayen -./share/postgresql/timezone/Atlantic/Faroe -./share/postgresql/timezone/Atlantic/Stanley -./share/postgresql/timezone/Atlantic/Cape_Verde -./share/postgresql/timezone/Atlantic/Reykjavik -./share/postgresql/timezone/Atlantic/Canary -./share/postgresql/timezone/Atlantic/South_Georgia -./share/postgresql/timezone/Atlantic/Bermuda -./share/postgresql/timezone/Atlantic/Faeroe -./share/postgresql/timezone/Hongkong -./share/postgresql/timezone/Libya -./share/postgresql/timezone/Iceland -./share/postgresql/timezone/UTC -./share/postgresql/timezone/Australia/Darwin -./share/postgresql/timezone/Australia/North -./share/postgresql/timezone/Australia/NSW -./share/postgresql/timezone/Australia/Sydney -./share/postgresql/timezone/Australia/Hobart -./share/postgresql/timezone/Australia/LHI -./share/postgresql/timezone/Australia/Victoria -./share/postgresql/timezone/Australia/South -./share/postgresql/timezone/Australia/Melbourne -./share/postgresql/timezone/Australia/Lord_Howe -./share/postgresql/timezone/Australia/West -./share/postgresql/timezone/Australia/Brisbane -./share/postgresql/timezone/Australia/Perth -./share/postgresql/timezone/Australia/Eucla -./share/postgresql/timezone/Australia/Canberra -./share/postgresql/timezone/Australia/Queensland -./share/postgresql/timezone/Australia/Broken_Hill -./share/postgresql/timezone/Australia/Lindeman -./share/postgresql/timezone/Australia/ACT -./share/postgresql/timezone/Australia/Currie -./share/postgresql/timezone/Australia/Adelaide -./share/postgresql/timezone/Australia/Yancowinna -./share/postgresql/timezone/Australia/Tasmania -./share/postgresql/timezone/Jamaica -./share/postgresql/timezone/EST5EDT -./share/postgresql/timezone/MET -./share/postgresql/timezone/W-SU -./share/postgresql/timezone/Mideast/Riyadh87 -./share/postgresql/timezone/Mideast/Riyadh88 -./share/postgresql/timezone/Mideast/Riyadh89 -./share/postgresql/timezone/WET -./share/postgresql/timezone/ROC -./share/postgresql/timezone/Factory -./share/postgresql/timezone/EET -./share/postgresql/timezone/PST8PDT -./share/postgresql/timezone/Portugal -./share/postgresql/timezone/NZ -./share/postgresql/timezone/Brazil/West -./share/postgresql/timezone/Brazil/DeNoronha -./share/postgresql/timezone/Brazil/Acre -./share/postgresql/timezone/Brazil/East -./share/postgresql/timezone/EST -./share/postgresql/timezone/Egypt -./share/postgresql/timezone/Universal -./share/postgresql/timezone/Pacific/Enderbury -./share/postgresql/timezone/Pacific/Noumea -./share/postgresql/timezone/Pacific/Kwajalein -./share/postgresql/timezone/Pacific/Norfolk -./share/postgresql/timezone/Pacific/Nauru -./share/postgresql/timezone/Pacific/Efate -./share/postgresql/timezone/Pacific/Kosrae -./share/postgresql/timezone/Pacific/Galapagos -./share/postgresql/timezone/Pacific/Truk -./share/postgresql/timezone/Pacific/Fiji -./share/postgresql/timezone/Pacific/Auckland -./share/postgresql/timezone/Pacific/Samoa -./share/postgresql/timezone/Pacific/Port_Moresby -./share/postgresql/timezone/Pacific/Johnston -./share/postgresql/timezone/Pacific/Apia -./share/postgresql/timezone/Pacific/Tarawa -./share/postgresql/timezone/Pacific/Pitcairn -./share/postgresql/timezone/Pacific/Marquesas -./share/postgresql/timezone/Pacific/Chatham -./share/postgresql/timezone/Pacific/Tahiti -./share/postgresql/timezone/Pacific/Tongatapu -./share/postgresql/timezone/Pacific/Saipan -./share/postgresql/timezone/Pacific/Fakaofo -./share/postgresql/timezone/Pacific/Guam -./share/postgresql/timezone/Pacific/Niue -./share/postgresql/timezone/Pacific/Chuuk -./share/postgresql/timezone/Pacific/Easter -./share/postgresql/timezone/Pacific/Wallis -./share/postgresql/timezone/Pacific/Gambier -./share/postgresql/timezone/Pacific/Majuro -./share/postgresql/timezone/Pacific/Kiritimati -./share/postgresql/timezone/Pacific/Guadalcanal -./share/postgresql/timezone/Pacific/Funafuti -./share/postgresql/timezone/Pacific/Rarotonga -./share/postgresql/timezone/Pacific/Pago_Pago -./share/postgresql/timezone/Pacific/Midway -./share/postgresql/timezone/Pacific/Palau -./share/postgresql/timezone/Pacific/Honolulu -./share/postgresql/timezone/Pacific/Yap -./share/postgresql/timezone/Pacific/Pohnpei -./share/postgresql/timezone/Pacific/Wake -./share/postgresql/timezone/Pacific/Ponape -./share/postgresql/timezone/Iran -./share/postgresql/timezone/Etc/GMT-4 -./share/postgresql/timezone/Etc/GMT-9 -./share/postgresql/timezone/Etc/UCT -./share/postgresql/timezone/Etc/GMT-7 -./share/postgresql/timezone/Etc/Greenwich -./share/postgresql/timezone/Etc/GMT-0 -./share/postgresql/timezone/Etc/GMT-5 -./share/postgresql/timezone/Etc/GMT0 -./share/postgresql/timezone/Etc/GMT+7 -./share/postgresql/timezone/Etc/GMT-2 -./share/postgresql/timezone/Etc/GMT-10 -./share/postgresql/timezone/Etc/GMT+6 -./share/postgresql/timezone/Etc/GMT+1 -./share/postgresql/timezone/Etc/UTC -./share/postgresql/timezone/Etc/GMT-3 -./share/postgresql/timezone/Etc/GMT-1 -./share/postgresql/timezone/Etc/GMT-8 -./share/postgresql/timezone/Etc/GMT-11 -./share/postgresql/timezone/Etc/GMT+12 -./share/postgresql/timezone/Etc/GMT+10 -./share/postgresql/timezone/Etc/GMT-12 -./share/postgresql/timezone/Etc/GMT+5 -./share/postgresql/timezone/Etc/Universal -./share/postgresql/timezone/Etc/GMT-13 -./share/postgresql/timezone/Etc/GMT-6 -./share/postgresql/timezone/Etc/GMT+9 -./share/postgresql/timezone/Etc/GMT+3 -./share/postgresql/timezone/Etc/GMT-14 -./share/postgresql/timezone/Etc/GMT+4 -./share/postgresql/timezone/Etc/Zulu -./share/postgresql/timezone/Etc/GMT+2 -./share/postgresql/timezone/Etc/GMT+0 -./share/postgresql/timezone/Etc/GMT+8 -./share/postgresql/timezone/Etc/GMT+11 -./share/postgresql/timezone/Etc/GMT -./share/postgresql/timezone/Zulu -./share/postgresql/timezone/GMT+0 -./share/postgresql/timezone/Singapore -./share/postgresql/timezone/NZ-CHAT -./share/postgresql/timezone/Cuba -./share/postgresql/timezone/GB -./share/postgresql/timezone/Arctic/Longyearbyen -./share/postgresql/timezone/MST7MDT -./share/postgresql/timezone/PRC -./share/postgresql/timezone/Canada/Eastern -./share/postgresql/timezone/Canada/Yukon -./share/postgresql/timezone/Canada/Atlantic -./share/postgresql/timezone/Canada/Newfoundland -./share/postgresql/timezone/Canada/Saskatchewan -./share/postgresql/timezone/Canada/Pacific -./share/postgresql/timezone/Canada/East-Saskatchewan -./share/postgresql/timezone/Canada/Mountain -./share/postgresql/timezone/Canada/Central -./share/postgresql/timezone/CST6CDT -./share/postgresql/timezone/HST -./share/postgresql/timezone/America/Boa_Vista -./share/postgresql/timezone/America/New_York -./share/postgresql/timezone/America/Santarem -./share/postgresql/timezone/America/Boise -./share/postgresql/timezone/America/St_Lucia -./share/postgresql/timezone/America/Mendoza -./share/postgresql/timezone/America/Mexico_City -./share/postgresql/timezone/America/Chihuahua -./share/postgresql/timezone/America/Indianapolis -./share/postgresql/timezone/America/Virgin -./share/postgresql/timezone/America/Atka -./share/postgresql/timezone/America/Winnipeg -./share/postgresql/timezone/America/Hermosillo -./share/postgresql/timezone/America/Indiana/Indianapolis -./share/postgresql/timezone/America/Indiana/Tell_City -./share/postgresql/timezone/America/Indiana/Winamac -./share/postgresql/timezone/America/Indiana/Knox -./share/postgresql/timezone/America/Indiana/Vincennes -./share/postgresql/timezone/America/Indiana/Vevay -./share/postgresql/timezone/America/Indiana/Petersburg -./share/postgresql/timezone/America/Indiana/Marengo -./share/postgresql/timezone/America/Moncton -./share/postgresql/timezone/America/Campo_Grande -./share/postgresql/timezone/America/Guyana -./share/postgresql/timezone/America/Caracas -./share/postgresql/timezone/America/Maceio -./share/postgresql/timezone/America/Godthab -./share/postgresql/timezone/America/Thunder_Bay -./share/postgresql/timezone/America/Havana -./share/postgresql/timezone/America/Santiago -./share/postgresql/timezone/America/Los_Angeles -./share/postgresql/timezone/America/Buenos_Aires -./share/postgresql/timezone/America/Manaus -./share/postgresql/timezone/America/Bahia -./share/postgresql/timezone/America/North_Dakota/New_Salem -./share/postgresql/timezone/America/North_Dakota/Beulah -./share/postgresql/timezone/America/North_Dakota/Center -./share/postgresql/timezone/America/Bahia_Banderas -./share/postgresql/timezone/America/Edmonton -./share/postgresql/timezone/America/Tegucigalpa -./share/postgresql/timezone/America/Rankin_Inlet -./share/postgresql/timezone/America/Monterrey -./share/postgresql/timezone/America/Cambridge_Bay -./share/postgresql/timezone/America/Porto_Velho -./share/postgresql/timezone/America/Antigua -./share/postgresql/timezone/America/Atikokan -./share/postgresql/timezone/America/Vancouver -./share/postgresql/timezone/America/Anchorage -./share/postgresql/timezone/America/Port-au-Prince -./share/postgresql/timezone/America/Lima -./share/postgresql/timezone/America/Grenada -./share/postgresql/timezone/America/Creston -./share/postgresql/timezone/America/La_Paz -./share/postgresql/timezone/America/Panama -./share/postgresql/timezone/America/Blanc-Sablon -./share/postgresql/timezone/America/Cayenne -./share/postgresql/timezone/America/Santo_Domingo -./share/postgresql/timezone/America/Grand_Turk -./share/postgresql/timezone/America/Toronto -./share/postgresql/timezone/America/Rainy_River -./share/postgresql/timezone/America/Merida -./share/postgresql/timezone/America/Port_of_Spain -./share/postgresql/timezone/America/Nipigon -./share/postgresql/timezone/America/Jamaica -./share/postgresql/timezone/America/Rosario -./share/postgresql/timezone/America/Dawson_Creek -./share/postgresql/timezone/America/Belize -./share/postgresql/timezone/America/Costa_Rica -./share/postgresql/timezone/America/Barbados -./share/postgresql/timezone/America/Danmarkshavn -./share/postgresql/timezone/America/Argentina/La_Rioja -./share/postgresql/timezone/America/Argentina/Mendoza -./share/postgresql/timezone/America/Argentina/Buenos_Aires -./share/postgresql/timezone/America/Argentina/Tucuman -./share/postgresql/timezone/America/Argentina/Ushuaia -./share/postgresql/timezone/America/Argentina/Catamarca -./share/postgresql/timezone/America/Argentina/ComodRivadavia -./share/postgresql/timezone/America/Argentina/Jujuy -./share/postgresql/timezone/America/Argentina/Cordoba -./share/postgresql/timezone/America/Argentina/San_Luis -./share/postgresql/timezone/America/Argentina/Rio_Gallegos -./share/postgresql/timezone/America/Argentina/Salta -./share/postgresql/timezone/America/Argentina/San_Juan -./share/postgresql/timezone/America/Pangnirtung -./share/postgresql/timezone/America/Anguilla -./share/postgresql/timezone/America/Curacao -./share/postgresql/timezone/America/Cancun -./share/postgresql/timezone/America/Montreal -./share/postgresql/timezone/America/Shiprock -./share/postgresql/timezone/America/Thule -./share/postgresql/timezone/America/Scoresbysund -./share/postgresql/timezone/America/Catamarca -./share/postgresql/timezone/America/Sao_Paulo -./share/postgresql/timezone/America/Sitka -./share/postgresql/timezone/America/Asuncion -./share/postgresql/timezone/America/Regina -./share/postgresql/timezone/America/St_Johns -./share/postgresql/timezone/America/Montevideo -./share/postgresql/timezone/America/Eirunepe -./share/postgresql/timezone/America/Denver -./share/postgresql/timezone/America/Metlakatla -./share/postgresql/timezone/America/Araguaina -./share/postgresql/timezone/America/Juneau -./share/postgresql/timezone/America/Marigot -./share/postgresql/timezone/America/Menominee -./share/postgresql/timezone/America/Glace_Bay -./share/postgresql/timezone/America/Tijuana -./share/postgresql/timezone/America/Detroit -./share/postgresql/timezone/America/Belem -./share/postgresql/timezone/America/Jujuy -./share/postgresql/timezone/America/St_Thomas -./share/postgresql/timezone/America/Resolute -./share/postgresql/timezone/America/Cuiaba -./share/postgresql/timezone/America/Halifax -./share/postgresql/timezone/America/St_Barthelemy -./share/postgresql/timezone/America/Guatemala -./share/postgresql/timezone/America/Nassau -./share/postgresql/timezone/America/St_Kitts -./share/postgresql/timezone/America/Cordoba -./share/postgresql/timezone/America/Miquelon -./share/postgresql/timezone/America/Bogota -./share/postgresql/timezone/America/Rio_Branco -./share/postgresql/timezone/America/Ensenada -./share/postgresql/timezone/America/Yakutat -./share/postgresql/timezone/America/Noronha -./share/postgresql/timezone/America/Kentucky/Monticello -./share/postgresql/timezone/America/Kentucky/Louisville -./share/postgresql/timezone/America/Porto_Acre -./share/postgresql/timezone/America/Santa_Isabel -./share/postgresql/timezone/America/El_Salvador -./share/postgresql/timezone/America/Yellowknife -./share/postgresql/timezone/America/Cayman -./share/postgresql/timezone/America/Whitehorse -./share/postgresql/timezone/America/Ojinaga -./share/postgresql/timezone/America/Aruba -./share/postgresql/timezone/America/Nome -./share/postgresql/timezone/America/Fortaleza -./share/postgresql/timezone/America/Martinique -./share/postgresql/timezone/America/Recife -./share/postgresql/timezone/America/Knox_IN -./share/postgresql/timezone/America/Guayaquil -./share/postgresql/timezone/America/Goose_Bay -./share/postgresql/timezone/America/Iqaluit -./share/postgresql/timezone/America/Matamoros -./share/postgresql/timezone/America/Lower_Princes -./share/postgresql/timezone/America/Louisville -./share/postgresql/timezone/America/Coral_Harbour -./share/postgresql/timezone/America/Phoenix -./share/postgresql/timezone/America/Guadeloupe -./share/postgresql/timezone/America/Mazatlan -./share/postgresql/timezone/America/Swift_Current -./share/postgresql/timezone/America/Paramaribo -./share/postgresql/timezone/America/Dominica -./share/postgresql/timezone/America/Kralendijk -./share/postgresql/timezone/America/Montserrat -./share/postgresql/timezone/America/St_Vincent -./share/postgresql/timezone/America/Fort_Wayne -./share/postgresql/timezone/America/Dawson -./share/postgresql/timezone/America/Inuvik -./share/postgresql/timezone/America/Adak -./share/postgresql/timezone/America/Managua -./share/postgresql/timezone/America/Puerto_Rico -./share/postgresql/timezone/America/Tortola -./share/postgresql/timezone/America/Chicago -./share/postgresql/timezone/Africa/Lome -./share/postgresql/timezone/Africa/Brazzaville -./share/postgresql/timezone/Africa/Khartoum -./share/postgresql/timezone/Africa/Ceuta -./share/postgresql/timezone/Africa/Djibouti -./share/postgresql/timezone/Africa/Lagos -./share/postgresql/timezone/Africa/Accra -./share/postgresql/timezone/Africa/El_Aaiun -./share/postgresql/timezone/Africa/Malabo -./share/postgresql/timezone/Africa/Windhoek -./share/postgresql/timezone/Africa/Tripoli -./share/postgresql/timezone/Africa/Bissau -./share/postgresql/timezone/Africa/Blantyre -./share/postgresql/timezone/Africa/Kinshasa -./share/postgresql/timezone/Africa/Porto-Novo -./share/postgresql/timezone/Africa/Nairobi -./share/postgresql/timezone/Africa/Ouagadougou -./share/postgresql/timezone/Africa/Asmera -./share/postgresql/timezone/Africa/Cairo -./share/postgresql/timezone/Africa/Lubumbashi -./share/postgresql/timezone/Africa/Tunis -./share/postgresql/timezone/Africa/Dar_es_Salaam -./share/postgresql/timezone/Africa/Casablanca -./share/postgresql/timezone/Africa/Algiers -./share/postgresql/timezone/Africa/Mbabane -./share/postgresql/timezone/Africa/Monrovia -./share/postgresql/timezone/Africa/Nouakchott -./share/postgresql/timezone/Africa/Banjul -./share/postgresql/timezone/Africa/Kampala -./share/postgresql/timezone/Africa/Conakry -./share/postgresql/timezone/Africa/Mogadishu -./share/postgresql/timezone/Africa/Ndjamena -./share/postgresql/timezone/Africa/Niamey -./share/postgresql/timezone/Africa/Lusaka -./share/postgresql/timezone/Africa/Addis_Ababa -./share/postgresql/timezone/Africa/Sao_Tome -./share/postgresql/timezone/Africa/Abidjan -./share/postgresql/timezone/Africa/Harare -./share/postgresql/timezone/Africa/Asmara -./share/postgresql/timezone/Africa/Douala -./share/postgresql/timezone/Africa/Freetown -./share/postgresql/timezone/Africa/Libreville -./share/postgresql/timezone/Africa/Luanda -./share/postgresql/timezone/Africa/Maseru -./share/postgresql/timezone/Africa/Gaborone -./share/postgresql/timezone/Africa/Maputo -./share/postgresql/timezone/Africa/Timbuktu -./share/postgresql/timezone/Africa/Bangui -./share/postgresql/timezone/Africa/Bamako -./share/postgresql/timezone/Africa/Dakar -./share/postgresql/timezone/Africa/Juba -./share/postgresql/timezone/Africa/Bujumbura -./share/postgresql/timezone/Africa/Johannesburg -./share/postgresql/timezone/Africa/Kigali -./share/postgresql/timezone/Eire -./share/postgresql/timezone/Europe/Vaduz -./share/postgresql/timezone/Europe/Podgorica -./share/postgresql/timezone/Europe/Rome -./share/postgresql/timezone/Europe/Vienna -./share/postgresql/timezone/Europe/Dublin -./share/postgresql/timezone/Europe/Zurich -./share/postgresql/timezone/Europe/London -./share/postgresql/timezone/Europe/Monaco -./share/postgresql/timezone/Europe/Sofia -./share/postgresql/timezone/Europe/Uzhgorod -./share/postgresql/timezone/Europe/Minsk -./share/postgresql/timezone/Europe/Malta -./share/postgresql/timezone/Europe/Busingen -./share/postgresql/timezone/Europe/Gibraltar -./share/postgresql/timezone/Europe/Volgograd -./share/postgresql/timezone/Europe/Budapest -./share/postgresql/timezone/Europe/Vatican -./share/postgresql/timezone/Europe/Luxembourg -./share/postgresql/timezone/Europe/Chisinau -./share/postgresql/timezone/Europe/Nicosia -./share/postgresql/timezone/Europe/Warsaw -./share/postgresql/timezone/Europe/San_Marino -./share/postgresql/timezone/Europe/Copenhagen -./share/postgresql/timezone/Europe/Ljubljana -./share/postgresql/timezone/Europe/Athens -./share/postgresql/timezone/Europe/Skopje -./share/postgresql/timezone/Europe/Andorra -./share/postgresql/timezone/Europe/Kaliningrad -./share/postgresql/timezone/Europe/Amsterdam -./share/postgresql/timezone/Europe/Guernsey -./share/postgresql/timezone/Europe/Isle_of_Man -./share/postgresql/timezone/Europe/Tirane -./share/postgresql/timezone/Europe/Jersey -./share/postgresql/timezone/Europe/Madrid -./share/postgresql/timezone/Europe/Helsinki -./share/postgresql/timezone/Europe/Riga -./share/postgresql/timezone/Europe/Zagreb -./share/postgresql/timezone/Europe/Bratislava -./share/postgresql/timezone/Europe/Prague -./share/postgresql/timezone/Europe/Tallinn -./share/postgresql/timezone/Europe/Stockholm -./share/postgresql/timezone/Europe/Tiraspol -./share/postgresql/timezone/Europe/Belgrade -./share/postgresql/timezone/Europe/Bucharest -./share/postgresql/timezone/Europe/Vilnius -./share/postgresql/timezone/Europe/Sarajevo -./share/postgresql/timezone/Europe/Belfast -./share/postgresql/timezone/Europe/Zaporozhye -./share/postgresql/timezone/Europe/Oslo -./share/postgresql/timezone/Europe/Mariehamn -./share/postgresql/timezone/Europe/Moscow -./share/postgresql/timezone/Europe/Brussels -./share/postgresql/timezone/Europe/Paris -./share/postgresql/timezone/Europe/Istanbul -./share/postgresql/timezone/Europe/Simferopol -./share/postgresql/timezone/Europe/Lisbon -./share/postgresql/timezone/Europe/Berlin -./share/postgresql/timezone/Europe/Kiev -./share/postgresql/timezone/Europe/Samara -./share/postgresql/timezone/MST -./share/postgresql/timezone/Asia/Khandyga -./share/postgresql/timezone/Asia/Manila -./share/postgresql/timezone/Asia/Novokuznetsk -./share/postgresql/timezone/Asia/Baghdad -./share/postgresql/timezone/Asia/Macau -./share/postgresql/timezone/Asia/Urumqi -./share/postgresql/timezone/Asia/Ujung_Pandang -./share/postgresql/timezone/Asia/Ulan_Bator -./share/postgresql/timezone/Asia/Bishkek -./share/postgresql/timezone/Asia/Qatar -./share/postgresql/timezone/Asia/Qyzylorda -./share/postgresql/timezone/Asia/Calcutta -./share/postgresql/timezone/Asia/Riyadh87 -./share/postgresql/timezone/Asia/Dushanbe -./share/postgresql/timezone/Asia/Yekaterinburg -./share/postgresql/timezone/Asia/Dhaka -./share/postgresql/timezone/Asia/Jakarta -./share/postgresql/timezone/Asia/Shanghai -./share/postgresql/timezone/Asia/Ulaanbaatar -./share/postgresql/timezone/Asia/Jerusalem -./share/postgresql/timezone/Asia/Ashkhabad -./share/postgresql/timezone/Asia/Tokyo -./share/postgresql/timezone/Asia/Macao -./share/postgresql/timezone/Asia/Krasnoyarsk -./share/postgresql/timezone/Asia/Saigon -./share/postgresql/timezone/Asia/Omsk -./share/postgresql/timezone/Asia/Damascus -./share/postgresql/timezone/Asia/Phnom_Penh -./share/postgresql/timezone/Asia/Bangkok -./share/postgresql/timezone/Asia/Kamchatka -./share/postgresql/timezone/Asia/Choibalsan -./share/postgresql/timezone/Asia/Ust-Nera -./share/postgresql/timezone/Asia/Aden -./share/postgresql/timezone/Asia/Vientiane -./share/postgresql/timezone/Asia/Sakhalin -./share/postgresql/timezone/Asia/Ashgabat -./share/postgresql/timezone/Asia/Katmandu -./share/postgresql/timezone/Asia/Almaty -./share/postgresql/timezone/Asia/Baku -./share/postgresql/timezone/Asia/Nicosia -./share/postgresql/timezone/Asia/Riyadh88 -./share/postgresql/timezone/Asia/Kashgar -./share/postgresql/timezone/Asia/Riyadh89 -./share/postgresql/timezone/Asia/Taipei -./share/postgresql/timezone/Asia/Tehran -./share/postgresql/timezone/Asia/Kabul -./share/postgresql/timezone/Asia/Samarkand -./share/postgresql/timezone/Asia/Kuala_Lumpur -./share/postgresql/timezone/Asia/Tashkent -./share/postgresql/timezone/Asia/Thimbu -./share/postgresql/timezone/Asia/Thimphu -./share/postgresql/timezone/Asia/Yerevan -./share/postgresql/timezone/Asia/Chungking -./share/postgresql/timezone/Asia/Hebron -./share/postgresql/timezone/Asia/Karachi -./share/postgresql/timezone/Asia/Kolkata -./share/postgresql/timezone/Asia/Aqtobe -./share/postgresql/timezone/Asia/Muscat -./share/postgresql/timezone/Asia/Hong_Kong -./share/postgresql/timezone/Asia/Chongqing -./share/postgresql/timezone/Asia/Oral -./share/postgresql/timezone/Asia/Pontianak -./share/postgresql/timezone/Asia/Colombo -./share/postgresql/timezone/Asia/Pyongyang -./share/postgresql/timezone/Asia/Hovd -./share/postgresql/timezone/Asia/Kuwait -./share/postgresql/timezone/Asia/Anadyr -./share/postgresql/timezone/Asia/Kathmandu -./share/postgresql/timezone/Asia/Irkutsk -./share/postgresql/timezone/Asia/Bahrain -./share/postgresql/timezone/Asia/Dubai -./share/postgresql/timezone/Asia/Jayapura -./share/postgresql/timezone/Asia/Riyadh -./share/postgresql/timezone/Asia/Ho_Chi_Minh -./share/postgresql/timezone/Asia/Singapore -./share/postgresql/timezone/Asia/Tel_Aviv -./share/postgresql/timezone/Asia/Dili -./share/postgresql/timezone/Asia/Rangoon -./share/postgresql/timezone/Asia/Harbin -./share/postgresql/timezone/Asia/Yakutsk -./share/postgresql/timezone/Asia/Magadan -./share/postgresql/timezone/Asia/Amman -./share/postgresql/timezone/Asia/Kuching -./share/postgresql/timezone/Asia/Novosibirsk -./share/postgresql/timezone/Asia/Seoul -./share/postgresql/timezone/Asia/Dacca -./share/postgresql/timezone/Asia/Vladivostok -./share/postgresql/timezone/Asia/Istanbul -./share/postgresql/timezone/Asia/Beirut -./share/postgresql/timezone/Asia/Aqtau -./share/postgresql/timezone/Asia/Brunei -./share/postgresql/timezone/Asia/Gaza -./share/postgresql/timezone/Asia/Tbilisi -./share/postgresql/timezone/Asia/Makassar -./share/postgresql/timezone/Asia/Beijing -./share/postgresql/timezone/Navajo -./share/postgresql/timezone/GMT -./share/postgresql/gtm.conf.sample -./share/postgresql/system_views.sql -./share/postgresql/performance_views.sql -./share/postgresql/sql_features.txt -./share/postgresql/pg_cast_oid.txt -./share/postgresql/recovery.conf.sample -./share/postgresql/cm_server.conf.sample -./share/postgresql/tsearch_data/english.stop -./share/postgresql/tsearch_data/dutch.stop -./share/postgresql/tsearch_data/hungarian.stop -./share/postgresql/tsearch_data/french.stop -./share/postgresql/tsearch_data/synonym_sample.syn -./share/postgresql/tsearch_data/turkish.stop -./share/postgresql/tsearch_data/portuguese.stop -./share/postgresql/tsearch_data/spanish.stop -./share/postgresql/tsearch_data/hunspell_sample.affix -./share/postgresql/tsearch_data/ispell_sample.affix -./share/postgresql/tsearch_data/danish.stop -./share/postgresql/tsearch_data/german.stop -./share/postgresql/tsearch_data/thesaurus_sample.ths -./share/postgresql/tsearch_data/norwegian.stop -./share/postgresql/tsearch_data/finnish.stop -./share/postgresql/tsearch_data/russian.stop -./share/postgresql/tsearch_data/swedish.stop -./share/postgresql/tsearch_data/ispell_sample.dict -./share/postgresql/tsearch_data/italian.stop -./share/postgresql/cm_agent.conf.sample -./share/postgresql/information_schema.sql -./share/postgresql/timezonesets/Antarctica.txt -./share/postgresql/timezonesets/Australia.txt -./share/postgresql/timezonesets/Europe.txt -./share/postgresql/timezonesets/America.txt -./share/postgresql/timezonesets/Australia -./share/postgresql/timezonesets/Indian.txt -./share/postgresql/timezonesets/India -./share/postgresql/timezonesets/Pacific.txt -./share/postgresql/timezonesets/Atlantic.txt -./share/postgresql/timezonesets/Africa.txt -./share/postgresql/timezonesets/Asia.txt -./share/postgresql/timezonesets/Default -./share/postgresql/timezonesets/Etc.txt -./share/postgresql/postgres.bki -./share/llvmir/GaussDB_expr.ir -./share/sslcert/gsql/openssl.cnf -./share/sslcert/gds/openssl.cnf -./share/sslcert/etcd/openssl.cnf -./share/sslcert/grpc/openssl.cnf -./lib/libsimsearch/ -./lib/postgresql/latin2_and_win1250.so -./lib/postgresql/euc2004_sjis2004.so -./lib/postgresql/euc_kr_and_mic.so -./lib/postgresql/utf8_and_uhc.so -./lib/postgresql/euc_tw_and_big5.so -./lib/postgresql/cyrillic_and_mic.so -./lib/postgresql/utf8_and_johab.so -./lib/postgresql/utf8_and_gb18030.so -./lib/postgresql/pgxs/src/makefiles/pgxs.mk -./lib/postgresql/pgxs/src/Makefile.shlib -./lib/postgresql/pgxs/src/Makefile.port -./lib/postgresql/pgxs/src/nls-global.mk -./lib/postgresql/pgxs/src/Makefile.global -./lib/postgresql/pgxs/config/install-sh -./lib/postgresql/euc_cn_and_mic.so -./lib/postgresql/latin_and_mic.so -./lib/postgresql/utf8_and_sjis2004.so -./lib/postgresql/utf8_and_euc_jp.so -./lib/postgresql/utf8_and_sjis.so -./lib/postgresql/utf8_and_cyrillic.so -./lib/postgresql/hstore.so -./lib/postgresql/tsdb.so -./lib/postgresql/gsredistribute.so -./lib/postgresql/streaming.so -./lib/postgresql/packages.so -./lib/postgresql/utf8_and_euc_kr.so -./lib/postgresql/ascii_and_mic.so -./lib/postgresql/utf8_and_iso8859_1.so -./lib/postgresql/euc_jp_and_sjis.so -./lib/postgresql/dict_snowball.so -./lib/postgresql/utf8_and_ascii.so -./lib/postgresql/utf8_and_euc_tw.so -./lib/postgresql/utf8_and_iso8859.so -./lib/postgresql/utf8_and_win.so -./lib/postgresql/utf8_and_euc_cn.so -./lib/postgresql/utf8_and_gbk.so -./lib/postgresql/utf8_and_euc2004.so -./lib/postgresql/utf8_and_big5.so -./lib/postgresql/roach_api.so -./lib/postgresql/mppdb_decoding.so -./lib/postgresql/gsredistribute.so -./lib/postgresql/dimsearch.so -./lib/postgresql/pg_plugin -./lib/postgresql/proc_srclib -./lib/postgresql/security_plugin.so -./lib/postgresql/pg_upgrade_support.so -./lib/postgresql/java/pljava.jar -./lib/postgresql/gsredistribute.so -./lib/libpljava.so -./lib/libpq.a -./lib/libpq.so -./lib/libpq.so.5 -./lib/libpq.so.5.5 -./lib/libpq_ce.so -./lib/libpq_ce.so.5 -./lib/libpq_ce.so.5.5 -./lib/libcgroup.so -./lib/libcgroup.so.1 -./lib/libcom_err_gauss.so -./lib/libcom_err_gauss.so.3 -./lib/libcom_err_gauss.so.3.0 -./lib/libgpr.so -./lib/libgpr.so.9 -./lib/libgpr.so.9.0.0 -./lib/libgrpc.so -./lib/libgrpc++.so -./lib/libgrpc++.so.1 -./lib/libgrpc++.so.1.28.1 -./lib/libgrpc.so.9 -./lib/libgrpc.so.9.0.0 -./lib/libupb.so -./lib/libupb.so.9 -./lib/libupb.so.9.0.0 -./lib/libabsl_str_format_internal.so -./lib/libabsl_strings.so -./lib/libabsl_throw_delegate.so -./lib/libabsl_strings_internal.so -./lib/libabsl_base.so -./lib/libabsl_dynamic_annotations.so -./lib/libabsl_spinlock_wait.so -./lib/libabsl_int128.so -./lib/libabsl_bad_optional_access.so -./lib/libabsl_raw_logging_internal.so -./lib/libabsl_log_severity.so -./lib/libaddress_sorting.so -./lib/libaddress_sorting.so.9 -./lib/libgssapi_krb5_gauss.so -./lib/libgssapi_krb5_gauss.so.2 -./lib/libgssapi_krb5_gauss.so.2.2 -./lib/libgssrpc_gauss.so -./lib/libgssrpc_gauss.so.4 -./lib/libgssrpc_gauss.so.4.2 -./lib/libk5crypto_gauss.so -./lib/libk5crypto_gauss.so.3 -./lib/libk5crypto_gauss.so.3.1 -./lib/libkadm5clnt.so -./lib/libkadm5clnt_mit.so -./lib/libkadm5clnt_mit.so.11 -./lib/libkadm5clnt_mit.so.11.0 -./lib/libkadm5srv.so -./lib/libkadm5srv_mit.so -./lib/libkadm5srv_mit.so.11 -./lib/libkadm5srv_mit.so.11.0 -./lib/libkdb5.so -./lib/libkdb5.so.9 -./lib/libkdb5.so.9.0 -./lib/libkrad.so -./lib/libkrad.so.0 -./lib/libkrad.so.0.0 -./lib/libkrb5_gauss.so -./lib/libkrb5_gauss.so.3 -./lib/libkrb5_gauss.so.3.3 -./lib/libkrb5support_gauss.so -./lib/libkrb5support_gauss.so.0 -./lib/libkrb5support_gauss.so.0.1 -./lib/krb5/plugins/kdb/db2.so -./lib/libverto.so -./lib/libverto.so.0 -./lib/libverto.so.0.0 -./lib/libcurl.so -./lib/libcurl.so.4 -./lib/libcurl.so.4.6.0 -./lib/libcrypto.so -./lib/libcrypto.so.1.1 -./lib/libssl.so -./lib/libssl.so.1.1 -./lib/libgcc_s.so.1 -./lib/libstdc++.so.6 -./lib/libz.so -./lib/libz.so.1 -./lib/libz.so.1.2.11 -./lib/liblz4.so -./lib/liblz4.so.1 -./lib/liblz4.so.1.9.2 -./lib/libcjson.so -./lib/libcjson.so.1 -./lib/libcjson.so.1.7.13 -./lib/libconfig.so -./lib/libconfig.so.4 -./lib/libcmclient.so -./lib/libcmclient.so.1 -./lib/libcmcommon.so -./lib/libcmcommon.so.2 -./lib/libcmpq.so -./lib/libcmpq.so.1 -./lib/libetcdapi.so -./lib/libetcdapi.so.1 -./lib/libpgport_tool.so -./lib/libpgport_tool.so.1 -./lib/lib_roach_show.so -./lib/roach_contrib.so -./share/llvmir/GaussDB_expr.ir -./lib/libeSDKLogAPI.so -./lib/libeSDKOBS.so -./lib/liblog4cpp.so -./lib/liblog4cpp.so.5 -./lib/liblog4cpp.so.5.0.6 -./lib/libcharset.so -./lib/libcharset.so.1 -./lib/libcharset.so.1.0.0 -./lib/libiconv.so -./lib/libiconv.so.2 -./lib/libiconv.so.2.6.1 -./lib/libnghttp2.so -./lib/libnghttp2.so.14 -./lib/libnghttp2.so.14.20.0 -./lib/libpcre.so -./lib/libpcre.so.1 -./lib/libpcre.so.1.2.12 -./lib/libsecurec.so -./lib/libxml2.so -./lib/libxml2.so.2 -./lib/libxml2.so.2.9.9 -./lib/libparquet.so -./lib/libparquet.so.11 -./lib/libparquet.so.11.1.0 -./lib/OBS.ini -./lib/postgresql/latin2_and_win1250.so -./lib/postgresql/euc2004_sjis2004.so -./lib/libhll.so -./lib/libiperf.so.0 - - -./include/postgresql/server/postgres_ext.h -./include/postgresql/server/pg_config_os.h -./include/postgresql/server/pgtime.h -./include/postgresql/server/datatypes.h -./include/postgresql/server/client_logic/client_logic_enums.h -./include/postgresql/server/nodes/primnodes.h -./include/postgresql/server/nodes/parsenodes.h -./include/postgresql/server/nodes/parsenodes_common.h -./include/postgresql/server/nodes/bitmapset.h -./include/postgresql/server/nodes/pg_list.h -./include/postgresql/server/nodes/value.h -./include/postgresql/server/nodes/nodes.h -./include/postgresql/server/utils/sortsupport.h -./include/postgresql/server/utils/varbit.h -./include/postgresql/server/utils/spccache.h -./include/postgresql/server/utils/rangetypes.h -./include/postgresql/server/utils/plpgsql.h -./include/postgresql/server/utils/memtrack.h -./include/postgresql/server/utils/pg_locale.h -./include/postgresql/server/utils/tzparser.h -./include/postgresql/server/utils/syscall_lock.h -./include/postgresql/server/utils/partitionmap.h -./include/postgresql/server/utils/array.h -./include/postgresql/server/utils/relmapper.h -./include/postgresql/server/utils/hsearch.h -./include/postgresql/server/utils/xml.h -./include/postgresql/server/utils/bytea.h -./include/postgresql/server/utils/relcache.h -./include/postgresql/server/utils/pg_rusage.h -./include/postgresql/server/utils/numeric.h -./include/postgresql/server/utils/mmpool.h -./include/postgresql/server/utils/nabstime.h -./include/postgresql/server/utils/fmgrtab.h -./include/postgresql/server/utils/snapmgr.h -./include/postgresql/server/utils/syscache.h -./include/postgresql/server/utils/logtape.h -./include/postgresql/server/utils/datum.h -./include/postgresql/server/utils/guc_tables.h -./include/postgresql/server/utils/snapshot.h -./include/postgresql/server/utils/geo_decls.h -./include/postgresql/server/utils/errcodes.h -./include/postgresql/server/utils/inval.h -./include/postgresql/server/utils/help_config.h -./include/postgresql/server/utils/distribute_test.h -./include/postgresql/server/utils/aiomem.h -./include/postgresql/server/utils/tuplestore.h -./include/postgresql/server/utils/rbtree.h -./include/postgresql/server/utils/gs_bitmap.h -./include/postgresql/server/utils/tuplesort.h -./include/postgresql/server/utils/tqual.h -./include/postgresql/server/utils/ps_status.h -./include/postgresql/server/utils/palloc.h -./include/postgresql/server/utils/reltrigger.h -./include/postgresql/server/utils/acl.h -./include/postgresql/server/utils/ascii.h -./include/postgresql/server/utils/selfuncs.h -./include/postgresql/server/utils/json.h -./include/postgresql/server/utils/portal.h -./include/postgresql/server/utils/atomic.h -./include/postgresql/server/utils/elog.h -./include/postgresql/server/utils/date.h -./include/postgresql/server/utils/plancache.h -./include/postgresql/server/utils/int8.h -./include/postgresql/server/utils/timestamp.h -./include/postgresql/server/utils/bloom_filter.h -./include/postgresql/server/utils/fmgroids.h -./include/postgresql/server/utils/pg_crc_tables.h -./include/postgresql/server/utils/probes.h -./include/postgresql/server/utils/datetime.h -./include/postgresql/server/utils/inet.h -./include/postgresql/server/utils/pg_lzcompress.h -./include/postgresql/server/utils/pg_crc.h -./include/postgresql/server/utils/attoptcache.h -./include/postgresql/server/utils/dynahash.h -./include/postgresql/server/utils/rel.h -./include/postgresql/server/utils/partcache.h -./include/postgresql/server/utils/lsyscache.h -./include/postgresql/server/utils/memutils.h -./include/postgresql/server/utils/memprot.h -./include/postgresql/server/utils/uuid.h -./include/postgresql/server/utils/combocid.h -./include/postgresql/server/utils/builtins.h -./include/postgresql/server/utils/guc.h -./include/postgresql/server/utils/dfs_vector.h -./include/postgresql/server/utils/dynamic_loader.h -./include/postgresql/server/utils/resowner.h -./include/postgresql/server/utils/aes.h -./include/postgresql/server/utils/cash.h -./include/postgresql/server/utils/typcache.h -./include/postgresql/server/utils/formatting.h -./include/postgresql/server/utils/partitionkey.h -./include/postgresql/server/utils/aset.h -./include/postgresql/server/utils/catcache.h -./include/postgresql/server/utils/atomic_arm.h -./include/postgresql/server/datatype/timestamp.h -./include/postgresql/server/access/rmgr.h -./include/postgresql/server/access/xlogreader.h -./include/postgresql/server/access/xlog_basic.h -./include/postgresql/server/access/tupdesc.h -./include/postgresql/server/access/rmgrlist.h -./include/postgresql/server/access/htup.h -./include/postgresql/server/access/xlogdefs.h -./include/postgresql/server/access/attnum.h -./include/postgresql/server/access/tupmacs.h -./include/postgresql/server/access/xlogrecord.h -./include/postgresql/server/tcop/dest.h -./include/postgresql/server/catalog/pg_type.h -./include/postgresql/server/catalog/pg_attribute.h -./include/postgresql/server/catalog/genbki.h -./include/postgresql/server/gs_thread.h -./include/postgresql/server/port/pg_bswap.h -./include/postgresql/server/port/pg_crc32c.h -./include/postgresql/server/securec.h -./include/postgresql/server/securectype.h -./include/postgresql/server/storage/off.h -./include/postgresql/server/storage/buf/block.h -./include/postgresql/server/storage/item/item.h -./include/postgresql/server/storage/relfilenode.h -./include/postgresql/server/storage/buf/bufpage.h -./include/postgresql/server/storage/spin.h -./include/postgresql/server/storage/buf/buf.h -./include/postgresql/server/storage/item/itemid.h -./include/postgresql/server/storage/lock/pg_sema.h -./include/postgresql/server/storage/item/itemptr.h -./include/postgresql/server/storage/lock/s_lock.h -./include/postgresql/server/storage/backendid.h -./include/postgresql/server/storage/lock/lock.h -./include/postgresql/server/storage/lock/lwlock.h -./include/postgresql/server/storage/barrier.h -./include/postgresql/server/storage/shmem.h -./include/postgresql/server/pg_config.h -./include/postgresql/server/lib/stringinfo.h -./include/postgresql/server/fmgr.h -./include/postgresql/server/fmgr/fmgr_comp.h -./include/postgresql/server/fmgr/fmgr_core.h -./include/postgresql/server/gs_threadlocal.h -./include/postgresql/server/postgres.h -./include/postgresql/server/executor/tuptable.h -./include/postgresql/server/pg_config_manual.h -./include/postgresql/server/mb/pg_wchar.h -./include/postgresql/server/c.h -./include/postgresql/server/port.h -./include/postgresql/server/utils/be_module.h -./include/postgresql/server/nodes/params.h -./include/postgresql/server/securec_check.h -./include/postgresql/server/nodes/memnodes.h -./include/postgresql/server/access/skey.h -./include/postgresql/server/lib/dllist.h -./include/postgresql/server/lib/ilist.h -./include/postgresql/server/pgxc/locator.h -./include/postgresql/server/gstrace/gstrace_infra.h -./include/postgresql/server/extension_dependency.h -./jre/ASSEMBLY_EXCEPTION -./jre/bin/java -./jre/bin/jjs -./jre/bin/keytool -./jre/bin/orbd -./jre/bin/pack200 -./jre/bin/policytool -./jre/bin/rmid -./jre/bin/rmiregistry -./jre/bin/servertool -./jre/bin/tnameserv -./jre/bin/unpack200 -./jre/lib/amd64/jli/libjli.so -./jre/lib/amd64/jvm.cfg -./jre/lib/amd64/libattach.so -./jre/lib/amd64/libavplugin-ffmpeg-58.so -./jre/lib/amd64/libawt_headless.so -./jre/lib/amd64/libawt.so -./jre/lib/amd64/libawt_xawt.so -./jre/lib/amd64/libdecora_sse.so -./jre/lib/amd64/libdt_socket.so -./jre/lib/amd64/libfontmanager.so -./jre/lib/amd64/libfxplugins.so -./jre/lib/amd64/libglassgtk2.so -./jre/lib/amd64/libglassgtk3.so -./jre/lib/amd64/libglass.so -./jre/lib/amd64/libgstreamer-lite.so -./jre/lib/amd64/libhprof.so -./jre/lib/amd64/libinstrument.so -./jre/lib/amd64/libj2gss.so -./jre/lib/amd64/libj2pcsc.so -./jre/lib/amd64/libj2pkcs11.so -./jre/lib/amd64/libjaas_unix.so -./jre/lib/amd64/libjava_crw_demo.so -./jre/lib/amd64/libjavafx_font_freetype.so -./jre/lib/amd64/libjavafx_font_pango.so -./jre/lib/amd64/libjavafx_font.so -./jre/lib/amd64/libjavafx_iio.so -./jre/lib/amd64/libjava.so -./jre/lib/amd64/libjawt.so -./jre/lib/amd64/libjdwp.so -./jre/lib/amd64/libjfxmedia.so -./jre/lib/amd64/libjfxwebkit.so -./jre/lib/amd64/libjpeg.so -./jre/lib/amd64/libjsdt.so -./jre/lib/amd64/libjsig.so -./jre/lib/amd64/libjsoundalsa.so -./jre/lib/amd64/libjsound.so -./jre/lib/amd64/liblcms.so -./jre/lib/amd64/libmanagement.so -./jre/lib/amd64/libmlib_image.so -./jre/lib/amd64/libnet.so -./jre/lib/amd64/libnio.so -./jre/lib/amd64/libnpt.so -./jre/lib/amd64/libprism_common.so -./jre/lib/amd64/libprism_es2.so -./jre/lib/amd64/libprism_sw.so -./jre/lib/amd64/libsaproc.so -./jre/lib/amd64/libsctp.so -./jre/lib/amd64/libsplashscreen.so -./jre/lib/amd64/libsunec.so -./jre/lib/amd64/libunpack.so -./jre/lib/amd64/libverify.so -./jre/lib/amd64/libzip.so -./jre/lib/amd64/server/libjvm.so -./jre/lib/amd64/server/Xusage.txt -./jre/lib/calendars.properties -./jre/lib/charsets.jar -./jre/lib/classlist -./jre/lib/cmm/CIEXYZ.pf -./jre/lib/cmm/GRAY.pf -./jre/lib/cmm/LINEAR_RGB.pf -./jre/lib/cmm/PYCC.pf -./jre/lib/cmm/sRGB.pf -./jre/lib/content-types.properties -./jre/lib/currency.data -./jre/lib/ext/cldrdata.jar -./jre/lib/ext/dnsns.jar -./jre/lib/ext/jaccess.jar -./jre/lib/ext/jfxrt.jar -./jre/lib/ext/localedata.jar -./jre/lib/ext/meta-index -./jre/lib/ext/nashorn.jar -./jre/lib/ext/sunec.jar -./jre/lib/ext/sunjce_provider.jar -./jre/lib/ext/sunpkcs11.jar -./jre/lib/ext/zipfs.jar -./jre/lib/flavormap.properties -./jre/lib/fontconfig.Euler.properties -./jre/lib/fontconfig.properties -./jre/lib/fontconfig.Ubuntu.properties -./jre/lib/fonts/Roboto-Regular.ttf -./jre/lib/hijrah-config-umalqura.properties -./jre/lib/images/cursors/cursors.properties -./jre/lib/images/cursors/invalid32x32.gif -./jre/lib/images/cursors/motif_CopyDrop32x32.gif -./jre/lib/images/cursors/motif_CopyNoDrop32x32.gif -./jre/lib/images/cursors/motif_LinkDrop32x32.gif -./jre/lib/images/cursors/motif_LinkNoDrop32x32.gif -./jre/lib/images/cursors/motif_MoveDrop32x32.gif -./jre/lib/images/cursors/motif_MoveNoDrop32x32.gif -./jre/lib/javafx-mx.jar -./jre/lib/javafx.properties -./jre/lib/jce.jar -./jre/lib/jexec -./jre/lib/jfr/default.jfc -./jre/lib/jfr.jar -./jre/lib/jfr/profile.jfc -./jre/lib/jfxswt.jar -./jre/lib/jsse.jar -./jre/lib/jvm.hprof.txt -./jre/lib/logging.properties -./jre/lib/management-agent.jar -./jre/lib/management/jmxremote.access -./jre/lib/management/jmxremote.password.template -./jre/lib/management/management.properties -./jre/lib/management/snmp.acl.template -./jre/lib/meta-index -./jre/lib/net.properties -./jre/lib/psfontj2d.properties -./jre/lib/psfont.properties.ja -./jre/lib/resources.jar -./jre/lib/rt.jar -./jre/lib/security/blacklisted.certs -./jre/lib/security/cacerts -./jre/lib/security/java.policy -./jre/lib/security/java.security -./jre/lib/security/policy/limited/local_policy.jar -./jre/lib/security/policy/limited/US_export_policy.jar -./jre/lib/security/policy/unlimited/local_policy.jar -./jre/lib/security/policy/unlimited/US_export_policy.jar -./jre/lib/sound.properties -./jre/lib/tzdb.dat -./jre/LICENSE -./jre/THIRD_PARTY_README -[client] -./bin/gsql -./bin/gs_dump -./bin/gs_dumpall -./bin/gs_restore -./jdbc/gsjdbc4.jar -./jdbc/gsjdbc200.jar -./lib/postgresql/latin2_and_win1250.so -./lib/postgresql/euc2004_sjis2004.so -./lib/postgresql/euc_kr_and_mic.so -./lib/postgresql/utf8_and_uhc.so -./lib/postgresql/euc_tw_and_big5.so -./lib/postgresql/cyrillic_and_mic.so -./lib/postgresql/utf8_and_johab.so -./lib/postgresql/utf8_and_gb18030.so -./lib/postgresql/pgxs/src/makefiles/pgxs.mk -./lib/postgresql/pgxs/src/Makefile.shlib -./lib/postgresql/pgxs/src/Makefile.port -./lib/postgresql/pgxs/src/nls-global.mk -./lib/postgresql/pgxs/src/Makefile.global -./lib/postgresql/pgxs/config/install-sh -./lib/postgresql/euc_cn_and_mic.so -./lib/postgresql/latin_and_mic.so -./lib/postgresql/utf8_and_sjis2004.so -./lib/postgresql/utf8_and_euc_jp.so -./lib/postgresql/utf8_and_sjis.so -./lib/postgresql/utf8_and_cyrillic.so -./lib/postgresql/utf8_and_euc_kr.so -./lib/postgresql/ascii_and_mic.so -./lib/postgresql/utf8_and_iso8859_1.so -./lib/postgresql/euc_jp_and_sjis.so -./lib/postgresql/dict_snowball.so -./lib/postgresql/utf8_and_ascii.so -./lib/postgresql/utf8_and_euc_tw.so -./lib/postgresql/utf8_and_iso8859.so -./lib/postgresql/utf8_and_win.so -./lib/postgresql/utf8_and_euc_cn.so -./lib/postgresql/utf8_and_gbk.so -./lib/postgresql/utf8_and_euc2004.so -./lib/postgresql/utf8_and_big5.so -./lib/postgresql/java/pljava.jar -./lib/libpljava.so -./lib/libpq.a -./lib/libpq.so -./lib/libpq.so.5 -./lib/libpq.so.5.5 -./lib/libpq_ce.so -./lib/libpq_ce.so.5 -./lib/libpq_ce.so.5.5 -./lib/libcrypto.so -./lib/libcrypto.so.1.1 -./lib/libstdc++.so.6 -./lib/libssl.so -./lib/libssl.so.1.1 -./lib/libgssapi_krb5_gauss.so -./lib/libgssapi_krb5_gauss.so.2 -./lib/libgssapi_krb5_gauss.so.2.2 -./lib/libgssrpc_gauss.so -./lib/libgssrpc_gauss.so.4 -./lib/libgssrpc_gauss.so.4.2 -./lib/libk5crypto_gauss.so -./lib/libk5crypto_gauss.so.3 -./lib/libk5crypto_gauss.so.3.1 -./lib/libkrb5support_gauss.so -./lib/libkrb5support_gauss.so.0 -./lib/libkrb5support_gauss.so.0.1 -./lib/libkrb5_gauss.so -./lib/libkrb5_gauss.so.3 -./lib/libkrb5_gauss.so.3.3 -./lib/libcom_err_gauss.so -./lib/libcom_err_gauss.so.3 -./lib/libcom_err_gauss.so.3.0 -./odbc/lib/psqlodbcw.la -./odbc/lib/psqlodbcw.so -[libpq] -./lib/libpq.a -./lib/libpq.so -./lib/libpq.so.5 -./lib/libpq.so.5.5 -./lib/libpq_ce.so -./lib/libpq_ce.so.5 -./lib/libpq_ce.so.5.5 -./lib/libconfig.so -./lib/libconfig.so.4 -./lib/libcmclient.so -./lib/libcmclient.so.1 -./lib/libcmcommon.so -./lib/libcmcommon.so.2 -./lib/libcmpq.so -./lib/libcmpq.so.1 -./lib/libcrypto.so -./lib/libcrypto.so.1.1 -./lib/libstdc++.so.6 -./lib/libssl.so -./lib/libssl.so.1.1 -./lib/libpgport_tool.so -./lib/libpgport_tool.so.1 -./lib/libgssapi_krb5_gauss.so -./lib/libgssapi_krb5_gauss.so.2 -./lib/libgssapi_krb5_gauss.so.2.2 -./lib/libgssrpc_gauss.so -./lib/libgssrpc_gauss.so.4 -./lib/libgssrpc_gauss.so.4.2 -./lib/libk5crypto_gauss.so -./lib/libk5crypto_gauss.so.3 -./lib/libk5crypto_gauss.so.3.1 -./lib/libkrb5support_gauss.so -./lib/libkrb5support_gauss.so.0 -./lib/libkrb5support_gauss.so.0.1 -./lib/libkrb5_gauss.so -./lib/libkrb5_gauss.so.3 -./lib/libkrb5_gauss.so.3.3 -./lib/libcom_err_gauss.so -./lib/libcom_err_gauss.so.3 -./lib/libcom_err_gauss.so.3.0 -[cmlibrary] -./lib/libconfig.a -./lib/libcmclient.a -./lib/libcmcommon.a -./lib/libcmpq.a -./lib/libpgport.a -[header] -./include/libpq-fe.h -./include/postgres_ext.h -./include/gs_thread.h -./include/gs_threadlocal.h -./include/pg_config.h -./include/pg_config_manual.h -./include/pg_config_os.h -./include/cm_config.h -./include/c.h -./include/port.h -./include/cm_msg.h -./include/cm_c.h -./include/cm_misc.h -./include/libpq-int.h -./include/pqcomm.h -./include/pqexpbuffer.h -./include/xlogdefs.h -./include/cm-libpq-fe.h -[gds] -./bin/gds -./bin/gds_ctl.py -./share/postgresql/gds.conf -./share/postgresql/gds.conf.sample -./lib/libcjson.so -./lib/libcjson.so.1 -./lib/libcjson.so.1.7.13 -[version] -V500R001C20 -[script] -./script/__init__.py -./script/gs_check -./script/gs_checkos -./script/gs_checkperf -./script/gs_collector -./script/gs_backup -./script/gs_expand -./script/gs_install -./script/gs_om -./script/gs_hotpatch -./script/gs_postuninstall -./script/gs_preinstall -./script/gs_replace -./script/gs_shrink -./script/gs_ssh -./script/gs_sshexkey -./script/gs_uninstall -./script/gs_upgradectl -./script/gs_lcctl -./script/gs_resize -./script/uninstall_force.py -./script/checkRunStatus.py -./script/JsonToDbClustorInfo.py -./script/killall -./script/nodegroup_migrate.sh diff --git a/build/script/mpp_release_list_euleros_aarch64 b/build/script/mpp_release_list_euleros_aarch64 deleted file mode 100644 index 08a831d47..000000000 --- a/build/script/mpp_release_list_euleros_aarch64 +++ /dev/null @@ -1,1399 +0,0 @@ -[server] -./bin/gds -./bin/gs_log -./bin/gsql -./bin/gaussdb -./bin/gaussdb.version.GaussDB200 -./bin/gaussdb.version.GaussDB300 -./bin/gaussdb.license.GaussDB200_Standard -./bin/gaussmaster -./bin/gstrace -./bin/gs_encrypt -./bin/gs_gtm -./bin/gs_dump -./bin/gs_dumpall -./bin/gs_initgtm -./bin/gs_initcm -./bin/gs_ctl -./bin/gs_initdb -./bin/gtm_ctl -./bin/cm_server -./bin/cm_agent -./bin/om_monitor -./bin/cm_ctl -./bin/etcd -./bin/etcdctl -./bin/seq_query -./bin/gs_guc -./bin/encrypt -./bin/gs_roach -./bin/gs_clean -./bin/gs_redis -./bin/gs_restore -./bin/gs_cgroup -./bin/openssl -./bin/pg_config -./bin/pg_controldata -./bin/pg_format_cu -./bin/pg_resetxlog -./bin/alarmItem.conf -./bin/retry_errcodes.conf -./bin/cluster_guc.conf -./bin/runsessionstat.sh -./bin/drop_caches.sh -./bin/run_drop_cache.sh -./bin/transfer.py -./bin/setArmOptimization.sh -./bin/bind_net_irq.sh -./bin/getDEK.jar -./bin/gs_plan_simulator.sh -./bin/dependences/clean_temp.sql -./bin/dependences/initdb.py -./bin/dependences/restore_temp.sql -./bin/dependences/store_pg_class_stats.sql -./bin/dependences/store_pg_statistic_ext_stats.sql -./bin/dependences/store_pg_statistic_stats.sql -./bin/dependences/store_pgxc_class.sql -./bin/krb5kdc -./bin/klist -./bin/kinit -./bin/kdestroy -./bin/kdb5_util -./bin/kadmin.local -./bin/lz4 -./bin/iperf3 -./bin/fio -./etc/kerberos/kadm5.acl -./etc/kerberos/kdc.conf -./etc/kerberos/krb5.conf -./etc/kerberos/mppdb-site.xml -./share/postgis/PostGIS_install.sh -./share/postgresql/tmp/udstools.py -./share/postgresql/snowball_create.sql -./share/postgresql/pmk_schema.sql -./share/postgresql/pmk_schema_single_inst.sql -./share/postgresql/pg_hba.conf.sample -./share/postgresql/pg_service.conf.sample -./share/postgresql/psqlrc.sample -./share/postgresql/conversion_create.sql -./share/postgresql/postgres.shdescription -./share/postgresql/pg_ident.conf.sample -./share/postgresql/postgres.description -./share/postgresql/postgresql.conf.sample -./share/postgresql/extension/plpgsql--1.0.sql -./share/postgresql/extension/hstore.control -./share/postgresql/extension/tsdb.control -./share/postgresql/extension/security_plugin.control -./share/postgresql/extension/security_plugin--1.0.sql -./share/postgresql/extension/tsdb--1.0.sql -./share/postgresql/extension/streaming--1.0.sql -./share/postgresql/extension/streaming.control -./share/postgresql/extension/file_fdw--1.0.sql -./share/postgresql/extension/plpgsql.control -./share/postgresql/extension/dist_fdw.control -./share/postgresql/extension/dist_fdw--1.0.sql -./share/postgresql/extension/hstore--1.1.sql -./share/postgresql/extension/plpgsql--unpackaged--1.0.sql -./share/postgresql/extension/file_fdw.control -./share/postgresql/extension/hstore--unpackaged--1.0.sql -./share/postgresql/extension/hstore--1.0--1.1.sql -./share/postgresql/extension/hdfs_fdw--1.0.sql -./share/postgresql/extension/hdfs_fdw.control -./share/postgresql/extension/gc_fdw--1.0.sql -./share/postgresql/extension/gc_fdw.control -./share/postgresql/extension/roach_api--1.0.sql -./share/postgresql/extension/roach_api.control -./share/postgresql/extension/log_fdw--1.0.sql -./share/postgresql/extension/log_fdw.control -./share/postgresql/extension/dimsearch--1.0.sql -./share/postgresql/extension/dimsearch.control -./share/postgresql/extension/packages--1.0.sql -./share/postgresql/extension/packages--1.0--1.1.sql -./share/postgresql/extension/packages.control -./share/postgresql/extension/gsredistribute.control -./share/postgresql/extension/gsredistribute--1.0.sql -./share/postgresql/extension/gsredistribute--unpackaged--1.0.sql -./share/postgresql/timezone/GB-Eire -./share/postgresql/timezone/Turkey -./share/postgresql/timezone/Kwajalein -./share/postgresql/timezone/UCT -./share/postgresql/timezone/Mexico/BajaSur -./share/postgresql/timezone/Mexico/BajaNorte -./share/postgresql/timezone/Mexico/General -./share/postgresql/timezone/Japan -./share/postgresql/timezone/Israel -./share/postgresql/timezone/US/Eastern -./share/postgresql/timezone/US/Samoa -./share/postgresql/timezone/US/Michigan -./share/postgresql/timezone/US/Aleutian -./share/postgresql/timezone/US/Pacific -./share/postgresql/timezone/US/Pacific-New -./share/postgresql/timezone/US/Indiana-Starke -./share/postgresql/timezone/US/Mountain -./share/postgresql/timezone/US/East-Indiana -./share/postgresql/timezone/US/Hawaii -./share/postgresql/timezone/US/Arizona -./share/postgresql/timezone/US/Alaska -./share/postgresql/timezone/US/Central -./share/postgresql/timezone/Greenwich -./share/postgresql/timezone/Poland -./share/postgresql/timezone/CET -./share/postgresql/timezone/GMT-0 -./share/postgresql/timezone/Indian/Mauritius -./share/postgresql/timezone/Indian/Cocos -./share/postgresql/timezone/Indian/Reunion -./share/postgresql/timezone/Indian/Maldives -./share/postgresql/timezone/Indian/Comoro -./share/postgresql/timezone/Indian/Antananarivo -./share/postgresql/timezone/Indian/Christmas -./share/postgresql/timezone/Indian/Kerguelen -./share/postgresql/timezone/Indian/Chagos -./share/postgresql/timezone/Indian/Mayotte -./share/postgresql/timezone/Indian/Mahe -./share/postgresql/timezone/GMT0 -./share/postgresql/timezone/Antarctica/Palmer -./share/postgresql/timezone/Antarctica/Syowa -./share/postgresql/timezone/Antarctica/South_Pole -./share/postgresql/timezone/Antarctica/McMurdo -./share/postgresql/timezone/Antarctica/Rothera -./share/postgresql/timezone/Antarctica/Mawson -./share/postgresql/timezone/Antarctica/Casey -./share/postgresql/timezone/Antarctica/Davis -./share/postgresql/timezone/Antarctica/DumontDUrville -./share/postgresql/timezone/Antarctica/Vostok -./share/postgresql/timezone/Antarctica/Macquarie -./share/postgresql/timezone/ROK -./share/postgresql/timezone/Chile/EasterIsland -./share/postgresql/timezone/Chile/Continental -./share/postgresql/timezone/posixrules -./share/postgresql/timezone/Atlantic/Azores -./share/postgresql/timezone/Atlantic/St_Helena -./share/postgresql/timezone/Atlantic/Madeira -./share/postgresql/timezone/Atlantic/Jan_Mayen -./share/postgresql/timezone/Atlantic/Faroe -./share/postgresql/timezone/Atlantic/Stanley -./share/postgresql/timezone/Atlantic/Cape_Verde -./share/postgresql/timezone/Atlantic/Reykjavik -./share/postgresql/timezone/Atlantic/Canary -./share/postgresql/timezone/Atlantic/South_Georgia -./share/postgresql/timezone/Atlantic/Bermuda -./share/postgresql/timezone/Atlantic/Faeroe -./share/postgresql/timezone/Hongkong -./share/postgresql/timezone/Libya -./share/postgresql/timezone/Iceland -./share/postgresql/timezone/UTC -./share/postgresql/timezone/Australia/Darwin -./share/postgresql/timezone/Australia/North -./share/postgresql/timezone/Australia/NSW -./share/postgresql/timezone/Australia/Sydney -./share/postgresql/timezone/Australia/Hobart -./share/postgresql/timezone/Australia/LHI -./share/postgresql/timezone/Australia/Victoria -./share/postgresql/timezone/Australia/South -./share/postgresql/timezone/Australia/Melbourne -./share/postgresql/timezone/Australia/Lord_Howe -./share/postgresql/timezone/Australia/West -./share/postgresql/timezone/Australia/Brisbane -./share/postgresql/timezone/Australia/Perth -./share/postgresql/timezone/Australia/Eucla -./share/postgresql/timezone/Australia/Canberra -./share/postgresql/timezone/Australia/Queensland -./share/postgresql/timezone/Australia/Broken_Hill -./share/postgresql/timezone/Australia/Lindeman -./share/postgresql/timezone/Australia/ACT -./share/postgresql/timezone/Australia/Currie -./share/postgresql/timezone/Australia/Adelaide -./share/postgresql/timezone/Australia/Yancowinna -./share/postgresql/timezone/Australia/Tasmania -./share/postgresql/timezone/Jamaica -./share/postgresql/timezone/EST5EDT -./share/postgresql/timezone/MET -./share/postgresql/timezone/W-SU -./share/postgresql/timezone/Mideast/Riyadh87 -./share/postgresql/timezone/Mideast/Riyadh88 -./share/postgresql/timezone/Mideast/Riyadh89 -./share/postgresql/timezone/WET -./share/postgresql/timezone/ROC -./share/postgresql/timezone/Factory -./share/postgresql/timezone/EET -./share/postgresql/timezone/PST8PDT -./share/postgresql/timezone/Portugal -./share/postgresql/timezone/NZ -./share/postgresql/timezone/Brazil/West -./share/postgresql/timezone/Brazil/DeNoronha -./share/postgresql/timezone/Brazil/Acre -./share/postgresql/timezone/Brazil/East -./share/postgresql/timezone/EST -./share/postgresql/timezone/Egypt -./share/postgresql/timezone/Universal -./share/postgresql/timezone/Pacific/Enderbury -./share/postgresql/timezone/Pacific/Noumea -./share/postgresql/timezone/Pacific/Kwajalein -./share/postgresql/timezone/Pacific/Norfolk -./share/postgresql/timezone/Pacific/Nauru -./share/postgresql/timezone/Pacific/Efate -./share/postgresql/timezone/Pacific/Kosrae -./share/postgresql/timezone/Pacific/Galapagos -./share/postgresql/timezone/Pacific/Truk -./share/postgresql/timezone/Pacific/Fiji -./share/postgresql/timezone/Pacific/Auckland -./share/postgresql/timezone/Pacific/Samoa -./share/postgresql/timezone/Pacific/Port_Moresby -./share/postgresql/timezone/Pacific/Johnston -./share/postgresql/timezone/Pacific/Apia -./share/postgresql/timezone/Pacific/Tarawa -./share/postgresql/timezone/Pacific/Pitcairn -./share/postgresql/timezone/Pacific/Marquesas -./share/postgresql/timezone/Pacific/Chatham -./share/postgresql/timezone/Pacific/Tahiti -./share/postgresql/timezone/Pacific/Tongatapu -./share/postgresql/timezone/Pacific/Saipan -./share/postgresql/timezone/Pacific/Fakaofo -./share/postgresql/timezone/Pacific/Guam -./share/postgresql/timezone/Pacific/Niue -./share/postgresql/timezone/Pacific/Chuuk -./share/postgresql/timezone/Pacific/Easter -./share/postgresql/timezone/Pacific/Wallis -./share/postgresql/timezone/Pacific/Gambier -./share/postgresql/timezone/Pacific/Majuro -./share/postgresql/timezone/Pacific/Kiritimati -./share/postgresql/timezone/Pacific/Guadalcanal -./share/postgresql/timezone/Pacific/Funafuti -./share/postgresql/timezone/Pacific/Rarotonga -./share/postgresql/timezone/Pacific/Pago_Pago -./share/postgresql/timezone/Pacific/Midway -./share/postgresql/timezone/Pacific/Palau -./share/postgresql/timezone/Pacific/Honolulu -./share/postgresql/timezone/Pacific/Yap -./share/postgresql/timezone/Pacific/Pohnpei -./share/postgresql/timezone/Pacific/Wake -./share/postgresql/timezone/Pacific/Ponape -./share/postgresql/timezone/Iran -./share/postgresql/timezone/Etc/GMT-4 -./share/postgresql/timezone/Etc/GMT-9 -./share/postgresql/timezone/Etc/UCT -./share/postgresql/timezone/Etc/GMT-7 -./share/postgresql/timezone/Etc/Greenwich -./share/postgresql/timezone/Etc/GMT-0 -./share/postgresql/timezone/Etc/GMT-5 -./share/postgresql/timezone/Etc/GMT0 -./share/postgresql/timezone/Etc/GMT+7 -./share/postgresql/timezone/Etc/GMT-2 -./share/postgresql/timezone/Etc/GMT-10 -./share/postgresql/timezone/Etc/GMT+6 -./share/postgresql/timezone/Etc/GMT+1 -./share/postgresql/timezone/Etc/UTC -./share/postgresql/timezone/Etc/GMT-3 -./share/postgresql/timezone/Etc/GMT-1 -./share/postgresql/timezone/Etc/GMT-8 -./share/postgresql/timezone/Etc/GMT-11 -./share/postgresql/timezone/Etc/GMT+12 -./share/postgresql/timezone/Etc/GMT+10 -./share/postgresql/timezone/Etc/GMT-12 -./share/postgresql/timezone/Etc/GMT+5 -./share/postgresql/timezone/Etc/Universal -./share/postgresql/timezone/Etc/GMT-13 -./share/postgresql/timezone/Etc/GMT-6 -./share/postgresql/timezone/Etc/GMT+9 -./share/postgresql/timezone/Etc/GMT+3 -./share/postgresql/timezone/Etc/GMT-14 -./share/postgresql/timezone/Etc/GMT+4 -./share/postgresql/timezone/Etc/Zulu -./share/postgresql/timezone/Etc/GMT+2 -./share/postgresql/timezone/Etc/GMT+0 -./share/postgresql/timezone/Etc/GMT+8 -./share/postgresql/timezone/Etc/GMT+11 -./share/postgresql/timezone/Etc/GMT -./share/postgresql/timezone/Zulu -./share/postgresql/timezone/GMT+0 -./share/postgresql/timezone/Singapore -./share/postgresql/timezone/NZ-CHAT -./share/postgresql/timezone/Cuba -./share/postgresql/timezone/GB -./share/postgresql/timezone/Arctic/Longyearbyen -./share/postgresql/timezone/MST7MDT -./share/postgresql/timezone/PRC -./share/postgresql/timezone/Canada/Eastern -./share/postgresql/timezone/Canada/Yukon -./share/postgresql/timezone/Canada/Atlantic -./share/postgresql/timezone/Canada/Newfoundland -./share/postgresql/timezone/Canada/Saskatchewan -./share/postgresql/timezone/Canada/Pacific -./share/postgresql/timezone/Canada/East-Saskatchewan -./share/postgresql/timezone/Canada/Mountain -./share/postgresql/timezone/Canada/Central -./share/postgresql/timezone/CST6CDT -./share/postgresql/timezone/HST -./share/postgresql/timezone/America/Boa_Vista -./share/postgresql/timezone/America/New_York -./share/postgresql/timezone/America/Santarem -./share/postgresql/timezone/America/Boise -./share/postgresql/timezone/America/St_Lucia -./share/postgresql/timezone/America/Mendoza -./share/postgresql/timezone/America/Mexico_City -./share/postgresql/timezone/America/Chihuahua -./share/postgresql/timezone/America/Indianapolis -./share/postgresql/timezone/America/Virgin -./share/postgresql/timezone/America/Atka -./share/postgresql/timezone/America/Winnipeg -./share/postgresql/timezone/America/Hermosillo -./share/postgresql/timezone/America/Indiana/Indianapolis -./share/postgresql/timezone/America/Indiana/Tell_City -./share/postgresql/timezone/America/Indiana/Winamac -./share/postgresql/timezone/America/Indiana/Knox -./share/postgresql/timezone/America/Indiana/Vincennes -./share/postgresql/timezone/America/Indiana/Vevay -./share/postgresql/timezone/America/Indiana/Petersburg -./share/postgresql/timezone/America/Indiana/Marengo -./share/postgresql/timezone/America/Moncton -./share/postgresql/timezone/America/Campo_Grande -./share/postgresql/timezone/America/Guyana -./share/postgresql/timezone/America/Caracas -./share/postgresql/timezone/America/Maceio -./share/postgresql/timezone/America/Godthab -./share/postgresql/timezone/America/Thunder_Bay -./share/postgresql/timezone/America/Havana -./share/postgresql/timezone/America/Santiago -./share/postgresql/timezone/America/Los_Angeles -./share/postgresql/timezone/America/Buenos_Aires -./share/postgresql/timezone/America/Manaus -./share/postgresql/timezone/America/Bahia -./share/postgresql/timezone/America/North_Dakota/New_Salem -./share/postgresql/timezone/America/North_Dakota/Beulah -./share/postgresql/timezone/America/North_Dakota/Center -./share/postgresql/timezone/America/Bahia_Banderas -./share/postgresql/timezone/America/Edmonton -./share/postgresql/timezone/America/Tegucigalpa -./share/postgresql/timezone/America/Rankin_Inlet -./share/postgresql/timezone/America/Monterrey -./share/postgresql/timezone/America/Cambridge_Bay -./share/postgresql/timezone/America/Porto_Velho -./share/postgresql/timezone/America/Antigua -./share/postgresql/timezone/America/Atikokan -./share/postgresql/timezone/America/Vancouver -./share/postgresql/timezone/America/Anchorage -./share/postgresql/timezone/America/Port-au-Prince -./share/postgresql/timezone/America/Lima -./share/postgresql/timezone/America/Grenada -./share/postgresql/timezone/America/Creston -./share/postgresql/timezone/America/La_Paz -./share/postgresql/timezone/America/Panama -./share/postgresql/timezone/America/Blanc-Sablon -./share/postgresql/timezone/America/Cayenne -./share/postgresql/timezone/America/Santo_Domingo -./share/postgresql/timezone/America/Grand_Turk -./share/postgresql/timezone/America/Toronto -./share/postgresql/timezone/America/Rainy_River -./share/postgresql/timezone/America/Merida -./share/postgresql/timezone/America/Port_of_Spain -./share/postgresql/timezone/America/Nipigon -./share/postgresql/timezone/America/Jamaica -./share/postgresql/timezone/America/Rosario -./share/postgresql/timezone/America/Dawson_Creek -./share/postgresql/timezone/America/Belize -./share/postgresql/timezone/America/Costa_Rica -./share/postgresql/timezone/America/Barbados -./share/postgresql/timezone/America/Danmarkshavn -./share/postgresql/timezone/America/Argentina/La_Rioja -./share/postgresql/timezone/America/Argentina/Mendoza -./share/postgresql/timezone/America/Argentina/Buenos_Aires -./share/postgresql/timezone/America/Argentina/Tucuman -./share/postgresql/timezone/America/Argentina/Ushuaia -./share/postgresql/timezone/America/Argentina/Catamarca -./share/postgresql/timezone/America/Argentina/ComodRivadavia -./share/postgresql/timezone/America/Argentina/Jujuy -./share/postgresql/timezone/America/Argentina/Cordoba -./share/postgresql/timezone/America/Argentina/San_Luis -./share/postgresql/timezone/America/Argentina/Rio_Gallegos -./share/postgresql/timezone/America/Argentina/Salta -./share/postgresql/timezone/America/Argentina/San_Juan -./share/postgresql/timezone/America/Pangnirtung -./share/postgresql/timezone/America/Anguilla -./share/postgresql/timezone/America/Curacao -./share/postgresql/timezone/America/Cancun -./share/postgresql/timezone/America/Montreal -./share/postgresql/timezone/America/Shiprock -./share/postgresql/timezone/America/Thule -./share/postgresql/timezone/America/Scoresbysund -./share/postgresql/timezone/America/Catamarca -./share/postgresql/timezone/America/Sao_Paulo -./share/postgresql/timezone/America/Sitka -./share/postgresql/timezone/America/Asuncion -./share/postgresql/timezone/America/Regina -./share/postgresql/timezone/America/St_Johns -./share/postgresql/timezone/America/Montevideo -./share/postgresql/timezone/America/Eirunepe -./share/postgresql/timezone/America/Denver -./share/postgresql/timezone/America/Metlakatla -./share/postgresql/timezone/America/Araguaina -./share/postgresql/timezone/America/Juneau -./share/postgresql/timezone/America/Marigot -./share/postgresql/timezone/America/Menominee -./share/postgresql/timezone/America/Glace_Bay -./share/postgresql/timezone/America/Tijuana -./share/postgresql/timezone/America/Detroit -./share/postgresql/timezone/America/Belem -./share/postgresql/timezone/America/Jujuy -./share/postgresql/timezone/America/St_Thomas -./share/postgresql/timezone/America/Resolute -./share/postgresql/timezone/America/Cuiaba -./share/postgresql/timezone/America/Halifax -./share/postgresql/timezone/America/St_Barthelemy -./share/postgresql/timezone/America/Guatemala -./share/postgresql/timezone/America/Nassau -./share/postgresql/timezone/America/St_Kitts -./share/postgresql/timezone/America/Cordoba -./share/postgresql/timezone/America/Miquelon -./share/postgresql/timezone/America/Bogota -./share/postgresql/timezone/America/Rio_Branco -./share/postgresql/timezone/America/Ensenada -./share/postgresql/timezone/America/Yakutat -./share/postgresql/timezone/America/Noronha -./share/postgresql/timezone/America/Kentucky/Monticello -./share/postgresql/timezone/America/Kentucky/Louisville -./share/postgresql/timezone/America/Porto_Acre -./share/postgresql/timezone/America/Santa_Isabel -./share/postgresql/timezone/America/El_Salvador -./share/postgresql/timezone/America/Yellowknife -./share/postgresql/timezone/America/Cayman -./share/postgresql/timezone/America/Whitehorse -./share/postgresql/timezone/America/Ojinaga -./share/postgresql/timezone/America/Aruba -./share/postgresql/timezone/America/Nome -./share/postgresql/timezone/America/Fortaleza -./share/postgresql/timezone/America/Martinique -./share/postgresql/timezone/America/Recife -./share/postgresql/timezone/America/Knox_IN -./share/postgresql/timezone/America/Guayaquil -./share/postgresql/timezone/America/Goose_Bay -./share/postgresql/timezone/America/Iqaluit -./share/postgresql/timezone/America/Matamoros -./share/postgresql/timezone/America/Lower_Princes -./share/postgresql/timezone/America/Louisville -./share/postgresql/timezone/America/Coral_Harbour -./share/postgresql/timezone/America/Phoenix -./share/postgresql/timezone/America/Guadeloupe -./share/postgresql/timezone/America/Mazatlan -./share/postgresql/timezone/America/Swift_Current -./share/postgresql/timezone/America/Paramaribo -./share/postgresql/timezone/America/Dominica -./share/postgresql/timezone/America/Kralendijk -./share/postgresql/timezone/America/Montserrat -./share/postgresql/timezone/America/St_Vincent -./share/postgresql/timezone/America/Fort_Wayne -./share/postgresql/timezone/America/Dawson -./share/postgresql/timezone/America/Inuvik -./share/postgresql/timezone/America/Adak -./share/postgresql/timezone/America/Managua -./share/postgresql/timezone/America/Puerto_Rico -./share/postgresql/timezone/America/Tortola -./share/postgresql/timezone/America/Chicago -./share/postgresql/timezone/Africa/Lome -./share/postgresql/timezone/Africa/Brazzaville -./share/postgresql/timezone/Africa/Khartoum -./share/postgresql/timezone/Africa/Ceuta -./share/postgresql/timezone/Africa/Djibouti -./share/postgresql/timezone/Africa/Lagos -./share/postgresql/timezone/Africa/Accra -./share/postgresql/timezone/Africa/El_Aaiun -./share/postgresql/timezone/Africa/Malabo -./share/postgresql/timezone/Africa/Windhoek -./share/postgresql/timezone/Africa/Tripoli -./share/postgresql/timezone/Africa/Bissau -./share/postgresql/timezone/Africa/Blantyre -./share/postgresql/timezone/Africa/Kinshasa -./share/postgresql/timezone/Africa/Porto-Novo -./share/postgresql/timezone/Africa/Nairobi -./share/postgresql/timezone/Africa/Ouagadougou -./share/postgresql/timezone/Africa/Asmera -./share/postgresql/timezone/Africa/Cairo -./share/postgresql/timezone/Africa/Lubumbashi -./share/postgresql/timezone/Africa/Tunis -./share/postgresql/timezone/Africa/Dar_es_Salaam -./share/postgresql/timezone/Africa/Casablanca -./share/postgresql/timezone/Africa/Algiers -./share/postgresql/timezone/Africa/Mbabane -./share/postgresql/timezone/Africa/Monrovia -./share/postgresql/timezone/Africa/Nouakchott -./share/postgresql/timezone/Africa/Banjul -./share/postgresql/timezone/Africa/Kampala -./share/postgresql/timezone/Africa/Conakry -./share/postgresql/timezone/Africa/Mogadishu -./share/postgresql/timezone/Africa/Ndjamena -./share/postgresql/timezone/Africa/Niamey -./share/postgresql/timezone/Africa/Lusaka -./share/postgresql/timezone/Africa/Addis_Ababa -./share/postgresql/timezone/Africa/Sao_Tome -./share/postgresql/timezone/Africa/Abidjan -./share/postgresql/timezone/Africa/Harare -./share/postgresql/timezone/Africa/Asmara -./share/postgresql/timezone/Africa/Douala -./share/postgresql/timezone/Africa/Freetown -./share/postgresql/timezone/Africa/Libreville -./share/postgresql/timezone/Africa/Luanda -./share/postgresql/timezone/Africa/Maseru -./share/postgresql/timezone/Africa/Gaborone -./share/postgresql/timezone/Africa/Maputo -./share/postgresql/timezone/Africa/Timbuktu -./share/postgresql/timezone/Africa/Bangui -./share/postgresql/timezone/Africa/Bamako -./share/postgresql/timezone/Africa/Dakar -./share/postgresql/timezone/Africa/Juba -./share/postgresql/timezone/Africa/Bujumbura -./share/postgresql/timezone/Africa/Johannesburg -./share/postgresql/timezone/Africa/Kigali -./share/postgresql/timezone/Eire -./share/postgresql/timezone/Europe/Vaduz -./share/postgresql/timezone/Europe/Podgorica -./share/postgresql/timezone/Europe/Rome -./share/postgresql/timezone/Europe/Vienna -./share/postgresql/timezone/Europe/Dublin -./share/postgresql/timezone/Europe/Zurich -./share/postgresql/timezone/Europe/London -./share/postgresql/timezone/Europe/Monaco -./share/postgresql/timezone/Europe/Sofia -./share/postgresql/timezone/Europe/Uzhgorod -./share/postgresql/timezone/Europe/Minsk -./share/postgresql/timezone/Europe/Malta -./share/postgresql/timezone/Europe/Busingen -./share/postgresql/timezone/Europe/Gibraltar -./share/postgresql/timezone/Europe/Volgograd -./share/postgresql/timezone/Europe/Budapest -./share/postgresql/timezone/Europe/Vatican -./share/postgresql/timezone/Europe/Luxembourg -./share/postgresql/timezone/Europe/Chisinau -./share/postgresql/timezone/Europe/Nicosia -./share/postgresql/timezone/Europe/Warsaw -./share/postgresql/timezone/Europe/San_Marino -./share/postgresql/timezone/Europe/Copenhagen -./share/postgresql/timezone/Europe/Ljubljana -./share/postgresql/timezone/Europe/Athens -./share/postgresql/timezone/Europe/Skopje -./share/postgresql/timezone/Europe/Andorra -./share/postgresql/timezone/Europe/Kaliningrad -./share/postgresql/timezone/Europe/Amsterdam -./share/postgresql/timezone/Europe/Guernsey -./share/postgresql/timezone/Europe/Isle_of_Man -./share/postgresql/timezone/Europe/Tirane -./share/postgresql/timezone/Europe/Jersey -./share/postgresql/timezone/Europe/Madrid -./share/postgresql/timezone/Europe/Helsinki -./share/postgresql/timezone/Europe/Riga -./share/postgresql/timezone/Europe/Zagreb -./share/postgresql/timezone/Europe/Bratislava -./share/postgresql/timezone/Europe/Prague -./share/postgresql/timezone/Europe/Tallinn -./share/postgresql/timezone/Europe/Stockholm -./share/postgresql/timezone/Europe/Tiraspol -./share/postgresql/timezone/Europe/Belgrade -./share/postgresql/timezone/Europe/Bucharest -./share/postgresql/timezone/Europe/Vilnius -./share/postgresql/timezone/Europe/Sarajevo -./share/postgresql/timezone/Europe/Belfast -./share/postgresql/timezone/Europe/Zaporozhye -./share/postgresql/timezone/Europe/Oslo -./share/postgresql/timezone/Europe/Mariehamn -./share/postgresql/timezone/Europe/Moscow -./share/postgresql/timezone/Europe/Brussels -./share/postgresql/timezone/Europe/Paris -./share/postgresql/timezone/Europe/Istanbul -./share/postgresql/timezone/Europe/Simferopol -./share/postgresql/timezone/Europe/Lisbon -./share/postgresql/timezone/Europe/Berlin -./share/postgresql/timezone/Europe/Kiev -./share/postgresql/timezone/Europe/Samara -./share/postgresql/timezone/MST -./share/postgresql/timezone/Asia/Khandyga -./share/postgresql/timezone/Asia/Manila -./share/postgresql/timezone/Asia/Novokuznetsk -./share/postgresql/timezone/Asia/Baghdad -./share/postgresql/timezone/Asia/Macau -./share/postgresql/timezone/Asia/Urumqi -./share/postgresql/timezone/Asia/Ujung_Pandang -./share/postgresql/timezone/Asia/Ulan_Bator -./share/postgresql/timezone/Asia/Bishkek -./share/postgresql/timezone/Asia/Qatar -./share/postgresql/timezone/Asia/Qyzylorda -./share/postgresql/timezone/Asia/Calcutta -./share/postgresql/timezone/Asia/Riyadh87 -./share/postgresql/timezone/Asia/Dushanbe -./share/postgresql/timezone/Asia/Yekaterinburg -./share/postgresql/timezone/Asia/Dhaka -./share/postgresql/timezone/Asia/Jakarta -./share/postgresql/timezone/Asia/Shanghai -./share/postgresql/timezone/Asia/Ulaanbaatar -./share/postgresql/timezone/Asia/Jerusalem -./share/postgresql/timezone/Asia/Ashkhabad -./share/postgresql/timezone/Asia/Tokyo -./share/postgresql/timezone/Asia/Macao -./share/postgresql/timezone/Asia/Krasnoyarsk -./share/postgresql/timezone/Asia/Saigon -./share/postgresql/timezone/Asia/Omsk -./share/postgresql/timezone/Asia/Damascus -./share/postgresql/timezone/Asia/Phnom_Penh -./share/postgresql/timezone/Asia/Bangkok -./share/postgresql/timezone/Asia/Kamchatka -./share/postgresql/timezone/Asia/Choibalsan -./share/postgresql/timezone/Asia/Ust-Nera -./share/postgresql/timezone/Asia/Aden -./share/postgresql/timezone/Asia/Vientiane -./share/postgresql/timezone/Asia/Sakhalin -./share/postgresql/timezone/Asia/Ashgabat -./share/postgresql/timezone/Asia/Katmandu -./share/postgresql/timezone/Asia/Almaty -./share/postgresql/timezone/Asia/Baku -./share/postgresql/timezone/Asia/Nicosia -./share/postgresql/timezone/Asia/Riyadh88 -./share/postgresql/timezone/Asia/Kashgar -./share/postgresql/timezone/Asia/Riyadh89 -./share/postgresql/timezone/Asia/Taipei -./share/postgresql/timezone/Asia/Tehran -./share/postgresql/timezone/Asia/Kabul -./share/postgresql/timezone/Asia/Samarkand -./share/postgresql/timezone/Asia/Kuala_Lumpur -./share/postgresql/timezone/Asia/Tashkent -./share/postgresql/timezone/Asia/Thimbu -./share/postgresql/timezone/Asia/Thimphu -./share/postgresql/timezone/Asia/Yerevan -./share/postgresql/timezone/Asia/Chungking -./share/postgresql/timezone/Asia/Hebron -./share/postgresql/timezone/Asia/Karachi -./share/postgresql/timezone/Asia/Kolkata -./share/postgresql/timezone/Asia/Aqtobe -./share/postgresql/timezone/Asia/Muscat -./share/postgresql/timezone/Asia/Hong_Kong -./share/postgresql/timezone/Asia/Chongqing -./share/postgresql/timezone/Asia/Oral -./share/postgresql/timezone/Asia/Pontianak -./share/postgresql/timezone/Asia/Colombo -./share/postgresql/timezone/Asia/Pyongyang -./share/postgresql/timezone/Asia/Hovd -./share/postgresql/timezone/Asia/Kuwait -./share/postgresql/timezone/Asia/Anadyr -./share/postgresql/timezone/Asia/Kathmandu -./share/postgresql/timezone/Asia/Irkutsk -./share/postgresql/timezone/Asia/Bahrain -./share/postgresql/timezone/Asia/Dubai -./share/postgresql/timezone/Asia/Jayapura -./share/postgresql/timezone/Asia/Riyadh -./share/postgresql/timezone/Asia/Ho_Chi_Minh -./share/postgresql/timezone/Asia/Singapore -./share/postgresql/timezone/Asia/Tel_Aviv -./share/postgresql/timezone/Asia/Dili -./share/postgresql/timezone/Asia/Rangoon -./share/postgresql/timezone/Asia/Harbin -./share/postgresql/timezone/Asia/Yakutsk -./share/postgresql/timezone/Asia/Magadan -./share/postgresql/timezone/Asia/Amman -./share/postgresql/timezone/Asia/Kuching -./share/postgresql/timezone/Asia/Novosibirsk -./share/postgresql/timezone/Asia/Seoul -./share/postgresql/timezone/Asia/Dacca -./share/postgresql/timezone/Asia/Vladivostok -./share/postgresql/timezone/Asia/Istanbul -./share/postgresql/timezone/Asia/Beirut -./share/postgresql/timezone/Asia/Aqtau -./share/postgresql/timezone/Asia/Brunei -./share/postgresql/timezone/Asia/Gaza -./share/postgresql/timezone/Asia/Tbilisi -./share/postgresql/timezone/Asia/Makassar -./share/postgresql/timezone/Asia/Beijing -./share/postgresql/timezone/Navajo -./share/postgresql/timezone/GMT -./share/postgresql/gtm.conf.sample -./share/postgresql/system_views.sql -./share/postgresql/performance_views.sql -./share/postgresql/sql_features.txt -./share/postgresql/pg_cast_oid.txt -./share/postgresql/recovery.conf.sample -./share/postgresql/cm_server.conf.sample -./share/postgresql/tsearch_data/english.stop -./share/postgresql/tsearch_data/dutch.stop -./share/postgresql/tsearch_data/hungarian.stop -./share/postgresql/tsearch_data/french.stop -./share/postgresql/tsearch_data/synonym_sample.syn -./share/postgresql/tsearch_data/turkish.stop -./share/postgresql/tsearch_data/portuguese.stop -./share/postgresql/tsearch_data/spanish.stop -./share/postgresql/tsearch_data/hunspell_sample.affix -./share/postgresql/tsearch_data/ispell_sample.affix -./share/postgresql/tsearch_data/danish.stop -./share/postgresql/tsearch_data/german.stop -./share/postgresql/tsearch_data/thesaurus_sample.ths -./share/postgresql/tsearch_data/norwegian.stop -./share/postgresql/tsearch_data/finnish.stop -./share/postgresql/tsearch_data/russian.stop -./share/postgresql/tsearch_data/swedish.stop -./share/postgresql/tsearch_data/ispell_sample.dict -./share/postgresql/tsearch_data/italian.stop -./share/postgresql/cm_agent.conf.sample -./share/postgresql/information_schema.sql -./share/postgresql/timezonesets/Antarctica.txt -./share/postgresql/timezonesets/Australia.txt -./share/postgresql/timezonesets/Europe.txt -./share/postgresql/timezonesets/America.txt -./share/postgresql/timezonesets/Australia -./share/postgresql/timezonesets/Indian.txt -./share/postgresql/timezonesets/India -./share/postgresql/timezonesets/Pacific.txt -./share/postgresql/timezonesets/Atlantic.txt -./share/postgresql/timezonesets/Africa.txt -./share/postgresql/timezonesets/Asia.txt -./share/postgresql/timezonesets/Default -./share/postgresql/timezonesets/Etc.txt -./share/postgresql/postgres.bki -./share/llvmir/GaussDB_expr.ir -./share/sslcert/gsql/openssl.cnf -./share/sslcert/gds/openssl.cnf -./share/sslcert/etcd/openssl.cnf -./share/sslcert/grpc/openssl.cnf -./lib/libsimsearch/ -./lib/postgresql/latin2_and_win1250.so -./lib/postgresql/euc2004_sjis2004.so -./lib/postgresql/euc_kr_and_mic.so -./lib/postgresql/utf8_and_uhc.so -./lib/postgresql/euc_tw_and_big5.so -./lib/postgresql/cyrillic_and_mic.so -./lib/postgresql/utf8_and_johab.so -./lib/postgresql/utf8_and_gb18030.so -./lib/postgresql/pgxs/src/makefiles/pgxs.mk -./lib/postgresql/pgxs/src/Makefile.shlib -./lib/postgresql/pgxs/src/Makefile.port -./lib/postgresql/pgxs/src/nls-global.mk -./lib/postgresql/pgxs/src/Makefile.global -./lib/postgresql/pgxs/config/install-sh -./lib/postgresql/euc_cn_and_mic.so -./lib/postgresql/latin_and_mic.so -./lib/postgresql/utf8_and_sjis2004.so -./lib/postgresql/utf8_and_euc_jp.so -./lib/postgresql/utf8_and_sjis.so -./lib/postgresql/utf8_and_cyrillic.so -./lib/postgresql/hstore.so -./lib/postgresql/tsdb.so -./lib/postgresql/streaming.so -./lib/postgresql/packages.so -./lib/postgresql/utf8_and_euc_kr.so -./lib/postgresql/ascii_and_mic.so -./lib/postgresql/utf8_and_iso8859_1.so -./lib/postgresql/euc_jp_and_sjis.so -./lib/postgresql/dict_snowball.so -./lib/postgresql/utf8_and_ascii.so -./lib/postgresql/utf8_and_euc_tw.so -./lib/postgresql/utf8_and_iso8859.so -./lib/postgresql/utf8_and_win.so -./lib/postgresql/utf8_and_euc_cn.so -./lib/postgresql/utf8_and_gbk.so -./lib/postgresql/utf8_and_euc2004.so -./lib/postgresql/utf8_and_big5.so -./lib/postgresql/roach_api.so -./lib/postgresql/mppdb_decoding.so -./lib/postgresql/gsredistribute.so -./lib/postgresql/dimsearch.so -./lib/postgresql/pg_plugin -./lib/postgresql/proc_srclib -./lib/postgresql/security_plugin.so -./lib/postgresql/pg_upgrade_support.so -./lib/postgresql/java/pljava.jar -./lib/postgresql/gsredistribute.so -./lib/libpljava.so -./lib/libpq.a -./lib/libpq.so -./lib/libpq.so.5 -./lib/libpq.so.5.5 -./lib/libpq_ce.so -./lib/libpq_ce.so.5 -./lib/libpq_ce.so.5.5 -./lib/libcgroup.so -./lib/libcgroup.so.1 -./lib/libcom_err_gauss.so -./lib/libcom_err_gauss.so.3 -./lib/libcom_err_gauss.so.3.0 -./lib/libgpr.so -./lib/libgpr.so.9 -./lib/libgpr.so.9.0.0 -./lib/libgrpc.so -./lib/libgrpc++.so -./lib/libgrpc++.so.1 -./lib/libgrpc++.so.1.28.1 -./lib/libgrpc.so.9 -./lib/libgrpc.so.9.0.0 -./lib/libupb.so -./lib/libupb.so.9 -./lib/libupb.so.9.0.0 -./lib/libabsl_str_format_internal.so -./lib/libabsl_strings.so -./lib/libabsl_throw_delegate.so -./lib/libabsl_strings_internal.so -./lib/libabsl_base.so -./lib/libabsl_dynamic_annotations.so -./lib/libabsl_spinlock_wait.so -./lib/libabsl_int128.so -./lib/libabsl_bad_optional_access.so -./lib/libabsl_raw_logging_internal.so -./lib/libabsl_log_severity.so -./lib/libaddress_sorting.so -./lib/libaddress_sorting.so.9 -./lib/libgssapi_krb5_gauss.so -./lib/libgssapi_krb5_gauss.so.2 -./lib/libgssapi_krb5_gauss.so.2.2 -./lib/libgssrpc_gauss.so -./lib/libgssrpc_gauss.so.4 -./lib/libgssrpc_gauss.so.4.2 -./lib/libk5crypto_gauss.so -./lib/libk5crypto_gauss.so.3 -./lib/libk5crypto_gauss.so.3.1 -./lib/libkadm5clnt.so -./lib/libkadm5clnt_mit.so -./lib/libkadm5clnt_mit.so.11 -./lib/libkadm5clnt_mit.so.11.0 -./lib/libkadm5srv.so -./lib/libkadm5srv_mit.so -./lib/libkadm5srv_mit.so.11 -./lib/libkadm5srv_mit.so.11.0 -./lib/libkdb5.so -./lib/libkdb5.so.9 -./lib/libkdb5.so.9.0 -./lib/libkrad.so -./lib/libkrad.so.0 -./lib/libkrad.so.0.0 -./lib/libkrb5_gauss.so -./lib/libkrb5_gauss.so.3 -./lib/libkrb5_gauss.so.3.3 -./lib/libkrb5support_gauss.so -./lib/libkrb5support_gauss.so.0 -./lib/libkrb5support_gauss.so.0.1 -./lib/krb5/plugins/kdb/db2.so -./lib/libverto.so -./lib/libverto.so.0 -./lib/libverto.so.0.0 -./lib/libcurl.so -./lib/libcurl.so.4 -./lib/libcurl.so.4.6.0 -./lib/libcrypto.so -./lib/libcrypto.so.1.1 -./lib/libssl.so -./lib/libssl.so.1.1 -./lib/libgcc_s.so.1 -./lib/libtsan.so -./lib/libtsan.so.0 -./lib/libtsan.so.0.0.0 -./lib/libstdc++.so.6 -./lib/libz.so -./lib/libz.so.1 -./lib/libz.so.1.2.11 -./lib/liblz4.so -./lib/liblz4.so.1 -./lib/liblz4.so.1.9.2 -./lib/libcjson.so -./lib/libcjson.so.1 -./lib/libcjson.so.1.7.13 -./lib/libconfig.so -./lib/libconfig.so.4 -./lib/libcmclient.so -./lib/libcmclient.so.1 -./lib/libcmcommon.so -./lib/libcmcommon.so.2 -./lib/libcmpq.so -./lib/libcmpq.so.1 -./lib/libetcdapi.so -./lib/libetcdapi.so.1 -./lib/libpgport_tool.so -./lib/libpgport_tool.so.1 -./lib/lib_roach_show.so -./lib/roach_contrib.so -./share/llvmir/GaussDB_expr.ir -./lib/libeSDKLogAPI.so -./lib/libeSDKOBS.so -./lib/liblog4cpp.so -./lib/liblog4cpp.so.5 -./lib/liblog4cpp.so.5.0.6 -./lib/libcharset.so -./lib/libcharset.so.1 -./lib/libcharset.so.1.0.0 -./lib/libiconv.so -./lib/libiconv.so.2 -./lib/libiconv.so.2.6.1 -./lib/libnghttp2.so -./lib/libnghttp2.so.14 -./lib/libnghttp2.so.14.20.0 -./lib/libpcre.so -./lib/libpcre.so.1 -./lib/libpcre.so.1.2.12 -./lib/libsecurec.so -./lib/libxml2.so -./lib/libxml2.so.2 -./lib/libxml2.so.2.9.9 -./lib/libparquet.so -./lib/libparquet.so.11 -./lib/libparquet.so.11.1.0 -./lib/OBS.ini -./lib/postgresql/latin2_and_win1250.so -./lib/postgresql/euc2004_sjis2004.so -./lib/libhll.so -./lib/libnuma.so -./lib/libnuma.so.1 -./lib/libnuma.so.1.0.0 -./lib/libiperf.so.0 -./include/postgresql/server/postgres_ext.h -./include/postgresql/server/pg_config_os.h -./include/postgresql/server/pgtime.h -./include/postgresql/server/datatypes.h -./include/postgresql/server/client_logic/client_logic_enums.h -./include/postgresql/server/nodes/primnodes.h -./include/postgresql/server/nodes/parsenodes.h -./include/postgresql/server/nodes/parsenodes_common.h -./include/postgresql/server/nodes/bitmapset.h -./include/postgresql/server/nodes/pg_list.h -./include/postgresql/server/nodes/value.h -./include/postgresql/server/nodes/nodes.h -./include/postgresql/server/utils/sortsupport.h -./include/postgresql/server/utils/varbit.h -./include/postgresql/server/utils/spccache.h -./include/postgresql/server/utils/rangetypes.h -./include/postgresql/server/utils/plpgsql.h -./include/postgresql/server/utils/memtrack.h -./include/postgresql/server/utils/pg_locale.h -./include/postgresql/server/utils/tzparser.h -./include/postgresql/server/utils/syscall_lock.h -./include/postgresql/server/utils/partitionmap.h -./include/postgresql/server/utils/array.h -./include/postgresql/server/utils/relmapper.h -./include/postgresql/server/utils/hsearch.h -./include/postgresql/server/utils/xml.h -./include/postgresql/server/utils/bytea.h -./include/postgresql/server/utils/relcache.h -./include/postgresql/server/utils/pg_rusage.h -./include/postgresql/server/utils/numeric.h -./include/postgresql/server/utils/mmpool.h -./include/postgresql/server/utils/nabstime.h -./include/postgresql/server/utils/fmgrtab.h -./include/postgresql/server/utils/snapmgr.h -./include/postgresql/server/utils/syscache.h -./include/postgresql/server/utils/logtape.h -./include/postgresql/server/utils/datum.h -./include/postgresql/server/utils/guc_tables.h -./include/postgresql/server/utils/snapshot.h -./include/postgresql/server/utils/geo_decls.h -./include/postgresql/server/utils/errcodes.h -./include/postgresql/server/utils/inval.h -./include/postgresql/server/utils/help_config.h -./include/postgresql/server/utils/distribute_test.h -./include/postgresql/server/utils/aiomem.h -./include/postgresql/server/utils/tuplestore.h -./include/postgresql/server/utils/rbtree.h -./include/postgresql/server/utils/gs_bitmap.h -./include/postgresql/server/utils/tuplesort.h -./include/postgresql/server/utils/tqual.h -./include/postgresql/server/utils/ps_status.h -./include/postgresql/server/utils/palloc.h -./include/postgresql/server/utils/reltrigger.h -./include/postgresql/server/utils/acl.h -./include/postgresql/server/utils/ascii.h -./include/postgresql/server/utils/selfuncs.h -./include/postgresql/server/utils/json.h -./include/postgresql/server/utils/portal.h -./include/postgresql/server/utils/atomic.h -./include/postgresql/server/utils/elog.h -./include/postgresql/server/utils/date.h -./include/postgresql/server/utils/plancache.h -./include/postgresql/server/utils/int8.h -./include/postgresql/server/utils/timestamp.h -./include/postgresql/server/utils/bloom_filter.h -./include/postgresql/server/utils/fmgroids.h -./include/postgresql/server/utils/pg_crc_tables.h -./include/postgresql/server/utils/probes.h -./include/postgresql/server/utils/datetime.h -./include/postgresql/server/utils/inet.h -./include/postgresql/server/utils/pg_lzcompress.h -./include/postgresql/server/utils/pg_crc.h -./include/postgresql/server/utils/attoptcache.h -./include/postgresql/server/utils/dynahash.h -./include/postgresql/server/utils/rel.h -./include/postgresql/server/utils/partcache.h -./include/postgresql/server/utils/lsyscache.h -./include/postgresql/server/utils/memutils.h -./include/postgresql/server/utils/memprot.h -./include/postgresql/server/utils/uuid.h -./include/postgresql/server/utils/combocid.h -./include/postgresql/server/utils/builtins.h -./include/postgresql/server/utils/guc.h -./include/postgresql/server/utils/dfs_vector.h -./include/postgresql/server/utils/dynamic_loader.h -./include/postgresql/server/utils/resowner.h -./include/postgresql/server/utils/aes.h -./include/postgresql/server/utils/cash.h -./include/postgresql/server/utils/typcache.h -./include/postgresql/server/utils/formatting.h -./include/postgresql/server/utils/partitionkey.h -./include/postgresql/server/utils/aset.h -./include/postgresql/server/utils/catcache.h -./include/postgresql/server/utils/atomic_arm.h -./include/postgresql/server/datatype/timestamp.h -./include/postgresql/server/access/rmgr.h -./include/postgresql/server/access/xlogreader.h -./include/postgresql/server/access/xlog_basic.h -./include/postgresql/server/access/tupdesc.h -./include/postgresql/server/access/rmgrlist.h -./include/postgresql/server/access/htup.h -./include/postgresql/server/access/xlogdefs.h -./include/postgresql/server/access/attnum.h -./include/postgresql/server/access/tupmacs.h -./include/postgresql/server/access/xlogrecord.h -./include/postgresql/server/tcop/dest.h -./include/postgresql/server/catalog/pg_type.h -./include/postgresql/server/catalog/pg_attribute.h -./include/postgresql/server/catalog/genbki.h -./include/postgresql/server/gs_thread.h -./include/postgresql/server/port/pg_bswap.h -./include/postgresql/server/port/pg_crc32c.h -./include/postgresql/server/securec.h -./include/postgresql/server/securectype.h -./include/postgresql/server/storage/off.h -./include/postgresql/server/storage/buf/block.h -./include/postgresql/server/storage/item/item.h -./include/postgresql/server/storage/relfilenode.h -./include/postgresql/server/storage/buf/bufpage.h -./include/postgresql/server/storage/spin.h -./include/postgresql/server/storage/buf/buf.h -./include/postgresql/server/storage/item/itemid.h -./include/postgresql/server/storage/lock/pg_sema.h -./include/postgresql/server/storage/item/itemptr.h -./include/postgresql/server/storage/lock/s_lock.h -./include/postgresql/server/storage/backendid.h -./include/postgresql/server/storage/lock/lock.h -./include/postgresql/server/storage/lock/lwlock.h -./include/postgresql/server/storage/barrier.h -./include/postgresql/server/storage/shmem.h -./include/postgresql/server/pg_config.h -./include/postgresql/server/lib/stringinfo.h -./include/postgresql/server/fmgr.h -./include/postgresql/server/fmgr/fmgr_comp.h -./include/postgresql/server/fmgr/fmgr_core.h -./include/postgresql/server/gs_threadlocal.h -./include/postgresql/server/postgres.h -./include/postgresql/server/executor/tuptable.h -./include/postgresql/server/pg_config_manual.h -./include/postgresql/server/mb/pg_wchar.h -./include/postgresql/server/c.h -./include/postgresql/server/port.h -./include/postgresql/server/utils/be_module.h -./include/postgresql/server/nodes/params.h -./include/postgresql/server/securec_check.h -./include/postgresql/server/nodes/memnodes.h -./include/postgresql/server/access/skey.h -./include/postgresql/server/lib/dllist.h -./include/postgresql/server/lib/ilist.h -./include/postgresql/server/pgxc/locator.h -./include/postgresql/server/gstrace/gstrace_infra.h -./include/postgresql/server/extension_dependency.h -./jre/ASSEMBLY_EXCEPTION -./jre/bin/java -./jre/bin/jjs -./jre/bin/keytool -./jre/bin/orbd -./jre/bin/pack200 -./jre/bin/policytool -./jre/bin/rmid -./jre/bin/rmiregistry -./jre/bin/servertool -./jre/bin/tnameserv -./jre/bin/unpack200 -./jre/lib/aarch64/jli/libjli.so -./jre/lib/aarch64/jvm.cfg -./jre/lib/aarch64/libattach.so -./jre/lib/aarch64/libavplugin-ffmpeg-58.so -./jre/lib/aarch64/libawt_headless.so -./jre/lib/aarch64/libawt.so -./jre/lib/aarch64/libawt_xawt.so -./jre/lib/aarch64/libdecora_sse.so -./jre/lib/aarch64/libdt_socket.so -./jre/lib/aarch64/libfontmanager.so -./jre/lib/aarch64/libfxplugins.so -./jre/lib/aarch64/libglassgtk2.so -./jre/lib/aarch64/libglassgtk3.so -./jre/lib/aarch64/libglass.so -./jre/lib/aarch64/libgstreamer-lite.so -./jre/lib/aarch64/libhprof.so -./jre/lib/aarch64/libinstrument.so -./jre/lib/aarch64/libj2gss.so -./jre/lib/aarch64/libj2pcsc.so -./jre/lib/aarch64/libj2pkcs11.so -./jre/lib/aarch64/libjaas_unix.so -./jre/lib/aarch64/libjava_crw_demo.so -./jre/lib/aarch64/libjavafx_font_freetype.so -./jre/lib/aarch64/libjavafx_font_pango.so -./jre/lib/aarch64/libjavafx_font.so -./jre/lib/aarch64/libjavafx_iio.so -./jre/lib/aarch64/libjava.so -./jre/lib/aarch64/libjawt.so -./jre/lib/aarch64/libjdwp.so -./jre/lib/aarch64/libjfxmedia.so -./jre/lib/aarch64/libjfxwebkit.so -./jre/lib/aarch64/libjpeg.so -./jre/lib/aarch64/libjsdt.so -./jre/lib/aarch64/libjsig.so -./jre/lib/aarch64/libjsoundalsa.so -./jre/lib/aarch64/libjsound.so -./jre/lib/aarch64/liblcms.so -./jre/lib/aarch64/libmanagement.so -./jre/lib/aarch64/libmlib_image.so -./jre/lib/aarch64/libnet.so -./jre/lib/aarch64/libnio.so -./jre/lib/aarch64/libnpt.so -./jre/lib/aarch64/libprism_common.so -./jre/lib/aarch64/libprism_es2.so -./jre/lib/aarch64/libprism_sw.so -./jre/lib/aarch64/libsaproc.so -./jre/lib/aarch64/libsctp.so -./jre/lib/aarch64/libsplashscreen.so -./jre/lib/aarch64/libsunec.so -./jre/lib/aarch64/libunpack.so -./jre/lib/aarch64/libverify.so -./jre/lib/aarch64/libzip.so -./jre/lib/aarch64/server/libjvm.so -./jre/lib/aarch64/server/Xusage.txt -./jre/lib/calendars.properties -./jre/lib/charsets.jar -./jre/lib/classlist -./jre/lib/cmm/CIEXYZ.pf -./jre/lib/cmm/GRAY.pf -./jre/lib/cmm/LINEAR_RGB.pf -./jre/lib/cmm/PYCC.pf -./jre/lib/cmm/sRGB.pf -./jre/lib/content-types.properties -./jre/lib/currency.data -./jre/lib/ext/cldrdata.jar -./jre/lib/ext/dnsns.jar -./jre/lib/ext/jaccess.jar -./jre/lib/ext/jfxrt.jar -./jre/lib/ext/localedata.jar -./jre/lib/ext/meta-index -./jre/lib/ext/nashorn.jar -./jre/lib/ext/sunec.jar -./jre/lib/ext/sunjce_provider.jar -./jre/lib/ext/sunpkcs11.jar -./jre/lib/ext/zipfs.jar -./jre/lib/flavormap.properties -./jre/lib/fontconfig.Euler.properties -./jre/lib/fontconfig.properties -./jre/lib/fontconfig.Ubuntu.properties -./jre/lib/fonts/Roboto-Regular.ttf -./jre/lib/hijrah-config-umalqura.properties -./jre/lib/images/cursors/cursors.properties -./jre/lib/images/cursors/invalid32x32.gif -./jre/lib/images/cursors/motif_CopyDrop32x32.gif -./jre/lib/images/cursors/motif_CopyNoDrop32x32.gif -./jre/lib/images/cursors/motif_LinkDrop32x32.gif -./jre/lib/images/cursors/motif_LinkNoDrop32x32.gif -./jre/lib/images/cursors/motif_MoveDrop32x32.gif -./jre/lib/images/cursors/motif_MoveNoDrop32x32.gif -./jre/lib/javafx-mx.jar -./jre/lib/javafx.properties -./jre/lib/jce.jar -./jre/lib/jexec -./jre/lib/jfr/default.jfc -./jre/lib/jfr.jar -./jre/lib/jfr/profile.jfc -./jre/lib/jfxswt.jar -./jre/lib/jsse.jar -./jre/lib/jvm.hprof.txt -./jre/lib/logging.properties -./jre/lib/management-agent.jar -./jre/lib/management/jmxremote.access -./jre/lib/management/jmxremote.password.template -./jre/lib/management/management.properties -./jre/lib/management/snmp.acl.template -./jre/lib/meta-index -./jre/lib/net.properties -./jre/lib/psfontj2d.properties -./jre/lib/psfont.properties.ja -./jre/lib/resources.jar -./jre/lib/rt.jar -./jre/lib/security/blacklisted.certs -./jre/lib/security/cacerts -./jre/lib/security/java.policy -./jre/lib/security/java.security -./jre/lib/security/policy/limited/local_policy.jar -./jre/lib/security/policy/limited/US_export_policy.jar -./jre/lib/security/policy/unlimited/local_policy.jar -./jre/lib/security/policy/unlimited/US_export_policy.jar -./jre/lib/sound.properties -./jre/lib/tzdb.dat -./jre/LICENSE -./jre/THIRD_PARTY_README -[client] -./bin/gsql -./bin/gs_dump -./bin/gs_dumpall -./bin/gs_restore -./jdbc/gsjdbc4.jar -./jdbc/gsjdbc200.jar -./lib/postgresql/latin2_and_win1250.so -./lib/postgresql/euc2004_sjis2004.so -./lib/postgresql/euc_kr_and_mic.so -./lib/postgresql/utf8_and_uhc.so -./lib/postgresql/euc_tw_and_big5.so -./lib/postgresql/cyrillic_and_mic.so -./lib/postgresql/utf8_and_johab.so -./lib/postgresql/utf8_and_gb18030.so -./lib/postgresql/pgxs/src/makefiles/pgxs.mk -./lib/postgresql/pgxs/src/Makefile.shlib -./lib/postgresql/pgxs/src/Makefile.port -./lib/postgresql/pgxs/src/nls-global.mk -./lib/postgresql/pgxs/src/Makefile.global -./lib/postgresql/pgxs/config/install-sh -./lib/postgresql/euc_cn_and_mic.so -./lib/postgresql/latin_and_mic.so -./lib/postgresql/utf8_and_sjis2004.so -./lib/postgresql/utf8_and_euc_jp.so -./lib/postgresql/utf8_and_sjis.so -./lib/postgresql/utf8_and_cyrillic.so -./lib/postgresql/utf8_and_euc_kr.so -./lib/postgresql/ascii_and_mic.so -./lib/postgresql/utf8_and_iso8859_1.so -./lib/postgresql/euc_jp_and_sjis.so -./lib/postgresql/dict_snowball.so -./lib/postgresql/utf8_and_ascii.so -./lib/postgresql/utf8_and_euc_tw.so -./lib/postgresql/utf8_and_iso8859.so -./lib/postgresql/utf8_and_win.so -./lib/postgresql/utf8_and_euc_cn.so -./lib/postgresql/utf8_and_gbk.so -./lib/postgresql/utf8_and_euc2004.so -./lib/postgresql/utf8_and_big5.so -./lib/postgresql/java/pljava.jar -./lib/libpljava.so -./lib/libpq.a -./lib/libpq.so -./lib/libpq.so.5 -./lib/libpq.so.5.5 -./lib/libpq_ce.so -./lib/libpq_ce.so.5 -./lib/libpq_ce.so.5.5 -./lib/libcrypto.so -./lib/libcrypto.so.1.1 -./lib/libstdc++.so.6 -./lib/libssl.so -./lib/libssl.so.1.1 -./lib/libgssapi_krb5_gauss.so -./lib/libgssapi_krb5_gauss.so.2 -./lib/libgssapi_krb5_gauss.so.2.2 -./lib/libgssrpc_gauss.so -./lib/libgssrpc_gauss.so.4 -./lib/libgssrpc_gauss.so.4.2 -./lib/libk5crypto_gauss.so -./lib/libk5crypto_gauss.so.3 -./lib/libk5crypto_gauss.so.3.1 -./lib/libkrb5support_gauss.so -./lib/libkrb5support_gauss.so.0 -./lib/libkrb5support_gauss.so.0.1 -./lib/libkrb5_gauss.so -./lib/libkrb5_gauss.so.3 -./lib/libkrb5_gauss.so.3.3 -./lib/libcom_err_gauss.so -./lib/libcom_err_gauss.so.3 -./lib/libcom_err_gauss.so.3.0 -./odbc/lib/psqlodbcw.la -./odbc/lib/psqlodbcw.so -[libpq] -./lib/libpq.a -./lib/libpq.so -./lib/libpq.so.5 -./lib/libpq.so.5.5 -./lib/libpq_ce.so -./lib/libpq_ce.so.5 -./lib/libpq_ce.so.5.5 -./lib/libconfig.so -./lib/libconfig.so.4 -./lib/libcmclient.so -./lib/libcmclient.so.1 -./lib/libcmcommon.so -./lib/libcmcommon.so.2 -./lib/libcmpq.so -./lib/libcmpq.so.1 -./lib/libcrypto.so -./lib/libcrypto.so.1.1 -./lib/libstdc++.so.6 -./lib/libssl.so -./lib/libssl.so.1.1 -./lib/libpgport_tool.so -./lib/libpgport_tool.so.1 -./lib/libgssapi_krb5_gauss.so -./lib/libgssapi_krb5_gauss.so.2 -./lib/libgssapi_krb5_gauss.so.2.2 -./lib/libgssrpc_gauss.so -./lib/libgssrpc_gauss.so.4 -./lib/libgssrpc_gauss.so.4.2 -./lib/libk5crypto_gauss.so -./lib/libk5crypto_gauss.so.3 -./lib/libk5crypto_gauss.so.3.1 -./lib/libkrb5support_gauss.so -./lib/libkrb5support_gauss.so.0 -./lib/libkrb5support_gauss.so.0.1 -./lib/libkrb5_gauss.so -./lib/libkrb5_gauss.so.3 -./lib/libkrb5_gauss.so.3.3 -./lib/libcom_err_gauss.so -./lib/libcom_err_gauss.so.3 -./lib/libcom_err_gauss.so.3.0 -[cmlibrary] -./lib/libconfig.a -./lib/libcmclient.a -./lib/libcmcommon.a -./lib/libcmpq.a -./lib/libpgport.a -[header] -./include/libpq-fe.h -./include/postgres_ext.h -./include/gs_thread.h -./include/gs_threadlocal.h -./include/pg_config.h -./include/pg_config_manual.h -./include/pg_config_os.h -./include/cm_config.h -./include/c.h -./include/port.h -./include/cm_msg.h -./include/cm_c.h -./include/cm_misc.h -./include/libpq-int.h -./include/pqcomm.h -./include/pqexpbuffer.h -./include/xlogdefs.h -./include/cm-libpq-fe.h -[gds] -./bin/gds -./bin/gds_ctl.py -./share/postgresql/gds.conf -./share/postgresql/gds.conf.sample -./lib/libcjson.so -./lib/libcjson.so.1 -./lib/libcjson.so.1.7.13 -[version] -V500R001C20 -[script] -./script/__init__.py -./script/gs_check -./script/gs_checkos -./script/gs_checkperf -./script/gs_collector -./script/gs_backup -./script/gs_expand -./script/gs_install -./script/gs_om -./script/gs_hotpatch -./script/gs_postuninstall -./script/gs_preinstall -./script/gs_replace -./script/gs_shrink -./script/gs_ssh -./script/gs_sshexkey -./script/gs_uninstall -./script/gs_upgradectl -./script/gs_lcctl -./script/gs_resize -./script/uninstall_force.py -./script/checkRunStatus.py -./script/JsonToDbClustorInfo.py -./script/killall -./script/nodegroup_migrate.sh diff --git a/build/script/mpp_release_list_euleros_aarch64_single b/build/script/mpp_release_list_euleros_aarch64_single deleted file mode 100644 index b11b5d002..000000000 --- a/build/script/mpp_release_list_euleros_aarch64_single +++ /dev/null @@ -1,1390 +0,0 @@ -[server] -./bin/gds -./bin/gs_log -./bin/gsql -./bin/gaussdb -./bin/gaussdb.version.GaussDB200 -./bin/gaussdb.version.GaussDB300 -./bin/gaussdb.license.GaussDB200_Standard -./bin/gaussmaster -./bin/gstrace -./bin/gs_encrypt -./bin/gs_dump -./bin/gs_dumpall -./bin/gs_initcm -./bin/gs_ctl -./bin/gs_initdb -./bin/cm_server -./bin/cm_agent -./bin/om_monitor -./bin/cm_ctl -./bin/etcd -./bin/etcdctl -./bin/seq_query -./bin/gs_guc -./bin/encrypt -./bin/gs_roach -./bin/gs_clean -./bin/openssl -./bin/gs_redis -./bin/gs_restore -./bin/gs_cgroup -./bin/openssl -./bin/pg_config -./bin/pg_controldata -./bin/pg_format_cu -./bin/pg_resetxlog -./bin/alarmItem.conf -./bin/retry_errcodes.conf -./bin/cluster_guc.conf -./bin/runsessionstat.sh -./bin/drop_caches.sh -./bin/run_drop_cache.sh -./bin/transfer.py -./bin/getDEK.jar -./bin/gs_plan_simulator.sh -./bin/dependences/clean_temp.sql -./bin/dependences/initdb.py -./bin/dependences/restore_temp.sql -./bin/dependences/store_pg_class_stats.sql -./bin/dependences/store_pg_statistic_ext_stats.sql -./bin/dependences/store_pg_statistic_stats.sql -./bin/dependences/store_pgxc_class.sql -./bin/krb5kdc -./bin/klist -./bin/kinit -./bin/kdestroy -./bin/kdb5_util -./bin/kadmin.local -./bin/lz4 -./etc/kerberos/kadm5.acl -./etc/kerberos/kdc.conf -./etc/kerberos/krb5.conf -./etc/kerberos/mppdb-site.xml -./share/postgis/PostGIS_install.sh -./share/postgresql/tmp/udstools.py -./share/postgresql/snowball_create.sql -./share/postgresql/pmk_schema.sql -./share/postgresql/pmk_schema_single_inst.sql -./share/postgresql/pg_hba.conf.sample -./share/postgresql/pg_service.conf.sample -./share/postgresql/psqlrc.sample -./share/postgresql/conversion_create.sql -./share/postgresql/postgres.shdescription -./share/postgresql/pg_ident.conf.sample -./share/postgresql/postgres.description -./share/postgresql/postgresql.conf.sample -./share/postgresql/extension/plpgsql--1.0.sql -./share/postgresql/extension/hstore.control -./share/postgresql/extension/security_plugin.control -./share/postgresql/extension/security_plugin--1.0.sql -./share/postgresql/extension/tsdb.control -./share/postgresql/extension/tsdb--1.0.sql -./share/postgresql/extension/streaming--1.0.sql -./share/postgresql/extension/streaming.control -./share/postgresql/extension/file_fdw--1.0.sql -./share/postgresql/extension/plpgsql.control -./share/postgresql/extension/dist_fdw.control -./share/postgresql/extension/dist_fdw--1.0.sql -./share/postgresql/extension/hstore--1.1.sql -./share/postgresql/extension/plpgsql--unpackaged--1.0.sql -./share/postgresql/extension/file_fdw.control -./share/postgresql/extension/hstore--unpackaged--1.0.sql -./share/postgresql/extension/hstore--1.0--1.1.sql -./share/postgresql/extension/hdfs_fdw--1.0.sql -./share/postgresql/extension/hdfs_fdw.control -./share/postgresql/extension/gc_fdw--1.0.sql -./share/postgresql/extension/gc_fdw.control -./share/postgresql/extension/roach_api--1.0.sql -./share/postgresql/extension/roach_api.control -./share/postgresql/extension/log_fdw--1.0.sql -./share/postgresql/extension/log_fdw.control -./share/postgresql/extension/dimsearch--1.0.sql -./share/postgresql/extension/dimsearch.control -./share/postgresql/extension/packages--1.0.sql -./share/postgresql/extension/packages--1.0--1.1.sql -./share/postgresql/extension/packages.control -./share/postgresql/extension/gsredistribute.control -./share/postgresql/extension/gsredistribute--1.0.sql -./share/postgresql/extension/gsredistribute--unpackaged--1.0.sql -./share/postgresql/extension/postgres_fdw--1.0.sql -./share/postgresql/extension/postgres_fdw.control -./share/postgresql/timezone/GB-Eire -./share/postgresql/timezone/Turkey -./share/postgresql/timezone/Kwajalein -./share/postgresql/timezone/UCT -./share/postgresql/timezone/Mexico/BajaSur -./share/postgresql/timezone/Mexico/BajaNorte -./share/postgresql/timezone/Mexico/General -./share/postgresql/timezone/Japan -./share/postgresql/timezone/Israel -./share/postgresql/timezone/US/Eastern -./share/postgresql/timezone/US/Samoa -./share/postgresql/timezone/US/Michigan -./share/postgresql/timezone/US/Aleutian -./share/postgresql/timezone/US/Pacific -./share/postgresql/timezone/US/Pacific-New -./share/postgresql/timezone/US/Indiana-Starke -./share/postgresql/timezone/US/Mountain -./share/postgresql/timezone/US/East-Indiana -./share/postgresql/timezone/US/Hawaii -./share/postgresql/timezone/US/Arizona -./share/postgresql/timezone/US/Alaska -./share/postgresql/timezone/US/Central -./share/postgresql/timezone/Greenwich -./share/postgresql/timezone/Poland -./share/postgresql/timezone/CET -./share/postgresql/timezone/GMT-0 -./share/postgresql/timezone/Indian/Mauritius -./share/postgresql/timezone/Indian/Cocos -./share/postgresql/timezone/Indian/Reunion -./share/postgresql/timezone/Indian/Maldives -./share/postgresql/timezone/Indian/Comoro -./share/postgresql/timezone/Indian/Antananarivo -./share/postgresql/timezone/Indian/Christmas -./share/postgresql/timezone/Indian/Kerguelen -./share/postgresql/timezone/Indian/Chagos -./share/postgresql/timezone/Indian/Mayotte -./share/postgresql/timezone/Indian/Mahe -./share/postgresql/timezone/GMT0 -./share/postgresql/timezone/Antarctica/Palmer -./share/postgresql/timezone/Antarctica/Syowa -./share/postgresql/timezone/Antarctica/South_Pole -./share/postgresql/timezone/Antarctica/McMurdo -./share/postgresql/timezone/Antarctica/Rothera -./share/postgresql/timezone/Antarctica/Mawson -./share/postgresql/timezone/Antarctica/Casey -./share/postgresql/timezone/Antarctica/Davis -./share/postgresql/timezone/Antarctica/DumontDUrville -./share/postgresql/timezone/Antarctica/Vostok -./share/postgresql/timezone/Antarctica/Macquarie -./share/postgresql/timezone/ROK -./share/postgresql/timezone/Chile/EasterIsland -./share/postgresql/timezone/Chile/Continental -./share/postgresql/timezone/posixrules -./share/postgresql/timezone/Atlantic/Azores -./share/postgresql/timezone/Atlantic/St_Helena -./share/postgresql/timezone/Atlantic/Madeira -./share/postgresql/timezone/Atlantic/Jan_Mayen -./share/postgresql/timezone/Atlantic/Faroe -./share/postgresql/timezone/Atlantic/Stanley -./share/postgresql/timezone/Atlantic/Cape_Verde -./share/postgresql/timezone/Atlantic/Reykjavik -./share/postgresql/timezone/Atlantic/Canary -./share/postgresql/timezone/Atlantic/South_Georgia -./share/postgresql/timezone/Atlantic/Bermuda -./share/postgresql/timezone/Atlantic/Faeroe -./share/postgresql/timezone/Hongkong -./share/postgresql/timezone/Libya -./share/postgresql/timezone/Iceland -./share/postgresql/timezone/UTC -./share/postgresql/timezone/Australia/Darwin -./share/postgresql/timezone/Australia/North -./share/postgresql/timezone/Australia/NSW -./share/postgresql/timezone/Australia/Sydney -./share/postgresql/timezone/Australia/Hobart -./share/postgresql/timezone/Australia/LHI -./share/postgresql/timezone/Australia/Victoria -./share/postgresql/timezone/Australia/South -./share/postgresql/timezone/Australia/Melbourne -./share/postgresql/timezone/Australia/Lord_Howe -./share/postgresql/timezone/Australia/West -./share/postgresql/timezone/Australia/Brisbane -./share/postgresql/timezone/Australia/Perth -./share/postgresql/timezone/Australia/Eucla -./share/postgresql/timezone/Australia/Canberra -./share/postgresql/timezone/Australia/Queensland -./share/postgresql/timezone/Australia/Broken_Hill -./share/postgresql/timezone/Australia/Lindeman -./share/postgresql/timezone/Australia/ACT -./share/postgresql/timezone/Australia/Currie -./share/postgresql/timezone/Australia/Adelaide -./share/postgresql/timezone/Australia/Yancowinna -./share/postgresql/timezone/Australia/Tasmania -./share/postgresql/timezone/Jamaica -./share/postgresql/timezone/EST5EDT -./share/postgresql/timezone/MET -./share/postgresql/timezone/W-SU -./share/postgresql/timezone/Mideast/Riyadh87 -./share/postgresql/timezone/Mideast/Riyadh88 -./share/postgresql/timezone/Mideast/Riyadh89 -./share/postgresql/timezone/WET -./share/postgresql/timezone/ROC -./share/postgresql/timezone/Factory -./share/postgresql/timezone/EET -./share/postgresql/timezone/PST8PDT -./share/postgresql/timezone/Portugal -./share/postgresql/timezone/NZ -./share/postgresql/timezone/Brazil/West -./share/postgresql/timezone/Brazil/DeNoronha -./share/postgresql/timezone/Brazil/Acre -./share/postgresql/timezone/Brazil/East -./share/postgresql/timezone/EST -./share/postgresql/timezone/Egypt -./share/postgresql/timezone/Universal -./share/postgresql/timezone/Pacific/Enderbury -./share/postgresql/timezone/Pacific/Noumea -./share/postgresql/timezone/Pacific/Kwajalein -./share/postgresql/timezone/Pacific/Norfolk -./share/postgresql/timezone/Pacific/Nauru -./share/postgresql/timezone/Pacific/Efate -./share/postgresql/timezone/Pacific/Kosrae -./share/postgresql/timezone/Pacific/Galapagos -./share/postgresql/timezone/Pacific/Truk -./share/postgresql/timezone/Pacific/Fiji -./share/postgresql/timezone/Pacific/Auckland -./share/postgresql/timezone/Pacific/Samoa -./share/postgresql/timezone/Pacific/Port_Moresby -./share/postgresql/timezone/Pacific/Johnston -./share/postgresql/timezone/Pacific/Apia -./share/postgresql/timezone/Pacific/Tarawa -./share/postgresql/timezone/Pacific/Pitcairn -./share/postgresql/timezone/Pacific/Marquesas -./share/postgresql/timezone/Pacific/Chatham -./share/postgresql/timezone/Pacific/Tahiti -./share/postgresql/timezone/Pacific/Tongatapu -./share/postgresql/timezone/Pacific/Saipan -./share/postgresql/timezone/Pacific/Fakaofo -./share/postgresql/timezone/Pacific/Guam -./share/postgresql/timezone/Pacific/Niue -./share/postgresql/timezone/Pacific/Chuuk -./share/postgresql/timezone/Pacific/Easter -./share/postgresql/timezone/Pacific/Wallis -./share/postgresql/timezone/Pacific/Gambier -./share/postgresql/timezone/Pacific/Majuro -./share/postgresql/timezone/Pacific/Kiritimati -./share/postgresql/timezone/Pacific/Guadalcanal -./share/postgresql/timezone/Pacific/Funafuti -./share/postgresql/timezone/Pacific/Rarotonga -./share/postgresql/timezone/Pacific/Pago_Pago -./share/postgresql/timezone/Pacific/Midway -./share/postgresql/timezone/Pacific/Palau -./share/postgresql/timezone/Pacific/Honolulu -./share/postgresql/timezone/Pacific/Yap -./share/postgresql/timezone/Pacific/Pohnpei -./share/postgresql/timezone/Pacific/Wake -./share/postgresql/timezone/Pacific/Ponape -./share/postgresql/timezone/Iran -./share/postgresql/timezone/Etc/GMT-4 -./share/postgresql/timezone/Etc/GMT-9 -./share/postgresql/timezone/Etc/UCT -./share/postgresql/timezone/Etc/GMT-7 -./share/postgresql/timezone/Etc/Greenwich -./share/postgresql/timezone/Etc/GMT-0 -./share/postgresql/timezone/Etc/GMT-5 -./share/postgresql/timezone/Etc/GMT0 -./share/postgresql/timezone/Etc/GMT+7 -./share/postgresql/timezone/Etc/GMT-2 -./share/postgresql/timezone/Etc/GMT-10 -./share/postgresql/timezone/Etc/GMT+6 -./share/postgresql/timezone/Etc/GMT+1 -./share/postgresql/timezone/Etc/UTC -./share/postgresql/timezone/Etc/GMT-3 -./share/postgresql/timezone/Etc/GMT-1 -./share/postgresql/timezone/Etc/GMT-8 -./share/postgresql/timezone/Etc/GMT-11 -./share/postgresql/timezone/Etc/GMT+12 -./share/postgresql/timezone/Etc/GMT+10 -./share/postgresql/timezone/Etc/GMT-12 -./share/postgresql/timezone/Etc/GMT+5 -./share/postgresql/timezone/Etc/Universal -./share/postgresql/timezone/Etc/GMT-13 -./share/postgresql/timezone/Etc/GMT-6 -./share/postgresql/timezone/Etc/GMT+9 -./share/postgresql/timezone/Etc/GMT+3 -./share/postgresql/timezone/Etc/GMT-14 -./share/postgresql/timezone/Etc/GMT+4 -./share/postgresql/timezone/Etc/Zulu -./share/postgresql/timezone/Etc/GMT+2 -./share/postgresql/timezone/Etc/GMT+0 -./share/postgresql/timezone/Etc/GMT+8 -./share/postgresql/timezone/Etc/GMT+11 -./share/postgresql/timezone/Etc/GMT -./share/postgresql/timezone/Zulu -./share/postgresql/timezone/GMT+0 -./share/postgresql/timezone/Singapore -./share/postgresql/timezone/NZ-CHAT -./share/postgresql/timezone/Cuba -./share/postgresql/timezone/GB -./share/postgresql/timezone/Arctic/Longyearbyen -./share/postgresql/timezone/MST7MDT -./share/postgresql/timezone/PRC -./share/postgresql/timezone/Canada/Eastern -./share/postgresql/timezone/Canada/Yukon -./share/postgresql/timezone/Canada/Atlantic -./share/postgresql/timezone/Canada/Newfoundland -./share/postgresql/timezone/Canada/Saskatchewan -./share/postgresql/timezone/Canada/Pacific -./share/postgresql/timezone/Canada/East-Saskatchewan -./share/postgresql/timezone/Canada/Mountain -./share/postgresql/timezone/Canada/Central -./share/postgresql/timezone/CST6CDT -./share/postgresql/timezone/HST -./share/postgresql/timezone/America/Boa_Vista -./share/postgresql/timezone/America/New_York -./share/postgresql/timezone/America/Santarem -./share/postgresql/timezone/America/Boise -./share/postgresql/timezone/America/St_Lucia -./share/postgresql/timezone/America/Mendoza -./share/postgresql/timezone/America/Mexico_City -./share/postgresql/timezone/America/Chihuahua -./share/postgresql/timezone/America/Indianapolis -./share/postgresql/timezone/America/Virgin -./share/postgresql/timezone/America/Atka -./share/postgresql/timezone/America/Winnipeg -./share/postgresql/timezone/America/Hermosillo -./share/postgresql/timezone/America/Indiana/Indianapolis -./share/postgresql/timezone/America/Indiana/Tell_City -./share/postgresql/timezone/America/Indiana/Winamac -./share/postgresql/timezone/America/Indiana/Knox -./share/postgresql/timezone/America/Indiana/Vincennes -./share/postgresql/timezone/America/Indiana/Vevay -./share/postgresql/timezone/America/Indiana/Petersburg -./share/postgresql/timezone/America/Indiana/Marengo -./share/postgresql/timezone/America/Moncton -./share/postgresql/timezone/America/Campo_Grande -./share/postgresql/timezone/America/Guyana -./share/postgresql/timezone/America/Caracas -./share/postgresql/timezone/America/Maceio -./share/postgresql/timezone/America/Godthab -./share/postgresql/timezone/America/Thunder_Bay -./share/postgresql/timezone/America/Havana -./share/postgresql/timezone/America/Santiago -./share/postgresql/timezone/America/Los_Angeles -./share/postgresql/timezone/America/Buenos_Aires -./share/postgresql/timezone/America/Manaus -./share/postgresql/timezone/America/Bahia -./share/postgresql/timezone/America/North_Dakota/New_Salem -./share/postgresql/timezone/America/North_Dakota/Beulah -./share/postgresql/timezone/America/North_Dakota/Center -./share/postgresql/timezone/America/Bahia_Banderas -./share/postgresql/timezone/America/Edmonton -./share/postgresql/timezone/America/Tegucigalpa -./share/postgresql/timezone/America/Rankin_Inlet -./share/postgresql/timezone/America/Monterrey -./share/postgresql/timezone/America/Cambridge_Bay -./share/postgresql/timezone/America/Porto_Velho -./share/postgresql/timezone/America/Antigua -./share/postgresql/timezone/America/Atikokan -./share/postgresql/timezone/America/Vancouver -./share/postgresql/timezone/America/Anchorage -./share/postgresql/timezone/America/Port-au-Prince -./share/postgresql/timezone/America/Lima -./share/postgresql/timezone/America/Grenada -./share/postgresql/timezone/America/Creston -./share/postgresql/timezone/America/La_Paz -./share/postgresql/timezone/America/Panama -./share/postgresql/timezone/America/Blanc-Sablon -./share/postgresql/timezone/America/Cayenne -./share/postgresql/timezone/America/Santo_Domingo -./share/postgresql/timezone/America/Grand_Turk -./share/postgresql/timezone/America/Toronto -./share/postgresql/timezone/America/Rainy_River -./share/postgresql/timezone/America/Merida -./share/postgresql/timezone/America/Port_of_Spain -./share/postgresql/timezone/America/Nipigon -./share/postgresql/timezone/America/Jamaica -./share/postgresql/timezone/America/Rosario -./share/postgresql/timezone/America/Dawson_Creek -./share/postgresql/timezone/America/Belize -./share/postgresql/timezone/America/Costa_Rica -./share/postgresql/timezone/America/Barbados -./share/postgresql/timezone/America/Danmarkshavn -./share/postgresql/timezone/America/Argentina/La_Rioja -./share/postgresql/timezone/America/Argentina/Mendoza -./share/postgresql/timezone/America/Argentina/Buenos_Aires -./share/postgresql/timezone/America/Argentina/Tucuman -./share/postgresql/timezone/America/Argentina/Ushuaia -./share/postgresql/timezone/America/Argentina/Catamarca -./share/postgresql/timezone/America/Argentina/ComodRivadavia -./share/postgresql/timezone/America/Argentina/Jujuy -./share/postgresql/timezone/America/Argentina/Cordoba -./share/postgresql/timezone/America/Argentina/San_Luis -./share/postgresql/timezone/America/Argentina/Rio_Gallegos -./share/postgresql/timezone/America/Argentina/Salta -./share/postgresql/timezone/America/Argentina/San_Juan -./share/postgresql/timezone/America/Pangnirtung -./share/postgresql/timezone/America/Anguilla -./share/postgresql/timezone/America/Curacao -./share/postgresql/timezone/America/Cancun -./share/postgresql/timezone/America/Montreal -./share/postgresql/timezone/America/Shiprock -./share/postgresql/timezone/America/Thule -./share/postgresql/timezone/America/Scoresbysund -./share/postgresql/timezone/America/Catamarca -./share/postgresql/timezone/America/Sao_Paulo -./share/postgresql/timezone/America/Sitka -./share/postgresql/timezone/America/Asuncion -./share/postgresql/timezone/America/Regina -./share/postgresql/timezone/America/St_Johns -./share/postgresql/timezone/America/Montevideo -./share/postgresql/timezone/America/Eirunepe -./share/postgresql/timezone/America/Denver -./share/postgresql/timezone/America/Metlakatla -./share/postgresql/timezone/America/Araguaina -./share/postgresql/timezone/America/Juneau -./share/postgresql/timezone/America/Marigot -./share/postgresql/timezone/America/Menominee -./share/postgresql/timezone/America/Glace_Bay -./share/postgresql/timezone/America/Tijuana -./share/postgresql/timezone/America/Detroit -./share/postgresql/timezone/America/Belem -./share/postgresql/timezone/America/Jujuy -./share/postgresql/timezone/America/St_Thomas -./share/postgresql/timezone/America/Resolute -./share/postgresql/timezone/America/Cuiaba -./share/postgresql/timezone/America/Halifax -./share/postgresql/timezone/America/St_Barthelemy -./share/postgresql/timezone/America/Guatemala -./share/postgresql/timezone/America/Nassau -./share/postgresql/timezone/America/St_Kitts -./share/postgresql/timezone/America/Cordoba -./share/postgresql/timezone/America/Miquelon -./share/postgresql/timezone/America/Bogota -./share/postgresql/timezone/America/Rio_Branco -./share/postgresql/timezone/America/Ensenada -./share/postgresql/timezone/America/Yakutat -./share/postgresql/timezone/America/Noronha -./share/postgresql/timezone/America/Kentucky/Monticello -./share/postgresql/timezone/America/Kentucky/Louisville -./share/postgresql/timezone/America/Porto_Acre -./share/postgresql/timezone/America/Santa_Isabel -./share/postgresql/timezone/America/El_Salvador -./share/postgresql/timezone/America/Yellowknife -./share/postgresql/timezone/America/Cayman -./share/postgresql/timezone/America/Whitehorse -./share/postgresql/timezone/America/Ojinaga -./share/postgresql/timezone/America/Aruba -./share/postgresql/timezone/America/Nome -./share/postgresql/timezone/America/Fortaleza -./share/postgresql/timezone/America/Martinique -./share/postgresql/timezone/America/Recife -./share/postgresql/timezone/America/Knox_IN -./share/postgresql/timezone/America/Guayaquil -./share/postgresql/timezone/America/Goose_Bay -./share/postgresql/timezone/America/Iqaluit -./share/postgresql/timezone/America/Matamoros -./share/postgresql/timezone/America/Lower_Princes -./share/postgresql/timezone/America/Louisville -./share/postgresql/timezone/America/Coral_Harbour -./share/postgresql/timezone/America/Phoenix -./share/postgresql/timezone/America/Guadeloupe -./share/postgresql/timezone/America/Mazatlan -./share/postgresql/timezone/America/Swift_Current -./share/postgresql/timezone/America/Paramaribo -./share/postgresql/timezone/America/Dominica -./share/postgresql/timezone/America/Kralendijk -./share/postgresql/timezone/America/Montserrat -./share/postgresql/timezone/America/St_Vincent -./share/postgresql/timezone/America/Fort_Wayne -./share/postgresql/timezone/America/Dawson -./share/postgresql/timezone/America/Inuvik -./share/postgresql/timezone/America/Adak -./share/postgresql/timezone/America/Managua -./share/postgresql/timezone/America/Puerto_Rico -./share/postgresql/timezone/America/Tortola -./share/postgresql/timezone/America/Chicago -./share/postgresql/timezone/Africa/Lome -./share/postgresql/timezone/Africa/Brazzaville -./share/postgresql/timezone/Africa/Khartoum -./share/postgresql/timezone/Africa/Ceuta -./share/postgresql/timezone/Africa/Djibouti -./share/postgresql/timezone/Africa/Lagos -./share/postgresql/timezone/Africa/Accra -./share/postgresql/timezone/Africa/El_Aaiun -./share/postgresql/timezone/Africa/Malabo -./share/postgresql/timezone/Africa/Windhoek -./share/postgresql/timezone/Africa/Tripoli -./share/postgresql/timezone/Africa/Bissau -./share/postgresql/timezone/Africa/Blantyre -./share/postgresql/timezone/Africa/Kinshasa -./share/postgresql/timezone/Africa/Porto-Novo -./share/postgresql/timezone/Africa/Nairobi -./share/postgresql/timezone/Africa/Ouagadougou -./share/postgresql/timezone/Africa/Asmera -./share/postgresql/timezone/Africa/Cairo -./share/postgresql/timezone/Africa/Lubumbashi -./share/postgresql/timezone/Africa/Tunis -./share/postgresql/timezone/Africa/Dar_es_Salaam -./share/postgresql/timezone/Africa/Casablanca -./share/postgresql/timezone/Africa/Algiers -./share/postgresql/timezone/Africa/Mbabane -./share/postgresql/timezone/Africa/Monrovia -./share/postgresql/timezone/Africa/Nouakchott -./share/postgresql/timezone/Africa/Banjul -./share/postgresql/timezone/Africa/Kampala -./share/postgresql/timezone/Africa/Conakry -./share/postgresql/timezone/Africa/Mogadishu -./share/postgresql/timezone/Africa/Ndjamena -./share/postgresql/timezone/Africa/Niamey -./share/postgresql/timezone/Africa/Lusaka -./share/postgresql/timezone/Africa/Addis_Ababa -./share/postgresql/timezone/Africa/Sao_Tome -./share/postgresql/timezone/Africa/Abidjan -./share/postgresql/timezone/Africa/Harare -./share/postgresql/timezone/Africa/Asmara -./share/postgresql/timezone/Africa/Douala -./share/postgresql/timezone/Africa/Freetown -./share/postgresql/timezone/Africa/Libreville -./share/postgresql/timezone/Africa/Luanda -./share/postgresql/timezone/Africa/Maseru -./share/postgresql/timezone/Africa/Gaborone -./share/postgresql/timezone/Africa/Maputo -./share/postgresql/timezone/Africa/Timbuktu -./share/postgresql/timezone/Africa/Bangui -./share/postgresql/timezone/Africa/Bamako -./share/postgresql/timezone/Africa/Dakar -./share/postgresql/timezone/Africa/Juba -./share/postgresql/timezone/Africa/Bujumbura -./share/postgresql/timezone/Africa/Johannesburg -./share/postgresql/timezone/Africa/Kigali -./share/postgresql/timezone/Eire -./share/postgresql/timezone/Europe/Vaduz -./share/postgresql/timezone/Europe/Podgorica -./share/postgresql/timezone/Europe/Rome -./share/postgresql/timezone/Europe/Vienna -./share/postgresql/timezone/Europe/Dublin -./share/postgresql/timezone/Europe/Zurich -./share/postgresql/timezone/Europe/London -./share/postgresql/timezone/Europe/Monaco -./share/postgresql/timezone/Europe/Sofia -./share/postgresql/timezone/Europe/Uzhgorod -./share/postgresql/timezone/Europe/Minsk -./share/postgresql/timezone/Europe/Malta -./share/postgresql/timezone/Europe/Busingen -./share/postgresql/timezone/Europe/Gibraltar -./share/postgresql/timezone/Europe/Volgograd -./share/postgresql/timezone/Europe/Budapest -./share/postgresql/timezone/Europe/Vatican -./share/postgresql/timezone/Europe/Luxembourg -./share/postgresql/timezone/Europe/Chisinau -./share/postgresql/timezone/Europe/Nicosia -./share/postgresql/timezone/Europe/Warsaw -./share/postgresql/timezone/Europe/San_Marino -./share/postgresql/timezone/Europe/Copenhagen -./share/postgresql/timezone/Europe/Ljubljana -./share/postgresql/timezone/Europe/Athens -./share/postgresql/timezone/Europe/Skopje -./share/postgresql/timezone/Europe/Andorra -./share/postgresql/timezone/Europe/Kaliningrad -./share/postgresql/timezone/Europe/Amsterdam -./share/postgresql/timezone/Europe/Guernsey -./share/postgresql/timezone/Europe/Isle_of_Man -./share/postgresql/timezone/Europe/Tirane -./share/postgresql/timezone/Europe/Jersey -./share/postgresql/timezone/Europe/Madrid -./share/postgresql/timezone/Europe/Helsinki -./share/postgresql/timezone/Europe/Riga -./share/postgresql/timezone/Europe/Zagreb -./share/postgresql/timezone/Europe/Bratislava -./share/postgresql/timezone/Europe/Prague -./share/postgresql/timezone/Europe/Tallinn -./share/postgresql/timezone/Europe/Stockholm -./share/postgresql/timezone/Europe/Tiraspol -./share/postgresql/timezone/Europe/Belgrade -./share/postgresql/timezone/Europe/Bucharest -./share/postgresql/timezone/Europe/Vilnius -./share/postgresql/timezone/Europe/Sarajevo -./share/postgresql/timezone/Europe/Belfast -./share/postgresql/timezone/Europe/Zaporozhye -./share/postgresql/timezone/Europe/Oslo -./share/postgresql/timezone/Europe/Mariehamn -./share/postgresql/timezone/Europe/Moscow -./share/postgresql/timezone/Europe/Brussels -./share/postgresql/timezone/Europe/Paris -./share/postgresql/timezone/Europe/Istanbul -./share/postgresql/timezone/Europe/Simferopol -./share/postgresql/timezone/Europe/Lisbon -./share/postgresql/timezone/Europe/Berlin -./share/postgresql/timezone/Europe/Kiev -./share/postgresql/timezone/Europe/Samara -./share/postgresql/timezone/MST -./share/postgresql/timezone/Asia/Khandyga -./share/postgresql/timezone/Asia/Manila -./share/postgresql/timezone/Asia/Novokuznetsk -./share/postgresql/timezone/Asia/Baghdad -./share/postgresql/timezone/Asia/Macau -./share/postgresql/timezone/Asia/Urumqi -./share/postgresql/timezone/Asia/Ujung_Pandang -./share/postgresql/timezone/Asia/Ulan_Bator -./share/postgresql/timezone/Asia/Bishkek -./share/postgresql/timezone/Asia/Qatar -./share/postgresql/timezone/Asia/Qyzylorda -./share/postgresql/timezone/Asia/Calcutta -./share/postgresql/timezone/Asia/Riyadh87 -./share/postgresql/timezone/Asia/Dushanbe -./share/postgresql/timezone/Asia/Yekaterinburg -./share/postgresql/timezone/Asia/Dhaka -./share/postgresql/timezone/Asia/Jakarta -./share/postgresql/timezone/Asia/Shanghai -./share/postgresql/timezone/Asia/Ulaanbaatar -./share/postgresql/timezone/Asia/Jerusalem -./share/postgresql/timezone/Asia/Ashkhabad -./share/postgresql/timezone/Asia/Tokyo -./share/postgresql/timezone/Asia/Macao -./share/postgresql/timezone/Asia/Krasnoyarsk -./share/postgresql/timezone/Asia/Saigon -./share/postgresql/timezone/Asia/Omsk -./share/postgresql/timezone/Asia/Damascus -./share/postgresql/timezone/Asia/Phnom_Penh -./share/postgresql/timezone/Asia/Bangkok -./share/postgresql/timezone/Asia/Kamchatka -./share/postgresql/timezone/Asia/Choibalsan -./share/postgresql/timezone/Asia/Ust-Nera -./share/postgresql/timezone/Asia/Aden -./share/postgresql/timezone/Asia/Vientiane -./share/postgresql/timezone/Asia/Sakhalin -./share/postgresql/timezone/Asia/Ashgabat -./share/postgresql/timezone/Asia/Katmandu -./share/postgresql/timezone/Asia/Almaty -./share/postgresql/timezone/Asia/Baku -./share/postgresql/timezone/Asia/Nicosia -./share/postgresql/timezone/Asia/Riyadh88 -./share/postgresql/timezone/Asia/Kashgar -./share/postgresql/timezone/Asia/Riyadh89 -./share/postgresql/timezone/Asia/Taipei -./share/postgresql/timezone/Asia/Tehran -./share/postgresql/timezone/Asia/Kabul -./share/postgresql/timezone/Asia/Samarkand -./share/postgresql/timezone/Asia/Kuala_Lumpur -./share/postgresql/timezone/Asia/Tashkent -./share/postgresql/timezone/Asia/Thimbu -./share/postgresql/timezone/Asia/Thimphu -./share/postgresql/timezone/Asia/Yerevan -./share/postgresql/timezone/Asia/Chungking -./share/postgresql/timezone/Asia/Hebron -./share/postgresql/timezone/Asia/Karachi -./share/postgresql/timezone/Asia/Kolkata -./share/postgresql/timezone/Asia/Aqtobe -./share/postgresql/timezone/Asia/Muscat -./share/postgresql/timezone/Asia/Hong_Kong -./share/postgresql/timezone/Asia/Chongqing -./share/postgresql/timezone/Asia/Oral -./share/postgresql/timezone/Asia/Pontianak -./share/postgresql/timezone/Asia/Colombo -./share/postgresql/timezone/Asia/Pyongyang -./share/postgresql/timezone/Asia/Hovd -./share/postgresql/timezone/Asia/Kuwait -./share/postgresql/timezone/Asia/Anadyr -./share/postgresql/timezone/Asia/Kathmandu -./share/postgresql/timezone/Asia/Irkutsk -./share/postgresql/timezone/Asia/Bahrain -./share/postgresql/timezone/Asia/Dubai -./share/postgresql/timezone/Asia/Jayapura -./share/postgresql/timezone/Asia/Riyadh -./share/postgresql/timezone/Asia/Ho_Chi_Minh -./share/postgresql/timezone/Asia/Singapore -./share/postgresql/timezone/Asia/Tel_Aviv -./share/postgresql/timezone/Asia/Dili -./share/postgresql/timezone/Asia/Rangoon -./share/postgresql/timezone/Asia/Harbin -./share/postgresql/timezone/Asia/Yakutsk -./share/postgresql/timezone/Asia/Magadan -./share/postgresql/timezone/Asia/Amman -./share/postgresql/timezone/Asia/Kuching -./share/postgresql/timezone/Asia/Novosibirsk -./share/postgresql/timezone/Asia/Seoul -./share/postgresql/timezone/Asia/Dacca -./share/postgresql/timezone/Asia/Vladivostok -./share/postgresql/timezone/Asia/Istanbul -./share/postgresql/timezone/Asia/Beirut -./share/postgresql/timezone/Asia/Aqtau -./share/postgresql/timezone/Asia/Brunei -./share/postgresql/timezone/Asia/Gaza -./share/postgresql/timezone/Asia/Tbilisi -./share/postgresql/timezone/Asia/Makassar -./share/postgresql/timezone/Asia/Beijing -./share/postgresql/timezone/Navajo -./share/postgresql/timezone/GMT -./share/postgresql/system_views.sql -./share/postgresql/performance_views.sql -./share/postgresql/sql_features.txt -./share/postgresql/pg_cast_oid.txt -./share/postgresql/recovery.conf.sample -./share/postgresql/cm_server.conf.sample -./share/postgresql/tsearch_data/english.stop -./share/postgresql/tsearch_data/dutch.stop -./share/postgresql/tsearch_data/hungarian.stop -./share/postgresql/tsearch_data/french.stop -./share/postgresql/tsearch_data/synonym_sample.syn -./share/postgresql/tsearch_data/turkish.stop -./share/postgresql/tsearch_data/portuguese.stop -./share/postgresql/tsearch_data/spanish.stop -./share/postgresql/tsearch_data/hunspell_sample.affix -./share/postgresql/tsearch_data/ispell_sample.affix -./share/postgresql/tsearch_data/danish.stop -./share/postgresql/tsearch_data/german.stop -./share/postgresql/tsearch_data/thesaurus_sample.ths -./share/postgresql/tsearch_data/norwegian.stop -./share/postgresql/tsearch_data/finnish.stop -./share/postgresql/tsearch_data/russian.stop -./share/postgresql/tsearch_data/swedish.stop -./share/postgresql/tsearch_data/ispell_sample.dict -./share/postgresql/tsearch_data/italian.stop -./share/postgresql/cm_agent.conf.sample -./share/postgresql/information_schema.sql -./share/postgresql/timezonesets/Antarctica.txt -./share/postgresql/timezonesets/Australia.txt -./share/postgresql/timezonesets/Europe.txt -./share/postgresql/timezonesets/America.txt -./share/postgresql/timezonesets/Australia -./share/postgresql/timezonesets/Indian.txt -./share/postgresql/timezonesets/India -./share/postgresql/timezonesets/Pacific.txt -./share/postgresql/timezonesets/Atlantic.txt -./share/postgresql/timezonesets/Africa.txt -./share/postgresql/timezonesets/Asia.txt -./share/postgresql/timezonesets/Default -./share/postgresql/timezonesets/Etc.txt -./share/postgresql/postgres.bki -./share/llvmir/GaussDB_expr.ir -./share/sslcert/gsql/openssl.cnf -./share/sslcert/gds/openssl.cnf -./share/sslcert/etcd/openssl.cnf -./share/sslcert/grpc/openssl.cnf -./lib/libsimsearch/ -./lib/postgresql/latin2_and_win1250.so -./lib/postgresql/euc2004_sjis2004.so -./lib/postgresql/euc_kr_and_mic.so -./lib/postgresql/utf8_and_uhc.so -./lib/postgresql/euc_tw_and_big5.so -./lib/postgresql/cyrillic_and_mic.so -./lib/postgresql/utf8_and_johab.so -./lib/postgresql/utf8_and_gb18030.so -./lib/postgresql/pgxs/src/makefiles/pgxs.mk -./lib/postgresql/pgxs/src/Makefile.shlib -./lib/postgresql/pgxs/src/Makefile.port -./lib/postgresql/pgxs/src/nls-global.mk -./lib/postgresql/pgxs/src/Makefile.global -./lib/postgresql/pgxs/config/install-sh -./lib/postgresql/euc_cn_and_mic.so -./lib/postgresql/latin_and_mic.so -./lib/postgresql/utf8_and_sjis2004.so -./lib/postgresql/utf8_and_euc_jp.so -./lib/postgresql/utf8_and_sjis.so -./lib/postgresql/utf8_and_cyrillic.so -./lib/postgresql/hstore.so -./lib/postgresql/tsdb.so -./lib/postgresql/gsredistribute.so -./lib/postgresql/streaming.so -./lib/postgresql/packages.so -./lib/postgresql/utf8_and_euc_kr.so -./lib/postgresql/ascii_and_mic.so -./lib/postgresql/utf8_and_iso8859_1.so -./lib/postgresql/euc_jp_and_sjis.so -./lib/postgresql/dict_snowball.so -./lib/postgresql/utf8_and_ascii.so -./lib/postgresql/utf8_and_euc_tw.so -./lib/postgresql/utf8_and_iso8859.so -./lib/postgresql/utf8_and_win.so -./lib/postgresql/utf8_and_euc_cn.so -./lib/postgresql/utf8_and_gbk.so -./lib/postgresql/utf8_and_euc2004.so -./lib/postgresql/utf8_and_big5.so -./lib/postgresql/roach_api.so -./lib/postgresql/mppdb_decoding.so -./lib/postgresql/dimsearch.so -./lib/postgresql/pg_plugin -./lib/postgresql/proc_srclib -./lib/postgresql/security_plugin.so -./lib/postgresql/pg_upgrade_support.so -./lib/postgresql/java/pljava.jar -./lib/postgresql/postgres_fdw.so -./lib/libpljava.so -./lib/libpq.a -./lib/libpq.so -./lib/libpq.so.5 -./lib/libpq.so.5.5 -./lib/libpq_ce.so -./lib/libpq_ce.so.5 -./lib/libpq_ce.so.5.5 -./lib/libcgroup.so -./lib/libcgroup.so.1 -./lib/libcom_err_gauss.so -./lib/libcom_err_gauss.so.3 -./lib/libcom_err_gauss.so.3.0 -./lib/libgpr.so -./lib/libgpr.so.9 -./lib/libgpr.so.9.0.0 -./lib/libgrpc.so -./lib/libgrpc++.so -./lib/libgrpc++.so.1 -./lib/libgrpc++.so.1.28.1 -./lib/libgrpc.so.9 -./lib/libgrpc.so.9.0.0 -./lib/libupb.so -./lib/libupb.so.9 -./lib/libupb.so.9.0.0 -./lib/libabsl_str_format_internal.so -./lib/libabsl_strings.so -./lib/libabsl_throw_delegate.so -./lib/libabsl_strings_internal.so -./lib/libabsl_base.so -./lib/libabsl_dynamic_annotations.so -./lib/libabsl_spinlock_wait.so -./lib/libabsl_int128.so -./lib/libabsl_bad_optional_access.so -./lib/libabsl_raw_logging_internal.so -./lib/libabsl_log_severity.so -./lib/libaddress_sorting.so -./lib/libaddress_sorting.so.9 -./lib/libgssapi_krb5_gauss.so -./lib/libgssapi_krb5_gauss.so.2 -./lib/libgssapi_krb5_gauss.so.2.2 -./lib/libgssrpc_gauss.so -./lib/libgssrpc_gauss.so.4 -./lib/libgssrpc_gauss.so.4.2 -./lib/libk5crypto_gauss.so -./lib/libk5crypto_gauss.so.3 -./lib/libk5crypto_gauss.so.3.1 -./lib/libkadm5clnt.so -./lib/libkadm5clnt_mit.so -./lib/libkadm5clnt_mit.so.11 -./lib/libkadm5clnt_mit.so.11.0 -./lib/libkadm5srv.so -./lib/libkadm5srv_mit.so -./lib/libkadm5srv_mit.so.11 -./lib/libkadm5srv_mit.so.11.0 -./lib/libkdb5.so -./lib/libkdb5.so.9 -./lib/libkdb5.so.9.0 -./lib/libkrad.so -./lib/libkrad.so.0 -./lib/libkrad.so.0.0 -./lib/libkrb5_gauss.so -./lib/libkrb5_gauss.so.3 -./lib/libkrb5_gauss.so.3.3 -./lib/libkrb5support_gauss.so -./lib/libkrb5support_gauss.so.0 -./lib/libkrb5support_gauss.so.0.1 -./lib/krb5/plugins/kdb/db2.so -./lib/libverto.so -./lib/libverto.so.0 -./lib/libverto.so.0.0 -./lib/libcurl.so -./lib/libcurl.so.4 -./lib/libcurl.so.4.6.0 -./lib/libcrypto.so -./lib/libcrypto.so.1.1 -./lib/libssl.so -./lib/libssl.so.1.1 -./lib/libgcc_s.so.1 -./lib/libstdc++.so.6 -./lib/libz.so -./lib/libz.so.1 -./lib/libz.so.1.2.11 -./lib/liblz4.so -./lib/liblz4.so.1 -./lib/liblz4.so.1.9.2 -./lib/libcjson.so -./lib/libcjson.so.1 -./lib/libcjson.so.1.7.13 -./lib/libconfig.so -./lib/libconfig.so.4 -./lib/libcmclient.so -./lib/libcmclient.so.1 -./lib/libcmcommon.so -./lib/libcmcommon.so.2 -./lib/libcmpq.so -./lib/libcmpq.so.1 -./lib/libetcdapi.so -./lib/libetcdapi.so.1 -./lib/libpgport_tool.so -./lib/libpgport_tool.so.1 -./lib/lib_roach_show.so -./lib/roach_contrib.so -./share/llvmir/GaussDB_expr.ir -./lib/libeSDKLogAPI.so -./lib/libeSDKOBS.so -./lib/liblog4cpp.so -./lib/liblog4cpp.so.5 -./lib/liblog4cpp.so.5.0.6 -./lib/libcharset.so -./lib/libcharset.so.1 -./lib/libcharset.so.1.0.0 -./lib/libiconv.so -./lib/libiconv.so.2 -./lib/libiconv.so.2.6.1 -./lib/libnghttp2.so -./lib/libnghttp2.so.14 -./lib/libnghttp2.so.14.20.0 -./lib/libpcre.so -./lib/libpcre.so.1 -./lib/libpcre.so.1.2.12 -./lib/libsecurec.so -./lib/libxml2.so -./lib/libxml2.so.2 -./lib/libxml2.so.2.9.9 -./lib/libparquet.so -./lib/libparquet.so.11 -./lib/libparquet.so.11.1.0 -./lib/OBS.ini -./lib/postgresql/latin2_and_win1250.so -./lib/postgresql/euc2004_sjis2004.so -./lib/libhll.so - - -./include/postgresql/server/postgres_ext.h -./include/postgresql/server/pg_config_os.h -./include/postgresql/server/pgtime.h -./include/postgresql/server/datatypes.h -./include/postgresql/server/client_logic/client_logic_enums.h -./include/postgresql/server/nodes/primnodes.h -./include/postgresql/server/nodes/parsenodes.h -./include/postgresql/server/nodes/parsenodes_common.h -./include/postgresql/server/nodes/bitmapset.h -./include/postgresql/server/nodes/pg_list.h -./include/postgresql/server/nodes/value.h -./include/postgresql/server/nodes/nodes.h -./include/postgresql/server/utils/sortsupport.h -./include/postgresql/server/utils/varbit.h -./include/postgresql/server/utils/spccache.h -./include/postgresql/server/utils/rangetypes.h -./include/postgresql/server/utils/plpgsql.h -./include/postgresql/server/utils/memtrack.h -./include/postgresql/server/utils/pg_locale.h -./include/postgresql/server/utils/tzparser.h -./include/postgresql/server/utils/syscall_lock.h -./include/postgresql/server/utils/partitionmap.h -./include/postgresql/server/utils/array.h -./include/postgresql/server/utils/relmapper.h -./include/postgresql/server/utils/hsearch.h -./include/postgresql/server/utils/xml.h -./include/postgresql/server/utils/bytea.h -./include/postgresql/server/utils/relcache.h -./include/postgresql/server/utils/pg_rusage.h -./include/postgresql/server/utils/numeric.h -./include/postgresql/server/utils/mmpool.h -./include/postgresql/server/utils/nabstime.h -./include/postgresql/server/utils/fmgrtab.h -./include/postgresql/server/utils/snapmgr.h -./include/postgresql/server/utils/syscache.h -./include/postgresql/server/utils/logtape.h -./include/postgresql/server/utils/datum.h -./include/postgresql/server/utils/guc_tables.h -./include/postgresql/server/utils/snapshot.h -./include/postgresql/server/utils/geo_decls.h -./include/postgresql/server/utils/errcodes.h -./include/postgresql/server/utils/inval.h -./include/postgresql/server/utils/help_config.h -./include/postgresql/server/utils/distribute_test.h -./include/postgresql/server/utils/aiomem.h -./include/postgresql/server/utils/tuplestore.h -./include/postgresql/server/utils/rbtree.h -./include/postgresql/server/utils/gs_bitmap.h -./include/postgresql/server/utils/tuplesort.h -./include/postgresql/server/utils/tqual.h -./include/postgresql/server/utils/ps_status.h -./include/postgresql/server/utils/palloc.h -./include/postgresql/server/utils/reltrigger.h -./include/postgresql/server/utils/acl.h -./include/postgresql/server/utils/ascii.h -./include/postgresql/server/utils/selfuncs.h -./include/postgresql/server/utils/json.h -./include/postgresql/server/utils/portal.h -./include/postgresql/server/utils/atomic.h -./include/postgresql/server/utils/elog.h -./include/postgresql/server/utils/date.h -./include/postgresql/server/utils/plancache.h -./include/postgresql/server/utils/int8.h -./include/postgresql/server/utils/timestamp.h -./include/postgresql/server/utils/bloom_filter.h -./include/postgresql/server/utils/fmgroids.h -./include/postgresql/server/utils/pg_crc_tables.h -./include/postgresql/server/utils/probes.h -./include/postgresql/server/utils/datetime.h -./include/postgresql/server/utils/inet.h -./include/postgresql/server/utils/pg_lzcompress.h -./include/postgresql/server/utils/pg_crc.h -./include/postgresql/server/utils/attoptcache.h -./include/postgresql/server/utils/dynahash.h -./include/postgresql/server/utils/rel.h -./include/postgresql/server/utils/partcache.h -./include/postgresql/server/utils/lsyscache.h -./include/postgresql/server/utils/memutils.h -./include/postgresql/server/utils/memprot.h -./include/postgresql/server/utils/uuid.h -./include/postgresql/server/utils/combocid.h -./include/postgresql/server/utils/builtins.h -./include/postgresql/server/utils/guc.h -./include/postgresql/server/utils/dfs_vector.h -./include/postgresql/server/utils/dynamic_loader.h -./include/postgresql/server/utils/resowner.h -./include/postgresql/server/utils/aes.h -./include/postgresql/server/utils/cash.h -./include/postgresql/server/utils/typcache.h -./include/postgresql/server/utils/formatting.h -./include/postgresql/server/utils/partitionkey.h -./include/postgresql/server/utils/aset.h -./include/postgresql/server/utils/catcache.h -./include/postgresql/server/utils/atomic_arm.h -./include/postgresql/server/datatype/timestamp.h -./include/postgresql/server/access/rmgr.h -./include/postgresql/server/access/xlogreader.h -./include/postgresql/server/access/xlog_basic.h -./include/postgresql/server/access/tupdesc.h -./include/postgresql/server/access/rmgrlist.h -./include/postgresql/server/access/htup.h -./include/postgresql/server/access/xlogdefs.h -./include/postgresql/server/access/attnum.h -./include/postgresql/server/access/tupmacs.h -./include/postgresql/server/access/xlogrecord.h -./include/postgresql/server/tcop/dest.h -./include/postgresql/server/catalog/pg_type.h -./include/postgresql/server/catalog/pg_attribute.h -./include/postgresql/server/catalog/genbki.h -./include/postgresql/server/gs_thread.h -./include/postgresql/server/port/pg_bswap.h -./include/postgresql/server/port/pg_crc32c.h -./include/postgresql/server/securec.h -./include/postgresql/server/securectype.h -./include/postgresql/server/storage/off.h -./include/postgresql/server/storage/buf/block.h -./include/postgresql/server/storage/item/item.h -./include/postgresql/server/storage/relfilenode.h -./include/postgresql/server/storage/buf/bufpage.h -./include/postgresql/server/storage/spin.h -./include/postgresql/server/storage/buf/buf.h -./include/postgresql/server/storage/item/itemid.h -./include/postgresql/server/storage/lock/pg_sema.h -./include/postgresql/server/storage/item/itemptr.h -./include/postgresql/server/storage/lock/s_lock.h -./include/postgresql/server/storage/backendid.h -./include/postgresql/server/storage/lock/lock.h -./include/postgresql/server/storage/lock/lwlock.h -./include/postgresql/server/storage/barrier.h -./include/postgresql/server/storage/shmem.h -./include/postgresql/server/pg_config.h -./include/postgresql/server/lib/stringinfo.h -./include/postgresql/server/fmgr.h -./include/postgresql/server/fmgr/fmgr_comp.h -./include/postgresql/server/fmgr/fmgr_core.h -./include/postgresql/server/gs_threadlocal.h -./include/postgresql/server/postgres.h -./include/postgresql/server/executor/tuptable.h -./include/postgresql/server/pg_config_manual.h -./include/postgresql/server/mb/pg_wchar.h -./include/postgresql/server/c.h -./include/postgresql/server/port.h -./include/postgresql/server/utils/be_module.h -./include/postgresql/server/nodes/params.h -./include/postgresql/server/securec_check.h -./include/postgresql/server/nodes/memnodes.h -./include/postgresql/server/access/skey.h -./include/postgresql/server/lib/dllist.h -./include/postgresql/server/lib/ilist.h -./include/postgresql/server/pgxc/locator.h -./include/postgresql/server/gstrace/gstrace_infra.h -./include/postgresql/server/extension_dependency.h -./jre/ASSEMBLY_EXCEPTION -./jre/bin/java -./jre/bin/jjs -./jre/bin/keytool -./jre/bin/orbd -./jre/bin/pack200 -./jre/bin/policytool -./jre/bin/rmid -./jre/bin/rmiregistry -./jre/bin/servertool -./jre/bin/tnameserv -./jre/bin/unpack200 -./jre/lib/aarch64/jli/libjli.so -./jre/lib/aarch64/jvm.cfg -./jre/lib/aarch64/libattach.so -./jre/lib/aarch64/libavplugin-ffmpeg-58.so -./jre/lib/aarch64/libawt_headless.so -./jre/lib/aarch64/libawt.so -./jre/lib/aarch64/libawt_xawt.so -./jre/lib/aarch64/libdecora_sse.so -./jre/lib/aarch64/libdt_socket.so -./jre/lib/aarch64/libfontmanager.so -./jre/lib/aarch64/libfxplugins.so -./jre/lib/aarch64/libglassgtk2.so -./jre/lib/aarch64/libglassgtk3.so -./jre/lib/aarch64/libglass.so -./jre/lib/aarch64/libgstreamer-lite.so -./jre/lib/aarch64/libhprof.so -./jre/lib/aarch64/libinstrument.so -./jre/lib/aarch64/libj2gss.so -./jre/lib/aarch64/libj2pcsc.so -./jre/lib/aarch64/libj2pkcs11.so -./jre/lib/aarch64/libjaas_unix.so -./jre/lib/aarch64/libjava_crw_demo.so -./jre/lib/aarch64/libjavafx_font_freetype.so -./jre/lib/aarch64/libjavafx_font_pango.so -./jre/lib/aarch64/libjavafx_font.so -./jre/lib/aarch64/libjavafx_iio.so -./jre/lib/aarch64/libjava.so -./jre/lib/aarch64/libjawt.so -./jre/lib/aarch64/libjdwp.so -./jre/lib/aarch64/libjfxmedia.so -./jre/lib/aarch64/libjfxwebkit.so -./jre/lib/aarch64/libjpeg.so -./jre/lib/aarch64/libjsdt.so -./jre/lib/aarch64/libjsig.so -./jre/lib/aarch64/libjsoundalsa.so -./jre/lib/aarch64/libjsound.so -./jre/lib/aarch64/liblcms.so -./jre/lib/aarch64/libmanagement.so -./jre/lib/aarch64/libmlib_image.so -./jre/lib/aarch64/libnet.so -./jre/lib/aarch64/libnio.so -./jre/lib/aarch64/libnpt.so -./jre/lib/aarch64/libprism_common.so -./jre/lib/aarch64/libprism_es2.so -./jre/lib/aarch64/libprism_sw.so -./jre/lib/aarch64/libsaproc.so -./jre/lib/aarch64/libsctp.so -./jre/lib/aarch64/libsplashscreen.so -./jre/lib/aarch64/libsunec.so -./jre/lib/aarch64/libunpack.so -./jre/lib/aarch64/libverify.so -./jre/lib/aarch64/libzip.so -./jre/lib/aarch64/server/libjvm.so -./jre/lib/aarch64/server/Xusage.txt -./jre/lib/calendars.properties -./jre/lib/charsets.jar -./jre/lib/classlist -./jre/lib/cmm/CIEXYZ.pf -./jre/lib/cmm/GRAY.pf -./jre/lib/cmm/LINEAR_RGB.pf -./jre/lib/cmm/PYCC.pf -./jre/lib/cmm/sRGB.pf -./jre/lib/content-types.properties -./jre/lib/currency.data -./jre/lib/ext/cldrdata.jar -./jre/lib/ext/dnsns.jar -./jre/lib/ext/jaccess.jar -./jre/lib/ext/jfxrt.jar -./jre/lib/ext/localedata.jar -./jre/lib/ext/meta-index -./jre/lib/ext/nashorn.jar -./jre/lib/ext/sunec.jar -./jre/lib/ext/sunjce_provider.jar -./jre/lib/ext/sunpkcs11.jar -./jre/lib/ext/zipfs.jar -./jre/lib/flavormap.properties -./jre/lib/fontconfig.Euler.properties -./jre/lib/fontconfig.properties -./jre/lib/fontconfig.Ubuntu.properties -./jre/lib/fonts/Roboto-Regular.ttf -./jre/lib/hijrah-config-umalqura.properties -./jre/lib/images/cursors/cursors.properties -./jre/lib/images/cursors/invalid32x32.gif -./jre/lib/images/cursors/motif_CopyDrop32x32.gif -./jre/lib/images/cursors/motif_CopyNoDrop32x32.gif -./jre/lib/images/cursors/motif_LinkDrop32x32.gif -./jre/lib/images/cursors/motif_LinkNoDrop32x32.gif -./jre/lib/images/cursors/motif_MoveDrop32x32.gif -./jre/lib/images/cursors/motif_MoveNoDrop32x32.gif -./jre/lib/javafx-mx.jar -./jre/lib/javafx.properties -./jre/lib/jce.jar -./jre/lib/jexec -./jre/lib/jfr/default.jfc -./jre/lib/jfr.jar -./jre/lib/jfr/profile.jfc -./jre/lib/jfxswt.jar -./jre/lib/jsse.jar -./jre/lib/jvm.hprof.txt -./jre/lib/logging.properties -./jre/lib/management-agent.jar -./jre/lib/management/jmxremote.access -./jre/lib/management/jmxremote.password.template -./jre/lib/management/management.properties -./jre/lib/management/snmp.acl.template -./jre/lib/meta-index -./jre/lib/net.properties -./jre/lib/psfontj2d.properties -./jre/lib/psfont.properties.ja -./jre/lib/resources.jar -./jre/lib/rt.jar -./jre/lib/security/blacklisted.certs -./jre/lib/security/cacerts -./jre/lib/security/java.policy -./jre/lib/security/java.security -./jre/lib/security/policy/limited/local_policy.jar -./jre/lib/security/policy/limited/US_export_policy.jar -./jre/lib/security/policy/unlimited/local_policy.jar -./jre/lib/security/policy/unlimited/US_export_policy.jar -./jre/lib/sound.properties -./jre/lib/tzdb.dat -./jre/LICENSE -./jre/THIRD_PARTY_README -[client] -./bin/gsql -./bin/gs_dump -./bin/gs_dumpall -./bin/gs_restore -./jdbc/gsjdbc4.jar -./jdbc/gsjdbc200.jar -./lib/postgresql/latin2_and_win1250.so -./lib/postgresql/euc2004_sjis2004.so -./lib/postgresql/euc_kr_and_mic.so -./lib/postgresql/utf8_and_uhc.so -./lib/postgresql/euc_tw_and_big5.so -./lib/postgresql/cyrillic_and_mic.so -./lib/postgresql/utf8_and_johab.so -./lib/postgresql/utf8_and_gb18030.so -./lib/postgresql/pgxs/src/makefiles/pgxs.mk -./lib/postgresql/pgxs/src/Makefile.shlib -./lib/postgresql/pgxs/src/Makefile.port -./lib/postgresql/pgxs/src/nls-global.mk -./lib/postgresql/pgxs/src/Makefile.global -./lib/postgresql/pgxs/config/install-sh -./lib/postgresql/euc_cn_and_mic.so -./lib/postgresql/latin_and_mic.so -./lib/postgresql/utf8_and_sjis2004.so -./lib/postgresql/utf8_and_euc_jp.so -./lib/postgresql/utf8_and_sjis.so -./lib/postgresql/utf8_and_cyrillic.so -./lib/postgresql/utf8_and_euc_kr.so -./lib/postgresql/ascii_and_mic.so -./lib/postgresql/utf8_and_iso8859_1.so -./lib/postgresql/euc_jp_and_sjis.so -./lib/postgresql/dict_snowball.so -./lib/postgresql/utf8_and_ascii.so -./lib/postgresql/utf8_and_euc_tw.so -./lib/postgresql/utf8_and_iso8859.so -./lib/postgresql/utf8_and_win.so -./lib/postgresql/utf8_and_euc_cn.so -./lib/postgresql/utf8_and_gbk.so -./lib/postgresql/utf8_and_euc2004.so -./lib/postgresql/utf8_and_big5.so -./lib/postgresql/java/pljava.jar -./lib/libpljava.so -./lib/libpq.a -./lib/libpq.so -./lib/libpq.so.5 -./lib/libpq.so.5.5 -./lib/libpq_ce.so -./lib/libpq_ce.so.5 -./lib/libpq_ce.so.5.5 -./lib/libcrypto.so -./lib/libcrypto.so.1.1 -./lib/libstdc++.so.6 -./lib/libssl.so -./lib/libssl.so.1.1 -./lib/libgssapi_krb5_gauss.so -./lib/libgssapi_krb5_gauss.so.2 -./lib/libgssapi_krb5_gauss.so.2.2 -./lib/libgssrpc_gauss.so -./lib/libgssrpc_gauss.so.4 -./lib/libgssrpc_gauss.so.4.2 -./lib/libk5crypto_gauss.so -./lib/libk5crypto_gauss.so.3 -./lib/libk5crypto_gauss.so.3.1 -./lib/libkrb5support_gauss.so -./lib/libkrb5support_gauss.so.0 -./lib/libkrb5support_gauss.so.0.1 -./lib/libkrb5_gauss.so -./lib/libkrb5_gauss.so.3 -./lib/libkrb5_gauss.so.3.3 -./lib/libcom_err_gauss.so -./lib/libcom_err_gauss.so.3 -./lib/libcom_err_gauss.so.3.0 -./odbc/lib/psqlodbcw.la -./odbc/lib/psqlodbcw.so -[libpq] -./lib/libpq.a -./lib/libpq.so -./lib/libpq.so.5 -./lib/libpq.so.5.5 -./lib/libpq_ce.so -./lib/libpq_ce.so.5 -./lib/libpq_ce.so.5.5 -./lib/libconfig.so -./lib/libconfig.so.4 -./lib/libcmclient.so -./lib/libcmclient.so.1 -./lib/libcmcommon.so -./lib/libcmcommon.so.2 -./lib/libcmpq.so -./lib/libcmpq.so.1 -./lib/libcrypto.so -./lib/libcrypto.so.1.1 -./lib/libstdc++.so.6 -./lib/libssl.so -./lib/libssl.so.1.1 -./lib/libpgport_tool.so -./lib/libpgport_tool.so.1 -./lib/libgssapi_krb5_gauss.so -./lib/libgssapi_krb5_gauss.so.2 -./lib/libgssapi_krb5_gauss.so.2.2 -./lib/libgssrpc_gauss.so -./lib/libgssrpc_gauss.so.4 -./lib/libgssrpc_gauss.so.4.2 -./lib/libk5crypto_gauss.so -./lib/libk5crypto_gauss.so.3 -./lib/libk5crypto_gauss.so.3.1 -./lib/libkrb5support_gauss.so -./lib/libkrb5support_gauss.so.0 -./lib/libkrb5support_gauss.so.0.1 -./lib/libkrb5_gauss.so -./lib/libkrb5_gauss.so.3 -./lib/libkrb5_gauss.so.3.3 -./lib/libcom_err_gauss.so -./lib/libcom_err_gauss.so.3 -./lib/libcom_err_gauss.so.3.0 -[cmlibrary] -./lib/libconfig.a -./lib/libcmclient.a -./lib/libcmcommon.a -./lib/libcmpq.a -./lib/libpgport.a -[header] -./include/libpq-fe.h -./include/postgres_ext.h -./include/gs_thread.h -./include/gs_threadlocal.h -./include/pg_config.h -./include/pg_config_manual.h -./include/pg_config_os.h -./include/cm_config.h -./include/c.h -./include/port.h -./include/cm_msg.h -./include/cm_c.h -./include/cm_misc.h -./include/libpq-int.h -./include/pqcomm.h -./include/pqexpbuffer.h -./include/xlogdefs.h -./include/cm-libpq-fe.h -[gds] -./bin/gds -./bin/gds_ctl.py -./share/postgresql/gds.conf -./share/postgresql/gds.conf.sample -./lib/libcjson.so -./lib/libcjson.so.1 -./lib/libcjson.so.1.7.13 -[version] -V500R001C20 -[script] -./script/__init__.py -./script/gs_check -./script/gs_checkos -./script/gs_checkperf -./script/gs_collector -./script/gs_backup -./script/gs_expand -./script/gs_install -./script/gs_om -./script/gs_hotpatch -./script/gs_postuninstall -./script/gs_preinstall -./script/gs_replace -./script/gs_shrink -./script/gs_ssh -./script/gs_sshexkey -./script/gs_uninstall -./script/gs_upgradectl -./script/gs_lcctl -./script/gs_resize -./script/run_redis.py -./script/uninstall_force.py -./script/checkRunStatus.py -./script/JsonToDbClustorInfo.py -./script/killall -./script/nodegroup_migrate.sh diff --git a/build/script/mpp_release_list_euleros_single b/build/script/mpp_release_list_euleros_single deleted file mode 100644 index 4672dfa39..000000000 --- a/build/script/mpp_release_list_euleros_single +++ /dev/null @@ -1,1371 +0,0 @@ -[server] -./bin/gds -./bin/gs_log -./bin/gsql -./bin/gaussdb -./bin/gaussdb.version.GaussDB200 -./bin/gaussdb.version.GaussDB300 -./bin/gaussdb.license.GaussDB200_Standard -./bin/gaussmaster -./bin/gstrace -./bin/gs_encrypt -./bin/gs_dump -./bin/gs_dumpall -./bin/gs_initdb -./bin/gs_ctl -./bin/gs_guc -./bin/encrypt -./bin/gs_clean -./bin/gs_roach -./bin/cm_server -./bin/cm_agent -./bin/om_monitor -./bin/cm_ctl -./bin/gs_initcm -./bin/etcd -./bin/etcdctl -./bin/openssl -./bin/gs_redis -./bin/gs_restore -./bin/gs_cgroup -./bin/pg_config -./bin/pg_controldata -./bin/pg_format_cu -./bin/pg_resetxlog -./bin/alarmItem.conf -./bin/retry_errcodes.conf -./bin/cluster_guc.conf -./bin/runsessionstat.sh -./bin/drop_caches.sh -./bin/run_drop_cache.sh -./bin/transfer.py -./bin/gs_plan_simulator.sh -./bin/dependences/clean_temp.sql -./bin/dependences/initdb.py -./bin/dependences/restore_temp.sql -./bin/dependences/store_pg_class_stats.sql -./bin/dependences/store_pg_statistic_ext_stats.sql -./bin/dependences/store_pg_statistic_stats.sql -./bin/dependences/store_pgxc_class.sql -./bin/krb5kdc -./bin/klist -./bin/kinit -./bin/kdestroy -./bin/kdb5_util -./bin/kadmin.local -./etc/kerberos/kadm5.acl -./etc/kerberos/kdc.conf -./etc/kerberos/krb5.conf -./etc/kerberos/mppdb-site.xml -./share/postgis/PostGIS_install.sh -./share/postgresql/tmp/udstools.py -./share/postgresql/snowball_create.sql -./share/postgresql/pmk_schema.sql -./share/postgresql/pmk_schema_single_inst.sql -./share/postgresql/pg_hba.conf.sample -./share/postgresql/pg_service.conf.sample -./share/postgresql/psqlrc.sample -./share/postgresql/conversion_create.sql -./share/postgresql/postgres.shdescription -./share/postgresql/pg_ident.conf.sample -./share/postgresql/postgres.description -./share/postgresql/postgresql.conf.sample -./share/postgresql/extension/plpgsql--1.0.sql -./share/postgresql/extension/hstore.control -./share/postgresql/extension/security_plugin.control -./share/postgresql/extension/security_plugin--1.0.sql -./share/postgresql/extension/tsdb.control -./share/postgresql/extension/tsdb--1.0.sql -./share/postgresql/extension/file_fdw--1.0.sql -./share/postgresql/extension/plpgsql.control -./share/postgresql/extension/dist_fdw.control -./share/postgresql/extension/dist_fdw--1.0.sql -./share/postgresql/extension/hstore--1.1.sql -./share/postgresql/extension/plpgsql--unpackaged--1.0.sql -./share/postgresql/extension/file_fdw.control -./share/postgresql/extension/hstore--unpackaged--1.0.sql -./share/postgresql/extension/hstore--1.0--1.1.sql -./share/postgresql/extension/hdfs_fdw--1.0.sql -./share/postgresql/extension/hdfs_fdw.control -./share/postgresql/extension/gc_fdw--1.0.sql -./share/postgresql/extension/gc_fdw.control -./share/postgresql/extension/log_fdw--1.0.sql -./share/postgresql/extension/log_fdw.control -./share/postgresql/extension/dimsearch--1.0.sql -./share/postgresql/extension/dimsearch.control -./share/postgresql/extension/packages--1.0.sql -./share/postgresql/extension/packages--1.0--1.1.sql -./share/postgresql/extension/packages.control -./share/postgresql/extension/gsredistribute.control -./share/postgresql/extension/gsredistribute--1.0.sql -./share/postgresql/extension/gsredistribute--unpackaged--1.0.sql -./share/postgresql/extension/roach_api--1.0.sql -./share/postgresql/extension/roach_api.control -./share/postgresql/extension/postgres_fdw--1.0.sql -./share/postgresql/extension/postgres_fdw.control -./share/postgresql/timezone/GB-Eire -./share/postgresql/timezone/Turkey -./share/postgresql/timezone/Kwajalein -./share/postgresql/timezone/UCT -./share/postgresql/timezone/Mexico/BajaSur -./share/postgresql/timezone/Mexico/BajaNorte -./share/postgresql/timezone/Mexico/General -./share/postgresql/timezone/Japan -./share/postgresql/timezone/Israel -./share/postgresql/timezone/US/Eastern -./share/postgresql/timezone/US/Samoa -./share/postgresql/timezone/US/Michigan -./share/postgresql/timezone/US/Aleutian -./share/postgresql/timezone/US/Pacific -./share/postgresql/timezone/US/Pacific-New -./share/postgresql/timezone/US/Indiana-Starke -./share/postgresql/timezone/US/Mountain -./share/postgresql/timezone/US/East-Indiana -./share/postgresql/timezone/US/Hawaii -./share/postgresql/timezone/US/Arizona -./share/postgresql/timezone/US/Alaska -./share/postgresql/timezone/US/Central -./share/postgresql/timezone/Greenwich -./share/postgresql/timezone/Poland -./share/postgresql/timezone/CET -./share/postgresql/timezone/GMT-0 -./share/postgresql/timezone/Indian/Mauritius -./share/postgresql/timezone/Indian/Cocos -./share/postgresql/timezone/Indian/Reunion -./share/postgresql/timezone/Indian/Maldives -./share/postgresql/timezone/Indian/Comoro -./share/postgresql/timezone/Indian/Antananarivo -./share/postgresql/timezone/Indian/Christmas -./share/postgresql/timezone/Indian/Kerguelen -./share/postgresql/timezone/Indian/Chagos -./share/postgresql/timezone/Indian/Mayotte -./share/postgresql/timezone/Indian/Mahe -./share/postgresql/timezone/GMT0 -./share/postgresql/timezone/Antarctica/Palmer -./share/postgresql/timezone/Antarctica/Syowa -./share/postgresql/timezone/Antarctica/South_Pole -./share/postgresql/timezone/Antarctica/McMurdo -./share/postgresql/timezone/Antarctica/Rothera -./share/postgresql/timezone/Antarctica/Mawson -./share/postgresql/timezone/Antarctica/Casey -./share/postgresql/timezone/Antarctica/Davis -./share/postgresql/timezone/Antarctica/DumontDUrville -./share/postgresql/timezone/Antarctica/Vostok -./share/postgresql/timezone/Antarctica/Macquarie -./share/postgresql/timezone/ROK -./share/postgresql/timezone/Chile/EasterIsland -./share/postgresql/timezone/Chile/Continental -./share/postgresql/timezone/posixrules -./share/postgresql/timezone/Atlantic/Azores -./share/postgresql/timezone/Atlantic/St_Helena -./share/postgresql/timezone/Atlantic/Madeira -./share/postgresql/timezone/Atlantic/Jan_Mayen -./share/postgresql/timezone/Atlantic/Faroe -./share/postgresql/timezone/Atlantic/Stanley -./share/postgresql/timezone/Atlantic/Cape_Verde -./share/postgresql/timezone/Atlantic/Reykjavik -./share/postgresql/timezone/Atlantic/Canary -./share/postgresql/timezone/Atlantic/South_Georgia -./share/postgresql/timezone/Atlantic/Bermuda -./share/postgresql/timezone/Atlantic/Faeroe -./share/postgresql/timezone/Hongkong -./share/postgresql/timezone/Libya -./share/postgresql/timezone/Iceland -./share/postgresql/timezone/UTC -./share/postgresql/timezone/Australia/Darwin -./share/postgresql/timezone/Australia/North -./share/postgresql/timezone/Australia/NSW -./share/postgresql/timezone/Australia/Sydney -./share/postgresql/timezone/Australia/Hobart -./share/postgresql/timezone/Australia/LHI -./share/postgresql/timezone/Australia/Victoria -./share/postgresql/timezone/Australia/South -./share/postgresql/timezone/Australia/Melbourne -./share/postgresql/timezone/Australia/Lord_Howe -./share/postgresql/timezone/Australia/West -./share/postgresql/timezone/Australia/Brisbane -./share/postgresql/timezone/Australia/Perth -./share/postgresql/timezone/Australia/Eucla -./share/postgresql/timezone/Australia/Canberra -./share/postgresql/timezone/Australia/Queensland -./share/postgresql/timezone/Australia/Broken_Hill -./share/postgresql/timezone/Australia/Lindeman -./share/postgresql/timezone/Australia/ACT -./share/postgresql/timezone/Australia/Currie -./share/postgresql/timezone/Australia/Adelaide -./share/postgresql/timezone/Australia/Yancowinna -./share/postgresql/timezone/Australia/Tasmania -./share/postgresql/timezone/Jamaica -./share/postgresql/timezone/EST5EDT -./share/postgresql/timezone/MET -./share/postgresql/timezone/W-SU -./share/postgresql/timezone/Mideast/Riyadh87 -./share/postgresql/timezone/Mideast/Riyadh88 -./share/postgresql/timezone/Mideast/Riyadh89 -./share/postgresql/timezone/WET -./share/postgresql/timezone/ROC -./share/postgresql/timezone/Factory -./share/postgresql/timezone/EET -./share/postgresql/timezone/PST8PDT -./share/postgresql/timezone/Portugal -./share/postgresql/timezone/NZ -./share/postgresql/timezone/Brazil/West -./share/postgresql/timezone/Brazil/DeNoronha -./share/postgresql/timezone/Brazil/Acre -./share/postgresql/timezone/Brazil/East -./share/postgresql/timezone/EST -./share/postgresql/timezone/Egypt -./share/postgresql/timezone/Universal -./share/postgresql/timezone/Pacific/Enderbury -./share/postgresql/timezone/Pacific/Noumea -./share/postgresql/timezone/Pacific/Kwajalein -./share/postgresql/timezone/Pacific/Norfolk -./share/postgresql/timezone/Pacific/Nauru -./share/postgresql/timezone/Pacific/Efate -./share/postgresql/timezone/Pacific/Kosrae -./share/postgresql/timezone/Pacific/Galapagos -./share/postgresql/timezone/Pacific/Truk -./share/postgresql/timezone/Pacific/Fiji -./share/postgresql/timezone/Pacific/Auckland -./share/postgresql/timezone/Pacific/Samoa -./share/postgresql/timezone/Pacific/Port_Moresby -./share/postgresql/timezone/Pacific/Johnston -./share/postgresql/timezone/Pacific/Apia -./share/postgresql/timezone/Pacific/Tarawa -./share/postgresql/timezone/Pacific/Pitcairn -./share/postgresql/timezone/Pacific/Marquesas -./share/postgresql/timezone/Pacific/Chatham -./share/postgresql/timezone/Pacific/Tahiti -./share/postgresql/timezone/Pacific/Tongatapu -./share/postgresql/timezone/Pacific/Saipan -./share/postgresql/timezone/Pacific/Fakaofo -./share/postgresql/timezone/Pacific/Guam -./share/postgresql/timezone/Pacific/Niue -./share/postgresql/timezone/Pacific/Chuuk -./share/postgresql/timezone/Pacific/Easter -./share/postgresql/timezone/Pacific/Wallis -./share/postgresql/timezone/Pacific/Gambier -./share/postgresql/timezone/Pacific/Majuro -./share/postgresql/timezone/Pacific/Kiritimati -./share/postgresql/timezone/Pacific/Guadalcanal -./share/postgresql/timezone/Pacific/Funafuti -./share/postgresql/timezone/Pacific/Rarotonga -./share/postgresql/timezone/Pacific/Pago_Pago -./share/postgresql/timezone/Pacific/Midway -./share/postgresql/timezone/Pacific/Palau -./share/postgresql/timezone/Pacific/Honolulu -./share/postgresql/timezone/Pacific/Yap -./share/postgresql/timezone/Pacific/Pohnpei -./share/postgresql/timezone/Pacific/Wake -./share/postgresql/timezone/Pacific/Ponape -./share/postgresql/timezone/Iran -./share/postgresql/timezone/Etc/GMT-4 -./share/postgresql/timezone/Etc/GMT-9 -./share/postgresql/timezone/Etc/UCT -./share/postgresql/timezone/Etc/GMT-7 -./share/postgresql/timezone/Etc/Greenwich -./share/postgresql/timezone/Etc/GMT-0 -./share/postgresql/timezone/Etc/GMT-5 -./share/postgresql/timezone/Etc/GMT0 -./share/postgresql/timezone/Etc/GMT+7 -./share/postgresql/timezone/Etc/GMT-2 -./share/postgresql/timezone/Etc/GMT-10 -./share/postgresql/timezone/Etc/GMT+6 -./share/postgresql/timezone/Etc/GMT+1 -./share/postgresql/timezone/Etc/UTC -./share/postgresql/timezone/Etc/GMT-3 -./share/postgresql/timezone/Etc/GMT-1 -./share/postgresql/timezone/Etc/GMT-8 -./share/postgresql/timezone/Etc/GMT-11 -./share/postgresql/timezone/Etc/GMT+12 -./share/postgresql/timezone/Etc/GMT+10 -./share/postgresql/timezone/Etc/GMT-12 -./share/postgresql/timezone/Etc/GMT+5 -./share/postgresql/timezone/Etc/Universal -./share/postgresql/timezone/Etc/GMT-13 -./share/postgresql/timezone/Etc/GMT-6 -./share/postgresql/timezone/Etc/GMT+9 -./share/postgresql/timezone/Etc/GMT+3 -./share/postgresql/timezone/Etc/GMT-14 -./share/postgresql/timezone/Etc/GMT+4 -./share/postgresql/timezone/Etc/Zulu -./share/postgresql/timezone/Etc/GMT+2 -./share/postgresql/timezone/Etc/GMT+0 -./share/postgresql/timezone/Etc/GMT+8 -./share/postgresql/timezone/Etc/GMT+11 -./share/postgresql/timezone/Etc/GMT -./share/postgresql/timezone/Zulu -./share/postgresql/timezone/GMT+0 -./share/postgresql/timezone/Singapore -./share/postgresql/timezone/NZ-CHAT -./share/postgresql/timezone/Cuba -./share/postgresql/timezone/GB -./share/postgresql/timezone/Arctic/Longyearbyen -./share/postgresql/timezone/MST7MDT -./share/postgresql/timezone/PRC -./share/postgresql/timezone/Canada/Eastern -./share/postgresql/timezone/Canada/Yukon -./share/postgresql/timezone/Canada/Atlantic -./share/postgresql/timezone/Canada/Newfoundland -./share/postgresql/timezone/Canada/Saskatchewan -./share/postgresql/timezone/Canada/Pacific -./share/postgresql/timezone/Canada/East-Saskatchewan -./share/postgresql/timezone/Canada/Mountain -./share/postgresql/timezone/Canada/Central -./share/postgresql/timezone/CST6CDT -./share/postgresql/timezone/HST -./share/postgresql/timezone/America/Boa_Vista -./share/postgresql/timezone/America/New_York -./share/postgresql/timezone/America/Santarem -./share/postgresql/timezone/America/Boise -./share/postgresql/timezone/America/St_Lucia -./share/postgresql/timezone/America/Mendoza -./share/postgresql/timezone/America/Mexico_City -./share/postgresql/timezone/America/Chihuahua -./share/postgresql/timezone/America/Indianapolis -./share/postgresql/timezone/America/Virgin -./share/postgresql/timezone/America/Atka -./share/postgresql/timezone/America/Winnipeg -./share/postgresql/timezone/America/Hermosillo -./share/postgresql/timezone/America/Indiana/Indianapolis -./share/postgresql/timezone/America/Indiana/Tell_City -./share/postgresql/timezone/America/Indiana/Winamac -./share/postgresql/timezone/America/Indiana/Knox -./share/postgresql/timezone/America/Indiana/Vincennes -./share/postgresql/timezone/America/Indiana/Vevay -./share/postgresql/timezone/America/Indiana/Petersburg -./share/postgresql/timezone/America/Indiana/Marengo -./share/postgresql/timezone/America/Moncton -./share/postgresql/timezone/America/Campo_Grande -./share/postgresql/timezone/America/Guyana -./share/postgresql/timezone/America/Caracas -./share/postgresql/timezone/America/Maceio -./share/postgresql/timezone/America/Godthab -./share/postgresql/timezone/America/Thunder_Bay -./share/postgresql/timezone/America/Havana -./share/postgresql/timezone/America/Santiago -./share/postgresql/timezone/America/Los_Angeles -./share/postgresql/timezone/America/Buenos_Aires -./share/postgresql/timezone/America/Manaus -./share/postgresql/timezone/America/Bahia -./share/postgresql/timezone/America/North_Dakota/New_Salem -./share/postgresql/timezone/America/North_Dakota/Beulah -./share/postgresql/timezone/America/North_Dakota/Center -./share/postgresql/timezone/America/Bahia_Banderas -./share/postgresql/timezone/America/Edmonton -./share/postgresql/timezone/America/Tegucigalpa -./share/postgresql/timezone/America/Rankin_Inlet -./share/postgresql/timezone/America/Monterrey -./share/postgresql/timezone/America/Cambridge_Bay -./share/postgresql/timezone/America/Porto_Velho -./share/postgresql/timezone/America/Antigua -./share/postgresql/timezone/America/Atikokan -./share/postgresql/timezone/America/Vancouver -./share/postgresql/timezone/America/Anchorage -./share/postgresql/timezone/America/Port-au-Prince -./share/postgresql/timezone/America/Lima -./share/postgresql/timezone/America/Grenada -./share/postgresql/timezone/America/Creston -./share/postgresql/timezone/America/La_Paz -./share/postgresql/timezone/America/Panama -./share/postgresql/timezone/America/Blanc-Sablon -./share/postgresql/timezone/America/Cayenne -./share/postgresql/timezone/America/Santo_Domingo -./share/postgresql/timezone/America/Grand_Turk -./share/postgresql/timezone/America/Toronto -./share/postgresql/timezone/America/Rainy_River -./share/postgresql/timezone/America/Merida -./share/postgresql/timezone/America/Port_of_Spain -./share/postgresql/timezone/America/Nipigon -./share/postgresql/timezone/America/Jamaica -./share/postgresql/timezone/America/Rosario -./share/postgresql/timezone/America/Dawson_Creek -./share/postgresql/timezone/America/Belize -./share/postgresql/timezone/America/Costa_Rica -./share/postgresql/timezone/America/Barbados -./share/postgresql/timezone/America/Danmarkshavn -./share/postgresql/timezone/America/Argentina/La_Rioja -./share/postgresql/timezone/America/Argentina/Mendoza -./share/postgresql/timezone/America/Argentina/Buenos_Aires -./share/postgresql/timezone/America/Argentina/Tucuman -./share/postgresql/timezone/America/Argentina/Ushuaia -./share/postgresql/timezone/America/Argentina/Catamarca -./share/postgresql/timezone/America/Argentina/ComodRivadavia -./share/postgresql/timezone/America/Argentina/Jujuy -./share/postgresql/timezone/America/Argentina/Cordoba -./share/postgresql/timezone/America/Argentina/San_Luis -./share/postgresql/timezone/America/Argentina/Rio_Gallegos -./share/postgresql/timezone/America/Argentina/Salta -./share/postgresql/timezone/America/Argentina/San_Juan -./share/postgresql/timezone/America/Pangnirtung -./share/postgresql/timezone/America/Anguilla -./share/postgresql/timezone/America/Curacao -./share/postgresql/timezone/America/Cancun -./share/postgresql/timezone/America/Montreal -./share/postgresql/timezone/America/Shiprock -./share/postgresql/timezone/America/Thule -./share/postgresql/timezone/America/Scoresbysund -./share/postgresql/timezone/America/Catamarca -./share/postgresql/timezone/America/Sao_Paulo -./share/postgresql/timezone/America/Sitka -./share/postgresql/timezone/America/Asuncion -./share/postgresql/timezone/America/Regina -./share/postgresql/timezone/America/St_Johns -./share/postgresql/timezone/America/Montevideo -./share/postgresql/timezone/America/Eirunepe -./share/postgresql/timezone/America/Denver -./share/postgresql/timezone/America/Metlakatla -./share/postgresql/timezone/America/Araguaina -./share/postgresql/timezone/America/Juneau -./share/postgresql/timezone/America/Marigot -./share/postgresql/timezone/America/Menominee -./share/postgresql/timezone/America/Glace_Bay -./share/postgresql/timezone/America/Tijuana -./share/postgresql/timezone/America/Detroit -./share/postgresql/timezone/America/Belem -./share/postgresql/timezone/America/Jujuy -./share/postgresql/timezone/America/St_Thomas -./share/postgresql/timezone/America/Resolute -./share/postgresql/timezone/America/Cuiaba -./share/postgresql/timezone/America/Halifax -./share/postgresql/timezone/America/St_Barthelemy -./share/postgresql/timezone/America/Guatemala -./share/postgresql/timezone/America/Nassau -./share/postgresql/timezone/America/St_Kitts -./share/postgresql/timezone/America/Cordoba -./share/postgresql/timezone/America/Miquelon -./share/postgresql/timezone/America/Bogota -./share/postgresql/timezone/America/Rio_Branco -./share/postgresql/timezone/America/Ensenada -./share/postgresql/timezone/America/Yakutat -./share/postgresql/timezone/America/Noronha -./share/postgresql/timezone/America/Kentucky/Monticello -./share/postgresql/timezone/America/Kentucky/Louisville -./share/postgresql/timezone/America/Porto_Acre -./share/postgresql/timezone/America/Santa_Isabel -./share/postgresql/timezone/America/El_Salvador -./share/postgresql/timezone/America/Yellowknife -./share/postgresql/timezone/America/Cayman -./share/postgresql/timezone/America/Whitehorse -./share/postgresql/timezone/America/Ojinaga -./share/postgresql/timezone/America/Aruba -./share/postgresql/timezone/America/Nome -./share/postgresql/timezone/America/Fortaleza -./share/postgresql/timezone/America/Martinique -./share/postgresql/timezone/America/Recife -./share/postgresql/timezone/America/Knox_IN -./share/postgresql/timezone/America/Guayaquil -./share/postgresql/timezone/America/Goose_Bay -./share/postgresql/timezone/America/Iqaluit -./share/postgresql/timezone/America/Matamoros -./share/postgresql/timezone/America/Lower_Princes -./share/postgresql/timezone/America/Louisville -./share/postgresql/timezone/America/Coral_Harbour -./share/postgresql/timezone/America/Phoenix -./share/postgresql/timezone/America/Guadeloupe -./share/postgresql/timezone/America/Mazatlan -./share/postgresql/timezone/America/Swift_Current -./share/postgresql/timezone/America/Paramaribo -./share/postgresql/timezone/America/Dominica -./share/postgresql/timezone/America/Kralendijk -./share/postgresql/timezone/America/Montserrat -./share/postgresql/timezone/America/St_Vincent -./share/postgresql/timezone/America/Fort_Wayne -./share/postgresql/timezone/America/Dawson -./share/postgresql/timezone/America/Inuvik -./share/postgresql/timezone/America/Adak -./share/postgresql/timezone/America/Managua -./share/postgresql/timezone/America/Puerto_Rico -./share/postgresql/timezone/America/Tortola -./share/postgresql/timezone/America/Chicago -./share/postgresql/timezone/Africa/Lome -./share/postgresql/timezone/Africa/Brazzaville -./share/postgresql/timezone/Africa/Khartoum -./share/postgresql/timezone/Africa/Ceuta -./share/postgresql/timezone/Africa/Djibouti -./share/postgresql/timezone/Africa/Lagos -./share/postgresql/timezone/Africa/Accra -./share/postgresql/timezone/Africa/El_Aaiun -./share/postgresql/timezone/Africa/Malabo -./share/postgresql/timezone/Africa/Windhoek -./share/postgresql/timezone/Africa/Tripoli -./share/postgresql/timezone/Africa/Bissau -./share/postgresql/timezone/Africa/Blantyre -./share/postgresql/timezone/Africa/Kinshasa -./share/postgresql/timezone/Africa/Porto-Novo -./share/postgresql/timezone/Africa/Nairobi -./share/postgresql/timezone/Africa/Ouagadougou -./share/postgresql/timezone/Africa/Asmera -./share/postgresql/timezone/Africa/Cairo -./share/postgresql/timezone/Africa/Lubumbashi -./share/postgresql/timezone/Africa/Tunis -./share/postgresql/timezone/Africa/Dar_es_Salaam -./share/postgresql/timezone/Africa/Casablanca -./share/postgresql/timezone/Africa/Algiers -./share/postgresql/timezone/Africa/Mbabane -./share/postgresql/timezone/Africa/Monrovia -./share/postgresql/timezone/Africa/Nouakchott -./share/postgresql/timezone/Africa/Banjul -./share/postgresql/timezone/Africa/Kampala -./share/postgresql/timezone/Africa/Conakry -./share/postgresql/timezone/Africa/Mogadishu -./share/postgresql/timezone/Africa/Ndjamena -./share/postgresql/timezone/Africa/Niamey -./share/postgresql/timezone/Africa/Lusaka -./share/postgresql/timezone/Africa/Addis_Ababa -./share/postgresql/timezone/Africa/Sao_Tome -./share/postgresql/timezone/Africa/Abidjan -./share/postgresql/timezone/Africa/Harare -./share/postgresql/timezone/Africa/Asmara -./share/postgresql/timezone/Africa/Douala -./share/postgresql/timezone/Africa/Freetown -./share/postgresql/timezone/Africa/Libreville -./share/postgresql/timezone/Africa/Luanda -./share/postgresql/timezone/Africa/Maseru -./share/postgresql/timezone/Africa/Gaborone -./share/postgresql/timezone/Africa/Maputo -./share/postgresql/timezone/Africa/Timbuktu -./share/postgresql/timezone/Africa/Bangui -./share/postgresql/timezone/Africa/Bamako -./share/postgresql/timezone/Africa/Dakar -./share/postgresql/timezone/Africa/Juba -./share/postgresql/timezone/Africa/Bujumbura -./share/postgresql/timezone/Africa/Johannesburg -./share/postgresql/timezone/Africa/Kigali -./share/postgresql/timezone/Eire -./share/postgresql/timezone/Europe/Vaduz -./share/postgresql/timezone/Europe/Podgorica -./share/postgresql/timezone/Europe/Rome -./share/postgresql/timezone/Europe/Vienna -./share/postgresql/timezone/Europe/Dublin -./share/postgresql/timezone/Europe/Zurich -./share/postgresql/timezone/Europe/London -./share/postgresql/timezone/Europe/Monaco -./share/postgresql/timezone/Europe/Sofia -./share/postgresql/timezone/Europe/Uzhgorod -./share/postgresql/timezone/Europe/Minsk -./share/postgresql/timezone/Europe/Malta -./share/postgresql/timezone/Europe/Busingen -./share/postgresql/timezone/Europe/Gibraltar -./share/postgresql/timezone/Europe/Volgograd -./share/postgresql/timezone/Europe/Budapest -./share/postgresql/timezone/Europe/Vatican -./share/postgresql/timezone/Europe/Luxembourg -./share/postgresql/timezone/Europe/Chisinau -./share/postgresql/timezone/Europe/Nicosia -./share/postgresql/timezone/Europe/Warsaw -./share/postgresql/timezone/Europe/San_Marino -./share/postgresql/timezone/Europe/Copenhagen -./share/postgresql/timezone/Europe/Ljubljana -./share/postgresql/timezone/Europe/Athens -./share/postgresql/timezone/Europe/Skopje -./share/postgresql/timezone/Europe/Andorra -./share/postgresql/timezone/Europe/Kaliningrad -./share/postgresql/timezone/Europe/Amsterdam -./share/postgresql/timezone/Europe/Guernsey -./share/postgresql/timezone/Europe/Isle_of_Man -./share/postgresql/timezone/Europe/Tirane -./share/postgresql/timezone/Europe/Jersey -./share/postgresql/timezone/Europe/Madrid -./share/postgresql/timezone/Europe/Helsinki -./share/postgresql/timezone/Europe/Riga -./share/postgresql/timezone/Europe/Zagreb -./share/postgresql/timezone/Europe/Bratislava -./share/postgresql/timezone/Europe/Prague -./share/postgresql/timezone/Europe/Tallinn -./share/postgresql/timezone/Europe/Stockholm -./share/postgresql/timezone/Europe/Tiraspol -./share/postgresql/timezone/Europe/Belgrade -./share/postgresql/timezone/Europe/Bucharest -./share/postgresql/timezone/Europe/Vilnius -./share/postgresql/timezone/Europe/Sarajevo -./share/postgresql/timezone/Europe/Belfast -./share/postgresql/timezone/Europe/Zaporozhye -./share/postgresql/timezone/Europe/Oslo -./share/postgresql/timezone/Europe/Mariehamn -./share/postgresql/timezone/Europe/Moscow -./share/postgresql/timezone/Europe/Brussels -./share/postgresql/timezone/Europe/Paris -./share/postgresql/timezone/Europe/Istanbul -./share/postgresql/timezone/Europe/Simferopol -./share/postgresql/timezone/Europe/Lisbon -./share/postgresql/timezone/Europe/Berlin -./share/postgresql/timezone/Europe/Kiev -./share/postgresql/timezone/Europe/Samara -./share/postgresql/timezone/MST -./share/postgresql/timezone/Asia/Khandyga -./share/postgresql/timezone/Asia/Manila -./share/postgresql/timezone/Asia/Novokuznetsk -./share/postgresql/timezone/Asia/Baghdad -./share/postgresql/timezone/Asia/Macau -./share/postgresql/timezone/Asia/Urumqi -./share/postgresql/timezone/Asia/Ujung_Pandang -./share/postgresql/timezone/Asia/Ulan_Bator -./share/postgresql/timezone/Asia/Bishkek -./share/postgresql/timezone/Asia/Qatar -./share/postgresql/timezone/Asia/Qyzylorda -./share/postgresql/timezone/Asia/Calcutta -./share/postgresql/timezone/Asia/Riyadh87 -./share/postgresql/timezone/Asia/Dushanbe -./share/postgresql/timezone/Asia/Yekaterinburg -./share/postgresql/timezone/Asia/Dhaka -./share/postgresql/timezone/Asia/Jakarta -./share/postgresql/timezone/Asia/Shanghai -./share/postgresql/timezone/Asia/Ulaanbaatar -./share/postgresql/timezone/Asia/Jerusalem -./share/postgresql/timezone/Asia/Ashkhabad -./share/postgresql/timezone/Asia/Tokyo -./share/postgresql/timezone/Asia/Macao -./share/postgresql/timezone/Asia/Krasnoyarsk -./share/postgresql/timezone/Asia/Saigon -./share/postgresql/timezone/Asia/Omsk -./share/postgresql/timezone/Asia/Damascus -./share/postgresql/timezone/Asia/Phnom_Penh -./share/postgresql/timezone/Asia/Bangkok -./share/postgresql/timezone/Asia/Kamchatka -./share/postgresql/timezone/Asia/Choibalsan -./share/postgresql/timezone/Asia/Ust-Nera -./share/postgresql/timezone/Asia/Aden -./share/postgresql/timezone/Asia/Vientiane -./share/postgresql/timezone/Asia/Sakhalin -./share/postgresql/timezone/Asia/Ashgabat -./share/postgresql/timezone/Asia/Katmandu -./share/postgresql/timezone/Asia/Almaty -./share/postgresql/timezone/Asia/Baku -./share/postgresql/timezone/Asia/Nicosia -./share/postgresql/timezone/Asia/Riyadh88 -./share/postgresql/timezone/Asia/Kashgar -./share/postgresql/timezone/Asia/Riyadh89 -./share/postgresql/timezone/Asia/Taipei -./share/postgresql/timezone/Asia/Tehran -./share/postgresql/timezone/Asia/Kabul -./share/postgresql/timezone/Asia/Samarkand -./share/postgresql/timezone/Asia/Kuala_Lumpur -./share/postgresql/timezone/Asia/Tashkent -./share/postgresql/timezone/Asia/Thimbu -./share/postgresql/timezone/Asia/Thimphu -./share/postgresql/timezone/Asia/Yerevan -./share/postgresql/timezone/Asia/Chungking -./share/postgresql/timezone/Asia/Hebron -./share/postgresql/timezone/Asia/Karachi -./share/postgresql/timezone/Asia/Kolkata -./share/postgresql/timezone/Asia/Aqtobe -./share/postgresql/timezone/Asia/Muscat -./share/postgresql/timezone/Asia/Hong_Kong -./share/postgresql/timezone/Asia/Chongqing -./share/postgresql/timezone/Asia/Oral -./share/postgresql/timezone/Asia/Pontianak -./share/postgresql/timezone/Asia/Colombo -./share/postgresql/timezone/Asia/Pyongyang -./share/postgresql/timezone/Asia/Hovd -./share/postgresql/timezone/Asia/Kuwait -./share/postgresql/timezone/Asia/Anadyr -./share/postgresql/timezone/Asia/Kathmandu -./share/postgresql/timezone/Asia/Irkutsk -./share/postgresql/timezone/Asia/Bahrain -./share/postgresql/timezone/Asia/Dubai -./share/postgresql/timezone/Asia/Jayapura -./share/postgresql/timezone/Asia/Riyadh -./share/postgresql/timezone/Asia/Ho_Chi_Minh -./share/postgresql/timezone/Asia/Singapore -./share/postgresql/timezone/Asia/Tel_Aviv -./share/postgresql/timezone/Asia/Dili -./share/postgresql/timezone/Asia/Rangoon -./share/postgresql/timezone/Asia/Harbin -./share/postgresql/timezone/Asia/Yakutsk -./share/postgresql/timezone/Asia/Magadan -./share/postgresql/timezone/Asia/Amman -./share/postgresql/timezone/Asia/Kuching -./share/postgresql/timezone/Asia/Novosibirsk -./share/postgresql/timezone/Asia/Seoul -./share/postgresql/timezone/Asia/Dacca -./share/postgresql/timezone/Asia/Vladivostok -./share/postgresql/timezone/Asia/Istanbul -./share/postgresql/timezone/Asia/Beirut -./share/postgresql/timezone/Asia/Aqtau -./share/postgresql/timezone/Asia/Brunei -./share/postgresql/timezone/Asia/Gaza -./share/postgresql/timezone/Asia/Tbilisi -./share/postgresql/timezone/Asia/Makassar -./share/postgresql/timezone/Asia/Beijing -./share/postgresql/timezone/Navajo -./share/postgresql/timezone/GMT -./share/postgresql/system_views.sql -./share/postgresql/performance_views.sql -./share/postgresql/sql_features.txt -./share/postgresql/pg_cast_oid.txt -./share/postgresql/recovery.conf.sample -./share/postgresql/cm_server.conf.sample -./share/postgresql/cm_agent.conf.sample -./share/postgresql/tsearch_data/english.stop -./share/postgresql/tsearch_data/dutch.stop -./share/postgresql/tsearch_data/hungarian.stop -./share/postgresql/tsearch_data/french.stop -./share/postgresql/tsearch_data/synonym_sample.syn -./share/postgresql/tsearch_data/turkish.stop -./share/postgresql/tsearch_data/portuguese.stop -./share/postgresql/tsearch_data/spanish.stop -./share/postgresql/tsearch_data/hunspell_sample.affix -./share/postgresql/tsearch_data/ispell_sample.affix -./share/postgresql/tsearch_data/danish.stop -./share/postgresql/tsearch_data/german.stop -./share/postgresql/tsearch_data/thesaurus_sample.ths -./share/postgresql/tsearch_data/norwegian.stop -./share/postgresql/tsearch_data/finnish.stop -./share/postgresql/tsearch_data/russian.stop -./share/postgresql/tsearch_data/swedish.stop -./share/postgresql/tsearch_data/ispell_sample.dict -./share/postgresql/tsearch_data/italian.stop -./share/postgresql/information_schema.sql -./share/postgresql/timezonesets/Antarctica.txt -./share/postgresql/timezonesets/Australia.txt -./share/postgresql/timezonesets/Europe.txt -./share/postgresql/timezonesets/America.txt -./share/postgresql/timezonesets/Australia -./share/postgresql/timezonesets/Indian.txt -./share/postgresql/timezonesets/India -./share/postgresql/timezonesets/Pacific.txt -./share/postgresql/timezonesets/Atlantic.txt -./share/postgresql/timezonesets/Africa.txt -./share/postgresql/timezonesets/Asia.txt -./share/postgresql/timezonesets/Default -./share/postgresql/timezonesets/Etc.txt -./share/postgresql/postgres.bki -./share/llvmir/GaussDB_expr.ir -./share/sslcert/gsql/openssl.cnf -./share/sslcert/gds/openssl.cnf -./share/sslcert/grpc/openssl.cnf -./share/sslcert/etcd/openssl.cnf -./lib/libsimsearch/ -./lib/postgresql/latin2_and_win1250.so -./lib/postgresql/euc2004_sjis2004.so -./lib/postgresql/euc_kr_and_mic.so -./lib/postgresql/utf8_and_uhc.so -./lib/postgresql/euc_tw_and_big5.so -./lib/postgresql/cyrillic_and_mic.so -./lib/postgresql/utf8_and_johab.so -./lib/postgresql/utf8_and_gb18030.so -./lib/postgresql/pgxs/src/makefiles/pgxs.mk -./lib/postgresql/pgxs/src/Makefile.shlib -./lib/postgresql/pgxs/src/Makefile.port -./lib/postgresql/pgxs/src/nls-global.mk -./lib/postgresql/pgxs/src/Makefile.global -./lib/postgresql/pgxs/config/install-sh -./lib/postgresql/euc_cn_and_mic.so -./lib/postgresql/latin_and_mic.so -./lib/postgresql/utf8_and_sjis2004.so -./lib/postgresql/utf8_and_euc_jp.so -./lib/postgresql/utf8_and_sjis.so -./lib/postgresql/utf8_and_cyrillic.so -./lib/postgresql/hstore.so -./lib/postgresql/tsdb.so -./lib/postgresql/packages.so -./lib/postgresql/utf8_and_euc_kr.so -./lib/postgresql/ascii_and_mic.so -./lib/postgresql/utf8_and_iso8859_1.so -./lib/postgresql/euc_jp_and_sjis.so -./lib/postgresql/dict_snowball.so -./lib/postgresql/utf8_and_ascii.so -./lib/postgresql/utf8_and_euc_tw.so -./lib/postgresql/utf8_and_iso8859.so -./lib/postgresql/utf8_and_win.so -./lib/postgresql/utf8_and_euc_cn.so -./lib/postgresql/utf8_and_gbk.so -./lib/postgresql/utf8_and_euc2004.so -./lib/postgresql/utf8_and_big5.so -./lib/postgresql/roach_api.so -./lib/postgresql/mppdb_decoding.so -./lib/postgresql/gsredistribute.so -./lib/postgresql/dimsearch.so -./lib/postgresql/pg_plugin -./lib/postgresql/proc_srclib -./lib/postgresql/security_plugin.so -./lib/postgresql/pg_upgrade_support.so -./lib/postgresql/java/pljava.jar -./lib/postgresql/postgres_fdw.so -./lib/libpljava.so -./lib/libpq.a -./lib/libpq.so -./lib/libpq.so.5 -./lib/libpq.so.5.5 -./lib/libpq_ce.so -./lib/libpq_ce.so.5 -./lib/libpq_ce.so.5.5 -./lib/libcgroup.so -./lib/libcgroup.so.1 -./lib/libcom_err_gauss.so -./lib/libcom_err_gauss.so.3 -./lib/libcom_err_gauss.so.3.0 -./lib/libgpr.so -./lib/libgpr.so.9 -./lib/libgpr.so.9.0.0 -./lib/libgrpc.so -./lib/libgrpc++.so -./lib/libgrpc++.so.1 -./lib/libgrpc++.so.1.28.1 -./lib/libgrpc.so.9 -./lib/libgrpc.so.9.0.0 -./lib/libupb.so -./lib/libupb.so.9 -./lib/libupb.so.9.0.0 -./lib/libabsl_str_format_internal.so -./lib/libabsl_strings.so -./lib/libabsl_throw_delegate.so -./lib/libabsl_strings_internal.so -./lib/libabsl_base.so -./lib/libabsl_dynamic_annotations.so -./lib/libabsl_spinlock_wait.so -./lib/libabsl_int128.so -./lib/libabsl_bad_optional_access.so -./lib/libabsl_raw_logging_internal.so -./lib/libabsl_log_severity.so -./lib/libaddress_sorting.so -./lib/libaddress_sorting.so.9 -./lib/libgssapi_krb5_gauss.so -./lib/libgssapi_krb5_gauss.so.2 -./lib/libgssapi_krb5_gauss.so.2.2 -./lib/libgssrpc_gauss.so -./lib/libgssrpc_gauss.so.4 -./lib/libgssrpc_gauss.so.4.2 -./lib/libk5crypto_gauss.so -./lib/libk5crypto_gauss.so.3 -./lib/libk5crypto_gauss.so.3.1 -./lib/libkadm5clnt.so -./lib/libkadm5clnt_mit.so -./lib/libkadm5clnt_mit.so.11 -./lib/libkadm5clnt_mit.so.11.0 -./lib/libkadm5srv.so -./lib/libkadm5srv_mit.so -./lib/libkadm5srv_mit.so.11 -./lib/libkadm5srv_mit.so.11.0 -./lib/libkdb5.so -./lib/libkdb5.so.9 -./lib/libkdb5.so.9.0 -./lib/libkrad.so -./lib/libkrad.so.0 -./lib/libkrad.so.0.0 -./lib/libkrb5_gauss.so -./lib/libkrb5_gauss.so.3 -./lib/libkrb5_gauss.so.3.3 -./lib/libkrb5support_gauss.so -./lib/libkrb5support_gauss.so.0 -./lib/libkrb5support_gauss.so.0.1 -./lib/krb5/plugins/kdb/db2.so -./lib/libverto.so -./lib/libverto.so.0 -./lib/libverto.so.0.0 -./lib/libcurl.so -./lib/libcurl.so.4 -./lib/libcurl.so.4.6.0 -./lib/libcrypto.so -./lib/libcrypto.so.1.1 -./lib/libssl.so -./lib/libssl.so.1.1 -./lib/libgcc_s.so.1 -./lib/libstdc++.so.6 -./lib/libz.so -./lib/libz.so.1 -./lib/libz.so.1.2.11 -./lib/liblz4.so -./lib/liblz4.so.1 -./lib/liblz4.so.1.9.2 -./lib/libcjson.so -./lib/libcjson.so.1 -./lib/libcjson.so.1.7.13 -./lib/libconfig.so -./lib/libconfig.so.4 -./lib/libcmclient.so -./lib/libcmclient.so.1 -./lib/libcmcommon.so -./lib/libcmcommon.so.2 -./lib/libcmpq.so -./lib/libcmpq.so.1 -./lib/libetcdapi.so -./lib/libetcdapi.so.1 -./lib/libpgport_tool.so -./lib/libpgport_tool.so.1 -./lib/lib_roach_show.so -./lib/roach_contrib.so -./share/llvmir/GaussDB_expr.ir -./lib/libeSDKLogAPI.so -./lib/libeSDKOBS.so -./lib/liblog4cpp.so -./lib/liblog4cpp.so.5 -./lib/liblog4cpp.so.5.0.6 -./lib/libcharset.so -./lib/libcharset.so.1 -./lib/libcharset.so.1.0.0 -./lib/libiconv.so -./lib/libiconv.so.2 -./lib/libiconv.so.2.6.1 -./lib/libnghttp2.so -./lib/libnghttp2.so.14 -./lib/libnghttp2.so.14.20.0 -./lib/libpcre.so -./lib/libpcre.so.1 -./lib/libpcre.so.1.2.12 -./lib/libsecurec.so -./lib/libxml2.so -./lib/libxml2.so.2 -./lib/libxml2.so.2.9.9 -./lib/libparquet.so -./lib/libparquet.so.11 -./lib/libparquet.so.11.1.0 -./lib/OBS.ini -./lib/postgresql/latin2_and_win1250.so -./lib/postgresql/euc2004_sjis2004.so -./lib/libhll.so - - -./include/postgresql/server/postgres_ext.h -./include/postgresql/server/pg_config_os.h -./include/postgresql/server/pgtime.h -./include/postgresql/server/datatypes.h -./include/postgresql/server/client_logic/client_logic_enums.h -./include/postgresql/server/nodes/primnodes.h -./include/postgresql/server/nodes/parsenodes.h -./include/postgresql/server/nodes/parsenodes_common.h -./include/postgresql/server/nodes/bitmapset.h -./include/postgresql/server/nodes/pg_list.h -./include/postgresql/server/nodes/value.h -./include/postgresql/server/nodes/nodes.h -./include/postgresql/server/utils/sortsupport.h -./include/postgresql/server/utils/varbit.h -./include/postgresql/server/utils/spccache.h -./include/postgresql/server/utils/rangetypes.h -./include/postgresql/server/utils/plpgsql.h -./include/postgresql/server/utils/memtrack.h -./include/postgresql/server/utils/pg_locale.h -./include/postgresql/server/utils/tzparser.h -./include/postgresql/server/utils/syscall_lock.h -./include/postgresql/server/utils/partitionmap.h -./include/postgresql/server/utils/array.h -./include/postgresql/server/utils/relmapper.h -./include/postgresql/server/utils/hsearch.h -./include/postgresql/server/utils/xml.h -./include/postgresql/server/utils/bytea.h -./include/postgresql/server/utils/relcache.h -./include/postgresql/server/utils/pg_rusage.h -./include/postgresql/server/utils/numeric.h -./include/postgresql/server/utils/mmpool.h -./include/postgresql/server/utils/nabstime.h -./include/postgresql/server/utils/fmgrtab.h -./include/postgresql/server/utils/snapmgr.h -./include/postgresql/server/utils/syscache.h -./include/postgresql/server/utils/logtape.h -./include/postgresql/server/utils/datum.h -./include/postgresql/server/utils/guc_tables.h -./include/postgresql/server/utils/snapshot.h -./include/postgresql/server/utils/geo_decls.h -./include/postgresql/server/utils/errcodes.h -./include/postgresql/server/utils/inval.h -./include/postgresql/server/utils/help_config.h -./include/postgresql/server/utils/distribute_test.h -./include/postgresql/server/utils/aiomem.h -./include/postgresql/server/utils/tuplestore.h -./include/postgresql/server/utils/rbtree.h -./include/postgresql/server/utils/gs_bitmap.h -./include/postgresql/server/utils/tuplesort.h -./include/postgresql/server/utils/tqual.h -./include/postgresql/server/utils/ps_status.h -./include/postgresql/server/utils/palloc.h -./include/postgresql/server/utils/reltrigger.h -./include/postgresql/server/utils/acl.h -./include/postgresql/server/utils/ascii.h -./include/postgresql/server/utils/selfuncs.h -./include/postgresql/server/utils/json.h -./include/postgresql/server/utils/portal.h -./include/postgresql/server/utils/atomic.h -./include/postgresql/server/utils/elog.h -./include/postgresql/server/utils/date.h -./include/postgresql/server/utils/plancache.h -./include/postgresql/server/utils/int8.h -./include/postgresql/server/utils/timestamp.h -./include/postgresql/server/utils/bloom_filter.h -./include/postgresql/server/utils/fmgroids.h -./include/postgresql/server/utils/pg_crc_tables.h -./include/postgresql/server/utils/probes.h -./include/postgresql/server/utils/datetime.h -./include/postgresql/server/utils/inet.h -./include/postgresql/server/utils/pg_lzcompress.h -./include/postgresql/server/utils/pg_crc.h -./include/postgresql/server/utils/attoptcache.h -./include/postgresql/server/utils/dynahash.h -./include/postgresql/server/utils/rel.h -./include/postgresql/server/utils/partcache.h -./include/postgresql/server/utils/lsyscache.h -./include/postgresql/server/utils/memutils.h -./include/postgresql/server/utils/memprot.h -./include/postgresql/server/utils/uuid.h -./include/postgresql/server/utils/combocid.h -./include/postgresql/server/utils/builtins.h -./include/postgresql/server/utils/guc.h -./include/postgresql/server/utils/dfs_vector.h -./include/postgresql/server/utils/dynamic_loader.h -./include/postgresql/server/utils/resowner.h -./include/postgresql/server/utils/aes.h -./include/postgresql/server/utils/cash.h -./include/postgresql/server/utils/typcache.h -./include/postgresql/server/utils/formatting.h -./include/postgresql/server/utils/partitionkey.h -./include/postgresql/server/utils/aset.h -./include/postgresql/server/utils/catcache.h -./include/postgresql/server/utils/atomic_arm.h -./include/postgresql/server/datatype/timestamp.h -./include/postgresql/server/access/rmgr.h -./include/postgresql/server/access/xlogreader.h -./include/postgresql/server/access/xlog_basic.h -./include/postgresql/server/access/tupdesc.h -./include/postgresql/server/access/rmgrlist.h -./include/postgresql/server/access/htup.h -./include/postgresql/server/access/xlogdefs.h -./include/postgresql/server/access/attnum.h -./include/postgresql/server/access/tupmacs.h -./include/postgresql/server/access/xlogrecord.h -./include/postgresql/server/tcop/dest.h -./include/postgresql/server/catalog/pg_type.h -./include/postgresql/server/catalog/pg_attribute.h -./include/postgresql/server/catalog/genbki.h -./include/postgresql/server/gs_thread.h -./include/postgresql/server/port/pg_bswap.h -./include/postgresql/server/port/pg_crc32c.h -./include/postgresql/server/securec.h -./include/postgresql/server/securectype.h -./include/postgresql/server/storage/off.h -./include/postgresql/server/storage/buf/block.h -./include/postgresql/server/storage/item/item.h -./include/postgresql/server/storage/relfilenode.h -./include/postgresql/server/storage/buf/bufpage.h -./include/postgresql/server/storage/spin.h -./include/postgresql/server/storage/buf/buf.h -./include/postgresql/server/storage/item/itemid.h -./include/postgresql/server/storage/lock/pg_sema.h -./include/postgresql/server/storage/item/itemptr.h -./include/postgresql/server/storage/lock/s_lock.h -./include/postgresql/server/storage/backendid.h -./include/postgresql/server/storage/lock/lock.h -./include/postgresql/server/storage/lock/lwlock.h -./include/postgresql/server/storage/barrier.h -./include/postgresql/server/storage/shmem.h -./include/postgresql/server/pg_config.h -./include/postgresql/server/lib/stringinfo.h -./include/postgresql/server/fmgr.h -./include/postgresql/server/fmgr/fmgr_comp.h -./include/postgresql/server/fmgr/fmgr_core.h -./include/postgresql/server/gs_threadlocal.h -./include/postgresql/server/postgres.h -./include/postgresql/server/executor/tuptable.h -./include/postgresql/server/pg_config_manual.h -./include/postgresql/server/mb/pg_wchar.h -./include/postgresql/server/c.h -./include/postgresql/server/port.h -./include/postgresql/server/utils/be_module.h -./include/postgresql/server/nodes/params.h -./include/postgresql/server/securec_check.h -./include/postgresql/server/nodes/memnodes.h -./include/postgresql/server/access/skey.h -./include/postgresql/server/lib/dllist.h -./include/postgresql/server/lib/ilist.h -./include/postgresql/server/pgxc/locator.h -./include/postgresql/server/gstrace/gstrace_infra.h -./include/postgresql/server/extension_dependency.h -./jre/ASSEMBLY_EXCEPTION -./jre/bin/java -./jre/bin/jjs -./jre/bin/keytool -./jre/bin/orbd -./jre/bin/pack200 -./jre/bin/policytool -./jre/bin/rmid -./jre/bin/rmiregistry -./jre/bin/servertool -./jre/bin/tnameserv -./jre/bin/unpack200 -./jre/lib/amd64/jli/libjli.so -./jre/lib/amd64/jvm.cfg -./jre/lib/amd64/libattach.so -./jre/lib/amd64/libavplugin-ffmpeg-58.so -./jre/lib/amd64/libawt_headless.so -./jre/lib/amd64/libawt.so -./jre/lib/amd64/libawt_xawt.so -./jre/lib/amd64/libdecora_sse.so -./jre/lib/amd64/libdt_socket.so -./jre/lib/amd64/libfontmanager.so -./jre/lib/amd64/libfxplugins.so -./jre/lib/amd64/libglassgtk2.so -./jre/lib/amd64/libglassgtk3.so -./jre/lib/amd64/libglass.so -./jre/lib/amd64/libgstreamer-lite.so -./jre/lib/amd64/libhprof.so -./jre/lib/amd64/libinstrument.so -./jre/lib/amd64/libj2gss.so -./jre/lib/amd64/libj2pcsc.so -./jre/lib/amd64/libj2pkcs11.so -./jre/lib/amd64/libjaas_unix.so -./jre/lib/amd64/libjava_crw_demo.so -./jre/lib/amd64/libjavafx_font_freetype.so -./jre/lib/amd64/libjavafx_font_pango.so -./jre/lib/amd64/libjavafx_font.so -./jre/lib/amd64/libjavafx_iio.so -./jre/lib/amd64/libjava.so -./jre/lib/amd64/libjawt.so -./jre/lib/amd64/libjdwp.so -./jre/lib/amd64/libjfxmedia.so -./jre/lib/amd64/libjfxwebkit.so -./jre/lib/amd64/libjpeg.so -./jre/lib/amd64/libjsdt.so -./jre/lib/amd64/libjsig.so -./jre/lib/amd64/libjsoundalsa.so -./jre/lib/amd64/libjsound.so -./jre/lib/amd64/liblcms.so -./jre/lib/amd64/libmanagement.so -./jre/lib/amd64/libmlib_image.so -./jre/lib/amd64/libnet.so -./jre/lib/amd64/libnio.so -./jre/lib/amd64/libnpt.so -./jre/lib/amd64/libprism_common.so -./jre/lib/amd64/libprism_es2.so -./jre/lib/amd64/libprism_sw.so -./jre/lib/amd64/libsaproc.so -./jre/lib/amd64/libsctp.so -./jre/lib/amd64/libsplashscreen.so -./jre/lib/amd64/libsunec.so -./jre/lib/amd64/libunpack.so -./jre/lib/amd64/libverify.so -./jre/lib/amd64/libzip.so -./jre/lib/amd64/server/libjvm.so -./jre/lib/amd64/server/Xusage.txt -./jre/lib/calendars.properties -./jre/lib/charsets.jar -./jre/lib/classlist -./jre/lib/cmm/CIEXYZ.pf -./jre/lib/cmm/GRAY.pf -./jre/lib/cmm/LINEAR_RGB.pf -./jre/lib/cmm/PYCC.pf -./jre/lib/cmm/sRGB.pf -./jre/lib/content-types.properties -./jre/lib/currency.data -./jre/lib/ext/cldrdata.jar -./jre/lib/ext/dnsns.jar -./jre/lib/ext/jaccess.jar -./jre/lib/ext/jfxrt.jar -./jre/lib/ext/localedata.jar -./jre/lib/ext/meta-index -./jre/lib/ext/nashorn.jar -./jre/lib/ext/sunec.jar -./jre/lib/ext/sunjce_provider.jar -./jre/lib/ext/sunpkcs11.jar -./jre/lib/ext/zipfs.jar -./jre/lib/flavormap.properties -./jre/lib/fontconfig.Euler.properties -./jre/lib/fontconfig.properties -./jre/lib/fontconfig.Ubuntu.properties -./jre/lib/fonts/Roboto-Regular.ttf -./jre/lib/hijrah-config-umalqura.properties -./jre/lib/images/cursors/cursors.properties -./jre/lib/images/cursors/invalid32x32.gif -./jre/lib/images/cursors/motif_CopyDrop32x32.gif -./jre/lib/images/cursors/motif_CopyNoDrop32x32.gif -./jre/lib/images/cursors/motif_LinkDrop32x32.gif -./jre/lib/images/cursors/motif_LinkNoDrop32x32.gif -./jre/lib/images/cursors/motif_MoveDrop32x32.gif -./jre/lib/images/cursors/motif_MoveNoDrop32x32.gif -./jre/lib/javafx-mx.jar -./jre/lib/javafx.properties -./jre/lib/jce.jar -./jre/lib/jexec -./jre/lib/jfr/default.jfc -./jre/lib/jfr.jar -./jre/lib/jfr/profile.jfc -./jre/lib/jfxswt.jar -./jre/lib/jsse.jar -./jre/lib/jvm.hprof.txt -./jre/lib/logging.properties -./jre/lib/management-agent.jar -./jre/lib/management/jmxremote.access -./jre/lib/management/jmxremote.password.template -./jre/lib/management/management.properties -./jre/lib/management/snmp.acl.template -./jre/lib/meta-index -./jre/lib/net.properties -./jre/lib/psfontj2d.properties -./jre/lib/psfont.properties.ja -./jre/lib/resources.jar -./jre/lib/rt.jar -./jre/lib/security/blacklisted.certs -./jre/lib/security/cacerts -./jre/lib/security/java.policy -./jre/lib/security/java.security -./jre/lib/security/policy/limited/local_policy.jar -./jre/lib/security/policy/limited/US_export_policy.jar -./jre/lib/security/policy/unlimited/local_policy.jar -./jre/lib/security/policy/unlimited/US_export_policy.jar -./jre/lib/sound.properties -./jre/lib/tzdb.dat -./jre/LICENSE -./jre/THIRD_PARTY_README -[client] -./bin/gsql -./bin/gs_dump -./bin/gs_dumpall -./bin/gs_restore -./jdbc/gsjdbc4.jar -./jdbc/gsjdbc200.jar -./lib/postgresql/latin2_and_win1250.so -./lib/postgresql/euc2004_sjis2004.so -./lib/postgresql/euc_kr_and_mic.so -./lib/postgresql/utf8_and_uhc.so -./lib/postgresql/euc_tw_and_big5.so -./lib/postgresql/cyrillic_and_mic.so -./lib/postgresql/utf8_and_johab.so -./lib/postgresql/utf8_and_gb18030.so -./lib/postgresql/pgxs/src/makefiles/pgxs.mk -./lib/postgresql/pgxs/src/Makefile.shlib -./lib/postgresql/pgxs/src/Makefile.port -./lib/postgresql/pgxs/src/nls-global.mk -./lib/postgresql/pgxs/src/Makefile.global -./lib/postgresql/pgxs/config/install-sh -./lib/postgresql/euc_cn_and_mic.so -./lib/postgresql/latin_and_mic.so -./lib/postgresql/utf8_and_sjis2004.so -./lib/postgresql/utf8_and_euc_jp.so -./lib/postgresql/utf8_and_sjis.so -./lib/postgresql/utf8_and_cyrillic.so -./lib/postgresql/utf8_and_euc_kr.so -./lib/postgresql/ascii_and_mic.so -./lib/postgresql/utf8_and_iso8859_1.so -./lib/postgresql/euc_jp_and_sjis.so -./lib/postgresql/dict_snowball.so -./lib/postgresql/utf8_and_ascii.so -./lib/postgresql/utf8_and_euc_tw.so -./lib/postgresql/utf8_and_iso8859.so -./lib/postgresql/utf8_and_win.so -./lib/postgresql/utf8_and_euc_cn.so -./lib/postgresql/utf8_and_gbk.so -./lib/postgresql/utf8_and_euc2004.so -./lib/postgresql/utf8_and_big5.so -./lib/postgresql/java/pljava.jar -./lib/libpljava.so -./lib/libpq.a -./lib/libpq.so -./lib/libpq.so.5 -./lib/libpq.so.5.5 -./lib/libpq_ce.so -./lib/libpq_ce.so.5 -./lib/libpq_ce.so.5.5 -./lib/libcrypto.so -./lib/libcrypto.so.1.1 -./lib/libstdc++.so.6 -./lib/libssl.so -./lib/libssl.so.1.1 -./lib/libgssapi_krb5_gauss.so -./lib/libgssapi_krb5_gauss.so.2 -./lib/libgssapi_krb5_gauss.so.2.2 -./lib/libgssrpc_gauss.so -./lib/libgssrpc_gauss.so.4 -./lib/libgssrpc_gauss.so.4.2 -./lib/libk5crypto_gauss.so -./lib/libk5crypto_gauss.so.3 -./lib/libk5crypto_gauss.so.3.1 -./lib/libkrb5support_gauss.so -./lib/libkrb5support_gauss.so.0 -./lib/libkrb5support_gauss.so.0.1 -./lib/libkrb5_gauss.so -./lib/libkrb5_gauss.so.3 -./lib/libkrb5_gauss.so.3.3 -./lib/libcom_err_gauss.so -./lib/libcom_err_gauss.so.3 -./lib/libcom_err_gauss.so.3.0 -./odbc/lib/psqlodbcw.la -./odbc/lib/psqlodbcw.so -[libpq] -./lib/libpq.a -./lib/libpq.so -./lib/libpq.so.5 -./lib/libpq.so.5.5 -./lib/libpq_ce.so -./lib/libpq_ce.so.5 -./lib/libpq_ce.so.5.5 -./lib/libconfig.so -./lib/libconfig.so.4 -./lib/libcrypto.so -./lib/libcrypto.so.1.1 -./lib/libstdc++.so.6 -./lib/libssl.so -./lib/libcmclient.so -./lib/libcmclient.so.1 -./lib/libcmcommon.so -./lib/libcmcommon.so.2 -./lib/libcmpq.so -./lib/libcmpq.so.1 -./lib/libssl.so.1.1 -./lib/libpgport_tool.so -./lib/libpgport_tool.so.1 -./lib/libgssapi_krb5_gauss.so -./lib/libgssapi_krb5_gauss.so.2 -./lib/libgssapi_krb5_gauss.so.2.2 -./lib/libgssrpc_gauss.so -./lib/libgssrpc_gauss.so.4 -./lib/libgssrpc_gauss.so.4.2 -./lib/libk5crypto_gauss.so -./lib/libk5crypto_gauss.so.3 -./lib/libk5crypto_gauss.so.3.1 -./lib/libkrb5support_gauss.so -./lib/libkrb5support_gauss.so.0 -./lib/libkrb5support_gauss.so.0.1 -./lib/libkrb5_gauss.so -./lib/libkrb5_gauss.so.3 -./lib/libkrb5_gauss.so.3.3 -./lib/libcom_err_gauss.so -./lib/libcom_err_gauss.so.3 -./lib/libcom_err_gauss.so.3.0 -[cmlibrary] -./lib/libconfig.a -./lib/libcmclient.a -./lib/libcmcommon.a -./lib/libcmpq.a -./lib/libpgport.a -[header] -./include/libpq-fe.h -./include/postgres_ext.h -./include/gs_thread.h -./include/gs_threadlocal.h -./include/pg_config.h -./include/pg_config_manual.h -./include/pg_config_os.h -[gds] -./bin/gds -./bin/gds_ctl.py -./share/postgresql/gds.conf -./share/postgresql/gds.conf.sample -./lib/libcjson.so -./lib/libcjson.so.1 -./lib/libcjson.so.1.7.13 -[version] -V500R001C20 -[script] -./script/__init__.py -./script/gs_check -./script/gs_checkos -./script/gs_checkperf -./script/gs_collector -./script/gs_backup -./script/gs_expand -./script/gs_install -./script/gs_om -./script/gs_hotpatch -./script/gs_postuninstall -./script/gs_preinstall -./script/gs_replace -./script/gs_shrink -./script/gs_ssh -./script/gs_sshexkey -./script/gs_uninstall -./script/gs_upgradectl -./script/gs_lcctl -./script/gs_resize -./script/killall -./script/uninstall_force.py -./script/checkRunStatus.py -./script/JsonToDbClustorInfo.py -./script/nodegroup_migrate.sh diff --git a/build/script/mpp_release_list_linux_x86_64 b/build/script/mpp_release_list_linux_x86_64 deleted file mode 100644 index 36ed26491..000000000 --- a/build/script/mpp_release_list_linux_x86_64 +++ /dev/null @@ -1,1277 +0,0 @@ -[server] -[server]:./bin/gds -[server]:./bin/gs_log -[server]:./bin/gsql -[server]:./bin/gaussdb -[server]:./bin/gaussdb.version.GaussDB200 -[server]:./bin/gaussdb.version.GaussDB300 -[server]:./bin/gaussmaster -[server]:./bin/gstrace -[server]:./bin/gs_encrypt -[server]:./bin/gs_gtm -[server]:./bin/gs_dump -[server]:./bin/gs_dumpall -[server]:./bin/gs_initgtm -[server]:./bin/gs_initcm -[server]:./bin/gs_ctl -[server]:./bin/gs_initdb -[server]:./bin/gtm_ctl -[server]:./bin/cm_server -[server]:./bin/cm_agent -[server]:./bin/om_monitor -[server]:./bin/cm_ctl -[server]:./bin/etcd -[server]:./bin/etcdctl -[server]:./bin/seq_query -[server]:./bin/gs_guc -[server]:./bin/gs_roach -[server]:./bin/gs_clean -[server]:./bin/gs_redis -[server]:./bin/gs_restore -[server]:./bin/gs_cgroup -[server]:./bin/openssl -[server]:./bin/pg_config -[server]:./bin/pg_controldata -[server]:./bin/pg_format_cu -[server]:./bin/pg_resetxlog -[server]:./bin/alarmItem.conf -[server]:./bin/retry_errcodes.conf -[server]:./bin/cluster_guc.conf -[server]:./bin/runsessionstat.sh -[server]:./bin/drop_caches.sh -[server]:./bin/run_drop_cache.sh -[server]:./bin/transfer.py -[server]:./bin/getDEK.jar -[server]:./bin/gs_plan_simulator.sh -[server]:./bin/dependences/clean_temp.sql -[server]:./bin/dependences/initdb.py -[server]:./bin/dependences/restore_temp.sql -[server]:./bin/dependences/store_pg_class_stats.sql -[server]:./bin/dependences/store_pg_statistic_ext_stats.sql -[server]:./bin/dependences/store_pg_statistic_stats.sql -[server]:./bin/dependences/store_pgxc_class.sql -[server]:./share/postgis/PostGIS_install.sh -[server]:./share/postgresql/tmp/udstools.py -[server]:./share/postgresql/snowball_create.sql -[server]:./share/postgresql/pmk_schema.sql -[server]:./share/postgresql/pmk_schema_single_inst.sql -[server]:./share/postgresql/pg_hba.conf.sample -[server]:./share/postgresql/pg_service.conf.sample -[server]:./share/postgresql/psqlrc.sample -[server]:./share/postgresql/conversion_create.sql -[server]:./share/postgresql/postgres.shdescription -[server]:./share/postgresql/pg_ident.conf.sample -[server]:./share/postgresql/postgres.description -[server]:./share/postgresql/postgresql.conf.sample -[server]:./share/postgresql/extension/plpgsql--1.0.sql -[server]:./share/postgresql/extension/hstore.control -[server]:./share/postgresql/extension/security_plugin.control -[server]:./share/postgresql/extension/security_plugin--1.0.sql -[server]:./share/postgresql/extension/tsdb.control -[server]:./share/postgresql/extension/tsdb--1.0.sql -[server]:./share/postgresql/extension/file_fdw--1.0.sql -[server]:./share/postgresql/extension/plpgsql.control -[server]:./share/postgresql/extension/dist_fdw.control -[server]:./share/postgresql/extension/dist_fdw--1.0.sql -[server]:./share/postgresql/extension/hstore--1.1.sql -[server]:./share/postgresql/extension/plpgsql--unpackaged--1.0.sql -[server]:./share/postgresql/extension/file_fdw.control -[server]:./share/postgresql/extension/hstore--unpackaged--1.0.sql -[server]:./share/postgresql/extension/hstore--1.0--1.1.sql -[server]:./share/postgresql/extension/hdfs_fdw--1.0.sql -[server]:./share/postgresql/extension/hdfs_fdw.control -[server]:./share/postgresql/extension/gc_fdw--1.0.sql -[server]:./share/postgresql/extension/gc_fdw.control -[server]:./share/postgresql/extension/roach_api--1.0.sql -[server]:./share/postgresql/extension/roach_api.control -[server]:./share/postgresql/extension/log_fdw--1.0.sql -[server]:./share/postgresql/extension/log_fdw.control -[server]:./share/postgresql/extension/dimsearch--1.0.sql -[server]:./share/postgresql/extension/dimsearch.control -[server]:./share/postgresql/extension/packages--1.0.sql -[server]:./share/postgresql/extension/packages--1.0--1.1.sql -[server]:./share/postgresql/extension/packages.control -[server]:./share/postgresql/extension/gsredistribute.control -[server]:./share/postgresql/extension/gsredistribute--1.0.sql -[server]:./share/postgresql/extension/gsredistribute--unpackaged--1.0.sql -[server]:./share/postgresql/timezone/GB-Eire -[server]:./share/postgresql/timezone/Turkey -[server]:./share/postgresql/timezone/Kwajalein -[server]:./share/postgresql/timezone/UCT -[server]:./share/postgresql/timezone/Mexico/BajaSur -[server]:./share/postgresql/timezone/Mexico/BajaNorte -[server]:./share/postgresql/timezone/Mexico/General -[server]:./share/postgresql/timezone/Japan -[server]:./share/postgresql/timezone/Israel -[server]:./share/postgresql/timezone/US/Eastern -[server]:./share/postgresql/timezone/US/Samoa -[server]:./share/postgresql/timezone/US/Michigan -[server]:./share/postgresql/timezone/US/Aleutian -[server]:./share/postgresql/timezone/US/Pacific -[server]:./share/postgresql/timezone/US/Pacific-New -[server]:./share/postgresql/timezone/US/Indiana-Starke -[server]:./share/postgresql/timezone/US/Mountain -[server]:./share/postgresql/timezone/US/East-Indiana -[server]:./share/postgresql/timezone/US/Hawaii -[server]:./share/postgresql/timezone/US/Arizona -[server]:./share/postgresql/timezone/US/Alaska -[server]:./share/postgresql/timezone/US/Central -[server]:./share/postgresql/timezone/Greenwich -[server]:./share/postgresql/timezone/Poland -[server]:./share/postgresql/timezone/CET -[server]:./share/postgresql/timezone/GMT-0 -[server]:./share/postgresql/timezone/Indian/Mauritius -[server]:./share/postgresql/timezone/Indian/Cocos -[server]:./share/postgresql/timezone/Indian/Reunion -[server]:./share/postgresql/timezone/Indian/Maldives -[server]:./share/postgresql/timezone/Indian/Comoro -[server]:./share/postgresql/timezone/Indian/Antananarivo -[server]:./share/postgresql/timezone/Indian/Christmas -[server]:./share/postgresql/timezone/Indian/Kerguelen -[server]:./share/postgresql/timezone/Indian/Chagos -[server]:./share/postgresql/timezone/Indian/Mayotte -[server]:./share/postgresql/timezone/Indian/Mahe -[server]:./share/postgresql/timezone/GMT0 -[server]:./share/postgresql/timezone/Antarctica/Palmer -[server]:./share/postgresql/timezone/Antarctica/Syowa -[server]:./share/postgresql/timezone/Antarctica/South_Pole -[server]:./share/postgresql/timezone/Antarctica/McMurdo -[server]:./share/postgresql/timezone/Antarctica/Rothera -[server]:./share/postgresql/timezone/Antarctica/Mawson -[server]:./share/postgresql/timezone/Antarctica/Casey -[server]:./share/postgresql/timezone/Antarctica/Davis -[server]:./share/postgresql/timezone/Antarctica/DumontDUrville -[server]:./share/postgresql/timezone/Antarctica/Vostok -[server]:./share/postgresql/timezone/Antarctica/Macquarie -[server]:./share/postgresql/timezone/ROK -[server]:./share/postgresql/timezone/Chile/EasterIsland -[server]:./share/postgresql/timezone/Chile/Continental -[server]:./share/postgresql/timezone/posixrules -[server]:./share/postgresql/timezone/Atlantic/Azores -[server]:./share/postgresql/timezone/Atlantic/St_Helena -[server]:./share/postgresql/timezone/Atlantic/Madeira -[server]:./share/postgresql/timezone/Atlantic/Jan_Mayen -[server]:./share/postgresql/timezone/Atlantic/Faroe -[server]:./share/postgresql/timezone/Atlantic/Stanley -[server]:./share/postgresql/timezone/Atlantic/Cape_Verde -[server]:./share/postgresql/timezone/Atlantic/Reykjavik -[server]:./share/postgresql/timezone/Atlantic/Canary -[server]:./share/postgresql/timezone/Atlantic/South_Georgia -[server]:./share/postgresql/timezone/Atlantic/Bermuda -[server]:./share/postgresql/timezone/Atlantic/Faeroe -[server]:./share/postgresql/timezone/Hongkong -[server]:./share/postgresql/timezone/Libya -[server]:./share/postgresql/timezone/Iceland -[server]:./share/postgresql/timezone/UTC -[server]:./share/postgresql/timezone/Australia/Darwin -[server]:./share/postgresql/timezone/Australia/North -[server]:./share/postgresql/timezone/Australia/NSW -[server]:./share/postgresql/timezone/Australia/Sydney -[server]:./share/postgresql/timezone/Australia/Hobart -[server]:./share/postgresql/timezone/Australia/LHI -[server]:./share/postgresql/timezone/Australia/Victoria -[server]:./share/postgresql/timezone/Australia/South -[server]:./share/postgresql/timezone/Australia/Melbourne -[server]:./share/postgresql/timezone/Australia/Lord_Howe -[server]:./share/postgresql/timezone/Australia/West -[server]:./share/postgresql/timezone/Australia/Brisbane -[server]:./share/postgresql/timezone/Australia/Perth -[server]:./share/postgresql/timezone/Australia/Eucla -[server]:./share/postgresql/timezone/Australia/Canberra -[server]:./share/postgresql/timezone/Australia/Queensland -[server]:./share/postgresql/timezone/Australia/Broken_Hill -[server]:./share/postgresql/timezone/Australia/Lindeman -[server]:./share/postgresql/timezone/Australia/ACT -[server]:./share/postgresql/timezone/Australia/Currie -[server]:./share/postgresql/timezone/Australia/Adelaide -[server]:./share/postgresql/timezone/Australia/Yancowinna -[server]:./share/postgresql/timezone/Australia/Tasmania -[server]:./share/postgresql/timezone/Jamaica -[server]:./share/postgresql/timezone/EST5EDT -[server]:./share/postgresql/timezone/MET -[server]:./share/postgresql/timezone/W-SU -[server]:./share/postgresql/timezone/Mideast/Riyadh87 -[server]:./share/postgresql/timezone/Mideast/Riyadh88 -[server]:./share/postgresql/timezone/Mideast/Riyadh89 -[server]:./share/postgresql/timezone/WET -[server]:./share/postgresql/timezone/ROC -[server]:./share/postgresql/timezone/Factory -[server]:./share/postgresql/timezone/EET -[server]:./share/postgresql/timezone/PST8PDT -[server]:./share/postgresql/timezone/Portugal -[server]:./share/postgresql/timezone/NZ -[server]:./share/postgresql/timezone/Brazil/West -[server]:./share/postgresql/timezone/Brazil/DeNoronha -[server]:./share/postgresql/timezone/Brazil/Acre -[server]:./share/postgresql/timezone/Brazil/East -[server]:./share/postgresql/timezone/EST -[server]:./share/postgresql/timezone/Egypt -[server]:./share/postgresql/timezone/Universal -[server]:./share/postgresql/timezone/Pacific/Enderbury -[server]:./share/postgresql/timezone/Pacific/Noumea -[server]:./share/postgresql/timezone/Pacific/Kwajalein -[server]:./share/postgresql/timezone/Pacific/Norfolk -[server]:./share/postgresql/timezone/Pacific/Nauru -[server]:./share/postgresql/timezone/Pacific/Efate -[server]:./share/postgresql/timezone/Pacific/Kosrae -[server]:./share/postgresql/timezone/Pacific/Galapagos -[server]:./share/postgresql/timezone/Pacific/Truk -[server]:./share/postgresql/timezone/Pacific/Fiji -[server]:./share/postgresql/timezone/Pacific/Auckland -[server]:./share/postgresql/timezone/Pacific/Samoa -[server]:./share/postgresql/timezone/Pacific/Port_Moresby -[server]:./share/postgresql/timezone/Pacific/Johnston -[server]:./share/postgresql/timezone/Pacific/Apia -[server]:./share/postgresql/timezone/Pacific/Tarawa -[server]:./share/postgresql/timezone/Pacific/Pitcairn -[server]:./share/postgresql/timezone/Pacific/Marquesas -[server]:./share/postgresql/timezone/Pacific/Chatham -[server]:./share/postgresql/timezone/Pacific/Tahiti -[server]:./share/postgresql/timezone/Pacific/Tongatapu -[server]:./share/postgresql/timezone/Pacific/Saipan -[server]:./share/postgresql/timezone/Pacific/Fakaofo -[server]:./share/postgresql/timezone/Pacific/Guam -[server]:./share/postgresql/timezone/Pacific/Niue -[server]:./share/postgresql/timezone/Pacific/Chuuk -[server]:./share/postgresql/timezone/Pacific/Easter -[server]:./share/postgresql/timezone/Pacific/Wallis -[server]:./share/postgresql/timezone/Pacific/Gambier -[server]:./share/postgresql/timezone/Pacific/Majuro -[server]:./share/postgresql/timezone/Pacific/Kiritimati -[server]:./share/postgresql/timezone/Pacific/Guadalcanal -[server]:./share/postgresql/timezone/Pacific/Funafuti -[server]:./share/postgresql/timezone/Pacific/Rarotonga -[server]:./share/postgresql/timezone/Pacific/Pago_Pago -[server]:./share/postgresql/timezone/Pacific/Midway -[server]:./share/postgresql/timezone/Pacific/Palau -[server]:./share/postgresql/timezone/Pacific/Honolulu -[server]:./share/postgresql/timezone/Pacific/Yap -[server]:./share/postgresql/timezone/Pacific/Pohnpei -[server]:./share/postgresql/timezone/Pacific/Wake -[server]:./share/postgresql/timezone/Pacific/Ponape -[server]:./share/postgresql/timezone/Iran -[server]:./share/postgresql/timezone/Etc/GMT-4 -[server]:./share/postgresql/timezone/Etc/GMT-9 -[server]:./share/postgresql/timezone/Etc/UCT -[server]:./share/postgresql/timezone/Etc/GMT-7 -[server]:./share/postgresql/timezone/Etc/Greenwich -[server]:./share/postgresql/timezone/Etc/GMT-0 -[server]:./share/postgresql/timezone/Etc/GMT-5 -[server]:./share/postgresql/timezone/Etc/GMT0 -[server]:./share/postgresql/timezone/Etc/GMT+7 -[server]:./share/postgresql/timezone/Etc/GMT-2 -[server]:./share/postgresql/timezone/Etc/GMT-10 -[server]:./share/postgresql/timezone/Etc/GMT+6 -[server]:./share/postgresql/timezone/Etc/GMT+1 -[server]:./share/postgresql/timezone/Etc/UTC -[server]:./share/postgresql/timezone/Etc/GMT-3 -[server]:./share/postgresql/timezone/Etc/GMT-1 -[server]:./share/postgresql/timezone/Etc/GMT-8 -[server]:./share/postgresql/timezone/Etc/GMT-11 -[server]:./share/postgresql/timezone/Etc/GMT+12 -[server]:./share/postgresql/timezone/Etc/GMT+10 -[server]:./share/postgresql/timezone/Etc/GMT-12 -[server]:./share/postgresql/timezone/Etc/GMT+5 -[server]:./share/postgresql/timezone/Etc/Universal -[server]:./share/postgresql/timezone/Etc/GMT-13 -[server]:./share/postgresql/timezone/Etc/GMT-6 -[server]:./share/postgresql/timezone/Etc/GMT+9 -[server]:./share/postgresql/timezone/Etc/GMT+3 -[server]:./share/postgresql/timezone/Etc/GMT-14 -[server]:./share/postgresql/timezone/Etc/GMT+4 -[server]:./share/postgresql/timezone/Etc/Zulu -[server]:./share/postgresql/timezone/Etc/GMT+2 -[server]:./share/postgresql/timezone/Etc/GMT+0 -[server]:./share/postgresql/timezone/Etc/GMT+8 -[server]:./share/postgresql/timezone/Etc/GMT+11 -[server]:./share/postgresql/timezone/Etc/GMT -[server]:./share/postgresql/timezone/Zulu -[server]:./share/postgresql/timezone/GMT+0 -[server]:./share/postgresql/timezone/Singapore -[server]:./share/postgresql/timezone/NZ-CHAT -[server]:./share/postgresql/timezone/Cuba -[server]:./share/postgresql/timezone/GB -[server]:./share/postgresql/timezone/Arctic/Longyearbyen -[server]:./share/postgresql/timezone/MST7MDT -[server]:./share/postgresql/timezone/PRC -[server]:./share/postgresql/timezone/Canada/Eastern -[server]:./share/postgresql/timezone/Canada/Yukon -[server]:./share/postgresql/timezone/Canada/Atlantic -[server]:./share/postgresql/timezone/Canada/Newfoundland -[server]:./share/postgresql/timezone/Canada/Saskatchewan -[server]:./share/postgresql/timezone/Canada/Pacific -[server]:./share/postgresql/timezone/Canada/East-Saskatchewan -[server]:./share/postgresql/timezone/Canada/Mountain -[server]:./share/postgresql/timezone/Canada/Central -[server]:./share/postgresql/timezone/CST6CDT -[server]:./share/postgresql/timezone/HST -[server]:./share/postgresql/timezone/America/Boa_Vista -[server]:./share/postgresql/timezone/America/New_York -[server]:./share/postgresql/timezone/America/Santarem -[server]:./share/postgresql/timezone/America/Boise -[server]:./share/postgresql/timezone/America/St_Lucia -[server]:./share/postgresql/timezone/America/Mendoza -[server]:./share/postgresql/timezone/America/Mexico_City -[server]:./share/postgresql/timezone/America/Chihuahua -[server]:./share/postgresql/timezone/America/Indianapolis -[server]:./share/postgresql/timezone/America/Virgin -[server]:./share/postgresql/timezone/America/Atka -[server]:./share/postgresql/timezone/America/Winnipeg -[server]:./share/postgresql/timezone/America/Hermosillo -[server]:./share/postgresql/timezone/America/Indiana/Indianapolis -[server]:./share/postgresql/timezone/America/Indiana/Tell_City -[server]:./share/postgresql/timezone/America/Indiana/Winamac -[server]:./share/postgresql/timezone/America/Indiana/Knox -[server]:./share/postgresql/timezone/America/Indiana/Vincennes -[server]:./share/postgresql/timezone/America/Indiana/Vevay -[server]:./share/postgresql/timezone/America/Indiana/Petersburg -[server]:./share/postgresql/timezone/America/Indiana/Marengo -[server]:./share/postgresql/timezone/America/Moncton -[server]:./share/postgresql/timezone/America/Campo_Grande -[server]:./share/postgresql/timezone/America/Guyana -[server]:./share/postgresql/timezone/America/Caracas -[server]:./share/postgresql/timezone/America/Maceio -[server]:./share/postgresql/timezone/America/Godthab -[server]:./share/postgresql/timezone/America/Thunder_Bay -[server]:./share/postgresql/timezone/America/Havana -[server]:./share/postgresql/timezone/America/Santiago -[server]:./share/postgresql/timezone/America/Los_Angeles -[server]:./share/postgresql/timezone/America/Buenos_Aires -[server]:./share/postgresql/timezone/America/Manaus -[server]:./share/postgresql/timezone/America/Bahia -[server]:./share/postgresql/timezone/America/North_Dakota/New_Salem -[server]:./share/postgresql/timezone/America/North_Dakota/Beulah -[server]:./share/postgresql/timezone/America/North_Dakota/Center -[server]:./share/postgresql/timezone/America/Bahia_Banderas -[server]:./share/postgresql/timezone/America/Edmonton -[server]:./share/postgresql/timezone/America/Tegucigalpa -[server]:./share/postgresql/timezone/America/Rankin_Inlet -[server]:./share/postgresql/timezone/America/Monterrey -[server]:./share/postgresql/timezone/America/Cambridge_Bay -[server]:./share/postgresql/timezone/America/Porto_Velho -[server]:./share/postgresql/timezone/America/Antigua -[server]:./share/postgresql/timezone/America/Atikokan -[server]:./share/postgresql/timezone/America/Vancouver -[server]:./share/postgresql/timezone/America/Anchorage -[server]:./share/postgresql/timezone/America/Port-au-Prince -[server]:./share/postgresql/timezone/America/Lima -[server]:./share/postgresql/timezone/America/Grenada -[server]:./share/postgresql/timezone/America/Creston -[server]:./share/postgresql/timezone/America/La_Paz -[server]:./share/postgresql/timezone/America/Panama -[server]:./share/postgresql/timezone/America/Blanc-Sablon -[server]:./share/postgresql/timezone/America/Cayenne -[server]:./share/postgresql/timezone/America/Santo_Domingo -[server]:./share/postgresql/timezone/America/Grand_Turk -[server]:./share/postgresql/timezone/America/Toronto -[server]:./share/postgresql/timezone/America/Rainy_River -[server]:./share/postgresql/timezone/America/Merida -[server]:./share/postgresql/timezone/America/Port_of_Spain -[server]:./share/postgresql/timezone/America/Nipigon -[server]:./share/postgresql/timezone/America/Jamaica -[server]:./share/postgresql/timezone/America/Rosario -[server]:./share/postgresql/timezone/America/Dawson_Creek -[server]:./share/postgresql/timezone/America/Belize -[server]:./share/postgresql/timezone/America/Costa_Rica -[server]:./share/postgresql/timezone/America/Barbados -[server]:./share/postgresql/timezone/America/Danmarkshavn -[server]:./share/postgresql/timezone/America/Argentina/La_Rioja -[server]:./share/postgresql/timezone/America/Argentina/Mendoza -[server]:./share/postgresql/timezone/America/Argentina/Buenos_Aires -[server]:./share/postgresql/timezone/America/Argentina/Tucuman -[server]:./share/postgresql/timezone/America/Argentina/Ushuaia -[server]:./share/postgresql/timezone/America/Argentina/Catamarca -[server]:./share/postgresql/timezone/America/Argentina/ComodRivadavia -[server]:./share/postgresql/timezone/America/Argentina/Jujuy -[server]:./share/postgresql/timezone/America/Argentina/Cordoba -[server]:./share/postgresql/timezone/America/Argentina/San_Luis -[server]:./share/postgresql/timezone/America/Argentina/Rio_Gallegos -[server]:./share/postgresql/timezone/America/Argentina/Salta -[server]:./share/postgresql/timezone/America/Argentina/San_Juan -[server]:./share/postgresql/timezone/America/Pangnirtung -[server]:./share/postgresql/timezone/America/Anguilla -[server]:./share/postgresql/timezone/America/Curacao -[server]:./share/postgresql/timezone/America/Cancun -[server]:./share/postgresql/timezone/America/Montreal -[server]:./share/postgresql/timezone/America/Shiprock -[server]:./share/postgresql/timezone/America/Thule -[server]:./share/postgresql/timezone/America/Scoresbysund -[server]:./share/postgresql/timezone/America/Catamarca -[server]:./share/postgresql/timezone/America/Sao_Paulo -[server]:./share/postgresql/timezone/America/Sitka -[server]:./share/postgresql/timezone/America/Asuncion -[server]:./share/postgresql/timezone/America/Regina -[server]:./share/postgresql/timezone/America/St_Johns -[server]:./share/postgresql/timezone/America/Montevideo -[server]:./share/postgresql/timezone/America/Eirunepe -[server]:./share/postgresql/timezone/America/Denver -[server]:./share/postgresql/timezone/America/Metlakatla -[server]:./share/postgresql/timezone/America/Araguaina -[server]:./share/postgresql/timezone/America/Juneau -[server]:./share/postgresql/timezone/America/Marigot -[server]:./share/postgresql/timezone/America/Menominee -[server]:./share/postgresql/timezone/America/Glace_Bay -[server]:./share/postgresql/timezone/America/Tijuana -[server]:./share/postgresql/timezone/America/Detroit -[server]:./share/postgresql/timezone/America/Belem -[server]:./share/postgresql/timezone/America/Jujuy -[server]:./share/postgresql/timezone/America/St_Thomas -[server]:./share/postgresql/timezone/America/Resolute -[server]:./share/postgresql/timezone/America/Cuiaba -[server]:./share/postgresql/timezone/America/Halifax -[server]:./share/postgresql/timezone/America/St_Barthelemy -[server]:./share/postgresql/timezone/America/Guatemala -[server]:./share/postgresql/timezone/America/Nassau -[server]:./share/postgresql/timezone/America/St_Kitts -[server]:./share/postgresql/timezone/America/Cordoba -[server]:./share/postgresql/timezone/America/Miquelon -[server]:./share/postgresql/timezone/America/Bogota -[server]:./share/postgresql/timezone/America/Rio_Branco -[server]:./share/postgresql/timezone/America/Ensenada -[server]:./share/postgresql/timezone/America/Yakutat -[server]:./share/postgresql/timezone/America/Noronha -[server]:./share/postgresql/timezone/America/Kentucky/Monticello -[server]:./share/postgresql/timezone/America/Kentucky/Louisville -[server]:./share/postgresql/timezone/America/Porto_Acre -[server]:./share/postgresql/timezone/America/Santa_Isabel -[server]:./share/postgresql/timezone/America/El_Salvador -[server]:./share/postgresql/timezone/America/Yellowknife -[server]:./share/postgresql/timezone/America/Cayman -[server]:./share/postgresql/timezone/America/Whitehorse -[server]:./share/postgresql/timezone/America/Ojinaga -[server]:./share/postgresql/timezone/America/Aruba -[server]:./share/postgresql/timezone/America/Nome -[server]:./share/postgresql/timezone/America/Fortaleza -[server]:./share/postgresql/timezone/America/Martinique -[server]:./share/postgresql/timezone/America/Recife -[server]:./share/postgresql/timezone/America/Knox_IN -[server]:./share/postgresql/timezone/America/Guayaquil -[server]:./share/postgresql/timezone/America/Goose_Bay -[server]:./share/postgresql/timezone/America/Iqaluit -[server]:./share/postgresql/timezone/America/Matamoros -[server]:./share/postgresql/timezone/America/Lower_Princes -[server]:./share/postgresql/timezone/America/Louisville -[server]:./share/postgresql/timezone/America/Coral_Harbour -[server]:./share/postgresql/timezone/America/Phoenix -[server]:./share/postgresql/timezone/America/Guadeloupe -[server]:./share/postgresql/timezone/America/Mazatlan -[server]:./share/postgresql/timezone/America/Swift_Current -[server]:./share/postgresql/timezone/America/Paramaribo -[server]:./share/postgresql/timezone/America/Dominica -[server]:./share/postgresql/timezone/America/Kralendijk -[server]:./share/postgresql/timezone/America/Montserrat -[server]:./share/postgresql/timezone/America/St_Vincent -[server]:./share/postgresql/timezone/America/Fort_Wayne -[server]:./share/postgresql/timezone/America/Dawson -[server]:./share/postgresql/timezone/America/Inuvik -[server]:./share/postgresql/timezone/America/Adak -[server]:./share/postgresql/timezone/America/Managua -[server]:./share/postgresql/timezone/America/Puerto_Rico -[server]:./share/postgresql/timezone/America/Tortola -[server]:./share/postgresql/timezone/America/Chicago -[server]:./share/postgresql/timezone/Africa/Lome -[server]:./share/postgresql/timezone/Africa/Brazzaville -[server]:./share/postgresql/timezone/Africa/Khartoum -[server]:./share/postgresql/timezone/Africa/Ceuta -[server]:./share/postgresql/timezone/Africa/Djibouti -[server]:./share/postgresql/timezone/Africa/Lagos -[server]:./share/postgresql/timezone/Africa/Accra -[server]:./share/postgresql/timezone/Africa/El_Aaiun -[server]:./share/postgresql/timezone/Africa/Malabo -[server]:./share/postgresql/timezone/Africa/Windhoek -[server]:./share/postgresql/timezone/Africa/Tripoli -[server]:./share/postgresql/timezone/Africa/Bissau -[server]:./share/postgresql/timezone/Africa/Blantyre -[server]:./share/postgresql/timezone/Africa/Kinshasa -[server]:./share/postgresql/timezone/Africa/Porto-Novo -[server]:./share/postgresql/timezone/Africa/Nairobi -[server]:./share/postgresql/timezone/Africa/Ouagadougou -[server]:./share/postgresql/timezone/Africa/Asmera -[server]:./share/postgresql/timezone/Africa/Cairo -[server]:./share/postgresql/timezone/Africa/Lubumbashi -[server]:./share/postgresql/timezone/Africa/Tunis -[server]:./share/postgresql/timezone/Africa/Dar_es_Salaam -[server]:./share/postgresql/timezone/Africa/Casablanca -[server]:./share/postgresql/timezone/Africa/Algiers -[server]:./share/postgresql/timezone/Africa/Mbabane -[server]:./share/postgresql/timezone/Africa/Monrovia -[server]:./share/postgresql/timezone/Africa/Nouakchott -[server]:./share/postgresql/timezone/Africa/Banjul -[server]:./share/postgresql/timezone/Africa/Kampala -[server]:./share/postgresql/timezone/Africa/Conakry -[server]:./share/postgresql/timezone/Africa/Mogadishu -[server]:./share/postgresql/timezone/Africa/Ndjamena -[server]:./share/postgresql/timezone/Africa/Niamey -[server]:./share/postgresql/timezone/Africa/Lusaka -[server]:./share/postgresql/timezone/Africa/Addis_Ababa -[server]:./share/postgresql/timezone/Africa/Sao_Tome -[server]:./share/postgresql/timezone/Africa/Abidjan -[server]:./share/postgresql/timezone/Africa/Harare -[server]:./share/postgresql/timezone/Africa/Asmara -[server]:./share/postgresql/timezone/Africa/Douala -[server]:./share/postgresql/timezone/Africa/Freetown -[server]:./share/postgresql/timezone/Africa/Libreville -[server]:./share/postgresql/timezone/Africa/Luanda -[server]:./share/postgresql/timezone/Africa/Maseru -[server]:./share/postgresql/timezone/Africa/Gaborone -[server]:./share/postgresql/timezone/Africa/Maputo -[server]:./share/postgresql/timezone/Africa/Timbuktu -[server]:./share/postgresql/timezone/Africa/Bangui -[server]:./share/postgresql/timezone/Africa/Bamako -[server]:./share/postgresql/timezone/Africa/Dakar -[server]:./share/postgresql/timezone/Africa/Juba -[server]:./share/postgresql/timezone/Africa/Bujumbura -[server]:./share/postgresql/timezone/Africa/Johannesburg -[server]:./share/postgresql/timezone/Africa/Kigali -[server]:./share/postgresql/timezone/Eire -[server]:./share/postgresql/timezone/Europe/Vaduz -[server]:./share/postgresql/timezone/Europe/Podgorica -[server]:./share/postgresql/timezone/Europe/Rome -[server]:./share/postgresql/timezone/Europe/Vienna -[server]:./share/postgresql/timezone/Europe/Dublin -[server]:./share/postgresql/timezone/Europe/Zurich -[server]:./share/postgresql/timezone/Europe/London -[server]:./share/postgresql/timezone/Europe/Monaco -[server]:./share/postgresql/timezone/Europe/Sofia -[server]:./share/postgresql/timezone/Europe/Uzhgorod -[server]:./share/postgresql/timezone/Europe/Minsk -[server]:./share/postgresql/timezone/Europe/Malta -[server]:./share/postgresql/timezone/Europe/Busingen -[server]:./share/postgresql/timezone/Europe/Gibraltar -[server]:./share/postgresql/timezone/Europe/Volgograd -[server]:./share/postgresql/timezone/Europe/Budapest -[server]:./share/postgresql/timezone/Europe/Vatican -[server]:./share/postgresql/timezone/Europe/Luxembourg -[server]:./share/postgresql/timezone/Europe/Chisinau -[server]:./share/postgresql/timezone/Europe/Nicosia -[server]:./share/postgresql/timezone/Europe/Warsaw -[server]:./share/postgresql/timezone/Europe/San_Marino -[server]:./share/postgresql/timezone/Europe/Copenhagen -[server]:./share/postgresql/timezone/Europe/Ljubljana -[server]:./share/postgresql/timezone/Europe/Athens -[server]:./share/postgresql/timezone/Europe/Skopje -[server]:./share/postgresql/timezone/Europe/Andorra -[server]:./share/postgresql/timezone/Europe/Kaliningrad -[server]:./share/postgresql/timezone/Europe/Amsterdam -[server]:./share/postgresql/timezone/Europe/Guernsey -[server]:./share/postgresql/timezone/Europe/Isle_of_Man -[server]:./share/postgresql/timezone/Europe/Tirane -[server]:./share/postgresql/timezone/Europe/Jersey -[server]:./share/postgresql/timezone/Europe/Madrid -[server]:./share/postgresql/timezone/Europe/Helsinki -[server]:./share/postgresql/timezone/Europe/Riga -[server]:./share/postgresql/timezone/Europe/Zagreb -[server]:./share/postgresql/timezone/Europe/Bratislava -[server]:./share/postgresql/timezone/Europe/Prague -[server]:./share/postgresql/timezone/Europe/Tallinn -[server]:./share/postgresql/timezone/Europe/Stockholm -[server]:./share/postgresql/timezone/Europe/Tiraspol -[server]:./share/postgresql/timezone/Europe/Belgrade -[server]:./share/postgresql/timezone/Europe/Bucharest -[server]:./share/postgresql/timezone/Europe/Vilnius -[server]:./share/postgresql/timezone/Europe/Sarajevo -[server]:./share/postgresql/timezone/Europe/Belfast -[server]:./share/postgresql/timezone/Europe/Zaporozhye -[server]:./share/postgresql/timezone/Europe/Oslo -[server]:./share/postgresql/timezone/Europe/Mariehamn -[server]:./share/postgresql/timezone/Europe/Moscow -[server]:./share/postgresql/timezone/Europe/Brussels -[server]:./share/postgresql/timezone/Europe/Paris -[server]:./share/postgresql/timezone/Europe/Istanbul -[server]:./share/postgresql/timezone/Europe/Simferopol -[server]:./share/postgresql/timezone/Europe/Lisbon -[server]:./share/postgresql/timezone/Europe/Berlin -[server]:./share/postgresql/timezone/Europe/Kiev -[server]:./share/postgresql/timezone/Europe/Samara -[server]:./share/postgresql/timezone/MST -[server]:./share/postgresql/timezone/Asia/Khandyga -[server]:./share/postgresql/timezone/Asia/Manila -[server]:./share/postgresql/timezone/Asia/Novokuznetsk -[server]:./share/postgresql/timezone/Asia/Baghdad -[server]:./share/postgresql/timezone/Asia/Macau -[server]:./share/postgresql/timezone/Asia/Urumqi -[server]:./share/postgresql/timezone/Asia/Ujung_Pandang -[server]:./share/postgresql/timezone/Asia/Ulan_Bator -[server]:./share/postgresql/timezone/Asia/Bishkek -[server]:./share/postgresql/timezone/Asia/Qatar -[server]:./share/postgresql/timezone/Asia/Qyzylorda -[server]:./share/postgresql/timezone/Asia/Calcutta -[server]:./share/postgresql/timezone/Asia/Riyadh87 -[server]:./share/postgresql/timezone/Asia/Dushanbe -[server]:./share/postgresql/timezone/Asia/Yekaterinburg -[server]:./share/postgresql/timezone/Asia/Dhaka -[server]:./share/postgresql/timezone/Asia/Jakarta -[server]:./share/postgresql/timezone/Asia/Shanghai -[server]:./share/postgresql/timezone/Asia/Ulaanbaatar -[server]:./share/postgresql/timezone/Asia/Jerusalem -[server]:./share/postgresql/timezone/Asia/Ashkhabad -[server]:./share/postgresql/timezone/Asia/Tokyo -[server]:./share/postgresql/timezone/Asia/Macao -[server]:./share/postgresql/timezone/Asia/Krasnoyarsk -[server]:./share/postgresql/timezone/Asia/Saigon -[server]:./share/postgresql/timezone/Asia/Omsk -[server]:./share/postgresql/timezone/Asia/Damascus -[server]:./share/postgresql/timezone/Asia/Phnom_Penh -[server]:./share/postgresql/timezone/Asia/Bangkok -[server]:./share/postgresql/timezone/Asia/Kamchatka -[server]:./share/postgresql/timezone/Asia/Choibalsan -[server]:./share/postgresql/timezone/Asia/Ust-Nera -[server]:./share/postgresql/timezone/Asia/Aden -[server]:./share/postgresql/timezone/Asia/Vientiane -[server]:./share/postgresql/timezone/Asia/Sakhalin -[server]:./share/postgresql/timezone/Asia/Ashgabat -[server]:./share/postgresql/timezone/Asia/Katmandu -[server]:./share/postgresql/timezone/Asia/Almaty -[server]:./share/postgresql/timezone/Asia/Baku -[server]:./share/postgresql/timezone/Asia/Nicosia -[server]:./share/postgresql/timezone/Asia/Riyadh88 -[server]:./share/postgresql/timezone/Asia/Kashgar -[server]:./share/postgresql/timezone/Asia/Riyadh89 -[server]:./share/postgresql/timezone/Asia/Taipei -[server]:./share/postgresql/timezone/Asia/Tehran -[server]:./share/postgresql/timezone/Asia/Kabul -[server]:./share/postgresql/timezone/Asia/Samarkand -[server]:./share/postgresql/timezone/Asia/Kuala_Lumpur -[server]:./share/postgresql/timezone/Asia/Tashkent -[server]:./share/postgresql/timezone/Asia/Thimbu -[server]:./share/postgresql/timezone/Asia/Thimphu -[server]:./share/postgresql/timezone/Asia/Yerevan -[server]:./share/postgresql/timezone/Asia/Chungking -[server]:./share/postgresql/timezone/Asia/Hebron -[server]:./share/postgresql/timezone/Asia/Karachi -[server]:./share/postgresql/timezone/Asia/Kolkata -[server]:./share/postgresql/timezone/Asia/Aqtobe -[server]:./share/postgresql/timezone/Asia/Muscat -[server]:./share/postgresql/timezone/Asia/Hong_Kong -[server]:./share/postgresql/timezone/Asia/Chongqing -[server]:./share/postgresql/timezone/Asia/Oral -[server]:./share/postgresql/timezone/Asia/Pontianak -[server]:./share/postgresql/timezone/Asia/Colombo -[server]:./share/postgresql/timezone/Asia/Pyongyang -[server]:./share/postgresql/timezone/Asia/Hovd -[server]:./share/postgresql/timezone/Asia/Kuwait -[server]:./share/postgresql/timezone/Asia/Anadyr -[server]:./share/postgresql/timezone/Asia/Kathmandu -[server]:./share/postgresql/timezone/Asia/Irkutsk -[server]:./share/postgresql/timezone/Asia/Bahrain -[server]:./share/postgresql/timezone/Asia/Dubai -[server]:./share/postgresql/timezone/Asia/Jayapura -[server]:./share/postgresql/timezone/Asia/Riyadh -[server]:./share/postgresql/timezone/Asia/Ho_Chi_Minh -[server]:./share/postgresql/timezone/Asia/Singapore -[server]:./share/postgresql/timezone/Asia/Tel_Aviv -[server]:./share/postgresql/timezone/Asia/Dili -[server]:./share/postgresql/timezone/Asia/Rangoon -[server]:./share/postgresql/timezone/Asia/Harbin -[server]:./share/postgresql/timezone/Asia/Yakutsk -[server]:./share/postgresql/timezone/Asia/Magadan -[server]:./share/postgresql/timezone/Asia/Amman -[server]:./share/postgresql/timezone/Asia/Kuching -[server]:./share/postgresql/timezone/Asia/Novosibirsk -[server]:./share/postgresql/timezone/Asia/Seoul -[server]:./share/postgresql/timezone/Asia/Dacca -[server]:./share/postgresql/timezone/Asia/Vladivostok -[server]:./share/postgresql/timezone/Asia/Istanbul -[server]:./share/postgresql/timezone/Asia/Beirut -[server]:./share/postgresql/timezone/Asia/Aqtau -[server]:./share/postgresql/timezone/Asia/Brunei -[server]:./share/postgresql/timezone/Asia/Gaza -[server]:./share/postgresql/timezone/Asia/Tbilisi -[server]:./share/postgresql/timezone/Asia/Makassar -[server]:./share/postgresql/timezone/Asia/Beijing -[server]:./share/postgresql/timezone/Navajo -[server]:./share/postgresql/timezone/GMT -[server]:./share/postgresql/gtm.conf.sample -[server]:./share/postgresql/system_views.sql -[server]:./share/postgresql/sql_features.txt -[server]:./share/postgresql/pg_cast_oid.txt -[server]:./share/postgresql/recovery.conf.sample -[server]:./share/postgresql/cm_server.conf.sample -[server]:./share/postgresql/tsearch_data/english.stop -[server]:./share/postgresql/tsearch_data/dutch.stop -[server]:./share/postgresql/tsearch_data/hungarian.stop -[server]:./share/postgresql/tsearch_data/french.stop -[server]:./share/postgresql/tsearch_data/synonym_sample.syn -[server]:./share/postgresql/tsearch_data/turkish.stop -[server]:./share/postgresql/tsearch_data/portuguese.stop -[server]:./share/postgresql/tsearch_data/spanish.stop -[server]:./share/postgresql/tsearch_data/hunspell_sample.affix -[server]:./share/postgresql/tsearch_data/ispell_sample.affix -[server]:./share/postgresql/tsearch_data/danish.stop -[server]:./share/postgresql/tsearch_data/german.stop -[server]:./share/postgresql/tsearch_data/thesaurus_sample.ths -[server]:./share/postgresql/tsearch_data/norwegian.stop -[server]:./share/postgresql/tsearch_data/finnish.stop -[server]:./share/postgresql/tsearch_data/russian.stop -[server]:./share/postgresql/tsearch_data/swedish.stop -[server]:./share/postgresql/tsearch_data/ispell_sample.dict -[server]:./share/postgresql/tsearch_data/italian.stop -[server]:./share/postgresql/cm_agent.conf.sample -[server]:./share/postgresql/information_schema.sql -[server]:./share/postgresql/timezonesets/Antarctica.txt -[server]:./share/postgresql/timezonesets/Australia.txt -[server]:./share/postgresql/timezonesets/Europe.txt -[server]:./share/postgresql/timezonesets/America.txt -[server]:./share/postgresql/timezonesets/Australia -[server]:./share/postgresql/timezonesets/Indian.txt -[server]:./share/postgresql/timezonesets/India -[server]:./share/postgresql/timezonesets/Pacific.txt -[server]:./share/postgresql/timezonesets/Atlantic.txt -[server]:./share/postgresql/timezonesets/Africa.txt -[server]:./share/postgresql/timezonesets/Asia.txt -[server]:./share/postgresql/timezonesets/Default -[server]:./share/postgresql/timezonesets/Etc.txt -[server]:./share/postgresql/postgres.bki -[server]:./share/llvmir/GaussDB_expr.ir -[server]:./share/sslcert/gsql/openssl.cnf -[server]:./share/sslcert/gds/openssl.cnf -[server]:./share/sslcert/etcd/openssl.cnf -[server]:./share/sslcert/grpc/openssl.cnf -[server]:./lib/libsimsearch/ -[server]:./lib/postgresql/latin2_and_win1250.so* -[server]:./lib/postgresql/euc2004_sjis2004.so* -[server]:./lib/postgresql/euc_kr_and_mic.so* -[server]:./lib/postgresql/utf8_and_uhc.so* -[server]:./lib/postgresql/euc_tw_and_big5.so* -[server]:./lib/postgresql/cyrillic_and_mic.so* -[server]:./lib/postgresql/utf8_and_johab.so* -[server]:./lib/postgresql/utf8_and_gb18030.so* -[server]:./lib/postgresql/pgxs/src/makefiles/pgxs.mk -[server]:./lib/postgresql/pgxs/src/Makefile.shlib -[server]:./lib/postgresql/pgxs/src/Makefile.port -[server]:./lib/postgresql/pgxs/src/nls-global.mk -[server]:./lib/postgresql/pgxs/src/Makefile.global -[server]:./lib/postgresql/pgxs/config/install-sh -[server]:./lib/postgresql/euc_cn_and_mic.so* -[server]:./lib/postgresql/latin_and_mic.so* -[server]:./lib/postgresql/utf8_and_sjis2004.so* -[server]:./lib/postgresql/utf8_and_euc_jp.so* -[server]:./lib/postgresql/utf8_and_sjis.so* -[server]:./lib/postgresql/utf8_and_cyrillic.so* -[server]:./lib/postgresql/hstore.so* -[server]:./lib/postgresql/tsdb.so* -[server]:./lib/postgresql/packages.so* -[server]:./lib/postgresql/utf8_and_euc_kr.so* -[server]:./lib/postgresql/ascii_and_mic.so* -[server]:./lib/postgresql/utf8_and_iso8859_1.so* -[server]:./lib/postgresql/euc_jp_and_sjis.so* -[server]:./lib/postgresql/dict_snowball.so* -[server]:./lib/postgresql/utf8_and_ascii.so* -[server]:./lib/postgresql/utf8_and_euc_tw.so* -[server]:./lib/postgresql/utf8_and_iso8859.so* -[server]:./lib/postgresql/utf8_and_win.so* -[server]:./lib/postgresql/utf8_and_euc_cn.so* -[server]:./lib/postgresql/utf8_and_gbk.so* -[server]:./lib/postgresql/utf8_and_euc2004.so* -[server]:./lib/postgresql/utf8_and_big5.so* -[server]:./lib/postgresql/roach_api.so* -[server]:./lib/postgresql/mppdb_decoding.so* -[server]:./lib/postgresql/gsredistribute.so* -[server]:./lib/postgresql/dimsearch.so* -[server]:./lib/postgresql/pg_plugin -[server]:./lib/postgresql/proc_srclib -[server]:./lib/postgresql/security_plugin.so* -[server]:./lib/postgresql/pg_upgrade_support.so* -[server]:./lib/postgresql/java/pljava.jar -[server]:./lib/postgresql/gsredistribute.so* -[server]:./lib/libpljava.so* -[server]:./lib/libpq.a -[server]:./lib/libpq.so* -[server]:./lib/libpq_ce.so* -[server]:./lib/libcgroup.so* -[server]:./lib/libcom_err_gauss.so* -[server]:./lib/libgpr.so* -[server]:./lib/libgrpc.so* -[server]:./lib/libgrpc++.so* -[server]:./lib/libgcc_s.so* -[server]:./lib/libstdc++.so* -[server]:./lib/libcares.so* -[server]:./lib/libgsasl_gauss.so* -[server]:./lib/libgssapi_krb5_gauss.so* -[server]:./lib/libgssrpc_gauss.so* -[server]:./lib/libk5crypto_gauss.so* -[server]:./lib/libkadm5clnt.so* -[server]:./lib/libkadm5clnt_mit.so* -[server]:./lib/libkadm5srv.so* -[server]:./lib/libkadm5srv_mit.so* -[server]:./lib/libkdb5.so* -[server]:./lib/libkrad.so* -[server]:./lib/libkrb5_gauss.so* -[server]:./lib/libkrb5support_gauss.so* -[server]:./lib/libverto.so* -[server]:./lib/libcurl.so* -[server]:./lib/libcrypto.so* -[server]:./lib/libssl.so* -[server]:./lib/libz.so* -[server]:./lib/liblz4.so* -[server]:./lib/libcjson.so* -[server]:./lib/libconfig.so* -[server]:./lib/libcmclient.so* -[server]:./lib/libcmcommon.so* -[server]:./lib/libcmpq.so* -[server]:./lib/libetcdapi.so* -[server]:./lib/libpgport_tool.so* -[server]:./lib/lib_roach_show.so* -[server]:./lib/roach_contrib.so* -[server]:./share/llvmir/GaussDB_expr.ir -[server]:./lib/client.crt -[server]:./lib/libeSDKLogAPI.so* -[server]:./lib/libeSDKOBSS3.so* -[server]:./lib/liblog4cpp.so* -[server]:./lib/libcharset.so* -[server]:./lib/libiconv.so* -[server]:./lib/libpcre.so* -[server]:./lib/libsecurec.so* -[server]:./lib/libxml2.so* -[server]:./lib/libparquet.so* -[server]:./lib/OBS.ini -[server]:./lib/preloadable_libiconv.so* -[server]:./lib/postgresql/latin2_and_win1250.so* -[server]:./lib/postgresql/euc2004_sjis2004.so* -[server]:./lib/libhll.so -[server]:./include/postgresql/server/postgres_ext.h -[server]:./include/postgresql/server/pg_config_os.h -[server]:./include/postgresql/server/pgtime.h -[server]:./include/postgresql/server/datatypes.h -[server]:./include/postgresql/server/client_logic/client_logic_enums.h -[server]:./include/postgresql/server/nodes/primnodes.h -[server]:./include/postgresql/server/nodes/parsenodes.h -[server]:./include/postgresql/server/nodes/parsenodes_common.h -[server]:./include/postgresql/server/nodes/bitmapset.h -[server]:./include/postgresql/server/nodes/pg_list.h -[server]:./include/postgresql/server/nodes/value.h -[server]:./include/postgresql/server/nodes/nodes.h -[server]:./include/postgresql/server/utils/sortsupport.h -[server]:./include/postgresql/server/utils/varbit.h -[server]:./include/postgresql/server/utils/spccache.h -[server]:./include/postgresql/server/utils/rangetypes.h -[server]:./include/postgresql/server/utils/plpgsql.h -[server]:./include/postgresql/server/utils/memtrack.h -[server]:./include/postgresql/server/utils/pg_locale.h -[server]:./include/postgresql/server/utils/tzparser.h -[server]:./include/postgresql/server/utils/syscall_lock.h -[server]:./include/postgresql/server/utils/partitionmap.h -[server]:./include/postgresql/server/utils/array.h -[server]:./include/postgresql/server/utils/relmapper.h -[server]:./include/postgresql/server/utils/hsearch.h -[server]:./include/postgresql/server/utils/xml.h -[server]:./include/postgresql/server/utils/bytea.h -[server]:./include/postgresql/server/utils/relcache.h -[server]:./include/postgresql/server/utils/pg_rusage.h -[server]:./include/postgresql/server/utils/numeric.h -[server]:./include/postgresql/server/utils/mmpool.h -[server]:./include/postgresql/server/utils/nabstime.h -[server]:./include/postgresql/server/utils/fmgrtab.h -[server]:./include/postgresql/server/utils/snapmgr.h -[server]:./include/postgresql/server/utils/syscache.h -[server]:./include/postgresql/server/utils/logtape.h -[server]:./include/postgresql/server/utils/datum.h -[server]:./include/postgresql/server/utils/guc_tables.h -[server]:./include/postgresql/server/utils/snapshot.h -[server]:./include/postgresql/server/utils/geo_decls.h -[server]:./include/postgresql/server/utils/errcodes.h -[server]:./include/postgresql/server/utils/inval.h -[server]:./include/postgresql/server/utils/help_config.h -[server]:./include/postgresql/server/utils/distribute_test.h -[server]:./include/postgresql/server/utils/aiomem.h -[server]:./include/postgresql/server/utils/tuplestore.h -[server]:./include/postgresql/server/utils/rbtree.h -[server]:./include/postgresql/server/utils/gs_bitmap.h -[server]:./include/postgresql/server/utils/tuplesort.h -[server]:./include/postgresql/server/utils/tqual.h -[server]:./include/postgresql/server/utils/ps_status.h -[server]:./include/postgresql/server/utils/palloc.h -[server]:./include/postgresql/server/utils/reltrigger.h -[server]:./include/postgresql/server/utils/acl.h -[server]:./include/postgresql/server/utils/ascii.h -[server]:./include/postgresql/server/utils/selfuncs.h -[server]:./include/postgresql/server/utils/json.h -[server]:./include/postgresql/server/utils/portal.h -[server]:./include/postgresql/server/utils/atomic.h -[server]:./include/postgresql/server/utils/elog.h -[server]:./include/postgresql/server/utils/date.h -[server]:./include/postgresql/server/utils/plancache.h -[server]:./include/postgresql/server/utils/int8.h -[server]:./include/postgresql/server/utils/timestamp.h -[server]:./include/postgresql/server/utils/bloom_filter.h -[server]:./include/postgresql/server/utils/fmgroids.h -[server]:./include/postgresql/server/utils/pg_crc_tables.h -[server]:./include/postgresql/server/utils/probes.h -[server]:./include/postgresql/server/utils/datetime.h -[server]:./include/postgresql/server/utils/inet.h -[server]:./include/postgresql/server/utils/pg_lzcompress.h -[server]:./include/postgresql/server/utils/pg_crc.h -[server]:./include/postgresql/server/utils/attoptcache.h -[server]:./include/postgresql/server/utils/dynahash.h -[server]:./include/postgresql/server/utils/rel.h -[server]:./include/postgresql/server/utils/partcache.h -[server]:./include/postgresql/server/utils/lsyscache.h -[server]:./include/postgresql/server/utils/memutils.h -[server]:./include/postgresql/server/utils/memprot.h -[server]:./include/postgresql/server/utils/uuid.h -[server]:./include/postgresql/server/utils/combocid.h -[server]:./include/postgresql/server/utils/builtins.h -[server]:./include/postgresql/server/utils/guc.h -[server]:./include/postgresql/server/utils/dfs_vector.h -[server]:./include/postgresql/server/utils/dynamic_loader.h -[server]:./include/postgresql/server/utils/resowner.h -[server]:./include/postgresql/server/utils/aes.h -[server]:./include/postgresql/server/utils/cash.h -[server]:./include/postgresql/server/utils/typcache.h -[server]:./include/postgresql/server/utils/formatting.h -[server]:./include/postgresql/server/utils/partitionkey.h -[server]:./include/postgresql/server/utils/aset.h -[server]:./include/postgresql/server/utils/catcache.h -[server]:./include/postgresql/server/utils/atomic_arm.h -[server]:./include/postgresql/server/datatype/timestamp.h -[server]:./include/postgresql/server/access/rmgr.h -[server]:./include/postgresql/server/access/xlogreader.h -[server]:./include/postgresql/server/access/xlog_basic.h -[server]:./include/postgresql/server/access/tupdesc.h -[server]:./include/postgresql/server/access/rmgrlist.h -[server]:./include/postgresql/server/access/htup.h -[server]:./include/postgresql/server/access/xlogdefs.h -[server]:./include/postgresql/server/access/attnum.h -[server]:./include/postgresql/server/access/tupmacs.h -[server]:./include/postgresql/server/access/xlogrecord.h -[server]:./include/postgresql/server/tcop/dest.h -[server]:./include/postgresql/server/catalog/pg_type.h -[server]:./include/postgresql/server/catalog/pg_attribute.h -[server]:./include/postgresql/server/catalog/genbki.h -[server]:./include/postgresql/server/gs_thread.h -[server]:./include/postgresql/server/port/pg_bswap.h -[server]:./include/postgresql/server/port/pg_crc32c.h -[server]:./include/postgresql/server/securec.h -[server]:./include/postgresql/server/securectype.h -[server]:./include/postgresql/server/storage/off.h -[server]:./include/postgresql/server/storage/buf/block.h -[server]:./include/postgresql/server/storage/item/item.h -[server]:./include/postgresql/server/storage/relfilenode.h -[server]:./include/postgresql/server/storage/buf/bufpage.h -[server]:./include/postgresql/server/storage/spin.h -[server]:./include/postgresql/server/storage/buf/buf.h -[server]:./include/postgresql/server/storage/item/itemid.h -[server]:./include/postgresql/server/storage/lock/pg_sema.h -[server]:./include/postgresql/server/storage/item/itemptr.h -[server]:./include/postgresql/server/storage/lock/s_lock.h -[server]:./include/postgresql/server/storage/backendid.h -[server]:./include/postgresql/server/storage/lock/lock.h -[server]:./include/postgresql/server/storage/lock/lwlock.h -[server]:./include/postgresql/server/storage/barrier.h -[server]:./include/postgresql/server/storage/shmem.h -[server]:./include/postgresql/server/pg_config.h -[server]:./include/postgresql/server/lib/stringinfo.h -[server]:./include/postgresql/server/fmgr.h -[server]:./include/postgresql/server/fmgr/fmgr_comp.h -[server]:./include/postgresql/server/fmgr/fmgr_core.h -[server]:./include/postgresql/server/gs_threadlocal.h -[server]:./include/postgresql/server/postgres.h -[server]:./include/postgresql/server/executor/tuptable.h -[server]:./include/postgresql/server/pg_config_manual.h -[server]:./include/postgresql/server/mb/pg_wchar.h -[server]:./include/postgresql/server/c.h -[server]:./include/postgresql/server/port.h -[server]:./include/postgresql/server/utils/be_module.h -[server]:./include/postgresql/server/nodes/params.h -[server]:./include/postgresql/server/securec_check.h -[server]:./include/postgresql/server/nodes/memnodes.h -[server]:./include/postgresql/server/access/skey.h -[server]:./include/postgresql/server/lib/dllist.h -[server]:./include/postgresql/server/lib/ilist.h -[server]:./include/postgresql/server/pgxc/locator.h -[server]:./include/postgresql/server/gstrace/gstrace_infra.h -[server]:./include/postgresql/server/extension_dependency.h -[server]:./jre/ASSEMBLY_EXCEPTION -[server]:./jre/bin/java -[server]:./jre/bin/jjs -[server]:./jre/bin/keytool -[server]:./jre/bin/orbd -[server]:./jre/bin/pack200 -[server]:./jre/bin/policytool -[server]:./jre/bin/rmid -[server]:./jre/bin/rmiregistry -[server]:./jre/bin/servertool -[server]:./jre/bin/tnameserv -[server]:./jre/bin/unpack200 -[server]:./jre/lib/amd64/jli/libjli.so -[server]:./jre/lib/amd64/jvm.cfg -[server]:./jre/lib/amd64/libattach.so -[server]:./jre/lib/amd64/libavplugin-ffmpeg-58.so -[server]:./jre/lib/amd64/libawt_headless.so -[server]:./jre/lib/amd64/libawt.so -[server]:./jre/lib/amd64/libawt_xawt.so -[server]:./jre/lib/amd64/libdecora_sse.so -[server]:./jre/lib/amd64/libdt_socket.so -[server]:./jre/lib/amd64/libfontmanager.so -[server]:./jre/lib/amd64/libfxplugins.so -[server]:./jre/lib/amd64/libglassgtk2.so -[server]:./jre/lib/amd64/libglassgtk3.so -[server]:./jre/lib/amd64/libglass.so -[server]:./jre/lib/amd64/libgstreamer-lite.so -[server]:./jre/lib/amd64/libhprof.so -[server]:./jre/lib/amd64/libinstrument.so -[server]:./jre/lib/amd64/libj2gss.so -[server]:./jre/lib/amd64/libj2pcsc.so -[server]:./jre/lib/amd64/libj2pkcs11.so -[server]:./jre/lib/amd64/libjaas_unix.so -[server]:./jre/lib/amd64/libjava_crw_demo.so -[server]:./jre/lib/amd64/libjavafx_font_freetype.so -[server]:./jre/lib/amd64/libjavafx_font_pango.so -[server]:./jre/lib/amd64/libjavafx_font.so -[server]:./jre/lib/amd64/libjavafx_iio.so -[server]:./jre/lib/amd64/libjava.so -[server]:./jre/lib/amd64/libjawt.so -[server]:./jre/lib/amd64/libjdwp.so -[server]:./jre/lib/amd64/libjfxmedia.so -[server]:./jre/lib/amd64/libjfxwebkit.so -[server]:./jre/lib/amd64/libjpeg.so -[server]:./jre/lib/amd64/libjsdt.so -[server]:./jre/lib/amd64/libjsig.so -[server]:./jre/lib/amd64/libjsoundalsa.so -[server]:./jre/lib/amd64/libjsound.so -[server]:./jre/lib/amd64/liblcms.so -[server]:./jre/lib/amd64/libmanagement.so -[server]:./jre/lib/amd64/libmlib_image.so -[server]:./jre/lib/amd64/libnet.so -[server]:./jre/lib/amd64/libnio.so -[server]:./jre/lib/amd64/libnpt.so -[server]:./jre/lib/amd64/libprism_common.so -[server]:./jre/lib/amd64/libprism_es2.so -[server]:./jre/lib/amd64/libprism_sw.so -[server]:./jre/lib/amd64/libsaproc.so -[server]:./jre/lib/amd64/libsctp.so -[server]:./jre/lib/amd64/libsplashscreen.so -[server]:./jre/lib/amd64/libsunec.so -[server]:./jre/lib/amd64/libunpack.so -[server]:./jre/lib/amd64/libverify.so -[server]:./jre/lib/amd64/libzip.so -[server]:./jre/lib/amd64/server/libjvm.so -[server]:./jre/lib/amd64/server/Xusage.txt -[server]:./jre/lib/calendars.properties -[server]:./jre/lib/charsets.jar -[server]:./jre/lib/classlist -[server]:./jre/lib/cmm/CIEXYZ.pf -[server]:./jre/lib/cmm/GRAY.pf -[server]:./jre/lib/cmm/LINEAR_RGB.pf -[server]:./jre/lib/cmm/PYCC.pf -[server]:./jre/lib/cmm/sRGB.pf -[server]:./jre/lib/content-types.properties -[server]:./jre/lib/currency.data -[server]:./jre/lib/ext/cldrdata.jar -[server]:./jre/lib/ext/dnsns.jar -[server]:./jre/lib/ext/jaccess.jar -[server]:./jre/lib/ext/jfxrt.jar -[server]:./jre/lib/ext/localedata.jar -[server]:./jre/lib/ext/meta-index -[server]:./jre/lib/ext/nashorn.jar -[server]:./jre/lib/ext/sunec.jar -[server]:./jre/lib/ext/sunjce_provider.jar -[server]:./jre/lib/ext/sunpkcs11.jar -[server]:./jre/lib/ext/zipfs.jar -[server]:./jre/lib/flavormap.properties -[server]:./jre/lib/fontconfig.Euler.properties -[server]:./jre/lib/fontconfig.properties -[server]:./jre/lib/fontconfig.Ubuntu.properties -[server]:./jre/lib/fonts/Roboto-Regular.ttf -[server]:./jre/lib/hijrah-config-umalqura.properties -[server]:./jre/lib/images/cursors/cursors.properties -[server]:./jre/lib/images/cursors/invalid32x32.gif -[server]:./jre/lib/images/cursors/motif_CopyDrop32x32.gif -[server]:./jre/lib/images/cursors/motif_CopyNoDrop32x32.gif -[server]:./jre/lib/images/cursors/motif_LinkDrop32x32.gif -[server]:./jre/lib/images/cursors/motif_LinkNoDrop32x32.gif -[server]:./jre/lib/images/cursors/motif_MoveDrop32x32.gif -[server]:./jre/lib/images/cursors/motif_MoveNoDrop32x32.gif -[server]:./jre/lib/javafx-mx.jar -[server]:./jre/lib/javafx.properties -[server]:./jre/lib/jce.jar -[server]:./jre/lib/jexec -./jre/lib/jfr/default.jfc -./jre/lib/jfr.jar -./jre/lib/jfr/profile.jfc -[server]:./jre/lib/jfxswt.jar -[server]:./jre/lib/jsse.jar -[server]:./jre/lib/jvm.hprof.txt -[server]:./jre/lib/logging.properties -[server]:./jre/lib/management-agent.jar -[server]:./jre/lib/management/jmxremote.access -[server]:./jre/lib/management/jmxremote.password.template -[server]:./jre/lib/management/management.properties -[server]:./jre/lib/management/snmp.acl.template -[server]:./jre/lib/meta-index -[server]:./jre/lib/net.properties -[server]:./jre/lib/psfontj2d.properties -[server]:./jre/lib/psfont.properties.ja -[server]:./jre/lib/resources.jar -[server]:./jre/lib/rt.jar -[server]:./jre/lib/security/blacklisted.certs -[server]:./jre/lib/security/cacerts -[server]:./jre/lib/security/java.policy -[server]:./jre/lib/security/java.security -[server]:./jre/lib/security/policy/limited/local_policy.jar -[server]:./jre/lib/security/policy/limited/US_export_policy.jar -[server]:./jre/lib/security/policy/unlimited/local_policy.jar -[server]:./jre/lib/security/policy/unlimited/US_export_policy.jar -[server]:./jre/lib/sound.properties -[server]:./jre/lib/tzdb.dat -[server]:./jre/LICENSE -[server]:./jre/THIRD_PARTY_README -[client] -[client]:./bin/gsql -[client]:./bin/gs_dump -[client]:./bin/gs_dumpall -[client]:./bin/gs_restore -[client]:./jdbc/gsjdbc4.jar -[client]:./jdbc/gsjdbc200.jar -[client]:./lib/postgresql/latin2_and_win1250.so* -[client]:./lib/postgresql/euc2004_sjis2004.so* -[client]:./lib/postgresql/euc_kr_and_mic.so* -[client]:./lib/postgresql/utf8_and_uhc.so* -[client]:./lib/postgresql/euc_tw_and_big5.so* -[client]:./lib/postgresql/cyrillic_and_mic.so* -[client]:./lib/postgresql/utf8_and_johab.so* -[client]:./lib/postgresql/utf8_and_gb18030.so* -[client]:./lib/postgresql/pgxs/src/makefiles/pgxs.mk -[client]:./lib/postgresql/pgxs/src/Makefile.shlib -[client]:./lib/postgresql/pgxs/src/Makefile.port -[client]:./lib/postgresql/pgxs/src/nls-global.mk -[client]:./lib/postgresql/pgxs/src/Makefile.global -[client]:./lib/postgresql/pgxs/config/install-sh -[client]:./lib/postgresql/euc_cn_and_mic.so* -[client]:./lib/postgresql/latin_and_mic.so* -[client]:./lib/postgresql/utf8_and_sjis2004.so* -[client]:./lib/postgresql/utf8_and_euc_jp.so* -[client]:./lib/postgresql/utf8_and_sjis.so* -[client]:./lib/postgresql/utf8_and_cyrillic.so* -[client]:./lib/postgresql/utf8_and_euc_kr.so* -[client]:./lib/postgresql/ascii_and_mic.so* -[client]:./lib/postgresql/utf8_and_iso8859_1.so* -[client]:./lib/postgresql/euc_jp_and_sjis.so* -[client]:./lib/postgresql/dict_snowball.so* -[client]:./lib/postgresql/utf8_and_ascii.so* -[client]:./lib/postgresql/utf8_and_euc_tw.so* -[client]:./lib/postgresql/utf8_and_iso8859.so* -[client]:./lib/postgresql/utf8_and_win.so* -[client]:./lib/postgresql/utf8_and_euc_cn.so* -[client]:./lib/postgresql/utf8_and_gbk.so* -[client]:./lib/postgresql/utf8_and_euc2004.so* -[client]:./lib/postgresql/utf8_and_big5.so* -[client]:./lib/postgresql/java/pljava.jar -[client]:./lib/libpljava.so* -[client]:./lib/libpq.a -[client]:./lib/libpq.so* -[client]:./lib/libpq_ce.so* -[client]:./lib/libcrypto.so* -[client]:./lib/libgcc_s.so* -[client]:./lib/libstdc++.so* -[client]:./lib/libcares.so* -[client]:./lib/libssl.so* -[client]:./lib/libgssapi_krb5_gauss.so* -[client]:./lib/libgssrpc_gauss.so* -[client]:./lib/libk5crypto_gauss.so* -[client]:./lib/libkrb5support_gauss.so* -[client]:./lib/libkrb5_gauss.so* -[client]:./lib/libcom_err_gauss.so* -[client]:./odbc/lib/psqlodbcw.la -[client]:./odbc/lib/psqlodbcw.so* -[odbc] -[odbc]:./odbc/lib/psqlodbcw.la -[odbc]:./odbc/lib/psqlodbcw.so* -[odbc]:./lib/libcrypto.so* -[odbc]:./lib/libssl.so* -[odbc]:./lib/libgssapi_krb5_gauss.so* -[odbc]:./lib/libgssrpc_gauss.so* -[odbc]:./lib/libk5crypto_gauss.so* -[odbc]:./lib/libkrb5support_gauss.so* -[odbc]:./lib/libkrb5_gauss.so* -[odbc]:./lib/libcom_err_gauss.so* -[odbc]:./lib/libpgport_tool.so* -[odbc]:./lib/libpq.a -[odbc]:./lib/libpq.so* -[odbc]:./lib/libpq_ce.so* -[odbc]:./lib/libstdc++.so* -[odbc]:./lib/libcmclient.so* -[odbc]:./lib/libcmcommon.so* -[odbc]:./lib/libcmpq.so* -[odbc]:./lib/libconfig.so* -[libpq] -[libpq]:./lib/libpq.a -[libpq]:./lib/libpq.so* -[libpq]:./lib/libpq_ce.so* -[libpq]:./lib/libstdc++.so* -[libpq]:./lib/libconfig.so* -[libpq]:./lib/libcmclient.so* -[libpq]:./lib/libcmcommon.so* -[libpq]:./lib/libcmpq.so* -[libpq]:./lib/libcrypto.so* -[libpq]:./lib/libssl.so* -[libpq]:./lib/libpgport_tool.so* -[libpq]:./lib/libgssapi_krb5_gauss.so* -[libpq]:./lib/libgssrpc_gauss.so* -[libpq]:./lib/libk5crypto_gauss.so* -[libpq]:./lib/libkrb5support_gauss.so* -[libpq]:./lib/libkrb5_gauss.so* -[libpq]:./lib/libcom_err_gauss.so* -[cmlibrary] -[cmlibrary]:./lib/libconfig.a -[cmlibrary]:./lib/libcmclient.a -[cmlibrary]:./lib/libcmcommon.a -[cmlibrary]:./lib/libcmpq.a -[cmlibrary]:./lib/libpgport.a -[header] -[header]:./include/libpq-fe.h -[header]:./include/postgres_ext.h -[header]:./include/gs_thread.h -[header]:./include/gs_threadlocal.h -[header]:./include/pg_config.h -[header]:./include/pg_config_manual.h -[header]:./include/pg_config_os.h -[header]:./include/cm_config.h -[header]:./include/c.h -[header]:./include/port.h -[header]:./include/cm_msg.h -[header]:./include/cm_c.h -[header]:./include/cm_misc.h -[header]:./include/libpq-int.h -[header]:./include/pqcomm.h -[header]:./include/pqexpbuffer.h -[header]:./include/xlogdefs.h -[header]:./include/cm-libpq-fe.h -[jdbc] -[jdbc]:./jdbc/gsjdbc4.jar -[jdbc]:./jdbc/gsjdbc200.jar -[gds] -[gds]:./bin/gds -[gds]:./bin/gds_ctl.py -[gds]:./share/postgresql/gds.conf -[gds]:./share/postgresql/gds.conf.sample -[gds]./lib/libcjson.so -[gds]./lib/libcjson.so.1 -[gds]./lib/libcjson.so.1.7.13 -[version] -[version]:V500R001C20 -[script] -[script]:./script/__init__.py -[script]:./script/gs_check -[script]:./script/gs_checkos -[script]:./script/gs_checkperf -[script]:./script/gs_collector -[script]:./script/gs_backup -[script]:./script/gs_expand -[script]:./script/gs_install -[script]:./script/gs_om -[script]:./script/gs_postuninstall -[script]:./script/gs_preinstall -[script]:./script/gs_replace -[script]:./script/gs_shrink -[script]:./script/gs_ssh -[script]:./script/gs_sshexkey -[script]:./script/gs_uninstall -[script]:./script/gs_upgradectl -[script]:./script/gs_lcctl -[script]:./script/gs_resize -[script]:./script/uninstall_force.py -[script]:./script/checkRunStatus.py -[script]:./script/JsonToDbClustorInfo.py -[script]:./script/killall -[script]:./script/nodegroup_migrate.sh diff --git a/build/script/mpp_release_list_openeuler_aarch64 b/build/script/mpp_release_list_openeuler_aarch64 deleted file mode 100644 index d3c04a56f..000000000 --- a/build/script/mpp_release_list_openeuler_aarch64 +++ /dev/null @@ -1,1388 +0,0 @@ -[server] -./bin/gds -./bin/gs_log -./bin/gsql -./bin/gaussdb -./bin/gaussdb.version.GaussDB200 -./bin/gaussdb.version.GaussDB300 -./bin/gaussdb.license.GaussDB200_Standard -./bin/gaussmaster -./bin/gstrace -./bin/gs_encrypt -./bin/gs_gtm -./bin/gs_dump -./bin/gs_dumpall -./bin/gs_initgtm -./bin/gs_initcm -./bin/gs_ctl -./bin/gs_initdb -./bin/gtm_ctl -./bin/cm_server -./bin/cm_agent -./bin/om_monitor -./bin/cm_ctl -./bin/etcd -./bin/etcdctl -./bin/seq_query -./bin/gs_guc -./bin/encrypt -./bin/gs_roach -./bin/gs_clean -./bin/gs_redis -./bin/gs_restore -./bin/gs_cgroup -./bin/openssl -./bin/pg_config -./bin/pg_controldata -./bin/pg_format_cu -./bin/pg_resetxlog -./bin/alarmItem.conf -./bin/retry_errcodes.conf -./bin/cluster_guc.conf -./bin/runsessionstat.sh -./bin/drop_caches.sh -./bin/run_drop_cache.sh -./bin/transfer.py -./bin/setArmOptimization.sh -./bin/bind_net_irq.sh -./bin/gs_plan_simulator.sh -./bin/dependences/clean_temp.sql -./bin/dependences/initdb.py -./bin/dependences/restore_temp.sql -./bin/dependences/store_pg_class_stats.sql -./bin/dependences/store_pg_statistic_ext_stats.sql -./bin/dependences/store_pg_statistic_stats.sql -./bin/dependences/store_pgxc_class.sql -./bin/iperf3 -./bin/fio -./share/postgis/PostGIS_install.sh -./share/postgresql/tmp/udstools.py -./share/postgresql/snowball_create.sql -./share/postgresql/pmk_schema.sql -./share/postgresql/pg_hba.conf.sample -./share/postgresql/pg_service.conf.sample -./share/postgresql/psqlrc.sample -./share/postgresql/conversion_create.sql -./share/postgresql/postgres.shdescription -./share/postgresql/pg_ident.conf.sample -./share/postgresql/postgres.description -./share/postgresql/postgresql.conf.sample -./share/postgresql/extension/plpgsql--1.0.sql -./share/postgresql/extension/hstore.control -./share/postgresql/extension/tsdb.control -./share/postgresql/extension/security_plugin.control -./share/postgresql/extension/security_plugin--1.0.sql -./share/postgresql/extension/tsdb--1.0.sql -./share/postgresql/extension/streaming--1.0.sql -./share/postgresql/extension/streaming.control -./share/postgresql/extension/file_fdw--1.0.sql -./share/postgresql/extension/plpgsql.control -./share/postgresql/extension/dist_fdw.control -./share/postgresql/extension/dist_fdw--1.0.sql -./share/postgresql/extension/hstore--1.1.sql -./share/postgresql/extension/plpgsql--unpackaged--1.0.sql -./share/postgresql/extension/file_fdw.control -./share/postgresql/extension/hstore--unpackaged--1.0.sql -./share/postgresql/extension/hstore--1.0--1.1.sql -./share/postgresql/extension/hdfs_fdw--1.0.sql -./share/postgresql/extension/hdfs_fdw.control -./share/postgresql/extension/gc_fdw--1.0.sql -./share/postgresql/extension/gc_fdw.control -./share/postgresql/extension/roach_api--1.0.sql -./share/postgresql/extension/roach_api.control -./share/postgresql/extension/log_fdw--1.0.sql -./share/postgresql/extension/log_fdw.control -./share/postgresql/extension/dimsearch--1.0.sql -./share/postgresql/extension/dimsearch.control -./share/postgresql/extension/packages--1.0.sql -./share/postgresql/extension/packages--1.0--1.1.sql -./share/postgresql/extension/packages.control -./share/postgresql/extension/gsredistribute.control -./share/postgresql/extension/gsredistribute--1.0.sql -./share/postgresql/extension/gsredistribute--unpackaged--1.0.sql -./share/postgresql/timezone/GB-Eire -./share/postgresql/timezone/Turkey -./share/postgresql/timezone/Kwajalein -./share/postgresql/timezone/UCT -./share/postgresql/timezone/Mexico/BajaSur -./share/postgresql/timezone/Mexico/BajaNorte -./share/postgresql/timezone/Mexico/General -./share/postgresql/timezone/Japan -./share/postgresql/timezone/Israel -./share/postgresql/timezone/US/Eastern -./share/postgresql/timezone/US/Samoa -./share/postgresql/timezone/US/Michigan -./share/postgresql/timezone/US/Aleutian -./share/postgresql/timezone/US/Pacific -./share/postgresql/timezone/US/Pacific-New -./share/postgresql/timezone/US/Indiana-Starke -./share/postgresql/timezone/US/Mountain -./share/postgresql/timezone/US/East-Indiana -./share/postgresql/timezone/US/Hawaii -./share/postgresql/timezone/US/Arizona -./share/postgresql/timezone/US/Alaska -./share/postgresql/timezone/US/Central -./share/postgresql/timezone/Greenwich -./share/postgresql/timezone/Poland -./share/postgresql/timezone/CET -./share/postgresql/timezone/GMT-0 -./share/postgresql/timezone/Indian/Mauritius -./share/postgresql/timezone/Indian/Cocos -./share/postgresql/timezone/Indian/Reunion -./share/postgresql/timezone/Indian/Maldives -./share/postgresql/timezone/Indian/Comoro -./share/postgresql/timezone/Indian/Antananarivo -./share/postgresql/timezone/Indian/Christmas -./share/postgresql/timezone/Indian/Kerguelen -./share/postgresql/timezone/Indian/Chagos -./share/postgresql/timezone/Indian/Mayotte -./share/postgresql/timezone/Indian/Mahe -./share/postgresql/timezone/GMT0 -./share/postgresql/timezone/Antarctica/Palmer -./share/postgresql/timezone/Antarctica/Syowa -./share/postgresql/timezone/Antarctica/South_Pole -./share/postgresql/timezone/Antarctica/McMurdo -./share/postgresql/timezone/Antarctica/Rothera -./share/postgresql/timezone/Antarctica/Mawson -./share/postgresql/timezone/Antarctica/Casey -./share/postgresql/timezone/Antarctica/Davis -./share/postgresql/timezone/Antarctica/DumontDUrville -./share/postgresql/timezone/Antarctica/Vostok -./share/postgresql/timezone/Antarctica/Macquarie -./share/postgresql/timezone/ROK -./share/postgresql/timezone/Chile/EasterIsland -./share/postgresql/timezone/Chile/Continental -./share/postgresql/timezone/posixrules -./share/postgresql/timezone/Atlantic/Azores -./share/postgresql/timezone/Atlantic/St_Helena -./share/postgresql/timezone/Atlantic/Madeira -./share/postgresql/timezone/Atlantic/Jan_Mayen -./share/postgresql/timezone/Atlantic/Faroe -./share/postgresql/timezone/Atlantic/Stanley -./share/postgresql/timezone/Atlantic/Cape_Verde -./share/postgresql/timezone/Atlantic/Reykjavik -./share/postgresql/timezone/Atlantic/Canary -./share/postgresql/timezone/Atlantic/South_Georgia -./share/postgresql/timezone/Atlantic/Bermuda -./share/postgresql/timezone/Atlantic/Faeroe -./share/postgresql/timezone/Hongkong -./share/postgresql/timezone/Libya -./share/postgresql/timezone/Iceland -./share/postgresql/timezone/UTC -./share/postgresql/timezone/Australia/Darwin -./share/postgresql/timezone/Australia/North -./share/postgresql/timezone/Australia/NSW -./share/postgresql/timezone/Australia/Sydney -./share/postgresql/timezone/Australia/Hobart -./share/postgresql/timezone/Australia/LHI -./share/postgresql/timezone/Australia/Victoria -./share/postgresql/timezone/Australia/South -./share/postgresql/timezone/Australia/Melbourne -./share/postgresql/timezone/Australia/Lord_Howe -./share/postgresql/timezone/Australia/West -./share/postgresql/timezone/Australia/Brisbane -./share/postgresql/timezone/Australia/Perth -./share/postgresql/timezone/Australia/Eucla -./share/postgresql/timezone/Australia/Canberra -./share/postgresql/timezone/Australia/Queensland -./share/postgresql/timezone/Australia/Broken_Hill -./share/postgresql/timezone/Australia/Lindeman -./share/postgresql/timezone/Australia/ACT -./share/postgresql/timezone/Australia/Currie -./share/postgresql/timezone/Australia/Adelaide -./share/postgresql/timezone/Australia/Yancowinna -./share/postgresql/timezone/Australia/Tasmania -./share/postgresql/timezone/Jamaica -./share/postgresql/timezone/EST5EDT -./share/postgresql/timezone/MET -./share/postgresql/timezone/W-SU -./share/postgresql/timezone/Mideast/Riyadh87 -./share/postgresql/timezone/Mideast/Riyadh88 -./share/postgresql/timezone/Mideast/Riyadh89 -./share/postgresql/timezone/WET -./share/postgresql/timezone/ROC -./share/postgresql/timezone/Factory -./share/postgresql/timezone/EET -./share/postgresql/timezone/PST8PDT -./share/postgresql/timezone/Portugal -./share/postgresql/timezone/NZ -./share/postgresql/timezone/Brazil/West -./share/postgresql/timezone/Brazil/DeNoronha -./share/postgresql/timezone/Brazil/Acre -./share/postgresql/timezone/Brazil/East -./share/postgresql/timezone/EST -./share/postgresql/timezone/Egypt -./share/postgresql/timezone/Universal -./share/postgresql/timezone/Pacific/Enderbury -./share/postgresql/timezone/Pacific/Noumea -./share/postgresql/timezone/Pacific/Kwajalein -./share/postgresql/timezone/Pacific/Norfolk -./share/postgresql/timezone/Pacific/Nauru -./share/postgresql/timezone/Pacific/Efate -./share/postgresql/timezone/Pacific/Kosrae -./share/postgresql/timezone/Pacific/Galapagos -./share/postgresql/timezone/Pacific/Truk -./share/postgresql/timezone/Pacific/Fiji -./share/postgresql/timezone/Pacific/Auckland -./share/postgresql/timezone/Pacific/Samoa -./share/postgresql/timezone/Pacific/Port_Moresby -./share/postgresql/timezone/Pacific/Johnston -./share/postgresql/timezone/Pacific/Apia -./share/postgresql/timezone/Pacific/Tarawa -./share/postgresql/timezone/Pacific/Pitcairn -./share/postgresql/timezone/Pacific/Marquesas -./share/postgresql/timezone/Pacific/Chatham -./share/postgresql/timezone/Pacific/Tahiti -./share/postgresql/timezone/Pacific/Tongatapu -./share/postgresql/timezone/Pacific/Saipan -./share/postgresql/timezone/Pacific/Fakaofo -./share/postgresql/timezone/Pacific/Guam -./share/postgresql/timezone/Pacific/Niue -./share/postgresql/timezone/Pacific/Chuuk -./share/postgresql/timezone/Pacific/Easter -./share/postgresql/timezone/Pacific/Wallis -./share/postgresql/timezone/Pacific/Gambier -./share/postgresql/timezone/Pacific/Majuro -./share/postgresql/timezone/Pacific/Kiritimati -./share/postgresql/timezone/Pacific/Guadalcanal -./share/postgresql/timezone/Pacific/Funafuti -./share/postgresql/timezone/Pacific/Rarotonga -./share/postgresql/timezone/Pacific/Pago_Pago -./share/postgresql/timezone/Pacific/Midway -./share/postgresql/timezone/Pacific/Palau -./share/postgresql/timezone/Pacific/Honolulu -./share/postgresql/timezone/Pacific/Yap -./share/postgresql/timezone/Pacific/Pohnpei -./share/postgresql/timezone/Pacific/Wake -./share/postgresql/timezone/Pacific/Ponape -./share/postgresql/timezone/Iran -./share/postgresql/timezone/Etc/GMT-4 -./share/postgresql/timezone/Etc/GMT-9 -./share/postgresql/timezone/Etc/UCT -./share/postgresql/timezone/Etc/GMT-7 -./share/postgresql/timezone/Etc/Greenwich -./share/postgresql/timezone/Etc/GMT-0 -./share/postgresql/timezone/Etc/GMT-5 -./share/postgresql/timezone/Etc/GMT0 -./share/postgresql/timezone/Etc/GMT+7 -./share/postgresql/timezone/Etc/GMT-2 -./share/postgresql/timezone/Etc/GMT-10 -./share/postgresql/timezone/Etc/GMT+6 -./share/postgresql/timezone/Etc/GMT+1 -./share/postgresql/timezone/Etc/UTC -./share/postgresql/timezone/Etc/GMT-3 -./share/postgresql/timezone/Etc/GMT-1 -./share/postgresql/timezone/Etc/GMT-8 -./share/postgresql/timezone/Etc/GMT-11 -./share/postgresql/timezone/Etc/GMT+12 -./share/postgresql/timezone/Etc/GMT+10 -./share/postgresql/timezone/Etc/GMT-12 -./share/postgresql/timezone/Etc/GMT+5 -./share/postgresql/timezone/Etc/Universal -./share/postgresql/timezone/Etc/GMT-13 -./share/postgresql/timezone/Etc/GMT-6 -./share/postgresql/timezone/Etc/GMT+9 -./share/postgresql/timezone/Etc/GMT+3 -./share/postgresql/timezone/Etc/GMT-14 -./share/postgresql/timezone/Etc/GMT+4 -./share/postgresql/timezone/Etc/Zulu -./share/postgresql/timezone/Etc/GMT+2 -./share/postgresql/timezone/Etc/GMT+0 -./share/postgresql/timezone/Etc/GMT+8 -./share/postgresql/timezone/Etc/GMT+11 -./share/postgresql/timezone/Etc/GMT -./share/postgresql/timezone/Zulu -./share/postgresql/timezone/GMT+0 -./share/postgresql/timezone/Singapore -./share/postgresql/timezone/NZ-CHAT -./share/postgresql/timezone/Cuba -./share/postgresql/timezone/GB -./share/postgresql/timezone/Arctic/Longyearbyen -./share/postgresql/timezone/MST7MDT -./share/postgresql/timezone/PRC -./share/postgresql/timezone/Canada/Eastern -./share/postgresql/timezone/Canada/Yukon -./share/postgresql/timezone/Canada/Atlantic -./share/postgresql/timezone/Canada/Newfoundland -./share/postgresql/timezone/Canada/Saskatchewan -./share/postgresql/timezone/Canada/Pacific -./share/postgresql/timezone/Canada/East-Saskatchewan -./share/postgresql/timezone/Canada/Mountain -./share/postgresql/timezone/Canada/Central -./share/postgresql/timezone/CST6CDT -./share/postgresql/timezone/HST -./share/postgresql/timezone/America/Boa_Vista -./share/postgresql/timezone/America/New_York -./share/postgresql/timezone/America/Santarem -./share/postgresql/timezone/America/Boise -./share/postgresql/timezone/America/St_Lucia -./share/postgresql/timezone/America/Mendoza -./share/postgresql/timezone/America/Mexico_City -./share/postgresql/timezone/America/Chihuahua -./share/postgresql/timezone/America/Indianapolis -./share/postgresql/timezone/America/Virgin -./share/postgresql/timezone/America/Atka -./share/postgresql/timezone/America/Winnipeg -./share/postgresql/timezone/America/Hermosillo -./share/postgresql/timezone/America/Indiana/Indianapolis -./share/postgresql/timezone/America/Indiana/Tell_City -./share/postgresql/timezone/America/Indiana/Winamac -./share/postgresql/timezone/America/Indiana/Knox -./share/postgresql/timezone/America/Indiana/Vincennes -./share/postgresql/timezone/America/Indiana/Vevay -./share/postgresql/timezone/America/Indiana/Petersburg -./share/postgresql/timezone/America/Indiana/Marengo -./share/postgresql/timezone/America/Moncton -./share/postgresql/timezone/America/Campo_Grande -./share/postgresql/timezone/America/Guyana -./share/postgresql/timezone/America/Caracas -./share/postgresql/timezone/America/Maceio -./share/postgresql/timezone/America/Godthab -./share/postgresql/timezone/America/Thunder_Bay -./share/postgresql/timezone/America/Havana -./share/postgresql/timezone/America/Santiago -./share/postgresql/timezone/America/Los_Angeles -./share/postgresql/timezone/America/Buenos_Aires -./share/postgresql/timezone/America/Manaus -./share/postgresql/timezone/America/Bahia -./share/postgresql/timezone/America/North_Dakota/New_Salem -./share/postgresql/timezone/America/North_Dakota/Beulah -./share/postgresql/timezone/America/North_Dakota/Center -./share/postgresql/timezone/America/Bahia_Banderas -./share/postgresql/timezone/America/Edmonton -./share/postgresql/timezone/America/Tegucigalpa -./share/postgresql/timezone/America/Rankin_Inlet -./share/postgresql/timezone/America/Monterrey -./share/postgresql/timezone/America/Cambridge_Bay -./share/postgresql/timezone/America/Porto_Velho -./share/postgresql/timezone/America/Antigua -./share/postgresql/timezone/America/Atikokan -./share/postgresql/timezone/America/Vancouver -./share/postgresql/timezone/America/Anchorage -./share/postgresql/timezone/America/Port-au-Prince -./share/postgresql/timezone/America/Lima -./share/postgresql/timezone/America/Grenada -./share/postgresql/timezone/America/Creston -./share/postgresql/timezone/America/La_Paz -./share/postgresql/timezone/America/Panama -./share/postgresql/timezone/America/Blanc-Sablon -./share/postgresql/timezone/America/Cayenne -./share/postgresql/timezone/America/Santo_Domingo -./share/postgresql/timezone/America/Grand_Turk -./share/postgresql/timezone/America/Toronto -./share/postgresql/timezone/America/Rainy_River -./share/postgresql/timezone/America/Merida -./share/postgresql/timezone/America/Port_of_Spain -./share/postgresql/timezone/America/Nipigon -./share/postgresql/timezone/America/Jamaica -./share/postgresql/timezone/America/Rosario -./share/postgresql/timezone/America/Dawson_Creek -./share/postgresql/timezone/America/Belize -./share/postgresql/timezone/America/Costa_Rica -./share/postgresql/timezone/America/Barbados -./share/postgresql/timezone/America/Danmarkshavn -./share/postgresql/timezone/America/Argentina/La_Rioja -./share/postgresql/timezone/America/Argentina/Mendoza -./share/postgresql/timezone/America/Argentina/Buenos_Aires -./share/postgresql/timezone/America/Argentina/Tucuman -./share/postgresql/timezone/America/Argentina/Ushuaia -./share/postgresql/timezone/America/Argentina/Catamarca -./share/postgresql/timezone/America/Argentina/ComodRivadavia -./share/postgresql/timezone/America/Argentina/Jujuy -./share/postgresql/timezone/America/Argentina/Cordoba -./share/postgresql/timezone/America/Argentina/San_Luis -./share/postgresql/timezone/America/Argentina/Rio_Gallegos -./share/postgresql/timezone/America/Argentina/Salta -./share/postgresql/timezone/America/Argentina/San_Juan -./share/postgresql/timezone/America/Pangnirtung -./share/postgresql/timezone/America/Anguilla -./share/postgresql/timezone/America/Curacao -./share/postgresql/timezone/America/Cancun -./share/postgresql/timezone/America/Montreal -./share/postgresql/timezone/America/Shiprock -./share/postgresql/timezone/America/Thule -./share/postgresql/timezone/America/Scoresbysund -./share/postgresql/timezone/America/Catamarca -./share/postgresql/timezone/America/Sao_Paulo -./share/postgresql/timezone/America/Sitka -./share/postgresql/timezone/America/Asuncion -./share/postgresql/timezone/America/Regina -./share/postgresql/timezone/America/St_Johns -./share/postgresql/timezone/America/Montevideo -./share/postgresql/timezone/America/Eirunepe -./share/postgresql/timezone/America/Denver -./share/postgresql/timezone/America/Metlakatla -./share/postgresql/timezone/America/Araguaina -./share/postgresql/timezone/America/Juneau -./share/postgresql/timezone/America/Marigot -./share/postgresql/timezone/America/Menominee -./share/postgresql/timezone/America/Glace_Bay -./share/postgresql/timezone/America/Tijuana -./share/postgresql/timezone/America/Detroit -./share/postgresql/timezone/America/Belem -./share/postgresql/timezone/America/Jujuy -./share/postgresql/timezone/America/St_Thomas -./share/postgresql/timezone/America/Resolute -./share/postgresql/timezone/America/Cuiaba -./share/postgresql/timezone/America/Halifax -./share/postgresql/timezone/America/St_Barthelemy -./share/postgresql/timezone/America/Guatemala -./share/postgresql/timezone/America/Nassau -./share/postgresql/timezone/America/St_Kitts -./share/postgresql/timezone/America/Cordoba -./share/postgresql/timezone/America/Miquelon -./share/postgresql/timezone/America/Bogota -./share/postgresql/timezone/America/Rio_Branco -./share/postgresql/timezone/America/Ensenada -./share/postgresql/timezone/America/Yakutat -./share/postgresql/timezone/America/Noronha -./share/postgresql/timezone/America/Kentucky/Monticello -./share/postgresql/timezone/America/Kentucky/Louisville -./share/postgresql/timezone/America/Porto_Acre -./share/postgresql/timezone/America/Santa_Isabel -./share/postgresql/timezone/America/El_Salvador -./share/postgresql/timezone/America/Yellowknife -./share/postgresql/timezone/America/Cayman -./share/postgresql/timezone/America/Whitehorse -./share/postgresql/timezone/America/Ojinaga -./share/postgresql/timezone/America/Aruba -./share/postgresql/timezone/America/Nome -./share/postgresql/timezone/America/Fortaleza -./share/postgresql/timezone/America/Martinique -./share/postgresql/timezone/America/Recife -./share/postgresql/timezone/America/Knox_IN -./share/postgresql/timezone/America/Guayaquil -./share/postgresql/timezone/America/Goose_Bay -./share/postgresql/timezone/America/Iqaluit -./share/postgresql/timezone/America/Matamoros -./share/postgresql/timezone/America/Lower_Princes -./share/postgresql/timezone/America/Louisville -./share/postgresql/timezone/America/Coral_Harbour -./share/postgresql/timezone/America/Phoenix -./share/postgresql/timezone/America/Guadeloupe -./share/postgresql/timezone/America/Mazatlan -./share/postgresql/timezone/America/Swift_Current -./share/postgresql/timezone/America/Paramaribo -./share/postgresql/timezone/America/Dominica -./share/postgresql/timezone/America/Kralendijk -./share/postgresql/timezone/America/Montserrat -./share/postgresql/timezone/America/St_Vincent -./share/postgresql/timezone/America/Fort_Wayne -./share/postgresql/timezone/America/Dawson -./share/postgresql/timezone/America/Inuvik -./share/postgresql/timezone/America/Adak -./share/postgresql/timezone/America/Managua -./share/postgresql/timezone/America/Puerto_Rico -./share/postgresql/timezone/America/Tortola -./share/postgresql/timezone/America/Chicago -./share/postgresql/timezone/Africa/Lome -./share/postgresql/timezone/Africa/Brazzaville -./share/postgresql/timezone/Africa/Khartoum -./share/postgresql/timezone/Africa/Ceuta -./share/postgresql/timezone/Africa/Djibouti -./share/postgresql/timezone/Africa/Lagos -./share/postgresql/timezone/Africa/Accra -./share/postgresql/timezone/Africa/El_Aaiun -./share/postgresql/timezone/Africa/Malabo -./share/postgresql/timezone/Africa/Windhoek -./share/postgresql/timezone/Africa/Tripoli -./share/postgresql/timezone/Africa/Bissau -./share/postgresql/timezone/Africa/Blantyre -./share/postgresql/timezone/Africa/Kinshasa -./share/postgresql/timezone/Africa/Porto-Novo -./share/postgresql/timezone/Africa/Nairobi -./share/postgresql/timezone/Africa/Ouagadougou -./share/postgresql/timezone/Africa/Asmera -./share/postgresql/timezone/Africa/Cairo -./share/postgresql/timezone/Africa/Lubumbashi -./share/postgresql/timezone/Africa/Tunis -./share/postgresql/timezone/Africa/Dar_es_Salaam -./share/postgresql/timezone/Africa/Casablanca -./share/postgresql/timezone/Africa/Algiers -./share/postgresql/timezone/Africa/Mbabane -./share/postgresql/timezone/Africa/Monrovia -./share/postgresql/timezone/Africa/Nouakchott -./share/postgresql/timezone/Africa/Banjul -./share/postgresql/timezone/Africa/Kampala -./share/postgresql/timezone/Africa/Conakry -./share/postgresql/timezone/Africa/Mogadishu -./share/postgresql/timezone/Africa/Ndjamena -./share/postgresql/timezone/Africa/Niamey -./share/postgresql/timezone/Africa/Lusaka -./share/postgresql/timezone/Africa/Addis_Ababa -./share/postgresql/timezone/Africa/Sao_Tome -./share/postgresql/timezone/Africa/Abidjan -./share/postgresql/timezone/Africa/Harare -./share/postgresql/timezone/Africa/Asmara -./share/postgresql/timezone/Africa/Douala -./share/postgresql/timezone/Africa/Freetown -./share/postgresql/timezone/Africa/Libreville -./share/postgresql/timezone/Africa/Luanda -./share/postgresql/timezone/Africa/Maseru -./share/postgresql/timezone/Africa/Gaborone -./share/postgresql/timezone/Africa/Maputo -./share/postgresql/timezone/Africa/Timbuktu -./share/postgresql/timezone/Africa/Bangui -./share/postgresql/timezone/Africa/Bamako -./share/postgresql/timezone/Africa/Dakar -./share/postgresql/timezone/Africa/Juba -./share/postgresql/timezone/Africa/Bujumbura -./share/postgresql/timezone/Africa/Johannesburg -./share/postgresql/timezone/Africa/Kigali -./share/postgresql/timezone/Eire -./share/postgresql/timezone/Europe/Vaduz -./share/postgresql/timezone/Europe/Podgorica -./share/postgresql/timezone/Europe/Rome -./share/postgresql/timezone/Europe/Vienna -./share/postgresql/timezone/Europe/Dublin -./share/postgresql/timezone/Europe/Zurich -./share/postgresql/timezone/Europe/London -./share/postgresql/timezone/Europe/Monaco -./share/postgresql/timezone/Europe/Sofia -./share/postgresql/timezone/Europe/Uzhgorod -./share/postgresql/timezone/Europe/Minsk -./share/postgresql/timezone/Europe/Malta -./share/postgresql/timezone/Europe/Busingen -./share/postgresql/timezone/Europe/Gibraltar -./share/postgresql/timezone/Europe/Volgograd -./share/postgresql/timezone/Europe/Budapest -./share/postgresql/timezone/Europe/Vatican -./share/postgresql/timezone/Europe/Luxembourg -./share/postgresql/timezone/Europe/Chisinau -./share/postgresql/timezone/Europe/Nicosia -./share/postgresql/timezone/Europe/Warsaw -./share/postgresql/timezone/Europe/San_Marino -./share/postgresql/timezone/Europe/Copenhagen -./share/postgresql/timezone/Europe/Ljubljana -./share/postgresql/timezone/Europe/Athens -./share/postgresql/timezone/Europe/Skopje -./share/postgresql/timezone/Europe/Andorra -./share/postgresql/timezone/Europe/Kaliningrad -./share/postgresql/timezone/Europe/Amsterdam -./share/postgresql/timezone/Europe/Guernsey -./share/postgresql/timezone/Europe/Isle_of_Man -./share/postgresql/timezone/Europe/Tirane -./share/postgresql/timezone/Europe/Jersey -./share/postgresql/timezone/Europe/Madrid -./share/postgresql/timezone/Europe/Helsinki -./share/postgresql/timezone/Europe/Riga -./share/postgresql/timezone/Europe/Zagreb -./share/postgresql/timezone/Europe/Bratislava -./share/postgresql/timezone/Europe/Prague -./share/postgresql/timezone/Europe/Tallinn -./share/postgresql/timezone/Europe/Stockholm -./share/postgresql/timezone/Europe/Tiraspol -./share/postgresql/timezone/Europe/Belgrade -./share/postgresql/timezone/Europe/Bucharest -./share/postgresql/timezone/Europe/Vilnius -./share/postgresql/timezone/Europe/Sarajevo -./share/postgresql/timezone/Europe/Belfast -./share/postgresql/timezone/Europe/Zaporozhye -./share/postgresql/timezone/Europe/Oslo -./share/postgresql/timezone/Europe/Mariehamn -./share/postgresql/timezone/Europe/Moscow -./share/postgresql/timezone/Europe/Brussels -./share/postgresql/timezone/Europe/Paris -./share/postgresql/timezone/Europe/Istanbul -./share/postgresql/timezone/Europe/Simferopol -./share/postgresql/timezone/Europe/Lisbon -./share/postgresql/timezone/Europe/Berlin -./share/postgresql/timezone/Europe/Kiev -./share/postgresql/timezone/Europe/Samara -./share/postgresql/timezone/MST -./share/postgresql/timezone/Asia/Khandyga -./share/postgresql/timezone/Asia/Manila -./share/postgresql/timezone/Asia/Novokuznetsk -./share/postgresql/timezone/Asia/Baghdad -./share/postgresql/timezone/Asia/Macau -./share/postgresql/timezone/Asia/Urumqi -./share/postgresql/timezone/Asia/Ujung_Pandang -./share/postgresql/timezone/Asia/Ulan_Bator -./share/postgresql/timezone/Asia/Bishkek -./share/postgresql/timezone/Asia/Qatar -./share/postgresql/timezone/Asia/Qyzylorda -./share/postgresql/timezone/Asia/Calcutta -./share/postgresql/timezone/Asia/Riyadh87 -./share/postgresql/timezone/Asia/Dushanbe -./share/postgresql/timezone/Asia/Yekaterinburg -./share/postgresql/timezone/Asia/Dhaka -./share/postgresql/timezone/Asia/Jakarta -./share/postgresql/timezone/Asia/Shanghai -./share/postgresql/timezone/Asia/Ulaanbaatar -./share/postgresql/timezone/Asia/Jerusalem -./share/postgresql/timezone/Asia/Ashkhabad -./share/postgresql/timezone/Asia/Tokyo -./share/postgresql/timezone/Asia/Macao -./share/postgresql/timezone/Asia/Krasnoyarsk -./share/postgresql/timezone/Asia/Saigon -./share/postgresql/timezone/Asia/Omsk -./share/postgresql/timezone/Asia/Damascus -./share/postgresql/timezone/Asia/Phnom_Penh -./share/postgresql/timezone/Asia/Bangkok -./share/postgresql/timezone/Asia/Kamchatka -./share/postgresql/timezone/Asia/Choibalsan -./share/postgresql/timezone/Asia/Ust-Nera -./share/postgresql/timezone/Asia/Aden -./share/postgresql/timezone/Asia/Vientiane -./share/postgresql/timezone/Asia/Sakhalin -./share/postgresql/timezone/Asia/Ashgabat -./share/postgresql/timezone/Asia/Katmandu -./share/postgresql/timezone/Asia/Almaty -./share/postgresql/timezone/Asia/Baku -./share/postgresql/timezone/Asia/Nicosia -./share/postgresql/timezone/Asia/Riyadh88 -./share/postgresql/timezone/Asia/Kashgar -./share/postgresql/timezone/Asia/Riyadh89 -./share/postgresql/timezone/Asia/Taipei -./share/postgresql/timezone/Asia/Tehran -./share/postgresql/timezone/Asia/Kabul -./share/postgresql/timezone/Asia/Samarkand -./share/postgresql/timezone/Asia/Kuala_Lumpur -./share/postgresql/timezone/Asia/Tashkent -./share/postgresql/timezone/Asia/Thimbu -./share/postgresql/timezone/Asia/Thimphu -./share/postgresql/timezone/Asia/Yerevan -./share/postgresql/timezone/Asia/Chungking -./share/postgresql/timezone/Asia/Hebron -./share/postgresql/timezone/Asia/Karachi -./share/postgresql/timezone/Asia/Kolkata -./share/postgresql/timezone/Asia/Aqtobe -./share/postgresql/timezone/Asia/Muscat -./share/postgresql/timezone/Asia/Hong_Kong -./share/postgresql/timezone/Asia/Chongqing -./share/postgresql/timezone/Asia/Oral -./share/postgresql/timezone/Asia/Pontianak -./share/postgresql/timezone/Asia/Colombo -./share/postgresql/timezone/Asia/Pyongyang -./share/postgresql/timezone/Asia/Hovd -./share/postgresql/timezone/Asia/Kuwait -./share/postgresql/timezone/Asia/Anadyr -./share/postgresql/timezone/Asia/Kathmandu -./share/postgresql/timezone/Asia/Irkutsk -./share/postgresql/timezone/Asia/Bahrain -./share/postgresql/timezone/Asia/Dubai -./share/postgresql/timezone/Asia/Jayapura -./share/postgresql/timezone/Asia/Riyadh -./share/postgresql/timezone/Asia/Ho_Chi_Minh -./share/postgresql/timezone/Asia/Singapore -./share/postgresql/timezone/Asia/Tel_Aviv -./share/postgresql/timezone/Asia/Dili -./share/postgresql/timezone/Asia/Rangoon -./share/postgresql/timezone/Asia/Harbin -./share/postgresql/timezone/Asia/Yakutsk -./share/postgresql/timezone/Asia/Magadan -./share/postgresql/timezone/Asia/Amman -./share/postgresql/timezone/Asia/Kuching -./share/postgresql/timezone/Asia/Novosibirsk -./share/postgresql/timezone/Asia/Seoul -./share/postgresql/timezone/Asia/Dacca -./share/postgresql/timezone/Asia/Vladivostok -./share/postgresql/timezone/Asia/Istanbul -./share/postgresql/timezone/Asia/Beirut -./share/postgresql/timezone/Asia/Aqtau -./share/postgresql/timezone/Asia/Brunei -./share/postgresql/timezone/Asia/Gaza -./share/postgresql/timezone/Asia/Tbilisi -./share/postgresql/timezone/Asia/Makassar -./share/postgresql/timezone/Asia/Beijing -./share/postgresql/timezone/Navajo -./share/postgresql/timezone/GMT -./share/postgresql/gtm.conf.sample -./share/postgresql/system_views.sql -./share/postgresql/performance_views.sql -./share/postgresql/sql_features.txt -./share/postgresql/pg_cast_oid.txt -./share/postgresql/recovery.conf.sample -./share/postgresql/cm_server.conf.sample -./share/postgresql/tsearch_data/english.stop -./share/postgresql/tsearch_data/dutch.stop -./share/postgresql/tsearch_data/hungarian.stop -./share/postgresql/tsearch_data/french.stop -./share/postgresql/tsearch_data/synonym_sample.syn -./share/postgresql/tsearch_data/turkish.stop -./share/postgresql/tsearch_data/portuguese.stop -./share/postgresql/tsearch_data/spanish.stop -./share/postgresql/tsearch_data/hunspell_sample.affix -./share/postgresql/tsearch_data/ispell_sample.affix -./share/postgresql/tsearch_data/danish.stop -./share/postgresql/tsearch_data/german.stop -./share/postgresql/tsearch_data/thesaurus_sample.ths -./share/postgresql/tsearch_data/norwegian.stop -./share/postgresql/tsearch_data/finnish.stop -./share/postgresql/tsearch_data/russian.stop -./share/postgresql/tsearch_data/swedish.stop -./share/postgresql/tsearch_data/ispell_sample.dict -./share/postgresql/tsearch_data/italian.stop -./share/postgresql/cm_agent.conf.sample -./share/postgresql/information_schema.sql -./share/postgresql/timezonesets/Antarctica.txt -./share/postgresql/timezonesets/Australia.txt -./share/postgresql/timezonesets/Europe.txt -./share/postgresql/timezonesets/America.txt -./share/postgresql/timezonesets/Australia -./share/postgresql/timezonesets/Indian.txt -./share/postgresql/timezonesets/India -./share/postgresql/timezonesets/Pacific.txt -./share/postgresql/timezonesets/Atlantic.txt -./share/postgresql/timezonesets/Africa.txt -./share/postgresql/timezonesets/Asia.txt -./share/postgresql/timezonesets/Default -./share/postgresql/timezonesets/Etc.txt -./share/postgresql/postgres.bki -./share/llvmir/GaussDB_expr.ir -./share/sslcert/gsql/openssl.cnf -./share/sslcert/gds/openssl.cnf -./share/sslcert/etcd/openssl.cnf -./share/sslcert/grpc/openssl.cnf -./lib/libsimsearch/ -./lib/postgresql/latin2_and_win1250.so -./lib/postgresql/euc2004_sjis2004.so -./lib/postgresql/euc_kr_and_mic.so -./lib/postgresql/utf8_and_uhc.so -./lib/postgresql/euc_tw_and_big5.so -./lib/postgresql/cyrillic_and_mic.so -./lib/postgresql/utf8_and_johab.so -./lib/postgresql/utf8_and_gb18030.so -./lib/postgresql/pgxs/src/makefiles/pgxs.mk -./lib/postgresql/pgxs/src/Makefile.shlib -./lib/postgresql/pgxs/src/Makefile.port -./lib/postgresql/pgxs/src/nls-global.mk -./lib/postgresql/pgxs/src/Makefile.global -./lib/postgresql/pgxs/config/install-sh -./lib/postgresql/euc_cn_and_mic.so -./lib/postgresql/latin_and_mic.so -./lib/postgresql/utf8_and_sjis2004.so -./lib/postgresql/utf8_and_euc_jp.so -./lib/postgresql/utf8_and_sjis.so -./lib/postgresql/utf8_and_cyrillic.so -./lib/postgresql/hstore.so -./lib/postgresql/tsdb.so -./lib/postgresql/streaming.so -./lib/postgresql/packages.so -./lib/postgresql/utf8_and_euc_kr.so -./lib/postgresql/ascii_and_mic.so -./lib/postgresql/utf8_and_iso8859_1.so -./lib/postgresql/euc_jp_and_sjis.so -./lib/postgresql/dict_snowball.so -./lib/postgresql/utf8_and_ascii.so -./lib/postgresql/utf8_and_euc_tw.so -./lib/postgresql/utf8_and_iso8859.so -./lib/postgresql/utf8_and_win.so -./lib/postgresql/utf8_and_euc_cn.so -./lib/postgresql/utf8_and_gbk.so -./lib/postgresql/utf8_and_euc2004.so -./lib/postgresql/utf8_and_big5.so -./lib/postgresql/roach_api.so -./lib/postgresql/mppdb_decoding.so -./lib/postgresql/gsredistribute.so -./lib/postgresql/dimsearch.so -./lib/postgresql/pg_plugin -./lib/postgresql/proc_srclib -./lib/postgresql/security_plugin.so -./lib/postgresql/pg_upgrade_support.so -./lib/postgresql/java/pljava.jar -./lib/postgresql/gsredistribute.so -./lib/libpljava.so -./lib/libpq.a -./lib/libpq.so -./lib/libpq.so.5 -./lib/libpq.so.5.5 -./lib/libpq_ce.so -./lib/libpq_ce.so.5 -./lib/libpq_ce.so.5.5 -./lib/libcgroup.so -./lib/libcgroup.so.1 -./lib/libcom_err_gauss.so -./lib/libcom_err_gauss.so.3 -./lib/libcom_err_gauss.so.3.0 -./lib/libgpr.so -./lib/libgpr.so.9 -./lib/libgpr.so.9.0.0 -./lib/libgrpc.so -./lib/libgrpc++.so -./lib/libgrpc++.so.1 -./lib/libgrpc++.so.1.28.1 -./lib/libgrpc.so.9 -./lib/libgrpc.so.9.0.0 -./lib/libupb.so -./lib/libupb.so.9 -./lib/libupb.so.9.0.0 -./lib/libabsl_str_format_internal.so -./lib/libabsl_strings.so -./lib/libabsl_throw_delegate.so -./lib/libabsl_strings_internal.so -./lib/libabsl_base.so -./lib/libabsl_dynamic_annotations.so -./lib/libabsl_spinlock_wait.so -./lib/libabsl_int128.so -./lib/libabsl_bad_optional_access.so -./lib/libabsl_raw_logging_internal.so -./lib/libabsl_log_severity.so -./lib/libaddress_sorting.so -./lib/libaddress_sorting.so.9 -./lib/libgssapi_krb5_gauss.so -./lib/libgssapi_krb5_gauss.so.2 -./lib/libgssapi_krb5_gauss.so.2.2 -./lib/libgssrpc_gauss.so -./lib/libgssrpc_gauss.so.4 -./lib/libgssrpc_gauss.so.4.2 -./lib/libk5crypto_gauss.so -./lib/libk5crypto_gauss.so.3 -./lib/libk5crypto_gauss.so.3.1 -./lib/libkadm5clnt.so -./lib/libkadm5clnt_mit.so -./lib/libkadm5clnt_mit.so.11 -./lib/libkadm5clnt_mit.so.11.0 -./lib/libkadm5srv.so -./lib/libkadm5srv_mit.so -./lib/libkadm5srv_mit.so.11 -./lib/libkadm5srv_mit.so.11.0 -./lib/libkdb5.so -./lib/libkdb5.so.9 -./lib/libkdb5.so.9.0 -./lib/libkrad.so -./lib/libkrad.so.0 -./lib/libkrad.so.0.0 -./lib/libkrb5_gauss.so -./lib/libkrb5_gauss.so.3 -./lib/libkrb5_gauss.so.3.3 -./lib/libkrb5support_gauss.so -./lib/libkrb5support_gauss.so.0 -./lib/libkrb5support_gauss.so.0.1 -./lib/libverto.so -./lib/libverto.so.0 -./lib/libverto.so.0.0 -./lib/libcurl.so -./lib/libcurl.so.4 -./lib/libcurl.so.4.6.0 -./lib/libcrypto.so -./lib/libcrypto.so.1.1 -./lib/libssl.so -./lib/libssl.so.1.1 -./lib/libgcc_s.so.1 -./lib/libtsan.so -./lib/libtsan.so.0 -./lib/libtsan.so.0.0.0 -./lib/libstdc++.so.6 -./lib/libz.so -./lib/libz.so.1 -./lib/libz.so.1.2.11 -./lib/liblz4.so -./lib/liblz4.so.1 -./lib/liblz4.so.1.9.2 -./lib/libcjson.so -./lib/libcjson.so.1 -./lib/libcjson.so.1.7.13 -./lib/libconfig.so -./lib/libconfig.so.4 -./lib/libcmclient.so -./lib/libcmclient.so.1 -./lib/libcmcommon.so -./lib/libcmcommon.so.2 -./lib/libcmpq.so -./lib/libcmpq.so.1 -./lib/libetcdapi.so -./lib/libetcdapi.so.1 -./lib/libpgport_tool.so -./lib/libpgport_tool.so.1 -./lib/lib_roach_show.so -./lib/roach_contrib.so -./share/llvmir/GaussDB_expr.ir -./lib/libeSDKLogAPI.so -./lib/libeSDKOBS.so -./lib/liblog4cpp.so -./lib/liblog4cpp.so.5 -./lib/liblog4cpp.so.5.0.6 -./lib/libcharset.so -./lib/libcharset.so.1 -./lib/libcharset.so.1.0.0 -./lib/libiconv.so -./lib/libiconv.so.2 -./lib/libiconv.so.2.6.1 -./lib/libnghttp2.so -./lib/libnghttp2.so.14 -./lib/libnghttp2.so.14.18.0 -./lib/libpcre.so -./lib/libpcre.so.1 -./lib/libpcre.so.1.2.12 -./lib/libsecurec.so -./lib/libxml2.so -./lib/libxml2.so.2 -./lib/libxml2.so.2.9.9 -./lib/libparquet.so -./lib/libparquet.so.11 -./lib/libparquet.so.11.1.0 -./lib/OBS.ini -./lib/postgresql/latin2_and_win1250.so -./lib/postgresql/euc2004_sjis2004.so -./lib/libhll.so -./lib/libnuma.so -./lib/libnuma.so.1 -./lib/libnuma.so.1.0.0 -./lib/libiperf.so.0 -./include/postgresql/server/postgres_ext.h -./include/postgresql/server/pg_config_os.h -./include/postgresql/server/pgtime.h -./include/postgresql/server/datatypes.h -./include/postgresql/server/client_logic/client_logic_enums.h -./include/postgresql/server/nodes/primnodes.h -./include/postgresql/server/nodes/parsenodes.h -./include/postgresql/server/nodes/parsenodes_common.h -./include/postgresql/server/nodes/bitmapset.h -./include/postgresql/server/nodes/pg_list.h -./include/postgresql/server/nodes/value.h -./include/postgresql/server/nodes/nodes.h -./include/postgresql/server/utils/sortsupport.h -./include/postgresql/server/utils/varbit.h -./include/postgresql/server/utils/spccache.h -./include/postgresql/server/utils/rangetypes.h -./include/postgresql/server/utils/plpgsql.h -./include/postgresql/server/utils/memtrack.h -./include/postgresql/server/utils/pg_locale.h -./include/postgresql/server/utils/tzparser.h -./include/postgresql/server/utils/syscall_lock.h -./include/postgresql/server/utils/partitionmap.h -./include/postgresql/server/utils/array.h -./include/postgresql/server/utils/relmapper.h -./include/postgresql/server/utils/hsearch.h -./include/postgresql/server/utils/xml.h -./include/postgresql/server/utils/bytea.h -./include/postgresql/server/utils/relcache.h -./include/postgresql/server/utils/pg_rusage.h -./include/postgresql/server/utils/numeric.h -./include/postgresql/server/utils/mmpool.h -./include/postgresql/server/utils/nabstime.h -./include/postgresql/server/utils/fmgrtab.h -./include/postgresql/server/utils/snapmgr.h -./include/postgresql/server/utils/syscache.h -./include/postgresql/server/utils/logtape.h -./include/postgresql/server/utils/datum.h -./include/postgresql/server/utils/guc_tables.h -./include/postgresql/server/utils/snapshot.h -./include/postgresql/server/utils/geo_decls.h -./include/postgresql/server/utils/errcodes.h -./include/postgresql/server/utils/inval.h -./include/postgresql/server/utils/help_config.h -./include/postgresql/server/utils/distribute_test.h -./include/postgresql/server/utils/aiomem.h -./include/postgresql/server/utils/tuplestore.h -./include/postgresql/server/utils/rbtree.h -./include/postgresql/server/utils/gs_bitmap.h -./include/postgresql/server/utils/tuplesort.h -./include/postgresql/server/utils/tqual.h -./include/postgresql/server/utils/ps_status.h -./include/postgresql/server/utils/palloc.h -./include/postgresql/server/utils/reltrigger.h -./include/postgresql/server/utils/acl.h -./include/postgresql/server/utils/ascii.h -./include/postgresql/server/utils/selfuncs.h -./include/postgresql/server/utils/json.h -./include/postgresql/server/utils/portal.h -./include/postgresql/server/utils/atomic.h -./include/postgresql/server/utils/elog.h -./include/postgresql/server/utils/date.h -./include/postgresql/server/utils/plancache.h -./include/postgresql/server/utils/int8.h -./include/postgresql/server/utils/timestamp.h -./include/postgresql/server/utils/bloom_filter.h -./include/postgresql/server/utils/fmgroids.h -./include/postgresql/server/utils/pg_crc_tables.h -./include/postgresql/server/utils/probes.h -./include/postgresql/server/utils/datetime.h -./include/postgresql/server/utils/inet.h -./include/postgresql/server/utils/pg_lzcompress.h -./include/postgresql/server/utils/pg_crc.h -./include/postgresql/server/utils/attoptcache.h -./include/postgresql/server/utils/dynahash.h -./include/postgresql/server/utils/rel.h -./include/postgresql/server/utils/partcache.h -./include/postgresql/server/utils/lsyscache.h -./include/postgresql/server/utils/memutils.h -./include/postgresql/server/utils/memprot.h -./include/postgresql/server/utils/uuid.h -./include/postgresql/server/utils/combocid.h -./include/postgresql/server/utils/builtins.h -./include/postgresql/server/utils/guc.h -./include/postgresql/server/utils/dfs_vector.h -./include/postgresql/server/utils/dynamic_loader.h -./include/postgresql/server/utils/resowner.h -./include/postgresql/server/utils/aes.h -./include/postgresql/server/utils/cash.h -./include/postgresql/server/utils/typcache.h -./include/postgresql/server/utils/formatting.h -./include/postgresql/server/utils/partitionkey.h -./include/postgresql/server/utils/aset.h -./include/postgresql/server/utils/catcache.h -./include/postgresql/server/utils/atomic_arm.h -./include/postgresql/server/datatype/timestamp.h -./include/postgresql/server/access/rmgr.h -./include/postgresql/server/access/xlogreader.h -./include/postgresql/server/access/xlog_basic.h -./include/postgresql/server/access/tupdesc.h -./include/postgresql/server/access/rmgrlist.h -./include/postgresql/server/access/htup.h -./include/postgresql/server/access/xlogdefs.h -./include/postgresql/server/access/attnum.h -./include/postgresql/server/access/tupmacs.h -./include/postgresql/server/access/xlogrecord.h -./include/postgresql/server/tcop/dest.h -./include/postgresql/server/catalog/pg_type.h -./include/postgresql/server/catalog/pg_attribute.h -./include/postgresql/server/catalog/genbki.h -./include/postgresql/server/gs_thread.h -./include/postgresql/server/port/pg_bswap.h -./include/postgresql/server/port/pg_crc32c.h -./include/postgresql/server/securec.h -./include/postgresql/server/securectype.h -./include/postgresql/server/storage/off.h -./include/postgresql/server/storage/buf/block.h -./include/postgresql/server/storage/item/item.h -./include/postgresql/server/storage/relfilenode.h -./include/postgresql/server/storage/buf/bufpage.h -./include/postgresql/server/storage/spin.h -./include/postgresql/server/storage/buf/buf.h -./include/postgresql/server/storage/item/itemid.h -./include/postgresql/server/storage/lock/pg_sema.h -./include/postgresql/server/storage/item/itemptr.h -./include/postgresql/server/storage/lock/s_lock.h -./include/postgresql/server/storage/backendid.h -./include/postgresql/server/storage/lock/lock.h -./include/postgresql/server/storage/lock/lwlock.h -./include/postgresql/server/storage/barrier.h -./include/postgresql/server/storage/shmem.h -./include/postgresql/server/pg_config.h -./include/postgresql/server/lib/stringinfo.h -./include/postgresql/server/fmgr.h -./include/postgresql/server/fmgr/fmgr_comp.h -./include/postgresql/server/fmgr/fmgr_core.h -./include/postgresql/server/gs_threadlocal.h -./include/postgresql/server/postgres.h -./include/postgresql/server/executor/tuptable.h -./include/postgresql/server/pg_config_manual.h -./include/postgresql/server/mb/pg_wchar.h -./include/postgresql/server/c.h -./include/postgresql/server/port.h -./include/postgresql/server/utils/be_module.h -./include/postgresql/server/nodes/params.h -./include/postgresql/server/securec_check.h -./include/postgresql/server/nodes/memnodes.h -./include/postgresql/server/access/skey.h -./include/postgresql/server/lib/dllist.h -./include/postgresql/server/lib/ilist.h -./include/postgresql/server/pgxc/locator.h -./include/postgresql/server/gstrace/gstrace_infra.h -./include/postgresql/server/extension_dependency.h -./jre/ASSEMBLY_EXCEPTION -./jre/bin/java -./jre/bin/jjs -./jre/bin/keytool -./jre/bin/orbd -./jre/bin/pack200 -./jre/bin/policytool -./jre/bin/rmid -./jre/bin/rmiregistry -./jre/bin/servertool -./jre/bin/tnameserv -./jre/bin/unpack200 -./jre/lib/aarch64/jli/libjli.so -./jre/lib/aarch64/jvm.cfg -./jre/lib/aarch64/libattach.so -./jre/lib/aarch64/libavplugin-ffmpeg-58.so -./jre/lib/aarch64/libawt_headless.so -./jre/lib/aarch64/libawt.so -./jre/lib/aarch64/libawt_xawt.so -./jre/lib/aarch64/libdecora_sse.so -./jre/lib/aarch64/libdt_socket.so -./jre/lib/aarch64/libfontmanager.so -./jre/lib/aarch64/libfxplugins.so -./jre/lib/aarch64/libglassgtk2.so -./jre/lib/aarch64/libglassgtk3.so -./jre/lib/aarch64/libglass.so -./jre/lib/aarch64/libgstreamer-lite.so -./jre/lib/aarch64/libhprof.so -./jre/lib/aarch64/libinstrument.so -./jre/lib/aarch64/libj2gss.so -./jre/lib/aarch64/libj2pcsc.so -./jre/lib/aarch64/libj2pkcs11.so -./jre/lib/aarch64/libjaas_unix.so -./jre/lib/aarch64/libjava_crw_demo.so -./jre/lib/aarch64/libjavafx_font_freetype.so -./jre/lib/aarch64/libjavafx_font_pango.so -./jre/lib/aarch64/libjavafx_font.so -./jre/lib/aarch64/libjavafx_iio.so -./jre/lib/aarch64/libjava.so -./jre/lib/aarch64/libjawt.so -./jre/lib/aarch64/libjdwp.so -./jre/lib/aarch64/libjfxmedia.so -./jre/lib/aarch64/libjfxwebkit.so -./jre/lib/aarch64/libjpeg.so -./jre/lib/aarch64/libjsdt.so -./jre/lib/aarch64/libjsig.so -./jre/lib/aarch64/libjsoundalsa.so -./jre/lib/aarch64/libjsound.so -./jre/lib/aarch64/liblcms.so -./jre/lib/aarch64/libmanagement.so -./jre/lib/aarch64/libmlib_image.so -./jre/lib/aarch64/libnet.so -./jre/lib/aarch64/libnio.so -./jre/lib/aarch64/libnpt.so -./jre/lib/aarch64/libprism_common.so -./jre/lib/aarch64/libprism_es2.so -./jre/lib/aarch64/libprism_sw.so -./jre/lib/aarch64/libsaproc.so -./jre/lib/aarch64/libsctp.so -./jre/lib/aarch64/libsplashscreen.so -./jre/lib/aarch64/libsunec.so -./jre/lib/aarch64/libunpack.so -./jre/lib/aarch64/libverify.so -./jre/lib/aarch64/libzip.so -./jre/lib/aarch64/server/libjvm.so -./jre/lib/aarch64/server/Xusage.txt -./jre/lib/calendars.properties -./jre/lib/charsets.jar -./jre/lib/classlist -./jre/lib/cmm/CIEXYZ.pf -./jre/lib/cmm/GRAY.pf -./jre/lib/cmm/LINEAR_RGB.pf -./jre/lib/cmm/PYCC.pf -./jre/lib/cmm/sRGB.pf -./jre/lib/content-types.properties -./jre/lib/currency.data -./jre/lib/ext/cldrdata.jar -./jre/lib/ext/dnsns.jar -./jre/lib/ext/jaccess.jar -./jre/lib/ext/jfxrt.jar -./jre/lib/ext/localedata.jar -./jre/lib/ext/meta-index -./jre/lib/ext/nashorn.jar -./jre/lib/ext/sunec.jar -./jre/lib/ext/sunjce_provider.jar -./jre/lib/ext/sunpkcs11.jar -./jre/lib/ext/zipfs.jar -./jre/lib/flavormap.properties -./jre/lib/fontconfig.Euler.properties -./jre/lib/fontconfig.properties -./jre/lib/fontconfig.Ubuntu.properties -./jre/lib/fonts/Roboto-Regular.ttf -./jre/lib/hijrah-config-umalqura.properties -./jre/lib/images/cursors/cursors.properties -./jre/lib/images/cursors/invalid32x32.gif -./jre/lib/images/cursors/motif_CopyDrop32x32.gif -./jre/lib/images/cursors/motif_CopyNoDrop32x32.gif -./jre/lib/images/cursors/motif_LinkDrop32x32.gif -./jre/lib/images/cursors/motif_LinkNoDrop32x32.gif -./jre/lib/images/cursors/motif_MoveDrop32x32.gif -./jre/lib/images/cursors/motif_MoveNoDrop32x32.gif -./jre/lib/javafx-mx.jar -./jre/lib/javafx.properties -./jre/lib/jce.jar -./jre/lib/jexec -./jre/lib/jfr/default.jfc -./jre/lib/jfr.jar -./jre/lib/jfr/profile.jfc -./jre/lib/jfxswt.jar -./jre/lib/jsse.jar -./jre/lib/jvm.hprof.txt -./jre/lib/logging.properties -./jre/lib/management-agent.jar -./jre/lib/management/jmxremote.access -./jre/lib/management/jmxremote.password.template -./jre/lib/management/management.properties -./jre/lib/management/snmp.acl.template -./jre/lib/meta-index -./jre/lib/net.properties -./jre/lib/psfontj2d.properties -./jre/lib/psfont.properties.ja -./jre/lib/resources.jar -./jre/lib/rt.jar -./jre/lib/security/blacklisted.certs -./jre/lib/security/cacerts -./jre/lib/security/java.policy -./jre/lib/security/java.security -./jre/lib/security/policy/limited/local_policy.jar -./jre/lib/security/policy/limited/US_export_policy.jar -./jre/lib/security/policy/unlimited/local_policy.jar -./jre/lib/security/policy/unlimited/US_export_policy.jar -./jre/lib/sound.properties -./jre/lib/tzdb.dat -./jre/LICENSE -./jre/THIRD_PARTY_README -[client] -./bin/gsql -./bin/gs_dump -./bin/gs_dumpall -./bin/gs_restore -./jdbc/gsjdbc4.jar -./jdbc/gsjdbc200.jar -./lib/postgresql/latin2_and_win1250.so -./lib/postgresql/euc2004_sjis2004.so -./lib/postgresql/euc_kr_and_mic.so -./lib/postgresql/utf8_and_uhc.so -./lib/postgresql/euc_tw_and_big5.so -./lib/postgresql/cyrillic_and_mic.so -./lib/postgresql/utf8_and_johab.so -./lib/postgresql/utf8_and_gb18030.so -./lib/postgresql/pgxs/src/makefiles/pgxs.mk -./lib/postgresql/pgxs/src/Makefile.shlib -./lib/postgresql/pgxs/src/Makefile.port -./lib/postgresql/pgxs/src/nls-global.mk -./lib/postgresql/pgxs/src/Makefile.global -./lib/postgresql/pgxs/config/install-sh -./lib/postgresql/euc_cn_and_mic.so -./lib/postgresql/latin_and_mic.so -./lib/postgresql/utf8_and_sjis2004.so -./lib/postgresql/utf8_and_euc_jp.so -./lib/postgresql/utf8_and_sjis.so -./lib/postgresql/utf8_and_cyrillic.so -./lib/postgresql/utf8_and_euc_kr.so -./lib/postgresql/ascii_and_mic.so -./lib/postgresql/utf8_and_iso8859_1.so -./lib/postgresql/euc_jp_and_sjis.so -./lib/postgresql/dict_snowball.so -./lib/postgresql/utf8_and_ascii.so -./lib/postgresql/utf8_and_euc_tw.so -./lib/postgresql/utf8_and_iso8859.so -./lib/postgresql/utf8_and_win.so -./lib/postgresql/utf8_and_euc_cn.so -./lib/postgresql/utf8_and_gbk.so -./lib/postgresql/utf8_and_euc2004.so -./lib/postgresql/utf8_and_big5.so -./lib/postgresql/java/pljava.jar -./lib/libpljava.so -./lib/libpq.a -./lib/libpq.so -./lib/libpq.so.5 -./lib/libpq.so.5.5 -./lib/libpq_ce.so -./lib/libpq_ce.so.5 -./lib/libpq_ce.so.5.5 -./lib/libcrypto.so -./lib/libcrypto.so.1.1 -./lib/libstdc++.so.6 -./lib/libssl.so -./lib/libssl.so.1.1 -./lib/libgssapi_krb5_gauss.so -./lib/libgssapi_krb5_gauss.so.2 -./lib/libgssapi_krb5_gauss.so.2.2 -./lib/libgssrpc_gauss.so -./lib/libgssrpc_gauss.so.4 -./lib/libgssrpc_gauss.so.4.2 -./lib/libk5crypto_gauss.so -./lib/libk5crypto_gauss.so.3 -./lib/libk5crypto_gauss.so.3.1 -./lib/libkrb5support_gauss.so -./lib/libkrb5support_gauss.so.0 -./lib/libkrb5support_gauss.so.0.1 -./lib/libkrb5_gauss.so -./lib/libkrb5_gauss.so.3 -./lib/libkrb5_gauss.so.3.3 -./lib/libcom_err_gauss.so -./lib/libcom_err_gauss.so.3 -./lib/libcom_err_gauss.so.3.0 -./odbc/lib/psqlodbcw.la -./odbc/lib/psqlodbcw.so -[libpq] -./lib/libpq.a -./lib/libpq.so -./lib/libpq.so.5 -./lib/libpq.so.5.5 -./lib/libpq_ce.so -./lib/libpq_ce.so.5 -./lib/libpq_ce.so.5.5 -./lib/libconfig.so -./lib/libconfig.so.4 -./lib/libcmclient.so -./lib/libcmclient.so.1 -./lib/libcmcommon.so -./lib/libcmcommon.so.2 -./lib/libcmpq.so -./lib/libcmpq.so.1 -./lib/libcrypto.so -./lib/libcrypto.so.1.1 -./lib/libstdc++.so.6 -./lib/libssl.so -./lib/libssl.so.1.1 -./lib/libpgport_tool.so -./lib/libpgport_tool.so.1 -./lib/libgssapi_krb5_gauss.so -./lib/libgssapi_krb5_gauss.so.2 -./lib/libgssapi_krb5_gauss.so.2.2 -./lib/libgssrpc_gauss.so -./lib/libgssrpc_gauss.so.4 -./lib/libgssrpc_gauss.so.4.2 -./lib/libk5crypto_gauss.so -./lib/libk5crypto_gauss.so.3 -./lib/libk5crypto_gauss.so.3.1 -./lib/libkrb5support_gauss.so -./lib/libkrb5support_gauss.so.0 -./lib/libkrb5support_gauss.so.0.1 -./lib/libkrb5_gauss.so -./lib/libkrb5_gauss.so.3 -./lib/libkrb5_gauss.so.3.3 -./lib/libcom_err_gauss.so -./lib/libcom_err_gauss.so.3 -./lib/libcom_err_gauss.so.3.0 -[cmlibrary] -./lib/libconfig.a -./lib/libcmclient.a -./lib/libcmcommon.a -./lib/libcmpq.a -./lib/libpgport.a -[header] -./include/libpq-fe.h -./include/postgres_ext.h -./include/gs_thread.h -./include/gs_threadlocal.h -./include/pg_config.h -./include/pg_config_manual.h -./include/pg_config_os.h -./include/cm_config.h -./include/c.h -./include/port.h -./include/cm_msg.h -./include/cm_c.h -./include/cm_misc.h -./include/libpq-int.h -./include/pqcomm.h -./include/pqexpbuffer.h -./include/xlogdefs.h -./include/cm-libpq-fe.h -[gds] -./bin/gds -./bin/gds_ctl.py -./share/postgresql/gds.conf -./share/postgresql/gds.conf.sample -./lib/libcjson.so -./lib/libcjson.so.1 -./lib/libcjson.so.1.7.13 -[version] -V300R002C20 -[script] -./script/__init__.py -./script/gs_check -./script/gs_checkos -./script/gs_checkperf -./script/gs_collector -./script/gs_backup -./script/gs_expand -./script/gs_install -./script/gs_om -./script/gs_hotpatch -./script/gs_postuninstall -./script/gs_preinstall -./script/gs_replace -./script/gs_shrink -./script/gs_ssh -./script/gs_sshexkey -./script/gs_uninstall -./script/gs_upgradectl -./script/gs_lcctl -./script/gs_resize -./script/install.py -./script/uninstall.py -./script/replace.py -./script/upgrade.py -./script/uninstall_force.py -./script/checkRunStatus.py -./script/JsonToDbClustorInfo.py -./script/nodegroup_migrate.sh diff --git a/build/script/mpp_release_list_openeuler_aarch64_single b/build/script/mpp_release_list_openeuler_aarch64_single deleted file mode 100644 index b69f25404..000000000 --- a/build/script/mpp_release_list_openeuler_aarch64_single +++ /dev/null @@ -1,1317 +0,0 @@ -[server] -./bin/gs_log -./bin/gsql -./bin/gaussdb -./bin/gaussdb.version.GaussDB200 -./bin/gaussdb.version.GaussDB300 -./bin/gaussdb.license.GaussDB200_Standard -./bin/gaussmaster -./bin/gstrace -./bin/gs_encrypt -./bin/gs_dump -./bin/gs_dumpall -./bin/gs_initdb -./bin/gs_ctl -./bin/gs_guc -./bin/encrypt -./bin/openssl -./bin/gs_restore -./bin/gs_cgroup -./bin/gs_basebackup -./bin/gs_probackup -./bin/pg_config -./bin/pg_controldata -./bin/pg_format_cu -./bin/pg_resetxlog -./bin/alarmItem.conf -./bin/retry_errcodes.conf -./bin/cluster_guc.conf -./bin/runsessionstat.sh -./bin/drop_caches.sh -./bin/run_drop_cache.sh -./bin/transfer.py -./bin/gs_plan_simulator.sh -./bin/dependences/clean_temp.sql -./bin/dependences/initdb.py -./bin/dependences/restore_temp.sql -./bin/dependences/store_pg_class_stats.sql -./bin/dependences/store_pg_statistic_ext_stats.sql -./bin/dependences/store_pg_statistic_stats.sql -./bin/dependences/store_pgxc_class.sql -./bin/krb5kdc -./bin/klist -./bin/kinit -./bin/kdestroy -./bin/kdb5_util -./bin/kadmin.local -./etc/kerberos/kadm5.acl -./etc/kerberos/kdc.conf -./etc/kerberos/krb5.conf -./etc/kerberos/mppdb-site.xml -./share/postgis/PostGIS_install.sh -./share/postgresql/tmp/udstools.py -./share/postgresql/snowball_create.sql -./share/postgresql/pmk_schema.sql -./share/postgresql/pmk_schema_single_inst.sql -./share/postgresql/pg_hba.conf.sample -./share/postgresql/pg_service.conf.sample -./share/postgresql/psqlrc.sample -./share/postgresql/conversion_create.sql -./share/postgresql/postgres.shdescription -./share/postgresql/pg_ident.conf.sample -./share/postgresql/postgres.description -./share/postgresql/postgresql.conf.sample -./share/postgresql/extension/plpgsql--1.0.sql -./share/postgresql/extension/hstore.control -./share/postgresql/extension/security_plugin.control -./share/postgresql/extension/security_plugin--1.0.sql -./share/postgresql/extension/tsdb.control -./share/postgresql/extension/tsdb--1.0.sql -./share/postgresql/extension/file_fdw--1.0.sql -./share/postgresql/extension/plpgsql.control -./share/postgresql/extension/dist_fdw.control -./share/postgresql/extension/dist_fdw--1.0.sql -./share/postgresql/extension/hstore--1.1.sql -./share/postgresql/extension/plpgsql--unpackaged--1.0.sql -./share/postgresql/extension/file_fdw.control -./share/postgresql/extension/hstore--unpackaged--1.0.sql -./share/postgresql/extension/hstore--1.0--1.1.sql -./share/postgresql/extension/hdfs_fdw--1.0.sql -./share/postgresql/extension/hdfs_fdw.control -./share/postgresql/extension/gc_fdw--1.0.sql -./share/postgresql/extension/gc_fdw.control -./share/postgresql/extension/log_fdw--1.0.sql -./share/postgresql/extension/log_fdw.control -./share/postgresql/extension/dimsearch--1.0.sql -./share/postgresql/extension/dimsearch.control -./share/postgresql/extension/packages--1.0.sql -./share/postgresql/extension/packages--1.0--1.1.sql -./share/postgresql/extension/packages.control -./share/postgresql/extension/gsredistribute.control -./share/postgresql/extension/gsredistribute--1.0.sql -./share/postgresql/extension/gsredistribute--unpackaged--1.0.sql -./share/postgresql/timezone/GB-Eire -./share/postgresql/timezone/Turkey -./share/postgresql/timezone/Kwajalein -./share/postgresql/timezone/UCT -./share/postgresql/timezone/Mexico/BajaSur -./share/postgresql/timezone/Mexico/BajaNorte -./share/postgresql/timezone/Mexico/General -./share/postgresql/timezone/Japan -./share/postgresql/timezone/Israel -./share/postgresql/timezone/US/Eastern -./share/postgresql/timezone/US/Samoa -./share/postgresql/timezone/US/Michigan -./share/postgresql/timezone/US/Aleutian -./share/postgresql/timezone/US/Pacific -./share/postgresql/timezone/US/Pacific-New -./share/postgresql/timezone/US/Indiana-Starke -./share/postgresql/timezone/US/Mountain -./share/postgresql/timezone/US/East-Indiana -./share/postgresql/timezone/US/Hawaii -./share/postgresql/timezone/US/Arizona -./share/postgresql/timezone/US/Alaska -./share/postgresql/timezone/US/Central -./share/postgresql/timezone/Greenwich -./share/postgresql/timezone/Poland -./share/postgresql/timezone/CET -./share/postgresql/timezone/GMT-0 -./share/postgresql/timezone/Indian/Mauritius -./share/postgresql/timezone/Indian/Cocos -./share/postgresql/timezone/Indian/Reunion -./share/postgresql/timezone/Indian/Maldives -./share/postgresql/timezone/Indian/Comoro -./share/postgresql/timezone/Indian/Antananarivo -./share/postgresql/timezone/Indian/Christmas -./share/postgresql/timezone/Indian/Kerguelen -./share/postgresql/timezone/Indian/Chagos -./share/postgresql/timezone/Indian/Mayotte -./share/postgresql/timezone/Indian/Mahe -./share/postgresql/timezone/GMT0 -./share/postgresql/timezone/Antarctica/Palmer -./share/postgresql/timezone/Antarctica/Syowa -./share/postgresql/timezone/Antarctica/South_Pole -./share/postgresql/timezone/Antarctica/McMurdo -./share/postgresql/timezone/Antarctica/Rothera -./share/postgresql/timezone/Antarctica/Mawson -./share/postgresql/timezone/Antarctica/Casey -./share/postgresql/timezone/Antarctica/Davis -./share/postgresql/timezone/Antarctica/DumontDUrville -./share/postgresql/timezone/Antarctica/Vostok -./share/postgresql/timezone/Antarctica/Macquarie -./share/postgresql/timezone/ROK -./share/postgresql/timezone/Chile/EasterIsland -./share/postgresql/timezone/Chile/Continental -./share/postgresql/timezone/posixrules -./share/postgresql/timezone/Atlantic/Azores -./share/postgresql/timezone/Atlantic/St_Helena -./share/postgresql/timezone/Atlantic/Madeira -./share/postgresql/timezone/Atlantic/Jan_Mayen -./share/postgresql/timezone/Atlantic/Faroe -./share/postgresql/timezone/Atlantic/Stanley -./share/postgresql/timezone/Atlantic/Cape_Verde -./share/postgresql/timezone/Atlantic/Reykjavik -./share/postgresql/timezone/Atlantic/Canary -./share/postgresql/timezone/Atlantic/South_Georgia -./share/postgresql/timezone/Atlantic/Bermuda -./share/postgresql/timezone/Atlantic/Faeroe -./share/postgresql/timezone/Hongkong -./share/postgresql/timezone/Libya -./share/postgresql/timezone/Iceland -./share/postgresql/timezone/UTC -./share/postgresql/timezone/Australia/Darwin -./share/postgresql/timezone/Australia/North -./share/postgresql/timezone/Australia/NSW -./share/postgresql/timezone/Australia/Sydney -./share/postgresql/timezone/Australia/Hobart -./share/postgresql/timezone/Australia/LHI -./share/postgresql/timezone/Australia/Victoria -./share/postgresql/timezone/Australia/South -./share/postgresql/timezone/Australia/Melbourne -./share/postgresql/timezone/Australia/Lord_Howe -./share/postgresql/timezone/Australia/West -./share/postgresql/timezone/Australia/Brisbane -./share/postgresql/timezone/Australia/Perth -./share/postgresql/timezone/Australia/Eucla -./share/postgresql/timezone/Australia/Canberra -./share/postgresql/timezone/Australia/Queensland -./share/postgresql/timezone/Australia/Broken_Hill -./share/postgresql/timezone/Australia/Lindeman -./share/postgresql/timezone/Australia/ACT -./share/postgresql/timezone/Australia/Currie -./share/postgresql/timezone/Australia/Adelaide -./share/postgresql/timezone/Australia/Yancowinna -./share/postgresql/timezone/Australia/Tasmania -./share/postgresql/timezone/Jamaica -./share/postgresql/timezone/EST5EDT -./share/postgresql/timezone/MET -./share/postgresql/timezone/W-SU -./share/postgresql/timezone/Mideast/Riyadh87 -./share/postgresql/timezone/Mideast/Riyadh88 -./share/postgresql/timezone/Mideast/Riyadh89 -./share/postgresql/timezone/WET -./share/postgresql/timezone/ROC -./share/postgresql/timezone/Factory -./share/postgresql/timezone/EET -./share/postgresql/timezone/PST8PDT -./share/postgresql/timezone/Portugal -./share/postgresql/timezone/NZ -./share/postgresql/timezone/Brazil/West -./share/postgresql/timezone/Brazil/DeNoronha -./share/postgresql/timezone/Brazil/Acre -./share/postgresql/timezone/Brazil/East -./share/postgresql/timezone/EST -./share/postgresql/timezone/Egypt -./share/postgresql/timezone/Universal -./share/postgresql/timezone/Pacific/Enderbury -./share/postgresql/timezone/Pacific/Noumea -./share/postgresql/timezone/Pacific/Kwajalein -./share/postgresql/timezone/Pacific/Norfolk -./share/postgresql/timezone/Pacific/Nauru -./share/postgresql/timezone/Pacific/Efate -./share/postgresql/timezone/Pacific/Kosrae -./share/postgresql/timezone/Pacific/Galapagos -./share/postgresql/timezone/Pacific/Truk -./share/postgresql/timezone/Pacific/Fiji -./share/postgresql/timezone/Pacific/Auckland -./share/postgresql/timezone/Pacific/Samoa -./share/postgresql/timezone/Pacific/Port_Moresby -./share/postgresql/timezone/Pacific/Johnston -./share/postgresql/timezone/Pacific/Apia -./share/postgresql/timezone/Pacific/Tarawa -./share/postgresql/timezone/Pacific/Pitcairn -./share/postgresql/timezone/Pacific/Marquesas -./share/postgresql/timezone/Pacific/Chatham -./share/postgresql/timezone/Pacific/Tahiti -./share/postgresql/timezone/Pacific/Tongatapu -./share/postgresql/timezone/Pacific/Saipan -./share/postgresql/timezone/Pacific/Fakaofo -./share/postgresql/timezone/Pacific/Guam -./share/postgresql/timezone/Pacific/Niue -./share/postgresql/timezone/Pacific/Chuuk -./share/postgresql/timezone/Pacific/Easter -./share/postgresql/timezone/Pacific/Wallis -./share/postgresql/timezone/Pacific/Gambier -./share/postgresql/timezone/Pacific/Majuro -./share/postgresql/timezone/Pacific/Kiritimati -./share/postgresql/timezone/Pacific/Guadalcanal -./share/postgresql/timezone/Pacific/Funafuti -./share/postgresql/timezone/Pacific/Rarotonga -./share/postgresql/timezone/Pacific/Pago_Pago -./share/postgresql/timezone/Pacific/Midway -./share/postgresql/timezone/Pacific/Palau -./share/postgresql/timezone/Pacific/Honolulu -./share/postgresql/timezone/Pacific/Yap -./share/postgresql/timezone/Pacific/Pohnpei -./share/postgresql/timezone/Pacific/Wake -./share/postgresql/timezone/Pacific/Ponape -./share/postgresql/timezone/Iran -./share/postgresql/timezone/Etc/GMT-4 -./share/postgresql/timezone/Etc/GMT-9 -./share/postgresql/timezone/Etc/UCT -./share/postgresql/timezone/Etc/GMT-7 -./share/postgresql/timezone/Etc/Greenwich -./share/postgresql/timezone/Etc/GMT-0 -./share/postgresql/timezone/Etc/GMT-5 -./share/postgresql/timezone/Etc/GMT0 -./share/postgresql/timezone/Etc/GMT+7 -./share/postgresql/timezone/Etc/GMT-2 -./share/postgresql/timezone/Etc/GMT-10 -./share/postgresql/timezone/Etc/GMT+6 -./share/postgresql/timezone/Etc/GMT+1 -./share/postgresql/timezone/Etc/UTC -./share/postgresql/timezone/Etc/GMT-3 -./share/postgresql/timezone/Etc/GMT-1 -./share/postgresql/timezone/Etc/GMT-8 -./share/postgresql/timezone/Etc/GMT-11 -./share/postgresql/timezone/Etc/GMT+12 -./share/postgresql/timezone/Etc/GMT+10 -./share/postgresql/timezone/Etc/GMT-12 -./share/postgresql/timezone/Etc/GMT+5 -./share/postgresql/timezone/Etc/Universal -./share/postgresql/timezone/Etc/GMT-13 -./share/postgresql/timezone/Etc/GMT-6 -./share/postgresql/timezone/Etc/GMT+9 -./share/postgresql/timezone/Etc/GMT+3 -./share/postgresql/timezone/Etc/GMT-14 -./share/postgresql/timezone/Etc/GMT+4 -./share/postgresql/timezone/Etc/Zulu -./share/postgresql/timezone/Etc/GMT+2 -./share/postgresql/timezone/Etc/GMT+0 -./share/postgresql/timezone/Etc/GMT+8 -./share/postgresql/timezone/Etc/GMT+11 -./share/postgresql/timezone/Etc/GMT -./share/postgresql/timezone/Zulu -./share/postgresql/timezone/GMT+0 -./share/postgresql/timezone/Singapore -./share/postgresql/timezone/NZ-CHAT -./share/postgresql/timezone/Cuba -./share/postgresql/timezone/GB -./share/postgresql/timezone/Arctic/Longyearbyen -./share/postgresql/timezone/MST7MDT -./share/postgresql/timezone/PRC -./share/postgresql/timezone/Canada/Eastern -./share/postgresql/timezone/Canada/Yukon -./share/postgresql/timezone/Canada/Atlantic -./share/postgresql/timezone/Canada/Newfoundland -./share/postgresql/timezone/Canada/Saskatchewan -./share/postgresql/timezone/Canada/Pacific -./share/postgresql/timezone/Canada/East-Saskatchewan -./share/postgresql/timezone/Canada/Mountain -./share/postgresql/timezone/Canada/Central -./share/postgresql/timezone/CST6CDT -./share/postgresql/timezone/HST -./share/postgresql/timezone/America/Boa_Vista -./share/postgresql/timezone/America/New_York -./share/postgresql/timezone/America/Santarem -./share/postgresql/timezone/America/Boise -./share/postgresql/timezone/America/St_Lucia -./share/postgresql/timezone/America/Mendoza -./share/postgresql/timezone/America/Mexico_City -./share/postgresql/timezone/America/Chihuahua -./share/postgresql/timezone/America/Indianapolis -./share/postgresql/timezone/America/Virgin -./share/postgresql/timezone/America/Atka -./share/postgresql/timezone/America/Winnipeg -./share/postgresql/timezone/America/Hermosillo -./share/postgresql/timezone/America/Indiana/Indianapolis -./share/postgresql/timezone/America/Indiana/Tell_City -./share/postgresql/timezone/America/Indiana/Winamac -./share/postgresql/timezone/America/Indiana/Knox -./share/postgresql/timezone/America/Indiana/Vincennes -./share/postgresql/timezone/America/Indiana/Vevay -./share/postgresql/timezone/America/Indiana/Petersburg -./share/postgresql/timezone/America/Indiana/Marengo -./share/postgresql/timezone/America/Moncton -./share/postgresql/timezone/America/Campo_Grande -./share/postgresql/timezone/America/Guyana -./share/postgresql/timezone/America/Caracas -./share/postgresql/timezone/America/Maceio -./share/postgresql/timezone/America/Godthab -./share/postgresql/timezone/America/Thunder_Bay -./share/postgresql/timezone/America/Havana -./share/postgresql/timezone/America/Santiago -./share/postgresql/timezone/America/Los_Angeles -./share/postgresql/timezone/America/Buenos_Aires -./share/postgresql/timezone/America/Manaus -./share/postgresql/timezone/America/Bahia -./share/postgresql/timezone/America/North_Dakota/New_Salem -./share/postgresql/timezone/America/North_Dakota/Beulah -./share/postgresql/timezone/America/North_Dakota/Center -./share/postgresql/timezone/America/Bahia_Banderas -./share/postgresql/timezone/America/Edmonton -./share/postgresql/timezone/America/Tegucigalpa -./share/postgresql/timezone/America/Rankin_Inlet -./share/postgresql/timezone/America/Monterrey -./share/postgresql/timezone/America/Cambridge_Bay -./share/postgresql/timezone/America/Porto_Velho -./share/postgresql/timezone/America/Antigua -./share/postgresql/timezone/America/Atikokan -./share/postgresql/timezone/America/Vancouver -./share/postgresql/timezone/America/Anchorage -./share/postgresql/timezone/America/Port-au-Prince -./share/postgresql/timezone/America/Lima -./share/postgresql/timezone/America/Grenada -./share/postgresql/timezone/America/Creston -./share/postgresql/timezone/America/La_Paz -./share/postgresql/timezone/America/Panama -./share/postgresql/timezone/America/Blanc-Sablon -./share/postgresql/timezone/America/Cayenne -./share/postgresql/timezone/America/Santo_Domingo -./share/postgresql/timezone/America/Grand_Turk -./share/postgresql/timezone/America/Toronto -./share/postgresql/timezone/America/Rainy_River -./share/postgresql/timezone/America/Merida -./share/postgresql/timezone/America/Port_of_Spain -./share/postgresql/timezone/America/Nipigon -./share/postgresql/timezone/America/Jamaica -./share/postgresql/timezone/America/Rosario -./share/postgresql/timezone/America/Dawson_Creek -./share/postgresql/timezone/America/Belize -./share/postgresql/timezone/America/Costa_Rica -./share/postgresql/timezone/America/Barbados -./share/postgresql/timezone/America/Danmarkshavn -./share/postgresql/timezone/America/Argentina/La_Rioja -./share/postgresql/timezone/America/Argentina/Mendoza -./share/postgresql/timezone/America/Argentina/Buenos_Aires -./share/postgresql/timezone/America/Argentina/Tucuman -./share/postgresql/timezone/America/Argentina/Ushuaia -./share/postgresql/timezone/America/Argentina/Catamarca -./share/postgresql/timezone/America/Argentina/ComodRivadavia -./share/postgresql/timezone/America/Argentina/Jujuy -./share/postgresql/timezone/America/Argentina/Cordoba -./share/postgresql/timezone/America/Argentina/San_Luis -./share/postgresql/timezone/America/Argentina/Rio_Gallegos -./share/postgresql/timezone/America/Argentina/Salta -./share/postgresql/timezone/America/Argentina/San_Juan -./share/postgresql/timezone/America/Pangnirtung -./share/postgresql/timezone/America/Anguilla -./share/postgresql/timezone/America/Curacao -./share/postgresql/timezone/America/Cancun -./share/postgresql/timezone/America/Montreal -./share/postgresql/timezone/America/Shiprock -./share/postgresql/timezone/America/Thule -./share/postgresql/timezone/America/Scoresbysund -./share/postgresql/timezone/America/Catamarca -./share/postgresql/timezone/America/Sao_Paulo -./share/postgresql/timezone/America/Sitka -./share/postgresql/timezone/America/Asuncion -./share/postgresql/timezone/America/Regina -./share/postgresql/timezone/America/St_Johns -./share/postgresql/timezone/America/Montevideo -./share/postgresql/timezone/America/Eirunepe -./share/postgresql/timezone/America/Denver -./share/postgresql/timezone/America/Metlakatla -./share/postgresql/timezone/America/Araguaina -./share/postgresql/timezone/America/Juneau -./share/postgresql/timezone/America/Marigot -./share/postgresql/timezone/America/Menominee -./share/postgresql/timezone/America/Glace_Bay -./share/postgresql/timezone/America/Tijuana -./share/postgresql/timezone/America/Detroit -./share/postgresql/timezone/America/Belem -./share/postgresql/timezone/America/Jujuy -./share/postgresql/timezone/America/St_Thomas -./share/postgresql/timezone/America/Resolute -./share/postgresql/timezone/America/Cuiaba -./share/postgresql/timezone/America/Halifax -./share/postgresql/timezone/America/St_Barthelemy -./share/postgresql/timezone/America/Guatemala -./share/postgresql/timezone/America/Nassau -./share/postgresql/timezone/America/St_Kitts -./share/postgresql/timezone/America/Cordoba -./share/postgresql/timezone/America/Miquelon -./share/postgresql/timezone/America/Bogota -./share/postgresql/timezone/America/Rio_Branco -./share/postgresql/timezone/America/Ensenada -./share/postgresql/timezone/America/Yakutat -./share/postgresql/timezone/America/Noronha -./share/postgresql/timezone/America/Kentucky/Monticello -./share/postgresql/timezone/America/Kentucky/Louisville -./share/postgresql/timezone/America/Porto_Acre -./share/postgresql/timezone/America/Santa_Isabel -./share/postgresql/timezone/America/El_Salvador -./share/postgresql/timezone/America/Yellowknife -./share/postgresql/timezone/America/Cayman -./share/postgresql/timezone/America/Whitehorse -./share/postgresql/timezone/America/Ojinaga -./share/postgresql/timezone/America/Aruba -./share/postgresql/timezone/America/Nome -./share/postgresql/timezone/America/Fortaleza -./share/postgresql/timezone/America/Martinique -./share/postgresql/timezone/America/Recife -./share/postgresql/timezone/America/Knox_IN -./share/postgresql/timezone/America/Guayaquil -./share/postgresql/timezone/America/Goose_Bay -./share/postgresql/timezone/America/Iqaluit -./share/postgresql/timezone/America/Matamoros -./share/postgresql/timezone/America/Lower_Princes -./share/postgresql/timezone/America/Louisville -./share/postgresql/timezone/America/Coral_Harbour -./share/postgresql/timezone/America/Phoenix -./share/postgresql/timezone/America/Guadeloupe -./share/postgresql/timezone/America/Mazatlan -./share/postgresql/timezone/America/Swift_Current -./share/postgresql/timezone/America/Paramaribo -./share/postgresql/timezone/America/Dominica -./share/postgresql/timezone/America/Kralendijk -./share/postgresql/timezone/America/Montserrat -./share/postgresql/timezone/America/St_Vincent -./share/postgresql/timezone/America/Fort_Wayne -./share/postgresql/timezone/America/Dawson -./share/postgresql/timezone/America/Inuvik -./share/postgresql/timezone/America/Adak -./share/postgresql/timezone/America/Managua -./share/postgresql/timezone/America/Puerto_Rico -./share/postgresql/timezone/America/Tortola -./share/postgresql/timezone/America/Chicago -./share/postgresql/timezone/Africa/Lome -./share/postgresql/timezone/Africa/Brazzaville -./share/postgresql/timezone/Africa/Khartoum -./share/postgresql/timezone/Africa/Ceuta -./share/postgresql/timezone/Africa/Djibouti -./share/postgresql/timezone/Africa/Lagos -./share/postgresql/timezone/Africa/Accra -./share/postgresql/timezone/Africa/El_Aaiun -./share/postgresql/timezone/Africa/Malabo -./share/postgresql/timezone/Africa/Windhoek -./share/postgresql/timezone/Africa/Tripoli -./share/postgresql/timezone/Africa/Bissau -./share/postgresql/timezone/Africa/Blantyre -./share/postgresql/timezone/Africa/Kinshasa -./share/postgresql/timezone/Africa/Porto-Novo -./share/postgresql/timezone/Africa/Nairobi -./share/postgresql/timezone/Africa/Ouagadougou -./share/postgresql/timezone/Africa/Asmera -./share/postgresql/timezone/Africa/Cairo -./share/postgresql/timezone/Africa/Lubumbashi -./share/postgresql/timezone/Africa/Tunis -./share/postgresql/timezone/Africa/Dar_es_Salaam -./share/postgresql/timezone/Africa/Casablanca -./share/postgresql/timezone/Africa/Algiers -./share/postgresql/timezone/Africa/Mbabane -./share/postgresql/timezone/Africa/Monrovia -./share/postgresql/timezone/Africa/Nouakchott -./share/postgresql/timezone/Africa/Banjul -./share/postgresql/timezone/Africa/Kampala -./share/postgresql/timezone/Africa/Conakry -./share/postgresql/timezone/Africa/Mogadishu -./share/postgresql/timezone/Africa/Ndjamena -./share/postgresql/timezone/Africa/Niamey -./share/postgresql/timezone/Africa/Lusaka -./share/postgresql/timezone/Africa/Addis_Ababa -./share/postgresql/timezone/Africa/Sao_Tome -./share/postgresql/timezone/Africa/Abidjan -./share/postgresql/timezone/Africa/Harare -./share/postgresql/timezone/Africa/Asmara -./share/postgresql/timezone/Africa/Douala -./share/postgresql/timezone/Africa/Freetown -./share/postgresql/timezone/Africa/Libreville -./share/postgresql/timezone/Africa/Luanda -./share/postgresql/timezone/Africa/Maseru -./share/postgresql/timezone/Africa/Gaborone -./share/postgresql/timezone/Africa/Maputo -./share/postgresql/timezone/Africa/Timbuktu -./share/postgresql/timezone/Africa/Bangui -./share/postgresql/timezone/Africa/Bamako -./share/postgresql/timezone/Africa/Dakar -./share/postgresql/timezone/Africa/Juba -./share/postgresql/timezone/Africa/Bujumbura -./share/postgresql/timezone/Africa/Johannesburg -./share/postgresql/timezone/Africa/Kigali -./share/postgresql/timezone/Eire -./share/postgresql/timezone/Europe/Vaduz -./share/postgresql/timezone/Europe/Podgorica -./share/postgresql/timezone/Europe/Rome -./share/postgresql/timezone/Europe/Vienna -./share/postgresql/timezone/Europe/Dublin -./share/postgresql/timezone/Europe/Zurich -./share/postgresql/timezone/Europe/London -./share/postgresql/timezone/Europe/Monaco -./share/postgresql/timezone/Europe/Sofia -./share/postgresql/timezone/Europe/Uzhgorod -./share/postgresql/timezone/Europe/Minsk -./share/postgresql/timezone/Europe/Malta -./share/postgresql/timezone/Europe/Busingen -./share/postgresql/timezone/Europe/Gibraltar -./share/postgresql/timezone/Europe/Volgograd -./share/postgresql/timezone/Europe/Budapest -./share/postgresql/timezone/Europe/Vatican -./share/postgresql/timezone/Europe/Luxembourg -./share/postgresql/timezone/Europe/Chisinau -./share/postgresql/timezone/Europe/Nicosia -./share/postgresql/timezone/Europe/Warsaw -./share/postgresql/timezone/Europe/San_Marino -./share/postgresql/timezone/Europe/Copenhagen -./share/postgresql/timezone/Europe/Ljubljana -./share/postgresql/timezone/Europe/Athens -./share/postgresql/timezone/Europe/Skopje -./share/postgresql/timezone/Europe/Andorra -./share/postgresql/timezone/Europe/Kaliningrad -./share/postgresql/timezone/Europe/Amsterdam -./share/postgresql/timezone/Europe/Guernsey -./share/postgresql/timezone/Europe/Isle_of_Man -./share/postgresql/timezone/Europe/Tirane -./share/postgresql/timezone/Europe/Jersey -./share/postgresql/timezone/Europe/Madrid -./share/postgresql/timezone/Europe/Helsinki -./share/postgresql/timezone/Europe/Riga -./share/postgresql/timezone/Europe/Zagreb -./share/postgresql/timezone/Europe/Bratislava -./share/postgresql/timezone/Europe/Prague -./share/postgresql/timezone/Europe/Tallinn -./share/postgresql/timezone/Europe/Stockholm -./share/postgresql/timezone/Europe/Tiraspol -./share/postgresql/timezone/Europe/Belgrade -./share/postgresql/timezone/Europe/Bucharest -./share/postgresql/timezone/Europe/Vilnius -./share/postgresql/timezone/Europe/Sarajevo -./share/postgresql/timezone/Europe/Belfast -./share/postgresql/timezone/Europe/Zaporozhye -./share/postgresql/timezone/Europe/Oslo -./share/postgresql/timezone/Europe/Mariehamn -./share/postgresql/timezone/Europe/Moscow -./share/postgresql/timezone/Europe/Brussels -./share/postgresql/timezone/Europe/Paris -./share/postgresql/timezone/Europe/Istanbul -./share/postgresql/timezone/Europe/Simferopol -./share/postgresql/timezone/Europe/Lisbon -./share/postgresql/timezone/Europe/Berlin -./share/postgresql/timezone/Europe/Kiev -./share/postgresql/timezone/Europe/Samara -./share/postgresql/timezone/MST -./share/postgresql/timezone/Asia/Khandyga -./share/postgresql/timezone/Asia/Manila -./share/postgresql/timezone/Asia/Novokuznetsk -./share/postgresql/timezone/Asia/Baghdad -./share/postgresql/timezone/Asia/Macau -./share/postgresql/timezone/Asia/Urumqi -./share/postgresql/timezone/Asia/Ujung_Pandang -./share/postgresql/timezone/Asia/Ulan_Bator -./share/postgresql/timezone/Asia/Bishkek -./share/postgresql/timezone/Asia/Qatar -./share/postgresql/timezone/Asia/Qyzylorda -./share/postgresql/timezone/Asia/Calcutta -./share/postgresql/timezone/Asia/Riyadh87 -./share/postgresql/timezone/Asia/Dushanbe -./share/postgresql/timezone/Asia/Yekaterinburg -./share/postgresql/timezone/Asia/Dhaka -./share/postgresql/timezone/Asia/Jakarta -./share/postgresql/timezone/Asia/Shanghai -./share/postgresql/timezone/Asia/Ulaanbaatar -./share/postgresql/timezone/Asia/Jerusalem -./share/postgresql/timezone/Asia/Ashkhabad -./share/postgresql/timezone/Asia/Tokyo -./share/postgresql/timezone/Asia/Macao -./share/postgresql/timezone/Asia/Krasnoyarsk -./share/postgresql/timezone/Asia/Saigon -./share/postgresql/timezone/Asia/Omsk -./share/postgresql/timezone/Asia/Damascus -./share/postgresql/timezone/Asia/Phnom_Penh -./share/postgresql/timezone/Asia/Bangkok -./share/postgresql/timezone/Asia/Kamchatka -./share/postgresql/timezone/Asia/Choibalsan -./share/postgresql/timezone/Asia/Ust-Nera -./share/postgresql/timezone/Asia/Aden -./share/postgresql/timezone/Asia/Vientiane -./share/postgresql/timezone/Asia/Sakhalin -./share/postgresql/timezone/Asia/Ashgabat -./share/postgresql/timezone/Asia/Katmandu -./share/postgresql/timezone/Asia/Almaty -./share/postgresql/timezone/Asia/Baku -./share/postgresql/timezone/Asia/Nicosia -./share/postgresql/timezone/Asia/Riyadh88 -./share/postgresql/timezone/Asia/Kashgar -./share/postgresql/timezone/Asia/Riyadh89 -./share/postgresql/timezone/Asia/Taipei -./share/postgresql/timezone/Asia/Tehran -./share/postgresql/timezone/Asia/Kabul -./share/postgresql/timezone/Asia/Samarkand -./share/postgresql/timezone/Asia/Kuala_Lumpur -./share/postgresql/timezone/Asia/Tashkent -./share/postgresql/timezone/Asia/Thimbu -./share/postgresql/timezone/Asia/Thimphu -./share/postgresql/timezone/Asia/Yerevan -./share/postgresql/timezone/Asia/Chungking -./share/postgresql/timezone/Asia/Hebron -./share/postgresql/timezone/Asia/Karachi -./share/postgresql/timezone/Asia/Kolkata -./share/postgresql/timezone/Asia/Aqtobe -./share/postgresql/timezone/Asia/Muscat -./share/postgresql/timezone/Asia/Hong_Kong -./share/postgresql/timezone/Asia/Chongqing -./share/postgresql/timezone/Asia/Oral -./share/postgresql/timezone/Asia/Pontianak -./share/postgresql/timezone/Asia/Colombo -./share/postgresql/timezone/Asia/Pyongyang -./share/postgresql/timezone/Asia/Hovd -./share/postgresql/timezone/Asia/Kuwait -./share/postgresql/timezone/Asia/Anadyr -./share/postgresql/timezone/Asia/Kathmandu -./share/postgresql/timezone/Asia/Irkutsk -./share/postgresql/timezone/Asia/Bahrain -./share/postgresql/timezone/Asia/Dubai -./share/postgresql/timezone/Asia/Jayapura -./share/postgresql/timezone/Asia/Riyadh -./share/postgresql/timezone/Asia/Ho_Chi_Minh -./share/postgresql/timezone/Asia/Singapore -./share/postgresql/timezone/Asia/Tel_Aviv -./share/postgresql/timezone/Asia/Dili -./share/postgresql/timezone/Asia/Rangoon -./share/postgresql/timezone/Asia/Harbin -./share/postgresql/timezone/Asia/Yakutsk -./share/postgresql/timezone/Asia/Magadan -./share/postgresql/timezone/Asia/Amman -./share/postgresql/timezone/Asia/Kuching -./share/postgresql/timezone/Asia/Novosibirsk -./share/postgresql/timezone/Asia/Seoul -./share/postgresql/timezone/Asia/Dacca -./share/postgresql/timezone/Asia/Vladivostok -./share/postgresql/timezone/Asia/Istanbul -./share/postgresql/timezone/Asia/Beirut -./share/postgresql/timezone/Asia/Aqtau -./share/postgresql/timezone/Asia/Brunei -./share/postgresql/timezone/Asia/Gaza -./share/postgresql/timezone/Asia/Tbilisi -./share/postgresql/timezone/Asia/Makassar -./share/postgresql/timezone/Asia/Beijing -./share/postgresql/timezone/Navajo -./share/postgresql/timezone/GMT -./share/postgresql/system_views.sql -./share/postgresql/performance_views.sql -./share/postgresql/sql_features.txt -./share/postgresql/pg_cast_oid.txt -./share/postgresql/recovery.conf.sample -./share/postgresql/cm_server.conf.sample -./share/postgresql/cm_agent.conf.sample -./share/postgresql/tsearch_data/english.stop -./share/postgresql/tsearch_data/dutch.stop -./share/postgresql/tsearch_data/hungarian.stop -./share/postgresql/tsearch_data/french.stop -./share/postgresql/tsearch_data/synonym_sample.syn -./share/postgresql/tsearch_data/turkish.stop -./share/postgresql/tsearch_data/portuguese.stop -./share/postgresql/tsearch_data/spanish.stop -./share/postgresql/tsearch_data/hunspell_sample.affix -./share/postgresql/tsearch_data/ispell_sample.affix -./share/postgresql/tsearch_data/danish.stop -./share/postgresql/tsearch_data/german.stop -./share/postgresql/tsearch_data/thesaurus_sample.ths -./share/postgresql/tsearch_data/norwegian.stop -./share/postgresql/tsearch_data/finnish.stop -./share/postgresql/tsearch_data/russian.stop -./share/postgresql/tsearch_data/swedish.stop -./share/postgresql/tsearch_data/ispell_sample.dict -./share/postgresql/tsearch_data/italian.stop -./share/postgresql/information_schema.sql -./share/postgresql/timezonesets/Antarctica.txt -./share/postgresql/timezonesets/Australia.txt -./share/postgresql/timezonesets/Europe.txt -./share/postgresql/timezonesets/America.txt -./share/postgresql/timezonesets/Australia -./share/postgresql/timezonesets/Indian.txt -./share/postgresql/timezonesets/India -./share/postgresql/timezonesets/Pacific.txt -./share/postgresql/timezonesets/Atlantic.txt -./share/postgresql/timezonesets/Africa.txt -./share/postgresql/timezonesets/Asia.txt -./share/postgresql/timezonesets/Default -./share/postgresql/timezonesets/Etc.txt -./share/postgresql/postgres.bki -./share/llvmir/GaussDB_expr.ir -./share/sslcert/gsql/openssl.cnf -./share/sslcert/grpc/openssl.cnf -./lib/libsimsearch/ -./lib/postgresql/latin2_and_win1250.so -./lib/postgresql/euc2004_sjis2004.so -./lib/postgresql/euc_kr_and_mic.so -./lib/postgresql/utf8_and_uhc.so -./lib/postgresql/euc_tw_and_big5.so -./lib/postgresql/cyrillic_and_mic.so -./lib/postgresql/utf8_and_johab.so -./lib/postgresql/utf8_and_gb18030.so -./lib/postgresql/pgxs/src/makefiles/pgxs.mk -./lib/postgresql/pgxs/src/Makefile.shlib -./lib/postgresql/pgxs/src/Makefile.port -./lib/postgresql/pgxs/src/nls-global.mk -./lib/postgresql/pgxs/src/Makefile.global -./lib/postgresql/pgxs/config/install-sh -./lib/postgresql/euc_cn_and_mic.so -./lib/postgresql/latin_and_mic.so -./lib/postgresql/utf8_and_sjis2004.so -./lib/postgresql/utf8_and_euc_jp.so -./lib/postgresql/utf8_and_sjis.so -./lib/postgresql/utf8_and_cyrillic.so -./lib/postgresql/hstore.so -./lib/postgresql/tsdb.so -./lib/postgresql/packages.so -./lib/postgresql/utf8_and_euc_kr.so -./lib/postgresql/ascii_and_mic.so -./lib/postgresql/utf8_and_iso8859_1.so -./lib/postgresql/euc_jp_and_sjis.so -./lib/postgresql/dict_snowball.so -./lib/postgresql/utf8_and_ascii.so -./lib/postgresql/utf8_and_euc_tw.so -./lib/postgresql/utf8_and_iso8859.so -./lib/postgresql/utf8_and_win.so -./lib/postgresql/utf8_and_euc_cn.so -./lib/postgresql/utf8_and_gbk.so -./lib/postgresql/utf8_and_euc2004.so -./lib/postgresql/utf8_and_big5.so -./lib/postgresql/mppdb_decoding.so -./lib/postgresql/gsredistribute.so -./lib/postgresql/dimsearch.so -./lib/postgresql/pg_plugin -./lib/postgresql/proc_srclib -./lib/postgresql/security_plugin.so -./lib/postgresql/pg_upgrade_support.so -./lib/postgresql/java/pljava.jar -./lib/postgresql/postgres_fdw.so -./lib/libpljava.so -./lib/libpq.a -./lib/libpq.so -./lib/libpq.so.5 -./lib/libpq.so.5.5 -./lib/libcgroup.so -./lib/libcgroup.so.1 -./lib/libcom_err_gauss.so -./lib/libcom_err_gauss.so.3 -./lib/libcom_err_gauss.so.3.0 -./lib/libgpr.so -./lib/libgpr.so.9 -./lib/libgpr.so.9.0.0 -./lib/libgrpc.so -./lib/libgrpc++.so -./lib/libgrpc++.so.1 -./lib/libgrpc++.so.1.28.1 -./lib/libgrpc.so.9 -./lib/libgrpc.so.9.0.0 -./lib/libupb.so -./lib/libupb.so.9 -./lib/libupb.so.9.0.0 -./lib/libabsl_str_format_internal.so -./lib/libabsl_strings.so -./lib/libabsl_throw_delegate.so -./lib/libabsl_strings_internal.so -./lib/libabsl_base.so -./lib/libabsl_dynamic_annotations.so -./lib/libabsl_spinlock_wait.so -./lib/libabsl_int128.so -./lib/libabsl_bad_optional_access.so -./lib/libabsl_raw_logging_internal.so -./lib/libabsl_log_severity.so -./lib/libaddress_sorting.so -./lib/libaddress_sorting.so.9 -./lib/libgssapi_krb5_gauss.so -./lib/libgssapi_krb5_gauss.so.2 -./lib/libgssapi_krb5_gauss.so.2.2 -./lib/libgssrpc_gauss.so -./lib/libgssrpc_gauss.so.4 -./lib/libgssrpc_gauss.so.4.2 -./lib/libk5crypto_gauss.so -./lib/libk5crypto_gauss.so.3 -./lib/libk5crypto_gauss.so.3.1 -./lib/libkadm5clnt.so -./lib/libkadm5clnt_mit.so -./lib/libkadm5clnt_mit.so.11 -./lib/libkadm5clnt_mit.so.11.0 -./lib/libkadm5srv.so -./lib/libkadm5srv_mit.so -./lib/libkadm5srv_mit.so.11 -./lib/libkadm5srv_mit.so.11.0 -./lib/libkdb5.so -./lib/libkdb5.so.9 -./lib/libkdb5.so.9.0 -./lib/libkrad.so -./lib/libkrad.so.0 -./lib/libkrad.so.0.0 -./lib/libkrb5_gauss.so -./lib/libkrb5_gauss.so.3 -./lib/libkrb5_gauss.so.3.3 -./lib/libkrb5support_gauss.so -./lib/libkrb5support_gauss.so.0 -./lib/libkrb5support_gauss.so.0.1 -./lib/krb5/plugins/kdb/db2.so -./lib/libverto.so -./lib/libverto.so.0 -./lib/libverto.so.0.0 -./lib/libcrypto.so -./lib/libcrypto.so.1.1 -./lib/libssl.so -./lib/libssl.so.1.1 -./lib/libgcc_s.so.1 -./lib/libstdc++.so.6 -./lib/libz.so -./lib/libz.so.1 -./lib/libz.so.1.2.11 -./lib/liblz4.so -./lib/liblz4.so.1 -./lib/liblz4.so.1.9.2 -./lib/libcjson.so -./lib/libcjson.so.1 -./lib/libcjson.so.1.7.13 -./lib/libconfig.so -./lib/libconfig.so.4 -./lib/libpgport_tool.so -./lib/libpgport_tool.so.1 -./share/llvmir/GaussDB_expr.ir -./lib/libeSDKLogAPI.so -./lib/libeSDKOBS.so -./lib/liblog4cpp.so -./lib/liblog4cpp.so.5 -./lib/liblog4cpp.so.5.0.6 -./lib/libcharset.so -./lib/libcharset.so.1 -./lib/libcharset.so.1.0.0 -./lib/libiconv.so -./lib/libiconv.so.2 -./lib/libiconv.so.2.6.1 -./lib/libnghttp2.so -./lib/libnghttp2.so.14 -./lib/libnghttp2.so.14.18.0 -./lib/libpcre.so -./lib/libpcre.so.1 -./lib/libpcre.so.1.2.12 -./lib/libsecurec.so -./lib/libxml2.so -./lib/libxml2.so.2 -./lib/libxml2.so.2.9.9 -./lib/libparquet.so -./lib/libparquet.so.11 -./lib/libparquet.so.11.1.0 -./lib/OBS.ini -./lib/postgresql/latin2_and_win1250.so -./lib/postgresql/euc2004_sjis2004.so -./lib/libhll.so - - -./include/postgresql/server/postgres_ext.h -./include/postgresql/server/pg_config_os.h -./include/postgresql/server/pgtime.h -./include/postgresql/server/nodes/primnodes.h -./include/postgresql/server/nodes/parsenodes.h -./include/postgresql/server/nodes/bitmapset.h -./include/postgresql/server/nodes/pg_list.h -./include/postgresql/server/nodes/value.h -./include/postgresql/server/nodes/nodes.h -./include/postgresql/server/utils/sortsupport.h -./include/postgresql/server/utils/varbit.h -./include/postgresql/server/utils/spccache.h -./include/postgresql/server/utils/rangetypes.h -./include/postgresql/server/utils/plpgsql.h -./include/postgresql/server/utils/memtrack.h -./include/postgresql/server/utils/pg_locale.h -./include/postgresql/server/utils/tzparser.h -./include/postgresql/server/utils/syscall_lock.h -./include/postgresql/server/utils/partitionmap.h -./include/postgresql/server/utils/array.h -./include/postgresql/server/utils/relmapper.h -./include/postgresql/server/utils/hsearch.h -./include/postgresql/server/utils/xml.h -./include/postgresql/server/utils/bytea.h -./include/postgresql/server/utils/relcache.h -./include/postgresql/server/utils/pg_rusage.h -./include/postgresql/server/utils/numeric.h -./include/postgresql/server/utils/mmpool.h -./include/postgresql/server/utils/nabstime.h -./include/postgresql/server/utils/fmgrtab.h -./include/postgresql/server/utils/snapmgr.h -./include/postgresql/server/utils/syscache.h -./include/postgresql/server/utils/logtape.h -./include/postgresql/server/utils/datum.h -./include/postgresql/server/utils/guc_tables.h -./include/postgresql/server/utils/snapshot.h -./include/postgresql/server/utils/geo_decls.h -./include/postgresql/server/utils/errcodes.h -./include/postgresql/server/utils/inval.h -./include/postgresql/server/utils/help_config.h -./include/postgresql/server/utils/distribute_test.h -./include/postgresql/server/utils/aiomem.h -./include/postgresql/server/utils/tuplestore.h -./include/postgresql/server/utils/rbtree.h -./include/postgresql/server/utils/gs_bitmap.h -./include/postgresql/server/utils/tuplesort.h -./include/postgresql/server/utils/tqual.h -./include/postgresql/server/utils/ps_status.h -./include/postgresql/server/utils/palloc.h -./include/postgresql/server/utils/reltrigger.h -./include/postgresql/server/utils/acl.h -./include/postgresql/server/utils/ascii.h -./include/postgresql/server/utils/selfuncs.h -./include/postgresql/server/utils/json.h -./include/postgresql/server/utils/portal.h -./include/postgresql/server/utils/atomic.h -./include/postgresql/server/utils/elog.h -./include/postgresql/server/utils/date.h -./include/postgresql/server/utils/plancache.h -./include/postgresql/server/utils/int8.h -./include/postgresql/server/utils/timestamp.h -./include/postgresql/server/utils/bloom_filter.h -./include/postgresql/server/utils/fmgroids.h -./include/postgresql/server/utils/pg_crc_tables.h -./include/postgresql/server/utils/probes.h -./include/postgresql/server/utils/datetime.h -./include/postgresql/server/utils/inet.h -./include/postgresql/server/utils/pg_lzcompress.h -./include/postgresql/server/utils/pg_crc.h -./include/postgresql/server/utils/attoptcache.h -./include/postgresql/server/utils/dynahash.h -./include/postgresql/server/utils/rel.h -./include/postgresql/server/utils/partcache.h -./include/postgresql/server/utils/lsyscache.h -./include/postgresql/server/utils/memutils.h -./include/postgresql/server/utils/memprot.h -./include/postgresql/server/utils/uuid.h -./include/postgresql/server/utils/combocid.h -./include/postgresql/server/utils/builtins.h -./include/postgresql/server/utils/guc.h -./include/postgresql/server/utils/dfs_vector.h -./include/postgresql/server/utils/dynamic_loader.h -./include/postgresql/server/utils/resowner.h -./include/postgresql/server/utils/aes.h -./include/postgresql/server/utils/cash.h -./include/postgresql/server/utils/typcache.h -./include/postgresql/server/utils/formatting.h -./include/postgresql/server/utils/partitionkey.h -./include/postgresql/server/utils/aset.h -./include/postgresql/server/utils/catcache.h -./include/postgresql/server/utils/atomic_arm.h -./include/postgresql/server/datatype/timestamp.h -./include/postgresql/server/access/rmgr.h -./include/postgresql/server/access/xlogreader.h -./include/postgresql/server/access/xlog_basic.h -./include/postgresql/server/access/tupdesc.h -./include/postgresql/server/access/rmgrlist.h -./include/postgresql/server/access/htup.h -./include/postgresql/server/access/xlogdefs.h -./include/postgresql/server/access/attnum.h -./include/postgresql/server/access/tupmacs.h -./include/postgresql/server/access/xlogrecord.h -./include/postgresql/server/tcop/dest.h -./include/postgresql/server/catalog/pg_type.h -./include/postgresql/server/catalog/pg_attribute.h -./include/postgresql/server/catalog/genbki.h -./include/postgresql/server/gs_thread.h -./include/postgresql/server/port/pg_bswap.h -./include/postgresql/server/port/pg_crc32c.h -./include/postgresql/server/securec.h -./include/postgresql/server/securectype.h -./include/postgresql/server/storage/off.h -./include/postgresql/server/storage/buf/block.h -./include/postgresql/server/storage/item/item.h -./include/postgresql/server/storage/relfilenode.h -./include/postgresql/server/storage/buf/bufpage.h -./include/postgresql/server/storage/spin.h -./include/postgresql/server/storage/buf/buf.h -./include/postgresql/server/storage/item/itemid.h -./include/postgresql/server/storage/lock/pg_sema.h -./include/postgresql/server/storage/item/itemptr.h -./include/postgresql/server/storage/lock/s_lock.h -./include/postgresql/server/storage/backendid.h -./include/postgresql/server/storage/lock/lock.h -./include/postgresql/server/storage/lock/lwlock.h -./include/postgresql/server/storage/barrier.h -./include/postgresql/server/storage/shmem.h -./include/postgresql/server/pg_config.h -./include/postgresql/server/lib/stringinfo.h -./include/postgresql/server/fmgr.h -./include/postgresql/server/fmgr/fmgr_comp.h -./include/postgresql/server/fmgr/fmgr_core.h -./include/postgresql/server/gs_threadlocal.h -./include/postgresql/server/postgres.h -./include/postgresql/server/executor/tuptable.h -./include/postgresql/server/pg_config_manual.h -./include/postgresql/server/mb/pg_wchar.h -./include/postgresql/server/c.h -./include/postgresql/server/port.h -./include/postgresql/server/utils/be_module.h -./include/postgresql/server/nodes/params.h -./include/postgresql/server/securec_check.h -./include/postgresql/server/nodes/memnodes.h -./include/postgresql/server/access/skey.h -./include/postgresql/server/lib/dllist.h -./include/postgresql/server/lib/ilist.h -./include/postgresql/server/pgxc/locator.h -./include/postgresql/server/gstrace/gstrace_infra.h -./include/postgresql/server/extension_dependency.h -./jre/ASSEMBLY_EXCEPTION -./jre/bin/java -./jre/bin/jjs -./jre/bin/keytool -./jre/bin/orbd -./jre/bin/pack200 -./jre/bin/policytool -./jre/bin/rmid -./jre/bin/rmiregistry -./jre/bin/servertool -./jre/bin/tnameserv -./jre/bin/unpack200 -./jre/lib/aarch64/jli/libjli.so -./jre/lib/aarch64/jvm.cfg -./jre/lib/aarch64/libattach.so -./jre/lib/aarch64/libavplugin-ffmpeg-58.so -./jre/lib/aarch64/libawt_headless.so -./jre/lib/aarch64/libawt.so -./jre/lib/aarch64/libawt_xawt.so -./jre/lib/aarch64/libdecora_sse.so -./jre/lib/aarch64/libdt_socket.so -./jre/lib/aarch64/libfontmanager.so -./jre/lib/aarch64/libfxplugins.so -./jre/lib/aarch64/libglassgtk2.so -./jre/lib/aarch64/libglassgtk3.so -./jre/lib/aarch64/libglass.so -./jre/lib/aarch64/libgstreamer-lite.so -./jre/lib/aarch64/libhprof.so -./jre/lib/aarch64/libinstrument.so -./jre/lib/aarch64/libj2gss.so -./jre/lib/aarch64/libj2pcsc.so -./jre/lib/aarch64/libj2pkcs11.so -./jre/lib/aarch64/libjaas_unix.so -./jre/lib/aarch64/libjava_crw_demo.so -./jre/lib/aarch64/libjavafx_font_freetype.so -./jre/lib/aarch64/libjavafx_font_pango.so -./jre/lib/aarch64/libjavafx_font.so -./jre/lib/aarch64/libjavafx_iio.so -./jre/lib/aarch64/libjava.so -./jre/lib/aarch64/libjawt.so -./jre/lib/aarch64/libjdwp.so -./jre/lib/aarch64/libjfxmedia.so -./jre/lib/aarch64/libjfxwebkit.so -./jre/lib/aarch64/libjpeg.so -./jre/lib/aarch64/libjsdt.so -./jre/lib/aarch64/libjsig.so -./jre/lib/aarch64/libjsoundalsa.so -./jre/lib/aarch64/libjsound.so -./jre/lib/aarch64/liblcms.so -./jre/lib/aarch64/libmanagement.so -./jre/lib/aarch64/libmlib_image.so -./jre/lib/aarch64/libnet.so -./jre/lib/aarch64/libnio.so -./jre/lib/aarch64/libnpt.so -./jre/lib/aarch64/libprism_common.so -./jre/lib/aarch64/libprism_es2.so -./jre/lib/aarch64/libprism_sw.so -./jre/lib/aarch64/libsaproc.so -./jre/lib/aarch64/libsctp.so -./jre/lib/aarch64/libsplashscreen.so -./jre/lib/aarch64/libsunec.so -./jre/lib/aarch64/libunpack.so -./jre/lib/aarch64/libverify.so -./jre/lib/aarch64/libzip.so -./jre/lib/aarch64/server/libjvm.so -./jre/lib/aarch64/server/Xusage.txt -./jre/lib/calendars.properties -./jre/lib/charsets.jar -./jre/lib/classlist -./jre/lib/cmm/CIEXYZ.pf -./jre/lib/cmm/GRAY.pf -./jre/lib/cmm/LINEAR_RGB.pf -./jre/lib/cmm/PYCC.pf -./jre/lib/cmm/sRGB.pf -./jre/lib/content-types.properties -./jre/lib/currency.data -./jre/lib/ext/cldrdata.jar -./jre/lib/ext/dnsns.jar -./jre/lib/ext/jaccess.jar -./jre/lib/ext/jfxrt.jar -./jre/lib/ext/localedata.jar -./jre/lib/ext/meta-index -./jre/lib/ext/nashorn.jar -./jre/lib/ext/sunec.jar -./jre/lib/ext/sunjce_provider.jar -./jre/lib/ext/sunpkcs11.jar -./jre/lib/ext/zipfs.jar -./jre/lib/flavormap.properties -./jre/lib/fontconfig.Euler.properties -./jre/lib/fontconfig.properties -./jre/lib/fontconfig.Ubuntu.properties -./jre/lib/fonts/Roboto-Regular.ttf -./jre/lib/hijrah-config-umalqura.properties -./jre/lib/images/cursors/cursors.properties -./jre/lib/images/cursors/invalid32x32.gif -./jre/lib/images/cursors/motif_CopyDrop32x32.gif -./jre/lib/images/cursors/motif_CopyNoDrop32x32.gif -./jre/lib/images/cursors/motif_LinkDrop32x32.gif -./jre/lib/images/cursors/motif_LinkNoDrop32x32.gif -./jre/lib/images/cursors/motif_MoveDrop32x32.gif -./jre/lib/images/cursors/motif_MoveNoDrop32x32.gif -./jre/lib/javafx-mx.jar -./jre/lib/javafx.properties -./jre/lib/jce.jar -./jre/lib/jexec -./jre/lib/jfr/default.jfc -./jre/lib/jfr.jar -./jre/lib/jfr/profile.jfc -./jre/lib/jfxswt.jar -./jre/lib/jsse.jar -./jre/lib/jvm.hprof.txt -./jre/lib/logging.properties -./jre/lib/management-agent.jar -./jre/lib/management/jmxremote.access -./jre/lib/management/jmxremote.password.template -./jre/lib/management/management.properties -./jre/lib/management/snmp.acl.template -./jre/lib/meta-index -./jre/lib/net.properties -./jre/lib/psfontj2d.properties -./jre/lib/psfont.properties.ja -./jre/lib/resources.jar -./jre/lib/rt.jar -./jre/lib/security/blacklisted.certs -./jre/lib/security/cacerts -./jre/lib/security/java.policy -./jre/lib/security/java.security -./jre/lib/security/policy/limited/local_policy.jar -./jre/lib/security/policy/limited/US_export_policy.jar -./jre/lib/security/policy/unlimited/local_policy.jar -./jre/lib/security/policy/unlimited/US_export_policy.jar -./jre/lib/sound.properties -./jre/lib/tzdb.dat -./jre/LICENSE -./jre/THIRD_PARTY_README -[client] -./bin/gsql -./bin/gs_dump -./bin/gs_dumpall -./bin/gs_restore -./jdbc/gsjdbc4.jar -./jdbc/gsjdbc200.jar -./lib/postgresql/latin2_and_win1250.so -./lib/postgresql/euc2004_sjis2004.so -./lib/postgresql/euc_kr_and_mic.so -./lib/postgresql/utf8_and_uhc.so -./lib/postgresql/euc_tw_and_big5.so -./lib/postgresql/cyrillic_and_mic.so -./lib/postgresql/utf8_and_johab.so -./lib/postgresql/utf8_and_gb18030.so -./lib/postgresql/pgxs/src/makefiles/pgxs.mk -./lib/postgresql/pgxs/src/Makefile.shlib -./lib/postgresql/pgxs/src/Makefile.port -./lib/postgresql/pgxs/src/nls-global.mk -./lib/postgresql/pgxs/src/Makefile.global -./lib/postgresql/pgxs/config/install-sh -./lib/postgresql/euc_cn_and_mic.so -./lib/postgresql/latin_and_mic.so -./lib/postgresql/utf8_and_sjis2004.so -./lib/postgresql/utf8_and_euc_jp.so -./lib/postgresql/utf8_and_sjis.so -./lib/postgresql/utf8_and_cyrillic.so -./lib/postgresql/utf8_and_euc_kr.so -./lib/postgresql/ascii_and_mic.so -./lib/postgresql/utf8_and_iso8859_1.so -./lib/postgresql/euc_jp_and_sjis.so -./lib/postgresql/dict_snowball.so -./lib/postgresql/utf8_and_ascii.so -./lib/postgresql/utf8_and_euc_tw.so -./lib/postgresql/utf8_and_iso8859.so -./lib/postgresql/utf8_and_win.so -./lib/postgresql/utf8_and_euc_cn.so -./lib/postgresql/utf8_and_gbk.so -./lib/postgresql/utf8_and_euc2004.so -./lib/postgresql/utf8_and_big5.so -./lib/postgresql/java/pljava.jar -./lib/libpljava.so -./lib/libpq.a -./lib/libpq.so -./lib/libpq.so.5 -./lib/libpq.so.5.5 -./lib/libcrypto.so -./lib/libcrypto.so.1.1 -./lib/libssl.so -./lib/libssl.so.1.1 -./lib/libgssapi_krb5_gauss.so -./lib/libgssapi_krb5_gauss.so.2 -./lib/libgssapi_krb5_gauss.so.2.2 -./lib/libgssrpc_gauss.so -./lib/libgssrpc_gauss.so.4 -./lib/libgssrpc_gauss.so.4.2 -./lib/libk5crypto_gauss.so -./lib/libk5crypto_gauss.so.3 -./lib/libk5crypto_gauss.so.3.1 -./lib/libkrb5support_gauss.so -./lib/libkrb5support_gauss.so.0 -./lib/libkrb5support_gauss.so.0.1 -./lib/libkrb5_gauss.so -./lib/libkrb5_gauss.so.3 -./lib/libkrb5_gauss.so.3.3 -./lib/libcom_err_gauss.so -./lib/libcom_err_gauss.so.3 -./lib/libcom_err_gauss.so.3.0 -./odbc/lib/psqlodbcw.la -./odbc/lib/psqlodbcw.so -[libpq] -./lib/libpq.a -./lib/libpq.so -./lib/libpq.so.5 -./lib/libpq.so.5.5 -./lib/libconfig.so -./lib/libconfig.so.4 -./lib/libcrypto.so -./lib/libcrypto.so.1.1 -./lib/libssl.so -./lib/libcmclient.so -./lib/libcmclient.so.1 -./lib/libcmcommon.so -./lib/libcmcommon.so.2 -./lib/libcmpq.so -./lib/libcmpq.so.1 -./lib/libssl.so.1.1 -./lib/libpgport_tool.so -./lib/libpgport_tool.so.1 -./lib/libgssapi_krb5_gauss.so -./lib/libgssapi_krb5_gauss.so.2 -./lib/libgssapi_krb5_gauss.so.2.2 -./lib/libgssrpc_gauss.so -./lib/libgssrpc_gauss.so.4 -./lib/libgssrpc_gauss.so.4.2 -./lib/libk5crypto_gauss.so -./lib/libk5crypto_gauss.so.3 -./lib/libk5crypto_gauss.so.3.1 -./lib/libkrb5support_gauss.so -./lib/libkrb5support_gauss.so.0 -./lib/libkrb5support_gauss.so.0.1 -./lib/libkrb5_gauss.so -./lib/libkrb5_gauss.so.3 -./lib/libkrb5_gauss.so.3.3 -./lib/libcom_err_gauss.so -./lib/libcom_err_gauss.so.3 -./lib/libcom_err_gauss.so.3.0 -[cmlibrary] -./lib/libconfig.a -./lib/libcmpq.a -./lib/libpgport.a -[header] -./include/libpq-fe.h -./include/postgres_ext.h -./include/gs_thread.h -./include/gs_threadlocal.h -./include/pg_config.h -./include/pg_config_manual.h -./include/pg_config_os.h -[version] -V500R001C20 -[script] -./script/__init__.py -./script/gs_check -./script/gs_checkos -./script/gs_checkperf -./script/gs_collector -./script/gs_backup -./script/gs_expand -./script/gs_install -./script/gs_om -./script/gs_hotpatch -./script/gs_postuninstall -./script/gs_preinstall -./script/gs_replace -./script/gs_shrink -./script/gs_ssh -./script/gs_sshexkey -./script/gs_uninstall -./script/gs_upgradectl -./script/gs_lcctl -./script/gs_resize -./script/uninstall_force.py -./script/checkRunStatus.py -./script/JsonToDbClustorInfo.py -./script/nodegroup_migrate.sh diff --git a/build/script/opengauss_release_list_centos_single b/build/script/opengauss_release_list_centos_single index 82f73bb88..7cfe711a1 100644 --- a/build/script/opengauss_release_list_centos_single +++ b/build/script/opengauss_release_list_centos_single @@ -1,58 +1,50 @@ [server] -./bin/gs_log ./bin/gsql ./bin/gaussdb -./bin/gaussdb.version.GaussDB200 -./bin/gaussdb.version.GaussDB300 -./bin/gaussdb.license.GaussDB200_Standard ./bin/gaussmaster ./bin/gstrace +./bin/gs_basebackup +./bin/gs_probackup +./bin/gs_tar ./bin/gs_encrypt ./bin/gs_dump ./bin/gs_dumpall -./bin/gs_initdb ./bin/gs_ctl +./bin/gs_initdb ./bin/gs_guc -./bin/gs_basebackup -./bin/gs_probackup ./bin/encrypt ./bin/openssl ./bin/gs_restore ./bin/gs_cgroup +./bin/openssl ./bin/pg_config ./bin/pg_controldata ./bin/pg_format_cu ./bin/pg_resetxlog +./bin/pg_recvlogical ./bin/alarmItem.conf ./bin/retry_errcodes.conf ./bin/cluster_guc.conf -./bin/runsessionstat.sh -./bin/drop_caches.sh -./bin/run_drop_cache.sh ./bin/transfer.py -./bin/gs_plan_simulator.sh -./bin/dependences/clean_temp.sql -./bin/dependences/initdb.py -./bin/dependences/restore_temp.sql -./bin/dependences/store_pg_class_stats.sql -./bin/dependences/store_pg_statistic_ext_stats.sql -./bin/dependences/store_pg_statistic_stats.sql -./bin/dependences/store_pgxc_class.sql +./bin/bind_net_irq.sh +./bin/setArmOptimization.sh ./bin/krb5kdc ./bin/klist ./bin/kinit ./bin/kdestroy ./bin/kdb5_util ./bin/kadmin.local +./bin/lz4 +./bin/kadmind +./bin/dbmind +./bin/server.key.cipher +./bin/server.key.rand ./etc/kerberos/kadm5.acl ./etc/kerberos/kdc.conf ./etc/kerberos/krb5.conf ./etc/kerberos/mppdb-site.xml -./share/postgis/PostGIS_install.sh ./share/postgresql/tmp/udstools.py ./share/postgresql/snowball_create.sql -./share/postgresql/pmk_schema.sql -./share/postgresql/pmk_schema_single_inst.sql ./share/postgresql/pg_hba.conf.sample ./share/postgresql/pg_service.conf.sample ./share/postgresql/psqlrc.sample @@ -61,12 +53,11 @@ ./share/postgresql/pg_ident.conf.sample ./share/postgresql/postgres.description ./share/postgresql/postgresql.conf.sample +./share/postgresql/mot.conf.sample ./share/postgresql/extension/plpgsql--1.0.sql ./share/postgresql/extension/hstore.control ./share/postgresql/extension/security_plugin.control ./share/postgresql/extension/security_plugin--1.0.sql -./share/postgresql/extension/tsdb.control -./share/postgresql/extension/tsdb--1.0.sql ./share/postgresql/extension/file_fdw--1.0.sql ./share/postgresql/extension/plpgsql.control ./share/postgresql/extension/dist_fdw.control @@ -78,17 +69,10 @@ ./share/postgresql/extension/hstore--1.0--1.1.sql ./share/postgresql/extension/hdfs_fdw--1.0.sql ./share/postgresql/extension/hdfs_fdw.control -./share/postgresql/extension/gc_fdw--1.0.sql -./share/postgresql/extension/gc_fdw.control ./share/postgresql/extension/log_fdw--1.0.sql ./share/postgresql/extension/log_fdw.control ./share/postgresql/extension/mot_fdw--1.0.sql ./share/postgresql/extension/mot_fdw.control -./share/postgresql/extension/dimsearch--1.0.sql -./share/postgresql/extension/dimsearch.control -./share/postgresql/extension/packages--1.0.sql -./share/postgresql/extension/packages--1.0--1.1.sql -./share/postgresql/extension/packages.control ./share/postgresql/extension/gsredistribute.control ./share/postgresql/extension/gsredistribute--1.0.sql ./share/postgresql/extension/gsredistribute--unpackaged--1.0.sql @@ -723,6 +707,7 @@ ./share/llvmir/GaussDB_expr.ir ./share/sslcert/gsql/openssl.cnf ./share/sslcert/grpc/openssl.cnf +./share/sslcert/om/openssl.cnf ./lib/libsimsearch/ ./lib/postgresql/latin2_and_win1250.so ./lib/postgresql/euc2004_sjis2004.so @@ -745,8 +730,6 @@ ./lib/postgresql/utf8_and_sjis.so ./lib/postgresql/utf8_and_cyrillic.so ./lib/postgresql/hstore.so -./lib/postgresql/tsdb.so -./lib/postgresql/packages.so ./lib/postgresql/utf8_and_euc_kr.so ./lib/postgresql/ascii_and_mic.so ./lib/postgresql/utf8_and_iso8859_1.so @@ -761,8 +744,6 @@ ./lib/postgresql/utf8_and_euc2004.so ./lib/postgresql/utf8_and_big5.so ./lib/postgresql/mppdb_decoding.so -./lib/postgresql/gsredistribute.so -./lib/postgresql/dimsearch.so ./lib/postgresql/pg_plugin ./lib/postgresql/proc_srclib ./lib/postgresql/security_plugin.so @@ -844,6 +825,9 @@ ./lib/libverto.so ./lib/libverto.so.0 ./lib/libverto.so.0.0 +./lib/libcurl.so +./lib/libcurl.so.4 +./lib/libcurl.so.4.6.0 ./lib/libcrypto.so ./lib/libcrypto.so.1.1 ./lib/libssl.so @@ -893,7 +877,6 @@ ./lib/postgresql/euc2004_sjis2004.so ./lib/libhll.so - ./include/postgresql/server/postgres_ext.h ./include/postgresql/server/pg_config_os.h ./include/postgresql/server/pgtime.h @@ -943,7 +926,6 @@ ./include/postgresql/server/utils/rbtree.h ./include/postgresql/server/utils/gs_bitmap.h ./include/postgresql/server/utils/tuplesort.h -./include/postgresql/server/utils/tqual.h ./include/postgresql/server/utils/ps_status.h ./include/postgresql/server/utils/palloc.h ./include/postgresql/server/utils/reltrigger.h @@ -1009,19 +991,19 @@ ./include/postgresql/server/securec.h ./include/postgresql/server/securectype.h ./include/postgresql/server/storage/off.h -./include/postgresql/server/storage/block.h -./include/postgresql/server/storage/item.h +./include/postgresql/server/storage/buf/block.h +./include/postgresql/server/storage/item/item.h ./include/postgresql/server/storage/relfilenode.h -./include/postgresql/server/storage/bufpage.h +./include/postgresql/server/storage/buf/bufpage.h ./include/postgresql/server/storage/spin.h -./include/postgresql/server/storage/buf.h -./include/postgresql/server/storage/itemid.h -./include/postgresql/server/storage/pg_sema.h -./include/postgresql/server/storage/itemptr.h -./include/postgresql/server/storage/s_lock.h +./include/postgresql/server/storage/buf/buf.h +./include/postgresql/server/storage/item/itemid.h +./include/postgresql/server/storage/lock/pg_sema.h +./include/postgresql/server/storage/item/itemptr.h +./include/postgresql/server/storage/lock/s_lock.h ./include/postgresql/server/storage/backendid.h -./include/postgresql/server/storage/lock.h -./include/postgresql/server/storage/lwlock.h +./include/postgresql/server/storage/lock/lock.h +./include/postgresql/server/storage/lock/lwlock.h ./include/postgresql/server/storage/barrier.h ./include/postgresql/server/storage/shmem.h ./include/postgresql/server/pg_config.h @@ -1186,8 +1168,8 @@ ./bin/gs_dump ./bin/gs_dumpall ./bin/gs_restore -./jdbc/gsjdbc4.jar -./jdbc/gsjdbc200.jar +./bin/gs_basebackup +./bin/gs_probackup ./lib/postgresql/latin2_and_win1250.so ./lib/postgresql/euc2004_sjis2004.so ./lib/postgresql/euc_kr_and_mic.so @@ -1230,11 +1212,15 @@ ./lib/libpq_ce.so ./lib/libpq_ce.so.5 ./lib/libpq_ce.so.5.5 +./lib/libconfig.so +./lib/libconfig.so.4 ./lib/libcrypto.so ./lib/libcrypto.so.1.1 ./lib/libstdc++.so.6 ./lib/libssl.so ./lib/libssl.so.1.1 +./lib/libpgport_tool.so +./lib/libpgport_tool.so.1 ./lib/libgssapi_krb5_gauss.so ./lib/libgssapi_krb5_gauss.so.2 ./lib/libgssapi_krb5_gauss.so.2.2 @@ -1253,8 +1239,6 @@ ./lib/libcom_err_gauss.so ./lib/libcom_err_gauss.so.3 ./lib/libcom_err_gauss.so.3.0 -./odbc/lib/psqlodbcw.la -./odbc/lib/psqlodbcw.so [libpq] ./lib/libpq.a ./lib/libpq.so @@ -1290,8 +1274,14 @@ ./lib/libcom_err_gauss.so ./lib/libcom_err_gauss.so.3 ./lib/libcom_err_gauss.so.3.0 -[cmlibrary] -./lib/libpgport.a +./include/gs_thread.h +./include/gs_threadlocal.h +./include/postgres_ext.h +./include/libpq-fe.h +./include/libpq-events.h +./include/libpq/libpq-fs.h +[version] +V500R001C20 [header] ./include/libpq-fe.h ./include/postgres_ext.h @@ -1300,31 +1290,14 @@ ./include/pg_config.h ./include/pg_config_manual.h ./include/pg_config_os.h -[version] -V500R001C20 -[script] -./script/__init__.py -./script/gs_check -./script/gs_checkos -./script/gs_checkperf -./script/gs_collector -./script/gs_backup -./script/gs_expand -./script/gs_install -./script/gs_om -./script/gs_hotpatch -./script/gs_postuninstall -./script/gs_preinstall -./script/gs_replace -./script/gs_shrink -./script/gs_ssh -./script/gs_sshexkey -./script/gs_uninstall -./script/gs_upgradectl -./script/gs_lcctl -./script/gs_resize -./script/killall -./script/uninstall_force.py -./script/checkRunStatus.py -./script/JsonToDbClustorInfo.py -./script/nodegroup_migrate.sh +./include/cm_config.h +./include/c.h +./include/port.h +./include/cm_msg.h +./include/cm_c.h +./include/cm_misc.h +./include/libpq-int.h +./include/pqcomm.h +./include/pqexpbuffer.h +./include/xlogdefs.h +./include/cm-libpq-fe.h diff --git a/build/script/opengauss_release_list_euleros_aarch64_single b/build/script/opengauss_release_list_euleros_aarch64_single index 14b94c7fb..e1edfbfb1 100644 --- a/build/script/opengauss_release_list_euleros_aarch64_single +++ b/build/script/opengauss_release_list_euleros_aarch64_single @@ -1,20 +1,17 @@ [server] -./bin/gs_log ./bin/gsql ./bin/gaussdb -./bin/gaussdb.version.GaussDB200 -./bin/gaussdb.version.GaussDB300 -./bin/gaussdb.license.GaussDB200_Standard ./bin/gaussmaster ./bin/gstrace +./bin/gs_basebackup +./bin/gs_probackup +./bin/gs_tar ./bin/gs_encrypt ./bin/gs_dump ./bin/gs_dumpall ./bin/gs_ctl ./bin/gs_initdb ./bin/gs_guc -./bin/gs_basebackup -./bin/gs_probackup ./bin/encrypt ./bin/openssl ./bin/gs_restore @@ -24,22 +21,13 @@ ./bin/pg_controldata ./bin/pg_format_cu ./bin/pg_resetxlog +./bin/pg_recvlogical ./bin/alarmItem.conf ./bin/retry_errcodes.conf ./bin/cluster_guc.conf -./bin/runsessionstat.sh -./bin/drop_caches.sh -./bin/run_drop_cache.sh ./bin/transfer.py -./bin/getDEK.jar -./bin/gs_plan_simulator.sh -./bin/dependences/clean_temp.sql -./bin/dependences/initdb.py -./bin/dependences/restore_temp.sql -./bin/dependences/store_pg_class_stats.sql -./bin/dependences/store_pg_statistic_ext_stats.sql -./bin/dependences/store_pg_statistic_stats.sql -./bin/dependences/store_pgxc_class.sql +./bin/bind_net_irq.sh +./bin/setArmOptimization.sh ./bin/krb5kdc ./bin/klist ./bin/kinit @@ -47,15 +35,16 @@ ./bin/kdb5_util ./bin/kadmin.local ./bin/lz4 +./bin/kadmind +./bin/dbmind +./bin/server.key.cipher +./bin/server.key.rand ./etc/kerberos/kadm5.acl ./etc/kerberos/kdc.conf ./etc/kerberos/krb5.conf ./etc/kerberos/mppdb-site.xml -./share/postgis/PostGIS_install.sh ./share/postgresql/tmp/udstools.py ./share/postgresql/snowball_create.sql -./share/postgresql/pmk_schema.sql -./share/postgresql/pmk_schema_single_inst.sql ./share/postgresql/pg_hba.conf.sample ./share/postgresql/pg_service.conf.sample ./share/postgresql/psqlrc.sample @@ -64,14 +53,11 @@ ./share/postgresql/pg_ident.conf.sample ./share/postgresql/postgres.description ./share/postgresql/postgresql.conf.sample +./share/postgresql/mot.conf.sample ./share/postgresql/extension/plpgsql--1.0.sql ./share/postgresql/extension/hstore.control ./share/postgresql/extension/security_plugin.control ./share/postgresql/extension/security_plugin--1.0.sql -./share/postgresql/extension/tsdb.control -./share/postgresql/extension/tsdb--1.0.sql -./share/postgresql/extension/streaming--1.0.sql -./share/postgresql/extension/streaming.control ./share/postgresql/extension/file_fdw--1.0.sql ./share/postgresql/extension/plpgsql.control ./share/postgresql/extension/dist_fdw.control @@ -83,17 +69,10 @@ ./share/postgresql/extension/hstore--1.0--1.1.sql ./share/postgresql/extension/hdfs_fdw--1.0.sql ./share/postgresql/extension/hdfs_fdw.control -./share/postgresql/extension/gc_fdw--1.0.sql -./share/postgresql/extension/gc_fdw.control ./share/postgresql/extension/log_fdw--1.0.sql ./share/postgresql/extension/log_fdw.control ./share/postgresql/extension/mot_fdw--1.0.sql ./share/postgresql/extension/mot_fdw.control -./share/postgresql/extension/dimsearch--1.0.sql -./share/postgresql/extension/dimsearch.control -./share/postgresql/extension/packages--1.0.sql -./share/postgresql/extension/packages--1.0--1.1.sql -./share/postgresql/extension/packages.control ./share/postgresql/extension/gsredistribute.control ./share/postgresql/extension/gsredistribute--1.0.sql ./share/postgresql/extension/gsredistribute--unpackaged--1.0.sql @@ -728,6 +707,7 @@ ./share/llvmir/GaussDB_expr.ir ./share/sslcert/gsql/openssl.cnf ./share/sslcert/grpc/openssl.cnf +./share/sslcert/om/openssl.cnf ./lib/libsimsearch/ ./lib/postgresql/latin2_and_win1250.so ./lib/postgresql/euc2004_sjis2004.so @@ -750,8 +730,6 @@ ./lib/postgresql/utf8_and_sjis.so ./lib/postgresql/utf8_and_cyrillic.so ./lib/postgresql/hstore.so -./lib/postgresql/tsdb.so -./lib/postgresql/packages.so ./lib/postgresql/utf8_and_euc_kr.so ./lib/postgresql/ascii_and_mic.so ./lib/postgresql/utf8_and_iso8859_1.so @@ -766,7 +744,6 @@ ./lib/postgresql/utf8_and_euc2004.so ./lib/postgresql/utf8_and_big5.so ./lib/postgresql/mppdb_decoding.so -./lib/postgresql/dimsearch.so ./lib/postgresql/pg_plugin ./lib/postgresql/proc_srclib ./lib/postgresql/security_plugin.so @@ -900,7 +877,6 @@ ./lib/postgresql/euc2004_sjis2004.so ./lib/libhll.so - ./include/postgresql/server/postgres_ext.h ./include/postgresql/server/pg_config_os.h ./include/postgresql/server/pgtime.h @@ -950,7 +926,6 @@ ./include/postgresql/server/utils/rbtree.h ./include/postgresql/server/utils/gs_bitmap.h ./include/postgresql/server/utils/tuplesort.h -./include/postgresql/server/utils/tqual.h ./include/postgresql/server/utils/ps_status.h ./include/postgresql/server/utils/palloc.h ./include/postgresql/server/utils/reltrigger.h @@ -1016,19 +991,19 @@ ./include/postgresql/server/securec.h ./include/postgresql/server/securectype.h ./include/postgresql/server/storage/off.h -./include/postgresql/server/storage/block.h -./include/postgresql/server/storage/item.h +./include/postgresql/server/storage/buf/block.h +./include/postgresql/server/storage/item/item.h ./include/postgresql/server/storage/relfilenode.h -./include/postgresql/server/storage/bufpage.h +./include/postgresql/server/storage/buf/bufpage.h ./include/postgresql/server/storage/spin.h -./include/postgresql/server/storage/buf.h -./include/postgresql/server/storage/itemid.h -./include/postgresql/server/storage/pg_sema.h -./include/postgresql/server/storage/itemptr.h -./include/postgresql/server/storage/s_lock.h +./include/postgresql/server/storage/buf/buf.h +./include/postgresql/server/storage/item/itemid.h +./include/postgresql/server/storage/lock/pg_sema.h +./include/postgresql/server/storage/item/itemptr.h +./include/postgresql/server/storage/lock/s_lock.h ./include/postgresql/server/storage/backendid.h -./include/postgresql/server/storage/lock.h -./include/postgresql/server/storage/lwlock.h +./include/postgresql/server/storage/lock/lock.h +./include/postgresql/server/storage/lock/lwlock.h ./include/postgresql/server/storage/barrier.h ./include/postgresql/server/storage/shmem.h ./include/postgresql/server/pg_config.h @@ -1193,8 +1168,8 @@ ./bin/gs_dump ./bin/gs_dumpall ./bin/gs_restore -./jdbc/gsjdbc4.jar -./jdbc/gsjdbc200.jar +./bin/gs_basebackup +./bin/gs_probackup ./lib/postgresql/latin2_and_win1250.so ./lib/postgresql/euc2004_sjis2004.so ./lib/postgresql/euc_kr_and_mic.so @@ -1237,11 +1212,15 @@ ./lib/libpq_ce.so ./lib/libpq_ce.so.5 ./lib/libpq_ce.so.5.5 +./lib/libconfig.so +./lib/libconfig.so.4 ./lib/libcrypto.so ./lib/libcrypto.so.1.1 ./lib/libstdc++.so.6 ./lib/libssl.so ./lib/libssl.so.1.1 +./lib/libpgport_tool.so +./lib/libpgport_tool.so.1 ./lib/libgssapi_krb5_gauss.so ./lib/libgssapi_krb5_gauss.so.2 ./lib/libgssapi_krb5_gauss.so.2.2 @@ -1260,8 +1239,6 @@ ./lib/libcom_err_gauss.so ./lib/libcom_err_gauss.so.3 ./lib/libcom_err_gauss.so.3.0 -./odbc/lib/psqlodbcw.la -./odbc/lib/psqlodbcw.so [libpq] ./lib/libpq.a ./lib/libpq.so @@ -1297,8 +1274,14 @@ ./lib/libcom_err_gauss.so ./lib/libcom_err_gauss.so.3 ./lib/libcom_err_gauss.so.3.0 -[cmlibrary] -./lib/libpgport.a +./include/gs_thread.h +./include/gs_threadlocal.h +./include/postgres_ext.h +./include/libpq-fe.h +./include/libpq-events.h +./include/libpq/libpq-fs.h +[version] +V500R001C20 [header] ./include/libpq-fe.h ./include/postgres_ext.h @@ -1318,31 +1301,3 @@ ./include/pqexpbuffer.h ./include/xlogdefs.h ./include/cm-libpq-fe.h -[version] -V500R001C20 -[script] -./script/__init__.py -./script/gs_check -./script/gs_checkos -./script/gs_checkperf -./script/gs_collector -./script/gs_backup -./script/gs_expand -./script/gs_install -./script/gs_om -./script/gs_hotpatch -./script/gs_postuninstall -./script/gs_preinstall -./script/gs_replace -./script/gs_shrink -./script/gs_ssh -./script/gs_sshexkey -./script/gs_uninstall -./script/gs_upgradectl -./script/gs_lcctl -./script/gs_resize -./script/uninstall_force.py -./script/checkRunStatus.py -./script/JsonToDbClustorInfo.py -./script/killall -./script/nodegroup_migrate.sh diff --git a/build/script/opengauss_release_list_euleros_single b/build/script/opengauss_release_list_euleros_single index ee5a18de8..7cfe711a1 100644 --- a/build/script/opengauss_release_list_euleros_single +++ b/build/script/opengauss_release_list_euleros_single @@ -1,58 +1,50 @@ [server] -./bin/gs_log ./bin/gsql ./bin/gaussdb -./bin/gaussdb.version.GaussDB200 -./bin/gaussdb.version.GaussDB300 -./bin/gaussdb.license.GaussDB200_Standard ./bin/gaussmaster ./bin/gstrace +./bin/gs_basebackup +./bin/gs_probackup +./bin/gs_tar ./bin/gs_encrypt ./bin/gs_dump ./bin/gs_dumpall -./bin/gs_initdb ./bin/gs_ctl +./bin/gs_initdb ./bin/gs_guc ./bin/encrypt ./bin/openssl ./bin/gs_restore ./bin/gs_cgroup -./bin/gs_basebackup -./bin/gs_probackup +./bin/openssl ./bin/pg_config ./bin/pg_controldata ./bin/pg_format_cu ./bin/pg_resetxlog +./bin/pg_recvlogical ./bin/alarmItem.conf ./bin/retry_errcodes.conf ./bin/cluster_guc.conf -./bin/runsessionstat.sh -./bin/drop_caches.sh -./bin/run_drop_cache.sh ./bin/transfer.py -./bin/gs_plan_simulator.sh -./bin/dependences/clean_temp.sql -./bin/dependences/initdb.py -./bin/dependences/restore_temp.sql -./bin/dependences/store_pg_class_stats.sql -./bin/dependences/store_pg_statistic_ext_stats.sql -./bin/dependences/store_pg_statistic_stats.sql -./bin/dependences/store_pgxc_class.sql +./bin/bind_net_irq.sh +./bin/setArmOptimization.sh ./bin/krb5kdc ./bin/klist ./bin/kinit ./bin/kdestroy ./bin/kdb5_util ./bin/kadmin.local +./bin/lz4 +./bin/kadmind +./bin/dbmind +./bin/server.key.cipher +./bin/server.key.rand ./etc/kerberos/kadm5.acl ./etc/kerberos/kdc.conf ./etc/kerberos/krb5.conf ./etc/kerberos/mppdb-site.xml -./share/postgis/PostGIS_install.sh ./share/postgresql/tmp/udstools.py ./share/postgresql/snowball_create.sql -./share/postgresql/pmk_schema.sql -./share/postgresql/pmk_schema_single_inst.sql ./share/postgresql/pg_hba.conf.sample ./share/postgresql/pg_service.conf.sample ./share/postgresql/psqlrc.sample @@ -61,12 +53,11 @@ ./share/postgresql/pg_ident.conf.sample ./share/postgresql/postgres.description ./share/postgresql/postgresql.conf.sample +./share/postgresql/mot.conf.sample ./share/postgresql/extension/plpgsql--1.0.sql ./share/postgresql/extension/hstore.control ./share/postgresql/extension/security_plugin.control ./share/postgresql/extension/security_plugin--1.0.sql -./share/postgresql/extension/tsdb.control -./share/postgresql/extension/tsdb--1.0.sql ./share/postgresql/extension/file_fdw--1.0.sql ./share/postgresql/extension/plpgsql.control ./share/postgresql/extension/dist_fdw.control @@ -78,17 +69,10 @@ ./share/postgresql/extension/hstore--1.0--1.1.sql ./share/postgresql/extension/hdfs_fdw--1.0.sql ./share/postgresql/extension/hdfs_fdw.control -./share/postgresql/extension/gc_fdw--1.0.sql -./share/postgresql/extension/gc_fdw.control ./share/postgresql/extension/log_fdw--1.0.sql ./share/postgresql/extension/log_fdw.control ./share/postgresql/extension/mot_fdw--1.0.sql ./share/postgresql/extension/mot_fdw.control -./share/postgresql/extension/dimsearch--1.0.sql -./share/postgresql/extension/dimsearch.control -./share/postgresql/extension/packages--1.0.sql -./share/postgresql/extension/packages--1.0--1.1.sql -./share/postgresql/extension/packages.control ./share/postgresql/extension/gsredistribute.control ./share/postgresql/extension/gsredistribute--1.0.sql ./share/postgresql/extension/gsredistribute--unpackaged--1.0.sql @@ -686,8 +670,6 @@ ./share/postgresql/sql_features.txt ./share/postgresql/pg_cast_oid.txt ./share/postgresql/recovery.conf.sample -./share/postgresql/cm_server.conf.sample -./share/postgresql/cm_agent.conf.sample ./share/postgresql/tsearch_data/english.stop ./share/postgresql/tsearch_data/dutch.stop ./share/postgresql/tsearch_data/hungarian.stop @@ -724,9 +706,8 @@ ./share/postgresql/postgres.bki ./share/llvmir/GaussDB_expr.ir ./share/sslcert/gsql/openssl.cnf -./share/sslcert/gds/openssl.cnf ./share/sslcert/grpc/openssl.cnf -./share/sslcert/etcd/openssl.cnf +./share/sslcert/om/openssl.cnf ./lib/libsimsearch/ ./lib/postgresql/latin2_and_win1250.so ./lib/postgresql/euc2004_sjis2004.so @@ -749,8 +730,6 @@ ./lib/postgresql/utf8_and_sjis.so ./lib/postgresql/utf8_and_cyrillic.so ./lib/postgresql/hstore.so -./lib/postgresql/tsdb.so -./lib/postgresql/packages.so ./lib/postgresql/utf8_and_euc_kr.so ./lib/postgresql/ascii_and_mic.so ./lib/postgresql/utf8_and_iso8859_1.so @@ -765,8 +744,6 @@ ./lib/postgresql/utf8_and_euc2004.so ./lib/postgresql/utf8_and_big5.so ./lib/postgresql/mppdb_decoding.so -./lib/postgresql/gsredistribute.so -./lib/postgresql/dimsearch.so ./lib/postgresql/pg_plugin ./lib/postgresql/proc_srclib ./lib/postgresql/security_plugin.so @@ -778,6 +755,9 @@ ./lib/libpq.so ./lib/libpq.so.5 ./lib/libpq.so.5.5 +./lib/libpq_ce.so +./lib/libpq_ce.so.5 +./lib/libpq_ce.so.5.5 ./lib/libcgroup.so ./lib/libcgroup.so.1 ./lib/libcom_err_gauss.so @@ -845,6 +825,9 @@ ./lib/libverto.so ./lib/libverto.so.0 ./lib/libverto.so.0.0 +./lib/libcurl.so +./lib/libcurl.so.4 +./lib/libcurl.so.4.6.0 ./lib/libcrypto.so ./lib/libcrypto.so.1.1 ./lib/libssl.so @@ -878,7 +861,7 @@ ./lib/libiconv.so.2.6.1 ./lib/libnghttp2.so ./lib/libnghttp2.so.14 -./lib/libnghttp2.so.14.18.0 +./lib/libnghttp2.so.14.20.0 ./lib/libpcre.so ./lib/libpcre.so.1 ./lib/libpcre.so.1.2.12 @@ -894,12 +877,14 @@ ./lib/postgresql/euc2004_sjis2004.so ./lib/libhll.so - ./include/postgresql/server/postgres_ext.h ./include/postgresql/server/pg_config_os.h ./include/postgresql/server/pgtime.h +./include/postgresql/server/datatypes.h +./include/postgresql/server/client_logic/client_logic_enums.h ./include/postgresql/server/nodes/primnodes.h ./include/postgresql/server/nodes/parsenodes.h +./include/postgresql/server/nodes/parsenodes_common.h ./include/postgresql/server/nodes/bitmapset.h ./include/postgresql/server/nodes/pg_list.h ./include/postgresql/server/nodes/value.h @@ -941,7 +926,6 @@ ./include/postgresql/server/utils/rbtree.h ./include/postgresql/server/utils/gs_bitmap.h ./include/postgresql/server/utils/tuplesort.h -./include/postgresql/server/utils/tqual.h ./include/postgresql/server/utils/ps_status.h ./include/postgresql/server/utils/palloc.h ./include/postgresql/server/utils/reltrigger.h @@ -1007,19 +991,19 @@ ./include/postgresql/server/securec.h ./include/postgresql/server/securectype.h ./include/postgresql/server/storage/off.h -./include/postgresql/server/storage/block.h -./include/postgresql/server/storage/item.h +./include/postgresql/server/storage/buf/block.h +./include/postgresql/server/storage/item/item.h ./include/postgresql/server/storage/relfilenode.h -./include/postgresql/server/storage/bufpage.h +./include/postgresql/server/storage/buf/bufpage.h ./include/postgresql/server/storage/spin.h -./include/postgresql/server/storage/buf.h -./include/postgresql/server/storage/itemid.h -./include/postgresql/server/storage/pg_sema.h -./include/postgresql/server/storage/itemptr.h -./include/postgresql/server/storage/s_lock.h +./include/postgresql/server/storage/buf/buf.h +./include/postgresql/server/storage/item/itemid.h +./include/postgresql/server/storage/lock/pg_sema.h +./include/postgresql/server/storage/item/itemptr.h +./include/postgresql/server/storage/lock/s_lock.h ./include/postgresql/server/storage/backendid.h -./include/postgresql/server/storage/lock.h -./include/postgresql/server/storage/lwlock.h +./include/postgresql/server/storage/lock/lock.h +./include/postgresql/server/storage/lock/lwlock.h ./include/postgresql/server/storage/barrier.h ./include/postgresql/server/storage/shmem.h ./include/postgresql/server/pg_config.h @@ -1145,6 +1129,7 @@ ./jre/lib/images/cursors/motif_LinkNoDrop32x32.gif ./jre/lib/images/cursors/motif_MoveDrop32x32.gif ./jre/lib/images/cursors/motif_MoveNoDrop32x32.gif +./jre/lib/javafx-mx.jar ./jre/lib/javafx.properties ./jre/lib/jce.jar ./jre/lib/jexec @@ -1183,8 +1168,8 @@ ./bin/gs_dump ./bin/gs_dumpall ./bin/gs_restore -./jdbc/gsjdbc4.jar -./jdbc/gsjdbc200.jar +./bin/gs_basebackup +./bin/gs_probackup ./lib/postgresql/latin2_and_win1250.so ./lib/postgresql/euc2004_sjis2004.so ./lib/postgresql/euc_kr_and_mic.so @@ -1224,42 +1209,15 @@ ./lib/libpq.so ./lib/libpq.so.5 ./lib/libpq.so.5.5 -./lib/libcrypto.so -./lib/libcrypto.so.1.1 -./lib/libssl.so -./lib/libssl.so.1.1 -./lib/libgssapi_krb5_gauss.so -./lib/libgssapi_krb5_gauss.so.2 -./lib/libgssapi_krb5_gauss.so.2.2 -./lib/libgssrpc_gauss.so -./lib/libgssrpc_gauss.so.4 -./lib/libgssrpc_gauss.so.4.2 -./lib/libk5crypto_gauss.so -./lib/libk5crypto_gauss.so.3 -./lib/libk5crypto_gauss.so.3.1 -./lib/libkrb5support_gauss.so -./lib/libkrb5support_gauss.so.0 -./lib/libkrb5support_gauss.so.0.1 -./lib/libkrb5_gauss.so -./lib/libkrb5_gauss.so.3 -./lib/libkrb5_gauss.so.3.3 -./lib/libcom_err_gauss.so -./lib/libcom_err_gauss.so.3 -./lib/libcom_err_gauss.so.3.0 -./odbc/lib/psqlodbcw.la -./odbc/lib/psqlodbcw.so -[libpq] -./lib/libpq.a -./lib/libpq.so -./lib/libpq.so.5 -./lib/libpq.so.5.5 +./lib/libpq_ce.so +./lib/libpq_ce.so.5 +./lib/libpq_ce.so.5.5 ./lib/libconfig.so ./lib/libconfig.so.4 ./lib/libcrypto.so ./lib/libcrypto.so.1.1 +./lib/libstdc++.so.6 ./lib/libssl.so -./lib/libcmpq.so -./lib/libcmpq.so.1 ./lib/libssl.so.1.1 ./lib/libpgport_tool.so ./lib/libpgport_tool.so.1 @@ -1281,12 +1239,49 @@ ./lib/libcom_err_gauss.so ./lib/libcom_err_gauss.so.3 ./lib/libcom_err_gauss.so.3.0 -[cmlibrary] -./lib/libconfig.a -./lib/libcmclient.a -./lib/libcmcommon.a -./lib/libcmpq.a -./lib/libpgport.a +[libpq] +./lib/libpq.a +./lib/libpq.so +./lib/libpq.so.5 +./lib/libpq.so.5.5 +./lib/libpq_ce.so +./lib/libpq_ce.so.5 +./lib/libpq_ce.so.5.5 +./lib/libconfig.so +./lib/libconfig.so.4 +./lib/libcrypto.so +./lib/libcrypto.so.1.1 +./lib/libstdc++.so.6 +./lib/libssl.so +./lib/libssl.so.1.1 +./lib/libpgport_tool.so +./lib/libpgport_tool.so.1 +./lib/libgssapi_krb5_gauss.so +./lib/libgssapi_krb5_gauss.so.2 +./lib/libgssapi_krb5_gauss.so.2.2 +./lib/libgssrpc_gauss.so +./lib/libgssrpc_gauss.so.4 +./lib/libgssrpc_gauss.so.4.2 +./lib/libk5crypto_gauss.so +./lib/libk5crypto_gauss.so.3 +./lib/libk5crypto_gauss.so.3.1 +./lib/libkrb5support_gauss.so +./lib/libkrb5support_gauss.so.0 +./lib/libkrb5support_gauss.so.0.1 +./lib/libkrb5_gauss.so +./lib/libkrb5_gauss.so.3 +./lib/libkrb5_gauss.so.3.3 +./lib/libcom_err_gauss.so +./lib/libcom_err_gauss.so.3 +./lib/libcom_err_gauss.so.3.0 +./include/gs_thread.h +./include/gs_threadlocal.h +./include/postgres_ext.h +./include/libpq-fe.h +./include/libpq-events.h +./include/libpq/libpq-fs.h +[version] +V500R001C20 [header] ./include/libpq-fe.h ./include/postgres_ext.h @@ -1295,30 +1290,14 @@ ./include/pg_config.h ./include/pg_config_manual.h ./include/pg_config_os.h -[version] -V500R001C20 -[script] -./script/__init__.py -./script/gs_check -./script/gs_checkos -./script/gs_checkperf -./script/gs_collector -./script/gs_backup -./script/gs_expand -./script/gs_install -./script/gs_om -./script/gs_hotpatch -./script/gs_postuninstall -./script/gs_preinstall -./script/gs_replace -./script/gs_shrink -./script/gs_ssh -./script/gs_sshexkey -./script/gs_uninstall -./script/gs_upgradectl -./script/gs_lcctl -./script/gs_resize -./script/uninstall_force.py -./script/checkRunStatus.py -./script/JsonToDbClustorInfo.py -./script/nodegroup_migrate.sh +./include/cm_config.h +./include/c.h +./include/port.h +./include/cm_msg.h +./include/cm_c.h +./include/cm_misc.h +./include/libpq-int.h +./include/pqcomm.h +./include/pqexpbuffer.h +./include/xlogdefs.h +./include/cm-libpq-fe.h diff --git a/build/script/opengauss_release_list_openeuler_aarch64_single b/build/script/opengauss_release_list_openeuler_aarch64_single index d237b429b..e1edfbfb1 100644 --- a/build/script/opengauss_release_list_openeuler_aarch64_single +++ b/build/script/opengauss_release_list_openeuler_aarch64_single @@ -1,58 +1,50 @@ [server] -./bin/gs_log ./bin/gsql ./bin/gaussdb -./bin/gaussdb.version.GaussDB200 -./bin/gaussdb.version.GaussDB300 -./bin/gaussdb.license.GaussDB200_Standard ./bin/gaussmaster ./bin/gstrace +./bin/gs_basebackup +./bin/gs_probackup +./bin/gs_tar ./bin/gs_encrypt ./bin/gs_dump ./bin/gs_dumpall -./bin/gs_initdb ./bin/gs_ctl +./bin/gs_initdb ./bin/gs_guc ./bin/encrypt ./bin/openssl ./bin/gs_restore ./bin/gs_cgroup -./bin/gs_basebackup -./bin/gs_probackup +./bin/openssl ./bin/pg_config ./bin/pg_controldata ./bin/pg_format_cu ./bin/pg_resetxlog +./bin/pg_recvlogical ./bin/alarmItem.conf ./bin/retry_errcodes.conf ./bin/cluster_guc.conf -./bin/runsessionstat.sh -./bin/drop_caches.sh -./bin/run_drop_cache.sh ./bin/transfer.py -./bin/gs_plan_simulator.sh -./bin/dependences/clean_temp.sql -./bin/dependences/initdb.py -./bin/dependences/restore_temp.sql -./bin/dependences/store_pg_class_stats.sql -./bin/dependences/store_pg_statistic_ext_stats.sql -./bin/dependences/store_pg_statistic_stats.sql -./bin/dependences/store_pgxc_class.sql +./bin/bind_net_irq.sh +./bin/setArmOptimization.sh ./bin/krb5kdc ./bin/klist ./bin/kinit ./bin/kdestroy ./bin/kdb5_util ./bin/kadmin.local +./bin/lz4 +./bin/kadmind +./bin/dbmind +./bin/server.key.cipher +./bin/server.key.rand ./etc/kerberos/kadm5.acl ./etc/kerberos/kdc.conf ./etc/kerberos/krb5.conf ./etc/kerberos/mppdb-site.xml -./share/postgis/PostGIS_install.sh ./share/postgresql/tmp/udstools.py ./share/postgresql/snowball_create.sql -./share/postgresql/pmk_schema.sql -./share/postgresql/pmk_schema_single_inst.sql ./share/postgresql/pg_hba.conf.sample ./share/postgresql/pg_service.conf.sample ./share/postgresql/psqlrc.sample @@ -61,12 +53,11 @@ ./share/postgresql/pg_ident.conf.sample ./share/postgresql/postgres.description ./share/postgresql/postgresql.conf.sample +./share/postgresql/mot.conf.sample ./share/postgresql/extension/plpgsql--1.0.sql ./share/postgresql/extension/hstore.control ./share/postgresql/extension/security_plugin.control ./share/postgresql/extension/security_plugin--1.0.sql -./share/postgresql/extension/tsdb.control -./share/postgresql/extension/tsdb--1.0.sql ./share/postgresql/extension/file_fdw--1.0.sql ./share/postgresql/extension/plpgsql.control ./share/postgresql/extension/dist_fdw.control @@ -78,20 +69,15 @@ ./share/postgresql/extension/hstore--1.0--1.1.sql ./share/postgresql/extension/hdfs_fdw--1.0.sql ./share/postgresql/extension/hdfs_fdw.control -./share/postgresql/extension/gc_fdw--1.0.sql -./share/postgresql/extension/gc_fdw.control ./share/postgresql/extension/log_fdw--1.0.sql ./share/postgresql/extension/log_fdw.control ./share/postgresql/extension/mot_fdw--1.0.sql ./share/postgresql/extension/mot_fdw.control -./share/postgresql/extension/dimsearch--1.0.sql -./share/postgresql/extension/dimsearch.control -./share/postgresql/extension/packages--1.0.sql -./share/postgresql/extension/packages--1.0--1.1.sql -./share/postgresql/extension/packages.control ./share/postgresql/extension/gsredistribute.control ./share/postgresql/extension/gsredistribute--1.0.sql ./share/postgresql/extension/gsredistribute--unpackaged--1.0.sql +./share/postgresql/extension/postgres_fdw--1.0.sql +./share/postgresql/extension/postgres_fdw.control ./share/postgresql/timezone/GB-Eire ./share/postgresql/timezone/Turkey ./share/postgresql/timezone/Kwajalein @@ -684,8 +670,6 @@ ./share/postgresql/sql_features.txt ./share/postgresql/pg_cast_oid.txt ./share/postgresql/recovery.conf.sample -./share/postgresql/cm_server.conf.sample -./share/postgresql/cm_agent.conf.sample ./share/postgresql/tsearch_data/english.stop ./share/postgresql/tsearch_data/dutch.stop ./share/postgresql/tsearch_data/hungarian.stop @@ -723,6 +707,7 @@ ./share/llvmir/GaussDB_expr.ir ./share/sslcert/gsql/openssl.cnf ./share/sslcert/grpc/openssl.cnf +./share/sslcert/om/openssl.cnf ./lib/libsimsearch/ ./lib/postgresql/latin2_and_win1250.so ./lib/postgresql/euc2004_sjis2004.so @@ -745,8 +730,6 @@ ./lib/postgresql/utf8_and_sjis.so ./lib/postgresql/utf8_and_cyrillic.so ./lib/postgresql/hstore.so -./lib/postgresql/tsdb.so -./lib/postgresql/packages.so ./lib/postgresql/utf8_and_euc_kr.so ./lib/postgresql/ascii_and_mic.so ./lib/postgresql/utf8_and_iso8859_1.so @@ -761,8 +744,6 @@ ./lib/postgresql/utf8_and_euc2004.so ./lib/postgresql/utf8_and_big5.so ./lib/postgresql/mppdb_decoding.so -./lib/postgresql/gsredistribute.so -./lib/postgresql/dimsearch.so ./lib/postgresql/pg_plugin ./lib/postgresql/proc_srclib ./lib/postgresql/security_plugin.so @@ -774,6 +755,9 @@ ./lib/libpq.so ./lib/libpq.so.5 ./lib/libpq.so.5.5 +./lib/libpq_ce.so +./lib/libpq_ce.so.5 +./lib/libpq_ce.so.5.5 ./lib/libcgroup.so ./lib/libcgroup.so.1 ./lib/libcom_err_gauss.so @@ -841,6 +825,9 @@ ./lib/libverto.so ./lib/libverto.so.0 ./lib/libverto.so.0.0 +./lib/libcurl.so +./lib/libcurl.so.4 +./lib/libcurl.so.4.6.0 ./lib/libcrypto.so ./lib/libcrypto.so.1.1 ./lib/libssl.so @@ -874,7 +861,7 @@ ./lib/libiconv.so.2.6.1 ./lib/libnghttp2.so ./lib/libnghttp2.so.14 -./lib/libnghttp2.so.14.18.0 +./lib/libnghttp2.so.14.20.0 ./lib/libpcre.so ./lib/libpcre.so.1 ./lib/libpcre.so.1.2.12 @@ -890,12 +877,14 @@ ./lib/postgresql/euc2004_sjis2004.so ./lib/libhll.so - ./include/postgresql/server/postgres_ext.h ./include/postgresql/server/pg_config_os.h ./include/postgresql/server/pgtime.h +./include/postgresql/server/datatypes.h +./include/postgresql/server/client_logic/client_logic_enums.h ./include/postgresql/server/nodes/primnodes.h ./include/postgresql/server/nodes/parsenodes.h +./include/postgresql/server/nodes/parsenodes_common.h ./include/postgresql/server/nodes/bitmapset.h ./include/postgresql/server/nodes/pg_list.h ./include/postgresql/server/nodes/value.h @@ -937,7 +926,6 @@ ./include/postgresql/server/utils/rbtree.h ./include/postgresql/server/utils/gs_bitmap.h ./include/postgresql/server/utils/tuplesort.h -./include/postgresql/server/utils/tqual.h ./include/postgresql/server/utils/ps_status.h ./include/postgresql/server/utils/palloc.h ./include/postgresql/server/utils/reltrigger.h @@ -1003,19 +991,19 @@ ./include/postgresql/server/securec.h ./include/postgresql/server/securectype.h ./include/postgresql/server/storage/off.h -./include/postgresql/server/storage/block.h -./include/postgresql/server/storage/item.h +./include/postgresql/server/storage/buf/block.h +./include/postgresql/server/storage/item/item.h ./include/postgresql/server/storage/relfilenode.h -./include/postgresql/server/storage/bufpage.h +./include/postgresql/server/storage/buf/bufpage.h ./include/postgresql/server/storage/spin.h -./include/postgresql/server/storage/buf.h -./include/postgresql/server/storage/itemid.h -./include/postgresql/server/storage/pg_sema.h -./include/postgresql/server/storage/itemptr.h -./include/postgresql/server/storage/s_lock.h +./include/postgresql/server/storage/buf/buf.h +./include/postgresql/server/storage/item/itemid.h +./include/postgresql/server/storage/lock/pg_sema.h +./include/postgresql/server/storage/item/itemptr.h +./include/postgresql/server/storage/lock/s_lock.h ./include/postgresql/server/storage/backendid.h -./include/postgresql/server/storage/lock.h -./include/postgresql/server/storage/lwlock.h +./include/postgresql/server/storage/lock/lock.h +./include/postgresql/server/storage/lock/lwlock.h ./include/postgresql/server/storage/barrier.h ./include/postgresql/server/storage/shmem.h ./include/postgresql/server/pg_config.h @@ -1141,6 +1129,7 @@ ./jre/lib/images/cursors/motif_LinkNoDrop32x32.gif ./jre/lib/images/cursors/motif_MoveDrop32x32.gif ./jre/lib/images/cursors/motif_MoveNoDrop32x32.gif +./jre/lib/javafx-mx.jar ./jre/lib/javafx.properties ./jre/lib/jce.jar ./jre/lib/jexec @@ -1179,8 +1168,8 @@ ./bin/gs_dump ./bin/gs_dumpall ./bin/gs_restore -./jdbc/gsjdbc4.jar -./jdbc/gsjdbc200.jar +./bin/gs_basebackup +./bin/gs_probackup ./lib/postgresql/latin2_and_win1250.so ./lib/postgresql/euc2004_sjis2004.so ./lib/postgresql/euc_kr_and_mic.so @@ -1220,46 +1209,15 @@ ./lib/libpq.so ./lib/libpq.so.5 ./lib/libpq.so.5.5 -./lib/libcrypto.so -./lib/libcrypto.so.1.1 -./lib/libssl.so -./lib/libssl.so.1.1 -./lib/libgssapi_krb5_gauss.so -./lib/libgssapi_krb5_gauss.so.2 -./lib/libgssapi_krb5_gauss.so.2.2 -./lib/libgssrpc_gauss.so -./lib/libgssrpc_gauss.so.4 -./lib/libgssrpc_gauss.so.4.2 -./lib/libk5crypto_gauss.so -./lib/libk5crypto_gauss.so.3 -./lib/libk5crypto_gauss.so.3.1 -./lib/libkrb5support_gauss.so -./lib/libkrb5support_gauss.so.0 -./lib/libkrb5support_gauss.so.0.1 -./lib/libkrb5_gauss.so -./lib/libkrb5_gauss.so.3 -./lib/libkrb5_gauss.so.3.3 -./lib/libcom_err_gauss.so -./lib/libcom_err_gauss.so.3 -./lib/libcom_err_gauss.so.3.0 -./odbc/lib/psqlodbcw.la -./odbc/lib/psqlodbcw.so -[libpq] -./lib/libpq.a -./lib/libpq.so -./lib/libpq.so.5 -./lib/libpq.so.5.5 +./lib/libpq_ce.so +./lib/libpq_ce.so.5 +./lib/libpq_ce.so.5.5 ./lib/libconfig.so ./lib/libconfig.so.4 ./lib/libcrypto.so ./lib/libcrypto.so.1.1 +./lib/libstdc++.so.6 ./lib/libssl.so -./lib/libcmclient.so -./lib/libcmclient.so.1 -./lib/libcmcommon.so -./lib/libcmcommon.so.2 -./lib/libcmpq.so -./lib/libcmpq.so.1 ./lib/libssl.so.1.1 ./lib/libpgport_tool.so ./lib/libpgport_tool.so.1 @@ -1281,10 +1239,49 @@ ./lib/libcom_err_gauss.so ./lib/libcom_err_gauss.so.3 ./lib/libcom_err_gauss.so.3.0 -[cmlibrary] -./lib/libconfig.a -./lib/libcmpq.a -./lib/libpgport.a +[libpq] +./lib/libpq.a +./lib/libpq.so +./lib/libpq.so.5 +./lib/libpq.so.5.5 +./lib/libpq_ce.so +./lib/libpq_ce.so.5 +./lib/libpq_ce.so.5.5 +./lib/libconfig.so +./lib/libconfig.so.4 +./lib/libcrypto.so +./lib/libcrypto.so.1.1 +./lib/libstdc++.so.6 +./lib/libssl.so +./lib/libssl.so.1.1 +./lib/libpgport_tool.so +./lib/libpgport_tool.so.1 +./lib/libgssapi_krb5_gauss.so +./lib/libgssapi_krb5_gauss.so.2 +./lib/libgssapi_krb5_gauss.so.2.2 +./lib/libgssrpc_gauss.so +./lib/libgssrpc_gauss.so.4 +./lib/libgssrpc_gauss.so.4.2 +./lib/libk5crypto_gauss.so +./lib/libk5crypto_gauss.so.3 +./lib/libk5crypto_gauss.so.3.1 +./lib/libkrb5support_gauss.so +./lib/libkrb5support_gauss.so.0 +./lib/libkrb5support_gauss.so.0.1 +./lib/libkrb5_gauss.so +./lib/libkrb5_gauss.so.3 +./lib/libkrb5_gauss.so.3.3 +./lib/libcom_err_gauss.so +./lib/libcom_err_gauss.so.3 +./lib/libcom_err_gauss.so.3.0 +./include/gs_thread.h +./include/gs_threadlocal.h +./include/postgres_ext.h +./include/libpq-fe.h +./include/libpq-events.h +./include/libpq/libpq-fs.h +[version] +V500R001C20 [header] ./include/libpq-fe.h ./include/postgres_ext.h @@ -1293,30 +1290,14 @@ ./include/pg_config.h ./include/pg_config_manual.h ./include/pg_config_os.h -[version] -V500R001C20 -[script] -./script/__init__.py -./script/gs_check -./script/gs_checkos -./script/gs_checkperf -./script/gs_collector -./script/gs_backup -./script/gs_expand -./script/gs_install -./script/gs_om -./script/gs_hotpatch -./script/gs_postuninstall -./script/gs_preinstall -./script/gs_replace -./script/gs_shrink -./script/gs_ssh -./script/gs_sshexkey -./script/gs_uninstall -./script/gs_upgradectl -./script/gs_lcctl -./script/gs_resize -./script/uninstall_force.py -./script/checkRunStatus.py -./script/JsonToDbClustorInfo.py -./script/nodegroup_migrate.sh +./include/cm_config.h +./include/c.h +./include/port.h +./include/cm_msg.h +./include/cm_c.h +./include/cm_misc.h +./include/libpq-int.h +./include/pqcomm.h +./include/pqexpbuffer.h +./include/xlogdefs.h +./include/cm-libpq-fe.h diff --git a/build/script/opengauss_release_list_openeuler_single b/build/script/opengauss_release_list_openeuler_single index 4fef74374..6c6dae049 100644 --- a/build/script/opengauss_release_list_openeuler_single +++ b/build/script/opengauss_release_list_openeuler_single @@ -787,6 +787,7 @@ ./lib/libatomic.so.1 ./lib/libatomic.so.1.2.0 ./lib/libgpr.so +./lib/libmasstree.so ./lib/libgpr.so.9 ./lib/libgpr.so.9.0.0 ./lib/libgrpc.so @@ -892,8 +893,6 @@ ./lib/postgresql/latin2_and_win1250.so ./lib/postgresql/euc2004_sjis2004.so ./lib/libhll.so - - ./include/postgresql/server/postgres_ext.h ./include/postgresql/server/pg_config_os.h ./include/postgresql/server/pgtime.h diff --git a/build/script/package_opengauss.sh b/build/script/package_opengauss.sh old mode 100644 new mode 100755 index 87d50f118..f4eb1f624 --- a/build/script/package_opengauss.sh +++ b/build/script/package_opengauss.sh @@ -19,6 +19,7 @@ declare version_mode='release' declare binarylib_dir='None' + #detect platform information. PLATFORM=32 bit=$(getconf LONG_BIT) @@ -31,25 +32,25 @@ kernel="" version="" if [ -f "/etc/openEuler-release" ] then - kernel=$(cat /etc/openEuler-release | awk -F ' ' '{print $1}' | tr A-Z a-z) - version=$(cat /etc/openEuler-release | awk -F '(' '{print $2}'| awk -F ')' '{print $1}' | tr A-Z a-z) + kernel=$(cat /etc/openEuler-release | awk -F ' ' '{print $1}' | tr A-Z a-z) + version=$(cat /etc/openEuler-release | awk -F '(' '{print $2}'| awk -F ')' '{print $1}' | tr A-Z a-z) elif [ -f "/etc/centos-release" ] then - kernel=$(cat /etc/centos-release | awk -F ' ' '{print $1}' | tr A-Z a-z) - version=$(cat /etc/centos-release | awk -F '(' '{print $2}'| awk -F ')' '{print $1}' | tr A-Z a-z) + kernel=$(cat /etc/centos-release | awk -F ' ' '{print $1}' | tr A-Z a-z) + version=$(cat /etc/centos-release | awk -F '(' '{print $2}'| awk -F ')' '{print $1}' | tr A-Z a-z) elif [ -f "/etc/euleros-release" ] then - kernel=$(cat /etc/centos-release | awk -F ' ' '{print $1}' | tr A-Z a-z) - version=$(cat /etc/centos-release | awk -F '(' '{print $2}'| awk -F ')' '{print $1}' | tr A-Z a-z) + kernel=$(cat /etc/centos-release | awk -F ' ' '{print $1}' | tr A-Z a-z) + version=$(cat /etc/centos-release | awk -F '(' '{print $2}'| awk -F ')' '{print $1}' | tr A-Z a-z) else - kernel=$(lsb_release -d | awk -F ' ' '{print $2}'| tr A-Z a-z) - version=$(lsb_release -r | awk -F ' ' '{print $2}') + kernel=$(lsb_release -d | awk -F ' ' '{print $2}'| tr A-Z a-z) + version=$(lsb_release -r | awk -F ' ' '{print $2}') fi ## to solve kernel="name=openeuler" if echo $kernel | grep -q 'openeuler' then - kernel="openeuler" + kernel="openeuler" fi if [ X"$kernel" == X"centos" ]; then @@ -66,7 +67,9 @@ else exit 1 fi -gcc_version="8.2" +declare release_file_list="opengauss_release_list_${kernel}_single" +declare dest_list="" + ##add platform architecture information PLATFORM_ARCH=$(uname -p) if [ "$PLATFORM_ARCH"X == "aarch64"X ] ; then @@ -74,6 +77,8 @@ if [ "$PLATFORM_ARCH"X == "aarch64"X ] ; then echo "We only support NUMA on openEuler(aarch64), EulerOS(aarch64), Kylin(aarch64) platform." exit 1 fi + + release_file_list="opengauss_release_list_${kernel}_aarch64_single" fi ##default install version storage path @@ -102,19 +107,6 @@ function print_help() " } - -SCRIPT_PATH=${0} -FIRST_CHAR=$(expr substr "$SCRIPT_PATH" 1 1) -if [ "$FIRST_CHAR" = "/" ]; then - SCRIPT_PATH=${0} -else - SCRIPT_PATH="$(pwd)/${SCRIPT_PATH}" -fi - -SCRIPT_DIR=$(cd $(dirname $SCRIPT_PATH) && pwd) -test -d ${SCRIPT_DIR}/../../output || mkdir -p ${SCRIPT_DIR}/../../output -output_path=$(cd ${SCRIPT_DIR}/../../output && pwd) - ####################################################################### ##version 1.1.0 ####################################################################### @@ -123,19 +115,38 @@ function read_srv_version() cd $SCRIPT_DIR version_number=$(grep 'VERSION' opengauss.spec | awk -F "=" '{print $2}') echo "${server_name_for_package}-${version_number}">version.cfg - #auto read the number from kernal globals.cpp, no need to change it here } -function deploy_pkgs() +################################### +# get version number from globals.cpp +################################## +function read_srv_number() { - for pkg in $@; do - if [ -f $pkg ]; then - mv $pkg $output_path/ - fi - done + global_kernal="${ROOT_DIR}/src/common/backend/utils/init/globals.cpp" + version_name="GRAND_VERSION_NUM" + version_num="" + line=$(cat $global_kernal | grep ^const* | grep $version_name) + version_num1=${line#*=} + #remove the symbol; + version_num=$(echo $version_num1 | tr -d ";") + #remove the blank + version_num=$(echo $version_num) + + if echo $version_num | grep -qE '^92[0-9]+$' + then + # get the last three number + latter=${version_num:2} + echo "92.${latter}" >>${SCRIPT_DIR}/version.cfg + else + echo "Cannot get the version number from globals.cpp." + exit 1 + fi } -read_srv_version +SCRIPT_DIR=$(cd $(dirname $0) && pwd) + +test -d ${SCRIPT_DIR}/../../output || mkdir -p ${SCRIPT_DIR}/../../output && rm -fr ${SCRIPT_DIR}/../../output/* +output_path=$(cd ${SCRIPT_DIR}/../../output && pwd) ######################################################################### ##read command line paramenters @@ -174,6 +185,7 @@ while [ $# -gt 0 ]; do esac done +read_srv_version ####################################################################### ## declare all package name @@ -198,12 +210,11 @@ fi PG_REG_TEST_ROOT="${ROOT_DIR}/" PMK_SCHEMA="${ROOT_DIR}/script/pmk_schema.sql" -#declare LOG_FILE="${ROOT_DIR}/package/make_package.log" declare LOG_FILE="${SCRIPT_DIR}/make_package.log" declare BUILD_DIR="${ROOT_DIR}/mppdb_temp_install" BUILD_TOOLS_PATH="${ROOT_DIR}/binarylibs/buildtools/${PLAT_FORM_STR}" BINARYLIBS_PATH="${ROOT_DIR}/binarylibs/dependency/${PLAT_FORM_STR}" -declare UPGRADE_SQL_DIR="${ROOT_DIR}/src/include/catalog/upgrade_sql/open_gauss" +declare UPGRADE_SQL_DIR="${ROOT_DIR}/src/include/catalog/upgrade_sql" if [ "${binarylib_dir}"x != "None"x ] then echo "binarylib dir : ${binarylib_dir}" @@ -211,40 +222,26 @@ then BINARYLIBS_PATH="${binarylib_dir}/dependency/${PLAT_FORM_STR}" fi +gcc_version="7.3" + export CC=$BUILD_TOOLS_PATH/gcc$gcc_version/gcc/bin/gcc export CXX=$BUILD_TOOLS_PATH/gcc$gcc_version/gcc/bin/g++ export LD_LIBRARY_PATH=$BUILD_TOOLS_PATH/gcc$gcc_version/gcc/lib64:$BUILD_TOOLS_PATH/gcc$gcc_version/isl/lib:$BUILD_TOOLS_PATH/gcc$gcc_version/mpc/lib/:$BUILD_TOOLS_PATH/gcc$gcc_version/mpfr/lib/:$BUILD_TOOLS_PATH/gcc$gcc_version/gmp/lib/:$LD_LIBRARY_PATH export PATH=$BUILD_TOOLS_PATH/gcc$gcc_version/gcc/bin:$PATH -################################### -# get version number from globals.cpp -################################## -function read_svr_number() -{ - cd $SCRIPT_DIR - echo "${server_name_for_package}-${version_number}">version.cfg - - global_kernal="${ROOT_DIR}/src/common/backend/utils/init/globals.cpp" - version_name="GRAND_VERSION_NUM" - version_num="" - line=$(cat $global_kernal | grep ^const* | grep $version_name) - version_num1=${line#*=} - #remove the symbol; - version_num=$(echo $version_num1 | tr -d ";") - #remove the blank - version_num=$(echo $version_num) +read_srv_number - if echo $version_num | grep -qE '^92[0-9]+$' - then - # get the last three number - latter=${version_num:2} - echo "92.${latter}" >>${SCRIPT_DIR}/version.cfg - else - echo "Cannot get the version number from globals.cpp." - exit 1 - fi +####################################################################### +# move pkgs to output directory +####################################################################### +function deploy_pkgs() +{ + for pkg in $@; do + if [ -f $pkg ]; then + mv $pkg $output_path/ + fi + done } -read_svr_number ####################################################################### # Print log. @@ -270,28 +267,13 @@ die() ####################################################################### function install_gaussdb() { - cd $ROOT_DIR - - # cp -f ${BINARYLIBS_PATH}/openssl/comm/bin/openssl ${BUILD_DIR}/bin/ - # cp ${BUILD_DIR}/bin/script/gspylib/etc/sql/pmk_schema.sql ${BUILD_DIR}/share/postgresql/ - # if [ -f ${BUILD_DIR}/bin/script/gspylib/etc/sql/pmk_schema_single_inst.sql ]; then - # cp ${BUILD_DIR}/bin/script/gspylib/etc/sql/pmk_schema_single_inst.sql ${BUILD_DIR}/share/postgresql/ - # fi - - # cd $ROOT_DIR - # cp -f ${SCRIPT_DIR}/other/transfer.py ${BUILD_DIR}/bin - # if [ $? -ne 0 ]; then - # die "cp -f ${SCRIPT_DIR}/script/transfer.py ${BUILD_DIR}/bin failed." - # fi - # dos2unix ${BUILD_DIR}/bin/transfer.py > /dev/null 2>&1 - cd $SCRIPT_DIR if [ "$version_mode" = "release" ]; then - chmod +x ./separate_debug_information.sh - ./separate_debug_information.sh - cd $SCRIPT_DIR - mv symbols.tar.gz $kernel_symbol_package_name - deploy_pkgs $kernel_symbol_package_name + chmod +x ./separate_debug_information.sh + ./separate_debug_information.sh + cd $SCRIPT_DIR + mv symbols.tar.gz $kernel_symbol_package_name + deploy_pkgs $kernel_symbol_package_name fi #insert the commitid to version.cfg as the upgrade app path specification @@ -299,7 +281,7 @@ function install_gaussdb() export LD_LIBRARY_PATH=${BUILD_DIR}/lib:$LD_LIBRARY_PATH commitid=$(LD_PRELOAD='' ${BUILD_DIR}/bin/gaussdb -V | awk '{print $5}' | cut -d ")" -f 1) - if [ -z $commitid ] + if [ -z "$commitid" ] then commitid=$(date "+%Y%m%d%H%M%S") commitid=${commitid:4:8} @@ -313,10 +295,10 @@ function install_gaussdb() ####################################################################### function copy_files_list() { - for element in `ls $1` + for element in $(ls $1) do dir_or_file=$1"/"$element - if [ -d $dir_or_file ] + if [ -d "$dir_or_file" ] then copy_files_list $dir_or_file $2 else @@ -324,6 +306,7 @@ function copy_files_list() fi done } + ####################################################################### ##copy target file into temporary directory temp ####################################################################### @@ -335,19 +318,6 @@ function target_file_copy() copy_files_list $file $2 done - # clean unnecessary files - rm -f $2/bin/makesgml - rm -f $2/lib/libecpg* - rm -f $2/lib/libdoprapatch.a - rm -f $2/lib/libpgtypes.a - rm -f $2/lib/libpgport.a - rm -f $2/lib/libz.a - rm -f $2/lib/libpq_ce.a - rm -fr $2/lib/postgresql/pgxs/src/test - rm -f $2/lib/postgresql/test_decoding.so - rm -fr $2/lib/krb5/plugins/preauth - rm -fr $2/lib/krb5/plugins/tls - cp ${SCRIPT_DIR}/version.cfg ${BUILD_DIR}/temp if [ $? -ne 0 ]; then die "copy ${SCRIPT_DIR}/version.cfg to ${BUILD_DIR}/temp failed" @@ -383,22 +353,49 @@ function target_file_copy() fi } +function target_file_copy_for_non_server() +{ + cd ${BUILD_DIR} + for file in $(echo $1) + do + copy_files_list $file $2 + done +} + +####################################################################### +##function make_package_prep have two actions +##1.parse release_file_list variable represent file +##2.copy target file into a newly created temporary directory temp +####################################################################### +function prep_dest_list() +{ + cd $SCRIPT_DIR + releasefile=$1 + pkgname=$2 + + local head=$(cat $releasefile | grep "\[$pkgname\]" -n | awk -F: '{print $1}') + if [ ! -n "$head" ]; then + die "error: ono find $pkgname in the $releasefile file " + fi + + local tail=$(cat $releasefile | sed "1,$head d" | grep "^\[" -n | sed -n "1p" | awk -F: '{print $1}') + if [ ! -n "$tail" ]; then + local all=$(cat $releasefile | wc -l) + let tail=$all+1-$head + fi + + dest_list=$(cat $releasefile | awk "NR==$head+1,NR==$tail+$head-1") +} function make_package_srv() { echo "Begin package server" cd $SCRIPT_DIR - copydest="./bin - ./etc - ./share - ./lib - ./include" - mkdir -p ${BUILD_DIR} - cd ${BUILD_DIR} - rm -rf temp - mkdir -p temp + prep_dest_list $release_file_list 'server' + + rm -rf ${BUILD_DIR}/temp mkdir -p ${BUILD_DIR}/temp/etc - target_file_copy "$copydest" ${BUILD_DIR}/temp + target_file_copy "$dest_list" ${BUILD_DIR}/temp deploy_pkgs ${sha256_name} ${kernel_package_name} echo "make server(all) package success!" @@ -438,59 +435,15 @@ function make_package_upgrade_sql() echo "Successfully packaged upgrade_sql files." } -function target_file_copy_for_non_server() -{ - for file in $(echo $1) - do - tar -cpf - $file | ( cd $2; tar -xpf - ) - done -} - function make_package_libpq() { cd $SCRIPT_DIR - dest="./lib/libpq.a -./lib/libpq.so -./lib/libpq.so.5 -./lib/libpq.so.5.5 -./lib/libconfig.so -./lib/libconfig.so.4 -./lib/libcrypto.so -./lib/libcrypto.so.1.1 -./lib/libssl.so -./lib/libssl.so.1.1 -./lib/libpgport_tool.so -./lib/libpgport_tool.so.1 -./lib/libgssapi_krb5_gauss.so -./lib/libgssapi_krb5_gauss.so.2 -./lib/libgssapi_krb5_gauss.so.2.2 -./lib/libgssrpc_gauss.so -./lib/libgssrpc_gauss.so.4 -./lib/libgssrpc_gauss.so.4.2 -./lib/libk5crypto_gauss.so -./lib/libk5crypto_gauss.so.3 -./lib/libk5crypto_gauss.so.3.1 -./lib/libkrb5support_gauss.so -./lib/libkrb5support_gauss.so.0 -./lib/libkrb5support_gauss.so.0.1 -./lib/libkrb5_gauss.so -./lib/libkrb5_gauss.so.3 -./lib/libkrb5_gauss.so.3.3 -./lib/libcom_err_gauss.so -./lib/libcom_err_gauss.so.3 -./lib/libcom_err_gauss.so.3.0 -./include/gs_thread.h -./include/gs_threadlocal.h -./include/postgres_ext.h -./include/libpq-fe.h -./include/libpq-events.h -./include/libpq/libpq-fs.h" + prep_dest_list $release_file_list 'libpq' - mkdir -p ${BUILD_DIR} - cd ${BUILD_DIR} - rm -rf temp - mkdir temp - target_file_copy_for_non_server "$dest" ${BUILD_DIR}/temp + rm -rf ${BUILD_DIR}/temp + mkdir -p ${BUILD_DIR}/temp + + target_file_copy_for_non_server "$dest_list" ${BUILD_DIR}/temp cd ${BUILD_DIR}/temp echo "packaging libpq..." @@ -507,47 +460,14 @@ function make_package_libpq() function make_package_tools() { cd $SCRIPT_DIR - dest="./lib/libpq.so -./lib/libpq.so.5 -./lib/libpq.so.5.5 -./lib/libconfig.so -./lib/libconfig.so.4 -./lib/libcrypto.so -./lib/libcrypto.so.1.1 -./lib/libssl.so -./lib/libssl.so.1.1 -./lib/libpgport_tool.so -./lib/libpgport_tool.so.1 -./lib/libgssapi_krb5_gauss.so -./lib/libgssapi_krb5_gauss.so.2 -./lib/libgssapi_krb5_gauss.so.2.2 -./lib/libgssrpc_gauss.so -./lib/libgssrpc_gauss.so.4 -./lib/libgssrpc_gauss.so.4.2 -./lib/libk5crypto_gauss.so -./lib/libk5crypto_gauss.so.3 -./lib/libk5crypto_gauss.so.3.1 -./lib/libkrb5support_gauss.so -./lib/libkrb5support_gauss.so.0 -./lib/libkrb5support_gauss.so.0.1 -./lib/libkrb5_gauss.so -./lib/libkrb5_gauss.so.3 -./lib/libkrb5_gauss.so.3.3 -./lib/libcom_err_gauss.so -./lib/libcom_err_gauss.so.3 -./lib/libcom_err_gauss.so.3.0 -./bin/gsql -./bin/gs_dump -./bin/gs_dumpall -./bin/gs_restore -./bin/gs_basebackup -./bin/gs_probackup" + prep_dest_list $release_file_list 'client' - mkdir -p ${BUILD_DIR} - cd ${BUILD_DIR} - rm -rf temp - mkdir temp - target_file_copy_for_non_server "$dest" ${BUILD_DIR}/temp + rm -rf ${BUILD_DIR}/temp + mkdir -p ${BUILD_DIR}/temp + + cd ${BUILD_DIR}/ + + target_file_copy_for_non_server "$dest_list" ${BUILD_DIR}/temp cd ${BUILD_DIR}/temp echo "packaging tools..." diff --git a/configure b/configure index bc31c372e..422997f4d 100755 --- a/configure +++ b/configure @@ -788,6 +788,7 @@ docdir oldincludedir includedir with_3rdpartydir +with_jdk localstatedir sharedstatedir sysconfdir @@ -867,6 +868,7 @@ with_libxslt with_system_tzdata with_zlib with_gnu_ld +with_jdk enable_largefile enable_float4_byval enable_float8_byval @@ -6486,6 +6488,39 @@ fi +# +# JDK +# +with_jdk='' +if [ ! -z "${with_3rdpartydir}" ]; then + platstr=$(sh src/get_PlatForm_str.sh) + for d in "openjdk8" "huaweijdk8"; do + $as_echo "$as_me:$LINENO: checking for jdk in ${with_3rdpartydir}/platform/${platstr}/${d}" >&5 + if [ ! -d "${with_3rdpartydir}/platform/${platstr}/${d}" ]; then + $as_echo "$as_me:$LINENO: result: no" >&5 + continue + fi + + for d2 in $(ls "${with_3rdpartydir}/platform/${platstr}/${d}" | sort -r 2>/dev/null); do + if [ -f "${with_3rdpartydir}/platform/${platstr}/${d}/${d2}/jre/bin/java" ]; then + with_jdk="${with_3rdpartydir}/platform/${platstr}/${d}/${d2}" + break; + fi + done + + if [ ! -z "$with_jdk" ]; then + $as_echo "$as_me:$LINENO: result: yes" >&5 + break; + fi + done + + if [ -z "$with_jdk" ]; then + $as_echo "$as_me:$LINENO: error: there is no jdk (containing jre) found in 3rd party repo" >&5 + $as_echo "$as_me: error: there is no jdk (containing jre) found in 3rd party repo" >&2 + exit 1 + fi +fi + # # Zlib diff --git a/contrib/gsredistribute/gsredistribute--1.0.sql b/contrib/gsredistribute/gsredistribute--1.0.sql index cefb8b966..4dc28f2ba 100644 --- a/contrib/gsredistribute/gsredistribute--1.0.sql +++ b/contrib/gsredistribute/gsredistribute--1.0.sql @@ -111,7 +111,6 @@ BEGIN if not exists (select j.job_id, p.what from pg_job j, pg_job_proc p where j.dbname = database_name and j.job_id = p.job_id and p.what like 'call redis_ts_table(%') then - raise notice 'No redis_ts_table task exists for database %, so do not need to cancel task', database_name; return; end if; -- the job can only submit once @@ -143,6 +142,7 @@ DECLARE BEGIN select current_database() into database_name; if not exists (select * from public.redis_timeseries_detail) then + raise exception 'no ts_table is in redistribution'; return; end if; for var_r in (select reloid from public.redis_timeseries_detail) loop @@ -168,15 +168,12 @@ LANGUAGE plpgsql; -- drop the partition if it is empty, if it is last partition, just drop the table CREATE OR REPLACE FUNCTION pg_catalog.redis_ts_table( --the old table in old nodes, relname is redis_old_ - IN redis_oid oid, - IN transfer_interval interval -) + IN redis_oid oid) RETURNS void AS $$ DECLARE v_count int; - time_column_name name; old_rel_name name; new_rel_name name; origin_relname name; @@ -211,66 +208,56 @@ BEGIN end if; -- cannot just set in current transaction, the kernel check the usess, input parameter must be false - sql := 'select set_config(''enable_cluster_resize'', ''on'', false)'; + sql = 'select set_config(''enable_cluster_resize'', ''on'', false)'; execute sql; - - select attname from pg_attribute where attkvtype = 3 and attrelid = redis_oid into time_column_name; - select relname, boundaries[1] from pg_partition where parttype = 'p' and parentid = redis_oid - order by boundaries[1] desc limit 1 into part_name, start_time; - sql := 'select count(*) from (select * from "'||schemaname||'"."'||old_rel_name||'" partition('||part_name||') limit 1);'; + -- table is empty drop it + sql = 'select count(*) from "'||schemaname||'"."'||old_rel_name||'";'; execute sql into v_count; - -- if this partition has no value, drop this partition or drop this table + -- no data in old_rel_name drop the table if v_count = 0 then - sql := 'select count(*) from (select * from pg_partition where parttype = ''p'' and parentid = '||redis_oid||' limit 2);'; - execute sql into v_count; - if v_count = 1 then - -- drop the redis_view and rule cascade - sql = 'drop table if exists "'||schemaname||'"."'||old_rel_name||'" cascade;'; - execute sql; - --cannot drop table redis_old_ because this task need it, in the task, if we cancel the task, it will raise error - sql = 'alter table "'||schemaname||'"."'||new_rel_name||'" rename to "'||origin_relname||'";'; - execute sql; - return; - else - sql = 'alter table "'||schemaname||'"."'||old_rel_name||'" drop partition "'||part_name||'";'; - execute sql; - end if; + -- drop the redis_view and rule cascade + sql = 'drop table if exists "'||schemaname||'"."'||old_rel_name||'" cascade;'; + execute sql; + sql = 'alter table "'||schemaname||'"."'||new_rel_name||'" rename to "'||origin_relname||'";'; + execute sql; return; end if; - -- the partition must has value, so execute delete this time - max_try_transfer = 0; + -- we have already handle condition with empty table, at least one partition should have data while 1 loop - sql := 'select timestamp '''||start_time||''' - interval '''||transfer_interval||''';'; - execute sql into end_time; - sql := 'insert into "'||schemaname||'"."'||new_rel_name|| - '" select * from "'||schemaname||'"."'||old_rel_name||'" partition("'||part_name||'") - where "'||time_column_name||'" between '''||start_time||''' and '''||end_time||''';'; - execute sql; - GET DIAGNOSTICS i_count = ROW_COUNT; - if i_count = 0 then - start_time = end_time; - -- for the last partition, if we just try to drop by time interval, it may be very long, so we just execute 50 times and then transfer all the partition - if max_try_transfer >= 50 then - sql := 'select count(*) from (select * from pg_partition where parttype = ''p'' and parentid = '||redis_oid||' limit 2);'; - execute sql into v_count; - if v_count = 1 then - -- next run time job will do the last drop rule and table - sql := 'insert into "'||schemaname||'"."'||new_rel_name|| - '" select * from "'||schemaname||'"."'||old_rel_name||'" partition("'||part_name||'");'; - execute sql; - sql := 'truncate "'||schemaname||'"."'||old_rel_name||'";'; - execute sql; - return; - end if; - end if; - else - sql := 'delete from "'||schemaname||'"."'||old_rel_name||'" where "'||time_column_name||'" between ''' - ||start_time||''' and '''||end_time||''';'; + select relname from pg_partition where parttype = 'p' and parentid = redis_oid + order by boundaries[1] desc limit 1 into part_name; + + sql := 'select count(*) from "'||schemaname||'"."'||old_rel_name||'" partition('||part_name||');'; + execute sql into v_count; + -- if this partition has no value, drop this partition + if v_count = 0 then + sql = 'alter table "'||schemaname||'"."'||old_rel_name||'" drop partition "'||part_name||'";'; execute sql; - return; + CONTINUE; + else + EXIT; end if; - max_try_transfer := max_try_transfer + 1; end loop; + -- the partition has value, so execute delete this time + sql = 'set session_timeout = 0;'; + execute sql; + sql = 'set enable_analyze_check = off;'; + execute sql; + sql = 'insert into "'||schemaname||'"."'||new_rel_name|| + '" select * from "'||schemaname||'"."'||old_rel_name||'" partition("'||part_name||'") '; + execute sql; + sql = 'select count(*) from pg_partition where parentid = '||redis_oid||' and parttype = ''p'';'; + execute sql into v_count; + -- if only only one partition left drop table cascade + if v_count = 1 then + sql = 'drop table if exists "'||schemaname||'"."'||old_rel_name||'" cascade;'; + execute sql; + sql = 'alter table "'||schemaname||'"."'||new_rel_name||'" rename to "'||origin_relname||'";'; + execute sql; + else + sql = 'alter table "'||schemaname||'"."'||old_rel_name||'" drop partition "'||part_name||'";'; + execute sql; + end if; END; $$ LANGUAGE plpgsql; @@ -278,7 +265,6 @@ LANGUAGE plpgsql; -- submit the redis_ts_table task for one table, old_oid means redis_old_ which exists in the old group CREATE OR REPLACE FUNCTION pg_catalog.submit_redis_task( IN old_oid oid, - IN transfer_interval interval default '10 minutes', IN schedule_interval interval default '1 minute' ) RETURNS void @@ -299,7 +285,7 @@ BEGIN end if; sql := ' SELECT EXTRACT(epoch FROM interval '''||schedule_interval||''')/3600'; EXECUTE sql INTO time_interval; - sql := 'SELECT DBE_TASK.submit(''call redis_ts_table('||old_oid||','''''||transfer_interval||''''');'', + sql := 'SELECT DBE_TASK.submit(''call redis_ts_table('||old_oid||');'', sysdate, ''sysdate + '||time_interval||' / 24'');'; EXECUTE sql into job_id; -- if drop the table redis_new_ or redis_old_, must cancel the task mannual @@ -309,7 +295,6 @@ LANGUAGE plpgsql; -- the first is the time column that transfer to other table, the second is the intervel that call the job CREATE OR REPLACE FUNCTION pg_catalog.submit_all_redis_task( - IN transfer_interval interval default '10 minutes', IN schedule_interval interval default '1 minute') RETURNS void AS @@ -336,9 +321,8 @@ BEGIN c.relkind = ''r'' and c.parttype=''p'' and xc.pgroup='''||old_group_name||''' and xc.pcrelid = c.oid and c.relname like ''redis_old_%'''; for var_r in execute sql loop - sql := 'select pg_catalog.submit_redis_task('||var_r.oid||', ' - ||quote_literal(transfer_interval)||', ' - ||quote_literal(schedule_interval)||');'; + sql := 'select pg_catalog.submit_redis_task('||var_r.oid||', + '||quote_literal(schedule_interval)||');'; execute sql; end loop; END; diff --git a/contrib/gsredistribute/gsredistribute.cpp b/contrib/gsredistribute/gsredistribute.cpp old mode 100644 new mode 100755 diff --git a/contrib/mppdb_decoding/mppdb_decoding.cpp b/contrib/mppdb_decoding/mppdb_decoding.cpp old mode 100755 new mode 100644 diff --git a/contrib/oid2name/oid2name.cpp b/contrib/oid2name/oid2name.cpp index f3b952908..719ba96ea 100644 --- a/contrib/oid2name/oid2name.cpp +++ b/contrib/oid2name/oid2name.cpp @@ -188,10 +188,14 @@ static void help(const char* progname) " -V, --version output version information, then exit\n" " -x extended (show additional columns)\n" " -?, --help show this help, then exit\n" - "\nThe default action is to show all database OIDs.\n\n" - "Report bugs to .\n", + "\nThe default action is to show all database OIDs.\n", progname, progname); +#if ((defined(ENABLE_MULTIPLE_NODES)) || (defined(ENABLE_PRIVATEGAUSS))) + printf("\nReport bugs to GaussDB support.\n"); +#else + printf("\nReport bugs to openGauss community by raising an issue.\n"); +#endif } void* pg_malloc(size_t size) diff --git a/contrib/oracle_fdw/Makefile b/contrib/oracle_fdw/Makefile index 584ee887a..323e4f0cb 100644 --- a/contrib/oracle_fdw/Makefile +++ b/contrib/oracle_fdw/Makefile @@ -27,9 +27,9 @@ install:install-data top_builddir ?= ../../ include $(top_builddir)/src/Makefile.global ORACLE_FDW_DIR=output -ORACLE_FDW_PACKAGE=ORACLE_FDW_2_1_0 -ORACLE_FDW_UNZIPPED_PACKAGE=oracle_fdw-ORACLE_FDW_2_1_0 -ORACLE_FDW_PATCH=opengauss_oracle_fdw-2.1.0_patch +ORACLE_FDW_PACKAGE=oracle_fdw-ORACLE_FDW_2_2_0 +ORACLE_FDW_UNZIPPED_PACKAGE=oracle_fdw-ORACLE_FDW_2_2_0 +ORACLE_FDW_PATCH=opengauss_oracle_fdw-2.2.0_patch ORACLE_FDW_MEGRED_SOURCES_DIR=$(ORACLE_FDW_DIR)/code .PHONY: oracle_fdw_target @@ -38,8 +38,8 @@ oracle_fdw_target: prep_checked @make -C $(ORACLE_FDW_MEGRED_SOURCES_DIR)/$(ORACLE_FDW_UNZIPPED_PACKAGE) NO_PGXS=1 prep_checked: - @test -f $(ORCFDW_HOME)/$(ORACLE_FDW_PACKAGE).zip || ( echo "ERROR: You need copy oracle_fdw from 'third_party' repo to 'third_party_binarylibs' repo and keep directory strucutre unchanged" && exit 1 ) - @test -f $(ORCFDW_HOME)/$(ORACLE_FDW_PACKAGE).zip && date > prep_checked + @test -f $(ORCFDW_HOME)/$(ORACLE_FDW_PACKAGE).tar.gz || ( echo "ERROR: You need copy oracle_fdw from 'third_party' repo to 'third_party_binarylibs' repo and keep directory strucutre unchanged" && exit 1 ) + @test -f $(ORCFDW_HOME)/$(ORACLE_FDW_PACKAGE).tar.gz && date > prep_checked .PHONY: install-data install-data: oracle_fdw_target @@ -53,14 +53,6 @@ define create_oracle_fdw_sources mkdir $(ORACLE_FDW_DIR);\ cp -r $(ORCFDW_HOME)/. $(ORACLE_FDW_DIR);\ mkdir $(ORACLE_FDW_MEGRED_SOURCES_DIR); \ - unzip -o $(ORACLE_FDW_DIR)/$(ORACLE_FDW_PACKAGE).zip -d $(ORACLE_FDW_MEGRED_SOURCES_DIR) &> /dev/null; \ - for ((i=1;i<=99;i++)); \ - do \ - file_name="$(ORACLE_FDW_DIR)/$$i-oracle_fdw-2.2.0_patch.patch"; \ - if [ ! -f "$$file_name" ]; then \ - exit 0; \ - fi; \ - patch -p0 -d $(ORACLE_FDW_MEGRED_SOURCES_DIR)/$(ORACLE_FDW_UNZIPPED_PACKAGE) < $$file_name &> /dev/null; \ - done + tar -xzvf $(ORACLE_FDW_DIR)/$(ORACLE_FDW_PACKAGE).tar.gz -C $(ORACLE_FDW_MEGRED_SOURCES_DIR) &> /dev/null; \ patch -p0 -d $(ORACLE_FDW_MEGRED_SOURCES_DIR)/$(ORACLE_FDW_UNZIPPED_PACKAGE) < $(ORACLE_FDW_DIR)/$(ORACLE_FDW_PATCH).patch &> /dev/null; endef diff --git a/contrib/pagehack/pagehack.cpp b/contrib/pagehack/pagehack.cpp old mode 100755 new mode 100644 index 983b3da70..8053fcbca --- a/contrib/pagehack/pagehack.cpp +++ b/contrib/pagehack/pagehack.cpp @@ -1014,9 +1014,12 @@ static void usage(const char* progname) " -d only for test, use 0xFF to fill the last half page[4k]\n" "\nCommon options:\n" " --help, -h show this help, then exit\n" - " --version, -V output version information, then exit\n" - "\n" - "Report bugs to .\n"); + " --version, -V output version information, then exit\n"); +#if ((defined(ENABLE_MULTIPLE_NODES)) || (defined(ENABLE_PRIVATEGAUSS))) + printf("\nReport bugs to GaussDB support.\n"); +#else + printf("\nReport bugs to openGauss community by raising an issue.\n"); +#endif } static bool HexStringToInt(char* hex_string, int* result) @@ -2787,6 +2790,7 @@ static int parse_page_file(const char* filename, SegmentType type, const uint32 if ((0 == size) || (0 != size % BLCKSZ)) { fprintf(stderr, "The page file size is not an exact multiple of BLCKSZ\n"); + fclose(fd); return false; } @@ -2795,6 +2799,7 @@ static int parse_page_file(const char* filename, SegmentType type, const uint32 /* parse */ if (start >= blknum) { fprintf(stderr, "start point exceeds the total block number of relation.\n"); + fclose(fd); return false; } else if ((start + number) > blknum) { fprintf(stderr, @@ -2817,11 +2822,13 @@ static int parse_page_file(const char* filename, SegmentType type, const uint32 result = fread(buffer, 1, BLCKSZ, fd); if (BLCKSZ != result) { fprintf(stderr, "Reading error"); + fclose(fd); return false; } if (!parse_a_page(buffer, start, blknum, type)) { fprintf(stderr, "Error during parsing block %d/%d\n", start, blknum); + fclose(fd); return false; } @@ -3962,12 +3969,20 @@ static bool parse_dw_single_flush_file(const char* file_name) result = fread(file_head, 1, BLCKSZ, fd); if (BLCKSZ != result) { fprintf(stderr, "Reading error"); + free(item); + free(unaligned_buf); + free(unaligned_buf2); + fclose(fd); return false; } fseek(fd, BLCKSZ, SEEK_SET); result = fread(item_buf, 1, blk_num * BLCKSZ, fd); if (blk_num * BLCKSZ != result) { fprintf(stderr, "Reading error"); + free(item); + free(unaligned_buf); + free(unaligned_buf2); + fclose(fd); return false; } @@ -4023,6 +4038,10 @@ static bool parse_dw_single_flush_file(const char* file_name) result = fread(dw_block, 1, BLCKSZ, fd); if (BLCKSZ != result) { fprintf(stderr, "Reading error"); + free(item); + free(unaligned_buf); + free(unaligned_buf2); + fclose(fd); return false; } if (temp->buf_tag.rnode.bucketNode == -1) { diff --git a/contrib/pg_archivecleanup/pg_archivecleanup.cpp b/contrib/pg_archivecleanup/pg_archivecleanup.cpp index 519cf669d..483839218 100644 --- a/contrib/pg_archivecleanup/pg_archivecleanup.cpp +++ b/contrib/pg_archivecleanup/pg_archivecleanup.cpp @@ -242,7 +242,11 @@ static void usage(void) "Or for use as a standalone archive cleaner:\n" "e.g.\n" " pg_archivecleanup /mnt/server/archiverdir 000000010000000000000010.00000020.backup\n"); - printf("\nReport bugs to or join opengauss community .\n"); +#if ((defined(ENABLE_MULTIPLE_NODES)) || (defined(ENABLE_PRIVATEGAUSS))) + printf("\nReport bugs to GaussDB support.\n"); +#else + printf("\nReport bugs to community@opengauss.org> or join opengauss community .\n"); +#endif } /*------------ MAIN ----------------------------------------*/ diff --git a/contrib/pg_standby/pg_standby.cpp b/contrib/pg_standby/pg_standby.cpp index a7a410713..d83abcdb3 100644 --- a/contrib/pg_standby/pg_standby.cpp +++ b/contrib/pg_standby/pg_standby.cpp @@ -494,7 +494,11 @@ static void usage(void) " restore_command = 'pg_standby [OPTION]... ARCHIVELOCATION %%f %%p %%r'\n" "e.g.\n" " restore_command = 'pg_standby /mnt/server/archiverdir %%f %%p %%r'\n"); - printf("\nReport bugs to or join opengauss community .\n"); +#if ((defined(ENABLE_MULTIPLE_NODES)) || (defined(ENABLE_PRIVATEGAUSS))) + printf("\nReport bugs to GaussDB support.\n"); +#else + printf("\nReport bugs to community@opengauss.org> or join opengauss community .\n"); +#endif } #ifndef WIN32 diff --git a/contrib/pg_trgm/trgm_op.cpp b/contrib/pg_trgm/trgm_op.cpp old mode 100644 new mode 100755 diff --git a/contrib/pgbench/pgbench.cpp b/contrib/pgbench/pgbench.cpp old mode 100644 new mode 100755 index 7763890d7..bf4ce53f4 --- a/contrib/pgbench/pgbench.cpp +++ b/contrib/pgbench/pgbench.cpp @@ -466,11 +466,14 @@ static void usage(const char* progname) " -U USERNAME connect as specified database user\n" " -W PASSWORD connect as specified database user through explicit password\n" " -V, --version output version information, then exit\n" - " -?, --help show this help, then exit\n" - "\n" - "Report bugs to or join opengauss community .\n", + " -?, --help show this help, then exit\n", progname, progname); +#if ((defined(ENABLE_MULTIPLE_NODES)) || (defined(ENABLE_PRIVATEGAUSS))) + printf("\nReport bugs to GaussDB support.\n"); +#else + printf("\nReport bugs to community@opengauss.org> or join opengauss community .\n"); +#endif } /* random number generator: uniform distribution from min to max inclusive */ diff --git a/contrib/postgis/extension_dependency.h b/contrib/postgis/extension_dependency.h old mode 100755 new mode 100644 diff --git a/contrib/postgres_fdw/.gitignore b/contrib/postgres_fdw/.gitignore old mode 100644 new mode 100755 diff --git a/contrib/postgres_fdw/Makefile b/contrib/postgres_fdw/Makefile old mode 100644 new mode 100755 diff --git a/contrib/postgres_fdw/connection.cpp b/contrib/postgres_fdw/connection.cpp old mode 100644 new mode 100755 diff --git a/contrib/postgres_fdw/deparse.cpp b/contrib/postgres_fdw/deparse.cpp old mode 100644 new mode 100755 diff --git a/contrib/postgres_fdw/expected/postgres_fdw.out b/contrib/postgres_fdw/expected/postgres_fdw.out old mode 100644 new mode 100755 diff --git a/contrib/postgres_fdw/option.cpp b/contrib/postgres_fdw/option.cpp old mode 100644 new mode 100755 diff --git a/contrib/postgres_fdw/postgres_fdw--1.0.sql b/contrib/postgres_fdw/postgres_fdw--1.0.sql old mode 100644 new mode 100755 diff --git a/contrib/postgres_fdw/postgres_fdw.control b/contrib/postgres_fdw/postgres_fdw.control old mode 100644 new mode 100755 diff --git a/contrib/postgres_fdw/postgres_fdw.cpp b/contrib/postgres_fdw/postgres_fdw.cpp old mode 100644 new mode 100755 diff --git a/contrib/postgres_fdw/postgres_fdw.h b/contrib/postgres_fdw/postgres_fdw.h old mode 100644 new mode 100755 diff --git a/contrib/postgres_fdw/sql/postgres_fdw.sql b/contrib/postgres_fdw/sql/postgres_fdw.sql old mode 100644 new mode 100755 diff --git a/contrib/security_plugin/access_audit.cpp b/contrib/security_plugin/access_audit.cpp old mode 100644 new mode 100755 diff --git a/contrib/security_plugin/access_audit.h b/contrib/security_plugin/access_audit.h old mode 100644 new mode 100755 diff --git a/contrib/security_plugin/gs_audit_policy.cpp b/contrib/security_plugin/gs_audit_policy.cpp old mode 100644 new mode 100755 diff --git a/contrib/security_plugin/gs_audit_policy.h b/contrib/security_plugin/gs_audit_policy.h old mode 100644 new mode 100755 diff --git a/contrib/security_plugin/gs_mask_policy.h b/contrib/security_plugin/gs_mask_policy.h old mode 100644 new mode 100755 diff --git a/contrib/security_plugin/gs_policy_filter.cpp b/contrib/security_plugin/gs_policy_filter.cpp old mode 100644 new mode 100755 diff --git a/contrib/security_plugin/gs_policy_filter.h b/contrib/security_plugin/gs_policy_filter.h old mode 100644 new mode 100755 diff --git a/contrib/security_plugin/gs_policy_labels.cpp b/contrib/security_plugin/gs_policy_labels.cpp old mode 100644 new mode 100755 diff --git a/contrib/security_plugin/gs_policy_labels.h b/contrib/security_plugin/gs_policy_labels.h old mode 100644 new mode 100755 diff --git a/contrib/security_plugin/gs_policy_logical_tree.cpp b/contrib/security_plugin/gs_policy_logical_tree.cpp old mode 100644 new mode 100755 diff --git a/contrib/security_plugin/gs_policy_logical_tree.h b/contrib/security_plugin/gs_policy_logical_tree.h old mode 100644 new mode 100755 diff --git a/contrib/security_plugin/gs_policy_object_types.cpp b/contrib/security_plugin/gs_policy_object_types.cpp old mode 100644 new mode 100755 index af637ffe8..62b20249f --- a/contrib/security_plugin/gs_policy_object_types.cpp +++ b/contrib/security_plugin/gs_policy_object_types.cpp @@ -251,6 +251,38 @@ PolicyLabelItem::PolicyLabelItem(const char *schema, const char *object, const c } } +void PolicyLabelItem::init(const PolicyLabelItem &arg) +{ + m_schema = arg.m_schema; + m_object = arg.m_object; + errno_t rc = memset_s(m_column, sizeof(m_column), 0, sizeof(m_column)); + securec_check(rc, "\0", "\0"); + if (arg.m_column != NULL && strlen(arg.m_column) > 0) + { + rc = snprintf_s(m_column, sizeof(m_column), strlen(arg.m_column), "%s", arg.m_column); + securec_check_ss(rc, "\0", "\0"); + } + m_obj_type = arg.m_obj_type; +} + +PolicyLabelItem::PolicyLabelItem(const PolicyLabelItem &arg) +{ + if (this == &arg) { + return; + } + init(arg); +} + +PolicyLabelItem &PolicyLabelItem::operator=(const PolicyLabelItem &arg) +{ + if (this == &arg) { + return *this; + } + + init(arg); + return *this; +} + /* * set_object * set m_obj_type and objid by given parameters. @@ -354,8 +386,8 @@ bool get_function_name(long long funcid, PolicyLabelItem *func_label) const char *procname = func_rel->proname.data; func_label->m_schema = func_rel->pronamespace; - ReleaseSysCache(tuple); func_label->set_object(procname, O_FUNCTION); + ReleaseSysCache(tuple); return true; } diff --git a/contrib/security_plugin/gs_policy_object_types.h b/contrib/security_plugin/gs_policy_object_types.h old mode 100644 new mode 100755 index 7a00396b5..0d14c7240 --- a/contrib/security_plugin/gs_policy_object_types.h +++ b/contrib/security_plugin/gs_policy_object_types.h @@ -118,7 +118,10 @@ struct PolicyLabelItem { PolicyLabelItem(const char *schema = "", const char *object = "", const char *column = "", int obj_type = O_TABLE); PolicyLabelItem(Oid schema, Oid object, int obj_type, const char *column = ""); + PolicyLabelItem(const PolicyLabelItem &arg); + PolicyLabelItem &operator=(const PolicyLabelItem &arg); + void init(const PolicyLabelItem &arg); void get_fqdn_value(gs_stl::gs_string *value) const; bool operator < (const PolicyLabelItem& arg) const; diff --git a/contrib/security_plugin/gs_policy_plugin.cpp b/contrib/security_plugin/gs_policy_plugin.cpp old mode 100644 new mode 100755 index ef9e474c7..132018139 --- a/contrib/security_plugin/gs_policy_plugin.cpp +++ b/contrib/security_plugin/gs_policy_plugin.cpp @@ -572,7 +572,7 @@ static inline void set_cursor_stmt_as_masked(const char* name, const masking_res (*masked_cursor_stmts)[name] = (*result); } -void set_result_set_function(const PolicyLabelItem func) +void set_result_set_function(const PolicyLabelItem &func) { if (result_set_functions == NULL) { result_set_functions = new gs_policy_label_set; diff --git a/contrib/security_plugin/gs_policy_plugin.h b/contrib/security_plugin/gs_policy_plugin.h old mode 100644 new mode 100755 index d8b4573e2..7eb714b3b --- a/contrib/security_plugin/gs_policy_plugin.h +++ b/contrib/security_plugin/gs_policy_plugin.h @@ -46,7 +46,7 @@ void get_remote_addr(IPV6 *ip); const char* get_session_app_name(); const char* GetUserName(char* user_name, size_t user_name_size); bool get_ipaddress(gs_stl::gs_string& ipaddress); -void set_result_set_function(const PolicyLabelItem func); +void set_result_set_function(const PolicyLabelItem &func); void get_name_range_var(const RangeVar *rangevar, gs_stl::gs_string *buffer, bool enforce = true); CmdType get_rte_commandtype(RangeTblEntry *rte); extern void load_database_policy_info(); diff --git a/contrib/security_plugin/masking.cpp b/contrib/security_plugin/masking.cpp index 294ff8643..e9b691d8e 100644 --- a/contrib/security_plugin/masking.cpp +++ b/contrib/security_plugin/masking.cpp @@ -136,9 +136,8 @@ static bool mask_func(ParseState *pstate, Expr*& expr, bool is_masking = false; if (nodeTag(expr) == T_FuncExpr) { FuncExpr *fe = (FuncExpr *)(expr); - { - PolicyLabelItem func_value; - get_function_name(fe->funcid, &func_value); + PolicyLabelItem func_value; + if (get_function_name(fe->funcid, &func_value)) { set_result_set_function(func_value); } if (fe->args != NULL) { @@ -161,8 +160,9 @@ static void parse_func(Node* expr) FuncExpr *fe = (FuncExpr *)expr; { PolicyLabelItem func_value; - get_function_name(fe->funcid, &func_value); - set_result_set_function(func_value); + if (get_function_name(fe->funcid, &func_value)) { + set_result_set_function(func_value); + } } if (fe->args != NIL) { ListCell* temp = NULL; @@ -826,75 +826,72 @@ static bool mask_list_parameters(List **params, ParseState *pstate, bool *is_mas return *is_masking; } +static bool mask_sublink(ParseState *pstate, Expr*& expr, + const policy_set *policy_ids, masking_result *result, List* rtable, bool can_mask) +{ + if (expr == NULL) { + return false; + } + SubLink *sublink = (SubLink *) expr; + Query *query = (Query *) sublink->subselect; + ListCell* temp = NULL; + bool is_masking = false; + foreach (temp, query->targetList) { + TargetEntry *old_tle = (TargetEntry *) lfirst(temp); + is_masking = parser_target_entry(pstate, old_tle, policy_ids, result, query->rtable, can_mask) || is_masking; + } + return is_masking; +} + static bool mask_expr_node(ParseState *pstate, Expr*& expr, const policy_set *policy_ids, masking_result *result, List* rtable, bool can_mask) { if (expr == NULL) { return false; } - bool is_masking = false; switch (nodeTag(expr)) { case T_SubLink: - { - SubLink *sublink = (SubLink *) expr; - Query *query = (Query *) sublink->subselect; - ListCell* temp = NULL; - foreach (temp, query->targetList) { - TargetEntry *old_tle = (TargetEntry *) lfirst(temp); - parser_target_entry(pstate, old_tle, policy_ids, result, query->rtable, can_mask); - } - } - break; + return mask_sublink(pstate, expr, policy_ids, result, rtable, can_mask); case T_FuncExpr: - { - bool func_masked = mask_func(pstate, expr, policy_ids, result, rtable, can_mask); - is_masking = func_masked || is_masking; - } - break; + return mask_func(pstate, expr, policy_ids, result, rtable, can_mask); case T_Var: - { - bool var_masked = handle_masking_node(pstate, expr, policy_ids, result, rtable, can_mask); - is_masking = var_masked || is_masking; - } - break; - case T_RelabelType: - { + return handle_masking_node(pstate, expr, policy_ids, result, rtable, can_mask); + case T_RelabelType: { RelabelType *relabel = (RelabelType *) expr; if (relabel->arg != NULL) { - bool expr_masked = mask_expr_node(pstate, (Expr *&)relabel->arg, policy_ids, result, rtable, can_mask); - is_masking = expr_masked || is_masking; + return mask_expr_node(pstate, (Expr *&)relabel->arg, policy_ids, result, rtable, can_mask); } + break; } - break; - case T_CoerceViaIO: - { + case T_CoerceViaIO: { CoerceViaIO *coerce = (CoerceViaIO *) expr; if (coerce->arg != NULL) { - bool expr_masked = mask_expr_node(pstate, (Expr *&)coerce->arg, policy_ids, result, rtable, false); - is_masking = expr_masked || is_masking; + return mask_expr_node(pstate, (Expr *&)coerce->arg, policy_ids, result, rtable, false); } + break; } - break; - case T_Aggref: - { + case T_Aggref: { Aggref *agg = (Aggref *) expr; if (agg->args != NIL && list_length(agg->args) > 0) { + bool is_masking = false; mask_list_parameters(&(agg->args), pstate, &is_masking, policy_ids, result, rtable, can_mask); + return is_masking; } + break; } - break; - case T_OpExpr: - { + case T_OpExpr: { OpExpr *opexpr = (OpExpr *) expr; if (opexpr->args != NIL && list_length(opexpr->args) > 0) { + bool is_masking = false; mask_list_parameters(&(opexpr->args), pstate, &is_masking, policy_ids, result, rtable, can_mask); + return is_masking; } + break; } - break; default: break; } - return is_masking; + return false; } bool parser_target_entry(ParseState *pstate, TargetEntry *&old_tle, diff --git a/contrib/security_plugin/privileges_audit.cpp b/contrib/security_plugin/privileges_audit.cpp old mode 100644 new mode 100755 diff --git a/contrib/security_plugin/privileges_audit.h b/contrib/security_plugin/privileges_audit.h old mode 100644 new mode 100755 index 364f74671..22be892bd --- a/contrib/security_plugin/privileges_audit.h +++ b/contrib/security_plugin/privileges_audit.h @@ -33,8 +33,6 @@ typedef std::pair names_pair; void acl_audit_object(const policy_set *security_policy_ids, const policy_set *policy_ids, const names_pair names, int priv_type, const char *priv_name, int objtype); -void extracted(policy_simple_set& policy_result, bool ignore_db, const char* priv_name, const PolicyLabelItem* item, - const gs_stl::gs_string& obj_value); bool internal_audit_object_str(const policy_set* security_policy_ids, const policy_set* policy_ids, const PolicyLabelItem* item, int priv_type, const char* priv_name, const char* objname = "", bool ignore_db = false); diff --git a/contrib/unaccent/unaccent.cpp b/contrib/unaccent/unaccent.cpp old mode 100644 new mode 100755 diff --git a/contrib/vacuumlo/vacuumlo.cpp b/contrib/vacuumlo/vacuumlo.cpp index 75e259e0b..4a78ac168 100644 --- a/contrib/vacuumlo/vacuumlo.cpp +++ b/contrib/vacuumlo/vacuumlo.cpp @@ -343,8 +343,11 @@ static void usage(const char* progname) printf(" -U USERNAME user name to connect as\n"); printf(" -w never prompt for password\n"); printf(" -W force password prompt\n"); - printf("\n"); - printf("Report bugs to or join opengauss community .\n"); +#if ((defined(ENABLE_MULTIPLE_NODES)) || (defined(ENABLE_PRIVATEGAUSS))) + printf("\nReport bugs to GaussDB support.\n"); +#else + printf("\nReport bugs to community@opengauss.org> or join opengauss community .\n"); +#endif } int main(int argc, char** argv) diff --git a/contrib/xml2/xpath.cpp b/contrib/xml2/xpath.cpp old mode 100644 new mode 100755 diff --git a/doc/src/sgml/ref/allfiles.sgmlin b/doc/src/sgml/ref/allfiles.sgmlin index a6e38d9b3..e0ee99a52 100644 --- a/doc/src/sgml/ref/allfiles.sgmlin +++ b/doc/src/sgml/ref/allfiles.sgmlin @@ -42,7 +42,6 @@ Complete list of usable sgml source files in this directory. - diff --git a/doc/src/sgml/ref/alter_audit_policy.sgmlin b/doc/src/sgml/ref/alter_audit_policy.sgmlin old mode 100644 new mode 100755 diff --git a/doc/src/sgml/ref/alter_role.sgmlin b/doc/src/sgml/ref/alter_role.sgmlin old mode 100644 new mode 100755 diff --git a/doc/src/sgml/ref/alter_table.sgmlin b/doc/src/sgml/ref/alter_table.sgmlin index d2a8caa91..f7438b522 100755 --- a/doc/src/sgml/ref/alter_table.sgmlin +++ b/doc/src/sgml/ref/alter_table.sgmlin @@ -45,15 +45,10 @@ column_clause | ENABLE TRIGGER [ trigger_name | ALL | USER ] | ENABLE REPLICA TRIGGER trigger_name | ENABLE ALWAYS TRIGGER trigger_name - | DISABLE RULE rewrite_rule_name - | ENABLE RULE rewrite_rule_name - | ENABLE REPLICA RULE rewrite_rule_name - | ENABLE ALWAYS RULE rewrite_rule_name | ENABLE ROW LEVEL SECURITY | DISABLE ROW LEVEL SECURITY | FORCE ROW LEVEL SECURITY | NO FORCE ROW LEVEL SECURITY - | REPLICA IDENTITY {DEFAULT | USING INDEX index_name | FULL | NOTHING} where column_clause can be: ADD [ COLUMN ] column_name data_type [ compress_mode ] [ COLLATE collation ] [ column_constraint [ ... ] ] | MODIFY column_name data_type diff --git a/doc/src/sgml/ref/alter_user.sgmlin b/doc/src/sgml/ref/alter_user.sgmlin old mode 100644 new mode 100755 diff --git a/doc/src/sgml/ref/create_audit_policy.sgmlin b/doc/src/sgml/ref/create_audit_policy.sgmlin old mode 100644 new mode 100755 diff --git a/doc/src/sgml/ref/drop_audit_policy.sgmlin b/doc/src/sgml/ref/drop_audit_policy.sgmlin old mode 100644 new mode 100755 diff --git a/docker/dockerfiles/1.0.0/dockerfile_arm b/docker/dockerfiles/1.0.0/dockerfile_arm old mode 100755 new mode 100644 diff --git a/docker/dockerfiles/1.0.0/entrypoint.sh b/docker/dockerfiles/1.0.0/entrypoint.sh old mode 100755 new mode 100644 index c408684ee..2fa68bfd1 --- a/docker/dockerfiles/1.0.0/entrypoint.sh +++ b/docker/dockerfiles/1.0.0/entrypoint.sh @@ -1,4 +1,26 @@ -#!/usr/bin/env bash +#!/bin/bash +# entrypoint of docker file +# Copyright (c) Huawei Technologies Co., Ltd. 2020-2028. All rights reserved. +# +#openGauss is licensed under Mulan PSL v2. +#You can use this software according to the terms and conditions of the Mulan PSL v2. +#You may obtain a copy of Mulan PSL v2 at: +# +# http://license.coscl.org.cn/MulanPSL2 +# +# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, +# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, +# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. +# See the Mulan PSL v2 for more details. +#------------------------------------------------------------------------- +# +# entrypoint.sh +# entrypoint of docker file +# +# IDENTIFICATION +# GaussDBKernel/server/docker/dockerfiles/1.0.0/entrypoint.sh +# +#------------------------------------------------------------------------- set -Eeo pipefail # usage: file_env VAR [DEFAULT] @@ -12,20 +34,20 @@ export LD_LIBRARY_PATH=$GAUSSHOME/lib:$LD_LIBRARY_PATH file_env() { local var="$1" - local fileVar="${var}_FILE" + local file_var="${var}_FILE" local def="${2:-}" - if [ "${!var:-}" ] && [ "${!fileVar:-}" ]; then - echo >&2 "error: both $var and $fileVar are set (but are exclusive)" + if [ "${!var:-}" ] && [ "${!file_var:-}" ]; then + echo >&2 "error: both $var and $file_var are set (but are exclusive)" exit 1 fi local val="$def" if [ "${!var:-}" ]; then val="${!var}" - elif [ "${!fileVar:-}" ]; then - val="$(< "${!fileVar}")" + elif [ "${!file_var:-}" ]; then + val="$(< "${!file_var}")" fi export "$var"="$val" - unset "$fileVar" + unset "$file_var" } # check to see if this file is being run or sourced from another script diff --git a/docker/dockerfiles/1.0.1/entrypoint.sh b/docker/dockerfiles/1.0.1/entrypoint.sh old mode 100755 new mode 100644 index c408684ee..c85b4d29e --- a/docker/dockerfiles/1.0.1/entrypoint.sh +++ b/docker/dockerfiles/1.0.1/entrypoint.sh @@ -1,4 +1,26 @@ -#!/usr/bin/env bash +#!/bin/bash +# entrypoint of docker file +# Copyright (c) Huawei Technologies Co., Ltd. 2020-2028. All rights reserved. +# +#openGauss is licensed under Mulan PSL v2. +#You can use this software according to the terms and conditions of the Mulan PSL v2. +#You may obtain a copy of Mulan PSL v2 at: +# +# http://license.coscl.org.cn/MulanPSL2 +# +# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, +# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, +# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. +# See the Mulan PSL v2 for more details. +#------------------------------------------------------------------------- +# +# entrypoint.sh +# entrypoint of docker file +# +# IDENTIFICATION +# GaussDBKernel/server/docker/dockerfiles/1.0.1/entrypoint.sh +# +#------------------------------------------------------------------------- set -Eeo pipefail # usage: file_env VAR [DEFAULT] @@ -12,20 +34,20 @@ export LD_LIBRARY_PATH=$GAUSSHOME/lib:$LD_LIBRARY_PATH file_env() { local var="$1" - local fileVar="${var}_FILE" + local file_var="${var}_FILE" local def="${2:-}" - if [ "${!var:-}" ] && [ "${!fileVar:-}" ]; then - echo >&2 "error: both $var and $fileVar are set (but are exclusive)" + if [ "${!var:-}" ] && [ "${!file_var:-}" ]; then + echo >&2 "error: both $var and $file_var are set (but are exclusive)" exit 1 fi local val="$def" if [ "${!var:-}" ]; then val="${!var}" - elif [ "${!fileVar:-}" ]; then - val="$(< "${!fileVar}")" + elif [ "${!file_var:-}" ]; then + val="$(< "${!file_var}")" fi export "$var"="$val" - unset "$fileVar" + unset "$file_var" } # check to see if this file is being run or sourced from another script diff --git a/docker/dockerfiles/1.1.0/dockerfile_amd b/docker/dockerfiles/1.1.0/dockerfile_amd index 82b839b2b..52c1f0f5a 100644 --- a/docker/dockerfiles/1.1.0/dockerfile_amd +++ b/docker/dockerfiles/1.1.0/dockerfile_amd @@ -18,7 +18,7 @@ RUN set -eux; \ mkdir /docker-entrypoint-initdb.d && \ cp /tmp/wal2json.so /usr/local/opengauss && \ tar -jxf openGauss-1.1.0-CentOS-64bit.tar.bz2 -C /usr/local/opengauss && \ - chown -R omm:omm /var/run/opengauss && chown -R omm:omm /usr/local/opengauss && chown -R omm:omm /var/lib/opengauss && chown -R omm:omm /docker-entrypoint-initdb.d && \ + chown -R omm:omm /var/run/opengauss && chown -R omm:omm /usr/local/opengauss && chown -R omm:omm /var/lib/opengauss && chown -R omm:omm /docker-entrypoint-initdb.d && \ chmod 2777 /var/run/opengauss && \ rm -rf openGauss-1.1.0-CentOS-64bit.tar.bz2 && yum clean all @@ -39,5 +39,5 @@ RUN chmod 755 /usr/local/bin/entrypoint.sh;ln -s /usr/local/bin/entrypoint.sh / ENTRYPOINT ["entrypoint.sh"] -EXPOSE 5432 +EXPOSE 5432 CMD ["gaussdb"] diff --git a/docker/dockerfiles/1.1.0/dockerfile_arm b/docker/dockerfiles/1.1.0/dockerfile_arm index cfff33e5f..dda1d5a4b 100644 --- a/docker/dockerfiles/1.1.0/dockerfile_arm +++ b/docker/dockerfiles/1.1.0/dockerfile_arm @@ -13,10 +13,10 @@ RUN set -eux; \ useradd -u 70 -g omm -d /home/omm omm; \ mkdir -p /var/lib/opengauss && \ mkdir -p /usr/local/opengauss && \ - mkdir -p /var/run/opengauss && \ + mkdir -p /var/run/opengauss && \ mkdir /docker-entrypoint-initdb.d && \ tar -jxf openGauss-1.1.0-openEuler-64bit.tar.bz2 -C /usr/local/opengauss && \ - chown -R omm:omm /var/run/opengauss && chown -R omm:omm /usr/local/opengauss && chown -R omm:omm /var/lib/opengauss && chown -R omm:omm /docker-entrypoint-initdb.d && \ + chown -R omm:omm /var/run/opengauss && chown -R omm:omm /usr/local/opengauss && chown -R omm:omm /var/lib/opengauss && chown -R omm:omm /docker-entrypoint-initdb.d && \ chmod 2777 /var/run/opengauss && \ rm -rf openGauss-1.1.0-openEuler-64bit.tar.bz2 && yum clean all @@ -37,5 +37,5 @@ RUN chmod 755 /usr/local/bin/entrypoint.sh;ln -s /usr/local/bin/entrypoint.sh / ENTRYPOINT ["entrypoint.sh"] -EXPOSE 5432 +EXPOSE 5432 CMD ["gaussdb"] diff --git a/docker/dockerfiles/1.1.0/entrypoint.sh b/docker/dockerfiles/1.1.0/entrypoint.sh index 5c8a3e8e7..552f24738 100755 --- a/docker/dockerfiles/1.1.0/entrypoint.sh +++ b/docker/dockerfiles/1.1.0/entrypoint.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -set -Eeo pipefail +set -Eeo pipefail # usage: file_env VAR [DEFAULT] # ie: file_env 'XYZ_DB_PASSWORD' 'example' @@ -86,7 +86,7 @@ docker_init_database_dir() { else # eval 'gs_initdb --pwfile=<(echo "$GS_PASSWORD") --nodename=gaussdb '"$POSTGRES_INITDB_ARGS"' "$@"' eval 'gs_initdb --pwfile=<(echo "$GS_PASSWORD") --nodename=gaussdb -D $PGDATA' - fi + fi # unset/cleanup "nss_wrapper" bits if [ "${LD_PRELOAD:-}" = '/usr/lib/libnss_wrapper.so' ]; then rm -f "$NSS_WRAPPER_PASSWD" "$NSS_WRAPPER_GROUP" @@ -183,7 +183,7 @@ docker_process_sql() { if [ -n "$GS_DB" ]; then query_runner+=( --dbname "$GS_DB" ) fi - + echo "Execute SQL: ${query_runner[@]} $@" "${query_runner[@]}" "$@" } @@ -208,7 +208,7 @@ docker_setup_user() { GS_DB= docker_process_sql --dbname postgres --set db="$GS_DB" --set passwd="$GS_PASSWORD" --set user="$GS_USERNAME" <<-'EOSQL' create user :"user" with login password :"passwd" ; EOSQL - else + else echo " default user is gaussdb" fi } @@ -219,7 +219,7 @@ docker_setup_rep_user() { GS_DB= docker_process_sql --dbname postgres --set passwd="RepUser@2020" --set user="repuser" <<-'EOSQL' create user :"user" SYSADMIN REPLICATION password :"passwd" ; EOSQL - else + else echo " default no repuser created" fi } @@ -271,7 +271,7 @@ opengauss_setup_postgresql_conf() { echo "password_encryption_type = 0" echo "wal_level = logical" fi - + if [ -n "$SERVER_MODE" ]; then echo "listen_addresses = '0.0.0.0'" echo "most_available_sync = on" @@ -293,7 +293,7 @@ opengauss_setup_postgresql_conf() { if [ -n "$OTHER_PG_CONF" ]; then echo -e "$OTHER_PG_CONF" - fi + fi } >> "$PGDATA/postgresql.conf" } @@ -335,9 +335,9 @@ cp /usr/local/opengauss/wal2json.so /usr/local/opengauss/lib/postgresql GS_DB= docker_process_sql --dbname postgres --set db="$GS_DB" --set passwd="$GS_PASSWORD" --set user="$GS_USERNAME" <<-'EOSQL' select * from pg_create_logical_replication_slot('wal2json', 'wal2json'); create table gaussdb.test (id int primary key, name varchar2(20)); - insert into gaussdb.test values(1,'yun'); - insert into gaussdb.test values(2,'he'); - insert into gaussdb.test values(3,'enmo'); + insert into gaussdb.test values(1,'yun'); + insert into gaussdb.test values(2,'he'); + insert into gaussdb.test values(3,'enmo'); ALTER TABLE gaussdb.test REPLICA IDENTITY FULL; EOSQL } diff --git a/docker/dockerfiles/buildDockerImage.sh b/docker/dockerfiles/buildDockerImage.sh old mode 100755 new mode 100644 index 00ba277e5..88d082a73 --- a/docker/dockerfiles/buildDockerImage.sh +++ b/docker/dockerfiles/buildDockerImage.sh @@ -1,4 +1,26 @@ -#!/bin/bash -e +#!/bin/bash +# Build docker image +# Copyright (c) Huawei Technologies Co., Ltd. 2020-2028. All rights reserved. +# +#openGauss is licensed under Mulan PSL v2. +#You can use this software according to the terms and conditions of the Mulan PSL v2. +#You may obtain a copy of Mulan PSL v2 at: +# +# http://license.coscl.org.cn/MulanPSL2 +# +# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, +# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, +# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. +# See the Mulan PSL v2 for more details. +#------------------------------------------------------------------------- +# +# buildDockerImage.sh +# Build docker image +# +# IDENTIFICATION +# GaussDBKernel/server/docker/dockerfiles/buildDockerImage.sh +# +#------------------------------------------------------------------------- usage() { cat << EOF @@ -19,8 +41,8 @@ EOF } # Validate packages -checksumPackages() { -if [ $arch = "amd64" ]; then +checksum_packages() { +if [ "${arch}" = "amd64" ]; then md5_file="md5_file_amd64" else md5_file="md5_file_arm64" @@ -40,7 +62,7 @@ fi # Check Docker version -checkDockerVersion() { +check_docker_version() { # Get Docker Server version echo "Checking Docker version." DOCKER_VERSION=$(docker version --format '{{.Server.Version | printf "%.5s" }}'|| exit 0) @@ -66,8 +88,8 @@ VERSION="1.0.0" SKIPMD5=0 DOCKEROPS="" MIN_DOCKER_VERSION="17.09" -arch=`case $(uname -m) in i386) echo "386" ;; i686) echo "386" ;; x86_64) echo "amd64";; aarch64)echo "arm64";; esac` -if [ $arch = "amd64" ]; then +arch=$(case $(uname -m) in i386) echo "386" ;; i686) echo "386" ;; x86_64) echo "amd64";; aarch64)echo "arm64";; esac) +if [ "${arch}" = "amd64" ]; then DOCKERFILE="dockerfile_amd" else DOCKERFILE="dockerfile_arm" @@ -104,7 +126,7 @@ while getopts "hesxiv:o:" optname; do esac done -checkDockerVersion +check_docker_version @@ -123,7 +145,7 @@ cd "$VERSION" || { } if [ ! "$SKIPMD5" -eq 1 ]; then - checksumPackages + checksum_packages else echo "Ignored MD5 checksum." fi @@ -174,7 +196,7 @@ docker build --force-rm=true --no-cache=true \ yes | docker image prune > /dev/null BUILD_END=$(date '+%s') -BUILD_ELAPSED=`expr $BUILD_END - $BUILD_START` +BUILD_ELAPSED=$(expr $BUILD_END - $BUILD_START) echo "" echo "" diff --git a/docker/dockerfiles/create_master_slave.sh b/docker/dockerfiles/create_master_slave.sh old mode 100755 new mode 100644 index 8a827ae92..b569e2595 --- a/docker/dockerfiles/create_master_slave.sh +++ b/docker/dockerfiles/create_master_slave.sh @@ -1,6 +1,26 @@ -#!/bin/bash -e -# Parameters #!/bin/bash +# create master and slave +# Copyright (c) Huawei Technologies Co., Ltd. 2020-2028. All rights reserved. +# +#openGauss is licensed under Mulan PSL v2. +#You can use this software according to the terms and conditions of the Mulan PSL v2. +#You may obtain a copy of Mulan PSL v2 at: +# +# http://license.coscl.org.cn/MulanPSL2 +# +# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, +# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, +# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. +# See the Mulan PSL v2 for more details. +#------------------------------------------------------------------------- +# +# create_master_slave.sh +# create master and slave +# +# IDENTIFICATION +# GaussDBKernel/server/docker/dockerfiles/create_master_slave.sh +# +#------------------------------------------------------------------------- #set OG_SUBNET,GS_PASSWORD,MASTER_IP,SLAVE_1_IP,MASTER_HOST_PORT,MASTER_LOCAL_PORT,SLAVE_1_HOST_PORT,SLAVE_1_LOCAL_PORT,MASTER_NODENAME,SLAVE_NODENAME diff --git a/escan.txt b/escan.txt new file mode 100644 index 000000000..daa626cff --- /dev/null +++ b/escan.txt @@ -0,0 +1,1232 @@ +src/common/backend/parser/hint_scan.l +src/common/backend/parser/scan.l +src/common/backend/utils/misc/guc-file.l +src/gausskernel/bootstrap/bootscanner.l +src/gausskernel/storage/replication/repl_scanner.l +src/gausskernel/storage/replication/syncrep_scanner.l +src/common/backend/parser/gram.y +src/common/backend/parser/hint_gram.y +src/gausskernel/bootstrap/bootparse.y +src/gausskernel/storage/replication/repl_gram.y +src/gausskernel/storage/replication/syncrep_gram.y +src/common/backend/catalog/aclchk.cpp +src/common/backend/catalog/catalog.cpp +src/common/backend/catalog/cstore_ctlg.cpp +src/common/backend/catalog/dependency.cpp +src/common/backend/catalog/dfsstore_ctlg.cpp +src/common/backend/catalog/gs_matview.cpp +src/common/backend/catalog/heap.cpp +src/common/backend/catalog/index.cpp +src/common/backend/catalog/indexing.cpp +src/common/backend/catalog/namespace.cpp +src/common/backend/catalog/objectaddress.cpp +src/common/backend/catalog/pg_aggregate.cpp +src/common/backend/catalog/pg_builtin_proc.cpp +src/common/backend/catalog/pg_collation.cpp +src/common/backend/catalog/pg_constraint.cpp +src/common/backend/catalog/pg_conversion.cpp +src/common/backend/catalog/pg_db_role_setting.cpp +src/common/backend/catalog/pg_depend.cpp +src/common/backend/catalog/pg_enum.cpp +src/common/backend/catalog/pg_hashbucket.cpp +src/common/backend/catalog/pg_inherits.cpp +src/common/backend/catalog/pg_job.cpp +src/common/backend/catalog/pg_largeobject.cpp +src/common/backend/catalog/pg_namespace.cpp +src/common/backend/catalog/pg_object.cpp +src/common/backend/catalog/pg_operator.cpp +src/common/backend/catalog/pg_partition.cpp +src/common/backend/catalog/pg_proc.cpp +src/common/backend/catalog/pg_range.cpp +src/common/backend/catalog/pg_shdepend.cpp +src/common/backend/catalog/pg_synonym.cpp +src/common/backend/catalog/pg_type.cpp +src/common/backend/catalog/pgxc_class.cpp +src/common/backend/catalog/pgxc_slice.cpp +src/common/backend/catalog/storage.cpp +src/common/backend/catalog/storage_gtt.cpp +src/common/backend/catalog/streaming_stream.cpp +src/common/backend/catalog/toasting.cpp +src/common/backend/client_logic/cache.cpp +src/common/backend/client_logic/client_logic.cpp +src/common/backend/lib/binaryheap.cpp +src/common/backend/lib/bipartite_match.cpp +src/common/backend/lib/circularqueue.cpp +src/common/backend/lib/dllist.cpp +src/common/backend/lib/hyperloglog.cpp +src/common/backend/lib/ilist.cpp +src/common/backend/lib/lrucache.cpp +src/common/backend/lib/string.cpp +src/common/backend/lib/stringinfo.cpp +src/common/backend/libpq/auth.cpp +src/common/backend/libpq/be-fsstubs.cpp +src/common/backend/libpq/be-secure.cpp +src/common/backend/libpq/crypt.cpp +src/common/backend/libpq/hba.cpp +src/common/backend/libpq/ip.cpp +src/common/backend/libpq/md5.cpp +src/common/backend/libpq/pqcomm.cpp +src/common/backend/libpq/pqformat.cpp +src/common/backend/libpq/pqsignal.cpp +src/common/backend/libpq/sha2.cpp +src/common/backend/nodes/bitmapset.cpp +src/common/backend/nodes/copyfuncs.cpp +src/common/backend/nodes/equalfuncs.cpp +src/common/backend/nodes/list.cpp +src/common/backend/nodes/makefuncs.cpp +src/common/backend/nodes/nodeFuncs.cpp +src/common/backend/nodes/nodes.cpp +src/common/backend/nodes/outfuncs.cpp +src/common/backend/nodes/params.cpp +src/common/backend/nodes/print.cpp +src/common/backend/nodes/read.cpp +src/common/backend/nodes/readfuncs.cpp +src/common/backend/nodes/tidbitmap.cpp +src/common/backend/nodes/value.cpp +src/common/backend/parser/analyze.cpp +src/common/backend/parser/keywords.cpp +src/common/backend/parser/kwlookup.cpp +src/common/backend/parser/parse_agg.cpp +src/common/backend/parser/parse_clause.cpp +src/common/backend/parser/parse_coerce.cpp +src/common/backend/parser/parse_collate.cpp +src/common/backend/parser/parse_compatibility.cpp +src/common/backend/parser/parse_cte.cpp +src/common/backend/parser/parse_expr.cpp +src/common/backend/parser/parse_func.cpp +src/common/backend/parser/parse_hint.cpp +src/common/backend/parser/parse_merge.cpp +src/common/backend/parser/parse_node.cpp +src/common/backend/parser/parse_oper.cpp +src/common/backend/parser/parse_param.cpp +src/common/backend/parser/parse_relation.cpp +src/common/backend/parser/parse_target.cpp +src/common/backend/parser/parse_type.cpp +src/common/backend/parser/parse_utilcmd.cpp +src/common/backend/parser/parser.cpp +src/common/backend/parser/scansup.cpp +src/common/backend/pgxc_single/barrier/barrier.cpp +src/common/backend/pgxc_single/copy/copyops.cpp +src/common/backend/pgxc_single/copy/remotecopy.cpp +src/common/backend/pgxc_single/locator/locator.cpp +src/common/backend/pgxc_single/locator/redistrib.cpp +src/common/backend/pgxc_single/nodemgr/groupmgr.cpp +src/common/backend/pgxc_single/nodemgr/nodemgr.cpp +src/common/backend/pgxc_single/pool/execRemote.cpp +src/common/backend/pgxc_single/pool/pgxcnode.cpp +src/common/backend/pgxc_single/pool/poolcomm.cpp +src/common/backend/pgxc_single/pool/poolmgr.cpp +src/common/backend/pgxc_single/pool/poolutils.cpp +src/common/backend/port/darwin/system.cpp +src/common/backend/port/dynloader.cpp +src/common/backend/port/dynloader/aix.cpp +src/common/backend/port/dynloader/cygwin.cpp +src/common/backend/port/dynloader/darwin.cpp +src/common/backend/port/dynloader/freebsd.cpp +src/common/backend/port/dynloader/hpux.cpp +src/common/backend/port/dynloader/irix.cpp +src/common/backend/port/dynloader/linux.cpp +src/common/backend/port/dynloader/netbsd.cpp +src/common/backend/port/dynloader/openbsd.cpp +src/common/backend/port/dynloader/osf.cpp +src/common/backend/port/dynloader/sco.cpp +src/common/backend/port/dynloader/solaris.cpp +src/common/backend/port/dynloader/unixware.cpp +src/common/backend/port/dynloader/win32.cpp +src/common/backend/port/ipc_test.cpp +src/common/backend/port/pg_latch.cpp +src/common/backend/port/pg_sema.cpp +src/common/backend/port/pg_shmem.cpp +src/common/backend/port/posix_sema.cpp +src/common/backend/port/sysv_sema.cpp +src/common/backend/port/sysv_shmem.cpp +src/common/backend/port/unix_latch.cpp +src/common/backend/port/win32/crashdump.cpp +src/common/backend/port/win32/mingwcompat.cpp +src/common/backend/port/win32/security.cpp +src/common/backend/port/win32/signal.cpp +src/common/backend/port/win32/socket.cpp +src/common/backend/port/win32/timer.cpp +src/common/backend/port/win32_latch.cpp +src/common/backend/port/win32_sema.cpp +src/common/backend/port/win32_shmem.cpp +src/common/backend/regex/regc_color.cpp +src/common/backend/regex/regc_cvec.cpp +src/common/backend/regex/regc_lex.cpp +src/common/backend/regex/regc_locale.cpp +src/common/backend/regex/regc_nfa.cpp +src/common/backend/regex/regc_pg_locale.cpp +src/common/backend/regex/regcomp.cpp +src/common/backend/regex/rege_dfa.cpp +src/common/backend/regex/regerror.cpp +src/common/backend/regex/regexec.cpp +src/common/backend/regex/regfree.cpp +src/common/backend/regex/regprefix.cpp +src/common/backend/snowball/dict_snowball.cpp +src/common/backend/snowball/libstemmer/api.cpp +src/common/backend/snowball/libstemmer/stem_ISO_8859_1_danish.cpp +src/common/backend/snowball/libstemmer/stem_ISO_8859_1_dutch.cpp +src/common/backend/snowball/libstemmer/stem_ISO_8859_1_english.cpp +src/common/backend/snowball/libstemmer/stem_ISO_8859_1_finnish.cpp +src/common/backend/snowball/libstemmer/stem_ISO_8859_1_french.cpp +src/common/backend/snowball/libstemmer/stem_ISO_8859_1_german.cpp +src/common/backend/snowball/libstemmer/stem_ISO_8859_1_hungarian.cpp +src/common/backend/snowball/libstemmer/stem_ISO_8859_1_italian.cpp +src/common/backend/snowball/libstemmer/stem_ISO_8859_1_norwegian.cpp +src/common/backend/snowball/libstemmer/stem_ISO_8859_1_porter.cpp +src/common/backend/snowball/libstemmer/stem_ISO_8859_1_portuguese.cpp +src/common/backend/snowball/libstemmer/stem_ISO_8859_1_spanish.cpp +src/common/backend/snowball/libstemmer/stem_ISO_8859_1_swedish.cpp +src/common/backend/snowball/libstemmer/stem_ISO_8859_2_romanian.cpp +src/common/backend/snowball/libstemmer/stem_KOI8_R_russian.cpp +src/common/backend/snowball/libstemmer/stem_UTF_8_danish.cpp +src/common/backend/snowball/libstemmer/stem_UTF_8_dutch.cpp +src/common/backend/snowball/libstemmer/stem_UTF_8_english.cpp +src/common/backend/snowball/libstemmer/stem_UTF_8_finnish.cpp +src/common/backend/snowball/libstemmer/stem_UTF_8_french.cpp +src/common/backend/snowball/libstemmer/stem_UTF_8_german.cpp +src/common/backend/snowball/libstemmer/stem_UTF_8_hungarian.cpp +src/common/backend/snowball/libstemmer/stem_UTF_8_italian.cpp +src/common/backend/snowball/libstemmer/stem_UTF_8_norwegian.cpp +src/common/backend/snowball/libstemmer/stem_UTF_8_porter.cpp +src/common/backend/snowball/libstemmer/stem_UTF_8_portuguese.cpp +src/common/backend/snowball/libstemmer/stem_UTF_8_romanian.cpp +src/common/backend/snowball/libstemmer/stem_UTF_8_russian.cpp +src/common/backend/snowball/libstemmer/stem_UTF_8_spanish.cpp +src/common/backend/snowball/libstemmer/stem_UTF_8_swedish.cpp +src/common/backend/snowball/libstemmer/stem_UTF_8_turkish.cpp +src/common/backend/snowball/libstemmer/utilities.cpp +src/common/backend/tsearch/dict.cpp +src/common/backend/tsearch/dict_ispell.cpp +src/common/backend/tsearch/dict_simple.cpp +src/common/backend/tsearch/dict_synonym.cpp +src/common/backend/tsearch/dict_thesaurus.cpp +src/common/backend/tsearch/regis.cpp +src/common/backend/tsearch/spell.cpp +src/common/backend/tsearch/to_tsany.cpp +src/common/backend/tsearch/ts_locale.cpp +src/common/backend/tsearch/ts_parse.cpp +src/common/backend/tsearch/ts_selfuncs.cpp +src/common/backend/tsearch/ts_typanalyze.cpp +src/common/backend/tsearch/ts_utils.cpp +src/common/backend/tsearch/ts_zh_ngram.cpp +src/common/backend/tsearch/ts_zh_pound.cpp +src/common/backend/tsearch/ts_zh_zhparser.cpp +src/common/backend/tsearch/wparser.cpp +src/common/backend/tsearch/wparser_def.cpp +src/common/backend/utils/adt/a_compat.cpp +src/common/backend/utils/adt/acl.cpp +src/common/backend/utils/adt/array_selfuncs.cpp +src/common/backend/utils/adt/array_typanalyze.cpp +src/common/backend/utils/adt/array_userfuncs.cpp +src/common/backend/utils/adt/arrayfuncs.cpp +src/common/backend/utils/adt/arrayutils.cpp +src/common/backend/utils/adt/ascii.cpp +src/common/backend/utils/adt/bool.cpp +src/common/backend/utils/adt/cash.cpp +src/common/backend/utils/adt/char.cpp +src/common/backend/utils/adt/clientlogic_bytea.cpp +src/common/backend/utils/adt/clientlogicsettings.cpp +src/common/backend/utils/adt/date.cpp +src/common/backend/utils/adt/datetime.cpp +src/common/backend/utils/adt/datum.cpp +src/common/backend/utils/adt/dbsize.cpp +src/common/backend/utils/adt/domains.cpp +src/common/backend/utils/adt/encode.cpp +src/common/backend/utils/adt/enum.cpp +src/common/backend/utils/adt/extended_statistics.cpp +src/common/backend/utils/adt/float.cpp +src/common/backend/utils/adt/format_type.cpp +src/common/backend/utils/adt/formatting.cpp +src/common/backend/utils/adt/genfile.cpp +src/common/backend/utils/adt/geo_ops.cpp +src/common/backend/utils/adt/geo_selfuncs.cpp +src/common/backend/utils/adt/hotkey.cpp +src/common/backend/utils/adt/inet_cidr_ntop.cpp +src/common/backend/utils/adt/inet_net_pton.cpp +src/common/backend/utils/adt/int.cpp +src/common/backend/utils/adt/int8.cpp +src/common/backend/utils/adt/json.cpp +src/common/backend/utils/adt/like.cpp +src/common/backend/utils/adt/like_match.cpp +src/common/backend/utils/adt/lockfuncs.cpp +src/common/backend/utils/adt/mac.cpp +src/common/backend/utils/adt/median_aggs.cpp +src/common/backend/utils/adt/misc.cpp +src/common/backend/utils/adt/nabstime.cpp +src/common/backend/utils/adt/name.cpp +src/common/backend/utils/adt/network.cpp +src/common/backend/utils/adt/numeric.cpp +src/common/backend/utils/adt/numutils.cpp +src/common/backend/utils/adt/oid.cpp +src/common/backend/utils/adt/orderedsetaggs.cpp +src/common/backend/utils/adt/pg_locale.cpp +src/common/backend/utils/adt/pg_lsn.cpp +src/common/backend/utils/adt/pg_lzcompress.cpp +src/common/backend/utils/adt/pgstatfuncs.cpp +src/common/backend/utils/adt/pseudotypes.cpp +src/common/backend/utils/adt/quote.cpp +src/common/backend/utils/adt/rangetypes.cpp +src/common/backend/utils/adt/rangetypes_gist.cpp +src/common/backend/utils/adt/regexp.cpp +src/common/backend/utils/adt/regproc.cpp +src/common/backend/utils/adt/ri_triggers.cpp +src/common/backend/utils/adt/rowtypes.cpp +src/common/backend/utils/adt/ruleutils.cpp +src/common/backend/utils/adt/selfuncs.cpp +src/common/backend/utils/adt/tid.cpp +src/common/backend/utils/adt/timestamp.cpp +src/common/backend/utils/adt/trigfuncs.cpp +src/common/backend/utils/adt/tsginidx.cpp +src/common/backend/utils/adt/tsgistidx.cpp +src/common/backend/utils/adt/tsquery.cpp +src/common/backend/utils/adt/tsquery_cleanup.cpp +src/common/backend/utils/adt/tsquery_gist.cpp +src/common/backend/utils/adt/tsquery_op.cpp +src/common/backend/utils/adt/tsquery_rewrite.cpp +src/common/backend/utils/adt/tsquery_util.cpp +src/common/backend/utils/adt/tsrank.cpp +src/common/backend/utils/adt/tsvector.cpp +src/common/backend/utils/adt/tsvector_op.cpp +src/common/backend/utils/adt/tsvector_parser.cpp +src/common/backend/utils/adt/txid.cpp +src/common/backend/utils/adt/uuid.cpp +src/common/backend/utils/adt/varbit.cpp +src/common/backend/utils/adt/varchar.cpp +src/common/backend/utils/adt/varlena.cpp +src/common/backend/utils/adt/version.cpp +src/common/backend/utils/adt/windowfuncs.cpp +src/common/backend/utils/adt/xid.cpp +src/common/backend/utils/adt/xml.cpp +src/common/backend/utils/cache/attoptcache.cpp +src/common/backend/utils/cache/catcache.cpp +src/common/backend/utils/cache/inval.cpp +src/common/backend/utils/cache/lsyscache.cpp +src/common/backend/utils/cache/partcache.cpp +src/common/backend/utils/cache/plancache.cpp +src/common/backend/utils/cache/relcache.cpp +src/common/backend/utils/cache/relfilenodemap.cpp +src/common/backend/utils/cache/relmapper.cpp +src/common/backend/utils/cache/spccache.cpp +src/common/backend/utils/cache/syscache.cpp +src/common/backend/utils/cache/ts_cache.cpp +src/common/backend/utils/cache/typcache.cpp +src/common/backend/utils/error/assert.cpp +src/common/backend/utils/error/be_module.cpp +src/common/backend/utils/error/elog.cpp +src/common/backend/utils/error/fatal_err.cpp +src/common/backend/utils/error/plog.cpp +src/common/backend/utils/fmgr/dfmgr.cpp +src/common/backend/utils/fmgr/fmgr.cpp +src/common/backend/utils/fmgr/funcapi.cpp +src/common/backend/utils/hash/dynahash.cpp +src/common/backend/utils/hash/hashfn.cpp +src/common/backend/utils/init/globals.cpp +src/common/backend/utils/init/miscinit.cpp +src/common/backend/utils/init/postinit.cpp +src/common/backend/utils/mb/conv.cpp +src/common/backend/utils/mb/conversion_procs/ascii_and_mic/ascii_and_mic.cpp +src/common/backend/utils/mb/conversion_procs/cyrillic_and_mic/cyrillic_and_mic.cpp +src/common/backend/utils/mb/conversion_procs/euc2004_sjis2004/euc2004_sjis2004.cpp +src/common/backend/utils/mb/conversion_procs/euc_cn_and_mic/euc_cn_and_mic.cpp +src/common/backend/utils/mb/conversion_procs/euc_jp_and_sjis/euc_jp_and_sjis.cpp +src/common/backend/utils/mb/conversion_procs/euc_kr_and_mic/euc_kr_and_mic.cpp +src/common/backend/utils/mb/conversion_procs/euc_tw_and_big5/big5.cpp +src/common/backend/utils/mb/conversion_procs/euc_tw_and_big5/euc_tw_and_big5.cpp +src/common/backend/utils/mb/conversion_procs/latin2_and_win1250/latin2_and_win1250.cpp +src/common/backend/utils/mb/conversion_procs/latin_and_mic/latin_and_mic.cpp +src/common/backend/utils/mb/conversion_procs/utf8_and_ascii/utf8_and_ascii.cpp +src/common/backend/utils/mb/conversion_procs/utf8_and_big5/utf8_and_big5.cpp +src/common/backend/utils/mb/conversion_procs/utf8_and_cyrillic/utf8_and_cyrillic.cpp +src/common/backend/utils/mb/conversion_procs/utf8_and_euc2004/utf8_and_euc2004.cpp +src/common/backend/utils/mb/conversion_procs/utf8_and_euc_cn/utf8_and_euc_cn.cpp +src/common/backend/utils/mb/conversion_procs/utf8_and_euc_jp/utf8_and_euc_jp.cpp +src/common/backend/utils/mb/conversion_procs/utf8_and_euc_kr/utf8_and_euc_kr.cpp +src/common/backend/utils/mb/conversion_procs/utf8_and_euc_tw/utf8_and_euc_tw.cpp +src/common/backend/utils/mb/conversion_procs/utf8_and_gb18030/utf8_and_gb18030.cpp +src/common/backend/utils/mb/conversion_procs/utf8_and_gbk/utf8_and_gbk.cpp +src/common/backend/utils/mb/conversion_procs/utf8_and_iso8859/utf8_and_iso8859.cpp +src/common/backend/utils/mb/conversion_procs/utf8_and_iso8859_1/utf8_and_iso8859_1.cpp +src/common/backend/utils/mb/conversion_procs/utf8_and_johab/utf8_and_johab.cpp +src/common/backend/utils/mb/conversion_procs/utf8_and_sjis/utf8_and_sjis.cpp +src/common/backend/utils/mb/conversion_procs/utf8_and_sjis2004/utf8_and_sjis2004.cpp +src/common/backend/utils/mb/conversion_procs/utf8_and_uhc/utf8_and_uhc.cpp +src/common/backend/utils/mb/conversion_procs/utf8_and_win/utf8_and_win.cpp +src/common/backend/utils/mb/encnames.cpp +src/common/backend/utils/mb/iso.cpp +src/common/backend/utils/mb/mbutils.cpp +src/common/backend/utils/mb/wchar.cpp +src/common/backend/utils/mb/win1251.cpp +src/common/backend/utils/mb/win866.cpp +src/common/backend/utils/mb/wstrcmp.cpp +src/common/backend/utils/mb/wstrncmp.cpp +src/common/backend/utils/misc/anls_opt.cpp +src/common/backend/utils/misc/elf_parser.cpp +src/common/backend/utils/misc/guc.cpp +src/common/backend/utils/misc/help_config.cpp +src/common/backend/utils/misc/pg_controldata.cpp +src/common/backend/utils/misc/pg_rusage.cpp +src/common/backend/utils/misc/ps_status.cpp +src/common/backend/utils/misc/rbtree.cpp +src/common/backend/utils/misc/sec_rls_utils.cpp +src/common/backend/utils/misc/superuser.cpp +src/common/backend/utils/misc/tzparser.cpp +src/common/backend/utils/mmgr/AsanMemoryAllocator.cpp +src/common/backend/utils/mmgr/aset.cpp +src/common/backend/utils/mmgr/asetalg.cpp +src/common/backend/utils/mmgr/asetstk.cpp +src/common/backend/utils/mmgr/mcxt.cpp +src/common/backend/utils/mmgr/memgroup.cpp +src/common/backend/utils/mmgr/memprot.cpp +src/common/backend/utils/mmgr/memtrace.cpp +src/common/backend/utils/mmgr/memtrack.cpp +src/common/backend/utils/mmgr/portalmem.cpp +src/common/backend/utils/resowner/resowner.cpp +src/common/backend/utils/sort/batchsort.cpp +src/common/backend/utils/sort/batchstore.cpp +src/common/backend/utils/sort/logtape.cpp +src/common/backend/utils/sort/rowstore.cpp +src/common/backend/utils/sort/sortsupport.cpp +src/common/backend/utils/sort/tuplesort.cpp +src/common/backend/utils/sort/tuplestore.cpp +src/common/backend/utils/time/combocid.cpp +src/common/backend/utils/time/snapmgr.cpp +src/gausskernel/bootstrap/bootstrap.cpp +src/gausskernel/cbb/bbox/bbox_create.cpp +src/gausskernel/cbb/bbox/bbox_elf_dump.cpp +src/gausskernel/cbb/bbox/bbox_elf_dump_base.cpp +src/gausskernel/cbb/bbox/bbox_lib.cpp +src/gausskernel/cbb/bbox/bbox_print.cpp +src/gausskernel/cbb/bbox/bbox_syscall_support.cpp +src/gausskernel/cbb/bbox/bbox_threads.cpp +src/gausskernel/cbb/bbox/gs_bbox.cpp +src/gausskernel/cbb/communication/libcomm.cpp +src/gausskernel/cbb/communication/libcomm_common.cpp +src/gausskernel/cbb/communication/libcomm_core/mc_poller_epoll.cpp +src/gausskernel/cbb/communication/libcomm_core/mc_tcp.cpp +src/gausskernel/cbb/communication/libcomm_utils/libcomm_adapter.cpp +src/gausskernel/cbb/communication/libcomm_utils/libcomm_err.cpp +src/gausskernel/cbb/communication/libcomm_utils/libcomm_interface.cpp +src/gausskernel/cbb/communication/libcomm_utils/libcomm_list.cpp +src/gausskernel/cbb/communication/libcomm_utils/libcomm_lock_free_queue.cpp +src/gausskernel/cbb/communication/libcomm_utils/libcomm_lqueue.cpp +src/gausskernel/cbb/communication/libcomm_utils/libcomm_memory.cpp +src/gausskernel/cbb/communication/libcomm_utils/libcomm_perf.cpp +src/gausskernel/cbb/communication/libcomm_utils/libcomm_queue.cpp +src/gausskernel/cbb/communication/libcomm_utils/libcomm_shakehands.cpp +src/gausskernel/cbb/communication/libcomm_utils/libcomm_thread.cpp +src/gausskernel/cbb/communication/libcomm_utils/libcomm_util.cpp +src/gausskernel/cbb/extension/connector/connector.cpp +src/gausskernel/cbb/extension/connector/odbc.cpp +src/gausskernel/cbb/extension/connector/odbc_connector.cpp +src/gausskernel/cbb/extension/foreign/dummyserver.cpp +src/gausskernel/cbb/extension/foreign/foreign.cpp +src/gausskernel/cbb/extension/foreign/metainformation.cpp +src/gausskernel/cbb/extension/foreign/regioninfo.cpp +src/gausskernel/cbb/grpc/rpc_client.cpp +src/gausskernel/cbb/grpc/rpc_server.cpp +src/gausskernel/cbb/instruments/ash/ash.cpp +src/gausskernel/cbb/instruments/ash/wait_event_info.cpp +src/gausskernel/cbb/instruments/capture_view/capture_view.cpp +src/gausskernel/cbb/instruments/event/instr_waitevent.cpp +src/gausskernel/cbb/instruments/percentile/percentile.cpp +src/gausskernel/cbb/instruments/slow_query/gs_stat.cpp +src/gausskernel/cbb/instruments/slow_query/instr_slow_query.cpp +src/gausskernel/cbb/instruments/slow_query/instr_slow_query_log.cpp +src/gausskernel/cbb/instruments/statement/instr_handle_mgr.cpp +src/gausskernel/cbb/instruments/statement/instr_statement.cpp +src/gausskernel/cbb/instruments/unique_sql/instr_unique_sql.cpp +src/gausskernel/cbb/instruments/user/instr_user.cpp +src/gausskernel/cbb/instruments/utils/list.cpp +src/gausskernel/cbb/instruments/utils/unique_query.cpp +src/gausskernel/cbb/instruments/wdr/dblink_query.cpp +src/gausskernel/cbb/instruments/wdr/generate_report.cpp +src/gausskernel/cbb/instruments/wdr/snapshot.cpp +src/gausskernel/cbb/instruments/workload/instr_workload.cpp +src/gausskernel/cbb/utils/aes/aes.cpp +src/gausskernel/cbb/utils/aes/cipherfn.cpp +src/gausskernel/cbb/utils/aes/evp_cipher.cpp +src/gausskernel/cbb/utils/biginteger/biginteger.cpp +src/gausskernel/cbb/utils/bloomfilter/bloom_filter.cpp +src/gausskernel/cbb/utils/debug/distribute_test.cpp +src/gausskernel/cbb/utils/gssignal/gs_signal.cpp +src/gausskernel/cbb/utils/hll/hll_mpp.cpp +src/gausskernel/cbb/utils/partition/partitionkey.cpp +src/gausskernel/cbb/utils/partition/partitionmap.cpp +src/gausskernel/cbb/utils/ssl/gs_openssl_client.cpp +src/gausskernel/cbb/utils/zfiles/gz_file.cpp +src/gausskernel/cbb/utils/zfiles/zip_file.cpp +src/gausskernel/cbb/workload/commgr.cpp +src/gausskernel/cbb/workload/cpwlm.cpp +src/gausskernel/cbb/workload/dywlm_client.cpp +src/gausskernel/cbb/workload/dywlm_server.cpp +src/gausskernel/cbb/workload/gscgroup.cpp +src/gausskernel/cbb/workload/gsconfig.cpp +src/gausskernel/cbb/workload/gsutil.cpp +src/gausskernel/cbb/workload/ioschdl.cpp +src/gausskernel/cbb/workload/memctl.cpp +src/gausskernel/cbb/workload/parctl.cpp +src/gausskernel/cbb/workload/spmgr.cpp +src/gausskernel/cbb/workload/statctl.cpp +src/gausskernel/cbb/workload/workload.cpp +src/gausskernel/dbmind/kernel/hypopg_index.cpp +src/gausskernel/dbmind/kernel/index_advisor.cpp +src/gausskernel/optimizer/commands/aggregatecmds.cpp +src/gausskernel/optimizer/commands/alter.cpp +src/gausskernel/optimizer/commands/analyze.cpp +src/gausskernel/optimizer/commands/async.cpp +src/gausskernel/optimizer/commands/auto_explain.cpp +src/gausskernel/optimizer/commands/cluster.cpp +src/gausskernel/optimizer/commands/collationcmds.cpp +src/gausskernel/optimizer/commands/comment.cpp +src/gausskernel/optimizer/commands/constraint.cpp +src/gausskernel/optimizer/commands/conversioncmds.cpp +src/gausskernel/optimizer/commands/copy.cpp +src/gausskernel/optimizer/commands/createas.cpp +src/gausskernel/optimizer/commands/datasourcecmds.cpp +src/gausskernel/optimizer/commands/dbcommands.cpp +src/gausskernel/optimizer/commands/define.cpp +src/gausskernel/optimizer/commands/directory.cpp +src/gausskernel/optimizer/commands/discard.cpp +src/gausskernel/optimizer/commands/dropcmds.cpp +src/gausskernel/optimizer/commands/explain.cpp +src/gausskernel/optimizer/commands/extension.cpp +src/gausskernel/optimizer/commands/foreigncmds.cpp +src/gausskernel/optimizer/commands/formatter.cpp +src/gausskernel/optimizer/commands/functioncmds.cpp +src/gausskernel/optimizer/commands/gds_stream.cpp +src/gausskernel/optimizer/commands/indexcmds.cpp +src/gausskernel/optimizer/commands/lockcmds.cpp +src/gausskernel/optimizer/commands/matview.cpp +src/gausskernel/optimizer/commands/obs_stream.cpp +src/gausskernel/optimizer/commands/opclasscmds.cpp +src/gausskernel/optimizer/commands/operatorcmds.cpp +src/gausskernel/optimizer/commands/portalcmds.cpp +src/gausskernel/optimizer/commands/prepare.cpp +src/gausskernel/optimizer/commands/proclang.cpp +src/gausskernel/optimizer/commands/schemacmds.cpp +src/gausskernel/optimizer/commands/sec_rls_cmds.cpp +src/gausskernel/optimizer/commands/seclabel.cpp +src/gausskernel/optimizer/commands/sequence.cpp +src/gausskernel/optimizer/commands/shutdown.cpp +src/gausskernel/optimizer/commands/tablecmds.cpp +src/gausskernel/optimizer/commands/tablespace.cpp +src/gausskernel/optimizer/commands/trigger.cpp +src/gausskernel/optimizer/commands/tsearchcmds.cpp +src/gausskernel/optimizer/commands/typecmds.cpp +src/gausskernel/optimizer/commands/user.cpp +src/gausskernel/optimizer/commands/vacuum.cpp +src/gausskernel/optimizer/commands/vacuumlazy.cpp +src/gausskernel/optimizer/commands/variable.cpp +src/gausskernel/optimizer/commands/verify.cpp +src/gausskernel/optimizer/commands/view.cpp +src/gausskernel/optimizer/geqo/geqo_copy.cpp +src/gausskernel/optimizer/geqo/geqo_cx.cpp +src/gausskernel/optimizer/geqo/geqo_erx.cpp +src/gausskernel/optimizer/geqo/geqo_eval.cpp +src/gausskernel/optimizer/geqo/geqo_main.cpp +src/gausskernel/optimizer/geqo/geqo_misc.cpp +src/gausskernel/optimizer/geqo/geqo_mutation.cpp +src/gausskernel/optimizer/geqo/geqo_ox1.cpp +src/gausskernel/optimizer/geqo/geqo_ox2.cpp +src/gausskernel/optimizer/geqo/geqo_pmx.cpp +src/gausskernel/optimizer/geqo/geqo_pool.cpp +src/gausskernel/optimizer/geqo/geqo_px.cpp +src/gausskernel/optimizer/geqo/geqo_random.cpp +src/gausskernel/optimizer/geqo/geqo_recombination.cpp +src/gausskernel/optimizer/geqo/geqo_selection.cpp +src/gausskernel/optimizer/path/allpaths.cpp +src/gausskernel/optimizer/path/clausesel.cpp +src/gausskernel/optimizer/path/costsize.cpp +src/gausskernel/optimizer/path/equivclass.cpp +src/gausskernel/optimizer/path/es_selectivity.cpp +src/gausskernel/optimizer/path/indxpath.cpp +src/gausskernel/optimizer/path/joinpath.cpp +src/gausskernel/optimizer/path/joinrels.cpp +src/gausskernel/optimizer/path/orindxpath.cpp +src/gausskernel/optimizer/path/pathkeys.cpp +src/gausskernel/optimizer/path/pgxcpath_single.cpp +src/gausskernel/optimizer/path/streampath_base.cpp +src/gausskernel/optimizer/path/streampath_single.cpp +src/gausskernel/optimizer/path/tidpath.cpp +src/gausskernel/optimizer/plan/analyzejoins.cpp +src/gausskernel/optimizer/plan/createplan.cpp +src/gausskernel/optimizer/plan/dynsmp_single.cpp +src/gausskernel/optimizer/plan/initsplan.cpp +src/gausskernel/optimizer/plan/pgxcplan_single.cpp +src/gausskernel/optimizer/plan/planagg.cpp +src/gausskernel/optimizer/plan/planmain.cpp +src/gausskernel/optimizer/plan/planner.cpp +src/gausskernel/optimizer/plan/planrecursive_single.cpp +src/gausskernel/optimizer/plan/planrewrite.cpp +src/gausskernel/optimizer/plan/setrefs.cpp +src/gausskernel/optimizer/plan/stream_remove.cpp +src/gausskernel/optimizer/plan/streamplan.cpp +src/gausskernel/optimizer/plan/streamplan_single.cpp +src/gausskernel/optimizer/plan/streamplan_utils.cpp +src/gausskernel/optimizer/plan/streamwalker.cpp +src/gausskernel/optimizer/plan/subselect.cpp +src/gausskernel/optimizer/prep/prepjointree.cpp +src/gausskernel/optimizer/prep/prepnonjointree.cpp +src/gausskernel/optimizer/prep/prepqual.cpp +src/gausskernel/optimizer/prep/preprownum.cpp +src/gausskernel/optimizer/prep/preptlist.cpp +src/gausskernel/optimizer/prep/prepunion.cpp +src/gausskernel/optimizer/rewrite/rewriteDefine.cpp +src/gausskernel/optimizer/rewrite/rewriteHandler.cpp +src/gausskernel/optimizer/rewrite/rewriteManip.cpp +src/gausskernel/optimizer/rewrite/rewriteRemove.cpp +src/gausskernel/optimizer/rewrite/rewriteRlsPolicy.cpp +src/gausskernel/optimizer/rewrite/rewriteSupport.cpp +src/gausskernel/optimizer/util/autoanalyzer.cpp +src/gausskernel/optimizer/util/bucketinfo.cpp +src/gausskernel/optimizer/util/bucketpruning.cpp +src/gausskernel/optimizer/util/clauses.cpp +src/gausskernel/optimizer/util/dataskew.cpp +src/gausskernel/optimizer/util/joininfo.cpp +src/gausskernel/optimizer/util/joinskewinfo.cpp +src/gausskernel/optimizer/util/learn/comm.cpp +src/gausskernel/optimizer/util/learn/encoding.cpp +src/gausskernel/optimizer/util/learn/ml_model.cpp +src/gausskernel/optimizer/util/learn/plan_tree_model.cpp +src/gausskernel/optimizer/util/nodegroups.cpp +src/gausskernel/optimizer/util/optcommon.cpp +src/gausskernel/optimizer/util/optimizerdebug.cpp +src/gausskernel/optimizer/util/pathnode.cpp +src/gausskernel/optimizer/util/pgxcship.cpp +src/gausskernel/optimizer/util/placeholder.cpp +src/gausskernel/optimizer/util/plananalyzer.cpp +src/gausskernel/optimizer/util/plancat.cpp +src/gausskernel/optimizer/util/planmem_walker.cpp +src/gausskernel/optimizer/util/predtest.cpp +src/gausskernel/optimizer/util/pruning.cpp +src/gausskernel/optimizer/util/pruningboundary.cpp +src/gausskernel/optimizer/util/randomplan.cpp +src/gausskernel/optimizer/util/relnode.cpp +src/gausskernel/optimizer/util/restrictinfo.cpp +src/gausskernel/optimizer/util/tlist.cpp +src/gausskernel/optimizer/util/var.cpp +src/gausskernel/process/datasource/datasource.cpp +src/gausskernel/process/globalplancache/globalplancache.cpp +src/gausskernel/process/globalplancache/globalplancache_inval.cpp +src/gausskernel/process/globalplancache/globalplancache_util.cpp +src/gausskernel/process/globalplancache/globalplancache_view.cpp +src/gausskernel/process/job/job_scheduler.cpp +src/gausskernel/process/job/job_worker.cpp +src/gausskernel/process/main/main.cpp +src/gausskernel/process/postmaster/aiocompleter.cpp +src/gausskernel/process/postmaster/alarmchecker.cpp +src/gausskernel/process/postmaster/autovacuum.cpp +src/gausskernel/process/postmaster/barrier_creator.cpp +src/gausskernel/process/postmaster/bgwriter.cpp +src/gausskernel/process/postmaster/cbmwriter.cpp +src/gausskernel/process/postmaster/checkpointer.cpp +src/gausskernel/process/postmaster/fencedudf.cpp +src/gausskernel/process/postmaster/fork_process.cpp +src/gausskernel/process/postmaster/gaussdb_version.cpp +src/gausskernel/process/postmaster/lwlockmonitor.cpp +src/gausskernel/process/postmaster/pagewriter.cpp +src/gausskernel/process/postmaster/pgarch.cpp +src/gausskernel/process/postmaster/pgaudit.cpp +src/gausskernel/process/postmaster/pgstat.cpp +src/gausskernel/process/postmaster/postmaster.cpp +src/gausskernel/process/postmaster/remoteservice.cpp +src/gausskernel/process/postmaster/startup.cpp +src/gausskernel/process/postmaster/syslogger.cpp +src/gausskernel/process/postmaster/twophasecleaner.cpp +src/gausskernel/process/postmaster/walwriter.cpp +src/gausskernel/process/stream/execStream.cpp +src/gausskernel/process/stream/streamConsumer.cpp +src/gausskernel/process/stream/streamCore.cpp +src/gausskernel/process/stream/streamMain.cpp +src/gausskernel/process/stream/streamProducer.cpp +src/gausskernel/process/stream/streamTransportComm.cpp +src/gausskernel/process/tcop/auditfuncs.cpp +src/gausskernel/process/tcop/dest.cpp +src/gausskernel/process/tcop/fastpath.cpp +src/gausskernel/process/tcop/postgres.cpp +src/gausskernel/process/tcop/pquery.cpp +src/gausskernel/process/tcop/stmt_retry.cpp +src/gausskernel/process/tcop/utility.cpp +src/gausskernel/process/threadpool/knl_guc.cpp +src/gausskernel/process/threadpool/knl_instance.cpp +src/gausskernel/process/threadpool/knl_session.cpp +src/gausskernel/process/threadpool/knl_thread.cpp +src/gausskernel/process/threadpool/threadpool_controler.cpp +src/gausskernel/process/threadpool/threadpool_group.cpp +src/gausskernel/process/threadpool/threadpool_listener.cpp +src/gausskernel/process/threadpool/threadpool_scheduler.cpp +src/gausskernel/process/threadpool/threadpool_sessctl.cpp +src/gausskernel/process/threadpool/threadpool_stream.cpp +src/gausskernel/process/threadpool/threadpool_worker.cpp +src/gausskernel/runtime/codegen/codegenutil/bigintegercodegen.cpp +src/gausskernel/runtime/codegen/codegenutil/boolcodegen.cpp +src/gausskernel/runtime/codegen/codegenutil/codegendebuger.cpp +src/gausskernel/runtime/codegen/codegenutil/datecodegen.cpp +src/gausskernel/runtime/codegen/codegenutil/floatcodegen.cpp +src/gausskernel/runtime/codegen/codegenutil/intcodegen.cpp +src/gausskernel/runtime/codegen/codegenutil/numericcodegen.cpp +src/gausskernel/runtime/codegen/codegenutil/timestampcodegen.cpp +src/gausskernel/runtime/codegen/codegenutil/varcharcodegen.cpp +src/gausskernel/runtime/codegen/codegenutil/varlenacodegen.cpp +src/gausskernel/runtime/codegen/executor/foreignscancodegen.cpp +src/gausskernel/runtime/codegen/gscodegen.cpp +src/gausskernel/runtime/codegen/llvmir/GaussDB_expr.cpp +src/gausskernel/runtime/codegen/vecexecutor/vecexprcodegen.cpp +src/gausskernel/runtime/codegen/vecexecutor/vechashaggcodegen.cpp +src/gausskernel/runtime/codegen/vecexecutor/vechashjoincodegen.cpp +src/gausskernel/runtime/codegen/vecexecutor/vecsortcodegen.cpp +src/gausskernel/runtime/executor/execAmi.cpp +src/gausskernel/runtime/executor/execClusterResize.cpp +src/gausskernel/runtime/executor/execCurrent.cpp +src/gausskernel/runtime/executor/execGrouping.cpp +src/gausskernel/runtime/executor/execJunk.cpp +src/gausskernel/runtime/executor/execMain.cpp +src/gausskernel/runtime/executor/execMerge.cpp +src/gausskernel/runtime/executor/execProcnode.cpp +src/gausskernel/runtime/executor/execQual.cpp +src/gausskernel/runtime/executor/execScan.cpp +src/gausskernel/runtime/executor/execTuples.cpp +src/gausskernel/runtime/executor/execUtils.cpp +src/gausskernel/runtime/executor/functions.cpp +src/gausskernel/runtime/executor/instrument.cpp +src/gausskernel/runtime/executor/lightProxy.cpp +src/gausskernel/runtime/executor/nodeAgg.cpp +src/gausskernel/runtime/executor/nodeAppend.cpp +src/gausskernel/runtime/executor/nodeBitmapAnd.cpp +src/gausskernel/runtime/executor/nodeBitmapHeapscan.cpp +src/gausskernel/runtime/executor/nodeBitmapIndexscan.cpp +src/gausskernel/runtime/executor/nodeBitmapOr.cpp +src/gausskernel/runtime/executor/nodeCtescan.cpp +src/gausskernel/runtime/executor/nodeExtensible.cpp +src/gausskernel/runtime/executor/nodeForeignscan.cpp +src/gausskernel/runtime/executor/nodeFunctionscan.cpp +src/gausskernel/runtime/executor/nodeGroup.cpp +src/gausskernel/runtime/executor/nodeHash.cpp +src/gausskernel/runtime/executor/nodeHashjoin.cpp +src/gausskernel/runtime/executor/nodeIndexonlyscan.cpp +src/gausskernel/runtime/executor/nodeIndexscan.cpp +src/gausskernel/runtime/executor/nodeLimit.cpp +src/gausskernel/runtime/executor/nodeLockRows.cpp +src/gausskernel/runtime/executor/nodeMaterial.cpp +src/gausskernel/runtime/executor/nodeMergeAppend.cpp +src/gausskernel/runtime/executor/nodeMergejoin.cpp +src/gausskernel/runtime/executor/nodeModifyTable.cpp +src/gausskernel/runtime/executor/nodeNestloop.cpp +src/gausskernel/runtime/executor/nodePartIterator.cpp +src/gausskernel/runtime/executor/nodeRecursiveunion.cpp +src/gausskernel/runtime/executor/nodeResult.cpp +src/gausskernel/runtime/executor/nodeSamplescan.cpp +src/gausskernel/runtime/executor/nodeSeqscan.cpp +src/gausskernel/runtime/executor/nodeSetOp.cpp +src/gausskernel/runtime/executor/nodeSort.cpp +src/gausskernel/runtime/executor/nodeStub.cpp +src/gausskernel/runtime/executor/nodeSubplan.cpp +src/gausskernel/runtime/executor/nodeSubqueryscan.cpp +src/gausskernel/runtime/executor/nodeTidscan.cpp +src/gausskernel/runtime/executor/nodeUnique.cpp +src/gausskernel/runtime/executor/nodeValuesscan.cpp +src/gausskernel/runtime/executor/nodeWindowAgg.cpp +src/gausskernel/runtime/executor/nodeWorktablescan.cpp +src/gausskernel/runtime/executor/opfusion.cpp +src/gausskernel/runtime/executor/opfusion_scan.cpp +src/gausskernel/runtime/executor/opfusion_util.cpp +src/gausskernel/runtime/executor/route.cpp +src/gausskernel/runtime/executor/spi.cpp +src/gausskernel/runtime/executor/tstoreReceiver.cpp +src/gausskernel/runtime/vecexecutor/vecexecutor.cpp +src/gausskernel/runtime/vecexecutor/vecexpression.cpp +src/gausskernel/runtime/vecexecutor/vecfuncache.cpp +src/gausskernel/runtime/vecexecutor/vecnode/dfsscan.cpp +src/gausskernel/runtime/vecexecutor/vecnode/vecagg.cpp +src/gausskernel/runtime/vecexecutor/vecnode/vecappend.cpp +src/gausskernel/runtime/vecexecutor/vecnode/vecconstraints.cpp +src/gausskernel/runtime/vecexecutor/vecnode/veccstore.cpp +src/gausskernel/runtime/vecexecutor/vecnode/veccstoreindexand.cpp +src/gausskernel/runtime/vecexecutor/vecnode/veccstoreindexctidscan.cpp +src/gausskernel/runtime/vecexecutor/vecnode/veccstoreindexheapscan.cpp +src/gausskernel/runtime/vecexecutor/vecnode/veccstoreindexor.cpp +src/gausskernel/runtime/vecexecutor/vecnode/veccstoreindexscan.cpp +src/gausskernel/runtime/vecexecutor/vecnode/vecdfsindexscan.cpp +src/gausskernel/runtime/vecexecutor/vecnode/vecforeignscan.cpp +src/gausskernel/runtime/vecexecutor/vecnode/vecgroup.cpp +src/gausskernel/runtime/vecexecutor/vecnode/vecgrpuniq.cpp +src/gausskernel/runtime/vecexecutor/vecnode/vechashagg.cpp +src/gausskernel/runtime/vecexecutor/vecnode/vechashjoin.cpp +src/gausskernel/runtime/vecexecutor/vecnode/vechashtable.cpp +src/gausskernel/runtime/vecexecutor/vecnode/veclimit.cpp +src/gausskernel/runtime/vecexecutor/vecnode/vecmaterial.cpp +src/gausskernel/runtime/vecexecutor/vecnode/vecmergeinto.cpp +src/gausskernel/runtime/vecexecutor/vecnode/vecmergejoin.cpp +src/gausskernel/runtime/vecexecutor/vecnode/vecmodifytable.cpp +src/gausskernel/runtime/vecexecutor/vecnode/vecnestloop.cpp +src/gausskernel/runtime/vecexecutor/vecnode/vecpartiterator.cpp +src/gausskernel/runtime/vecexecutor/vecnode/vecplainagg.cpp +src/gausskernel/runtime/vecexecutor/vecnode/vecremotequery.cpp +src/gausskernel/runtime/vecexecutor/vecnode/vecrescan.cpp +src/gausskernel/runtime/vecexecutor/vecnode/vecresult.cpp +src/gausskernel/runtime/vecexecutor/vecnode/vecrowtovector.cpp +src/gausskernel/runtime/vecexecutor/vecnode/vecscan.cpp +src/gausskernel/runtime/vecexecutor/vecnode/vecsetop.cpp +src/gausskernel/runtime/vecexecutor/vecnode/vecsort.cpp +src/gausskernel/runtime/vecexecutor/vecnode/vecsortagg.cpp +src/gausskernel/runtime/vecexecutor/vecnode/vecstore.cpp +src/gausskernel/runtime/vecexecutor/vecnode/vecstream.cpp +src/gausskernel/runtime/vecexecutor/vecnode/vecsubplan.cpp +src/gausskernel/runtime/vecexecutor/vecnode/vecsubqueryscan.cpp +src/gausskernel/runtime/vecexecutor/vecnode/vectortorow.cpp +src/gausskernel/runtime/vecexecutor/vecnode/vectsstorescan.cpp +src/gausskernel/runtime/vecexecutor/vecnode/vecunique.cpp +src/gausskernel/runtime/vecexecutor/vecnode/vecwindowagg.cpp +src/gausskernel/runtime/vecexecutor/vectorbatch.cpp +src/gausskernel/runtime/vecexecutor/vectorsonic/sonicarray/vsonicarray.cpp +src/gausskernel/runtime/vecexecutor/vectorsonic/sonicarray/vsonicchar.cpp +src/gausskernel/runtime/vecexecutor/vectorsonic/sonicarray/vsonicencodingchar.cpp +src/gausskernel/runtime/vecexecutor/vectorsonic/sonicarray/vsonicfixlen.cpp +src/gausskernel/runtime/vecexecutor/vectorsonic/sonicarray/vsonicint.cpp +src/gausskernel/runtime/vecexecutor/vectorsonic/sonicarray/vsonicnumeric.cpp +src/gausskernel/runtime/vecexecutor/vectorsonic/vsonicfilesource.cpp +src/gausskernel/runtime/vecexecutor/vectorsonic/vsonichash.cpp +src/gausskernel/runtime/vecexecutor/vectorsonic/vsonichashagg.cpp +src/gausskernel/runtime/vecexecutor/vectorsonic/vsonichashjoin.cpp +src/gausskernel/runtime/vecexecutor/vectorsonic/vsonicpartition.cpp +src/gausskernel/runtime/vecexecutor/vecvar.cpp +src/gausskernel/security/gs_policy/curl_utils.cpp +src/gausskernel/security/gs_policy/gs_policy_audit.cpp +src/gausskernel/security/gs_policy/gs_policy_masking.cpp +src/gausskernel/security/gs_policy/gs_policy_utils.cpp +src/gausskernel/security/gs_policy/gs_string.cpp +src/gausskernel/security/gs_policy/policy_common.cpp +src/gausskernel/security/iprange/iprange.cpp +src/gausskernel/security/keymanagement/FIKMSmessage.cpp +src/gausskernel/security/keymanagement/HttpRestfulClient.cpp +src/gausskernel/security/keymanagement/KeyManager.cpp +src/gausskernel/security/keymanagement/KeyRecord.cpp +src/gausskernel/security/keymanagement/TDEKeysFile.cpp +src/gausskernel/storage/access/cbtree/cbtree.cpp +src/gausskernel/storage/access/common/cstorescankey.cpp +src/gausskernel/storage/access/common/heaptuple.cpp +src/gausskernel/storage/access/common/indextuple.cpp +src/gausskernel/storage/access/common/printtup.cpp +src/gausskernel/storage/access/common/reloptions.cpp +src/gausskernel/storage/access/common/scankey.cpp +src/gausskernel/storage/access/common/tupconvert.cpp +src/gausskernel/storage/access/common/tupdesc.cpp +src/gausskernel/storage/access/dfs/carbondata/carbondata_column_reader.cpp +src/gausskernel/storage/access/dfs/carbondata/carbondata_file_reader.cpp +src/gausskernel/storage/access/dfs/carbondata/carbondata_index_reader.cpp +src/gausskernel/storage/access/dfs/carbondata/carbondata_reader.cpp +src/gausskernel/storage/access/dfs/common_parser.cpp +src/gausskernel/storage/access/dfs/common_reader.cpp +src/gausskernel/storage/access/dfs/csv/csv_parser.cpp +src/gausskernel/storage/access/dfs/dfs_am.cpp +src/gausskernel/storage/access/dfs/dfs_delete.cpp +src/gausskernel/storage/access/dfs/dfs_insert.cpp +src/gausskernel/storage/access/dfs/dfs_parinsert.cpp +src/gausskernel/storage/access/dfs/dfs_query.cpp +src/gausskernel/storage/access/dfs/dfs_query_check.cpp +src/gausskernel/storage/access/dfs/dfs_query_reader.cpp +src/gausskernel/storage/access/dfs/dfs_stream_factory.cpp +src/gausskernel/storage/access/dfs/dfs_update.cpp +src/gausskernel/storage/access/dfs/dfs_uri.cpp +src/gausskernel/storage/access/dfs/dfsdesc.cpp +src/gausskernel/storage/access/dfs/orc/OrcObsFile.cpp +src/gausskernel/storage/access/dfs/orc/orc_reader.cpp +src/gausskernel/storage/access/dfs/orc/orc_writer.cpp +src/gausskernel/storage/access/dfs/parquet/parquet_column_reader.cpp +src/gausskernel/storage/access/dfs/parquet/parquet_file_reader.cpp +src/gausskernel/storage/access/dfs/parquet/parquet_input_stream_adapter.cpp +src/gausskernel/storage/access/dfs/parquet/parquet_reader.cpp +src/gausskernel/storage/access/dfs/text/text_parser.cpp +src/gausskernel/storage/access/gin/ginarrayproc.cpp +src/gausskernel/storage/access/gin/ginbtree.cpp +src/gausskernel/storage/access/gin/ginbulk.cpp +src/gausskernel/storage/access/gin/gindatapage.cpp +src/gausskernel/storage/access/gin/ginentrypage.cpp +src/gausskernel/storage/access/gin/ginfast.cpp +src/gausskernel/storage/access/gin/ginget.cpp +src/gausskernel/storage/access/gin/gininsert.cpp +src/gausskernel/storage/access/gin/ginlogic.cpp +src/gausskernel/storage/access/gin/ginpostinglist.cpp +src/gausskernel/storage/access/gin/ginscan.cpp +src/gausskernel/storage/access/gin/ginutil.cpp +src/gausskernel/storage/access/gin/ginvacuum.cpp +src/gausskernel/storage/access/gin/ginxlog.cpp +src/gausskernel/storage/access/gist/gist.cpp +src/gausskernel/storage/access/gist/gistbuild.cpp +src/gausskernel/storage/access/gist/gistbuildbuffers.cpp +src/gausskernel/storage/access/gist/gistget.cpp +src/gausskernel/storage/access/gist/gistproc.cpp +src/gausskernel/storage/access/gist/gistscan.cpp +src/gausskernel/storage/access/gist/gistsplit.cpp +src/gausskernel/storage/access/gist/gistutil.cpp +src/gausskernel/storage/access/gist/gistvacuum.cpp +src/gausskernel/storage/access/gist/gistxlog.cpp +src/gausskernel/storage/access/hash/hash.cpp +src/gausskernel/storage/access/hash/hashfunc.cpp +src/gausskernel/storage/access/hash/hashinsert.cpp +src/gausskernel/storage/access/hash/hashovfl.cpp +src/gausskernel/storage/access/hash/hashpage.cpp +src/gausskernel/storage/access/hash/hashscan.cpp +src/gausskernel/storage/access/hash/hashsearch.cpp +src/gausskernel/storage/access/hash/hashsort.cpp +src/gausskernel/storage/access/hash/hashutil.cpp +src/gausskernel/storage/access/hbstore/hbindex_am.cpp +src/gausskernel/storage/access/hbstore/hbucket_am.cpp +src/gausskernel/storage/access/heap/heapam.cpp +src/gausskernel/storage/access/heap/heapam_visibility.cpp +src/gausskernel/storage/access/heap/hio.cpp +src/gausskernel/storage/access/heap/pruneheap.cpp +src/gausskernel/storage/access/heap/rewriteheap.cpp +src/gausskernel/storage/access/heap/syncscan.cpp +src/gausskernel/storage/access/heap/tuptoaster.cpp +src/gausskernel/storage/access/heap/visibilitymap.cpp +src/gausskernel/storage/access/index/genam.cpp +src/gausskernel/storage/access/index/indexam.cpp +src/gausskernel/storage/access/nbtree/nbtcompare.cpp +src/gausskernel/storage/access/nbtree/nbtinsert.cpp +src/gausskernel/storage/access/nbtree/nbtpage.cpp +src/gausskernel/storage/access/nbtree/nbtree.cpp +src/gausskernel/storage/access/nbtree/nbtsearch.cpp +src/gausskernel/storage/access/nbtree/nbtsort.cpp +src/gausskernel/storage/access/nbtree/nbtutils.cpp +src/gausskernel/storage/access/nbtree/nbtxlog.cpp +src/gausskernel/storage/access/obs/obs_am.cpp +src/gausskernel/storage/access/psort/psort.cpp +src/gausskernel/storage/access/redo/redo_barrier.cpp +src/gausskernel/storage/access/redo/redo_bufpage.cpp +src/gausskernel/storage/access/redo/redo_clog.cpp +src/gausskernel/storage/access/redo/redo_csnlog.cpp +src/gausskernel/storage/access/redo/redo_dbcommands.cpp +src/gausskernel/storage/access/redo/redo_ginxlog.cpp +src/gausskernel/storage/access/redo/redo_gistxlog.cpp +src/gausskernel/storage/access/redo/redo_hash.cpp +src/gausskernel/storage/access/redo/redo_heapam.cpp +src/gausskernel/storage/access/redo/redo_nbtpage.cpp +src/gausskernel/storage/access/redo/redo_nbtxlog.cpp +src/gausskernel/storage/access/redo/redo_pruneheap.cpp +src/gausskernel/storage/access/redo/redo_relmapper.cpp +src/gausskernel/storage/access/redo/redo_sequence.cpp +src/gausskernel/storage/access/redo/redo_slotfuncs.cpp +src/gausskernel/storage/access/redo/redo_spgxlog.cpp +src/gausskernel/storage/access/redo/redo_storage.cpp +src/gausskernel/storage/access/redo/redo_tablespace.cpp +src/gausskernel/storage/access/redo/redo_transam.cpp +src/gausskernel/storage/access/redo/redo_visibilitymap.cpp +src/gausskernel/storage/access/redo/redo_xact.cpp +src/gausskernel/storage/access/redo/redo_xlog.cpp +src/gausskernel/storage/access/redo/redo_xlogutils.cpp +src/gausskernel/storage/access/redo/xlogreader_common.cpp +src/gausskernel/storage/access/rmgrdesc/barrierdesc.cpp +src/gausskernel/storage/access/rmgrdesc/clogdesc.cpp +src/gausskernel/storage/access/rmgrdesc/dbasedesc.cpp +src/gausskernel/storage/access/rmgrdesc/gindesc.cpp +src/gausskernel/storage/access/rmgrdesc/gistdesc.cpp +src/gausskernel/storage/access/rmgrdesc/hashdesc.cpp +src/gausskernel/storage/access/rmgrdesc/heapdesc.cpp +src/gausskernel/storage/access/rmgrdesc/motdesc.cpp +src/gausskernel/storage/access/rmgrdesc/mxactdesc.cpp +src/gausskernel/storage/access/rmgrdesc/nbtdesc.cpp +src/gausskernel/storage/access/rmgrdesc/relmapdesc.cpp +src/gausskernel/storage/access/rmgrdesc/seqdesc.cpp +src/gausskernel/storage/access/rmgrdesc/slotdesc.cpp +src/gausskernel/storage/access/rmgrdesc/smgrdesc.cpp +src/gausskernel/storage/access/rmgrdesc/spgdesc.cpp +src/gausskernel/storage/access/rmgrdesc/standbydesc.cpp +src/gausskernel/storage/access/rmgrdesc/tblspcdesc.cpp +src/gausskernel/storage/access/rmgrdesc/xactdesc.cpp +src/gausskernel/storage/access/rmgrdesc/xlogdesc.cpp +src/gausskernel/storage/access/spgist/spgdoinsert.cpp +src/gausskernel/storage/access/spgist/spginsert.cpp +src/gausskernel/storage/access/spgist/spgkdtreeproc.cpp +src/gausskernel/storage/access/spgist/spgquadtreeproc.cpp +src/gausskernel/storage/access/spgist/spgscan.cpp +src/gausskernel/storage/access/spgist/spgtextproc.cpp +src/gausskernel/storage/access/spgist/spgutils.cpp +src/gausskernel/storage/access/spgist/spgvacuum.cpp +src/gausskernel/storage/access/spgist/spgxlog.cpp +src/gausskernel/storage/access/table/tableam.cpp +src/gausskernel/storage/access/transam/cbmfuncs.cpp +src/gausskernel/storage/access/transam/cbmparsexlog.cpp +src/gausskernel/storage/access/transam/clog.cpp +src/gausskernel/storage/access/transam/csnlog.cpp +src/gausskernel/storage/access/transam/double_write.cpp +src/gausskernel/storage/access/transam/extreme_rto/batch_redo.cpp +src/gausskernel/storage/access/transam/extreme_rto/dispatcher.cpp +src/gausskernel/storage/access/transam/extreme_rto/page_redo.cpp +src/gausskernel/storage/access/transam/extreme_rto/posix_semaphore.cpp +src/gausskernel/storage/access/transam/extreme_rto/redo_item.cpp +src/gausskernel/storage/access/transam/extreme_rto/spsc_blocking_queue.cpp +src/gausskernel/storage/access/transam/extreme_rto/txn_redo.cpp +src/gausskernel/storage/access/transam/gtm_single.cpp +src/gausskernel/storage/access/transam/multi_redo_api.cpp +src/gausskernel/storage/access/transam/multi_redo_settings.cpp +src/gausskernel/storage/access/transam/multixact.cpp +src/gausskernel/storage/access/transam/parallel_recovery/dispatcher.cpp +src/gausskernel/storage/access/transam/parallel_recovery/page_redo.cpp +src/gausskernel/storage/access/transam/parallel_recovery/posix_semaphore.cpp +src/gausskernel/storage/access/transam/parallel_recovery/redo_item.cpp +src/gausskernel/storage/access/transam/parallel_recovery/spsc_blocking_queue.cpp +src/gausskernel/storage/access/transam/parallel_recovery/txn_redo.cpp +src/gausskernel/storage/access/transam/redo_statistic.cpp +src/gausskernel/storage/access/transam/rmgr.cpp +src/gausskernel/storage/access/transam/slru.cpp +src/gausskernel/storage/access/transam/transam.cpp +src/gausskernel/storage/access/transam/twophase.cpp +src/gausskernel/storage/access/transam/twophase_rmgr.cpp +src/gausskernel/storage/access/transam/varsup.cpp +src/gausskernel/storage/access/transam/xact.cpp +src/gausskernel/storage/access/transam/xlog.cpp +src/gausskernel/storage/access/transam/xlogfuncs.cpp +src/gausskernel/storage/access/transam/xloginsert.cpp +src/gausskernel/storage/access/transam/xlogreader.cpp +src/gausskernel/storage/access/transam/xlogutils.cpp +src/gausskernel/storage/buffer/buf_init.cpp +src/gausskernel/storage/buffer/buf_table.cpp +src/gausskernel/storage/buffer/bufmgr.cpp +src/gausskernel/storage/buffer/freelist.cpp +src/gausskernel/storage/buffer/localbuf.cpp +src/gausskernel/storage/bulkload/dist_fdw.cpp +src/gausskernel/storage/bulkload/foreignroutine.cpp +src/gausskernel/storage/bulkload/importerror.cpp +src/gausskernel/storage/bulkload/parser.cpp +src/gausskernel/storage/bulkload/roach_adpter.cpp +src/gausskernel/storage/bulkload/vecforeignroutine.cpp +src/gausskernel/storage/cmgr/cache_mgr.cpp +src/gausskernel/storage/cstore/compression/compress_kits.cpp +src/gausskernel/storage/cstore/compression/cstore_compress.cpp +src/gausskernel/storage/cstore/compression/cstore_compress_copy.cpp +src/gausskernel/storage/cstore/compression/time_series_compress.cpp +src/gausskernel/storage/cstore/cstore_allocspace.cpp +src/gausskernel/storage/cstore/cstore_am.cpp +src/gausskernel/storage/cstore/cstore_delete.cpp +src/gausskernel/storage/cstore/cstore_insert.cpp +src/gausskernel/storage/cstore/cstore_mem_alloc.cpp +src/gausskernel/storage/cstore/cstore_minmax_func.cpp +src/gausskernel/storage/cstore/cstore_psort.cpp +src/gausskernel/storage/cstore/cstore_rewrite.cpp +src/gausskernel/storage/cstore/cstore_roughcheck_func.cpp +src/gausskernel/storage/cstore/cstore_update.cpp +src/gausskernel/storage/cstore/cstore_vector.cpp +src/gausskernel/storage/cstore/cu.cpp +src/gausskernel/storage/cstore/cucache_mgr.cpp +src/gausskernel/storage/cstore/custorage.cpp +src/gausskernel/storage/dfs/dfs_connector.cpp +src/gausskernel/storage/dfs/dfscache_mgr.cpp +src/gausskernel/storage/dfs/obs/obs_connector.cpp +src/gausskernel/storage/file/buffile.cpp +src/gausskernel/storage/file/copydir.cpp +src/gausskernel/storage/file/fd.cpp +src/gausskernel/storage/file/lz4_file.cpp +src/gausskernel/storage/file/reinit.cpp +src/gausskernel/storage/freespace/freespace.cpp +src/gausskernel/storage/freespace/fsmpage.cpp +src/gausskernel/storage/freespace/indexfsm.cpp +src/gausskernel/storage/ipc/ipc.cpp +src/gausskernel/storage/ipc/ipci.cpp +src/gausskernel/storage/ipc/pmsignal.cpp +src/gausskernel/storage/ipc/procarray.cpp +src/gausskernel/storage/ipc/procsignal.cpp +src/gausskernel/storage/ipc/shmem.cpp +src/gausskernel/storage/ipc/shmqueue.cpp +src/gausskernel/storage/ipc/sinval.cpp +src/gausskernel/storage/ipc/sinvaladt.cpp +src/gausskernel/storage/ipc/standby.cpp +src/gausskernel/storage/large_object/inv_api.cpp +src/gausskernel/storage/lmgr/deadlock.cpp +src/gausskernel/storage/lmgr/lmgr.cpp +src/gausskernel/storage/lmgr/lock.cpp +src/gausskernel/storage/lmgr/lwlock.cpp +src/gausskernel/storage/lmgr/lwlock_be.cpp +src/gausskernel/storage/lmgr/predicate.cpp +src/gausskernel/storage/lmgr/proc.cpp +src/gausskernel/storage/lmgr/s_lock.cpp +src/gausskernel/storage/lmgr/spin.cpp +src/gausskernel/storage/mot/core/src/concurrency_control/occ_transaction_manager.cpp +src/gausskernel/storage/mot/core/src/concurrency_control/row_header.cpp +src/gausskernel/storage/mot/core/src/infra/config/cmdline_config_loader.cpp +src/gausskernel/storage/mot/core/src/infra/config/config_array.cpp +src/gausskernel/storage/mot/core/src/infra/config/config_file_loader.cpp +src/gausskernel/storage/mot/core/src/infra/config/config_file_parser.cpp +src/gausskernel/storage/mot/core/src/infra/config/config_item.cpp +src/gausskernel/storage/mot/core/src/infra/config/config_item_class.cpp +src/gausskernel/storage/mot/core/src/infra/config/config_loader.cpp +src/gausskernel/storage/mot/core/src/infra/config/config_manager.cpp +src/gausskernel/storage/mot/core/src/infra/config/config_section.cpp +src/gausskernel/storage/mot/core/src/infra/config/config_tree.cpp +src/gausskernel/storage/mot/core/src/infra/config/config_value_type.cpp +src/gausskernel/storage/mot/core/src/infra/config/ext_config_loader.cpp +src/gausskernel/storage/mot/core/src/infra/config/file_line_reader.cpp +src/gausskernel/storage/mot/core/src/infra/config/layered_config_tree.cpp +src/gausskernel/storage/mot/core/src/infra/config/props_config_file_loader.cpp +src/gausskernel/storage/mot/core/src/infra/config/typed_config_value.cpp +src/gausskernel/storage/mot/core/src/infra/containers/bitmapset.cpp +src/gausskernel/storage/mot/core/src/infra/containers/mot_string.cpp +src/gausskernel/storage/mot/core/src/infra/infra.cpp +src/gausskernel/storage/mot/core/src/infra/stats/boolean_statistic_variable.cpp +src/gausskernel/storage/mot/core/src/infra/stats/frequency_statistic_variable.cpp +src/gausskernel/storage/mot/core/src/infra/stats/global_statistics.cpp +src/gausskernel/storage/mot/core/src/infra/stats/level_statistic_variable.cpp +src/gausskernel/storage/mot/core/src/infra/stats/memory_statistic_variable.cpp +src/gausskernel/storage/mot/core/src/infra/stats/numeric_statistic_variable.cpp +src/gausskernel/storage/mot/core/src/infra/stats/rate_statistic_variable.cpp +src/gausskernel/storage/mot/core/src/infra/stats/statistic_variable.cpp +src/gausskernel/storage/mot/core/src/infra/stats/statistics_manager.cpp +src/gausskernel/storage/mot/core/src/infra/stats/statistics_provider.cpp +src/gausskernel/storage/mot/core/src/infra/stats/thread_statistics.cpp +src/gausskernel/storage/mot/core/src/infra/synchronization/affinity.cpp +src/gausskernel/storage/mot/core/src/infra/synchronization/cycles.cpp +src/gausskernel/storage/mot/core/src/infra/synchronization/rw_lock.cpp +src/gausskernel/storage/mot/core/src/infra/synchronization/spin_lock.cpp +src/gausskernel/storage/mot/core/src/memory/garbage_collector/mm_gc_manager.cpp +src/gausskernel/storage/mot/core/src/memory/memory_statistics.cpp +src/gausskernel/storage/mot/core/src/memory/mm_api.cpp +src/gausskernel/storage/mot/core/src/memory/mm_buffer_allocator.cpp +src/gausskernel/storage/mot/core/src/memory/mm_buffer_api.cpp +src/gausskernel/storage/mot/core/src/memory/mm_buffer_chunk.cpp +src/gausskernel/storage/mot/core/src/memory/mm_buffer_class.cpp +src/gausskernel/storage/mot/core/src/memory/mm_buffer_heap.cpp +src/gausskernel/storage/mot/core/src/memory/mm_buffer_list.cpp +src/gausskernel/storage/mot/core/src/memory/mm_cfg.cpp +src/gausskernel/storage/mot/core/src/memory/mm_def.cpp +src/gausskernel/storage/mot/core/src/memory/mm_global_api.cpp +src/gausskernel/storage/mot/core/src/memory/mm_huge_object_allocator.cpp +src/gausskernel/storage/mot/core/src/memory/mm_lf_stack.cpp +src/gausskernel/storage/mot/core/src/memory/mm_lock.cpp +src/gausskernel/storage/mot/core/src/memory/mm_numa.cpp +src/gausskernel/storage/mot/core/src/memory/mm_raw_chunk_dir.cpp +src/gausskernel/storage/mot/core/src/memory/mm_raw_chunk_pool.cpp +src/gausskernel/storage/mot/core/src/memory/mm_raw_chunk_store.cpp +src/gausskernel/storage/mot/core/src/memory/mm_session_allocator.cpp +src/gausskernel/storage/mot/core/src/memory/mm_session_api.cpp +src/gausskernel/storage/mot/core/src/memory/mm_session_large_buffer_list.cpp +src/gausskernel/storage/mot/core/src/memory/mm_session_large_buffer_pool.cpp +src/gausskernel/storage/mot/core/src/memory/mm_session_large_buffer_store.cpp +src/gausskernel/storage/mot/core/src/memory/mm_virtual_huge_chunk.cpp +src/gausskernel/storage/mot/core/src/memory/object_pool.cpp +src/gausskernel/storage/mot/core/src/memory/object_pool_compact.cpp +src/gausskernel/storage/mot/core/src/memory/object_pool_impl.cpp +src/gausskernel/storage/mot/core/src/memory/sys_numa_api.cpp +src/gausskernel/storage/mot/core/src/storage/column.cpp +src/gausskernel/storage/mot/core/src/storage/index/index.cpp +src/gausskernel/storage/mot/core/src/storage/index/index_defs.cpp +src/gausskernel/storage/mot/core/src/storage/index/index_factory.cpp +src/gausskernel/storage/mot/core/src/storage/index/masstree/mot_masstree_kvthread.cpp +src/gausskernel/storage/mot/core/src/storage/index/masstree_index.cpp +src/gausskernel/storage/mot/core/src/storage/index/surrogate_key_manager.cpp +src/gausskernel/storage/mot/core/src/storage/key.cpp +src/gausskernel/storage/mot/core/src/storage/row.cpp +src/gausskernel/storage/mot/core/src/storage/sentinel.cpp +src/gausskernel/storage/mot/core/src/storage/table.cpp +src/gausskernel/storage/mot/core/src/system/checkpoint/checkpoint_ctrlfile.cpp +src/gausskernel/storage/mot/core/src/system/checkpoint/checkpoint_manager.cpp +src/gausskernel/storage/mot/core/src/system/checkpoint/checkpoint_utils.cpp +src/gausskernel/storage/mot/core/src/system/checkpoint/checkpoint_worker.cpp +src/gausskernel/storage/mot/core/src/system/common/commit_sequence_number.cpp +src/gausskernel/storage/mot/core/src/system/common/connection_id.cpp +src/gausskernel/storage/mot/core/src/system/common/gc_context.cpp +src/gausskernel/storage/mot/core/src/system/common/session_context.cpp +src/gausskernel/storage/mot/core/src/system/common/session_manager.cpp +src/gausskernel/storage/mot/core/src/system/common/table_manager.cpp +src/gausskernel/storage/mot/core/src/system/common/thread_id.cpp +src/gausskernel/storage/mot/core/src/system/global.cpp +src/gausskernel/storage/mot/core/src/system/mot_configuration.cpp +src/gausskernel/storage/mot/core/src/system/mot_engine.cpp +src/gausskernel/storage/mot/core/src/system/mot_error.cpp +src/gausskernel/storage/mot/core/src/system/recovery/checkpoint_recovery.cpp +src/gausskernel/storage/mot/core/src/system/recovery/inprocess_transactions.cpp +src/gausskernel/storage/mot/core/src/system/recovery/log_segment.cpp +src/gausskernel/storage/mot/core/src/system/recovery/recovery_manager.cpp +src/gausskernel/storage/mot/core/src/system/recovery/recovery_ops.cpp +src/gausskernel/storage/mot/core/src/system/recovery/redo_log_transaction_iterator.cpp +src/gausskernel/storage/mot/core/src/system/recovery/redo_log_transaction_segments.cpp +src/gausskernel/storage/mot/core/src/system/recovery/surrogate_state.cpp +src/gausskernel/storage/mot/core/src/system/statistics/db_session_statistics.cpp +src/gausskernel/storage/mot/core/src/system/statistics/network_statistics.cpp +src/gausskernel/storage/mot/core/src/system/statistics/process_statistics.cpp +src/gausskernel/storage/mot/core/src/system/statistics/system_statistics.cpp +src/gausskernel/storage/mot/core/src/system/transaction/txn.cpp +src/gausskernel/storage/mot/core/src/system/transaction/txn_access.cpp +src/gausskernel/storage/mot/core/src/system/transaction/txn_ddl_access.cpp +src/gausskernel/storage/mot/core/src/system/transaction_logger/group_synchronous_redo_log/commit_group.cpp +src/gausskernel/storage/mot/core/src/system/transaction_logger/group_synchronous_redo_log/group_synchronous_redo_log_handler.cpp +src/gausskernel/storage/mot/core/src/system/transaction_logger/group_synchronous_redo_log/segmented_group_synchronous_redo_log_handler.cpp +src/gausskernel/storage/mot/core/src/system/transaction_logger/log_statistics.cpp +src/gausskernel/storage/mot/core/src/system/transaction_logger/logger_factory.cpp +src/gausskernel/storage/mot/core/src/system/transaction_logger/logger_type.cpp +src/gausskernel/storage/mot/core/src/system/transaction_logger/redo_log.cpp +src/gausskernel/storage/mot/core/src/system/transaction_logger/redo_log_handler.cpp +src/gausskernel/storage/mot/core/src/system/transaction_logger/redo_log_handler_type.cpp +src/gausskernel/storage/mot/core/src/system/transaction_logger/redo_log_writer.cpp +src/gausskernel/storage/mot/core/src/system/transaction_logger/redo_statistics.cpp +src/gausskernel/storage/mot/core/src/system/transaction_logger/synchronous_redo_log/synchronous_redo_log_handler.cpp +src/gausskernel/storage/mot/core/src/utils/debug_utils.cpp +src/gausskernel/storage/mot/core/src/utils/log_level.cpp +src/gausskernel/storage/mot/core/src/utils/logger.cpp +src/gausskernel/storage/mot/core/src/utils/mot_log.cpp +src/gausskernel/storage/mot/core/src/utils/string_buffer.cpp +src/gausskernel/storage/mot/core/src/utils/utilities.cpp +src/gausskernel/storage/mot/fdw_adapter/src/mot_fdw.cpp +src/gausskernel/storage/mot/fdw_adapter/src/mot_fdw_error.cpp +src/gausskernel/storage/mot/fdw_adapter/src/mot_fdw_xlog.cpp +src/gausskernel/storage/mot/fdw_adapter/src/mot_internal.cpp +src/gausskernel/storage/mot/fdw_adapter/src/mot_match_index.cpp +src/gausskernel/storage/mot/jit_exec/src/jit_common.cpp +src/gausskernel/storage/mot/jit_exec/src/jit_context.cpp +src/gausskernel/storage/mot/jit_exec/src/jit_context_pool.cpp +src/gausskernel/storage/mot/jit_exec/src/jit_exec.cpp +src/gausskernel/storage/mot/jit_exec/src/jit_explain.cpp +src/gausskernel/storage/mot/jit_exec/src/jit_helpers.cpp +src/gausskernel/storage/mot/jit_exec/src/jit_llvm.cpp +src/gausskernel/storage/mot/jit_exec/src/jit_llvm_blocks.cpp +src/gausskernel/storage/mot/jit_exec/src/jit_llvm_query_codegen.cpp +src/gausskernel/storage/mot/jit_exec/src/jit_llvm_util.cpp +src/gausskernel/storage/mot/jit_exec/src/jit_plan.cpp +src/gausskernel/storage/mot/jit_exec/src/jit_plan_expr.cpp +src/gausskernel/storage/mot/jit_exec/src/jit_source.cpp +src/gausskernel/storage/mot/jit_exec/src/jit_source_map.cpp +src/gausskernel/storage/mot/jit_exec/src/jit_source_pool.cpp +src/gausskernel/storage/mot/jit_exec/src/jit_statistics.cpp +src/gausskernel/storage/mot/jit_exec/src/jit_tvm.cpp +src/gausskernel/storage/mot/jit_exec/src/jit_tvm_blocks.cpp +src/gausskernel/storage/mot/jit_exec/src/jit_tvm_query_codegen.cpp +src/gausskernel/storage/mot/jit_exec/src/jit_tvm_util.cpp +src/gausskernel/storage/page/bufpage.cpp +src/gausskernel/storage/page/checksum.cpp +src/gausskernel/storage/page/checksum_impl.cpp +src/gausskernel/storage/page/itemptr.cpp +src/gausskernel/storage/page/pagecompress.cpp +src/gausskernel/storage/remote/remote_adapter.cpp +src/gausskernel/storage/remote/remote_read.cpp +src/gausskernel/storage/replication/basebackup.cpp +src/gausskernel/storage/replication/bcm.cpp +src/gausskernel/storage/replication/catchup.cpp +src/gausskernel/storage/replication/dataqueue.cpp +src/gausskernel/storage/replication/datarcvwriter.cpp +src/gausskernel/storage/replication/datareceiver.cpp +src/gausskernel/storage/replication/datasender.cpp +src/gausskernel/storage/replication/datasyncrep.cpp +src/gausskernel/storage/replication/heartbeat.cpp +src/gausskernel/storage/replication/heartbeat/heartbeat_client.cpp +src/gausskernel/storage/replication/heartbeat/heartbeat_conn.cpp +src/gausskernel/storage/replication/heartbeat/heartbeat_server.cpp +src/gausskernel/storage/replication/heartbeat/libpq/fe-connect.cpp +src/gausskernel/storage/replication/heartbeat/libpq/pqcomm.cpp +src/gausskernel/storage/replication/libpqwalreceiver.cpp +src/gausskernel/storage/replication/logical/decode.cpp +src/gausskernel/storage/replication/logical/logical.cpp +src/gausskernel/storage/replication/logical/logicalfuncs.cpp +src/gausskernel/storage/replication/logical/reorderbuffer.cpp +src/gausskernel/storage/replication/logical/snapbuild.cpp +src/gausskernel/storage/replication/obswalreceiver.cpp +src/gausskernel/storage/replication/rto_statistic.cpp +src/gausskernel/storage/replication/slot.cpp +src/gausskernel/storage/replication/slotfuncs.cpp +src/gausskernel/storage/replication/syncrep.cpp +src/gausskernel/storage/replication/walrcvwriter.cpp +src/gausskernel/storage/replication/walreceiver.cpp +src/gausskernel/storage/replication/walreceiverfuncs.cpp +src/gausskernel/storage/replication/walsender.cpp +src/gausskernel/storage/smgr/md.cpp +src/gausskernel/storage/smgr/smgr.cpp +src/gausskernel/storage/smgr/smgrtype.cpp diff --git a/src/Makefile.global.in b/src/Makefile.global.in index 79bf14193..d4ff23c16 100644 --- a/src/Makefile.global.in +++ b/src/Makefile.global.in @@ -273,6 +273,7 @@ endif ############################################################################# # Saved arguments form configure with_3rd = @with_3rdpartydir@ +with_jdk = @with_jdk@ ifeq ($(with_3rd), NONE) BINARYPATH = binarylibs/dependency/$(PLAT_FORM_STR) @@ -737,7 +738,12 @@ else # not PGXS endif endif -override CPPFLAGS := $(CPPFLAGS) -I$(LIBODBC_INCLUDE_PATH) -I$(LIBOBS_INCLUDE_PATH) -I$(LIBCGROUP_INCLUDE_PATH) -I$(LIBOPENSSL_INCLUDE_PATH) -I${LIBORC_INCLUDE_PATH} -I${LIBPARQUET_INCLUDE_PATH} -I${PROTOBUF_INCLUDE_PATH} -I${GRPC_INCLUDE_PATH} -I${BOOST_INCLUDE_PATH} -I$(LIBLLVM_INCLUDE_PATH) -I$(KERBEROS_INCLUDE_PATH) -I$(HLL_INCLUDE_PATH) -I$(CJSON_INCLUDE_PATH) -I$(LIBEDIT_INCLUDE_PATH) -I$(EVENT_INCLUDE_PATH) -I$(NUMA_INCLUDE_PATH) -I$(ZLIB_INCLUDE_PATH) -I$(LZ4_INCLUDE_PATH) -I$(LIBCURL_INCLUDE_PATH) +override CPPFLAGS := $(CPPFLAGS) -I$(LIBODBC_INCLUDE_PATH) -I$(LIBOBS_INCLUDE_PATH) -I$(LIBCGROUP_INCLUDE_PATH) -I$(LIBOPENSSL_INCLUDE_PATH) -I${LIBORC_INCLUDE_PATH} -I${LIBPARQUET_INCLUDE_PATH} -I${PROTOBUF_INCLUDE_PATH} -I${GRPC_INCLUDE_PATH} -I${BOOST_INCLUDE_PATH} -I$(LIBLLVM_INCLUDE_PATH) -I$(KERBEROS_INCLUDE_PATH) -I$(HLL_INCLUDE_PATH) -I$(CJSON_INCLUDE_PATH) -I$(LIBEDIT_INCLUDE_PATH) -I$(NUMA_INCLUDE_PATH) -I$(ZLIB_INCLUDE_PATH) -I$(LZ4_INCLUDE_PATH) -I$(LIBCURL_INCLUDE_PATH) + +ifeq ($(enable_multiple_nodes), yes) + # GDS links to libevent + override CPPFLAGS := $(CPPFLAGS) -I$(EVENT_INCLUDE_PATH) +endif ifeq ($(SUPPORT_HOTPATCH), yes) override CPPFLAGS := $(CPPFLAGS) -I$(LIBHOTPATCH_INCLUDE_PATH) @@ -1071,7 +1077,7 @@ endif libpq = -L$(libpq_builddir) -lpq ifneq ($(enable_multiple_nodes)_$(enable_privategauss), no_no) -libpq_ce = -L$(libpq_builddir) -lpq_ce -L$(top_builddir)/src/distribute/bin/gs_ktool/ -lgs_ktool -lsecurec -lkmc +libpq_ce = -L$(libpq_builddir) -lpq_ce -L$(top_builddir)/src/bin/gs_ktool/ -lgs_ktool -lsecurec -lkmc else libpq_ce = -L$(libpq_builddir) -lpq_ce endif diff --git a/src/bin/Makefile b/src/bin/Makefile index dd6af7dbb..d08ef8141 100644 --- a/src/bin/Makefile +++ b/src/bin/Makefile @@ -34,7 +34,8 @@ SUBDIRS = \ gsqlerr \ pg_upgrade \ pg_basebackup \ - pg_probackup + pg_probackup \ + gs_ktool ifeq ($(PORTNAME), win32) SUBDIRS += pgevent @@ -56,7 +57,9 @@ SUBDIRS = \ pg_basebackup \ pg_probackup - +ifeq ($(enable_privategauss), yes) +SUBDIRS += gs_ktool +endif endif diff --git a/src/bin/gs_cgroup/cgconf.cpp b/src/bin/gs_cgroup/cgconf.cpp old mode 100755 new mode 100644 diff --git a/src/bin/gs_cgroup/cgexec.cpp b/src/bin/gs_cgroup/cgexec.cpp old mode 100755 new mode 100644 diff --git a/src/bin/gs_cgroup/cgptree.cpp b/src/bin/gs_cgroup/cgptree.cpp old mode 100755 new mode 100644 index cbcaf7a06..5568d0bcf --- a/src/bin/gs_cgroup/cgptree.cpp +++ b/src/bin/gs_cgroup/cgptree.cpp @@ -877,6 +877,12 @@ static struct controller_info* cgptree_get_controller_list(void) error = cgroup_get_controller_next(&ctrl_handle, &info); if (error && error != ECGEOF) { fprintf(stderr, "get next controller failed: %s\n", cgroup_strerror(error)); + if (curr_cinfo->ctrl_name != NULL) + free(curr_cinfo->ctrl_name); + if (curr_cinfo->mount_point != NULL) + free(curr_cinfo->mount_point); + cgptree_free_group_tree(curr_cinfo->group_head); + free(curr_cinfo); break; } diff --git a/src/bin/gs_cgroup/cgutil.h b/src/bin/gs_cgroup/cgutil.h old mode 100755 new mode 100644 diff --git a/src/bin/gs_cgroup/main.cpp b/src/bin/gs_cgroup/main.cpp old mode 100755 new mode 100644 diff --git a/src/bin/gs_guc/Makefile b/src/bin/gs_guc/Makefile index 5af71cd92..6c07bcc48 100755 --- a/src/bin/gs_guc/Makefile +++ b/src/bin/gs_guc/Makefile @@ -26,10 +26,9 @@ ifneq "$(MAKECMDGOALS)" "clean" endif COMMON_OBJS = $(top_builddir)/src/lib/elog/elog.a -EXTRA_OBJS = $(top_builddir)/src/gausskernel/cbb/utils/aes/aes.o OBJS = pg_guc.o cluster_config.o cluster_guc.o pg_hba.o $(top_builddir)/src/lib/elog/elog.a \ - $(top_builddir)/src/lib/config/libconfig.a $(EXTRA_OBJS) + $(top_builddir)/src/lib/config/libconfig.a all:gs_guc encrypt diff --git a/src/bin/gs_guc/cluster_config.cpp b/src/bin/gs_guc/cluster_config.cpp old mode 100755 new mode 100644 index a473665ed..dc800cbc5 --- a/src/bin/gs_guc/cluster_config.cpp +++ b/src/bin/gs_guc/cluster_config.cpp @@ -964,7 +964,11 @@ int save_guc_para_info() continue; } else if (strncmp(line_info, "[cmserver]", sizeof("[cmserver]")) == 0) { is_cmserver = true; +#ifdef ENABLE_MULTIPLE_NODES is_gtm = false; +#else + is_cndn = false; +#endif continue; } else if (strncmp(line_info, "[cmagent]", sizeof("[cmagent]")) == 0) { is_cmagent = true; diff --git a/src/bin/gs_guc/cluster_guc.conf b/src/bin/gs_guc/cluster_guc.conf old mode 100644 new mode 100755 index f9cef201a..50b3c692b --- a/src/bin/gs_guc/cluster_guc.conf +++ b/src/bin/gs_guc/cluster_guc.conf @@ -28,7 +28,6 @@ cpu_operator_cost|real|0,1.79769e+308|NULL|NULL| cpu_tuple_cost|real|0,1.79769e+308|NULL|NULL| random_page_cost|real|0,1.79769e+308|NULL|NULL| seq_page_cost|real|0,1.79769e+308|NULL|NULL| -agg_redistribute_enhancement|bool|0,0|NULL|NULL| alarm_component|string|0,0|NULL|NULL| alarm_report_interval|int|0,2147483647|NULL|NULL| allow_concurrent_tuple_update|bool|0,0|NULL|NULL| @@ -80,14 +79,12 @@ backtrace_min_messages|enum|debug,debug5,debug4,debug3,debug2,debug1,log,info,no bbox_dump_count|int|1,20|NULL|NULL| bbox_dump_path|string|0,0|NULL|NULL| behavior_compat_options|string|0,0|NULL|NULL| -best_agg_plan|int|0,3|NULL|NULL| bgwriter_delay|int|10,10000|ms|NULL| bgwriter_lru_maxpages|int|0,1000|NULL|NULL| bgwriter_lru_multiplier|real|0,10|NULL|NULL| bgwriter_thread_num|int|0,8|NULL|NULL| bulk_read_ring_size|int|256,2147483647|kB|NULL| bulk_write_ring_size|int|16384,2147483647|kB|NULL| -bypass_workload_manager|bool|0,0|NULL|NULL| bytea_output|enum|escape,hex|NULL|NULL| cache_connection|bool|0,0|NULL|NULL| candidate_buf_percent_target|real|0.1,0.85|NULL|NULL| @@ -100,15 +97,11 @@ checkpoint_warning|int|0,2147483647|s|NULL| check_implicit_conversions|bool|0,0|NULL|NULL| client_encoding|string|0,0|NULL|It is not recommended to set this parameter in postgresql.conf and it will not take effect even if it is set in postgresql.conf.| client_min_messages|enum|debug,debug5,debug4,debug3,debug2,debug1,log,info,notice,warning,error,fatal,panic|NULL|When client_min_messages and log_min_messages take the same value, the value represented by the different levels.| -comm_ackchk_time|int|0,20000|NULL|NULL| -comm_cn_dn_logic_conn|bool|0,0|NULL|When comm_cn_dn_logic_conn set to on, CN use logic connection with DN.| +comm_ackchk_time|int|0,20000|ms|NULL| cn_send_buffer_size|int|8,128|kB|NULL| -comm_client_bind|bool|0,0|NULL|NULL| comm_control_port|int|0,65535|NULL|NULL| comm_debug_mode|bool|0,0|NULL|When comm_debug_mode set to on, printing large amount of log, and it will add extra overhead, reduce database performance. Please Open it only when debugging.| -comm_max_datanode|int|1,65535|NULL|NULL| comm_max_receiver|int|1,50|NULL|NULL| -comm_max_stream|int|1,60000|NULL|NULL| comm_no_delay|bool|0,0|NULL|NULL| comm_quota_size|int|0,2048000|kB|NULL| comm_sctp_port|int|0,65535|NULL|NULL| @@ -155,12 +148,9 @@ dynamic_library_path|string|0,0|NULL|NULL| dynamic_memory_quota|int|1,100|NULL|NULL| effective_cache_size|int|1,2147483647|kB|This parameter has no effect on GaussDB Kernel allocated shared memory size, it does not use the kernel disk buffer, it is only used to estimate. The values are used to calculate the disk page, each page is usually 8192 bytes. Higher than the default value may result in the use of index scans, lower values may result in the selection order of scan.| effective_io_concurrency|int|0,1000|NULL|NULL| -enable_acceleration_cluster_wlm|bool|0,0|NULL|NULL| enable_access_server_directory|bool|0,0|NULL|NULL| -enable_agg_pushdown_for_ca|bool|0,0|NULL|NULL| enable_alarm|bool|0,0|NULL|NULL| enable_analyze_check|bool|0,0|NULL|NULL| -enable_backend_control|bool|0,0|NULL|NULL| enable_bbox_dump|bool|0,0|NULL|NULL| enable_ffic_log|bool|0,0|NULL|NULL| enable_bitmapscan|bool|0,0|NULL|NULL| @@ -173,40 +163,29 @@ enable_instr_rt_percentile|bool|0,0|NULL|NULL| enable_instr_track_wait|bool|0,0|NULL|NULL| enable_broadcast|bool|0,0|NULL|NULL| enable_cbm_tracking|bool|0,0|NULL|Turn on cbm tracking function.| -enable_cgroup_switch|bool|0,0|NULL|NULL| enable_change_hjcost|bool|0,0|NULL|NULL| -enable_cluster_resize|bool|0,0|NULL|NULL| enable_copy_server_files|bool|0,0|NULL|NULL| enable_sonic_hashjoin|bool|0,0|NULL|NULL| enable_sonic_hashagg|bool|0,0|NULL|NULL| enable_sonic_optspill|bool|0,0|NULL|NULL| enable_codegen|bool|0,0|NULL|NULL| enable_codegen_print|bool|0,0|NULL|Enable dump for llvm function| -enable_full_encryption|bool|0,0|NULL|NULL| enable_delta_store|bool|0,0|NULL|NULL| enable_default_cfunc_libpath|bool|0,0|NULL|NULL| codegen_cost_threshold|int|0,2147483647|NULL|Decided to use LLVM optimization or not| codegen_strategy|enum|partial,pure|NULL|NULL| enable_compress_spill|bool|0,0|NULL|NULL| enable_constraint_optimization|bool|0,0|NULL|Information Constrained Optimization is only limited to the HDFS foreign table. When you execute a query which does not contain HDFS foreign table, the parameter is set to off.| -enable_control_group|bool|0,0|NULL|NULL| enable_csqual_pushdown|bool|0,0|NULL|NULL| enable_data_replicate|bool|0,0|NULL|When this parameter is set on, replication_type must be 0.| enable_mix_replication|bool|0,0|NULL|NULL| -enable_dynamic_workload|bool|0,0|NULL|NULL| enable_instance_metric_persistent|bool|0,0|NULL|NULL| enable_logical_io_statistics|bool|0,0|NULL|NULL| instance_metric_retention_time|int|0,3650|day|NULL| -enable_dywlm_adjust|bool|0,0|NULL|NULL| -enable_fast_query_shipping|bool|0,0|NULL|NULL| enable_compress_hll|bool|0,0|NULL|NULL| enable_fast_numeric|bool|0,0|NULL|Enable numeric optimize.| -enable_force_memory_control|bool|0,0|NULL|NULL| -enable_force_reuse_connections|bool|0,0|NULL|NULL| enable_force_vector_engine|bool|0,0|NULL|NULL| -enable_fstream|bool|0,0|NULL|NULL| enable_global_plancache|bool|0,0|NULL|NULL| -enable_gtm_free|bool|0,0|NULL|NULL| enable_twophase_commit|bool|0,0|NULL|NULL| enable_hashagg|bool|0,0|NULL|NULL| enable_hashjoin|bool|0,0|NULL|NULL| @@ -251,12 +230,12 @@ enable_save_datachanged_timestamp|bool|0,0|NULL|NULL| enable_seqscan|bool|0,0|NULL|NULL| enable_show_any_tuples|bool|0,0|NULL|NULL| enable_sort|bool|0,0|NULL|NULL| -enable_stream_operator|bool|0,0|NULL|NULL| enable_unshipping_log|bool|0,0|NULL|NULL| enable_stream_concurrent_update|bool|0,0|NULL|NULL| enable_stream_recursive|bool|0,0|NULL|NULL| enable_incremental_catchup|bool|0,0|NULL|NULL| wait_dummy_time|int|0,2147483647|NULL|NULL| +max_active_global_temporary_table|int|0,1000000|NULL|NULL| max_recursive_times|int|0,2147483647|NULL|NULL| enable_tidscan|bool|0,0|NULL|NULL| enable_transaction_parctl|bool|0,0|NULL|NULL| @@ -416,10 +395,9 @@ max_user_defined_exception|int|1000,1000|NULL|NULL| max_wal_senders|int|0,262143|NULL|Check whether the new value of max_wal_senders is less than max_connections and wal_level is archive or hot_standby, otherwise the gaussdb will start failed.| max_redo_log_size|int|163840,2147483647|kB|NULL| memorypool_enable|bool|0,0|NULL|NULL| -memory_fault_percent|int|0,2147483647|NULL|NULL| memorypool_size|int|131072,1073741823|kB|NULL| memory_detail_tracking|string|0,0|NULL|This parameter memory_detail_tracking only can be used in debug version. If it is set in the release version, it will lead the cluster does not work properly. Therefore, before making the settings, please make sure that the cluster version is debug.| -memory_tracking_mode|enum|none,normal,executor|NULL|NULL| +memory_tracking_mode|enum|none,normal,executor,fullexec|NULL|NULL| minimum_pool_size|int|1,65535|NULL|NULL| modify_initial_password|bool|0,0|NULL|NULL| most_available_sync|bool|0,0|NULL|NULL| @@ -518,9 +496,9 @@ syslog_facility|enum|local0,local1,local2,local3,local4,local5,local6,local7|NUL syslog_ident|string|0,0|NULL|NULL| table_skewness_warning_rows|int|0,2147483647|NULL|NULL| table_skewness_warning_threshold|real|0,1|NULL|NULL| -tcp_keepalives_count|int|0,2147483647|NULL|NULL| -tcp_keepalives_idle|int|0,2147483647|s|If the operating system does not support TCP_KEEPIDLE option, the value of this parameter must be zero. On the operating system via a Unix domain socket connection, this parameter will be ignored.| -tcp_keepalives_interval|int|0,2147483647|s|If the operating system does not support TCP_KEEPIDLE option, the value of this parameter must be 1. On the operating system via a Unix domain socket connection, this parameter will be ignored.| +tcp_keepalives_count|int|0,100|NULL|NULL| +tcp_keepalives_idle|int|0,3600|s|If the operating system does not support TCP_KEEPIDLE option, the value of this parameter must be zero. On the operating system via a Unix domain socket connection, this parameter will be ignored.| +tcp_keepalives_interval|int|0,180|s|If the operating system does not support TCP_KEEPIDLE option, the value of this parameter must be 1. On the operating system via a Unix domain socket connection, this parameter will be ignored.| temp_buffers|int|100,1073741823|kB|NULL| temp_file_limit|int|-1,2147483647|kB|SQL query using a temporary table space when executed unless the system.| temp_tablespaces|string|0,0|NULL|NULL| @@ -538,7 +516,7 @@ track_thread_wait_status_interval|int|0,1440|min|NULL| track_sql_count|bool|0,0|NULL|NULL| transaction_deferrable|bool|0,0|NULL|NULL| transaction_isolation|string|0,0|NULL|NULL| -transaction_pending_time|int|-1,2147483647|NULL|NULL| +transaction_pending_time|int|-1,1073741823|NULL|NULL| transaction_read_only|bool|0,0|NULL|NULL| transparent_encrypted_string|string|0,0|NULL|NULL| transparent_encrypt_kms_url|string|0,0|NULL|NULL| @@ -632,12 +610,10 @@ udfworkermemhardlimit|int|0,2147483647|kB|Sets the hard memory limit to be used pljava_vmoptions|string|0,0|NULL|VMOptions to start the JVM in pljava when it is created.| enable_extrapolation_stats|bool|0,0|NULL|NULL| retry_ecode_list|string|0,0|NULL|NULL| -enable_tsdb|bool|0,0|NULL|NULL| enable_ts_compaction|bool|0,0|NULL|NULL| ts_consumer_workers|int|1,100|NULL|NULL| ts_compaction_strategy|string|0,0|NULL|NULL| ts_adaptive_threads|bool|0,0|NULL|NULL| -enable_streaming|bool|0,0|NULL|NULL| streaming_router_port|int|0,65535|NULL|Streaming router port. Please keep the value (streaming_router_port - port) not change.| streaming_gather_window_interval|int|5,1440|NULL|NULL| streaming_num_workers|int|1,64|NULL|NULL| @@ -674,49 +650,12 @@ enable_auto_explain|bool|0,0|NULL|NULL| auto_explain_level|enum|off,log,notice|NULL|NULL| cost_weight_index|real|1e-10,1e+10|NULL|NULL| default_limit_rows|real|-100,1.79769e+308|NULL|NULL| -enable_hotkeys_collection|bool|0,0|NULL|NULL| sql_beta_feature|enum|sel_semi_poisson,sel_expr_instr,param_path_gen,rand_cost_opt,param_path_opt,page_est_opt,none|NULL|NULL| catchup2normal_wait_time|int|-1,10000|ms|The maximal allowed duration for waiting from catchup to normal state.| max_concurrent_autonomous_transactions|int|0,262143|NULL|NULL| sync_config_strategy|enum|all_node,only_sync_node,none_node|NULL|Synchronization strategy for configuration files between host and standby.| time_to_target_rpo|int|0,3600|NULL|NULL| disable_memory_protect|bool|0,0|NULL|NULL| -[gtm] -nodename|string|0,0|NULL|Name of this GTM/GTM-Standby.| -port|int|1,65535|NULL|Listen Port of GTM or GTM standby server.| -log_file|int|1,65535|NULL|NULL| -active_host|string|0,0|NULL|Address of target GTM ACT.| -local_host|string|0,0|NULL|HA Local Host.| -active_port|int|1,65535|NULL|GTM server port number when it works as GTM-Standby.| -local_port|int|1,65535|NULL|HA Local Port.| -standby_connection_timeout|int|5,2147483647|NULL|Connection timeout between GTM and GTM-Standby.| -keepalives_count|int|0,2147483647|NULL|Sets keepalives_count option to the connection to GTM.| -keepalives_idle|int|0,2147483647|s|Sets keepalives_idle option for the connection to GTM.| -keepalives_interval|int|0,2147483647|s|Sets keepalives_interval option fo the connetion to GTM.| -synchronous_backup|enum|off,on,auto|NULL|Specifies if backup to GTM-Standby is taken in synchronous manner.| -query_memory_limit|real|0,1|NULL|Sets the percentage limit of memory a query can use.| -wlm_max_mem|int|1,2147483646|MB|Sets the maximum memory an instance can use for its executions.(unit: MB)| -config_file|string|0,0|NULL|Configuration file name.| -data_dir|string|0,0|NULL|Work directory.| -gtm_host|string|0,0|NULL|Address of target GTM ACT.| -gtm_port|int|1,65535|NULL|GTM server port number.| -listen_addresses|string|0,0|NULL|Listen address.| -log_directory|string|0,0|NULL|Sets the destination directory for log files.| -log_min_messages|enum|debug5,debug1,log,warning,error,fatal|NULL|Minimum message level to write to the log file.| -alarm_component|string|0,0|NULL|Sets the component for alarm function.| -alarm_report_interval|int|0,2147483647|NULL|Sets the interval time between two alarm report.| -enable_alarm|bool|0,0|NULL|enable alarm or not.| -enable_connect_control|bool|0,0|NULL|enable to control connection by checking IPs.| -standby_only|int|0,1|NULL|enable sync to standby.| -gtm_max_trans|int|256,200000|NULL|Sets the max global transaction number.| -gtm_enable_threadpool|bool|0,0|NULL|Enable GTM thread pool.| -gtm_num_threads|int|0,16384|NULL|Sets GTM worker thread number.| -gtm_authentication_type|enum|trust,gss|NULL|NULL| -gtm_krb_server_keyfile|string|0,0|NULL|NULL| -distribute_test_param|string|0,0|NULL|NULL| -gtm_option|int|0,2|NULL|NULL| -restore_duration|int|1000000,2147483647|NULL|NULL| -csn_sync_interval|int|1,2147483647|NULL|NULL| [cmserver] log_dir|string|0,0|NULL|NULL| log_file_size|int|0,2047|MB|NULL| @@ -794,7 +733,6 @@ autovacuum_analyze_scale_factor|real|0,100|NULL|NULL| autovacuum_analyze_threshold|int|0,2147483647|NULL|NULL| autovacuum_vacuum_scale_factor|real|0,100|NULL|NULL| autovacuum_vacuum_threshold|int|0,2147483647|NULL|NULL| -enable_stream_operator|bool|0,0|NULL|NULL| enable_data_replicate|bool|0,0|NULL|When this parameter is set on, replication_type must be 0.| wal_keep_segments|int|2,2147483647|NULL|When the server is turned on or archive log recovery from the checkpoint, the number of reserved log files may be larger than the set value wal_keep_segments. If this parameter is set too low, at the time of the transaction log backup requests, the new transaction log may have been produced coverage request fails, disconnect the master and slave relationship.| wal_sender_timeout|int|0,2147483647|ms|If the host larger data rebuild operation requires increasing the value of this parameter,the host data at 500G, refer to this parameter is 600. This value can not be greater than the wal_receiver_timeout or database rebuilding timeout parameter.| diff --git a/src/bin/gs_guc/cluster_guc.cpp b/src/bin/gs_guc/cluster_guc.cpp old mode 100755 new mode 100644 index c2cb1d867..253824ae0 --- a/src/bin/gs_guc/cluster_guc.cpp +++ b/src/bin/gs_guc/cluster_guc.cpp @@ -16,7 +16,7 @@ * * cluster_guc.cpp * Interfaces for analysis manager of PDK tool. - * + * * Function List: execute_guc_command_in_remote_node * form_commandline_options * get_instance_type @@ -36,7 +36,6 @@ #include "common/config/cm_config.h" #include #include -#include const int CLUSTER_CONFIG_SUCCESS = 0; const int CLUSTER_CONFIG_ERROR = 1; @@ -179,23 +178,6 @@ const int MB_PER_GB = 1024; #define MIN_PER_D (60 * 24) #define H_PER_D 24 -/* the number of the unit type */ -const int UNIT_TYPE = 8; -/* - * transform unit matrix - * Elements in each line represent the transform value between this unit and another unit when a unit is basic unit. -*/ -const int g_unit_transform[UNIT_TYPE][UNIT_TYPE] = { - {1, KB_PER_MB, KB_PER_GB, 0, 0, 0, 0, 0}, /* the transform value based on KB */ - {0, 1, MB_PER_GB, 0, 0, 0, 0, 0}, /* the transform value based on MB */ - {0, 0, 1, 0, 0, 0, 0, 0}, /* the transform value based on GB */ - {0, 0, 0, 1, MS_PER_S, MS_PER_MIN, MS_PER_H, MS_PER_D}, /* the transform value based on ms */ - {0, 0, 0, 0, 1, S_PER_MIN, S_PER_H, S_PER_D}, /* the transform value based on s */ - {0, 0, 0, 0, 0, 1, MIN_PER_H, MIN_PER_D}, /* the transform value based on min */ - {0, 0, 0, 0, 0, 0, 1, H_PER_D}, /* the transform value based on h */ - {0, 0, 0, 0, 0, 0, 0, 1} /* the transform value based on d */ - }; - /* execute result */ #define SUCCESS 0 #define FAILURE 1 @@ -216,7 +198,7 @@ bool is_disable_log_directory = false; typedef enum { GUC_ERROR = -1, GUC_NAME, GUC_TYPE, GUC_VALUE, GUC_MESG } OptType; /* type about all guc unit */ -/* +/* ********************************************* parameters value support units ********************************************* @@ -268,6 +250,15 @@ const char* guc_bool_valuelist[] = { "1", }; +/* value type list */ +const char *value_type_list[] = { + "boolean", + "enum", + "integer", + "real", + "string", +}; + /* value about the parameters which unit is 8kB */ const char* unit_eight_kB_parameter_list[] = { "backwrite_quantity", @@ -288,10 +279,7 @@ void get_instance_configfile(const char* datadir); char* get_ctl_command_type(); void* pg_malloc(size_t size); void* pg_malloc_zero(size_t size); -template -static int parse_value( - const char* paraname, const UnitType unitval, const UnitType new_unitval, const char* endptr, T* tmp_val); -#ifdef __cplusplus +#ifdef __cplusplus extern "C" { #endif /* __cplusplus */ @@ -347,12 +335,8 @@ int check_parameter_value( const char* paraname, GucParaType type, char* guc_list_value, const char* guc_list_unit, const char* value); int check_parameter_name(char** guc_opt, int type); bool check_parameter_is_valid(int type); -static int check_int_overflow( - const char* paraname, const UnitType unitval, const UnitType tmp_unitval, int64 tmp_int_val); -static int check_double_overflow( - const char* paraname, const double val, const bool inf_is_valid, const bool zero_is_valid); -int parse_int_value(const char* paraname, const char* value, const char* guc_list_unit, int64* result_int); -int parse_double_value(const char* paraname, const char* value, const char* guc_list_unit, double* result_double); +int parse_value(const char* paraname, const char* value, const char* guc_list_unit, int64* result_int, + double* result_double, bool isInt); int get_guc_minmax_value(const char* guc_list_val, struct guc_minmax_value& value_list); int check_int_real_type_value( const char* paraname, const char* guc_list_value, const char* guc_list_unit, const char* value, bool isInt); @@ -1758,6 +1742,128 @@ int get_nodename_number_from_nodelist(const char* namelist) return count; } +/* + ****************************************************************************** + ****************************************************************************** + Function : check_datanodename_value + Description : check the input datanode Name. + Input :nodeName data node name + return :true input datanode name is correct + false input datanode name is incorrect + ****************************************************************************** + */ +bool CheckDataNameValue(const char *datanodeName, const char *dataDir) +{ + int nRet; + uint32 nodeIdx = 0; + uint32 datanodeIdx = 0; + int dnIdMaxLen = 64; + char dnId[dnIdMaxLen]; + + if ((datanodeName == NULL) || (*datanodeName == '\0')) { + return false; + } + + dataNodeInfo *dnI = NULL; + + for (datanodeIdx = 0; datanodeIdx < g_currentNode->datanodeCount; datanodeIdx++) { + dataNodeInfo *dniTmp = &(g_currentNode->datanode[datanodeIdx]); + if (strcmp(dniTmp->datanodeLocalDataPath, dataDir) == 0) { + dnI = dniTmp; + break; + } + } + + if (dnI == NULL) { + write_stderr("Failed: cannot find the expected data dir\n"); + return false; + } + + for (nodeIdx = 0; nodeIdx < g_node_num; ++nodeIdx) { + staticNodeConfig *dest = &(g_node[nodeIdx]); + for (datanodeIdx = 0; datanodeIdx < dest->datanodeCount; ++datanodeIdx) { + dataNodeInfo *dn = &(dest->datanode[datanodeIdx]); + if (dn->datanodeId == 0 || dn->datanodeId == dnI->datanodeId) { + continue; + } + nRet = memset_s(dnId, sizeof(dnId), '\0', sizeof(dnId)); + securec_check_c(nRet, "\0", "\0"); + nRet = snprintf_s( + dnId, sizeof(dnId) / sizeof(char), sizeof(dnId) / sizeof(char) - 1, "dn_%4d", dn->datanodeId); + securec_check_ss_c(nRet, "\0", "\0"); + if (strncmp(dnId, datanodeName, + ((strlen(dnId) > strlen(datanodeName)) ? strlen(dnId) : strlen(datanodeName))) != 0) { + continue; + } + for (int peerIndex = 0; peerIndex < CM_MAX_DATANODE_STANDBY_NUM; ++peerIndex) { + peerDatanodeInfo *peerDatanode = &(dnI->peerDatanodes[peerIndex]); + if (strlen(peerDatanode->datanodePeerHAIP[0]) == 0) { + continue; + } + if (strcmp(peerDatanode->datanodePeerHAIP[0], dn->datanodeLocalHAIP[0]) == 0 && + peerDatanode->datanodePeerHAPort == dn->datanodeLocalHAPort) { + return true; + } + } + } + } + return false; +} + +/* + ****************************************************************************** + Function : parse_datanodename_result + Description : check data node name. + Input :datanodenamelist data node name + return :NULL input data node name is incorrect + other the real result + ****************************************************************************** +*/ +char *ParseDatanameResult(const char *datanodeNameList, const char *dataDir) +{ + int nRet; + char *vptr = NULL; + char *vouterPtr = NULL; + char *p = NULL; + char delims[] = ","; + char tmp[MAX_VALUE_LEN] = {0}; + char *buffer = NULL; + size_t len; + + // init tmp nodeName string, array which storage nodeName string + nRet = memset_s(tmp, MAX_VALUE_LEN, '\0', MAX_VALUE_LEN); + securec_check_c(nRet, "\0", "\0"); + nRet = snprintf_s(tmp, MAX_VALUE_LEN, MAX_VALUE_LEN - 1, "%s", datanodeNameList); + securec_check_ss_c(nRet, "\0", "\0"); + + // split the node name by ',' + vptr = strtok_r(tmp, delims, &vouterPtr); + while (vptr != NULL) { + p = vptr; + + // p like this: dn_6001, dn_6002 + while (isspace((unsigned char)*p)) { + p++; + } + + if (CheckDataNameValue(p, dataDir)) { + // do split again + vptr = strtok_r(NULL, delims, &vouterPtr); + } else { + // input node name is incorrect + write_stderr("Notice: datanodename value check failed.(datanodename=%s)\n", p); + return NULL; + } + } + + len = strlen(datanodeNameList) + 1; + // get the string information + buffer = (char *)pg_malloc_zero(len * sizeof(char)); + nRet = snprintf_s(buffer, len, (len - 1), "%s", datanodeNameList); + securec_check_ss_c(nRet, buffer, "\0"); + return buffer; +} + /* ****************************************************************************** Function : get_AZ_value @@ -1786,6 +1892,7 @@ char* get_AZ_value(const char* value, const char* data_dir) char delims[] = ","; char* vptr = NULL; char emptyvalue[] = "''"; + bool isNodeName = false; if (az1 != NULL) { minLen = strlen("ANY X()") + strlen(az1); @@ -1849,6 +1956,14 @@ char* get_AZ_value(const char* value, const char* data_dir) while (isspace((unsigned char)*p)) p++; + if (strncmp(p, "NODE ", strlen("NODE ")) == 0) { + isNodeName = true; + p = p + strlen("NODE "); + while (isspace((unsigned char)*p)) { + p++; + } + } + /* make sure it is digit and between 1 and 7, including 1 and 7 */ if (!isdigit((unsigned char)*p)) { goto failed; @@ -1870,7 +1985,7 @@ char* get_AZ_value(const char* value, const char* data_dir) while (isspace((unsigned char)*p)) p++; - /*p like this: (AZ1,AZ2,..) */ + /* p like this: (AZ1,AZ2,..) or (dn_6001, dn_6002) */ if ('(' != (unsigned char)*p) { goto failed; } @@ -1899,8 +2014,14 @@ char* get_AZ_value(const char* value, const char* data_dir) goto failed; } - // parse and check the AZName string - nodenameList = parse_AZ_result(q, data_dir); + if (isNodeName) { + // parse and check nodeName string + nodenameList = ParseDatanameResult(q, data_dir); + } else { + // parse and check the AZName string + nodenameList = parse_AZ_result(q, data_dir); + } + if (NULL == nodenameList) { // try dn nodenameList = get_nodename_list_by_AZ(az1, data_dir); @@ -1914,7 +2035,7 @@ char* get_AZ_value(const char* value, const char* data_dir) // p like this: dn_6001, dn_6002... while (isspace((unsigned char)*p)) p++; - + if (strstr(nodenameList, p) == NULL) { goto failed; } @@ -1923,7 +2044,7 @@ char* get_AZ_value(const char* value, const char* data_dir) len = strlen(nodenameList); nRet = snprintf_s(nodenameList, len + 1, len, "%s", q); - + } else if ('\0' == nodenameList[0]) { (void)write_stderr("ERROR: There is no standby node name. Please make sure the value of " "synchronous_standby_names is correct.\n"); @@ -1934,7 +2055,7 @@ char* get_AZ_value(const char* value, const char* data_dir) count = get_nodename_number_from_nodelist(nodenameList); if (atoi(level) > count) { (void)write_stderr("ERROR: The sync number(%d) must less or equals to the number of standby node names(%d). " - "Please make sure the value of synchronous_standby_names is correct.\n", + "Please make sure the value of synchronous_standby_names is correct.\n", atoi(level), count); GS_FREE(nodenameList); return NULL; @@ -2161,20 +2282,17 @@ void do_command_for_dn(int type, char* indatadir) errno_t rc = 0; for (i = 0; i < get_local_num_datanode(); i++) { - if (i < g_currentNode->datanodeCount) { - rc = memcpy_s(temp_datadir, sizeof(temp_datadir) / sizeof(char), g_currentNode->datanode[i].datanodeLocalDataPath, sizeof(temp_datadir) / sizeof(char)); - securec_check_c(rc, "\0", "\0"); - } + rc = memcpy_s(temp_datadir, sizeof(temp_datadir) / sizeof(char), g_currentNode->datanode[i].datanodeLocalDataPath, sizeof(temp_datadir) / sizeof(char)); + securec_check_c(rc, "\0", "\0"); save_expect_instance_info(temp_datadir); } for (i = 0; i < get_local_num_datanode(); i++) { - if (i < g_currentNode->datanodeCount) { - rc = memcpy_s(temp_datadir, sizeof(temp_datadir) / sizeof(char), g_currentNode->datanode[i].datanodeLocalDataPath, sizeof(temp_datadir) / sizeof(char)); - securec_check_c(rc, "\0", "\0"); - } - if (FAILURE == do_local_guc_command(type, temp_datadir)) + rc = memcpy_s(temp_datadir, sizeof(temp_datadir) / sizeof(char), g_currentNode->datanode[i].datanodeLocalDataPath, sizeof(temp_datadir) / sizeof(char)); + securec_check_c(rc, "\0", "\0"); + if (FAILURE == do_local_guc_command(type, temp_datadir)) { return; + } } } @@ -2445,7 +2563,7 @@ static void init_global_command() '\0', g_max_commands_parallel * sizeof(PARALLEL_COMMAND_S)); securec_check_c(rc, "\0", "\0"); - + g_cur_commands_parallel = 0; for (i = 0; i < g_max_commands_parallel; i++) { curr_cxt = &g_parallel_command_cxt[i]; @@ -2597,7 +2715,7 @@ static void executePopenCommandsParallel(const char* cmd, int idx, bool is_local curr_cxt->pfp = popen(fcmd, "r"); GS_FREE(fcmd); GS_FREE(mpprvFile); - + if (NULL != curr_cxt->pfp) { g_cur_commands_parallel++; uint32 flags; @@ -3493,7 +3611,7 @@ bool check_cn_dn_parameter_is_valid() all_valid = false; } else if (strncmp(tmp, "enableseparationofduty", strlen("enableseparationofduty")) == 0) { /* for enableSeparationOfDuty, we give warning */ - (void)write_stderr("WARNING: please take care of the actual privileges of the users " + (void)write_stderr("WARNING: please take care of the actual privileges of the users " "while changing enableSeparationOfDuty.\n"); } #ifndef USE_ASSERT_CHECKING @@ -3697,7 +3815,7 @@ bool is_parameter_value_error(const char* guc_opt_str, char* config_value_str, c if (guc_variable_list.type == GUC_PARA_ENUM) { ch_position = strchr(config_value_str,','); - if (ch_position != NULL) { + if (ch_position != NULL) { if (!((config_value_str[0] == '\'' || config_value_str[0] == '"') && config_value_str[0] == config_value_str[len - 1])) { (void)write_stderr("ERROR: The value \"%s\" for parameter \"%s\" is incorrect. Please do it like this " @@ -3706,7 +3824,7 @@ bool is_parameter_value_error(const char* guc_opt_str, char* config_value_str, c config_param_str); exit(1); } - } + } } if (guc_variable_list.type == GUC_PARA_INT || guc_variable_list.type == GUC_PARA_REAL || @@ -3740,8 +3858,15 @@ bool is_parameter_value_error(const char* guc_opt_str, char* config_value_str, c guc_variable_list.guc_unit, newvalue)) { is_failed = true; - (void)write_stderr( - "ERROR: The value \"%s\" for parameter \"%s\" is incorrect.\n", config_value_str, config_param_str); + + if (guc_variable_list.type >= 0 && + guc_variable_list.type < (GucParaType)(sizeof(value_type_list) / sizeof(value_type_list[0]))) { + (void) write_stderr("ERROR: The value \"%s\" for parameter \"%s\" is incorrect, requires a %s value\n", + config_value_str, config_param_str, value_type_list[guc_variable_list.type]); + } else { + (void) write_stderr("ERROR: The value \"%s\" for parameter \"%s\" is incorrect.\n", config_value_str, + config_param_str); + } } } @@ -3949,8 +4074,8 @@ int check_int_value(const char* paraname, const struct guc_minmax_value& value_l bool is_in_list = false; bool is_exists_alpha = false; /* makesure the min/max value from guc config list file is correct */ - if ((FAILURE == parse_int_value(paraname, value_list.min_val_str, NULL, &int_min_val)) || - (FAILURE == parse_int_value(paraname, value_list.max_val_str, NULL, &int_max_val))) { + if ((FAILURE == parse_value(paraname, value_list.min_val_str, NULL, &int_min_val, NULL, true)) || + (FAILURE == parse_value(paraname, value_list.max_val_str, NULL, &int_max_val, NULL, true))) { (void)write_stderr("ERROR: The minmax value of parameter \"%s\" requires an integer value.\n", paraname); return FAILURE; } @@ -4007,8 +4132,8 @@ int check_real_value(const char* paraname, const struct guc_minmax_value& value_ double double_min_val, double double_max_val) { /* makesure the min/max value from guc config list file is correct */ - if ((FAILURE == parse_double_value(paraname, value_list.min_val_str, NULL, &double_min_val)) || - (FAILURE == parse_double_value(paraname, value_list.max_val_str, NULL, &double_max_val))) { + if ((FAILURE == parse_value(paraname, value_list.min_val_str, NULL, NULL, &double_min_val, false)) || + (FAILURE == parse_value(paraname, value_list.max_val_str, NULL, NULL, &double_max_val, false))) { (void)write_stderr("ERROR: The minmax value of parameter \"%s\" requires a numeric value.\n", paraname); return FAILURE; } @@ -4056,16 +4181,12 @@ int check_int_real_type_value( securec_check_c(nRet, "\0", "\0"); /* parse int_newval/double_newval value*/ - if (isInt) { - if (FAILURE == parse_int_value(paraname, value, guc_list_unit, &int_newval)) { + if (FAILURE == parse_value(paraname, value, guc_list_unit, &int_newval, &double_newval, isInt)) { + if (isInt) (void)write_stderr("ERROR: The parameter \"%s\" requires an integer value.\n", paraname); - return FAILURE; - } - } else { - if (FAILURE == parse_double_value(paraname, value, guc_list_unit, &double_newval)) { + else (void)write_stderr("ERROR: The parameter \"%s\" requires a numeric value.\n", paraname); - return FAILURE; - } + return FAILURE; } /* get min/max value from guc config file */ @@ -4085,168 +4206,48 @@ int check_int_real_type_value( /* ************************************************************************************ - Function: check_int_overflow - Desc : check to see if a int val has underflowed or overflowed for parameter. - paraname parameter name - unitval the unit of parameter from guc config file - new_unitval the unit of parameter - new_int_val the value of parameter - Return : SUCCESS - FAILURE - ************************************************************************************ -*/ -static int check_int_overflow( - const char* paraname, const UnitType unitval, const UnitType new_unitval, int64 new_int_val) -{ - int per_unit_transfer = INT_MIN; - - /* the transformation value */ - per_unit_transfer = g_unit_transform[unitval][new_unitval]; - - if (new_int_val > (LLONG_MAX / per_unit_transfer) || new_int_val < (LLONG_MIN / per_unit_transfer)) { - (void)write_stderr("ERROR: An overflow occurs for this parameter \"%s\".\n", paraname); - return FAILURE; - } - - return SUCCESS; -} - -/* - ************************************************************************************ - Function: check_double_overflow - Desc : check to see if a double val has underflowed or overflowed for parameter. - paraname parameter name - val the value of parameter after calculation - inf_is_valid infinity is valid - zero_is_valid zero is valid - Return : SUCCESS - FAILURE - ************************************************************************************ -*/ -static int check_double_overflow( - const char* paraname, const double val, const bool inf_is_valid, const bool zero_is_valid) -{ - if (isinf(val) && !(inf_is_valid)) { - (void)write_stderr("ERROR: An overflow occurs for this parameter \"%s\".\n", paraname); - return FAILURE; - } - - if ((val) == 0.0 && !(zero_is_valid)) { - (void)write_stderr("ERROR: An overflow occurs for this parameter \"%s\".\n", paraname); - return FAILURE; - } - - return SUCCESS; -} - -/* - ************************************************************************************ - Function: parse_int_value - Desc : parese int value from guc config file. + Function: parse_value + Desc : parese value from guc config file. paraname parameter name value parameter value guc_list_unit the unit of parameter from guc config file result_int the parse result about int + result_double the parse result about double + isInt true is int, false is real Return : SUCCESS FAILURE ************************************************************************************ */ -int parse_int_value(const char* paraname, const char* value, const char* guc_list_unit, int64* result_int) +int parse_value(const char* paraname, const char* value, const char* guc_list_unit, int64* result_int, + double* result_double, bool isInt) { int64 int_val = INT_MIN; - int64 tmp_int_val; - char* endptr = NULL; - bool contain_space = false; - UnitType int_unitval = UNIT_ERROR; - UnitType new_int_unitval = UNIT_ERROR; - - - if (NULL != result_int) { - *result_int = 0; - } - - errno = 0; - /* transform value into long int */ - int_val = strtoll(value, &endptr, 0); - if (endptr == value || errno == ERANGE) { - return FAILURE; - } - - tmp_int_val = int_val; - /* skill the blank */ - while (isspace((unsigned char)*endptr)) { - endptr++; - contain_space = true; - } - - if ('\0' != *endptr) { - /* if unit is NULL, it means the value is incorrect */ - if (NULL == guc_list_unit || '\0' == guc_list_unit[0]) { - return FAILURE; - } - - if (contain_space) { - (void)write_stderr("ERROR: There should not hava space between value and unit.\n"); - return FAILURE; - } - - /* the unit of parameter from guc config file */ - int_unitval = get_guc_unit(guc_list_unit); - /* the unit of real parameter */ - new_int_unitval = get_guc_unit(endptr); - - /* get_guc_unit */ - if (FAILURE == parse_value(paraname, int_unitval, new_int_unitval, endptr, &int_val)) { - return FAILURE; - } - - /* overflow processing */ - if (FAILURE == check_int_overflow(paraname, int_unitval, new_int_unitval, tmp_int_val)) { - return FAILURE; - } - } - - if (NULL != result_int) { - *result_int = int_val; - } - - return SUCCESS; -} - -/* - ************************************************************************************ - Function: parse_double_value - Desc : parese double value from guc config file. - paraname parameter name - value parameter value - guc_list_unit the unit of parameter from guc config file - result_double the parse result about double - Return : SUCCESS - FAILURE - ************************************************************************************ -*/ -int parse_double_value(const char* paraname, const char* value, const char* guc_list_unit, double* result_double) -{ double double_val; - double tmp_double_val; + long double tmp_double_val; char* endptr = NULL; + UnitType unitval = UNIT_ERROR; bool contain_space = false; - UnitType double_unitval = UNIT_ERROR; - UnitType new_double_unitval = UNIT_ERROR; - int per_unit_transfer = INT_MIN; - if (NULL != result_double) { + if (NULL != result_int) + *result_int = 0; + if (NULL != result_double) *result_double = 0; - } errno = 0; - /* transform value into double */ - double_val = strtod(value, &endptr); - if (endptr == value || errno == ERANGE) { - return FAILURE; + if (isInt) { + /* transform value into long int */ + int_val = strtoll(value, &endptr, 0); + if (endptr == value || errno == ERANGE) + return FAILURE; + tmp_double_val = (long double)int_val; + } else { + /* transform value into double */ + double_val = strtod(value, &endptr); + if (endptr == value || errno == ERANGE) + return FAILURE; + tmp_double_val = (long double)double_val; } - tmp_double_val = double_val; /* skill the blank */ while (isspace((unsigned char)*endptr)) { endptr++; @@ -4255,37 +4256,139 @@ int parse_double_value(const char* paraname, const char* value, const char* guc_ if ('\0' != *endptr) { /* if unit is NULL, it means the value is incorrect */ - if (NULL == guc_list_unit || '\0' == guc_list_unit[0]) { + if (NULL == guc_list_unit || '\0' == guc_list_unit[0]) return FAILURE; - } if (contain_space) { (void)write_stderr("ERROR: There should not hava space between value and unit.\n"); return FAILURE; } - /* the unit of parameter from guc config file */ - double_unitval = get_guc_unit(guc_list_unit); - /* the unit of real parameter */ - new_double_unitval = get_guc_unit(endptr); - /* the transformation value */ - per_unit_transfer = g_unit_transform[double_unitval][new_double_unitval]; - - /* get_guc_unit */ - if (FAILURE == parse_value(paraname, double_unitval, new_double_unitval, endptr, &double_val)) { + unitval = get_guc_unit(guc_list_unit); + if (UNIT_ERROR == unitval) { + (void)write_stderr("ERROR: Invalid units for this parameter \"%s\".\n", paraname); + return FAILURE; + } else if (UNIT_KB == unitval) { + if (strncmp(endptr, "kB", 2) == 0) { + endptr += 2; + } else if (strncmp(endptr, "MB", 2) == 0) { + endptr += 2; + tmp_double_val *= KB_PER_MB; + } else if (strncmp(endptr, "GB", 2) == 0) { + endptr += 2; + tmp_double_val *= KB_PER_GB; + } else { + (void)write_stderr( + "ERROR: Valid units for this parameter \"%s\" are \"kB\", \"MB\" and \"GB\".\n", paraname); + return FAILURE; + } + } else if (UNIT_MB == unitval) { + if (strncmp(endptr, "MB", 2) == 0) { + endptr += 2; + } else if (strncmp(endptr, "GB", 2) == 0) { + endptr += 2; + tmp_double_val *= MB_PER_GB; + } else { + (void)write_stderr("ERROR: Valid units for this parameter \"%s\" are \"MB\" and \"GB\".\n", paraname); + return FAILURE; + } + } else if (UNIT_GB == unitval) { + if (strncmp(endptr, "GB", 2) == 0) { + endptr += 2; + } else { + (void)write_stderr("ERROR: Valid units for this parameter \"%s\" is \"GB\".\n", paraname); + return FAILURE; + } + } else if (UNIT_MS == unitval) { + if (strncmp(endptr, "ms", 2) == 0) { + endptr += 2; + } else if (strncmp(endptr, "s", 1) == 0) { + endptr += 1; + tmp_double_val *= MS_PER_S; + } else if (strncmp(endptr, "min", 3) == 0) { + endptr += 3; + tmp_double_val *= MS_PER_MIN; + } else if (strncmp(endptr, "h", 1) == 0) { + endptr += 1; + tmp_double_val *= MS_PER_H; + } else if (strncmp(endptr, "d", 1) == 0) { + endptr += 1; + tmp_double_val *= MS_PER_D; + } else { + (void)write_stderr( + "ERROR: Valid units for this parameter \"%s\" are \"ms\", \"s\", \"min\", \"h\", and \"d\".\n", + paraname); + return FAILURE; + } + } else if (UNIT_S == unitval) { + if (strncmp(endptr, "s", 1) == 0) { + endptr += 1; + } else if (strncmp(endptr, "min", 3) == 0) { + endptr += 3; + tmp_double_val *= S_PER_MIN; + } else if (strncmp(endptr, "h", 1) == 0) { + endptr += 1; + tmp_double_val *= S_PER_H; + } else if (strncmp(endptr, "d", 1) == 0) { + endptr += 1; + tmp_double_val *= S_PER_D; + } else { + (void)write_stderr( + "ERROR: Valid units for this parameter \"%s\" are \"s\", \"min\", \"h\", and \"d\".\n", paraname); + return FAILURE; + } + } else if (UNIT_MIN == unitval) { + if (strncmp(endptr, "min", 3) == 0) { + endptr += 3; + } else if (strncmp(endptr, "h", 1) == 0) { + endptr += 1; + tmp_double_val *= MIN_PER_H; + } else if (strncmp(endptr, "d", 1) == 0) { + endptr += 1; + tmp_double_val *= MIN_PER_D; + } else { + (void)write_stderr( + "ERROR: Valid units for this parameter \"%s\" are \"min\", \"h\", and \"d\".\n", paraname); + return FAILURE; + } + } else if (UNIT_H == unitval) { + if (strncmp(endptr, "h", 1) == 0) { + endptr += 1; + } else if (strncmp(endptr, "d", 1) == 0) { + endptr += 1; + tmp_double_val *= H_PER_D; + } else { + (void)write_stderr( + "ERROR: Valid units for this parameter \"%s\" are \"min\", \"h\", and \"d\".\n", paraname); + return FAILURE; + } + } else if (UNIT_D == unitval) { + if (strncmp(endptr, "d", 1) == 0) { + endptr += 1; + } else { + (void)write_stderr("ERROR: Valid units for this parameter \"%s\" is \"d\".\n", paraname); + return FAILURE; + } + } else { return FAILURE; - } - - /* overflow processing */ - if (FAILURE == check_double_overflow(paraname, double_val, isinf(tmp_double_val) || - isinf((double)per_unit_transfer), tmp_double_val == 0 || (double)per_unit_transfer == 0)) { - return FAILURE; } } - if (NULL != result_double) { - *result_double = double_val; - } + while (isspace((unsigned char)*endptr)) + endptr++; + + if (*endptr != '\0') + return FAILURE; + + if (isInt) { + if (tmp_double_val > LLONG_MAX || tmp_double_val < LLONG_MIN) + return FAILURE; + if (NULL != result_int) + *result_int = (int64)tmp_double_val; + } else { + if (NULL != result_double) + *result_double = (double)tmp_double_val; + } return SUCCESS; } @@ -4313,8 +4416,7 @@ int is_value_in_range(const char* guc_list_value, const char* value) return FAILURE; } -/* - ************************************************************************************ +/************************************************************************************* Function: check_enum_type_value Desc : check the parameter value of enum type. Input : paraname parameter name @@ -4322,15 +4424,14 @@ int is_value_in_range(const char* guc_list_value, const char* value) value parameter value Return : SUCCESS FAILURE - ************************************************************************************ -*/ + *************************************************************************************/ int check_enum_type_value(const char* paraname, char* guc_list_value, const char* value) { char guc_val[MAX_VALUE_LEN] = {0}; int nRet = 0; - char* vptr = NULL; + const char* vptr = NULL; char* vouter_ptr = NULL; - char* p = NULL; + const char* p = NULL; char delims[] = ","; char tmp_paraname[MAX_PARAM_LEN]; @@ -4507,136 +4608,3 @@ static char* GetEnvStr(const char* env) #ifdef __cplusplus } #endif /* __cplusplus */ - -/* - ************************************************************************************ - Function: parse_value - Desc : parese value from guc config file. - paraname parameter name - unitval the unit of parameter from guc config file - new_unitval the unit of parameter - endptr the address of parameter value - tmp_val the temporary value of parameter value - Return : SUCCESS - FAILURE - ************************************************************************************ -*/ -template -static int parse_value( - const char* paraname, const UnitType unitval, const UnitType new_unitval, const char* endptr, T* tmp_val) -{ - switch (unitval) { - case UNIT_ERROR: { - (void)write_stderr("ERROR: Invalid units for this parameter \"%s\".\n", paraname); - return FAILURE; - } - case UNIT_KB: { - if (new_unitval == UNIT_KB || new_unitval == UNIT_MB || new_unitval == UNIT_GB) { - endptr += 2; - *tmp_val *= g_unit_transform[UNIT_KB][new_unitval]; - } else { - (void)write_stderr( - "ERROR: Valid units for this parameter \"%s\" are \"kB\", \"MB\" and \"GB\".\n", paraname); - return FAILURE; - } - break; - } - case UNIT_MB: { - if (new_unitval == UNIT_MB || new_unitval == UNIT_GB) { - endptr += 2; - *tmp_val *= g_unit_transform[UNIT_MB][new_unitval]; - } else { - (void)write_stderr( - "ERROR: Valid units for this parameter \"%s\" are \"MB\" and \"GB\".\n", paraname); - return FAILURE; - } - break; - } - case UNIT_GB: { - if (new_unitval == UNIT_GB) { - endptr += 2; - } else { - (void)write_stderr("ERROR: Valid units for this parameter \"%s\" is \"GB\".\n", paraname); - return FAILURE; - } - break; - } - case UNIT_MS: { - if (new_unitval == UNIT_MS) { - endptr += 2; - } else if (new_unitval == UNIT_S || new_unitval == UNIT_H || new_unitval == UNIT_D) { - endptr += 1; - *tmp_val *= g_unit_transform[UNIT_MS][new_unitval]; - } else if (new_unitval == UNIT_MIN) { - endptr += 3; - *tmp_val *= g_unit_transform[UNIT_MS][new_unitval]; - } else { - (void)write_stderr( - "ERROR: Valid units for this parameter \"%s\" are \"ms\", \"s\", \"min\", \"h\", and \"d\".\n", - paraname); - return FAILURE; - } - break; - } - case UNIT_S: { - if (new_unitval == UNIT_S || new_unitval == UNIT_H || new_unitval == UNIT_D) { - endptr += 1; - *tmp_val *= g_unit_transform[UNIT_S][new_unitval]; - } else if (new_unitval == UNIT_MIN) { - endptr += 3; - *tmp_val *= g_unit_transform[UNIT_S][new_unitval]; - } else { - (void)write_stderr( - "ERROR: Valid units for this parameter \"%s\" are \"s\", \"min\", \"h\", and \"d\".\n", - paraname); - return FAILURE; - } - break; - } - case UNIT_MIN: { - if (new_unitval == UNIT_H || new_unitval == UNIT_D) { - endptr += 1; - *tmp_val *= g_unit_transform[UNIT_MIN][new_unitval]; - } else if (new_unitval == UNIT_MIN) { - endptr += 3; - } else { - (void)write_stderr( - "ERROR: Valid units for this parameter \"%s\" are \"min\", \"h\", and \"d\".\n", paraname); - return FAILURE; - } - break; - } - case UNIT_H:{ - if (new_unitval == UNIT_H || new_unitval == UNIT_D) { - endptr += 1; - *tmp_val *= g_unit_transform[UNIT_H][new_unitval]; - } else { - (void)write_stderr( - "ERROR: Valid units for this parameter \"%s\" are \"min\", \"h\", and \"d\".\n", paraname); - return FAILURE; - } - break; - } - case UNIT_D:{ - if (new_unitval == UNIT_D) { - endptr += 1; - } else { - (void)write_stderr("ERROR: Valid units for this parameter \"%s\" is \"d\".\n", paraname); - return FAILURE; - } - break; - } - default: { - return FAILURE; - } - } - - while (isspace((unsigned char)*endptr)) - endptr++; - - if (*endptr != '\0') { - return FAILURE; - } - - return SUCCESS; -} diff --git a/src/bin/gs_guc/crypt.cpp b/src/bin/gs_guc/crypt.cpp old mode 100755 new mode 100644 diff --git a/src/bin/gs_guc/crypt.h b/src/bin/gs_guc/crypt.h old mode 100755 new mode 100644 diff --git a/src/bin/gs_guc/encrypt.cpp b/src/bin/gs_guc/encrypt.cpp old mode 100755 new mode 100644 diff --git a/src/bin/gs_guc/pg_guc.cpp b/src/bin/gs_guc/pg_guc.cpp index eb591f372..7b3883b44 100644 --- a/src/bin/gs_guc/pg_guc.cpp +++ b/src/bin/gs_guc/pg_guc.cpp @@ -443,7 +443,19 @@ char* xstrdup(const char* s) } return result; } - +/* + * @@GaussDB@@ + * Brief : char* skipspace(char *p) + * Description : Skip all the blanks at the begin of p + * Notes : + */ +static char* skipspace(char *p) +{ + while (isspace((unsigned char)*p)) { + p++; + } + return p; +} /* * @@GaussDB@@ * Brief : static pgpid_t get_pgpid(void) @@ -630,7 +642,7 @@ static void to_generatenewline(char* oldline, char* newline, const char* param, poldline++; pnewline++; offsetlen++; - while (isspace((unsigned char)*poldline)) { + while (isspace((unsigned char)*poldline) && (unsigned char)*poldline != '\n') { rc = strncpy_s(pnewline, MAX_VALUE_LEN * 2 - offsetlen, poldline, 1); securec_check_c(rc, "\0", "\0"); poldline++; @@ -1023,6 +1035,7 @@ append_string_info(char **optLines, const char *newContext) return optLinesResult; } +#ifndef ENABLE_MULTIPLE_NODES /******************************************************************************* Function : IsLastNotNullReplconninfo Description : determine if replconninfoX which is being set is the last one valid replconninfo @@ -1091,6 +1104,19 @@ static bool IsLastNotNullReplconninfo(char** optLines, char* replconninfoX) return false; } +static void CheckLastValidReplconninfo(char** opt_lines, int idx) +{ + /* Give a warning if the last valid replconninfo is set to a invalid value currently */ + if (strncmp(config_param[idx], "replconninfo", strlen("replconninfo")) == 0 && + config_value[idx] != NULL && (strlen(config_value[idx]) == 0 || + strncmp(config_value[idx], "''", strlen("''")) == 0) && + IsLastNotNullReplconninfo(opt_lines, config_param[idx])) { + write_stderr("\nWARNING: This is the last valid replConnInfo, once set to null, " + "the host role will be changed to Normal if the local_role is primary now.\n"); + } +} +#endif + /* * @@GaussDB@@ * Brief : @@ -1152,6 +1178,7 @@ do_gucset(const char *action_type, const char *data_dir) if (NULL == config_param[i]) { release_file_lock(&filelock); freefile(opt_lines); + GS_FREE(tmpAZStr); write_stderr( _("%s: invalid input parameters\n"), progname); return FAILURE; } @@ -1163,6 +1190,7 @@ do_gucset(const char *action_type, const char *data_dir) if (FAILURE == get_global_local_node_name()) { release_file_lock(&filelock); freefile(opt_lines); + GS_FREE(tmpAZStr); return FAILURE; } @@ -1181,13 +1209,10 @@ do_gucset(const char *action_type, const char *data_dir) GS_FREE(azString); } } - /* Give a warning if the last valid replconninfo is set to a invalid value currently */ - if (strncmp(config_param[i], "replconninfo", strlen("replconninfo")) == 0 && - config_value[i] != NULL && (strlen(config_value[i]) == 0 || strncmp(config_value[i], "''", strlen("''")) == 0) && - IsLastNotNullReplconninfo(opt_lines, config_param[i])) { - write_stderr("\nWARNING: This is the last valid replConnInfo, once set to null, " - "the host role will be changed to Normal if the local_role is primary now.\n"); - } + +#ifndef ENABLE_MULTIPLE_NODES + CheckLastValidReplconninfo(opt_lines, i); +#endif /* find the line where guc parameter in */ lines_index = find_gucoption(opt_lines, config_param[i], NULL, NULL, &optvalue_off, &optvalue_len); @@ -1204,17 +1229,16 @@ do_gucset(const char *action_type, const char *data_dir) to_generatenewline(optconf_line, newconf_line, config_param[i], config_value[i], optvalue_len); } else { /* - * if parameter value is NULL, not consider it as UNSET, - * which means maintain the configuration parameter, and - * there will be prompts telling the user to assign a value. + * if parameter as value is NULL; consider it as UNSET (i.e to default value) + * which means comment the configuration parameter */ //line is commented if (isOptLineCommented(optconf_line)) { rc = strncpy_s(newconf_line, MAX_PARAM_LEN*2, optconf_line, (size_t)Min(line_len, MAX_PARAM_LEN*2 - 1)); securec_check_c(rc, "\0", "\0"); } else { - write_stderr(_("ERROR: %s parameters value is expected\n"), config_param[i]); - return FAILURE; + nRet = snprintf_s(newconf_line, MAX_PARAM_LEN*2, MAX_PARAM_LEN*2 - 1, "#%s", optconf_line); + securec_check_ss_c(nRet, "\0", "\0"); } } updateoradd = UPDATE_PARAMETER; @@ -1433,10 +1457,10 @@ static void do_help_check_guc(void) #else (void)printf(_("\nChecking GUC parameters:\n")); - (void)printf(_(" %s check [-N NODE-NAME] {-I INSTANCE-NAME | -D DATADIR} {-c \"parameter\", -c " + (void)printf(_(" %s check [-Z NODE-TYPE] [-N NODE-NAME] {-I INSTANCE-NAME | -D DATADIR} {-c \"parameter\", -c " "\"parameter\", ...}\n"), progname); - (void)printf(_(" %s check [-N NODE-NAME] {-I INSTANCE-NAME | -D DATADIR} {-c parameter, -c " + (void)printf(_(" %s check [-Z NODE-TYPE] [-N NODE-NAME] {-I INSTANCE-NAME | -D DATADIR} {-c parameter, -c " "parameter, ...}\n"), progname); @@ -1493,20 +1517,20 @@ static void do_help_config_guc(void) _(" e.g. %s set -Z cmagent -N all -I all -c \"program = \'\\\"Hello\\\", World\\!\'\".\n"), progname); (void)printf(_(" e.g. %s set -Z cmagent -c \"program = \'\\\"Hello\\\", World\\!\'\".\n"), progname); #else - (void)printf(_(" %s {set | reload} [-N NODE-NAME] {-I INSTANCE-NAME | -D DATADIR} " + (void)printf(_(" %s {set | reload} [-Z NODE-TYPE] [-N NODE-NAME] {-I INSTANCE-NAME | -D DATADIR} " "[--lcname=LCNAME] {-c \"parameter = value\" -c \"parameter = value\" ...}\n"), progname); - (void)printf(_(" %s {set | reload} [-N NODE-NAME] {-I INSTANCE-NAME | -D DATADIR} " + (void)printf(_(" %s {set | reload} [-Z NODE-TYPE] [-N NODE-NAME] {-I INSTANCE-NAME | -D DATADIR} " "[--lcname=LCNAME] {-c \" parameter = value \" -c \" parameter = value \" ...}\n"), progname); - (void)printf(_(" %s {set | reload} [-N NODE-NAME] {-I INSTANCE-NAME | -D DATADIR} " + (void)printf(_(" %s {set | reload} [-Z NODE-TYPE] [-N NODE-NAME] {-I INSTANCE-NAME | -D DATADIR} " "[--lcname=LCNAME] {-c \"parameter = \'value\'\" -c \"parameter = \'value\'\" ...}\n"), progname); - (void)printf(_(" %s {set | reload} [-N NODE-NAME] {-I INSTANCE-NAME | -D DATADIR} " + (void)printf(_(" %s {set | reload} [-Z NODE-TYPE] [-N NODE-NAME] {-I INSTANCE-NAME | -D DATADIR} " "[--lcname=LCNAME] {-c \" parameter = \'value\' \" -c \" parameter = \'value\' \" ...}\n"), progname); - (void)printf(_(" %s {set | reload} [-N NODE-NAME] {-I INSTANCE-NAME | -D DATADIR} " + (void)printf(_(" %s {set | reload} [-Z NODE-TYPE] [-N NODE-NAME] {-I INSTANCE-NAME | -D DATADIR} " "[--lcname=LCNAME] {-c \"parameter\" -c \"parameter\" ...}\n"), progname); (void)printf( - _(" e.g. %s set -N all -I all -c \"program = \'\\\"Hello\\\", World\\!\'\".\n"), progname); + _(" e.g. %s set -Z datanode -N all -I all -c \"program = \'\\\"Hello\\\", World\\!\'\".\n"), progname); (void)printf( - _(" e.g. %s reload -N all -I all -c \"program = \'\\\"Hello\\\", World\\!\'\".\n"), progname); + _(" e.g. %s reload -Z datanode -N all -I all -c \"program = \'\\\"Hello\\\", World\\!\'\".\n"), progname); #endif @@ -1548,25 +1572,25 @@ static void do_help_config_hba(void) "DATABASE USERNAME HOSTNAME\" \n"), progname); #else - (void)printf(_(" %s {set | reload} [-N NODE-NAME] {-I INSTANCE-NAME | -D DATADIR} -h \"HOSTTYPE " + (void)printf(_(" %s {set | reload} [-Z NODE-TYPE] [-N NODE-NAME] {-I INSTANCE-NAME | -D DATADIR} -h \"HOSTTYPE " "DATABASE USERNAME IPADDR IPMASK AUTHMEHOD authentication-options\" \n"), progname); - (void)printf(_(" %s {set | reload} [-N NODE-NAME] {-I INSTANCE-NAME | -D DATADIR} -h \"HOSTTYPE " + (void)printf(_(" %s {set | reload} [-Z NODE-TYPE] [-N NODE-NAME] {-I INSTANCE-NAME | -D DATADIR} -h \"HOSTTYPE " "DATABASE USERNAME IPADDR-WITH-IPMASK AUTHMEHOD authentication-options\" \n"), progname); - (void)printf(_(" %s {set | reload} [-N NODE-NAME] {-I INSTANCE-NAME | -D DATADIR} -h \"HOSTTYPE " + (void)printf(_(" %s {set | reload} [-Z NODE-TYPE] [-N NODE-NAME] {-I INSTANCE-NAME | -D DATADIR} -h \"HOSTTYPE " "DATABASE USERNAME HOSTNAME AUTHMEHOD authentication-options\" \n"), progname); (void)printf(_(" If authentication policy need to set/reload DEFAULT OR COMMENT then provide without " "authentication menthod, use the form: \n")); - (void)printf(_(" %s {set | reload} [-N NODE-NAME] {-I INSTANCE-NAME | -D DATADIR} -h \"HOSTTYPE " + (void)printf(_(" %s {set | reload} [-Z NODE-TYPE] [-N NODE-NAME] {-I INSTANCE-NAME | -D DATADIR} -h \"HOSTTYPE " "DATABASE USERNAME IPADDR IPMASK\" \n"), progname); - (void)printf(_(" %s {set | reload} [-N NODE-NAME] {-I INSTANCE-NAME | -D DATADIR} -h \"HOSTTYPE " + (void)printf(_(" %s {set | reload} [-Z NODE-TYPE] [-N NODE-NAME] {-I INSTANCE-NAME | -D DATADIR} -h \"HOSTTYPE " "DATABASE USERNAME IPADDR-WITH-IPMASK \" \n"), progname); - (void)printf(_(" %s {set | reload} [-N NODE-NAME] {-I INSTANCE-NAME | -D DATADIR} -h \"HOSTTYPE " + (void)printf(_(" %s {set | reload} [-Z NODE-TYPE] [-N NODE-NAME] {-I INSTANCE-NAME | -D DATADIR} -h \"HOSTTYPE " "DATABASE USERNAME HOSTNAME\" \n"), progname); #endif @@ -1611,11 +1635,9 @@ static void do_help_set_reset_options(void) #ifdef ENABLE_MULTIPLE_NODES (void)printf(_("\nOptions for set with -c parameter: \n")); - - (void)printf(_(" -Z NODE-TYPE can be \"coordinator\", \"datanode\", \"cmserver\", \"cmagent\", or \"gtm\"")); + (void)printf(_(" -Z NODE-TYPE can be \"coordinator\", \"datanode\", \"cmserver\", \"cmagent\", or \"gtm\". ")); (void)printf(_("NODE-TYPE is used to identify configuration file (with -c parameter) in data directory\n")); - (void)printf(_(" \"coordinator\" or \"datanode\" -- postgresql.conf\n")); (void)printf(_(" \"coordinator\" and \"datanode\" -- postgresql.conf\n")); (void)printf(_(" \"cmserver\" -- cm_server.conf\n")); @@ -1624,6 +1646,16 @@ static void do_help_set_reset_options(void) (void)printf(_("\nOptions for set and reload with -h host-auth-policy: \n")); (void)printf(_(" -Z NODE-TYPE can be \"coordinator\", or \"datanode\"\n")); +#else + + (void)printf(_("\nOptions for set with -c parameter: \n")); + (void)printf(_(" -Z NODE-TYPE can only be \"datanode\", default is \"datanode\". ")); + + (void)printf(_("NODE-TYPE is used to identify configuration file (with -c parameter) in data directory\n")); + (void)printf(_(" \"datanode\" -- postgresql.conf\n")); + + (void)printf(_("\nOptions for set and reload with -h host-auth-policy: \n")); + (void)printf(_(" -Z NODE-TYPE can only be \"datanode\", default is \"datanode\"\n")); #endif } @@ -3043,18 +3075,14 @@ static bool isMatchOptionName( p = optLine; /* Skip all the blanks at the begin of the optLine */ - while (isspace((unsigned char)*p)) { - p++; - } + p = skipspace(p); if ('#' == *p) { p++; } /* Skip all the blanks after '#' and before the paraName */ - while (isspace((unsigned char)*p)) { - p++; - } + p = skipspace(p); if (find_param_in_string(p, paraName, paraLength) != 0) { return false; @@ -3065,9 +3093,7 @@ static bool isMatchOptionName( } p += paraLength; - while (isspace((unsigned char)*p)) { - p++; - } + p = skipspace(p); /* If not '=', this optLine's format is wrong in configure file */ if (*p != '=') { @@ -3077,27 +3103,27 @@ static bool isMatchOptionName( p++; /* Skip all the blanks after '=' and before the value */ - while (isspace((unsigned char)*p)) { - p++; - } - q = p + 1; - tmp = q; + p = skipspace(p); - while (*q && !('\n' == *q || '#' == *q)) { - if (!isspace((unsigned char)*q)) { - /* End of string */ - if ('\'' == *q) { - tmp = ++q; - break; + if (strlen(p) != 0) { + q = p + 1; + tmp = q; + while (*q && !('\n' == *q || '#' == *q)) { + if (!isspace((unsigned char)*q)) { + /* End of string */ + if ('\'' == *q) { + tmp = ++q; + break; + } else { + tmp = ++q; + } } else { - tmp = ++q; + /* + * If paraName is a string, the ' ' is considered to + * be part of the string. + */ + ('\'' == *p) ? tmp = ++q : q++; } - } else { - /* - * If paraName is a string, the ' ' is considered to - * be part of the string. - */ - ('\'' == *p) ? tmp = ++q : q++; } } diff --git a/src/bin/gs_guc/pg_hba.cpp b/src/bin/gs_guc/pg_hba.cpp old mode 100755 new mode 100644 diff --git a/src/bin/gs_ktool/Makefile b/src/bin/gs_ktool/Makefile new file mode 100644 index 000000000..f49304e65 --- /dev/null +++ b/src/bin/gs_ktool/Makefile @@ -0,0 +1,42 @@ +#------------------------------------------------------------------------- +# +# Copyright (c) 2020 Huawei Technologies Co.,Ltd. +# +# src/bin/gs_tool/Makefile +# +#------------------------------------------------------------------------- + +subdir = src/bin/gs_ktool +top_builddir = ../../.. + +include $(top_builddir)/src/Makefile.global + +override CPPFLAGS += -I. -I$(top_builddir)/src/include/gs_ktool -I$(LIBKMC_INCLUDE_PATH) +override LDFLAGS += -L. -L$(LIBKMC_LIB_PATH) +override LDLIBS += -lsecurec -lssl -lcrypto -lkmc -ldl -lrt -Wl,-z,relro,-z,now -ftrapv -fstack-protector-strong + +override CPPFLAGS := $(filter-out -fPIE, $(CPPFLAGS)) -fPIC -shared + +OBJS = kt_common.o kt_kmc_callback.o kt_log_manage.o kt_key_manage.o kt_interface.o kt_main.o + +all: gs_ktool libgs_ktool.so + +gs_ktool: $(OBJS) + $(CC) -fPIE -pie $(CPPLAGS) $^ $(LDFLAGS) $(LDLIBS) -o $@ + +libgs_ktool.so: $(OBJS) + $(CC) -fPIC -shared $(CPPFLAGS) $^ $(LDFLAGS) $(LDLIBS) -o $@ + +install: all installdirs + $(INSTALL_PROGRAM) gs_ktool$(X) '$(DESTDIR)$(bindir)/gs_ktool$(X)' + $(INSTALL_DATA) gs_ktool_conf.ini$(X) '$(DESTDIR)$(bindir)/../etc/gs_ktool_file/gs_ktool_conf.ini$(X)' + $(INSTALL_DATA) libgs_ktool.so$(X) '$(DESTDIR)$(bindir)/../lib/libgs_ktool.so$(X)' + $(INSTALL_DATA) $(LIBKMC_LIB_PATH)/libkmc.so$(X) '$(DESTDIR)$(bindir)/../lib/libkmc.so$(X)' + rm -f ./gs_ktool + +installdirs: + $(MKDIR_P) '$(DESTDIR)$(bindir)' + +clean distclean maintainer-clean: + rm -f ./*.o ./gs_ktool ./*.so + diff --git a/src/bin/gs_ktool/gs_ktool_conf.ini b/src/bin/gs_ktool/gs_ktool_conf.ini new file mode 100644 index 000000000..2bd56dc59 --- /dev/null +++ b/src/bin/gs_ktool/gs_ktool_conf.ini @@ -0,0 +1,15 @@ +# use '#' to comment out a line in this file. +# we use "key = value" to config gs_ktool, please do not change the name of "key" + +[KeyManage] +rk_validity = 3650; # (days) this configure is only valid for the first installtion, but you can update it when it is expired +cmk_validity = 365; # (days) +cmk_length = 32; # (bytes) +# you can config the file path and file name of key-store-file(ksf) by yourself, but the path must be real path +pri_ksf = DEFAULT; # DEFAULT = $GS_KTOOL_FILE_PATH/primary_ksf.dat +sec_ksf = DEFAULT; # DEFAULT = $GS_KTOOL_FILE_PATH/secondary_ksf.dat +export_ksf = DEFAULT; # DEFAULT = $GS_KTOOL_FILE_PATH/export_ksf.dat + +[LogManage] +is_logmodule_open = ON; +log_file = DEFAULT; # DEFAULT = $GS_KTOOL_FILE_PATH/gs_ktool.log \ No newline at end of file diff --git a/src/bin/gs_ktool/kt_common.cpp b/src/bin/gs_ktool/kt_common.cpp new file mode 100644 index 000000000..7b135165e --- /dev/null +++ b/src/bin/gs_ktool/kt_common.cpp @@ -0,0 +1,415 @@ +/* + * Copyright (c) 2020 Huawei Technologies Co.,Ltd. + * + * openGauss is licensed under Mulan PSL v2. + * You can use this software according to the terms and conditions of the Mulan PSL v2. + * You may obtain a copy of Mulan PSL v2 at: + * + * http://license.coscl.org.cn/MulanPSL2 + * + * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, + * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, + * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. + * See the Mulan PSL v2 for more details. + * ------------------------------------------------------------------------- + * + * kt_common.cpp + * Some common functions used by both key manage_module and log manage module, including: + * 1. define global var read from configuration file + * 2. report error + * 3. read configuration file + * 4. converse time and date format + * + * IDENTIFICATION + * src/bin/gs_ktool/kt_common.cpp + * + * ------------------------------------------------------------------------- + */ + +#include "kt_common.h" + +#include +#include +#include +#include +#include +#include "securec.h" +#include "securec_check.h" +#include "pthread.h" + +const char *CONF_FILE_NAME = "gs_ktool_conf.ini"; +const char *ZERO_BUF = " "; + +char g_env_value[MAX_REAL_PATH_LEN] = {0}; +char g_conf_file[MAX_REAL_PATH_LEN ] = {0}; +/* globa vars read from configuration file */ +ConfIterm g_conf = { 0 }; +static pthread_mutex_t g_env_lock; +bool g_is_print_err = true; + +static bool find_conf_segment(FILE *conf_file_handle, const char *conf_segment_name); +static void read_conf_lines(FILE *conf_file_handle, char key_list[][MAX_CONF_KEY_LEN], + char value_list[][MAX_CONF_VALUE_LEN], size_t *conf_item_num); +static unsigned int trans_date_to_int(const Time date); + +char *gs_getenv_r(const char *name) +{ + char *ret = NULL; + (void)pthread_mutex_lock(&g_env_lock); + ret = getenv(name); + (void)pthread_mutex_unlock(&g_env_lock); + return ret; +} + +static bool find_conf_segment(FILE *conf_file_handle, const char *conf_segment_name) +{ + int conf_item_cnt = 0; + char cur_line[MAX_CONF_LINE_LEN] = {0}; + char cur_segment[MAX_SETMENT_NAME_LEN] = {0}; + bool is_find_segment = false; + + while (is_find_segment == false && fgets(cur_line, MAX_CONF_LINE_LEN, conf_file_handle)) { + if (conf_item_cnt > MAX_CONF_ITEM_QUANTITY) { + printf("WARING: only %d configuration items can be read.\n", MAX_CONF_ITEM_QUANTITY); + return false; + } + + if (strlen(cur_line) < strlen("[]")) { + continue; + } + + /* find configuration segment location */ + size_t ps = 0; /* position of segment */ + for (size_t i = 0; i < strlen(cur_line); i++) { + if (cur_line[i] == ' ') { + continue; + } else if (cur_line[i] == '[') { + /* the configuration segment is defined as [Segment], if we find '[', then we will try to find ']' */ + for (i = i + 1; i < strlen(cur_line); i++) { + if (cur_line[i] == ']') { + cur_segment[ps] = '\0'; + break; + } else if (i == strlen(cur_line) - 1) { + printf("WARNING: incomplete configuration segment declaration: '%s'\n", cur_line); + break; + } else { + cur_segment[ps] = cur_line[i]; + ps++; + } + } + if (strcmp(cur_segment, conf_segment_name) == 0) { + is_find_segment = true; + } + } else { + break; + } + } + } + + return is_find_segment; +} + +static void read_conf_lines(FILE *conf_file_handle, char key_list[][MAX_CONF_KEY_LEN], + char value_list[][MAX_CONF_VALUE_LEN], size_t *conf_item_num) +{ + bool is_in_segment = true; + char cur_line[MAX_CONF_LINE_LEN] = {0}; + char cur_key[MAX_CONF_KEY_LEN] = {0}; + char cur_value[MAX_CONF_VALUE_LEN] = {0}; + size_t pl = 0; /* position of line */ + size_t pk = 0; /* position of key */ + size_t pv = 0; /* position of value */ + size_t conf_item_cnt = 0; + errno_t rc = 0; + + while (is_in_segment == true && fgets(cur_line, MAX_CONF_LINE_LEN, conf_file_handle)) { + if (strlen(cur_line) < strlen(" = ;")) { + continue; + } + + /* check segment end, then read key from configureation line */ + for (; pl < strlen(cur_line); pl++) { + if (cur_line[pl] == '#') { + break; + } else if (cur_line[pl] == ' ') { + continue; + } else if (cur_line[pl] == '[') { + is_in_segment = false; + break; + } else if (cur_line[pl] == '=') { + cur_key[pk] = '\0'; + break; + } else { + cur_key[pk] = cur_line[pl]; + pk++; + } + } + + /* read value from configureation line */ + if (is_in_segment == true) { + for (pl = pl + 1; pl < strlen(cur_line); pl++) { + if (cur_line[pl] == ' ') { + continue; + } else if (cur_line[pl] == ';') { + cur_value[pv] = '\0'; + break; + } else { + cur_value[pv] = cur_line[pl]; + pv++; + } + } + + if (strlen(cur_key) > 0 && strlen(cur_value) > 0) { + rc = strcpy_s(key_list[conf_item_cnt], MAX_CONF_KEY_LEN, cur_key); + securec_check_c(rc, "", ""); + rc = strcpy_s(value_list[conf_item_cnt], MAX_CONF_VALUE_LEN, cur_value); + securec_check_c(rc, "", ""); + conf_item_cnt++; + } + } + + rc = memset_s(cur_line, MAX_CONF_LINE_LEN, 0, MAX_CONF_LINE_LEN); + securec_check_c(rc, "", ""); + rc = memset_s(cur_key, MAX_CONF_KEY_LEN, 0, MAX_CONF_KEY_LEN); + securec_check_c(rc, "", ""); + rc = memset_s(cur_value, MAX_CONF_VALUE_LEN, 0, MAX_CONF_VALUE_LEN); + securec_check_c(rc, "", ""); + pl = 0; + pk = 0; + pv = 0; + } + + *conf_item_num = conf_item_cnt; +} + +bool read_conf_segment(const char *conf_file, const char *conf_segment_name, char key_list[][MAX_CONF_KEY_LEN], + char value_list[][MAX_CONF_VALUE_LEN], size_t *conf_item_num) +{ + FILE *fp = NULL; + + fp = fopen(conf_file, "rb"); + if (fp == NULL) { + return false; + } + + if (!find_conf_segment(fp, conf_segment_name)) { + fclose(fp); + return false; + } + + read_conf_lines(fp, key_list, value_list, conf_item_num); + fclose(fp); + + return true; +} + +bool set_global_file(char *kt_file, const GlobalKtoolFile file_type, const char *file_str) +{ + char default_kt_file_name[MAX_FILE_NAME_LEN]; + errno_t rc = 0; + + if (kt_file == NULL || g_env_value == NULL) { + return false; + } + + if (strlen(file_str) >= MAX_REAL_PATH_LEN) { + return false; + } + + /* + * file_str is read from configure file, it has 2 types: + * (1) “real_path/file_name” : the real_path and file_name are set by user. + * (2) “DEFAULT” :in this case, we will use the default file_path and file_name + */ + if (strcmp(file_str, "DEFAULT") != 0) { + /* file_str is a real path read from configuration file */ + rc = sprintf_s(kt_file, MAX_REAL_PATH_LEN, "%s", file_str); + securec_check_ss_c(rc, "", ""); + + if (!check_kt_env_value(kt_file)) { + printf("ERROR: failed to set configuration, the path '%s' contains angerous character.\n", kt_file); + return false; + } + return true; + } else { + switch (file_type) { + case G_PRI_KSF: + rc = strcpy_s(default_kt_file_name, MAX_FILE_NAME_LEN, "primary_ksf.dat"); + securec_check_c(rc, "", ""); + break; + case G_SEC_KSF: + rc = strcpy_s(default_kt_file_name, MAX_FILE_NAME_LEN, "secondary_ksf.dat"); + securec_check_c(rc, "", ""); + break; + case G_EXPORT_KSF: + rc = strcpy_s(default_kt_file_name, MAX_FILE_NAME_LEN, "export_ksf.dat"); + securec_check_c(rc, "", ""); + break; + case G_LOG_FILE: + rc = strcpy_s(default_kt_file_name, MAX_FILE_NAME_LEN, "gs_ktool.log"); + securec_check_c(rc, "", ""); + break; + default: + break; + } + + rc = sprintf_s(kt_file, MAX_REAL_PATH_LEN, "%s/%s", g_env_value, default_kt_file_name); + securec_check_ss_c(rc, "", ""); + } + + return true; +} + +bool check_kt_env_value(const char *env_value) +{ + const char* danger_char_list[] = {"|", ";", "&", "$", "<", ">", "`", "\\", "'", "\"", + "{", "}", "(", ")", "[", "]", "~", "*", "?", "!", "\n", NULL}; + + for (int i = 0; danger_char_list[i] != NULL; i++) { + if (strstr(env_value, danger_char_list[i]) != NULL) { + return false; + } + } + + return true; +} + +bool compare_list_element(const char list_a[][MAX_CONF_KEY_LEN], size_t list_a_cnt, char list_b[][MAX_CONF_KEY_LEN], + size_t list_b_cnt, size_t *loss_pos) +{ + bool is_find_element = false; + + for (size_t i = 0; i < list_a_cnt; i++) { + for (size_t j = 0; j < list_b_cnt; j++) { + if (strcmp(list_a[i], list_b[j]) == 0) { + is_find_element = true; + break; + } + } + + if (!is_find_element) { + *loss_pos = i; + return false; + } else { + is_find_element = false; + } + } + + return true; +} + +/* to print pretty table, create line like "---------" */ +void make_table_line(char *line_buf, const size_t buf_len, const size_t line_len) +{ + size_t i = 0; + + if (line_len >= buf_len) { + return; + } + + for (i = 0; i < line_len; i++) { + line_buf[i] = '-'; + } + + line_buf[i] = '\0'; +} + +bool atoi_strictly(const char *str, unsigned int *num) +{ + for (size_t i = 0; i < strlen(str); i++) { + if (str[i] < '0' || str[i] > '9') { + return false; + } + } + + *num = atoi(str); + return true; +} + +bool get_sys_time(Time *sys_time) +{ + time_t t_time = { 0 }; + struct tm *tm_time = { 0 }; + unsigned int initial_year = 1900; + unsigned int initial_moth = 1; + + time(&t_time); + tm_time = localtime(&t_time); + if (tm_time == NULL) { + return false; + } + + sys_time->year = tm_time->tm_year + initial_year; + sys_time->month = tm_time->tm_mon + initial_moth; + sys_time->day = tm_time->tm_mday; + sys_time->hour = tm_time->tm_hour; + sys_time->minute = tm_time->tm_min; + sys_time->second = tm_time->tm_sec; + return true; +} + +void date_ttos(const Time date_t, char *date_s, const size_t buf_size) +{ + errno_t rc = 0; + rc = sprintf_s(date_s, buf_size, "%04u-%02u-%02u", date_t.year, date_t.month, date_t.day); + securec_check_ss_c(rc, "", ""); +} + +void time_ttos(const Time time_t, char *time_s, const size_t buf_size) +{ + errno_t rc = 0; + rc = sprintf_s(time_s, buf_size, "%02u:%02u:%02u", time_t.hour, time_t.minute, time_t.second); + securec_check_ss_c(rc, "", ""); +} + +void trans_wsectime_to_time(WsecSysTime wsec_time_t, Time *time_t) +{ + time_t->year = wsec_time_t.kmcYear; + time_t->month = wsec_time_t.kmcMonth; + time_t->day = wsec_time_t.kmcDate; + time_t->hour = wsec_time_t.kmcHour; + time_t->minute = wsec_time_t.kmcMinute; + time_t->second = wsec_time_t.kmcSecond; +} + +static unsigned int trans_date_to_int(const Time date) +{ + unsigned int days = 0; + /* my epochs, not use 1970.1.1, but use 2019.1.1 */ + unsigned int origin_y = 2019; + unsigned int origin_m = 1; + /* origin_d = 1 */ + const unsigned int leap_year[12] = {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; + const unsigned int lunar_year[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; + + for (unsigned int y = (origin_y + 1); y <= date.year; y++) { + if ((y - 1) % 4 == 0) { + days += 366; + } else { + days += 365; + } + } + + for (unsigned int m = (origin_m + 1); m <= date.month; m++) { + if (date.year % 4 == 0) { + days += leap_year[m - 1]; + } else { + days += lunar_year[m - 1]; + } + } + + days += date.day; + + return days; +} + +void timecpy(Time *dest_time, Time src_time) +{ + securec_check_c(memcpy_s(dest_time, sizeof(Time), &src_time, sizeof(Time)), "\0", "\0"); +} + +/* to determine whether the key has expired */ +int calculate_interval(Time start, Time end) +{ + return (trans_date_to_int(end) - trans_date_to_int(start)); +} \ No newline at end of file diff --git a/src/bin/gs_ktool/kt_common.h b/src/bin/gs_ktool/kt_common.h new file mode 100644 index 000000000..07e2fc171 --- /dev/null +++ b/src/bin/gs_ktool/kt_common.h @@ -0,0 +1,141 @@ +/* + * Copyright (c) 2020 Huawei Technologies Co.,Ltd. + * + * openGauss is licensed under Mulan PSL v2. + * You can use this software according to the terms and conditions of the Mulan PSL v2. + * You may obtain a copy of Mulan PSL v2 at: + * + * http://license.coscl.org.cn/MulanPSL2 + * + * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, + * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, + * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. + * See the Mulan PSL v2 for more details. + * ------------------------------------------------------------------------- + * + * kt_common.h + * Some common functions used by both key manage_module and log manage module, including: + * 1. define global var read from configuration file + * 2. report error + * 3. read configuration file + * 4. converse time and date format + * + * IDENTIFICATION + * src/bin/gs_ktool/kt_common.h + * + * ------------------------------------------------------------------------- + */ + +#ifndef GS_KT_COMMON_H +#define GS_KT_COMMON_H + +#include "kt_kmc_callback.h" + +extern const char *CONF_FILE_NAME; +extern const char *ZERO_BUF; + +/* check length from conf file && from gs_ktool interfacs */ +const int MAX_CONF_ITEM_QUANTITY = 100; +const int MAX_CONF_LINE_LEN = 2048; +const int MAX_CONF_KEY_LEN = 512; +const int MAX_CONF_VALUE_LEN = 512; +const int MAX_SETMENT_NAME_LEN = 1024; +const int MAX_RK_VALIDITY = 10000; +const int MAX_CMK_VALIDITY = 3660; +const int MAX_FILE_NAME_LEN = 512; +const int MAX_REAL_PATH_LEN = 4096; + +const int MIN_CMK_LEN = 16; +const int MAX_CMK_LEN = 112; /* 112 bytes (the max length that KMC support) */ +const int DEFAULT_DOMAIN = 2; + +/* general limit */ +const int MAX_LOG_RESULT_LEN = 2048; +const int MAX_USER_INPUT_LEN = 1024; + +typedef enum KeyManageConf { + RK_VALIDITY = 0, + CMK_VALIDITY, + CMK_LENGTH, + PRI_KSF, + SEC_KSF, + EXPORT_KSF, +} KeyManageConf; + +enum LogManageConf { + IS_LOGMODULE_OPEN = 0, + LOG_FILE, +}; + +typedef enum GlobalKtoolFile { + G_CONF_FILE = 0, + G_PRI_KSF, + G_SEC_KSF, + G_EXPORT_KSF, + G_LOG_FILE, +} GlobalKtoolFile; + +typedef enum LogModuleStatus { + ON = 0, + OFF, +} LogModuleStatus; + +typedef struct Time { + unsigned int year; + unsigned int month; + unsigned int day; + unsigned int hour; + unsigned int minute; + unsigned int second; +} Time; + +typedef struct ConfIterm { + unsigned int rk_validity; + unsigned int cmk_validity; + unsigned int cmk_length; + char pri_ksf[MAX_REAL_PATH_LEN ]; + char sec_ksf[MAX_REAL_PATH_LEN ]; + char export_ksf[MAX_REAL_PATH_LEN ]; + + unsigned char is_logmodule_open; + char log_file[MAX_REAL_PATH_LEN ]; +} ConfIterm; + +#define return_false_if(condition) {\ + if ((condition)) { \ + return false; \ + } \ + } + +#define kt_free(ptr) \ + { \ + free(ptr); \ + ptr = NULL; \ + } + +extern char g_env_value[MAX_REAL_PATH_LEN]; +extern char g_conf_file[MAX_REAL_PATH_LEN ]; +/* globa vars read from configuration file */ +extern ConfIterm g_conf; +extern bool g_is_print_err; + +extern char *gs_getenv_r(const char *name); +extern bool read_conf_segment(const char *conf_file, const char *conf_segment_name, char key_list[][MAX_CONF_KEY_LEN], + char value_list[][MAX_CONF_VALUE_LEN], size_t *conf_item_num); +extern bool set_global_file(char *kt_file, const GlobalKtoolFile file_type, const char *file_str); +extern bool check_kt_env_value(const char *env_value); + +extern bool compare_list_element(const char list_a[][MAX_CONF_KEY_LEN], size_t list_a_cnt, + char list_b[][MAX_CONF_KEY_LEN], size_t list_b_cnt, size_t *loss_pos); +void make_table_line(char *line_buf, const size_t buf_len, const size_t line_len); +bool atoi_strictly(const char *str, unsigned int *num); + +/* convert and calculate the time */ +extern bool get_sys_time(Time *sys_time); +void date_ttos(const Time date_t, char *date_s, const size_t buf_size); +void time_ttos(const Time time_t, char *time_s, const size_t buf_size); +void trans_wsectime_to_time(WsecSysTime wsec_time_t, Time *time_t); +void timecpy(Time *dest_time, Time src_time); +/* to determine whether the key has expired */ +int calculate_interval(Time start, Time end); +#endif diff --git a/src/bin/gs_ktool/kt_interface.cpp b/src/bin/gs_ktool/kt_interface.cpp new file mode 100644 index 000000000..d5e8c2857 --- /dev/null +++ b/src/bin/gs_ktool/kt_interface.cpp @@ -0,0 +1,115 @@ +/* + * Copyright (c) 2020 Huawei Technologies Co.,Ltd. + * + * openGauss is licensed under Mulan PSL v2. + * You can use this software according to the terms and conditions of the Mulan PSL v2. + * You may obtain a copy of Mulan PSL v2 at: + * + * http://license.coscl.org.cn/MulanPSL2 + * + * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, + * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, + * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. + * See the Mulan PSL v2 for more details. + * ------------------------------------------------------------------------- + * + * kt_interface.cpp + * APIs for Encrypted Database. + * + * IDENTIFICATION + * src/bin/gs_ktool/kt_interface.cpp + * + * ------------------------------------------------------------------------- + */ + +#include "kt_interface.h" +#include +#include +#include "kt_common.h" +#include "kt_key_manage.h" +#include "kt_log_manage.h" + +const int MAX_CMK_PLAIN_LEN = 112; + +static bool init_kt_ksf(); + +static bool init_kt_ksf() +{ + const char required_conf[][MAX_CONF_KEY_LEN] = {"pri_ksf", "sec_ksf"}; + size_t required_conf_cnt = sizeof(required_conf) / sizeof(required_conf[0]); + + if (!reg_callback_funcs()) { + printf("ERROR(GS_KTOOL): failed to register callback functions.\n"); + return false; + } + + if (!initialize_logmodule()) { + return false; + } + + if (!load_key_manage_conf(required_conf, required_conf_cnt)) { + return false; + } + + if (!has_ksf_existed()) { + insert_format_log(L_OPEN_FILE, KT_ERROR, + "please make sure 'gs_ktool' is installed and the key store file already exists"); + return false; + } + + return init_or_create_ksf(); +} + +bool get_cmk_len(unsigned int cmk_id, unsigned int *cmk_len) +{ + KmcMkInfo cmk_info = { 0 }; + unsigned char cmk_plain[MAX_CMK_PLAIN_LEN] = { 0 }; + unsigned int cmk_plain_buf_len = MAX_CMK_PLAIN_LEN; + bool ret = true; + + return_false_if(cmk_len == NULL); + + if (!init_kt_ksf()) { + return false; + } + + if (KmcGetMkDetail(DEFAULT_DOMAIN, cmk_id, &cmk_info, cmk_plain, &cmk_plain_buf_len) == WSEC_SUCCESS) { + insert_format_log(L_SELECT_CMK_LEN, KT_SUCCEED, "cmk id: %d", cmk_id); + } else { + insert_format_log(L_SELECT_CMK_LEN, KT_ERROR, "cmk id: %d", cmk_id); + ret = false; + } + WsecFinalizeEx(); + + *cmk_len = cmk_plain_buf_len; + return ret; +} + +bool get_cmk_plain(unsigned int cmk_id, unsigned char *cmk_plain, unsigned int *cmk_len) +{ + KmcMkInfo cmk_info = { 0 }; + unsigned char tmp_cmk_plain[MAX_CMK_PLAIN_LEN] = {0}; + unsigned int tmp_plain_buf_len = MAX_CMK_PLAIN_LEN; + bool ret = true; + + return_false_if(cmk_plain == NULL); + + if (!init_kt_ksf()) { + return false; + } + + if (KmcGetMkDetail(DEFAULT_DOMAIN, cmk_id, &cmk_info, tmp_cmk_plain, &tmp_plain_buf_len) == WSEC_SUCCESS) { + for (unsigned int i = 0; i < tmp_plain_buf_len; i++) { + cmk_plain[i] = tmp_cmk_plain[i]; + } + *cmk_len = tmp_plain_buf_len; + + insert_format_log(L_SELECT_CMK_PLAIN, KT_SUCCEED, "cmk id: %d", cmk_id); + } else { + insert_format_log(L_SELECT_CMK_PLAIN, KT_ERROR, "cmk id: %d", cmk_id); + ret = false; + } + WsecFinalizeEx(); + + return ret; +} diff --git a/src/bin/gs_ktool/kt_key_manage.cpp b/src/bin/gs_ktool/kt_key_manage.cpp new file mode 100644 index 000000000..10b330aa9 --- /dev/null +++ b/src/bin/gs_ktool/kt_key_manage.cpp @@ -0,0 +1,589 @@ +/* + * Copyright (c) 2020 Huawei Technologies Co.,Ltd. + * + * openGauss is licensed under Mulan PSL v2. + * You can use this software according to the terms and conditions of the Mulan PSL v2. + * You may obtain a copy of Mulan PSL v2 at: + * + * http://license.coscl.org.cn/MulanPSL2 + * + * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, + * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, + * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. + * See the Mulan PSL v2 for more details. + * ------------------------------------------------------------------------- + * + * kt_key_manage.cpp + * Foreword : before reading this part of code, you should be familiar with the principle for key classification; + * This part is mainly used for encrypted database; + * Describe : in the scenario of three-level-key-schema, we use rk (root key) to encrypt cmk (client master key), + * use cmk to encrypt cek (client encrypt key), use cek to encrypt data. We use KMC to manage cmk and rk; + * Function : cmk manage : 1) generate cmk; 2) delete cmk; 3) select cmk info; 4) export cmk; 5) import cmk; + * rk manage : 1) select rk info; 2) update rk; + * (this module calls KMC interfaces to realize the key management functions.) + * + * IDENTIFICATION + * src/bin/gs_ktool/kt_key_manage.cpp + * + * ------------------------------------------------------------------------- + */ +#include "kt_key_manage.h" + +#include +#include +#include +#include "kt_log_manage.h" + +static const char g_all_key_manage_conf[][MAX_CONF_KEY_LEN] = {"rk_validity", "cmk_validity", "cmk_length", "pri_ksf", + "sec_ksf", "export_ksf"}; + +static bool set_global_key_conf(KeyManageConf key_conf, const char *conf_key, const char *conf_value); +static bool set_rk_validity(); +static bool check_rk_validity(int *days); + +bool reg_callback_funcs(void) +{ + return (RegFunCallback() == WSEC_SUCCESS); +} + +bool load_key_manage_conf(const char required_conf[MAX_CONF_ITEM_QUANTITY][MAX_CONF_KEY_LEN], + size_t required_conf_cnt) +{ + char key_list[MAX_CONF_ITEM_QUANTITY][MAX_CONF_KEY_LEN] = {0}; + char value_list[MAX_CONF_ITEM_QUANTITY][MAX_CONF_VALUE_LEN] = {0}; + size_t lost_conf_pos = 0; + size_t conf_item_cnt = 0; + bool ret = true; + bool is_find_conf_item = false; + + if (!read_conf_segment(g_conf_file, "KeyManage", key_list, value_list, &conf_item_cnt)) { + insert_format_log(L_READ_CONF, KT_ERROR, "cannot find configuration segment : '%s'", "KeyManage"); + return false; + } + + if (!compare_list_element(required_conf, required_conf_cnt, key_list, conf_item_cnt, &lost_conf_pos)) { + insert_format_log(L_READ_CONF, KT_ERROR, "lost configuration item : '%s'", required_conf[lost_conf_pos]); + return false; + } + + for (size_t i = 0; i < required_conf_cnt; i++) { + for (size_t j = 0; j < sizeof(g_all_key_manage_conf) / sizeof(g_all_key_manage_conf[0]); j++) { + if (strcmp(required_conf[i], g_all_key_manage_conf[j]) == 0) { + is_find_conf_item = true; + switch (j) { + case RK_VALIDITY: + if (!set_global_key_conf(RK_VALIDITY, key_list[j], value_list[j])) { + return false; + } + break; + case CMK_VALIDITY: + if (!set_global_key_conf(CMK_VALIDITY, key_list[j], value_list[j])) { + return false; + } + break; + case CMK_LENGTH: + if (!set_global_key_conf(CMK_LENGTH, key_list[j], value_list[j])) { + return false; + } + break; + case PRI_KSF: + ret = set_global_file(g_conf.pri_ksf, G_PRI_KSF, value_list[j]); + break; + case SEC_KSF: + ret = set_global_file(g_conf.sec_ksf, G_SEC_KSF, value_list[j]); + break; + case EXPORT_KSF: + ret = set_global_file(g_conf.export_ksf, G_EXPORT_KSF, value_list[j]); + break; + default: + break; + } + } + + if (!ret) { + printf("%s %s\n", key_list[j], value_list[j]); + insert_format_log(L_SET_CONF, KT_ERROR, "the value of '%s' is invalid", key_list[i]); + return false; + } + } + + if (!is_find_conf_item) { + insert_format_log(L_READ_CONF, KT_ERROR, "lost configuration item : '%s'", key_list[i]); + return false; + } else { + is_find_conf_item = false; + } + } + + return true; +} + +static bool set_global_key_conf(KeyManageConf key_conf, const char *conf_key, const char *conf_value) +{ + unsigned int input_num = 0; + + if (!atoi_strictly(conf_value, &input_num)) { + insert_format_log(L_SET_CONF, KT_ERROR, "this configuration value '%s' is expected to be an positive integer", + conf_value); + return false; + } + + switch (key_conf) { + case RK_VALIDITY: + if (input_num < 1 || input_num > MAX_RK_VALIDITY) { + insert_format_log(L_SET_CONF, KT_ERROR, "'%s' should be in range (0, %d]", conf_key, MAX_RK_VALIDITY); + return false; + } + g_conf.rk_validity = input_num; + break; + case CMK_VALIDITY: { + if (input_num < 1 || input_num > MAX_CMK_VALIDITY) { + insert_format_log(L_SET_CONF, KT_ERROR, "'%s' should be in range (0, %d]", conf_key, MAX_CMK_VALIDITY); + return false; + } + g_conf.cmk_validity = input_num; + break; + } + case CMK_LENGTH: + if (input_num < MIN_CMK_LEN || input_num > MAX_CMK_LEN) { + insert_format_log(L_SET_CONF, KT_ERROR, "cmk_length '%u' should be in range [%d, %d]", input_num, + MIN_CMK_LEN, MAX_CMK_LEN); + return false; + } + g_conf.cmk_length = input_num; + break; + default: + break; + } + + return true; +} + +bool has_ksf_existed(void) +{ + FILE *pri_fp = NULL; + FILE *sec_fp = NULL; + + pri_fp = fopen(g_conf.pri_ksf, "r"); + if (pri_fp == NULL) { + return false; + } + + sec_fp = fopen(g_conf.sec_ksf, "r"); + if (sec_fp == NULL) { + fclose(pri_fp); + return false; + } + + fclose(pri_fp); + fclose(sec_fp); + return true; +} + +bool init_or_create_ksf(void) +{ + KmcKsfName ksf_paths = { 0 }; + + ksf_paths.keyStoreFile[0] = g_conf.pri_ksf; + ksf_paths.keyStoreFile[1] = g_conf.sec_ksf; + + /* + * in WsecInitializeEx(): + * if the ksf cannot be found, this func will create a new one + * else if the ksf is found, this func only initialize it + */ + return (WsecInitializeEx(KMC_ROLE_MASTER, &ksf_paths, WSEC_FALSE, NULL) == WSEC_SUCCESS); +} + +static bool set_rk_validity() +{ + KmcCfgRootKey rk_conf = { 0 }; + rk_conf.validity = g_conf.rk_validity; + rk_conf.rmkIter = DEFAULT_RK_ITER; + + return (KmcSetDefaultRootKeyCfg(&rk_conf) == WSEC_SUCCESS); +} + +static bool check_rk_validity(int *days) +{ + KmcRkAttributes rk_attr = { 0 }; + Time today = { 0 }; + Time expired_day = { 0 }; + + if (KmcGetRootKeyInfo(&rk_attr) != WSEC_SUCCESS) { + insert_format_log(L_SELECT_RK, KT_ERROR, ""); + return false; + } + + if (!get_sys_time(&today)) { + insert_format_log(L_GET_TIME, KT_ERROR, ""); + return false; + } + + trans_wsectime_to_time(rk_attr.rkExpiredTimeUtc, &expired_day); + *days = calculate_interval(today, expired_day); + + return true; +} + +bool init_keytool(void) +{ + int rk_expired_days = 0; + const char required_conf[][MAX_CONF_KEY_LEN] = {"rk_validity", "cmk_validity", "cmk_length", + "pri_ksf", "sec_ksf", "export_ksf"}; + size_t required_conf_cnt = sizeof(required_conf) / sizeof(required_conf[0]); + + if (!reg_callback_funcs()) { + insert_format_log(L_REG_CALLBACK_FUNC, KT_ERROR, ""); + return false; + } + + if (!load_key_manage_conf(required_conf, required_conf_cnt)) { + return false; + } + + if (!set_rk_validity()) { + insert_format_log(L_SET_RK_VALIDITY, KT_ERROR, ""); + return false; + } + + bool ret = has_ksf_existed(); + + if (!init_or_create_ksf()) { + insert_format_log(L_INIT_KMC, KT_ERROR, ""); + return false; + } + + if (!ret) { + printf("NOTICE: created new key store file : %s.\n", g_conf.pri_ksf); + insert_format_log(L_CREATE_FILE, KT_NOTICE, "new key store file : '%s'", g_conf.pri_ksf); + } + + if (!check_rk_validity(&rk_expired_days)) { + return false; + } + + if (rk_expired_days < 0) { + printf("WARNING: your root key has expired \"%d\" days.\n", -rk_expired_days); + insert_format_log(L_CHECK_RK_VALIDITY, KT_ALARM, "expired : %d", -rk_expired_days); + + printf("HINT: you can use following conmmand to cycle root key:"); + printf(" gs_ktool -R -u\n"); + } + + return true; +} + +CmkInfo *init_cmk_info_list() +{ + CmkInfo *cmk_info_list = NULL; + + cmk_info_list = (CmkInfo *)malloc(sizeof(CmkInfo)); + if (cmk_info_list == NULL) { + insert_format_log(L_MALLOC_MEMORY, KT_ERROR, ""); + exit(1); + } + + cmk_info_list->cmk_id = INVALID_CMK_KD; + cmk_info_list->next = NULL; + + return cmk_info_list; +} + +bool add_cmk_info_node(CmkInfo *cmk_info_list, unsigned int cmk_id, unsigned int cmk_plain_len, + const Time cmk_create_time, const Time cmk_expired_time) +{ + bool is_list_empty = false; + CmkInfo *last_node = NULL; + CmkInfo *new_node = NULL; + + Time today = { 0 }; + bool is_expired = false; + int days = 0; + + if (cmk_info_list->cmk_id == INVALID_CMK_KD) { + is_list_empty = true; + new_node = cmk_info_list; + } else { + new_node = (CmkInfo *)malloc(sizeof(CmkInfo)); + if (new_node == NULL) { + insert_format_log(L_MALLOC_MEMORY, KT_ERROR, ""); + return false; + } + } + + /* check is cmk expired */ + if (!get_sys_time(&today)) { + insert_format_log(L_GET_TIME, KT_ERROR, ""); + if (new_node != NULL) { + kt_free(new_node); + } + return false; + } + days = calculate_interval(today, cmk_expired_time); + + new_node->cmk_id = cmk_id; + new_node->cmk_plain_len = cmk_plain_len; + timecpy(&(new_node->create_time), cmk_create_time); + timecpy(&(new_node->expired_time), cmk_expired_time); + new_node->is_expired = is_expired; + if (days <= 0) { + new_node->is_expired = true; + new_node->expired_days = -days; + } else { + new_node->is_expired = false; + new_node->expired_days = 0; + } + new_node->next = NULL; + + if (!is_list_empty) { + last_node = cmk_info_list; + while (last_node->next != NULL) { + last_node = last_node->next; + } + last_node->next = new_node; + } + + return true; +} + +void trav_cmk_info_list(CmkInfo *cmk_info_list) +{ + char table_line[15 + 1] = {0}; + CmkInfo *cur = cmk_info_list; + unsigned int cmk_cnt = 0; + char create_date_str[strlen("0000-00-00/")] = {0}; + char create_time_str[strlen("00:00:00/")] = {0}; + char expired_date_str[strlen("0000-00-00/")] = {0}; + + if (cmk_info_list != NULL && cmk_info_list->cmk_id == INVALID_CMK_KD) { + printf("no cmk found.\n"); + return; + } + + make_table_line(table_line, sizeof(table_line), 15); + printf(" %10s | %10s | %15s | %15s | %15s\n", "cmk id", "cmk length", "create date UTC", "create time UTC", + "expired date UTC"); + printf(" %10s-+-%10s-+-%15s-+-%15s-+-%15s\n", "----------", "----------", table_line, table_line, table_line); + + while (cur != NULL) { + cmk_cnt++; + date_ttos(cur->create_time, create_date_str, sizeof(create_date_str)); + time_ttos(cur->create_time, create_time_str, sizeof(create_time_str)); + date_ttos(cur->expired_time, expired_date_str, sizeof(expired_date_str)); + + printf(" %10u | %10u | %15s | %15s | %15s", cur->cmk_id, cur->cmk_plain_len, create_date_str, create_time_str, + expired_date_str); + + if (cur->is_expired) { + printf(" (WARNING : EXPIRED %d days)\n", cur->expired_days); + } else { + printf("\n"); + } + + cur = cur->next; + } + + printf("(%u Rows)\n", cmk_cnt); +} + +void destroy_cmk_info_list(CmkInfo *cmk_info_list) +{ + CmkInfo *to_free = NULL; + + while (cmk_info_list != NULL) { + to_free = cmk_info_list; + cmk_info_list = cmk_info_list->next; + kt_free(to_free); + } +} + +void print_rk_info(const RkInfo *rk_info) +{ + char table_line[15 + 1] = {0}; + char create_date_str[strlen("0000-00-00/")] = {0}; + char create_time_str[strlen("00:00:00/")] = {0}; + char expired_date_str[strlen("0000-00-00/")] = {0}; + + date_ttos(rk_info->create_time, create_date_str, sizeof(create_date_str)); + time_ttos(rk_info->create_time, create_time_str, sizeof(create_time_str)); + date_ttos(rk_info->expired_time, expired_date_str, sizeof(expired_date_str)); + + make_table_line(table_line, sizeof(table_line), 15); + printf(" %15s | %15s | %15s\n", "create date UTC", "create time UTC", "expired date UTC"); + printf(" %15s-+-%15s-+-%15s\n", table_line, table_line, table_line); + printf(" %15s | %15s | %15s\n", create_date_str, create_time_str, expired_date_str); + + if (rk_info->is_expired) { + printf("\nWARNNING: your root key has expired %d days.\n", rk_info->expired_days); + printf("HINT: you can use following conmmand to cycle root key:"); + printf(" gs_ktool -R -u\n"); + } +} + +bool generate_cmk(const bool has_set_len, unsigned int key_len, unsigned int *key_id) +{ + KmcCfgDomainInfo domain_info = { 0 }; + KmcCfgKeyType k_type = { 0 }; + unsigned int cmk_plain_len = 0; + + domain_info = { DEFAULT_DOMAIN, KMC_MK_GEN_BY_INNER, { 0 }, KMC_DOMAIN_TYPE_SHARE, 0 }; + errno_t rc = strcpy_s(domain_info.desc, sizeof(domain_info.desc), "CMK"); + securec_check_c(rc, "", ""); + + if (has_set_len) { + cmk_plain_len = key_len; + } else { + cmk_plain_len = g_conf.cmk_length; + } + + k_type = { KMC_KEY_TYPE_ENCRPT_INTEGRITY, cmk_plain_len, g_conf.cmk_validity, 0 }; + + return_false_if(KmcAddDomainEx(&domain_info) != WSEC_SUCCESS); + return_false_if(KmcAddDomainKeyTypeEx(DEFAULT_DOMAIN, &k_type) != WSEC_SUCCESS); + + *key_id = KmcGetMkCount(); + if (*key_id >= MAX_CMK_QUANTITY) { + insert_format_log(L_GEN_CMK, KT_ERROR, "the number of CMKs exceeds the upper limit : %d.", MAX_CMK_QUANTITY); + return false; + } + + return (KmcCreateMkEx(DEFAULT_DOMAIN, key_id) == WSEC_SUCCESS); +} + +bool delete_cmk(const bool has_set_all, unsigned int cmk_id, unsigned int del_cmk_id_list[], unsigned int *del_cmk_cnt) +{ + KmcCfgDomainInfo domain_info = { 0 }; + KmcMkInfo kmc_cmk_info = { 0 }; + unsigned int all_cmk_cnt = 0; + + domain_info = { DEFAULT_DOMAIN, KMC_MK_GEN_BY_INNER, { 0 }, KMC_DOMAIN_TYPE_SHARE, 0 }; + if (KmcAddDomainEx(&domain_info) != WSEC_SUCCESS) { + return false; + } + + /* delete one cmk (user has specificed the cmk id) */ + if (!has_set_all) { + return (KmcRmvMk(DEFAULT_DOMAIN, cmk_id) == WSEC_SUCCESS); + } else { /* delete all cmk */ + all_cmk_cnt = KmcGetMkCount(); + for (unsigned int i = 0; i < all_cmk_cnt; i++) { + if (KmcGetMk(1, &kmc_cmk_info) == WSEC_SUCCESS && kmc_cmk_info.domainId == DEFAULT_DOMAIN) { + return_false_if(KmcRmvMk(DEFAULT_DOMAIN, kmc_cmk_info.keyId) != WSEC_SUCCESS); + del_cmk_id_list[*del_cmk_cnt] = kmc_cmk_info.keyId; + (*del_cmk_cnt)++; + } + } + return true; + } + + return false; +} + +CmkInfo *select_cmk_info(const bool has_set_all, unsigned int key_id) +{ + KmcMkInfo kmc_cmk_info = { 0 }; + /* only used for call the func of selecting cmk plian len */ + unsigned char cmk_plain[MAX_CMK_LEN] = {0}; + unsigned int cmk_plain_len = 0; + Time cmk_create_time = { 0 }; + Time cmk_expired_time = { 0 }; + CmkInfo *cmk_info_list = NULL; + errno_t rc = 0; + int all_cmk_cnt = 0; + + all_cmk_cnt = KmcGetMkCount(); + if (all_cmk_cnt <= 0) { + return NULL; + } + + cmk_info_list = (CmkInfo *)malloc(sizeof(CmkInfo)); + if (cmk_info_list == NULL) { + insert_format_log(L_MALLOC_MEMORY, KT_ERROR, ""); + return NULL; + } + cmk_info_list->cmk_id = INVALID_CMK_KD; + cmk_info_list->next = NULL; + + for (int i = 0; i < all_cmk_cnt; i++) { + if (KmcGetMk(i, &kmc_cmk_info) != WSEC_SUCCESS) { + destroy_cmk_info_list(cmk_info_list); + return NULL; + } + + if (kmc_cmk_info.domainId != DEFAULT_DOMAIN) { + continue; + } + + if (kmc_cmk_info.keyId == key_id || has_set_all) { + cmk_plain_len = sizeof(cmk_plain); + + if (KmcGetMkDetail(DEFAULT_DOMAIN, kmc_cmk_info.keyId, &kmc_cmk_info, cmk_plain, &cmk_plain_len) + == WSEC_SUCCESS) { + /* cmk plain is unused */ + rc = memset_s(cmk_plain, MAX_CMK_LEN, 0, sizeof(cmk_plain)); + securec_check_c(rc, "", ""); + + trans_wsectime_to_time(kmc_cmk_info.mkCreateTimeUtc, &cmk_create_time); + trans_wsectime_to_time(kmc_cmk_info.mkExpiredTimeUtc, &cmk_expired_time); + if (!add_cmk_info_node(cmk_info_list, kmc_cmk_info.keyId, cmk_plain_len, cmk_create_time, + cmk_expired_time)) { + destroy_cmk_info_list(cmk_info_list); + return NULL; + } + } + } + } + + return cmk_info_list; +} + +bool import_cmks_from_ksf(const char *ksf, const unsigned char *ksf_passwd, unsigned int ksf_pass_len) +{ + return (KmcImportMkFileEx(ksf, ksf_passwd, ksf_pass_len) == WSEC_SUCCESS); +} + +bool export_cmks_to_ksf(const bool has_set_export_ksf, const char *ksf, const unsigned char *ksf_passwd, + unsigned int ksf_pass_len) +{ + return_false_if(ksf_passwd == NULL); + + if (has_set_export_ksf) { + return (KmcExportMkFileEx(KMC_MKF_VER, ksf, ksf_passwd, ksf_pass_len, ITER_ROUND) == WSEC_SUCCESS); + } else { + return (KmcExportMkFileEx(KMC_MKF_VER, g_conf.export_ksf, ksf_passwd, ksf_pass_len, ITER_ROUND) == + WSEC_SUCCESS); + } +} + +bool select_rk_info(RkInfo *rk_info) +{ + KmcRkAttributes rk_attr = { 0 }; + Time today = { 0 }; + int days = 0; + + return_false_if(KmcGetRootKeyInfo(&rk_attr) != WSEC_SUCCESS); + + trans_wsectime_to_time(rk_attr.rkCreateTimeUtc, &rk_info->create_time); + trans_wsectime_to_time(rk_attr.rkExpiredTimeUtc, &rk_info->expired_time); + + /* check if cmk expired */ + if (!get_sys_time(&today)) { + insert_format_log(L_GET_TIME, KT_ERROR, ""); + } + days = calculate_interval(today, rk_info->expired_time); + if (days <= 0) { + rk_info->is_expired = true; + rk_info->expired_days = -days; + } else { + rk_info->is_expired = false; + rk_info->expired_days = 0; + } + + return true; +} + +bool cycle_rk(void) +{ + return (KmcUpdateRootKey(NULL, 0) == WSEC_SUCCESS); +} \ No newline at end of file diff --git a/src/bin/gs_ktool/kt_key_manage.h b/src/bin/gs_ktool/kt_key_manage.h new file mode 100644 index 000000000..ea204e35b --- /dev/null +++ b/src/bin/gs_ktool/kt_key_manage.h @@ -0,0 +1,90 @@ +/* + * Copyright (c) 2020 Huawei Technologies Co.,Ltd. + * + * openGauss is licensed under Mulan PSL v2. + * You can use this software according to the terms and conditions of the Mulan PSL v2. + * You may obtain a copy of Mulan PSL v2 at: + * + * http://license.coscl.org.cn/MulanPSL2 + * + * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, + * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, + * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. + * See the Mulan PSL v2 for more details. + * ------------------------------------------------------------------------- + * + * kt_key_manage.cpp + * Foreword : before reading this part of code, you should be familiar with the principle for key classification; + * This part is mainly used for encrypted database; + * Describe : in the scenario of three-level-key-schema, we use rk (root key) to encrypt cmk (client master key), + * use cmk to encrypt cek (client encrypt key), use cek to encrypt data. We use KMC to manage cmk and rk; + * Function : cmk manage : 1) generate cmk; 2) delete cmk; 3) select cmk info; 4) export cmk; 5) import cmk; + * rk manage : 1) select rk info; 2) update rk; + * (this module calls KMC interfaces to realize the key management functions.) + * + * IDENTIFICATION + * src/bin/gs_ktool/kt_key_manage.cpp + * + * ------------------------------------------------------------------------- + */ + +#ifndef GS_KT_KEY_MANAGE_H +#define GS_KT_KEY_MANAGE_H + +#include "kt_common.h" + +const int INVALID_CMK_KD = 0; +const unsigned int DEFAULT_RK_ITER = 10000; + +/* key configure limited by both KMC and me */ +const int MAX_CMK_QUANTITY = 4095; +const int MAX_KSF_PASS_BUF_LEN = 256; +const int MIN_KSF_PASS_LEN = 8; +const int ITER_ROUND = 10000; + +typedef struct RkInfo { + Time create_time; + Time expired_time; + bool is_expired; + unsigned int expired_days; +} RkInfo; + +typedef struct CmkInfo { + unsigned int cmk_id; + unsigned int cmk_plain_len; + Time create_time; + Time expired_time; + bool is_expired; + unsigned int expired_days; + struct CmkInfo *next; +} CmkInfo; + +/* Description : before opetating cmk and rk, gs_ktool needs to be initialized first. */ +extern bool reg_callback_funcs(void); +extern bool load_key_manage_conf(const char required_conf[MAX_CONF_ITEM_QUANTITY][MAX_CONF_KEY_LEN], + size_t required_conf_cnt); +extern bool has_ksf_existed(void); +extern bool init_or_create_ksf(void); +extern bool init_keytool(void); + +extern CmkInfo *init_cmk_info_list(); +extern bool add_cmk_info_node(CmkInfo *cmk_info_list, unsigned int cmk_id, unsigned int cmk_plain_len, + const Time cmk_create_time, const Time cmk_expired_time); +extern void trav_cmk_info_list(CmkInfo *cmk_info_list); +extern void destroy_cmk_info_list(CmkInfo *cmk_info_list); +extern void print_rk_info(const RkInfo *rk_info); + +/* functions to manage cmk : generate, delete, select, import, export. */ +extern bool generate_cmk(const bool has_set_len, unsigned int key_len, unsigned int *key_id); +extern bool delete_cmk(const bool has_set_all, unsigned int cmk_id, unsigned int del_cmk_id_list[], + unsigned int *del_cmk_cnt); +extern CmkInfo *select_cmk_info(const bool has_set_all, unsigned int key_id); +extern bool import_cmks_from_ksf(const char *ksf, const unsigned char *ksf_passwd, unsigned int ksf_pass_len); +extern bool export_cmks_to_ksf(const bool has_set_export_ksf, const char *ksf, const unsigned char *ksf_passwd, + unsigned int ksf_pass_len); + +/* functions to manage rk : select, cycle(update). */ +extern bool select_rk_info(RkInfo *rk_info); /* we can use the same Struct to describ rk_info */ +extern bool cycle_rk(void); + +#endif diff --git a/src/bin/gs_ktool/kt_kmc_callback.cpp b/src/bin/gs_ktool/kt_kmc_callback.cpp new file mode 100644 index 000000000..2148f6e80 --- /dev/null +++ b/src/bin/gs_ktool/kt_kmc_callback.cpp @@ -0,0 +1,467 @@ +/* + * Copyright (c) 2020 Huawei Technologies Co.,Ltd. + * + * openGauss is licensed under Mulan PSL v2. + * You can use this software according to the terms and conditions of the Mulan PSL v2. + * You may obtain a copy of Mulan PSL v2 at: + * + * http://license.coscl.org.cn/MulanPSL2 + * + * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, + * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, + * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. + * See the Mulan PSL v2 for more details. + * ------------------------------------------------------------------------- + * + * kt_kmc_callback.cpp + * Register callback functions of KMC : + * There are 8 types of callback functions, each type has several functions + * Wsec[Type]Callbacks : Callback[Func] + * type | func | set + * ----------+------------------------------------------------------------------+-------- + * mem | memAlloc, memFree, memCmp | default + * file | fileOpen, fileClose, fileRead, fileWrite, fileFlush, | + * | fileRemove, fileTell, fileSeek, fileEof, fileErrno | 11 + * lock | createLock, destroyLock, lock, unlock | 4 + * procLock | createProcLock, destroyProcLock, procLock, procUnlock | 4 + * basicRely | writeLog, notify, doEvents | 3 + * rng | getRandomNum, getEntropty, cleanupEntopy | 3 + * time | gmTimeSate | 1 + * hardWare | hwGetEncExtraData...(all 12) | + * + * IDENTIFICATION + * src/bin/gs_ktool/kt_kmc_callback.cpp + * + * ------------------------------------------------------------------------- + */ + +#include "kt_kmc_callback.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "kt_log_manage.h" + +const char *RND_DEVICE = "/dev/random"; +const int ENTROPY_BUFF_SIZE = 128; +const int MAX_PROCESS_LOCK_NAME_LEN = 256; + +static WsecBool KeCallbackCreateProcLock(WsecHandle *CProcLock); +static WsecVoid KeCallbackDestroyProcLock(WsecHandle DProcLock); +static WsecVoid KeCallbackProcLock(WsecHandle ProcLock); +static WsecVoid KeCallbackProcUnlock(WsecHandle ProcUnlock); +static WsecBool KeCallbackCreateThreadLock(WsecHandle *phMutex); +static WsecVoid KeCallbackDestroyThreadLock(WsecHandle phMutex); +static WsecVoid KeCallbackThreadLock(WsecHandle phMutex); +static WsecVoid KeCallbackThreadUnlock(WsecHandle phMutex); +static WsecHandle KeCallbackFopen(const char *filePathName, const KmcFileOpenMode mode); +static int KeCallbackFclose(WsecHandle stream); +/* only need to do single read process. the KMC caller has done the multiple read process */ +static WsecBool KeCallbackFread(WsecVoid *buffer, size_t count, WsecHandle stream); +/* remove fsync, just kmc will flush data or close file after WSEC_FWRITE */ +static WsecBool KeCallbackFwrite(const WsecVoid *buffer, size_t count, WsecHandle stream); +static int KeCallbackFflush(WsecHandle stream); +static int KeCallbackFremove(const char *path); +static long KeCallbackFtell(WsecVoid *stream); +/* return offset position if success(relative to file beginning), return -1 if failed */ +static long KeCallbackFseek(WsecVoid *stream, long offset, KmcFileSeekPos origin); +static int KeCallbackFeof(WsecVoid *stream, WsecBool *endOfFile); +static int KeCallbackFerrno(WsecVoid *stream); +static int KeCallbackFexist(const char *filePathName); +static WsecBool KeCallbackUtcTime(const time_t *curTime, struct tm *curTm); +static unsigned long GetRandomNumbers(unsigned char *buff, size_t len); +static WsecBool KeCallbackGetEntropy(unsigned char **ppEnt, size_t buffLen); +static WsecVoid KeCallbackCleanupEntropy(unsigned char *pEnt, size_t buffLen); +static WsecVoid KeCallbackDoEvents(void); +static WsecVoid KeCallbackNotify(WsecUint32 eNtfCode, const WsecVoid *pData, size_t nDataSize); +static WsecVoid KeCallbackWriteLog(int nLevel, const char *module, const char *function, int line, const char *logCtx); + +WsecBool KeCallbackCreateProcLock(WsecHandle* CProcLock) +{ + sem_t* h = NULL; + uid_t user_id = 0; + char user_pro_lock_name[MAX_PROCESS_LOCK_NAME_LEN] = {0}; + errno_t rc = 0; + int sem_val = 0; + int ret = 0; + + if (CProcLock == NULL) { + return WSEC_FALSE; + } + + user_id = getuid(); + rc = sprintf_s(user_pro_lock_name, MAX_PROCESS_LOCK_NAME_LEN, "GS_KTOOL_PROCESS_LOCK_FOR_%u", user_id); + securec_check_ss_c(rc, "", ""); + h = sem_open(user_pro_lock_name, O_CREAT, S_IRUSR | S_IWUSR, 1); + if (h == NULL) { + insert_format_log(L_OPEN_SEM, KT_ERROR, "semaphore name : '%s'", user_pro_lock_name); + return WSEC_FALSE; + } + + ret = sem_getvalue(h, &sem_val); + if (ret == -1) { + insert_format_log(L_OPEN_SEM, KT_ERROR, "semaphore name : '%s'", user_pro_lock_name); + return WSEC_FALSE; + } + + if (sem_val <= 0) { + if (sem_init(h, 0, 1) != 0) { + insert_format_log(L_INIT_SEM, KT_ERROR, "semaphore name : '%s', semaphore value : %d", + user_pro_lock_name, sem_val); + } + insert_format_log(L_INIT_SEM, KT_NOTICE, + "semaphore name : '%s', old semaphore value : %d, new semaphore value : 1", user_pro_lock_name, sem_val); + } + + *CProcLock = h; + return WSEC_TRUE; +} + +WsecVoid KeCallbackDestroyProcLock(WsecHandle DProcLock) +{ + sem_t* h = (sem_t*)DProcLock; + if (h != NULL) { + (void)sem_close(h); + } + return; +} + +WsecVoid KeCallbackProcLock(WsecHandle ProcLock) +{ + sem_t* h = (sem_t*)ProcLock; + int ret = 0; + ret = (sem_wait(h) == 0); + if (ret == WSEC_FALSE) { + insert_format_log(L_WAIT_SEM, KT_ERROR, ""); + } + return; +} + +WsecVoid KeCallbackProcUnlock(WsecHandle ProcUnlock) +{ + sem_t* h = (sem_t*)ProcUnlock; + int ret = 0; + ret = (sem_post(h) == 0); + if (ret == WSEC_FALSE) { + insert_format_log(L_POST_SEM, KT_ERROR, ""); + } + return; +} + +static WsecBool KeCallbackCreateThreadLock(WsecHandle *phMutex) +{ + if (phMutex == NULL) { + return WSEC_FALSE; + } + if (*phMutex != NULL) { + return WSEC_FALSE; + } + + pthread_mutex_t *mutex = (pthread_mutex_t *)malloc(sizeof(pthread_mutex_t)); + if (mutex == NULL) { + return WSEC_FALSE; + } + + int result = pthread_mutex_init(mutex, NULL); + if (result != 0) { + kt_free(mutex); + return WSEC_FALSE; + } + *phMutex = mutex; + return WSEC_TRUE; +} + +static WsecVoid KeCallbackDestroyThreadLock(WsecHandle phMutex) +{ + pthread_mutex_t *mutex = (pthread_mutex_t *)phMutex; + if (mutex == NULL) { + return; + } + + pthread_mutex_destroy(mutex); + kt_free(mutex); +} + +static WsecVoid KeCallbackThreadLock(WsecHandle phMutex) +{ + pthread_mutex_t *mutex = (pthread_mutex_t *)phMutex; + if (mutex == NULL) { + return; + } + pthread_mutex_lock(mutex); +} + +static WsecVoid KeCallbackThreadUnlock(WsecHandle phMutex) +{ + pthread_mutex_t *mutex = (pthread_mutex_t *)phMutex; + if (mutex == NULL) { + return; + } + pthread_mutex_unlock(mutex); +} + +static WsecHandle KeCallbackFopen(const char *filePathName, const KmcFileOpenMode mode) +{ + int flag = 0; + int *ret = NULL; + if (mode == KMC_FILE_READ_BINARY) { + flag = O_RDONLY; + } else if (mode == KMC_FILE_WRITE_BINARY) { + flag = O_CREAT | O_WRONLY; + } else if (mode == KMC_FILE_READWRITE_BINARY) { + flag = O_CREAT | O_RDWR; + } else { + return NULL; + } + int retFd = open(filePathName, flag, S_IRUSR | S_IWUSR); + if (-1 != retFd) { + ret = (int *)malloc(sizeof(int)); + if (ret == NULL) { + insert_format_log(L_MALLOC_MEMORY, KT_ERROR, ""); + close(retFd); + return NULL; + } + *ret = retFd; + } + return ret; +} + +int KeCallbackFclose(WsecHandle stream) +{ + int fd = *(int *)stream; + int ret = close(fd); + kt_free(stream); + return ret; +} + +/* only need to do sigle read process. the KMC callee has done the multiple read process */ +static WsecBool KeCallbackFread(WsecVoid *buffer, size_t count, WsecHandle stream) +{ + int fd = *(int *)stream; + size_t ret = -1; + while (true) { + ret = read(fd, buffer, count); + if ((int)ret == -1 && errno == EINTR) { + continue; + } + break; + } + if ((int)ret == -1) { + return WSEC_FALSE; + } + return (count == ret) ? WSEC_TRUE : WSEC_FALSE; +} + +/* + * remove fsync, just kmc will flush data or close file after WSEC_FWRITE + */ +static WsecBool KeCallbackFwrite(const WsecVoid *buffer, size_t count, WsecHandle stream) +{ + int fd = *(int *)stream; + size_t ret = -1; + while (true) { + ret = write(fd, buffer, count); + if ((int)ret == -1 && errno == EINTR) { + continue; + } + break; + } + if ((int)ret == -1) { + return WSEC_FALSE; + } + return (count == ret) ? WSEC_TRUE : WSEC_FALSE; +} + +/* Return 0 if success, return -1 if failed */ +static int KeCallbackFflush(WsecHandle stream) +{ + return fsync(*(int *)stream); +} + +/* Return 0 if success, return -1 if failed */ +static int KeCallbackFremove(const char *path) +{ + return remove(path); +} + +static long KeCallbackFtell(WsecVoid *stream) +{ + return lseek(*(int *)stream, 0, SEEK_CUR); +} + +/* return offset position if success(relative to file beginning), return -1 if failed */ +static long KeCallbackFseek(WsecVoid *stream, long offset, KmcFileSeekPos origin) +{ + int realOri = 0; + int fd = *(int *)stream; + long ret; + if (origin == KMC_FILE_SEEK_CUR) { + realOri = SEEK_CUR; + } else if (origin == KMC_FILE_SEEK_SET) { + realOri = SEEK_SET; + } else if (origin == KMC_FILE_SEEK_END) { + realOri = SEEK_END; + } else { + return -1; + } + ret = lseek(fd, offset, realOri); + return ret; +} + +static int KeCallbackFeof(WsecVoid *stream, WsecBool *endOfFile) +{ + int fd = *(int *)stream; + long len; + long curPos; + if (endOfFile == NULL) { + return -1; + } + curPos = lseek(fd, 0, SEEK_CUR); + if (curPos == -1) { + return -1; + } + len = lseek(fd, 0, SEEK_END); + if (len == -1) { + return -1; + } + if (lseek(fd, curPos, SEEK_SET) != curPos) { + return -1; + } + if (len != curPos) { + *endOfFile = WSEC_FALSE; + } else { + *endOfFile = WSEC_TRUE; + } + return 0; +} +static int KeCallbackFerrno(WsecVoid *stream) +{ + return errno; +} + +static int KeCallbackFexist(const char *filePathName) +{ + return (access(filePathName, F_OK) == 0) ? WSEC_TRUE : WSEC_FALSE; +} + +static WsecBool KeCallbackUtcTime(const time_t *curTime, struct tm *curTm) +{ + return (gmtime_r(curTime, curTm) == NULL) ? WSEC_FALSE : WSEC_TRUE; +} + + +static unsigned long GetRandomNumbers(unsigned char *buff, size_t len) +{ + unsigned long ret = 0xF; + FILE *fet = NULL; + fet = fopen(RND_DEVICE, "rb"); + if (fet != NULL) { + if (len == fread(buff, 1, len, fet)) { + ret = 0; + } + fclose(fet); + fet = NULL; + } else { + insert_format_log(L_OPEN_FILE, KT_ERROR, "please make sure the device '%s' is avalilable", RND_DEVICE); + } + return ret; +} + +static WsecBool KeCallbackGetEntropy(unsigned char **ppEnt, size_t buffLen) +{ + errno_t rc = 0; + + if (buffLen <= 0 || buffLen > ENTROPY_BUFF_SIZE) { + return WSEC_FALSE; + } + *ppEnt = (unsigned char *)malloc(buffLen); + if (*ppEnt == NULL) { + return WSEC_FALSE; + } + if (GetRandomNumbers(*ppEnt, buffLen) != 0) { + rc = memset_s(*ppEnt, buffLen, 0, buffLen); + securec_check_c(rc, "", ""); + kt_free(*ppEnt); + return WSEC_FALSE; + } + return WSEC_TRUE; +} + +static WsecVoid KeCallbackCleanupEntropy(unsigned char *pEnt, size_t buffLen) +{ + errno_t rc = 0; + rc = memset_s(pEnt, buffLen, 0, buffLen); + securec_check_c(rc, "", ""); + kt_free(pEnt); +} + +static WsecVoid KeCallbackDoEvents(void) {} + +static WsecVoid KeCallbackNotify(WsecUint32 eNtfCode, const WsecVoid *pData, size_t nDataSize) +{ + (void)eNtfCode; + (void)pData; + (void)nDataSize; +} + +static WsecVoid KeCallbackWriteLog(int nLevel, const char *module, const char *function, int line, const char *logCtx) +{ + (void)nLevel; + (void)module; + (void)function; + (void)line; + (void)logCtx; +} + +unsigned long RegFunCallback() +{ + WsecCallbacks stMandatoryFun = { { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 } }; + + /* register application dependended callback functions */ + stMandatoryFun.basicRelyCallbacks.writeLog = KeCallbackWriteLog; + stMandatoryFun.basicRelyCallbacks.notify = KeCallbackNotify; + stMandatoryFun.basicRelyCallbacks.doEvents = KeCallbackDoEvents; + + /* Register Process Locker operation + Critical Section callback functions */ + stMandatoryFun.procLockCallbacks.createProcLock = KeCallbackCreateProcLock; + stMandatoryFun.procLockCallbacks.destroyProcLock = KeCallbackDestroyProcLock; + stMandatoryFun.procLockCallbacks.procLock = KeCallbackProcLock; + stMandatoryFun.procLockCallbacks.procUnlock = KeCallbackProcUnlock; + + /* Register Thread Locker + Critical Section callback functions */ + stMandatoryFun.lockCallbacks.createLock = KeCallbackCreateThreadLock; + stMandatoryFun.lockCallbacks.destroyLock = KeCallbackDestroyThreadLock; + stMandatoryFun.lockCallbacks.lock = KeCallbackThreadLock; + stMandatoryFun.lockCallbacks.unlock = KeCallbackThreadUnlock; + + /* Register File Operated related callback functions */ + stMandatoryFun.fileCallbacks.fileOpen = KeCallbackFopen; + stMandatoryFun.fileCallbacks.fileClose = KeCallbackFclose; + stMandatoryFun.fileCallbacks.fileRead = KeCallbackFread; + stMandatoryFun.fileCallbacks.fileWrite = KeCallbackFwrite; + stMandatoryFun.fileCallbacks.fileRemove = KeCallbackFremove; + stMandatoryFun.fileCallbacks.fileSeek = KeCallbackFseek; + stMandatoryFun.fileCallbacks.fileTell = KeCallbackFtell; + stMandatoryFun.fileCallbacks.fileFlush = KeCallbackFflush; + stMandatoryFun.fileCallbacks.fileEof = KeCallbackFeof; + stMandatoryFun.fileCallbacks.fileErrno = KeCallbackFerrno; + stMandatoryFun.fileCallbacks.fileExist = KeCallbackFexist; + + /* Register Random Number callback functions */ + stMandatoryFun.rngCallbacks.getRandomNum = NULL; + stMandatoryFun.rngCallbacks.getEntropy = KeCallbackGetEntropy; + stMandatoryFun.rngCallbacks.cleanupEntropy = KeCallbackCleanupEntropy; + + /* Register Time Related callback functions */ + stMandatoryFun.timeCallbacks.gmTimeSafe = KeCallbackUtcTime; + + unsigned long wsecRet = WsecRegFuncEx(&stMandatoryFun); + return wsecRet; +} diff --git a/src/bin/gs_ktool/kt_kmc_callback.h b/src/bin/gs_ktool/kt_kmc_callback.h new file mode 100644 index 000000000..a5aea2c51 --- /dev/null +++ b/src/bin/gs_ktool/kt_kmc_callback.h @@ -0,0 +1,58 @@ +/* + * Copyright (c) 2020 Huawei Technologies Co.,Ltd. + * + * openGauss is licensed under Mulan PSL v2. + * You can use this software according to the terms and conditions of the Mulan PSL v2. + * You may obtain a copy of Mulan PSL v2 at: + * + * http://license.coscl.org.cn/MulanPSL2 + * + * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, + * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, + * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. + * See the Mulan PSL v2 for more details. + * ------------------------------------------------------------------------- + * + * kt_kmc_callback.cpp + * Register callback functions of KMC : + * There are 8 types of callback functions, each type has several functions + * Wsec[Type]Callbacks : Callback[Func] + * type | func | set + * ----------+------------------------------------------------------------------+-------- + * mem | memAlloc, memFree, memCmp | default + * file | fileOpen, fileClose, fileRead, fileWrite, fileFlush, | + * | fileRemove, fileTell, fileSeek, fileEof, fileErrno | 11 + * lock | createLock, destroyLock, lock, unlock | 4 + * procLock | createProcLock, destroyProcLock, procLock, procUnlock | 4 + * basicRely | writeLog, notify, doEvents | 3 + * rng | getRandomNum, getEntropty, cleanupEntopy | 3 + * time | gmTimeSate | 1 + * hardWare | hwGetEncExtraData...(all 12) | + * + * IDENTIFICATION + * src/bin/gs_ktool/kt_kmc_callback.cpp + * + * ------------------------------------------------------------------------- + */ + +#ifndef GS_KT_CALLBACK_H +#define GS_KT_CALLBACK_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include "wsecv2_errorcode.h" +#include "wsecv2_type.h" +#include "kmcv2_itf.h" +#include "wsecv2_itf.h" +#include "securec.h" +#include "securec_check.h" + +extern unsigned long RegFunCallback(); + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/src/bin/gs_ktool/kt_log_manage.cpp b/src/bin/gs_ktool/kt_log_manage.cpp new file mode 100644 index 000000000..b42b410b8 --- /dev/null +++ b/src/bin/gs_ktool/kt_log_manage.cpp @@ -0,0 +1,361 @@ +/* + * Copyright (c) 2020 Huawei Technologies Co.,Ltd. + * + * openGauss is licensed under Mulan PSL v2. + * You can use this software according to the terms and conditions of the Mulan PSL v2. + * You may obtain a copy of Mulan PSL v2 at: + * + * http://license.coscl.org.cn/MulanPSL2 + * + * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, + * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, + * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. + * See the Mulan PSL v2 for more details. + * ------------------------------------------------------------------------- + * + * kt_log_manage.h + * Log manage module : + * 1. reading and writing log file; + * 2. providing log management interface. + * + * IDENTIFICATION + * src/bin/gs_ktool/kt_log_manage.h + * + * ------------------------------------------------------------------------- + */ + +#include "kt_log_manage.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include "kt_common.h" + +bool g_has_init_log_module = false; +static const char log_manage_conf[][MAX_CONF_KEY_LEN] = {"is_logmodule_open", "log_file"}; + +/* the log format recorded in log file : date time operation result [object] [level] information */ +static const KtLog g_log_type[] = { + /* log type operation object level */ + {L_CREATE_FILE, "create file", "system", "high"}, + {L_INIT_KMC, "initlize kmc", "system", "high"}, + {L_OPEN_FILE, "open file", "system", "high"}, + + {L_GEN_CMK, "generate cmk", "cmk", "high"}, + {L_DEL_CMK, "delete cmk", "cmk", "high"}, + {L_SELECT_CMK, "select cmk", "cmk", "high"}, + {L_EXPORT_CMK, "export cmk", "cmk", "high"}, + {L_IMPORT_CMK, "import cmk", "cmk", "high"}, + {L_SELECT_CMK_LEN, "select cmk len", "cmk", "high"}, + {L_SELECT_CMK_PLAIN, "select cmk plain", "cmk", "high"}, + + {L_SELECT_RK, "select rk", "rk", "high"}, + {L_UPDATE_RK, "update rk", "rk", "high"}, + {L_SET_RK_VALIDITY, "set rk validity", "rk", "high"}, + {L_CHECK_RK_VALIDITY, "check rk validity", "rk", "high"}, + + {L_PARSE_USER_INPUT, "parse user input", "user input", "low"}, + {L_CHECK_USER_INPUT, "check user input", "user input", "low"}, + + {L_READ_CONF, "read configuration", "configuration", "low"}, + {L_SET_CONF, "set configuration", "configuration", "low"}, + + {L_REG_CALLBACK_FUNC, "register callback function", "system", "middle"}, + {L_MALLOC_MEMORY, "malloc memory", "system", "middle"}, + {L_GET_TIME, "get system time", "system", "middle"}, + {L_GET_ENV_VALUE, "get environment value", "system", "middle"}, + {L_CHECK_ENV_VALUE, "check environment value", "system", "middle"}, + {L_OPEN_SEM, "open posix semaphore", "system", "middle"}, + {L_INIT_SEM, "init posix semaphore", "system", "middle"}, + {L_POST_SEM, "post posix semaphore", "system", "middle"}, + {L_WAIT_SEM, "wait posix semaphore", "system", "middle"}, +}; + +/* + * initialize log module. + * including read configure file, check or create log file. + */ +static bool set_global_env_value(); +static bool load_conf_file(void); +static bool load_log_manage_conf(); +static bool set_global_log_conf(LogManageConf log_conf, const char *conf_key, const char *conf_value); + +static bool has_exist_logfile(); +static bool create_logfile(); + +static void get_log_by_logtype(const KtLogType log_type, KtLog *log); +static char* log_class_enum_to_str(LogClass log_class); + +static bool set_global_env_value() +{ + char *gs_kt_file_path = NULL; + errno_t rc = 0; + /* + * this env path is not used alone, but used like : GS_KTOOL_FILE_PATH/filename + * so it is no need to check the path here, as well as the GAUSSHOME + */ + gs_kt_file_path = gs_getenv_r("GS_KTOOL_FILE_PATH"); + if (gs_kt_file_path == NULL || realpath(gs_kt_file_path, g_env_value) == NULL) { + /* try to get GAUSSHOME */ + gs_kt_file_path = gs_getenv_r("GAUSSHOME"); + /* fail to get GAUSSHOME and GS_KTOOL_FILE_PATH */ + if (gs_kt_file_path == NULL || realpath(gs_kt_file_path, g_env_value) == NULL) { + printf("ERROR: failed to get environment value : %s.\n", "GS_KTOOL_FILE_PATH"); + return false; + } + + /* fail to get GS_KTOOL_FILE_PATH but get GAUSSHOME */ + rc = sprintf_s(g_env_value, MAX_REAL_PATH_LEN, "%s/%s", gs_kt_file_path, "/etc/gs_ktool_file"); + securec_check_ss_c(rc, "", ""); + } + + if (!check_kt_env_value(gs_kt_file_path)) { + printf("ERROR: failed to check environment value, '$GS_KTOOL_FILE_PATH' contains dangerous character.\n"); + return false; + } + + return true; +} + +static bool load_conf_file(void) +{ + FILE *fp = NULL; + errno_t rc = 0; + + if (g_env_value == NULL || g_conf_file == NULL) { + return false; + } + + rc = sprintf_s(g_conf_file, MAX_REAL_PATH_LEN, "%s/%s", g_env_value, CONF_FILE_NAME); + securec_check_ss_c(rc, "", ""); + + if (!check_kt_env_value(g_conf_file)) { + printf("ERROR: environment value '%s' contains dangerous character.\n", g_conf_file); + return false; + } + + fp = fopen(g_conf_file, "rb"); + if (fp == NULL) { + insert_format_log(L_OPEN_FILE, KT_ERROR, + "please make sure the configuration file '$GS_KTOOL_FILE_PATH/gs_ktool_conf.ini' exists"); + return false; + } + fclose(fp); + + return true; +} + +static bool load_log_manage_conf() +{ + const char required_conf[][MAX_CONF_KEY_LEN] = {"is_logmodule_open", "log_file"}; + size_t required_conf_cnt = sizeof(required_conf) / sizeof(required_conf[0]); + + char key_list[MAX_CONF_ITEM_QUANTITY][MAX_CONF_KEY_LEN] = {0}; + char value_list[MAX_CONF_ITEM_QUANTITY][MAX_CONF_VALUE_LEN] = {0}; + size_t lost_conf_pos = 0; + size_t conf_item_cnt = 0; + bool is_set_log_conf = true; + + if (!read_conf_segment(g_conf_file, "LogManage", key_list, value_list, &conf_item_cnt)) { + insert_format_log(L_READ_CONF, KT_ERROR, "cannot find configuration segment : %s", "LogManage"); + return false; + } + + if (!compare_list_element(required_conf, required_conf_cnt, key_list, conf_item_cnt, &lost_conf_pos)) { + insert_format_log(L_READ_CONF, KT_ERROR, "lost configuration item : %s", required_conf[lost_conf_pos]); + return false; + } + + /* check confs (because the amount of data is small, use the algorithm whose time complexity is O(n^2)) */ + for (size_t i = 0; i < conf_item_cnt; i++) { + for (size_t j = 0; j < sizeof(log_manage_conf) / sizeof(log_manage_conf[0]); j++) { + if (strcmp(key_list[i], log_manage_conf[j]) == 0) { + switch (j) { + case IS_LOGMODULE_OPEN: + is_set_log_conf = set_global_log_conf(IS_LOGMODULE_OPEN, key_list[j], value_list[j]); + break; + case LOG_FILE: + is_set_log_conf = set_global_file(g_conf.log_file, G_LOG_FILE, value_list[j]); + break; + /* remain to add new log configuration */ + default: + break; + } + + if (!is_set_log_conf) { + return false; + } + } + } + } + + return true; +} + +static bool set_global_log_conf(LogManageConf log_conf, const char *conf_key, const char *conf_value) +{ + switch (log_conf) { + case IS_LOGMODULE_OPEN: + if (strcmp(conf_value, "ON") == 0) { + g_conf.is_logmodule_open = ON; + } else if (strcmp(conf_value, "OFF") == 0) { + g_conf.is_logmodule_open = OFF; + } else { + insert_format_log(L_SET_CONF, KT_ERROR, "the log configuration %s should be in one of {ON, OFF}", + conf_value); + return false; + } + break; + /* remain to add new log configuration : such as LOG_VALIDITY, LOG_QUANTITY and etc. */ + default: + break; + } + + return true; +} + +static bool has_exist_logfile() +{ + FILE *lfp = fopen(g_conf.log_file, "r"); + if (lfp == NULL) { + return false; + } + + fclose(lfp); + return true; +} + +static bool create_logfile() +{ + int logfile_handle = 0; + char log_file_header[MAX_LOG_RESULT_LEN] = { 0 }; + errno_t rc = 0; + + logfile_handle = open(g_conf.log_file, O_CREAT | O_RDWR, S_IRUSR | S_IWUSR); + if (logfile_handle == -1) { + printf("ERROR: failed to create log file '%s'.\n", g_conf.log_file); + return false; + } + + /* create header */ + rc = sprintf_s(log_file_header, MAX_LOG_RESULT_LEN, "%-12s %-12s %-30s %-10s %-14s %-8s %s\n", "create_date", + "create_time", "operation", "result", "object", "level", "information"); + securec_check_ss_c(rc, "", ""); + + write(logfile_handle, log_file_header, strlen(log_file_header)); + close(logfile_handle); + + g_has_init_log_module = true; + + printf("NOTICE: created new log file : %s.\n", g_conf.log_file); + insert_format_log(L_CREATE_FILE, KT_NOTICE, "new log file : %s", g_conf.log_file); + + return true; +} + +bool initialize_logmodule() +{ + if (!set_global_env_value()) { + return false; + }; + + if (!load_conf_file()) { + return false; + } + + if (!load_log_manage_conf()) { + return false; + } + + if (g_conf.is_logmodule_open != ON) { + return false; + } + + if (!has_exist_logfile()) { + if (!create_logfile()) { + return false; + } + } + + g_has_init_log_module = true; + return true; +} + +static void get_log_by_logtype(const KtLogType log_type, KtLog *log) +{ + for (size_t i = 0; i < sizeof(g_log_type) / sizeof(g_log_type[0]); i++) { + if (g_log_type[i].log_type == log_type) { + *log = g_log_type[i]; + } + } +} + +static char* log_class_enum_to_str(LogClass log_class) +{ + char *log_class_str = NULL; + const char all_log_class[][MAX_LOG_CLASS_STR_LEN] = {"error", "succeeded", "alarm", "warning", "notice", "hint"}; + error_t rc = 0; + + log_class_str = (char *) malloc(MAX_LOG_CLASS_STR_LEN); + if (log_class_str == NULL) { + printf("ERROR: failed to malloc memory.\n"); + exit(1); + } + + rc = strcpy_s(log_class_str, MAX_LOG_CLASS_STR_LEN, all_log_class[log_class]); + securec_check_c(rc, "", ""); + + return log_class_str; +} + +void insert_raw_log(const KtLogType log_type, const LogClass log_class, const char op_info[MAX_OP_RESULT_LEN]) +{ + KtLog kt_log = {0}; + Time sys_time = {0}; + errno_t rc = 0; + char create_date[strlen("0000-00-00/")] = {0}; + char create_time[strlen("00:00:00/")] = {0}; + char *result = NULL; + FILE *lfp = NULL; + char log_buf[MAX_LOG_RESULT_LEN] = {0}; + + get_log_by_logtype(log_type, &kt_log); + + if (log_class == KT_ERROR && g_is_print_err) { + if (strlen(op_info) > 0) { + printf("ERROR: failed to %s, %s.\n", kt_log.operation, op_info); + } else { + printf("ERROR: failed to %s.\n", kt_log.operation); + } + } + + if (!g_has_init_log_module || g_conf.is_logmodule_open == OFF) { + return; + } + + if (!get_sys_time(&sys_time)) { + printf("ERROR: failed to get system time.\n"); + return; + } + date_ttos(sys_time, create_date, sizeof(create_date)); + time_ttos(sys_time, create_time, sizeof(create_time)); + + result = log_class_enum_to_str(log_class); + rc = sprintf_s(log_buf, MAX_LOG_RESULT_LEN, "%-12s %-12s %-30s %-10s %-14s %-8s %s\n", create_date, + create_time, kt_log.operation, result, kt_log.object, kt_log.level, op_info); + securec_check_ss_c(rc, "", ""); + kt_free(result); + + lfp = fopen(g_conf.log_file, "a"); + if (lfp == NULL) { + printf("ERROR: failed to open log file '%s'.\n", g_conf.log_file); + return; + } + fwrite(log_buf, strlen(log_buf), sizeof(char), lfp); + fclose(lfp); +} \ No newline at end of file diff --git a/src/bin/gs_ktool/kt_log_manage.h b/src/bin/gs_ktool/kt_log_manage.h new file mode 100644 index 000000000..2e2abd429 --- /dev/null +++ b/src/bin/gs_ktool/kt_log_manage.h @@ -0,0 +1,108 @@ +/* + * Copyright (c) 2020 Huawei Technologies Co.,Ltd. + * + * openGauss is licensed under Mulan PSL v2. + * You can use this software according to the terms and conditions of the Mulan PSL v2. + * You may obtain a copy of Mulan PSL v2 at: + * + * http://license.coscl.org.cn/MulanPSL2 + * + * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, + * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, + * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. + * See the Mulan PSL v2 for more details. + * ------------------------------------------------------------------------- + * + * kt_log_manage.h + * Log manage module : + * 1. reading and writing log file; + * 2. providing log management interface. + * + * IDENTIFICATION + * src/bin/gs_ktool/kt_log_manage.h + * + * ------------------------------------------------------------------------- + */ + +#ifndef GS_KT_LOG_MANAGE_H +#define GS_KT_LOG_MANAGE_H + +#include "kt_common.h" + +const int MAX_OP_LEN = 256; +const int MAX_OP_RESULT_LEN = 4096; +const int MAX_LOG_TYPE_STR_LEN = 15; +const int MAX_OBJECT_LEN = 15; +const int MAX_LOG_CLASS_STR_LEN = 15; + +enum LogClass { + KT_ERROR = 0, + KT_SUCCEED, + KT_ALARM, + KT_WARNING, + KT_NOTICE, + KT_HINT, +}; + +enum KtLogType { + L_CREATE_FILE = 0, + L_INIT_KMC, + + /* cmk manage */ + L_GEN_CMK, + L_DEL_CMK, + L_SELECT_CMK, + L_EXPORT_CMK, + L_IMPORT_CMK, + L_SELECT_CMK_LEN, + L_SELECT_CMK_PLAIN, + + /* rk manage */ + L_SELECT_RK, + L_UPDATE_RK, + L_SET_RK_VALIDITY, + L_CHECK_RK_VALIDITY, + + /* invalid cmd input */ + L_PARSE_USER_INPUT, + L_CHECK_USER_INPUT, + + /* invalid conf file input */ + L_READ_CONF, + L_SET_CONF, + + /* sys call */ + L_REG_CALLBACK_FUNC, + L_MALLOC_MEMORY, + L_GET_TIME, + L_OPEN_FILE, + L_GET_ENV_VALUE, + L_CHECK_ENV_VALUE, + L_OPEN_SEM, + L_INIT_SEM, + L_POST_SEM, + L_WAIT_SEM, +}; + +typedef struct KtLog { + int log_type; + char operation[MAX_OP_LEN]; + char object[MAX_OBJECT_LEN]; + char level[MAX_LOG_CLASS_STR_LEN]; +} KtLog; + +extern bool g_has_init_log_module; + +#define insert_format_log(log_type, log_class, format_info, ...) \ + { \ + errno_t def_rc = 0; \ + char res[MAX_LOG_RESULT_LEN] = {0}; \ + def_rc = sprintf_s(res, MAX_LOG_RESULT_LEN, format_info, ##__VA_ARGS__); \ + securec_check_ss_c(def_rc, "", ""); \ + insert_raw_log(log_type, log_class, res); \ + } + +extern bool initialize_logmodule(); +extern void insert_raw_log(const KtLogType log_type, const LogClass log_class, const char op_info[MAX_OP_RESULT_LEN]); + +#endif \ No newline at end of file diff --git a/src/bin/gs_ktool/kt_main.cpp b/src/bin/gs_ktool/kt_main.cpp new file mode 100644 index 000000000..b5d0e361f --- /dev/null +++ b/src/bin/gs_ktool/kt_main.cpp @@ -0,0 +1,820 @@ +/* + * Copyright (c) 2020 Huawei Technologies Co.,Ltd. + * + * openGauss is licensed under Mulan PSL v2. + * You can use this software according to the terms and conditions of the Mulan PSL v2. + * You may obtain a copy of Mulan PSL v2 at: + * + * http://license.coscl.org.cn/MulanPSL2 + * + * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, + * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, + * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. + * See the Mulan PSL v2 for more details. + *------------------------------------------------------------------------- + * + * kt_main.cpp + * Entry of gs_ktool : + * 1. parsing and checking commands read from the command line; + * 2. invoking executor to process commands. + * + * IDENTIFICATION + * src/bin/gs_ktool/kt_main.cpp + * + * ------------------------------------------------------------------------- + */ + +#include +#include +#include +#include +#include + +#include "kt_key_manage.h" +#include "kt_log_manage.h" +#include "kt_kmc_callback.h" + +const char *KT_VERSION = "gs_ktool V1.0.0 || KMC V3.0.0.SPC005"; +const int EXIT = 0; +const int NOT_EXIT = 1; +const int UNUSED = 0; +const int MIN_KSF_PASS_CHAR_TYPE = 3; + +const char *g_cmk_manage_arg[] = {"-g", "-l", "-d", "-s", "-i", "-e", "-f", "-p"}; +const char g_invalid_cmk_manage_arg[] = {0, 0, 0, 0, 0, 0, 0, 0}; +const int CMK_ARG_CNT = 8; + +typedef struct ArgValue { + bool has_set_all; + unsigned int cmk_id; + unsigned int cmk_len; + char ksf[MAX_REAL_PATH_LEN]; + char ksf_passwd[MAX_KSF_PASS_BUF_LEN]; +} ArgValue; + +typedef void (*ManageCmkHookFunc)(ArgValue *arg_value); + +typedef struct CmkManageFunc { + char arg_patten[CMK_ARG_CNT]; + ManageCmkHookFunc manage_cmk_func; + struct CmkManageFunc *next; +} CmkManageFunc; + +typedef struct CmkManageFuncList { + size_t node_cnt; + CmkManageFunc *first_node; +} CmkManageFuncList; + +enum ArgType { + ARG_G = 0, + ARG_L, + ARG_D, + ARG_S, + ARG_I, + ARG_E, + ARG_F, + ARG_P, +}; + +enum InputType { + I_KEY_ID = 0, + I_KEY_LEN, + I_KSF, +}; + +enum AdviseType { + HELP = 0, + INPUT_PASSWD, +}; + +enum PasswdCharType { + NUM = 0, + UPPER, + LOWER, + SYMBOL, +}; + +enum PasswdErrType { + LEGAL = 0, + INVALID_LEN, + INVALID_CHAR, + FEW_TYPES, +}; + +/* read command from terminal */ +int main(int argc, char *argv[]); +static void print_kt_version(void); +static void print_advise(AdviseType advise_type); +static void print_help_info(void); + +/* parse command */ +static void parse_cmd(int argc, char *argv[], char *arg_patten, ArgValue *arg_value); +static void parse_rk_manage_cmd(int argc, char *argv[]); + +/* check commnad */ +static bool get_passwd(char *passwd, const size_t pwbuf_size); +static PasswdErrType check_passwd(char *ksf_passwd); +static void report_passwd_err(PasswdErrType passwd_err); +static void check_user_input(const InputType input_type, const char *user_input); + +/* register commnad and process funcs */ +static bool is_arg_patten_equal(const char base_list[CMK_ARG_CNT], const char new_list[CMK_ARG_CNT]); +static bool reg_cmk_manage_func(CmkManageFuncList *cmk_manage_func_list, CmkManageFunc *new_func_node); +static CmkManageFunc *create_cmk_manage_func(const char arg_patten[CMK_ARG_CNT], ManageCmkHookFunc manage_cmk_func); +static void destroy_cmk_manage_func_list(CmkManageFuncList *cmk_manage_func_list); +static void reg_all_cmk_manage_func(CmkManageFuncList *cmk_manage_func_list); + +/* process command */ +static void process_cmd(const char arg_patten[CMK_ARG_CNT], ArgValue *arg_value); +static void process_gen_cmk_cmd(ArgValue *arg_value); +static void process_del_cmk_cmd(ArgValue *arg_value); +static void process_select_cmk_cmd(ArgValue *arg_value); +static void process_import_cmk_cmd(ArgValue *arg_value); +static void process_export_cmk_cmd(ArgValue *arg_value); + +/* entry to all commands */ +int main(int argc, char *argv[]) +{ + /* cmk manage args: -g -l -d -s -i -e -f -p */ + char arg_patten[] = {0, 0, 0, 0, 0, 0, 0, 0}; + ArgValue arg_value = { 0 }; + + if (!initialize_logmodule()) { + exit(1); + } + + if (argc <= 1) { + print_help_info(); + exit(0); + } else if (argc > 6) { + insert_format_log(L_PARSE_USER_INPUT, KT_ERROR, "the number of parameters exceeds the upper limit"); + exit(1); + } + + /* start parsing single CLI commands */ + if (strcmp(argv[1], "-?") == 0) { + print_help_info(); + } else if (strcmp(argv[1], "-R") == 0) { + parse_rk_manage_cmd(argc, argv); + } else { + /* unrecognized commnads will also be processed in this func */ + parse_cmd(argc, argv, arg_patten, &arg_value); + process_cmd((const char *)arg_patten, &arg_value); + } + + return 0; +} + +static void print_advise(AdviseType advise_type) +{ + switch (advise_type) { + case HELP: + printf("HINT: try '-h' or '-?' for more infromation.\n"); + break; + case INPUT_PASSWD: + printf("WARNING:it is safer to enter password interactively than use '-p'\n"); + default: + break; + } +} + +static void print_kt_version(void) +{ + printf("%s\n", KT_VERSION); +} + +static void print_help_info(void) +{ + printf("Description: gs_ktool is a CMK(Client Master Key) & RK(Root Key) management tool.\n"); + printf("\n"); + printf("Usage:\n"); + printf(" gs_ktool [OPTION] [[CMK_ID] \"all\" [FILE] [FILE_PASSWD] ...]\n"); + printf("\n"); + printf("General options:\n"); + printf(" %-7s %-40s\n", "-v", "Select gs_ktool version."); + printf(" %-7s %-40s\n", "-h/-?", "Select help info."); + printf("\n"); + printf("CMK management options:\n"); + printf(" %-7s %-40s\n", "-g", "Generate a CMK, can use '-l' to set key length."); + printf(" %-7s %-40s\n", "-l", "Set the key length while generating CMK."); + printf(" %-7s %-40s\n", "-d", "Delete specified CMK or delete all."); + printf(" %-7s %-40s\n", "-s", "Select specified CMK info or select all."); + printf(" %-7s %-40s\n", "-e", + "Export all CMKs to ksf, can use '-f' to set export file, can use '-p' to set password."); + printf(" %-7s %-40s\n", "-i", + "Import all CMKs from ksf, should use '-f' to specify import file, can use '-p' to specify password."); + printf(" %-7s %-40s\n", "-f", "Set or specify key store file while exporting or importing all keys."); + printf(" %-7s %-40s\n", "-p", + "Set or specify the password of key store file while exporting or importing all keys."); + printf("\n"); + printf("RK management options:\n"); + printf(" %-7s %-40s\n", "-R -s", "Select RK info."); + printf(" %-7s %-40s\n", "-R -u", "Update RK."); +} + +static void parse_cmd(int argc, char *argv[], char *arg_patten, ArgValue *arg_value) +{ + errno_t rc = 0; + bool is_passwd_too_long = false; + + /* extern global variables in "getopt.h" */ + optind = 1; + /* optarg */ + + const char *optstring = "vhgl:d:s:ief:p:"; + static struct option long_options[] = {0}; /* remain */ + int cur_arg = 0; + int cur_pos = 0; + + arg_value->has_set_all = false; + + while (optind < argc) { + cur_pos++; + + cur_arg = getopt_long(argc, argv, optstring, long_options, NULL); + if (cur_arg == -1) { + insert_format_log(L_PARSE_USER_INPUT, KT_HINT, "unknown option '%s'", argv[cur_pos]); + print_advise(HELP); + exit(1); + } + + switch (cur_arg) { + case 'v': + printf("VERSION\n"); + print_kt_version(); + exit(0); + case 'h': + printf("HELP\n"); + print_help_info(); + exit(0); + case 'g': + arg_patten[ARG_G]++; + break; + case 'l': + check_user_input(I_KEY_LEN, optarg); + arg_value->cmk_len = atoi(optarg); + arg_patten[ARG_L]++; + break; + case 'd': + check_user_input(I_KEY_ID, optarg); + if (strcmp(optarg, "all") == 0) { + arg_value->has_set_all = true; + } else { + arg_value->cmk_id = atoi(optarg); + } + arg_patten[ARG_D]++; + break; + case 's': + check_user_input(I_KEY_ID, optarg); + if (strcmp(optarg, "all") == 0) { + arg_value->has_set_all = true; + } else { + arg_value->cmk_id = atoi(optarg); + } + arg_patten[ARG_S]++; + break; + case 'i': + arg_patten[ARG_I]++; + break; + case 'e': + arg_patten[ARG_E]++; + break; + case 'f': + check_user_input(I_KSF, optarg); + rc = strcpy_s(arg_value->ksf, sizeof(arg_value->ksf), optarg); + securec_check_c(rc, "", ""); + arg_patten[ARG_F]++; + break; + case 'p': + print_advise(INPUT_PASSWD); + if (strlen(optarg) >= MAX_KSF_PASS_BUF_LEN) { + is_passwd_too_long = true; + insert_format_log(L_CHECK_USER_INPUT, KT_ERROR, "the password is too long"); + } else { + rc = strcpy_s(arg_value->ksf_passwd, sizeof(arg_value->ksf_passwd), optarg); + securec_check_c(rc, "", ""); + arg_patten[ARG_P]++; + } + + rc = memset_s(optarg, strlen(optarg), 0, strlen(optarg)); + securec_check_c(rc, "", ""); + if (is_passwd_too_long) { + exit(1); + } + break; + case '?': + insert_format_log(L_PARSE_USER_INPUT, KT_HINT, "unknown option '%s'", argv[cur_pos]); + print_advise(HELP); + exit(1); + default: + print_advise(HELP); + exit(1); + } + } +} + +static void parse_rk_manage_cmd(int argc, char *argv[]) +{ + /* extern global variables in "getopt.h" */ + optind = 1; + /* optarg */ + int option_index; + + const char *optstring = "Rsu"; + static struct option long_options[] = {0}; + int cur_arg = 0; + int cur_pos = 0; + unsigned char is_exit = NOT_EXIT; + RkInfo rk_info = { 0 }; + + if (argc != 3) { + insert_format_log(L_PARSE_USER_INPUT, KT_ERROR, "unrecognized root key management option combination"); + print_advise(HELP); + exit(1); + } + + if (!init_keytool()) { + exit(1); + } + + while (is_exit == NOT_EXIT) { + is_exit = EXIT; + cur_arg = getopt_long(argc, argv, optstring, long_options, &option_index); + cur_pos++; + + if (cur_arg == -1) { + insert_format_log(L_PARSE_USER_INPUT, KT_ERROR, "unknown root key management option '%s'", argv[cur_pos]); + print_advise(HELP); + break; + } + + switch (cur_arg) { + case 'R': + is_exit = NOT_EXIT; + break; + case 's': + if (select_rk_info(&rk_info)) { + insert_format_log(L_SELECT_RK, KT_SUCCEED, ""); + print_rk_info(&rk_info); + } else { + insert_format_log(L_SELECT_RK, KT_ERROR, ""); + } + break; + case 'u': + if (cycle_rk()) { + printf("UPDATE ROOTKEY\n"); + insert_format_log(L_UPDATE_RK, KT_SUCCEED, ""); + } else { + insert_format_log(L_UPDATE_RK, KT_ERROR, ""); + } + break; + default: + print_advise(HELP); + break; + } + } + + WsecFinalizeEx(); +} + +static bool get_passwd(char *passwd, const size_t pwbuf_size) +{ + char *tmp_buf = NULL; + error_t rc = 0; + + if (strlen(passwd) > 0) { + return true; + } + + tmp_buf = getpass("please input the password of key store file :"); + if (tmp_buf == NULL) { + insert_format_log(L_PARSE_USER_INPUT, KT_ERROR, "cannot get password"); + return false; + } + + rc = strcpy_s(passwd, pwbuf_size, tmp_buf); + securec_check_c(rc, "", ""); + + rc = memset_s(tmp_buf, strlen(tmp_buf), 0, strlen(tmp_buf)); + securec_check_c(rc, "", ""); + kt_free(tmp_buf); + + return true; +} + +static PasswdErrType check_passwd(char *ksf_passwd) +{ + char chara_type_cnt = 0; + bool has_chara_type[4] = {false, false, false, false}; /* [num, upper letter, lower letter, symbol] */ + const char legal_symbol[] = " !#$%&'()*+,-./:;<=>?@[\\]^_`{|}~"; + bool is_legal_symbol = false; + error_t rc = 0; + + if (strlen(ksf_passwd) < MIN_KSF_PASS_LEN || strlen(ksf_passwd) >= MAX_KSF_PASS_BUF_LEN) { + rc = memset_s(ksf_passwd, strlen(ksf_passwd), 0, strlen(ksf_passwd)); + securec_check_c(rc, "", ""); + return INVALID_LEN; + } + + for (size_t i = 0; i < strlen(ksf_passwd); i++) { + if (ksf_passwd[i] >= '0' && ksf_passwd[i] <= '9') { + has_chara_type[NUM] = true; + } else if (ksf_passwd[i] >= 'A' && ksf_passwd[i] <= 'Z') { + has_chara_type[UPPER] = true; + } else if (ksf_passwd[i] >= 'a' && ksf_passwd[i] <= 'z') { + has_chara_type[LOWER] = true; + } else { + for (size_t j = 0; j < sizeof(legal_symbol) / sizeof(legal_symbol[0]); j++) { + if (ksf_passwd[i] == legal_symbol[j]) { + is_legal_symbol = true; + has_chara_type[SYMBOL] = true; + break; + } + } + + if (is_legal_symbol == false) { + rc = memset_s(ksf_passwd, strlen(ksf_passwd), 0, strlen(ksf_passwd)); + securec_check_c(rc, "", ""); + return INVALID_CHAR; + } + + is_legal_symbol = false; + } + } + + for (size_t i = 0; i < sizeof(has_chara_type) / sizeof(has_chara_type[0]); i++) { + chara_type_cnt += has_chara_type[i]; + } + + if (chara_type_cnt < MIN_KSF_PASS_CHAR_TYPE) { + rc = memset_s(ksf_passwd, strlen(ksf_passwd), 0, strlen(ksf_passwd)); + securec_check_c(rc, "", ""); + return FEW_TYPES; + } + + return LEGAL; +} + +static void report_passwd_err(PasswdErrType passwd_err) +{ + switch (passwd_err) { + case INVALID_LEN: + insert_format_log(L_CHECK_USER_INPUT, KT_ERROR, "the password length should be in range [%d, %d)", + MIN_KSF_PASS_LEN, MAX_KSF_PASS_BUF_LEN); + break; + case INVALID_CHAR: + insert_format_log(L_CHECK_USER_INPUT, KT_ERROR, "the password contains invalid character"); + break; + case FEW_TYPES: + insert_format_log(L_CHECK_USER_INPUT, KT_ERROR, "the password should contain 3 types of characters"); + break; + default: + break; + } +} + +static void check_user_input(const InputType input_type, const char *user_input) +{ + char real_path_file[MAX_REAL_PATH_LEN] = { 0 }; + unsigned int input_num = 0; + + switch (input_type) { + case I_KEY_ID: + if (strcmp(optarg, "all") == 0 || strcmp(optarg, "all\n") == 0) { + break; + } else { + if (!atoi_strictly(user_input, &input_num)) { + insert_format_log(L_CHECK_USER_INPUT, KT_ERROR, + "this input '%s' is expected to be an positive integer", user_input); + exit(1); + } + if (input_num < 1 || input_num > MAX_CMK_QUANTITY) { + insert_format_log(L_CHECK_USER_INPUT, KT_ERROR, "the key id '%s' should be in range [1, %d]", + user_input, MAX_CMK_QUANTITY); + exit(1); + } + } + break; + case I_KEY_LEN: + if (!atoi_strictly(user_input, &input_num)) { + insert_format_log(L_CHECK_USER_INPUT, KT_ERROR, + "this input '%s' is expected to be an positive integer", user_input); + exit(1); + } + if (input_num < MIN_CMK_LEN || input_num > MAX_CMK_LEN) { + insert_format_log(L_CHECK_USER_INPUT, KT_ERROR, "the key len '%s' should be in range [%d, %d]", + user_input, MIN_CMK_LEN, MAX_CMK_LEN); + exit(1); + } + break; + case I_KSF: + if (strlen(user_input) >= MAX_REAL_PATH_LEN) { + insert_format_log(L_CHECK_USER_INPUT, KT_ERROR, "the length of key store file name is too long"); + exit(1); + } + + realpath(user_input, real_path_file); + if (!check_kt_env_value(real_path_file)) { + insert_format_log(L_CHECK_USER_INPUT, KT_ERROR, "the path '%s' is invalid", real_path_file); + exit(1); + } + break; + default: + break; + } +} + +static bool is_arg_patten_equal(const char base_list[CMK_ARG_CNT], const char new_list[CMK_ARG_CNT]) +{ + for (int i = 0; i < CMK_ARG_CNT; i++) { + if (base_list[i] != new_list[i]) { + if (new_list[i] > 1) { + insert_format_log(L_PARSE_USER_INPUT, KT_ERROR, "too many options : '%s'", g_cmk_manage_arg[i]); + exit(1); + } + return false; + } + } + + return true; +} + +static bool reg_cmk_manage_func(CmkManageFuncList *cmk_manage_func_list, CmkManageFunc *new_func_node) +{ + CmkManageFunc *last_node = NULL; + + if (cmk_manage_func_list == NULL || new_func_node == NULL) { + return false; + } + + if (cmk_manage_func_list->first_node == NULL) { + cmk_manage_func_list->first_node = new_func_node; + cmk_manage_func_list->node_cnt++; + return true; + } + + last_node = cmk_manage_func_list->first_node; + while (last_node->next != NULL) { + last_node = last_node->next; + } + + last_node->next = new_func_node; + cmk_manage_func_list->node_cnt++; + return true; +} + +static CmkManageFunc *create_cmk_manage_func(const char arg_patten[CMK_ARG_CNT], ManageCmkHookFunc manage_cmk_func) +{ + errno_t rc = 0; + CmkManageFunc *cmk_manage_func = NULL; + + cmk_manage_func = (CmkManageFunc *)malloc(sizeof(CmkManageFunc)); + if (cmk_manage_func == NULL) { + insert_format_log(L_MALLOC_MEMORY, KT_ERROR, ""); + return NULL; + } + + rc = memcpy_s(cmk_manage_func->arg_patten, CMK_ARG_CNT, arg_patten, CMK_ARG_CNT); + securec_check_c(rc, "", ""); + + cmk_manage_func->manage_cmk_func = manage_cmk_func; + cmk_manage_func->next = NULL; + + return cmk_manage_func; +} + +static void destroy_cmk_manage_func_list(CmkManageFuncList *cmk_manage_func_list) +{ + CmkManageFunc *cur_node = NULL; + CmkManageFunc *to_free = NULL; + + cur_node = cmk_manage_func_list->first_node; + while (cur_node != NULL) { + to_free = cur_node; + cur_node = cur_node->next; + kt_free(to_free); + } +} + +static void reg_all_cmk_manage_func(CmkManageFuncList *cmk_manage_func_list) +{ + const char support_patten[][CMK_ARG_CNT] = { + /* g l d s i e f p */ + {1, 0, 0, 0, 0, 0, 0, 0}, + {1, 1, 0, 0, 0, 0, 0, 0}, + {0, 0, 1, 0, 0, 0, 0, 0}, + {0, 0, 0, 1, 0, 0, 0, 0}, + {0, 0, 0, 0, 1, 0, 1, 1}, + {0, 0, 0, 0, 1, 0, 1, 0}, + {0, 0, 0, 0, 0, 1, 0, 0}, + {0, 0, 0, 0, 0, 1, 0, 1}, + {0, 0, 0, 0, 0, 1, 1, 1}, + {0, 0, 0, 0, 0, 1, 1, 0}, + }; + const ManageCmkHookFunc manage_cmk_func[] = { + process_gen_cmk_cmd, + process_gen_cmk_cmd, + process_del_cmk_cmd, + process_select_cmk_cmd, + process_import_cmk_cmd, + process_import_cmk_cmd, + process_export_cmk_cmd, + process_export_cmk_cmd, + process_export_cmk_cmd, + process_export_cmk_cmd, + }; + CmkManageFunc *new_func_node = NULL; + + for (size_t i = 0; i < sizeof(support_patten) / sizeof(support_patten[0]); i++) { + new_func_node = create_cmk_manage_func(support_patten[i], manage_cmk_func[i]); + if (!reg_cmk_manage_func(cmk_manage_func_list, new_func_node)) { + kt_free(new_func_node); + destroy_cmk_manage_func_list(cmk_manage_func_list); + exit(1); + } + } +} + +static void process_cmd(const char arg_patten[CMK_ARG_CNT], ArgValue *arg_value) +{ + CmkManageFuncList cmk_manage_func_list = {0, NULL}; + CmkManageFunc *cur_func = NULL; + bool is_arg_patten_legal = false; + + /* step 1 : register key manage function */ + reg_all_cmk_manage_func(&cmk_manage_func_list); + + cur_func = cmk_manage_func_list.first_node; + while (cur_func != NULL) { + if (is_arg_patten_equal(cur_func->arg_patten, arg_patten)) { + is_arg_patten_legal = true; + + /* step 2 : init gs_ktool */ + if (!init_keytool()) { + break; + } + + /* step 3 : call key manage function to process arg_value */ + cur_func->manage_cmk_func(arg_value); + break; + } + cur_func = cur_func->next; + } + + if (is_arg_patten_legal == false) { + insert_format_log(L_PARSE_USER_INPUT, KT_ERROR, "unrecognized option combination"); + print_advise(HELP); + } + + /* step 4 : clean call back functions and kmc */ + destroy_cmk_manage_func_list(&cmk_manage_func_list); + WsecFinalizeEx(); +} + +static void process_gen_cmk_cmd(ArgValue *arg_value) +{ + unsigned int cmk_id = 0; + + if (arg_value->cmk_len == 0) { + if (generate_cmk(false, UNUSED, &cmk_id)) { + printf("GENERATE\n%u\n", cmk_id); + insert_format_log(L_GEN_CMK, KT_SUCCEED, "new cmk : %u", cmk_id); + } else { + insert_format_log(L_GEN_CMK, KT_ERROR, ""); + } + } else { + if (generate_cmk(true, arg_value->cmk_len, &cmk_id)) { + printf("GENERATE\n%u\n", cmk_id); + insert_format_log(L_GEN_CMK, KT_SUCCEED, "new cmk : %d, cmk len : %d", cmk_id, arg_value->cmk_len); + } else { + insert_format_log(L_GEN_CMK, KT_ERROR, ""); + } + } +} + +static void process_del_cmk_cmd(ArgValue *arg_value) +{ + unsigned int del_cmk_id_list[MAX_CMK_QUANTITY] = {0}; + unsigned int del_cmk_cnt = 0; + + if (arg_value->has_set_all == true) { + if (delete_cmk(true, UNUSED, del_cmk_id_list, &del_cmk_cnt)) { + printf("DELETE ALL\n"); + for (unsigned int i = 0; i < del_cmk_cnt; i++) { + printf(" %u", del_cmk_id_list[i]); + } + printf("\n"); + insert_format_log(L_DEL_CMK, KT_SUCCEED, "deleted all") + } else { + insert_format_log(L_DEL_CMK, KT_ERROR, ""); + } + } else { + if (delete_cmk(false, arg_value->cmk_id, { 0 }, &del_cmk_cnt)) { + printf("DELETE\n%u\n", arg_value->cmk_id); + insert_format_log(L_DEL_CMK, KT_SUCCEED, "delete cmk : %d", arg_value->cmk_id); + } else { + insert_format_log(L_DEL_CMK, KT_ERROR, "which id is '%s'", optarg); + } + } +} + +static void process_select_cmk_cmd(ArgValue *arg_value) +{ + CmkInfo *cmk_info_list = NULL; + + if (arg_value->has_set_all == true) { + cmk_info_list = select_cmk_info(true, UNUSED); + if (cmk_info_list == NULL) { + insert_format_log(L_SELECT_CMK, KT_ERROR, ""); + return; + } else { + printf("SELECT ALL\n"); + trav_cmk_info_list(cmk_info_list); + insert_format_log(L_SELECT_CMK, KT_SUCCEED, "select all"); + } + } else { + cmk_info_list = select_cmk_info(false, arg_value->cmk_id); + if (cmk_info_list == NULL) { + insert_format_log(L_SELECT_CMK, KT_ERROR, "which id is '%s'", optarg); + return; + } else { + printf("SELECT\n"); + trav_cmk_info_list(cmk_info_list); + insert_format_log(L_SELECT_CMK, KT_SUCCEED, "select : %d", arg_value->cmk_id); + } + } + + destroy_cmk_info_list(cmk_info_list); +} + +static void process_import_cmk_cmd(ArgValue *arg_value) +{ + unsigned int ksf_pass_len = 0; + CmkInfo *cmk_info_list = NULL; + PasswdErrType pw_err = LEGAL; + + if (!get_passwd(arg_value->ksf_passwd, sizeof(arg_value->ksf_passwd))) { + return; + } + + pw_err = check_passwd(arg_value->ksf_passwd); + if (pw_err != LEGAL) { + insert_format_log(L_IMPORT_CMK, KT_ERROR, + "please make sure the key store file '%s' is legal and the password is correct", arg_value->ksf); + return; + } + + ksf_pass_len = strlen(arg_value->ksf_passwd); + if (import_cmks_from_ksf(arg_value->ksf, (unsigned char *)arg_value->ksf_passwd, ksf_pass_len)) { + printf("SAFE IMPORT\n%s\n", arg_value->ksf); + cmk_info_list = select_cmk_info(true, UNUSED); + if (cmk_info_list == NULL) { + insert_format_log(L_SELECT_CMK, KT_ERROR, ""); + return; + } else { + trav_cmk_info_list(cmk_info_list); + insert_format_log(L_SELECT_CMK, KT_SUCCEED, "select all"); + } + insert_format_log(L_IMPORT_CMK, KT_SUCCEED, "import from : '%s'", arg_value->ksf); + } else { + insert_format_log(L_IMPORT_CMK, KT_ERROR, + "please make sure the key store file '%s' is legal and the password is correct", arg_value->ksf); + } + + destroy_cmk_info_list(cmk_info_list); +} + +static void process_export_cmk_cmd(ArgValue *arg_value) +{ + unsigned int ksf_pass_len = 0; + bool ret = false; + PasswdErrType pw_err = LEGAL; + errno_t rc = 0; + + if (!get_passwd(arg_value->ksf_passwd, sizeof(arg_value->ksf_passwd))) { + return; + } + + pw_err = check_passwd(arg_value->ksf_passwd); + if (pw_err != LEGAL) { + report_passwd_err(pw_err); + return; + } + + ksf_pass_len = strlen(arg_value->ksf_passwd); + + if (strlen(arg_value->ksf) > 0) { + ret = export_cmks_to_ksf(true, arg_value->ksf, (unsigned char *)arg_value->ksf_passwd, ksf_pass_len); + } else { + ret = export_cmks_to_ksf(false, NULL, (unsigned char *)arg_value->ksf_passwd, ksf_pass_len); + rc = strcpy_s(arg_value->ksf, sizeof(arg_value->ksf), "path configured in gs_ktool_conf.ini"); + securec_check_c(rc, "", ""); + } + + if (ret) { + printf("SAFE EXPORT\n%s\n", arg_value->ksf); + insert_format_log(L_EXPORT_CMK, KT_SUCCEED, "exported to : '%s'", arg_value->ksf); + } else { + insert_format_log(L_EXPORT_CMK, KT_ERROR, "please check the path : '%s'", arg_value->ksf); + } +} \ No newline at end of file diff --git a/src/bin/gs_log/gs_log_dump.cpp b/src/bin/gs_log/gs_log_dump.cpp old mode 100755 new mode 100644 diff --git a/src/bin/gs_plan_simulator/dependences/clean_temp.sql b/src/bin/gs_plan_simulator/dependences/clean_temp.sql old mode 100755 new mode 100644 diff --git a/src/bin/gs_plan_simulator/dependences/restore_temp.sql b/src/bin/gs_plan_simulator/dependences/restore_temp.sql old mode 100755 new mode 100644 diff --git a/src/bin/gs_plan_simulator/dependences/store_pg_class_stats.sql b/src/bin/gs_plan_simulator/dependences/store_pg_class_stats.sql old mode 100755 new mode 100644 diff --git a/src/bin/gs_plan_simulator/dependences/store_pg_statistic_ext_stats.sql b/src/bin/gs_plan_simulator/dependences/store_pg_statistic_ext_stats.sql old mode 100755 new mode 100644 diff --git a/src/bin/gs_plan_simulator/dependences/store_pg_statistic_stats.sql b/src/bin/gs_plan_simulator/dependences/store_pg_statistic_stats.sql old mode 100755 new mode 100644 diff --git a/src/bin/gs_plan_simulator/dependences/store_pgxc_class.sql b/src/bin/gs_plan_simulator/dependences/store_pgxc_class.sql old mode 100755 new mode 100644 diff --git a/src/bin/gsqlerr/Makefile b/src/bin/gsqlerr/Makefile index 23366aee2..d9794e4da 100644 --- a/src/bin/gsqlerr/Makefile +++ b/src/bin/gsqlerr/Makefile @@ -45,7 +45,7 @@ all: scanEreport: $(OBJS1) | submake-libpgport $(CC) $(CXXFLAGS) $(OBJS1) $(LDFLAGS) $(LDFLAGS_EX) -o $@$(X) $(LIBS) - $(top_builddir)/$(subdir)/scanEreport $(top_srcdir) ereport.txt $(top_srcdir)/src/common/backend/utils/errcodes.txt + $(top_builddir)/$(subdir)/scanEreport $(top_srcdir) ereport.txt $(top_srcdir)/src/common/backend/utils/errcodes.txt escan.txt utscanEreport: $(OBJS1) | submake-libpgport $(CC) -fPIC -shared $(CXXFLAGS) $(OBJS1) $(LDFLAGS) $(LDFLAGS_EX) $(LIBS) -o libutscanEreport.so -lsecurec diff --git a/src/bin/gsqlerr/errmsg.txt b/src/bin/gsqlerr/errmsg.txt old mode 100755 new mode 100644 index 5629202c4..53fc8184a --- a/src/bin/gsqlerr/errmsg.txt +++ b/src/bin/gsqlerr/errmsg.txt @@ -109,12 +109,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00019: "unsupported node type: %d" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00020: "cache lookup failed for function %u" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -133,12 +127,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00023: "argument of %s must be type boolean, not type %s" -SQLSTATE: 42804 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00024: "argument of %s must not return a set" SQLSTATE: 42804 CAUSE: "This is an internal error" @@ -283,30 +271,12 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00048: "core_yylex_init() failed: %m" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00049: "invalid hexadecimal digit" SQLSTATE: XX000 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00050: "improper %%TYPE reference (too few dotted names): %s" -SQLSTATE: 42601 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-00051: "improper %%TYPE reference (too many dotted names): %s" -SQLSTATE: 42601 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00052: "column '%s' of relation '%s' does not exist" SQLSTATE: 42703 CAUSE: "This is an internal error" @@ -595,12 +565,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00100: "could not find JoinExpr for whole-row reference" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00101: "table '%s' has %d columns available but %d columns specified" SQLSTATE: 42P10 CAUSE: "This is an internal error" @@ -853,12 +817,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00143: "must be system admin to use EXECUTE DIRECT" -SQLSTATE: 42501 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00144: "CREATE TABLE AS EXECUTE not yet supported" SQLSTATE: 0A000 CAUSE: "This is an internal error" @@ -877,12 +835,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00147: "LIMIT #,# syntax is not supported" -SQLSTATE: 42601 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00148: "VALUES in FROM must have an alias" SQLSTATE: 42601 CAUSE: "This is an internal error" @@ -1027,24 +979,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00172: "undefined or invalid action for statement ' alter system '" -SQLSTATE: 42704 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-00173: "unsupported action '%s' for statement ' alter system '" -SQLSTATE: 42704 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-00174: "undefined action '%s' for statement ' alter system '" -SQLSTATE: 42704 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00175: "missing or invalid session ID" SQLSTATE: 42704 CAUSE: "This is an internal error" @@ -1111,12 +1045,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00186: "unexpected non-Query statement in WITH" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00187: "unexpected utility statement in WITH" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -1165,12 +1093,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00195: "recursive query '%s' does not have the form non-recursive-term UNION [ALL] recursive-term" -SQLSTATE: 42P19 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00196: "missing recursive reference" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -1201,12 +1123,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00201: "recursive reference to query '%s' must not appear more than once" -SQLSTATE: 42P19 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00202: "unrecognized join type: %d" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -1225,12 +1141,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00205: "JOIN/ON clause refers to '%s', which is not part of JOIN" -SQLSTATE: 42P10 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00206: "subquery in FROM must have an alias" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -1243,18 +1153,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00208: "subquery in FROM cannot refer to other relations of same query level" -SQLSTATE: 42P10 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-00209: "function expression in FROM cannot refer to other relations of same query level" -SQLSTATE: 42P10 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00210: "cannot use aggregate function in function expression in FROM" SQLSTATE: 42803 CAUSE: "This is an internal error" @@ -1273,30 +1171,12 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00213: "common column name '%s' appears more than once in left table" -SQLSTATE: 42702 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00214: "column '%s' specified in USING clause does not exist in left table" SQLSTATE: 42703 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00215: "common column name '%s' appears more than once in right table" -SQLSTATE: 42702 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-00216: "column '%s' specified in USING clause does not exist in right table" -SQLSTATE: 42703 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00217: "column alias list for '%s' has too many entries" SQLSTATE: 42601 CAUSE: "This is an internal error" @@ -1585,18 +1465,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00266: "internal relation doesn't allow INSERT" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-00267: "unexpected non-SELECT command in INSERT ... SELECT" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00268: "VALUES lists must all be the same length" SQLSTATE: 42601 CAUSE: "This is an internal error" @@ -1723,18 +1591,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00289: "RETURNING cannot contain references to other relations" -SQLSTATE: 0A000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-00290: "cannot specify both SCROLL and NO SCROLL" -SQLSTATE: 42P11 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00291: "unexpected non-SELECT command in DECLARE CURSOR" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -1765,30 +1621,12 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00296: "EXECUTE DIRECT cannot be executed on a Datanode" -SQLSTATE: 0A000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-00297: "Support for EXECUTE DIRECT on multiple nodes is not available yet" -SQLSTATE: 0A000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00298: "PGXC Node %s: object not defined" SQLSTATE: 42704 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00299: "EXECUTE DIRECT cannot execute multiple queries" -SQLSTATE: 0A000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00300: "EXECUTE DIRECT cannot execute DML queries" SQLSTATE: 0A000 CAUSE: "This is an internal error" @@ -2149,12 +1987,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00360: "access method 'psort' does not support row store" -SQLSTATE: 0A000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00361: "access method '%s' does not support column store" SQLSTATE: 0A000 CAUSE: "This is an internal error" @@ -2185,18 +2017,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00366: "cannot use aggregate function in rule WHERE condition" -SQLSTATE: 42803 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-00367: "cannot use window function in rule WHERE condition" -SQLSTATE: 42P20 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00368: "Rule may not use NOTIFY, it is not yet supported" SQLSTATE: 42P17 CAUSE: "This is an internal error" @@ -2215,18 +2035,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00371: "ON SELECT rule cannot use OLD" -SQLSTATE: 42P17 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-00372: "ON SELECT rule cannot use NEW" -SQLSTATE: 42P17 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00373: "ON INSERT rule cannot use OLD" SQLSTATE: 42P17 CAUSE: "This is an internal error" @@ -2239,18 +2047,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00375: "cannot refer to OLD within WITH query" -SQLSTATE: 0A000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-00376: "cannot refer to NEW within WITH query" -SQLSTATE: 0A000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00377: "missing definition of adding partition" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -2317,12 +2113,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00388: "ON COMMIT option is not supported for partitioned table" -SQLSTATE: 42601 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00389: "Typed table can't not be partitioned" SQLSTATE: 42601 CAUSE: "This is an internal error" @@ -2335,12 +2125,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00391: "OIDS option is not supported for partitioned table" -SQLSTATE: 42601 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00392: "too many partition keys for partitioned table" SQLSTATE: 42P16 CAUSE: "This is an internal error" @@ -2353,30 +2137,12 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00394: "Range partitioned table with INTERVAL was forbidden" -SQLSTATE: 42P16 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00395: "Range partitioned table with INTERVAL clause has more than one column" SQLSTATE: 42P16 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00396: "Interval value can not be NULL" -SQLSTATE: 42601 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-00397: "duplicate partition name: '%s'" -SQLSTATE: 42710 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00398: "column '%s' appears twice in partial cluster key constraint" SQLSTATE: 42701 CAUSE: "This is an internal error" @@ -2539,12 +2305,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00425: "cache lookup failed for function '%u'" -SQLSTATE: 42883 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00426: "inconsistent types deduced for parameter $%d" SQLSTATE: 42P08 CAUSE: "This is an internal error" @@ -2635,24 +2395,12 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00441: "could not create listen socket for '%s'" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00442: "could not create any TCP/IP sockets" SQLSTATE: CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00443: "could not create any HA TCP/IP sockets" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00444: "no socket created for listening" SQLSTATE: CAUSE: "This is an internal error" @@ -2719,18 +2467,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00455: "WAL archival (archive_mode=on) requires wal_level 'archive' or 'hot_standby'" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-00456: "WAL streaming (max_wal_senders > 0) requires wal_level 'archive' or 'hot_standby'" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00457: "hot standby is not possible because wal_level was not set to 'hot_standby'" SQLSTATE: CAUSE: "This is an internal error" @@ -2743,96 +2479,12 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00459: "unsupported frontend protocol %u.%u: server supports %u.0 to %u.%u" -SQLSTATE: 0A000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-00460: "invalid value for parameter 'replication'" -SQLSTATE: 22023 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-00461: "invalid startup packet layout: expected terminator as last byte" -SQLSTATE: 08P01 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-00462: "no PostgreSQL user name specified in startup packet" -SQLSTATE: 28000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-00463: "the database system is starting up" -SQLSTATE: 57P03 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-00464: "the database system is shutting down" -SQLSTATE: 57P03 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-00465: "the database system is in recovery mode" -SQLSTATE: 57P03 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00466: "sorry, too many clients already" SQLSTATE: 53300 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00467: "the current server_mode is NORMAL, could not accept HA connection." -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-00468: "the ha connection is not in the channel list" -SQLSTATE: 57P03 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-00469: "Secondary Standby does not accept connection" -SQLSTATE: 57P03 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-00470: "the local listen ip is not for the gsql client" -SQLSTATE: 57P03 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-00471: "can not accept connection in standby mode." -SQLSTATE: 57P03 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-00472: "can not accept connection in pending mode." -SQLSTATE: 57P03 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-00473: "can not accept dummy standby connection in standby mode." -SQLSTATE: 57P03 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00474: "fcntl F_GETFD failed!" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -2863,18 +2515,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00479: "create timer fail at thread : %ld" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-00480: "invalid subpostmaster invocation" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00481: "parameter error in ParseHaListenAddr()" SQLSTATE: CAUSE: "This is an internal error" @@ -2983,12 +2623,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00499: "invalid connection limit: %d" -SQLSTATE: 22023 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00500: "permission denied to create database" SQLSTATE: 42501 CAUSE: "This is an internal error" @@ -3097,12 +2731,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00518: "Deletion of sequences on database %s not completed" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00519: "permission denied to rename database" SQLSTATE: 42501 CAUSE: "This is an internal error" @@ -3139,12 +2767,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00525: "dbase_redo: unknown op code %u" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00526: "could not create directory '%s': %m" SQLSTATE: CAUSE: "This is an internal error" @@ -3259,12 +2881,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00545: "cache look up failed for tablespace %u" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00546: "could not create tablespace directory '%s': %m" SQLSTATE: CAUSE: "This is an internal error" @@ -3337,12 +2953,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00558: "views must not contain SELECT INTO" -SQLSTATE: 0A000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00559: "views must not contain data-modifying statements in WITH" SQLSTATE: 0A000 CAUSE: "This is an internal error" @@ -3469,36 +3079,12 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00583: "Failed to Generate the random number" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00584: "The password does not satisfy the complexity requirement" SQLSTATE: CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00585: "password md5 encryption failed" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-00586: "password sha256 encryption failed" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-00587: "Password_encryption_type is neither 1 nor 0" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00588: "The password could not be NULL." SQLSTATE: CAUSE: "This is an internal error" @@ -3553,24 +3139,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00606: "The role's password is null in pg_authid, REPLACE should not be specified." -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-00607: "password sha256 encryption failed." -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-00608: "The password can not be NULL." -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00610: "Permission denied to drop role." SQLSTATE: 42501 CAUSE: "This is an internal error" @@ -3679,12 +3247,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00632: "Password must contain at least %d characters." -SQLSTATE: 28P01 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00633: "Password must contain at least %d upper characters." SQLSTATE: 28P01 CAUSE: "This is an internal error" @@ -3739,18 +3301,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00642: "Password should not equal to the reverse of rolname." -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-00643: "New password should not equal to the old ones." -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00644: "New password should not equal to the reverse of old ones." SQLSTATE: CAUSE: "This is an internal error" @@ -3913,12 +3463,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00672: "Local OID column not supported in column store tables." -SQLSTATE: 0A000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00673: "default values on foreign tables are not supported" SQLSTATE: 42809 CAUSE: "This is an internal error" @@ -4051,12 +3595,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00696: "'%s' is not a table, view, composite type, index, or foreign table" -SQLSTATE: 42809 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00697: "inherited column '%s' must be renamed in child tables too" SQLSTATE: 42P16 CAUSE: "This is an internal error" @@ -4105,12 +3643,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00709: "partition index '%s' already exists" -SQLSTATE: 42710 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00710: "cache lookup failed for partition %u of relation %u" SQLSTATE: 42704 CAUSE: "This is an internal error" @@ -4249,12 +3781,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00734: "failed to coerce base type to domain" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00735: "column must be added to child tables too" SQLSTATE: 42P16 CAUSE: "This is an internal error" @@ -4279,12 +3805,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00739: "'%s' is not a table, index, or foreign table" -SQLSTATE: 42809 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00740: "statistics target %d is too low" SQLSTATE: 22023 CAUSE: "This is an internal error" @@ -4309,24 +3829,12 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00744: "cannot drop partitioning column '%s'" -SQLSTATE: 0A000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00745: "cannot drop system column '%s'" SQLSTATE: 0A000 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00746: "cannot drop inherited column '%s'" -SQLSTATE: 42P16 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00747: "cache lookup failed for attribute '%s' of relation %u" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -4357,12 +3865,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00752: "constraint must be added to child tables too" -SQLSTATE: 42P16 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00753: "referenced relation '%s' is not a table" SQLSTATE: 42809 CAUSE: "This is an internal error" @@ -4537,18 +4039,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00782: "cannot refer to other columns in transform expression for column store table" -SQLSTATE: 0A000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-00783: "transform expression must not return a set" -SQLSTATE: 42804 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00784: "cannot use subquery in transform expression" SQLSTATE: 0A000 CAUSE: "This is an internal error" @@ -4567,12 +4057,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00787: "column '%s' cannot be cast automatically to type %s" -SQLSTATE: 42804 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00788: "type of inherited column '%s' must be changed in child tables too" SQLSTATE: 42P16 CAUSE: "This is an internal error" @@ -4711,36 +4195,12 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00811: "'%s' is not a table, index, or TOAST table" -SQLSTATE: 42809 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00812: "can not set tablespace for partition of neither table nor index" SQLSTATE: 42601 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00813: "cannot have multiple MOVE TABLESPACE subcommands" -SQLSTATE: 42601 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-00814: "can not specify 'PARTITION FOR (value,,,)' when altering partition tablespace for index" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-00815: "invalid partition node type when altering tablespace for partition" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00816: "cache lookup failed for partition %u" SQLSTATE: CAUSE: "This is an internal error" @@ -4753,12 +4213,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00818: "cannot move temporary tables of other sessions" -SQLSTATE: 0A000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00819: "cannot change inheritance of typed table" SQLSTATE: 42809 CAUSE: "This is an internal error" @@ -4861,12 +4315,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00836: "Distribution column cannot be dropped" -SQLSTATE: 0A000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00837: "Distribution mode cannot be altered" SQLSTATE: 0A000 CAUSE: "This is an internal error" @@ -4981,84 +4429,18 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00856: "must be one partition key for interval partition" -SQLSTATE: 42601 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-00857: "column %s cannot serve as an interval partitioning column because of its datatype" -SQLSTATE: 42804 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00858: "column %s cannot serve as a range partitioning column because of its datatype" SQLSTATE: 42804 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00859: "partition bound list contains too few elements" -SQLSTATE: 42601 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-00860: "partition bound list contains too many elements" -SQLSTATE: 42601 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-00861: "MAXVALUE partition cannot be specified for Interval partitioned" -SQLSTATE: 42601 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-00862: "Invalid range partitioned table definition" -SQLSTATE: 42601 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-00863: "range partitioned table with interval clause has more than one" -SQLSTATE: 42601 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-00864: "Interval expression is not a constant of the correct type" -SQLSTATE: 42601 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00865: "invalid range partiiton table definition" SQLSTATE: 42601 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00866: "there is no partition key" -SQLSTATE: 42601 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-00867: "interval partition only support one partition key" -SQLSTATE: 42601 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-00868: "partition bound of partition '%s' is too low" -SQLSTATE: 42601 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00869: "can not add partition against NON-PARTITIONED table" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -5107,36 +4489,18 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00877: "can not merge partition against NON-PARTITIONED table" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00878: "can not split partition against NON-PARTITIONED table" SQLSTATE: XX000 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00879: "can not explicitly add partition against interval partitioned table" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00880: "the current relation have already reached max number of partitions" SQLSTATE: XX000 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00881: "adding partition name conflict with existing partitions" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00882: "upper boundary of adding partition MUST overtop last existing partition" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -5155,12 +4519,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00885: "Last partition in the range section cannot be dropped" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00886: "no local index defined on partition %u" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -5209,12 +4567,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00894: "cann't merge partition bacause partition %s has unusable local index" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00895: "source partitions must be continuous and in ascending order of boundary" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -5227,12 +4579,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00897: "could not acquire AccessExclusiveLock on dest index partition '%s', MERGE PARTITIONS failed" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00898: "could not acquire AccessExclusiveLock on dest table partition '%s', MERGE PARTITIONS failed" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -5245,12 +4591,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00900: "ALTER TABLE EXCHANGE requires an ordinary table" -SQLSTATE: 0A000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00901: "tables in ALTER TABLE EXCHANGE PARTITION must have the same column/row storage" SQLSTATE: 0A000 CAUSE: "This is an internal error" @@ -5413,48 +4753,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00928: "cache lookup failed for partitioned table with oid %u" -SQLSTATE: 42704 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-00929: "inserted partition key does not map to any partition" -SQLSTATE: 42P17 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-00930: "fail to select the tablespace for the table partition to create" -SQLSTATE: 42704 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-00931: "fail to find transition point for partitioned table '%s'" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-00932: "inserted partition key does not map to any partition" -SQLSTATE: 42804 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-00933: "invalid datatype" -SQLSTATE: 42804 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-00934: "invalid datatype for partition key" -SQLSTATE: 42804 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00935: "cache lookup failed for relation %u" SQLSTATE: 02000 CAUSE: "This is an internal error" @@ -5479,12 +4777,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00939: "functions cannot accept set arguments" -SQLSTATE: 42P13 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00940: "VARIADIC parameter must be the last input parameter" SQLSTATE: 42P13 CAUSE: "This is an internal error" @@ -5581,12 +4873,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00956: "function result type must be specified" -SQLSTATE: 42P13 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00957: "function result type cannot be a view." SQLSTATE: 42P13 CAUSE: "This is an internal error" @@ -5611,12 +4897,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00961: "function %u doesn't take OPAQUE" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00962: "source data type %s is a pseudo-type" SQLSTATE: 42809 CAUSE: "This is an internal error" @@ -5803,12 +5083,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00993: "conversion '%s' already exists in schema '%s'" -SQLSTATE: 42710 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00994: "extra data after last expected column" SQLSTATE: 22P04 CAUSE: "This is an internal error" @@ -5821,24 +5095,12 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00997: "data row size lesser than \'%d\'" -SQLSTATE: 22P04 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-00998: "%s" SQLSTATE: 42000 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-00999: "must be system admin to create a base type" -SQLSTATE: 42501 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01000: "type '%s' already exists" SQLSTATE: 42710 CAUSE: "This is an internal error" @@ -5977,12 +5239,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01023: "type attribute '%s' not recognized" -SQLSTATE: 42601 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01024: "type attribute 'subtype' is required" SQLSTATE: 42601 CAUSE: "This is an internal error" @@ -6193,12 +5449,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01059: "CREATE TABLE AS specifies too many column names" -SQLSTATE: 42601 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01060: "option '%s' not found" SQLSTATE: 42704 CAUSE: "This is an internal error" @@ -6319,12 +5569,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01085: "invalid schema %s for relation %s" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01086: "unacceptable schema name '%s'" SQLSTATE: 42939 CAUSE: "This is an internal error" @@ -6505,12 +5749,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01116: "clustering failed, internal error" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01117: "cannot swap mapped relation '%s' with non-mapped relation" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -6565,12 +5803,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01126: "expected none dependency record for partiton's CUDesc/Delta table, found %ld" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01127: "invalid statement name: must not be empty" SQLSTATE: 42P14 CAUSE: "This is an internal error" @@ -6607,24 +5839,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01133: "cannot use subquery in EXECUTE parameter" -SQLSTATE: 0A000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-01134: "cannot use aggregate function in EXECUTE parameter" -SQLSTATE: 42803 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-01135: "cannot use window function in EXECUTE parameter" -SQLSTATE: 42P20 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01136: "parameter $%d of type %s cannot be coerced to the expected type %s" SQLSTATE: 42804 CAUSE: "This is an internal error" @@ -6847,12 +6061,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01173: "'%s' is not a valid EOL string, EOL string must be 0x0D0A or 0x0A" -SQLSTATE: 22023 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01174: "invalid value of FIX" SQLSTATE: 22023 CAUSE: "This is an internal error" @@ -6931,12 +6139,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01187: "COPY quote must be a single one-byte character" -SQLSTATE: 0A000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01188: "delimiter cannot contain quote character" SQLSTATE: 22023 CAUSE: "This is an internal error" @@ -6949,30 +6151,12 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01190: "COPY escape must be a single one-byte character" -SQLSTATE: 0A000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01191: "COPY force quote available only in CSV mode" SQLSTATE: 0A000 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01192: "COPY force quote only available using COPY TO" -SQLSTATE: 0A000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-01193: "COPY force not null available only in CSV mode" -SQLSTATE: 0A000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01194: "COPY force not null only available using COPY FROM" SQLSTATE: 0A000 CAUSE: "This is an internal error" @@ -6985,12 +6169,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01196: "without escaping available only in TEXT mode" -SQLSTATE: 0A000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01197: "CSV quote character must not appear in the NULL specification" SQLSTATE: 0A000 CAUSE: "This is an internal error" @@ -7009,12 +6187,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01200: "EOL specification only available using COPY TO or WRITE ONLY foreign table" -SQLSTATE: 0A000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01201: "can not specify EOL in BINARY mode" SQLSTATE: 0A000 CAUSE: "This is an internal error" @@ -7039,12 +6211,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01205: "COPY (SELECT) WITH OIDS is not supported" -SQLSTATE: 0A000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01206: "unexpected rewrite result" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -7213,18 +6379,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01234: "invalid COPY file header (missing length)" -SQLSTATE: 22P04 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-01235: "invalid COPY file header (wrong length)" -SQLSTATE: 22P04 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01236: "missing data for OID column" SQLSTATE: 22P04 CAUSE: "This is an internal error" @@ -7429,24 +6583,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01271: "non-partitioned table does not support local partitioned indexes " -SQLSTATE: 0A000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-01272: "cannot create concurrent partitioned indexes " -SQLSTATE: 0A000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-01273: "partitioned table does not support global index" -SQLSTATE: 0A000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01274: "cannot create index on foreign table '%s'" SQLSTATE: 42809 CAUSE: "This is an internal error" @@ -7465,12 +6601,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01277: "Not enough index partition defined" -SQLSTATE: 42P17 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01278: "number of partitions of LOCAL index must equal that of the underlying table" SQLSTATE: 42P17 CAUSE: "This is an internal error" @@ -7639,18 +6769,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01306: "can only reindex the currently open database" -SQLSTATE: 0A000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-01307: "Invalid relation to create index partition" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01308: "fail to get index info for index %u" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -7675,18 +6793,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01312: "parameter 'lc_collate' must be specified" -SQLSTATE: 42P17 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-01313: "parameter 'lc_ctype' must be specified" -SQLSTATE: 42P17 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01314: "collation '%s' for encoding '%s' already exists in schema '%s'" SQLSTATE: 42710 CAUSE: "This is an internal error" @@ -7735,12 +6841,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01322: "currval of sequence '%s' is not yet defined in this session" -SQLSTATE: 55000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01323: "lastval is not yet defined in this session" SQLSTATE: 55000 CAUSE: "This is an internal error" @@ -7777,18 +6877,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01329: "START value (%s) cannot be less than MINVALUE (%s)" -SQLSTATE: 22023 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-01330: "START value (%s) cannot be greater than MAXVALUE (%s)" -SQLSTATE: 22023 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01331: "RESTART value (%s) cannot be less than MINVALUE (%s)" SQLSTATE: 22023 CAUSE: "This is an internal error" @@ -7801,12 +6889,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01333: "CACHE (%s) must be greater than zero" -SQLSTATE: 22023 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01334: "invalid OWNED BY option" SQLSTATE: 42601 CAUSE: "This is an internal error" @@ -7837,12 +6919,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01339: "GTM error, could not drop sequence" -SQLSTATE: 08006 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01340: "unrecognized attribute for text search parser: %d" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -7867,24 +6943,12 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01344: "text search parser start method is required" -SQLSTATE: 42P17 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01345: "text search parser gettoken method is required" SQLSTATE: 42P17 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01346: "text search parser end method is required" -SQLSTATE: 42P17 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01347: "text search parser lextypes method is required" SQLSTATE: 42P17 CAUSE: "This is an internal error" @@ -7903,12 +6967,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01350: "text search parser '%s' already exists" -SQLSTATE: 42710 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01351: "cache lookup failed for text search template %u" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -7969,12 +7027,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01361: "text search template '%s' already exists" -SQLSTATE: 42710 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01362: "cache lookup failed for text search configuration %u" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -8041,18 +7093,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01373: "Unexpected EOF on GDS connection '%s' : %m" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-01374: "Unexpected EOF on GDS connection." -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01375: "Bad socket." SQLSTATE: CAUSE: "This is an internal error" @@ -8101,12 +7141,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01384: "INSTEAD OF triggers must be FOR EACH ROW" -SQLSTATE: 0A000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01385: "INSTEAD OF triggers cannot have WHEN conditions" SQLSTATE: 0A000 CAUSE: "This is an internal error" @@ -8299,12 +7333,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01417: "invalid after-trigger event code: %d" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01418: "XC: Could not find the required row position %d for AFTER ROW trigger" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -8317,12 +7345,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01420: "Partition column cannot be updated" -SQLSTATE: 42P10 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01421: "could not obtain lock on relation '%s'" SQLSTATE: 55P03 CAUSE: "This is an internal error" @@ -8467,12 +7489,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01445: "hash procedures must have one argument" -SQLSTATE: 42P17 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01446: "hash procedures must return integer" SQLSTATE: 42P17 CAUSE: "This is an internal error" @@ -8575,12 +7591,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01463: "PerformCursorOpen called for non-cursor query" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01464: "invalid cursor name: must not be empty" SQLSTATE: 34000 CAUSE: "This is an internal error" @@ -8677,12 +7687,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01480: "could not open extension control file '%s': %m" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01481: "parameter '%s' cannot be set in a secondary extension control file" SQLSTATE: 42601 CAUSE: "This is an internal error" @@ -8743,12 +7747,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01491: "extension '%s' already exists" -SQLSTATE: 42710 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01492: "nested CREATE EXTENSION is not supported" SQLSTATE: 0A000 CAUSE: "This is an internal error" @@ -8833,12 +7831,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01506: "extcondition is not a 1-D text array" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01507: "extension name cannot be qualified" SQLSTATE: 42601 CAUSE: "This is an internal error" @@ -8857,24 +7849,12 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01510: "extension should not have a sub-object dependency" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01511: "nested ALTER EXTENSION is not supported" SQLSTATE: 0A000 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01512: "extversion is null" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01513: "%s is already a member of extension '%s'" SQLSTATE: 55000 CAUSE: "This is an internal error" @@ -8893,12 +7873,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01516: "unexpected number of extension dependency records" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01517: "cache lookup failed for extension %u" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -8935,12 +7909,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01523: "subquery is bogus" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01524: "could not find attribute %d in subquery targetlist" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -8953,12 +7921,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01526: "reached empty jointree" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01527: "reached base rel" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -9061,48 +8023,18 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01544: "pool_size is zero" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-01545: "unexpected rtekind: %d" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-01546: "unexpected outer reference in subquery in FROM" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01547: "could not find plan for CTE '%s'" SQLSTATE: XX000 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01548: "unrecognized joinlist node type: %d" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01549: "failed to build any %d-way joins" SQLSTATE: XX000 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01550: "wrong number of tlist entries" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01551: "a join rel requires both the left path and right path" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -9127,18 +8059,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01555: "could not find equality operator for opfamily %u" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-01556: "could not find opfamilies for equality operator %u" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01557: "operator %u is not a valid ordering operator" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -9151,30 +8071,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01559: "too few pathkeys for mergeclauses" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-01560: "outer pathkeys do not match mergeclause" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-01561: "FULL JOIN is only supported with merge-joinable or hash-joinable join conditions" -SQLSTATE: 0A000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-01562: "Interval error for building partitionwise join" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01563: "wrong number of index expressions" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -9187,36 +8083,12 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01565: "unexpected strategy number %d" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01566: "could not find member %d(%u,%u) of opfamily %u" SQLSTATE: XX000 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01567: "could not find commutator of member %d(%u,%u) of opfamily %u" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-01568: "unexpected opfamily: %u" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-01569: "unexpected const type: %u" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01570: "no = operator for opfamily %u" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -9235,24 +8107,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01573: "unexpected operator: %u" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-01574: "no > operator for opfamily %u" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-01575: "no <= operator for opfamily %u" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01576: "unexpected datatype in string_to_const: %u" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -9265,12 +8119,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01578: "cannot handle unplanned sub-select" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01579: "Unrecognised command type %d" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -9313,12 +8161,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01586: "child rel %d not found in append_rel_list" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01587: "cannot access temporary or unlogged relations during recovery" SQLSTATE: 0A000 CAUSE: "This is an internal error" @@ -9361,12 +8203,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01594: "expected a RowCompareExpr" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01595: "unexpected RowCompare type: %d" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -9379,12 +8215,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01597: "too many function arguments" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01598: "function's resolved result type changed during planning" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -9451,12 +8281,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01609: "invalid index oid" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01610: "relation %s is not partitioned" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -9517,30 +8341,12 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01620: "pruning result(PartitionIdentifier) is invalid" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01621: "unsupported partition key column range mode" SQLSTATE: 42P17 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01622: "partition number is overflow." -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-01623: "Unupport partition strategy '%c'" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01624: "Expected TargetEntry node, but got node with type %d" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -9577,12 +8383,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01630: "can not find var with varno = %d and varattno = %d" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01631: "Creating remote query plan for relations of type %d is not supported" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -9613,12 +8413,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01636: "Unsupport to Update/Delete replication table without PRIMARY KEY" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01637: "Duplicate node_ids not expected in source target list" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -9631,12 +8425,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01639: "Duplicate tableOid not expected in source target list" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01640: "cache lookup failed for attribute %s of relation %u" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -9655,18 +8443,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01643: "It is not supported that there are both foreign tables and non-foreign tables in one query." -SQLSTATE: 0A000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-01644: "Not support feature of HDFS" -SQLSTATE: 0A000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01645: "column store doesn't support backward scan" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -9859,12 +8635,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01677: "Only support FOR UPDATE/SHARE in fast query shipping plan for now" -SQLSTATE: 0A000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01678: "Fail to create path for partitioned table by the lack of info" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -9877,18 +8647,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01680: "failed to find relation %d in joinlist" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-01681: "too many range table entries" -SQLSTATE: 54000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01682: "NestLoopParam was not reduced to a simple Var" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -9913,12 +8671,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01686: "Could not find the Aggref node" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01687: "SELECT FOR UPDATE/SHARE cannot be applied to the nullable side of an outer join" SQLSTATE: 0A000 CAUSE: "This is an internal error" @@ -9931,24 +8683,12 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01689: "cannot cope with variable-free clause" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01690: "total datanodes maybe be changed" SQLSTATE: XX000 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01691: "Fail to locate the %d result rel!" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01692: "cannot insert into view '%s'" SQLSTATE: 55000 CAUSE: "This is an internal error" @@ -9967,18 +8707,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01695: "unrecognized CmdType: %d" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-01696: "FDW do not support node type: %d" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01697: "invalid fork name" SQLSTATE: 22023 CAUSE: "This is an internal error" @@ -10003,12 +8731,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01701: "invalid system attribute number %d" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01702: "permission denied to create '%s.%s'" SQLSTATE: 42501 CAUSE: "This is an internal error" @@ -10051,12 +8773,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01709: "Column %s is not modulo distributable data type" -SQLSTATE: 42809 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01710: "Invalid distribution type" SQLSTATE: 42P16 CAUSE: "This is an internal error" @@ -10147,12 +8863,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01726: "cannot use aggregate function in default expression" -SQLSTATE: 42803 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01727: "cannot use window function in default expression" SQLSTATE: 42P20 CAUSE: "This is an internal error" @@ -10231,18 +8941,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01740: "can not create interval partition for NON-PARTITIONED table" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-01741: "can not create interval partition for range partitioned table" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01742: "cannot have more than %d keys in a cluster key" SQLSTATE: 54011 CAUSE: "This is an internal error" @@ -10273,12 +8971,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01747: "only binary operators can merge join" -SQLSTATE: 42P13 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01748: "only binary operators can hash" SQLSTATE: 42P13 CAUSE: "This is an internal error" @@ -10303,12 +8995,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01752: "only boolean operators can merge join" -SQLSTATE: 42P13 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01753: "only boolean operators can hash" SQLSTATE: 42P13 CAUSE: "This is an internal error" @@ -10393,18 +9079,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01769: "could not obtain lock on relation '%s.%s'" -SQLSTATE: 55P03 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-01770: "no schema has been selected to create in" -SQLSTATE: 3F000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01771: "cannot create relations in temporary schemas of other sessions" SQLSTATE: 42P16 CAUSE: "This is an internal error" @@ -10453,12 +9127,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01779: "cannot move objects into or out of TOAST schema" -SQLSTATE: 0A000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01780: "cannot move objects into CSTORE schema" SQLSTATE: 0A000 CAUSE: "This is an internal error" @@ -10555,30 +9223,12 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01796: "role %u was concurrently dropped" -SQLSTATE: 42704 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01797: "tablespace %u was concurrently dropped" SQLSTATE: 42704 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01798: "database %u was concurrently dropped" -SQLSTATE: 42704 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-01799: "unrecognized shared classId: %u" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01800: "unrecognized dependency type: %d" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -10621,12 +9271,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01809: "Invalid path" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01811: "could not access file '%s': %m" SQLSTATE: CAUSE: "This is an internal error" @@ -10777,12 +9421,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01839: "In XC, SQL functions cannot contain view" -SQLSTATE: 42601 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01840: "no conversion name supplied" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -10963,12 +9601,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01874: "unexpected object class %u" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01875: "column number out of range" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -10999,12 +9631,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01880: "cache lookup failed for large object %u" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01881: "cache lookup failed for tablespace %u" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -11029,12 +9655,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01885: "unrecognized AclResult: %d" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01886: "permission denied for column '%s' of relation '%s'" SQLSTATE: 42501 CAUSE: "This is an internal error" @@ -11131,18 +9751,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01902: "operator class with OID %u does not exist" -SQLSTATE: 42704 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-01903: "operator family with OID %u does not exist" -SQLSTATE: 42704 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01904: "text search dictionary with OID %u does not exist" SQLSTATE: 42704 CAUSE: "This is an internal error" @@ -11179,12 +9787,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01910: "constraint %u is not of a known type" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01911: "constraint '%s' for domain %s already exists" SQLSTATE: 42710 CAUSE: "This is an internal error" @@ -11317,18 +9919,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01933: "invalid varlevelsup %d" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-01934: "invalid varno %d" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01935: "already-planned subqueries not supported" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -11365,12 +9955,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01941: "invalid column number %d" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01942: "too few entries in colnames list" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -11479,12 +10063,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01960: "cannot remove dependency on %s because it is a system object" -SQLSTATE: 0A000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01961: "invalid enum label '%s'" SQLSTATE: 42602 CAUSE: "This is an internal error" @@ -11503,12 +10081,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01964: "invalid type internal size %d" -SQLSTATE: 42P17 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01965: "alignment '%c' is invalid for passed-by-value type of size %d" SQLSTATE: 42P17 CAUSE: "This is an internal error" @@ -11527,12 +10099,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01968: "fixed-size types must have storage PLAIN" -SQLSTATE: 42P17 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01969: "cannot assign new OID to existing shell type" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -11587,36 +10153,12 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01978: "archive member '%s' too large for tar format" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01979: "base backup could not send data, aborting backup" SQLSTATE: CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01980: "could not close log file %u, segment %u: %m" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-01981: "could not seek in log file %u, segment %u to offset %u: %m" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-01982: "could not write to log file %u, segment %u at offset %u, length %lu: %m" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01983: "cannot continue WAL streaming, recovery has already ended" SQLSTATE: CAUSE: "This is an internal error" @@ -11701,12 +10243,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-01997: "rm data comand is not from primary,peer_role=%d" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-01999: "could not write to data file %s buffer len %u, length %u: %m" SQLSTATE: CAUSE: "This is an internal error" @@ -11719,18 +10255,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02001: "could not fdatasync data file num %d, fd %d: %m" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02002: "received incorrect data page checksum at: rnode[%u,%u,%u], blocknum[%u], segno[%u], pageoffset[%u], size[%u], queueoffset[%u/%u]" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02004: "could not receive the ongoing mode infomation from the primary server: %s" SQLSTATE: CAUSE: "This is an internal error" @@ -11743,12 +10267,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02006: "the mode of the remote server must be primary, current is %d" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02007: "could not receive database system identifier and timeline ID from the primary server: %s" SQLSTATE: CAUSE: "This is an internal error" @@ -11827,18 +10345,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02020: "terminating walreceiver due to timeout" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02021: "Unexpected seek in the walreceiver buffer. xlogrecptr is (%u:%u) but local xlogptr is (%u:%u)." -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02022: "rm xlog comand is not from primary,peer_role=%d" SQLSTATE: CAUSE: "This is an internal error" @@ -11851,48 +10357,18 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02024: "cannot use a replication slot created for changeset extraction for streaming replication" -SQLSTATE: 55000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02025: "cannot handle changeset extraction yet" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02026: "requested WAL segment %s has already been removed" SQLSTATE: CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02027: "could not open file '%s' (log file %u, segment %u): %m" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02028: "could not read from log file %u, segment %u, offset %u, length %lu: %m" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02030: "%u/%u/%u invalid bcm buffer %u" SQLSTATE: CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02031: "must be system admin or replication role to use replication slots" -SQLSTATE: 42501 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02032: "syntax error: unexpected character '%s'" SQLSTATE: 42601 CAUSE: "This is an internal error" @@ -11917,12 +10393,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02036: "could not rename '%s' to '%s': %m" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02037: "replication slots can only be used if max_replication_slots > 0" SQLSTATE: 55000 CAUSE: "This is an internal error" @@ -11959,18 +10429,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02043: "replication slot file '%s' has wrong magic %u instead of %u" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02044: "replication slot file '%s' has unsupported version %u" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02045: "replication slot file '%s' has corrupted length %u" SQLSTATE: CAUSE: "This is an internal error" @@ -11989,36 +10447,12 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02048: "wal receiver could not connect to the primary server,the connection info :%s : %s" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02049: "could not receive database system version and protocol version from the primary server: %s" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02050: "could not get the local protocal version, make sure the PG_PROTOCOL_VERSION is defined" SQLSTATE: CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02051: "database system version is different between the primary and standby" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02052: "the primary protocal version %s is not the same as the standby protocal version %s." -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02053: "Invalid xlog offset at %X/%X. Please check xlog files or rebuild the primary/standby relationship." SQLSTATE: CAUSE: "This is an internal error" @@ -12121,42 +10555,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02071: "relname for HASH skewTable %u not found" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02072: "relnamespaceOid for HASH skewTable %u not found" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02073: "relnamespace for HASH skewTable %u not found" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02074: "relname for RTE %u not found" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02075: "relnamespaceOid for RTE %u not found" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02076: "relnamespace for RTE %u not found" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02077: "incomplete Bitmapset structure" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -12199,18 +10597,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02084: "NULL relname for HASH skewTable %u found" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02085: "NULL relnamespace for HASH skewTable %u found" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02086: "parseNodeString(): badly formatted node string '%s'..." SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -12229,12 +10615,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02089: "did not find '}' at end of input node" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02090: "unterminated List structure" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -12373,12 +10753,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02113: "type OID %u not found in Typ list" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02114: "type OID %u not found in TypInfo" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -12403,12 +10777,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02118: "Modulo value out of range\n" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02119: "Error: no such supported locator type: %c\n" SQLSTATE: CAUSE: "This is an internal error" @@ -12421,48 +10789,12 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02121: "Failed to find DataNode" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02122: "The buckets number(%d) is not correct." -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02123: "out of memory." -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02124: "Bucket id(%d:%d) out of range." -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02125: "Node(%d) has no buckets on it." SQLSTATE: XX000 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02126: "Buckets distribution is not even(max_buckets: %d, min_buckets: %d)." -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02127: "must be system admin to create cluster node groups" -SQLSTATE: 42501 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02128: "PGXC Group %s: group already defined" SQLSTATE: 42710 CAUSE: "This is an internal error" @@ -12475,12 +10807,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02134: "must be system admin to remove cluster node groups" -SQLSTATE: 42501 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02135: "PGXC Group %s: group not defined" SQLSTATE: 42710 CAUSE: "This is an internal error" @@ -12505,30 +10831,12 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02139: "sctp_port value is out of range" -SQLSTATE: 22003 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02140: "control_port value is out of range" -SQLSTATE: 22003 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02141: "port1 value is out of range" SQLSTATE: 22003 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02142: "sctp_port1 value is out of range" -SQLSTATE: 22003 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02143: "control_port1 value is out of range" SQLSTATE: 22003 CAUSE: "This is an internal error" @@ -12571,18 +10879,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02150: "must be system admin to create cluster nodes" -SQLSTATE: 42501 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02151: "PGXC Node %s: object already defined" -SQLSTATE: 42710 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02152: "Node name '%s' is too long" SQLSTATE: 42P17 CAUSE: "This is an internal error" @@ -12607,12 +10903,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02156: "must be system admin to change cluster nodes" -SQLSTATE: 42501 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02157: "cache lookup failed for object %u" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -12631,66 +10921,18 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02160: "must be system admin to remove cluster nodes" -SQLSTATE: 42501 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02161: "PGXC Node %s: cannot drop local node" SQLSTATE: 42601 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02162: "coordinator cannot identify itself" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02163: "invalid Datanode number: %d, NumDataNodes: %d" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02164: "invalid coordinator number: %d, NumCoords: %d" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02165: "failed to get pooled connections" -SQLSTATE: 53000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02166: "invalid coordinator number: %d,NumCoords: %d" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02167: "Can not connect to pool manager" SQLSTATE: 58030 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02169: "Clean connections not completed" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02172: "Failed to get stream id for stream connection:%s" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02177: "pool manager only supports UNIX socket" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -12751,12 +10993,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02187: "Write to replicated table returned different results from the Datanodes" -SQLSTATE: XX001 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02188: "Unexpected response from the Datanodes for 'T' message, current request type %d" SQLSTATE: XX001 CAUSE: "This is an internal error" @@ -12793,12 +11029,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02194: "Failed to fetch from Datanode %u" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02195: "Unexpected response from Datanode" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -12823,12 +11053,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02199: "Failed to receive message from Datanode %u" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02200: "failed to send PREPARE TRANSACTION command to the node %u" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -12841,30 +11065,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02205: "failed to send COMMIT command to node %u" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02206: "Failed to COMMIT the transaction on one or more nodes" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02207: "unexpected EOF on connection of datanode %u" -SQLSTATE: 08006 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02208: "Unexpected response from the Datanodes when combining, request type %d" -SQLSTATE: XX001 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02209: "Error while running COPY" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -12889,12 +11089,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02213: "Could not begin transaction on primary Datanode %u." -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02214: "Failed to send command to Datanodes" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -12943,42 +11137,12 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02222: "Failed to send command to Datanode %u" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02223: "Could not begin transaction on coordinators" SQLSTATE: XX000 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02224: "Failed to send command to coordinator %u" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02225: "Unexpected response from coordinator %u" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02226: "Failed to close Datanodes statement" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02227: "Failed to commit the transaction on one or more nodes" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02228: "prepared transaction with identifier '%s' does not exist" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -12997,24 +11161,12 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02231: "must be system admin to manage pooler" -SQLSTATE: 42501 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02232: "pgxc_pool_reload cannot run inside a transaction block" SQLSTATE: 25001 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02233: "must be system admin to clean pool connections" -SQLSTATE: 42501 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02234: "must define Database name or user name" SQLSTATE: 42601 CAUSE: "This is an internal error" @@ -13045,12 +11197,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02240: "Failed to receive response from the remote side" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02241: "CREATE BARRIER PREPARE command failed with error %s" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -13063,42 +11209,12 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02243: "CREATE BARRIER command must be sent to a Coordinator" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02244: "CREATE BARRIER command is not expected from another Coordinator" SQLSTATE: XX000 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02245: "SPI stack corrupted" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02246: "SPI_cursor_open_with_args called with invalid arguments" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02247: "SPI_cursor_open_with_args called with missing parameters" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02248: "SPI_cursor_open_with_args called while not connected" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02249: "cannot open multi-query plan as cursor" SQLSTATE: 42P11 CAUSE: "This is an internal error" @@ -13111,12 +11227,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02251: "SPI_cursor_open called while not connected" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02252: "%s is not allowed in a non-volatile function" SQLSTATE: 0A000 CAUSE: "This is an internal error" @@ -13129,30 +11239,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02254: "improper call to spi_dest_startup" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02255: "improper call to spi_printtup" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02256: "consistency check on SPI tuple count failed" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02257: "SPI cursor operation called while not connected" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02258: "Failed to read response from Datanodes. Detail: %s\n" SQLSTATE: CAUSE: "This is an internal error" @@ -13165,12 +11251,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02261: "Fail to generate stream element due to out of memory" -SQLSTATE: 53200 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02262: "Distribute query fail due to duplicate plan id" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -13183,12 +11263,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02264: "unrecognized result from subplan" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02265: "BitmapOr doesn't support zero inputs" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -13201,30 +11275,12 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02267: "could not identify CTID expression" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02268: "invalid operation on partition, allowed are UPDATE/DELETE/SELECT" SQLSTATE: XX000 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02269: "can'nt initialize bitmap index scans using unusable index '%s'" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02270: "can'nt initialize bitmap index scans using unusable local index '%s'" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02271: "could not determine actual type of argument declared %s" SQLSTATE: 42804 CAUSE: "This is an internal error" @@ -13255,12 +11311,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02276: "return type %s is not supported for SQL functions" -SQLSTATE: 42P13 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02277: "mergejoin clause is not an OpExpr" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -13315,18 +11365,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02286: "can'nt initialize index-only scans using unusable index '%s'" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02287: "can'nt initialize index-only scans using unusable local index '%s'" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02288: "could not find hash function for hash operator %u" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -13357,12 +11395,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02293: "cursor '%s' is not positioned on a row" -SQLSTATE: 24000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02294: "cursor '%s' is not a simply updatable scan of table '%s'" SQLSTATE: 24000 CAUSE: "This is an internal error" @@ -13429,12 +11461,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02305: "unexpected end of tuplestore" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02306: "WindowFunc with winref %u assigned to WindowAgg with winref %u" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -13465,12 +11491,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02311: "unrecognized window seek type: %d" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02312: "number of array dimensions (%d) exceeds the maximum allowed (%d)" SQLSTATE: 54000 CAUSE: "This is an internal error" @@ -13483,12 +11503,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02314: "upper and lower index lists are not same length" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02315: "no aggregates in this expression context" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -13519,18 +11533,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02320: "a NULL isNull pointer was passed" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02321: "invalid attribute name" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02322: "attribute '%s' does not exist" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -13591,12 +11593,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02332: "op ANY/ALL (array) does not support set arguments" -SQLSTATE: 42804 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02333: "cannot merge incompatible arrays" SQLSTATE: 42804 CAUSE: "This is an internal error" @@ -13615,12 +11611,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02336: "unrecognized XML operation" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02337: "NULLIF does not support set arguments" SQLSTATE: 42804 CAUSE: "This is an internal error" @@ -13735,12 +11725,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02356: "CTE subplans should not be executed via ExecSetParamPlan" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02357: "direct correlated subquery unsupported as initplan" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -13825,24 +11809,12 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02371: "ctid is NULL" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02372: "tableoid is null when update partitioned table" SQLSTATE: XX000 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02373: "wholerow is NULL" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02374: "could not find junk ctid column" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -13873,12 +11845,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02379: "can'nt initialize index scans using unusable index '%s'" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02380: "indexqual doesn't have key on left side" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -13891,36 +11857,12 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02382: "bogus RowCompare index qualification" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02383: "RowCompare index qualification contains wrong operator" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02384: "NullTest indexqual has wrong key" SQLSTATE: XX000 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02385: "ScalarArrayOpExpr index qual found where not allowed" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02386: "can'nt initialize index scans using unusable local index '%s'" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02387: "unrecognized operation code: %d" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -13933,12 +11875,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02389: "unrecognized markType: %d" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02390: "cannot change sequence '%s'" SQLSTATE: 42809 CAUSE: "This is an internal error" @@ -14035,12 +11971,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02406: "could not find junk %s column" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02407: "t_xmin is uncommitted in tuple to be updated" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -14077,24 +12007,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02413: "could not create exclusion constraint '%s'" -SQLSTATE: 23P01 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02414: "conflicting key value violates exclusion constraint '%s'" -SQLSTATE: 23P01 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02415: "prefetch and main iterators are out of sync" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02416: "unrecognized hashjoin state: %d" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -14107,12 +12019,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02418: "could not write to hash-join temporary file: %m" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02419: "could not read from hash-join temporary file: %m" SQLSTATE: CAUSE: "This is an internal error" @@ -14137,48 +12043,18 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02423: "tableoid is NULL" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02424: "ExecLockRows:target relation cannot be NULL" SQLSTATE: 40001 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02425: "getPartitionFromEState:partId cannot be InvalidOid" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02426: "getPartitionFromEState:partition list is EMPTY" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02427: "getPartitionFromEState:cannot find partition" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02428: "aggregate function %u called as normal function" SQLSTATE: XX000 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02433: "CreateEvent failed: error code %d" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02434: "latch already owned" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -14203,12 +12079,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02438: "ResetEvent failed: error code %lu" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02439: "WaitForMultipleObjects() failed: error code %lu" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -14329,24 +12199,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02459: "failed to release reserved memory region (addr=%p): error code %lu" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02460: "could not reattach to shared memory (key=%p, addr=%p): error code %lu" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02461: "reattaching to shared memory returned unexpected address (got %p, expected %p)" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02462: "reattaching to shared memory returned non-PostgreSQL memory" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -14389,12 +12241,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02469: "could not reattach to shared memory (key=%d, addr=%p): %m" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02470: "could not create semaphore: error code %d" SQLSTATE: CAUSE: "This is an internal error" @@ -14455,12 +12301,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02480: "unexpected out-of-memory situation during sort" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02481: "tuplestore seek to EOF failed" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -14749,12 +12589,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02531: "bogus data in lock file '%s': '%s'" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02532: "lock file '%s' already exists" SQLSTATE: F0001 CAUSE: "This is an internal error" @@ -14857,12 +12691,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02549: "remaining connection slots are reserved for non-replication system admin connections" -SQLSTATE: 53300 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02551: "database %u does not exist" SQLSTATE: 3D000 CAUSE: "This is an internal error" @@ -14875,12 +12703,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02553: "no signal slot avaliable for new thread creation" -SQLSTATE: 53300 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02554: "not able to set up signal action handler" SQLSTATE: 53000 CAUSE: "This is an internal error" @@ -14923,12 +12745,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02562: "access to library '%s' is not allowed" -SQLSTATE: 42501 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02563: "invalid macro name in dynamic library path: %s" SQLSTATE: 42602 CAUSE: "This is an internal error" @@ -14971,18 +12787,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02570: "proargmodes is not a 1-D char array" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02571: "proargnames is not a 1-D text array" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02572: "number of aliases does not match number of columns" SQLSTATE: 42804 CAUSE: "This is an internal error" @@ -15043,12 +12847,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02582: "function %p returned NULL" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02583: "input function %u returned non-NULL" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -15085,36 +12883,12 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02589: "cuslot %d is not owned by resource owner %s" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02590: "buffer %d is not owned by resource owner %s" SQLSTATE: XX000 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02591: "catcache reference %p is not owned by resource owner %s" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02592: "catcache list reference %p is not owned by resource owner %s" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02593: "relcache reference %s is not owned by resource owner %s" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02594: "partcache reference %s is not owned by resource owner %s" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -15127,36 +12901,12 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02596: "plancache reference %p is not owned by resource owner %s" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02597: "tupdesc reference %p is not owned by resource owner %s" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02598: "snapshot reference %p is not owned by resource owner %s" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02599: "temporery file %d is not owned by resource owner %s" SQLSTATE: XX000 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02600: "pthread mutex %p is not owned by resource owner %s" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02601: "invalid source encoding ID: %d" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -15289,30 +13039,12 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02623: "cannot drop active portal '%s'" -SQLSTATE: 24000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02624: "cannot commit while a portal is pinned" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02625: "cannot PREPARE a transaction that has created a cursor WITH HOLD" SQLSTATE: 0A000 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02626: "Error happen when execute memcpy_s" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02627: "invalid memory alloc request size %lu" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -15325,12 +13057,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02629: "could not find block containing chunk %p" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02630: "inserted partition key does not map to any table partition" SQLSTATE: 22003 CAUSE: "This is an internal error" @@ -15355,12 +13081,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02634: "Fail to build partitionmap for realtion'%s'" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02635: "Fail to build partitionmap for partitioned table '%s'" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -15385,24 +13105,12 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02639: "routing algorithm interval partition is error" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02640: "CAN NOT get number of partition against NON-PARTITIONED relation" SQLSTATE: XX000 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02641: "partIDGetPartOid(), invalid input parameters" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02642: "fail to get partition oid, because range partition index is overflow." SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -15445,18 +13153,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02649: "datatype %u cannot serve as a range partitioning" -SQLSTATE: 42804 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02650: "seqence number for interval partition is %d" -SQLSTATE: 22023 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02651: "cache lookup failed for table partition %u" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -15511,24 +13207,12 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02660: "must be system admin to examine '%s'" -SQLSTATE: 42501 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02661: "SET %s takes only one argument" SQLSTATE: 22023 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02662: "unexpected node type: %d" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02663: "unexpected SET TRANSACTION element: %s" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -15637,18 +13321,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02681: "SET ROLE must specify the PASSWORD." -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02682: "SET SESSION_AUTHORIZATION must specify the PASSWORD." -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02684: "md5-password encryption failed" SQLSTATE: CAUSE: "This is an internal error" @@ -15757,12 +13429,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02704: "cache lookup failed for application %u" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02705: "type %s is only a shell" SQLSTATE: 42704 CAUSE: "This is an internal error" @@ -15853,12 +13519,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02720: "maptokentype entries are out of order" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02721: "too many pg_ts_config_map entries for one token type" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -15937,12 +13597,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02734: "could not read relation mapping file '%s': %m" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02735: "relation mapping file '%s' contains invalid data" SQLSTATE: CAUSE: "This is an internal error" @@ -15955,36 +13609,18 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02737: "attempt to write bogus relation mapping" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02738: "could not write to relation mapping file '%s': %m" SQLSTATE: CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02739: "could not fsync relation mapping file '%s': %m" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02740: "could not close relation mapping file '%s': %m" SQLSTATE: CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02741: "relmap_redo: wrong size %u in relmap update record" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02742: "relmap_redo: unknown op code %u" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -16003,12 +13639,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02745: "catalog is missing %d attribute(s) for relid %u" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02746: "relnatts disagrees with indnatts for index %u" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -16075,12 +13705,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02757: "%d constraint record(s) missing for rel %s" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02758: "null cluster key for rel %s" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -16099,12 +13723,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02761: "conexclop is not a 1-D Oid array" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02762: "exclusion constraint record missing for rel %s" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -16177,12 +13795,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02774: "cache plan becomes invalid due to enable_stream_operator changed." -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02775: "cannot move a saved cached plan to another context" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -16231,42 +13843,12 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02783: "encrypt the plain text failed!" -SQLSTATE: 39000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02784: "encode the plain text failed!" -SQLSTATE: 39000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02785: "decode the cipher text failed!" -SQLSTATE: 39000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02786: "decrypt the cipher text failed!" -SQLSTATE: 39000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02787: "could not import the requested snapshot" SQLSTATE: 55000 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02788: "cannot export a snapshot from a subtransaction" -SQLSTATE: 25001 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02789: "could not create file '%s': %m" SQLSTATE: CAUSE: "This is an internal error" @@ -16297,12 +13879,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02794: "invalid snapshot identifier: '%s'" -SQLSTATE: 22023 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02795: "could not stat file '%s': %m" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -16363,12 +13939,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02805: "ts_stat query must return one tsvector column" -SQLSTATE: 22023 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02806: "tsvector_update_trigger: not fired by trigger manager" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -16621,36 +14191,18 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02848: "argument for function 'exp' too big" -SQLSTATE: 22003 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02849: "cannot take logarithm of zero" SQLSTATE: 2201E CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02850: "cannot take logarithm of a negative number" -SQLSTATE: 2201E -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02851: "invalid input syntax for integer: '%s'" SQLSTATE: 22P02 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02852: "value '%s' is out of range for type bigint" -SQLSTATE: 22003 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02853: "OID out of range" SQLSTATE: 22003 CAUSE: "This is an internal error" @@ -16789,24 +14341,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02876: "invalid input syntax for uuid: '%s'" -SQLSTATE: 22P02 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02877: "invalid input syntax for type money: '%s'" -SQLSTATE: 22P02 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02878: "unrecognized range strategy: %d" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02879: "unexpected json parse state: %d" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -16855,12 +14389,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02887: "invalid length in external bit string" -SQLSTATE: 22P03 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02888: "bit string too long for type bit varying(%d)" SQLSTATE: 22001 CAUSE: "This is an internal error" @@ -16873,24 +14401,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02890: "cannot AND bit strings of different sizes" -SQLSTATE: 22026 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02891: "cannot OR bit strings of different sizes" -SQLSTATE: 22026 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02892: "cannot XOR bit strings of different sizes" -SQLSTATE: 22026 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02893: "bit index %d out of valid range (0..%d)" SQLSTATE: 2202E CAUSE: "This is an internal error" @@ -17071,12 +14581,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02923: "invalid input for txid_snapshot: '%s'" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02924: "no active snapshot set" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -17173,24 +14677,12 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02940: "null conppeqop for constraint %u" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02941: "conppeqop is not a 1-D Oid array" SQLSTATE: XX000 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02942: "null conffeqop for constraint %u" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02943: "conffeqop is not a 1-D Oid array" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -17215,12 +14707,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02947: "invalid input syntax for type bytea" -SQLSTATE: 22P02 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02948: "unrecognized bytea_output setting: %d" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -17305,18 +14791,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02962: "argument number is out of range" -SQLSTATE: 22003 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02963: "conversion specifies argument 0, but arguments are numbered from 1" -SQLSTATE: 22023 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02964: "too few arguments for format" SQLSTATE: 22023 CAUSE: "This is an internal error" @@ -17335,18 +14809,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02967: "custom error code must be between -20000 and -20999" -SQLSTATE: P0001 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02968: "ORA %d: %s" -SQLSTATE: P0001 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02969: "invalid Datum pointer" SQLSTATE: 22000 CAUSE: "This is an internal error" @@ -17395,12 +14857,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02977: "%s: expected %d-element float8 array" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02978: "lower and upper bounds must be finite" SQLSTATE: 2201G CAUSE: "This is an internal error" @@ -17449,30 +14905,12 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02986: "must be system admin to read files" -SQLSTATE: 42501 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02987: "requested length cannot be negative" SQLSTATE: 22023 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02988: "must be system admin to get file information" -SQLSTATE: 42501 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-02989: "must be system admin to get directory listings" -SQLSTATE: 42501 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02990: "requested length too large" SQLSTATE: 54000 CAUSE: "This is an internal error" @@ -17485,12 +14923,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-02992: "requested character too large for encoding: %d" -SQLSTATE: 54000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-02993: "TIMESTAMP(%d)%s precision must not be negative" SQLSTATE: 22023 CAUSE: "This is an internal error" @@ -17599,18 +15031,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03011: "unrecognized interval typmod: %d" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-03012: "interval(%d) precision must be between %d and %d" -SQLSTATE: 22023 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03013: "invalid argument for EncodeSpecialTimestamp" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -17683,18 +15103,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03025: "the formate is not correct" -SQLSTATE: 0A000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-03026: "the format of is not correct" -SQLSTATE: 0A000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03027: "the format is not correct!" SQLSTATE: 0A000 CAUSE: "This is an internal error" @@ -17863,12 +15271,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03055: "cannot create bounding box for empty polygon" -SQLSTATE: 22023 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03056: "invalid input syntax for type polygon: '%s'" SQLSTATE: 22P02 CAUSE: "This is an internal error" @@ -18097,12 +15499,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03094: "null array element where not supported" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03095: "invalid number of dimensions: %d" SQLSTATE: 22P03 CAUSE: "This is an internal error" @@ -18133,12 +15529,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03100: "slices of fixed-length arrays not implemented" -SQLSTATE: 0A000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03101: "wrong number of array subscripts" SQLSTATE: 2202E CAUSE: "This is an internal error" @@ -18187,12 +15577,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03109: "cannot compare arrays of different element types" -SQLSTATE: 42804 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03110: "invalid arguments to array_create_iterator" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -18301,12 +15685,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03128: "type %s is not a domain" -SQLSTATE: 42804 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03129: "typmod array must be type cstring[]" SQLSTATE: 2202E CAUSE: "This is an internal error" @@ -18343,12 +15721,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03135: "invalid mode character: must be one of '%s'" -SQLSTATE: 22P02 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03136: "a name must follow the '/' sign" SQLSTATE: 22P02 CAUSE: "This is an internal error" @@ -18457,18 +15829,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03154: "gin_extract_tsvector requires three arguments" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-03155: "gin_extract_tsquery requires seven arguments" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03156: "gin_tsquery_consistent requires eight arguments" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -18493,12 +15853,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03160: "no function provided to release variable stats with" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03161: "found unexpected null value in index '%s'" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -18835,12 +16189,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03217: "invalid tsquery: operand too long" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03218: "invalid tsquery: total operand length exceeded" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -18853,12 +16201,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03220: "invalid pointer to right operand" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03221: "cannot accept a value of type any" SQLSTATE: 0A000 CAUSE: "This is an internal error" @@ -19015,12 +16357,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03247: "invalid argument for EncodeSpecialDate" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03248: "cannot subtract infinite dates" SQLSTATE: 22008 CAUSE: "This is an internal error" @@ -19111,12 +16447,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03263: "unexpected tgtype value: %d" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03264: "tgargs is null for trigger %u" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -19189,18 +16519,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03276: "improper type oid: '%u'" -SQLSTATE: 42601 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-03277: "Invalid table column definition." -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03278: "Invalid distribution type" SQLSTATE: 42P16 CAUSE: "This is an internal error" @@ -19351,12 +16669,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03303: "cannot execute %s in a locked cluster" -SQLSTATE: 25006 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03304: "word is too long (%ld bytes, max %ld bytes)" SQLSTATE: 54000 CAUSE: "This is an internal error" @@ -19393,12 +16705,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03310: "unexpected number of tsvector positions" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03311: "position information is misordered" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -19555,12 +16861,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03337: "could not register XML namespace with name '%s' and URI '%s'" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03338: "LIKE pattern must not end with escape character" SQLSTATE: 22025 CAUSE: "This is an internal error" @@ -19597,12 +16897,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03344: "cannot use 'V' and decimal point together" -SQLSTATE: 42601 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03345: "cannot use 'S' twice" SQLSTATE: 42601 CAUSE: "This is an internal error" @@ -19891,12 +17185,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03393: "this is a test." -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03394: "must be system admin or have the same role to terminate other backend" SQLSTATE: 42501 CAUSE: "This is an internal error" @@ -19939,24 +17227,12 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03401: "hash index has active scan during VACUUM" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03402: "hash_redo: unimplemented" SQLSTATE: XX000 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03403: "hashmerge: unimplemented" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03404: "index row size %lu exceeds hash maximum %lu" SQLSTATE: 54000 CAUSE: "This is an internal error" @@ -20065,12 +17341,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03422: "hash scan list trashed; cannot find 0x%p" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03423: "lost saved point in index" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -20143,24 +17413,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03435: "gin_redo: unknown op code %u" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-03436: "gin_desc: unknown op code %u" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-03437: "ginContinueSplit: left block %u not found" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03438: "ginarrayextract requires three arguments" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -20173,12 +17425,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03440: "ginarrayconsistent: unknown strategy number: %d" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03441: "column is not in index" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -20209,48 +17455,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03446: "Can not start prepare transaction to GTM" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-03447: "Can not prepare transaction to GTM" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-03448: "init of workload mgr was not successful." -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-03449: "Workload Manager reserving memory no connection" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-03450: "Workload Manager releasing memory no connection" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-03451: "Sync Resource Pool to GTM failed due to connection error.." -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-03452: "Initialize Resource Pool to GTM failed due to connection error.." -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03453: "Xid is invalid." SQLSTATE: CAUSE: "This is an internal error" @@ -20263,12 +17467,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03455: "cannot have more than 2^32-1 commands in a transaction" -SQLSTATE: 54000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03456: "cannot commit a transaction that deleted files but has no xid" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -20431,12 +17629,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03484: "WAL contains references to invalid pages" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03485: "cannot assign TransactionIds during recovery" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -20455,30 +17647,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03488: "Local Xid larger than GTM Xid. database is not accepting commands with oldestxid: %lu, gxid: %lu, nextXid: %lu" -SQLSTATE: 54000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-03489: "Xid wraparound might have already happened. database is not accepting commands on database with OID %u" -SQLSTATE: 54000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-03490: "database is not accepting commands to avoid wraparound data loss in database '%s'" -SQLSTATE: 54000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-03491: "database is not accepting commands to avoid wraparound data loss in database with OID %u" -SQLSTATE: 54000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03492: "cannot assign OIDs during recovery" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -20509,24 +17677,12 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03497: "Must be system admin to switch transaction log files." -SQLSTATE: 42501 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03498: "recovery is in progress" SQLSTATE: 55000 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03499: "Must be system admin to create a restore point." -SQLSTATE: 42501 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03500: "WAL level not sufficient for creating a restore point" SQLSTATE: 55000 CAUSE: "This is an internal error" @@ -20545,12 +17701,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03503: "Must be system admin to control recovery." -SQLSTATE: 42501 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03504: "recovery is not in progress" SQLSTATE: 55000 CAUSE: "This is an internal error" @@ -20563,12 +17713,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03506: "xrecoff '%X' is out of valid range, 0..%X" -SQLSTATE: 22023 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03507: "could not access status of transaction %lu" SQLSTATE: CAUSE: "This is an internal error" @@ -20587,24 +17731,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03510: "invalid xlog info mask %02X" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-03511: "can backup at most %d blocks per xlog record" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-03512: "invalid xlog record length %u" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03513: "xlog write request %X/%X is past end of log %X/%X" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -20653,18 +17779,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03521: "failed to restore block_index %d" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-03522: "invalid record offset at %X/%X" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03523: "syntax error in history file: %s" SQLSTATE: CAUSE: "This is an internal error" @@ -20683,12 +17797,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03526: "could not link file '%s' to '%s': %m" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03527: "sizeof(ControlFileData) is larger than PG_CONTROL_SIZE; fix either one" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -20791,12 +17899,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03544: "recovery command file '%s' must specify restore_command when standby mode is not enabled" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03545: "recovery target timeline %u does not exist" SQLSTATE: CAUSE: "This is an internal error" @@ -20809,12 +17911,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03547: "hot standby is not possible because wal_level was not set to 'hot_standby' on the master server" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03548: "control file contains invalid data" SQLSTATE: CAUSE: "This is an internal error" @@ -20869,12 +17965,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03557: "there are some received xlog have not been redo" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03558: "requested recovery stop point is before consistent recovery point" SQLSTATE: CAUSE: "This is an internal error" @@ -20929,30 +18019,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03567: "could not fsync log file %u, segment %u: %m" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-03568: "could not fsync write-through log file %u, segment %u: %m" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-03569: "could not fdatasync log file %u, segment %u: %m" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-03570: "must be system admin or replication role to run a backup" -SQLSTATE: 42501 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03571: "WAL level not sufficient for making an online backup" SQLSTATE: 55000 CAUSE: "This is an internal error" @@ -21067,12 +18133,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03590: "failed to find %p in GlobalTransaction array" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03591: "failed to find GlobalTransaction for xid %lu" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -21085,36 +18145,18 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03593: "could not create two-phase state file '%s': %m" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03594: "could not write two-phase state file: %m" SQLSTATE: CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03595: "could not seek in two-phase state file: %m" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03596: "could not close two-phase state file: %m" SQLSTATE: CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03597: "two-phase state file for transaction %lu is corrupt" -SQLSTATE: XX001 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03598: "could not recreate two-phase state file '%s': %m" SQLSTATE: CAUSE: "This is an internal error" @@ -21127,24 +18169,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03600: "could not open two-phase state file '%s': %m" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-03601: "could not fsync two-phase state file '%s': %m" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-03602: "could not close two-phase state file '%s': %m" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03603: "number of index columns (%d) exceeds limit (%d)" SQLSTATE: 54011 CAUSE: "This is an internal error" @@ -21331,12 +18355,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03634: "version mismatch in index '%s': file version %d, code version %d" -SQLSTATE: XX002 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03635: "no live root page found in index '%s'" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -21451,12 +18469,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03654: "failed to add new item to the left sibling while splitting block %u of index '%s'" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03655: "failed to add new item to the right sibling while splitting block %u of index '%s'" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -21535,18 +18547,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03668: "btree_xlog_delete_get_latestRemovedXid: cannot operate with inconsistent data" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-03669: "btree_redo: unknown op code %u" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03670: "btree_xlog_cleanup: left block unfound" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -21613,42 +18613,18 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03681: "could not seek temporary file: %m" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-03682: "could not read temporary file: %m" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03683: "invalid value for 'buffering' option" SQLSTATE: 22023 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03684: "no parent buffer provided of child %d" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03685: "failed to re-find parent for block %u" SQLSTATE: XX000 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03686: "could not find parent of block %d in lookup table" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03687: "gistmerge: unimplemented" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -21661,12 +18637,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03689: "gist_redo: unknown op code %u" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03690: "GiST does not support mark/restore" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -21883,18 +18853,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03726: "wrong heap buffer passed to visibilitymap_set" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-03727: "wrong buffer passed to visibilitymap_set" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03728: "found toasted toast chunk for toast value %u in %s" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -21931,18 +18889,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03734: "unexpected chunk size %d (expected %d) in chunk %d of %d for toast value %u in %s when fetching slice" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-03735: "unexpected chunk size %d (expected %d) in final chunk %d for toast value %u in %s when fetching slice" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03736: "could not open relation with OID %u" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -21955,12 +18901,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03738: "attempted to delete invisible tuple" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03739: "tuple already updated by self" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -22069,18 +19009,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03757: "heap_redo: unknown op code %u" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-03758: "heap2_redo: unknown op code %u" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03759: "relation '%s' is not table or index" SQLSTATE: CAUSE: "This is an internal error" @@ -22123,24 +19051,12 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03766: "Unsupported data type in CStore" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03767: "This query is not supported by optimizer in CStore" SQLSTATE: XX000 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03769: "Invalid partition value cache record" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03770: "read incomplete record from partition value cache." SQLSTATE: CAUSE: "This is an internal error" @@ -22159,12 +19075,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03773: "unsupported data type length %d" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03774: "Column store don't support" SQLSTATE: CAUSE: "This is an internal error" @@ -22195,24 +19105,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03782: "the CU data file of column %d of relation %s contains incorrect checksum" -SQLSTATE: XX001 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-03783: "value is too long" -SQLSTATE: 54000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-03784: "unexpected varno %d in JOIN RTE %d" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03785: "WITH query name '%s' appears in both a rule action and the query being rewritten" SQLSTATE: 0A000 CAUSE: "This is an internal error" @@ -22249,12 +19141,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03791: "cannot handle qualified ON SELECT rule" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03792: "cannot handle per-attribute ON SELECT rule" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -22291,12 +19177,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03798: "multi-statement DO INSTEAD rules are not supported for data-modifying statements in WITH" -SQLSTATE: 0A000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03799: "cannot perform INSERT RETURNING on relation '%s'" SQLSTATE: 0A000 CAUSE: "This is an internal error" @@ -22537,18 +19417,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03839: "Unimplemented vector node %d" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-03840: "vector iterator is expected" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03841: "vector scan for VecMarkPos is not yet implemented " SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -22561,12 +19429,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03843: "unrecognized node type: %d in function ExecVecMarkPos" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03844: "vector scan for VecRestrPos is not yet implemented " SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -22579,18 +19441,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03846: "unrecognized node type: %d in ExecRestrPos" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-03847: "the length of variable length data storage manger is beyond the high threshold." -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03848: "Not support pushing predicate with none-const external param" SQLSTATE: 0A000 CAUSE: "This is an internal error" @@ -22621,30 +19471,12 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03855: "only support default window clause" -SQLSTATE: 0A000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-03856: "window vector aggregation is not yet implemented" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03857: "Unsupported window function %s in vector engine" SQLSTATE: XX000 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03858: "Unsupported window function %d in vector engine" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03860: "Un-support CHECK constraint" SQLSTATE: CAUSE: "This is an internal error" @@ -22753,18 +19585,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03884: "mem_percent is not supported currently!" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-03887: "cpu_affinity is not supported currently!" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03888: "redundant options" SQLSTATE: CAUSE: "This is an internal error" @@ -22789,12 +19609,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03898: "act_statements must be positive" -SQLSTATE: 22003 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03899: "read workload_gpname failed." SQLSTATE: CAUSE: "This is an internal error" @@ -22807,30 +19621,12 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03902: "must be system admin to create resource pool" -SQLSTATE: 42501 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03903: "Resource Pool '%s': object already defined" SQLSTATE: 42710 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03904: "Pool name '%s' is too long" -SQLSTATE: 42P17 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-03905: "must be system admin to change resource pools" -SQLSTATE: 42501 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03906: "Can not alter default_pool" SQLSTATE: CAUSE: "This is an internal error" @@ -22843,12 +19639,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03908: "must be system admin to remove resource pools" -SQLSTATE: 42501 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03909: "Can not drop default_pool" SQLSTATE: CAUSE: "This is an internal error" @@ -22861,24 +19651,12 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03911: "must be system admin to create workload group" -SQLSTATE: 42501 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03912: "Workload Group '%s': object already defined" SQLSTATE: 42710 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03914: "must be system admin to change workload groups" -SQLSTATE: 42501 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03915: "Can not alter default_group" SQLSTATE: CAUSE: "This is an internal error" @@ -22963,18 +19741,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03930: "Sync Resource Pool(%s) To GTM failed due to initialization on GTM failed. sync type: %d, result: %d." -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-03931: "Sync Resource Pool(%s) To GTM failed. sync type: %d, result: %d." -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03935: "user mapping not found for '%s'" SQLSTATE: 42704 CAUSE: "This is an internal error" @@ -22993,12 +19759,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03939: "could not open thesaurus file '%s': %m" -SQLSTATE: F0000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03940: "unexpected delimiter" SQLSTATE: F0000 CAUSE: "This is an internal error" @@ -23011,30 +19771,12 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03942: "unrecognized thesaurus state: %d" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03943: "unexpected end of line" SQLSTATE: F0000 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03944: "thesaurus sample word '%s' isn't recognized by subdictionary (rule %d)" -SQLSTATE: F0000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-03945: "thesaurus sample word '%s' is a stop word (rule %d)" -SQLSTATE: F0000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03946: "thesaurus substitute word '%s' is a stop word (rule %d)" SQLSTATE: F0000 CAUSE: "This is an internal error" @@ -23095,12 +19837,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03956: "could not open stop-word file '%s': %m" -SQLSTATE: F0000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03957: "text search parser does not support headline creation" SQLSTATE: 0A000 CAUSE: "This is an internal error" @@ -23125,12 +19861,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03961: "could not open synonym file '%s': %m" -SQLSTATE: F0000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03962: "multiple AffFile parameters" SQLSTATE: 22023 CAUSE: "This is an internal error" @@ -23173,18 +19903,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03969: "unrecognized regis node type: %d" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-03970: "could not open dictionary file '%s': %m" -SQLSTATE: F0000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03971: "syntax error" SQLSTATE: F0000 CAUSE: "This is an internal error" @@ -23197,30 +19915,12 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03973: "multibyte flag character is not allowed" -SQLSTATE: F0000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03974: "could not open affix file '%s': %m" SQLSTATE: F0000 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03975: "Ispell dictionary supports only default flag value" -SQLSTATE: F0000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-03976: "wrong affix file format for flag" -SQLSTATE: F0000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03977: "multiple Accept parameters" SQLSTATE: 22023 CAUSE: "This is an internal error" @@ -23299,12 +19999,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-03990: "LOCATION is required for GSMPPDB foreign tables" -SQLSTATE: 42601 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-03993: "location '%s' is invalid" SQLSTATE: 42601 CAUSE: "This is an internal error" @@ -23347,12 +20041,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04000: "Rescan for bulkload is not implemented" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04001: "invalid option '%s'" SQLSTATE: HV00D CAUSE: "This is an internal error" @@ -23581,12 +20269,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04046: "GSSAPI is not supported in protocol version 2" -SQLSTATE: 0A000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04047: "SSPI is not supported in protocol version 2" SQLSTATE: 0A000 CAUSE: "This is an internal error" @@ -23599,12 +20281,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04049: "DH: generating parameters (%d bits) failed" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04050: "malloc failed" SQLSTATE: CAUSE: "This is an internal error" @@ -23629,24 +20305,12 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04054: "could not create SSL context (tlsv1.0): %s.)" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04055: "could not load server certificate file '%s': %s" SQLSTATE: F0000 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04056: "could not access private key file '%s': %m" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04057: "private key file '%s' has group or world access" SQLSTATE: F0000 CAUSE: "This is an internal error" @@ -23665,12 +20329,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04060: "Failed to set the DH callback: %d\n" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04061: "could not load the ca certificate file" SQLSTATE: CAUSE: "This is an internal error" @@ -23689,30 +20347,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04064: "could not set verify:%s\n" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04065: "failed to set verify depth:%s\n" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04066: "set the list of root certs failed list file: %s" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04067: "Failed to set the password: %s" -SQLSTATE: F0000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04068: "cipher file '%s' has group or world access" SQLSTATE: F0000 CAUSE: "This is an internal error" @@ -23767,12 +20401,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04077: "unrecognized return value from HeapTupleSatisfiesVacuum: %u" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04078: "deadlock seems to have disappeared" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -23803,12 +20431,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04083: "all AuxiliaryProcs are in use" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04084: "could not set timer for process wakeup" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -23827,18 +20449,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04087: "stuck spinlock (%p) detected at %s:%d" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04088: "unrecognized lock method: %d" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04089: "unrecognized lock mode: %d" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -23911,12 +20521,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04101: "no more LWLockIds available" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04102: "too many LWLocks taken" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -23929,18 +20533,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04104: "lock %d is not held" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04105: "invalid FSM request size %lu" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04107: "invalid flags: %d" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -23971,42 +20563,12 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04112: "large object %u was already dropped" -SQLSTATE: 42704 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04113: "no empty local buffer available" SQLSTATE: 53000 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04114: "local buffer hash table corrupted" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04115: "block %u of %s is still referenced (local %u)" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04116: "could not initialize local buffer hash table" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04117: "shared buffer hash table corrupted" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04118: "cannot access temporary tables of other sessions" SQLSTATE: 0A000 CAUSE: "This is an internal error" @@ -24019,12 +20581,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04120: "invalid page header in block %u of relation %s" -SQLSTATE: XX001 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04121: "buffer is pinned in InvalidateBuffer" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -24091,18 +20647,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04132: "magic is not matched, maybe data has corrupted" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04133: "CU size error, %d in CU descriptor but %ld in CU header" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04134: "memory is not enough during decompressing CU for integer type %d" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -24145,18 +20689,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04143: "corrupted item pointer: %u" -SQLSTATE: XX001 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04144: "corrupted item lengths: total %u, available space %u" -SQLSTATE: XX001 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04145: "invalid index offnum: %u" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -24169,54 +20701,18 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04147: "incorrect index offsets supplied" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04148: "no free slots in PMChildFlags array" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04149: "canceling statement due to conflict with recovery" SQLSTATE: 40001 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04150: "standby_redo: unknown op code %u" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04151: "KnownAssignedXids is not empty" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04152: "GTM error, could not obtain snapshot" SQLSTATE: 08006 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04154: "out-of-order XID insertion in KnownAssignedXids" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04155: "too many KnownAssignedXids" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04156: "should be attached to shared memory already" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -24265,12 +20761,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04164: "requested shared memory size overflows size_t" -SQLSTATE: 54000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04165: "could not initialize shared file id hash table" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -24295,18 +20785,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04169: "could not create temporary cache file '%s': %m" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04170: "could not create temporary file '%s': %m" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04171: "temporary file size exceeds temp_file_limit (%dkB)" SQLSTATE: 53400 CAUSE: "This is an internal error" @@ -24415,12 +20893,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04192: "could not open file '%s' (target block %u): %m" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04193: "could not seek to end of file '%s': %m" SQLSTATE: CAUSE: "This is an internal error" @@ -24451,18 +20923,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04198: "unrecognized portal strategy: %d" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04199: "cursor can only scan forward" -SQLSTATE: 55000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04200: "unsupported portal strategy: %d" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -24493,12 +20953,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04205: "current transaction is aborted, commands ignored until end of transaction block" -SQLSTATE: 25P02 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04206: "function call message contains %d arguments but function requires %d" SQLSTATE: 08P01 CAUSE: "This is an internal error" @@ -24517,12 +20971,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04209: "invalid frontend message type %d" -SQLSTATE: 08P01 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04210: "could not set timer for session timeout" SQLSTATE: 58000 CAUSE: "This is an internal error" @@ -24535,18 +20983,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04212: "workload manager reserving memory [%d MB] unsuccessful for query: '%s'. reason: Memory is not enough." -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04213: "workload manager reserving memory [%d MB] unsuccessful for query: '%s'. reason: Reserve Memory Timeout." -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04214: "bind message has %d parameter formats but %d parameters" SQLSTATE: 08P01 CAUSE: "This is an internal error" @@ -24559,12 +20995,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04216: "unnamed prepared statement does not exist" -SQLSTATE: 26000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04217: "bind message supplies %d parameters, but prepared statement '%s' requires %d" SQLSTATE: 08P01 CAUSE: "This is an internal error" @@ -24625,18 +21055,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04227: "canceling authentication due to timeout" -SQLSTATE: 57014 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04228: "canceling statement due to statement timeout" -SQLSTATE: 57014 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04229: "canceling autovacuum task" SQLSTATE: 57014 CAUSE: "This is an internal error" @@ -24667,12 +21085,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04234: "Postgres-XC: must start as either a Coordinator (--coordinator) or Datanode (-datanode)\n" -SQLSTATE: 42601 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04235: "invalid command-line argument for server process: %s" SQLSTATE: 42601 CAUSE: "This is an internal error" @@ -24739,12 +21151,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04246: "SAVEPOINT is not yet supported." -SQLSTATE: 54001 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04247: "non-DECLARE CURSOR PlannedStmt passed to ProcessUtility" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -24793,12 +21199,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04256: "must be system admin to do CHECKPOINT" -SQLSTATE: 42501 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04257: "DROP not supported for TEMP and non-TEMP objects" SQLSTATE: 0A000 CAUSE: "This is an internal error" @@ -24811,12 +21211,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04259: "Distribute query fail due to duplicate plan id when register consumer socket" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04260: "Failed to send snapshot to Datanode %u" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -24829,18 +21223,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04262: "Failed to send snapshot to coordinator %u" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04263: "Failed to send queryid to coordinator %u" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04264: "catchup thread is online, wait it shutdown" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -24865,12 +21247,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04268: "GiST page split into too many halves" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04270: "PER NODE REJECT LIMIT must be greater than 0" SQLSTATE: 42601 CAUSE: "This is an internal error" @@ -24937,18 +21313,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04281: "Execute command %s fail: %m" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04282: "Execute command %s fail : %m" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04283: "pg_largeobject entry for OID %u, page %d has invalid data field size %d" SQLSTATE: XX001 CAUSE: "This is an internal error" @@ -24979,18 +21343,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04288: "partition index '%s' does not exist" -SQLSTATE: 42710 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04289: "%s cannot be executed from VACUUM or ANALYZE" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04290: "length of field '%s' longer than limit of \'%d\'" SQLSTATE: 22P04 CAUSE: "This is an internal error" @@ -25057,120 +21409,18 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04301: "sctp no socket created for listening" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04302: "init sctp for stream failed, maybe sctp port already in use" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04303: "init license manager failed" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04304: "active license manager failed" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04305: "set basic info of sctp failed!" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04306: "init receivers of sctp failed!" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04307: "init senders of sctp failed!" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04308: "%s: could not locate bin path" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04309: "Datanode number is over license authorization [%d], please check your config file." -SQLSTATE: 42601 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04310: "License is unavailable, please reintall or upgrade it." -SQLSTATE: 42601 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04311: "can't get old group members." -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04312: "new node group contains more nodes than old group." -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04313: "can't get old group buckets." SQLSTATE: CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04314: "new node group contains nodes not in old group." -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04315: "duplicated node names are in node list!" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04316: "there are already two node groups. No more node groups can be added!" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04317: "get old group members failed." -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04318: "new node group must contain different number of nodes with before!" SQLSTATE: XX000 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04319: "Can't stop query on some data nodes" -SQLSTATE: 57014 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04320: "Failed to receive GTM commit transaction response." SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -25183,84 +21433,24 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04322: "Parallel Function: No Datanode defined in cluster" -SQLSTATE: 42704 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04323: "Parallel Function: Could not begin transaction on Datanodes" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04324: "Parallel Function: Failed to send snapshot to Datanode %u" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04325: "Parallel Function: Failed to send command to Datanode %u" SQLSTATE: XX000 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04326: "Parallel Function: Failed to read response from Datanodes Detail: %s\n" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04327: "Parallel Function: Failed to read response from Datanode" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04328: "Parallel Function: Unexpected response from Datanode %u" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04329: "pooler: Failed to create agent, number of agent reaches MaxConnections: %d" -SQLSTATE: 53300 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04330: "pooler: Failed to send SIGTERM to postgres thread:%lu in PoolManagerAbortTransactions(), failed: %m" SQLSTATE: XX000 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04331: "pooler: invalid command_type: %d" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04332: "pooler: Failed to call acquire_connection(), invalid return value: %d" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04333: "pooler: invalid cn/dn node number, input cn: %d, dn: %d; current cn: %d, dn: %d" SQLSTATE: 08006 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04334: "pooler: failed to acquire connection from datanode %u for thread %lu" -SQLSTATE: 08006 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04335: "pooler: Communication failure, failed to send session commands or invalid incoming data." SQLSTATE: 08000 CAUSE: "This is an internal error" @@ -25273,48 +21463,18 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04337: "pooler: failed to acquire connection from coordinator %u for thread %lu" -SQLSTATE: 08006 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04338: "Distribute Query unable to connect %s:%d, %s. Detail: %s" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04339: "pooler: Failed to reset agent!" SQLSTATE: XX000 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04340: "role '%s' is being used by other users" -SQLSTATE: 55006 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04341: "relation %d not find col %d" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04342: "concurrent update under Stream mode is not yet supported" SQLSTATE: 0A000 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04343: "The registerName %s does not exist!" -SQLSTATE: 42704 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04344: "cannot read results" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -25327,30 +21487,12 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04346: "Unsupport clause type for informational constraint." -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04347: "Function with OID %u dose not exist." -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04348: "%s is redistributing, please retry later." SQLSTATE: 0A000 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04349: "Initialize read&write lock failed." -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04350: "duplicated URL '%s' in LOCATION" SQLSTATE: CAUSE: "This is an internal error" @@ -25375,12 +21517,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04354: "ON COMMIT only support PRESERVE ROWS option" -SQLSTATE: 42P16 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04355: "internal error, rename partitioned table failed" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -25393,24 +21529,12 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04357: "internal error, rename partition index failed" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04358: "statistics percent valid value is between 0 and 100" SQLSTATE: 22023 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04359: "PSort %u should depend on only one index relation but not %lu." -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04360: "Partition cache lookup failed for index partition %u" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -25423,24 +21547,12 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04362: "Invalid Oid" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04363: "unsupported type %d" SQLSTATE: XX000 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04364: "not support a non temp function has temp object include in its definition." -SQLSTATE: 0A000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04365: "The expiration time could not be earlier than the starting time." SQLSTATE: CAUSE: "This is an internal error" @@ -25465,18 +21577,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04369: "Multiple primary keys for foreign table '%s' are not allowed." -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04370: "Constraint '%s' already exists." -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04371: "Invalid value for tablespace maxsize: '%s'" SQLSTATE: 22023 CAUSE: "This is an internal error" @@ -25537,30 +21637,12 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04381: "detected write past chunk end in %s %p" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04382: "Error happen when execute memcpy_s:%d" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04383: "Bucketmap is NULL" SQLSTATE: CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04384: "invalid thread id: 0" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04385: "invalid name of memory context: NULL or ''" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -25579,12 +21661,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04389: "Failed to initialze multi-threads for LLVM." -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04390: "Failed to initialze NativeTarget for LLVM." SQLSTATE: CAUSE: "This is an internal error" @@ -25603,12 +21679,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04393: "Invalid type %d" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04400: "Include identical distribution column '%s'" SQLSTATE: 42P16 CAUSE: "This is an internal error" @@ -25621,12 +21691,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04402: "Path can not include whitespace" -SQLSTATE: 22023 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04403: "Can only access temp objects of the current session." SQLSTATE: 0A000 CAUSE: "This is an internal error" @@ -25645,12 +21709,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04406: "internal relation doesn't allow DELETE" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04407: "Not allowed to insert into relation pg_auth_history." SQLSTATE: CAUSE: "This is an internal error" @@ -25663,36 +21721,12 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04409: "Only the primary key, unique, not null and null will be supported." -SQLSTATE: 0A000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04410: "Only 'NOT ENFORCED' clause is supported for HDFS foreign table informational constraint." -SQLSTATE: 0A000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04411: "Multi-column combined informational constraint is forbidden." SQLSTATE: 0A000 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04412: "unrecognized node type %d" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04413: "temp relation '%s' is invalid, try 'DROP SCHEMA %s, %s CASCADE' to clean tmep object manually." -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04414: "The number of %s distribute key can not exceed 1" SQLSTATE: 42601 CAUSE: "This is an internal error" @@ -25705,12 +21739,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04416: "GROUP BY position is not supported in multiple-column update clause" -SQLSTATE: 42601 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04417: "Alias '%s' reference with window function included is not supported." SQLSTATE: 42703 CAUSE: "This is an internal error" @@ -25729,12 +21757,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04420: "invalid crc on secondary standby: has xlog" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04421: "standby_rec=%x/%x standby latest record's crc %u and primary corresponding record's crc %u not matched" SQLSTATE: CAUSE: "This is an internal error" @@ -25789,12 +21811,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04431: "number of registers mismatch: %zu != %zu" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04432: "invalid set size for BipartiteMatch" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -25873,24 +21889,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04445: "Failed to read vector response from Datanodes Detail: %s\n" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04446: "unsupported batch compress type" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04447: "failed to startup stream thread, NodeName: %s, key(%u, %u)" -SQLSTATE: 58000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04448: "Distribute query failed due to duplicate query id" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -25921,90 +21919,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04453: "build global dfs connect cache hash table failed" -SQLSTATE: 42704 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04454: "Login failed, check your principal and keytab." -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04455: "Failed to remove external directory '%s', because files exist in the directory." -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04456: "could not initialize DFS connector hash table" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04457: "Cann't get proper HdfsUser." -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04458: "krb5 is not thread safe, add thread safe option to re-compile krb5" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04459: "unknow option %d" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04460: "Failed to get the value of '%s' from confige file." -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04461: "The number of HDFS namenode must be less than or equal to 2." -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04462: "Failed to get address from confige file." -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04464: "invalid User, user is null" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04465: "invalid cfgPath which can not be null on security mode." -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04466: "invalid connection information" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04467: "failed to do an authentication for hdfs server" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04468: "corrupt during reset shared hash table '%s'" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -26017,12 +21931,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04470: "sorry, too many clients already, active/non-active: %d/%d." -SQLSTATE: 53300 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04471: "fallocate(fd=%d, amount=%d, offset=%ld),write count(%d), errno(%d), maybe you use adio without XFS filesystem, if you really want do this,please turn off GUC parameter enable_fast_allocate" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -26035,66 +21943,30 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04473: "io_submit() sync read failed %d" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04474: "FileAsyncWrite, file access failed %d" SQLSTATE: XX000 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04475: "io_submit() sync write failed %d" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04476: "FileAccess() FAILED %d" SQLSTATE: XX000 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04477: "io_submit() sync cu read failed %d" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04478: "io_submit() sync cu write failed %d" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04479: "fallocate(fd=%d, amount=%u, offset=%u),write count(%d), errno(%d), maybe you use adio without XFS filesystem, if you really want do this,please turn off GUC parameter enable_fast_allocate" SQLSTATE: XX000 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04480: "PageListPrefetch: Cannot allocate memory" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04481: "Require scratch buflist to reorder writes." SQLSTATE: XX000 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04482: "PageListBackWrite: Cannot allocate memory" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04483: "CheckIOState, find an error in async write" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -26113,54 +21985,12 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04486: "No free CUs!" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04487: "DataBlockCompleteIO! slotId(%d), m_flag(%d)" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04488: "read file '%s' failed, offset(%lu), size(%d), maybe you should upgrade cstore data files first" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04489: "could not read file '%s', offset(%lu), size(%d): %m" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04490: "sorry, too many statements are active now." -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04491: "could not find resource pool '%d' in global hash table." -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04492: "redundant options." SQLSTATE: CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04493: "active_statements value can't be %ld." -SQLSTATE: 22003 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04494: "max_dop value can't be %ld." SQLSTATE: 22003 CAUSE: "This is an internal error" @@ -26179,42 +22009,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04497: "memory_limit size value must be less than max_process_memory(%dGB)." -SQLSTATE: 22003 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04498: "cache lookup failed for resource pool id %u, user is removed?" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04499: "Failed to Generate the random salt" -SQLSTATE: 28000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04500: "Failed to Generate the random serverkey" -SQLSTATE: 28000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04501: "Failed to Generate the random storedkey" -SQLSTATE: 28000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04502: "No standby or secondary is connected, a new dfs file can not be created" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04503: "wrong buffer passed to BCM_clear, BlockNumber from buf is %u,mapBlock is %u" SQLSTATE: CAUSE: "This is an internal error" @@ -26227,12 +22021,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04505: "Please use 'ALTER ROLE user_name IDENTIFIED BY 'password' REPLACE 'old password';' to modify the initial password of user %s before operation!" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04506: "SECURITY LABEL is not yet supported." SQLSTATE: 0A000 CAUSE: "This is an internal error" @@ -26257,24 +22045,12 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04510: "user defined type is not yet supported." -SQLSTATE: 0A000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04511: "user-defined text search parser is not yet supported." SQLSTATE: 0A000 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04512: "user-defined text search dictionary is not yet supported." -SQLSTATE: 0A000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04513: "user-defined text search template is not yet supported." SQLSTATE: 0A000 CAUSE: "This is an internal error" @@ -26293,12 +22069,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04516: "SEQUENCE is not yet supported." -SQLSTATE: 0A000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04517: "NOFITY statement is not yet supported." SQLSTATE: 0A000 CAUSE: "This is an internal error" @@ -26311,12 +22081,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04519: "UNLISTEN statement is not yet supported." -SQLSTATE: 0A000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04520: "LOAD statement is not yet supported." SQLSTATE: 0A000 CAUSE: "This is an internal error" @@ -26329,12 +22093,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04522: "trigger is not yet supported." -SQLSTATE: 0A000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04523: "new language is not yet supported." SQLSTATE: 0A000 CAUSE: "This is an internal error" @@ -26347,24 +22105,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04525: "user defined cast is not yet supported." -SQLSTATE: 0A000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04526: "manipulation of text search dictionary is not yet supported." -SQLSTATE: 0A000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04527: "'CLEAN CONNECTION ...' can NOT run at DN!" -SQLSTATE: 42601 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04528: "pg_pool_validate cannot run inside a transaction block" SQLSTATE: 25001 CAUSE: "This is an internal error" @@ -26419,12 +22159,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04537: "Temp table related statement would fail during connection recovery." -SQLSTATE: 08000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04538: "The relation %s is invalid because of cluster resize, please quit current session and it will be automaticly dropped." SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -26443,12 +22177,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04541: "Catalog table pg_partition may get trashed on table %s as it is not consitant with pg_class" -SQLSTATE: 22000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04542: "invalid starelkind for pg_statistic" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -26461,12 +22189,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04544: "could not obtain lock on partition(%d)" -SQLSTATE: 55P03 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04545: "function roach_handler must return type 'fdw_handler'" SQLSTATE: 42809 CAUSE: "This is an internal error" @@ -26539,18 +22261,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04557: "Failed to get foreign table built-in distribution info." -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04558: "could not find block %p" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04559: "Error happen when execute memcpy_s:%d in reallocating aliged memory" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -26563,12 +22273,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04561: "unsupport to free memory under stack memory allocator" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04562: "unsupport to reallocate memory under stack memory allocator" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -26599,36 +22303,12 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04567: "The statistics mode of relation(%s) does not match with current statistics mode(%s) specified by enable_global_stats." -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04568: "error type: %d of statistics estimate." -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04569: "pg_get_triggerdef is not yet supported." -SQLSTATE: 0A000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04570: "specified timestamp format is null" SQLSTATE: 22007 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04571: "specified smalldatetime format is null" -SQLSTATE: 22007 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04572: "specified date format is null" SQLSTATE: 22007 CAUSE: "This is an internal error" @@ -26659,24 +22339,12 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04577: "The data type %d is not supported for bloom filter curently." -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04578: "ExpectedEntries should be > 0 and < 10000000." SQLSTATE: CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04579: "False positive probability should be > 0.0 & < 1.0." -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04580: "Add too many values to the bloom filter." SQLSTATE: CAUSE: "This is an internal error" @@ -26695,30 +22363,12 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04583: "Failed to load IR file!\n" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04584: "Codegen failed on the procedure of ExecVecQual!" SQLSTATE: XX000 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04585: "Codegen faild on ScalarArrayOp : datatype %d is not supported yet!\n" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04586: "The operator is not supported for codegen in CASE WHEN expr!" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04587: "Codegen failed on the first argument of FuncExpr!\n" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -26737,12 +22387,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04590: "Operation is not supported yet!" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04591: "Failed to create LLVM state object ExecutionEngine: %s" SQLSTATE: 42704 CAUSE: "This is an internal error" @@ -26761,24 +22405,12 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04594: "Not support the case when HAVE_INT64_TIMESTAMP is false!" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04595: "Unsupported LLVM debug type!\n" SQLSTATE: XX000 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04596: "Unsupported LLVM report type" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04597: "Failed on getting IR function : LLVMIRtexteq!\n" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -26881,54 +22513,12 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04614: "Failed to remove directory '%s', because it is not an empty directory." -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04615: "Failed to remove external directory '%s'." -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04616: "It is unsupported to alter tablespace option '%s' for DFS tablespace." -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04617: "Tablespace '%d' does not exist." -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04618: "cache lookup failed for tablespace %u." -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04619: "Resource Pool '%s': object not defined." SQLSTATE: 42704 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04620: "resource pool must be '%s' if the role cannot login." -SQLSTATE: 22023 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04621: "Resource pool must be '%s' if user cannot login." -SQLSTATE: 42501 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04622: "Password can't contain more than %d characters." SQLSTATE: 28P01 CAUSE: "This is an internal error" @@ -26947,12 +22537,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04625: "%s cannot be executed when enable_show_any_tuples is true." -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04626: "Invalid schema oid: %u" SQLSTATE: 3F000 CAUSE: "This is an internal error" @@ -26965,12 +22549,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04628: "could not open relation %s(%d) on node %s." -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04629: "gs_switch_relfilenode can be only used by redistribution tool." SQLSTATE: CAUSE: "This is an internal error" @@ -26989,36 +22567,12 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04632: "Failed to get database name by database oid %d." -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04633: "Failed to drop database directory '%s' on HDFS." -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04634: "cannot alter text search configuration '%s' because other objects depend on it" SQLSTATE: 2BP01 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04635: "DFS table does not support index." -SQLSTATE: 0A000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04636: "It is not supported to create index '%s' on DFS tablespace." -SQLSTATE: 0A000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04637: "It is not allowed to assign version option for non-dfs table." SQLSTATE: CAUSE: "This is an internal error" @@ -27055,12 +22609,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04643: "Only support hash distribution for dfs table." -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04644: "Value partitioned table can only be created on DFS tablespace." SQLSTATE: 0A000 CAUSE: "This is an internal error" @@ -27079,12 +22627,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04647: "It is not supported to truncate DFS table '%s'." -SQLSTATE: 42809 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04648: "Storage type '%s' is meaningless for column relation" SQLSTATE: 0A000 CAUSE: "This is an internal error" @@ -27121,12 +22663,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04654: "the bulkload state is already set before bulkload starts" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04655: "cannot specify bulkload compatibility options in BINARY mode" SQLSTATE: 42601 CAUSE: "This is an internal error" @@ -27163,12 +22699,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04661: "SMALLDATETIME_FORMAT specification only available using COPY FROM or READ ONLY foreign table" -SQLSTATE: 42601 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04662: "illegal chars conversion may confuse COPY null 0x%x" SQLSTATE: 42601 CAUSE: "This is an internal error" @@ -27217,72 +22747,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04670: "fail to find xdb file path '%s'" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04671: "could not unlink xdb file : %m" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04672: "could not seek xdb file : %m" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04673: "could not read xdb file : %m" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04674: "Failed to open the XDB file" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04675: "Invalid XDB file" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04676: "Invalid XDB file format" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04677: "Mmap() failed" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04678: "Failed to open & create the db file" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04679: "could not chmod xdb file : %m" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04680: "could not write xdb file : %m" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04681: "CUBE is limited to 12 elements" SQLSTATE: 54011 CAUSE: "This is an internal error" @@ -27325,18 +22789,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04688: "Unrecognized distribution option '%s'." -SQLSTATE: 42601 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04689: "Syntax is not supported" -SQLSTATE: 42601 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04690: "SCROLL CURSOR is not yet supported." SQLSTATE: 0A000 CAUSE: "This is an internal error" @@ -27349,24 +22801,12 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04692: "CURSOR ... WITH HOLD is not yet supported." -SQLSTATE: 0A000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04693: "For foreign table ROUNDROBIN distribution type is built-in support." SQLSTATE: 0A000 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04694: "serial type is not yet supported." -SQLSTATE: 0A000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04695: "Value-based partition table should have one column at least" SQLSTATE: 42601 CAUSE: "This is an internal error" @@ -27403,84 +22843,24 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04701: "syntax error in zhparser_extra_dicts '%s'" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04702: "incorrect extra dicts file name '%s' in zhparser_extra_dicts" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04703: "Fail to load scws dict from : '%s'" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04704: "Fail to init scws engine for zhparser" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04705: "zhparser parser only support UTF8/GBK encoding" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04706: "The parameter can not smaller than -1." SQLSTATE: XX000 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04707: "Error occurs while creating an orc reader, detail can be found in dn log of %s." -SQLSTATE: 08000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04708: "Column count in table definition does not match with ORC file %s." SQLSTATE: 22000 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04709: "Error occurs while opening hdfs file, detail can be found in dn log of %s." -SQLSTATE: 08000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04710: "Unsupported orc type : %u." SQLSTATE: 0A000 CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04711: "Error occurred while reading column %d: ORC and PSQLtypes do not match, ORC type is %s and mpp type is %s." -SQLSTATE: 22000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04712: "Error occurs while read row index of orc file, detail can be found in dn log of %s." -SQLSTATE: 22000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04713: "Error occurs while reading orc file, detail can be found in dn log of %s." -SQLSTATE: 22000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04714: "Unsupported data type : %u." SQLSTATE: 0A000 CAUSE: "This is an internal error" @@ -27493,36 +22873,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04716: "Failed to create partition directory %s when loading data to partitioned DFS table" -SQLSTATE: 08000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04717: "Error occurs while opening a new file, detail can be found in dn log of %s." -SQLSTATE: 08000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04718: "Error occurs while spilling a new file to write, detail can be found in dn log of %s." -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04719: "Error occurs while add a column batch, detail can be found in dn log of %s." -SQLSTATE: 22000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04720: "Error occurs while close the orc writer, detail can be found in dn log of %s." -SQLSTATE: 22000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04721: "The start index is over the limit." SQLSTATE: 22000 CAUSE: "This is an internal error" @@ -27535,24 +22885,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04723: "Invalid Oid for operator %d." -SQLSTATE: 20000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04724: "The path here must be an absolute path, but it is: %s" -SQLSTATE: HV00A -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04725: "Unsupported data type on typeoid:%d when parsing partition signature" -SQLSTATE: 0A000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04726: "We only support pushing down opExpr and null test predicate." SQLSTATE: 0A000 CAUSE: "This is an internal error" @@ -27595,30 +22927,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04733: "Column %s is unsupported data type for a orc table." -SQLSTATE: HV004 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04734: "No folder path is specified for a DFS table." -SQLSTATE: 44000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04735: "No file path is specified for a DFS table." -SQLSTATE: 44000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04736: "No hdfscfg path is specified for a DFS server." -SQLSTATE: 44000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04737: "There is an illegal character \'%c\' in the option %s." SQLSTATE: 44000 CAUSE: "This is an internal error" @@ -27631,18 +22939,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04739: "Only a folder path is allowed for a DFS table." -SQLSTATE: 44000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04740: "Only a hdfscfg path is allowed for a DFS server." -SQLSTATE: 44000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04741: "The path '%s' must be an absolute path." SQLSTATE: 42P17 CAUSE: "This is an internal error" @@ -27655,12 +22951,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04743: "No address is specified for a DFS server." -SQLSTATE: 44000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04744: "The count of address '%s' must be not greater than %d." SQLSTATE: 44000 CAUSE: "This is an internal error" @@ -27703,12 +22993,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04751: "Partition directory exceeds max length of one partition directory on attribute [%s], max allowed:%d" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04752: "could not initialize partition pruning result cache." SQLSTATE: CAUSE: "This is an internal error" @@ -27727,24 +23011,12 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04755: "error write temp file while loading partitioned DFS table, %lu bytes written but expected %lu" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04756: "could not rewind DFS Partition Loading temporary file: %m" SQLSTATE: CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04757: "error read staging temp file for partitioned table loading, expected:%u, actual read %lu" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04758: "Only ORC is supported for now." SQLSTATE: 0A000 CAUSE: "This is an internal error" @@ -27763,12 +23035,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04761: "Value '%s' of option 'compression' is invalid for row table" -SQLSTATE: 0A000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04762: "Invalid string for 'filesystem' option." SQLSTATE: 22023 CAUSE: "This is an internal error" @@ -27793,78 +23059,24 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04766: "Zero already extended clog page, maybe confuse transaction status" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04767: "could not access status of transaction %lu, nextXid is %lu" SQLSTATE: CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04768: "rewrite_page_list_write: Cannot allocate memory" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04769: "CUListWrite: Cannot allocate memory" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04770: "write cu failed, colid(%d) cuid(%u), offset(%lu), size(%d) : %m" SQLSTATE: CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04771: "Relation \'%s\' Column \'%s\' cudesc tuple(cuid %d) missing" -SQLSTATE: 02000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04772: "Relation \'%s\' virtual cudesc tuple(cuid %d) not found" -SQLSTATE: 02000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04773: "CUListPrefetch: Cannot allocate memory" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04774: "Snapshot too old." SQLSTATE: CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04775: "Load CU failed in adio! spcNode(%u), dbNode(%u), relNode(%u), columnId(%d), cuid(%u)" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04776: "Prefetch the CU data(%u) file of column(%d) of relation id(%s) contains incorrect checksum" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - -GAUSS-04777: "Sync load the CU data(%u) file of column(%d) of relation(%s) contains incorrect checksum" -SQLSTATE: -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04778: "Unable to get store format for Dfs relation %s" SQLSTATE: CAUSE: "This is an internal error" @@ -27877,12 +23089,6 @@ CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." -GAUSS-04780: "This operation is not supported" -SQLSTATE: XX000 -CAUSE: "This is an internal error" -ACTION: "Please contact engineer to support." - - GAUSS-04781: "Upper-level GROUPING found where not expected" SQLSTATE: XX000 CAUSE: "This is an internal error" @@ -27906,3 +23112,20703 @@ SQLSTATE: CAUSE: "This is an internal error" ACTION: "Please contact engineer to support." + +GAUSS-04785: "It is forbidden to use placeholder and dollar quoting together." +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04786: "yyscanner init failed: %m" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04787: "name data must be quoted" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04788: "unsupported action 'DISCONNECT' for statement ' alter system '" +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04789: "ALTER SYSTEM SET is not supported in distributed mode." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04790: "REBUILD is not supported for multiple commands" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04791: "IF EXISTS is not supported for REBUILD" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04792: "unrecognized option '%s'" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04793: "%s distribution needs user-defined slice clause" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04794: "The number of LIST distribution keys can not exceed 4" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04795: "The number of range distribution key can not exceed 4" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04796: "WITH NO DATA for materialized views not yet supported" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04797: "options for incremental materialized views not yet supported" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04798: "It's not supported to specify distribute key on incremental materialized views" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04799: "Must use single quoted string for '%s' option." +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04800: "Foreign server is not specified" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04801: "Row Level Security is not yet supported for INSERT and MERGE" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04802: "unrecognized row security option '%s'" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04803: "WITH GRANT OPTION is not supported in security mode." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04804: "FENCED mode function is not yet supported in current version." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04805: "COMPACT can only be used with VACUUM FULL" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04806: "COMPACT can not be used with FREEZE" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04807: "COMPACT can not be used with PARTITION" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04808: "COMPACT can not be used with ANALYZE" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04809: "RETURNING clause is not yet supported whithin INSERT ON DUPLICATE KEY UPDATE statement." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04810: "WITH clause is not yet supported whithin INSERT ON DUPLICATE KEY UPDATE statement." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04811: "Subfield name or array subscript of column '%s' is not yet supported whithin INSERT ON DUPLICATE KEY UPDATE statement." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04812: "Update with subquery is not yet supported whithin INSERT ON DUPLICATE KEY UPDATE statement." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04813: "only allow column name within VALUES" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04814: "missing WITHIN keyword." +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04815: "cannot use multiple ORDER BY clauses with WITHIN GROUP." +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04816: "cannot use DISTINCT with WITHIN GROUP." +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04817: "cannot use VARIADIC with WITHIN GROUP." +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04818: "cannot use multiple ORDER BY clauses with WITHIN GROUP" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04819: "cannot use DISTINCT with WITHIN GROUP" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04820: "cannot use VARIADIC with WITHIN GROUP" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04821: "ROWNUM is not yet supported." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04822: "timestampdiff syntax is not supported." +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04823: "type modifier cannot have ORDER BY" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04824: "ROWNUM cannot be used as an alias" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04825: "invalid name" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04827: "No function matches the given arguments names. You might need to add explicit declare arguments names." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04828: "argname should not be null" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04829: "node group name is not allowed to contain multibyte characters" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04830: "must be system admin or monitor admin to use EXECUTE DIRECT" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04831: "grant to public operation is forbidden in security mode" +SQLSTATE: 0LP01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04832: "client master key '%s' does not exist" +SQLSTATE: 42705 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04833: "column encryption key '%s' does not exist" +SQLSTATE: 42705 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04834: "Forbid grant language c to user with grant option." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04835: "Forbid grant language c to public." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04836: "Role %s has not privilege to grant/revoke node group %s." +SQLSTATE: 0LP01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04837: "Can not grant CREATE privilege on node group %u to role %u in node group %u." +SQLSTATE: 0LP01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04838: "cache lookup failed for data source %u" +SQLSTATE: 29P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04839: "cache lookup failed for client master key %u" +SQLSTATE: 29P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04840: "cache lookup failed for column encryption key %u" +SQLSTATE: 29P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04841: "computing nodegroup is not a valid group." +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04842: "directory with OID %u does not exist" +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04843: "client master key with OID %u does not exist" +SQLSTATE: 42705 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04844: "node group with OID %u does not exist" +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04845: "data source with OID %u does not exist" +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04846: "column encryption key with OID %u does not exist" +SQLSTATE: 42705 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04847: "synonym with OID %u does not exist" +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04848: "invalid relation file path %s for relpath_parse_rnode" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04849: "Sync failed because there is data inside the delta table %u." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04850: "the current function does not support non-column-store table" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04851: "Function pg_sync_all_cstore_delta doest not support to run on DN." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04852: "cannot drop %s cascadely because encrypted column depend on it." +SQLSTATE: 2BP01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04853: "invalid varlevelsup %u" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04854: "invalid varno %u" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04855: "cache lookup failed for directory %u" +SQLSTATE: 29P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04856: "could not find tuple for policy %u" +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04857: "cache lookup failed for synonym %u" +SQLSTATE: 29P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04858: "get tablespace %u store path failed" +SQLSTATE: 42P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04859: "Un-support feature: HDFS" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04860: "Not a matview related table" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04861: "materialized view '%s' is missing rewrite information" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04862: "materialized view '%s' has too many rules" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04863: "the rule for materialized view '%s' is not a SELECT INSTEAD OF rule" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04864: "the rule for materialized view '%s' is not a single action" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04865: "Permission denied cause sensitive policy on basetable" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04866: "Permission denied cause RLS on basetable" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04867: "Permission denied from an independent role" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04868: "Distribution boundary length (%d) does not equal to the number of distribute keys (%d)." +SQLSTATE: 42P16 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04869: "List value %s specified multiple times in slice %s." +SQLSTATE: 42P16 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04870: "List value %s specified multiple times in slices %s and %s." +SQLSTATE: 42P16 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04871: "invalid list distribution table definition" +SQLSTATE: 42P16 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04872: "DEFAULT slice must be last slice specified" +SQLSTATE: 42P16 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04873: "slice boundary value can't be converted into distribution key data type" +SQLSTATE: D0011 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04874: "table's node group (%s) is not the same with referenced table's node group(%s)" +SQLSTATE: 42P24 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04875: "The referenced table is not distributed" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04876: "Assigned distribution strategy is not the same as that of base table" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04877: "number of table's distribution keys is not the same with referenced table." +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04878: "Column %s is not of the same datatype as base table" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04879: "Column %s is not a %s distributable data type" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04880: "Create hash table directly on DN is not allowed." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04881: "Create hash table but there is no valid PGXCBucketMap." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04882: "Invalid BucketMap or wrong NodeId(%d)" +SQLSTATE: 42P16 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04883: "distributeby no hash is invalid with hashbucket" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04884: "Temp tables are invalid because datanode %s restart. Quit your session to clean invalid temp tables." +SQLSTATE: 42P18 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04885: "u_sess->parser_cxt.param_info should not be NULL" +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04886: "partition name is invalid" +SQLSTATE: 23502 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04887: "can't add partition bacause the relation %s has unusable local index" +SQLSTATE: 42P17 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04888: "null partition key value for relation '%s' in check partkey type." +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04889: "partition key column's number of relation '%s' is not a 1-D smallint array in check partkey type." +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04890: "Object in DEFAULT constraints of column '%s' doesn't exists" +SQLSTATE: 42P02 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04891: "Object in CHECK constraints doesn't exists" +SQLSTATE: 42P02 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04892: "could not get element type of array type %u" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04893: "user-defined indexes on value partition columns are not supported" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04894: "unexpected non-btree speculative unique index" +SQLSTATE: 55000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04895: "cannot create global temp relations in temporary schemas" +SQLSTATE: 42P16 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04896: "Temp namespace %s not found in pg_namespace. " +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04897: "Namespace oid is invalid." +SQLSTATE: 3F000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04898: "Namespace %u is not found." +SQLSTATE: 3F000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04899: "Current temp namespace %s is invalid." +SQLSTATE: 3F000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04900: "Unexpected namespace %s, should be pg_catalog." +SQLSTATE: 3F000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04901: "bogus PopOverrideSearchPath call, stack level %d, xact level %d" +SQLSTATE: XX006 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04902: "Failed to set temp namespace." +SQLSTATE: YY005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04903: "Can't get nodeoid for relation %d" +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04904: "Temp table's data is invalid because datanode %s restart. Quit your session to clean invalid temp tables." +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04906: "'%s' is not a materialized view" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04907: "'%s' is not a stream" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04908: "must be initial user" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04909: "initialize the built-in function failed: %s" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04910: "enum label '%s' already exists" +SQLSTATE: 42710 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04911: "pg_enum OID value not set when in binary upgrade mode" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04912: "cache lookup failed for existing[%d]!" +SQLSTATE: 29P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04913: "cache lookup failed for bucket %u" +SQLSTATE: 29P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04914: "null bucket for tuple %u" +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04915: "got null for pgxc_class option %u" +SQLSTATE: 29P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04916: "should in restore mode" +SQLSTATE: 42602 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04917: "invalid hashbucketId syntax" +SQLSTATE: 42602 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04918: "Cannot drop all buckets" +SQLSTATE: D0011 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04919: "Invalid bucket id %u, max bucket id is %d" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04920: "Submit or Isubmit job only can be operate on coordinator." +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04921: "Can not find job id %d in system table pg_job." +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04922: "Permission for current user to get this job. current_user: %s, job_user: %s, job_id: %ld" +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04923: "Can not find jobid %d in system table pg_job_proc." +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04924: "Invalid job status, job_id: %d." +SQLSTATE: 20000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04925: "Invalid job_id: %ld" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04926: "Invalid job_status: \'%c\' " +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04927: "Unable to connect to execute internal query, job_id: %d." +SQLSTATE: SP001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04928: "Call SPI_execute execute job interval fail, job_id: %d." +SQLSTATE: SP005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04929: "Execute job interval for get next_date error, job_id: %d." +SQLSTATE: SP000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04930: "Interval: %s must evaluate to a time in the future for job_id: %d." +SQLSTATE: 29000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04931: "It is invalid job interval for the reason that it is a fixed timestamp, job_id: %d, interval: %s." +SQLSTATE: 29000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04932: "Execute job failed, job_id: %d." +SQLSTATE: OP001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04933: "Invalid parameter interval: \'%s\'." +SQLSTATE: 55000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04934: "Parameter what can not be null." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04935: "Parameter next date can not be null." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04936: "All 32768 jobids have alloc, and there is no free jobid" +SQLSTATE: 55000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04937: "only system/monitor admin can submit multi-node jobs!" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04938: "Parameter node_name can not be null." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04939: "Parameter node_name can only be 'ALL_NODE' or 'CCN' for multi-node jobs." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04940: "Parameter Database can not be null." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04941: "Parameter Database can only be 'postgres' except for jobs on CCN." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04942: "Parameter can not be null." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04943: "Invalid job_id: %d" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04944: "Remove jobid:%ld failed." +SQLSTATE: 55000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04945: "can not find jobid in the job queue %d" +SQLSTATE: 55000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04946: "Parameter id for job_update is unexpected." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04947: "Permission for current user to operate the job. current_user: %s, job_user: %s, job_id: %ld" +SQLSTATE: D0011 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04948: "Can not operate this job due to running status, job_id: %ld. " +SQLSTATE: 29000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04949: "could not obtain lock on partition(%u)" +SQLSTATE: 55P03 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04950: "Invalid Oid of local index %u on the partition %u." +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04951: "File '%s' does not exist." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04952: "Library File '%s' does not have READ permission." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04953: "Library path can not include character %c." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04954: "Library file name can not include character '%c'." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04955: "Copy file '%s' failed: %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04956: "Send library to all node fail: %m, command %s" +SQLSTATE: 58000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04957: "Send library to backup fail: %m, command %s" +SQLSTATE: 58000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04958: "Library file '%s' does not exist." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04959: "abort transaction due to concurrent create function." +SQLSTATE: 40001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04960: "Invalid library path." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04961: "Do not allow package function overload not package function." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04962: "function '%s' is a builtin function,it can not be changed" +SQLSTATE: 42P13 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04963: "function '%s' is a masking function,it can not be changed" +SQLSTATE: 42P13 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04964: "can not get current user name for the C function file." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04965: "can not get user name for current process." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04966: "Path '%s' is not admitted. Don't use '../' when enable_default_cfunc_libpath is on." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04967: "package function does not support table parameter." +SQLSTATE: 42P13 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04968: "package function does not support variadic parameter." +SQLSTATE: 42P13 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04969: "Do not allow package function replace not package function." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04970: "Package function does not support function overload which has the same type argument." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04971: "File path can not include character '%c'" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04972: "resource pool %u was concurrently dropped" +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04973: "multiple pg_shdepend entries: object %u/%u/%u/%d, deptype %c" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04974: "multiple pg_shdepend entries for object %u/%u/%u/%d deptype %c" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04975: "no pg_shdepend entry: object %u/%u/%u/%d, deptype %c" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04976: "Using CREATE SYNONYM is forbidden in template database." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04977: "synonym '%s' already exists" +SQLSTATE: 42710 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04978: "synonym '%s' does not exist" +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04979: "permission denied to change owner of synonym '%s'" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04980: "can't find installation-group." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04981: "AlTER TABLE ADD/DELETE NODE can only be altered up-to installation group." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04982: "referenced table does not exists when constructing references table" +SQLSTATE: 42P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04983: "node number is zero when computing datanode oid for List/Range distribution." +SQLSTATE: 22012 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04984: "Both table should have the same slice count." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04985: "Failed to write data to the dfs file list, error code: %d" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04986: "gtt shared hash table corrupted" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04987: "Global temporary table feature is disable" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04988: "readonly mode not support access global temporary table" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04989: "invalid gtt index %s not allow to create storage" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04990: "backend %d relid %u already exists in gtt local hash" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04991: "gtt rel %u not found in local hash" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04992: "gtt relfilenode %u not found in rel %u" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04993: "find relfilenode %u relfilenodelist from relid %u fail" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04994: "relid %u not found in local hash" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04995: "can not alter/drop table %s when other backend attached this global temp table" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04996: "'%s' is not a table or materialized view" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04997: "object does not exist. column encryption key: %s" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04998: "Invalid key path" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-04999: "Invalid key store" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05000: "Invalid algorithm" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05001: "global function is missing" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05002: "failed to flush args" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05003: "column function is missing" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05004: "failed to flush column args" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05005: "object does not exist. client master key: %s" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05006: "Un-support to drop client master key when client encryption is disabled." +SQLSTATE: OP003 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05007: "Un-support to drop column encryption key when client encryption is disabled." +SQLSTATE: OP003 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05008: "cache lookup failed for column encryption key" +SQLSTATE: 29P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05009: "cache lookup failed for client master key" +SQLSTATE: 29P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05010: "cache lookup failed for encrypted column %u" +SQLSTATE: 29P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05011: "could not find tuple for cmk %u" +SQLSTATE: 29P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05012: "could not find tuple for cek %u" +SQLSTATE: 29P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05013: "could not find tuple for encrypted column %u" +SQLSTATE: 29P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05014: "out of binary heap slots" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05015: "doubly linked list head address is NULL" +SQLSTATE: 23502 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05016: "doubly linked list is corrupted." +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05017: "singly linked list head address is NULL" +SQLSTATE: 23502 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05018: "Connection from CN must use trust or gss auth method." +SQLSTATE: 28000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05019: "Connection from CN must use trust auth method." +SQLSTATE: 28000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05020: "pg_hba.conf rejects replication connection for host '%s', user '%s', %s" +SQLSTATE: 28000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05021: "pg_hba.conf rejects replication connection for host '%s', user '%s'" +SQLSTATE: 28000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05022: "no pg_hba.conf entry for replication connection from host '%s', user '%s', %s" +SQLSTATE: 28000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05023: "no pg_hba.conf entry for replication connection from host '%s', user '%s'" +SQLSTATE: 28000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05024: "Forbid remote connection with initial user." +SQLSTATE: 28000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05025: "Failed to Generate the random number,errcode:%d" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05027: "Failed to Generate the random serverkey,errcode:%d" +SQLSTATE: 28000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05028: "Failed to Generate the random storedkey,errcode:%d" +SQLSTATE: 28000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05029: "GSS authentication method is not allowed because %s user password is not disabled." +SQLSTATE: 28000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05030: "empty password returned by client" +SQLSTATE: 28P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05031: "could not create SSL context : %s.)" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05032: "certificate file '%s' has group or world access" +SQLSTATE: F0000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05033: "ca certificate file '%s' has group or world access" +SQLSTATE: F0000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05034: "DH: generating parameters (3072 bits) failed" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05035: "Could not get user information on this platform" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05036: "could not look up local user ID %ld: %s" +SQLSTATE: D0011 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05037: "palloc size overflow" +SQLSTATE: 22015 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05038: "Last read message sequence %u is not equal to the max written message sequence %u" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05039: "alert, failed in revert command buffer, invalid params data len %d pq buffer size %d" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05040: "expected message sequnce is %u, actual message sequence is %u" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05041: "expected message length is %u, actual message length is %u" +SQLSTATE: 22026 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05042: "expected crc is %u, actual crc is %u" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05043: "name for %s %u not found" +SQLSTATE: 29P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05044: "namespace for %s %u not found" +SQLSTATE: 29P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05045: "seqname of nextval() is not found" +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05046: "varno is unvalid" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05047: "token should not return NULL." +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05048: "incomplete array structure" +SQLSTATE: 2200E +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05049: "unterminated array structure" +SQLSTATE: 2200E +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05050: "NULL seqName for nextval()" +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05051: "NULL seqNamespace for nextval()" +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05052: "_readConstraint(): badly contype '%s'..." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05053: "expected '[' to start datum, but got '%s'; length = %lu" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05054: "Parsing null pointer to CheckTsDelete!" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05055: "Timeseries only supports deletion by time range!" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05056: "Unsupported feature" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05057: "INSERT ON DUPLICATE KEY UPDATE is not supported on column orientated table." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05058: "INSERT ON DUPLICATE KEY UPDATE is not supported on foreign table." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05059: "INSERT ON DUPLICATE KEY UPDATE is not supported on VIEW." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05060: "INSERT ON DUPLICATE KEY UPDATE is not supported on CONTQUERY." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05061: "INSERT ON DUPLICATE KEY UPDATE don't allow update on primary key or unique key." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05062: "rte is not in p_rtable list" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05063: "leftmostQuery should not be null" +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05064: "unrecognized object relkind: %d" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05065: "node name in node list is not correct" +SQLSTATE: OP003 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05066: "unsupport node type: %d" +SQLSTATE: XX006 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05067: "not support both coordinator and datanode in the execute list" +SQLSTATE: OP003 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05068: "EXECUTE DIRECT cannot execute CREATE RULE" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05069: "EXECUTE DIRECT on multinode not support agg functions." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05070: "EXECUTE DIRECT cannot execute SELECT query with normal table on coordinator" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05071: "subParseState should not be null" +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05072: "non-integer constant in group clause" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05073: "%s position %ld is not in select list" +SQLSTATE: 42P10 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05074: "aggregates not allowed in FROM clause" +SQLSTATE: 42803 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05075: "unexpected args inside agg direct args" +SQLSTATE: 42P25 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05076: "functions can have at most %d parameters" +SQLSTATE: 54000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05077: "ROWNUM must appear in the GROUP BY clause or be used in an aggregate function" +SQLSTATE: 42803 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05078: "check failure with rt_fetch function" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05079: "permission denied to insert into foreign table in security mode" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05080: "Invalid tablesample method %s" +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05081: "tablesample method %s requires %d argument, not %d" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05082: "TABLESAMPLE clause can only be applied to tables." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05083: "TABLESAMPLE clause only support relation of oriented-row and oriented-column." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05084: "invalid tle value" +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05085: "cache lookup failed for attribute %u of relation %hd" +SQLSTATE: 29P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05086: "Operator '(+)' unknown node detected in %s()" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05087: "Relation can't outer join with each other." +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05088: "'%s' can't outer join with more than one relation." +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05089: "Operator '(+)' can't be specified on more than one relation in one join condition" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05090: "'%s' can't outer join with more than one relation" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05091: "Operator '(+)' and Join in FromClause can't be used together" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05092: "Operator '(+)' is not allowed used with 'OR' together" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05093: "Operator '(+)' transform failed." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05094: "'%s' is not allowed to outer join with itself." +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05095: "Operator '(+)' can not be used in outer join with SubQuery." +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05096: "Operator '(+)' can not be used in nesting expression." +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05097: "unrecognized A_Expr kind: %d used" +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05098: "Alias '%s' reference with ROWNUM included is invalid." +SQLSTATE: 42703 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05099: "Operator '(+)' can only be used in WhereClause of Select-Statement or Subquery." +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05100: "column reference '%s' is ambiguous." +SQLSTATE: 42702 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05101: "Fail to build a referencing node." +SQLSTATE: 58P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05102: "WITHIN GROUP specified, but %s is not an aggregate function" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05103: "WITHIN GROUP is required for ordered-set aggregate %s" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05104: "OVER is not supported for ordered-set aggregate %s" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05105: "DISTINCT + WITHIN GROUP is not supported for ordered-set aggregate %s" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05106: "VARIADIC + WITHIN GROUP is not supported for ordered-set aggregate %s" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05107: "%s is not an ordered-set aggregate, so it cannot have WITHIN GROUP" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05108: "window function %s requires an OVER clause" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05109: "window function %s cannot have WITHIN GROUP" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05110: "window functions cannot allow multiple different order info" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05111: "Unsupported typeoid: %u for T_Integer value, please add single quota and try again." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05112: "Cannot find expected NOT MATCHED WHEN clause with operator INSERT." +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05113: "Subquery should at least have a target list or values list." +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05114: "Default column should have default values." +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05115: "Expression whitin primary key or unique index are not supported yet." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05116: "Should not specify INSERT target columns in DEFAULT VALUES." +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05117: "pstate->p_target_relation should not be null" +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05118: "internal relation doesn't allow %s" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05119: "Target relation type is not supported for %s" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05120: "unknown action in MERGE WHEN clause" +SQLSTATE: XX006 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05121: "unreachable WHEN clause specified after unconditional WHEN clause" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05122: "Two WHEN MATCHED clauses are not supported for MERGE INTO" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05123: "Two WHEN NOT MATCHED clauses are not supported for MERGE INTO" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05124: "Invalid column reference in the UPDATE target values" +SQLSTATE: 42703 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05125: "failed to transform InsertStmt for INSERT ON DUPLICATE KEY UPDATE statement." +SQLSTATE: XX006 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05126: "Columns referenced in the primary or unique index cannot be updated: '%s'.'%s'" +SQLSTATE: 42P10 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05127: "Columns referenced in the ON Clause cannot be updated: '%s'.'%s'" +SQLSTATE: 42P10 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05128: "Replicate table only allows to INSERT static values from a VALUES clause in INSERT ... ON DUPLICATE KEY UPDATE." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05129: "It is not allowed to use %s on the replicate table (%s) with column (%s) of unstable default value." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05130: "Subquery in WHERE clauses are not yet supported for %s" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05131: "Subquery in INSERT/UPDATE clauses are not yet supported for %s" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05132: "System Column reference are not yet supported for %s" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05133: "Subquery should at least have a target column." +SQLSTATE: 42703 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05134: "Unexpected Node type '%s'" +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05135: "Invalid column reference in the INSERT VALUES Clause" +SQLSTATE: 42703 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05136: "u_sess->parser_cxt.opr_cache_hash should not be null" +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05137: "OprCacheHash is unexpected null" +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05138: "there is no parameter $%u" +SQLSTATE: 42P02 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05139: "relation '%s.%s' does not exist on%s %s" +SQLSTATE: 42P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05140: "relation '%s' does not exist on%s %s" +SQLSTATE: 42P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05141: "pstate can not be NULL" +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05142: "permission denied to select from foreign table in security mode" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05143: "relation '%s' does not have hash buckets" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05144: "pstate->p_target_relation is NULL unexpectedly" +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05145: "tupleDesc should not be null" +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05146: "type '%s' must be in installation group" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05147: "Date type is unsupported for hdfs table in C-format database." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05148: "Do not support create table with INERNAL DATA clause." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05149: "encrypted serial column is not implemented" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05150: "It's not supported to create %s column" +SQLSTATE: OP003 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05151: "It's not supported to create serial column on temporary table" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05152: "It's not supported to alter table add serial column" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05153: "Un-support to define encrypted column when client encryption is disabled." +SQLSTATE: OP003 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05154: "CREATE TABLE LIKE with column sequence in different NodeGroup is not supported." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05155: "Table %s.%s does not exist in current datanode." +SQLSTATE: 42P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05156: "could not find encrypted column for %s" +SQLSTATE: 42713 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05157: "could not find column encryption keys for column %s" +SQLSTATE: 42705 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05158: "inherited relation '%s' is not a table or foreign table" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05159: "Global partition index does not support column store." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05160: "Global partition index only support btree." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05161: "Unsupport cgin index in this version" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05162: "access method '%s' does not support row store" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05163: "access method '%s' does not support dfs store" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05164: "duplicate column name" +SQLSTATE: 42701 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05165: "rules on materialized views are not supported" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05166: "rules on contqueries are not supported" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05167: "ON SELECT or UTILITY rule cannot use OLD" +SQLSTATE: 42P17 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05168: "ON SELECT or UTILITY rule cannot use NEW" +SQLSTATE: 42P17 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05169: "permission denied to alter foreign table in security mode" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05170: "split partition '%s' does not exist." +SQLSTATE: 42P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05171: "Interval partitioned table is only supported in single-node mode." +SQLSTATE: 42P16 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05172: "invalid input syntax for type interval" +SQLSTATE: 22007 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05173: "duplicate %s name: '%s'" +SQLSTATE: 42710 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05174: "Include identical distribution column: '%s'" +SQLSTATE: 42701 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05175: "duplicate slice name: '%s'" +SQLSTATE: 42710 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05176: "access method 'cbtree' does not support WHERE clause" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05177: "access method 'cbtree' does not support index expressions" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05178: "access method 'cgin' does not support WHERE clause" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05179: "access method 'cgin' does not support null text search parser" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05180: "%s key value can not be null" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05181: "%s key value must be const or const-evaluable expression" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05182: "It is not allowed to support 'NOT ENFORCED' informational constraint." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05183: "The foreign table only support 'NOT ENFORCED' informational constraint." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05184: "Only the primary key, unique, not null and null be supported." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05185: "CAN NOT get detail info from a NON-PARTITIONED relation." +SQLSTATE: 42P17 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05186: "CAN NOT get detail info from a partitioned relation WITHOUT specified partition." +SQLSTATE: 42P17 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05187: "CAN NOT get partition oid from a NON-PARTITIONED relation." +SQLSTATE: 42P17 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05188: "start/end/every value must be an const-integer for %s '%s'" +SQLSTATE: 42P16 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05189: "unexpected parameter for precheck start/end defstate." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05190: "partition parameter is not constant." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05191: "start value must be less than end value for %s '%s'." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05192: "%s step is too small for %s '%s'." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05193: "%s step is too big for %s '%s'." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05194: "too many %ss after split %s '%s'." +SQLSTATE: 42P16 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05195: "partition '%s' is invalid." +SQLSTATE: 42804 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05196: "%s '%s' is invalid." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05197: "unsupported datatype served as a %s key in the start/end clause." +SQLSTATE: 42804 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05198: "start value of %s '%s' is too low." +SQLSTATE: 42P16 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05199: "datatype of column '%s' is unsupported for %s key in start/end clause." +SQLSTATE: 42804 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05200: "can not add more %ss as %s number is already at its maximum." +SQLSTATE: 42804 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05201: "%s '%s' is not allowed behind MAXVALUE." +SQLSTATE: 42P16 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05202: "start value of %s '%s' is too high." +SQLSTATE: 42P16 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05203: "start value can not be MAXVALUE for %s '%s'." +SQLSTATE: 42P16 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05204: "start value of %s '%s' NOT EQUAL up-boundary of last %s." +SQLSTATE: 42P16 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05205: "end value of %s '%s' is too low." +SQLSTATE: 42P16 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05206: "%s '%s' is an invalid definition clause." +SQLSTATE: 42P16 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05207: "start value of %s '%s' MUST be less than up-boundary of the %s to be splitted." +SQLSTATE: 42P16 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05208: "end value of %s '%s' NOT EQUAL up-boundary of the %s to be splitted." +SQLSTATE: 42P16 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05209: "too many %ss after split partition '%s'." +SQLSTATE: 42P16 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05210: "duplicate %s name: '%s'." +SQLSTATE: 42710 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05211: "Not specify 'INCLUDING PARTITION' for partitioned-table relation:'%s'" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05213: "DISASTER RECOVERY CREATE BARRIER command must be sent to a DataNode" +SQLSTATE: OP003 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05214: "Out of memory" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05215: "message len is invalid." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05216: "Modulo value: %d out of range %d.\n" +SQLSTATE: 22003 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05217: "Could not alloc new memory." +SQLSTATE: 58000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05218: "Can't get group member" +SQLSTATE: 58000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05219: "you can only take append_mode = on, off, refresh, read_only, end_catchup" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05220: "Alter-Table set append mode should have 'rel_cn_oid' set together" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05221: "Alter-Table set rel_cn_oid should have 'append_mode' set together" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05222: "Proc redistribution only can be set during data redistribution time" +SQLSTATE: D0011 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05223: "Proc redistribution only can be reset during data redistribution time" +SQLSTATE: D0011 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05224: "Get buckets failed.reason:the buckets number(%d) is not correct(%d)." +SQLSTATE: D0011 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05225: "group_members is null for tuple %u" +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05226: "PGXC Group %u: group not defined" +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05227: "PGXC Group %d: group not defined" +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05228: "Can not find redistributed source group with in_redistribution 'y'." +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05229: "cache lookup failed for node group with oid %u" +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05230: "must be system admin or createdb role to create cluster node groups" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05231: "NodeGroup name %s can not be preserved group name" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05232: "Don't support logic cluster in multi_standby mode." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05233: "PGXC node %s is already specified: duplicate Datanodes is not allowed in node-list" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05234: "Can not create logic cluster group, create installation group first." +SQLSTATE: 58000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05235: "installation node group or source node group not found" +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05236: "Do not support logic cluster in coexistence with common node group!" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05237: "CREATE NODE GROUP ... DISTRIBUTE FROM can only be executed in maintenance mode." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05238: "group_name can not be NULL " +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05239: "The node group name can not be same as redistribution node group name!" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05240: "The node group %s has not any nodes." +SQLSTATE: D0011 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05241: "Some nodes have been allocated to logic cluster!" +SQLSTATE: 53000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05242: "PGXC Group %s: some tables is distributed in installation group,can not create logic cluster." +SQLSTATE: 2BP01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05243: "Do not allow to convert installation group to logic cluster when other node group exists." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05244: "PGXC Group %s is not installation group." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05245: "The installation group has no members." +SQLSTATE: 58000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05246: "Do not allow to convert installation group to logic clusterwhen other node group exists." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05247: "PGXC Group %s' buckets can not be null" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05248: "must have sysadmin or createdb or alter privilege to resize cluster node groups" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05249: "No destgroup in resize process" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05250: "NodeGroup name %s is invalid." +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05251: "PGXC GROUP %s: do not support add nodes to installation node group." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05252: "PGXC node %s: already exist in node group %s or duplicate in nodelist." +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05253: "PGXC GROUP %s: do not support delete nodes from installation node group." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05254: "PGXC node %s: does not exist in node group %s or duplicate in nodelist." +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05255: "must have sysadmin or createdb or alter privilege to alter cluster node groups" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05256: "Alter node group can only be executed in maintenance mode." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05257: "must have sysadmin or createdb or drop privilege to remove cluster node groups" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05258: "cannot drop '%s' because other objects depend on it" +SQLSTATE: 2BP01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05259: "Do not support distribute from clause for non-logic cluster group!" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05260: "DROP NODE GROUP ... DISTRIBUTE FROM can only be executed in maintenance mode." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05261: "PGXC Group %s: group is not redistributed distination group, can not be dropped" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05262: "PGXC Group %s: group is installation group, can not be dropped" +SQLSTATE: 2BP01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05263: "cannot drop '%s' because at least one role %u depend on it" +SQLSTATE: 2BP01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05264: "can not open pgxc_group" +SQLSTATE: D0011 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05265: "default_storage_nodegroup %s not defined." +SQLSTATE: 42710 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05266: "Bucketmap is not found with given groupoid %u" +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05267: "cache lookup failed on node group %u" +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05268: "Connection to database failed: %s" +SQLSTATE: 58000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05269: "execute statement: %s failed: %s" +SQLSTATE: 58000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05270: "PQtuples num is invalid : %d" +SQLSTATE: 58000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05271: "fail to get tables in database %s for query remain table" +SQLSTATE: 58000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05272: "can not find node group by this node list." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05273: "Invalid null pointer attribute for gs_get_nodegroup_tablecount()" +SQLSTATE: 42P24 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05274: "can not open pg_database" +SQLSTATE: 58000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05275: "count is invalid, count:%d, tmpCount:%d" +SQLSTATE: 58000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05276: "null type_loc is invalid" +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05277: "PGXC node %s: cannot be a central node, it has to be a Coordinator" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05278: "the replication type should be multi-standby, now is %d" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05279: "DN matric cannot alloc memory." +SQLSTATE: 53000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05280: "PGXC Node %s(host = %s, port = %d, sctp_port = %d, control_port = %d): object already defined" +SQLSTATE: 42710 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05281: "Datanode %s: can not be central node." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05282: "PGXC node %s is central node already." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05283: "parameter requires a Boolean value" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05284: "PGXC Node %s: node is in logic cluster" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05285: "message is out of range" +SQLSTATE: 22003 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05286: "Write to replicated table returned different results from the Datanodes on current DN:%s and previous DN:%s." +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05287: "Unexpected TUPDESC response from Datanode" +SQLSTATE: 08000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05288: "Failed to send queryid to %s" +SQLSTATE: 08000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05289: "Failed to send queryid to %s before PREPARE command" +SQLSTATE: 08000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05290: "failed to send %s command to node %u" +SQLSTATE: 08000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05291: "Failed to COMMIT the transaction on nodes: %s." +SQLSTATE: 08000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05292: "unexpected EOF on datanode connection" +SQLSTATE: 08006 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05293: "Can not find location info for relation oid: %u" +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05294: "foreignPrivateList is NULL" +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05295: "Could not send user pl to CN of the compute pool: %s." +SQLSTATE: 08000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05296: "Could not begin transaction on Datanodes." +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05297: "Failed to read response from Datanodes" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05298: "FATAL state of connection to datanode %u" +SQLSTATE: 08000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05299: "No coordinator nodes defined in cluster" +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05300: "Failed to send snapshot to %s" +SQLSTATE: 08000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05301: "Failed to send command to %s" +SQLSTATE: 08000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05302: "Could not begin transaction on Coordinator nodes" +SQLSTATE: 08000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05303: "Failed to send command to coordinators" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05304: "Unexpected response from coordinator" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05305: "TUPDESC message has not been received before DATAROW message from %s" +SQLSTATE: 08000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05306: "Failed to close Datanode statement" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05307: "Unsupport DML two phase commit under gtm free mode." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05308: "10655" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05309: "Could not begin transaction on Datanode." +SQLSTATE: 08000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05310: "%s.%s not found when analyze fetching global statistics." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05311: "Fetch statistics from myself is unexpected. Maybe switchover happened." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05312: "cooperation analysis: please update to the same version" +SQLSTATE: 08P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05313: "unrecognize LOCKMODE type." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05314: "invalid address for the compute pool: %s" +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05315: "Failed to send queryid to %s before COMMIT command(1PC)" +SQLSTATE: 08000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05316: "failed to notify node %u to commit" +SQLSTATE: 08000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05317: "failed to receice response from node %u after notify commit" +SQLSTATE: 08000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05318: "failed to send commit csn to node %u" +SQLSTATE: 08000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05319: "Failed to get valid node id from node definitions" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05320: "invalid node_list, coor_num:%d, datanode_num:%d" +SQLSTATE: 22026 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05321: "Failed to send COMMIT/ROLLBACK on nodes: %s.Failed to COMMIT/ROLLBACK the transaction on nodes: %s." +SQLSTATE: 08000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05322: "unsupported proc in single node mode." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05323: "invalid input/output buffer in node handle" +SQLSTATE: 53200 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05324: "out of memory for node handles" +SQLSTATE: 53200 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05325: "Coordinator cannot identify itself" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05326: "message len is too short" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05327: "conn cursor overflow" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05328: "Invalid Datanode number" +SQLSTATE: 53200 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05329: "Invalid coordinator number" +SQLSTATE: 53200 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05330: "Failed to get pooled connections" +SQLSTATE: 53000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05331: "replication type is invalid in PGXCNodeGetNodeId (nodeoid = %u, node_type = %c" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05332: "Failed to connect to the compute pool. See log file for more details." +SQLSTATE: 08006 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05333: "pooler: Failed to create agent, number of agent reaches MaxAgentCount: %d" +SQLSTATE: 53300 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05334: "agent cannot alloc memory." +SQLSTATE: 53200 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05335: "pooler: connect failed, invaild argument." +SQLSTATE: 08000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05336: "pooler: Failed to init agent, number of agent reaches MaxAgentCount: %d" +SQLSTATE: 53300 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05337: "pooler: could not find node of node[%d], oid[%u], needCreateArrayLen[%d], loopIndex[%d], i[%d], j[%d], isNull[%d]" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05338: "pooler: Failed to get_nodeInfo_from_matric: needCreateNodeArray is null." +SQLSTATE: 01000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05339: "pooler: Failed to get_slave_datanode_oid: can't find slave nodes." +SQLSTATE: 01000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05340: "invalid %s node number: %d, max_value is: %d." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05341: "pooler: The node(oid:%u) has no available slot, the number of slot in use reaches upper limit!" +SQLSTATE: 53300 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05342: "pooler: Node(oid:%u) has been removed or altered" +SQLSTATE: 01000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05343: "pooler: Communication failure, failed to send session commands or invalid incoming data, error count: %d." +SQLSTATE: 08000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05344: "pooler: failed to create connections in parallel mode, due to failover, pending" +SQLSTATE: 08006 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05345: "pooler: failed to create connections in parallel mode, Error Message: %s" +SQLSTATE: 08006 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05346: "pooler: agent_release_connections: agent is null" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05347: "must be system admin or operator admin in operation mode to manage pooler" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05348: "pg_pool_ping cannot run inside a transaction block" +SQLSTATE: 25001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05349: "malloc memory failed in dynamic loader." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05350: "latch already owned by %lu, my pid %lu" +SQLSTATE: 58000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05351: "could not reattach to shared memory (key=%d): %m" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05352: "reattaching to shared memory returned unexpected address" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05353: "failed to release reserved memory region : error code %lu" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05354: "could not reattach to shared memory : error code %lu" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05355: "Init dictionary failed for invalid inputs" +SQLSTATE: 58000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05356: "multiple FilePath parameters" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05357: "Text search for Danish is not supported!" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05358: "Text search for Dutch is not supported!" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05359: "Text search for Finnish is not supported!" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05360: "Text search for French is not supported!" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05361: "Text search for German is not supported!" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05362: "Text search for Hungarian is not supported!" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05363: "Text search for Italian is not supported!" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05364: "Text search for Norwegian is not supported!" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05365: "Text search for Porter is not supported!" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05366: "Text search for Portuguese is not supported!" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05367: "Text search for Spanish is not supported!" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05368: "Text search for Swedish is not supported!" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05369: "Text search for Romanian is not supported!" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05370: "Text search for Russian is not supported!" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05371: "Text search for Turkish is not supported!" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05372: "FilePath parameter should be with DictFile/AffFile/StopWords" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05373: "multiple Synonyms parameters" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05374: "multiple CaseSensitive parameters" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05375: "too many lexemes in thesaurus entry" +SQLSTATE: F0000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05376: "thesaurus sample word '%s' isn't recognized by subdictionary (rule %u)" +SQLSTATE: F0000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05377: "thesaurus sample word '%s' is a stop word (rule %u)" +SQLSTATE: F0000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05378: "unrecognized regis node type: %u" +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05379: "affix flag '%s' is out of range" +SQLSTATE: F0000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05380: "invalid affix flag '%s'" +SQLSTATE: F0000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05381: "invalid character in affix flag '%s'" +SQLSTATE: F0000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05382: "unrecognized type of Conf->flagMode: %d" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05383: "invalid affix flag '%s' with 'long' flag value" +SQLSTATE: F0000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05384: "unrecognized state in parse_ooaffentry: %d" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05385: "invalid affix alias '%s'" +SQLSTATE: F0000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05386: "Ispell dictionary supports only 'default', 'long', and 'num' flag value" +SQLSTATE: F0000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05387: "number of aliases exceeds specified number %d" +SQLSTATE: F0000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05388: "affix file contains both old-style and new-style commands" +SQLSTATE: F0000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05389: "invalid affix alias '%s', max affix value:%d" +SQLSTATE: F0000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05390: "invalid len:%d" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05391: "The name of internal dictionary file is too long" +SQLSTATE: 42622 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05392: "FilePath must set an absolute path followed by 'file://'." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05393: "obs path can be accepted only in security mode." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05394: "FilePath must set an obs path info followed by 'obs://'." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05395: "FilePath must start with 'file://' or 'obs://': %s" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05396: "The name of dictionary file is too long" +SQLSTATE: 42622 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05397: "Dictionary file '%s' does not exist or cannot access the directory." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05398: "Dictionary File '%s' does not have READ permission." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05399: "TEXT SEARCH is not yet supported." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05400: "Dictionary file name value '%s' contain no %c" +SQLSTATE: 58000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05401: "Copy dictionary file '%s' failed: %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05402: "Send dictionary file to node fail: %m, command %s" +SQLSTATE: 58000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05403: "Send dictionary file to backup fail: %m, command %s" +SQLSTATE: 58000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05404: "Delete internal dictionary files failed for invalid inputs" +SQLSTATE: 58000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05405: "Chinese is not supported by ASCII!" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05406: "pound parser only support UTF8/GBK/ASCII encoding" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05407: "Zhparser is not supported!" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05408: "the parameter 'len' should not be negative." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05409: "the parameter 'len' is out of limit." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05410: "posbyte plus charlen greater than lenstr" +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05411: "requested character too large for encoding: %u" +SQLSTATE: 54000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05412: "ACL string cannot be NULL." +SQLSTATE: 22P02 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05413: "ACL item cannot be NULL." +SQLSTATE: 22P02 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05414: "invalid mode character: must be one of '%s' or '%s'" +SQLSTATE: 22P02 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05415: "not support: characters should belong to '%s' or '%s'" +SQLSTATE: 22P02 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05416: "Role '%s' can only attach to one node group." +SQLSTATE: 0LP01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05417: "hash num out of the int max, [%ld]" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05418: "cannot accpect arrays with dimensions out of range" +SQLSTATE: 2202E +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05419: "Parameters of complex_array_in are invalid." +SQLSTATE: 00000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05420: "array size cannot be negative." +SQLSTATE: 22003 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05421: "null pointer for nullbitmap." +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05422: "value '%s' is out of range for type %s" +SQLSTATE: 22003 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05423: "invalid input syntax for type byteawithoutordercol" +SQLSTATE: 22P02 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05424: "cek with OID %u not found" +SQLSTATE: 2200Z +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05425: "unrecognized BYTEA_WITHOUT_ORDER_COL_OUTPUT setting: %d" +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05426: "invalid input syntax for type byteawithoutorderwithequalcol" +SQLSTATE: 22P02 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05428: "unrecognized BYTEA_WITHOUT_ORDER_WITH_EQAL_COL_OUTPUT setting: %d" +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05429: "invalid Oid received in typmod" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05430: "more than one client master key named '%s'" +SQLSTATE: 42711 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05431: "more than one key named '%s'" +SQLSTATE: 42711 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05432: "more than one column encryption key named '%s'" +SQLSTATE: 42711 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05433: "input julian date is overflow" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05434: "the interval value is overflow, it can not perform as A db interval-style" +SQLSTATE: 22003 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05435: "could not stat bucket dir '%s': %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05436: "rel path is not a dir '%s': %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05437: "could not stat file under bucket dir '%s': %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05438: "expected 1 row, actual %u row" +SQLSTATE: YY015 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05439: "must be system admin to call gs_get_max_dbsize_name." +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05440: "cache lookup failed for attribute %d of relation %u, in node [%s]" +SQLSTATE: 29P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05441: "cache lookup failed for type oid %u" +SQLSTATE: 29P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05442: "Multi-column statistic needs at least two columns." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05443: "Multi-column statistic supports at most %d columns." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05444: "Replicate foreign table is not supported by extended statistic." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05445: "System catalog is not supported by extended statistic." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05446: "MCV column numbers are not matched." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05447: "localized string format value too long" +SQLSTATE: 22020 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05448: "The input NUMCacheEntry is invalid, which is Null." +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05449: "input format of numeric shouldn't bigger than length of buffer." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05450: "invalid data." +SQLSTATE: D0011 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05451: "invalid data for 'year = 0' ,value must be between -4712 and 9999, and not be 0" +SQLSTATE: 22020 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05452: "file length cannot be divisibed by 8k: file %s, offset %ld, nbytes %lu" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05453: "cheksum failed in file '%s'(computed: %d, recorded: %d)" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05454: "must be initial account to read files" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05455: "must be initial account to get file information" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05456: "must be initial account to get directory listings" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05457: "input zero npts for path_encode is invalid" +SQLSTATE: 22012 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05458: "collection list has not been initialized!" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05459: "It is not supported to obtain hotkeys statistics info from DN." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05460: "only system/monitor admin can obtain hotkeys info" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05461: "It is not supported to clean hotkeys statistics info on DN." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05462: "only system/monitor admin can clean hotkeys info" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05463: "invalid predlock locktype" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05464: "Please check if another schema is in redistribution in the same database." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05465: "system schema '%s' does not support transfer" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05466: "Only system admin can lock the cluster." +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05467: "temp table is not supported in online expansion" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05468: "Only system admin can use the function on coordinator" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05469: "Can not run the function during initdb or upgrade" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05470: "median is not yet supported." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05471: "median_transfn called in non-aggregate context" +SQLSTATE: 2F000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05472: "kill backend is prohibited during online expansion." +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05473: "must be system admin to cancel invalid queries running in all server processes" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05474: "the user have no right to change cgroup for session [%lu]!" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05475: "must be superuser account to recover node for wlm" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05476: "must be superuser account to clean node for wlm" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05477: "permission denied to get role name" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05478: "could not format inet value" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05479: "start value cannot be NaN" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05480: "stop value cannot be NaN" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05481: "step size cannot be NaN" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05482: "there should be at least one non-zero digit." +SQLSTATE: 42P24 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05483: "cannot convert infinity to numeric" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05484: "invalid input syntax for %s: '%s'" +SQLSTATE: 22P02 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05485: "ordered_set_startup function context info is null" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05486: "ordered-set aggregate support function called for non-ordered-set aggregate" +SQLSTATE: 29000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05487: "ordered-set aggregate support function does not support multiple aggregated columns" +SQLSTATE: 42P25 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05488: "ordered-set aggregate called in non-aggregate context" +SQLSTATE: 29000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05489: "wrong interpolate type" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05490: "percentile cannot be NULL" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05491: "percentile value %g is not between 0 and 1" +SQLSTATE: 22003 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05492: "missing row in percentile_cont" +SQLSTATE: P0002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05493: "could not convert format string from UTF-8: error code %lu" +SQLSTATE: 22021 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05494: "strftime(%s) failed: %m" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05495: "the timeout_threshold(%d) could not less than 0" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05496: "the timeout_threshold(%d) could not larger than 2147483" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05497: "An exception occurred when the locktag data is transferred!" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05498: "The input parameter %s is invalid!" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05499: "The input locktag is invalid!" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05500: "unsupported view in single node mode." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05501: "pgxc view cannot be executed on datanodes!" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05502: "permission denied to get system environment" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05503: "must be system admin or owner to use this function" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05504: "only system/monitor admin can query sql info view" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05505: "This function is not available in multipule nodes mode" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05506: "The function 'pg_wlm_get_session_info' is not supported now!" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05507: "The function 'gs_wlm_get_user_session_info' is not supported now!" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05508: "permission denied to clear snapshot" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05509: "This function is not supported in cluster mode." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05510: "Only system admin user can use this function" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05511: "invalid thread id %ld for it is 0 or postmaster pid." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05512: "invalid size of cnt" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05513: "Only system admin user can use this function." +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05514: "failed to get the parameter of resource pool %s!" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05515: "cgroup is not initialized or group name %s is invalid!" +SQLSTATE: 42P26 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05516: "%s logical cluster doesn't exist!" +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05517: "class group %s doesn't exist!" +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05518: "workload group %s doesn't exist!" +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05519: "invalid name of resource pool: NULL or ''" +SQLSTATE: 42602 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05520: "parent group '%s' doesn't have exception information!" +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05521: "cgroup is not initialized!" +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05522: "invalid name of logical cluster: NULL or ''" +SQLSTATE: 42602 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05523: "Fail to find central coordinator" +SQLSTATE: 29P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05524: "Only superuser can call function pg_autovac_status." +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05525: "out of range." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05526: "must be system admin to view the global information" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05527: "permission denied." +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05528: "must be system admin to reset bad block statistics counters" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05529: "unknow func name" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05530: "The length should not be nagative: %d.\n" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05531: "caller passed the error typcache entry" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05532: "more than one function named '%s', %d functions are found" +SQLSTATE: 42725 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05533: "table oid doesn't exist in system catalog table." +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05534: "table's distribution key is null." +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05535: "fail to execute query" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05536: "TABLESPACENAME NULL" +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05537: "Can not get temporary tables defination." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05538: "cache lookup failed for table %u." +SQLSTATE: 29P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05539: "Not a ordinary table or foreign table." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05540: "unsupported column type when converting to string" +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05541: "unsupported cmd alter table type %d" +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05542: "CREATE %s specifies too many column names" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05543: "Unexpected null value for the rel of vardata" +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05544: "the right operand should not be null in gincost_opexpr" +SQLSTATE: OP002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05545: "Unexpected null value for the plan" +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05546: "Unexpected null value for the path" +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05547: "Unexpected null value for the list record's head" +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05548: "interval_mul result month: %lf, day: %lf overflow" +SQLSTATE: 22015 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05549: "the input timestamp must not be null." +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05550: "timestamp out of range, negative Julian days is not supported" +SQLSTATE: 22020 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05551: "The result of timestampdiff out of range." +SQLSTATE: 22020 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05552: "the format is not correct" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05553: "Invalid day format: \'%s\' of the week" +SQLSTATE: 22020 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05554: "Week day out of range, the range is %d ... %d" +SQLSTATE: 22020 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05555: "timestamp out of range." +SQLSTATE: 22020 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05556: "invalid len: %d" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05557: "SPI_connect failed: %s" +SQLSTATE: SP001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05558: "unsupported function or view in %s mode." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05559: "null value not allowed" +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05560: "invalid null pointer input for text_to_cstring()" +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05561: "blob length: %d ,out of memory" +SQLSTATE: 53200 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05562: "blob/bytea size:%d, only can recevie blob/bytea less than 500M " +SQLSTATE: 53200 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05563: "unsupport type %s" +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05564: "could not determine data type of concat() input to variadic" +SQLSTATE: 42P38 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05565: "could not determine data type of format() input" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05566: "number is out of range" +SQLSTATE: 22003 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05567: "format specifies argument 0, but arguments are numbered from 1" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05568: "width argument position must be ended by '$'" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05569: "Invalid attribute relation option." +SQLSTATE: 02002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05570: "could not open index with OID %u" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05571: "SearchCatCacheCheck:current transaction is aborted, commands ignored until end of transaction block, firstChar[%c]" +SQLSTATE: 25P02 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05572: "pg_attribute does not have syscache with id %d" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05573: "namespace %s was invalid after retry" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05574: "relation %s was invalid after retry" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05575: "Table object with oid %u does not exists (has been dropped)" +SQLSTATE: 42P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05576: "cache lookup failed for cfg %u" +SQLSTATE: 29P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05577: "cache lookup failed for enumlabelid %u" +SQLSTATE: 29P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05578: "datanode '%s' does not exist" +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05579: "null group_members for tuple %u" +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05580: "unrecognized distribution key found in source like table" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05581: "Can't get nodeoid for relation %s" +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05582: "There is no installation group for system catalogs!" +SQLSTATE: 55000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05583: "can not open pg_resource_pool" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05586: "Catalog attribute %d for relation '%s' has been updated concurrently" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05587: "Catalog is missing %d attribute(s) for relid %u" +SQLSTATE: 02000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05588: "bucket key column's number is not a 1-D smallint array" +SQLSTATE: 2200E +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05589: "could not find pg_class entry for %u" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05590: "pg_class entry for relid %u vanished during RelationGetIndexList" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05591: "could not open parent relation with OID %u" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05592: "unknown attrKind %u" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05593: "unexpected duplicate for tablespace %u, relfilenode %u" +SQLSTATE: LL002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05594: "corrupted hashtable" +SQLSTATE: LL002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05595: "recover failed could not write to relation mapping file '%s': %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05596: "recover failed could not fsync relation mapping file '%s': %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05597: "recover failed could not close relation mapping file '%s': %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05598: "relmap_redo: wrong size %d in relmap update record" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05599: "Invalid tablespace relation option." +SQLSTATE: 02002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05600: "pg_localtime must not be null!" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05601: "parse error on statement %s." +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05602: "parse error on query %s." +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05603: "could not load library '%s', get error report failed" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05604: "function returned NULL" +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05605: "NULL input for detoast datum" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05606: "NULL input for detoast datum packed" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05607: "Division by zero when calculate element numbers!" +SQLSTATE: 22012 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05608: "invalid path:%s" +SQLSTATE: 58P03 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05609: "Current user id is invalid. Please try later." +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05610: "Abnormal process. UserOid has been reseted. Current userOid[%u], reset username is %s." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05611: "bogus lock file '%s',could not unlink it : %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05612: "bogus data in lock file '%s': '%s', please kill the instance process, than remove the damaged lock file" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05613: "Normal user is not allowed to use HA channel!" +SQLSTATE: 28000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05614: "Only applications can connect remotely." +SQLSTATE: 28000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05615: "Forbid remote connection via internal maintenance tools." +SQLSTATE: 28000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05616: "Inner maintenance tools only for the initial user." +SQLSTATE: D0011 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05617: "Only allow initial user or operator admin to use operation tool gs_roach." +SQLSTATE: D0011 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05618: "Too many CMA connections already, current/reserved: %d/%d" +SQLSTATE: 53300 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05619: "Too many clients already, current/active: %d/%d, max_connections/reserved: %d/%d." +SQLSTATE: 53300 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05620: "pg_server_to_any returns null." +SQLSTATE: 58000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05621: "The text entered contains illegal characters!" +SQLSTATE: 22P05 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05622: "unexpected stragety element: %d" +SQLSTATE: D0011 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05623: "failed to initialize %s to " INT64_FORMAT +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05624: "Incorrect backend environment variable $PGDATA" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05625: "unknow guc variable type: %d" +SQLSTATE: 42P24 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05628: "ALTER SYSTEM SET does not support 'set to default'." +SQLSTATE: OP003 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05629: "unrecognized ALTER SYSTEM SET stmt type: %d" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05630: "unsupport parameter: %s\nALTER SYSTEM SET only support POSTMASTER-level, SIGHUP-level and BACKEND-level guc variable,\nand it must be allowed to set in postgresql.conf." +SQLSTATE: 55P02 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05631: "invalid value for parameter '%s': '%s'" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05632: "write %s failed: %s." +SQLSTATE: 58P04 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05633: "File does not exits or it is being used.Can not open file: %s." +SQLSTATE: 58P03 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05634: "could not rename file '%s' to '%s'" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05635: "GaussDB can't support idle time less than 0 or more than %d seconds." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05636: "invalid value for GUC parameter of directory type." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05637: "invalid parameter value for 'log_filename'." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05638: "Current degree of parallelism can only be set within [-64,64]" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05639: "Failed to get logic cluster information by user(oid %d)." +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05640: "permission denied to set role '%s'" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05641: "first stage encryption password failed" +SQLSTATE: 28P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05642: "second stage encryption password failed" +SQLSTATE: 28P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05643: "Invalid password stored" +SQLSTATE: 28P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05644: "replication_type is not allowed set 1 in Current Version. Set to default (0)." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05645: "Length of file or line is too long." +SQLSTATE: F0000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05646: "Get GAUSSHOME failed, please check." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05647: "calculated CRC checksum does not match value stored in file" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05648: "could not read file '%s': read %d of %zu" +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05649: "byte ordering mismatch" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05650: "Row Level Security is not supported." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05651: "'%s' is not a normal table" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05652: "do not support row level security policy on temp table '%s'" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05653: "do not support row level security policy on dfs table '%s'" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05654: "%s Memory Context could not find block containing block" +SQLSTATE: OP002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05655: "%s Memory Context could not find block" +SQLSTATE: OP002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05656: "Failed while creating shared memory context '%s' from standard context'%s'." +SQLSTATE: OP001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05657: "The block was freed before this time." +SQLSTATE: OP002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05658: "The memory use was overflow." +SQLSTATE: OP002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05659: "detected write past chunk end in %s" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05660: "Error on %s Memory Context happened when executing memcpy_s:%d" +SQLSTATE: OP001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05661: "failed to initialize rwlock in AllocSetContextCreate." +SQLSTATE: D0014 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05662: "could not find block" +SQLSTATE: OP001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05663: "invalid operation on memory context" +SQLSTATE: D0011 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05664: "We can not set memory context parent with different session number" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05665: "Failed to initilize the memory(%uM) of search server, maybe it exceed the half of maxChunksPerProcess(%dM)." +SQLSTATE: 53200 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05666: "portal is NULL" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05667: "Accessing null portal entry found in portal hash table." +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05668: "cannot perform transaction commands inside a cursor loop that is not read-only" +SQLSTATE: 2D000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05669: "pinned portal is not ready to be auto-held" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05670: "data cache block %d is not owned by resource owner %s" +SQLSTATE: 01007 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05671: "meta cache block %d is not owned by resource owner %s" +SQLSTATE: 01007 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05672: "catcache is not owned by resource owner %s" +SQLSTATE: 01007 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05673: "catcache list is not owned by resource owner %s" +SQLSTATE: 01007 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05674: "fakepart reference %u is not owned by resource owner %s" +SQLSTATE: 01007 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05675: "plancache reference is not owned by resource owner %s" +SQLSTATE: 01007 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05676: "tupdesc is not owned by resource owner %s" +SQLSTATE: 01007 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05677: "snapshot is not owned by resource owner %s" +SQLSTATE: 01007 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05678: "pthread mutex is not owned by resource owner %s" +SQLSTATE: 01007 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05679: "partition map reference is not owned by resource owner %s" +SQLSTATE: 01007 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05680: "insufficient memory allowed for sort, allowed memory is %ld byte, available memory is %ld byte" +SQLSTATE: 53000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05681: "ActiveTapes should be larger than zero." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05682: "number need be a positive number in bitwise operation" +SQLSTATE: 22003 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05683: "Failed to obtain address of the block!" +SQLSTATE: 29P02 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05684: "could not write to row store temp file: %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05685: "could not read from row store temp file: %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05686: "row store : dn node id(%d) exceeds max bank num(%d)" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05687: "row store : cn node id(%d) exceeds max bank num(%d)" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05688: "failed to get cn/dn node id for OID %u" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05689: "row store : cannot write cell into either memory or disk" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05690: "row store : expect data from row store, but no data read" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05691: "row store : expect to read node_id = %u but got %d" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05692: "could not seek store temp file: %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05693: "row store : expect to read from file but no file opened" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05694: "row store : cannot determine msg len when %s" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05695: "row store : msg and msglen mismatch when %s" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05696: "row store : LZ4_compress_default failed trying to compress the data" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05697: "row store : unexpected original len of msg when decompressing data" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05698: "row store : unexpected compressed len when decompressing data" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05699: "invalid sortkey value: attrNum = %d, sortOperators oid = %d in position of %d." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05700: "Backward skip tupples is not support yet." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05701: "Skip n tuples must bigger than 0." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05702: "retrieved tuples over bounded size" +SQLSTATE: 42P25 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05703: "cannot have more than %d runs for an external sort" +SQLSTATE: 54000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05704: "Cannot found valid cid in UsedComboCids. UsedComboCids: %d, tuple cid: %u." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05705: "snapshot is not active" +SQLSTATE: 29000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05706: "Built-in functions should not be added into pg_proc" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05707: "(s|sender init)\tFailed to init sender[%d] for %s." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05708: "Failed to read response from Local Stream Node, Detail: Node %s, Plan Node ID %u, SMP ID %d" +SQLSTATE: XX003 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05709: "(s|libcomm_cpu_rate init)\tFailed to malloc g_libcomm_used_rate." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05710: "(r|receivers init)\tFailed to malloc g_r_node_sock[%d]." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05711: "(r|receivers init)\tFailed to malloc g_receivers[%d]." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05712: "(s|sender init)\tFailed to malloc g_s_node_sock[%d]." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05713: "(s|sender init)\tFailed to malloc g_delay_info[%d]." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05714: "(s|sender init)\tFailed to malloc g_senders[%d]." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05715: "(r|cmailbox init)\tFailed to init cmailbox." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05716: "(s|pmailbox init)\tFailed to init pmailbox." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05717: "(s|pmailbox init)\tFailed to init g_usable_streamid." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05718: "Failed to build mailbox[%d]." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05719: "communicator palloc CommReceiverPIDS mempry failed" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05720: "(s|flow ctrl init)\tFailed to init poller list:%s." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05721: "(r|flow ctrl init)\tFailed to do listen:%s." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05722: "(r|flow ctrl init)\tFailed to init poller list:%s." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05723: "(s|flow ctrl)\tFailed to do epoll wait[%d] with errno[%d]:%s." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05724: "(r|flow ctrl)\tFailed to do epoll wait[%d] with errno[%d]:%s." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05725: "(r|recv loop)\tFailed to do epoll wait[%d] with errno[%d]:%s." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05726: "(r|receiver init)\tFailed to init receiver listen socket:%s." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05727: "(r|receiver init)\tFailed to init receiver semaphore:%s." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05728: "(r|receiver init)\tFailed to init thd_receiver_id:%s." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05729: "(r|receiver init)\tFailed to init poller list:%s." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05730: "(r|receiver init)\tFailed to add libcomm listen socket[%d] and version[%d] to poller list." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05731: "(r|receiver init)\tLibcomm init receiver threads fail, wait(10s) timeout, please check the machine resource usage, and try again later." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05732: "key '%s' is given more than once!" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05733: "missing data source to be connected for first parameter." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05734: "data source '%s' does not exist" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05735: "missing statement to be executed for second parameter." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05736: "for ODBC driver, we need a DSN!" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05737: "Initialize ODBC Connector failed due to insufficient memory." +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05738: "Invalid string length" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05739: "SQL can not be null!" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05740: "Extension Connector is not supported in current version." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05741: "must be system admin to use this function" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05742: "Un-support feature in B compatibility" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05743: "Column %d receive unexpected C_TYPE %d" +SQLSTATE: 42804 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05744: "unexpected null string in column %d" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05745: "query in function exec_on_extension returns too many columns" +SQLSTATE: 54011 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05746: "SQL_ERROR: unexpected data while converting it into bool." +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05747: "libodbc.so.1 or libodbc.so.2 not found, which is needed to run the Extension Connector." +SQLSTATE: 58P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05748: "Can NOT find function '%s()' in libodbc.so.1 or libodbc.so.2." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05749: "unsupport data type: [%s] found in record definition." +SQLSTATE: 42804 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05750: "unsupport data type found, type oid: %d" +SQLSTATE: 42804 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05751: "function returning record called in context that cannot accept type record" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05752: "Failed to found one dummy server." +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05753: "Only one dummy server is allowed to exist in one database." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05754: "build global Dummy servder cache hash table failed" +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05755: "could not initialize Dummny server hash table" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05756: "foreign table server is invalid." +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05757: "cannot find foreign server with given name %s ." +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05758: "totalrows is invalid" +SQLSTATE: HV000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05759: "Failed to get obskey from options of DWS." +SQLSTATE: HV000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05760: "No 'format' option provided." +SQLSTATE: HV000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05761: "Invalid location value for the foreign table." +SQLSTATE: HV000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05762: "Failed to get obskey from cipher file" +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05763: "Incorrect backend environment variable $GAUSSHOME" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05764: "Failed to open file %s, errno = %d, reason = %s." +SQLSTATE: HV000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05765: "The %s file is empty." +SQLSTATE: HV000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05766: "Failed to read file %s." +SQLSTATE: HV000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05767: "Failed to parse %s file: %s." +SQLSTATE: HV000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05768: "Failed to parse %s file: unkonwn error." +SQLSTATE: HV000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05769: "Must exist array format in the %s json file." +SQLSTATE: HV000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05770: "No such region name: %s in %s file." +SQLSTATE: HV000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05771: "The length of str: %d is less than %d" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05772: "Array length %d or %d is less than %d" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05773: "[CapView] OOM in capture view" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05774: "[CapView] could not write to view perf file: %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05775: "[CapView] could not ftell json file :%m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05776: "[CapView] pls check database name and view name!" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05777: "[CapView] view name is too long!" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05778: "[CapView] invalid view name!" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05779: "[CapView] only system/monitor admin can capure view" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05780: "[CapView] in capture_view_to_json proc, view_name or is_all_db can not by null" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05781: "[CapView] in capture_view_to_json proc, is_all_db can only be 0 or 1" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05782: "[CapView] SPI_connect failed: %s" +SQLSTATE: SP001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05783: "[CapView] capture view to json failed! detail: %s" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05784: "[CapView] json file can not by NULL" +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05785: "[CapView] calc realpath failed" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05786: "[CapView] could not open log file '%s': %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05787: "[CapView] could not chmod view json file '%s': %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05788: "[CapView] calc localtime failed" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05789: "[CapView] invalid query" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05790: "Invalid percentile syntax" +SQLSTATE: XX006 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05791: "Too many percentile values" +SQLSTATE: XX006 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05792: "get statement_history relation failed" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05793: "[UniqueSQL] check unique sql array slot index!" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05794: "[UniqueSQL] invalid 'r' message. node: %s" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05795: "[UniqueSQL] palloc failed for results!" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05796: "[UniqueSQL] during get stat from remote, failed to send/recv data!" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05797: "[UniqueSQL] palloc0 error when querying unique sql stat!" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05798: "only system/monitor admin can query unique sql view" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05799: "This view cannot be select during upgrade" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05800: "[UniqueSQL] recv invalid sql ids count" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05801: "out of memory during allocating list element." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05802: "Cleanup global unique sql info only support on CN nodes." +SQLSTATE: 01000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05803: "First parameter is wrong. USAGE: [GLOBAL/LOCAL],[ALL/BY_USERID/BY_CNID],[VALUE]" +SQLSTATE: 01000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05804: "Second parameter is wrong. USAGE:[GLOBAL/LOCAL],[ALL/BY_USERID/BY_CNID],[VALUE]" +SQLSTATE: 01000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05805: "only system/monitor admin can reset unique sql" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05806: "[user] cannot alloc memory for user stat" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05807: "only system/monitor admin can get user statistics info" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05808: "out of memory of current node." +SQLSTATE: 53200 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05809: "could not establish connection" +SQLSTATE: 08001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05810: "Superuser privilege is need to operate wdr_xdb_query" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05811: "wrong number of arguments" +SQLSTATE: 54023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05812: "connection '%s' not available" +SQLSTATE: 08003 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05813: "could not send query: %s" +SQLSTATE: 02002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05814: "failed to set single-row mode for dblink query" +SQLSTATE: 02002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05815: "remote query result rowtype does not match the specified FROM clause rowtype" +SQLSTATE: 42804 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05816: "report params is null" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05817: "report type can not = %s" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05818: "report scope can not = %s" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05819: "dashTitle or tableTitle is null" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05820: "out of the Contents" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05821: "no available data for report" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05822: "dashboard title is not assigned" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05823: "table title is not assigned" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05824: "query is null" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05825: "list is null, can not free" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05826: "table is not null when overturn table" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05827: "no this type of report_scope" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05828: "calc trx diff count failed!" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05829: "set the snapshotid" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05830: "snapshot id is invalid" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05831: "Instance reset time is different" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05832: "invalid report type, should be %s or %s or %s" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05833: "invalid report scope, should be %s or %s" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05834: "invalid report node name." +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05835: "The 3rd argument 'report_type' and 4th argument 'report_scope' should not be null" +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05837: "only system admin can kill snapshot thread" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05838: "kill snapshot thread failed %s" +SQLSTATE: OP001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05839: "kill snapshot thread failed, exceeds MAX_RETRY_COUNT(%d)" +SQLSTATE: OP001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05840: "set lockwait_timeout failed: %s" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05841: "Superuser privilege is need to operate snapshot" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05842: "WDR snapshot request can not be accepted, please retry later" +SQLSTATE: OP001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05843: "Cannot respond to WDR snapshot request" +SQLSTATE: OP001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05844: "query is NULL" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05845: "this query can not get datum values" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05846: "create sequence failed" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05847: "update snapshot end time stamp filled" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05848: "wdr_snapshot_interval is 0" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05849: "invalid query: %s" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05850: "clean table of snap_%s is failed" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05851: "WDR snapshot analyze table:%s not exist" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05852: "insert into tables_snap_timestamp start time stamp is failed" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05853: "insert into snap_%s is failed" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05854: "update tables_snap_timestamp end time stamp is failed" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05855: "clean snapshot id %lu is failed in snapshot table" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05856: "clean snapshot id %lu is failed in tables_snap_timestamp table" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05857: "query or the tablename is null when snapshot create stat table" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05858: "can not create snapshot stat table" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05859: "create WDR snapshot data table failed" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05860: "spilt str can not null" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05861: "insert into tables_snap_timestamp start time stamp failed" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05862: "create index failed" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05863: "analyze table, connection failed: %s" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05864: "snapshot thread SPI_connect failed: %s" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05865: "The encryption key can not be empty!" +SQLSTATE: 39000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05866: "The encryption key must be %d~%d bytes and contain at least three kinds of characters!" +SQLSTATE: 39000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05867: "The decryption key can not be empty!" +SQLSTATE: 39000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05868: "Decode the cipher text failed or the ciphertext is too short!" +SQLSTATE: 39000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05869: "Encrypt OBS AK/SK failed." +SQLSTATE: 39000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05870: "Encrypt OBS AK/SK internal error" +SQLSTATE: 39000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05871: "Decrypt OBS AK/SK failed." +SQLSTATE: 39000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05872: "Decrypt OBS AK/SK internal error." +SQLSTATE: 39000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05873: "Failed to get OBS certificate file." +SQLSTATE: 39000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05874: "No key file obsserver.key.cipher" +SQLSTATE: 58P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05876: "Failed to get EC certificate file: get env GAUSSHOME failed." +SQLSTATE: 39000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05877: "No key file datasource.key.cipher" +SQLSTATE: 58P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05878: "Encrypt EC internal error: dest cipher length is too short." +SQLSTATE: 39000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05879: "Decrypt EC internal error: dest plain length is too short." +SQLSTATE: 39000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05880: "it's an encrypted cluster, but parameter not initialized!" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05881: "encrypt failed, return code is %u!" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05882: "encrypt failed after retry three times, error code is %u!" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05883: "decrypt failed, return code is %u!" +SQLSTATE: 22026 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05884: "decrypt failed after retry three times, error code is %u!" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05885: "Transparent encryption Getting environment variable NODE_AGENT_HOME failed.\n" +SQLSTATE: 39000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05886: "Transparent encryption Getting environment variable MPPDB_KRB5_FILE_PATH failed.\n" +SQLSTATE: 39000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05887: "Get environment of GAUSSHOME failed.\n" +SQLSTATE: 39000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05888: "environment of GAUSSHOME is too long.\n" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05889: "$GAUSSHOME is not set or it's NULL.\n" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05890: "Invalid character '%s' in $GAUSSHOME.\n" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05891: "transparent_encrypt_kms_url and transparent_encrypt_kms_region should not be empty when transparent encryption enabled.\n" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05892: "Failed to get ak/sk for transparent encryption.\n" +SQLSTATE: 39000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05893: "Failed to fork subprocess to get DEK for transparent encryption. Failure command is: [%s]\n" +SQLSTATE: 39000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05894: "Failed to get DEK for transparent encryption. Failure command is [%s], error message is [%s]\n" +SQLSTATE: 39000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05895: "Failed to get decode DEK for transparent encryption. Failure content is [%s].\n" +SQLSTATE: 39000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05896: "Decode transparent_encrypted_string failed, please check it.\n" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05897: "Decrypt transparent_encrypted_string failed, please check it!\n" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05898: "Out of memory while getting transparent encryption iv.\n" +SQLSTATE: 53200 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05899: "TDE is not supported." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05900: "The data type %u is not supported for bloom filter curently." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05901: "failed to init sigpool mutex: %m." +SQLSTATE: 55P03 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05902: "failed to lock sigpool mutex: %m." +SQLSTATE: 55P03 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05903: "failed to unlock sigpool mutex: %m." +SQLSTATE: 55P03 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05904: "log2m = %d is out of range, it should be in range %d to %d" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05905: "regwidth = %d is out of range, it should be in range %d to %d" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05906: "expthresh = %ld is out of range, it should be in range %d to %d" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05907: "sparseon should be %d or %d" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05908: "no such parameters of input" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05909: "hll_add_trans_normal outside transition context" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05910: "hll_union_collect_compressed outside transition context" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05911: "hll_union_trans_normal outside transition context" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05912: "hll_union_trans_compressed context" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05913: "Fail to build partitionmap for realtion'%s'." +SQLSTATE: 42P23 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05914: "Can not run transaction to remote nodes during recovery." +SQLSTATE: 25009 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05915: "could not find tuple with partition OID %u." +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05916: "Fail to build partitionmap for partitioned table '%s'." +SQLSTATE: 42P23 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05917: "Fail to build partitionmap for partitioned table '%u'." +SQLSTATE: 42P23 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05918: "interval tablespace column's number is not a oid array" +SQLSTATE: 2200E +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05919: "invalid partitioned table relaiton or partition table oid" +SQLSTATE: 29P02 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05920: "Not find the target partiton %u" +SQLSTATE: 20000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05921: "Failed to set the default password for private key File: '%s'" +SQLSTATE: OP002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05922: "too many writing times(>%d):%d, write %d, errno %d" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05923: "%d: write %d, errno %d, detail:%s" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05924: "unrecognized error:%d, write %d, errno %d" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05925: "failed to initialize SSL library, detail:%s" +SQLSTATE: OP002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05926: "failed to create the SSL context, detail:%s" +SQLSTATE: OP002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05927: "invlid cert file directory" +SQLSTATE: OP002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05928: "failed to load the root CA Certificate %s(%s)" +SQLSTATE: OP002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05929: "failed to certificate the %s(%s) file in SSL context" +SQLSTATE: OP002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05930: "stat cipher file '%s' failed, detail: %s" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05931: "stat rand file '%s' failed, detail: %s" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05932: "cipher file '%s' has group or world access;permissions should be u=rw (0600) or less with Error: %s" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05933: "rand file '%s' has group or world access;permissions should be u=rw (0600) or less with Error: %s" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05934: "Failed to create the SSL." +SQLSTATE: OP002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05935: "Failed to set the socket(%d) for SSL" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05936: "Failed to certificate file '%s' in SSL object" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05937: "Failed to check the private key File." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05938: "SSL connect failed, code %d" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05939: "gz_open failed: errno %d" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05940: "gz_read failed: offset %ld, errno %d, returned size %d" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05941: "vfd_file_open failed: vfd(-1), errno %d, file '%s' " +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05942: "vfd_file_open2 failed: vfd(-1), errno %d, file '%s' " +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05943: "vfd_file_read2 failed: errno %d, returned size %d" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05944: "vfd_file_write2 failed: errno %d, returned size %d" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05945: "unzOpen2_64 failed: file '%s'" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05946: "unzGetGlobalInfo64 failed: file '%s', err %d" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05947: "unzOpenCurrentFile failed: file '%s', err %d" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05948: "unzCloseCurrentFile failed: err %d" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05949: "unzReadCurrentFile failed: err %d" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05950: "unzGoToNextFile failed: err %d" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05951: "unzOpenCurrentFile failed: err %d" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05952: "The key string of 'R' request could not be NULL" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05953: "estimate_memory will out of MAX_INT, orign[%d], addMemory[%d]" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05954: "invalid compute pool message subtype %d" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05955: "only coordinator could receive compute pool message type 'I'" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05956: "only datanode could receive compute pool message type 'R'" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05957: "only coordinator could receive compute pool message type 'C'" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05958: "only coordinator could receive compute pool message type 'D'" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05959: "len is invalid[%d]" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05960: "Failed to get runtime info from the compute pool." +SQLSTATE: 08006 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05961: "Failed to send request to ccn: %s for cp runtime info! cause: %s" +SQLSTATE: 57P03 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05962: "No CCN in cluster!" +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05963: "Failed to send request to ccn: %s for dn list! dnnum: %d, cause: %s" +SQLSTATE: 57P03 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05964: "Failed to get dn list from CCN: %s, cause: %s" +SQLSTATE: 57P03 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05965: "Failed to send request to CCN." +SQLSTATE: 57P03 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05966: "invalid ccn index %d" +SQLSTATE: 42P17 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05967: "invalid size [%lu]" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05968: "something wrong in CPmonitor thread, so reboot CPmonitor thread." +SQLSTATE: 57P03 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05969: "Failed to get the values of $GAUSSHOME" +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05970: "Failed to open config file to connect compute pool. file path: %s" +SQLSTATE: 58P03 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05971: "Failed to get the size of the config file to connect compute pool. file path: %s" +SQLSTATE: 58P03 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05972: "Failed to get the data of the config file to connect compute pool. file path: %s" +SQLSTATE: 58P03 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05973: "'cpip', 'cpport', 'username', 'password', 'version', 'dnnum', 'pl' are needed to connect to the compute pool." +SQLSTATE: 42P17 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05974: "pl should be greater than 0, pl is %d current." +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05975: "no valid config info in cp_client.conf." +SQLSTATE: 42P17 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05976: "get reload signal in %s" +SQLSTATE: D0011 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05977: "the config of node is changed." +SQLSTATE: F0000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05978: "init transaction error, data nodes or coordinators num init failed" +SQLSTATE: D0014 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05979: "no the version of the compute pool is provided." +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05980: "[DYWLM] Failed to send dynamic workload params to CCN!" +SQLSTATE: 08006 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05981: "Unknow message type '%c' for dywlm client send." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05982: "[DYWLM] Failed to receive queue info from CCN, error info: %s" +SQLSTATE: 08006 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05983: "out of memory of current node, please check statement count" +SQLSTATE: 53200 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05984: "failed to enqueue in central node" +SQLSTATE: 58000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05985: "resource pool: %s does not exist" +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05986: "out of memory of central node" +SQLSTATE: 53200 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05987: "group name %s does not exist on central node" +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05988: "the counts of waiting statements have reached the limitation." +SQLSTATE: 54000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05989: "out of memory of current memory." +SQLSTATE: 53200 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05990: "Central node is recovering now, please retry later." +SQLSTATE: 08006 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05991: "Central Node cannot get node group %s" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05992: "Central node cannot get node group %s" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05993: "client recover failed" +SQLSTATE: 58000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05994: "records is NULL." +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05995: "out of memory of records." +SQLSTATE: 53200 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05996: "dynamic workload record number is not correct!" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05997: "invalid retcode [%d]" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05998: "invalid paras." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-05999: "This function could not execute on datanode." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06000: "Unknow message type '%c' for client records." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06001: "invalid name of node group: NULL or ''" +SQLSTATE: 42602 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06002: "Error: environment variable '%s' contain invaild symbol '%s'.\n" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06003: "Cgroup is not mounted or enable_control_group is false" +SQLSTATE: 0B000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06004: "move node failed, out of memory." +SQLSTATE: 53200 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06005: "%s space is out of %s's %s space limit" +SQLSTATE: 57014 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06006: "the space used on DN has exceeded the sql use space limit (%d kB)." +SQLSTATE: 57014 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06007: "Remote Sender: Failed to send command to datanode" +SQLSTATE: 22003 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06008: "Normal user could not readjust other user space" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06009: "cannot open database" +SQLSTATE: 58000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06010: "user space is out of space limit" +SQLSTATE: 57014 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06011: "The memory usage of %s is out of control. it will exit!" +SQLSTATE: 0B000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06012: "role %u does not exist" +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06013: "resource pool %u does not exist in htab." +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06014: "resource pool with control_group %s has been existed in the two-layer resource pool list " +SQLSTATE: 42710 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06015: "cannot create resource pool with class '%s', it has been existed in the normal resource pool list" +SQLSTATE: 42710 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06016: "mem_percent of two-layer resource pools cannot be 0" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06017: "memory percent value is beyond the available range." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06018: "resource pool information of '%s' is missing." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06019: "cannot alter control_group between different groups or alter to a different layer. " +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06020: "resource pool with control group '%s' already exists" +SQLSTATE: 42710 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06021: "cannot alter normal resource pool to the two-layer resource pool list." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06022: "mem_percent of two-layer resource pool cannot be altered to 0." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06023: "redundant options: 'mem_percent'" +SQLSTATE: 22002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06024: "mem_percent has to be in the range of 0-100." +SQLSTATE: 22003 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06025: "redundant options: 'active_statements'" +SQLSTATE: 44000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06026: "active_statements value can't be %d." +SQLSTATE: 22003 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06027: "Failed to initialize Cgroup. Please check Workload manager is enabled and Cgroups have been created!" +SQLSTATE: 58000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06028: "redundant options: 'max_dop'" +SQLSTATE: 22002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06029: "redundant options: 'memory_limit'" +SQLSTATE: 22002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06030: "parent is not supported currently!" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06031: "redundant options: 'io_limits'" +SQLSTATE: 22002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06032: "io_limits can't be %d." +SQLSTATE: 22003 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06033: "redundant options: 'io_priority'" +SQLSTATE: 22002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06034: "io_priority can only be named as 'High', 'Low', 'Medium' and 'None'." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06035: "redundant options: 'nodegroup'" +SQLSTATE: 22002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06036: "The node group name is invalid" +SQLSTATE: 42602 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06037: "Do not support to create resource pool in non-logic cluster mode." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06038: "The node group %s is not exist." +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06039: "Only create resource pool in self logic cluster." +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06040: "The node group %s is not a logic cluster." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06041: "redundant options: 'is_foreign'" +SQLSTATE: 22002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06042: "Must specify nodegroup option when creating resource pool in logic cluster mode." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06043: "Must specify is_foreign option when creating resource pool in logic cluster mode." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06044: "Can't alter node group option when altering resource pool between different logical clusters." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06045: "Can't modify is_foreign option when altering resource pool." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06046: "Can't get the %s logic cluster information by hash table." +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06047: "Only one resource pool with is_foreign option is permitted for one logical cluster. The resource pool '%u' has been created for foreign users." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06048: "Can't create parent resource pool used for foreign users." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06049: "cannot get resource pool information of %u" +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06050: "cache lookup failed for resource pool id %u, it is removed?" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06051: "alloc memory for node group in htab failed" +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06052: "failed to map the control group file for logic cluster %s during checking. Please check if it has been created." +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06053: "node group %s is removed" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06054: "get node group failed for group name %s" +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06055: "The create resource pool statement buffer is too small(%d)." +SQLSTATE: 42P26 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06056: "must be system admin or vcadmin to create resource pool" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06057: "default session_respool 'invalid_pool' is not allowed to set by user" +SQLSTATE: 42602 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06058: "The memory of resource pool htab cannot be out of %dMB. please drop the unnecessary resource pools" +SQLSTATE: 42P26 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06059: "must be system admin or vcadmin to change resource pools" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06060: "user %u does not exist" +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06061: "user set perm space failed because its used perm space is out of perm space limit." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06062: "user set temp space failed because its used temp space is out of temp space limit." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06063: "user set spill space failed because its used spill space is out of spill space limit." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06064: "user set group user failed because group user's used perm space will be out of perm space limit." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06065: "user set group user failed because group user's used temp space will be out of temp space limit." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06066: "user set group user failed because group user's used spill space will be out of spill space limit." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06067: "group user's %s space cannot be less than its child user's %s space limit." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06068: "need two valid user." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06069: "cannot get resource pool information of user %u" +SQLSTATE: 42P26 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06070: "user %u cannot be used as user group, for it uses non-parent resource pool %s" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06071: "please specify resource pool when create or alter user with user group %u" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06072: "cannot get resource pool information of resource pool %u" +SQLSTATE: 42P26 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06073: "resource pool %u cannot be used, for it is used by user %u" +SQLSTATE: 55006 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06074: "please specify user group when create or alter user with child resource pool %u." +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06075: "non-child resource pool %u cannot be used for child user" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06076: "parent user's resource pool(control_group is '%s') and resource pool specified(control_group is '%s') don't match" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06077: "cannot use resource pool %u when alter user with 'user group default'" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06078: "user %u has child users, cannot alter it with any operation" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06079: "please specify 'user group default' when create or alter user with non-child resource pool %u." +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06080: "please specify resource pool when alter user with 'user group default'" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06081: "super user cannot use resource pool in the two-layer resource pool list." +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06082: "cannot find resource pool with user: %u" +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06083: "Failed to get logic cluster information by user(oid %u)." +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06084: "session_respool name '%s' does not exist" +SQLSTATE: 42602 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06085: "parent resource pool '%s' cannot be used as sesion_respool" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06086: "resource pool '%s' is not in logical cluster '%s'." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06087: "logic cluster %s is not created correctly" +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06088: "the cgroup file for logic cluster %s is not mapped. Please check if it has been created." +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06089: "logic cluster %s is not in logic cluster hash table. " +SQLSTATE: 29P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06090: "hypopg: access method '%s' does not exist" +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06091: "hypopg: access method '%s' is not supported" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06092: "hypopg: column '%s' does not exist" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06093: "hypopg: functions in index expression must be marked IMMUTABLE" +SQLSTATE: 42P17 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06094: "hypopg: could not determine which collation to use for index expression" +SQLSTATE: 42P22 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06095: "hypopg: collations are not supported by type %s" +SQLSTATE: 42804 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06096: "hypopg: '%s' is not an ordinary table" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06097: "hypopg: cannot use more thant %d columns in an index" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06098: "hypopg: access method '%s' does not support unique indexes" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06099: "hypopg: access method '%s' does not support multicolumn indexes" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06100: "hypopg: index creation on system columns is not supported" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06101: "hypopg: estimated index row size %d exceeds maximum %ld" +SQLSTATE: 54000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06102: "not support for distributed scenarios yet." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06103: "hypopg: SQL order #%d is not a CREATE INDEX statement" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06104: "hypopg: cannot access temporary or unlogged relations during recovery" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06105: "you must enter a query statement." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06106: "can not parse query: %s." +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06107: "can not advise for multiple queries." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06108: "can not advise for query: %s." +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06109: "attribute name lookup failed for table oid %u, attnum %d." +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06110: "can not advise for temporary table: %s." +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06111: "analyze prefetch block list can not be NULL" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06112: "records n should not be zero" +SQLSTATE: 22012 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06113: "Multi-columns statistic does not support hist/corr/mcelem/dechist" +SQLSTATE: 42P10 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06114: "The column info is changed, Do analyze again for the relation: %s." +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06115: "expected none dependency record for partition's CUDesc/Delta table, found %ld" +SQLSTATE: OP002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06116: "Failed on finding partitioned tuple!\n" +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06117: "invalid nodeId: %s(%d)" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06118: "Invalid node group member found while doing table switch (%u,%u)" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06119: "could not open relation %s(%u) on node %s." +SQLSTATE: 42P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06120: "Both table should have the same hashbucket option(on or off)" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06121: "COPY_OBS does not implement in CopySendEndOfRow" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06122: "could not get data from COPY source" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06123: "copy from stdin failed because receive close conn message type 0x%02X" +SQLSTATE: 08P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06124: "Cannot use OS-reserved file as COPY destination." +SQLSTATE: 42602 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06125: "COPY to or from a file is prohibited for security concerns" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06126: "could not open header file '%s': %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06127: "'%s' is not a valid EOL string, EOL string must not be empty" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06128: "'%s' is not a valid EOL string, EOL string must not exceed the maximum length (10 bytes)" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06129: "COPY delimiter cannot contain user-define EOL string" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06130: "COPY null representation cannot contain user-define EOL string" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06131: "EOL string '%s' cannot contain any characters in'%s'" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06132: "EOL specification can not be used with non-text format using COPY FROM or READ ONLY foreign table" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06133: "EOL specification can not be used with non-text format using COPY TO or WRITE ONLY foreign table except 0x0D0A and 0x0A" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06134: "out_filename_prefix is only allowed in write-only foreign tables" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06135: "out_fix_alignment is only allowed in write-only foreign tables" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06136: "COPY does not support subtransactions or exceptions." +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06137: "must be system admin to execute 'COPY from log errors data' " +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06138: "Unable to open %s.%s table for COPY FROM error logging." +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06139: "The column definition of %s.%s table is not as intended." +SQLSTATE: OP001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06141: "cannot copy from materialized view '%s'" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06142: "cannot copy from stream '%s'" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06144: "cannot copy to materialized view '%s'" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06145: "cannot copy to stream '%s'" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06146: "Don't suppport COPY FROM table with INSERT triggers" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06147: "do not support system admin to COPY from %s" +SQLSTATE: 42602 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06148: "bulkload illegal chars conversion is just allowed for char type attribute, the original character with byte sequence %s in encoding '%s' has no equivalent in encoding '%s'" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06149: "bulkload illegal chars conversion is just allowed for char type attribute, the original invalid byte sequence for encoding '%s': %s" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06150: "target of symbolic link '%s' doesn't exist." +SQLSTATE: OP0A3 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06151: "Un-supported feature" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06152: "GDS stream is null pointer, the dynamic cast failed" +SQLSTATE: 29003 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06153: "GDS version does not match Gaussdb version." +SQLSTATE: DB010 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06154: "invalid streamfd value." +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06155: "Abnormal data package received, package length is %d, input buffer length is %d" +SQLSTATE: OP002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06156: "invalid stream value." +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06157: "Reject Limit , LOG ERRORS or LOG ERRORS DATA can only be used in COPY From Statements." +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06158: "Reject Limit must be used with LOG ERRORS or LOG ERRORS DATA." +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06159: "Error encountered while logging error into %s.%s." +SQLSTATE: SP005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06160: "materialized views may not be defined using bound parameters" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06161: "too many column names are specified" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06162: "materialized views must not use data-modifying statements in WITH" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06163: "option '%s' not recognized." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06164: "permission denied to create data source '%s'" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06165: "data source '%s' already exists" +SQLSTATE: 42710 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06166: "permission denied to change owner of data source '%s'" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06167: "cache lookup failed for role with oid %u" +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06168: "LOCATION is not supported anymore" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06169: "%s is not supported for using here, just support template0" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06170: "database cannot be owned by logic cluster user." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06171: "could not drop database while ddl delay function is enabled" +SQLSTATE: 55006 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06173: "Database '%s' is being accessed by other users. You can stop all connections by command: 'clean connection to all force for database XXXX;' or wait for the sessions to end by querying view: 'pg_stat_activity'." +SQLSTATE: 55006 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06174: "dbase_redo: unknown op code %hhu" +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06175: "Database '%s' is being accessed by other users. You can call gs_clean to clean prepared transactions" +SQLSTATE: 55006 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06176: "Not support alter cross-database private pbject, please switch to '%s' and run this command" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06177: "directory path contains illegal string: '%s'" +SQLSTATE: 42602 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06178: "'%s' is not a directory, please check" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06179: "'%s' is a symlink, cannot be added as directory" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06180: "permission denied to create directory '%s'" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06181: "directory '%s' is already used by an existing object" +SQLSTATE: 42710 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06182: "permission denied to drop directory '%s'" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06183: "permission denied to change owner of directory" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06184: "EXPLAIN PLAN does not support on datanode or single node." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06185: "EXPLAIN option 'PLAN' can not work with other options." +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06186: "EXPLAIN %s is not supported when declaring a cursor." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06187: "invalid value for parameter explain_perf_mode." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06188: "unrecognized value for EXPLAIN option 'format'." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06189: "invalid planstate->instrument value." +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06190: "u_sess->instr_cxt.global_instr is NULL" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06191: "Unable to get relation." +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06192: "statement_id is too long. Input statement_id length=%u, however max length=%d." +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06193: "Relation 'plan_table_data' does not exist" +SQLSTATE: 42602 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06194: "could not open extension control file: %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06195: "extension '%s' already exists in schema '%s'" +SQLSTATE: 42710 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06196: "extcondition is not a 1-D Oid array" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06197: "extension is null" +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06198: "Creating additional server with %s is not allowed." +SQLSTATE: HV00D +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06199: "permission denied to create foreign table in security mode" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06200: "Failed to create foreign table '%s'." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06201: "return type '%s' must be in installation group" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06202: "fencedmode function cannot accept shell type %s" +SQLSTATE: 42P13 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06203: "parameterCount is invalid %d" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06204: "argument type '%s' must be in installation group" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06205: "fencedmode could not be fenced" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06206: "User defined window function only support INTERNAL language." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06207: "User defined window function only support INTERNAL window function" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06208: "JAVA UDF is not yet supported in current version." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06209: "Java UDF dose not support NOT FENCED functions." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06210: "the builtin function can not be removed,its function oid is '%u'" +SQLSTATE: 42P13 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06211: "the builtin function can not be renamed,its function oid is '%u'" +SQLSTATE: 42P13 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06212: "the masking function '%s' can not be renamed" +SQLSTATE: 42P13 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06213: "function '%s' is a builtin function,its owner can not be changed" +SQLSTATE: 42P13 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06214: "function '%s' is a masking function,its owner can not be changed" +SQLSTATE: 42P13 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06215: "ownerId change failed for function %u, because it is a builtin function." +SQLSTATE: 42P13 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06216: "ownerId change failed for function '%s', because it is a masking function." +SQLSTATE: 42P13 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06217: "function '%s' is a builtin function,it can not be altered" +SQLSTATE: 42P13 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06218: "function '%s' is a masking function, it can not be altered" +SQLSTATE: 42P13 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06219: "Do not support package for ALTER FUNCTION." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06220: "set return type failed for function %u, because it is a builtin function." +SQLSTATE: 42P13 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06221: "set argument type failed for function %u, because it is a builtin function." +SQLSTATE: 42P13 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06222: "namespace change failed for function %u, because it is a builtin function." +SQLSTATE: 42P13 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06223: "namespace change failed for function '%s', because it is a masking function." +SQLSTATE: 42P13 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06224: "env $GAUSSHOME not found, please set it first" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06225: "failed to bind fd(%d) to ssl" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06226: "m_fd + 1 cannot be greater than FD_SETSIZE" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06227: "The peer GDS has performed an orderly shutdown on current connection." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06228: "exception from GDS '%s':%m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06229: "Unexpected length of data coming supposedly from GDS. Could be an forged attack package." +SQLSTATE: DB010 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06230: "Message size exceeds the maximum allowed (%d)" +SQLSTATE: OP002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06231: "Invalid command to serialize." +SQLSTATE: OP002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06232: "Failed to _ReadError in CMD_TYPE_ERROR, could be a forged package." +SQLSTATE: DB010 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06233: "Failed to _ReadFileSwitch in CMD_TYPE_FILE_SWITCH, could be a forged package." +SQLSTATE: DB010 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06234: "Failed to _ReadResponse in CMD_TYPE_RESPONSE, could be a forged package." +SQLSTATE: DB010 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06235: "The corresponding GDS is of an older version. Please upgrade GDS to match the server version." +SQLSTATE: DB010 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06236: "Failed to _ReadResult in CMD_TYPE_QUERY_RESULT_V1, could be a forged package." +SQLSTATE: DB010 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06237: "the number of attributes is illegal" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06238: "index and table must be in the same schema" +SQLSTATE: 55000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06239: "Global partition index only support single node mode." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06240: "dfs value partition table does not support local partitioned indexes " +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06241: "non-partitioned table does not support %s partitioned indexes " +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06242: "Partition table does not support to set deferrable." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06243: "Global partition index does not support WHERE clause." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06244: "create index does not support have include parameter" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06245: "cannot use more than %d columns in an global partition index" +SQLSTATE: 54011 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06246: "included columns must not intersect with key columns" +SQLSTATE: 42P17 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06247: "It is not supported to create index on DFS tablespace." +SQLSTATE: 42P17 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06248: "Global partition index does not support EXPRESSION index" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06249: "Global and local partition index should not be on same column" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06250: "column store table does not support concurrent INDEX yet" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06251: "expressions are not supported in included columns" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06252: "including column does not support a collation" +SQLSTATE: 42P17 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06253: "including column does not support an operator class" +SQLSTATE: 42P17 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06254: "including column does not support ASC/DESC options" +SQLSTATE: 42P17 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06255: "including column does not support NULLS FIRST/LAST options" +SQLSTATE: 42P17 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06256: "cannot reindex global index with partition name" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06257: "The operation of 'REINDEX INTERNAL TABLE %s PARTITION %s' failed. " +SQLSTATE: 42P23 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06258: "The operation of 'REINDEX INTERNAL TABLE %s' on part '%u' failed. " +SQLSTATE: 42P23 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06259: "The operation of 'REINDEX INTERNAL TABLE %s' failed. " +SQLSTATE: XX002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06260: "The table '%s' doesn't support the operation of 'REINDEX INTERNAL TABLE'. There is no Desc table on it." +SQLSTATE: 42P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06261: "Operator class search failed!" +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06262: "Operator class does not exist for index compatible check." +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06263: "Can't find index on %s" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06264: "seqno should not be NULL when scan mlog table" +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06265: "Refresh Matview cannot support stream plan. " +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06266: "'%s' is not an incremental materialized view" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06267: "Not support materialized view '%s' is a system catalog relation" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06268: "Refresh plan contains streams" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06269: "unexpected rewrite result for REFRESH MATERIALIZED VIEW" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06270: "recreate matview which matoid is %u because matmap column nums inconsistent." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06271: "Only UNION ALL is supported on incremental materialized views" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06272: "Feature not supported" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06273: "Only SELECT is supported on incremental materialized views" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06274: "relation '%s' is selected more than once" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06275: "Target list does not contain all the distribute keys of table '%s'" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06276: "A query on '%s' does not contain the same distribute keys as others" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06277: "complicated subquery is not supported, except UNION ALL" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06278: "relation '%s' is not a regular table" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06279: "relation '%s' is a system relation" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06280: "relation '%s' has bucket" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06281: "relation '%s' is not row oriented" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06282: "relation '%s' is distributed by replication" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06283: "It is not supported to create incremental materialized view on partitioned table '%s'" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06284: "Not support matview and baserel are not in same node group. " +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06285: "relation '%s' is distributed in a non-installation node group, which is not supported" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06286: "materialized views must not use temporary tables or views" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06287: "Can not create incremental materialized view on unlogged table" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06288: "relation '%s' is not distributed by hash" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06289: "Cannot infer distribute key from the given query" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06290: "%s not implemented" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06291: "could not write to staging temporary file while exporting segment %s" +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06292: "could not write to local temporary buffile: %m" +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06293: "Write-Only table's output directory %s is not empty" +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06294: "could not rewind OBS exporting temporary file: %m" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06295: "Bypass process Failed" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06296: "failed to drop internal cached plan when reload prepared statements" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06297: "The schema 'dbe_perf' doesn't allow to drop" +SQLSTATE: OP001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06298: "The schema 'snapshot' doesn't allow to drop" +SQLSTATE: OP001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06299: "The schema '%s' doesn't allow to rename" +SQLSTATE: OP001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06300: "It is not supported to rename schema '%s' which includes timeseries table '%s'." +SQLSTATE: 42939 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06301: "Do not specify any information for CREATE POLICY '%s' ON '%s'" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06302: "Create row level security policy '%s' failed, because it will result in infinite recursion for DML queries" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06303: "row level policy '%s' for table '%s' already exists" +SQLSTATE: 42710 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06304: "Num of row level policies for relation should less than or equal to %d" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06305: "Do not specify any information for ALTER POLICY '%s' ON '%s'" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06306: "row level security policy '%s' for relation '%s' does not exists" +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06307: "Alter row level security policy '%s' failed, because it will result in infinite recursion for DML queries" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06308: "row level policy '%s' for relation '%s' already exists" +SQLSTATE: 42710 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06309: "unrecognized row level security policy command" +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06310: "too many roles specified in SQL statement." +SQLSTATE: 54000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06311: "uuids can not be NIL when generating uuid in restore mode." +SQLSTATE: OP003 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06312: "Create table Like in multi-nodegroup is not supported" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06313: "Sequence '%s' retry %d times to connect GTM on datanode %s" +SQLSTATE: YY004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06314: "Temporary sequences are not supported" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06315: "Invaild UUID for CREATE SEQUENCE %s." +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06316: "unrecognized sequence columns: %d" +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06317: "Standby do not support nextval, please do it in primary!" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06318: "currval function is not supported" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06319: "lastval function is not supported" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06320: "Standby do not support setval, please do it in primary!" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06321: "'%s.%s' is not a sequence" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06322: "Only system admin can shutdown database." +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06323: "unknow parameter: %s\nshutdown only support fast and immediate mode.\n" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06324: "global temporary table can only support heap table" +SQLSTATE: 42P16 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06325: "column/timeseries store unsupport constraint '%s'" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06326: " period must smaller than ttl." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06327: "It is unsupported to create row/cstore non-temporary/non-unlogged table in hadoop enviroment." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06328: "It is unsupported to create unlogged table and temporary table on DFS tablespace." +SQLSTATE: 42P16 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06329: "It is unsupported to create table with to group option on DFS tablespace." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06330: "It is unsupported to create foreign table with to group option." +SQLSTATE: 42P16 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06331: "Only support hash/replication distribution for dfs table." +SQLSTATE: 42P16 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06332: "Partition can not be created on DFS tablespace.Only table-level tablespace can be DFS.DFS table only support partition strategy '%s' feature." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06333: "unsupported persistency for timeseries table." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06334: "Only support hash distribution for timeseries table." +SQLSTATE: 42P16 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06335: "kvtype of '%s' must be defined when using timeseries." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06336: "TIMESERIES must have one and only one time column." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06337: "type '%s' is not supported in timeseries store" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06338: "Cannot use orientation is timeseries when enable_tsdb is off." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06339: "Only support one partition Key." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06340: "type '%s' does not exist." +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06341: " Partition Key must be of type TIMESTAMP(TZ) when using ttl or period." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06342: " Partition Key must be of kv type TSTAG." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06343: "Relation '%s' does not exist in current namespace" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06344: "constraints on streams are not supported" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06345: "Unsupport the dfs table in this version." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06346: "Only support one partial cluster key for dfs/cstore table." +SQLSTATE: 42P16 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06347: "global temp table not support on commit drop clause" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06348: "The parameter on_commit_delete_rows is exclusive to the global temp table, which cannot be specified by a regular table" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06349: "hash bucket table not supported in current version!" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06350: "Invalid table name prefix redis_, reserved in redis mode." +SQLSTATE: 42P16 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06351: "No column can be used as distribution column." +SQLSTATE: 42P16 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06352: "Unsupported partition table!" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06353: "Local OID column not supported in column/timeseries store tables." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06354: "column constraint on postgres foreign tables are not supported" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06355: "relation type column on postgres foreign tables are not supported" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06356: "default values on streams are not supported" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06357: "distributeby is NULL." +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06358: "The table %s do not support hash bucket" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06359: "NOT-SUPPORT: Not support TRUNCATE multiple objects different nodegroup" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06360: "Not support truncate table under materialized view. " +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06361: "rel %s can not truncate during redis." +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06362: "It is not supported to truncate stream '%s'." +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06363: "It is not supported to truncate matview '%s'" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06364: "constr is NULL." +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06365: "column '%s' has a kvtype parameter conflict" +SQLSTATE: 42804 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06366: "'%s' is not a table, view, materialized view, composite type, index, stream or foreign table" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06367: "encrypted column '%s' does not exist" +SQLSTATE: 42703 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06368: "RENAME SEQUENCE is not yet supported." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06369: "Cannot rename timeseries table when enable_tsdb is off." +SQLSTATE: OP001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06370: "ALTER MATERIALIZED VIEW is not yet supported." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06371: "alter row table tablespace cannot run inside a transaction block" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06372: "cannot alter stream '%s' because column '%s.%s' uses its row type" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06373: "type '%s' is not supported in DFS table." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06374: "row-oriented table does not support compression" +SQLSTATE: 42P16 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06375: "It's not supported to add column with default value for timeseries tables." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06376: "It's not supported to alter table add column default with nextval expression." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06377: "It is not supported on DFS table. The detailed reasons are the followings:" +SQLSTATE: 42P16 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06378: "'%s' is not a table, materialized view, index, or foreign table" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06379: "cannot drop TSTime column '%s' from timeseries table" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06380: "cannot drop the only TSTag column '%s' from timeseries table" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06381: "constraints on global temporary tables may reference only global temporary tables" +SQLSTATE: 42P16 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06382: "unrecognized table type: %d" +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06383: "cannot alter column type to '%s'" +SQLSTATE: 42P16 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06384: "typname is null" +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06385: "PSort %u should depend on only one index relation but not %ld." +SQLSTATE: OP002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06386: "Can not change owner of '%s' to other logic cluster users." +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06387: "no perm space is available for the targeted owner" +SQLSTATE: 53000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06388: "no perm space is available for the targeted user group" +SQLSTATE: 53000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06389: "no temp space is available for the targeted owner" +SQLSTATE: 53000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06390: "no temp space is available for the targeted user group" +SQLSTATE: 53000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06391: "table cannot add or modify on commit parameter by ALTER TABLE command." +SQLSTATE: D0011 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06392: "'%s' is not a table, view, materialized view, index, or TOAST table" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06393: "can not specify 'PARTITION FOR (value,,,)' for 'MOVE PARTITION CLAUSE'" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06394: "invalid partition node type in 'MOVE PARTITION CLAUSE'" +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06395: "not support alter table set tablespace on global temp table." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06396: "fail to remote read page, data corrupted in network" +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06397: "invalid page in block %u of relation %s" +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06398: "unknown type %u for ALTER TABLE ROW LEVEL SECURITY" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06399: "cache lookup failed for relation '%s'" +SQLSTATE: 29P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06400: "unexpected identity type %u" +SQLSTATE: XX006 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06401: "cannot use non-unique index '%s' as replica identity" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06402: "cannot use expression index '%s' as replica identity" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06403: "cannot use partial index '%s' as replica identity" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06404: "cannot use invalid index '%s' as replica identity" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06405: "internal column %d in unique index '%s'" +SQLSTATE: 55000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06406: "index '%s' cannot be used as replica identity because column '%s' is nullable" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06407: "The obs foreign partition table cannot support on text, csv, carbondata format." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06408: "The obs foreign table has column type bytea, cannot support on orc format." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06409: "Invalid option '%s'" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06410: "There's dependent sequence, but ALTER SEQUENCE SET SCHEMA is not yet supported." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06411: "'%s' is not a contview" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06412: "'%s' is a mot, which does not support alter table." +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06413: "'%s' is a stream, which does not support column constraints." +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06414: "invalid list partiiton table definition" +SQLSTATE: D0011 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06415: "column %s cannot serve as a list partitioning column because of its datatype" +SQLSTATE: 42804 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06416: "column %s cannot serve as a hash partitioning column because of its datatype" +SQLSTATE: 42804 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06417: "column %s cannot serve as a interval partitioning column because of its datatype" +SQLSTATE: 42804 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06418: "the interval of DATE type must be an integer multiple of days" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06419: "%s bound list contains too few elements" +SQLSTATE: D0011 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06420: "%s bound list contains too many elements" +SQLSTATE: D0011 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06421: "list partition %s has overlapped value" +SQLSTATE: D0011 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06422: "list partition %s and %s has overlapped value" +SQLSTATE: D0011 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06423: "cannot serve %s as a list partitioning column because of its datatype" +SQLSTATE: 42804 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06424: "can not add partition against interval partitioned table" +SQLSTATE: OP003 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06425: "can not exchange LIST/HASH partition table" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06426: "can not merge partitions against NON-PARTITIONED table" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06427: "can not merge LIST/HASH partition table" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06428: "can not split LIST/HASH partition table" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06429: "can not add none-list partition to list partition table" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06430: "can not add hash partition" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06431: "can not add none-range partition to range partition table" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06432: "adding partition name conflict with existing partitions: '%s'." +SQLSTATE: 42710 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06433: "list boundary of adding partition MUST overlap existing partition" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06434: "start value of partition '%s' NOT EQUAL up-boundary of last partition." +SQLSTATE: 42P16 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06435: "pg_partition entry for partid %u vanished during %s." +SQLSTATE: 2F000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06436: "Droping hash partition is unsupported." +SQLSTATE: D0011 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06437: "The syntax is unsupported for list/hash partition " +SQLSTATE: D0011 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06438: "Row Movement" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06439: "Truncate Partition" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06440: "can't merge partition bacause partition %s has unusable local index" +SQLSTATE: 42P17 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06441: "the last source partition name oldPartName is NULL" +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06442: "ALTER TABLE EXCHANGE requires both ordinary table and partitioned table to have the same hashbucket option(on or off)" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06443: "the kv storage type of column mismatch in ALTER TABLE EXCHANGE PARTITION" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06444: "cache lookup failed for relaton %u" +SQLSTATE: 29P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06445: "cache lookup failed from %u" +SQLSTATE: 29P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06446: "part not found for partition relation" +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06447: "can't split partition bacause relation %s has unusable local index" +SQLSTATE: 42P17 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06448: "the partition oid(%u) of partition name (%s) is not found in partitioned table(%u)." +SQLSTATE: P0002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06449: "Permission denied" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06450: "could not open gs_global_config" +SQLSTATE: 58000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06451: "Cannot alter timeseries table when enable_tsdb is off." +SQLSTATE: OP001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06452: "This ALTER command is not support in timeseries store." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06453: "parameter 'on_commit_delete_rows' requires a Boolean value" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06454: "Hash bkt dir '%s' not exists:%m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06455: "could not create directory '%s':%m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06456: "'%s' exists but is not a directory." +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06457: "permission denied to create tablespace in security mode" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06458: "Create tablespace with absolute location can't be allowed" +SQLSTATE: 42P17 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06459: "tablespace location can only be formed of 'a~z', 'A~Z', '0~9', '-', '_'" +SQLSTATE: 42P17 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06460: "relative location can only be formed of 'a~z', 'A~Z', '0~9', '-', '_' and two level directory at most" +SQLSTATE: 42P17 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06461: "The relative location can not be null" +SQLSTATE: 42P17 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06462: "could not open pg_tblspc directory" +SQLSTATE: 42P17 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06463: "could not get '%s' status" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06464: "'%s' is not symlink, please check and clean the remains in '%s'" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06465: "target of symbolic link '%s' doesn't exist" +SQLSTATE: 42P17 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06466: "target of symbolic link '%s' isn't directory" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06467: "find conflict linkpath '%s' in pg_tblspc, location '%s'" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06468: "Failed to create connector for filesystem %s, cfg path %s, address %s, store path %s" +SQLSTATE: 42P17 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06469: "'%s' is not a directory or symbolic link" +SQLSTATE: 55000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06470: "permission denied to alter tablespace in security mode" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06471: "It is unsupported to reset 'filesystem' option." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06472: "It is unsupported to alter general tablespace to hdfs tablespace." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06473: "Tablespace '%u' does not exist." +SQLSTATE: 58P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06474: "Can not get tablespace size with SnapshotNow after try 3 times." +SQLSTATE: P0002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06475: "Only support CREATE TRIGGER on regular row table." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06476: "Unsupport CREATE TRIGGER on table which is under cluster resizing." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06477: "invalid current user oid for trigger" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06478: "trigdesc should not be null" +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06479: "tuple to be updated was already modified by an operation triggered by the current command" +SQLSTATE: 27000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06480: "invalid after-trigger event code: %u" +SQLSTATE: 20000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06481: "unrecognized RI_FKey_trigger_type: %d" +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06482: "must be system admin to CREATE TEXT SEARCH DICTIONARY" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06483: "CREATE TEXT SEARCH DICTIONARY in a temp namespace is not supported" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06484: "Not allowed to alter built-in text search dictionary" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06485: "Not allowed to drop built-in text search dictionary" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06486: "Not allowed Template parameter in alter text search dictionary" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06487: "The function's %s %u dismatch the type %u" +SQLSTATE: 42804 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06488: "Role '%s' is member of '%s', but do not attach to node group '%s'." +SQLSTATE: 0LP01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06489: "Node group '%s': node group not existed." +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06490: "Node group '%s' must be virtual cluster or installation group." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06491: "Can not alter Role %u node group across logic clusters." +SQLSTATE: 0LP01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06492: "conflicting or redundant option: 'resource pool'" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06493: "conflicting or redundant option: 'user group default'" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06494: "conflictiong or redundant option: 'spill space'" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06495: "option 'persistence' is not supported" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06496: "Can not create vcadmin role without node group." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06497: "Can not create role with resource pool (%s) without node group in logic cluster." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06498: "Can not create role with resource pool (%s) with foreign users option." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06499: "parent cannot be itself." +SQLSTATE: 0P000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06500: "Role '%s': object not defined." +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06501: "Can not create logic cluster user with sysadmin, mondmin and opradmin." +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06502: "Node group '%s' must be logic cluster." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06503: "The resource pool '%s' is not in logic cluster '%s'." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06504: "Independent user is not supported." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06505: "Independent user cannot have sysadmin, auditadmin, vcadmin, createrole, monadmin, opradmin and persistence attributes." +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06506: "Users cannot have independent, vcadmin and persistence attributes at the same time." +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06507: "Failed to Generate the random number, errcode:%u" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06508: "Can not alter role with resource pool (%s) with foreign users option." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06509: "resource pool of role '%s' does not exist." +SQLSTATE: 42P26 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06510: "Can not alter sysadmin, monadmin and opradmin attach to logic cluster." +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06511: "role %s is database administrator,can not attach to logic cluster." +SQLSTATE: 2BP01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06512: "Can not grant sysadmin, monadmin and opradmin privilege to logic cluster user." +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06513: "Can not alter Role '%s' to vcadmin." +SQLSTATE: 0LP01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06514: "Can not alter independent user or persistence user to logic cluster admin user." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06515: "Only user himself can remove his own independent attribute." +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06516: "Only independent user himself can alter his own password." +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06517: "Only system admin can enable user's password." +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06518: "Only independent user himself can enable his own password." +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06519: "Only initial user can enable persistence user's password." +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06520: "Only system admin can disable user's password." +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06521: "Only independent user himself can disable his own password." +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06522: "Only initial user can disable persistence user's password." +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06523: "resource pool of role '%s' does not exsist." +SQLSTATE: 42P26 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06524: "Only independent user himself can decide his own membership." +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06525: "Role '%s' can not be granted across virtual clusters." +SQLSTATE: 0LP01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06526: "Password cannot contain characters except numbers, alphabetic characters and specified special characters." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06527: "Invalid roleid in pg_user_status." +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06528: "Forbidden to make password expired of the initial account." +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06529: "The roleid of pg_user_status not found." +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06530: "While get super user, invalid role OID: %u" +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06531: "password encryption failed" +SQLSTATE: 28P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06532: "Password should not be weak password." +SQLSTATE: 28P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06533: "relation with OID %u cannot do the FULL vacuum" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06534: "relation with OID %u has one or more incremental materialized view associated, and cannot be FULL vacuumed" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06535: "pg_class entry for relid %u vanished during updating TotalRows" +SQLSTATE: 2F000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06536: "The index table does not support verify on cascade mode." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06537: "Non-table objects do not support verify." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06538: "The hdfs table does not support verify." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06539: "The temporary/unlog table does not support verify." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06540: "The important catalog table %s.%s corrupts, the node is %s, please fix it." +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06541: "invalid rel value." +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06542: "client encrypted column '%s' does not exist" +SQLSTATE: 42703 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06543: "client encrypted column key %u does not exist" +SQLSTATE: 42703 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06544: "Target node group '%s' doesn't exist" +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06545: "views cannot be global temp because they do not have storage" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06546: "Unsupported param cross stream" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06547: "unexpected rtekind: %d when set relation size" +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06548: "failed on assertion in %s line %d : %s" +SQLSTATE: XX008 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06549: "unexpected rtekind when set relation path list: %d" +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06550: "All orientations are not covered." +SQLSTATE: 20000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06551: "bad levelsup for CTE '%s' when set cte pathlist" +SQLSTATE: XX008 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06552: "could not find CTE '%s' when set cte pathlist" +SQLSTATE: XX008 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06553: "could not find plan for CTE '%s' when set cte pathlist" +SQLSTATE: XX008 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06554: "bad levelsup for CTE '%s' when set worktable pathlist" +SQLSTATE: XX008 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06555: "could not find plan for CTE '%s' when set worktable pathlist" +SQLSTATE: XX008 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06556: "unrecognized joinlist node type when build access paths by joinlist: %d" +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06557: "unrecognized node type when pushdown recurse through setOperations tree: %d" +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06558: "wrong number of tlist entries when compare a subquery targetlist datatypes" +SQLSTATE: 20000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06559: "unrecognized node type when recurse push qual through setOperations tree: %d" +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06560: "unrecognized node type when create partiterator path: %d" +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06561: "Unsupported Using Index FOR TIMESERIES." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06562: "unrecognized node type of a bitmap index path when get pages: %d" +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06563: "unrecognized node type when extract cost and selectivity from a bitmap tree node: %d" +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06564: "left and right pathkeys do not match in mergejoin when initlize cost" +SQLSTATE: XX008 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06565: "cannot handle unplanned sub-select when costing quals" +SQLSTATE: XX008 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06566: "unrecognized join type when calculate joinrel size estimate: %d" +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06567: "Fail to estimate expression value." +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06568: "unrecognized node type when find the required outer rels for a bitmap tree: %d" +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06569: "unrecognized node type when find the required upper rels for a bitmap tree: %d" +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06570: "unrecognized node type when find indexpath quals: %d" +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06571: "wrong number of index expressions when match index to operand" +SQLSTATE: XX008 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06572: "unsupported indexqual type when expand indexqual conditions: %d" +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06573: "right operator can not be NULL" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06574: "unexpected strategy number %d when expand a single indexqual condition" +SQLSTATE: XX008 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06575: "when expand a single indexqual condition could not find commutator of member %d(%u,%u) of opfamily %u" +SQLSTATE: D0011 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06576: "unexpected opfamily when generate indexqual condition by prefix quals: %u" +SQLSTATE: XX008 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06577: "unexpected const type when generate indexqual condition by prefix quals: %u" +SQLSTATE: 20000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06578: "no < operator for opfamily %u when generate indexqual condition by prefix quals" +SQLSTATE: XX008 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06579: "unexpected operator when generate indexqual condition by network prefix quals: %u" +SQLSTATE: 20000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06580: "no >= operator for opfamily %u when generate indexqual condition by network prefix quals" +SQLSTATE: XX008 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06581: "no > operator for opfamily %u when generate indexqual condition by network prefix quals" +SQLSTATE: XX008 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06582: "no <= operator for opfamily %u when generate indexqual condition by network prefix quals" +SQLSTATE: XX008 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06583: "unrecognized join type when match unsorted outer: %d" +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06584: "Null value error for building partitionwise join" +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06585: "unrecognized join type when make a join rel: %d" +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06586: "could not find opfamilies for equality operator %u when make pathkey from sortinfo" +SQLSTATE: XX008 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06587: "operator %u is not a valid ordering operator when make pathkey from sortinfo" +SQLSTATE: XX008 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06588: "volatile EquivalenceClass has no sortref when convert subquery pathkeys" +SQLSTATE: XX008 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06589: "too few pathkeys for mergeclauses when make inner pathkeys for merge" +SQLSTATE: XX008 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06590: "outer pathkeys do not match mergeclause when make inner pathkeys for merge" +SQLSTATE: XX008 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06591: "[Join Unique] best_path should not be NULL" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06592: "failed to find relation %d in joinlist when remove relation from joinlist" +SQLSTATE: XX008 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06593: "unrecognized joinlist node type when remove relation from joinlist: %d" +SQLSTATE: XX006 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06594: "tle can not be found from targetlist" +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06595: "No data node information for table: %s" +SQLSTATE: XX006 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06596: "No data node found for u_sess->pgxc_cxt.gc_fdw_current_idx: %d, u_sess->pgxc_cxt.gc_fdw_max_idx: %d" +SQLSTATE: XX006 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06597: "Range table should not be null" +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06598: "Unsupported Table Sample FOR TIMESERIES." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06599: "Unsupported Index Scan FOR TIMESERIES." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06600: "Unsupported Bitmap Heap Scan FOR TIMESERIES." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06601: "Unsupported Bitmap And FOR TIMESERIES." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06602: "Unsupported Bitmap OR FOR TIMESERIES." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06603: "Unsupported Bitmap Index Scan FOR TIMESERIES." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06604: "unrecognized node type: %d when modify worktable wtParam." +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06605: "recursive_union_plan can not be NULL" +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06606: "Unable to save pathkey info for executor." +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06607: "non-LATERAL parameter required by subquery" +SQLSTATE: XX008 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06608: "unexpected type of subquery parameter" +SQLSTATE: XX008 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06609: "Unsupported Direct Scan FOR TIMESERIES." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06610: "fail to find TargetEntry referenced by SortGroupClause" +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06611: "Unsupported FOR UPDATE/SHARE system table." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06612: "Unsupported FOR UPDATE/SHARE in non shippable plan." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06613: "Only Scan operator have BucketInfo attribute" +SQLSTATE: XX006 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06614: "Unsupported FOR UPDATE/SHARE at non-top-level query in stream plan." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06615: "Unsupported FOR UPDATE/SHARE with limit in stream plan." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06616: "Unsupported FOR UPDATE/SHARE multiple table in stream plan." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06617: "unrecognized node type when add base_rels to query: %d" +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06618: "unrecognized node type when add vars to targetlist: %d" +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06619: "expected Var or PlaceHolderVar, others unsupported. " +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06620: "unrecognized join type in one level processing of deconstruct jointree: %d" +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06621: "unrecognized node type in one level of deconstruct jointree: %d" +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06622: "cannot cope with variable-free clause when distribute restrictinfo to rels" +SQLSTATE: XX008 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06623: "relid must not be less than zero." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06624: "can not find var with varno = %u and varattno = %d" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06625: "qry_tle should not be null" +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06626: "Partition column can't be updated in current version" +SQLSTATE: 42P10 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06627: "cheapest_total_path should not exist para_info" +SQLSTATE: XX008 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06628: "Fail to generate subquery plan." +SQLSTATE: XX008 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06629: "unrecognized node type when process qual condition: %d" +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06630: "please enable tsdb to use tsdb functions !" +SQLSTATE: D0011 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06631: "unrecognized node type when get base relation indexes: %d" +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06632: "OBS and HDFS foreign table can NOT be in the same plan." +SQLSTATE: XX008 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06633: "pl_size should not be zero" +SQLSTATE: 22012 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06634: "Failed to get the runtime info from the compute pool." +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06635: "version is not compatible between local cluster and the compute pool" +SQLSTATE: XX008 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06636: "There is no optional index path for index column: %s.\nPlease check for potential performance problem." +SQLSTATE: 01000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06637: "MERGE INTO on replicated table does not yet support using distributed tables." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06638: "Fail to find ForeignScan node!" +SQLSTATE: P0002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06639: "Unsupported node type %s to check need stream setup for recursive union" +SQLSTATE: XX008 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06640: "encounters invalid varno" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06641: "invalid column number %d for table \n" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06642: "There is no exist vararrno with 0" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06643: "too many range table entries when set plan reference." +SQLSTATE: 54000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06644: "targetlist of stream node with plan_node_id %d should be equal to its child's targetlist" +SQLSTATE: XX008 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06645: "unrecognized node type in set plan refs: %d" +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06646: "Could not find the Aggref node when setting agg plan refernece." +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06647: "Could not find the Aggref node when setting agg plan reference." +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06648: "plan->exec_nodes should not be NULL" +SQLSTATE: XX008 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06649: "Could not find globle planner info when make simple remote query." +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06650: "Can not add stream operator on to parameterize plan." +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06651: "mark_stream_unsupport." +SQLSTATE: 0A100 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06652: "simple_rte_array is NULL unexpectedly" +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06653: "simple_rte_array[result_rte_idx] is NULL unexpectedly" +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06654: "Unsupported FOR UPDATE/SHARE non-hash/range/list table in stream plan." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06655: "Build subPlan failed.. " +SQLSTATE: XX008 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06656: "convert to SubPlan failed. " +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06657: "Fail to process sublinks mutator." +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06658: "Fail to get sort group clause." +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06659: "Can't find targetEntry with rownumber window function." +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06660: "Node should be SubLink in pull_up_sublinks_qual_recurse" +SQLSTATE: 42804 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06661: "jointree in subquery could not be NULL" +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06662: "subquery's setOperations tree should not be NULL in pull_up_simple_union_all" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06663: "RangeTblRef not found." +SQLSTATE: XX008 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06664: "Join range table do not have system column." +SQLSTATE: XX008 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06665: "Invalid join alias var" +SQLSTATE: XX008 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06666: "Invalid agg param which used in a join clause" +SQLSTATE: XX008 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06667: "Column should NOT be in JOIN clause." +SQLSTATE: XX008 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06668: "unrecognized bool test type: %d" +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06669: "unsupported data type %u for ROWNUM limit" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06670: "could not get the whole row to build a junk var." +SQLSTATE: 58P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06671: "Valid rel not found. " +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06672: "can't generate plan for INTERSECT/EXCEPT with dn gather on." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06673: "No Such Relation" +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06674: "Copy rule only support CREATE RULE rulename COPY to relname DO INSTEAD..." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06675: "could not convert table '%s' to a view because it has row level security enabled" +SQLSTATE: 55000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06676: "could not convert table '%s' to a view because it has row level security policies" +SQLSTATE: 55000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06677: "Fail to get the previous view row." +SQLSTATE: 58P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06678: "infinite recursion detected, please check the row level security policies for relation '%s'" +SQLSTATE: 42P17 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06679: "Unexpected status in upsert to merge." +SQLSTATE: 29000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06680: "%s specifies too many column names" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06681: "unsupported command type: %d." +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06682: "rule '%u' does not exist" +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06683: "buckets id %d of table '%s' is outsize range [%d,%d]" +SQLSTATE: 22003 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06684: "%d of duplicate bucket id found" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06685: "expected a RowCompareExpr for para clause" +SQLSTATE: XX008 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06686: "fail to eval const expressions." +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06687: "Fail to eval const expressoin." +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06688: "fail to eval const expressions. " +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06689: "Eval const expression mutator failed. " +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06690: "function '%s' doesn't exist" +SQLSTATE: 42883 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06691: "function '%s' with %d parameters doesn't exist" +SQLSTATE: 42883 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06692: "var on action's qual cannot find in target list" +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06693: "Can not get valid skew value from hint." +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06694: "Can not generate equal operation for non skew side." +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06695: "Fail to find base rel." +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06696: "Invalid skew stream type %d." +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06697: "nmemb should not be zero." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06698: "invalid value, size:%lu, mem block num:%lu" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06699: "Read from key file failed." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06700: "decrypt input key failed." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06701: "Decode password for client key failed." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06702: "Read certificate files failed." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06703: "connect to ai engine failed" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06704: "AiEngine is not available in multipule nodes mode" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06705: "IpAddress should not be NULL." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06706: "Port should not be NULL." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06707: "Optname should not be NULL." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06708: "Orientation should not be NULL." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06709: "could not open temporary statistics file '%s': %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06710: "must be system admin to use model_train_opt()" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06711: "TemplateName should not be NULL." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06712: "ModelName should not be NULL." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06713: "AI engine connection failed." +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06714: "The training log of %s hasn't been generated by AiEngine." +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06715: "AI engine internal error: missing or wrong key." +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06716: "Model configuration contains illegal values, please check for template name %s model name %s" +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06717: "Output from AIEngine ia not in JSON format. Output is \n%s" +SQLSTATE: XX006 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06718: "OPT Model not found for model name %s" +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06719: "AIEngine internal error: Prediction mismatch the model's label targets." +SQLSTATE: XX006 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06720: "%s is not supported as template_name." +SQLSTATE: XX006 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06721: "OPT_Model not found for model name %s" +SQLSTATE: XX006 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06722: "Model labels are not a 1-D char array." +SQLSTATE: 55000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06723: "Repetitive labels found in model labels attribute for template name %s model name %s" +SQLSTATE: XX006 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06724: "Predictions have different dimensions." +SQLSTATE: XX006 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06725: "could not close temporary statistics file '%s': %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06726: "could not write to file: '%lu.csv': %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06727: "Unexpected NULL value for database name." +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06728: "AIEngine internal error: missing compulsory key." +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06729: "Another session is running on AIEngine. If not, please restart AIEngine" +SQLSTATE: XX006 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06730: "No privilage assigned to user %u." +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06731: "No expected computing node group in 'optimal' or 'query' mode" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06732: "Unexpected range table entry type." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06733: "exec_nodes could not be NULL" +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06734: "distribution could not be NULL" +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06735: "is_outer_replicated and is_inner_replicated could not all be false" +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06736: "[ng_get_single_dn_group_exec_node] unknown exec location." +SQLSTATE: 2F000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06737: "nodegroup hash create failed" +SQLSTATE: 53200 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06738: "failed to insert node group hash table" +SQLSTATE: 53200 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06739: "NodeGroup Oid is invalid, invalid Oid is %u." +SQLSTATE: XX006 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06740: "delete failed from nodegroup hash table, Oid is %u." +SQLSTATE: XX006 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06741: "none_recursive_plan could not be NULL" +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06742: "outer_path and parent in outer_path could not be NULL" +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06743: "inner_path and parent in inner_path could not be NULL" +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06744: "Timeseries relation %u cloud not find tag column %d" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06745: "sgc_expr should not be NULL" +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06746: "Invalid query for shippable check." +SQLSTATE: XX008 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06747: "Failed to get foreign table." +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06748: "Failed to get foreign server." +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06749: "Expected positive width estimation." +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06750: "invalid instr argument" +SQLSTATE: XX008 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06751: "predcate_classify returned a bogus value" +SQLSTATE: XX008 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06752: "invalid index oid to check for unusability" +SQLSTATE: XX008 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06753: "relation %s is not partitioned when check partition index" +SQLSTATE: XX008 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06754: "Could not find enough valid args for Boundary From OpExpr" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06755: "partSeq: %d out range of current relation partMap element num: %d." +SQLSTATE: 2202E +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06756: "Duplicate range partition map oids: %u, please try again." +SQLSTATE: 42710 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06757: "Unupport partition strategy '%d'" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06758: "invalid type" +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06759: "child rel %u not found in append_rel_list" +SQLSTATE: XX008 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06760: "Failed to get sort group clause. " +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06761: "source '%s' does not exist" +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06762: "store global plan source failed due to memory allocation failed" +SQLSTATE: 26010 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06766: "In gpc spi finish stage, fail to get spi func: %u. hashkey: %u" +SQLSTATE: 26010 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06768: "refuse to activate a job since illegal element in ExpiredJobList." +SQLSTATE: 29000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06769: "no free slot when start job worker" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06770: "XuanYuanDB current do not support AIO" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06771: "Invalid database num:%u" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06772: "Unable to connect to execute internal query." +SQLSTATE: OP001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06773: "toast table map hash table corrupted." +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06774: "AutoVacuum Data share mem is already init" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06775: "AutoVacuum Data share mem is not init" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06776: "could not request checkpoint because checkpointer not running" +SQLSTATE: 44000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06777: "could not signal for checkpoint: %m" +SQLSTATE: 44000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06778: "No data left in msg, left len:%u, desire len:%lu" +SQLSTATE: 08P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06779: "No data left in msg, left len:%u" +SQLSTATE: 08P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06780: "could not create Unix-domain socket: %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06781: "bind socket path %s failed:%m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06782: "listen socket failed: %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06783: "poll() failed in UDFMasterServerLoop, errno:%d, error reason:%s" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06784: "Socket send %d bytes: %m" +SQLSTATE: 08006 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06785: "Invalid udf message len:%u" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06786: "create UDFWorkMemContext failed" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06787: "Otherwise, handlerType can only be UDF_RECV_RESULT" +SQLSTATE: 29003 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06788: "Variable length %d cannot be negative" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06789: "Recv Unsupported argument type: %u" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06790: "Unsupport type: %u" +SQLSTATE: 42804 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06791: "null prosrc for Java function %u" +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06792: "Run udf RPC connect failed: %m" +SQLSTATE: 08006 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06793: "UDF Error:%s" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06794: "internal_load_library %s failed: %m" +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06795: "load java_call_handler failed." +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06796: "UnixSocketDir is not valid, length is between 1 and %lu: %s/%s" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06797: "Invalid parameter." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06798: "execute cmd %s fail." +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06799: "Can not read process num." +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06800: "Contains invaid character: '%s'" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06801: "Invalid argument: should appoint an option of ls, addjar or rmjar." +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06802: "Invalid argument: only support ls, addjar, rmjar options." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06803: "filepath should not be NULL" +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06804: "Invalid argument: must set correct obs file path." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06805: "Invalid argument: must set accesskey." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06806: "Invalid argument: must set secretkey." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06807: "Invalid argument: must set region." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06808: "Invalid argument: must set a 'libraryname'." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06809: "Invalid argument: 'libraryname' should not contain '/' or starting with '.'." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06810: "Invalid argument: must set an absolute path followed by 'file:///'." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06811: "Invalid argument: the source file must be .jar file." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06812: "Invalid argument: must set bucket and filepath followed by 'obs://'." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06813: "must set correct source file path." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06814: "Invalid argument: the library already existed, please remove it first using rmjar." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06815: "%d %d: System error." +SQLSTATE: 58000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06816: "%d: Failed to access system files." +SQLSTATE: 2F000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06817: "%d: Invalid argument, must set correct region." +SQLSTATE: 2F000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06818: "%d: Parameters error." +SQLSTATE: 2F000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06819: "%d: Failed to connect to obs server." +SQLSTATE: 08006 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06820: "%d: Failed to download from obs server." +SQLSTATE: 2F000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06821: "%d: Obs server is busy. Try again later." +SQLSTATE: 08006 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06822: "%d: Download failed." +SQLSTATE: 2F000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06823: "execute command failed" +SQLSTATE: 2F000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06824: "must be system admin to use the gs_extend_library function" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06825: "Invaid argument: must at least set libraryname" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06826: "System Error." +SQLSTATE: 58000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06827: "Invalid argument: must set correct bucket and obs file path." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06828: "file_size is invalid:[%ld]" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06829: "process suicides because the victim of lwlock deadlock is an auxiliary thread" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06830: "the move_loc buffer should be invalid." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06831: "pgarch_ArchiverObsCopyLoop failed when call SyncRepGetSyncRecPtr" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06832: "fail to read indextbl maxnum" +SQLSTATE: 58000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06833: "fd + 1 cannot be greater than FD_SETSIZE" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06834: "Integer overflow when update database-wid stats" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06835: "Failed to get database-wide stats." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06836: "timed_checkpoints overflow" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06837: "requested_checkpoints overflow" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06838: "checkpoint_write_time overflow" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06839: "checkpoint_sync_time overflow" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06840: "buf_written_checkpoints overflow" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06841: "buf_written_clean overflow" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06842: "maxwritten_clean overflow" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06843: "buf_written_backend overflow" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06844: "buf_fsync_backend overflow" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06845: "buf_alloc overflow" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06846: "unrecognized bypass recovery conflict reason: %d" +SQLSTATE: 20000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06847: "Invalid page size" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06848: "terminate because pooler connect timeout(%ds) when process startup packet" +SQLSTATE: 57014 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06849: "pg_strdup: cannot duplicate null pointer (internal error)\n" +SQLSTATE: D0011 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06850: "out of memory\n" +SQLSTATE: 58000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06851: "the options of -n is deprecated" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06852: "the options of -T is deprecated" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06853: "Single node mode: must start as single node (--single_node)\n" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06854: "could not create listen socket for '%s:%d'" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06855: "pooler_port must equal to gsql listen port plus one!" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06856: "could not create ha listen socket for '%s:%d'" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06857: "could not create Ha listen socket for ReplConnInfoArr[%d]'%s:%d'" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06858: "could not create Unix-domain socket for '%s:%d'" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06859: "Init libcomm for stream failed, maybe listen port already in use" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06860: "when starting extreme rto, wal receiver buf should not smaller than %dMB" +SQLSTATE: 58000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06861: "extreme rto could not support hot standby." +SQLSTATE: 58000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06862: "WAL streaming (max_wal_senders > 0) requires wal_level 'archive', 'hot_standby' or 'logical'" +SQLSTATE: 58000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06863: "invalid value[%d] for parameter 'connect_timeout'" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06864: "no pg_hba.conf entry for host '%s'." +SQLSTATE: 28000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06865: "set basic info of stream failed!" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06866: "could not set WorkingGrandVersionNum manually while not performing upgrade" +SQLSTATE: D0011 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06867: "wrong environment variable '%s'" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06868: "unrecorgnized proc type %d" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06869: "create timer fail at thread : %lu" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06870: "unsupport thread role type %d" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06871: "can not execute in obs recovery mode" +SQLSTATE: D0011 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06872: "must be superuser/sysadmin account to perform disable_conn()" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06873: "Connection mode should be polling_connection or specify_connection or prohibit_connection" +SQLSTATE: D0011 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06874: "could not add lock when DN is not redo all xlog, redo done flag is false" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06875: "could not add lock when DN is not redo all xlog." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06876: "Invalid null pointer attribute for disable_conn()" +SQLSTATE: 42P24 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06877: "host is invalid" +SQLSTATE: D0011 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06878: "Can't get local connection address." +SQLSTATE: 42804 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06879: "get local host failed!" +SQLSTATE: 42804 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06880: "get local port failed!" +SQLSTATE: 42804 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06881: "cannot read disable connection file: '%s' \n" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06882: "syslogger could not open file %d: %m,exit\n" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06883: "Stream plan check failed. Execution datanodes list of stream node[%d] should never be null." +SQLSTATE: OP0A3 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06884: "Stream plan check failed. Execution datanodes list of stream node[%d] mismatch in parent node[%d]." +SQLSTATE: OP0A3 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06885: "Stream plan check failed. Query dop of stream node %d [dop: %d] mismatch in parent node %d [dop: %d]." +SQLSTATE: OP0A3 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06886: "The ruplan is can not be NULL" +SQLSTATE: OP0A3 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06887: "MPP with-recursive invalid stream node status Stream[%d]" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06888: "MPP with-recursive invalid connection index in DN pruning scenarios" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06889: "expected query id is %lu, actual query id is %lu" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06890: "Unexpected response from remote node" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06891: "Unexpected msg type[%d]" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06892: "Unrecogonized message type: '%c' msg:%s" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06893: "state is DN_CONNECTION_STATE_IDLE: %d" +SQLSTATE: 02002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06894: "Stream thread should not send row desrciption." +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06895: "Received unsupported message type: %c" +SQLSTATE: 02002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06896: "Unexpected response %d from Datanode when get tuple from cnnection buffer.The connection idx is %d and the count of active connections is %d." +SQLSTATE: 29P02 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06897: "MPP With-Recursive sync controller for Stream[%d] is not found" +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06898: "Failed to generate stream element due to out of memory" +SQLSTATE: 53200 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06899: "Distribute query fail due to duplicate plan id when register consumer socket, current_connNum: %d, expected_connNum: %d" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06900: "pid of stream nodegroup id is duplicated" +SQLSTATE: 58000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06901: "failed to startup stream thread, NodeName: %s, key(%lu, %u): %m" +SQLSTATE: 58000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06902: "MPP With-Recursive sync controller for PlanNode[%d] is not found" +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06903: "Unsupported SyncProducerType %d" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06904: "MPP with-recursive. controller is not found in SyncProducerNextPlanStep top:%s" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06905: "error happened during execute query" +SQLSTATE: 57P05 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06906: "MPP with-recursive step1 (C) is not set on datanode %s" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06907: "MPP with-recursive step2 (C) is not set on datanode %s" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06908: "unsupported steps" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06909: "MPP with-recursive step%d, %s failed [code:%d] to read response 'R' from Datanodes. Detail: %s\n" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06910: "MPP with-recursive(C) receive message 'R' from stream node:%d" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06911: "current transaction is aborted, commands ignored until end of transaction block, firstChar[%c]" +SQLSTATE: 25P02 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06912: "Stream consumer nodes should not be null." +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06913: "No skew quals found for Hybrid Stream\n" +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06914: "stream thread ID has not been set by parent thread after 30s." +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06915: "inserted distribution key does not map to any datanode" +SQLSTATE: 42P29 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06916: "invalid argument count %d in function call message" +SQLSTATE: 08P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06917: "func_id not valid in %s line %d" +SQLSTATE: 42883 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06918: "function call message supplies invalid numAFormats %d" +SQLSTATE: 08P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06919: "a_type message is invalid" +SQLSTATE: 08006 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06920: "Invaild parameter." +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06921: "Could not find \'}\' in the query string." +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06922: "Invaild query string." +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06923: "Input queryStringLen is illegal." +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06924: "unexpect list length %d of mem_list from info_query_string." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06925: "analyzeNode is null." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06926: "node n is null." +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06927: "Invaild UUID Message for CREATE SEQUENCE." +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06928: "Not enough UUID (%d/%d) in CREATE SEQUENCE." +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06929: "Invaild UUID Message while CREATE SEQUENCE by serial." +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06930: "Cross storage engine query is not supported" +SQLSTATE: HV027 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06931: "Cross storage engine transaction is not supported" +SQLSTATE: HV026 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06932: "SubTransaction is not supported for memory table" +SQLSTATE: HV025 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06933: "Update of indexed column is not supported for memory table" +SQLSTATE: HV028 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06934: "Too long plan_string." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06935: "Received unexpected node type." +SQLSTATE: XX006 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06936: "rel_loc_info is NULL." +SQLSTATE: 58000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06937: "The current node should not receive z messages" +SQLSTATE: 58030 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06938: "current transaction is not start" +SQLSTATE: 25000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06939: "portal_name or stmt_name is null." +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06940: "Too long portal_name and stmt_name." +SQLSTATE: 08P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06941: "stmts is not NULL" +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06942: "terminating data redistribution process due to administrator command" +SQLSTATE: 57P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06943: "terminating snapshot process due to administrator command" +SQLSTATE: 57P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06944: "detach and reaper session from thread due to session connection lost" +SQLSTATE: 57014 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06945: "terminate because authentication timeout(%ds)" +SQLSTATE: 57014 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06946: "terminate because cancel interrupts" +SQLSTATE: 57014 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06947: "canceling statement due to %s.%s" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06948: "canceling statement due to %s" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06949: "canceling data redistribution task" +SQLSTATE: 57014 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06950: "canceling statement due to failover, pending" +SQLSTATE: 08000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06951: "canceling snapshot task" +SQLSTATE: 57014 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06952: "Invalid remote type:%s" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06953: "Postgres-XC: must start as either a Coordinator (--coordinator) or Datanode (--datanode)\n" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06954: "Cannot execute DDL in a transaction block when need reconnect pooler" +SQLSTATE: 25001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06955: "invalid number of data nodes when initializing global node definition." +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06956: "invalid frontend message type '%c'." +SQLSTATE: 08P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06957: "query_string is NULL." +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06958: "Too long query_string." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06959: "Invalid packet path, remoteConnType[%d], remote_host[%s], remote_port[%s]." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06960: "Acceptter in pooler stateless resue mode reset connection params %d > sql[%d]." +SQLSTATE: 58000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06961: "Too long schema_name." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06962: "The overrideStack list has been reach the max length." +SQLSTATE: 08P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06963: "Invalid message type %d for procedure overrideStack." +SQLSTATE: 08P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06964: "invalid execute message" +SQLSTATE: 08P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06965: "cn has enabled global plan cache but dn %s disabled" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06966: "Too long closeTarget." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06967: "invalid describe message" +SQLSTATE: 08P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06968: "gtm mode unconsistency, remote mode is %s, local mode is %s." +SQLSTATE: 58000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06969: "Received an invalid commit csn: %lu." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06970: "Need to set support_batch_bind=true if executing batch" +SQLSTATE: 58000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06971: "Please use 'ALTER ROLE user_name IDENTIFIED BY 'password' REPLACE 'old password';' to modify the expired password of user %s before operation!" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06972: "Portal run not complete for one in Batch bind-execute: name %s, query %s" +SQLSTATE: 58000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06973: "Batch param of distribute key only support const" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06974: "Failed to get DataNode id for Batch bind-execute: name %s, query %s" +SQLSTATE: 58000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06975: "unexpected batch_count %d get from inputmessage" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06976: "unexpected maxlen %d " +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06977: "Batch bind-execute message with invalid batch count: %d" +SQLSTATE: 08P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06978: "Not support portal_name %s for Batch bind-execute." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06979: "Batch bind-execute message with invalid parameter number: %d" +SQLSTATE: 08P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06980: "conflict stmt name in Batch bind-execute message: bind %s, describe %s" +SQLSTATE: 08P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06981: "conflict portal name in Batch bind-execute message: bind %s, describe %s" +SQLSTATE: 08P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06982: "invalid DESCRIBE message subtype in Batch bind-execute message: %d" +SQLSTATE: 08P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06983: "conflict portal name in Batch bind-execute message: bind %s, execute %s" +SQLSTATE: 08P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06984: "Not support max_row in Batch bind-execute message: %d" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06985: "invalid value in Batch bind-execute message: %d" +SQLSTATE: 08P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06986: "Unrecognized portal strategy: %d" +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06987: "Cursor can only scan forward" +SQLSTATE: 55000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06988: "Cursor rewind are not supported." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06989: "sql retrying routine off the track." +SQLSTATE: 2F000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06990: "%s %s do stub test '%c'" +SQLSTATE: XX015 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06991: "%s ecode stub test raise error %s" +SQLSTATE: # thi +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06992: "Unable to create table on installation group and elastic group in logic cluster." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06993: "User '%s' need to attach to logic cluster '%s' to create table." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06994: "User '%s' have no privilege to create table on logic cluster '%s'." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06995: "Cannot find logic cluster." +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06996: "Installation node group is not defined in current cluster" +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06997: "Unable to create table on old installation group '%s' while in cluster resizing." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06998: "invalid commit csn: %lu." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-06999: "Current Node is not active" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07000: "commit xid %lu is not equal to the excute one %lu." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07001: "abort xid %lu is not equal to the former one %lu." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07002: "Current mode does not support FOREIGN table yet" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07003: "Current mode does not support FOREIGN server yet" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07004: "NOT-SUPPORT: Not support DROP multiple objects different nodegroup" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07005: "permission denied to drop foreign table in security mode" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07006: "foreign table '%s.%s' does not exist" +SQLSTATE: 42P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07007: "NOT-SUPPORT: Not support DROP multiple functions in different nodegroup" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07008: "operation copy with file is forbidden in security mode." +SQLSTATE: D0011 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07009: "NOT-SUPPORT: Not support Grant/Revoke privileges to objects in different nodegroup" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07010: "user defined range type is not yet supported." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07011: "Does not support FUNCTION with multiple nodegroup table type in logic cluster." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07012: "This relation doesn't support analyze with column." +SQLSTATE: 42P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07013: "PGXC Node %s is not a valid coordinator" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07014: "Invalid value '%s' in WITH clause" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07015: "Don't support node group in single_node mode." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07016: "Un-support to create client master key when client encryption is disabled." +SQLSTATE: OP003 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07017: "Un-support to create column encryption key when client encryption is disabled." +SQLSTATE: OP003 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07018: "Not supported for streaming engine in current version" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07019: "GTM error, could not set vacuum flag" +SQLSTATE: 08006 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07020: "%s can not run inside a transaction block" +SQLSTATE: 25001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07021: "unrecognized nodes %s in node group utility execution" +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07022: "string of invalid transaction message would overflow buffer" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07023: "Invalid attribute for thread pool." +SQLSTATE: OP0A3 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07024: "Exceed stream thread pool limitation %d in group %d" +SQLSTATE: 58000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07025: "Fail to find a free slot for stream" +SQLSTATE: 53000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07026: "epoll receive %d events which exceed the limitation %d" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07027: "must be system admin, db owner or have the same role to terminate other backend" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07028: "Unexpected receive proc signal." +SQLSTATE: 08000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07029: "receive more connection message %d than expect %d" +SQLSTATE: 08P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07030: "undefined state %d for session attach" +SQLSTATE: 42P24 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07031: "memory usage reach the max_dynamic_memory" +SQLSTATE: YY006 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07032: "Cannot get the llvm::Intrinsic::sasub_with_overflow function!\n" +SQLSTATE: CG002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07033: "Unsupported LLVM report type!" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07034: "Cannot get the llvm::Intrinsic::smul_with_overflow function!" +SQLSTATE: CG002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07035: "Failed on getting IR function : LLVMIRbpcharne!\n" +SQLSTATE: CG001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07036: "Failed on getting IR function : LLVMIRtextlike!\n" +SQLSTATE: CG001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07037: "Failed on getting IR function : LLVMIRtextnlike!\n" +SQLSTATE: CG001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07038: "Unexpected NULL right operator!" +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07039: "Invalid LLVM type %d" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07040: "Failed to get the const node of the operation!\n" +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07041: "Failed on getting IR function : LLVMIRbpchareq!" +SQLSTATE: CG001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07042: "unrecognized booltexttype: %d" +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07043: "Failed on getting IR function : LLVMIRmemcmp!\n" +SQLSTATE: CG001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07044: "Codegen failed on the procedure of ExecVecTargetList!" +SQLSTATE: CG000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07045: "Not supported expr node %d yet!" +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07046: "Unexpected batch information from ExprContext." +SQLSTATE: XX006 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07047: "Unsupported operation %u in FastAgg." +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07048: "Failed on generating HashBatchCodeGen!\n" +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07049: "Failed on generating MatchOneKey Function!\n" +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07050: "Unexpected NULL project information." +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07051: "Unsupported agg function %u!" +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07052: "Type %u is not supported yet in hashBatch" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07053: "Type %u is not supported yet in match_key" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07054: "Unexpected operation %u!" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07055: "Cannot get the llvm::Intrinsic::sadd_with_overflow function!" +SQLSTATE: CG002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07056: "Failed to get llvm function Intrinsic::prefetch!\n" +SQLSTATE: CG002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07057: "Failed to get function Intrinsic::prefetch!\n" +SQLSTATE: CG002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07058: "Codegen keyMatch failed: unsupported data type!\n" +SQLSTATE: 42804 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07059: "Failed to get inner hash key!" +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07060: "Failed to get outer hash key!" +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07061: "Codegen keyMatch failed for %d-th clause of hash join!\n" +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07062: "Codegen fast keyMatch failed: unsupported data type!\n" +SQLSTATE: 42804 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07063: "Codegen buildHashTable failed: unsupported data type!\n" +SQLSTATE: 42804 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07064: "Codegen probeHashTable failed: unsupported data type!\n" +SQLSTATE: 42804 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07065: "unrecognized node type: %d when rescan" +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07066: "unrecognized node type: %d when restore scan position" +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07067: "cache lookup failed for relation %u when check backward scan for Index." +SQLSTATE: 29P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07068: "cache lookup failed for access method %u when test backward scan for Index %s" +SQLSTATE: 29P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07069: "Invalid parameter in function '%s'" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07070: "do not support update or delete on table %s, when do cluster resizing on it." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07071: "delete delta table %s is not found when do cluster resizing table '%s'" +SQLSTATE: 42P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07072: "Unsupport '%s' command during online expansion" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07073: "Unsupport '%s' command during online expansion on '%s'" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07074: "Unsupport '%s' command with '%s' option during online expansion on '%s' because the object is in read only mode." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07075: "Unsupport '%s' command with '%s' option during online expansion on '%s'" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07076: "Unsupport 'VACUUM FULL' command during online expansion on '%s'" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07077: "Unsupport '%s' command during online expansion on '%s' because the object is in read only mode." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07078: "function with OID %u does not exist when checking function dnstable" +SQLSTATE: 42883 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07079: "operation expression function with OID %u does not exist." +SQLSTATE: 42883 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07080: "new table %s is not found when do cluster resizing table '%s'" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07081: "Invalid parameter in function '%s' when getting the name of new table" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07082: "cursor '%s' does not exist when executing Current Of Expr." +SQLSTATE: 34001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07083: "cursor '%s' is not positioned on a row when the cursor uses for UPDATE/SHARE" +SQLSTATE: 24000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07084: "could not find hash function for hash operator %u for TupleHashTable, column number %d, total column number %d." +SQLSTATE: 42883 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07085: "invalid node identifier for update/delete" +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07086: "unrecognized markType: %d when initializing query plan." +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07087: "unrecognized CmdType: %d when perform operations on view." +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07088: "unrecognized CmdType: %d when perform operation on foreign table." +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07090: "cannot lock rows in materialized view '%s'" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07091: "cannot lock rows in stream '%s'" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07092: "could not find tableoid junk %s column when build RowMark" +SQLSTATE: XX007 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07093: "could not find bucketid junk %s column when build RowMark" +SQLSTATE: XX007 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07094: "could not find ctid junk %s column when build RowMark" +SQLSTATE: XX007 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07095: "could not find whole-row junk %s column when build RowMark" +SQLSTATE: XX007 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07096: "failed to fetch tuple for EvalPlanQual recheck from partition relation." +SQLSTATE: 29P02 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07097: "tableoid is null when merge partitioned table" +SQLSTATE: XX007 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07098: "bucketid is null when merge table" +SQLSTATE: XX007 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07099: "unrecognized node type: %d when initializing executor." +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07100: "unrecognized node type: %d when executing executor node." +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07101: "unrecognized node type: %d when executing multi executor node." +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07102: "unrecognized node type: %d when ending executor." +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07103: "upper and lower index lists are not same length (%d, %d)" +SQLSTATE: 2202E +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07104: "a NULL isNull pointer was passed when get attribute by number." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07105: "invalid null attribute name" +SQLSTATE: 42602 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07106: "a NULL isNull pointer was passed when get attribute by name." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07107: "function doesn't exist " +SQLSTATE: 42883 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07108: "The input function expression is NULL." +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07109: "unrecognized XML operation %d" +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07110: "unrecognized node type: %d when initializing expression." +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07111: "set-valued function called in context when calculate targetlist that cannot accept a set" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07112: "INSERT ON DUPLICATE KEY UPDATE does not support deferrable unique constraints/exclusion constraints." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07113: "could not create exclusion constraint '%s' when trying to build a new index" +SQLSTATE: 23P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07114: "paramname should not be NULL" +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07115: "cache lookup failed for function %u when initialize function cache." +SQLSTATE: 29P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07116: "null prosrc for function %u when we need the function body text" +SQLSTATE: 42P13 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07117: "function returns VOID, failed to get junk filter's slot" +SQLSTATE: 29P02 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07118: "return type %s is not supported for SQL functions with ID %u." +SQLSTATE: 42P13 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07119: "streaminfo space is not enough because STREAM NUMBER : %d + GATHER NUMBER : %d < streamInfoIdx : %d" +SQLSTATE: XX006 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07120: "query dop is out of range: %u [0-%d]" +SQLSTATE: 22017 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07121: "m_query_dop can not be zero" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07122: "Expecting messages of query: %lu, but received messages of query: %lu" +SQLSTATE: YY002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07123: "slot is out of range" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07124: "Unexpected NULL value." +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07125: "[LIGHT PROXY] Failed to get pooled connections from %s[%u]" +SQLSTATE: 08006 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07126: "[LIGHT PROXY] Failed to send parse to %s[%u]" +SQLSTATE: 08000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07127: "[LIGHT PROXY] Failed to get new transaction id" +SQLSTATE: 08000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07128: "[LIGHT PROXY] Failed to send gxid %lu to %s[%u]" +SQLSTATE: 08000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07129: "[LIGHT PROXY] Failed to send timestamp to %s[%u]" +SQLSTATE: 08000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07130: "[LIGHT PROXY] Failed to send internal begin to %s[%u]" +SQLSTATE: 08000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07131: "[LIGHT PROXY] Failed to send cid to %s[%u]" +SQLSTATE: 08000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07132: "[LIGHT PROXY] Failed to send snapshot to %s[%u]" +SQLSTATE: 08000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07133: "[LIGHT PROXY] Failed to send cgroup to %s[%u]" +SQLSTATE: 08000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07134: "[LIGHT PROXY] Failed to send query id to %s[%u]" +SQLSTATE: 08000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07135: "[LIGHT PROXY] Failed to send unique sql id to %s[%u]" +SQLSTATE: 08000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07136: "INSERT ON DUPLICATE KEY UPDATE must have an transformed InsertStmt query." +SQLSTATE: XX008 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07137: "invalid msgType %d for process message \n" +SQLSTATE: 20000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07139: "[LIGHT PROXY] Unexpected response from %s[%u]" +SQLSTATE: 08000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07141: "[LIGHT PROXY] Failed to send sync to %s[%u]" +SQLSTATE: 08000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07142: "cache lookup failed for aggregate function %u" +SQLSTATE: 29P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07143: "unrecognized result from subplan for BitmapAnd." +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07144: "unrecognized result from subplan for BitmapHeapScan." +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07145: "prefetch and main iterators are out of sync for BitmapHeapScan." +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07146: "can't initialize bitmap index scans using unusable index '%s'" +SQLSTATE: XX002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07147: "no local indexes found for partition %s BitmapIndexScan" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07148: "can't initialize bitmap index scans using unusable local index '%s' for partition" +SQLSTATE: XX002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07149: "unrecognized result from BitmapIndexScan subplan when execute BitmapOr" +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07150: "unrecognized result from non-BitmapIndexScan subplan when execute BitmapOr" +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07151: "extensible node name is too long" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07152: "extensible node type '%s' already exists" +SQLSTATE: 42710 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07153: "ExtensibleNodeMethods '%s' was not registered" +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07154: "unrecognized join type: %d for hashjoin" +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07155: "could not write hashvalue %u to hash-join temporary file, written length %lu." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07156: "could not write tuple to hash-join temporary file: written length %lu, tuple length %u" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07157: "could not read from hash-join temporary file: read length %zu" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07158: "The hash-join temporary file is corrupted,hashvalue:%u, length:%u." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07159: "could not read from hash-join temporary file(t_len:%u,nread:%lu): %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07160: "can't initialize index-only scans using unusable index '%s'" +SQLSTATE: XX002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07161: "can't initialize index-only scans using unusable local index '%s'" +SQLSTATE: XX002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07162: "can't initialize index scans using unusable index '%s'" +SQLSTATE: XX002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07163: "indexqual for OpExpr doesn't have key on left side" +SQLSTATE: XX002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07164: "bogus index qualification for OpExpr, attribute number is %d." +SQLSTATE: XX002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07165: "indexqual for RowCompare expression doesn't have key on left side" +SQLSTATE: XX002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07166: "bogus RowCompare index qualification, attribute number is %d" +SQLSTATE: XX002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07167: "RowCompare index qualification contains wrong operator, strategy number is %d." +SQLSTATE: XX002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07168: "n_sub_key can not be zero" +SQLSTATE: XX002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07169: "indexqual for ScalarArray doesn't have key on left side" +SQLSTATE: XX002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07170: "bogus index qualification for ScalarArray, attribute number is %d." +SQLSTATE: XX002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07171: "can't initialize index scans using unusable local index '%s'" +SQLSTATE: XX002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07172: "tableoid is NULL when try to lock current row." +SQLSTATE: XX007 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07173: "bucketid is NULL when try to lock current row." +SQLSTATE: XX007 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07174: "unrecognized heap_lock_tuple status: %d when lock a tuple" +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07175: "ExecLockRows:target relation cannot be NULL for plan qual recheck." +SQLSTATE: 40001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07176: "mergejoin clause is not an OpExpr %d" +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07177: "cannot merge using non-equality operator %u, strategy is %d" +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07178: "mj_InnerTupleSlot cannot be NULL" +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07179: "RIGHT JOIN is only supported with merge-joinable join conditions." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07180: "FULL JOIN is only supported with merge-joinable join conditions." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07181: "unrecognized join type: %d for mergejoin." +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07182: "failed to fetch conflicting tuple for DUPLICATE KEY UPDATE" +SQLSTATE: 40001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07183: "ON DUPLICATE KEY UPDATE command cannot affect row a second time" +SQLSTATE: 40001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07184: "unexpected self-updated tuple" +SQLSTATE: 40001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07185: "unexpected concurrent update tuple" +SQLSTATE: 40001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07186: "ON DUPLICATE KEY UPDATE is not supported on column orientated table" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07187: "ON DUPLICATE KEY UPDATE is not supported on DFS table" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07188: "delete conflict in delta table cstore.%s" +SQLSTATE: 42P28 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07189: "unable to get a stable set of rows in the source tables" +SQLSTATE: P0003 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07190: "update conflict in delta table cstore.%s" +SQLSTATE: 42P28 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07191: "unknown operation %d when process BEFORE EACH STATEMENT triggers" +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07192: "unknown operation %d when process AFTER EACH STATEMENT triggers" +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07193: "junkfilter should not be NULL" +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07194: "ctid is NULL when do operation %d, junk attribute number is %d" +SQLSTATE: XX007 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07195: "bucketid is null when update table" +SQLSTATE: XX007 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07196: "wholerow is NULL when do operation %d, junk attribute number is %d" +SQLSTATE: XX007 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07197: "unknown operation %d when execute the required table modification." +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07198: "Unsupport 'MERGE INTO' command during online expansion on '%s'" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07199: "could not find junk tableoid column for partition table." +SQLSTATE: 42P24 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07200: "could not find junk bucketid column for bucketed table." +SQLSTATE: 42P24 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07201: "unrecognized join type: %d when initializing nestLoop" +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07202: "max iteration times %d hit when looping over right plan tree." +SQLSTATE: 53400 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07203: "MPP with-recursive in node->shareContext is NULL in distributed mode " +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07204: "Unsupported hashing for recursive union" +SQLSTATE: XX006 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07205: "MPP With-Recursive sync controller for RecursiveUnion[%d] is not found" +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07206: "SycUP stream node is not found" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07207: "Unsupported SyncController type typeid:%d typename%s" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07208: "more than one sync-up stream node" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07209: "un-recognize steps for consumer side when synchronizing recusive-union." +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07210: "un-recognized steps for producer side when sychronizing recursive-union." +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07211: "MPP with-recursive. Controller is not found in ExecSyncStreamProducer with stream[%d] top:%s" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07212: "need_rescan should not be NULL" +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07213: "MPP with-recursive datanode:%s CTE(%d) none_recursive_finished is not set to finish" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07214: "MPP with-recursive datanode:%s CTE(%d) recursive_union_finish is not set to finish" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07215: "MPP with-recursive step information in SyncUpController is not correct %d" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07216: "Invalid start next recursvie iteration when kick-off the whole cluster." +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07217: "TABLESAMPLE REPEATABLE parameter cannot be null" +SQLSTATE: 29002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07218: "sample percentage must be between 0 and 100" +SQLSTATE: 29001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07219: "invalid operation %d on partition for seqscan, allowed are UPDATE/DELETE/SELECT" +SQLSTATE: D0011 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07220: "unrecognized set op: %d when seting the count of output." +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07221: "CTE subplans should not be executed" +SQLSTATE: 23514 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07222: "unrecognized testexpr type: %d in a hash subplan" +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07223: "could not find compatible hash operator for operator %u for subplan" +SQLSTATE: 42883 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07224: "could not find hash function for hash operator %u for subplan" +SQLSTATE: 42883 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07225: "CTE subplans should not be executed when execute subplan" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07226: "could not identify CTID expression, %s" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07227: "cannot get result from tuplestore for WinwdowsAgg" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07228: "cache lookup failed for aggregate %u of WindowsAgg" +SQLSTATE: 29P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07229: "cache lookup failed for function %u of WindowsAgg in pg_proc" +SQLSTATE: 29P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07230: "cannot get result from tuplestore in WindowsAgg." +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07231: "unrecognized window seek type: %d on a specified row of partition." +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07232: "window object is invalid" +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07233: "unrecognized window seek type: %d on a specified row of window frame" +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07234: "MPP with-recursive, globalStreamNodeGroup is not found in Node:[%d]" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07235: "stop scan the work table due to transaction aborted and vfd invalidated" +SQLSTATE: 57P05 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07236: "Both cacheplan and planstmt are NULL" +SQLSTATE: 26010 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07237: "unrecognized bypass support process option: %d" +SQLSTATE: 20000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07238: "r_formats can not be NULL when num of rformats is not 0" +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07239: "unmatched parameter number" +SQLSTATE: 26010 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07240: "unexpected node type: %d when processing bypass expression." +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07241: "unexpected arg length : %d when processing bypass expression." +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07242: "unrecognized bypass support number of arguments function calls: %d" +SQLSTATE: 20000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07243: "Invaild Oid when open hash bucket relation." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07244: "unsupported aggfnoid %u for bypass." +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07245: "unsupport bypass indexqual type: %d" +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07246: "partitioned relation dose not use global partition index" +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07247: "unrecognized bypass support type: %d" +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07248: "wrong input for router" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07249: "cannot find valid relation oid from router table_name" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07250: "invalid relation locator info from router table_name" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07251: "only support hash or modulo locator type, the relation locator type for router is %c\n" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07252: "input key number cannot match distribute keys on table %s" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07253: "invalid node id get from input key" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07254: "SPI stack corrupted when connect SPI, %s" +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07255: "SPI stack corrupted when connect SPI, stack depth %d" +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07256: "cannot commit/rollback within function or procedure started by trigger" +SQLSTATE: 2D000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07257: "cannot commit/rollback at non-CN node" +SQLSTATE: 2D000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07258: "commit/rollback is not allowed in a non-volatile function" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07259: "commit/rollback is not allowed in outer sub transaction block." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07260: "SPI stack corrupted when copy tuple, connected level: %d" +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07261: "SPI stack corrupted when return tuple, connected level: %d" +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07262: "SPI stack corrupted when modify tuple, connected level: %d" +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07263: "SPI stack corrupted when allocate, connected level: %d" +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07265: "SPI stack is corrupted when open cursor with args, current level: %d, connected level: %d" +SQLSTATE: 24000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07266: "SPI stack is corrupted when open cursor, current level: %d, connected level: %d" +SQLSTATE: 24000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07267: "invalid portal in SPI cursor close operation" +SQLSTATE: 24000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07268: "SPI stack level is corrupted when checking SPI id, current level: %d, connected level: %d" +SQLSTATE: SP006 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07269: "SPI stack is corrupted when checking SPI id." +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07270: "SPI tupletable is not cleaned when initializing SPI." +SQLSTATE: SP006 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07271: "tuple is NULL when store to SPI tupletable." +SQLSTATE: SP006 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07272: "consistency check on SPI tuple count failed when execute plan, %s" +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07273: "SPI stack is corrupted when perform cursor operation, current level: %d, connected level: %d" +SQLSTATE: SP001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07274: "consistency check on SPI tuple count failed, %s" +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07275: "SPI stack corrupted when begin SPI operation." +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07276: "SPI tupletable is NULL when shutdown SPI for analyze." +SQLSTATE: SP000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07277: "SPI tupletable is NULL when store tuple to it for analyze." +SQLSTATE: SP000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07278: "Unable to connect to execute internal query, current level: %d, connected level: %d" +SQLSTATE: SP001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07279: "Unimplemented vector node %s" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07280: "unrecognized node type: %s in function ExecVecMarkPos" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07281: "unrecognized node type: %s in ExecRestrPos" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07282: "Type of parameter %d (%s) does not match that when preparing the plan (%s)" +SQLSTATE: 42804 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07283: "No value found for parameter %d" +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07284: "Unrecognized RowCompareType: %d" +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07285: "Unrecognized nulltesttype: %d" +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07286: "nvalues: %d is invalid" +SQLSTATE: 22015 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07287: "udfInfo->allocRows: %d is not enough" +SQLSTATE: 22015 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07288: "UnSupported vector function %u" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07289: "unrecognized paramtype: %d" +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07290: "Unaligned rows for batches need to be expression evaluation" +SQLSTATE: 23514 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07291: "can not cast from type %s to type %s " +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07292: "invalid operation on partition, allowed are UPDATE/DELETE/SELECT/MERGE" +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07293: "Fail to find partition from sequence." +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07294: "The left value of the expression should not be NULL" +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07295: "Fail to get the right value of the expression" +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07296: "hash bucket is not supported in column store." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07297: "ORDER BY with column index is not supported" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07298: "Unexpected vector hash aggregation status" +SQLSTATE: XX006 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07299: "Unexpected vector hashagg status" +SQLSTATE: XX006 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07300: "could not write to hashJoin temporary file: %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07301: "could not read hashkey from hash-join temporary file: %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07302: "TIMESERIES store dose not support this operation" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07303: "TIMESERIES store unsupport none partitioned table" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07304: "Please enable timeseries first!" +SQLSTATE: D0011 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07305: "unrecognized node type: %s" +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07306: "unrecognize data type %u." +SQLSTATE: 42P38 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07307: "hashed sub_plan with direct correlation not supported" +SQLSTATE: 55000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07308: "Unsupported window function %u in vector engine" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07309: "UnSupported vector window aggregation function %u" +SQLSTATE: 42P25 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07310: "LZ4 decompress failed when deserializing message, return %d, compressed length %d, original length %d" +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07311: "[SonicHash] Unsupport sonic data desc size %d without tuple desc" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07312: "[SonicHash] Unrecognize data type %u with tuple desc" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07313: "invalid datum int array size %d" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07314: "[VecSonicHashJoin: write numeric atom occurs error.]" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07315: "m_curFlag should not be NULL" +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07316: "[VecSonicHashJoin: load numeric atom occurs error.]" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07317: "[SonicHash] could not rewind sonic hash-join temporary file: %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07318: "[SonicHash] Int has unknown type size of %d" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07319: "[VecSonicHashJoin: reading numeric occurs error.]" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07320: "[SonicHash] Unrecognized datetype %u, attrlen %d when init hash functions." +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07321: "Unrecognized vector sonic hashagg run status." +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07322: "Unrecognized vector sonic hashagg data status." +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07323: "Unrecognized vector sonic hash aggregation status." +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07324: "Unrecognized vector sonic hashjoin run status." +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07325: "Unrecognize data type %u when choosing match functions from inner hash keys." +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07326: "Unrecognize data type %u when choosing match functions from outer hash keys." +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07327: "SonicHashJoin reportSorthashinfo: Unsupport report type %d" +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07328: "[SonicHash] Unrecognize desc type %d with type oid %u" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07329: "[SonicHash] The number of rows is greater than SONIC_MAX_ROWS %u, which is not supported for hash table construction." +SQLSTATE: P0003 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07330: "make sure connection to elastic_search_ip_addr, error info: %s\n" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07331: "[%s] no such label found" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07332: "Unsupported policy filter values" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07333: "%s policy already exists, create failed" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07334: "Unsupported policy type" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07335: "%s no such policy found, alter failed" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07336: "%s policy does not exist, drop failed" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07337: "Masking policy can only operate on column object." +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07338: "Masking policy can only operate on column of ordinary table." +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07339: "Type of column %s is not supported to mask." +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07340: "current policy is conflict with exist policy: %s" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07341: "unsupported policy filter values" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07342: "policy %s not exists." +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07343: "app: [%s] is invalid" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07344: "ip range: [%s] is invalid, please identify" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07345: "role: [%s] is invalid" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07346: "filter: [%s] is invalid" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07347: "length of session ip buffer should more than 128" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07348: "Cache lookup failed for relation %u" +SQLSTATE: 29P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07349: "Do not support policy label on temp table '%s'" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07350: "[%s] no such schema found" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07351: "[%s.%s] no such relation found" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07352: "[%s.%s] no such view found" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07353: "[%s.%s.%s] no such relation column found" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07354: "[%s.%s] no such function found" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07355: "Column %s already in other label" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07356: "Column name without table" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07357: "%s label already defined" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07358: "Resource %s %s already exists in label %s" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07359: "No such resource %s %s found in label %s" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07360: "Could not find tuple for label %lld" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07361: "%s no such label found" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07362: "One or more labels bound to policies - cannot drop" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07363: "Invalid index column, attribute column index is %d" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07364: "Invalid arguments for function cbtreegettuple" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07365: "number of columns (%u) exceeds limit (%d)" +SQLSTATE: 54011 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07366: "index is not correct" +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07367: "data length is not correct" +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07368: "num attrs from DN is %d, mismatch num attrs %d in portal" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07369: "unrecognized batch compress type" +SQLSTATE: 42804 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07370: "invalid value for 64-bit integer option '%s': %s" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07371: "Value '%s' of option 'compression' is invalid for timeseries table" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07372: "Invalid interval string for 'ttl' option" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07373: "Invalid interval range for 'ttl' option" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07374: "Invalid interval string for 'period' option" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07375: "Invalid interval range for 'period' option" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07376: "Invalid interval string for 'partition_interval' option" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07377: "Invalid interval range for 'partition_interval' option" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07378: "Invalid interval string for 'time_column' option" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07379: "Invalid interval string for 'ttl_interval' option" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07380: "Invalid interval string for 'gather_interval' option" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07381: "invalid value for 'append_mode' option" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07382: "invalid value for 'wait_clean_gpi' option" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07383: "Invalid string for 'TABLE_ACCESS_METHOD' option." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07384: "Invalid interval string for 'string_optimize' option" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07385: "options is NULL when using pound parser" +SQLSTATE: 58000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07386: "The split flag should exactly be one character and can not be NULL." +SQLSTATE: 2200F +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07387: "%s is not supported by pound parser." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07388: "the attribute column of user defined CompositeType does not support view type '%s' " +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07389: "Unsupported var type %u from data type %s(%u)." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07390: "Unsupported data type : %s." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07391: "Indicates the restriction's level is undefined." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07392: "get min max statistics false." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07393: "Unsupported data type for min-max filter: %s(%u)." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07394: "Error occurred while reading column %d: carbondata and kernel types do not match, carbondata type is %s and kernel type is %s." +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07395: "Unsupported var type %s from data type %s." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07396: "Error occurred while reading column %d: carbondata and kernel types do not match, carbondata type is %s(%d,%d) and kernel type is %s." +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07397: "Unsupported data type : %s for predicate filter." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07398: "Unsupported carbondata type : %s." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07399: "Can't find .carbondata file." +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07400: "Failed to alloc the space to fileFooter." +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07401: "Failed to alloc the space to fileHeader." +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07402: "Failed to alloc the space to fileReader." +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07403: "chunk_size :%d is illegal." +SQLSTATE: 42P17 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07404: "No 'type' option provided." +SQLSTATE: 42P17 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07405: "line is larger than 1GB." +SQLSTATE: 22P04 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07406: "read handler is not in pending_free_reader_list" +SQLSTATE: D0009 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07407: "write handler is not in pending_free_writer_list" +SQLSTATE: D0009 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07408: "Failed to get currentFileName !" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07409: "setDescByFilePath cannot find filename" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07410: "Rigth operation in constraint expression cannot be NULL." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07411: "Invalid Oid for operator %u." +SQLSTATE: 20000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07412: "Invalid file path:%s" +SQLSTATE: 42P17 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07413: "Unsupported data type on typeoid:%u when converting string to datum." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07414: "Unsupported data type on typeoid:%u when converting datum to string." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07415: "The leftop is null" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07416: "The rightop is null" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07417: "Please select other functions to parse deciaml data." +SQLSTATE: HV004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07418: "The incorrect numeric format." +SQLSTATE: HV004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07419: "No %s is specified for the foreign table." +SQLSTATE: 44000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07420: "Unsupport any empy %s for the foreign table." +SQLSTATE: 44000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07421: "The first character and the end character of each %s must be a '/' in string '%s'." +SQLSTATE: 42P17 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07422: "No folder path is specified for the foreign table." +SQLSTATE: 44000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07423: "No file path is specified for the foreign table." +SQLSTATE: 44000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07424: "No hdfscfg path is specified for the server." +SQLSTATE: 44000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07425: "Only a folder path is allowed for the foreign table." +SQLSTATE: 44000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07426: "Only a hdfscfg path is allowed for the server." +SQLSTATE: 44000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07427: "No address is specified for the server." +SQLSTATE: 44000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07428: "The port value is out of range: \'%s\'" +SQLSTATE: 44000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07429: "argument to option'%s' must be a valid encoding name" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07430: "Column %s is unsupported data type." +SQLSTATE: HV004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07431: "Date type is only support in A-format database." +SQLSTATE: HV004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07432: "Invalid partition expression:%s" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07433: "The arg is null" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07434: "bloomFilter create failed" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07435: "obs readwrite handler is null" +SQLSTATE: HV00N +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07436: "unsupport connector type %d" +SQLSTATE: HV00N +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07437: "Before encoding, the length of data as partition directory name must be less than dfs_partition_directory_length(%d)/3." +SQLSTATE: 53400 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07438: "Invalid column attribute:%d" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07439: "setMinMaxByHeapTuple" +SQLSTATE: 20000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07440: "delete or update failed due to concurrent conflict" +SQLSTATE: P0002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07441: "getting next tuple in an ordered catalog scan failed" +SQLSTATE: P0002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07442: "Failed to parse the postscript from string" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07443: "Failed to parse the filefooter from string" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07444: "Error occurred while reading column %d: ORC and mpp types do not match, ORC type is %s and mpp type is %s." +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07445: "Error occurs while reading orc file %s, detail can be found in dn log of %s." +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07446: "The type of decimal(precision>38) doesn't support predicate pushdown." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07447: "Invalid file size is found on file: %s." +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07448: "Error occurs while reading parquet file %s, detail can be found in dn log of %s." +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07449: "Error occurred while reading column %d: PARQUET and mpp types do not match, PARQUET type is %s(%s) and mpp type is %s." +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07450: "Unsupported parquet type : %u." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07451: "Invalid arguments for function ginarrayextract" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07452: "Invalid arguments for function ginqueryarrayextract" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07453: "right sibling of GIN page is of different type" +SQLSTATE: XX002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07454: "right sibling of GIN page was deleted" +SQLSTATE: XX002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07455: "invalid return code from GIN placeToPage method: %d" +SQLSTATE: XX002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07456: "posting list is too long" +SQLSTATE: 54000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07457: "could not split GIN page; all old items didn't fit" +SQLSTATE: XX002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07458: "could not split GIN page; no new items fit" +SQLSTATE: XX002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07459: "could not fit vacuumed posting list" +SQLSTATE: XX002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07460: "unexpected GIN leaf action %hhu" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07461: "index row size %zu exceeds maximum %zu for index '%s'" +SQLSTATE: 54000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07462: "number of items mismatch in GIN entry tuple, %d in tuple header, %d decoded" +SQLSTATE: XX002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07463: "'%s' is not a GIN index" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07464: "cannot access temporary indexes of other sessions" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07465: "Invalid arguments for function gingetbitmap" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07466: "Invalid arguments for function ginbuild" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07467: "Invalid arguments for function cginbuild" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07468: "access method 'cgin' does not support multi column index with operator ||" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07469: "access method 'cgin' does not support null column index" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07470: "Invalid arguments for function ginbuildempty" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07471: "Invalid arguments for function gininsert" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07472: "invalid item pointer." +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07473: "Invalid arguments for function ginbeginscan" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07474: "unexpected order by operator: %d" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07475: "Invalid arguments for function ginrescan" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07476: "Invalid arguments for function ginendscan" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07477: "missing GIN support function (%d or %d) for attribute %d of index '%s'" +SQLSTATE: 42883 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07478: "invalid attribute num:%hu" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07479: "Invalid arguments for function ginbulkdelete" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07480: "Invalid arguments for function ginvacuumcleanup" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07481: "unexpected GIN leaf action: %hhu" +SQLSTATE: 2200G +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07482: "GIN split record did not contain a full-page image of left page" +SQLSTATE: XX002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07483: "GIN split record did not contain a full-page image of right page" +SQLSTATE: XX002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07484: "GIN split record did not contain a full-page image of root page" +SQLSTATE: XX002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07485: "replay of gin entry tree page vacuum did not restore the page" +SQLSTATE: XX002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07486: "gin_redo: unknown op code %hhu" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07487: "no parent buffer provided of child %u" +SQLSTATE: XX002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07488: "could not find parent of block %u in lookup table" +SQLSTATE: XX002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07489: "could not seek temporary file: %ld" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07490: "could not read temporary file: %ld" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07491: "myDistances is NULL!" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07492: "failed to decompress keys in tuple" +SQLSTATE: XX002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07493: "failed to form tuple from gist" +SQLSTATE: XX002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07494: "gist_redo: unknown op code %hhu" +SQLSTATE: XX002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07495: "index '%s' already contains data." +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07496: "hash index has active scan during VACUUM." +SQLSTATE: 2F000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07497: "hashmerge: unimplemented." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07498: "hash scan list trashed" +SQLSTATE: XX002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07499: "buckets id %d of table is outsize range [%d,%d]" +SQLSTATE: 22003 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07500: "error format single item string %s" +SQLSTATE: 42602 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07501: "empty merge_list string" +SQLSTATE: 42602 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07502: "find merge_str in pgxc_class and is first set %u" +SQLSTATE: 42602 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07503: "not find merge_str in pgxc_class and not first set %u" +SQLSTATE: 42602 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07504: "attempted to kill a tuple inserted by another transaction: %lu, %lu" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07505: "Can't fit xid into page. relation '%s', now xid is %lu, base is %lu, min is %u, max is %u" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07506: "Can't fit xid into page, now xid is %lu, base is %lu, min is %u, max is %u" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07507: "heap_delete: invalid tid %hu, max tid %hu, rnode[%u,%u,%u], block %u" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07508: "attempted to delete self created tuple" +SQLSTATE: 40001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07509: "pg_class entry for relid %u vanished during ExtractReplicaIdentity" +SQLSTATE: 40001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07510: "tuple concurrently deleted" +SQLSTATE: 40001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07511: "heap_update: invalid tid %hu, max tid %hu, rnode[%u,%u,%u], block %u" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07512: "attempted to update self created tuple" +SQLSTATE: 40001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07513: "relation '%s' has one big row which is not supported under 64bits XID system. Current xid is %lu" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07514: "relation '%s' has no free space to upgrade. Current xid is %lu, please VACUUM FULL this relation!!!" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07515: "All built-in functions are hard coded, and they should not be updated." +SQLSTATE: 55000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07516: "system column in index" +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07517: "unexpected result when restoring backup block" +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07518: "heap_redo: unknown op code %hhu" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07519: "heap2_redo: unknown op code %hhu" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07520: "heap3_redo: unknown op code %hhu" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07521: "partition %u is invalid" +SQLSTATE: 29P04 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07522: "could not resolve cmin/cmax of catalog tuple" +SQLSTATE: P0002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07523: "could not resolve combocid to cmax" +SQLSTATE: P0002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07524: "attempt to delete tuple containing indirect datums" +SQLSTATE: 29P02 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07525: "shouldn't be called for indirect tuples" +SQLSTATE: 29P02 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07526: "wrong VM buffer passed to visibilitymap_set" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07527: "gpiScan is null, when set partition oid" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07528: "gpiScan is null, when get partition oid" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07529: "failed to re-find tuple within GPI '%s'" +SQLSTATE: XX002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07530: "cannot insert to incompletely split page %u" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07531: "version mismatch in index '%s': file version %u, code version %d" +SQLSTATE: XX002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07532: "could not add dummy high key to half-dead page" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07533: "half-dead page changed status unexpectedly in block %u of index '%s'" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07534: "Invalid arguments for function btgettuple" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07535: "tuple has wrong number of attributes in index '%s'" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07536: "failed to add old item to left page after split" +SQLSTATE: XX002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07537: "btree_redo: unknown op code %hhu" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07538: "Failed to check input value: invalid token '%s'.\n" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07539: "invalid client_crt_filepath length %lu" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07540: "Fail to list bucket object in node:%s with error code: %s, %s the bucket name: %s, prefix name: %s" +SQLSTATE: 29000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07541: "Datanode '%s' fail to read OBS object bucket:'%s' key:'%s' with OBS error code:%s %s" +SQLSTATE: 29000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07542: "Fail to flush data content to OBS in buffile offset ['%d'] to_write ['%d']" +SQLSTATE: 29P03 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07543: "Datanode '%s' fail to seek buffer file be (0, 0) after reset actual length" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07544: "Datanode '%s' fail to write OBS object %s with OBS error code:%s %s" +SQLSTATE: 29000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07545: "Node '%s' fail to initialize libobs with OBS error code:%s" +SQLSTATE: 29000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07546: "unsupported operation in OBS handler layer" +SQLSTATE: HV00B +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07547: "OBS URL's %s is not valid '%s'" +SQLSTATE: HV00E +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07548: "Fail to connect OBS host %s in node:%s with error code: %s %s" +SQLSTATE: 29000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07549: "Cannot get obs bucket config from replication slots" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07550: "The parameter cannot be NULL" +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07551: "corrupted page pointers: lower = %d, upper = %d, special = %d" +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07552: "incorrect index offsets supplie" +SQLSTATE: 2201X +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07553: "corrupted item lengths: total %u, available space %d" +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07554: "corrupted item pointer: %d" +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07555: "ClogXlogDdlParseToBlock: unknown op code %u" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07556: "cannot mark transaction %lu committed without CSN %lu" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07557: "DbaseRedoParseToBlock: unknown op code %u" +SQLSTATE: XX004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07558: "GinRedoParseToBlock: unknown op code %u" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07559: "GinRedoSplitBlock did not contain a full-page image of %u page" +SQLSTATE: XX002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07560: "GinRedoVacuumPageBlock did not contain a full-page image of %u page" +SQLSTATE: XX002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07561: "GinRedoDataBlock: unknown op code %hhu" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07562: "gist parse: unknown op code %u" +SQLSTATE: XX002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07563: "gist redo: unknown op code %u" +SQLSTATE: XX002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07564: "HashRedoParseToBlock: unimplemented" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07565: "heap_multi_insert_redo: total tuple length mismatch" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07566: "heap_inplace_redo: no tuple data" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07567: "HeapRedoParseToBlock: unknown op code %u" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07568: "Heap2RedoParseIoBlock: unknown op code %u" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07569: "HeapXlogNewpageBlock unexpected result when restoring backup block" +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07570: "HeapRedoDataBlock: unknown op code %u" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07571: "HeapRedoVmBlock: unknown op code %u" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07572: "heap2_redo_block: unknown op code %u" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07573: "Heap2RedoVmBlock: unknown op code %u" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07574: "Heap3RedoParseToBlock: unknown op code %u" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07575: "heap3_redo_block: unknown op code %u" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07576: "BtreeRedoParseToBlock: unknown op code %u" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07577: "btree_redo_block: unknown op code %u" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07578: "relmap_redo_parse_to_block: unknown op code %u" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07579: "seq_redo_parse_to_block: unknown op code %u" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07580: "smgr_redo_parse_to_block: unknown op code %u" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07581: "xact_redo_parse_to_block: unknown op code %u" +SQLSTATE: 25000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07582: "xlog_redo_parse_to_block: unknown op code %u" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07583: "unexpected XLogReadBufferForRedo result when restoring backup %u/%u/%u forknumber %d block %u lsn %X/%X" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07584: "lsn check error, lsn in record (%X/%X) ,lsn in current page %X/%X, page info:%u/%u/%u forknum %d blknum:%u lsn %X/%X" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07585: "XLogCheckRedoAction failed to restore block image" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07586: "XLogMemCtlInit Allocated buffer failed!, taoalblknum:%d, itemsize:%lu" +SQLSTATE: DB010 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07587: "XLogMemRelease failed!, taoalblknum:%u, buf_id:%u" +SQLSTATE: DB010 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07588: "XLogRedoBufferAlloc Allocated buffer failed!, taoalblknum:%u, usedblknum:%u" +SQLSTATE: DB010 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07589: "XLogRedoBufferRelease failed!, taoalblknum:%u, buf_id:%u" +SQLSTATE: DB010 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07590: "XLogRedoBufferGetBlkNumber get bufferblknum failed!, taoalblknum:%u, buf_id:%u" +SQLSTATE: DB010 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07591: "XLogRedoBufferGetBlk get bufferblk failed!, taoalblknum:%u, buf_id:%u" +SQLSTATE: DB010 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07592: "XLogRedoBufferGetPage get bufferblk failed!, taoalblknum:%u, buf_id:%u" +SQLSTATE: DB010 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07593: "XLogRedoBufferSetState get bufferblk failed!, taoalblknum:%u, buf_id:%u" +SQLSTATE: DB010 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07594: "XLogBlockDataCommonRedo: redobuffer checkfailed" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07595: "XLogBlockDataCommonRedo: unknown rmid %u" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07596: "XLogBlockVmCommonRedo: redobuffer checkfailed" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07597: "XLogBlockRedoForExtremeRTO: redobuffer checkfailed" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07598: "XLogParseToBlockCommonFunc: rmid checkfailed" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07599: "just do panic" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07600: "variable page should not be NULL" +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07601: "reconstrValue is NULL but level = %d (not zero)." +SQLSTATE: XX002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07602: "failed to add item of size %d to SPGiST index page" +SQLSTATE: XX002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07603: "Must be system admin or operator admin in operation mode to get cbm merged file." +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07604: "memory is temporarily unavailable while allocate block string" +SQLSTATE: 53000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07605: "Negative timeout for force track cbm!" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07606: "CBM writer thread is not running!" +SQLSTATE: 55000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07607: "Timeout happened during force track cbm!" +SQLSTATE: YY004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07608: "start xlog location %X/%X should be smaller than or equal to end xlog location %X/%X" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07609: "end xlog location %X/%X should be smaller than or equal to already tracked xlog location %X/%X" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07610: "could not parse xlog location '%s'" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07611: "Length of CBM file home path exceeds MAXPGPATH!" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07612: "Length of absolute CBM file path would exceed MAXPGPATH!" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07613: "memory is temporarily unavailable while allocate page read buffer during validate CBM file" +SQLSTATE: 53000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07614: "Failed to truncate CBM file '%s' to length %ld" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07615: "could not create new CBM file '%s': %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07616: "could not open CBM file '%s': %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07617: "failed to stat current cbm file %s :%m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07618: "The xlog LSN to be parsed %08X/%08X is smaller than already tracked xlog LSN %08X/%08X. This may be caused by xlog truncation (pg_rewind), xlog corruption or PITR (at present CBM does not support multiple timelines). Under these scenarios, inconsistent CBM files may be created. To be safe, we zap all existing CBM files and restart CBM tracking" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07619: "memory is temporarily unavailable while allocate xlog reader" +SQLSTATE: 53000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07620: "could not read WAL record at %08X/%08X: %s" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07621: "could not read WAL record at %08X/%08X" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07622: "could not find or create CBM page entry: rel %u/%u/%u forknum %d blkno %u page type %d truncate blkno %u" +SQLSTATE: 29P02 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07623: "memory is temporarily unavailable while allocate new CBM page" +SQLSTATE: 53000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07624: "could not create dummy CBM page entry: rel %u/%u/%u forknum %d" +SQLSTATE: 29P02 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07625: "memory is temporarily unavailable while allocate CBM page header array" +SQLSTATE: 53000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07626: "CBM hash table corrupted" +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07627: "fsync CBM file '%s' failed during flushing" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07628: "could not write CBM file '%s', page offset %ld" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07629: "close CBM file '%s' failed during rotate" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07630: "found invalid CBM file name'%s' before rotate" +SQLSTATE: 42602 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07631: "could not rename file '%s' to '%s' during rotate: %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07632: "could not open CBM file directory '%s': %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07633: "could not find valid CBM file between %08X/%08X and %08X/%08X, which may be caused by previous CBM switch-off, truncation, or corruption" +SQLSTATE: 58P03 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07634: "could not find valid CBM file that contains the merging start point %08X/%08X" +SQLSTATE: 58P03 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07635: "could not find valid CBM file that contains the merging end point %08X/%08X" +SQLSTATE: 58P03 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07636: "there is a gap between CBM file %s and %s, which may be caused by previous CBM switch-off, truncation, or corruption" +SQLSTATE: 29P02 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07637: "memory is temporarily unavailable while allocate page read buffer during merge CBM file array" +SQLSTATE: 53000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07638: "could not open CBM file '%s' while merging: %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07639: "could not find merge start point %08X/%08X in CBM files " +SQLSTATE: 29P02 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07640: "could not find merge end point %08X/%08X in CBM files, the last cbm page end at %08X/%08X" +SQLSTATE: 29P02 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07641: "could not read the first page head of CBM file '%s' " +SQLSTATE: 29P02 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07642: "the first page start LSN %08X/%08X of CBM file '%s' does not equal the file start LSN %08X/%08X" +SQLSTATE: 29P02 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07643: "partial page read occurs at page offset %ld of CBM file '%s', stop reading" +SQLSTATE: 58P03 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07644: "Corruption detected in CBM file '%s', page offset %ld" +SQLSTATE: 58P03 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07645: "LSN track gap detected in CBM file '%s', page offset %ld: previous page batch end LSN is %08X/%08X, current page batch start LSN is %08X/%08X" +SQLSTATE: 29P02 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07646: "Inconsistent start/end LSN in one page batch for CBM file '%s' at page offset %ld: previous page start-end LSN %08X/%08X-%08X/%08X, curent page start-end LSN %08X/%08X-%08X/%08X" +SQLSTATE: 29P02 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07647: "the last read page end LSN %08X/%08X of CBM file '%s' does not equal the file end LSN %08X/%08X" +SQLSTATE: 29P02 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07648: "could not find or create CBM page entry: rel %u/%u/%u forknum %d during merge into hash" +SQLSTATE: 58P03 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07649: "invalid CBM page header: rel %u/%u/%u forknum %d first blkno %u page type %d truncate blkno %u" +SQLSTATE: 29P02 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07650: "could not create merge dest CBM file '%s': %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07651: "memory is temporarily unavailable while allocate CBM array" +SQLSTATE: 53000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07652: "CBM hash table corrupted: incorrect total hash entry number" +SQLSTATE: 29P02 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07653: "memory is temporarily unavailable while allocate CBM block array" +SQLSTATE: 53000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07654: "could not force tracking cbm because cbm tracking function is not enabled!" +SQLSTATE: 55000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07655: "timeout when call pg_cbm_rotate_file" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07656: "Incorrect xid status %d" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07657: "CLOG STATUS ERROR: xid %lu status %s" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07658: "CLOG PAGE STATUS ERROR: xid %lu status %s" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07659: "CLOG STATUS ERROR: xid: %lu input status %s, current status %s" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07660: "clog pageno should be >= 0" +SQLSTATE: 42804 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07661: "pg_csnlog contains invalid entry: xid %lu points to parent xid %lu" +SQLSTATE: 58030 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07662: "csn log state change from %lu to %lu is not allowed!" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07663: "Initialize the csn log failed." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07664: "the current transaction %lu is smaller than gtm recent global xmin, so no need to set csn log. pageno: %ld, startExtendCSNLogPage: %ld" +SQLSTATE: YY014 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07665: "The lastExtenPage %ld is larger than newExtendPage %ld,and the newestXact is %lu, the recent global xmin %lu" +SQLSTATE: YY014 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07666: "Read file error" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07667: "Read file size mismatch: expected %d, read %d" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07668: "Write file error" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07669: "Write file size mismatch: expected %d, written %d" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07670: "Seek file error" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07671: "DW extend file failed, expected_file_size %ld, offset %ld, extend_size %ld" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07673: "DW check file size failed, expected_size %ld, actual_size %ld" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07674: "File header is broken" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07675: "Could not truncate dw file during startup!" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07676: "Could not create file '%s'" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07677: "DW file close failed" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07678: "Could not remove the residual batch flush DW single flush file" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07679: "Could not remove the residual single flush DW single flush file" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07680: "Could not remove the DW build file" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07681: "batch flush DW file does not exist" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07682: "single flush DW file does not exist" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07683: "Could not open file '%s'" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07684: "[batch flush] Double write already closed" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07685: "could not find or create redo item entry: rel %u/%u/%u forknum %d blkno %u" +SQLSTATE: 29P02 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07686: "PRTrackRemoveEntry:Redo item hash table corrupted" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07687: "WaitWorkerReady failed, no worker is ready for work. totalWorkerCount :%u" +SQLSTATE: DB010 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07688: "WaitWorkerReady total thread count:%u, readyWorkerCnt:%u, not all thread ready" +SQLSTATE: DB010 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07689: "CheckAlivePageWorkers: thread %lu is still alive" +SQLSTATE: DB010 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07690: "[REDO_LOG_TRACE]StartPageRedoWorkers CreateWorker failed, started:%u" +SQLSTATE: DB010 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07691: "[REDO_LOG_TRACE]StartPageRedoWorkers StartPageRedoWorker failed, started:%u" +SQLSTATE: DB010 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07692: "StopRecoveryWorkers wait too long!!!" +SQLSTATE: DB010 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07693: "[REDO_LOG_TRACE]DispatchRedoRecord encounter fatal error:rmgrID:%u, info:%u, indexid:%u" +SQLSTATE: DB010 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07694: "[REDO_LOG_TRACE]DispatchRedoRecord could not be here config recovery num %d, work num %u" +SQLSTATE: DB010 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07695: "[REDO_LOG_TRACE]AddWorkerToSet:input work id error, id:%u, batch work num %u" +SQLSTATE: DB010 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07696: "Allocated record buffer failed!, cur item:%u, max item:%u" +SQLSTATE: DB010 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07697: "Allocated blocks data failed!, cur item:%u, max item:%u" +SQLSTATE: DB010 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07698: "Allocated main_data failed!, cur item:%u, max item:%u" +SQLSTATE: DB010 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07699: "NewReaderState Dispatch is null" +SQLSTATE: DB010 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07700: "sem_destroy failed: %m" +SQLSTATE: DB010 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07701: "MultiRedoGetWorkerId parallel redo and extreme redo is close, should not be here!" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07702: "MultiRedoMain parallel redo and extreme redo is close, should not be here!" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07703: "multixact_redo_parse_to_block: unknown op code %u" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07704: "[REDO_LOG_TRACE]StartPageRedoWorkers we need at least one worker thread" +SQLSTATE: DB010 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07705: "[REDO_LOG_TRACE]AddWorkerToSet:input work id error, id:%u, work num %u" +SQLSTATE: DB010 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07706: "[REDO_LOG_TRACE]ApplyMultiPageAllWorkerRecord encounter fatal error:rmgrID:%u, info:%u" +SQLSTATE: DB010 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07707: "[REDO_LOG_TRACE]ApplyMultiPageShareWithTrxnRecord encounter fatal error:rmgrID:%u, info:%u, designatedWorker:%u" +SQLSTATE: DB010 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07708: "[REDO_LOG_TRACE]ApplyMultiPageShareWithTrxnRecord encounter fatal error:rmgrID:%u, info:%u" +SQLSTATE: DB010 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07709: "[REDO_LOG_TRACE]ApplyReadyTxnShareLogRecords encounter fatal error:rmgrID:%u, info:%u, sharcount:%u" +SQLSTATE: DB010 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07710: "[REDO_LOG_TRACE]ApplyReadyTxnShareLogRecords encounter fatal error:rmgrID:%u, info:%u, designatedWorker:%u" +SQLSTATE: DB010 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07711: "[REDO_LOG_TRACE]ApplyReadyAllShareLogRecords encounter fatal error:rmgrID:%u, info:%u, sharcount:%u" +SQLSTATE: DB010 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07712: "[REDO_LOG_TRACE]ApplyReadyAllShareLogRecords encounter fatal error:rmgrID:%u, info:%u, sharcount:%u, refcount:%u" +SQLSTATE: DB010 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07713: "slru zero page under %s" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07714: "slru read page under %s" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07715: "slru write page under %s" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07716: "could not access status of transaction %lu , nextXid is %lu " +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07717: "the current valid prepared xid list or the next valid prepared list should not be NULL" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07718: "failed to find transaction in GlobalTransaction array" +SQLSTATE: P0002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07719: "Invalid prepared list lenth: %d" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07720: "could not read two-phase state from xlog at %X/%X, errormsg: %s" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07721: "expected two-phase state data is not present in xlog at %X/%X" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07722: "could not read two-phase state file." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07723: "invalid twophase resource manager lock id" +SQLSTATE: 29000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07724: "cannot commit prepared transaction %lu, it was already aborted" +SQLSTATE: 25000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07725: "cannot abort prepared transaction %lu, it was already committed" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07726: "Can not connect to gtm when getting gxid, there is a connection error." +SQLSTATE: 08000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07727: "GTM Mode: remote node sub xact can not get gxid directly from gtm" +SQLSTATE: 25000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07728: "GTM Mode: remote node sub xact xid should be larger than parent xid." +SQLSTATE: 25000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07729: "GTM-FREE-MODE: latestCompletedXid %lu larger than next alloc xid %lu." +SQLSTATE: 25000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07730: "SaveCurrentSTPTopTransactionState can only be called in STP." +SQLSTATE: 25000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07731: "SaveCurrentSTPTopTransactionState: unexpected state %s" +SQLSTATE: 25000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07732: "RestoreCurrentSTPTopTransactionState can only be called in STP." +SQLSTATE: 25000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07733: "RestoreCurrentSTPTopTransactionState:NULL, call RestoreCurrentSTPTopTransactionState firstly." +SQLSTATE: 25000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07734: "RestoreCurrentSTPTopTransactionState: unexpected state %s" +SQLSTATE: 25000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07735: "cannot have more than 2^32-2 commands in a transaction" +SQLSTATE: 54000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07736: "Node %s: prepare gid is %s, and top xid is %lu, different transaction!" +SQLSTATE: 25000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07737: "AbortCurrentTransaction: unexpected state %s" +SQLSTATE: 25000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07738: "non-execute cn or dn: there is already a transaction in progress" +SQLSTATE: 25001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07739: "Wrong type: %d in execSendSavepoint." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07740: "Wrong type: %d when handling savepoints." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07741: "AbortOutOfAnyTransaction reserving top xact abort: unexpected state %s" +SQLSTATE: 25000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07742: "SUBXACT_TEST %s: Commit subtransaction %s before notice GTM failed." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07743: "xactWillRemoveRelFiles: unknown op code %u" +SQLSTATE: DB010 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07744: "the proc group is corrupted, the head is %u, the wakeidx is %u" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07745: "space reserved for WAL record does not match what was written" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07746: "could not find WAL buffer for %X/%X" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07747: "could not seek in log file %s to offset %u: %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07748: "could not write to log file %s at offset %u, length %lu: %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07749: "could not open file '%s' (log segment %s): %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07750: "lseek2:could not seek in log file %s to offset %u: %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07751: "could not open xlog file '%s' (log segment %s): %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07752: "could not close log file %s: %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07753: "could not parse xlog segment file '%s'" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07754: "recover failed could not open control file '%s': %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07755: "recover failed could not write to control file: %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07756: "recover failed could not fsync control file: %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07757: "recover failed could not close control file: %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07758: "nNumaNodes is zero." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07759: "XLOGShmemInit num_xloginsert_locks should be multiple of NUMA node number in the system." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07760: "XLOGShmemInit could not alloc memory on node %d" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07761: "cann't read a random number from file '/dev/urandom'." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07762: "could not open file '%s'" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07763: "lseek file error '%s' " +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07764: "could not write file '%s' " +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07765: "could not fsync file '%s' " +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07766: "could not close file '%s' " +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07767: "hot standby is not possible because wal_level was not set to 'hot_standby' or higher on the master server" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07768: "old version XLog must be shutdown checkpoint or online checkpoint." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07769: "redo starts at %X/%X" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07770: "redo can not support old version!!!!" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07771: "there are some received xlog have not been redo the tail of last redo lsn:%X/%X, received lsn:%X/%X" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07772: "curMinRecLSN little prev checkpoint lsn is %08X/%08X,now lsn is %08X/%08X" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07773: "current dirty page list head recLSN %08X/%08X smaller than redo lsn %08X/%08X" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07774: "unexpected XLogReadBufferForRedo result when restoring backup block" +SQLSTATE: 20000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07775: "could not fsync log segment %s: %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07776: "could not fsync log file %s: %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07777: "could not fsync write-through log file %s: %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07778: "could not fdatasync log file %s: %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07779: "must be system admin or replication role or operator admin in operation mode to run a backup" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07780: "file size is wrong, '%s': %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07781: "the file is not exist '%s': %m" +SQLSTATE: 55000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07782: "roach backup %s is not in progress" +SQLSTATE: 55000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07783: "must be system admin or replication role or operator admin in operation mode to run a roach backup" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07784: "WAL level not sufficient for making an online roach backup" +SQLSTATE: 55000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07785: "roach backup id name '%s' is too long" +SQLSTATE: 42622 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07786: "Backup id name starting with gs_roach is internally reserverd" +SQLSTATE: 55000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07787: "failed to touch %s file during enable xlog delay: %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07788: "could not remove %s file: %m. This will lead to residual of stale xlog segments" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07789: "failed to stat %s file:%m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07790: "could not open rewind file: %s\n" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07791: "could not enable delay ddl when enable_cbm_tracking is off!" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07792: "could not remove %s file: %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07793: "failed to write %s file during enable delay ddl recycle" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07794: " could not disable delay ddl when enable_cbm_tracking is off!" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07795: "valid input lsn is not supported while doing forceful disable delay ddl" +SQLSTATE: 20000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07796: "failed to write %s file during disable delay ddl recycle" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07797: "could not remove %s file after write failure: %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07798: "Failed to get cbm information during execute delayed DDL: %s" +SQLSTATE: 20000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07799: "could not remove %s file before unlink col relation files: %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07800: "mpfl_pwrite_file failed, MPFL_FILE_SIZE %d, offset %ld, write_size %d" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07801: "mpfl_pwrite_file: Write file error" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07802: "mpfl_pwrite_file: Write file size mismatch: expected %d, written %d" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07803: "Could not remove max_flush_lsn file" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07804: "Must be system admin or operator admin in operation mode to call this xlog function." +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07805: "Must be system admin or operator admin in operation mode to create a restore point." +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07806: "Must be system admin or operator admin in operation mode to control recovery." +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07807: "Must be system admin or operator admin in operation mode to control resume_bkp_flag function." +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07808: "could not find backup slot with name %s" +SQLSTATE: 53400 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07809: "Must be system admin or operator admin in operation mode to pg_get_sync_flush_lsn." +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07810: "get sync flush lsn error" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07811: "Must be system admin or operator admin in operation mode to gs_set_obs_delete_location." +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07812: "Must be system admin or operator admin in operation mode to gs_get_global_barrier_status." +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07813: "The Barrier ID file named %s cannot be found." +SQLSTATE: P0002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07814: "Cannot read global barrier ID in %s file!" +SQLSTATE: P0002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07815: "Must be system admin or operator admin in operation mode to gs_get_local_barrier_status." +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07816: "XLogBeginInsert was already called" +SQLSTATE: 55000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07817: "maximum number of WAL record block references exceeded" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07818: "too many registered buffers" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07819: "too much WAL data" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07820: "no block with id %d registered with WAL insertion" +SQLSTATE: 55000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07821: "invalid xlog info mask %hhx" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07822: "invalid page header in block %u, spc oid %u db oid %u relfilenode %u" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07823: "xlog record length is %u, more than XLogRecordMaxSize %u" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07824: "could not close log file %u, segment %lu: %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07825: "[REDO_LOG_TRACE]WAL contains references to invalid pages, count:%u" +SQLSTATE: DB010 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07826: "failed to locate backup block with ID %d" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07827: "block with WILL_INIT flag in WAL record must be zeroed by redo routine" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07828: "XLogReadBufferForRedoExtended failed to restore block image" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07829: "can not get xlog lsn from record page block %u lsn %lu" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07830: "could not seek in log segment %s to offset %u: %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07831: "could not read from log segment %s, offset %u, length %d, readbytes %d: %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07832: "Memory allocation failed.\n" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07833: "shared buffer hash table corrupted." +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07834: "invalid forkNum %d, should be less than %d" +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07835: "invalid page in block %u of relation %s, remote read data corrupted" +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07836: "buffer is dirty but not in dirty page queue in InvalidateBuffer" +SQLSTATE: XX010 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07837: "[exception] private ref->refcount is %d in UnpinBuffer" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07838: "current lock of buffer %d is not held by the current thread" +SQLSTATE: XX010 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07839: "buffer is dirty but not in dirty page queue in TerminateBufferIO_common" +SQLSTATE: XX010 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07840: "TerminateBufferIO_common, dirty page queue is full when trying to push buffer to the queue" +SQLSTATE: XX010 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07841: "remote not available" +SQLSTATE: 58030 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07842: "remote read failed from %s, %s" +SQLSTATE: 58030 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07843: "local buffer hash tag mismatch." +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07844: "local buffer hash table corrupted." +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07845: "block %u of %s is still referenced (local %d)" +SQLSTATE: XX011 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07846: "fork number should not be less than zero" +SQLSTATE: 2202E +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07847: "could not initialize local buffer hash table." +SQLSTATE: D0014 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07848: "LOCATION is required for the foreign tables" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07849: "if the number of gds is greater than dn , query dop should not be greater than one." +SQLSTATE: HV000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07850: "invalid timestamp string length" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07851: "Unsupport distribute type." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07852: "It is not allowed to create partition on this foreign table." +SQLSTATE: HV000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07853: "Invalid URL '%s' in trimed LOCATION" +SQLSTATE: HV000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07854: "out_filename_prefix should not be empty" +SQLSTATE: OP0A3 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07855: "out_filename_prefix is not supposed to contain '%c'" +SQLSTATE: OP0A3 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07856: "out_filename_prefix is not supposed to be '%s'" +SQLSTATE: OP0A3 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07857: "Only alphanumeric characters and \'_\' is allowed in out_filename_prefix option" +SQLSTATE: OP0A3 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07858: "out_fix_alignment is only allowed with fixed format" +SQLSTATE: OP0A3 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07859: "Only 'align_left' and 'align_right' is allowed in out_fix_alignment option" +SQLSTATE: OP0A3 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07860: "Do not allow to set region option when the 'gsobs' prefix is specified for the location option." +SQLSTATE: HV002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07861: "OBS foreign table does not support '%s' option" +SQLSTATE: OP0A3 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07862: "OBS foreign table does not support remote_log option" +SQLSTATE: OP0A3 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07863: "OBS foreign table have to specify '%s' option" +SQLSTATE: OP0A3 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07864: "This OBS foreign table only supports CSV/TEXT format" +SQLSTATE: OP0A3 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07865: "Invalid 'encrypt' option value '%s' for OBS foreign table" +SQLSTATE: OP0A3 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07866: "Invalid 'chunksize' option value '%s', only numeric value can be set" +SQLSTATE: OP0A3 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07867: "Invalid 'chunksize' option value '%s' for OBS Read-Only table, valid range [8, 512] in MB" +SQLSTATE: OP0A3 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07868: "Option 'chunksize' is not allowed in OBS write-only table" +SQLSTATE: OP0A3 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07869: "None OBS foreign table does not support '%s' option" +SQLSTATE: OP0A3 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07870: "Shared mode and private mode are only available for the supper user and Operatoradmin" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07871: "Invalid key string" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07872: "obs option chunksize is too large" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07873: "Found invalid error recored: negative length that is not -1." +SQLSTATE: OP002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07874: "Found invalid error recored: length is not the same as the attribute length." +SQLSTATE: OP002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07875: "No free Cache Blocks! cstore_buffers maybe too small, scanned=%d, pinned=%d, unpinned=%d, invalid=%d, looped=%d, reserved=%d, freepinned = %d, start=%d, max=%d. RequestSize = %d, CurrentSize = %ld, BufferMaxSize = %ld." +SQLSTATE: 53500 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07876: "complete IO, slot(%d), flag(%d)" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07877: " palloc size to big, size(%ld)." +SQLSTATE: 53200 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07878: "No CUID is left for new CU in relation '%u'." +SQLSTATE: 53000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07879: "unsupported data type length %d of column '%s' of relation '%s' " +SQLSTATE: 42804 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07880: "column %d does not exist" +SQLSTATE: 42703 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07881: "column %s does not exist" +SQLSTATE: 42703 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07882: "Cannot load CUDesc and CU for a dropped column '%s' of table '%s'" +SQLSTATE: D0011 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07883: "fail to remote read CU, data corrupted in network" +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07884: "Cannot to fill unsupported system column %d for column store table" +SQLSTATE: 42804 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07885: "Cannot save CUDesc for a dropped column '%s' of table '%s'" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07886: "col index exceed col number, col:%d, number:%d" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07887: "Cannot fill VecBatch for a dropped column '%s' of table '%s'" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07888: "compression unit descriptor not found, table(%s), column(%s), relfilenode(%u/%u/%u), cuid(%u))." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07889: "CU Delete bitmap is missing." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07890: "Cannot get CUData for a dropped column '%s' of table '%s'" +SQLSTATE: D0011 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07891: "Load CU failed in adio! table(%s), column(%s), relfilenode(%u/%u/%u), cuid(%u)" +SQLSTATE: 58030 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07892: "invalid CU in cu_id %u of relation %s file %s offset %lu, prefetch %s" +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07893: "invalid CU in cu_id %u of relation %s file %s offset %lu, sync load %s" +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07894: "There is an IO error when remote read CU in cu_id %u of relation %s file %s offset %lu. slotId %d, column '%s' " +SQLSTATE: 58030 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07895: "invalid CU in cu_id %u of relation %s file %s offset %lu, remote read %s" +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07896: "compression unit descriptor(talbe '%s', column '%s', cuid %u) not found" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07897: "The delta table's definition is not the same with main relation, please use pg_sync_cstore_delta to adjust it." +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07898: "This query is not supported by optimizer in CStore." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07899: "the size of one tuple reaches the limit (1GB)." +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07900: "The max insert memory is too small, it may occur endless loop. The used memory is %lu, the controlled memory limit is %dKB, the partition relation is %s, the flush partition id is %d." +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07901: "Invalid partition value cache record." +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07902: "malloc fails, out of memory: size %lu" +SQLSTATE: 53200 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07903: "Invalid tupleSortState, tupleSlot, or sorting strategy while getting tuple in cstore psort." +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07904: "Relation \'%s\' virtual cudesc tuple(cuid %u) not found" +SQLSTATE: 02000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07905: "failed to remotely read CU, data corrupted in network" +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07906: "invalid CU in cu_id %u of relation %s file %s offset %lu" +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07907: "Invalid original partition name" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07908: "cannot merge partition bacause partition %s has unusable local index" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07909: "cache lookup failed for relation: %u" +SQLSTATE: 29P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07910: "Unsupported data type in column storage" +SQLSTATE: 42804 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07911: "inititalSize is too large: initialSize(%u), m_bpNullRawSize(%u)" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07912: "the CRC32C checksum are different between SSE42 (0x%x) and SB8 (0x%x)." +SQLSTATE: 42804 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07913: "Find invalid compressed buffer or invalid CU while uncompressing." +SQLSTATE: 53200 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07914: "CU size error, %u in CU descriptor but %u in CU header" +SQLSTATE: 53200 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07915: "this->m_srcDataSize is too large: %u" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07916: "No cache found when print data cache slot leak warning: slotId:%d" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07917: "validate user defined attribute failed!" +SQLSTATE: 42P24 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07918: "CU partial write, file '%s', offset(%lu), total(%d), expected(%d), actual(%d): %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07919: "could not extend file '%s', offset(%lu), total(%d), expected(%d), actual(%d): %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07920: "read file '%s' failed, %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07921: "some data are read from '%s', offset(%lu), load size(%d), expected read(%d), actual read(%d)" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07922: "could not read file '%s', offset(%lu), load size(%d), expected read(%d), actual read(%d): %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07923: "write file '%s' failed in savecu!" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07924: "write file '%s' failed in OverwriteCU!" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07925: "read file '%s' failed in load!" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07926: "unexpected cu file read info: offset(%lu), size(%d), readFileId(%d), readOffset(%lu), expect_read_size(%d)." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07927: "read file '%s' failed, offset(%lu), size(%d), expect_read_size(%d), acture_read_size(%d), maybe you should upgrade cstore data files first" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07928: "could not read file '%s', offset(%lu), size(%d), expect_read_size(%d), acture_read_size(%d): %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07929: "read file '%s' failed in wsload!" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07930: "invalid size(%u) in CUStorage::LoadCU" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07931: "CUStorage::LoadCU size = 0" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07932: "dfs foreign server type error. type = %d" +SQLSTATE: 42P17 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07933: "dfs forign server type error. type = %d" +SQLSTATE: 42P17 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07934: "wait IO find an error when allocate meta block, slotID(%d), spcID(%u),dbID(%u), relID(%u), fileID(%d), stripeOrBlocketID(%u), columnID(%u)" +SQLSTATE: P0002 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07935: "memory alloc failed" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07936: "build global OBS connect cache hash table failed" +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07937: "could not initialize OBS connector hash table" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07938: "could not munmap() while flushing data: %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07939: "unable to open process pid directory '%s'" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07940: "out of file descriptors: %m; release and retry" +SQLSTATE: 53000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07941: "io_submit() async read failed %d, dispatch count(%d)" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07942: "io_submit() async write failed %d, dispatch count(%d)" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07943: "FileAsyncCUClose : invalid vfd(%d), SizeVfdCache(%lu)" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07944: "io_submit() async cu read failed %d, dispatch count(%d)" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07945: "io_submit() async cu write failed %d, dispatch count(%d)" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07946: "FileAccess() extend file failed %d" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07947: "exceeded MAX_ALLOCATED_DESCS while trying to open file '%s'" +SQLSTATE: 54000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07948: "Allocate dir failed." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07949: "could not write to temporary file: the file size exceeds the max size: %ldBYTE" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07950: "could not write to temporary file: %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07951: "could not read from temporary file: %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07952: "wait transaction %lu sync time exceed %d s." +SQLSTATE: YY003 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07953: "Snapshot is invalid at %s, this is a safe error if there is breakdown in gtm log" +SQLSTATE: YY014 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07954: "Out of memory at palloc memory for xids!" +SQLSTATE: 53200 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07955: "GTM error, could not obtain valid gtm snapshot status." +SQLSTATE: 08006 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07956: "Snapshot is invalid, snaphot type %s, snapshot csn: %lu." +SQLSTATE: YY014 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07957: "Snapshot is invalid, this is a safe error, snapshot too old." +SQLSTATE: YY014 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07958: "unsupported function or view in GTM-FREE mode." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07959: "GTM error, could not obtain snapshot_status, please check GTM is running or failovering." +SQLSTATE: 08006 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07960: "pids, xids array size is not enough for list all gtt frozenxids." +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07961: "sorry, too many reserve thread already lastreserveBackend:%d, maxreserveBackends:%d" +SQLSTATE: 53300 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07962: "sorry, session index isnot valid index:%d, maxreserveBackends:%d, maxBackends:%d" +SQLSTATE: 53300 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07963: "sorry, session slot isnot valid:%d, maxreserveBackends:%d, maxBackends:%d" +SQLSTATE: 53300 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07964: "standby_redo: unknown op code %hhu" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07965: "invalid offset num:%d" +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07966: "Too many visited procs." +SQLSTATE: 53300 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07967: "unrecognized lock method: %hu" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07968: "Failed to allocate memory for lockOwners." +SQLSTATE: 53200 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07969: "newproc should not be null" +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07970: "GetRunningTransactionLocks: index = %d els = %d" +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07971: "proc should not be null" +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07972: "no more LWLocks available" +SQLSTATE: 55P03 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07973: "force thread %lu to exit because of lwlock deadlock" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07974: "queueing for lock while waiting on another one" +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07975: "lock %s is not held" +SQLSTATE: 55P03 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07976: "snapshot xmin:%lu is not greater than global xmin:%lu" +SQLSTATE: 55000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07977: "predicate locks hash table corrupted" +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07978: "get parent relation lock's lock tag failed" +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07979: "transfer predicate lock failed" +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07980: "isolation level is not serializable" +SQLSTATE: 25004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07981: "unrecognized return value from HeapTupleSatisfiesVacuum: %d" +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07982: "InitNuma NUMA is not available" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07983: "InitProcGlobal NUMA memory allocation in node %d failed." +SQLSTATE: 53200 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07985: "InitProcess numa_run_on_node_mask failed. errno:%d " +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07986: "failed to acquire mutex lock for deleMemContextMutex." +SQLSTATE: 55P03 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07987: "failed to release mutex lock for deleMemContextMutex." +SQLSTATE: 55P03 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07988: "all &g_instance.proc_aux_base are in use" +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07989: "there remain unreleased locks when process exists." +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07990: "could not insert into waitQueue if exists." +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07991: "could not disable timer for reset txn xmin in Read Committed Mode." +SQLSTATE: 58000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07992: "stuck spinlock detected at %s:%d" +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07993: "MOT checkpoint recovery failed." +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07994: "MOT recovery failed." +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07995: "MOTBeginRedoRecovery: failed to create session context." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07997: "Invalid memory alloc request size." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07998: "Memory is temporarily unavailable." +SQLSTATE: YY006 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-07999: "MOTExecForeignUpdate failed to fetch row for update ctid %d nvalid %d %s" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08000: "MOTExecForeignUpdate failed to fetch row" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08001: "MOTExecForeignDelete failed to fetch row for delete ctid %d nvalid %d %s" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08002: "MOTExecForeignDelete failed to fetch row" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08003: "Alter table operation is not supported for memory table." +SQLSTATE: HV025 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08004: "Cannot create MOT tables while incremental checkpoint is enabled." +SQLSTATE: HV025 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08005: "Reindex is not supported for memory table." +SQLSTATE: HV025 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08006: "unrecognized node type: %u" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08007: "A checkpoint is in progress - cannot truncate table." +SQLSTATE: HV025 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08008: "Failed to obtain working dir" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08009: "Failed to obtain dir name" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08010: "MOTRedo: invalid op code %u" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08011: "Double attempt to initialize MOT engine, it is already initialized" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08012: "Failed to create MOT engine" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08013: "Failed to allocate memory for GaussDB/MOTEngine configuration loader." +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08014: "Failed to add GaussDB/MOTEngine configuration loader" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08015: "Failed to load configuration for MOT engine." +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08016: "The value of pre-reserved memory for MOT engine is not reasonable: Request for a maximum of %" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08017: "Failed to initialize MOT engine." +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08018: "Failed to initialize JIT statistics." +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08019: "initTxnManager: MOT engine is not initialized" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08020: "Session startup: failed to create session context." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08021: "destroyTxn: MOT engine is not initialized" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08022: "Can not create index, max number of indexes %u reached" +SQLSTATE: HV029 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08023: "MOT supports indexes of type BTREE only (btree or btree_art)" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08024: "Can't create index" +SQLSTATE: HV032 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08025: "Table not found for oid %u" +SQLSTATE: 42P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08026: "Can't create index on field" +SQLSTATE: 42611 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08027: "Can't create index on nullable columns" +SQLSTATE: HV033 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08028: "Column definition is not complete" +SQLSTATE: 42611 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08029: "Allocation of table metadata failed" +SQLSTATE: 53200 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08030: "Get table size error, table oid %lu not found." +SQLSTATE: HV00R +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08031: "Get index size error, index oid %lu for table oid %lu not found." +SQLSTATE: HV00R +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08032: "Value exceeds maximum precision: %d" +SQLSTATE: 22003 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08033: "could not find WAL file '%s'" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08034: "could not find any WAL files" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08035: "unexpected WAL file size '%s'" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08036: "Cannot stat file %s when judge it's a rowdatafile for roach. OS error: %s" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08037: "base backup receive stop message, aborting backup" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08038: "base backup cheksum failed in file '%s'(computed: %d, recorded: %d), aborting backup" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08039: "we should be a writer when enable_mix_replication is on" +SQLSTATE: 42P08 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08040: "Insert BCM Info to be interrupted." +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08041: "The got BCM Array index is corrupt: index1 %u index2 %u array_index %u BCMElementArrayOffset1 %X/%X BCMElementArrayOffset2 %X/%X" +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08042: "Invalid relation while clearing BCM status: rnode[%u,%u,%u], blocknum[%u], pageoffset[%lu], size[%u], attid[%d]" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08043: "buffer should be valid, but now is %d" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08044: "heap sync hash table not cleaned, num of entries:%ld" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08045: "corrupt wal data write len %u bytes, the expected write data_size %u" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08046: "The Row Store Heap Log SHOULD NOT BE synchronized in the WAL Streaming. Tracking the data header info: rnode[%u/%u/%u] blocknum[%u] pageoffset[%lu] size[%u] queueoffset[%u/%u]." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08047: "Failed to write the wal data: the database path %s doesn't exist." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08048: "could not fdatasync data file num %u, fd %d: %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08049: "datarcv should not be null" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08050: "datarcv already in use" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08051: "bufferSize reaches the limit of INT_MAX" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08052: "could not read to data file slice %s length %u: %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08053: "ParseDataHeader failed due to insufficient buffer." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08054: "ParseDataHeader failed due to illegal currentLen %u." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08055: "invalid message header, maybe the parameter of 'data_replicate_buffer_size' on the master has been changed" +SQLSTATE: 08P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08056: "invalid message end" +SQLSTATE: 08P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08057: "rm data comand is not from primary, peer_role=%d" +SQLSTATE: 20000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08058: "Current length is illegal, the dataRcvReceiveelement info is : %u, %u, %u, %u " +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08059: "received incorrect data page checksum at: rnode[%u,%u,%u], blockno[%u], segno[%u], pageoffset[%u], size[%u], queueoffset[%u/%u]" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08060: "the mode of the remote server must be primary, current is %s" +SQLSTATE: 29000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08061: "DataSndCtl should not be null" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08062: "MyDataSnd should be null" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08063: "Secondery standby finish read data error, total len %u, bufsize %u" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08064: "Secondery standby read data error, total len %u, bufsize %u" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08065: "shm queue should be detached" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08066: "dataSyncRepState should be SYNC_REP_NOT_WAITING" +SQLSTATE: 22000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08067: "create epoll failed %d." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08068: "epoll_wait fd %d error :%m, agent thread exit." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08069: "Can't find the oldest unidentified connection." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08070: "could not receive the ongoing az infomation from the remote server: %s" +SQLSTATE: 29000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08071: "the remote available zone should be same with local, remote is %s, local is %s" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08072: "dummyStandbyMode should be true" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08073: "walreceiver could not connect to the remote server,the connection info :%s : %s" +SQLSTATE: YY004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08074: "could not receive database system version and protocol version from the remote server: %s" +SQLSTATE: 29000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08075: "invalid response from remote server" +SQLSTATE: 29000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08076: "invalid local term or remote term smaller than local. remote term[%u], local term[%u]" +SQLSTATE: 29000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08077: "database system version is different between the remote and local" +SQLSTATE: 29000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08078: "the remote protocal version %s is not the same as the local protocal version %s." +SQLSTATE: 29000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08079: "could not receive the ongoing mode infomation from the remote server: %s" +SQLSTATE: 29000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08080: "the mode of the remote server must be standby, current is %s" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08081: "could not receive database system identifier and timeline ID from the remote server: %s" +SQLSTATE: 29000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08082: "database system identifier differs between the standby and cascade standby" +SQLSTATE: 29000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08083: "could not parse remote record's crc, remoteRecCrc=%s recCrc=%u" +SQLSTATE: 29000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08084: "could not parse remoteMaxLsn" +SQLSTATE: 29000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08085: "could not parse remote max record's crc, remoteMaxLsnCrc=%s maxLsnCrc=%u" +SQLSTATE: 29000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08086: "dummystandby's local request lsn[%X/%X] 's crc mismatched with remote servercrc(local, remote):[%u,%u]." +SQLSTATE: 29000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08087: "standby's local request lsn[%X/%X] 's crc mismatched with remote servercrc(local, remote):[%u,%u]." +SQLSTATE: 29000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08088: "crc of %X/%X is different across remote and local standby, standby promote failed" +SQLSTATE: 29000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08089: "invalid crc on secondary standby, has xlog, standby promote failed, (local, remote) = (%u, %u) on %X/%X" +SQLSTATE: 29000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08090: "crc of %X/%X is different across dummy and standby, standby promote failed" +SQLSTATE: 29000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08091: "invalid crc on secondary standby, has xlog, standby promote failed" +SQLSTATE: 29000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08092: "could not receive data from WAL streaming: %s" +SQLSTATE: 29000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08093: "could not set channel identifier, localport %d : %s" +SQLSTATE: 29000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08094: "logical decoding requires wal_level >= logical" +SQLSTATE: 55000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08095: "logical decoding requires a database connection" +SQLSTATE: 55000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08096: "cannot perform logical decoding without a acquired slot" +SQLSTATE: 55000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08097: "cannot initialize logical decoding without a specified plugin" +SQLSTATE: 55000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08098: "cannot use physical replication slot created for logical decoding" +SQLSTATE: 55000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08099: "replication slot '%s' was not created in this database" +SQLSTATE: 55000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08100: "cannot create logical replication slot in transaction that has performed writes" +SQLSTATE: 25001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08101: "cannot use physical replication slot for logical decoding" +SQLSTATE: 55000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08102: "Stopped to parse any valid XLog Record at %X/%X: %s." +SQLSTATE: LL001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08103: "writes are only accepted in commit, begin and change callbacks" +SQLSTATE: LL001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08104: "OutputPluginPrepareWrite needs to be called before OutputPluginWrite" +SQLSTATE: LL001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08105: "output plugins have to declare the _PG_output_plugin_init symbol" +SQLSTATE: LL001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08106: "output plugins have to register a begin callback" +SQLSTATE: LL001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08107: "output plugins have to register a change callback" +SQLSTATE: LL001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08108: "output plugins have to register a commit callback" +SQLSTATE: LL001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08109: "too much output for sql interface" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08110: "must be superuser or replication role to use replication slots" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08111: "could not read from log segment %s, offset %u, length %lu: %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08112: "couldn't advance in recovery" +SQLSTATE: 22P02 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08113: "invalid input syntax for type lsn: '%s' of start_lsn" +SQLSTATE: 22P02 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08114: "array must be one-dimensional" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08115: "array must not contain nulls" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08116: "array must be TEXTOID" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08117: "array must have even number of elements" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08118: "could not remove directory '%s'" +SQLSTATE: LL001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08119: "output plugin cannot produce binary output" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08120: "tuplecid value in changequeue" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08121: "output plugin used xid %lu" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08122: "can not found txn which xid = %lu" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08123: "only ever add one set of invalidations" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08124: "txn->subtxns is illegal point" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08125: "could not write to xid %lu's data file: %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08126: "could not read from reorderbuffer spill file: %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08127: "incomplete read from reorderbuffer spill file: read %d instead of %u" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08128: "illegality read length %lu" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08129: "could not read from reorderbuffer spill file: read %d instead of %u" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08130: "got sequence entry %u for toast chunk %u instead of seq 0" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08131: "got sequence entry %u for toast chunk %u instead of seq %d" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08132: "fail to get toast chunk" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08133: "unexpected type of toast chunk" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08134: "toast_rel should not be NULL!" +SQLSTATE: LL001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08135: "could not read file '%s', read %d instead of %d" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08136: "could not parse fname %s" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08137: "cannot free a copied snapshot" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08138: "cannot free an active snapshot" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08139: "cannot export a snapshot before reaching a consistent state" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08140: "cannot export a snapshot, not all transactions are monitored anymore" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08141: "cannot export a snapshot when MyPgXact->xmin already is valid" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08142: "cannot export a snapshot from within a transaction" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08143: "can only export one snapshot at a time" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08144: "clearing exported snapshot in wrong transaction state" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08145: "xl_heap_new_cid record without a valid CommandId" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08146: "waiting for ourselves" +SQLSTATE: LL001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08147: "could not read file '%s', read %lu of %lu: %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08148: "snapbuild state file '%s' has wrong magic %u instead of %d" +SQLSTATE: LL001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08149: "snapbuild state file '%s' has unsupported version %u instead of %d" +SQLSTATE: LL001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08150: "could not read file '%s', size overflow" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08151: "snapbuild state file %s: checksum mismatch, is %u, should be %u" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08152: "Obs path prefix is invalid" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08153: "[walreceiver_connect_obs]could not get obs relication slot" +SQLSTATE: XX005 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08154: "The xlog file path is invalid" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08155: "The xlog file on obs is not exist" +SQLSTATE: 58P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08156: "Invalid parameter" +SQLSTATE: 22004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08157: "Invalid Lsn: %lu" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08158: "Can not open file '%s': %s" +SQLSTATE: 53000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08159: "Can not locate to offset[%u] of xlog file '%s': %s" +SQLSTATE: 58P03 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08160: "Can not read local xlog file '%s': %s" +SQLSTATE: 58P03 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08161: "Invalid OBS object key: %s" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08162: "replication slot name starting with gs_roach is internally reserverd" +SQLSTATE: 55000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08163: "replication slot name should not be NULL." +SQLSTATE: 42602 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08164: "replication slot name '%s' is too short" +SQLSTATE: 42602 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08165: "replication slot name '%s' is too long" +SQLSTATE: 42622 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08166: "replication slot name '%s' contains invalid character" +SQLSTATE: 42602 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08167: "replication slot '%s' already exists" +SQLSTATE: 42710 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08168: "could not rm directory '%s': %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08169: "could not read file '%s', content is %s" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08170: "replication slot file '%s' has wrong magic %u instead of %d" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08171: "recover failed could not open slot file '%s': %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08172: "recover failed could not write to slot file '%s': %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08173: "recover failed could not fsync slot file '%s': %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08174: "recover failed could not close slot file '%s': %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08175: "message is inleagel '%s'" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08176: "slot %s is not backup slot." +SQLSTATE: 55000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08177: "cannot create replication slot when recovery is in progress" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08178: "Standby mode doesn't support create logical slot" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08179: "invalid target wal lsn" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08180: "cannot move slot to %X/%X, minimum is %X/%X" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08181: "version must be bigger than 92260" +SQLSTATE: 42804 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08183: "could not seek in log file %s to offset %d: %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08184: "unexpected page addr %lu of log file %s" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08185: "unexpected wal data type %c" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08186: "Refuse WAL streaming, connection mode is %d, connertion IP is %s:%d\n" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08187: "terminating walreceiver due to timeout now time(%s) timeout time(%s) last recv time(%s) heartbeat time(%s)" +SQLSTATE: YY004 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08188: "WAL streaming isn't employed to sync all the replication data log." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08189: "the corrupt data total len is %u bytes, the expected len is %lu bytes." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08190: "the unexpected data flag is %c, the expected data flag is 'd'." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08191: "the start xlog employed for the wal data is invalid." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08192: "the end xlog employed for the wal data is invalid." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08193: "the received wal data is unexpected %u bytes at least more than %lu bytes" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08194: "the received xlog is unexpected %u bytes at least more than %lu bytes." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08195: "Unexpected seek in the walreceiver buffer. xlogrecptr is (%X:%X) but local xlogptr is (%X:%X).nbyte is %lu, walfreeoffset is %ld walwriteoffset is %ld walreadoffset is %ld" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08196: "Unexpected seek in the walreceiver buffer. xlogrecptr is (%X:%X) but local xlogptr is (%X:%X)." +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08197: "invalid replication node index:%d" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08198: "enable_cbm_tracking must be turn on when enable_mix_replication is on!" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08199: "can't decode in pmState is not run or recovery in progress." +SQLSTATE: LL001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08200: "cannot use a logical replication slot for physical replication" +SQLSTATE: 55000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08201: "Failed to init the xlog reader for the wal sender." +SQLSTATE: 29000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08202: "walsender stop switchover process for catchup is alive, the process need to be restart" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08203: "terminating Walsender process due to replication timeout.now time(%s) timeout time(%s) last recv time(%s) heartbeat time(%s)" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08204: "could not stat bucket directory '%s': %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08205: "could not create bucket directory '%s': %m" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08206: "'%s' exists but is not a bucket dir" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08207: "Bucket dir '%s' exists when creating bucket dir under not-redo" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08208: "md async write error" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08209: "SMgrRelation hashtable not find" +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08210: "Bktnode smgr not found in bktnodes hastbl of upper relation" +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08211: "unknow bucketnode %d." +SQLSTATE: XX001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08212: "cannot move objects into dbe_perf schema" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08213: "cannot move objects into snapshot schema" +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08214: "must be superuser to examine '%s'" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08215: "replication_type is only allowed set to 1, newval=%d." +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08216: "row-oriented table does not support compression." +SQLSTATE: 42P16 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08218: "multiple encrypted columns are not allowed" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08219: "Invalid encrypted value" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08220: "Archived thread shut down." +SQLSTATE: OP003 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08221: "Wait archived timeout." +SQLSTATE: OP003 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08222: "database oid and user oid are all wrong" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08223: "must be system admin to clean pool connections" +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08224: "Node %s: object not defined" +SQLSTATE: 42601 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08225: "distributed table has too many distribution keys." +SQLSTATE: 42P16 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08226: "Distribution Info is not defined." +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08227: "Unrecognized distribution specification." +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08228: "schema name is NULL." +SQLSTATE: 0A000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08229: "should not drop shared plan" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08230: "CheckCachedPlan no gplan for sharedplan %s" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08231: "GUC:%s could only be set by initial user." +SQLSTATE: 42501 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08232: "Monitor admin privilege is neended to generate WDR report" +SQLSTATE: OP001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08233: "cannot copy from contview '%s'" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08234: "cannot copy to contview '%s'" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08235: "should get shared plan in gpc when StorePreparedStatement" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08236: "prepared statement '%s' does not exist on DN with GPC" +SQLSTATE: 26010 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08237: "Could not get handle on datanode for sequence" +SQLSTATE: 08000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08238: "Could not begin transaction on datanode for sequence" +SQLSTATE: 08000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08239: "Failed to send sendUpdateSequenceMsgToDn request to the node" +SQLSTATE: OP001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08240: "update sequence %s command failed with error %s" +SQLSTATE: OP001 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08241: "should found plan in gpc when RemovePlanSource" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08242: "wrong refcount in subrefcount" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08243: "wrong refcount" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08244: "In gpc commit stage, plansource has already been freed" +SQLSTATE: 26010 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08245: "In gpc commit stage, fail to fetch prepare statement:%s" +SQLSTATE: 26010 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08246: "cur psrc wrong" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08247: "session's cur_stmt_psrc should be null when detach" +SQLSTATE: XX000 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08248: "could not create log directory '%s': %s\n" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08249: "invalid frontend message type %c" +SQLSTATE: 08P01 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08250: "dn gpc's prepared statement %s does not exist" +SQLSTATE: 26010 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08251: "Please use 'ALTER ROLE user_name PASSWORD 'password';' to set the password of user %s before other operation!" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08252: "cannot lock rows in contview '%s'" +SQLSTATE: 42809 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08253: "[LIGHT PROXY] Failed to fetch from Datanode %s[%u]" +SQLSTATE: 08006 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08254: "LIMIT must not be null for delete." +SQLSTATE: 2201W +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08255: "LIMIT must not be less than 0 for delete." +SQLSTATE: 2201W +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08256: "open cursor with args has invalid arguments,%s" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08257: "the function or procedure with exception can't be pushed down for execution" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08258: "Invalid clause in qual" +SQLSTATE: 42704 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08259: "Invalid interval string for 'sw_interval' option" +SQLSTATE: 22023 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08260: "No free proc is available to create a new connection for %s. Please check whether the IP address and port are available, and the CN/DN process can be connected" +SQLSTATE: 53300 +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + + +GAUSS-08261: "terminating walreceiver due to heartbeat timeout,now time(%s) last heartbeat time(%s) calculateTime(%s)" +SQLSTATE: +CAUSE: "This is an internal error" +ACTION: "Please contact engineer to support." + diff --git a/src/bin/gsqlerr/errmsg_st.h b/src/bin/gsqlerr/errmsg_st.h old mode 100755 new mode 100644 diff --git a/src/bin/gsqlerr/gsqlerr.cpp b/src/bin/gsqlerr/gsqlerr.cpp old mode 100755 new mode 100644 diff --git a/src/bin/gsqlerr/scanEreport.cpp b/src/bin/gsqlerr/scanEreport.cpp old mode 100755 new mode 100644 index 72252f7c2..8845ec133 --- a/src/bin/gsqlerr/scanEreport.cpp +++ b/src/bin/gsqlerr/scanEreport.cpp @@ -51,12 +51,13 @@ #define ERRMSG_COMP_RESULT_FILENAME "errmsg_result.txt" #define ERRMSG_FORMAT_OUTPUT_FILENAME_EXT "errmsg_distinct.txt" #define ERRMSG_LOG_FILENAME "errmsg.log" +#define INFOMSG_FORMAT_OUTPUT_FILENAME "infomsg.txt" #define STATE_DIR_TYPE ((int)(1)) #define STATE_FILE_TYPE ((int)(2)) #define STATE_OTHER_TYPE ((int)(0)) -#define ERRMSG_MAX_NUM ((int)(10 * 1024)) +#define ERRMSG_MAX_NUM ((int)(20 * 1024)) #define FILE_NAME_MAX_LEN 256 #define MAXPATH 1024 #define STRING_MAX_LEN 512 @@ -64,6 +65,7 @@ #define ERPARA_TYPE_ERRCODE "errcode" #define ERPARA_TYPE_ERRMSG "errmsg" +#define ERPARA_TYPE_ERRMODULE "errmodule" #define ERPARA_TYPE_ERRMSG_INTERNAL "errmsg_internal" #define ERPARA_TYPE_ERRDETAIL "errdetail" #define ERPARA_TYPE_ERRDETAILLOG "errdetail_log" @@ -130,6 +132,7 @@ long g_lErrMsgFileLineNum = 0; unsigned long g_ulErrMsgNum = 0; unsigned long g_ulErrMsgOldNum = 0; unsigned long g_ulErrMsgReadOldNum = 0; +static int g_CheckFlag = 0; mppdb_err_msg_t* g_stErrMsg = NULL; mppdb_err_msg_t* g_stErrMsgOld = NULL; @@ -140,10 +143,10 @@ static char* g_scGsqlerrHdfile = (char*)"gsqlerr_errmsg.h"; /******************************* declare function prototype ****************************/ extern void getProgdir(const char* argv0); extern int getStatType(char* fileName); -extern int scanDir(const char* parent, const char* input_file_path); -extern int fileprocess(char* dir, char* szFileName); -extern int parseEpPara(char* szLine, ERPARA_INFO_T* pstOutErPara, int funcflag); -extern int parseEreport(char* szLine, ERPARA_INFO_T* pstOutErPara); +extern int scanDir(const char* parent, const char* input_file_path, const char* input_path_check); +extern int fileprocess(char* dir, char* szFileName, int check_flag); +extern int parseEpPara(char* szLine, ERPARA_INFO_T* pstOutErPara, int funcflag, int check_flag); +extern int parseEreport(char* szLine, ERPARA_INFO_T* pstOutErPara, int check_flag); extern int parseElog(char* szLine, ERPARA_INFO_T* pstOutErPara); extern char* getSqlStateByMacro(char* ErrnoMacro); extern int saveErrMsg(char* errmsg, char* dir, char* scanfile, int lineno); @@ -170,13 +173,14 @@ int main(int argc, char* argv[]) struct tm* pstTmInfo = NULL; char acStartTime[25] = {0}; int rc = -1; + int rc_check = -1; if (1 >= argc) { return outputLog(NULL, false, "argc error.\n"); } - if ((NULL == argv) || (NULL == argv[1]) || (NULL == argv[2])) { - return outputLog(NULL, false, "argv[1] or argv[2] is null.\n"); + if ((NULL == argv) || (NULL == argv[1]) || (NULL == argv[2]) || (NULL == argv[4])) { + return outputLog(NULL, false, "argv[1] or argv[2] or argv[4] is null.\n"); } /* get program directory */ @@ -264,8 +268,18 @@ int main(int argc, char* argv[]) if (NULL == input_path) { return outputLog(NULL, false, "call resolved_path:%s/%s get resolved_name error.\n", argv[1], argv[2]); } + + char tmp_str_check[MAXPATH]; + rc_check = sprintf_s(tmp_str_check, sizeof(tmp_str_check), "%s/%s", argv[1], argv[4]); + securec_check_ss_c(rc_check, "\0", "\0"); + char *input_path_check = realpath(tmp_str_check, NULL); + if (NULL == input_path_check) { + return outputLog(NULL, false, "call resolved_path:%s/%s get resolved_name error.\n", argv[1], argv[4]); + } + /* scan all files from root recursive */ - lRet = scanDir(parent, input_path); + lRet = scanDir(parent, input_path, input_path_check); + free(input_path_check); free(parent); free(input_path); if (0 != lRet) { @@ -568,16 +582,27 @@ static FileInfo *leadSortedScanFiles(const char* parent, const char *input_file_ } /* scan directory recursive, find *.cpp and *.l file */ -int scanDir(const char* parent, const char* input_file_path) +int scanDir(const char* parent, const char* input_file_path, const char* input_path_check) { int size = 0; + int size_check = 0; + int is_failed = 0; FileInfo *file_infos = leadSortedScanFiles(parent, input_file_path, &size); if (file_infos == NULL) { return -1; } + /* scan sub directory recursive */ for (int i = 0; i < size; i++) { - FileInfo *file_info = file_infos + i; + FileInfo * file_info = file_infos + i; + FileInfo *file_check_infos = leadSortedScanFiles(parent, input_path_check, &size_check); + if (file_check_infos == NULL) { + free(file_info->file); + free(file_info->dir); + is_failed = 1; + continue; + } + int check_flag = 1; char *file_name = file_info->file; char *dir = file_info->dir; /* entry current dir */ @@ -586,21 +611,52 @@ int scanDir(const char* parent, const char* input_file_path) int rc = sprintf_s(path, sizeof(path), "%s/%s", dir, file_name); securec_check_ss_c(rc, "\0", "\0"); if (STATE_FILE_TYPE != getStatType(path)) { + free(file_name); + free(dir); continue; } + for (int j = 0; j < size_check; j++) { + FileInfo *file_check_info = file_check_infos + j; + char *file_check_name = file_check_info->file; + char *dir_check = file_check_info->dir; + if (check_flag == 0) { + free(file_check_name); + free(dir_check); + continue; + } + (void)chdir(dir_check); + char path_check[MAXPATH] = {0}; + int rc_check = sprintf_s(path_check, sizeof(path_check), "%s/%s", dir_check, file_check_name); + securec_check_ss_c(rc_check, "\0", "\0"); + if (STATE_FILE_TYPE != getStatType(path_check)) { + free(file_check_name); + free(dir_check); + continue; + } + if (0 == strcmp(path, path_check)) { + check_flag = 0; + } + free(file_check_name); + free(dir_check); + } /* open file/parse file */ - if (0 == fileprocess(dir, file_name)) { + if (0 == fileprocess(dir, file_name, check_flag)) { (void)fprintf(logfile, "Scan and process file:%s/%s success.\n", dir, file_name); } free(file_name); free(dir); + free(file_check_infos); } free(file_infos); - return 0; + if (is_failed == 1) { + return -1; + } else { + return 0; + } } /* process function ereport or elog */ -int fileprocess(char* dir, char* szFileName) +int fileprocess(char* dir, char* szFileName, int check_flag) { char* szExtName = NULL; FILE* file = NULL; @@ -733,8 +789,12 @@ int fileprocess(char* dir, char* szFileName) } /* parse error msg in ereport or elog */ - if (0 == (parseEpPara(acTmpBuf, &stErPara, funcflag))) { + if (0 == (parseEpPara(acTmpBuf, &stErPara, funcflag, check_flag))) { /* save new scan errmsg */ + if (g_CheckFlag) { + fclose(file); + return -1; + } (void)saveErrMsg((char*)&stErPara, dir, szFileName, lineno); } @@ -831,10 +891,15 @@ void optimize_mutiblock(char* pErrmsg) } /* parse error msg in ereport */ -int parseEreport(char* szLine, ERPARA_INFO_T* pstOutErPara) +int parseEreport(char* szLine, ERPARA_INFO_T* pstOutErPara, int check_flag) { char* pStart = NULL; char* pEnd = NULL; + char* pStart_sqlcode = NULL; + char* pStart_module = NULL; + char* pEnd_module = NULL; + char* pStart_detail = NULL; + char errmodule_tmp[512] = {0}; int msglen = 0; errno_t rc = EOK; @@ -856,6 +921,19 @@ int parseEreport(char* szLine, ERPARA_INFO_T* pstOutErPara) } } + /* get ErrModule */ + pStart_module = strstr(szLine, ERPARA_TYPE_ERRMODULE); + if (pStart_module != NULL) { + pStart_module = strchr(pStart_module, '('); + if ((pStart_module != NULL) && ((pStart_module + 1) != NULL)) { + pEnd_module = strchr(pStart_module, ')'); + if (pEnd_module != NULL) { + rc = strncpy_s(errmodule_tmp, sizeof(errmodule_tmp), pStart_module + 1, pEnd_module - (pStart_module + 1)); + securec_check_c(rc, "\0", "\0"); + } + } + } + /* get ErrMsg */ rc = memset_s(pstOutErPara->EpMsg, sizeof(pstOutErPara->EpMsg), 0, sizeof(pstOutErPara->EpMsg)); securec_check_c(rc, "\0", "\0"); @@ -924,6 +1002,30 @@ int parseEreport(char* szLine, ERPARA_INFO_T* pstOutErPara) } } + if (check_flag) { + if (pstOutErPara->EpMsg) { + pStart_sqlcode = strstr(szLine, ERPARA_TYPE_ERRCODE); + pStart_detail = strstr(szLine, ERPARA_TYPE_ERRDETAIL); + if (pStart_sqlcode == NULL) { + g_CheckFlag = 1; + return outputLog(logfile, false, "The errmsg: %s has no errcode \n", pstOutErPara->EpMsg); + } + if (pStart_module == NULL) { + g_CheckFlag = 1; + return outputLog(logfile, false, "The errmsg: %s has no module \n", pstOutErPara->EpMsg); + } else { + if (strcmp(errmodule_tmp, "MOD_ALL") == 0) { + g_CheckFlag = 1; + return outputLog(logfile, false, "The errmodule of the errmsg:%s could not be MOD_ALL \n", pstOutErPara->EpMsg); + } + } + if (pStart_detail == NULL) { + g_CheckFlag = 1; + return outputLog(logfile, false, "The errmsg: %s has no detail \n", pstOutErPara->EpMsg); + } + } + } + return 0; } @@ -979,7 +1081,7 @@ int parseElog(char* szLine, ERPARA_INFO_T* pstOutErPara) } /* parse the line in function ereport or elog */ -int parseEpPara(char* szLine, ERPARA_INFO_T* pstOutErPara, int funcflag) +int parseEpPara(char* szLine, ERPARA_INFO_T* pstOutErPara, int funcflag, int check_flag) { char* pStart = NULL; char* pEnd = NULL; @@ -1008,7 +1110,7 @@ int parseEpPara(char* szLine, ERPARA_INFO_T* pstOutErPara, int funcflag) /* parse ereport function context */ if (ERRPROC_FUNC_EREPORT == funcflag) { - ret = parseEreport(szLine, pstOutErPara); + ret = parseEreport(szLine, pstOutErPara, check_flag); } else /* parse elog function context */ { ret = parseElog(szLine, pstOutErPara); @@ -1089,7 +1191,7 @@ int saveErrMsg(char* errmsg, char* dir, char* scanfile, int lineno) } if (errnonum >= ERRMSG_MAX_NUM) { - return outputLog(logfile, false, "errnonum is more than max num %d.\n", ERRMSG_MAX_NUM); + return outputLog(logfile, false, "errnonum is more than max num %d and errnonum is %d.\n", ERRMSG_MAX_NUM, errnonum); } /* get sqlstate in errcodes.txt by sqlstate macro */ @@ -1161,6 +1263,8 @@ int readErrmsgFile() char bIsScanFlag[5] = {0}; char acOutput[512] = {0}; errno_t rc = EOK; + int causeLineFlag = 0; + int actionLineFlag = 0; rc = sprintf_s(acOutput, sizeof(acOutput), "%s/%s", g_sProgDir, ERRMSG_FORMAT_OUTPUT_FILENAME); securec_check_ss_c(rc, "\0", "\0"); @@ -1275,6 +1379,29 @@ int readErrmsgFile() bIsScanFlag[4] = 1; } + if ((bIsScanFlag[1] == 1) && (bIsScanFlag[2] == 1) && bIsScanFlag[3] == 1 && actionLineFlag == 1) { + if (bIsScanFlag[4] == 0) { + return outputLog(logfile, false, "The errmsg : %s has no action\n", pstErrMsgItem->stErrmsg.msg); + } + actionLineFlag = 0; + } + + if ((bIsScanFlag[1] == 1) && (bIsScanFlag[2] == 1) && causeLineFlag == 1) { + if (bIsScanFlag[3] == 0) { + return outputLog(logfile, false, "The errmsg : %s has no cause\n", pstErrMsgItem->stErrmsg.msg); + } + if (bIsScanFlag[3] == 1 && bIsScanFlag[4] == 0) { + actionLineFlag = 1; + } + causeLineFlag = 0; + } + + if ((bIsScanFlag[1] == 1) && (bIsScanFlag[2] == 1)) { + if (bIsScanFlag[3] == 0) { + causeLineFlag = 1; + } + } + if ((bIsScanFlag[1] == 1) && (bIsScanFlag[2] == 1) && (bIsScanFlag[3] == 1) && (bIsScanFlag[4] == 1)) { errmsgnum++; if (ERRMSG_MAX_NUM <= errmsgnum) { @@ -1382,6 +1509,7 @@ int compareErrmsg() mppdb_err_msg_t* pstErrMsgItemOld = NULL; unsigned int lNewLoop = 0; unsigned int lOldLoop = 0; + unsigned long ExistCount = 0; errno_t rc = EOK; if ((0 == g_ulErrMsgNum) || (0 == g_ulErrMsgOldNum)) { @@ -1408,6 +1536,7 @@ int compareErrmsg() pstErrMsgItemOld->mppdb_err_msg_locnum = pstErrMsgItemNew->mppdb_err_msg_locnum; pstErrMsgItemNew->ucOpFlag = OP_TYPE_EXIST; + ExistCount++; if ((0 == strlen(pstErrMsgItemOld->stErrmsg.cause)) || (0 == strlen(pstErrMsgItemOld->stErrmsg.action)) || (0 == strlen(pstErrMsgItemOld->cSqlState))) { pstErrMsgItemOld->ucOpFlag = OP_TYPE_INCOMPLETE; @@ -1424,6 +1553,7 @@ int compareErrmsg() } } + /* output and save the result of insert errmsg */ for (lNewLoop = 0; lNewLoop < g_ulErrMsgNum; lNewLoop++) { pstErrMsgItemNew = &g_stErrMsg[lNewLoop]; @@ -1439,7 +1569,7 @@ int compareErrmsg() pstErrMsgItemOld->ulSqlErrcode = g_stErrMsgOld[g_ulErrMsgOldNum - 1].ulSqlErrcode + 1; pstErrMsgItemOld->ucOpFlag = OP_TYPE_INSERT; - + if ((0 == strlen(pstErrMsgItemOld->stErrmsg.cause)) || (0 == strlen(pstErrMsgItemOld->stErrmsg.action)) || (0 == strlen(pstErrMsgItemOld->cSqlState))) { pstErrMsgItemOld->ucOpFlag |= OP_TYPE_INCOMPLETE; diff --git a/src/bin/initdb/initdb.cpp b/src/bin/initdb/initdb.cpp index 8ce7599b5..0a89d2c5a 100644 --- a/src/bin/initdb/initdb.cpp +++ b/src/bin/initdb/initdb.cpp @@ -145,7 +145,6 @@ static const char* default_text_search_config = ""; static char* username = ""; static bool pwprompt = false; static char* pwfilename = NULL; -static char* enpwdfiledir = NULL; static const char* authmethodhost = ""; static const char* authmethodlocal = ""; static bool debug = false; @@ -228,7 +227,7 @@ static const char* backend_options = "--single " #define FREE_AND_RESET(ptr) \ do { \ - if (NULL != (ptr) && (char*)(ptr) != (char*)"") { \ + if (NULL != (ptr) && reinterpret_cast(ptr) != static_cast("")) { \ free(ptr); \ (ptr) = NULL; \ } \ @@ -1543,58 +1542,54 @@ static void get_set_pwd(void) pwd1 = xstrdup(pwdbuf); - } - /* Database Security: Support password complexity */ - else { - if (pwprompt) { - /* if pwpasswd is not NULL, use it as password for the new superuser */ - if (pwpasswd != NULL) { - pwd1 = pwpasswd; - if (!CheckInitialPasswd(username, pwd1)) { - exit_nicely(); - } + } else if (pwprompt) { + /* else get password from readline */ + for (i = 0; i < 3; i++) { + pwd1 = simple_prompt("Enter new system admin password: ", 1024, false); + pwd2 = simple_prompt("Enter it again: ", 1024, false); + + /* if pwd1 not equal to pwd2, try new password again */ + if (pwd1 != NULL && pwd2 != NULL && strcmp(pwd1, pwd2) != 0) { + write_stderr(_("Passwords didn't match.\n")); + write_stderr(_("Please try new password again.\n")); + + rc = memset_s(pwd1, strlen(pwd1), 0, strlen(pwd1)); + securec_check_c(rc, "\0", "\0"); + FREE_AND_RESET(pwd1); + + rc = memset_s(pwd2, strlen(pwd2), 0, strlen(pwd2)); + securec_check_c(rc, "\0", "\0"); + FREE_AND_RESET(pwd2); + + continue; } - /* else get password from readline */ - else { - for (i = 0; i != 3; ++i) { - pwd1 = simple_prompt("Enter new system admin password: ", 1024, false); - pwd2 = simple_prompt("Enter it again: ", 1024, false); - /* if pwd1 not equal to pwd2, try new password again */ - if (NULL != pwd1 && NULL != pwd2 && strcmp(pwd1, pwd2) != 0) { - write_stderr(_("Passwords didn't match.\n")); - write_stderr(_("Please try new password again.\n")); + /* Clear password related memory to avoid leaks when core. */ + if (pwd2 != NULL) { + rc = memset_s(pwd2, strlen(pwd2), 0, strlen(pwd2)); + securec_check_c(rc, "\0", "\0"); + FREE_AND_RESET(pwd2); + } - rc = memset_s(pwd1, strlen(pwd1), 0, strlen(pwd1)); - securec_check_c(rc, "\0", "\0"); - FREE_AND_RESET(pwd1); - - rc = memset_s(pwd2, strlen(pwd2), 0, strlen(pwd2)); - securec_check_c(rc, "\0", "\0"); - FREE_AND_RESET(pwd2); - - continue; - } - - /* Clear password related memory to avoid leaks when core. */ - if (pwd2 != NULL) { - rc = memset_s(pwd2, strlen(pwd2), 0, strlen(pwd2)); - securec_check_c(rc, "\0", "\0"); - FREE_AND_RESET(pwd2); - } - - /* if the pwd1 does not match, try it again*/ - if (CheckInitialPasswd(username, pwd1)) { - break; - } else if (pwd1 != NULL) { - rc = memset_s(pwd1, strlen(pwd1), 0, strlen(pwd1)); - securec_check_c(rc, "\0", "\0"); - FREE_AND_RESET(pwd1); - } - } - if (3 == i) { - exit_nicely(); - } + /* if the pwd1 does not match, try it again*/ + if (CheckInitialPasswd(username, pwd1)) { + break; + } else if (pwd1 != NULL) { + rc = memset_s(pwd1, strlen(pwd1), 0, strlen(pwd1)); + securec_check_c(rc, "\0", "\0"); + FREE_AND_RESET(pwd1); + } + } + + if (i == 3) { + exit_nicely(); + } + } else { + /* if pwpasswd is not NULL, use it as password for the new superuser */ + if (pwpasswd != NULL) { + pwd1 = pwpasswd; + if (!CheckInitialPasswd(username, pwd1)) { + exit_nicely(); } } } @@ -1608,14 +1603,12 @@ static void get_set_pwd(void) PG_CMD_OPEN; - buf_pwd1 = escape_quotes(pwd1); - PG_CMD_PRINTF2("ALTER USER \"%s\" WITH PASSWORD E'%s';\n", username, buf_pwd1); - rc = memset_s(buf_pwd1, strlen(buf_pwd1), 0, strlen(buf_pwd1)); - securec_check_c(rc, "\0", "\0"); - FREE_AND_RESET(buf_pwd1); - - /* MM: pwd1 is no longer needed, freeing it */ if (pwd1 != NULL) { + buf_pwd1 = escape_quotes(pwd1); + PG_CMD_PRINTF2("ALTER USER \"%s\" WITH PASSWORD E'%s';\n", username, buf_pwd1); + rc = memset_s(buf_pwd1, strlen(buf_pwd1), 0, strlen(buf_pwd1)); + securec_check_c(rc, "\0", "\0"); + FREE_AND_RESET(buf_pwd1); /* Clear password related memory to avoid leaks when core. */ rc = memset_s(pwd1, strlen(pwd1), 0, strlen(pwd1)); securec_check_c(rc, "\0", "\0"); @@ -1623,7 +1616,6 @@ static void get_set_pwd(void) } PG_CMD_CLOSE; - check_ok(); } @@ -3334,7 +3326,11 @@ static void usage(const char* prog_name) printf(_(" -?, --help show this help, then exit\n")); printf(_("\nIf the data directory is not specified, the environment variable PGDATA\n" "is used.\n")); - printf(_("\nReport bugs to or join opengauss community .\n")); +#if ((defined(ENABLE_MULTIPLE_NODES)) || (defined(ENABLE_PRIVATEGAUSS))) + printf(_("\nReport bugs to GaussDB support.\n")); +#else + printf(_("\nReport bugs to community@opengauss.org> or join opengauss community .\n")); +#endif } static void check_authmethod_unspecified(const char** authmethod) @@ -3365,22 +3361,20 @@ static void check_authmethod_valid(const char* authmethod, const char** valid_me exit(1); } -static void check_need_password(const char* locale_authmethod, const char* locale_authmethodhost) +static bool is_file_exist(const char* path) { - if ((strcmp(locale_authmethod, "md5") == 0 || strcmp(locale_authmethod, "sha256") == 0 || - strcmp(locale_authmethod, "password") == 0) && - (strcmp(locale_authmethodhost, "md5") == 0 || strcmp(locale_authmethodhost, "password") == 0 || - strcmp(locale_authmethodhost, "sha256") == 0) && - !(pwprompt || (pwfilename != NULL))) { - fprintf(stderr, - _("%s: must specify a password for the system admin to enable %s authentication\n"), - progname, - (strcmp(locale_authmethod, "md5") == 0 || strcmp(locale_authmethod, "password") == 0 || - strcmp(locale_authmethod, "sha256") == 0) - ? locale_authmethod - : locale_authmethodhost); - exit(1); + struct stat statbuf; + bool isExist = true; + + if (lstat(path, &statbuf) < 0) { + if (errno != ENOENT) { + write_stderr(_("could not stat file \"%s\": %s\n"), path, strerror(errno)); + exit(1); + } + + isExist = false; } + return isExist; } int main(int argc, char* argv[]) @@ -3440,6 +3434,9 @@ int main(int argc, char* argv[]) char* authmethodhost_tmp = NULL; char* authmethodlocal_tmp = NULL; char* default_text_search_config_tmp = NULL; + char encrypt_pwd_real_path[PATH_MAX] = {0}; + char cipher_key_file[MAXPGPATH] = {0}; + char rand_file[MAXPGPATH] = {0}; #ifdef WIN32 char* restrict_env = NULL; @@ -3533,12 +3530,27 @@ int main(int argc, char* argv[]) pwprompt = true; break; case 'C': - FREE_NOT_STATIC_ZERO_STRING(enpwdfiledir); - enpwdfiledir = xstrdup(optarg); - decode_cipher_files(SERVER_MODE, NULL, enpwdfiledir, (unsigned char*)depasswd, true); + if (realpath(optarg, encrypt_pwd_real_path) == NULL) { + write_stderr(_("%s: The parameter of -C is invalid.\n"), progname); + break; + } + + ret = snprintf_s(cipher_key_file, MAXPGPATH, MAXPGPATH - 1, + "%s/server.key.cipher", encrypt_pwd_real_path); + securec_check_ss_c(ret, "\0", "\0"); + ret = snprintf_s(rand_file, MAXPGPATH, MAXPGPATH - 1, + "%s/server.key.rand", encrypt_pwd_real_path); + securec_check_ss_c(ret, "\0", "\0"); + if (!is_file_exist(cipher_key_file) || !is_file_exist(rand_file)) { + pwpasswd = NULL; + printf(_("Read cipher or random parameter file failed." + "The password of the initial user is not set.\n")); + break; + } + + decode_cipher_files(SERVER_MODE, NULL, encrypt_pwd_real_path, (unsigned char*)depasswd, true); FREE_NOT_STATIC_ZERO_STRING(pwpasswd); pwpasswd = xstrdup(depasswd); - FREE_AND_RESET(enpwdfiledir); break; case 'w': if ((pwpasswd != NULL) && pwpasswd != (char*)"") { @@ -3699,8 +3711,6 @@ int main(int argc, char* argv[]) check_authmethod_valid(authmethodlocal, auth_methods_local, "local"); check_authmethod_valid(authmethodhost, auth_methods_host, "host"); - check_need_password(authmethodlocal, authmethodhost); - if (strlen(pg_data) == 0) { pgdenv = getenv("PGDATA"); if ((pgdenv != NULL) && strlen(pgdenv)) { @@ -4258,10 +4268,7 @@ int main(int argc, char* argv[]) /* Create the stuff we don't need to use bootstrap mode for */ setup_auth(); - - pwprompt = true; - if (pwprompt || (pwfilename != NULL)) - get_set_pwd(); + get_set_pwd(); setup_depend(); load_plpgsql(); diff --git a/src/bin/initdb/initdb.cpp_for_llt b/src/bin/initdb/initdb.cpp_for_llt old mode 100644 new mode 100755 diff --git a/src/bin/pg_basebackup/pg_basebackup.cpp b/src/bin/pg_basebackup/pg_basebackup.cpp index 78ddef92c..cb1235522 100644 --- a/src/bin/pg_basebackup/pg_basebackup.cpp +++ b/src/bin/pg_basebackup/pg_basebackup.cpp @@ -190,6 +190,19 @@ static void tablespace_list_append(const char* arg) tablespacee_dirs.tail = cell; } +#define TABLESPACE_LIST_RELEASE() \ + if (tblspaceDirectory != NULL) { \ + int k; \ + for (k = 0; k < tblspaceCount; k++) { \ + if (tblspaceDirectory[k] != NULL) { \ + free(tblspaceDirectory[k]); \ + tblspaceDirectory[k] = NULL; \ + } \ + } \ + free(tblspaceDirectory); \ + tblspaceDirectory = NULL; \ + } + static void show_full_build_process(const char *errmg) { pg_log(PG_PROGRESS, _("%s\n"), errmg); @@ -205,8 +218,6 @@ static void usage(void) printf(_(" -F, --format=p|t output format (plain (default), tar)\n")); printf(_(" -T, --tablespace-mapping=OLDDIR=NEWDIR\n" " relocate tablespace in OLDDIR to NEWDIR\n")); - printf(_(" -t, --rw_timeout=TIME rw_timeout limit\n" - " the value range from 60 to 3600 (s) (default 120s)\n")); printf(_(" -x, --xlog include required WAL files in backup (fetch mode)\n")); printf(_(" -X, --xlog-method=fetch|stream\n" " include required WAL files with specified method\n")); @@ -225,10 +236,17 @@ static void usage(void) printf(_(" -p, --port=PORT database server port number\n")); printf(_(" -s, --status-interval=INTERVAL\n" " time between status packets sent to server (in seconds)\n")); + printf(_(" -t, --rw-timeout=RW_TIMEOUT\n" + " read-write timeout during idle connection.(in seconds)\n")); printf(_(" -U, --username=NAME connect as specified database user\n")); printf(_(" -w, --no-password never prompt for password\n")); printf(_(" -W, --password force password prompt (should happen automatically)\n")); - printf(_("\nReport bugs to or join opengauss community .\n")); + +#if ((defined(ENABLE_MULTIPLE_NODES)) || (defined(ENABLE_PRIVATEGAUSS))) + printf(_("\nReport bugs to GaussDB support.\n")); +#else + printf(_("\nReport bugs to community@opengauss.org> or join opengauss community .\n")); +#endif } static void GsTarUsage(void) @@ -921,7 +939,7 @@ static void ReceiveAndUnpackTarFile(PGconn *conn, PGresult *res, int rownum) * All files are padded up to 512 bytes */ if (current_len_left < 0 || current_len_left > LLONG_MAX - 511) { - pg_log(stderr, _("%s: current_len_left is invalid\n"), progname); + pg_log(stderr, _("%s: the file '%s' is too big or file size is invalid\n"), progname, copybuf); disconnect_and_exit(1); } current_padding = PADDING_LEFT(current_len_left); @@ -931,9 +949,9 @@ static void ReceiveAndUnpackTarFile(PGconn *conn, PGresult *res, int rownum) */ if (check_input_path_relative_path(copybuf) || check_input_path_relative_path(current_path)) { pg_log(stderr, - _("%s: the copybuf/current_path file path including .. is unallowed: %s\n"), - progname, - strerror(errno)); + _("%s: the copybuf/current_path file path including .. is unallowed: %s\n"), + progname, + strerror(errno)); disconnect_and_exit(1); } errorno = snprintf_s(filename, sizeof(filename), sizeof(filename) - 1, "%s/%s", current_path, copybuf); @@ -1209,8 +1227,9 @@ static void BaseBackup(void) } rc = strncpy_s(xlogstart, sizeof(xlogstart), PQgetvalue(res, 0, 0), sizeof(xlogstart) - 1); securec_check_c(rc, "", ""); - if (verbose && includewal) + if (verbose && includewal) { pg_log(stderr, "transaction log start point: %s\n", xlogstart); + } PQclear(res); rc = memset_s(xlogend, sizeof(xlogend), 0, sizeof(xlogend)); @@ -1336,8 +1355,9 @@ static void BaseBackup(void) } rc = strncpy_s(xlogend, sizeof(xlogend), PQgetvalue(res, 0, 0), sizeof(xlogend) - 1); securec_check_c(rc, "", ""); - if (verbose && includewal) + if (verbose && includewal) { pg_log(stderr, "transaction log end point: %s\n", xlogend); + } PQclear(res); res = PQgetResult(conn); @@ -1382,8 +1402,9 @@ static void BaseBackup(void) uint32 hi, lo; #endif - if (verbose) + if (verbose) { pg_log(stderr, _("%s: waiting for background process to finish streaming...\n"), progname); + } #ifndef WIN32 if ((unsigned int)(write(bgpipe[1], xlogend, strlen(xlogend))) != strlen(xlogend)) { @@ -1443,6 +1464,8 @@ static void BaseBackup(void) #endif } + TABLESPACE_LIST_RELEASE(); + PQfinish(conn); conn = NULL; @@ -1857,7 +1880,6 @@ static int GsBaseBackup(int argc, char** argv) {"format", required_argument, NULL, 'F'}, {"checkpoint", required_argument, NULL, 'c'}, {"tablespace-mapping", required_argument, NULL, 'T'}, - {"rw_timeout", required_argument, NULL, 't'}, {"xlog", no_argument, NULL, 'x'}, {"xlog-method", required_argument, NULL, 'X'}, {"gzip", no_argument, NULL, 'z'}, @@ -1869,11 +1891,11 @@ static int GsBaseBackup(int argc, char** argv) {"no-password", no_argument, NULL, 'w'}, {"password", no_argument, NULL, 'W'}, {"status-interval", required_argument, NULL, 's'}, + {"rw-timeout", required_argument, NULL, 't'}, {"verbose", no_argument, NULL, 'v'}, {"progress", no_argument, NULL, 'P'}, {NULL, 0, NULL, 0}}; - int c; - int option_index; + int c = 0, option_index = 0; progname = "gs_basebackup"; set_pglocale_pgservice(argv[0], PG_TEXTDOMAIN("gs_basebackup")); @@ -1887,7 +1909,7 @@ static int GsBaseBackup(int argc, char** argv) } } - while ((c = getopt_long(argc, argv, "D:l:c:h:p:U:s:X:F:T:t:Z:wWvPxz", long_options, &option_index)) != -1) { + while ((c = getopt_long(argc, argv, "D:l:c:h:p:U:s:X:F:T:Z:t:wWvPxz", long_options, &option_index)) != -1) { switch (c) { case 'D': { GS_FREE(basedir); @@ -1914,29 +1936,13 @@ static int GsBaseBackup(int argc, char** argv) } break; case 'T': - if (strlen(optarg) > MAXPGPATH) { + if (strlen(optarg) >= MAXPGPATH - 1) { fprintf(stderr, _("%s: invalid output length"), progname); exit(1); } tablespace_list_append(optarg); break; - case 't': { - /* set length limit for preventing para out of int range */ - if (strspn(optarg, "0123456789") != strlen(optarg) || strlen(optarg) > 4) { - fprintf(stderr, _("%s: invalid value:%s\n"), progname, optarg); - exit(1); - } - int baseBackupPara = atoi(optarg); - - /* the timeout range is between 1min and 60mins */ - if (baseBackupPara < 60 || baseBackupPara > 3600) { - fprintf(stderr, _("%s: invalid value:%s\n"), progname, optarg); - exit(1); - } - baseBackupTimeout = xstrdup(optarg); - break; - } case 'x': streamwal = false; break; @@ -2017,6 +2023,13 @@ static int GsBaseBackup(int argc, char** argv) } standby_message_timeout = atoi(optarg) * 1000; break; + case 't': + if (atoi(optarg) < 0 || atoi(optarg) > PG_INT32_MAX) { + fprintf(stderr, _("%s: invalid read-write timeout \"%s\"\n"), progname, optarg); + exit(1); + } + rwtimeout = atoi(optarg); + break; case 'v': verbose++; break; diff --git a/src/bin/pg_basebackup/pg_receivexlog.cpp b/src/bin/pg_basebackup/pg_receivexlog.cpp old mode 100755 new mode 100644 index a6af66989..e1008bd7b --- a/src/bin/pg_basebackup/pg_receivexlog.cpp +++ b/src/bin/pg_basebackup/pg_receivexlog.cpp @@ -72,7 +72,11 @@ static void usage(void) printf(_(" -w, --no-password never prompt for password\n")); printf(_(" -W, --password force password prompt (should happen automatically)\n")); printf(_(" --slot replication slot to use\n")); - printf(_("\nReport bugs to or join opengauss community .\n")); +#if ((defined(ENABLE_MULTIPLE_NODES)) || (defined(ENABLE_PRIVATEGAUSS))) + printf(_("\nReport bugs to GaussDB support.\n")); +#else + printf(_("\nReport bugs to community@opengauss.org> or join opengauss community .\n")); +#endif } static bool stop_streaming(XLogRecPtr segendpos, uint32 timeline, bool segment_finished) diff --git a/src/bin/pg_basebackup/pg_recvlogical.cpp b/src/bin/pg_basebackup/pg_recvlogical.cpp index 85b55a8e5..f6e53833b 100644 --- a/src/bin/pg_basebackup/pg_recvlogical.cpp +++ b/src/bin/pg_basebackup/pg_recvlogical.cpp @@ -710,7 +710,7 @@ static int getOptions(const int argc, char* const* argv) break; case 'P': check_env_value_c(optarg); - if (g_change_plugin && plugin) { + if (plugin) { pfree_ext(plugin); } plugin = pg_strdup(optarg); diff --git a/src/bin/pg_basebackup/receivelog.cpp b/src/bin/pg_basebackup/receivelog.cpp index 7cf604c4f..7f11d7146 100644 --- a/src/bin/pg_basebackup/receivelog.cpp +++ b/src/bin/pg_basebackup/receivelog.cpp @@ -678,6 +678,8 @@ bool ReceiveXlogStream(PGconn* conn, XLogRecPtr startpos, uint32 timeline, const * Check if we should continue streaming, or abort at this point. */ if ((stream_stop != NULL) && stream_stop(blockpos, timeline, false)) { + closeHearBeatTimer(); + xlogconn = NULL; if (walfile != -1) /* Potential error message is written by close_walfile */ return close_walfile(walfile, basedir, current_walfile_name, rename_partial, blockpos); @@ -836,6 +838,8 @@ bool ReceiveXlogStream(PGconn* conn, XLogRecPtr startpos, uint32 timeline, const else if (DO_WAL_DATA_WRITE_STOP == ret) { PQfreemem(copybuf); copybuf = NULL; + closeHearBeatTimer(); + xlogconn = NULL; if (walfile != -1) /* Potential error message is written by close_walfile */ return close_walfile(walfile, basedir, current_walfile_name, rename_partial, blockpos); @@ -852,8 +856,6 @@ bool ReceiveXlogStream(PGconn* conn, XLogRecPtr startpos, uint32 timeline, const * a shutdown message, and we'll return the latest xlog location that has * been streamed. */ - closeHearBeatTimer(); - xlogconn = NULL; res = PQgetResult(conn); if (PQresultStatus(res) != PGRES_COMMAND_OK) { @@ -870,6 +872,9 @@ bool ReceiveXlogStream(PGconn* conn, XLogRecPtr startpos, uint32 timeline, const if (walfile != -1 && close(walfile) != 0) pg_log(PG_WARNING, _(" could not close file \"%s\": %s.\n"), current_walfile_name, strerror(errno)); walfile = -1; + + closeHearBeatTimer(); + xlogconn = NULL; return true; error: diff --git a/src/bin/pg_basebackup/streamutil.cpp b/src/bin/pg_basebackup/streamutil.cpp index 561759584..5a480e498 100644 --- a/src/bin/pg_basebackup/streamutil.cpp +++ b/src/bin/pg_basebackup/streamutil.cpp @@ -31,7 +31,7 @@ char* dbhost = NULL; char* dbuser = NULL; char* dbport = NULL; char* dbname = NULL; -char* baseBackupTimeout = "120"; /* default value */ +int rwtimeout = 0; int dbgetpassword = 0; /* 0=auto, -1=never, 1=always */ static char* dbpassword = NULL; PGconn* conn = NULL; @@ -151,6 +151,8 @@ PGconn* GetConnection(void) const char** keywords; const char** values; const char* tmpparam = NULL; + errno_t rc = EOK; + char rwtimeoutStr[12] = {0}; CalculateArgCount(&argcount); @@ -165,8 +167,13 @@ PGconn* GetConnection(void) values[2] = progname; keywords[3] = "connect_timeout"; /* param connect_time */ values[3] = "120"; /* default connect_time */ + + rc = snprintf_s(rwtimeoutStr, sizeof(rwtimeoutStr), sizeof(rwtimeoutStr) - 1, "%d", + rwtimeout ? rwtimeout : 120); /* default rw_timeout 120 */ + securec_check_ss_c(rc, "", ""); + keywords[4] = "rw_timeout"; /* param rw_timeout */ - values[4] = baseBackupTimeout; /* value rw_timeout */ + values[4] = rwtimeoutStr; /* rw_timeout value */ int i = 5; if (dbhost != NULL) { keywords[i] = "host"; diff --git a/src/bin/pg_basebackup/streamutil.h b/src/bin/pg_basebackup/streamutil.h index 1318cce1f..140301b51 100644 --- a/src/bin/pg_basebackup/streamutil.h +++ b/src/bin/pg_basebackup/streamutil.h @@ -8,7 +8,7 @@ extern char* dbhost; extern char* dbuser; extern char* dbport; extern char* dbname; -extern char* baseBackupTimeout; +extern int rwtimeout; extern int dbgetpassword; extern char* replication_slot; extern int standby_message_timeout; diff --git a/src/bin/pg_config/pg_config.cpp b/src/bin/pg_config/pg_config.cpp index 488f7ee7e..3c0cc7be7 100644 --- a/src/bin/pg_config/pg_config.cpp +++ b/src/bin/pg_config/pg_config.cpp @@ -367,7 +367,12 @@ static void help(void) printf((" --version show the openGauss version\n")); printf((" -?, --help show this help, then exit\n")); printf(("\nWith no arguments, all known items are shown.\n\n")); - printf(("Report bugs to or join opengauss community .\n")); + +#if ((defined(ENABLE_MULTIPLE_NODES)) || (defined(ENABLE_PRIVATEGAUSS))) + printf("\nReport bugs to GaussDB support.\n"); +#else + printf("\nReport bugs to community@opengauss.org> or join opengauss community .\n"); +#endif } static void show_all(void) diff --git a/src/bin/pg_controldata/pg_controldata.cpp b/src/bin/pg_controldata/pg_controldata.cpp index 7cc8a530c..85080448e 100644 --- a/src/bin/pg_controldata/pg_controldata.cpp +++ b/src/bin/pg_controldata/pg_controldata.cpp @@ -60,8 +60,12 @@ static void usage(const char* progname) printf(_(" -V, --version output version information, then exit\n")); printf(_(" -?, --help show this help, then exit\n")); printf(_("\nIf no data directory (DATADIR) is specified, " - "the environment variable PGDATA\nis used.\n\n")); - printf(_("Report bugs to or join opengauss community .\n")); + "the environment variable PGDATA\nis used.\n")); +#if ((defined(ENABLE_MULTIPLE_NODES)) || (defined(ENABLE_PRIVATEGAUSS))) + printf(_("\nReport bugs to GaussDB support.\n")); +#else + printf(_("\nReport bugs to community@opengauss.org> or join opengauss community .\n")); +#endif } static const char* dbState(DBState state) diff --git a/src/bin/pg_ctl/backup.cpp b/src/bin/pg_ctl/backup.cpp old mode 100755 new mode 100644 index c35423359..9289d6bd1 --- a/src/bin/pg_ctl/backup.cpp +++ b/src/bin/pg_ctl/backup.cpp @@ -1317,6 +1317,7 @@ static void BaseBackup(const char* dirname, uint32 term) get_value = PQgetvalue(res, 0, 0); if (get_value == NULL) { pg_log(PG_WARNING, _("get xlog end point failed\n")); + disconnect_and_exit(1); } rc = strncpy_s(xlogend, sizeof(xlogend), get_value, strlen(get_value)); securec_check_c(rc, "", ""); @@ -1552,7 +1553,7 @@ static XLogRecPtr read_full_backup_label( retVal = realpath(backup_file, Lrealpath); if (retVal == NULL && Lrealpath[0] == '\0') { pg_log(PG_WARNING, _("realpath failed : %s!\n"), strerror(errno)); - return false; + disconnect_and_exit(1); } /* @@ -1605,7 +1606,8 @@ static XLogRecPtr read_full_backup_label( */ retVal = realpath(backup_file, Lrealpath); if (retVal == NULL && Lrealpath[0] == '\0') { - pg_log(PG_WARNING, _(" realpath failed!\n")); + pg_log(PG_WARNING, _("realpath failed : %s!\n"), strerror(errno)); + disconnect_and_exit(1); } lfp = fopen(Lrealpath, "r"); if (lfp == NULL) { diff --git a/src/bin/pg_ctl/pg_build.cpp b/src/bin/pg_ctl/pg_build.cpp old mode 100755 new mode 100644 diff --git a/src/bin/pg_ctl/pg_build.h b/src/bin/pg_ctl/pg_build.h old mode 100755 new mode 100644 diff --git a/src/bin/pg_ctl/pg_ctl.cpp b/src/bin/pg_ctl/pg_ctl.cpp index 2ad3741c7..c9dfb25cb 100644 --- a/src/bin/pg_ctl/pg_ctl.cpp +++ b/src/bin/pg_ctl/pg_ctl.cpp @@ -2247,6 +2247,7 @@ static int pg_ctl_lock(const char* lock_file, FILE** lockfile_fd) { int ret; struct stat statbuf; + int fildes = 0; char standard_lock_file[g_max_length_std_path] = {0}; ret = snprintf_s(standard_lock_file, sizeof(standard_lock_file), sizeof(standard_lock_file) - 1, "%s", lock_file); @@ -2259,9 +2260,17 @@ static int pg_ctl_lock(const char* lock_file, FILE** lockfile_fd) char content[PG_CTL_LOCKFILE_SIZE] = {0}; *lockfile_fd = fopen(standard_lock_file, PG_BINARY_W); if (*lockfile_fd == NULL) { - pg_log(PG_WARNING, _("can't open lock file \"%s\" : %s"), standard_lock_file, strerror(errno)); + pg_log(PG_WARNING, _("can't create lock file \"%s\" : %s"), standard_lock_file, strerror(errno)); exit(1); } else { + fildes = fileno(*lockfile_fd); + if (fchmod(fildes, S_IRUSR | S_IWUSR) == -1) { + pg_log(PG_WARNING, _("can't chmod lock file \"%s\" : %s"), standard_lock_file, strerror(errno)); + /* Close file and Nullify the pointer for retry */ + fclose(*lockfile_fd); + *lockfile_fd = NULL; + exit(1); + } if (fwrite(content, PG_CTL_LOCKFILE_SIZE, 1, *lockfile_fd) != 1) { fclose(*lockfile_fd); *lockfile_fd = NULL; @@ -3485,7 +3494,7 @@ static void do_help(void) printf(_(" %s unregister [-N SERVICENAME]\n"), progname); #endif (void)printf(_(" %s querybuild [-D DATADIR]\n"), progname); -#ifdef ENABLE_MULTIPLE_NODES +#if defined(ENABLE_MULTIPLE_NODES) || defined(ENABLE_PRIVATEGAUSS) (void)printf(_(" %s hotpatch [-D DATADIR] [-a ACTION] [-n NAME]\n"), progname); #endif printf(_("\nCommon options:\n")); @@ -3529,11 +3538,12 @@ static void do_help(void) printf(_("\nOptions for restore:\n")); printf(_(" --remove-backup Remove the pg_rewind_bak dir after restore with \"restore\" command\n")); +#if defined(ENABLE_MULTIPLE_NODES) || defined(ENABLE_PRIVATEGAUSS) printf(_("\nOptions for hotpatch:\n")); printf( _(" -a ACTION patch command, ACTION can be \"load\" \"unload\" \"active\" \"deactive\" \"info\" \"list\"\n")); printf(_(" -n NAME patch name, NAME should be patch name with path\n")); - +#endif printf(_("\nShutdown modes are:\n")); printf(_(" fast quit directly, with proper shutdown\n")); printf(_(" immediate quit without complete shutdown; will lead to recovery on restart\n")); @@ -3568,11 +3578,12 @@ static void do_help(void) printf(_(" -r, --recvtimeout=INTERVAL time that receiver waits for communication from server (in seconds)\n")); printf(_(" -C, connector CN/DN connect to CN for build\n")); -#ifdef ENABLE_MULTIPLE_NODES - printf(_("\nReport bugs to .\n")); - - printf(_("\nReport bugs to .\n")); +#if ((defined(ENABLE_MULTIPLE_NODES)) || (defined(ENABLE_PRIVATEGAUSS))) + printf("\nReport bugs to GaussDB support.\n"); +#else + printf("\nReport bugs to openGauss community by raising an issue.\n"); #endif + } static void set_mode(char* modeopt) @@ -4007,6 +4018,9 @@ static void do_incremental_build(uint32 term) if (sysidentifier != NULL) { pg_free(sysidentifier); } + if (bgchild > 0) { + (void)kill(bgchild, SIGTERM); + } #ifdef ENABLE_MOT if (status == BUILD_SUCCESS) { @@ -4692,9 +4706,13 @@ int main(int argc, char** argv) // The node defaults to a datanode FREE_AND_RESET(pgxcCommand); pgxcCommand = xstrdup("--single_node"); - +#ifdef ENABLE_PRIVATEGAUSS + while ((c = getopt_long( + argc, argv, "a:b:cD:l:m:M:N:n:o:p:P:r:sS:t:U:wWZ:dqL:T:", long_options, &option_index)) != -1) +#else while ((c = getopt_long( argc, argv, "b:cD:l:m:M:N:o:p:P:r:sS:t:U:wWZ:dqL:T:", long_options, &option_index)) != -1) +#endif #endif { switch (c) { diff --git a/src/bin/pg_ctl/receivelog.cpp b/src/bin/pg_ctl/receivelog.cpp old mode 100755 new mode 100644 index a925ef5cb..95f533dbd --- a/src/bin/pg_ctl/receivelog.cpp +++ b/src/bin/pg_ctl/receivelog.cpp @@ -636,6 +636,8 @@ bool ReceiveXlogStream(PGconn* conn, XLogRecPtr startpos, uint32 timeline, const * Check if we should continue streaming, or abort at this point. */ if ((stream_stop != NULL) && stream_stop(blockpos, timeline, false)) { + closeHearBeatTimer(); + xlogconn = NULL; if (walfile != -1) /* Potential error message is written by close_walfile */ return close_walfile(walfile, basedir, current_walfile_name, rename_partial, blockpos); @@ -786,6 +788,8 @@ bool ReceiveXlogStream(PGconn* conn, XLogRecPtr startpos, uint32 timeline, const else if (DO_WAL_DATA_WRITE_STOP == ret) { PQfreemem(copybuf); copybuf = NULL; + closeHearBeatTimer(); + xlogconn = NULL; if (walfile != -1) /* Potential error message is written by close_walfile */ return close_walfile(walfile, basedir, current_walfile_name, rename_partial, blockpos); @@ -802,8 +806,7 @@ bool ReceiveXlogStream(PGconn* conn, XLogRecPtr startpos, uint32 timeline, const * a shutdown message, and we'll return the latest xlog location that has * been streamed. */ - closeHearBeatTimer(); - xlogconn = NULL; + res = PQgetResult(conn); if (PQresultStatus(res) != PGRES_COMMAND_OK) { @@ -820,6 +823,8 @@ bool ReceiveXlogStream(PGconn* conn, XLogRecPtr startpos, uint32 timeline, const if (walfile != -1 && close(walfile) != 0) pg_log(PG_WARNING, _(" could not close file \"%s\": %s.\n"), current_walfile_name, strerror(errno)); walfile = -1; + closeHearBeatTimer(); + xlogconn = NULL; return true; error: diff --git a/src/bin/pg_ctl/receivelog.h b/src/bin/pg_ctl/receivelog.h old mode 100755 new mode 100644 diff --git a/src/bin/pg_ctl/streamutil.cpp b/src/bin/pg_ctl/streamutil.cpp old mode 100755 new mode 100644 diff --git a/src/bin/pg_ctl/streamutil.h b/src/bin/pg_ctl/streamutil.h old mode 100755 new mode 100644 diff --git a/src/bin/pg_dump/Makefile b/src/bin/pg_dump/Makefile index eeac40dbf..cfb75a764 100644 --- a/src/bin/pg_dump/Makefile +++ b/src/bin/pg_dump/Makefile @@ -59,7 +59,7 @@ all: submake-aes gs_dump gs_restore gs_dumpall libpq_pgport:=$(subst -lpq,-lpq_ce,$(libpq_pgport)) ifneq ($(enable_multiple_nodes)_$(enable_privategauss), no_no) -libpq_pgport += -L$(top_builddir)/src/distribute/bin/gs_ktool/ -lgs_ktool -lsecurec -L$(LIBKMC_LIB_PATH) -lkmc +libpq_pgport += -L$(top_builddir)/src/bin/gs_ktool/ -lgs_ktool -lsecurec -L$(LIBKMC_LIB_PATH) -lkmc endif gs_dump: pg_dump.o common.o pg_dump_sort.o $(OBJS) $(KEYWRDOBJS) $(COMMON_OBJS) | submake-libpq_ce submake-libpgport diff --git a/src/bin/pg_dump/dumputils.cpp b/src/bin/pg_dump/dumputils.cpp old mode 100755 new mode 100644 diff --git a/src/bin/pg_dump/dumputils.h b/src/bin/pg_dump/dumputils.h old mode 100755 new mode 100644 diff --git a/src/bin/pg_dump/pg_backup.h b/src/bin/pg_dump/pg_backup.h old mode 100755 new mode 100644 diff --git a/src/bin/pg_dump/pg_backup_archiver.cpp b/src/bin/pg_dump/pg_backup_archiver.cpp old mode 100755 new mode 100644 index 8fdcf46fd..0acd3a6be --- a/src/bin/pg_dump/pg_backup_archiver.cpp +++ b/src/bin/pg_dump/pg_backup_archiver.cpp @@ -1853,7 +1853,7 @@ char* ReadStr(ArchiveHandle* AH) if (l < 0) { buf = NULL; } else { - buf = (char*)pg_malloc(l + 1); + buf = (char*)pg_malloc((unsigned int)l + 1); if ((*AH->ReadBufptr)(AH, (void*)buf, l) != (unsigned int)(l)) exit_horribly(modulename, "unexpected end of file\n"); @@ -1940,7 +1940,13 @@ static int _discoverArchiveFormat(ArchiveHandle* AH) * NB: this code must agree with ReadHead(). */ AH->vmaj = fgetc(fh); + if (AH->vmaj == EOF) { + exit_horribly(modulename, "unexpected end of file\n"); + } AH->vmin = fgetc(fh); + if (AH->vmin == EOF) { + exit_horribly(modulename, "unexpected end of file\n"); + } /* Save these too... */ AH->lookahead[AH->lookaheadLen++] = AH->vmaj; @@ -1949,6 +1955,9 @@ static int _discoverArchiveFormat(ArchiveHandle* AH) /* Check header version; varies from V1.0 */ if (AH->vmaj > 1 || ((AH->vmaj == 1) && (AH->vmin > 0))) { /* Version > 1.0 */ AH->vrev = fgetc(fh); + if (AH->vrev == EOF) { + exit_horribly(modulename, "unexpected end of file\n"); + } AH->lookahead[AH->lookaheadLen++] = AH->vrev; } else { AH->vrev = 0; @@ -1958,16 +1967,25 @@ static int _discoverArchiveFormat(ArchiveHandle* AH) AH->version = ((AH->vmaj * 256 + AH->vmin) * 256 + AH->vrev) * 256 + 0; AH->intSize = fgetc(fh); + if ((int)AH->intSize == EOF) { + exit_horribly(modulename, "unexpected end of file\n"); + } AH->lookahead[AH->lookaheadLen++] = AH->intSize; if (AH->version >= K_VERS_1_7) { AH->offSize = fgetc(fh); + if ((int)AH->offSize == EOF) { + exit_horribly(modulename, "unexpected end of file\n"); + } AH->lookahead[AH->lookaheadLen++] = AH->offSize; } else { AH->offSize = AH->intSize; } AH->format = (ArchiveFormat)fgetc(fh); + if (AH->format == EOF) { + exit_horribly(modulename, "unexpected end of file\n"); + } AH->lookahead[AH->lookaheadLen++] = AH->format; } else { /* @@ -4697,7 +4715,8 @@ void decryptArchive(Archive* fout, const ArchiveFormat fmt) tempDecryptDir = NULL; } -static bool decryptFromFile(FILE* source, unsigned char* Key, GS_UCHAR** decryptBuff, int* plainlen, bool* randget) +static bool decryptFromFile( + FILE* source, unsigned char* Key, GS_UCHAR** decryptBuff, int* plainlen, bool* randget, GS_UINT32* decryptBufflen) { int nread = 0; int errnum; @@ -4754,6 +4773,7 @@ static bool decryptFromFile(FILE* source, unsigned char* Key, GS_UCHAR** decrypt ciphertext = NULL; return false; } + *decryptBufflen = cipherlen; rc = memset_s(ciphertext, cipherlen, '\0', cipherlen); securec_check_c(rc, "\0", "\0"); @@ -4804,6 +4824,9 @@ void decryptSimpleFile(const char* fileName, const char* decryptedFileName, unsi int nwrite = 0; int plainlen = 0; bool randget = false; + int fd = 0; + GS_UINT32 decryptBufflen = 0; + errno_t rc = EOK; ddr_Assert(strncmp(fileName, decryptedFileName, strlen(fileName)) != 0); @@ -4812,6 +4835,8 @@ void decryptSimpleFile(const char* fileName, const char* decryptedFileName, unsi exit_horribly(modulename, "could not open encrypt archive file.\n"); return; } + fd = fileno(fr); + fchmod(fd, 0600); fw = fopen(decryptedFileName, PG_BINARY_W); if (fw == NULL) { @@ -4821,19 +4846,21 @@ void decryptSimpleFile(const char* fileName, const char* decryptedFileName, unsi } while (!feof(fr)) { - if (!decryptFromFile(fr, Key, &outputptr, &plainlen, &randget)) { + if (!decryptFromFile(fr, Key, &outputptr, &plainlen, &randget, &decryptBufflen)) { fclose(fr); fclose(fw); exit_horribly(modulename, "Decryption failed.\n"); } - if (NULL != outputptr) { + if (NULL != outputptr && decryptBufflen != 0) { nwrite = fwrite(outputptr, 1, plainlen, fw); if (nwrite != plainlen) { fclose(fr); fclose(fw); exit_horribly(modulename, "could not write archive file.\n"); } + rc = memset_s(outputptr, decryptBufflen, '\0', decryptBufflen); + securec_check_c(rc, "\0", "\0"); free(outputptr); outputptr = NULL; } @@ -4850,6 +4877,7 @@ bool getAESLabelFile(const char* dirName, const char* labelName, const char* fMo { char aesLabelFile[MAXPGPATH] = {0}; FILE* fp = NULL; + int fd = 0; if (NULL == dirName) { return false; @@ -4862,6 +4890,8 @@ bool getAESLabelFile(const char* dirName, const char* labelName, const char* fMo if (NULL == fp) { return false; } + fd = fileno(fp); + fchmod(fd, 0600); fclose(fp); diff --git a/src/bin/pg_dump/pg_backup_db.cpp b/src/bin/pg_dump/pg_backup_db.cpp old mode 100755 new mode 100644 diff --git a/src/bin/pg_dump/pg_backup_directory.cpp b/src/bin/pg_dump/pg_backup_directory.cpp old mode 100755 new mode 100644 diff --git a/src/bin/pg_dump/pg_backup_tar.cpp b/src/bin/pg_dump/pg_backup_tar.cpp old mode 100755 new mode 100644 diff --git a/src/bin/pg_dump/pg_dump.cpp b/src/bin/pg_dump/pg_dump.cpp index 2dc40f061..efeb01f31 100644 --- a/src/bin/pg_dump/pg_dump.cpp +++ b/src/bin/pg_dump/pg_dump.cpp @@ -62,6 +62,7 @@ #include "catalog/pg_trigger.h" #include "catalog/pg_type.h" #include "libpq/libpq-fs.h" +#include "libpq/libpq-int.h" #include "catalog/pgxc_node.h" #include "pg_backup_archiver.h" #include "pg_backup_db.h" @@ -1608,6 +1609,7 @@ void help(const char* pchProgname) /* Database Security: Data importing/dumping support AES128. */ printf(_(" --with-encryption=AES128 dump data is encrypted using AES128\n")); printf(_(" --with-key=KEY AES128 encryption key, must be 16 bytes in length\n")); + printf(_(" --with-salt=RANDVALUES used by gs_dumpall, pass rand value array\n")); #ifdef ENABLE_MULTIPLE_NODES printf(_(" --include-nodes include TO NODE/GROUP clause in the dumped CREATE TABLE " "and CREATE FOREIGN TABLE commands.\n")); @@ -3496,20 +3498,20 @@ static void dumpColumnEncryptionKeys(Archive *fout, const Oid nspoid, const char exit_nicely(1); } - if (!read_cmk_plain(cmk_id, cmk_plain, true)) { + if (!read_cmk_plain(cmk_id, cmk_plain)) { exit_nicely(1); } if (!decrypt_cek_use_aes256((const unsigned char *)encrypted_value, unescapedDataSize, cmk_plain, - (unsigned char *)decryptedKey, &decryptedKeySize, true)) { + decryptedKey, &decryptedKeySize)) { exit_nicely(1); } #else RealCmkPath real_cmk_path = {0}; KmsErrType err_type = SUCCEED; - err_type = get_real_key_path_kms(key_path_str, &real_cmk_path); - if (err_type != KEY_FILES_EXIST) { + err_type = get_and_check_real_key_path(key_path_str, &real_cmk_path, READ_KEY_FILE); + if (err_type != SUCCEED) { handle_kms_err(err_type); exit_nicely(1); } @@ -4219,9 +4221,6 @@ NamespaceInfo* getNamespaces(Archive* fout, int* numNamespaces) /* Decide whether to dump this nmspace */ selectDumpableNamespace(&nsinfo[i]); - - if (strlen(nsinfo[i].rolname) == 0) - write_msg(NULL, "WARNING: owner of schema \"%s\" appears to be invalid\n", nsinfo[i].dobj.name); } PQclear(res); @@ -4604,9 +4603,6 @@ TypeInfo* getTypes(Archive* fout, int* numTypes) } } } - - if (strlen(tyinfo[i].rolname) == 0 && tyinfo[i].isDefined) - write_msg(NULL, "WARNING: owner of data type \"%s\" appears to be invalid\n", tyinfo[i].dobj.name); } *numTypes = ntups; @@ -4707,9 +4703,6 @@ OprInfo* getOperators(Archive* fout, int* numOprs) /* Decide whether we want to dump it */ selectDumpableObject(&(oprinfo[i].dobj)); - - if (strlen(oprinfo[i].rolname) == 0) - write_msg(NULL, "WARNING: owner of operator \"%s\" appears to be invalid\n", oprinfo[i].dobj.name); } PQclear(res); @@ -4948,12 +4941,6 @@ OpclassInfo* getOpclasses(Archive* fout, int* numOpclasses) /* Decide whether we want to dump it */ selectDumpableObject(&(opcinfo[i].dobj)); - - if (fout->remoteVersion >= 70300) { - if (strlen(opcinfo[i].rolname) == 0) - write_msg( - NULL, "WARNING: owner of operator class \"%s\" appears to be invalid\n", opcinfo[i].dobj.name); - } } PQclear(res); @@ -5031,12 +5018,6 @@ OpfamilyInfo* getOpfamilies(Archive* fout, int* numOpfamilies) /* Decide whether we want to dump it */ selectDumpableObject(&(opfinfo[i].dobj)); - - if (fout->remoteVersion >= 70300) { - if (strlen(opfinfo[i].rolname) == 0) - write_msg( - NULL, "WARNING: owner of operator family \"%s\" appears to be invalid\n", opfinfo[i].dobj.name); - } } PQclear(res); @@ -5165,10 +5146,6 @@ AggInfo* getAggregates(Archive* fout, int* numAggs) agginfo[i].aggfn.dobj.nmspace = findNamespace(fout, atooid(PQgetvalue(res, i, i_aggnamespace)), agginfo[i].aggfn.dobj.catId.oid); agginfo[i].aggfn.rolname = gs_strdup(PQgetvalue(res, i, i_rolname)); - if (strlen(agginfo[i].aggfn.rolname) == 0) - write_msg(NULL, - "WARNING: owner of aggregate function \"%s\" appears to be invalid\n", - agginfo[i].aggfn.dobj.name); agginfo[i].aggfn.lang = InvalidOid; /* not currently interesting */ agginfo[i].aggfn.prorettype = InvalidOid; /* not saved */ agginfo[i].aggfn.proacl = gs_strdup(PQgetvalue(res, i, i_aggacl)); @@ -5351,9 +5328,6 @@ FuncInfo* getFuncs(Archive* fout, int* numFuncs) /* Decide whether we want to dump it */ selectDumpableObject(&(finfo[i].dobj)); - - if (strlen(finfo[i].rolname) == 0) - write_msg(NULL, "WARNING: owner of function \"%s\" appears to be invalid\n", finfo[i].dobj.name); } PQclear(res); @@ -6418,12 +6392,6 @@ TableInfo* getTables(Archive* fout, int* numTables) ExecuteSqlStatement(fout, query->data); } } - - /* Emit notice if join for owner failed */ - if (strlen(tblinfo[i].rolname) == 0) - write_msg(NULL, - "WARNING: owner of table \"%s\" appears to be invalid\n", - fmtQualifiedId(fout, tblinfo[i].dobj.nmspace->dobj.name, tblinfo[i].dobj.name)); } /* @@ -14336,6 +14304,17 @@ static void dumpForeignServer(Archive* fout, ForeignServerInfo* srvinfo) destroyPQExpBuffer(q); destroyPQExpBuffer(delq); destroyPQExpBuffer(labelq); + destroyPQExpBuffer(query); + if (res == NULL) { + return; + } + GS_FREE(res->tuples); + GS_FREE(res->paramDescs); + GS_FREE(res->events); + GS_FREE(res->errMsg); + GS_FREE(res->errFields); + GS_FREE(res->curBlock); + GS_FREE(res); } /* @@ -14439,6 +14418,7 @@ static void dumpUserMappings( destroyPQExpBuffer(query); destroyPQExpBuffer(delq); destroyPQExpBuffer(q); + destroyPQExpBuffer(tag); } /* @@ -19652,6 +19632,7 @@ static void dumpRlsPolicy(Archive* fout, RlsPolicyInfo* policyinfo) NULL); destroyPQExpBuffer(query); destroyPQExpBuffer(tag); + destroyPQExpBuffer(delcmd); return; } diff --git a/src/bin/pg_dump/pg_dump.h b/src/bin/pg_dump/pg_dump.h index 449415679..8461727da 100644 --- a/src/bin/pg_dump/pg_dump.h +++ b/src/bin/pg_dump/pg_dump.h @@ -87,7 +87,7 @@ typedef enum { DO_BLOB_DATA, DO_PRE_DATA_BOUNDARY, DO_POST_DATA_BOUNDARY, - DO_FTBL_CONSTRAINT, /* dump informational constraint info of the HDFS foreign table */ + DO_FTBL_CONSTRAINT, /* dump informational constraint info of the HDFS foreign table, also used for MOT table */ DO_RLSPOLICY /* dump row level security policy of table */ } DumpableObjectType; diff --git a/src/bin/pg_dump/pg_dump_sort.cpp b/src/bin/pg_dump/pg_dump_sort.cpp index 014ab6d4f..55c4e435c 100644 --- a/src/bin/pg_dump/pg_dump_sort.cpp +++ b/src/bin/pg_dump/pg_dump_sort.cpp @@ -116,7 +116,8 @@ static const int newObjectTypePriority[] = { 24, /* DO_BLOB_DATA */ 22, /* DO_PRE_DATA_BOUNDARY */ 25, /* DO_POST_DATA_BOUNDARY */ - 31 /* DO_FTBL_CONSTRAINT */ + 31, /* DO_FTBL_CONSTRAINT */ + 33 /* DO_RLSPOLICY */ }; static DumpId postDataBoundId; diff --git a/src/bin/pg_dump/pg_restore.cpp b/src/bin/pg_dump/pg_restore.cpp index 451370698..a87d8c2ef 100644 --- a/src/bin/pg_dump/pg_restore.cpp +++ b/src/bin/pg_dump/pg_restore.cpp @@ -230,13 +230,13 @@ int main(int argc, char** argv) } /* Make sure the input file exists */ - FILE* fd = fopen(inputFileSpec, PG_BINARY_R); - if (NULL == fd) { + FILE* fp = fopen(inputFileSpec, PG_BINARY_R); + if (NULL == fp) { (void)fprintf(stderr, "%s: %s\n", inputFileSpec, strerror(errno)); exit_nicely(1); } - (void)fclose(fd); - fd = NULL; + (void)fclose(fp); + fp = NULL; /* validate the restore options before start the actual operation */ validate_restore_options(argv, opts); @@ -340,6 +340,10 @@ int main(int argc, char** argv) CloseArchive(AH); GS_FREE(opts->superuser); + if (decrypt_key != NULL) { + rc = memset_s(decrypt_key, strlen(decrypt_key), '\0', strlen(decrypt_key)); + securec_check_c(rc, "\0", "\0"); + } GS_FREE(decrypt_key); /*free the memory allocated for gs_restore options */ diff --git a/src/bin/pg_probackup/Makefile b/src/bin/pg_probackup/Makefile old mode 100644 new mode 100755 diff --git a/src/bin/pg_probackup/backup.cpp b/src/bin/pg_probackup/backup.cpp index a93a0222d..9a15ddd20 100644 --- a/src/bin/pg_probackup/backup.cpp +++ b/src/bin/pg_probackup/backup.cpp @@ -39,8 +39,6 @@ static uint32 stream_stop_timeout = 0; /* Time in which we started to wait for streaming end */ static time_t stream_stop_begin = 0; -static const uint32 archive_timeout_deno = 5; - //const char *progname = "pg_probackup"; /* list of files contained in backup */ @@ -65,7 +63,6 @@ typedef struct XLogRecPtr startpos; TimeLineID starttli; - bool renamepartial; } StreamThreadArg; static pthread_t stream_thread; @@ -89,7 +86,6 @@ static void do_backup_instance(PGconn *backup_conn, PGNodeInfo *nodeInfo, bool n static void pg_start_backup(const char *label, bool smooth, pgBackup *backup, PGNodeInfo *nodeInfo, PGconn *conn); -static void pg_switch_wal(PGconn *conn); static void pg_stop_backup(pgBackup *backup, PGconn *pg_startbackup_conn, PGNodeInfo *nodeInfo); static int checkpoint_timeout(PGconn *backup_conn); @@ -108,9 +104,7 @@ static parray *get_database_map(PGconn *pg_startbackup_conn); static bool pgpro_support(PGconn *conn); /* Check functions */ -static bool pg_checksum_enable(PGconn *conn); static bool pg_is_in_recovery(PGconn *conn); -static bool pg_is_superuser(PGconn *conn); static void confirm_block_size(PGconn *conn, const char *name, int blcksz); static void set_cfs_datafiles(parray *files, const char *root, char *relative, size_t i); static bool PathContainPath(const char* path1, const char* path2); @@ -134,7 +128,6 @@ static void run_backup_threads(char *external_prefix, char *database_path, PGNodeInfo *nodeInfo, XLogRecPtr prev_backup_start_lsn) { int i; - unsigned long int file_index; int nRet = 0; pthread_t *threads; bool backup_isok = true; @@ -142,9 +135,9 @@ static void run_backup_threads(char *external_prefix, char *database_path, char pretty_time[20]; backup_files_arg *threads_args; - for (file_index = 0; file_index < parray_num(backup_files_list); file_index++) + for (i = 0; i < (int)parray_num(backup_files_list); i++) { - pgFile *file = (pgFile *) parray_get(backup_files_list, file_index); + pgFile *file = (pgFile *) parray_get(backup_files_list, i); /* if the entry was a directory, create it in the backup */ if (S_ISDIR(file->mode)) @@ -275,12 +268,6 @@ static void start_stream_wal(const char *database_path, PGconn *backup_conn) stream_thread_arg.starttli = current.tli; thread_interrupted = false; - - if (current.from_replica) { - stream_thread_arg.renamepartial = true; - } else { - stream_thread_arg.renamepartial = false; - } pthread_create(&stream_thread, NULL, StreamLog, &stream_thread_arg); } @@ -342,16 +329,16 @@ static void get_prev_backup_info(parray **backup_list, pgBackup **prev_back, par "Please upgrade gs_probackup binary.", PROGRAM_VERSION, base36enc(prev_backup->start_time), prev_backup->program_version); - elog(INFO, "Parent backup: %s", base36enc(prev_backup->start_time)); + elog(INFO, "Parent backup: %s", base36enc(prev_backup->start_time)); - /* Files of previous backup needed by DELTA backup */ - *prev_backup_filelist = get_backup_filelist(prev_backup, true); + /* Files of previous backup needed by DELTA backup */ + *prev_backup_filelist = get_backup_filelist(prev_backup, true); - /* If lsn is not NULL, only pages with higher lsn will be copied. */ - *prev_backup_start_lsn = prev_backup->start_lsn; - current.parent_backup = prev_backup->start_time; + /* If lsn is not NULL, only pages with higher lsn will be copied. */ + *prev_backup_start_lsn = prev_backup->start_lsn; + current.parent_backup = prev_backup->start_time; - write_backup(¤t, true); + write_backup(¤t, true); } /* For incremental backup check that start_lsn is not from the past @@ -382,7 +369,7 @@ static void calc_pgdata_bytes() "gs_probackup do not possess sufficient permissions to list PGDATA content"); /* Calculate pgdata_bytes */ - for (i = 0; i < parray_num(backup_files_list); i++) + for (i = 0; i < (int)parray_num(backup_files_list); i++) { pgFile *file = (pgFile *) parray_get(backup_files_list, i); @@ -416,7 +403,7 @@ static void add_xlog_files_into_backup_list(const char *database_path) FIO_BACKUP_HOST); /* TODO: Drop streamed WAL segments greater than stop_lsn */ - for (i = 0; i < parray_num(xlog_files_list); i++) + for (i = 0; i < (int)parray_num(xlog_files_list); i++) { pgFile *file = (pgFile *) parray_get(xlog_files_list, i); @@ -455,27 +442,6 @@ static void sync_files(parray *database_map, const char *database_path, parray * { time_t start_time, end_time; char pretty_time[20]; - - /* In case of backup from replica >= 9.6 we must fix minRecPoint, - * First we must find pg_control in backup_files_list. - */ - if (current.from_replica && !exclusive_backup) - { - pgFile *pg_control = NULL; - for (int i = 0; i < parray_num(backup_files_list); i++) - { - pgFile *tmp_file = (pgFile *)parray_get(backup_files_list, (size_t)i); - if (tmp_file->external_dir_num == 0 && - (strcmp(tmp_file->rel_path, XLOG_CONTROL_FILE) == 0)) - { - pg_control = tmp_file; - break; - } - } - if (!pg_control) - elog(ERROR, "Failed to find file \"%s\" in backup filelist.", XLOG_CONTROL_FILE); - set_min_recovery_point(pg_control, database_path, current.stop_lsn); - } /* close and sync page header map */ if (current.hdr_map.fp) @@ -518,7 +484,7 @@ static void sync_files(parray *database_map, const char *database_path, parray * elog(INFO, "Syncing backup files to disk"); time(&start_time); - for (int i = 0; i < parray_num(backup_files_list); i++) + for (int i = 0; i < (int)parray_num(backup_files_list); i++) { char to_fullpath[MAXPGPATH]; pgFile *file = (pgFile *) parray_get(backup_files_list, i); @@ -575,7 +541,6 @@ do_backup_instance(PGconn *backup_conn, PGNodeInfo *nodeInfo, bool no_sync, bool /* for fancy reporting */ time_t start_time, end_time; - int nRet = 0; elog(LOG, "Database backup start"); if(current.external_dir_str) @@ -642,7 +607,7 @@ do_backup_instance(PGconn *backup_conn, PGNodeInfo *nodeInfo, bool no_sync, bool */ if (external_dirs) { - for (i = 0; i < parray_num(external_dirs); i++) + for (i = 0; i < (int)parray_num(external_dirs); i++) { /* External dirs numeration starts with 1. * 0 value is not external dir */ @@ -770,6 +735,7 @@ PGconn * pgdata_basic_setup(const ConnectionOptions conn_opt, PGNodeInfo *nodeInfo) { PGconn *cur_conn; + bool from_replica; errno_t rc = 0; /* Create connection for PostgreSQL */ @@ -777,6 +743,11 @@ pgdata_basic_setup(const ConnectionOptions conn_opt, PGNodeInfo *nodeInfo) conn_opt.pgdatabase, conn_opt.pguser); + from_replica = pg_is_in_recovery(cur_conn); + if (from_replica) { + elog(ERROR, "gs_probackup is not supported on standby\n"); + } + /* Confirm data block size and xlog block size are compatible */ confirm_block_size(cur_conn, "block_size", BLCKSZ); confirm_block_size(cur_conn, "wal_block_size", XLOG_BLCKSZ); @@ -784,12 +755,10 @@ pgdata_basic_setup(const ConnectionOptions conn_opt, PGNodeInfo *nodeInfo) nodeInfo->wal_block_size = XLOG_BLCKSZ; nodeInfo->pgpro_support = pgpro_support(cur_conn); - current.from_replica = pg_is_in_recovery(cur_conn); + nodeInfo->server_version = PQserverVersion(conn); - if (!current.from_replica) { - exclusive_backup = true; - } + exclusive_backup = true; current.checksum_version = 0; @@ -849,7 +818,6 @@ do_backup(time_t start_time, pgSetBackupParams *set_backup_params, { PGconn *backup_conn = NULL; PGNodeInfo nodeInfo; - char pretty_bytes[20]; errno_t rc = 0; /* Initialize PGInfonode */ @@ -900,10 +868,6 @@ do_backup(time_t start_time, pgSetBackupParams *set_backup_params, */ backup_conn = pgdata_basic_setup(instance_config.conn_opt, &nodeInfo); - if (current.from_replica) { - elog(INFO, "Backup %s is going to be taken from standby", base36enc((unsigned long int)start_time)); - } - /* * Ensure that backup directory was initialized for the same PostgreSQL * instance we opened connection to. And that target backup database PGDATA @@ -1070,27 +1034,6 @@ pg_start_backup(const char *label, bool smooth, pgBackup *backup, PQclear(res); } -/* - * Switch to a new WAL segment. It should be called only for master. - * For PG 9.5 it should be called only if pguser is superuser. - */ -static void -pg_switch_wal(PGconn *conn) -{ - PGresult *res; - - /* Remove annoying NOTICE messages generated by backend */ - res = pgut_execute(conn, "SET client_min_messages = warning;", 0, NULL); - PQclear(res); - -#if PG_VERSION_NUM >= 100000 - res = pgut_execute(conn, "SELECT pg_catalog.pg_switch_wal()", 0, NULL); -#else - res = pgut_execute(conn, "SELECT pg_catalog.pg_switch_xlog()", 0, NULL); -#endif - - PQclear(res); -} /* * Check if the instance is PostgresPro fork. @@ -1180,22 +1123,6 @@ get_database_map(PGconn *conn) return database_map; } -/* Check if ptrack is enabled in target instance */ -static bool -pg_checksum_enable(PGconn *conn) -{ - PGresult *res_db; - - res_db = pgut_execute(conn, "SHOW data_checksums", 0, NULL); - - if (strcmp(PQgetvalue(res_db, 0, 0), "on") == 0) - { - PQclear(res_db); - return true; - } - PQclear(res_db); - return false; -} /* Check if target instance is replica */ static bool @@ -1215,23 +1142,6 @@ pg_is_in_recovery(PGconn *conn) } -/* Check if current PostgreSQL role is superuser */ -static bool -pg_is_superuser(PGconn *conn) -{ - PGresult *res; - - res = pgut_execute(conn, "SELECT pg_catalog.current_setting('is_superuser')", 0, NULL); - - if (strcmp(PQgetvalue(res, 0, 0), "on") == 0) - { - PQclear(res); - return true; - } - PQclear(res); - return false; -} - bool inform_user_wal_seg_absent(bool is_start_lsn, uint32 *try_count, bool segment_only, char *wal_segment_path, const char *wal_delivery_str, XLogRecPtr target_lsn, char *wal_segment, uint32 timeout, @@ -1276,20 +1186,6 @@ bool inform_user_wal_seg_absent(bool is_start_lsn, uint32 *try_count, bool segme return true; } -/* Try to find compressed WAL file */ -void tryToFindCompressedWALFile(bool *file_exists, char *gz_wal_segment_path, char *wal_segment_path) -{ - if (!(*file_exists)) { -#ifdef HAVE_LIBZ - *file_exists = fileExists(gz_wal_segment_path, FIO_BACKUP_HOST); - if (*file_exists) - elog(LOG, "Found compressed WAL segment: %s", wal_segment_path); -#endif - } else { - elog(LOG, "Found WAL segment: %s", wal_segment_path); - } -} - /* * Wait for target LSN or WAL segment, containing target LSN. * @@ -1363,7 +1259,10 @@ wait_wal_lsn(XLogRecPtr target_lsn, bool is_start_lsn, TimeLineID tli, } /* TODO: remove this in 3.0 (it is a cludge against some old bug with archive_timeout) */ - timeout = (instance_config.archive_timeout > 0) ? instance_config.archive_timeout : ARCHIVE_TIMEOUT_DEFAULT; + if (instance_config.archive_timeout > 0) + timeout = instance_config.archive_timeout; + else + timeout = ARCHIVE_TIMEOUT_DEFAULT; if (segment_only) elog(LOG, "Looking for segment: %s", wal_segment); @@ -1383,9 +1282,20 @@ wait_wal_lsn(XLogRecPtr target_lsn, bool is_start_lsn, TimeLineID tli, if (!file_exists) { file_exists = fileExists(wal_segment_path, FIO_BACKUP_HOST); - tryToFindCompressedWALFile(&file_exists, gz_wal_segment_path, wal_segment_path); - } - + + /* Try to find compressed WAL file */ + if (!file_exists) + { +#ifdef HAVE_LIBZ + file_exists = fileExists(gz_wal_segment_path, FIO_BACKUP_HOST); + if (file_exists) + elog(LOG, "Found compressed WAL segment: %s", wal_segment_path); +#endif + } + else + elog(LOG, "Found WAL segment: %s", wal_segment_path); + } + if (file_exists) { /* Do not check for target LSN */ @@ -1403,32 +1313,6 @@ wait_wal_lsn(XLogRecPtr target_lsn, bool is_start_lsn, TimeLineID tli, elog(LOG, "Found LSN: %X/%X", (uint32) (target_lsn >> 32), (uint32) target_lsn); return target_lsn; } - - /* - * If we failed to get target LSN in a reasonable time, try - * to get LSN of last valid record prior to the target LSN. But only - * in case of a backup from a replica. - * Note, that with NullXRecOff target_lsn we do not wait - * for 'timeout / 5' seconds before going for previous record, - * because such LSN cannot be delivered at all. - * - * There are two cases for this: - * 1. Replica returned readpoint LSN which just do not exists. We want to look - * for previous record in the same(!) WAL segment which endpoint points to this LSN. - * 2. Replica returened endpoint LSN with NullXRecOff. We want to look - * for previous record which endpoint points greater or equal LSN in previous WAL segment. - */ - if (current.from_replica && - (XRecOffIsNull(target_lsn) || try_count > timeout / archive_timeout_deno)) { - XLogRecPtr res = get_prior_record_lsn(wal_segment_dir, current.start_lsn, target_lsn, tli, - in_prev_segment, instance_config.xlog_seg_size); - if (!XLogRecPtrIsInvalid(res)) { - /* LSN of the prior record was found */ - elog(LOG, "Found prior LSN: %X/%X", - (uint32) (res >> 32), (uint32) res); - return res; - } - } } sleep(1); @@ -1508,11 +1392,9 @@ static void get_valid_stop_lsn(pgBackup *backup, bool *stop_lsn_exists, XLogRecP !XRecOffIsValid(lsn_tmp) || lsn_tmp < stop_backup_lsn_tmp) { - /* Backup from master should error out here */ - if (!backup->from_replica) - elog(ERROR, "Failed to get next WAL record after %X/%X", - (uint32)(stop_backup_lsn_tmp >> 32), - (uint32)(stop_backup_lsn_tmp)); + elog(ERROR, "Failed to get next WAL record after %X/%X", + (uint32) (stop_backup_lsn_tmp >> 32), + (uint32) (stop_backup_lsn_tmp)); /* No luck, falling back to looking up for previous record */ elog(WARNING, "Failed to get next WAL record after %X/%X, " @@ -1606,7 +1488,7 @@ static void wait_stop_result(PGresult **res, PGconn *conn) * If postgres haven't answered in archive_timeout seconds, * send an interrupt. */ - if (pg_stop_backup_timeout > instance_config.archive_timeout) + if (pg_stop_backup_timeout > (int)instance_config.archive_timeout) { pgut_cancel(conn); elog(ERROR, "pg_stop_backup doesn't answer in %d seconds, cancel it", @@ -1716,13 +1598,13 @@ void write_table_label_and_tablespace_map(pgBackup *backup, PGresult *res, } -void pg_stop_backup_sent(PGconn *conn, const char **stop_backup_query) +void PgStopBackupSent(PGconn *connection, const char **stopBackupQuery) { if (!pg_stop_backup_is_sent) { bool sent = false; if (!exclusive_backup) { - *stop_backup_query = "SELECT" + *stopBackupQuery = "SELECT" " pg_catalog.txid_snapshot_xmax(pg_catalog.txid_current_snapshot())," " current_timestamp(0)::timestamptz," " lsn," @@ -1730,13 +1612,13 @@ void pg_stop_backup_sent(PGconn *conn, const char **stop_backup_query) " spcmapfile" " FROM pg_catalog.pg_stop_backup(false)"; } else { - *stop_backup_query = "SELECT" + *stopBackupQuery = "SELECT" " pg_catalog.txid_snapshot_xmax(pg_catalog.txid_current_snapshot())," " current_timestamp(0)::timestamptz," " pg_catalog.pg_stop_backup() as lsn"; } - sent = pgut_send(conn, *stop_backup_query, 0, NULL, WARNING); + sent = pgut_send(connection, *stopBackupQuery, 0, NULL, WARNING); pg_stop_backup_is_sent = true; if (!sent) { elog(ERROR, "Failed to send pg_stop_backup query"); @@ -1760,12 +1642,6 @@ pg_stop_backup(pgBackup *backup, PGconn *pg_startbackup_conn, uint32 lsn_lo; //XLogRecPtr restore_lsn = InvalidXLogRecPtr; - char path[MAXPGPATH]; - char backup_label[MAXPGPATH]; - FILE *fp; - pgFile *file; - size_t len; - char *val = NULL; const char *stop_backup_query = NULL; bool stop_lsn_exists = false; XLogRecPtr stop_backup_lsn_tmp = InvalidXLogRecPtr; @@ -1790,10 +1666,8 @@ pg_stop_backup(pgBackup *backup, PGconn *pg_startbackup_conn, res = pgut_execute(conn, "SET datestyle = 'ISO, DMY';", 0, NULL); PQclear(res); - /* Create restore point - * Only if backup is from master. - */ - if (backup != nullptr && !backup->from_replica) + /* Create restore point */ + if (backup != NULL) { create_restore_point(backup, conn); } @@ -1811,8 +1685,23 @@ pg_stop_backup(pgBackup *backup, PGconn *pg_startbackup_conn, * postgres archive_command problem and in this case we will * wait for pg_stop_backup() forever. */ - pg_stop_backup_sent(conn, &stop_backup_query); - + PgStopBackupSent(conn, &stop_backup_query); + + if (!pg_stop_backup_is_sent) + { + bool sent = false; + + stop_backup_query = "SELECT" + " pg_catalog.txid_snapshot_xmax(pg_catalog.txid_current_snapshot())," + " current_timestamp(0)::timestamptz," + " pg_catalog.pg_stop_backup() as lsn"; + + sent = pgut_send(conn, stop_backup_query, 0, NULL, WARNING); + pg_stop_backup_is_sent = true; + if (!sent) + elog(ERROR, "Failed to send pg_stop_backup query"); + } + /* After we have sent pg_stop_backup, we don't need this callback anymore */ pgut_atexit_pop(backup_stopbackup_callback, pg_startbackup_conn); @@ -1820,19 +1709,14 @@ pg_stop_backup(pgBackup *backup, PGconn *pg_startbackup_conn, * Wait for the result of pg_stop_backup(), but no longer than * archive_timeout seconds */ - if (pg_stop_backup_is_sent && !in_cleanup) - { - res = NULL; + res = NULL; + wait_stop_result(&res, conn); - wait_stop_result(&res, conn); - - /* Check successfull execution of pg_stop_backup() */ - if (!res) - elog(ERROR, "pg_stop backup() failed"); - else - { - switch (PQresultStatus(res)) - { + /* Check successfull execution of pg_stop_backup() */ + if (!res) { + elog(ERROR, "pg_stop backup() failed"); + } else { + switch (PQresultStatus(res)) { /* * We should expect only PGRES_TUPLES_OK since pg_stop_backup * returns tuples. @@ -1841,13 +1725,13 @@ pg_stop_backup(pgBackup *backup, PGconn *pg_startbackup_conn, break; default: elog(ERROR, "query failed: %s query was: %s", - PQerrorMessage(conn), stop_backup_query); - } - elog(INFO, "pg_stop backup() successfully executed"); + PQerrorMessage(conn), stop_backup_query); } + elog(INFO, "pg_stop backup() successfully executed"); + } + backup_in_progress = false; - backup_in_progress = false; - + if (pg_stop_backup_is_sent && !in_cleanup) { /* Extract timeline and LSN from results of pg_stop_backup() */ XLogDataFromLSN(ret, PQgetvalue(res, 0, 2), &lsn_hi, &lsn_lo); securec_check_for_sscanf_s(ret, 2, "\0", "\0"); @@ -1871,8 +1755,8 @@ pg_stop_backup(pgBackup *backup, PGconn *pg_startbackup_conn, if (tablespace_map_content) PQclear(tablespace_map_content); - PQclear(res); } + PQclear(res); /* Fill in fields if that is the correct end of backup. */ if (backup != NULL) @@ -1885,13 +1769,9 @@ pg_stop_backup(pgBackup *backup, PGconn *pg_startbackup_conn, * If replica returned valid STOP_LSN of not actually existing record, * look for previous record with endpoint >= STOP_LSN. */ - if (!stop_lsn_exists) { - if (backup->from_replica) { - stop_backup_lsn = stop_backup_lsn_tmp; - } + if (!stop_lsn_exists) stop_backup_lsn = wait_wal_lsn(stop_backup_lsn_tmp, false, backup->tli, false, false, ERROR, stream_wal); - } if (stream_wal) { @@ -2188,14 +2068,16 @@ parse_filelist_filenames(parray *files, const char *root) while (unlogged_file_num >= 0 && (unlogged_file_reloid != 0) && - (unlogged_file->relOid == unlogged_file_reloid)) { + (unlogged_file->relOid == unlogged_file_reloid)) + { pgFileFree(unlogged_file); parray_remove(files, unlogged_file_num); unlogged_file_num--; i--; - unlogged_file = (pgFile *) parray_get(files, unlogged_file_num); + unlogged_file = (pgFile *) parray_get(files, + unlogged_file_num); } } } @@ -2338,7 +2220,8 @@ stop_streaming(XLogRecPtr xlogpos, uint32 timeline, bool segment_finished) if (!XLogRecPtrIsInvalid(stop_backup_lsn)) { - if (xlogpos >= stop_backup_lsn) { + if (xlogpos >= stop_backup_lsn) + { stop_stream_lsn = xlogpos; return true; } @@ -2371,7 +2254,6 @@ static void * StreamLog(void *arg) { StreamThreadArg *stream_arg = (StreamThreadArg *) arg; - errno_t rc = 0; /* * Always start streaming at the beginning of a segment @@ -2442,12 +2324,12 @@ StreamLog(void *arg) #else if(ReceiveXlogStream(stream_arg->conn, stream_arg->startpos, stream_arg->starttli, NULL, (const char *) stream_arg->basedir, stop_streaming, - standby_message_timeout_local, stream_arg->renamepartial) == false) + standby_message_timeout_local, false) == false) elog(ERROR, "Problem in receivexlog"); #endif elog(LOG, "finished streaming WAL at %X/%X (timeline %u)", - (uint32) (stop_stream_lsn >> 32), (uint32) stop_stream_lsn, stream_arg->starttli); + (uint32) (stop_stream_lsn >> 32), (uint32) stop_stream_lsn, stream_arg->starttli); stream_arg->ret = 0; PQfinish(stream_arg->conn); @@ -2481,7 +2363,7 @@ check_external_for_tablespaces(parray *external_list, PGconn *backup_conn) canonicalize_path(tablespace_path); - for (j = 0; j < parray_num(external_list); j++) + for (j = 0; j < (int)parray_num(external_list); j++) { char *external_path = (char *)parray_get(external_list, j); @@ -2501,11 +2383,12 @@ check_external_for_tablespaces(parray *external_list, PGconn *backup_conn) if (parray_num(external_list) < 2) return; - for (i = 0; i < parray_num(external_list); i++) + for (i = 0; i < (int)parray_num(external_list); i++) { char *external_path = (char *)parray_get(external_list, i); - for (j = 0; j < parray_num(external_list); j++) { + for (j = 0; j < (int)parray_num(external_list); j++) + { char *tmp_external_path = (char *)parray_get(external_list, j); /* skip yourself */ diff --git a/src/bin/pg_probackup/catalog.cpp b/src/bin/pg_probackup/catalog.cpp index 76f9596bd..89a3fcbfb 100644 --- a/src/bin/pg_probackup/catalog.cpp +++ b/src/bin/pg_probackup/catalog.cpp @@ -73,7 +73,7 @@ unlink_lock_atexit(void) if (lock_files == NULL) return; - for (i = 0; i < parray_num(lock_files); i++) + for (i = 0; i < (int)parray_num(lock_files); i++) { char *lock_file = (char *) parray_get(lock_files, i); int res; @@ -136,7 +136,7 @@ write_backup_status(pgBackup *backup, BackupStatus status, bool fill_file(char *buffer, char *lock_file, int fd, bool strict) { errno = 0; - if (fio_write(fd, buffer, strlen(buffer)) != strlen(buffer)) + if (fio_write(fd, buffer, strlen(buffer)) != (int)strlen(buffer)) { int save_errno = errno; @@ -529,7 +529,7 @@ catalog_get_backup_list(const char *instance_name, time_t requested_backup_id) parray_qsort(backups, pgBackupCompareIdDesc); /* Link incremental backups with their ancestors.*/ - for (i = 0; i < parray_num(backups); i++) + for (i = 0; i < (int)parray_num(backups); i++) { pgBackup *curr = (pgBackup *)parray_get(backups, i); pgBackup **ancestor; @@ -552,7 +552,7 @@ err_proc: fio_closedir(data_dir); if (backups) parray_walk(backups, pgBackupFree); - parray_free(backups); + parray_free(backups); elog(ERROR, "Failed to get backup list"); @@ -618,7 +618,7 @@ catalog_get_last_data_backup(parray *backup_list, TimeLineID tli, time_t current char *invalid_backup_id; /* backup_list is sorted in order of descending ID */ - for (i = 0; i < parray_num(backup_list); i++) + for (i = 0; i < (int)parray_num(backup_list); i++) { pgBackup *backup = (pgBackup *) parray_get(backup_list, i); @@ -639,7 +639,7 @@ catalog_get_last_data_backup(parray *backup_list, TimeLineID tli, time_t current base36enc(full_backup->start_time)); /* FULL backup is found, lets find his latest child */ - for (i = 0; i < parray_num(backup_list); i++) + for (i = 0; i < (int)parray_num(backup_list); i++) { pgBackup *backup = (pgBackup *) parray_get(backup_list, i); @@ -695,7 +695,7 @@ void get_ancestor_backup(timelineInfo *tmp_tlinfo, pgBackup **ancestor_backup) { if (tmp_tlinfo->parent_link->backups) { - for (int i = 0; i < parray_num(tmp_tlinfo->parent_link->backups); i++) + for (int i = 0; i < (int)parray_num(tmp_tlinfo->parent_link->backups); i++) { pgBackup *backup = (pgBackup *) parray_get(tmp_tlinfo->parent_link->backups, i); @@ -730,7 +730,7 @@ get_multi_timeline_parent(parray *backup_list, parray *tli_list, return NULL; /* look for current timelineInfo */ - for (i = 0; i < parray_num(tli_list); i++) + for (i = 0; i < (int)parray_num(tli_list); i++) { timelineInfo *tlinfo = (timelineInfo *) parray_get(tli_list, i); @@ -796,7 +796,7 @@ get_multi_timeline_parent(parray *backup_list, parray *tli_list, if (my_tlinfo->backups) { /* backups are sorted in descending order and we need latest valid */ - for (i = 0; i < parray_num(my_tlinfo->backups); i++) + for (i = 0; i < (int)parray_num(my_tlinfo->backups); i++) { pgBackup *tmp_backup = NULL; pgBackup *backup = (pgBackup *) parray_get(my_tlinfo->backups, i); @@ -816,7 +816,7 @@ get_multi_timeline_parent(parray *backup_list, parray *tli_list, /* if timeline has backups, iterate over them */ if (tmp_tlinfo->parent_link->backups) { - for (i = 0; i < parray_num(tmp_tlinfo->parent_link->backups); i++) + for (i = 0; i < (int)parray_num(tmp_tlinfo->parent_link->backups); i++) { pgBackup *tmp_backup = NULL; pgBackup *backup = (pgBackup *) parray_get(tmp_tlinfo->parent_link->backups, i); @@ -856,7 +856,7 @@ pgBackupCreateDir(pgBackup *backup) external_list = make_external_directory_list(backup->external_dir_str, false); - for (i = 0; i < parray_num(external_list); i++) + for (i = 0; i < (int)parray_num(external_list); i++) { char temp[MAXPGPATH]; /* Numeration of externaldirs starts with 1 */ @@ -881,7 +881,7 @@ pgBackupCreateDir(pgBackup *backup) init_header_map(backup); /* create directories for actual backup files */ - for (i = 0; i < parray_num(subdirs); i++) + for (i = 0; i < (int)parray_num(subdirs); i++) { join_path_components(path, backup->root_dir, (const char *)parray_get(subdirs, i)); fio_mkdir(path, DIR_PERMISSION, FIO_BACKUP_HOST); @@ -902,10 +902,10 @@ void save_backupinfo_belong_timelines(InstanceConfig *instance, parray *timeline backups = catalog_get_backup_list(instance->name, INVALID_BACKUP_ID); - for (i = 0; i < parray_num(timelineinfos); i++) + for (i = 0; i < (int)parray_num(timelineinfos); i++) { timelineInfo *tlinfo = (timelineInfo *)parray_get(timelineinfos, i); - for (j = 0; j < parray_num(backups); j++) + for (j = 0; j < (int)parray_num(backups); j++) { pgBackup *backup = (pgBackup *)parray_get(backups, j); if (tlinfo->tli == backup->tli) @@ -919,7 +919,7 @@ void save_backupinfo_belong_timelines(InstanceConfig *instance, parray *timeline } /* determine oldest backup and closest backup for every timeline */ - for (i = 0; i < parray_num(timelineinfos); i++) + for (i = 0; i < (int)parray_num(timelineinfos); i++) { timelineInfo *tlinfo = (timelineInfo *)parray_get(timelineinfos, i); @@ -989,7 +989,7 @@ void get_tlinfo(timelineInfo **tl_info, TimeLineID tli, XLogSegNo segno, parray parray * walk_files_collect_timelines(InstanceConfig *instance) { - int i,j; + int i; parray *xlog_files_list = parray_new(); parray *timelineinfos; timelineInfo *tlinfo = nullptr; @@ -1008,11 +1008,10 @@ walk_files_collect_timelines(InstanceConfig *instance) timelineinfos = parray_new(); /* walk through files and collect info about timelines */ - for (i = 0; i < parray_num(xlog_files_list); i++) + for (i = 0; i < (int)parray_num(xlog_files_list); i++) { pgFile *file = (pgFile *) parray_get(xlog_files_list, i); TimeLineID tli; - parray *timelines; xlogFile *wal_file = NULL; /* @@ -1193,7 +1192,7 @@ walk_files_collect_timelines(InstanceConfig *instance) void get_anchor_backup(timelineInfo *tlinfo, int *count, InstanceConfig *instance) { - for (int j = 0; j < parray_num(tlinfo->backups); j++) + for (int j = 0; j < (int)parray_num(tlinfo->backups); j++) { pgBackup *backup = (pgBackup *)parray_get(tlinfo->backups, j); @@ -1220,9 +1219,9 @@ void get_anchor_backup(timelineInfo *tlinfo, int *count, InstanceConfig *instanc continue; } - *count++; + (*count)++; - if (*count == instance->wal_depth) + if (*count == (int)instance->wal_depth) { elog(LOG, "On timeline %i WAL is protected from purge at %X/%X", tlinfo->tli, @@ -1242,7 +1241,6 @@ void get_anchor_backup(timelineInfo *tlinfo, int *count, InstanceConfig *instanc void anchor_lsn_keep_segments_timelines(InstanceConfig *instance, parray *timelineinfos) { int i,j; - timelineInfo *tlinfo; /* for fancy reporting */ char begin_segno_str[MAXFNAMELEN]; @@ -1308,7 +1306,7 @@ void anchor_lsn_keep_segments_timelines(InstanceConfig *instance, parray *timeli */ /* determine anchor_lsn and keep_segments for every timeline */ - for (i = 0; i < parray_num(timelineinfos); i++) + for (i = 0; i < (int)parray_num(timelineinfos); i++) { int count = 0; timelineInfo *tlinfo = (timelineInfo *)parray_get(timelineinfos, i); @@ -1444,7 +1442,7 @@ void anchor_lsn_keep_segments_timelines(InstanceConfig *instance, parray *timeli } /* Iterate over backups left */ - for (j = count; tlinfo->backups && (j < parray_num(tlinfo->backups)); j++) + for (j = count; tlinfo->backups && (j < (int)parray_num(tlinfo->backups)); j++) { XLogSegNo segno = 0; xlogInterval *interval = NULL; @@ -1474,14 +1472,7 @@ void anchor_lsn_keep_segments_timelines(InstanceConfig *instance, parray *timeli interval->begin_segno = segno; GetXLogSegNo(backup->stop_lsn, segno, instance->xlog_seg_size); - /* - * On replica it is possible to get STOP_LSN pointing to contrecord, - * so set end_segno to the next segment after STOP_LSN just to be safe. - */ - if (backup->from_replica) - interval->end_segno = segno + 1; - else - interval->end_segno = segno; + interval->end_segno = segno; GetXLogFileName(begin_segno_str, tlinfo->tli, interval->begin_segno, instance->xlog_seg_size); GetXLogFileName(end_segno_str, tlinfo->tli, interval->end_segno, instance->xlog_seg_size); @@ -1514,7 +1505,7 @@ void protect_wal_segments(InstanceConfig *instance, parray *timelineinfos) * We must keep all WAL segments after anchor_lsn (including), and also segments * required by ARCHIVE backups for consistency - WAL between [start_lsn, stop_lsn]. */ - for (i = 0; i < parray_num(timelineinfos); i++) + for (i = 0; i < (int)parray_num(timelineinfos); i++) { XLogSegNo anchor_segno = 0; timelineInfo *tlinfo = (timelineInfo *)parray_get(timelineinfos, i); @@ -1535,7 +1526,7 @@ void protect_wal_segments(InstanceConfig *instance, parray *timelineinfos) GetXLogSegNo(tlinfo->anchor_lsn, anchor_segno, instance->xlog_seg_size); - for (j = 0; j < parray_num(tlinfo->xlog_filelist); j++) + for (j = 0; j < (int)parray_num(tlinfo->xlog_filelist); j++) { xlogFile *wal_file = (xlogFile *) parray_get(tlinfo->xlog_filelist, j); @@ -1550,7 +1541,7 @@ void protect_wal_segments(InstanceConfig *instance, parray *timelineinfos) continue; /* Protect segments belonging to one of the keep invervals */ - for (k = 0; k < parray_num(tlinfo->keep_segments); k++) + for (k = 0; k < (int)parray_num(tlinfo->keep_segments); k++) { xlogInterval *keep_segments = (xlogInterval *) parray_get(tlinfo->keep_segments, k); @@ -1616,7 +1607,7 @@ get_closest_backup(timelineInfo *tlinfo) parray *backup_list = tlinfo->parent_link->backups; if (backup_list != NULL) { - for (i = 0; i < parray_num(backup_list); i++) + for (i = 0; i < (int)parray_num(backup_list); i++) { pgBackup *backup = (pgBackup *)parray_get(backup_list, i); @@ -1661,7 +1652,7 @@ get_oldest_backup(timelineInfo *tlinfo) if (backup_list != NULL) { - for (i = 0; i < parray_num(backup_list); i++) + for (i = 0; i < (int)parray_num(backup_list); i++) { pgBackup *backup = (pgBackup *)parray_get(backup_list, i); @@ -1817,7 +1808,6 @@ pgBackupWriteControl(FILE *out, pgBackup *backup) fio_fprintf(out, "compress-alg = %s\n", deparse_compress_alg(backup->compress_alg)); fio_fprintf(out, "compress-level = %d\n", backup->compress_level); - fio_fprintf(out, "from-replica = %s\n", backup->from_replica ? "true" : "false"); fio_fprintf(out, "\n#Compatibility\n"); fio_fprintf(out, "block-size = %u\n", backup->block_size); @@ -2065,6 +2055,7 @@ write_backup_filelist(pgBackup *backup, parray *files, const char *root, len += nRet; } + if (file->linked) { nRet = snprintf_s(line+len, remainLen - len,remainLen - len - 1,",\"linked\":\"%s\"", file->linked); @@ -2072,6 +2063,7 @@ write_backup_filelist(pgBackup *backup, parray *files, const char *root, len += nRet; } + if (file->n_blocks > 0) { nRet = snprintf_s(line+len,remainLen - len,remainLen - len - 1, ",\"n_blocks\":\"%i\"", file->n_blocks); @@ -2097,7 +2089,6 @@ write_backup_filelist(pgBackup *backup, parray *files, const char *root, nRet = snprintf_s(line+len,remainLen - len,remainLen - len - 1, "}\n"); securec_check_ss_c(nRet, "\0", "\0"); - len += nRet; if (sync) COMP_FILE_CRC32(true, backup->content_crc, line, strlen(line)); @@ -2200,7 +2191,6 @@ readBackupControlFile(const char *path) {'s', 0, "merge-dest-id", &merge_dest_backup, SOURCE_FILE_STRICT}, {'s', 0, "compress-alg", &compress_alg, SOURCE_FILE_STRICT}, {'u', 0, "compress-level", &backup->compress_level, SOURCE_FILE_STRICT}, - {'b', 0, "from-replica", &backup->from_replica, SOURCE_FILE_STRICT}, {'s', 0, "external-dirs", &backup->external_dir_str, SOURCE_FILE_STRICT}, {'s', 0, "note", &backup->note, SOURCE_FILE_STRICT}, {'s', 0, "recovery-name", &recovery_name, SOURCE_FILE_STRICT}, @@ -2434,7 +2424,6 @@ pgBackupInit(pgBackup *backup) backup->checksum_version = 0; backup->stream = false; - backup->from_replica = false; backup->parent_backup = INVALID_BACKUP_ID; backup->merge_dest_backup = INVALID_BACKUP_ID; backup->parent_backup_link = NULL; @@ -2566,7 +2555,7 @@ is_prolific(parray *backup_list, pgBackup *target_backup) int i; int child_counter = 0; - for (i = 0; i < parray_num(backup_list); i++) + for (i = 0; i < (int)parray_num(backup_list); i++) { pgBackup *tmp_backup = (pgBackup *) parray_get(backup_list, i); @@ -2714,7 +2703,7 @@ get_backup_index_number(parray *backup_list, pgBackup *backup) { int i; - for (i = 0; i < parray_num(backup_list); i++) + for (i = 0; i < (int)parray_num(backup_list); i++) { pgBackup *tmp_backup = (pgBackup *) parray_get(backup_list, i); @@ -2731,7 +2720,7 @@ append_children(parray *backup_list, pgBackup *target_backup, parray *append_lis { int i; - for (i = 0; i < parray_num(backup_list); i++) + for (i = 0; i < (int)parray_num(backup_list); i++) { pgBackup *backup = (pgBackup *) parray_get(backup_list, i); @@ -2752,7 +2741,6 @@ append_children(parray *backup_list, pgBackup *target_backup, parray *append_lis * */ char* relpathbackend(RelFileNode rnode, BackendId backend, ForkNumber forknum) { - int pathlen; char* path = NULL; return path; diff --git a/src/bin/pg_probackup/configuration.cpp b/src/bin/pg_probackup/configuration.cpp index 75763ae25..917900391 100644 --- a/src/bin/pg_probackup/configuration.cpp +++ b/src/bin/pg_probackup/configuration.cpp @@ -370,9 +370,10 @@ parse_pair(const char buffer[], char key[], char value[]) /* skip blank buffer */ if (end - start <= 0) { - if (*start == '=') + if (*start == '=') { elog(ERROR, "Syntax error in \"%s\"", buffer); - return false; + } + return false; } /* key found */ diff --git a/src/bin/pg_probackup/data.cpp b/src/bin/pg_probackup/data.cpp index 5b3182668..d05897bd4 100644 --- a/src/bin/pg_probackup/data.cpp +++ b/src/bin/pg_probackup/data.cpp @@ -686,7 +686,7 @@ restore_data_file(parray *parent_chain, pgFile *dest_file, FILE *out, // for (i = parray_num(parent_chain) - 1; i >= 0; i--) // for (i = 0; i < parray_num(parent_chain); i++) - while (backup_seq >= 0 && backup_seq < parray_num(parent_chain)) + while (backup_seq >= 0 && (size_t)backup_seq < parray_num(parent_chain)) { char from_root[MAXPGPATH]; char from_fullpath[MAXPGPATH]; @@ -850,7 +850,9 @@ restore_data_file_internal(FILE *in, FILE *out, pgFile *file, uint32 backup_vers Assert(compressed_size > 0); Assert(compressed_size <= BLCKSZ); - + if (compressed_size > BLCKSZ) { + compressed_size = BLCKSZ; + } read_len = compressed_size + sizeof(BackupPageHeader); } else @@ -924,7 +926,7 @@ restore_data_file_internal(FILE *in, FILE *out, pgFile *file, uint32 backup_vers Assert(compressed_size <= BLCKSZ); /* no point in writing redundant data */ - if (nblocks > 0 && blknum >= nblocks) + if (nblocks > 0 && blknum >= (BlockNumber)nblocks) break; if (compressed_size > BLCKSZ) @@ -958,7 +960,7 @@ restore_data_file_internal(FILE *in, FILE *out, pgFile *file, uint32 backup_vers if (!headers && fseek(in, read_len, SEEK_CUR) != 0) elog(ERROR, "Cannot seek block %u of \"%s\": %s", blknum, from_fullpath, strerror(errno)); - continue; + continue; } if (headers && @@ -1330,7 +1332,7 @@ backup_non_data_file_internal(const char *from_fullpath, if (read_len > 0) { - if (fwrite(buf, 1, read_len, out) != read_len) + if (fwrite(buf, 1, read_len, out) != (size_t)read_len) elog(ERROR, "Cannot write to file \"%s\": %s", to_fullpath, strerror(errno)); @@ -1548,6 +1550,9 @@ validate_file_pages(pgFile *file, const char *fullpath, XLogRecPtr stop_lsn, if (!headers && file->n_headers > 0) { elog(WARNING, "Cannot get page headers for file \"%s\"", fullpath); + if (in != nullptr) { + (void)fclose(in); + } return false; } @@ -1583,7 +1588,9 @@ validate_file_pages(pgFile *file, const char *fullpath, XLogRecPtr stop_lsn, Assert(compressed_size > 0); Assert(compressed_size <= BLCKSZ); - + if (compressed_size > BLCKSZ) { + compressed_size = BLCKSZ; + } read_len = sizeof(BackupPageHeader) + compressed_size; if (cur_pos_in != headers[n_hdr].pos) @@ -1623,7 +1630,9 @@ validate_file_pages(pgFile *file, const char *fullpath, XLogRecPtr stop_lsn, Assert(compressed_size <= BLCKSZ); Assert(compressed_size > 0); - + if (compressed_size > BLCKSZ) { + compressed_size = BLCKSZ; + } if (headers) len = fread(&compressed_page, 1, read_len, in); else @@ -1762,7 +1771,7 @@ get_checksum_map(const char *fullpath, uint32 checksum_version, rc = memset_s(checksum_map, n_blocks * sizeof(PageState),0, n_blocks * sizeof(PageState)); securec_check(rc, "\0", "\0"); - for (blknum = 0; blknum < n_blocks; blknum++) + for (blknum = 0; blknum < (BlockNumber)n_blocks; blknum++) { size_t read_len = fread(read_buffer, 1, BLCKSZ, in); PageState page_st; @@ -1832,7 +1841,7 @@ get_lsn_map(const char *fullpath, uint32 checksum_version, rc = memset_s(lsn_map, sizeof(datapagemap_t),0, sizeof(datapagemap_t)); securec_check(rc, "\0", "\0"); - for (blknum = 0; blknum < n_blocks; blknum++) + for (blknum = 0; blknum < (BlockNumber)n_blocks; blknum++) { size_t read_len = fread(read_buffer, 1, BLCKSZ, in); PageState page_st; @@ -1989,7 +1998,7 @@ send_pages(ConnectionArgs* conn_arg, const char *to_fullpath, const char *from_f setvbuf(in, in_buf, _IOFBF, STDIO_BUFSIZE); } - while (blknum < file->n_blocks) + while (blknum < (BlockNumber)file->n_blocks) { PageState page_st; int rc = prepare_page(conn_arg, file, prev_backup_start_lsn, @@ -2123,7 +2132,7 @@ get_data_file_headers(HeaderMap *hdr_map, pgFile *file, uint32 backup_version, b rc = memset_s(zheaders, file->hdr_size, 0, file->hdr_size); securec_check(rc, "\0", "\0"); - if (fread(zheaders, 1, file->hdr_size, in) != file->hdr_size) + if (fread(zheaders, 1, file->hdr_size, in) != (size_t)file->hdr_size) { elog(strict ? ERROR : WARNING, "Cannot read header file at offset: %li len: %i \"%s\": %s", file->hdr_off, file->hdr_size, hdr_map->path, strerror(errno)); @@ -2252,7 +2261,7 @@ write_page_headers(BackupPageHeader2 *headers, pgFile *file, HeaderMap *hdr_map, - if (fwrite(zheaders, 1, z_len, hdr_map->fp) != z_len) + if (fwrite(zheaders, 1, z_len, hdr_map->fp) != (size_t)z_len) elog(ERROR, "Cannot write to file \"%s\": %s", map_path, strerror(errno)); file->hdr_size = z_len; /* save the length of compressed headers */ diff --git a/src/bin/pg_probackup/delete.cpp b/src/bin/pg_probackup/delete.cpp index d6f3de766..0686e7820 100644 --- a/src/bin/pg_probackup/delete.cpp +++ b/src/bin/pg_probackup/delete.cpp @@ -46,7 +46,7 @@ do_delete(time_t backup_id) delete_list = parray_new(); /* Find backup to be deleted and make increment backups array to be deleted */ - for (i = 0; i < parray_num(backup_list); i++) + for (i = 0; (size_t)i < parray_num(backup_list); i++) { pgBackup *backup = (pgBackup *) parray_get(backup_list, i); @@ -65,7 +65,7 @@ do_delete(time_t backup_id) base36enc((unsigned long)backup_id), dry_run ? "can" : "will"); /* form delete list */ - for (i = 0; i < parray_num(backup_list); i++) + for (i = 0; (size_t)i < parray_num(backup_list); i++) { pgBackup *backup = (pgBackup *) parray_get(backup_list, i); @@ -237,7 +237,7 @@ void evaluate_backups(parray *backup_list, parray *redundancy_full_backup_list, (backup->status == BACKUP_STATUS_OK || backup->status == BACKUP_STATUS_DONE)) { - *cur_full_backup_num++; + *cur_full_backup_num = *cur_full_backup_num + 1; } /* Invalid and running backups most likely to have recovery_time == 0, @@ -290,7 +290,7 @@ void evaluate_backups(parray *backup_list, parray *redundancy_full_backup_list, void get_keep_list(parray *backup_list, parray *to_keep_list, parray *to_purge_list) { - for (int i = 0; i < parray_num(backup_list); i++) + for (size_t i = 0; i < parray_num(backup_list); i++) { pgBackup *backup = (pgBackup *) parray_get(backup_list, i); @@ -330,7 +330,7 @@ void get_keep_list(parray *backup_list, parray *to_keep_list, parray *to_purge_l static void do_retention_internal(parray *backup_list, parray *to_keep_list, parray *to_purge_list) { - int i; + size_t i = 0; parray *redundancy_full_backup_list = NULL; @@ -442,7 +442,7 @@ do_retention_internal(parray *backup_list, parray *to_keep_list, parray *to_purg static void do_retention_merge(parray *backup_list, parray *to_keep_list, parray *to_purge_list) { - int i; + size_t i = 0; int j; /* IMPORTANT: we can merge to only those FULL backup, that is NOT @@ -580,8 +580,8 @@ do_retention_merge(parray *backup_list, parray *to_keep_list, parray *to_purge_l static void do_retention_purge(parray *to_keep_list, parray *to_purge_list) { - int i; - int j; + size_t i = 0; + size_t j = 0; /* Remove backups by retention policy. Retention policy is configured by * retention_redundancy and retention_window @@ -668,7 +668,7 @@ static void do_retention_wal(bool dry_run) { parray *tli_list; - int i; + size_t i = 0; tli_list = catalog_get_timelines(&instance_config); @@ -902,8 +902,7 @@ delete_walfiles_in_tli(XLogRecPtr keep_lsn, timelineInfo *tlinfo, XLogSegNo OldestToKeepSegNo = 0; char first_to_del_str[MAXFNAMELEN]; char oldest_to_keep_str[MAXFNAMELEN]; - int i; - size_t wal_size_logical = 0; + size_t i = 0; size_t wal_size_actual = 0; char wal_pretty_size[20]; bool purge_all = false; @@ -1003,7 +1002,7 @@ int do_delete_instance(void) { parray *backup_list; - int i; + size_t i = 0; char instance_config_path[MAXPGPATH]; @@ -1050,7 +1049,7 @@ do_delete_instance(void) void do_delete_status(InstanceConfig *instance_config, const char *status) { - int i; + size_t i = 0; parray *backup_list, *delete_list; const char *pretty_status; int n_deleted = 0, n_found = 0; diff --git a/src/bin/pg_probackup/dir.cpp b/src/bin/pg_probackup/dir.cpp index 34b572c6f..828b27eeb 100644 --- a/src/bin/pg_probackup/dir.cpp +++ b/src/bin/pg_probackup/dir.cpp @@ -1046,7 +1046,7 @@ void create_data_directories(parray *dest_files, const char *data_dir, const char *backup_dir, bool extract_tablespaces, bool incremental, fio_location location) { - int i; + size_t i = 0; parray *links = NULL; mode_t pg_tablespace_mode = DIR_PERMISSION; char to_path[MAXPGPATH]; @@ -1295,10 +1295,11 @@ check_tablespace_mapping(pgBackup *backup, bool incremental, bool *tblspaces_are if (!dir_is_empty(linked_path, FIO_DB_HOST)) { - if (!incremental) + if (!incremental) { elog(ERROR, "restore tablespace destination is not empty: \"%s\"", linked_path); - *tblspaces_are_empty = false; + } + *tblspaces_are_empty = false; } } @@ -1312,7 +1313,7 @@ check_external_dir_mapping(pgBackup *backup, bool incremental) { TablespaceListCell *cell; parray *external_dirs_to_restore; - int i; + size_t i = 0; elog(LOG, "check external directories of backup %s", base36enc(backup->start_time)); @@ -1793,7 +1794,7 @@ backup_contains_external(const char *dir, parray *dirs_list) void print_database_map(FILE *out, parray *database_map) { - int i; + size_t i = 0; for (i = 0; i < parray_num(database_map); i++) { diff --git a/src/bin/pg_probackup/file.cpp b/src/bin/pg_probackup/file.cpp index e1d61e245..286550a7f 100644 --- a/src/bin/pg_probackup/file.cpp +++ b/src/bin/pg_probackup/file.cpp @@ -326,10 +326,10 @@ DIR* fio_opendir(char const* path, fio_location location) mask = fio_fdset; for (i = 0; (mask & 1) != 0; i++, mask >>= 1); - if (i == FIO_FDMAX) { + if (i == FIO_FDMAX) { elog(ERROR, "Descriptor pool for remote files is exhausted, " "probably too many remote directories are opened"); - } + } hdr.cop = FIO_OPENDIR; hdr.handle = i; hdr.size = strlen(path) + 1; @@ -415,8 +415,8 @@ int fio_open(char const* path, int mode, fio_location location) mask = fio_fdset; for (i = 0; (mask & 1) != 0; i++, mask >>= 1); - if (i == FIO_FDMAX) - elog(ERROR, "Descriptor pool for remote files is exhausted, " + if (i == FIO_FDMAX) + elog(ERROR, "Descriptor pool for remote files is exhausted, " "probably too many remote files are opened"); hdr.cop = FIO_OPEN; @@ -512,6 +512,7 @@ FILE* fio_fopen(char const* path, char const* mode, fio_location location) return f; } +int fio_fprintf(FILE* f, char const* format, ...) __attribute__ ((format (printf, 2, 3))); /* Format output to file stream */ int fio_fprintf(FILE* f, char const* format, ...) { @@ -636,7 +637,7 @@ int fio_pread(FILE* f, void* buf, off_t offs) IO_CHECK(fio_read_all(fio_stdin, &hdr, sizeof(hdr)), sizeof(hdr)); Assert(hdr.cop == FIO_SEND); - if (hdr.size != 0) + if (hdr.size != 0 && hdr.size <= BLCKSZ) IO_CHECK(fio_read_all(fio_stdin, buf, hdr.size), hdr.size); /* TODO: error handling */ @@ -800,6 +801,7 @@ ssize_t fio_read(int fd, void* buf, size_t size) IO_CHECK(fio_read_all(fio_stdin, &hdr, sizeof(hdr)), sizeof(hdr)); Assert(hdr.cop == FIO_SEND); + if (hdr.size > 0 && hdr.size <= size) IO_CHECK(fio_read_all(fio_stdin, buf, hdr.size), hdr.size); return hdr.size; @@ -1208,8 +1210,9 @@ int fio_send_pages(const char *to_fullpath, const char *from_fullpath, pgFile *f if (hdr.cop == FIO_ERROR) { + bool valid = hdr.size > 0 && hdr.size <= sizeof(buf); /* FILE_MISSING, OPEN_FAILED and READ_FAILED */ - if (hdr.size > 0) + if (valid) { IO_CHECK(fio_read_all(fio_stdin, buf, hdr.size), hdr.size); *errormsg = (char *)pgut_malloc(hdr.size); @@ -1222,8 +1225,8 @@ int fio_send_pages(const char *to_fullpath, const char *from_fullpath, pgFile *f else if (hdr.cop == FIO_SEND_FILE_CORRUPTION) { *err_blknum = hdr.arg; - - if (hdr.size > 0) + bool valid = hdr.size > 0 && hdr.size <= sizeof(buf); + if (valid) { IO_CHECK(fio_read_all(fio_stdin, buf, hdr.size), hdr.size); *errormsg = (char *)pgut_malloc(hdr.size); @@ -1252,6 +1255,9 @@ int fio_send_pages(const char *to_fullpath, const char *from_fullpath, pgFile *f blknum = hdr.arg; Assert(hdr.size <= sizeof(buf)); + if (hdr.size > sizeof(buf)) { + hdr.size = sizeof(buf); + } IO_CHECK(fio_read_all(fio_stdin, buf, hdr.size), hdr.size); COMP_FILE_CRC32(true, file->crc, buf, hdr.size); @@ -1383,7 +1389,7 @@ static void fio_send_pages_impl(int out, char* buf) * Optimize stdio buffer usage, fseek only when current position * does not match the position of requested block. */ - if (current_pos != blknum*BLCKSZ) + if (current_pos != (int)(blknum*BLCKSZ)) { current_pos = blknum*BLCKSZ; if (fseek(in, current_pos, SEEK_SET) != 0) @@ -1599,7 +1605,7 @@ int fio_send_file(const char *from_fullpath, const char *to_fullpath, FILE* out, else if (hdr.cop == FIO_ERROR) { /* handle error, reported by the agent */ - if (hdr.size > 0) + if (hdr.size > 0 && hdr.size <= CHUNK_SIZE) { IO_CHECK(fio_read_all(fio_stdin, buf, hdr.size), hdr.size); *errormsg = (char *)pgut_malloc(hdr.size); @@ -1612,6 +1618,9 @@ int fio_send_file(const char *from_fullpath, const char *to_fullpath, FILE* out, else if (hdr.cop == FIO_PAGE) { Assert(hdr.size <= CHUNK_SIZE); + if (hdr.size > CHUNK_SIZE) { + hdr.size = CHUNK_SIZE; + } IO_CHECK(fio_read_all(fio_stdin, buf, hdr.size), hdr.size); /* We have received a chunk of data data, lets write it out */ @@ -1787,6 +1796,9 @@ void fio_list_dir(parray *files, const char *root, bool exclude, pgFile *file = NULL; fio_pgFile fio_file; + if (hdr.size > CHUNK_SIZE) { + hdr.size = CHUNK_SIZE; + } /* receive rel_path */ IO_CHECK(fio_read_all(fio_stdin, buf, hdr.size), hdr.size); file = pgFileInit(buf); @@ -1808,6 +1820,9 @@ void fio_list_dir(parray *files, const char *root, bool exclude, if (fio_file.linked_len > 0) { + if (fio_file.linked_len > CHUNK_SIZE) { + fio_file.linked_len = CHUNK_SIZE; + } IO_CHECK(fio_read_all(fio_stdin, buf, fio_file.linked_len), fio_file.linked_len); file->linked = (char *)pgut_malloc(fio_file.linked_len); @@ -1862,7 +1877,7 @@ static void fio_list_dir_impl(int out, char* buf) req->external_dir_num, FIO_LOCAL_HOST); /* send information about files to the main process */ - for (i = 0; i < parray_num(file_files); i++) + for (i = 0; i < (int)parray_num(file_files); i++) { fio_pgFile fio_file; pgFile *file = (pgFile *) parray_get(file_files, i); @@ -1939,6 +1954,9 @@ fio_get_checksum_map(const char *fullpath, uint32 checksum_version, int n_blocks checksum_map = (PageState *)pgut_malloc(n_blocks * sizeof(PageState)); rc = memset_s(checksum_map, n_blocks * sizeof(PageState), 0, n_blocks * sizeof(PageState)); securec_check(rc, "\0", "\0"); + if (hdr.size > (unsigned)n_blocks) { + hdr.size = (unsigned)n_blocks; + } IO_CHECK(fio_read_all(fio_stdin, checksum_map, hdr.size * sizeof(PageState)), hdr.size * sizeof(PageState)); } diff --git a/src/bin/pg_probackup/file.h b/src/bin/pg_probackup/file.h index a01c50845..254a433f9 100644 --- a/src/bin/pg_probackup/file.h +++ b/src/bin/pg_probackup/file.h @@ -78,7 +78,7 @@ typedef enum #define FIO_PIPE_MARKER 0x40000000 #define SYS_CHECK(cmd) do if ((cmd) < 0) { fprintf(stderr, "%s:%d: (%s) %s\n", __FILE__, __LINE__, #cmd, strerror(errno)); exit(EXIT_FAILURE); } while (0) -#define IO_CHECK(cmd, size) do { int _rc = (cmd); if (_rc != (size)) fio_error(_rc, size, __FILE__, __LINE__); } while (0) +#define IO_CHECK(cmd, size) do { int _rc = (cmd); if (_rc != (int)(size)) fio_error(_rc, size, __FILE__, __LINE__); } while (0) #define FILE_PERMISSIONS 0600 diff --git a/src/bin/pg_probackup/file_gz.cpp b/src/bin/pg_probackup/file_gz.cpp index ff8a53d7e..b1cec9e7f 100644 --- a/src/bin/pg_probackup/file_gz.cpp +++ b/src/bin/pg_probackup/file_gz.cpp @@ -241,7 +241,7 @@ fio_gzclose(gzFile f) Assert(rc == Z_STREAM_END && gz->strm.avail_out != ZLIB_BUFFER_SIZE); deflateEnd(&gz->strm); rc = fio_write(gz->fd, gz->buf, ZLIB_BUFFER_SIZE - gz->strm.avail_out); - if (rc != ZLIB_BUFFER_SIZE - gz->strm.avail_out) + if (rc != (int)(ZLIB_BUFFER_SIZE - gz->strm.avail_out)) { return -1; } @@ -322,7 +322,7 @@ int fio_send_file_gz(const char *from_fullpath, const char *to_fullpath, FILE* o IO_CHECK(fio_write_all(fio_stdout, &hdr, sizeof(hdr)), sizeof(hdr)); - IO_CHECK(fio_write_all(fio_stdout, from_fullpath, path_len), path_len); + IO_CHECK(fio_write_all(fio_stdout, from_fullpath, path_len), (ssize_t)path_len); for (;;) { @@ -335,10 +335,11 @@ int fio_send_file_gz(const char *from_fullpath, const char *to_fullpath, FILE* o } else if (hdr.cop == FIO_ERROR) { + bool valid = hdr.size > 0 && hdr.size <= CHUNK_SIZE; /* handle error, reported by the agent */ - if (hdr.size > 0) + if (valid) { - IO_CHECK(fio_read_all(fio_stdin, in_buf, hdr.size), hdr.size); + IO_CHECK(fio_read_all(fio_stdin, in_buf, hdr.size), (ssize_t)hdr.size); *errormsg = (char *)pgut_malloc(hdr.size); nRet = snprintf_s(*errormsg, hdr.size, hdr.size - 1, "%s", in_buf); securec_check_ss_c(nRet, "\0", "\0"); @@ -350,7 +351,10 @@ int fio_send_file_gz(const char *from_fullpath, const char *to_fullpath, FILE* o { int rc; Assert(hdr.size <= CHUNK_SIZE); - IO_CHECK(fio_read_all(fio_stdin, in_buf, hdr.size), hdr.size); + if (hdr.size > CHUNK_SIZE) { + hdr.size = CHUNK_SIZE; + } + IO_CHECK(fio_read_all(fio_stdin, in_buf, hdr.size), (ssize_t)hdr.size); /* We have received a chunk of compressed data, lets decompress it */ if (strm == NULL) @@ -432,7 +436,7 @@ int fio_send_file_gz(const char *from_fullpath, const char *to_fullpath, FILE* o { int len = OUT_BUF_SIZE - strm->avail_out; - if (fwrite(out_buf, 1, len, out) != len) + if (fwrite(out_buf, 1, len, out) != (size_t)len) { exit_code = WRITE_FAILED; goto cleanup; diff --git a/src/bin/pg_probackup/help.cpp b/src/bin/pg_probackup/help.cpp index 45dd4efb4..47fc7acee 100644 --- a/src/bin/pg_probackup/help.cpp +++ b/src/bin/pg_probackup/help.cpp @@ -146,6 +146,7 @@ void help_pg_probackup(void) printf(_(" [--compress-level=compress-level]\n")); printf(_(" [--compress]\n")); printf(_(" [-d dbname] [-h host] [-p port] [-U username] [-w] [-W password]\n")); + printf(_(" [-t rwtimeout]\n")); printf(_(" [--remote-proto=protocol] [--remote-host=destination]\n")); printf(_(" [--remote-path=path] [--remote-user=username]\n")); printf(_(" [--remote-port=port] [--ssh-options=ssh_options]\n")); @@ -405,6 +406,7 @@ static void help_backup(void) printf(_(" [--compress-level=compress-level]\n")); printf(_(" [--compress]\n")); printf(_(" [-d dbname] [-h host] [-p port] [-U username] [-w] [-W password]\n")); + printf(_(" [-t rw-timeout]\n")); printf(_(" [--remote-proto=protocol] [--remote-host=destination]\n")); printf(_(" [--remote-path=path] [--remote-user=username]\n")); printf(_(" [--remote-port=port] [--ssh-options=ssh_options]\n")); @@ -419,6 +421,7 @@ static void help_backup(void) printf(_(" --temp-slot use temporary replication slot\n")); printf(_(" --backup-pg-log backup of '%s' directory\n"), PG_LOG_DIR); printf(_(" -j, --threads=threads_num number of parallel threads\n")); + printf(_(" -t, --rw-timeout=rw-timeout read-write timeout during idle connection\n")); printf(_(" --progress show progress\n")); printf(_(" --no-validate disable validation after backup\n")); printf(_(" --skip-block-validation set to validate only file-level checksum\n")); diff --git a/src/bin/pg_probackup/logger.cpp b/src/bin/pg_probackup/logger.cpp index b84604f95..cafb99a66 100644 --- a/src/bin/pg_probackup/logger.cpp +++ b/src/bin/pg_probackup/logger.cpp @@ -275,6 +275,8 @@ elog_internal(int elevel, bool file_only, const char *message) pthread_mutex_unlock(&log_file_mutex); } +static void +elog_stderr(int elevel, const char *fmt, ...) __attribute__ ((format (printf, 2, 3))); /* * Log only to stderr. It is called only within elog_internal() when another * logging already was started. @@ -571,7 +573,7 @@ open_logfile(FILE **file, const char *filename_format) char *filename; char control[MAXPGPATH]; struct stat st; - FILE *control_file; + FILE *control_file = NULL; time_t cur_time = time(NULL); bool rotation_requested = false, logfile_exists = false, @@ -626,7 +628,7 @@ open_logfile(FILE **file, const char *filename_format) /* Check for rotation by size */ if (!rotation_requested && logger_config.log_rotation_size > 0) - rotation_requested = st.st_size >= + rotation_requested = (uint64)st.st_size >= /* convert to bytes */ logger_config.log_rotation_size * 1024L; } @@ -698,7 +700,7 @@ static void open_rotationfile(char *control, /* Parsed creation time */ rotation_requested = (cur_time - creation_time) > /* convert to seconds from milliseconds */ - logger_config.log_rotation_age / 1000; + (long)(logger_config.log_rotation_age / 1000); } else { diff --git a/src/bin/pg_probackup/merge.cpp b/src/bin/pg_probackup/merge.cpp index d6115828a..bc91d8ca7 100644 --- a/src/bin/pg_probackup/merge.cpp +++ b/src/bin/pg_probackup/merge.cpp @@ -115,7 +115,6 @@ do_merge(time_t backup_id) parray *merge_list = parray_new(); pgBackup *dest_backup = NULL; pgBackup *full_backup = NULL; - int i; if (backup_id == INVALID_BACKUP_ID) elog(ERROR, "required parameter is not specified: --backup-id"); @@ -247,7 +246,7 @@ do_merge(time_t backup_id) static pgBackup* find_dest_backup(parray *backups, time_t backup_id) { - int i = 0; + size_t i = 0; pgBackup *dest_backup = NULL; /* Find destination backup first */ @@ -300,7 +299,7 @@ static pgBackup* find_dest_backup(parray *backups, time_t backup_id) static pgBackup *check_dest_backup(parray *backups, pgBackup *full_backup) { - int i = 0; + size_t i = 0; pgBackup *dest_backup = NULL; /* Case #1 */ @@ -456,7 +455,7 @@ static pgBackup* find_full_backup(pgBackup *dest_backup, parray *backups) base36enc(dest_backup->start_time)); /* Find FULL backup that has unfinished merge with dest backup */ - for (int i = 0; i < parray_num(backups); i++) + for (size_t i = 0; i < parray_num(backups); i++) { pgBackup *backup = (pgBackup *) parray_get(backups, i); @@ -773,7 +772,7 @@ static void threads_handle(pgBackup *dest_backup, use_bitmap = false; /* Setup threads */ - for (i = 0; i < parray_num(dest_backup->files); i++) + for (i = 0; (size_t)i < parray_num(dest_backup->files); i++) { pgFile *file = (pgFile *) parray_get(dest_backup->files, i); @@ -883,7 +882,6 @@ static void threads_handle(pgBackup *dest_backup, full_backup->recovery_time = dest_backup->recovery_time; full_backup->recovery_xid = dest_backup->recovery_xid; full_backup->tli = dest_backup->tli; - full_backup->from_replica = dest_backup->from_replica; pfree(full_backup->external_dir_str); full_backup->external_dir_str = pgut_strdup(dest_backup->external_dir_str); @@ -933,7 +931,7 @@ static void del_full_backup_files(pgBackup *dest_backup, */ parray_qsort(dest_backup->files, pgFileCompareRelPathWithExternalDesc); parray_qsort(full_backup->files, pgFileCompareRelPathWithExternalDesc); - for (int i = 0; i < parray_num(full_backup->files); i++) + for (size_t i = 0; i < parray_num(full_backup->files); i++) { pgFile *full_file = (pgFile *) parray_get(full_backup->files, i); @@ -1071,7 +1069,7 @@ static void merge_rename(pgBackup *dest_backup, static void * merge_files(void *arg) { - int i; + size_t i = 0; bool iscontinue = false; merge_files_arg *arguments = (merge_files_arg *) arg; size_t n_files = parray_num(arguments->dest_backup->files); @@ -1289,7 +1287,7 @@ static void remove_dir_with_files(const char *path) { parray *files = parray_new(); - int i; + size_t i = 0; char full_path[MAXPGPATH]; dir_list_file(files, path, false, false, true, false, false, 0, FIO_LOCAL_HOST); @@ -1313,7 +1311,7 @@ remove_dir_with_files(const char *path) static int get_external_index(const char *key, const parray *list) { - int i; + size_t i = 0; if (!list) /* Nowhere to search */ return -1; @@ -1331,7 +1329,7 @@ reorder_external_dirs(pgBackup *to_backup, parray *to_external, parray *from_external) { char externaldir_template[MAXPGPATH]; - int i; + size_t i = 0; join_path_components(externaldir_template, to_backup->root_dir, EXTERNAL_DIR); for (i = 0; i < parray_num(to_external); i++) @@ -1344,7 +1342,7 @@ reorder_external_dirs(pgBackup *to_backup, parray *to_external, makeExternalDirPathByNum(old_path, externaldir_template, i + 1); remove_dir_with_files(old_path); } - else if (from_num != i + 1) + else if ((size_t)from_num != i + 1) { char old_path[MAXPGPATH]; char new_path[MAXPGPATH]; @@ -1462,7 +1460,7 @@ merge_non_data_file(parray *parent_chain, pgBackup *full_backup, pgBackup *dest_backup, pgFile *dest_file, pgFile *tmp_file, const char *full_database_dir, const char *to_external_prefix) { - int i; + size_t i = 0; char to_fullpath[MAXPGPATH]; char to_fullpath_tmp[MAXPGPATH]; /* used for backup */ char from_fullpath[MAXPGPATH]; diff --git a/src/bin/pg_probackup/parray.cpp b/src/bin/pg_probackup/parray.cpp index 5018a2dc2..1459e5038 100644 --- a/src/bin/pg_probackup/parray.cpp +++ b/src/bin/pg_probackup/parray.cpp @@ -172,7 +172,7 @@ parray_remove(parray *array, size_t index) bool parray_rm(parray *array, const void *key, int(*compare)(const void *, const void *)) { - int i; + size_t i; for (i = 0; i < array->used; i++) { @@ -200,7 +200,7 @@ parray_qsort(parray *array, int(*compare)(const void *, const void *)) void parray_walk(parray *array, void (*action)(void *)) { - int i; + size_t i; if (array == nullptr) { return; } @@ -220,7 +220,7 @@ bool parray_contains(parray *array, const void *elem) { int i; - for (i = 0; i < parray_num(array); i++) + for (i = 0; i < (int)parray_num(array); i++) { if (parray_get(array, i) == elem) return true; diff --git a/src/bin/pg_probackup/parsexlog.cpp b/src/bin/pg_probackup/parsexlog.cpp index ae4ee2b63..00316c0be 100644 --- a/src/bin/pg_probackup/parsexlog.cpp +++ b/src/bin/pg_probackup/parsexlog.cpp @@ -634,10 +634,9 @@ wal_contains_lsn(const char *archivedir, XLogRecPtr target_lsn, res = XLogReadRecord(xlogreader, target_lsn, &errormsg) != NULL; /* Didn't find 'target_lsn' and there is no error, return false */ - if (!current.from_replica) - if (errormsg) - elog(WARNING, "Could not read WAL record at %X/%X: %s", - (uint32) (target_lsn >> 32), (uint32) (target_lsn), errormsg); + if (errormsg) + elog(WARNING, "Could not read WAL record at %X/%X: %s", + (uint32) (target_lsn >> 32), (uint32) (target_lsn), errormsg); CleanupXLogPageRead(xlogreader); XLogReaderFree(xlogreader); @@ -1460,7 +1459,7 @@ XLogThreadWorker(void *arg) * Usually SimpleXLogPageRead_local() does it by itself. But here we need * to do it manually to support threads. */ - if (reader_data->need_switch) + if (reader_data->need_switch && errormsg == NULL) { if (SwitchThreadToNextWal(xlogreader, thread_arg)) continue; diff --git a/src/bin/pg_probackup/pg_lzcompress.cpp b/src/bin/pg_probackup/pg_lzcompress.cpp index c6b5f8eed..b9e8070c8 100644 --- a/src/bin/pg_probackup/pg_lzcompress.cpp +++ b/src/bin/pg_probackup/pg_lzcompress.cpp @@ -498,6 +498,102 @@ pglz_find_match(int16 *hstart, const char *input, const char *end, } +/* ---------- + * compress - + * + * Compress the source directly into the output buffer. + * ---------- + */ +static int32 compress(const char *source, int32 slen, char *dest, + const PGLZ_Strategy *strategy, + int32 good_match, int32 good_drop, + int32 result_max, int mask) +{ + const char *dp = source; + const char *dend = source + slen; + unsigned char *bp = (unsigned char *) dest; + unsigned char *bstart = bp; + unsigned char ctrl_dummy = 0; + unsigned char *ctrlp = &ctrl_dummy; + unsigned char ctrlb = 0; + unsigned char ctrl = 0; + bool found_match = false; + bool hist_recycle = false; + int hist_next = 1; + int32 match_len; + int32 match_off; + int32 result_size; + + while (dp < dend) + { + /* + * If we already exceeded the maximum result size, fail. + * + * We check once per loop; since the loop body could emit as many as 4 + * bytes (a control byte and 3-byte tag), PGLZ_MAX_OUTPUT() had better + * allow 4 slop bytes. + */ + if (bp - bstart >= result_max) + return -1; + + /* + * If we've emitted more than first_success_by bytes without finding + * anything compressible at all, fail. This lets us fall out + * reasonably quickly when looking at incompressible input (such as + * pre-compressed data). + */ + if (!found_match && bp - bstart >= strategy->first_success_by) + return -1; + + /* + * Try to find a match in the history + */ + if (pglz_find_match(hist_start, dp, dend, &match_len, + &match_off, good_match, good_drop, mask)) + { + /* + * Create the tag and add history entries for all matched + * characters. + */ + pglz_out_tag(ctrlp, ctrlb, ctrl, bp, match_len, match_off); + while (match_len--) + { + pglz_hist_add(hist_start, hist_entries, + hist_next, hist_recycle, + dp, dend, mask); + dp++; /* Do not do this ++ in the line above! */ + /* The macro would do it four times - Jan. */ + } + found_match = true; + } + else + { + /* + * No match found. Copy one literal byte. + */ + pglz_out_literal(ctrlp, ctrlb, ctrl, bp, *dp); + pglz_hist_add(hist_start, hist_entries, + hist_next, hist_recycle, + dp, dend, mask); + dp++; /* Do not do this ++ in the line above! */ + /* The macro would do it four times - Jan. */ + } + } + + /* + * Write out the last control byte and check that we haven't overrun the + * output size allowed by the strategy. + */ + *ctrlp = ctrlb; + result_size = bp - bstart; + if (result_size >= result_max) + return -1; + + /* success */ + return result_size; +} + + /* ---------- * pglz_compress - * @@ -599,100 +695,6 @@ pglz_compress(const char *source, int32 slen, char *dest, result_max, mask); } -/* ---------- - * compress - - * - * Compress the source directly into the output buffer. - * ---------- - */ -static int32 compress(const char *source, int32 slen, char *dest, - const PGLZ_Strategy *strategy, - int32 good_match, int32 good_drop, - int32 result_max, int mask) -{ - const char *dp = source; - const char *dend = source + slen; - unsigned char *bp = (unsigned char *) dest; - unsigned char *bstart = bp; - unsigned char ctrl_dummy = 0; - unsigned char *ctrlp = &ctrl_dummy; - unsigned char ctrlb = 0; - unsigned char ctrl = 0; - bool found_match = false; - bool hist_recycle = false; - int hist_next = 1; - int32 match_len; - int32 match_off; - int32 result_size; - - while (dp < dend) - { - /* - * If we already exceeded the maximum result size, fail. - * - * We check once per loop; since the loop body could emit as many as 4 - * bytes (a control byte and 3-byte tag), PGLZ_MAX_OUTPUT() had better - * allow 4 slop bytes. - */ - if (bp - bstart >= result_max) - return -1; - - /* - * If we've emitted more than first_success_by bytes without finding - * anything compressible at all, fail. This lets us fall out - * reasonably quickly when looking at incompressible input (such as - * pre-compressed data). - */ - if (!found_match && bp - bstart >= strategy->first_success_by) - return -1; - - /* - * Try to find a match in the history - */ - if (pglz_find_match(hist_start, dp, dend, &match_len, - &match_off, good_match, good_drop, mask)) - { - /* - * Create the tag and add history entries for all matched - * characters. - */ - pglz_out_tag(ctrlp, ctrlb, ctrl, bp, match_len, match_off); - while (match_len--) - { - pglz_hist_add(hist_start, hist_entries, - hist_next, hist_recycle, - dp, dend, mask); - dp++; /* Do not do this ++ in the line above! */ - /* The macro would do it four times - Jan. */ - } - found_match = true; - } - else - { - /* - * No match found. Copy one literal byte. - */ - pglz_out_literal(ctrlp, ctrlb, ctrl, bp, *dp); - pglz_hist_add(hist_start, hist_entries, - hist_next, hist_recycle, - dp, dend, mask); - dp++; /* Do not do this ++ in the line above! */ - /* The macro would do it four times - Jan. */ - } - } - - /* - * Write out the last control byte and check that we haven't overrun the - * output size allowed by the strategy. - */ - *ctrlp = ctrlb; - result_size = bp - bstart; - if (result_size >= result_max) - return -1; - - /* success */ - return result_size; -} /* ---------- * pglz_decompress - diff --git a/src/bin/pg_probackup/pg_lzcompress.h b/src/bin/pg_probackup/pg_lzcompress.h index 02e431a84..6856b5ff1 100644 --- a/src/bin/pg_probackup/pg_lzcompress.h +++ b/src/bin/pg_probackup/pg_lzcompress.h @@ -78,11 +78,6 @@ typedef struct PGLZ_Strategy extern const PGLZ_Strategy *const PGLZ_strategy_default; extern const PGLZ_Strategy *const PGLZ_strategy_always; -static int32 compress(const char *source, int32 slen, char *dest, - const PGLZ_Strategy *strategy, - int32 good_match, int32 good_drop, - int32 result_max, int mask); - /* ---------- * Global function declarations * ---------- diff --git a/src/bin/pg_probackup/pg_probackup.cpp b/src/bin/pg_probackup/pg_probackup.cpp index 745665bfe..58445b25c 100644 --- a/src/bin/pg_probackup/pg_probackup.cpp +++ b/src/bin/pg_probackup/pg_probackup.cpp @@ -73,6 +73,7 @@ char *replication_slot = NULL; #endif bool temp_slot = false; char *password = NULL; +int rw_timeout = 0; /* backup options */ bool backup_logs = false; @@ -190,6 +191,7 @@ static ConfigOption cmd_options[] = { 'b', 148, "compress", &compress_shortcut, SOURCE_CMD_STRICT }, { 'B', 'w', "no-password", &prompt_password, SOURCE_CMD_STRICT }, { 's', 'W', "password", &password, SOURCE_CMD_STRICT }, + { 'u', 't', "rw-timeout", &rw_timeout, SOURCE_CMD_STRICT }, { 's', 149, "instance", &instance_name, SOURCE_CMD_STRICT }, { 's', 150, "wal-file-path", &wal_file_path, SOURCE_CMD_STRICT }, { 's', 151, "wal-file-name", &wal_file_name, SOURCE_CMD_STRICT }, @@ -515,14 +517,16 @@ static void do_delete_operate() static int do_validate_operate() { - if (current.backup_id == 0 && target_time == 0 && target_xid == 0 && !target_lsn && !recovery_target_options->target_name) + if (current.backup_id == 0 && target_time == 0 && target_xid == 0 && !target_lsn && + !recovery_target_options->target_name) { return do_validate_all(); - else + } else { /* PITR validation and, optionally, partial validation */ return do_restore_or_validate(current.backup_id, recovery_target_options, restore_params, no_sync); + } } static int do_actual_operate() @@ -693,7 +697,6 @@ int main(int argc, char *argv[]) { char *command = NULL, *command_name; - errno_t rc = 0; PROGRAM_NAME_FULL = argv[0]; diff --git a/src/bin/pg_probackup/pg_probackupb.h b/src/bin/pg_probackup/pg_probackupb.h index 599f90896..823597167 100644 --- a/src/bin/pg_probackup/pg_probackupb.h +++ b/src/bin/pg_probackup/pg_probackupb.h @@ -254,7 +254,6 @@ struct pgBackup bool stream; /* Was this backup taken in stream mode? * i.e. does it include all needed WAL files? */ - bool from_replica; /* Was this backup taken from replica */ time_t parent_backup; /* Identifier of the previous backup. * Which is basic backup for this * incremental backup. */ diff --git a/src/bin/pg_probackup/pg_probackupc.h b/src/bin/pg_probackup/pg_probackupc.h index a9ade4fd1..e38c45038 100644 --- a/src/bin/pg_probackup/pg_probackupc.h +++ b/src/bin/pg_probackup/pg_probackupc.h @@ -45,6 +45,7 @@ extern char *replication_slot; #endif extern bool temp_slot; extern char *password; +extern int rw_timeout; /* backup options */ extern bool smooth_checkpoint; diff --git a/src/bin/pg_probackup/pgut.cpp b/src/bin/pg_probackup/pgut.cpp index f0525fb1d..8e0855ef4 100644 --- a/src/bin/pg_probackup/pgut.cpp +++ b/src/bin/pg_probackup/pgut.cpp @@ -496,69 +496,6 @@ prompt_for_password(const char *username) in_password = false; } -/* - * Copied from pg_basebackup.c - * Escape a parameter value so that it can be used as part of a libpq - * connection string, e.g. in: - * - * application_name= - * - * The returned string is malloc'd. Return NULL on out-of-memory. - */ -static char * -escapeConnectionParameter(const char *src) -{ - bool need_quotes = false; - bool need_escaping = false; - const char *p; - char *dstbuf; - char *dst; - - /* - * First check if quoting is needed. Any quote (') or backslash (\) - * characters need to be escaped. Parameters are separated by whitespace, - * so any string containing whitespace characters need to be quoted. An - * empty string is represented by ''. - */ - if (strchr(src, '\'') != NULL || strchr(src, '\\') != NULL) - need_escaping = true; - - for (p = src; *p; p++) - { - if (isspace((unsigned char) *p)) - { - need_quotes = true; - break; - } - } - - if (*src == '\0') - return pg_strdup("''"); - - if (!need_quotes && !need_escaping) - return pg_strdup(src); /* no quoting or escaping needed */ - - /* - * Allocate a buffer large enough for the worst case that all the source - * characters need to be escaped, plus quotes. - */ - dstbuf = (char *)pg_malloc(strlen(src) * 2 + 2 + 1); - - dst = dstbuf; - if (need_quotes) - *(dst++) = '\''; - for (; *src; src++) - { - if (*src == '\'' || *src == '\\') - *(dst++) = '\\'; - *(dst++) = *src; - } - if (need_quotes) - *(dst++) = '\''; - *dst = '\0'; - - return dstbuf; -} PGconn* pgut_connect(const char *host, const char *port, const char *dbname, const char *username) @@ -569,6 +506,8 @@ PGconn* pgut_connect(const char *host, const char *port, int i; const char **keywords; const char **values; + errno_t rc = EOK; + char rwtimeoutStr[12] = {0}; if (interrupted && !in_cleanup) elog(ERROR, "interrupted"); @@ -587,8 +526,12 @@ PGconn* pgut_connect(const char *host, const char *port, keywords[i] = "connect_timeout"; /* param connect timeout */ values[i] = "120"; /* default value */ i++; + + rc = snprintf_s(rwtimeoutStr, sizeof(rwtimeoutStr), sizeof(rwtimeoutStr) - 1, "%d", + rw_timeout ? 120 : rw_timeout); /* default rw_timeout 120 */ + securec_check_ss_c(rc, "", ""); keywords[i] = "rw_timeout"; /* param rw_timeout */ - values[i] = "120"; /* default value */ + values[i] = rwtimeoutStr; /* rw_timeout value */ i++; if (host) @@ -668,6 +611,8 @@ PGconn* pgut_connect_replication(const char *host, const char *port, int i; const char **keywords; const char **values; + errno_t rc = EOK; + char rwtimeoutStr[12] = {0}; if (interrupted && !in_cleanup) elog(ERROR, "interrupted"); @@ -690,8 +635,12 @@ PGconn* pgut_connect_replication(const char *host, const char *port, keywords[i] = "connect_timeout"; /* param connect timeout */ values[i] = "120"; /* default value */ i++; + + rc = snprintf_s(rwtimeoutStr, sizeof(rwtimeoutStr), sizeof(rwtimeoutStr) - 1, "%d", + rw_timeout ? 120 : rw_timeout); /* default rw_timeout 120 */ + securec_check_ss_c(rc, "", ""); keywords[i] = "rw_timeout"; /* param rw_timeout */ - values[i] = "120"; /* default value */ + values[i] = rwtimeoutStr; /* rw_timeout value */ i++; if (host) @@ -1528,6 +1477,7 @@ pgut_pgfnames(const char *path, bool strict) pfree(filenames[i]); } pfree(filenames); + (void)closedir(dir); return NULL; } diff --git a/src/bin/pg_probackup/ptrack.cpp b/src/bin/pg_probackup/ptrack.cpp index 0dc6c425f..3ff05a8e2 100644 --- a/src/bin/pg_probackup/ptrack.cpp +++ b/src/bin/pg_probackup/ptrack.cpp @@ -69,10 +69,8 @@ pg_ptrack_get_pagemapset(PGconn *backup_conn, XLogRecPtr lsn) securec_check_ss_c(rc, "\0", "\0"); params[0] = gs_pstrdup(start_lsn); - if (!current.from_replica) { - res = pgut_execute(backup_conn, "CHECKPOINT;", 0, NULL); - PQclear(res); - } + res = pgut_execute(backup_conn, "CHECKPOINT;", 0, NULL); + PQclear(res); res = pgut_execute(backup_conn, "SELECT pg_cbm_tracked_location()", 0, NULL); if (PQnfields(res) != 1) { @@ -96,7 +94,8 @@ pg_ptrack_get_pagemapset(PGconn *backup_conn, XLogRecPtr lsn) pagemap.bitmapsize = 0; /* Construct database map */ - for (i = 0; i < PQntuples(res); i++) { + for (i = 0; i < PQntuples(res); i++) + { page_map_entry *pm_entry = (page_map_entry *) pgut_malloc(sizeof(page_map_entry)); /* get path */ @@ -149,7 +148,7 @@ make_pagemap_from_ptrack(parray *files, XLogRecPtr lsn) { parray *filemaps; - int file_i = 0; + size_t file_i = 0; page_map_entry *dummy_map = NULL; /* Receive all available ptrack bitmaps at once */ diff --git a/src/bin/pg_probackup/restore.cpp b/src/bin/pg_probackup/restore.cpp index 7a4ed5e2e..f6b0ab11f 100644 --- a/src/bin/pg_probackup/restore.cpp +++ b/src/bin/pg_probackup/restore.cpp @@ -106,7 +106,7 @@ set_orphan_status(parray *backups, pgBackup *parent_backup) { /* chain is intact, but at least one parent is invalid */ char *parent_backup_id; - int j; + size_t j; /* parent_backup_id is a human-readable backup ID */ parent_backup_id = base36enc_dup(parent_backup->start_time); @@ -416,7 +416,7 @@ static pgBackup *find_backup_range(parray *backups, pgRecoveryTarget *rt, pgRestoreParams *params) { - int i = 0; + size_t i = 0; pgBackup *dest_backup = NULL; pgBackup *current_backup = NULL; @@ -499,6 +499,8 @@ static pgBackup *find_backup_range(parray *backups, return dest_backup; } } + + return dest_backup; } static void check_backup_status(pgBackup *current_backup, pgRestoreParams *params) @@ -549,7 +551,7 @@ static pgBackup *find_full_backup(parray *backups, missing_backup_start_time = tmp_backup->parent_backup; missing_backup_id = base36enc_dup(tmp_backup->parent_backup); - for (int j = 0; j < parray_num(backups); j++) + for (size_t j = 0; j < parray_num(backups); j++) { pgBackup *backup = (pgBackup *) parray_get(backups, j); @@ -788,7 +790,7 @@ restore_chain(pgBackup *dest_backup, parray *parent_chain, if (parray_num(external_dirs) > 0) elog(LOG, "Restore external directories"); - for (i = 0; i < parray_num(external_dirs); i++) + for (i = 0; (size_t)i < parray_num(external_dirs); i++) fio_mkdir((const char *)parray_get(external_dirs, i), DIR_PERMISSION, FIO_DB_HOST); } @@ -804,7 +806,7 @@ restore_chain(pgBackup *dest_backup, parray *parent_chain, /* * Setup directory structure for external directories and file locks */ - for (i = 0; i < parray_num(dest_files); i++) + for (i = 0; (size_t)i < parray_num(dest_files); i++) { pgFile *file = (pgFile *) parray_get(dest_files, i); @@ -817,7 +819,7 @@ restore_chain(pgBackup *dest_backup, parray *parent_chain, char *external_path; char dirpath[MAXPGPATH]; - if (parray_num(external_dirs) < file->external_dir_num - 1) + if ((int)parray_num(external_dirs) < file->external_dir_num - 1) elog(ERROR, "Inconsistent external directory backup metadata"); external_path = (char *)parray_get(external_dirs, file->external_dir_num - 1); @@ -901,7 +903,7 @@ static void get_pgdata_files(const char *pgdata_path, /* get external dirs content */ if (external_dirs) { - for (int i = 0; i < parray_num(external_dirs); i++) + for (int i = 0; (size_t)i < parray_num(external_dirs); i++) { char *external_path = (char *)parray_get(external_dirs, i); parray *external_files = parray_new(); @@ -938,7 +940,7 @@ static void remove_redundant_files(const char *pgdata_path, elog(INFO, "Removing redundant files in destination directory"); time(&start_time); - for (int i = 0; i < parray_num(pgdata_files); i++) + for (int i = 0; (size_t)i < parray_num(pgdata_files); i++) { pgFile *file = (pgFile *)parray_get(pgdata_files, i); @@ -1061,7 +1063,7 @@ static void sync_restored_files(parray *dest_files, elog(INFO, "Syncing restored files to disk"); time(&start_time); - for (int i = 0; i < parray_num(dest_files); i++) + for (size_t i = 0; i < parray_num(dest_files); i++) { char to_fullpath[MAXPGPATH]; pgFile *dest_file = (pgFile *)parray_get(dest_files, i); @@ -1116,7 +1118,7 @@ restore_files(void *arg) n_files = (unsigned long) parray_num(arguments->dest_files); - for (i = 0; i < parray_num(arguments->dest_files); i++) + for (i = 0; (size_t)i < parray_num(arguments->dest_files); i++) { bool already_exists = false; PageState *checksum_map = NULL; /* it should take ~1.5MB at most */ @@ -1293,7 +1295,6 @@ create_recovery_conf(time_t backup_id, bool target_latest; bool target_immediate; bool restore_command_provided = false; - char restore_command_guc[16384]; errno_t rc = 0; if (instance_config.restore_command && @@ -1772,7 +1773,6 @@ parseRecoveryTargetOptions(const char *target_time, const char *target_name, const char *target_action) { - bool dummy_bool; /* * count the number of the mutually exclusive options which may specify * recovery target. If final value > 1, throw an error. diff --git a/src/bin/pg_probackup/show.cpp b/src/bin/pg_probackup/show.cpp index 3dc6db1d5..4f71fdb52 100644 --- a/src/bin/pg_probackup/show.cpp +++ b/src/bin/pg_probackup/show.cpp @@ -79,7 +79,7 @@ static int32 json_level = 0; int do_show(const char *instance_name, time_t requested_backup_id, bool show_archive) { - int i; + size_t i; if (instance_name == NULL && requested_backup_id != INVALID_BACKUP_ID) @@ -373,10 +373,6 @@ print_backup_json_object(PQExpBuffer buf, pgBackup *backup) json_add_key(buf, "compress-level", json_level); appendPQExpBuffer(buf, "%d", backup->compress_level); - json_add_value(buf, "from-replica", - backup->from_replica ? "true" : "false", json_level, - true); - json_add_key(buf, "block-size", json_level); appendPQExpBuffer(buf, "%u", backup->block_size); @@ -491,7 +487,7 @@ print_backup_json_object(PQExpBuffer buf, pgBackup *backup) static int show_backup(const char *instance_name, time_t requested_backup_id) { - int i; + size_t i; pgBackup *backup = NULL; parray *backups; @@ -579,7 +575,7 @@ show_instance_plain(const char *instance_name, parray *backup_list, bool show_na /* * Fill row values and calculate maximum width of each field. */ - for (i = 0; i < parray_num(backup_list); i++) + for (i = 0; (size_t)i < parray_num(backup_list); i++) { pgBackup *backup = (pgBackup *)parray_get(backup_list, i); ShowBackendRow *row = &rows[i]; @@ -701,7 +697,7 @@ show_instance_plain(const char *instance_name, parray *backup_list, bool show_na /* * Print header. */ - for (i = 0; i < widths_sum; i++) + for (i = 0; (uint32)i < widths_sum; i++) appendPQExpBufferChar(&show_buf, '='); appendPQExpBufferChar(&show_buf, '\n'); @@ -711,14 +707,14 @@ show_instance_plain(const char *instance_name, parray *backup_list, bool show_na } appendPQExpBufferChar(&show_buf, '\n'); - for (i = 0; i < widths_sum; i++) + for (i = 0; (uint32)i < widths_sum; i++) appendPQExpBufferChar(&show_buf, '='); appendPQExpBufferChar(&show_buf, '\n'); /* * Print values. */ - for (i = 0; i < parray_num(backup_list); i++) + for (i = 0; (size_t)i < parray_num(backup_list); i++) { ShowBackendRow *row = &rows[i]; int cur = 0; @@ -808,7 +804,7 @@ show_instance_json(const char *instance_name, parray *backup_list) */ json_add(buf, JT_BEGIN_ARRAY, &json_level); - for (i = 0; i < parray_num(backup_list); i++) + for (i = 0; (size_t)i < parray_num(backup_list); i++) { pgBackup *backup = (pgBackup *)parray_get(backup_list, i); @@ -874,7 +870,7 @@ show_archive_plain(const char *instance_name, uint32 xlog_seg_size, widths[i] = strlen(names[i]); /* Ignore empty timelines */ - for (i = 0; i < parray_num(tli_list); i++) + for (i = 0; (size_t)i < parray_num(tli_list); i++) { timelineInfo *tlinfo = (timelineInfo *) parray_get(tli_list, i); @@ -888,7 +884,7 @@ show_archive_plain(const char *instance_name, uint32 xlog_seg_size, /* * Fill row values and calculate maximum width of each field. */ - for (i = 0; i < parray_num(actual_tli_list); i++) + for (i = 0; (size_t)i < parray_num(actual_tli_list); i++) { timelineInfo *tlinfo = (timelineInfo *) parray_get(actual_tli_list, i); ShowArchiveRow *row = &rows[i]; @@ -985,7 +981,7 @@ show_archive_plain(const char *instance_name, uint32 xlog_seg_size, /* * Print header. */ - for (i = 0; i < widths_sum; i++) + for (i = 0; (uint32)i < widths_sum; i++) appendPQExpBufferChar(&show_buf, '='); appendPQExpBufferChar(&show_buf, '\n'); @@ -995,7 +991,7 @@ show_archive_plain(const char *instance_name, uint32 xlog_seg_size, } appendPQExpBufferChar(&show_buf, '\n'); - for (i = 0; i < widths_sum; i++) + for (i = 0; (uint32)i < widths_sum; i++) appendPQExpBufferChar(&show_buf, '='); appendPQExpBufferChar(&show_buf, '\n'); @@ -1074,7 +1070,7 @@ show_archive_json(const char *instance_name, uint32 xlog_seg_size, /* Ignore empty timelines */ - for (i = 0; i < parray_num(tli_list); i++) + for (i = 0; (size_t)i < parray_num(tli_list); i++) { timelineInfo *tlinfo = (timelineInfo *) parray_get(tli_list, i); @@ -1093,7 +1089,7 @@ show_archive_json(const char *instance_name, uint32 xlog_seg_size, char tmp_buf[MAXFNAMELEN]; float zratio = 0; - if (i != (parray_num(actual_tli_list) - 1)) + if ((size_t)i != (parray_num(actual_tli_list) - 1)) appendPQExpBufferChar(buf, ','); json_add(buf, JT_BEGIN_OBJECT, &json_level); @@ -1153,7 +1149,7 @@ show_archive_json(const char *instance_name, uint32 xlog_seg_size, { json_add(buf, JT_BEGIN_ARRAY, &json_level); - for (j = 0; j < parray_num(tlinfo->lost_segments); j++) + for (j = 0; (size_t)j < parray_num(tlinfo->lost_segments); j++) { xlogInterval *lost_segments = (xlogInterval *) parray_get(tlinfo->lost_segments, j); @@ -1183,7 +1179,7 @@ show_archive_json(const char *instance_name, uint32 xlog_seg_size, if (tlinfo->backups != NULL) { json_add(buf, JT_BEGIN_ARRAY, &json_level); - for (j = 0; j < parray_num(tlinfo->backups); j++) + for (j = 0; (size_t)j < parray_num(tlinfo->backups); j++) { pgBackup *backup = (pgBackup *)parray_get(tlinfo->backups, j); diff --git a/src/bin/pg_probackup/validate.cpp b/src/bin/pg_probackup/validate.cpp index 86a30f792..d8d549012 100644 --- a/src/bin/pg_probackup/validate.cpp +++ b/src/bin/pg_probackup/validate.cpp @@ -134,7 +134,7 @@ pgBackupValidate(pgBackup *backup, pgRestoreParams *params) } /* setup threads */ - for (i = 0; i < parray_num(files); i++) + for (i = 0; (size_t)i < parray_num(files); i++) { pgFile *file = (pgFile *) parray_get(files, i); pg_atomic_clear_flag(&file->lock); @@ -291,7 +291,6 @@ pgBackupValidateFiles(void *arg) int i; validate_files_arg *arguments = (validate_files_arg *)arg; int num_files = parray_num(arguments->files); - pg_crc32 crc; for (i = 0; i < num_files; i++) { @@ -568,7 +567,7 @@ do_validate_instance(void) backups = catalog_get_backup_list(instance_name, INVALID_BACKUP_ID); /* Examine backups one by one and validate them */ - for (i = 0; i < parray_num(backups); i++) + for (i = 0; (size_t)i < parray_num(backups); i++) { pgBackup *base_full_backup; diff --git a/src/bin/pg_resetxlog/pg_resetxlog.cpp b/src/bin/pg_resetxlog/pg_resetxlog.cpp index 93ae7d956..9a3a76069 100644 --- a/src/bin/pg_resetxlog/pg_resetxlog.cpp +++ b/src/bin/pg_resetxlog/pg_resetxlog.cpp @@ -1005,6 +1005,10 @@ static void usage(void) printf(_(" -V, --version output version information, then exit\n")); printf(_(" -x XID set next transaction ID\n")); printf(_(" -?, --help show this help, then exit\n")); - printf(_("\nReport bugs to .\n")); +#if ((defined(ENABLE_MULTIPLE_NODES)) || (defined(ENABLE_PRIVATEGAUSS))) + printf("\nReport bugs to GaussDB support.\n"); +#else + printf("\nReport bugs to openGauss community by raising an issue.\n"); +#endif } diff --git a/src/bin/pg_rewind/datapagemap.cpp b/src/bin/pg_rewind/datapagemap.cpp old mode 100755 new mode 100644 diff --git a/src/bin/pg_rewind/datapagemap.h b/src/bin/pg_rewind/datapagemap.h old mode 100755 new mode 100644 diff --git a/src/bin/pg_rewind/fetch.cpp b/src/bin/pg_rewind/fetch.cpp old mode 100755 new mode 100644 index 1477522e0..38b86b792 --- a/src/bin/pg_rewind/fetch.cpp +++ b/src/bin/pg_rewind/fetch.cpp @@ -50,7 +50,6 @@ const int XLOG_NAME_LENGTH = 24; static BuildErrorCode receiveFileChunks(const char* sql, FILE* file); static BuildErrorCode execute_pagemap(datapagemap_t* pagemap, const char* path, FILE* file); -static void execute_waldatamap(datapagemap_t* pagemap, const char* path, size_t block_size); static char* run_simple_query(const char* sql); static BuildErrorCode recurse_dir(const char* datadir, const char* path, process_file_callback_t callback); static void get_slot_name_by_app_name(void); @@ -100,8 +99,11 @@ BuildErrorCode libpqGetParameters(void) if (str == NULL) { return BUILD_FATAL; } - if (strcmp(str, "f") != 0) + if (strcmp(str, "f") != 0) { pg_log(PG_ERROR, "source server must not be in recovery mode\n"); + pg_free(str); + return BUILD_ERROR; + } pg_free(str); /* @@ -114,9 +116,15 @@ BuildErrorCode libpqGetParameters(void) return BUILD_FATAL; } str2 = run_simple_query("SHOW enable_incremental_checkpoint"); + if (str2 == NULL) { + return BUILD_FATAL; + } if (strcmp(str, "on") != 0 && strcmp(str2, "on") != 0) { pg_fatal( "full_page_writes must be enabled in the source server when the incremental checkpoint is not used.\n"); + pg_free(str); + pg_free(str2); + return BUILD_FATAL; } pg_free(str); pg_free(str2); @@ -157,18 +165,25 @@ static char* run_simple_query(const char* sql) res = PQexec(conn, sql); - if (PQresultStatus(res) != PGRES_TUPLES_OK) + if (PQresultStatus(res) != PGRES_TUPLES_OK) { pg_fatal("error running query (%s) in source server: %s", sql, PQresultErrorMessage(res)); - + goto error; + } /* sanity check the result set */ - if (PQnfields(res) != 1 || PQntuples(res) != 1 || PQgetisnull(res, 0, 0)) + if (PQnfields(res) != 1 || PQntuples(res) != 1 || PQgetisnull(res, 0, 0)) { pg_fatal("unexpected result set from query\n"); + goto error; + } result = pg_strdup(PQgetvalue(res, 0, 0)); PQclear(res); return result; + +error: + PQclear(res); + return result; } /* @@ -185,93 +200,32 @@ void libpqRequestCheckpoint(void) /* * Calls pg_current_xlog_insert_location() function */ -XLogRecPtr libpqGetCurrentXlogInsertLocation(void) +XLogRecPtr libpqGetCurrentXlogFlushLocation(void) { - XLogRecPtr result; + XLogRecPtr result = InvalidXLogRecPtr; uint32 hi = 0; uint32 lo = 0; char* val = NULL; - val = run_simple_query("SELECT pg_current_xlog_insert_location()"); - if (sscanf_s(val, "%X/%X", &hi, &lo) != 2) + val = run_simple_query("SELECT pg_get_flush_lsn()"); + if (val == NULL) { + pg_fatal("Could not get source flush lsn.\n"); + goto error; + } + if (sscanf_s(val, "%X/%X", &hi, &lo) != 2) { pg_fatal("unrecognized result \"%s\" for current XLOG insert location\n", val); - + goto error; + } result = ((uint64)hi) << 32 | lo; free(val); val = NULL; return result; -} -/* - * Get physical slot. - */ -void libpqGetSourceSlot(XLogRecPtr* recptr) -{ - PGresult* res = NULL; - const char* sql = NULL; - int i; - uint32 hi = 0; - uint32 lo = 0; - - sql = "select * from pg_get_replication_slots();"; - res = PQexec(conn, sql); - - if (PQresultStatus(res) != PGRES_TUPLES_OK) { - pg_log(PG_ERROR, "could not fetch file list: %s", PQresultErrorMessage(res)); - return; - } - - /* sanity check the result set */ - if (PQnfields(res) != 9) { - PQclear(res); - pg_fatal("unexpected result set while fetching file list\n"); - } - - /* Read result to local variables */ - for (i = 0; i < PQntuples(res); i++) { - char* slot_name = PQgetvalue(res, i, 0); - if (strcmp(slot_name, source_slot_name) != 0) { - continue; - } - char* val = PQgetvalue(res, i, 7); - if (sscanf_s(val, "%X/%X", &hi, &lo) != 2) { - pg_log(PG_PROGRESS, "unrecognized result \"%s\" for slot restart_lsn\n", val); - } - *recptr = ((uint64)hi) << 32 | lo; - break; - } - PQclear(res); - res = NULL; - return; -} - -/* - * Get remote physical slot name. - */ -char* libpqGetTargetSlotName() -{ - PGresult* res = NULL; - const char* sql = NULL; - char* target_slot_name = NULL; - - sql = "select * from pg_get_replication_slot_name();"; - res = PQexec(conn, sql); - - if (PQresultStatus(res) != PGRES_TUPLES_OK) { - pg_log(PG_ERROR, "could not fetch pg_get_replication_slot_name list: %s", PQresultErrorMessage(res)); - } - - /* sanity check the result set */ - if (PQnfields(res) != 1) { - PQclear(res); - res = NULL; - pg_fatal("unexpected result set while fetching pg_get_replication_slot_name list\n"); - } - target_slot_name = pg_strdup(PQgetvalue(res, 0, 0)); - PQclear(res); - return target_slot_name; +error: + free(val); + return result; } /* @@ -283,7 +237,7 @@ BuildErrorCode fetchSourceFileList() const char* sql = NULL; int i; BuildErrorCode rv = BUILD_SUCCESS; - + /* * Create a recursive directory listing of the whole data directory. * @@ -309,6 +263,7 @@ BuildErrorCode fetchSourceFileList() pg_fatal("unexpected result set while fetching file list\n"); PG_CHECKBUILD_AND_FREE_PGRESULT_RETURN(res); } + /* wait for local stat */ rv = waitEndTargetFileStatThread(); PG_CHECKRETURN_AND_FREE_PGRESULT_RETURN(rv, res); @@ -436,7 +391,7 @@ static BuildErrorCode receiveFileChunks(const char* sql, FILE* file) /* Read result set to local variables */ errorno = memcpy_s(&chunkoff, sizeof(int64), PQgetvalue(res, 0, 1), sizeof(int64)); securec_check_c(errorno, "\0", "\0"); - chunkoff = ntohl64(chunkoff); + chunkoff = (int64)ntohl64((uint64)chunkoff); chunksize = PQgetlength(res, 0, 2); filenamelen = PQgetlength(res, 0, 0); @@ -467,8 +422,10 @@ static BuildErrorCode receiveFileChunks(const char* sql, FILE* file) continue; } - pg_log(PG_DEBUG, "received chunk for file \"%s\", offset " INT64_FORMAT ", size %d\n", filename, chunkoff, chunksize); - fprintf(file, "received chunk for file \"%s\", offset " INT64_FORMAT ", size %d\n", filename, chunkoff, chunksize); + pg_log(PG_DEBUG, "received chunk for file \"%s\", offset " INT64_FORMAT ", size %d\n", + filename, chunkoff, chunksize); + fprintf(file, "received chunk for file \"%s\", offset " INT64_FORMAT ", size %d\n", + filename, chunkoff, chunksize); open_target_file(filename, false); pg_free(filename); @@ -498,23 +455,20 @@ char* fetchFile(char* filename, size_t* filesize) if (PQresultStatus(res) != PGRES_TUPLES_OK) { pg_log(PG_ERROR, "could not fetch remote file \"%s\": %s", filename, PQresultErrorMessage(res)); - PQclear(res); - res = NULL; + goto error; } /* sanity check the result set */ if (PQntuples(res) != 1 || PQgetisnull(res, 0, 0)) { pg_fatal("unexpected result set while fetching remote file \"%s\"\n", filename); - PQclear(res); - res = NULL; + goto error; } /* Read result to local variables */ len = PQgetlength(res, 0, 0); if (len < 0 || len > max_file_size) { pg_fatal("unexpected file size of remote file \"%s\"\n", filename); - PQclear(res); - res = NULL; + goto error; } result = (char*)pg_malloc(len + 1); errorno = memcpy_s(result, len + 1, PQgetvalue(res, 0, 0), len); @@ -530,6 +484,11 @@ char* fetchFile(char* filename, size_t* filesize) res = NULL; return result; + +error: + PQclear(res); + res = NULL; + return result; } /* @@ -607,9 +566,6 @@ BuildErrorCode executeFileMap(filemap_t* map, FILE* file) /* If this is a relation file, copy the modified blocks */ execute_pagemap(&entry->pagemap, entry->path, file); PG_CHECKBUILD_AND_FREE_PGRESULT_RETURN(res); - if (strcmp(entry->path, "pg_xlog") == 0) { - pg_log(PG_PROGRESS, "pg_xlog type %d.\n", entry->type); - } switch (entry->action) { case FILE_ACTION_NONE: @@ -679,86 +635,6 @@ BuildErrorCode executeFileMap(filemap_t* map, FILE* file) return receiveFileChunks(sql, file); } -/* - * Fetch all the required replication data blocks from remote source data directory. - */ -BuildErrorCode executeWalDataMap(filemap_t* map) -{ - file_entry_t* entry = NULL; - const char* sql = NULL; - PGresult* res = NULL; - int i; - - /* - * First create a temporary table, and load it with the blocks that we - * need to fetch. - */ - sql = "CREATE TEMPORARY TABLE fetchchunks_ws(path text, begin int4, len int4);"; - res = PQexec(conn, sql); - - if (PQresultStatus(res) != PGRES_COMMAND_OK) { - pg_fatal("could not create temporary table: %s", PQresultErrorMessage(res)); - PG_CHECKBUILD_AND_FREE_PGRESULT_RETURN(res); - } - - sql = "COPY fetchchunks_ws FROM STDIN"; - res = PQexec(conn, sql); - - if (PQresultStatus(res) != PGRES_COPY_IN) { - pg_fatal("could not send file list: %s", PQresultErrorMessage(res)); - PG_CHECKBUILD_AND_FREE_PGRESULT_RETURN(res); - } - - for (i = 0; i < map->narray; i++) { - entry = map->array[i]; - - /* report all the path to check whether it's correct */ - pg_log(PG_DEBUG, "path: %s, type: %d, action: %d\n", entry->path, entry->type, entry->action); - - /* If this is a relation file, copy the modified blocks */ - if (entry->isrelfile) - execute_waldatamap(&entry->pagemap, entry->path, entry->block_size); - } - - if (PQputCopyEnd(conn, NULL) != 1) { - pg_fatal("could not send end-of-COPY: %s", PQerrorMessage(conn)); - PG_CHECKBUILD_AND_FREE_PGRESULT_RETURN(res); - } - - while ((res = PQgetResult(conn)) != NULL) { - if (PQresultStatus(res) != PGRES_COMMAND_OK) { - pg_fatal("unexpected result while sending file list: %s", PQresultErrorMessage(res)); - PG_CHECKBUILD_AND_FREE_PGRESULT_RETURN(res); - } - PQclear(res); - } - - /* - * We've now copied the list of file ranges that we need to fetch to the - * temporary table. Now, actually fetch all of those ranges. - */ - sql = "SELECT path, begin, \n" - " pg_read_binary_file(path, begin, len, true) AS chunk\n" - "FROM fetchchunks_ws\n"; - - return receiveFileChunks(sql, NULL); -} - -static void execute_waldatamap(datapagemap_t* pagemap, const char* path, size_t block_size) -{ - datapagemap_iterator_t* iter = NULL; - BlockNumber blkno; - off_t offset; - - iter = datapagemap_iterate(pagemap); - while (datapagemap_next(iter, &blkno)) { - offset = blkno * block_size; - - fetch_file_range(path, offset, offset + block_size); - } - pg_free(iter); -} - /* * Backup all relevant blocks from local target data directory. */ @@ -1124,6 +1000,9 @@ bool checkDummyStandbyConnection(void) res = PQexec(conn, "select peer_role, state from pg_stat_get_wal_senders()"); if (PQresultStatus(res) != PGRES_TUPLES_OK) { pg_log(PG_ERROR, "could not get dummystandby connection status on source: %s", PQresultErrorMessage(res)); + PQclear(res); + res = NULL; + return ret; } /* Read result with keyword "Secondary" and "Streaming" */ diff --git a/src/bin/pg_rewind/fetch.h b/src/bin/pg_rewind/fetch.h old mode 100755 new mode 100644 index 91a2b5d60..633a25d76 --- a/src/bin/pg_rewind/fetch.h +++ b/src/bin/pg_rewind/fetch.h @@ -33,19 +33,15 @@ extern PGconn* conn; */ extern BuildErrorCode fetchSourceFileList(); extern char* fetchFile(char* filename, size_t* filesize); -extern BuildErrorCode executeWalDataMap(filemap_t* map); extern BuildErrorCode executeFileMap(filemap_t* map, FILE *file); extern BuildErrorCode libpqConnect(const char* connstr); extern bool checkDummyStandbyConnection(void); extern void libpqDisconnect(void); extern BuildErrorCode libpqGetParameters(void); -extern XLogRecPtr libpqGetCurrentXlogInsertLocation(void); +extern XLogRecPtr libpqGetCurrentXlogFlushLocation(void); -extern void libpqGetSourceSlot(XLogRecPtr* recptr); extern void libpqRequestCheckpoint(void); -extern char* libpqGetTargetSlotName(); - typedef void (*process_file_callback_t)(const char* path, file_type_t type, size_t size, const char* link_target); extern BuildErrorCode traverse_datadir(const char* datadir, process_file_callback_t callback); diff --git a/src/bin/pg_rewind/file_ops.cpp b/src/bin/pg_rewind/file_ops.cpp old mode 100755 new mode 100644 diff --git a/src/bin/pg_rewind/file_ops.h b/src/bin/pg_rewind/file_ops.h old mode 100755 new mode 100644 diff --git a/src/bin/pg_rewind/filemap.cpp b/src/bin/pg_rewind/filemap.cpp index f809c2afb..0b98a2f83 100644 --- a/src/bin/pg_rewind/filemap.cpp +++ b/src/bin/pg_rewind/filemap.cpp @@ -72,6 +72,8 @@ const char *excludeFiles[] = { "gaussdb.state", "pg_errorinfo", "pg_location", + "pg_xlog", + "pg_copydir", "config_exec_params", "delay_xlog_recycle", "delay_ddl_recycle", diff --git a/src/bin/pg_rewind/filemap.h b/src/bin/pg_rewind/filemap.h old mode 100755 new mode 100644 diff --git a/src/bin/pg_rewind/logging.cpp b/src/bin/pg_rewind/logging.cpp old mode 100755 new mode 100644 diff --git a/src/bin/pg_rewind/logging.h b/src/bin/pg_rewind/logging.h old mode 100755 new mode 100644 diff --git a/src/bin/pg_rewind/parsexlog.cpp b/src/bin/pg_rewind/parsexlog.cpp old mode 100755 new mode 100644 diff --git a/src/bin/pg_rewind/pg_rewind.cpp b/src/bin/pg_rewind/pg_rewind.cpp old mode 100755 new mode 100644 index fd74297a9..1c95c200b --- a/src/bin/pg_rewind/pg_rewind.cpp +++ b/src/bin/pg_rewind/pg_rewind.cpp @@ -43,6 +43,7 @@ static void digestControlFile(ControlFileData* ControlFile, const char* source); static BuildErrorCode updateControlFile(ControlFileData* ControlFile); static BuildErrorCode sanityChecks(void); static void rewind_dw_file(); +static BuildErrorCode MoveOldXlogFiles(uint32 checkSeg, const char* newPath); static ControlFileData ControlFile_target; static ControlFileData ControlFile_source; @@ -70,7 +71,6 @@ BuildErrorCode gs_increment_build(const char* pgdata, const char* connstr, char* char* buffer = NULL; XLogRecPtr startrec; XLogRecPtr endrec; - XLogRecPtr maxrec; ControlFileData ControlFile_new; int fd = -1; FILE* file = NULL; @@ -81,12 +81,11 @@ BuildErrorCode gs_increment_build(const char* pgdata, const char* connstr, char* char xlog_start[MAXFNAMELEN] = {0}; char xlog_end[MAXFNAMELEN] = {0}; char xlog_location[MAXPGPATH] = {0}; + char movedXlogPath[MAXPGPATH] = {0}; int nRet = 0; errno_t errorno = EOK; - char returnmsg[XLOG_READER_MAX_MSGLENTH] = {0}; GaussState state; BuildErrorCode rv = BUILD_SUCCESS; - pg_crc32 maxLsnCrc = 0; datadir_target = pg_strdup(pgdata); /* here we set basedir for last xlog requests purpose. the value is the datadir */ @@ -159,6 +158,10 @@ BuildErrorCode gs_increment_build(const char* pgdata, const char* connstr, char* nRet = snprintf_s(bkup_filemap, MAXPGPATH, MAXPGPATH - 1, "%s/pg_rewind_filemap", datadir_target); securec_check_ss_c(nRet, "", ""); + /* stat file 5: moved old xlog dir */ + nRet = snprintf_s(movedXlogPath, MAXPGPATH, MAXPGPATH - 1, "%s/pg_xlog", bkup_file); + securec_check_ss_c(nRet, "", ""); + errorno = memset_s(&state, sizeof(state), 0, sizeof(state)); securec_check_c(errorno, "\0", "\0"); state.mode = STANDBY_MODE; @@ -243,6 +246,7 @@ BuildErrorCode gs_increment_build(const char* pgdata, const char* connstr, char* (uint32)(chkptredo >> 32), (uint32)chkptredo, chkpttli); + XLByteToSeg(chkptredo, checkSeg); XLogFileName(divergeXlogFileName, chkpttli, checkSeg); pg_log(PG_PROGRESS, "diverge xlogfile is %s, older ones will not be copied or removed.\n", divergeXlogFileName); @@ -307,6 +311,15 @@ BuildErrorCode gs_increment_build(const char* pgdata, const char* connstr, char* PG_CHECKRETURN_AND_RETURN(rv); pg_log(PG_PROGRESS, "backup target files success\n"); + MoveOldXlogFiles(checkSeg, movedXlogPath); + PG_CHECKBUILD_AND_RETURN(); + pg_log(PG_WARNING, _("starting background WAL receiver\n")); + nRet = snprintf_s(xlog_start, MAXFNAMELEN, MAXFNAMELEN - 1, "%X/%X", (uint32)(chkptredo >> 32), (uint32)chkptredo); + securec_check_ss_c(nRet, "", ""); + get_xlog_location(xlog_location); + pg_log(PG_PROGRESS, "Starting copy xlog, start point: %s\n", xlog_start); + StartLogStreamer(xlog_start, timeline, sysidentifier, (const char*)xlog_location, term); + /* Create build_complete.start file first */ canonicalize_path(start_file); if ((fd = open(start_file, O_WRONLY | O_CREAT | O_EXCL, 0600)) < 0) { @@ -336,15 +349,6 @@ BuildErrorCode gs_increment_build(const char* pgdata, const char* connstr, char* progress_report(true); - /* Check if recoreds at chkptredo and chkptrec are valid. */ - (void)readOneRecord(datadir_target, chkptredo, chkpttli); - PG_CHECKBUILD_AND_RETURN(); - pg_log(PG_PROGRESS, "read checkpoint redo (%X/%X) success.\n", (uint32)(chkptredo >> 32), (uint32)chkptredo); - - (void)readOneRecord(datadir_target, chkptrec, chkpttli); - PG_CHECKBUILD_AND_RETURN(); - pg_log(PG_PROGRESS, "read checkpoint rec (%X/%X) success.\n", (uint32)(chkptrec >> 32), (uint32)chkptrec); - /* * Update control file of target. Make it ready to perform archive * recovery when restarting. @@ -359,25 +363,18 @@ BuildErrorCode gs_increment_build(const char* pgdata, const char* connstr, char* */ errorno = memcpy_s(&ControlFile_new, sizeof(ControlFileData), &ControlFile_source, sizeof(ControlFileData)); securec_check_c(errorno, "\0", "\0"); - maxrec = FindMaxLSN(datadir_target, returnmsg, XLOG_READER_MAX_MSGLENTH, &maxLsnCrc); - if (replication_type == RT_WITH_DUMMY_STANDBY) { - endrec = maxrec; - if(XLogRecPtrIsInvalid(endrec)) { - pg_fatal("find max lsn fail, need full build, errmsg: %s\n", returnmsg); - return BUILD_FATAL; - } - pg_log(PG_PROGRESS, "find minRecoveryPoint success, %s\n", returnmsg); + + if (connstr_source != NULL) { + endrec = libpqGetCurrentXlogFlushLocation(); + PG_CHECKBUILD_AND_RETURN(); + pg_log(PG_PROGRESS, "find minRecoveryPoint success from xlog insert location %X/%X\n", + (uint32) (endrec >> 32), (uint32) endrec); } else { - if (connstr_source != NULL) { - endrec = libpqGetCurrentXlogInsertLocation(); - pg_log(PG_PROGRESS, "find minRecoveryPoint success from xlog insert location %X/%X\n", - (uint32) (endrec >> 32), (uint32) endrec); - } else { - endrec = ControlFile_source.checkPoint; - pg_log(PG_PROGRESS, "find minRecoveryPoint success from checkpoint location %X/%X\n", - (uint32) (endrec >> 32), (uint32) endrec); - } + endrec = ControlFile_source.checkPoint; + pg_log(PG_PROGRESS, "find minRecoveryPoint success from checkpoint location %X/%X\n", + (uint32) (endrec >> 32), (uint32) endrec); } + ControlFile_new.minRecoveryPoint = endrec; ControlFile_new.state = DB_IN_ARCHIVE_RECOVERY; rv = updateControlFile(&ControlFile_new); @@ -397,13 +394,8 @@ BuildErrorCode gs_increment_build(const char* pgdata, const char* connstr, char* libpqDisconnect(); } - pg_log(PG_WARNING, _("starting background WAL receiver\n")); - nRet = snprintf_s(xlog_start, MAXFNAMELEN, MAXFNAMELEN - 1, "%X/%X", (uint32)(maxrec >> 32), (uint32)maxrec); - securec_check_ss_c(nRet, "", ""); nRet = snprintf_s(xlog_end, MAXFNAMELEN, MAXFNAMELEN - 1, "%X/%X", (uint32)(endrec >> 32), (uint32)endrec); securec_check_ss_c(nRet, "", ""); - get_xlog_location(xlog_location); - StartLogStreamer(xlog_start, timeline, sysidentifier, (const char*)xlog_location, term); /* * Run IDENTIFY_MAXLSN to get end lsn @@ -452,6 +444,15 @@ BuildErrorCode gs_increment_build(const char* pgdata, const char* connstr, char* PG_CHECKRETURN_AND_RETURN(rv); pg_log(PG_PROGRESS, "create backup label success\n"); + /* Check if recoreds at chkptredo and chkptrec are valid. */ + (void)readOneRecord(datadir_target, chkptredo, chkpttli); + PG_CHECKBUILD_AND_RETURN(); + pg_log(PG_PROGRESS, "read checkpoint redo (%X/%X) success.\n", (uint32)(chkptredo >> 32), (uint32)chkptredo); + + (void)readOneRecord(datadir_target, chkptrec, chkpttli); + PG_CHECKBUILD_AND_RETURN(); + pg_log(PG_PROGRESS, "read checkpoint rec (%X/%X) success.\n", (uint32)(chkptrec >> 32), (uint32)chkptrec); + /* Rename build_complete.start file to build_complete.done file */ if (rename(start_file, done_file) < 0) { pg_fatal("failed to rename \"%s\" to \"%s\": %s\n", TAG_START, TAG_DONE, strerror(errno)); @@ -460,6 +461,7 @@ BuildErrorCode gs_increment_build(const char* pgdata, const char* connstr, char* /* Remove pg_rewind_bak dir */ delete_all_file(bkup_file, true); + PG_CHECKBUILD_AND_RETURN(); if (datadir_target != NULL) { free(datadir_target); @@ -734,3 +736,71 @@ static void rewind_dw_file() close(fd); } +/* move xlog files which are after CommonCheckpoint to another dir for finding rewind block */ +static BuildErrorCode MoveOldXlogFiles(uint32 checkSeg, const char* newPath) +{ + char xlogLocation[MAXPGPATH] = {0}; + char movedXlogFile[MAXPGPATH] = {0}; + char movedXlogLocation[MAXPGPATH] = {0}; + char realMovedPath[PATH_MAX] = {0}; + char realXlogPath[PATH_MAX] = {0}; + DIR *xlogDir = NULL; + struct dirent *dirEnt = NULL; + TimeLineID tli = 0; + uint32 xlogReadLogid = -1; + uint32 xlogReadLogSeg = -1; + int rc; + int ret = 0; + + rc = snprintf_s(xlogLocation, MAXPGPATH, MAXPGPATH - 1, "%s/%s", datadir_target, "pg_xlog"); + securec_check_ss_c(rc, "\0", "\0"); + if (realpath(xlogLocation, realXlogPath) == NULL && realXlogPath[0] == '\0') { + pg_log(PG_FATAL, "could not get canonical path for file \"%s\": %s in backup\n", xlogLocation, + gs_strerror(errno)); + return BUILD_FATAL; + } + + xlogDir = opendir(realXlogPath); + if (!xlogDir) { + pg_log(PG_ERROR, "open xlog dir %s failed when move old xlog files.\n", realXlogPath); + return BUILD_ERROR; + } + while ((dirEnt = readdir(xlogDir)) != NULL) { + if (strlen(dirEnt->d_name) == 24 && strspn(dirEnt->d_name, "0123456789ABCDEF") == 24) { + if (sscanf_s(dirEnt->d_name, "%08X%08X%08X", &tli, &xlogReadLogid, &xlogReadLogSeg) != 3) { + pg_log(PG_DEBUG, "failed to translate name to xlog: %s\n", dirEnt->d_name); + continue; + } + if ((checkSeg / XLogSegmentsPerXLogId) < xlogReadLogid || + ((checkSeg / XLogSegmentsPerXLogId) == xlogReadLogid && + (checkSeg % XLogSegmentsPerXLogId) <= xlogReadLogSeg)) { + rc = snprintf_s(movedXlogFile, MAXPGPATH, MAXPGPATH - 1, "%s/%s", realXlogPath, dirEnt->d_name); + securec_check_ss_c(rc, "\0", "\0"); + rc = snprintf_s(movedXlogLocation, MAXPGPATH, MAXPGPATH - 1, "%s/%s", newPath, dirEnt->d_name); + securec_check_ss_c(rc, "\0", "\0"); + if (!is_file_exist(newPath)) { + if (mkdir(newPath, S_IRWXU) != 0) { + pg_log(PG_ERROR, "could not create directory \"%s\"\n", newPath); + (void)closedir(xlogDir); + return BUILD_ERROR; + } + } + if (realpath(movedXlogLocation, realMovedPath) == NULL && realMovedPath[0] == '\0') { + pg_log(PG_FATAL, "could not get canonical path for file \"%s\": %s in backup\n", + movedXlogLocation, gs_strerror(errno)); + (void)closedir(xlogDir); + return BUILD_FATAL; + } + ret = rename(movedXlogFile, realMovedPath); + if (ret != 0) { + pg_log(PG_ERROR, "failed to rename xlog file: %s\n", movedXlogFile); + (void)closedir(xlogDir); + return BUILD_ERROR; + } + } + } + } + (void)closedir(xlogDir); + return BUILD_SUCCESS; +} + diff --git a/src/bin/pg_rewind/pg_rewind.h b/src/bin/pg_rewind/pg_rewind.h old mode 100755 new mode 100644 diff --git a/src/bin/pg_upgrade/pg_format_cu.cpp b/src/bin/pg_upgrade/pg_format_cu.cpp old mode 100755 new mode 100644 diff --git a/src/bin/pgxc_clean/pgxc_clean.cpp b/src/bin/pgxc_clean/pgxc_clean.cpp old mode 100755 new mode 100644 diff --git a/src/bin/pgxc_clean/pgxc_clean.h b/src/bin/pgxc_clean/pgxc_clean.h old mode 100755 new mode 100644 diff --git a/src/bin/pgxc_clean/txninfo.cpp b/src/bin/pgxc_clean/txninfo.cpp index 96075044c..c7f40400f 100644 --- a/src/bin/pgxc_clean/txninfo.cpp +++ b/src/bin/pgxc_clean/txninfo.cpp @@ -253,7 +253,7 @@ static char* parse_gid_info(const char* gid, txn_info* txn) txn->gid = (char*)malloc(sizeof(char) * (end_loc + 1)); if (txn->gid == NULL) { - free(txn); + /* caller will free the memory of txn */ return NULL; } errorno = strncpy_s(txn->gid, (end_loc + 1), gid, end_loc); diff --git a/src/bin/psql/Makefile b/src/bin/psql/Makefile index 6c421a302..edfae92bf 100644 --- a/src/bin/psql/Makefile +++ b/src/bin/psql/Makefile @@ -24,7 +24,7 @@ SGMLDIR= $(top_builddir)/doc/src/sgml override CPPFLAGS := -I. -I$(srcdir) -I$(libpq_srcdir) -I$(top_srcdir)/src/bin/pg_dump -DHAVE_CE $(CPPFLAGS) ifneq ($(enable_multiple_nodes)_$(enable_privategauss), no_no) -CPPFLAGS += -L$(top_builddir)/src/distribute/bin/gs_ktool/ -lgs_ktool -L$(LIBKMC_LIB_PATH) -lkmc +CPPFLAGS += -L$(top_builddir)/src/bin/gs_ktool/ -lgs_ktool -L$(LIBKMC_LIB_PATH) -lkmc endif $(top_builddir)/src/common/interfaces/libpq/client_logic_processor/stmt_processor.o: @@ -70,8 +70,9 @@ FLEXFLAGS = -Cfe -b -p -p all: submake-aes gsql libpq_pgport:=$(subst -lpq,-lpq_ce,$(libpq_pgport)) + ifneq ($(enable_multiple_nodes)_$(enable_privategauss), no_no) -libpq_pgport += -L$(top_builddir)/src/distribute/bin/gs_ktool/ -lgs_ktool -L$(LIBKMC_LIB_PATH) -lkmc +libpq_pgport += -L$(top_builddir)/src/bin/gs_ktool/ -lgs_ktool -L$(LIBKMC_LIB_PATH) -lkmc endif $(top_builddir)/src/lib/elog/elog.a: @@ -99,9 +100,9 @@ sql_help.h: create_help.pl $(wildcard $(REFDOCDIR)/*.sgml) $(PERL) $< $(REFDOCDIR) $* # psqlscan is compiled as part of mainloop -mainloop.o: psqlscan.cpp +mainloop.o: psqlscan.inc -psqlscan.cpp: psqlscan.l +psqlscan.inc: psqlscan.l ifdef FLEX $(FLEX) $(FLEXFLAGS) -o'$@' $< @if [ `wc -l - database server port number * %n - database user name * %/ - current database @@ -171,9 +171,9 @@ char* get_prompt(promptStatus_t status) /* UNIX socket */ else { if ((host == NULL) || strcmp(host, DEFAULT_PGSOCKET_DIR) == 0 || *p == 'm') - strlcpy(buf, "[local]", sizeof(buf)); + strlcpy(buf, "local", sizeof(buf)); else - check_sprintf_s(sprintf_s(buf, sizeof(buf), "[local:%s]", host)); + check_sprintf_s(sprintf_s(buf, sizeof(buf), "local:%s", host)); } #endif } diff --git a/src/bin/psql/startup.cpp b/src/bin/psql/startup.cpp old mode 100755 new mode 100644 index 34ee6d81b..1176d7011 --- a/src/bin/psql/startup.cpp +++ b/src/bin/psql/startup.cpp @@ -186,7 +186,8 @@ int main(int argc, char* argv[]) /* maintance mode is off on default */ pset.maintance = false; - + /* client encryption is off on default */ + pset.enable_client_encryption = false; /* We must get COLUMNS here before readline() sets it */ char* columnsEnvStr = GetEnvStr("COLUMNS"); pset.popt.topt.env_columns = columnsEnvStr != NULL ? atoi(columnsEnvStr) : 0; @@ -583,7 +584,7 @@ static void parse_psql_options(int argc, char* const argv[], struct adhoc_opts* {"port", required_argument, NULL, 'p'}, {"pset", required_argument, NULL, 'P'}, {"quiet", no_argument, NULL, 'q'}, - {"disable-client-logic", no_argument, NULL, 'C'}, + {"enable-client-encryption", no_argument, NULL, 'C'}, {"record-separator", required_argument, NULL, 'R'}, {"record-separator-zero", no_argument, NULL, '0'}, {"single-step", no_argument, NULL, 's'}, diff --git a/src/bin/scripts/clusterdb.cpp b/src/bin/scripts/clusterdb.cpp index 246fc3876..ec822c30d 100644 --- a/src/bin/scripts/clusterdb.cpp +++ b/src/bin/scripts/clusterdb.cpp @@ -225,6 +225,10 @@ static void help(const char* progname) printf(_(" -W, --password force password prompt\n")); printf(_(" --maintenance-db=DBNAME alternate maintenance database\n")); printf(_("\nRead the description of the SQL command CLUSTER for details.\n")); - printf(_("\nReport bugs to .\n")); +#if ((defined(ENABLE_MULTIPLE_NODES)) || (defined(ENABLE_PRIVATEGAUSS))) + printf(_("\nReport bugs to GaussDB support.\n")); +#else + printf(_("\nReport bugs to openGauss community by raising an issue.\n")); +#endif } diff --git a/src/bin/scripts/createdb.cpp b/src/bin/scripts/createdb.cpp index 60fb9448a..e71cc8460 100644 --- a/src/bin/scripts/createdb.cpp +++ b/src/bin/scripts/createdb.cpp @@ -244,5 +244,9 @@ static void help(const char* progname) printf(_(" -W, --password force password prompt\n")); printf(_(" --maintenance-db=DBNAME alternate maintenance database\n")); printf(_("\nBy default, a database with the same name as the current user is created.\n")); - printf(_("\nReport bugs to .\n")); +#if ((defined(ENABLE_MULTIPLE_NODES)) || (defined(ENABLE_PRIVATEGAUSS))) + printf(_("\nReport bugs to GaussDB support.\n")); +#else + printf(_("\nReport bugs to openGauss community by raising an issue.\n")); +#endif } diff --git a/src/bin/scripts/createlang.cpp b/src/bin/scripts/createlang.cpp index 9a357e3ad..596e30cbd 100644 --- a/src/bin/scripts/createlang.cpp +++ b/src/bin/scripts/createlang.cpp @@ -224,6 +224,10 @@ static void help(const char* progname) printf(_(" -U, --username=USERNAME user name to connect as\n")); printf(_(" -w, --no-password never prompt for password\n")); printf(_(" -W, --password force password prompt\n")); - printf(_("\nReport bugs to .\n")); +#if ((defined(ENABLE_MULTIPLE_NODES)) || (defined(ENABLE_PRIVATEGAUSS))) + printf(_("\nReport bugs to GaussDB support.\n")); +#else + printf(_("\nReport bugs to openGauss community by raising an issue.\n")); +#endif } diff --git a/src/bin/scripts/createuser.cpp b/src/bin/scripts/createuser.cpp index 99a1799cb..b68c228a9 100644 --- a/src/bin/scripts/createuser.cpp +++ b/src/bin/scripts/createuser.cpp @@ -376,7 +376,11 @@ static void help(const char* progname_tem) printf(_(" -U, --username=USERNAME user name to connect as (not the one to create)\n")); printf(_(" -w, --no-password never prompt for password\n")); printf(_(" -W, --password force password prompt\n")); - printf(_("\nReport bugs to .\n")); +#if ((defined(ENABLE_MULTIPLE_NODES)) || (defined(ENABLE_PRIVATEGAUSS))) + printf(_("\nReport bugs to GaussDB support.\n")); +#else + printf(_("\nReport bugs to openGauss community by raising an issue.\n")); +#endif } /* diff --git a/src/bin/scripts/dropdb.cpp b/src/bin/scripts/dropdb.cpp index 2304f459f..53bd52000 100644 --- a/src/bin/scripts/dropdb.cpp +++ b/src/bin/scripts/dropdb.cpp @@ -150,5 +150,9 @@ static void help(const char* progname) printf(_(" -w, --no-password never prompt for password\n")); printf(_(" -W, --password force password prompt\n")); printf(_(" --maintenance-db=DBNAME alternate maintenance database\n")); - printf(_("\nReport bugs to .\n")); +#if ((defined(ENABLE_MULTIPLE_NODES)) || (defined(ENABLE_PRIVATEGAUSS))) + printf(_("\nReport bugs to GaussDB support.\n")); +#else + printf(_("\nReport bugs to openGauss community by raising an issue.\n")); +#endif } diff --git a/src/bin/scripts/droplang.cpp b/src/bin/scripts/droplang.cpp index 0255c6dfd..f62874689 100644 --- a/src/bin/scripts/droplang.cpp +++ b/src/bin/scripts/droplang.cpp @@ -229,5 +229,9 @@ static void help(const char* progname) printf(_(" -U, --username=USERNAME user name to connect as\n")); printf(_(" -w, --no-password never prompt for password\n")); printf(_(" -W, --password force password prompt\n")); - printf(_("\nReport bugs to .\n")); +#if ((defined(ENABLE_MULTIPLE_NODES)) || (defined(ENABLE_PRIVATEGAUSS))) + printf(_("\nReport bugs to GaussDB support.\n")); +#else + printf(_("\nReport bugs to openGauss community by raising an issue.\n")); +#endif } diff --git a/src/bin/scripts/dropuser.cpp b/src/bin/scripts/dropuser.cpp index cda2a3286..b7d2e513c 100644 --- a/src/bin/scripts/dropuser.cpp +++ b/src/bin/scripts/dropuser.cpp @@ -148,5 +148,9 @@ static void help(const char* progname) printf(_(" -U, --username=USERNAME user name to connect as (not the one to drop)\n")); printf(_(" -w, --no-password never prompt for password\n")); printf(_(" -W, --password force password prompt\n")); - printf(_("\nReport bugs to .\n")); +#if ((defined(ENABLE_MULTIPLE_NODES)) || (defined(ENABLE_PRIVATEGAUSS))) + printf(_("\nReport bugs to GaussDB support.\n")); +#else + printf(_("\nReport bugs to openGauss community by raising an issue.\n")); +#endif } diff --git a/src/bin/scripts/reindexdb.cpp b/src/bin/scripts/reindexdb.cpp index b8a46360e..818c0384e 100644 --- a/src/bin/scripts/reindexdb.cpp +++ b/src/bin/scripts/reindexdb.cpp @@ -298,6 +298,10 @@ static void help(const char* progname_tem) printf(_(" -W, --password force password prompt\n")); printf(_(" --maintenance-db=DBNAME alternate maintenance database\n")); printf(_("\nRead the description of the SQL command REINDEX for details.\n")); - printf(_("\nReport bugs to .\n")); +#if ((defined(ENABLE_MULTIPLE_NODES)) || (defined(ENABLE_PRIVATEGAUSS))) + printf(_("\nReport bugs to GaussDB support.\n")); +#else + printf(_("\nReport bugs to openGauss community by raising an issue.\n")); +#endif } diff --git a/src/bin/scripts/vacuumdb.cpp b/src/bin/scripts/vacuumdb.cpp index 4fc7d8f95..fd9f178b2 100644 --- a/src/bin/scripts/vacuumdb.cpp +++ b/src/bin/scripts/vacuumdb.cpp @@ -340,6 +340,10 @@ static void help(const char* progname) printf(_(" -W, --password force password prompt\n")); printf(_(" --maintenance-db=DBNAME alternate maintenance database\n")); printf(_("\nRead the description of the SQL command VACUUM for details.\n")); - printf(_("\nReport bugs to .\n")); +#if ((defined(ENABLE_MULTIPLE_NODES)) || (defined(ENABLE_PRIVATEGAUSS))) + printf(_("\nReport bugs to GaussDB support.\n")); +#else + printf(_("\nReport bugs to openGauss community by raising an issue.\n")); +#endif } diff --git a/src/common/backend/catalog/aclchk.cpp b/src/common/backend/catalog/aclchk.cpp old mode 100755 new mode 100644 index fb7d6085e..1fa648a01 --- a/src/common/backend/catalog/aclchk.cpp +++ b/src/common/backend/catalog/aclchk.cpp @@ -339,7 +339,6 @@ static Acl* merge_acl_with_grant(Acl* old_acl, bool is_grant, bool grant_option, return new_acl; } - /* * Restrict the privileges to what we can actually grant, and emit * the standards-mandated warning and error messages. @@ -1777,7 +1776,7 @@ static void ExecGrant_Attribute(InternalGrant* istmt, Oid relOid, const char* re merged_acl = aclconcat(old_rel_acl, old_acl); /* Determine ID to do the grant as, and available grant options */ - /* Need special treatment for relaions in schema dbe_perf */ + /* Need special treatment for relaions in schema dbe_perf and schema snapshot */ Form_pg_class pg_class_tuple = NULL; HeapTuple class_tuple = SearchSysCache1(RELOID, ObjectIdGetDatum(relOid)); if (!HeapTupleIsValid(class_tuple)) { @@ -1789,7 +1788,7 @@ static void ExecGrant_Attribute(InternalGrant* istmt, Oid relOid, const char* re ReleaseSysCache(class_tuple); select_best_grantor(GetUserId(), col_privileges, col_ddl_privileges, merged_acl, ownerId, - &grantorId, &avail_goptions, &avail_ddl_goptions, IsPerformanceNamespace(namespaceId)); + &grantorId, &avail_goptions, &avail_ddl_goptions, IsMonitorSpace(namespaceId)); /* Special treatment for opradmin in operation mode */ if (isOperatoradmin(GetUserId()) && u_sess->attr.attr_security.operation_mode) { @@ -2083,10 +2082,10 @@ static void ExecGrant_Relation(InternalGrant* istmt) AclObjectKind aclkind; /* Determine ID to do the grant as, and available grant options */ - /* Need special treatment for relations in schema dbe_perf */ + /* Need special treatment for relations in schema dbe_perf and schema snapshot */ Oid namespaceId = pg_class_tuple->relnamespace; select_best_grantor(GetUserId(), privileges, ddl_privileges, old_acl, ownerId, - &grantorId, &avail_goptions, &avail_ddl_goptions, IsPerformanceNamespace(namespaceId)); + &grantorId, &avail_goptions, &avail_ddl_goptions, IsMonitorSpace(namespaceId)); /* Special treatment for opradmin in operation mode */ if (isOperatoradmin(GetUserId()) && u_sess->attr.attr_security.operation_mode) { @@ -2715,10 +2714,10 @@ static void ExecGrant_Function(InternalGrant* istmt) } /* Determine ID to do the grant as, and available grant options */ - /* Need special treatment for procs in schema dbe_perf */ + /* Need special treatment for procs in schema dbe_perf and schema snapshot */ Oid namespaceId = pg_proc_tuple->pronamespace; select_best_grantor(GetUserId(), istmt->privileges, istmt->ddl_privileges, old_acl, ownerId, - &grantorId, &avail_goptions, &avail_ddl_goptions, IsPerformanceNamespace(namespaceId)); + &grantorId, &avail_goptions, &avail_ddl_goptions, IsMonitorSpace(namespaceId)); /* * Restrict the privileges to what we can actually grant, and emit the @@ -3155,9 +3154,9 @@ static void ExecGrant_Namespace(InternalGrant* istmt) } /* Determine ID to do the grant as, and available grant options */ - /* Need special treatment for special schema dbe_perf*/ + /* Need special treatment for special schema dbe_perf and schema snapshot*/ select_best_grantor(GetUserId(), istmt->privileges, istmt->ddl_privileges, old_acl, ownerId, - &grantorId, &avail_goptions, &avail_ddl_goptions, IsPerformanceNamespace(nspid)); + &grantorId, &avail_goptions, &avail_ddl_goptions, IsMonitorSpace(nspid)); /* * Restrict the privileges to what we can actually grant, and emit the @@ -4663,7 +4662,7 @@ AclMode pg_attribute_aclmask(Oid table_oid, AttrNumber attnum, Oid roleid, AclMo /* detoast column's ACL if necessary */ acl = DatumGetAclP(aclDatum); - if (IsPerformanceNamespace(namespaceId)) { + if (IsMonitorSpace(namespaceId)) { result = aclmask_dbe_perf(acl, roleid, ownerId, mask, how); } else { result = aclmask(acl, roleid, ownerId, mask, how); @@ -4737,16 +4736,18 @@ AclMode pg_class_aclmask(Oid table_oid, Oid roleid, AclMode mask, AclMaskHow how mask &= ~(ACL_INSERT | ACL_UPDATE | ACL_DELETE | ACL_TRUNCATE | ACL_USAGE); } - /* For relations in schema dbe_perf, initial user and monitorsdmin bypass all permission-checking. */ + /* For relations in schema dbe_perf and schema snapshot, + * initial user and monitorsdmin bypass all permission-checking. + */ Oid namespaceId = classForm->relnamespace; - if (IsPerformanceNamespace(namespaceId) && (roleid == INITIAL_USER_ID || isMonitoradmin(roleid))) { + if (IsMonitorSpace(namespaceId) && (roleid == INITIAL_USER_ID || isMonitoradmin(roleid))) { ReleaseSysCache(tuple); return mask; } /* Otherwise, superusers bypass all permission-checking, except access independent role's objects. */ /* Database Security: Support separation of privilege. */ - if (!is_ddl_privileges && !IsPerformanceNamespace(namespaceId) && (superuser_arg(roleid) || systemDBA_arg(roleid)) && + if (!is_ddl_privileges && !IsMonitorSpace(namespaceId) && (superuser_arg(roleid) || systemDBA_arg(roleid)) && ((classForm->relowner == roleid) || !is_role_independent(classForm->relowner) || independent_priv_aclcheck(mask, classForm->relkind))) { #ifdef ACLDEBUG @@ -4818,7 +4819,7 @@ AclMode pg_class_aclmask(Oid table_oid, Oid roleid, AclMode mask, AclMaskHow how if (is_ddl_privileges) { mask = ADD_DDL_FLAG(mask); } - if (IsPerformanceNamespace(namespaceId)) { + if (IsMonitorSpace(namespaceId)) { result = aclmask_dbe_perf(acl, roleid, ownerId, mask, how); } else { result = aclmask(acl, roleid, ownerId, mask, how); @@ -4960,15 +4961,17 @@ AclMode pg_proc_aclmask(Oid proc_oid, Oid roleid, AclMode mask, AclMaskHow how, ownerId = ((Form_pg_proc)GETSTRUCT(tuple))->proowner; - /* For procs in schema dbe_perf, initial user and monitorsdmin bypass all permission-checking. */ + /* For procs in schema dbe_perf and schema snapshot, + * initial user and monitorsdmin bypass all permission-checking. + */ Oid namespaceId = ((Form_pg_proc) GETSTRUCT(tuple))->pronamespace; - if (IsPerformanceNamespace(namespaceId) && (roleid == INITIAL_USER_ID || isMonitoradmin(roleid))) { + if (IsMonitorSpace(namespaceId) && (roleid == INITIAL_USER_ID || isMonitoradmin(roleid))) { ReleaseSysCache(tuple); return REMOVE_DDL_FLAG(mask); } - /* Superusers bypass all permission checking for all procs not in schema dbe_perf. */ + /* Superusers bypass all permission checking for all procs not in schema dbe_perf and schema snapshot. */ /* Database Security: Support separation of privilege.*/ - if (!IsPerformanceNamespace(namespaceId) && (superuser_arg(roleid) || systemDBA_arg(roleid))) { + if (!IsMonitorSpace(namespaceId) && (superuser_arg(roleid) || systemDBA_arg(roleid))) { ReleaseSysCache(tuple); return REMOVE_DDL_FLAG(mask); } @@ -4987,7 +4990,7 @@ AclMode pg_proc_aclmask(Oid proc_oid, Oid roleid, AclMode mask, AclMaskHow how, check_nodegroup_privilege(roleid, ownerId, ACL_USAGE); } - if (IsPerformanceNamespace(namespaceId)) { + if (IsMonitorSpace(namespaceId)) { result = aclmask_dbe_perf(acl, roleid, ownerId, mask, how); } else { result = aclmask(acl, roleid, ownerId, mask, how); @@ -5222,7 +5225,6 @@ AclMode pg_largeobject_aclmask_snapshot(Oid lobj_oid, Oid roleid, AclMode mask, return result; } - /* * Exported routine for examining a user's privileges for a namespace */ @@ -5237,10 +5239,10 @@ AclMode pg_namespace_aclmask(Oid nsp_oid, Oid roleid, AclMode mask, AclMaskHow h /* * The initial user bypass all permission checking. - * Sysadmin bypass all permission checking except for schema dbe_perf. - * Monitoradmin can always bypass permission checking for schema dbe_perf. + * Sysadmin bypass all permission checking except for schema dbe_perf and schema snapshot. + * Monitoradmin can always bypass permission checking for schema dbe_perf and schema snapshot. */ - if (nsp_oid == PG_DBEPERF_NAMESPACE) { + if (IsMonitorSpace(nsp_oid)) { if (isMonitoradmin(roleid) || roleid == INITIAL_USER_ID) { return REMOVE_DDL_FLAG(mask); } @@ -5300,7 +5302,7 @@ AclMode pg_namespace_aclmask(Oid nsp_oid, Oid roleid, AclMode mask, AclMaskHow h check_nodegroup_privilege(roleid, ownerId, mask); } - if (nsp_oid == PG_DBEPERF_NAMESPACE) { + if (IsMonitorSpace(nsp_oid)) { result = aclmask_dbe_perf(acl, roleid, ownerId, mask, how); } else { result = aclmask(acl, roleid, ownerId, mask, how); diff --git a/src/common/backend/catalog/builtin_funcs.ini b/src/common/backend/catalog/builtin_funcs.ini old mode 100644 new mode 100755 index 359cbbd5d..f8d91a291 --- a/src/common/backend/catalog/builtin_funcs.ini +++ b/src/common/backend/catalog/builtin_funcs.ini @@ -1,1509 +1,1509 @@ AddFuncGroup( "abbrev", 2, - AddBuiltinFunc(_0(598), _1("abbrev"), _2(1), _3(true), _4(false), _5(inet_abbrev), _6(25), _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(1, 869), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("inet_abbrev"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(599), _1("abbrev"), _2(1), _3(true), _4(false), _5(cidr_abbrev), _6(25), _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(1, 650), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cidr_abbrev"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(598), _1("abbrev"), _2(1), _3(true), _4(false), _5(inet_abbrev), _6(25), _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(1, 869), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("inet_abbrev"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(599), _1("abbrev"), _2(1), _3(true), _4(false), _5(cidr_abbrev), _6(25), _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(1, 650), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cidr_abbrev"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "abs", 6, - AddBuiltinFunc(_0(1394), _1("abs"), _2(1), _3(true), _4(false), _5(float4abs), _6(700), _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(1, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float4abs"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1395), _1("abs"), _2(1), _3(true), _4(false), _5(float8abs), _6(701), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8abs"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1396), _1("abs"), _2(1), _3(true), _4(false), _5(int8abs), _6(20), _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(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8abs"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1397), _1("abs"), _2(1), _3(true), _4(false), _5(int4abs), _6(23), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4abs"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1398), _1("abs"), _2(1), _3(true), _4(false), _5(int2abs), _6(21), _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(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2abs"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1705), _1("abs"), _2(1), _3(true), _4(false), _5(numeric_abs), _6(1700), _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(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_abs"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1394), _1("abs"), _2(1), _3(true), _4(false), _5(float4abs), _6(700), _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(1, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float4abs"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1395), _1("abs"), _2(1), _3(true), _4(false), _5(float8abs), _6(701), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8abs"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1396), _1("abs"), _2(1), _3(true), _4(false), _5(int8abs), _6(20), _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(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8abs"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1397), _1("abs"), _2(1), _3(true), _4(false), _5(int4abs), _6(23), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4abs"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1398), _1("abs"), _2(1), _3(true), _4(false), _5(int2abs), _6(21), _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(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2abs"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1705), _1("abs"), _2(1), _3(true), _4(false), _5(numeric_abs), _6(1700), _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(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_abs"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "abstime", 2, - AddBuiltinFunc(_0(1180), _1("abstime"), _2(1), _3(true), _4(false), _5(timestamptz_abstime), _6(702), _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(1, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_abstime"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(TIMESTAMP2ABSTIMEFUNCOID), _1("abstime"), _2(1), _3(true), _4(false), _5(timestamp_abstime), _6(702), _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('s'), _19(0), _20(1, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_abstime"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(1180), _1("abstime"), _2(1), _3(true), _4(false), _5(timestamptz_abstime), _6(702), _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(1, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_abstime"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(TIMESTAMP2ABSTIMEFUNCOID), _1("abstime"), _2(1), _3(true), _4(false), _5(timestamp_abstime), _6(702), _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('s'), _19(0), _20(1, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_abstime"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "abstimeeq", 1, - AddBuiltinFunc(_0(251), _1("abstimeeq"), _2(2), _3(true), _4(false), _5(abstimeeq), _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(true), _18('i'), _19(0), _20(2, 702, 702), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("abstimeeq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(251), _1("abstimeeq"), _2(2), _3(true), _4(false), _5(abstimeeq), _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(true), _18('i'), _19(0), _20(2, 702, 702), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("abstimeeq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "abstimege", 1, - AddBuiltinFunc(_0(256), _1("abstimege"), _2(2), _3(true), _4(false), _5(abstimege), _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(true), _18('i'), _19(0), _20(2, 702, 702), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("abstimege"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(256), _1("abstimege"), _2(2), _3(true), _4(false), _5(abstimege), _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(true), _18('i'), _19(0), _20(2, 702, 702), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("abstimege"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "abstimegt", 1, - AddBuiltinFunc(_0(254), _1("abstimegt"), _2(2), _3(true), _4(false), _5(abstimegt), _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(true), _18('i'), _19(0), _20(2, 702, 702), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("abstimegt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(254), _1("abstimegt"), _2(2), _3(true), _4(false), _5(abstimegt), _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(true), _18('i'), _19(0), _20(2, 702, 702), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("abstimegt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "abstimein", 1, - AddBuiltinFunc(_0(ABSTIMEINFUNCOID), _1("abstimein"), _2(1), _3(true), _4(false), _5(abstimein), _6(702), _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('s'), _19(0), _20(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("abstimein"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(ABSTIMEINFUNCOID), _1("abstimein"), _2(1), _3(true), _4(false), _5(abstimein), _6(702), _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('s'), _19(0), _20(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("abstimein"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "abstimele", 1, - AddBuiltinFunc(_0(255), _1("abstimele"), _2(2), _3(true), _4(false), _5(abstimele), _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(true), _18('i'), _19(0), _20(2, 702, 702), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("abstimele"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(255), _1("abstimele"), _2(2), _3(true), _4(false), _5(abstimele), _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(true), _18('i'), _19(0), _20(2, 702, 702), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("abstimele"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "abstimelt", 1, - AddBuiltinFunc(_0(253), _1("abstimelt"), _2(2), _3(true), _4(false), _5(abstimelt), _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(true), _18('i'), _19(0), _20(2, 702, 702), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("abstimelt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(253), _1("abstimelt"), _2(2), _3(true), _4(false), _5(abstimelt), _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(true), _18('i'), _19(0), _20(2, 702, 702), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("abstimelt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "abstimene", 1, - AddBuiltinFunc(_0(252), _1("abstimene"), _2(2), _3(true), _4(false), _5(abstimene), _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(true), _18('i'), _19(0), _20(2, 702, 702), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("abstimene"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(252), _1("abstimene"), _2(2), _3(true), _4(false), _5(abstimene), _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(true), _18('i'), _19(0), _20(2, 702, 702), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("abstimene"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "abstimeout", 1, - AddBuiltinFunc(_0(ABSTIMEOUTFUNCOID), _1("abstimeout"), _2(1), _3(true), _4(false), _5(abstimeout), _6(2275), _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('s'), _19(0), _20(1, 702), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("abstimeout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(ABSTIMEOUTFUNCOID), _1("abstimeout"), _2(1), _3(true), _4(false), _5(abstimeout), _6(2275), _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('s'), _19(0), _20(1, 702), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("abstimeout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "abstimerecv", 1, - AddBuiltinFunc(_0(2462), _1("abstimerecv"), _2(1), _3(true), _4(false), _5(abstimerecv), _6(702), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("abstimerecv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2462), _1("abstimerecv"), _2(1), _3(true), _4(false), _5(abstimerecv), _6(702), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("abstimerecv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "abstimesend", 1, - AddBuiltinFunc(_0(2463), _1("abstimesend"), _2(1), _3(true), _4(false), _5(abstimesend), _6(17), _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(1, 702), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("abstimesend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2463), _1("abstimesend"), _2(1), _3(true), _4(false), _5(abstimesend), _6(17), _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(1, 702), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("abstimesend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "aclcontains", 1, - AddBuiltinFunc(_0(1037), _1("aclcontains"), _2(2), _3(true), _4(false), _5(aclcontains), _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(2, 1034, 1033), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aclcontains"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1037), _1("aclcontains"), _2(2), _3(true), _4(false), _5(aclcontains), _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(2, 1034, 1033), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aclcontains"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "acldefault", 1, - AddBuiltinFunc(_0(3943), _1("acldefault"), _2(2), _3(true), _4(false), _5(acldefault_sql), _6(1034), _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(2, 18, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("acldefault_sql"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3943), _1("acldefault"), _2(2), _3(true), _4(false), _5(acldefault_sql), _6(1034), _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(2, 18, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("acldefault_sql"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "aclexplode", 1, - AddBuiltinFunc(_0(1689), _1("aclexplode"), _2(1), _3(true), _4(true), _5(aclexplode), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(10), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(1, 1034), _21(5, 1034, 26, 26, 25, 16), _22(5, 'i', 'o', 'o', 'o', 'o'), _23(5, "acl", "grantor", "grantee", "privilege_type", "is_grantable"), _24(NULL), _25("aclexplode"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1689), _1("aclexplode"), _2(1), _3(true), _4(true), _5(aclexplode), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(10), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(1, 1034), _21(5, 1034, 26, 26, 25, 16), _22(5, 'i', 'o', 'o', 'o', 'o'), _23(5, "acl", "grantor", "grantee", "privilege_type", "is_grantable"), _24(NULL), _25("aclexplode"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "aclinsert", 1, - AddBuiltinFunc(_0(1035), _1("aclinsert"), _2(2), _3(true), _4(false), _5(aclinsert), _6(1034), _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(2, 1034, 1033), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aclinsert"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1035), _1("aclinsert"), _2(2), _3(true), _4(false), _5(aclinsert), _6(1034), _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(2, 1034, 1033), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aclinsert"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "aclitemeq", 1, - AddBuiltinFunc(_0(1062), _1("aclitemeq"), _2(2), _3(true), _4(false), _5(aclitem_eq), _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(2, 1033, 1033), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aclitem_eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1062), _1("aclitemeq"), _2(2), _3(true), _4(false), _5(aclitem_eq), _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(2, 1033, 1033), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aclitem_eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "aclitemin", 1, - AddBuiltinFunc(_0(1031), _1("aclitemin"), _2(1), _3(true), _4(false), _5(aclitemin), _6(1033), _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('s'), _19(0), _20(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aclitemin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1031), _1("aclitemin"), _2(1), _3(true), _4(false), _5(aclitemin), _6(1033), _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('s'), _19(0), _20(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aclitemin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "aclitemout", 1, - AddBuiltinFunc(_0(1032), _1("aclitemout"), _2(1), _3(true), _4(false), _5(aclitemout), _6(2275), _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('s'), _19(0), _20(1, 1033), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aclitemout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1032), _1("aclitemout"), _2(1), _3(true), _4(false), _5(aclitemout), _6(2275), _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('s'), _19(0), _20(1, 1033), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aclitemout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "aclremove", 1, - AddBuiltinFunc(_0(1036), _1("aclremove"), _2(2), _3(true), _4(false), _5(aclremove), _6(1034), _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(2, 1034, 1033), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aclremove"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1036), _1("aclremove"), _2(2), _3(true), _4(false), _5(aclremove), _6(1034), _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(2, 1034, 1033), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aclremove"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "acos", 1, - AddBuiltinFunc(_0(1601), _1("acos"), _2(1), _3(true), _4(false), _5(dacos), _6(701), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dacos"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1601), _1("acos"), _2(1), _3(true), _4(false), _5(dacos), _6(701), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dacos"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "add_months", 1, - AddBuiltinFunc(_0(4074), _1("add_months"), _2(2), _3(true), _4(false), _5(add_months), _6(1114), _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(2, 1114, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("add_months"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4074), _1("add_months"), _2(2), _3(true), _4(false), _5(add_months), _6(1114), _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(2, 1114, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("add_months"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "age", 5, - AddBuiltinFunc(_0(1181), _1("age"), _2(1), _3(true), _4(false), _5(xid_age), _6(23), _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('s'), _19(0), _20(1, 28), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("xid_age"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1199), _1("age"), _2(2), _3(true), _4(false), _5(timestamptz_age), _6(1186), _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(2, 1184, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_age"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(AGEDATETOTIMETZFUNCOID), _1("age"), _2(1), _3(true), _4(false), _5(NULL), _6(1186), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(1, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select pg_catalog.age(cast(current_date as timestamp with time zone), $1)"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")), - AddBuiltinFunc(_0(2058), _1("age"), _2(2), _3(true), _4(false), _5(timestamp_age), _6(1186), _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(2, 1114, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_age"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(AGEDATETOTIMEFUNCOID), _1("age"), _2(1), _3(true), _4(false), _5(NULL), _6(1186), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(1, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select pg_catalog.age(cast(current_date as timestamp without time zone), $1)"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(1181), _1("age"), _2(1), _3(true), _4(false), _5(xid_age), _6(23), _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('s'), _19(0), _20(1, 28), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("xid_age"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1199), _1("age"), _2(2), _3(true), _4(false), _5(timestamptz_age), _6(1186), _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(2, 1184, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_age"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(AGEDATETOTIMETZFUNCOID), _1("age"), _2(1), _3(true), _4(false), _5(NULL), _6(1186), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(1, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select pg_catalog.age(cast(current_date as timestamp with time zone), $1)"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2058), _1("age"), _2(2), _3(true), _4(false), _5(timestamp_age), _6(1186), _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(2, 1114, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_age"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(AGEDATETOTIMEFUNCOID), _1("age"), _2(1), _3(true), _4(false), _5(NULL), _6(1186), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(1, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select pg_catalog.age(cast(current_date as timestamp without time zone), $1)"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "any_in", 1, - AddBuiltinFunc(_0(2294), _1("any_in"), _2(1), _3(true), _4(false), _5(any_in), _6(2276), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("any_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2294), _1("any_in"), _2(1), _3(true), _4(false), _5(any_in), _6(2276), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("any_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "any_out", 1, - AddBuiltinFunc(_0(2295), _1("any_out"), _2(1), _3(true), _4(false), _5(any_out), _6(2275), _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(1, 2276), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("any_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2295), _1("any_out"), _2(1), _3(true), _4(false), _5(any_out), _6(2275), _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(1, 2276), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("any_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "anyarray_in", 1, - AddBuiltinFunc(_0(ANYARRAYINFUNCOID), _1("anyarray_in"), _2(1), _3(true), _4(false), _5(anyarray_in), _6(2277), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("anyarray_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(ANYARRAYINFUNCOID), _1("anyarray_in"), _2(1), _3(true), _4(false), _5(anyarray_in), _6(2277), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("anyarray_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "anyarray_out", 1, - AddBuiltinFunc(_0(2297), _1("anyarray_out"), _2(1), _3(true), _4(false), _5(anyarray_out), _6(2275), _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('s'), _19(0), _20(1, 2277), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("anyarray_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2297), _1("anyarray_out"), _2(1), _3(true), _4(false), _5(anyarray_out), _6(2275), _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('s'), _19(0), _20(1, 2277), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("anyarray_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "anyarray_recv", 1, - AddBuiltinFunc(_0(2502), _1("anyarray_recv"), _2(1), _3(true), _4(false), _5(anyarray_recv), _6(2277), _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('s'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("anyarray_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2502), _1("anyarray_recv"), _2(1), _3(true), _4(false), _5(anyarray_recv), _6(2277), _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('s'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("anyarray_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "anyarray_send", 1, - AddBuiltinFunc(_0(2503), _1("anyarray_send"), _2(1), _3(true), _4(false), _5(anyarray_send), _6(17), _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('s'), _19(0), _20(1, 2277), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("anyarray_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2503), _1("anyarray_send"), _2(1), _3(true), _4(false), _5(anyarray_send), _6(17), _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('s'), _19(0), _20(1, 2277), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("anyarray_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "anyelement_in", 1, - AddBuiltinFunc(_0(2312), _1("anyelement_in"), _2(1), _3(true), _4(false), _5(anyelement_in), _6(2283), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("anyelement_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2312), _1("anyelement_in"), _2(1), _3(true), _4(false), _5(anyelement_in), _6(2283), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("anyelement_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "anyelement_out", 1, - AddBuiltinFunc(_0(2313), _1("anyelement_out"), _2(1), _3(true), _4(false), _5(anyelement_out), _6(2275), _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(1, 2283), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("anyelement_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2313), _1("anyelement_out"), _2(1), _3(true), _4(false), _5(anyelement_out), _6(2275), _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(1, 2283), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("anyelement_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "anyenum_in", 1, - AddBuiltinFunc(_0(3504), _1("anyenum_in"), _2(1), _3(true), _4(false), _5(anyenum_in), _6(3500), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("anyenum_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3504), _1("anyenum_in"), _2(1), _3(true), _4(false), _5(anyenum_in), _6(3500), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("anyenum_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "anyenum_out", 1, - AddBuiltinFunc(_0(3505), _1("anyenum_out"), _2(1), _3(true), _4(false), _5(anyenum_out), _6(2275), _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('s'), _19(0), _20(1, 3500), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("anyenum_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3505), _1("anyenum_out"), _2(1), _3(true), _4(false), _5(anyenum_out), _6(2275), _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('s'), _19(0), _20(1, 3500), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("anyenum_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "anynonarray_in", 1, - AddBuiltinFunc(_0(2777), _1("anynonarray_in"), _2(1), _3(true), _4(false), _5(anynonarray_in), _6(2776), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("anynonarray_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2777), _1("anynonarray_in"), _2(1), _3(true), _4(false), _5(anynonarray_in), _6(2776), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("anynonarray_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "anynonarray_out", 1, - AddBuiltinFunc(_0(2778), _1("anynonarray_out"), _2(1), _3(true), _4(false), _5(anynonarray_out), _6(2275), _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(1, 2776), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("anynonarray_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2778), _1("anynonarray_out"), _2(1), _3(true), _4(false), _5(anynonarray_out), _6(2275), _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(1, 2776), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("anynonarray_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "anyrange_in", 1, - AddBuiltinFunc(_0(3832), _1("anyrange_in"), _2(3), _3(true), _4(false), _5(anyrange_in), _6(3831), _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('s'), _19(0), _20(3, 2275, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("anyrange_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3832), _1("anyrange_in"), _2(3), _3(true), _4(false), _5(anyrange_in), _6(3831), _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('s'), _19(0), _20(3, 2275, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("anyrange_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "anyrange_out", 1, - AddBuiltinFunc(_0(3833), _1("anyrange_out"), _2(1), _3(true), _4(false), _5(anyrange_out), _6(2275), _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('s'), _19(0), _20(1, 3831), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("anyrange_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3833), _1("anyrange_out"), _2(1), _3(true), _4(false), _5(anyrange_out), _6(2275), _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('s'), _19(0), _20(1, 3831), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("anyrange_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "anytextcat", 1, - AddBuiltinFunc(_0(ANYTEXTCATFUNCOID), _1("anytextcat"), _2(2), _3(true), _4(false), _5(NULL), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(2, 2776, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select $1::pg_catalog.text || $2"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(ANYTEXTCATFUNCOID), _1("anytextcat"), _2(2), _3(true), _4(false), _5(NULL), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(2, 2776, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select $1::pg_catalog.text || $2"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "area", 3, - AddBuiltinFunc(_0(975), _1("area"), _2(1), _3(true), _4(false), _5(box_area), _6(701), _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(1, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_area"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(979), _1("area"), _2(1), _3(true), _4(false), _5(path_area), _6(701), _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(1, 602), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("path_area"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1468), _1("area"), _2(1), _3(true), _4(false), _5(circle_area), _6(701), _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(1, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_area"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(975), _1("area"), _2(1), _3(true), _4(false), _5(box_area), _6(701), _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(1, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_area"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(979), _1("area"), _2(1), _3(true), _4(false), _5(path_area), _6(701), _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(1, 602), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("path_area"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1468), _1("area"), _2(1), _3(true), _4(false), _5(circle_area), _6(701), _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(1, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_area"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "areajoinsel", 1, - AddBuiltinFunc(_0(140), _1("areajoinsel"), _2(5), _3(true), _4(false), _5(areajoinsel), _6(701), _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('s'), _19(0), _20(5, 2281, 26, 2281, 21, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("areajoinsel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(140), _1("areajoinsel"), _2(5), _3(true), _4(false), _5(areajoinsel), _6(701), _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('s'), _19(0), _20(5, 2281, 26, 2281, 21, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("areajoinsel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "areasel", 1, - AddBuiltinFunc(_0(139), _1("areasel"), _2(4), _3(true), _4(false), _5(areasel), _6(701), _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('s'), _19(0), _20(4, 2281, 26, 2281, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("areasel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(139), _1("areasel"), _2(4), _3(true), _4(false), _5(areasel), _6(701), _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('s'), _19(0), _20(4, 2281, 26, 2281, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("areasel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "array_agg", 1, - AddBuiltinFunc(_0(ARRAYAGGFUNCOID), _1("array_agg"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(2277), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 2283), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(ARRAYAGGFUNCOID), _1("array_agg"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(2277), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 2283), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "array_agg_finalfn", 1, - AddBuiltinFunc(_0(2334), _1("array_agg_finalfn"), _2(1), _3(false), _4(false), _5(array_agg_finalfn), _6(2277), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("array_agg_finalfn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2334), _1("array_agg_finalfn"), _2(1), _3(false), _4(false), _5(array_agg_finalfn), _6(2277), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("array_agg_finalfn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "array_agg_transfn", 1, - AddBuiltinFunc(_0(2333), _1("array_agg_transfn"), _2(2), _3(false), _4(false), _5(array_agg_transfn), _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(2, 2281, 2283), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("array_agg_transfn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2333), _1("array_agg_transfn"), _2(2), _3(false), _4(false), _5(array_agg_transfn), _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(2, 2281, 2283), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("array_agg_transfn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "array_append", 1, - AddBuiltinFunc(_0(378), _1("array_append"), _2(2), _3(false), _4(false), _5(array_push), _6(2277), _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(2, 2277, 2283), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("array_push"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(378), _1("array_append"), _2(2), _3(false), _4(false), _5(array_push), _6(2277), _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(2, 2277, 2283), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("array_push"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "array_cat", 1, - AddBuiltinFunc(_0(383), _1("array_cat"), _2(2), _3(false), _4(false), _5(array_cat), _6(2277), _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(2, 2277, 2277), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("array_cat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(383), _1("array_cat"), _2(2), _3(false), _4(false), _5(array_cat), _6(2277), _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(2, 2277, 2277), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("array_cat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "array_dims", 1, - AddBuiltinFunc(_0(747), _1("array_dims"), _2(1), _3(true), _4(false), _5(array_dims), _6(25), _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(1, 2277), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("array_dims"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(747), _1("array_dims"), _2(1), _3(true), _4(false), _5(array_dims), _6(25), _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(1, 2277), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("array_dims"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "array_eq", 1, - AddBuiltinFunc(_0(744), _1("array_eq"), _2(2), _3(true), _4(false), _5(array_eq), _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(2, 2277, 2277), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("array_eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(744), _1("array_eq"), _2(2), _3(true), _4(false), _5(array_eq), _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(2, 2277, 2277), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("array_eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "array_extend", 1, - AddBuiltinFunc(_0(3179), _1("array_extend"), _2(1), _3(true), _4(false), _5(array_extend), _6(2278), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("array_extend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3179), _1("array_extend"), _2(1), _3(true), _4(false), _5(array_extend), _6(2278), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("array_extend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "array_fill", 2, - AddBuiltinFunc(_0(1193), _1("array_fill"), _2(2), _3(false), _4(false), _5(array_fill), _6(2277), _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(2, 2283, 1007), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("array_fill"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1286), _1("array_fill"), _2(3), _3(false), _4(false), _5(array_fill_with_lower_bounds), _6(2277), _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(3, 2283, 1007, 1007), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("array_fill_with_lower_bounds"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1193), _1("array_fill"), _2(2), _3(false), _4(false), _5(array_fill), _6(2277), _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(2, 2283, 1007), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("array_fill"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1286), _1("array_fill"), _2(3), _3(false), _4(false), _5(array_fill_with_lower_bounds), _6(2277), _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(3, 2283, 1007, 1007), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("array_fill_with_lower_bounds"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "array_ge", 1, - AddBuiltinFunc(_0(396), _1("array_ge"), _2(2), _3(true), _4(false), _5(array_ge), _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(2, 2277, 2277), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("array_ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(396), _1("array_ge"), _2(2), _3(true), _4(false), _5(array_ge), _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(2, 2277, 2277), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("array_ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "array_gt", 1, - AddBuiltinFunc(_0(392), _1("array_gt"), _2(2), _3(true), _4(false), _5(array_gt), _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(2, 2277, 2277), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("array_gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(392), _1("array_gt"), _2(2), _3(true), _4(false), _5(array_gt), _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(2, 2277, 2277), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("array_gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "array_in", 1, - AddBuiltinFunc(_0(750), _1("array_in"), _2(3), _3(true), _4(false), _5(array_in), _6(2277), _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('s'), _19(0), _20(3, 2275, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("array_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(750), _1("array_in"), _2(3), _3(true), _4(false), _5(array_in), _6(2277), _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('s'), _19(0), _20(3, 2275, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("array_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "array_larger", 1, - AddBuiltinFunc(_0(515), _1("array_larger"), _2(2), _3(true), _4(false), _5(array_larger), _6(2277), _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(2, 2277, 2277), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("array_larger"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(515), _1("array_larger"), _2(2), _3(true), _4(false), _5(array_larger), _6(2277), _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(2, 2277, 2277), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("array_larger"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "array_le", 1, - AddBuiltinFunc(_0(393), _1("array_le"), _2(2), _3(true), _4(false), _5(array_le), _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(2, 2277, 2277), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("array_le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(393), _1("array_le"), _2(2), _3(true), _4(false), _5(array_le), _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(2, 2277, 2277), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("array_le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "array_length", 1, - AddBuiltinFunc(_0(2176), _1("array_length"), _2(2), _3(true), _4(false), _5(array_length), _6(23), _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(2, 2277, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("array_length"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2176), _1("array_length"), _2(2), _3(true), _4(false), _5(array_length), _6(23), _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(2, 2277, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("array_length"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "array_lower", 1, - AddBuiltinFunc(_0(2091), _1("array_lower"), _2(2), _3(true), _4(false), _5(array_lower), _6(23), _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(2, 2277, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("array_lower"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2091), _1("array_lower"), _2(2), _3(true), _4(false), _5(array_lower), _6(23), _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(2, 2277, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("array_lower"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "array_lt", 1, - AddBuiltinFunc(_0(391), _1("array_lt"), _2(2), _3(true), _4(false), _5(array_lt), _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(2, 2277, 2277), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("array_lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(391), _1("array_lt"), _2(2), _3(true), _4(false), _5(array_lt), _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(2, 2277, 2277), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("array_lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "array_ndims", 1, - AddBuiltinFunc(_0(748), _1("array_ndims"), _2(1), _3(true), _4(false), _5(array_ndims), _6(23), _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(1, 2277), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("array_ndims"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(748), _1("array_ndims"), _2(1), _3(true), _4(false), _5(array_ndims), _6(23), _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(1, 2277), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("array_ndims"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "array_ne", 1, - AddBuiltinFunc(_0(390), _1("array_ne"), _2(2), _3(true), _4(false), _5(array_ne), _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(2, 2277, 2277), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("array_ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(390), _1("array_ne"), _2(2), _3(true), _4(false), _5(array_ne), _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(2, 2277, 2277), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("array_ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "array_out", 1, - AddBuiltinFunc(_0(751), _1("array_out"), _2(1), _3(true), _4(false), _5(array_out), _6(2275), _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('s'), _19(0), _20(1, 2277), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("array_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(751), _1("array_out"), _2(1), _3(true), _4(false), _5(array_out), _6(2275), _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('s'), _19(0), _20(1, 2277), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("array_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "array_prepend", 1, - AddBuiltinFunc(_0(379), _1("array_prepend"), _2(2), _3(false), _4(false), _5(array_push), _6(2277), _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(2, 2283, 2277), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("array_push"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(379), _1("array_prepend"), _2(2), _3(false), _4(false), _5(array_push), _6(2277), _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(2, 2283, 2277), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("array_push"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "array_recv", 1, - AddBuiltinFunc(_0(2400), _1("array_recv"), _2(3), _3(true), _4(false), _5(array_recv), _6(2277), _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('s'), _19(0), _20(3, 2281, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("array_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2400), _1("array_recv"), _2(3), _3(true), _4(false), _5(array_recv), _6(2277), _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('s'), _19(0), _20(3, 2281, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("array_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "array_send", 1, - AddBuiltinFunc(_0(2401), _1("array_send"), _2(1), _3(true), _4(false), _5(array_send), _6(17), _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('s'), _19(0), _20(1, 2277), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("array_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2401), _1("array_send"), _2(1), _3(true), _4(false), _5(array_send), _6(17), _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('s'), _19(0), _20(1, 2277), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("array_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "array_smaller", 1, - AddBuiltinFunc(_0(516), _1("array_smaller"), _2(2), _3(true), _4(false), _5(array_smaller), _6(2277), _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(2, 2277, 2277), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("array_smaller"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(516), _1("array_smaller"), _2(2), _3(true), _4(false), _5(array_smaller), _6(2277), _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(2, 2277, 2277), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("array_smaller"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "array_to_json", 2, - AddBuiltinFunc(_0(3153), _1("array_to_json"), _2(1), _3(true), _4(false), _5(array_to_json), _6(114), _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('s'), _19(0), _20(1, 2277), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("array_to_json"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3154), _1("array_to_json"), _2(2), _3(true), _4(false), _5(array_to_json_pretty), _6(114), _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('s'), _19(0), _20(2, 2277, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("array_to_json_pretty"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3153), _1("array_to_json"), _2(1), _3(true), _4(false), _5(array_to_json), _6(114), _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('s'), _19(0), _20(1, 2277), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("array_to_json"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3154), _1("array_to_json"), _2(2), _3(true), _4(false), _5(array_to_json_pretty), _6(114), _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('s'), _19(0), _20(2, 2277, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("array_to_json_pretty"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "array_to_string", 2, - AddBuiltinFunc(_0(ARRAYTOSTRINGNULLFUNCOID), _1("array_to_string"), _2(3), _3(false), _4(false), _5(array_to_text_null), _6(25), _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('s'), _19(0), _20(3, 2277, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("array_to_text_null"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")), - AddBuiltinFunc(_0(ARRAYTOSTRINGFUNCOID), _1("array_to_string"), _2(2), _3(true), _4(false), _5(array_to_text), _6(25), _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('s'), _19(0), _20(2, 2277, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("array_to_text"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(ARRAYTOSTRINGNULLFUNCOID), _1("array_to_string"), _2(3), _3(false), _4(false), _5(array_to_text_null), _6(25), _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('s'), _19(0), _20(3, 2277, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("array_to_text_null"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(ARRAYTOSTRINGFUNCOID), _1("array_to_string"), _2(2), _3(true), _4(false), _5(array_to_text), _6(25), _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('s'), _19(0), _20(2, 2277, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("array_to_text"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "array_typanalyze", 1, - AddBuiltinFunc(_0(3816), _1("array_typanalyze"), _2(1), _3(true), _4(false), _5(array_typanalyze), _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('s'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("array_typanalyze"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3816), _1("array_typanalyze"), _2(1), _3(true), _4(false), _5(array_typanalyze), _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('s'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("array_typanalyze"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "array_upper", 1, - AddBuiltinFunc(_0(2092), _1("array_upper"), _2(2), _3(true), _4(false), _5(array_upper), _6(23), _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(2, 2277, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("array_upper"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2092), _1("array_upper"), _2(2), _3(true), _4(false), _5(array_upper), _6(23), _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(2, 2277, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("array_upper"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "arraycontained", 1, - AddBuiltinFunc(_0(2749), _1("arraycontained"), _2(2), _3(true), _4(false), _5(arraycontained), _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(2, 2277, 2277), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("arraycontained"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2749), _1("arraycontained"), _2(2), _3(true), _4(false), _5(arraycontained), _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(2, 2277, 2277), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("arraycontained"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "arraycontains", 1, - AddBuiltinFunc(_0(2748), _1("arraycontains"), _2(2), _3(true), _4(false), _5(arraycontains), _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(2, 2277, 2277), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("arraycontains"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2748), _1("arraycontains"), _2(2), _3(true), _4(false), _5(arraycontains), _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(2, 2277, 2277), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("arraycontains"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "arraycontjoinsel", 1, - AddBuiltinFunc(_0(3818), _1("arraycontjoinsel"), _2(5), _3(true), _4(false), _5(arraycontjoinsel), _6(701), _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('s'), _19(0), _20(5, 2281, 26, 2281, 21, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("arraycontjoinsel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3818), _1("arraycontjoinsel"), _2(5), _3(true), _4(false), _5(arraycontjoinsel), _6(701), _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('s'), _19(0), _20(5, 2281, 26, 2281, 21, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("arraycontjoinsel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "arraycontsel", 1, - AddBuiltinFunc(_0(3817), _1("arraycontsel"), _2(4), _3(true), _4(false), _5(arraycontsel), _6(701), _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('s'), _19(0), _20(4, 2281, 26, 2281, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("arraycontsel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3817), _1("arraycontsel"), _2(4), _3(true), _4(false), _5(arraycontsel), _6(701), _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('s'), _19(0), _20(4, 2281, 26, 2281, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("arraycontsel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "arrayoverlap", 1, - AddBuiltinFunc(_0(2747), _1("arrayoverlap"), _2(2), _3(true), _4(false), _5(arrayoverlap), _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(2, 2277, 2277), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("arrayoverlap"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2747), _1("arrayoverlap"), _2(2), _3(true), _4(false), _5(arrayoverlap), _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(2, 2277, 2277), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("arrayoverlap"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "ascii", 1, - AddBuiltinFunc(_0(1620), _1("ascii"), _2(1), _3(true), _4(false), _5(ascii), _6(23), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ascii"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1620), _1("ascii"), _2(1), _3(true), _4(false), _5(ascii), _6(23), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ascii"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "asin", 1, - AddBuiltinFunc(_0(ARCSINEFUNCOID), _1("asin"), _2(1), _3(true), _4(false), _5(dasin), _6(701), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dasin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(ARCSINEFUNCOID), _1("asin"), _2(1), _3(true), _4(false), _5(dasin), _6(701), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dasin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "atan", 1, - AddBuiltinFunc(_0(1602), _1("atan"), _2(1), _3(true), _4(false), _5(datan), _6(701), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("datan"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1602), _1("atan"), _2(1), _3(true), _4(false), _5(datan), _6(701), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("datan"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "atan2", 1, - AddBuiltinFunc(_0(1603), _1("atan2"), _2(2), _3(true), _4(false), _5(datan2), _6(701), _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(2, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("datan2"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1603), _1("atan2"), _2(2), _3(true), _4(false), _5(datan2), _6(701), _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(2, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("datan2"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "avg", 8, - AddBuiltinFunc(_0(2100), _1("avg"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2101), _1("avg"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2102), _1("avg"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2103), _1("avg"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2104), _1("avg"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2105), _1("avg"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2106), _1("avg"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1186), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(5537), _1("avg"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2100), _1("avg"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2101), _1("avg"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2102), _1("avg"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2103), _1("avg"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2104), _1("avg"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2105), _1("avg"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2106), _1("avg"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1186), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(5537), _1("avg"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bigint_tid", 1, - AddBuiltinFunc(_0(3214), _1("bigint_tid"), _2(1), _3(true), _4(false), _5(bigint_tid), _6(27), _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(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bigint_tid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3214), _1("bigint_tid"), _2(1), _3(true), _4(false), _5(bigint_tid), _6(27), _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(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bigint_tid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bit", 3, - AddBuiltinFunc(_0(1683), _1("bit"), _2(2), _3(true), _4(false), _5(bitfromint4), _6(1560), _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(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bitfromint4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1685), _1("bit"), _2(3), _3(true), _4(false), _5(bit), _6(1560), _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(3, 1560, 23, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bit"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2075), _1("bit"), _2(2), _3(true), _4(false), _5(bitfromint8), _6(1560), _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(2, 20, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bitfromint8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1683), _1("bit"), _2(2), _3(true), _4(false), _5(bitfromint4), _6(1560), _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(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bitfromint4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1685), _1("bit"), _2(3), _3(true), _4(false), _5(bit), _6(1560), _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(3, 1560, 23, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bit"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2075), _1("bit"), _2(2), _3(true), _4(false), _5(bitfromint8), _6(1560), _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(2, 20, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bitfromint8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bit_and", 5, - AddBuiltinFunc(_0(2236), _1("bit_and"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(21), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2238), _1("bit_and"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(23), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2240), _1("bit_and"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(20), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2242), _1("bit_and"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1560), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1560), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(5539), _1("bit_and"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(5545), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2236), _1("bit_and"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(21), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2238), _1("bit_and"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(23), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2240), _1("bit_and"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(20), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2242), _1("bit_and"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1560), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1560), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(5539), _1("bit_and"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(5545), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bit_in", 1, - AddBuiltinFunc(_0(1564), _1("bit_in"), _2(3), _3(true), _4(false), _5(bit_in), _6(1560), _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(3, 2275, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bit_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1564), _1("bit_in"), _2(3), _3(true), _4(false), _5(bit_in), _6(1560), _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(3, 2275, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bit_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bit_length", 3, - AddBuiltinFunc(_0(1810), _1("bit_length"), _2(1), _3(true), _4(false), _5(NULL), _6(23), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 17), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select pg_catalog.octet_length($1) * 8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1811), _1("bit_length"), _2(1), _3(true), _4(false), _5(NULL), _6(23), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select pg_catalog.octet_length($1) * 8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1812), _1("bit_length"), _2(1), _3(true), _4(false), _5(NULL), _6(23), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1560), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select pg_catalog.length($1)"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1810), _1("bit_length"), _2(1), _3(true), _4(false), _5(NULL), _6(23), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 17), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select pg_catalog.octet_length($1) * 8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1811), _1("bit_length"), _2(1), _3(true), _4(false), _5(NULL), _6(23), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select pg_catalog.octet_length($1) * 8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1812), _1("bit_length"), _2(1), _3(true), _4(false), _5(NULL), _6(23), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1560), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select pg_catalog.length($1)"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bit_or", 5, - AddBuiltinFunc(_0(2237), _1("bit_or"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(21), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2239), _1("bit_or"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(23), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2241), _1("bit_or"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(20), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2243), _1("bit_or"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1560), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1560), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(5540), _1("bit_or"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(5545), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2237), _1("bit_or"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(21), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2239), _1("bit_or"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(23), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2241), _1("bit_or"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(20), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2243), _1("bit_or"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1560), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1560), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(5540), _1("bit_or"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(5545), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bit_out", 1, - AddBuiltinFunc(_0(1565), _1("bit_out"), _2(1), _3(true), _4(false), _5(bit_out), _6(2275), _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(1, 1560), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bit_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1565), _1("bit_out"), _2(1), _3(true), _4(false), _5(bit_out), _6(2275), _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(1, 1560), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bit_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bit_recv", 1, - AddBuiltinFunc(_0(2456), _1("bit_recv"), _2(3), _3(true), _4(false), _5(bit_recv), _6(1560), _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(3, 2281, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bit_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2456), _1("bit_recv"), _2(3), _3(true), _4(false), _5(bit_recv), _6(1560), _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(3, 2281, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bit_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bit_send", 1, - AddBuiltinFunc(_0(2457), _1("bit_send"), _2(1), _3(true), _4(false), _5(bit_send), _6(17), _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(1, 1560), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bit_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2457), _1("bit_send"), _2(1), _3(true), _4(false), _5(bit_send), _6(17), _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(1, 1560), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bit_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bitand", 1, - AddBuiltinFunc(_0(1673), _1("bitand"), _2(2), _3(true), _4(false), _5(bit_and), _6(1560), _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(2, 1560, 1560), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bit_and"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1673), _1("bitand"), _2(2), _3(true), _4(false), _5(bit_and), _6(1560), _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(2, 1560, 1560), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bit_and"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bitcat", 1, - AddBuiltinFunc(_0(1679), _1("bitcat"), _2(2), _3(true), _4(false), _5(bitcat), _6(1562), _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(2, 1562, 1562), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bitcat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1679), _1("bitcat"), _2(2), _3(true), _4(false), _5(bitcat), _6(1562), _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(2, 1562, 1562), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bitcat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bitcmp", 1, - AddBuiltinFunc(_0(1596), _1("bitcmp"), _2(2), _3(true), _4(false), _5(bitcmp), _6(23), _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(2, 1560, 1560), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bitcmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1596), _1("bitcmp"), _2(2), _3(true), _4(false), _5(bitcmp), _6(23), _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(2, 1560, 1560), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bitcmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "biteq", 1, - AddBuiltinFunc(_0(1581), _1("biteq"), _2(2), _3(true), _4(false), _5(biteq), _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(true), _18('i'), _19(0), _20(2, 1560, 1560), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("biteq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1581), _1("biteq"), _2(2), _3(true), _4(false), _5(biteq), _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(true), _18('i'), _19(0), _20(2, 1560, 1560), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("biteq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bitge", 1, - AddBuiltinFunc(_0(1592), _1("bitge"), _2(2), _3(true), _4(false), _5(bitge), _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(true), _18('i'), _19(0), _20(2, 1560, 1560), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bitge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1592), _1("bitge"), _2(2), _3(true), _4(false), _5(bitge), _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(true), _18('i'), _19(0), _20(2, 1560, 1560), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bitge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bitgt", 1, - AddBuiltinFunc(_0(1593), _1("bitgt"), _2(2), _3(true), _4(false), _5(bitgt), _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(true), _18('i'), _19(0), _20(2, 1560, 1560), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bitgt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1593), _1("bitgt"), _2(2), _3(true), _4(false), _5(bitgt), _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(true), _18('i'), _19(0), _20(2, 1560, 1560), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bitgt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bitle", 1, - AddBuiltinFunc(_0(1594), _1("bitle"), _2(2), _3(true), _4(false), _5(bitle), _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(true), _18('i'), _19(0), _20(2, 1560, 1560), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bitle"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1594), _1("bitle"), _2(2), _3(true), _4(false), _5(bitle), _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(true), _18('i'), _19(0), _20(2, 1560, 1560), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bitle"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bitlt", 1, - AddBuiltinFunc(_0(1595), _1("bitlt"), _2(2), _3(true), _4(false), _5(bitlt), _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(true), _18('i'), _19(0), _20(2, 1560, 1560), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bitlt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1595), _1("bitlt"), _2(2), _3(true), _4(false), _5(bitlt), _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(true), _18('i'), _19(0), _20(2, 1560, 1560), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bitlt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bitne", 1, - AddBuiltinFunc(_0(1582), _1("bitne"), _2(2), _3(true), _4(false), _5(bitne), _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(true), _18('i'), _19(0), _20(2, 1560, 1560), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bitne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1582), _1("bitne"), _2(2), _3(true), _4(false), _5(bitne), _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(true), _18('i'), _19(0), _20(2, 1560, 1560), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bitne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bitnot", 1, - AddBuiltinFunc(_0(1676), _1("bitnot"), _2(1), _3(true), _4(false), _5(bitnot), _6(1560), _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(1, 1560), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bitnot"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1676), _1("bitnot"), _2(1), _3(true), _4(false), _5(bitnot), _6(1560), _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(1, 1560), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bitnot"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bitor", 1, - AddBuiltinFunc(_0(1674), _1("bitor"), _2(2), _3(true), _4(false), _5(bit_or), _6(1560), _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(2, 1560, 1560), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bit_or"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1674), _1("bitor"), _2(2), _3(true), _4(false), _5(bit_or), _6(1560), _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(2, 1560, 1560), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bit_or"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bitshiftleft", 1, - AddBuiltinFunc(_0(1677), _1("bitshiftleft"), _2(2), _3(true), _4(false), _5(bitshiftleft), _6(1560), _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(2, 1560, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bitshiftleft"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1677), _1("bitshiftleft"), _2(2), _3(true), _4(false), _5(bitshiftleft), _6(1560), _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(2, 1560, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bitshiftleft"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bitshiftright", 1, - AddBuiltinFunc(_0(1678), _1("bitshiftright"), _2(2), _3(true), _4(false), _5(bitshiftright), _6(1560), _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(2, 1560, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bitshiftright"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1678), _1("bitshiftright"), _2(2), _3(true), _4(false), _5(bitshiftright), _6(1560), _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(2, 1560, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bitshiftright"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bittypmodin", 1, - AddBuiltinFunc(_0(2919), _1("bittypmodin"), _2(1), _3(true), _4(false), _5(bittypmodin), _6(23), _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(1, 1263), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bittypmodin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2919), _1("bittypmodin"), _2(1), _3(true), _4(false), _5(bittypmodin), _6(23), _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(1, 1263), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bittypmodin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bittypmodout", 1, - AddBuiltinFunc(_0(2920), _1("bittypmodout"), _2(1), _3(true), _4(false), _5(bittypmodout), _6(2275), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bittypmodout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2920), _1("bittypmodout"), _2(1), _3(true), _4(false), _5(bittypmodout), _6(2275), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bittypmodout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bitxor", 1, - AddBuiltinFunc(_0(1675), _1("bitxor"), _2(2), _3(true), _4(false), _5(bitxor), _6(1560), _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(2, 1560, 1560), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bitxor"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1675), _1("bitxor"), _2(2), _3(true), _4(false), _5(bitxor), _6(1560), _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(2, 1560, 1560), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bitxor"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bool", 1, - AddBuiltinFunc(_0(2557), _1("bool"), _2(1), _3(true), _4(false), _5(int4_bool), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4_bool"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2557), _1("bool"), _2(1), _3(true), _4(false), _5(int4_bool), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4_bool"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bool_and", 1, - AddBuiltinFunc(_0(2517), _1("bool_and"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2517), _1("bool_and"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bool_int1", 1, - AddBuiltinFunc(_0(5534), _1("bool_int1"), _2(1), _3(true), _4(false), _5(bool_int1), _6(5545), _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(1, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bool_int1"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5534), _1("bool_int1"), _2(1), _3(true), _4(false), _5(bool_int1), _6(5545), _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(1, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bool_int1"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bool_int2", 1, - AddBuiltinFunc(_0(3181), _1("bool_int2"), _2(1), _3(true), _4(false), _5(bool_int2), _6(21), _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(1, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bool_int2"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3181), _1("bool_int2"), _2(1), _3(true), _4(false), _5(bool_int2), _6(21), _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(1, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bool_int2"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bool_int8", 1, - AddBuiltinFunc(_0(3178), _1("bool_int8"), _2(1), _3(true), _4(false), _5(bool_int8), _6(20), _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(1, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bool_int8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3178), _1("bool_int8"), _2(1), _3(true), _4(false), _5(bool_int8), _6(20), _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(1, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bool_int8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bool_or", 1, - AddBuiltinFunc(_0(2518), _1("bool_or"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2518), _1("bool_or"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "booland_statefunc", 1, - AddBuiltinFunc(_0(2515), _1("booland_statefunc"), _2(2), _3(true), _4(false), _5(booland_statefunc), _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(2, 16, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("booland_statefunc"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2515), _1("booland_statefunc"), _2(2), _3(true), _4(false), _5(booland_statefunc), _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(2, 16, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("booland_statefunc"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "booleq", 1, - AddBuiltinFunc(_0(60), _1("booleq"), _2(2), _3(true), _4(false), _5(booleq), _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(true), _18('i'), _19(0), _20(2, 16, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("booleq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(60), _1("booleq"), _2(2), _3(true), _4(false), _5(booleq), _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(true), _18('i'), _19(0), _20(2, 16, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("booleq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "boolge", 1, - AddBuiltinFunc(_0(1692), _1("boolge"), _2(2), _3(true), _4(false), _5(boolge), _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(true), _18('i'), _19(0), _20(2, 16, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("boolge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1692), _1("boolge"), _2(2), _3(true), _4(false), _5(boolge), _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(true), _18('i'), _19(0), _20(2, 16, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("boolge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "boolgt", 1, - AddBuiltinFunc(_0(57), _1("boolgt"), _2(2), _3(true), _4(false), _5(boolgt), _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(true), _18('i'), _19(0), _20(2, 16, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("boolgt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(57), _1("boolgt"), _2(2), _3(true), _4(false), _5(boolgt), _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(true), _18('i'), _19(0), _20(2, 16, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("boolgt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "boolin", 1, - AddBuiltinFunc(_0(1242), _1("boolin"), _2(1), _3(true), _4(false), _5(boolin), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("boolin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1242), _1("boolin"), _2(1), _3(true), _4(false), _5(boolin), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("boolin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "boolle", 1, - AddBuiltinFunc(_0(1691), _1("boolle"), _2(2), _3(true), _4(false), _5(boolle), _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(true), _18('i'), _19(0), _20(2, 16, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("boolle"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1691), _1("boolle"), _2(2), _3(true), _4(false), _5(boolle), _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(true), _18('i'), _19(0), _20(2, 16, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("boolle"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "boollt", 1, - AddBuiltinFunc(_0(56), _1("boollt"), _2(2), _3(true), _4(false), _5(boollt), _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(true), _18('i'), _19(0), _20(2, 16, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("boollt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(56), _1("boollt"), _2(2), _3(true), _4(false), _5(boollt), _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(true), _18('i'), _19(0), _20(2, 16, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("boollt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "boolne", 1, - AddBuiltinFunc(_0(84), _1("boolne"), _2(2), _3(true), _4(false), _5(boolne), _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(true), _18('i'), _19(0), _20(2, 16, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("boolne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(84), _1("boolne"), _2(2), _3(true), _4(false), _5(boolne), _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(true), _18('i'), _19(0), _20(2, 16, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("boolne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "boolor_statefunc", 1, - AddBuiltinFunc(_0(2516), _1("boolor_statefunc"), _2(2), _3(true), _4(false), _5(boolor_statefunc), _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(2, 16, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("boolor_statefunc"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2516), _1("boolor_statefunc"), _2(2), _3(true), _4(false), _5(boolor_statefunc), _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(2, 16, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("boolor_statefunc"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "boolout", 1, - AddBuiltinFunc(_0(1243), _1("boolout"), _2(1), _3(true), _4(false), _5(boolout), _6(2275), _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(1, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("boolout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1243), _1("boolout"), _2(1), _3(true), _4(false), _5(boolout), _6(2275), _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(1, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("boolout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "boolrecv", 1, - AddBuiltinFunc(_0(2436), _1("boolrecv"), _2(1), _3(true), _4(false), _5(boolrecv), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("boolrecv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2436), _1("boolrecv"), _2(1), _3(true), _4(false), _5(boolrecv), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("boolrecv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "boolsend", 1, - AddBuiltinFunc(_0(2437), _1("boolsend"), _2(1), _3(true), _4(false), _5(boolsend), _6(17), _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(1, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("boolsend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2437), _1("boolsend"), _2(1), _3(true), _4(false), _5(boolsend), _6(17), _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(1, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("boolsend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "box", 3, - AddBuiltinFunc(_0(1421), _1("box"), _2(2), _3(true), _4(false), _5(points_box), _6(603), _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(2, 600, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("points_box"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1446), _1("box"), _2(1), _3(true), _4(false), _5(poly_box), _6(603), _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(1, 604), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("poly_box"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1480), _1("box"), _2(1), _3(true), _4(false), _5(circle_box), _6(603), _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(1, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_box"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1421), _1("box"), _2(2), _3(true), _4(false), _5(points_box), _6(603), _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(2, 600, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("points_box"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1446), _1("box"), _2(1), _3(true), _4(false), _5(poly_box), _6(603), _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(1, 604), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("poly_box"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1480), _1("box"), _2(1), _3(true), _4(false), _5(circle_box), _6(603), _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(1, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_box"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "box_above", 1, - AddBuiltinFunc(_0(2565), _1("box_above"), _2(2), _3(true), _4(false), _5(box_above), _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(2, 603, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_above"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2565), _1("box_above"), _2(2), _3(true), _4(false), _5(box_above), _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(2, 603, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_above"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "box_above_eq", 1, - AddBuiltinFunc(_0(115), _1("box_above_eq"), _2(2), _3(true), _4(false), _5(box_above_eq), _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(2, 603, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_above_eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(115), _1("box_above_eq"), _2(2), _3(true), _4(false), _5(box_above_eq), _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(2, 603, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_above_eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "box_add", 1, - AddBuiltinFunc(_0(1422), _1("box_add"), _2(2), _3(true), _4(false), _5(box_add), _6(603), _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(2, 603, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_add"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1422), _1("box_add"), _2(2), _3(true), _4(false), _5(box_add), _6(603), _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(2, 603, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_add"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "box_below", 1, - AddBuiltinFunc(_0(2562), _1("box_below"), _2(2), _3(true), _4(false), _5(box_below), _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(2, 603, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_below"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2562), _1("box_below"), _2(2), _3(true), _4(false), _5(box_below), _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(2, 603, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_below"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "box_below_eq", 1, - AddBuiltinFunc(_0(116), _1("box_below_eq"), _2(2), _3(true), _4(false), _5(box_below_eq), _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(2, 603, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_below_eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(116), _1("box_below_eq"), _2(2), _3(true), _4(false), _5(box_below_eq), _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(2, 603, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_below_eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "box_center", 1, - AddBuiltinFunc(_0(138), _1("box_center"), _2(1), _3(true), _4(false), _5(box_center), _6(600), _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(1, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_center"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(138), _1("box_center"), _2(1), _3(true), _4(false), _5(box_center), _6(600), _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(1, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_center"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "box_contain", 1, - AddBuiltinFunc(_0(187), _1("box_contain"), _2(2), _3(true), _4(false), _5(box_contain), _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(2, 603, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_contain"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(187), _1("box_contain"), _2(2), _3(true), _4(false), _5(box_contain), _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(2, 603, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_contain"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "box_contain_pt", 1, - AddBuiltinFunc(_0(193), _1("box_contain_pt"), _2(2), _3(true), _4(false), _5(box_contain_pt), _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(2, 603, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_contain_pt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(193), _1("box_contain_pt"), _2(2), _3(true), _4(false), _5(box_contain_pt), _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(2, 603, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_contain_pt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "box_contained", 1, - AddBuiltinFunc(_0(192), _1("box_contained"), _2(2), _3(true), _4(false), _5(box_contained), _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(2, 603, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_contained"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(192), _1("box_contained"), _2(2), _3(true), _4(false), _5(box_contained), _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(2, 603, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_contained"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "box_distance", 1, - AddBuiltinFunc(_0(978), _1("box_distance"), _2(2), _3(true), _4(false), _5(box_distance), _6(701), _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(2, 603, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_distance"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(978), _1("box_distance"), _2(2), _3(true), _4(false), _5(box_distance), _6(701), _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(2, 603, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_distance"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "box_div", 1, - AddBuiltinFunc(_0(1425), _1("box_div"), _2(2), _3(true), _4(false), _5(box_div), _6(603), _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(2, 603, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_div"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1425), _1("box_div"), _2(2), _3(true), _4(false), _5(box_div), _6(603), _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(2, 603, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_div"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "box_eq", 1, - AddBuiltinFunc(_0(128), _1("box_eq"), _2(2), _3(true), _4(false), _5(box_eq), _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(2, 603, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(128), _1("box_eq"), _2(2), _3(true), _4(false), _5(box_eq), _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(2, 603, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "box_ge", 1, - AddBuiltinFunc(_0(126), _1("box_ge"), _2(2), _3(true), _4(false), _5(box_ge), _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(2, 603, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(126), _1("box_ge"), _2(2), _3(true), _4(false), _5(box_ge), _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(2, 603, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "box_gt", 1, - AddBuiltinFunc(_0(127), _1("box_gt"), _2(2), _3(true), _4(false), _5(box_gt), _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(2, 603, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(127), _1("box_gt"), _2(2), _3(true), _4(false), _5(box_gt), _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(2, 603, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "box_in", 1, - AddBuiltinFunc(_0(123), _1("box_in"), _2(1), _3(true), _4(false), _5(box_in), _6(603), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(123), _1("box_in"), _2(1), _3(true), _4(false), _5(box_in), _6(603), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "box_intersect", 1, - AddBuiltinFunc(_0(980), _1("box_intersect"), _2(2), _3(true), _4(false), _5(box_intersect), _6(603), _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(2, 603, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_intersect"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(980), _1("box_intersect"), _2(2), _3(true), _4(false), _5(box_intersect), _6(603), _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(2, 603, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_intersect"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "box_le", 1, - AddBuiltinFunc(_0(130), _1("box_le"), _2(2), _3(true), _4(false), _5(box_le), _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(2, 603, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(130), _1("box_le"), _2(2), _3(true), _4(false), _5(box_le), _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(2, 603, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "box_left", 1, - AddBuiltinFunc(_0(188), _1("box_left"), _2(2), _3(true), _4(false), _5(box_left), _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(2, 603, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_left"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(188), _1("box_left"), _2(2), _3(true), _4(false), _5(box_left), _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(2, 603, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_left"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "box_lt", 1, - AddBuiltinFunc(_0(129), _1("box_lt"), _2(2), _3(true), _4(false), _5(box_lt), _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(2, 603, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(129), _1("box_lt"), _2(2), _3(true), _4(false), _5(box_lt), _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(2, 603, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "box_mul", 1, - AddBuiltinFunc(_0(1424), _1("box_mul"), _2(2), _3(true), _4(false), _5(box_mul), _6(603), _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(2, 603, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_mul"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1424), _1("box_mul"), _2(2), _3(true), _4(false), _5(box_mul), _6(603), _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(2, 603, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_mul"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "box_out", 1, - AddBuiltinFunc(_0(124), _1("box_out"), _2(1), _3(true), _4(false), _5(box_out), _6(2275), _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(1, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(124), _1("box_out"), _2(1), _3(true), _4(false), _5(box_out), _6(2275), _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(1, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "box_overabove", 1, - AddBuiltinFunc(_0(2564), _1("box_overabove"), _2(2), _3(true), _4(false), _5(box_overabove), _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(2, 603, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_overabove"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2564), _1("box_overabove"), _2(2), _3(true), _4(false), _5(box_overabove), _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(2, 603, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_overabove"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "box_overbelow", 1, - AddBuiltinFunc(_0(2563), _1("box_overbelow"), _2(2), _3(true), _4(false), _5(box_overbelow), _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(2, 603, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_overbelow"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2563), _1("box_overbelow"), _2(2), _3(true), _4(false), _5(box_overbelow), _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(2, 603, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_overbelow"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "box_overlap", 1, - AddBuiltinFunc(_0(125), _1("box_overlap"), _2(2), _3(true), _4(false), _5(box_overlap), _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(2, 603, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_overlap"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(125), _1("box_overlap"), _2(2), _3(true), _4(false), _5(box_overlap), _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(2, 603, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_overlap"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "box_overleft", 1, - AddBuiltinFunc(_0(189), _1("box_overleft"), _2(2), _3(true), _4(false), _5(box_overleft), _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(2, 603, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_overleft"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(189), _1("box_overleft"), _2(2), _3(true), _4(false), _5(box_overleft), _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(2, 603, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_overleft"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "box_overright", 1, - AddBuiltinFunc(_0(190), _1("box_overright"), _2(2), _3(true), _4(false), _5(box_overright), _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(2, 603, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_overright"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(190), _1("box_overright"), _2(2), _3(true), _4(false), _5(box_overright), _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(2, 603, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_overright"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "box_recv", 1, - AddBuiltinFunc(_0(2484), _1("box_recv"), _2(1), _3(true), _4(false), _5(box_recv), _6(603), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2484), _1("box_recv"), _2(1), _3(true), _4(false), _5(box_recv), _6(603), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "box_right", 1, - AddBuiltinFunc(_0(191), _1("box_right"), _2(2), _3(true), _4(false), _5(box_right), _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(2, 603, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_right"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(191), _1("box_right"), _2(2), _3(true), _4(false), _5(box_right), _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(2, 603, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_right"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "box_same", 1, - AddBuiltinFunc(_0(186), _1("box_same"), _2(2), _3(true), _4(false), _5(box_same), _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(2, 603, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_same"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(186), _1("box_same"), _2(2), _3(true), _4(false), _5(box_same), _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(2, 603, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_same"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "box_send", 1, - AddBuiltinFunc(_0(2485), _1("box_send"), _2(1), _3(true), _4(false), _5(box_send), _6(17), _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(1, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2485), _1("box_send"), _2(1), _3(true), _4(false), _5(box_send), _6(17), _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(1, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "box_sub", 1, - AddBuiltinFunc(_0(1423), _1("box_sub"), _2(2), _3(true), _4(false), _5(box_sub), _6(603), _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(2, 603, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_sub"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1423), _1("box_sub"), _2(2), _3(true), _4(false), _5(box_sub), _6(603), _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(2, 603, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_sub"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bpchar", 3, - AddBuiltinFunc(_0(408), _1("bpchar"), _2(1), _3(true), _4(false), _5(name_bpchar), _6(1042), _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(1, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("name_bpchar"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(668), _1("bpchar"), _2(3), _3(true), _4(false), _5(bpchar), _6(1042), _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(3, 1042, 23, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpchar"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(860), _1("bpchar"), _2(1), _3(true), _4(false), _5(char_bpchar), _6(1042), _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(1, 18), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("char_bpchar"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(408), _1("bpchar"), _2(1), _3(true), _4(false), _5(name_bpchar), _6(1042), _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(1, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("name_bpchar"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(668), _1("bpchar"), _2(3), _3(true), _4(false), _5(bpchar), _6(1042), _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(3, 1042, 23, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpchar"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(860), _1("bpchar"), _2(1), _3(true), _4(false), _5(char_bpchar), _6(1042), _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(1, 18), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("char_bpchar"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bpchar_date", 1, - AddBuiltinFunc(_0(4163), _1("bpchar_date"), _2(1), _3(true), _4(false), _5(bpchar_date), _6(1082), _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(1, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpchar_date"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4163), _1("bpchar_date"), _2(1), _3(true), _4(false), _5(bpchar_date), _6(1082), _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(1, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpchar_date"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bpchar_float4", 1, - AddBuiltinFunc(_0(4196), _1("bpchar_float4"), _2(1), _3(true), _4(false), _5(bpchar_float4), _6(700), _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(1, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpchar_float4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4196), _1("bpchar_float4"), _2(1), _3(true), _4(false), _5(bpchar_float4), _6(700), _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(1, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpchar_float4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bpchar_float8", 1, - AddBuiltinFunc(_0(4197), _1("bpchar_float8"), _2(1), _3(true), _4(false), _5(bpchar_float8), _6(701), _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(1, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpchar_float8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4197), _1("bpchar_float8"), _2(1), _3(true), _4(false), _5(bpchar_float8), _6(701), _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(1, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpchar_float8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bpchar_int4", 1, - AddBuiltinFunc(_0(4175), _1("bpchar_int4"), _2(1), _3(true), _4(false), _5(bpchar_int4), _6(23), _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(1, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpchar_int4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4175), _1("bpchar_int4"), _2(1), _3(true), _4(false), _5(bpchar_int4), _6(23), _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(1, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpchar_int4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bpchar_int8", 1, - AddBuiltinFunc(_0(4195), _1("bpchar_int8"), _2(1), _3(true), _4(false), _5(bpchar_int8), _6(20), _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(1, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpchar_int8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4195), _1("bpchar_int8"), _2(1), _3(true), _4(false), _5(bpchar_int8), _6(20), _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(1, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpchar_int8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bpchar_larger", 1, - AddBuiltinFunc(_0(1063), _1("bpchar_larger"), _2(2), _3(true), _4(false), _5(bpchar_larger), _6(1042), _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(2, 1042, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpchar_larger"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1063), _1("bpchar_larger"), _2(2), _3(true), _4(false), _5(bpchar_larger), _6(1042), _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(2, 1042, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpchar_larger"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bpchar_numeric", 1, - AddBuiltinFunc(_0(4172), _1("bpchar_numeric"), _2(1), _3(true), _4(false), _5(bpchar_numeric), _6(1700), _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(1, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpchar_numeric"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4172), _1("bpchar_numeric"), _2(1), _3(true), _4(false), _5(bpchar_numeric), _6(1700), _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(1, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpchar_numeric"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bpchar_pattern_ge", 1, - AddBuiltinFunc(_0(2177), _1("bpchar_pattern_ge"), _2(2), _3(true), _4(false), _5(bpchar_pattern_ge), _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(2, 1042, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpchar_pattern_ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2177), _1("bpchar_pattern_ge"), _2(2), _3(true), _4(false), _5(bpchar_pattern_ge), _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(2, 1042, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpchar_pattern_ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bpchar_pattern_gt", 1, - AddBuiltinFunc(_0(2178), _1("bpchar_pattern_gt"), _2(2), _3(true), _4(false), _5(bpchar_pattern_gt), _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(2, 1042, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpchar_pattern_gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2178), _1("bpchar_pattern_gt"), _2(2), _3(true), _4(false), _5(bpchar_pattern_gt), _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(2, 1042, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpchar_pattern_gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bpchar_pattern_le", 1, - AddBuiltinFunc(_0(2175), _1("bpchar_pattern_le"), _2(2), _3(true), _4(false), _5(bpchar_pattern_le), _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(2, 1042, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpchar_pattern_le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2175), _1("bpchar_pattern_le"), _2(2), _3(true), _4(false), _5(bpchar_pattern_le), _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(2, 1042, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpchar_pattern_le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bpchar_pattern_lt", 1, - AddBuiltinFunc(_0(2174), _1("bpchar_pattern_lt"), _2(2), _3(true), _4(false), _5(bpchar_pattern_lt), _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(2, 1042, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpchar_pattern_lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2174), _1("bpchar_pattern_lt"), _2(2), _3(true), _4(false), _5(bpchar_pattern_lt), _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(2, 1042, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpchar_pattern_lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bpchar_smaller", 1, - AddBuiltinFunc(_0(1064), _1("bpchar_smaller"), _2(2), _3(true), _4(false), _5(bpchar_smaller), _6(1042), _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(2, 1042, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpchar_smaller"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1064), _1("bpchar_smaller"), _2(2), _3(true), _4(false), _5(bpchar_smaller), _6(1042), _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(2, 1042, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpchar_smaller"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bpchar_sortsupport", 1, - AddBuiltinFunc(_0(3256), _1("bpchar_sortsupport"), _2(1), _3(true), _4(false), _5(bpchar_sortsupport), _6(2278), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpchar_sortsupport"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3256), _1("bpchar_sortsupport"), _2(1), _3(true), _4(false), _5(bpchar_sortsupport), _6(2278), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpchar_sortsupport"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bpchar_timestamp", 1, - AddBuiltinFunc(_0(4187), _1("bpchar_timestamp"), _2(1), _3(true), _4(false), _5(bpchar_timestamp), _6(1114), _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(1, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpchar_timestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4187), _1("bpchar_timestamp"), _2(1), _3(true), _4(false), _5(bpchar_timestamp), _6(1114), _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(1, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpchar_timestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bpcharcmp", 1, - AddBuiltinFunc(_0(1078), _1("bpcharcmp"), _2(2), _3(true), _4(false), _5(bpcharcmp), _6(23), _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(2, 1042, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpcharcmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1078), _1("bpcharcmp"), _2(2), _3(true), _4(false), _5(bpcharcmp), _6(23), _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(2, 1042, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpcharcmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bpchareq", 1, - AddBuiltinFunc(_0(1048), _1("bpchareq"), _2(2), _3(true), _4(false), _5(bpchareq), _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(true), _18('i'), _19(0), _20(2, 1042, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpchareq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1048), _1("bpchareq"), _2(2), _3(true), _4(false), _5(bpchareq), _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(true), _18('i'), _19(0), _20(2, 1042, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpchareq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bpcharge", 1, - AddBuiltinFunc(_0(1052), _1("bpcharge"), _2(2), _3(true), _4(false), _5(bpcharge), _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(2, 1042, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpcharge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1052), _1("bpcharge"), _2(2), _3(true), _4(false), _5(bpcharge), _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(2, 1042, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpcharge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bpchargt", 1, - AddBuiltinFunc(_0(1051), _1("bpchargt"), _2(2), _3(true), _4(false), _5(bpchargt), _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(2, 1042, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpchargt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1051), _1("bpchargt"), _2(2), _3(true), _4(false), _5(bpchargt), _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(2, 1042, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpchargt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bpchariclike", 1, - AddBuiltinFunc(_0(1660), _1("bpchariclike"), _2(2), _3(true), _4(false), _5(texticlike), _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(2, 1042, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("texticlike"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1660), _1("bpchariclike"), _2(2), _3(true), _4(false), _5(texticlike), _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(2, 1042, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("texticlike"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bpcharicnlike", 1, - AddBuiltinFunc(_0(1661), _1("bpcharicnlike"), _2(2), _3(true), _4(false), _5(texticnlike), _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(2, 1042, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("texticnlike"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1661), _1("bpcharicnlike"), _2(2), _3(true), _4(false), _5(texticnlike), _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(2, 1042, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("texticnlike"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bpcharicregexeq", 1, - AddBuiltinFunc(_0(1656), _1("bpcharicregexeq"), _2(2), _3(true), _4(false), _5(texticregexeq), _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(2, 1042, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("texticregexeq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1656), _1("bpcharicregexeq"), _2(2), _3(true), _4(false), _5(texticregexeq), _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(2, 1042, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("texticregexeq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bpcharicregexne", 1, - AddBuiltinFunc(_0(1657), _1("bpcharicregexne"), _2(2), _3(true), _4(false), _5(texticregexne), _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(2, 1042, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("texticregexne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1657), _1("bpcharicregexne"), _2(2), _3(true), _4(false), _5(texticregexne), _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(2, 1042, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("texticregexne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bpcharin", 1, - AddBuiltinFunc(_0(1044), _1("bpcharin"), _2(3), _3(true), _4(false), _5(bpcharin), _6(1042), _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(3, 2275, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpcharin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1044), _1("bpcharin"), _2(3), _3(true), _4(false), _5(bpcharin), _6(1042), _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(3, 2275, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpcharin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bpcharle", 1, - AddBuiltinFunc(_0(1050), _1("bpcharle"), _2(2), _3(true), _4(false), _5(bpcharle), _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(2, 1042, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpcharle"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1050), _1("bpcharle"), _2(2), _3(true), _4(false), _5(bpcharle), _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(2, 1042, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpcharle"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bpcharlike", 1, - AddBuiltinFunc(_0(1631), _1("bpcharlike"), _2(2), _3(true), _4(false), _5(textlike), _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(2, 1042, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("textlike"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1631), _1("bpcharlike"), _2(2), _3(true), _4(false), _5(textlike), _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(2, 1042, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("textlike"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bpcharlt", 1, - AddBuiltinFunc(_0(1049), _1("bpcharlt"), _2(2), _3(true), _4(false), _5(bpcharlt), _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(2, 1042, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpcharlt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1049), _1("bpcharlt"), _2(2), _3(true), _4(false), _5(bpcharlt), _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(2, 1042, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpcharlt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bpcharne", 1, - AddBuiltinFunc(_0(1053), _1("bpcharne"), _2(2), _3(true), _4(false), _5(bpcharne), _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(true), _18('i'), _19(0), _20(2, 1042, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpcharne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1053), _1("bpcharne"), _2(2), _3(true), _4(false), _5(bpcharne), _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(true), _18('i'), _19(0), _20(2, 1042, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpcharne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bpcharnlike", 1, - AddBuiltinFunc(_0(1632), _1("bpcharnlike"), _2(2), _3(true), _4(false), _5(textnlike), _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(2, 1042, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("textnlike"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1632), _1("bpcharnlike"), _2(2), _3(true), _4(false), _5(textnlike), _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(2, 1042, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("textnlike"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bpcharout", 1, - AddBuiltinFunc(_0(1045), _1("bpcharout"), _2(1), _3(true), _4(false), _5(bpcharout), _6(2275), _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(1, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpcharout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1045), _1("bpcharout"), _2(1), _3(true), _4(false), _5(bpcharout), _6(2275), _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(1, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpcharout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bpcharrecv", 1, - AddBuiltinFunc(_0(2430), _1("bpcharrecv"), _2(3), _3(true), _4(false), _5(bpcharrecv), _6(1042), _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('s'), _19(0), _20(3, 2281, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpcharrecv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2430), _1("bpcharrecv"), _2(3), _3(true), _4(false), _5(bpcharrecv), _6(1042), _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('s'), _19(0), _20(3, 2281, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpcharrecv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bpcharregexeq", 1, - AddBuiltinFunc(_0(1658), _1("bpcharregexeq"), _2(2), _3(true), _4(false), _5(textregexeq), _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(2, 1042, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("textregexeq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1658), _1("bpcharregexeq"), _2(2), _3(true), _4(false), _5(textregexeq), _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(2, 1042, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("textregexeq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bpcharregexne", 1, - AddBuiltinFunc(_0(1659), _1("bpcharregexne"), _2(2), _3(true), _4(false), _5(textregexne), _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(2, 1042, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("textregexne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1659), _1("bpcharregexne"), _2(2), _3(true), _4(false), _5(textregexne), _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(2, 1042, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("textregexne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bpcharsend", 1, - AddBuiltinFunc(_0(2431), _1("bpcharsend"), _2(1), _3(true), _4(false), _5(bpcharsend), _6(17), _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('s'), _19(0), _20(1, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpcharsend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2431), _1("bpcharsend"), _2(1), _3(true), _4(false), _5(bpcharsend), _6(17), _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('s'), _19(0), _20(1, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpcharsend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bpchartypmodin", 1, - AddBuiltinFunc(_0(2913), _1("bpchartypmodin"), _2(1), _3(true), _4(false), _5(bpchartypmodin), _6(23), _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(1, 1263), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpchartypmodin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2913), _1("bpchartypmodin"), _2(1), _3(true), _4(false), _5(bpchartypmodin), _6(23), _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(1, 1263), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpchartypmodin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bpchartypmodout", 1, - AddBuiltinFunc(_0(2914), _1("bpchartypmodout"), _2(1), _3(true), _4(false), _5(bpchartypmodout), _6(2275), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpchartypmodout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2914), _1("bpchartypmodout"), _2(1), _3(true), _4(false), _5(bpchartypmodout), _6(2275), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpchartypmodout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "broadcast", 1, - AddBuiltinFunc(_0(698), _1("broadcast"), _2(1), _3(true), _4(false), _5(network_broadcast), _6(869), _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(1, 869), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("network_broadcast"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(698), _1("broadcast"), _2(1), _3(true), _4(false), _5(network_broadcast), _6(869), _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(1, 869), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("network_broadcast"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "btabstimecmp", 1, - AddBuiltinFunc(_0(357), _1("btabstimecmp"), _2(2), _3(true), _4(false), _5(btabstimecmp), _6(23), _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(2, 702, 702), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btabstimecmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(357), _1("btabstimecmp"), _2(2), _3(true), _4(false), _5(btabstimecmp), _6(23), _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(2, 702, 702), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btabstimecmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "btarraycmp", 1, - AddBuiltinFunc(_0(382), _1("btarraycmp"), _2(2), _3(true), _4(false), _5(btarraycmp), _6(23), _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(2, 2277, 2277), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btarraycmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(382), _1("btarraycmp"), _2(2), _3(true), _4(false), _5(btarraycmp), _6(23), _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(2, 2277, 2277), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btarraycmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "btbeginscan", 1, - AddBuiltinFunc(_0(333), _1("btbeginscan"), _2(3), _3(true), _4(false), _5(btbeginscan), _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('v'), _19(0), _20(3, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btbeginscan"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(333), _1("btbeginscan"), _2(3), _3(true), _4(false), _5(btbeginscan), _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('v'), _19(0), _20(3, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btbeginscan"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "btboolcmp", 1, - AddBuiltinFunc(_0(1693), _1("btboolcmp"), _2(2), _3(true), _4(false), _5(btboolcmp), _6(23), _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(2, 16, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btboolcmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1693), _1("btboolcmp"), _2(2), _3(true), _4(false), _5(btboolcmp), _6(23), _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(2, 16, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btboolcmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "btbpchar_pattern_cmp", 1, - AddBuiltinFunc(_0(2180), _1("btbpchar_pattern_cmp"), _2(2), _3(true), _4(false), _5(btbpchar_pattern_cmp), _6(23), _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(2, 1042, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btbpchar_pattern_cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2180), _1("btbpchar_pattern_cmp"), _2(2), _3(true), _4(false), _5(btbpchar_pattern_cmp), _6(23), _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(2, 1042, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btbpchar_pattern_cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "btbuild", 1, - AddBuiltinFunc(_0(338), _1("btbuild"), _2(3), _3(true), _4(false), _5(btbuild), _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('v'), _19(0), _20(3, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btbuild"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(338), _1("btbuild"), _2(3), _3(true), _4(false), _5(btbuild), _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('v'), _19(0), _20(3, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btbuild"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "btbuildempty", 1, - AddBuiltinFunc(_0(328), _1("btbuildempty"), _2(1), _3(true), _4(false), _5(btbuildempty), _6(2278), _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('v'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btbuildempty"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(328), _1("btbuildempty"), _2(1), _3(true), _4(false), _5(btbuildempty), _6(2278), _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('v'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btbuildempty"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "btbulkdelete", 1, - AddBuiltinFunc(_0(332), _1("btbulkdelete"), _2(4), _3(true), _4(false), _5(btbulkdelete), _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('v'), _19(0), _20(4, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btbulkdelete"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(332), _1("btbulkdelete"), _2(4), _3(true), _4(false), _5(btbulkdelete), _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('v'), _19(0), _20(4, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btbulkdelete"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "btcanreturn", 1, - AddBuiltinFunc(_0(276), _1("btcanreturn"), _2(1), _3(true), _4(false), _5(btcanreturn), _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('s'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btcanreturn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(276), _1("btcanreturn"), _2(1), _3(true), _4(false), _5(btcanreturn), _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('s'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btcanreturn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "btcharcmp", 1, - AddBuiltinFunc(_0(358), _1("btcharcmp"), _2(2), _3(true), _4(false), _5(btcharcmp), _6(23), _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(2, 18, 18), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btcharcmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(358), _1("btcharcmp"), _2(2), _3(true), _4(false), _5(btcharcmp), _6(23), _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(2, 18, 18), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btcharcmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "btcostestimate", 1, - AddBuiltinFunc(_0(1268), _1("btcostestimate"), _2(7), _3(true), _4(false), _5(btcostestimate), _6(2278), _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('v'), _19(0), _20(7, 2281, 2281, 2281, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btcostestimate"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1268), _1("btcostestimate"), _2(7), _3(true), _4(false), _5(btcostestimate), _6(2278), _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('v'), _19(0), _20(7, 2281, 2281, 2281, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btcostestimate"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "btendscan", 1, - AddBuiltinFunc(_0(335), _1("btendscan"), _2(1), _3(true), _4(false), _5(btendscan), _6(2278), _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('v'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btendscan"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(335), _1("btendscan"), _2(1), _3(true), _4(false), _5(btendscan), _6(2278), _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('v'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btendscan"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "btfloat48cmp", 1, - AddBuiltinFunc(_0(2194), _1("btfloat48cmp"), _2(2), _3(true), _4(false), _5(btfloat48cmp), _6(23), _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(2, 700, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btfloat48cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2194), _1("btfloat48cmp"), _2(2), _3(true), _4(false), _5(btfloat48cmp), _6(23), _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(2, 700, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btfloat48cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "btfloat4cmp", 1, - AddBuiltinFunc(_0(354), _1("btfloat4cmp"), _2(2), _3(true), _4(false), _5(btfloat4cmp), _6(23), _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(2, 700, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btfloat4cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(354), _1("btfloat4cmp"), _2(2), _3(true), _4(false), _5(btfloat4cmp), _6(23), _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(2, 700, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btfloat4cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "btfloat4sortsupport", 1, - AddBuiltinFunc(_0(3132), _1("btfloat4sortsupport"), _2(1), _3(true), _4(false), _5(btfloat4sortsupport), _6(2278), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btfloat4sortsupport"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3132), _1("btfloat4sortsupport"), _2(1), _3(true), _4(false), _5(btfloat4sortsupport), _6(2278), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btfloat4sortsupport"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "btfloat84cmp", 1, - AddBuiltinFunc(_0(2195), _1("btfloat84cmp"), _2(2), _3(true), _4(false), _5(btfloat84cmp), _6(23), _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(2, 701, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btfloat84cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2195), _1("btfloat84cmp"), _2(2), _3(true), _4(false), _5(btfloat84cmp), _6(23), _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(2, 701, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btfloat84cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "btfloat8cmp", 1, - AddBuiltinFunc(_0(355), _1("btfloat8cmp"), _2(2), _3(true), _4(false), _5(btfloat8cmp), _6(23), _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(2, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btfloat8cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(355), _1("btfloat8cmp"), _2(2), _3(true), _4(false), _5(btfloat8cmp), _6(23), _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(2, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btfloat8cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "btfloat8sortsupport", 1, - AddBuiltinFunc(_0(3133), _1("btfloat8sortsupport"), _2(1), _3(true), _4(false), _5(btfloat8sortsupport), _6(2278), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btfloat8sortsupport"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3133), _1("btfloat8sortsupport"), _2(1), _3(true), _4(false), _5(btfloat8sortsupport), _6(2278), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btfloat8sortsupport"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "btgetbitmap", 1, - AddBuiltinFunc(_0(636), _1("btgetbitmap"), _2(2), _3(true), _4(false), _5(btgetbitmap), _6(20), _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('v'), _19(0), _20(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btgetbitmap"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(636), _1("btgetbitmap"), _2(2), _3(true), _4(false), _5(btgetbitmap), _6(20), _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('v'), _19(0), _20(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btgetbitmap"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "btgettuple", 1, - AddBuiltinFunc(_0(330), _1("btgettuple"), _2(2), _3(true), _4(false), _5(btgettuple), _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('v'), _19(0), _20(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btgettuple"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(330), _1("btgettuple"), _2(2), _3(true), _4(false), _5(btgettuple), _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('v'), _19(0), _20(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btgettuple"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "btinsert", 1, - AddBuiltinFunc(_0(331), _1("btinsert"), _2(6), _3(true), _4(false), _5(btinsert), _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('v'), _19(0), _20(6, 2281, 2281, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btinsert"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(331), _1("btinsert"), _2(6), _3(true), _4(false), _5(btinsert), _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('v'), _19(0), _20(6, 2281, 2281, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btinsert"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "btint24cmp", 1, - AddBuiltinFunc(_0(2190), _1("btint24cmp"), _2(2), _3(true), _4(false), _5(btint24cmp), _6(23), _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(2, 21, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btint24cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2190), _1("btint24cmp"), _2(2), _3(true), _4(false), _5(btint24cmp), _6(23), _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(2, 21, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btint24cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "btint28cmp", 1, - AddBuiltinFunc(_0(2192), _1("btint28cmp"), _2(2), _3(true), _4(false), _5(btint28cmp), _6(23), _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(2, 21, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btint28cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2192), _1("btint28cmp"), _2(2), _3(true), _4(false), _5(btint28cmp), _6(23), _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(2, 21, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btint28cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "btint2cmp", 1, - AddBuiltinFunc(_0(350), _1("btint2cmp"), _2(2), _3(true), _4(false), _5(btint2cmp), _6(23), _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(2, 21, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btint2cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(350), _1("btint2cmp"), _2(2), _3(true), _4(false), _5(btint2cmp), _6(23), _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(2, 21, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btint2cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "btint2sortsupport", 1, - AddBuiltinFunc(_0(3129), _1("btint2sortsupport"), _2(1), _3(true), _4(false), _5(btint2sortsupport), _6(2278), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btint2sortsupport"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3129), _1("btint2sortsupport"), _2(1), _3(true), _4(false), _5(btint2sortsupport), _6(2278), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btint2sortsupport"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "btint42cmp", 1, - AddBuiltinFunc(_0(2191), _1("btint42cmp"), _2(2), _3(true), _4(false), _5(btint42cmp), _6(23), _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(2, 23, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btint42cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2191), _1("btint42cmp"), _2(2), _3(true), _4(false), _5(btint42cmp), _6(23), _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(2, 23, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btint42cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "btint48cmp", 1, - AddBuiltinFunc(_0(2188), _1("btint48cmp"), _2(2), _3(true), _4(false), _5(btint48cmp), _6(23), _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(2, 23, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btint48cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2188), _1("btint48cmp"), _2(2), _3(true), _4(false), _5(btint48cmp), _6(23), _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(2, 23, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btint48cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "btint4cmp", 1, - AddBuiltinFunc(_0(351), _1("btint4cmp"), _2(2), _3(true), _4(false), _5(btint4cmp), _6(23), _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(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btint4cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(351), _1("btint4cmp"), _2(2), _3(true), _4(false), _5(btint4cmp), _6(23), _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(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btint4cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "btint4sortsupport", 1, - AddBuiltinFunc(_0(3130), _1("btint4sortsupport"), _2(1), _3(true), _4(false), _5(btint4sortsupport), _6(2278), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btint4sortsupport"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3130), _1("btint4sortsupport"), _2(1), _3(true), _4(false), _5(btint4sortsupport), _6(2278), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btint4sortsupport"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "btint82cmp", 1, - AddBuiltinFunc(_0(2193), _1("btint82cmp"), _2(2), _3(true), _4(false), _5(btint82cmp), _6(23), _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(2, 20, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btint82cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2193), _1("btint82cmp"), _2(2), _3(true), _4(false), _5(btint82cmp), _6(23), _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(2, 20, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btint82cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "btint84cmp", 1, - AddBuiltinFunc(_0(2189), _1("btint84cmp"), _2(2), _3(true), _4(false), _5(btint84cmp), _6(23), _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(2, 20, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btint84cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2189), _1("btint84cmp"), _2(2), _3(true), _4(false), _5(btint84cmp), _6(23), _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(2, 20, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btint84cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "btint8cmp", 1, - AddBuiltinFunc(_0(842), _1("btint8cmp"), _2(2), _3(true), _4(false), _5(btint8cmp), _6(23), _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(2, 20, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btint8cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(842), _1("btint8cmp"), _2(2), _3(true), _4(false), _5(btint8cmp), _6(23), _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(2, 20, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btint8cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "btint8sortsupport", 1, - AddBuiltinFunc(_0(3131), _1("btint8sortsupport"), _2(1), _3(true), _4(false), _5(btint8sortsupport), _6(2278), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btint8sortsupport"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3131), _1("btint8sortsupport"), _2(1), _3(true), _4(false), _5(btint8sortsupport), _6(2278), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btint8sortsupport"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "btmarkpos", 1, - AddBuiltinFunc(_0(336), _1("btmarkpos"), _2(1), _3(true), _4(false), _5(btmarkpos), _6(2278), _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('v'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btmarkpos"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(336), _1("btmarkpos"), _2(1), _3(true), _4(false), _5(btmarkpos), _6(2278), _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('v'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btmarkpos"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "btmerge", 1, - AddBuiltinFunc(_0(3184), _1("btmerge"), _2(5), _3(true), _4(false), _5(btmerge), _6(2278), _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('v'), _19(0), _20(5, 2281, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btmerge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3184), _1("btmerge"), _2(5), _3(true), _4(false), _5(btmerge), _6(2278), _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('v'), _19(0), _20(5, 2281, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btmerge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "btnamecmp", 1, - AddBuiltinFunc(_0(359), _1("btnamecmp"), _2(2), _3(true), _4(false), _5(btnamecmp), _6(23), _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(2, 19, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btnamecmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(359), _1("btnamecmp"), _2(2), _3(true), _4(false), _5(btnamecmp), _6(23), _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(2, 19, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btnamecmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "btnamesortsupport", 1, - AddBuiltinFunc(_0(3135), _1("btnamesortsupport"), _2(1), _3(true), _4(false), _5(btnamesortsupport), _6(2278), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btnamesortsupport"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3135), _1("btnamesortsupport"), _2(1), _3(true), _4(false), _5(btnamesortsupport), _6(2278), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btnamesortsupport"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "btoidcmp", 1, - AddBuiltinFunc(_0(356), _1("btoidcmp"), _2(2), _3(true), _4(false), _5(btoidcmp), _6(23), _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(2, 26, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btoidcmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(356), _1("btoidcmp"), _2(2), _3(true), _4(false), _5(btoidcmp), _6(23), _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(2, 26, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btoidcmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "btoidsortsupport", 1, - AddBuiltinFunc(_0(3134), _1("btoidsortsupport"), _2(1), _3(true), _4(false), _5(btoidsortsupport), _6(2278), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btoidsortsupport"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3134), _1("btoidsortsupport"), _2(1), _3(true), _4(false), _5(btoidsortsupport), _6(2278), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btoidsortsupport"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "btoidvectorcmp", 1, - AddBuiltinFunc(_0(404), _1("btoidvectorcmp"), _2(2), _3(true), _4(false), _5(btoidvectorcmp), _6(23), _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(2, 30, 30), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btoidvectorcmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(404), _1("btoidvectorcmp"), _2(2), _3(true), _4(false), _5(btoidvectorcmp), _6(23), _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(2, 30, 30), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btoidvectorcmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "btoptions", 1, - AddBuiltinFunc(_0(2785), _1("btoptions"), _2(2), _3(true), _4(false), _5(btoptions), _6(17), _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('s'), _19(0), _20(2, 1009, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btoptions"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2785), _1("btoptions"), _2(2), _3(true), _4(false), _5(btoptions), _6(17), _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('s'), _19(0), _20(2, 1009, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btoptions"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "btrecordcmp", 1, - AddBuiltinFunc(_0(2987), _1("btrecordcmp"), _2(2), _3(true), _4(false), _5(btrecordcmp), _6(23), _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(2, 2249, 2249), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btrecordcmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2987), _1("btrecordcmp"), _2(2), _3(true), _4(false), _5(btrecordcmp), _6(23), _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(2, 2249, 2249), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btrecordcmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "btreltimecmp", 1, - AddBuiltinFunc(_0(380), _1("btreltimecmp"), _2(2), _3(true), _4(false), _5(btreltimecmp), _6(23), _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(2, 703, 703), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btreltimecmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(380), _1("btreltimecmp"), _2(2), _3(true), _4(false), _5(btreltimecmp), _6(23), _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(2, 703, 703), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btreltimecmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "btrescan", 1, - AddBuiltinFunc(_0(334), _1("btrescan"), _2(5), _3(true), _4(false), _5(btrescan), _6(2278), _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('v'), _19(0), _20(5, 2281, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btrescan"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(334), _1("btrescan"), _2(5), _3(true), _4(false), _5(btrescan), _6(2278), _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('v'), _19(0), _20(5, 2281, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btrescan"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "btrestrpos", 1, - AddBuiltinFunc(_0(337), _1("btrestrpos"), _2(1), _3(true), _4(false), _5(btrestrpos), _6(2278), _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('v'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btrestrpos"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(337), _1("btrestrpos"), _2(1), _3(true), _4(false), _5(btrestrpos), _6(2278), _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('v'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btrestrpos"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "btrim", 3, - AddBuiltinFunc(_0(BTRIMPARAFUNCOID), _1("btrim"), _2(2), _3(true), _4(false), _5(btrim), _6(25), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btrim"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(BTRIMFUNCOID), _1("btrim"), _2(1), _3(true), _4(false), _5(btrim1), _6(25), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btrim1"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2015), _1("btrim"), _2(2), _3(true), _4(false), _5(byteatrim), _6(17), _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(2, 17, 17), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteatrim"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(BTRIMPARAFUNCOID), _1("btrim"), _2(2), _3(true), _4(false), _5(btrim), _6(25), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btrim"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(BTRIMFUNCOID), _1("btrim"), _2(1), _3(true), _4(false), _5(btrim1), _6(25), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btrim1"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2015), _1("btrim"), _2(2), _3(true), _4(false), _5(byteatrim), _6(17), _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(2, 17, 17), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteatrim"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bttext_pattern_cmp", 1, - AddBuiltinFunc(_0(2166), _1("bttext_pattern_cmp"), _2(2), _3(true), _4(false), _5(bttext_pattern_cmp), _6(23), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bttext_pattern_cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2166), _1("bttext_pattern_cmp"), _2(2), _3(true), _4(false), _5(bttext_pattern_cmp), _6(23), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bttext_pattern_cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bttextcmp", 1, - AddBuiltinFunc(_0(360), _1("bttextcmp"), _2(2), _3(true), _4(false), _5(bttextcmp), _6(23), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bttextcmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(360), _1("bttextcmp"), _2(2), _3(true), _4(false), _5(bttextcmp), _6(23), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bttextcmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bttextsortsupport", 1, - AddBuiltinFunc(_0(3255), _1("bttextsortsupport"), _2(1), _3(true), _4(false), _5(bttextsortsupport), _6(2278), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bttextsortsupport"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3255), _1("bttextsortsupport"), _2(1), _3(true), _4(false), _5(bttextsortsupport), _6(2278), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bttextsortsupport"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bttidcmp", 1, - AddBuiltinFunc(_0(2794), _1("bttidcmp"), _2(2), _3(true), _4(false), _5(bttidcmp), _6(23), _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(2, 27, 27), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bttidcmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2794), _1("bttidcmp"), _2(2), _3(true), _4(false), _5(bttidcmp), _6(23), _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(2, 27, 27), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bttidcmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bttintervalcmp", 1, - AddBuiltinFunc(_0(381), _1("bttintervalcmp"), _2(2), _3(true), _4(false), _5(bttintervalcmp), _6(23), _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(2, 704, 704), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bttintervalcmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(381), _1("bttintervalcmp"), _2(2), _3(true), _4(false), _5(bttintervalcmp), _6(23), _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(2, 704, 704), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bttintervalcmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "btvacuumcleanup", 1, - AddBuiltinFunc(_0(972), _1("btvacuumcleanup"), _2(2), _3(true), _4(false), _5(btvacuumcleanup), _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('v'), _19(0), _20(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btvacuumcleanup"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(972), _1("btvacuumcleanup"), _2(2), _3(true), _4(false), _5(btvacuumcleanup), _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('v'), _19(0), _20(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("btvacuumcleanup"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bucketabstime", 1, - AddBuiltinFunc(_0(4136), _1("bucketabstime"), _2(2), _3(true), _4(false), _5(bucketabstime), _6(23), _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(2, 702, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketabstime"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4136), _1("bucketabstime"), _2(2), _3(true), _4(false), _5(bucketabstime), _6(23), _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(2, 702, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketabstime"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bucketbool", 1, - AddBuiltinFunc(_0(4146), _1("bucketbool"), _2(2), _3(true), _4(false), _5(bucketbool), _6(23), _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(2, 16, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketbool"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4146), _1("bucketbool"), _2(2), _3(true), _4(false), _5(bucketbool), _6(23), _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(2, 16, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketbool"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bucketbpchar", 1, - AddBuiltinFunc(_0(4107), _1("bucketbpchar"), _2(2), _3(true), _4(false), _5(bucketbpchar), _6(23), _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(2, 1042, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketbpchar"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4107), _1("bucketbpchar"), _2(2), _3(true), _4(false), _5(bucketbpchar), _6(23), _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(2, 1042, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketbpchar"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bucketbytea", 1, - AddBuiltinFunc(_0(4142), _1("bucketbytea"), _2(2), _3(true), _4(false), _5(bucketbytea), _6(23), _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(2, 17, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketbytea"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4142), _1("bucketbytea"), _2(2), _3(true), _4(false), _5(bucketbytea), _6(23), _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(2, 17, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketbytea"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bucketcash", 1, - AddBuiltinFunc(_0(4140), _1("bucketcash"), _2(2), _3(true), _4(false), _5(bucketcash), _6(23), _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(2, 790, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketcash"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4140), _1("bucketcash"), _2(2), _3(true), _4(false), _5(bucketcash), _6(23), _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(2, 790, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketcash"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bucketchar", 1, - AddBuiltinFunc(_0(4109), _1("bucketchar"), _2(2), _3(true), _4(false), _5(bucketchar), _6(23), _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(2, 18, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketchar"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4109), _1("bucketchar"), _2(2), _3(true), _4(false), _5(bucketchar), _6(23), _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(2, 18, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketchar"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bucketdate", 1, - AddBuiltinFunc(_0(4113), _1("bucketdate"), _2(2), _3(true), _4(false), _5(bucketdate), _6(23), _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(2, 1082, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketdate"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4113), _1("bucketdate"), _2(2), _3(true), _4(false), _5(bucketdate), _6(23), _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(2, 1082, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketdate"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bucketfloat4", 1, - AddBuiltinFunc(_0(4156), _1("bucketfloat4"), _2(2), _3(true), _4(false), _5(bucketfloat4), _6(23), _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(2, 700, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketfloat4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4156), _1("bucketfloat4"), _2(2), _3(true), _4(false), _5(bucketfloat4), _6(23), _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(2, 700, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketfloat4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bucketfloat8", 1, - AddBuiltinFunc(_0(4158), _1("bucketfloat8"), _2(2), _3(true), _4(false), _5(bucketfloat8), _6(23), _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(2, 701, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketfloat8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4158), _1("bucketfloat8"), _2(2), _3(true), _4(false), _5(bucketfloat8), _6(23), _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(2, 701, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketfloat8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bucketint1", 1, - AddBuiltinFunc(_0(4125), _1("bucketint1"), _2(2), _3(true), _4(false), _5(bucketint1), _6(23), _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(2, 5545, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketint1"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4125), _1("bucketint1"), _2(2), _3(true), _4(false), _5(bucketint1), _6(23), _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(2, 5545, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketint1"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bucketint2", 1, - AddBuiltinFunc(_0(4103), _1("bucketint2"), _2(2), _3(true), _4(false), _5(bucketint2), _6(23), _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(2, 21, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketint2"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4103), _1("bucketint2"), _2(2), _3(true), _4(false), _5(bucketint2), _6(23), _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(2, 21, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketint2"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bucketint2vector", 1, - AddBuiltinFunc(_0(4150), _1("bucketint2vector"), _2(2), _3(true), _4(false), _5(bucketint2vector), _6(23), _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(2, 22, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketint2vector"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4150), _1("bucketint2vector"), _2(2), _3(true), _4(false), _5(bucketint2vector), _6(23), _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(2, 22, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketint2vector"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bucketint4", 1, - AddBuiltinFunc(_0(4101), _1("bucketint4"), _2(2), _3(true), _4(false), _5(bucketint4), _6(23), _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(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketint4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4101), _1("bucketint4"), _2(2), _3(true), _4(false), _5(bucketint4), _6(23), _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(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketint4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bucketint8", 1, - AddBuiltinFunc(_0(4105), _1("bucketint8"), _2(2), _3(true), _4(false), _5(bucketint8), _6(23), _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(2, 20, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketint8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4105), _1("bucketint8"), _2(2), _3(true), _4(false), _5(bucketint8), _6(23), _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(2, 20, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketint8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bucketinterval", 1, - AddBuiltinFunc(_0(4121), _1("bucketinterval"), _2(2), _3(true), _4(false), _5(bucketinterval), _6(23), _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(2, 1186, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketinterval"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4121), _1("bucketinterval"), _2(2), _3(true), _4(false), _5(bucketinterval), _6(23), _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(2, 1186, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketinterval"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bucketname", 1, - AddBuiltinFunc(_0(4148), _1("bucketname"), _2(2), _3(true), _4(false), _5(bucketname), _6(23), _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(2, 19, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketname"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4148), _1("bucketname"), _2(2), _3(true), _4(false), _5(bucketname), _6(23), _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(2, 19, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketname"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bucketnumeric", 1, - AddBuiltinFunc(_0(4132), _1("bucketnumeric"), _2(2), _3(true), _4(false), _5(bucketnumeric), _6(23), _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(2, 1700, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketnumeric"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4132), _1("bucketnumeric"), _2(2), _3(true), _4(false), _5(bucketnumeric), _6(23), _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(2, 1700, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketnumeric"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bucketnvarchar2", 1, - AddBuiltinFunc(_0(4129), _1("bucketnvarchar2"), _2(2), _3(true), _4(false), _5(bucketnvarchar2), _6(23), _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(2, 3969, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketnvarchar2"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4129), _1("bucketnvarchar2"), _2(2), _3(true), _4(false), _5(bucketnvarchar2), _6(23), _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(2, 3969, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketnvarchar2"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bucketoid", 1, - AddBuiltinFunc(_0(4134), _1("bucketoid"), _2(2), _3(true), _4(false), _5(bucketoid), _6(23), _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(2, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketoid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4134), _1("bucketoid"), _2(2), _3(true), _4(false), _5(bucketoid), _6(23), _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(2, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketoid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bucketoidvector", 1, - AddBuiltinFunc(_0(4154), _1("bucketoidvector"), _2(2), _3(true), _4(false), _5(bucketoidvector), _6(23), _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(2, 30, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketoidvector"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4154), _1("bucketoidvector"), _2(2), _3(true), _4(false), _5(bucketoidvector), _6(23), _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(2, 30, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketoidvector"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bucketraw", 1, - AddBuiltinFunc(_0(4144), _1("bucketraw"), _2(2), _3(true), _4(false), _5(bucketraw), _6(23), _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(2, 86, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketraw"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4144), _1("bucketraw"), _2(2), _3(true), _4(false), _5(bucketraw), _6(23), _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(2, 86, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketraw"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bucketreltime", 1, - AddBuiltinFunc(_0(4138), _1("bucketreltime"), _2(2), _3(true), _4(false), _5(bucketreltime), _6(23), _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(2, 703, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketreltime"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4138), _1("bucketreltime"), _2(2), _3(true), _4(false), _5(bucketreltime), _6(23), _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(2, 703, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketreltime"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bucketsmalldatetime", 1, - AddBuiltinFunc(_0(4127), _1("bucketsmalldatetime"), _2(2), _3(true), _4(false), _5(bucketsmalldatetime), _6(23), _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(2, 9003, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketsmalldatetime"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4127), _1("bucketsmalldatetime"), _2(2), _3(true), _4(false), _5(bucketsmalldatetime), _6(23), _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(2, 9003, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketsmalldatetime"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "buckettext", 1, - AddBuiltinFunc(_0(4152), _1("buckettext"), _2(2), _3(true), _4(false), _5(buckettext), _6(23), _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(2, 25, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("buckettext"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4152), _1("buckettext"), _2(2), _3(true), _4(false), _5(buckettext), _6(23), _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(2, 25, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("buckettext"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "buckettime", 1, - AddBuiltinFunc(_0(4115), _1("buckettime"), _2(2), _3(true), _4(false), _5(buckettime), _6(23), _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(2, 1083, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("buckettime"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4115), _1("buckettime"), _2(2), _3(true), _4(false), _5(buckettime), _6(23), _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(2, 1083, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("buckettime"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "buckettimestamp", 1, - AddBuiltinFunc(_0(4117), _1("buckettimestamp"), _2(2), _3(true), _4(false), _5(buckettimestamp), _6(23), _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(2, 1114, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("buckettimestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4117), _1("buckettimestamp"), _2(2), _3(true), _4(false), _5(buckettimestamp), _6(23), _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(2, 1114, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("buckettimestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "buckettimestamptz", 1, - AddBuiltinFunc(_0(4123), _1("buckettimestamptz"), _2(2), _3(true), _4(false), _5(buckettimestamptz), _6(23), _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(2, 1184, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("buckettimestamptz"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4123), _1("buckettimestamptz"), _2(2), _3(true), _4(false), _5(buckettimestamptz), _6(23), _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(2, 1184, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("buckettimestamptz"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "buckettimetz", 1, - AddBuiltinFunc(_0(4119), _1("buckettimetz"), _2(2), _3(true), _4(false), _5(buckettimetz), _6(23), _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(2, 1266, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("buckettimetz"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4119), _1("buckettimetz"), _2(2), _3(true), _4(false), _5(buckettimetz), _6(23), _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(2, 1266, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("buckettimetz"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bucketuuid", 1, - AddBuiltinFunc(_0(6001), _1("bucketuuid"), _2(2), _3(true), _4(false), _5(bucketuuid), _6(23), _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(2, 2950, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketuuid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(6001), _1("bucketuuid"), _2(2), _3(true), _4(false), _5(bucketuuid), _6(23), _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(2, 2950, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketuuid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bucketvarchar", 1, - AddBuiltinFunc(_0(4111), _1("bucketvarchar"), _2(2), _3(true), _4(false), _5(bucketvarchar), _6(23), _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(2, 1043, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketvarchar"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4111), _1("bucketvarchar"), _2(2), _3(true), _4(false), _5(bucketvarchar), _6(23), _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(2, 1043, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketvarchar"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bytea_sortsupport", 1, - AddBuiltinFunc(_0(3452), _1("bytea_sortsupport"), _2(1), _3(true), _4(false), _5(bytea_sortsupport), _6(2278), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bytea_sortsupport"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3452), _1("bytea_sortsupport"), _2(1), _3(true), _4(false), _5(bytea_sortsupport), _6(2278), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bytea_sortsupport"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bytea_string_agg_finalfn", 1, - AddBuiltinFunc(_0(3544), _1("bytea_string_agg_finalfn"), _2(1), _3(false), _4(false), _5(bytea_string_agg_finalfn), _6(17), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bytea_string_agg_finalfn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3544), _1("bytea_string_agg_finalfn"), _2(1), _3(false), _4(false), _5(bytea_string_agg_finalfn), _6(17), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bytea_string_agg_finalfn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bytea_string_agg_transfn", 1, - AddBuiltinFunc(_0(3543), _1("bytea_string_agg_transfn"), _2(3), _3(false), _4(false), _5(bytea_string_agg_transfn), _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(3, 2281, 17, 17), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bytea_string_agg_transfn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3543), _1("bytea_string_agg_transfn"), _2(3), _3(false), _4(false), _5(bytea_string_agg_transfn), _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(3, 2281, 17, 17), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bytea_string_agg_transfn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "byteacat", 1, - AddBuiltinFunc(_0(2011), _1("byteacat"), _2(2), _3(true), _4(false), _5(byteacat), _6(17), _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(2, 17, 17), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteacat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2011), _1("byteacat"), _2(2), _3(true), _4(false), _5(byteacat), _6(17), _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(2, 17, 17), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteacat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "byteacmp", 1, - AddBuiltinFunc(_0(1954), _1("byteacmp"), _2(2), _3(true), _4(false), _5(byteacmp), _6(23), _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(2, 17, 17), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteacmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1954), _1("byteacmp"), _2(2), _3(true), _4(false), _5(byteacmp), _6(23), _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(2, 17, 17), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteacmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "byteaeq", 1, - AddBuiltinFunc(_0(1948), _1("byteaeq"), _2(2), _3(true), _4(false), _5(byteaeq), _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(true), _18('i'), _19(0), _20(2, 17, 17), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteaeq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1948), _1("byteaeq"), _2(2), _3(true), _4(false), _5(byteaeq), _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(true), _18('i'), _19(0), _20(2, 17, 17), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteaeq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "byteage", 1, - AddBuiltinFunc(_0(1952), _1("byteage"), _2(2), _3(true), _4(false), _5(byteage), _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(true), _18('i'), _19(0), _20(2, 17, 17), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteage"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1952), _1("byteage"), _2(2), _3(true), _4(false), _5(byteage), _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(true), _18('i'), _19(0), _20(2, 17, 17), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteage"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "byteagt", 1, - AddBuiltinFunc(_0(1951), _1("byteagt"), _2(2), _3(true), _4(false), _5(byteagt), _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(true), _18('i'), _19(0), _20(2, 17, 17), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteagt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1951), _1("byteagt"), _2(2), _3(true), _4(false), _5(byteagt), _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(true), _18('i'), _19(0), _20(2, 17, 17), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteagt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "byteain", 1, - AddBuiltinFunc(_0(1244), _1("byteain"), _2(1), _3(true), _4(false), _5(byteain), _6(17), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteain"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1244), _1("byteain"), _2(1), _3(true), _4(false), _5(byteain), _6(17), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteain"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "byteale", 1, - AddBuiltinFunc(_0(1950), _1("byteale"), _2(2), _3(true), _4(false), _5(byteale), _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(true), _18('i'), _19(0), _20(2, 17, 17), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteale"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1950), _1("byteale"), _2(2), _3(true), _4(false), _5(byteale), _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(true), _18('i'), _19(0), _20(2, 17, 17), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteale"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bytealike", 1, - AddBuiltinFunc(_0(2005), _1("bytealike"), _2(2), _3(true), _4(false), _5(bytealike), _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(2, 17, 17), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bytealike"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2005), _1("bytealike"), _2(2), _3(true), _4(false), _5(bytealike), _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(2, 17, 17), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bytealike"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bytealt", 1, - AddBuiltinFunc(_0(1949), _1("bytealt"), _2(2), _3(true), _4(false), _5(bytealt), _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(true), _18('i'), _19(0), _20(2, 17, 17), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bytealt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1949), _1("bytealt"), _2(2), _3(true), _4(false), _5(bytealt), _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(true), _18('i'), _19(0), _20(2, 17, 17), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bytealt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "byteane", 1, - AddBuiltinFunc(_0(1953), _1("byteane"), _2(2), _3(true), _4(false), _5(byteane), _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(true), _18('i'), _19(0), _20(2, 17, 17), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteane"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1953), _1("byteane"), _2(2), _3(true), _4(false), _5(byteane), _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(true), _18('i'), _19(0), _20(2, 17, 17), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteane"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "byteanlike", 1, - AddBuiltinFunc(_0(2006), _1("byteanlike"), _2(2), _3(true), _4(false), _5(byteanlike), _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(2, 17, 17), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteanlike"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2006), _1("byteanlike"), _2(2), _3(true), _4(false), _5(byteanlike), _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(2, 17, 17), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteanlike"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "byteaout", 1, - AddBuiltinFunc(_0(31), _1("byteaout"), _2(1), _3(true), _4(false), _5(byteaout), _6(2275), _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(1, 17), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteaout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(31), _1("byteaout"), _2(1), _3(true), _4(false), _5(byteaout), _6(2275), _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(1, 17), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteaout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "bytearecv", 1, - AddBuiltinFunc(_0(2412), _1("bytearecv"), _2(1), _3(true), _4(false), _5(bytearecv), _6(17), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bytearecv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2412), _1("bytearecv"), _2(1), _3(true), _4(false), _5(bytearecv), _6(17), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bytearecv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "byteasend", 1, - AddBuiltinFunc(_0(2413), _1("byteasend"), _2(1), _3(true), _4(false), _5(byteasend), _6(17), _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(1, 17), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteasend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2413), _1("byteasend"), _2(1), _3(true), _4(false), _5(byteasend), _6(17), _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(1, 17), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteasend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "byteawithoutordercolin", 1, - AddBuiltinFunc(_0(4423), _1("byteawithoutordercolin"), _2(1), _3(true), _4(false), _5(byteawithoutordercolin), _6(4403), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteawithoutordercolin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4423), _1("byteawithoutordercolin"), _2(1), _3(true), _4(false), _5(byteawithoutordercolin), _6(4403), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteawithoutordercolin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "byteawithoutordercolout", 1, - AddBuiltinFunc(_0(4428), _1("byteawithoutordercolout"), _2(1), _3(true), _4(false), _5(byteawithoutordercolout), _6(2275), _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(1, 4403), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteawithoutordercolout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4428), _1("byteawithoutordercolout"), _2(1), _3(true), _4(false), _5(byteawithoutordercolout), _6(2275), _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(1, 4403), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteawithoutordercolout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "byteawithoutordercolrecv", 1, - AddBuiltinFunc(_0(4424), _1("byteawithoutordercolrecv"), _2(1), _3(true), _4(false), _5(byteawithoutordercolrecv), _6(17), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteawithoutordercolrecv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4424), _1("byteawithoutordercolrecv"), _2(1), _3(true), _4(false), _5(byteawithoutordercolrecv), _6(17), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteawithoutordercolrecv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "byteawithoutordercolsend", 1, - AddBuiltinFunc(_0(4425), _1("byteawithoutordercolsend"), _2(1), _3(true), _4(false), _5(byteawithoutordercolsend), _6(17), _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(1, 17), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteawithoutordercolsend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4425), _1("byteawithoutordercolsend"), _2(1), _3(true), _4(false), _5(byteawithoutordercolsend), _6(17), _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(1, 17), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteawithoutordercolsend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "byteawithoutorderwithequalcolcmp", 1, - AddBuiltinFunc(_0(4418), _1("byteawithoutorderwithequalcolcmp"), _2(2), _3(true), _4(false), _5(byteawithoutorderwithequalcolcmp), _6(23), _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(2, 4402, 4402), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteawithoutorderwithequalcolcmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4418), _1("byteawithoutorderwithequalcolcmp"), _2(2), _3(true), _4(false), _5(byteawithoutorderwithequalcolcmp), _6(23), _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(2, 4402, 4402), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteawithoutorderwithequalcolcmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "byteawithoutorderwithequalcolcmpbytear", 1, - AddBuiltinFunc(_0(4456), _1("byteawithoutorderwithequalcolcmpbytear"), _2(2), _3(true), _4(false), _5(byteawithoutorderwithequalcolcmpbytear), _6(23), _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(2, 4402, 17), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteawithoutorderwithequalcolcmpbytear"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4456), _1("byteawithoutorderwithequalcolcmpbytear"), _2(2), _3(true), _4(false), _5(byteawithoutorderwithequalcolcmpbytear), _6(23), _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(2, 4402, 17), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteawithoutorderwithequalcolcmpbytear"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "byteawithoutorderwithequalcolcmpbyteal", 1, - AddBuiltinFunc(_0(4463), _1("byteawithoutorderwithequalcolcmpbyteal"), _2(2), _3(true), _4(false), _5(byteawithoutorderwithequalcolcmpbyteal), _6(23), _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(2, 17, 4402), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteawithoutorderwithequalcolcmpbyteal"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4463), _1("byteawithoutorderwithequalcolcmpbyteal"), _2(2), _3(true), _4(false), _5(byteawithoutorderwithequalcolcmpbyteal), _6(23), _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(2, 17, 4402), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteawithoutorderwithequalcolcmpbyteal"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "byteawithoutorderwithequalcoleq", 1, - AddBuiltinFunc(_0(4412), _1("byteawithoutorderwithequalcoleq"), _2(2), _3(true), _4(false), _5(byteawithoutorderwithequalcoleq), _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(true), _18('i'), _19(0), _20(2, 4402, 4402), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteawithoutorderwithequalcoleq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4412), _1("byteawithoutorderwithequalcoleq"), _2(2), _3(true), _4(false), _5(byteawithoutorderwithequalcoleq), _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(true), _18('i'), _19(0), _20(2, 4402, 4402), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteawithoutorderwithequalcoleq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "byteawithoutorderwithequalcoleqbyteal", 1, - AddBuiltinFunc(_0(4457), _1("byteawithoutorderwithequalcoleqbyteal"), _2(2), _3(true), _4(false), _5(byteawithoutorderwithequalcoleqbyteal), _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(true), _18('i'), _19(0), _20(2, 17, 4402), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteawithoutorderwithequalcoleqbyteal"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4457), _1("byteawithoutorderwithequalcoleqbyteal"), _2(2), _3(true), _4(false), _5(byteawithoutorderwithequalcoleqbyteal), _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(true), _18('i'), _19(0), _20(2, 17, 4402), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteawithoutorderwithequalcoleqbyteal"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "byteawithoutorderwithequalcoleqbytear", 1, - AddBuiltinFunc(_0(4447), _1("byteawithoutorderwithequalcoleqbytear"), _2(2), _3(true), _4(false), _5(byteawithoutorderwithequalcoleqbytear), _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(true), _18('i'), _19(0), _20(2, 4402, 17), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteawithoutorderwithequalcoleqbytear"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4447), _1("byteawithoutorderwithequalcoleqbytear"), _2(2), _3(true), _4(false), _5(byteawithoutorderwithequalcoleqbytear), _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(true), _18('i'), _19(0), _20(2, 4402, 17), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteawithoutorderwithequalcoleqbytear"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "byteawithoutorderwithequalcolin", 1, - AddBuiltinFunc(_0(4440), _1("byteawithoutorderwithequalcolin"), _2(1), _3(true), _4(false), _5(byteawithoutorderwithequalcolin), _6(4402), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteawithoutorderwithequalcolin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4440), _1("byteawithoutorderwithequalcolin"), _2(1), _3(true), _4(false), _5(byteawithoutorderwithequalcolin), _6(4402), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteawithoutorderwithequalcolin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "byteawithoutorderwithequalcolne", 1, - AddBuiltinFunc(_0(4417), _1("byteawithoutorderwithequalcolne"), _2(2), _3(true), _4(false), _5(byteawithoutorderwithequalcolne), _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(true), _18('i'), _19(0), _20(2, 4402, 4402), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteawithoutorderwithequalcolne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4417), _1("byteawithoutorderwithequalcolne"), _2(2), _3(true), _4(false), _5(byteawithoutorderwithequalcolne), _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(true), _18('i'), _19(0), _20(2, 4402, 4402), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteawithoutorderwithequalcolne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "byteawithoutorderwithequalcolnebyteal", 1, - AddBuiltinFunc(_0(4561), _1("byteawithoutorderwithequalcolnebyteal"), _2(2), _3(true), _4(false), _5(byteawithoutorderwithequalcolnebyteal), _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(true), _18('i'), _19(0), _20(2, 17, 4402), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteawithoutorderwithequalcolnebyteal"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4561), _1("byteawithoutorderwithequalcolnebyteal"), _2(2), _3(true), _4(false), _5(byteawithoutorderwithequalcolnebyteal), _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(true), _18('i'), _19(0), _20(2, 17, 4402), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteawithoutorderwithequalcolnebyteal"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "byteawithoutorderwithequalcolnebytear", 1, - AddBuiltinFunc(_0(4460), _1("byteawithoutorderwithequalcolnebytear"), _2(2), _3(true), _4(false), _5(byteawithoutorderwithequalcolnebytear), _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(true), _18('i'), _19(0), _20(2, 4402, 17), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteawithoutorderwithequalcolnebytear"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4460), _1("byteawithoutorderwithequalcolnebytear"), _2(2), _3(true), _4(false), _5(byteawithoutorderwithequalcolnebytear), _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(true), _18('i'), _19(0), _20(2, 4402, 17), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteawithoutorderwithequalcolnebytear"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "byteawithoutorderwithequalcolout", 1, - AddBuiltinFunc(_0(4446), _1("byteawithoutorderwithequalcolout"), _2(1), _3(true), _4(false), _5(byteawithoutorderwithequalcolout), _6(2275), _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(1, 4402), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteawithoutorderwithequalcolout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4446), _1("byteawithoutorderwithequalcolout"), _2(1), _3(true), _4(false), _5(byteawithoutorderwithequalcolout), _6(2275), _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(1, 4402), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteawithoutorderwithequalcolout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "byteawithoutorderwithequalcolrecv", 1, - AddBuiltinFunc(_0(4444), _1("byteawithoutorderwithequalcolrecv"), _2(1), _3(true), _4(false), _5(byteawithoutorderwithequalcolrecv), _6(17), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteawithoutorderwithequalcolrecv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4444), _1("byteawithoutorderwithequalcolrecv"), _2(1), _3(true), _4(false), _5(byteawithoutorderwithequalcolrecv), _6(17), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteawithoutorderwithequalcolrecv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "byteawithoutorderwithequalcolsend", 1, - AddBuiltinFunc(_0(4451), _1("byteawithoutorderwithequalcolsend"), _2(1), _3(true), _4(false), _5(byteawithoutorderwithequalcolsend), _6(17), _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(1, 17), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteawithoutorderwithequalcolsend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4451), _1("byteawithoutorderwithequalcolsend"), _2(1), _3(true), _4(false), _5(byteawithoutorderwithequalcolsend), _6(17), _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(1, 17), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteawithoutorderwithequalcolsend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "byteawithoutorderwithequalcoltypmodin", 1, - AddBuiltinFunc(_0(4449), _1("byteawithoutorderwithequalcoltypmodin"), _2(1), _3(true), _4(false), _5(varchartypmodin), _6(23), _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(1, 1263), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteawithoutorderwithequalcoltypmodin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4449), _1("byteawithoutorderwithequalcoltypmodin"), _2(1), _3(true), _4(false), _5(varchartypmodin), _6(23), _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(1, 1263), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteawithoutorderwithequalcoltypmodin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "byteawithoutorderwithequalcoltypmodout", 1, - AddBuiltinFunc(_0(4450), _1("byteawithoutorderwithequalcoltypmodout"), _2(1), _3(true), _4(false), _5(varchartypmodout), _6(2275), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteawithoutorderwithequalcoltypmodout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4450), _1("byteawithoutorderwithequalcoltypmodout"), _2(1), _3(true), _4(false), _5(varchartypmodout), _6(2275), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteawithoutorderwithequalcoltypmodout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "capture_view_to_json", 1, - AddBuiltinFunc(_0(5719), _1("capture_view_to_json"), _2(3), _3(false), _4(false), _5(capture_view_to_json), _6(23), _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('v'), _19(0), _20(2, 25, 23), _21(NULL), _22(2, 'i', 'i'), _23(2, "view_name", "is_all_db"), _24(NULL), _25("capture_view_to_json"), _26(NULL), _27(NULL), _28(NULL), _29(2, 1, 2), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(5719), _1("capture_view_to_json"), _2(3), _3(false), _4(false), _5(capture_view_to_json), _6(23), _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('v'), _19(0), _20(2, 25, 23), _21(NULL), _22(2, 'i', 'i'), _23(2, "view_name", "is_all_db"), _24(NULL), _25("capture_view_to_json"), _26(NULL), _27(NULL), _28(NULL), _29(2, 1, 2), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "cash_cmp", 1, - AddBuiltinFunc(_0(377), _1("cash_cmp"), _2(2), _3(true), _4(false), _5(cash_cmp), _6(23), _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(2, 790, 790), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cash_cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(377), _1("cash_cmp"), _2(2), _3(true), _4(false), _5(cash_cmp), _6(23), _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(2, 790, 790), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cash_cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "cash_div_cash", 1, - AddBuiltinFunc(_0(3822), _1("cash_div_cash"), _2(2), _3(true), _4(false), _5(cash_div_cash), _6(701), _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(2, 790, 790), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cash_div_cash"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3822), _1("cash_div_cash"), _2(2), _3(true), _4(false), _5(cash_div_cash), _6(701), _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(2, 790, 790), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cash_div_cash"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "cash_div_flt4", 1, - AddBuiltinFunc(_0(847), _1("cash_div_flt4"), _2(2), _3(true), _4(false), _5(cash_div_flt4), _6(790), _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(2, 790, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cash_div_flt4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(847), _1("cash_div_flt4"), _2(2), _3(true), _4(false), _5(cash_div_flt4), _6(790), _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(2, 790, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cash_div_flt4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "cash_div_flt8", 1, - AddBuiltinFunc(_0(897), _1("cash_div_flt8"), _2(2), _3(true), _4(false), _5(cash_div_flt8), _6(790), _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(2, 790, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cash_div_flt8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(897), _1("cash_div_flt8"), _2(2), _3(true), _4(false), _5(cash_div_flt8), _6(790), _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(2, 790, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cash_div_flt8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "cash_div_int1", 1, - AddBuiltinFunc(_0(3351), _1("cash_div_int1"), _2(2), _3(true), _4(false), _5(cash_div_int1), _6(790), _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(2, 790, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cash_div_int1"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(3351), _1("cash_div_int1"), _2(2), _3(true), _4(false), _5(cash_div_int1), _6(790), _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(2, 790, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cash_div_int1"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "cash_div_int2", 1, - AddBuiltinFunc(_0(867), _1("cash_div_int2"), _2(2), _3(true), _4(false), _5(cash_div_int2), _6(790), _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(2, 790, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cash_div_int2"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(867), _1("cash_div_int2"), _2(2), _3(true), _4(false), _5(cash_div_int2), _6(790), _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(2, 790, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cash_div_int2"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "cash_div_int4", 1, - AddBuiltinFunc(_0(865), _1("cash_div_int4"), _2(2), _3(true), _4(false), _5(cash_div_int4), _6(790), _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(2, 790, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cash_div_int4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(865), _1("cash_div_int4"), _2(2), _3(true), _4(false), _5(cash_div_int4), _6(790), _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(2, 790, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cash_div_int4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "cash_div_int8", 1, - AddBuiltinFunc(_0(3345), _1("cash_div_int8"), _2(2), _3(true), _4(false), _5(cash_div_int8), _6(790), _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(2, 790, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cash_div_int8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(3345), _1("cash_div_int8"), _2(2), _3(true), _4(false), _5(cash_div_int8), _6(790), _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(2, 790, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cash_div_int8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "cash_eq", 1, - AddBuiltinFunc(_0(888), _1("cash_eq"), _2(2), _3(true), _4(false), _5(cash_eq), _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(true), _18('i'), _19(0), _20(2, 790, 790), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cash_eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(888), _1("cash_eq"), _2(2), _3(true), _4(false), _5(cash_eq), _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(true), _18('i'), _19(0), _20(2, 790, 790), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cash_eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "cash_ge", 1, - AddBuiltinFunc(_0(893), _1("cash_ge"), _2(2), _3(true), _4(false), _5(cash_ge), _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(true), _18('i'), _19(0), _20(2, 790, 790), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cash_ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(893), _1("cash_ge"), _2(2), _3(true), _4(false), _5(cash_ge), _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(true), _18('i'), _19(0), _20(2, 790, 790), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cash_ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "cash_gt", 1, - AddBuiltinFunc(_0(892), _1("cash_gt"), _2(2), _3(true), _4(false), _5(cash_gt), _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(true), _18('i'), _19(0), _20(2, 790, 790), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cash_gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(892), _1("cash_gt"), _2(2), _3(true), _4(false), _5(cash_gt), _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(true), _18('i'), _19(0), _20(2, 790, 790), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cash_gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "cash_in", 1, - AddBuiltinFunc(_0(CASHINFUNCOID), _1("cash_in"), _2(1), _3(true), _4(false), _5(cash_in), _6(790), _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('s'), _19(0), _20(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cash_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(CASHINFUNCOID), _1("cash_in"), _2(1), _3(true), _4(false), _5(cash_in), _6(790), _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('s'), _19(0), _20(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cash_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "cash_le", 1, - AddBuiltinFunc(_0(891), _1("cash_le"), _2(2), _3(true), _4(false), _5(cash_le), _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(true), _18('i'), _19(0), _20(2, 790, 790), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cash_le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(891), _1("cash_le"), _2(2), _3(true), _4(false), _5(cash_le), _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(true), _18('i'), _19(0), _20(2, 790, 790), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cash_le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "cash_lt", 1, - AddBuiltinFunc(_0(890), _1("cash_lt"), _2(2), _3(true), _4(false), _5(cash_lt), _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(true), _18('i'), _19(0), _20(2, 790, 790), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cash_lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(890), _1("cash_lt"), _2(2), _3(true), _4(false), _5(cash_lt), _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(true), _18('i'), _19(0), _20(2, 790, 790), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cash_lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "cash_mi", 1, - AddBuiltinFunc(_0(895), _1("cash_mi"), _2(2), _3(true), _4(false), _5(cash_mi), _6(790), _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(2, 790, 790), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cash_mi"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(895), _1("cash_mi"), _2(2), _3(true), _4(false), _5(cash_mi), _6(790), _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(2, 790, 790), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cash_mi"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "cash_mul_flt4", 1, - AddBuiltinFunc(_0(846), _1("cash_mul_flt4"), _2(2), _3(true), _4(false), _5(cash_mul_flt4), _6(790), _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(2, 790, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cash_mul_flt4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(846), _1("cash_mul_flt4"), _2(2), _3(true), _4(false), _5(cash_mul_flt4), _6(790), _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(2, 790, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cash_mul_flt4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "cash_mul_flt8", 1, - AddBuiltinFunc(_0(896), _1("cash_mul_flt8"), _2(2), _3(true), _4(false), _5(cash_mul_flt8), _6(790), _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(2, 790, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cash_mul_flt8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(896), _1("cash_mul_flt8"), _2(2), _3(true), _4(false), _5(cash_mul_flt8), _6(790), _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(2, 790, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cash_mul_flt8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "cash_mul_int1", 1, - AddBuiltinFunc(_0(3350), _1("cash_mul_int1"), _2(2), _3(true), _4(false), _5(cash_mul_int1), _6(790), _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(2, 790, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cash_mul_int1"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(3350), _1("cash_mul_int1"), _2(2), _3(true), _4(false), _5(cash_mul_int1), _6(790), _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(2, 790, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cash_mul_int1"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "cash_mul_int2", 1, - AddBuiltinFunc(_0(866), _1("cash_mul_int2"), _2(2), _3(true), _4(false), _5(cash_mul_int2), _6(790), _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(2, 790, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cash_mul_int2"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(866), _1("cash_mul_int2"), _2(2), _3(true), _4(false), _5(cash_mul_int2), _6(790), _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(2, 790, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cash_mul_int2"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "cash_mul_int4", 1, - AddBuiltinFunc(_0(864), _1("cash_mul_int4"), _2(2), _3(true), _4(false), _5(cash_mul_int4), _6(790), _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(2, 790, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cash_mul_int4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(864), _1("cash_mul_int4"), _2(2), _3(true), _4(false), _5(cash_mul_int4), _6(790), _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(2, 790, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cash_mul_int4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "cash_mul_int8", 1, - AddBuiltinFunc(_0(3344), _1("cash_mul_int8"), _2(2), _3(true), _4(false), _5(cash_mul_int8), _6(790), _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(2, 790, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cash_mul_int8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(3344), _1("cash_mul_int8"), _2(2), _3(true), _4(false), _5(cash_mul_int8), _6(790), _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(2, 790, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cash_mul_int8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "cash_ne", 1, - AddBuiltinFunc(_0(889), _1("cash_ne"), _2(2), _3(true), _4(false), _5(cash_ne), _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(true), _18('i'), _19(0), _20(2, 790, 790), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cash_ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(889), _1("cash_ne"), _2(2), _3(true), _4(false), _5(cash_ne), _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(true), _18('i'), _19(0), _20(2, 790, 790), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cash_ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "cash_out", 1, - AddBuiltinFunc(_0(CASHOUTFUNCOID), _1("cash_out"), _2(1), _3(true), _4(false), _5(cash_out), _6(2275), _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('s'), _19(0), _20(1, 790), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cash_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(CASHOUTFUNCOID), _1("cash_out"), _2(1), _3(true), _4(false), _5(cash_out), _6(2275), _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('s'), _19(0), _20(1, 790), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cash_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "cash_pl", 1, - AddBuiltinFunc(_0(894), _1("cash_pl"), _2(2), _3(true), _4(false), _5(cash_pl), _6(790), _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(2, 790, 790), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cash_pl"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(894), _1("cash_pl"), _2(2), _3(true), _4(false), _5(cash_pl), _6(790), _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(2, 790, 790), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cash_pl"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "cash_recv", 1, - AddBuiltinFunc(_0(2492), _1("cash_recv"), _2(1), _3(true), _4(false), _5(cash_recv), _6(790), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cash_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2492), _1("cash_recv"), _2(1), _3(true), _4(false), _5(cash_recv), _6(790), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cash_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "cash_send", 1, - AddBuiltinFunc(_0(2493), _1("cash_send"), _2(1), _3(true), _4(false), _5(cash_send), _6(17), _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(1, 790), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cash_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2493), _1("cash_send"), _2(1), _3(true), _4(false), _5(cash_send), _6(17), _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(1, 790), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cash_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "cash_words", 1, - AddBuiltinFunc(_0(935), _1("cash_words"), _2(1), _3(true), _4(false), _5(cash_words), _6(25), _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(1, 790), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cash_words"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(935), _1("cash_words"), _2(1), _3(true), _4(false), _5(cash_words), _6(25), _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(1, 790), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cash_words"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "cashlarger", 1, - AddBuiltinFunc(_0(898), _1("cashlarger"), _2(2), _3(true), _4(false), _5(cashlarger), _6(790), _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(2, 790, 790), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cashlarger"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(898), _1("cashlarger"), _2(2), _3(true), _4(false), _5(cashlarger), _6(790), _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(2, 790, 790), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cashlarger"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "cashsmaller", 1, - AddBuiltinFunc(_0(899), _1("cashsmaller"), _2(2), _3(true), _4(false), _5(cashsmaller), _6(790), _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(2, 790, 790), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cashsmaller"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(899), _1("cashsmaller"), _2(2), _3(true), _4(false), _5(cashsmaller), _6(790), _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(2, 790, 790), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cashsmaller"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "cbrt", 1, - AddBuiltinFunc(_0(1345), _1("cbrt"), _2(1), _3(true), _4(false), _5(dcbrt), _6(701), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dcbrt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1345), _1("cbrt"), _2(1), _3(true), _4(false), _5(dcbrt), _6(701), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dcbrt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "cbtreebuild", 1, - AddBuiltinFunc(_0(4240), _1("cbtreebuild"), _2(3), _3(true), _4(false), _5(cbtreebuild), _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('v'), _19(0), _20(3, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cbtreebuild"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4240), _1("cbtreebuild"), _2(3), _3(true), _4(false), _5(cbtreebuild), _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('v'), _19(0), _20(3, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cbtreebuild"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "cbtreecanreturn", 1, - AddBuiltinFunc(_0(4245), _1("cbtreecanreturn"), _2(1), _3(true), _4(false), _5(cbtreecanreturn), _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('s'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cbtreecanreturn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4245), _1("cbtreecanreturn"), _2(1), _3(true), _4(false), _5(cbtreecanreturn), _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('s'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cbtreecanreturn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "cbtreecostestimate", 1, - AddBuiltinFunc(_0(4243), _1("cbtreecostestimate"), _2(7), _3(true), _4(false), _5(cbtreecostestimate), _6(2278), _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('v'), _19(0), _20(7, 2281, 2281, 2281, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cbtreecostestimate"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4243), _1("cbtreecostestimate"), _2(7), _3(true), _4(false), _5(cbtreecostestimate), _6(2278), _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('v'), _19(0), _20(7, 2281, 2281, 2281, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cbtreecostestimate"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "cbtreegetbitmap", 1, - AddBuiltinFunc(_0(4246), _1("cbtreegetbitmap"), _2(2), _3(true), _4(false), _5(cbtreegetbitmap), _6(20), _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('v'), _19(0), _20(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cbtreegetbitmap"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4246), _1("cbtreegetbitmap"), _2(2), _3(true), _4(false), _5(cbtreegetbitmap), _6(20), _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('v'), _19(0), _20(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cbtreegetbitmap"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "cbtreegettuple", 1, - AddBuiltinFunc(_0(4242), _1("cbtreegettuple"), _2(2), _3(true), _4(false), _5(cbtreegettuple), _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('v'), _19(0), _20(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cbtreegettuple"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4242), _1("cbtreegettuple"), _2(2), _3(true), _4(false), _5(cbtreegettuple), _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('v'), _19(0), _20(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cbtreegettuple"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "cbtreeoptions", 1, - AddBuiltinFunc(_0(4241), _1("cbtreeoptions"), _2(2), _3(true), _4(false), _5(cbtreeoptions), _6(17), _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('s'), _19(0), _20(2, 1009, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cbtreeoptions"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4241), _1("cbtreeoptions"), _2(2), _3(true), _4(false), _5(cbtreeoptions), _6(17), _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('s'), _19(0), _20(2, 1009, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cbtreeoptions"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "ceil", 2, - AddBuiltinFunc(_0(1711), _1("ceil"), _2(1), _3(true), _4(false), _5(numeric_ceil), _6(1700), _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(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_ceil"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2308), _1("ceil"), _2(1), _3(true), _4(false), _5(dceil), _6(701), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dceil"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1711), _1("ceil"), _2(1), _3(true), _4(false), _5(numeric_ceil), _6(1700), _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(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_ceil"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2308), _1("ceil"), _2(1), _3(true), _4(false), _5(dceil), _6(701), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dceil"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "ceiling", 2, - AddBuiltinFunc(_0(2167), _1("ceiling"), _2(1), _3(true), _4(false), _5(numeric_ceil), _6(1700), _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(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_ceil"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2320), _1("ceiling"), _2(1), _3(true), _4(false), _5(dceil), _6(701), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dceil"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2167), _1("ceiling"), _2(1), _3(true), _4(false), _5(numeric_ceil), _6(1700), _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(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_ceil"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2320), _1("ceiling"), _2(1), _3(true), _4(false), _5(dceil), _6(701), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dceil"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "center", 2, - AddBuiltinFunc(_0(1542), _1("center"), _2(1), _3(true), _4(false), _5(box_center), _6(600), _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(1, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_center"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1543), _1("center"), _2(1), _3(true), _4(false), _5(circle_center), _6(600), _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(1, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_center"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1542), _1("center"), _2(1), _3(true), _4(false), _5(box_center), _6(600), _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(1, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_center"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1543), _1("center"), _2(1), _3(true), _4(false), _5(circle_center), _6(600), _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(1, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_center"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "cginbuild", 1, - AddBuiltinFunc(_0(4400), _1("cginbuild"), _2(3), _3(true), _4(false), _5(cginbuild), _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('v'), _19(0), _20(3, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cginbuild"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4400), _1("cginbuild"), _2(3), _3(true), _4(false), _5(cginbuild), _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('v'), _19(0), _20(3, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cginbuild"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "cgingetbitmap", 1, - AddBuiltinFunc(_0(4401), _1("cgingetbitmap"), _2(2), _3(true), _4(false), _5(cgingetbitmap), _6(20), _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('v'), _19(0), _20(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cgingetbitmap"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4401), _1("cgingetbitmap"), _2(2), _3(true), _4(false), _5(cgingetbitmap), _6(20), _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('v'), _19(0), _20(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cgingetbitmap"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "char", 2, - AddBuiltinFunc(_0(78), _1("char"), _2(1), _3(true), _4(false), _5(i4tochar), _6(18), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("i4tochar"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(944), _1("char"), _2(1), _3(true), _4(false), _5(text_char), _6(18), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_char"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(78), _1("char"), _2(1), _3(true), _4(false), _5(i4tochar), _6(18), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("i4tochar"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(944), _1("char"), _2(1), _3(true), _4(false), _5(text_char), _6(18), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_char"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "char_length", 2, - AddBuiltinFunc(_0(1372), _1("char_length"), _2(1), _3(true), _4(false), _5(bpcharlen), _6(23), _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(1, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpcharlen"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(CHARLENFUNCOID), _1("char_length"), _2(1), _3(true), _4(false), _5(textlen), _6(23), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("textlen"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1372), _1("char_length"), _2(1), _3(true), _4(false), _5(bpcharlen), _6(23), _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(1, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpcharlen"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(CHARLENFUNCOID), _1("char_length"), _2(1), _3(true), _4(false), _5(textlen), _6(23), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("textlen"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "character_length", 2, - AddBuiltinFunc(_0(1367), _1("character_length"), _2(1), _3(true), _4(false), _5(bpcharlen), _6(23), _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(1, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpcharlen"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1369), _1("character_length"), _2(1), _3(true), _4(false), _5(textlen), _6(23), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("textlen"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1367), _1("character_length"), _2(1), _3(true), _4(false), _5(bpcharlen), _6(23), _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(1, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpcharlen"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1369), _1("character_length"), _2(1), _3(true), _4(false), _5(textlen), _6(23), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("textlen"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "chareq", 1, - AddBuiltinFunc(_0(61), _1("chareq"), _2(2), _3(true), _4(false), _5(chareq), _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(true), _18('i'), _19(0), _20(2, 18, 18), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("chareq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(61), _1("chareq"), _2(2), _3(true), _4(false), _5(chareq), _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(true), _18('i'), _19(0), _20(2, 18, 18), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("chareq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "charge", 1, - AddBuiltinFunc(_0(74), _1("charge"), _2(2), _3(true), _4(false), _5(charge), _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(true), _18('i'), _19(0), _20(2, 18, 18), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("charge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(74), _1("charge"), _2(2), _3(true), _4(false), _5(charge), _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(true), _18('i'), _19(0), _20(2, 18, 18), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("charge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "chargt", 1, - AddBuiltinFunc(_0(73), _1("chargt"), _2(2), _3(true), _4(false), _5(chargt), _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(true), _18('i'), _19(0), _20(2, 18, 18), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("chargt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(73), _1("chargt"), _2(2), _3(true), _4(false), _5(chargt), _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(true), _18('i'), _19(0), _20(2, 18, 18), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("chargt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "charin", 1, - AddBuiltinFunc(_0(1245), _1("charin"), _2(1), _3(true), _4(false), _5(charin), _6(18), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("charin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1245), _1("charin"), _2(1), _3(true), _4(false), _5(charin), _6(18), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("charin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "charle", 1, - AddBuiltinFunc(_0(72), _1("charle"), _2(2), _3(true), _4(false), _5(charle), _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(true), _18('i'), _19(0), _20(2, 18, 18), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("charle"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(72), _1("charle"), _2(2), _3(true), _4(false), _5(charle), _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(true), _18('i'), _19(0), _20(2, 18, 18), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("charle"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "charlt", 1, - AddBuiltinFunc(_0(1246), _1("charlt"), _2(2), _3(true), _4(false), _5(charlt), _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(true), _18('i'), _19(0), _20(2, 18, 18), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("charlt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1246), _1("charlt"), _2(2), _3(true), _4(false), _5(charlt), _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(true), _18('i'), _19(0), _20(2, 18, 18), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("charlt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "charne", 1, - AddBuiltinFunc(_0(70), _1("charne"), _2(2), _3(true), _4(false), _5(charne), _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(true), _18('i'), _19(0), _20(2, 18, 18), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("charne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(70), _1("charne"), _2(2), _3(true), _4(false), _5(charne), _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(true), _18('i'), _19(0), _20(2, 18, 18), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("charne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "charout", 1, - AddBuiltinFunc(_0(33), _1("charout"), _2(1), _3(true), _4(false), _5(charout), _6(2275), _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(1, 18), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("charout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(33), _1("charout"), _2(1), _3(true), _4(false), _5(charout), _6(2275), _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(1, 18), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("charout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "charrecv", 1, - AddBuiltinFunc(_0(2434), _1("charrecv"), _2(1), _3(true), _4(false), _5(charrecv), _6(18), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("charrecv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2434), _1("charrecv"), _2(1), _3(true), _4(false), _5(charrecv), _6(18), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("charrecv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "charsend", 1, - AddBuiltinFunc(_0(2435), _1("charsend"), _2(1), _3(true), _4(false), _5(charsend), _6(17), _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(1, 18), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("charsend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2435), _1("charsend"), _2(1), _3(true), _4(false), _5(charsend), _6(17), _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(1, 18), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("charsend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "check_engine_status", 1, @@ -1511,722 +1511,722 @@ ), AddFuncGroup( "checksum", 1, - AddBuiltinFunc(_0(4600), _1("checksum"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4600), _1("checksum"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "checksumtext_agg_transfn", 1, - AddBuiltinFunc(_0(4601), _1("checksumtext_agg_transfn"), _2(2), _3(false), _4(false), _5(checksumtext_agg_transfn), _6(1700), _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(2, 1700, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("checksumtext_agg_transfn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4601), _1("checksumtext_agg_transfn"), _2(2), _3(false), _4(false), _5(checksumtext_agg_transfn), _6(1700), _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(2, 1700, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("checksumtext_agg_transfn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "chr", 1, - AddBuiltinFunc(_0(1621), _1("chr"), _2(1), _3(true), _4(false), _5(chr), _6(25), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("chr"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1621), _1("chr"), _2(1), _3(true), _4(false), _5(chr), _6(25), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("chr"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "cideq", 1, - AddBuiltinFunc(_0(69), _1("cideq"), _2(2), _3(true), _4(false), _5(cideq), _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(true), _18('i'), _19(0), _20(2, 29, 29), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cideq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(69), _1("cideq"), _2(2), _3(true), _4(false), _5(cideq), _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(true), _18('i'), _19(0), _20(2, 29, 29), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cideq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "cidin", 1, - AddBuiltinFunc(_0(52), _1("cidin"), _2(1), _3(true), _4(false), _5(cidin), _6(29), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cidin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(52), _1("cidin"), _2(1), _3(true), _4(false), _5(cidin), _6(29), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cidin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "cidout", 1, - AddBuiltinFunc(_0(53), _1("cidout"), _2(1), _3(true), _4(false), _5(cidout), _6(2275), _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(1, 29), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cidout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(53), _1("cidout"), _2(1), _3(true), _4(false), _5(cidout), _6(2275), _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(1, 29), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cidout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "cidr", 1, - AddBuiltinFunc(_0(1715), _1("cidr"), _2(1), _3(true), _4(false), _5(inet_to_cidr), _6(650), _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(1, 869), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("inet_to_cidr"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1715), _1("cidr"), _2(1), _3(true), _4(false), _5(inet_to_cidr), _6(650), _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(1, 869), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("inet_to_cidr"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "cidr_in", 1, - AddBuiltinFunc(_0(1267), _1("cidr_in"), _2(1), _3(true), _4(false), _5(cidr_in), _6(650), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cidr_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1267), _1("cidr_in"), _2(1), _3(true), _4(false), _5(cidr_in), _6(650), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cidr_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "cidr_out", 1, - AddBuiltinFunc(_0(1427), _1("cidr_out"), _2(1), _3(true), _4(false), _5(cidr_out), _6(2275), _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(1, 650), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cidr_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1427), _1("cidr_out"), _2(1), _3(true), _4(false), _5(cidr_out), _6(2275), _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(1, 650), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cidr_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "cidr_recv", 1, - AddBuiltinFunc(_0(2498), _1("cidr_recv"), _2(1), _3(true), _4(false), _5(cidr_recv), _6(650), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cidr_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2498), _1("cidr_recv"), _2(1), _3(true), _4(false), _5(cidr_recv), _6(650), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cidr_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "cidr_send", 1, - AddBuiltinFunc(_0(2499), _1("cidr_send"), _2(1), _3(true), _4(false), _5(cidr_send), _6(17), _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(1, 650), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cidr_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2499), _1("cidr_send"), _2(1), _3(true), _4(false), _5(cidr_send), _6(17), _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(1, 650), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cidr_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "cidrecv", 1, - AddBuiltinFunc(_0(2442), _1("cidrecv"), _2(1), _3(true), _4(false), _5(cidrecv), _6(29), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cidrecv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2442), _1("cidrecv"), _2(1), _3(true), _4(false), _5(cidrecv), _6(29), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cidrecv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "cidsend", 1, - AddBuiltinFunc(_0(2443), _1("cidsend"), _2(1), _3(true), _4(false), _5(cidsend), _6(17), _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(1, 29), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cidsend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2443), _1("cidsend"), _2(1), _3(true), _4(false), _5(cidsend), _6(17), _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(1, 29), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cidsend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "circle", 3, - AddBuiltinFunc(_0(1473), _1("circle"), _2(2), _3(true), _4(false), _5(cr_circle), _6(718), _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(2, 600, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cr_circle"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1474), _1("circle"), _2(1), _3(true), _4(false), _5(poly_circle), _6(718), _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(1, 604), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("poly_circle"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1479), _1("circle"), _2(1), _3(true), _4(false), _5(box_circle), _6(718), _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(1, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_circle"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1473), _1("circle"), _2(2), _3(true), _4(false), _5(cr_circle), _6(718), _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(2, 600, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cr_circle"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1474), _1("circle"), _2(1), _3(true), _4(false), _5(poly_circle), _6(718), _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(1, 604), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("poly_circle"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1479), _1("circle"), _2(1), _3(true), _4(false), _5(box_circle), _6(718), _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(1, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_circle"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "circle_above", 1, - AddBuiltinFunc(_0(1461), _1("circle_above"), _2(2), _3(true), _4(false), _5(circle_above), _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(2, 718, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_above"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1461), _1("circle_above"), _2(2), _3(true), _4(false), _5(circle_above), _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(2, 718, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_above"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "circle_add_pt", 1, - AddBuiltinFunc(_0(1146), _1("circle_add_pt"), _2(2), _3(true), _4(false), _5(circle_add_pt), _6(718), _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(2, 718, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_add_pt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1146), _1("circle_add_pt"), _2(2), _3(true), _4(false), _5(circle_add_pt), _6(718), _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(2, 718, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_add_pt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "circle_below", 1, - AddBuiltinFunc(_0(1460), _1("circle_below"), _2(2), _3(true), _4(false), _5(circle_below), _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(2, 718, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_below"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1460), _1("circle_below"), _2(2), _3(true), _4(false), _5(circle_below), _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(2, 718, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_below"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "circle_center", 1, - AddBuiltinFunc(_0(1472), _1("circle_center"), _2(1), _3(true), _4(false), _5(circle_center), _6(600), _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(1, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_center"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1472), _1("circle_center"), _2(1), _3(true), _4(false), _5(circle_center), _6(600), _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(1, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_center"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "circle_contain", 1, - AddBuiltinFunc(_0(1453), _1("circle_contain"), _2(2), _3(true), _4(false), _5(circle_contain), _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(2, 718, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_contain"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1453), _1("circle_contain"), _2(2), _3(true), _4(false), _5(circle_contain), _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(2, 718, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_contain"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "circle_contain_pt", 1, - AddBuiltinFunc(_0(1477), _1("circle_contain_pt"), _2(2), _3(true), _4(false), _5(circle_contain_pt), _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(2, 718, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_contain_pt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1477), _1("circle_contain_pt"), _2(2), _3(true), _4(false), _5(circle_contain_pt), _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(2, 718, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_contain_pt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "circle_contained", 1, - AddBuiltinFunc(_0(1458), _1("circle_contained"), _2(2), _3(true), _4(false), _5(circle_contained), _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(2, 718, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_contained"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1458), _1("circle_contained"), _2(2), _3(true), _4(false), _5(circle_contained), _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(2, 718, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_contained"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "circle_distance", 1, - AddBuiltinFunc(_0(1471), _1("circle_distance"), _2(2), _3(true), _4(false), _5(circle_distance), _6(701), _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(2, 718, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_distance"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1471), _1("circle_distance"), _2(2), _3(true), _4(false), _5(circle_distance), _6(701), _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(2, 718, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_distance"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "circle_div_pt", 1, - AddBuiltinFunc(_0(1149), _1("circle_div_pt"), _2(2), _3(true), _4(false), _5(circle_div_pt), _6(718), _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(2, 718, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_div_pt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1149), _1("circle_div_pt"), _2(2), _3(true), _4(false), _5(circle_div_pt), _6(718), _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(2, 718, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_div_pt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "circle_eq", 1, - AddBuiltinFunc(_0(1462), _1("circle_eq"), _2(2), _3(true), _4(false), _5(circle_eq), _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(true), _18('i'), _19(0), _20(2, 718, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1462), _1("circle_eq"), _2(2), _3(true), _4(false), _5(circle_eq), _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(true), _18('i'), _19(0), _20(2, 718, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "circle_ge", 1, - AddBuiltinFunc(_0(1467), _1("circle_ge"), _2(2), _3(true), _4(false), _5(circle_ge), _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(true), _18('i'), _19(0), _20(2, 718, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1467), _1("circle_ge"), _2(2), _3(true), _4(false), _5(circle_ge), _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(true), _18('i'), _19(0), _20(2, 718, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "circle_gt", 1, - AddBuiltinFunc(_0(1465), _1("circle_gt"), _2(2), _3(true), _4(false), _5(circle_gt), _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(true), _18('i'), _19(0), _20(2, 718, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1465), _1("circle_gt"), _2(2), _3(true), _4(false), _5(circle_gt), _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(true), _18('i'), _19(0), _20(2, 718, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "circle_in", 1, - AddBuiltinFunc(_0(1450), _1("circle_in"), _2(1), _3(true), _4(false), _5(circle_in), _6(718), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1450), _1("circle_in"), _2(1), _3(true), _4(false), _5(circle_in), _6(718), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "circle_le", 1, - AddBuiltinFunc(_0(1466), _1("circle_le"), _2(2), _3(true), _4(false), _5(circle_le), _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(true), _18('i'), _19(0), _20(2, 718, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1466), _1("circle_le"), _2(2), _3(true), _4(false), _5(circle_le), _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(true), _18('i'), _19(0), _20(2, 718, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "circle_left", 1, - AddBuiltinFunc(_0(1454), _1("circle_left"), _2(2), _3(true), _4(false), _5(circle_left), _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(2, 718, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_left"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1454), _1("circle_left"), _2(2), _3(true), _4(false), _5(circle_left), _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(2, 718, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_left"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "circle_lt", 1, - AddBuiltinFunc(_0(1464), _1("circle_lt"), _2(2), _3(true), _4(false), _5(circle_lt), _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(true), _18('i'), _19(0), _20(2, 718, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1464), _1("circle_lt"), _2(2), _3(true), _4(false), _5(circle_lt), _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(true), _18('i'), _19(0), _20(2, 718, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "circle_mul_pt", 1, - AddBuiltinFunc(_0(1148), _1("circle_mul_pt"), _2(2), _3(true), _4(false), _5(circle_mul_pt), _6(718), _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(2, 718, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_mul_pt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1148), _1("circle_mul_pt"), _2(2), _3(true), _4(false), _5(circle_mul_pt), _6(718), _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(2, 718, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_mul_pt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "circle_ne", 1, - AddBuiltinFunc(_0(1463), _1("circle_ne"), _2(2), _3(true), _4(false), _5(circle_ne), _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(true), _18('i'), _19(0), _20(2, 718, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1463), _1("circle_ne"), _2(2), _3(true), _4(false), _5(circle_ne), _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(true), _18('i'), _19(0), _20(2, 718, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "circle_out", 1, - AddBuiltinFunc(_0(1451), _1("circle_out"), _2(1), _3(true), _4(false), _5(circle_out), _6(2275), _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(1, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1451), _1("circle_out"), _2(1), _3(true), _4(false), _5(circle_out), _6(2275), _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(1, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "circle_overabove", 1, - AddBuiltinFunc(_0(2588), _1("circle_overabove"), _2(2), _3(true), _4(false), _5(circle_overabove), _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(2, 718, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_overabove"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2588), _1("circle_overabove"), _2(2), _3(true), _4(false), _5(circle_overabove), _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(2, 718, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_overabove"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "circle_overbelow", 1, - AddBuiltinFunc(_0(2587), _1("circle_overbelow"), _2(2), _3(true), _4(false), _5(circle_overbelow), _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(2, 718, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_overbelow"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2587), _1("circle_overbelow"), _2(2), _3(true), _4(false), _5(circle_overbelow), _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(2, 718, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_overbelow"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "circle_overlap", 1, - AddBuiltinFunc(_0(1459), _1("circle_overlap"), _2(2), _3(true), _4(false), _5(circle_overlap), _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(2, 718, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_overlap"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1459), _1("circle_overlap"), _2(2), _3(true), _4(false), _5(circle_overlap), _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(2, 718, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_overlap"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "circle_overleft", 1, - AddBuiltinFunc(_0(1455), _1("circle_overleft"), _2(2), _3(true), _4(false), _5(circle_overleft), _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(2, 718, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_overleft"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1455), _1("circle_overleft"), _2(2), _3(true), _4(false), _5(circle_overleft), _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(2, 718, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_overleft"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "circle_overright", 1, - AddBuiltinFunc(_0(1456), _1("circle_overright"), _2(2), _3(true), _4(false), _5(circle_overright), _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(2, 718, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_overright"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1456), _1("circle_overright"), _2(2), _3(true), _4(false), _5(circle_overright), _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(2, 718, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_overright"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "circle_recv", 1, - AddBuiltinFunc(_0(2490), _1("circle_recv"), _2(1), _3(true), _4(false), _5(circle_recv), _6(718), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2490), _1("circle_recv"), _2(1), _3(true), _4(false), _5(circle_recv), _6(718), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "circle_right", 1, - AddBuiltinFunc(_0(1457), _1("circle_right"), _2(2), _3(true), _4(false), _5(circle_right), _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(2, 718, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_right"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1457), _1("circle_right"), _2(2), _3(true), _4(false), _5(circle_right), _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(2, 718, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_right"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "circle_same", 1, - AddBuiltinFunc(_0(1452), _1("circle_same"), _2(2), _3(true), _4(false), _5(circle_same), _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(2, 718, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_same"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1452), _1("circle_same"), _2(2), _3(true), _4(false), _5(circle_same), _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(2, 718, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_same"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "circle_send", 1, - AddBuiltinFunc(_0(2491), _1("circle_send"), _2(1), _3(true), _4(false), _5(circle_send), _6(17), _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(1, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2491), _1("circle_send"), _2(1), _3(true), _4(false), _5(circle_send), _6(17), _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(1, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "circle_sub_pt", 1, - AddBuiltinFunc(_0(1147), _1("circle_sub_pt"), _2(2), _3(true), _4(false), _5(circle_sub_pt), _6(718), _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(2, 718, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_sub_pt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1147), _1("circle_sub_pt"), _2(2), _3(true), _4(false), _5(circle_sub_pt), _6(718), _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(2, 718, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_sub_pt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "clock_timestamp", 1, - AddBuiltinFunc(_0(2649), _1("clock_timestamp"), _2(0), _3(true), _4(false), _5(clock_timestamp), _6(1184), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("clock_timestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2649), _1("clock_timestamp"), _2(0), _3(true), _4(false), _5(clock_timestamp), _6(1184), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("clock_timestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "close_lb", 1, - AddBuiltinFunc(_0(963), _1("close_lb"), _2(2), _3(true), _4(false), _5(close_lb), _6(600), _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(2, 628, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("close_lb"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(963), _1("close_lb"), _2(2), _3(true), _4(false), _5(close_lb), _6(600), _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(2, 628, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("close_lb"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "close_ls", 1, - AddBuiltinFunc(_0(1488), _1("close_ls"), _2(2), _3(true), _4(false), _5(close_ls), _6(600), _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(2, 628, 601), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("close_ls"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1488), _1("close_ls"), _2(2), _3(true), _4(false), _5(close_ls), _6(600), _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(2, 628, 601), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("close_ls"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "close_lseg", 1, - AddBuiltinFunc(_0(1489), _1("close_lseg"), _2(2), _3(true), _4(false), _5(close_lseg), _6(600), _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(2, 601, 601), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("close_lseg"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1489), _1("close_lseg"), _2(2), _3(true), _4(false), _5(close_lseg), _6(600), _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(2, 601, 601), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("close_lseg"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "close_pb", 1, - AddBuiltinFunc(_0(367), _1("close_pb"), _2(2), _3(true), _4(false), _5(close_pb), _6(600), _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(2, 600, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("close_pb"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(367), _1("close_pb"), _2(2), _3(true), _4(false), _5(close_pb), _6(600), _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(2, 600, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("close_pb"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "close_pl", 1, - AddBuiltinFunc(_0(961), _1("close_pl"), _2(2), _3(true), _4(false), _5(close_pl), _6(600), _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(2, 600, 628), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("close_pl"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(961), _1("close_pl"), _2(2), _3(true), _4(false), _5(close_pl), _6(600), _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(2, 600, 628), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("close_pl"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "close_ps", 1, - AddBuiltinFunc(_0(366), _1("close_ps"), _2(2), _3(true), _4(false), _5(close_ps), _6(600), _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(2, 600, 601), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("close_ps"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(366), _1("close_ps"), _2(2), _3(true), _4(false), _5(close_ps), _6(600), _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(2, 600, 601), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("close_ps"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "close_sb", 1, - AddBuiltinFunc(_0(368), _1("close_sb"), _2(2), _3(true), _4(false), _5(close_sb), _6(600), _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(2, 601, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("close_sb"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(368), _1("close_sb"), _2(2), _3(true), _4(false), _5(close_sb), _6(600), _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(2, 601, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("close_sb"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "close_sl", 1, - AddBuiltinFunc(_0(962), _1("close_sl"), _2(2), _3(true), _4(false), _5(close_sl), _6(600), _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(2, 601, 628), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("close_sl"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(962), _1("close_sl"), _2(2), _3(true), _4(false), _5(close_sl), _6(600), _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(2, 601, 628), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("close_sl"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "col_description", 1, - AddBuiltinFunc(_0(1216), _1("col_description"), _2(2), _3(true), _4(false), _5(NULL), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(100), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(2, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select description from pg_catalog.pg_description where objoid = $1 and classoid = 'pg_catalog.pg_class'::pg_catalog.regclass and objsubid = $2"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1216), _1("col_description"), _2(2), _3(true), _4(false), _5(NULL), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(100), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(2, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select description from pg_catalog.pg_description where objoid = $1 and classoid = 'pg_catalog.pg_class'::pg_catalog.regclass and objsubid = $2"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "comm_client_info", 1, - AddBuiltinFunc(_0(1991), _1("comm_client_info"), _2(0), _3(true), _4(true), _5(comm_client_info), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(0), _21(9, 25, 25, 20, 23, 20, 23, 25, 25, 23), _22(9, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(9, "node_name", "app", "tid", "lwtid", "query_id", "socket", "remote_ip", "remote_port", "logic_id"), _24(NULL), _25("comm_client_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1991), _1("comm_client_info"), _2(0), _3(true), _4(true), _5(comm_client_info), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(0), _21(9, 25, 25, 20, 23, 20, 23, 25, 25, 23), _22(9, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(9, "node_name", "app", "tid", "lwtid", "query_id", "socket", "remote_ip", "remote_port", "logic_id"), _24(NULL), _25("comm_client_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "comm_check_connection_status", 1, - AddBuiltinFunc(_0(1982), _1("comm_check_connection_status"), _2(0), _3(true), _4(true), _5(comm_check_connection_status), _6(2249), _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(0), _20(0), _21(5, 25, 25, 25, 23, 16), _22(5, 'o', 'o', 'o', 'o', 'o'), _23(5, "node_name", "remote_name", "remote_host", "remote_port", "is_connected"), _24(NULL), _25("comm_check_connection_status"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1982), _1("comm_check_connection_status"), _2(0), _3(true), _4(true), _5(comm_check_connection_status), _6(2249), _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(0), _20(0), _21(5, 25, 25, 25, 23, 16), _22(5, 'o', 'o', 'o', 'o', 'o'), _23(5, "node_name", "remote_name", "remote_host", "remote_port", "is_connected"), _24(NULL), _25("comm_check_connection_status"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "complex_array_in", 1, - AddBuiltinFunc(_0(756), _1("complex_array_in"), _2(3), _3(true), _4(false), _5(complex_array_in), _6(2277), _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('s'), _19(0), _20(3, 2275, 26, 22), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("complex_array_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(756), _1("complex_array_in"), _2(3), _3(true), _4(false), _5(complex_array_in), _6(2277), _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('s'), _19(0), _20(3, 2275, 26, 22), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("complex_array_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "concat", 1, - AddBuiltinFunc(_0(CONCATFUNCOID), _1("concat"), _2(1), _3(false), _4(false), _5(text_concat), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(2276), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(1, 2276), _21(1, 2276), _22(1, 'v'), _23(NULL), _24(NULL), _25("text_concat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(CONCATFUNCOID), _1("concat"), _2(1), _3(false), _4(false), _5(text_concat), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(2276), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(1, 2276), _21(1, 2276), _22(1, 'v'), _23(NULL), _24(NULL), _25("text_concat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "concat_ws", 1, - AddBuiltinFunc(_0(CONCATWSFUNCOID), _1("concat_ws"), _2(2), _3(false), _4(false), _5(text_concat_ws), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(2276), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(2, 25, 2276), _21(2, 25, 2276), _22(2, 'i', 'v'), _23(NULL), _24(NULL), _25("text_concat_ws"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(CONCATWSFUNCOID), _1("concat_ws"), _2(2), _3(false), _4(false), _5(text_concat_ws), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(2276), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(2, 25, 2276), _21(2, 25, 2276), _22(2, 'i', 'v'), _23(NULL), _24(NULL), _25("text_concat_ws"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "contjoinsel", 1, - AddBuiltinFunc(_0(1303), _1("contjoinsel"), _2(5), _3(true), _4(false), _5(contjoinsel), _6(701), _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('s'), _19(0), _20(5, 2281, 26, 2281, 21, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("contjoinsel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1303), _1("contjoinsel"), _2(5), _3(true), _4(false), _5(contjoinsel), _6(701), _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('s'), _19(0), _20(5, 2281, 26, 2281, 21, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("contjoinsel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "contsel", 1, - AddBuiltinFunc(_0(1302), _1("contsel"), _2(4), _3(true), _4(false), _5(contsel), _6(701), _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('s'), _19(0), _20(4, 2281, 26, 2281, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("contsel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1302), _1("contsel"), _2(4), _3(true), _4(false), _5(contsel), _6(701), _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('s'), _19(0), _20(4, 2281, 26, 2281, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("contsel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "convert", 1, - AddBuiltinFunc(_0(CONVERTFUNCOID), _1("convert"), _2(3), _3(true), _4(false), _5(pg_convert), _6(17), _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('s'), _19(0), _20(3, 17, 19, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_convert"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(CONVERTFUNCOID), _1("convert"), _2(3), _3(true), _4(false), _5(pg_convert), _6(17), _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('s'), _19(0), _20(3, 17, 19, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_convert"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "convert_from", 1, - AddBuiltinFunc(_0(CONVERTFROMFUNCOID), _1("convert_from"), _2(2), _3(true), _4(false), _5(pg_convert_from), _6(25), _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('s'), _19(0), _20(2, 17, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_convert_from"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(CONVERTFROMFUNCOID), _1("convert_from"), _2(2), _3(true), _4(false), _5(pg_convert_from), _6(25), _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('s'), _19(0), _20(2, 17, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_convert_from"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "convert_to", 1, - AddBuiltinFunc(_0(CONVERTTOFUNCOID), _1("convert_to"), _2(2), _3(true), _4(false), _5(pg_convert_to), _6(17), _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('s'), _19(0), _20(2, 25, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_convert_to"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(CONVERTTOFUNCOID), _1("convert_to"), _2(2), _3(true), _4(false), _5(pg_convert_to), _6(17), _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('s'), _19(0), _20(2, 25, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_convert_to"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "convert_to_nocase", 1, - AddBuiltinFunc(_0(3198), _1("convert_to_nocase"), _2(2), _3(true), _4(false), _5(pg_convert_to_nocase), _6(17), _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('s'), _19(0), _20(2, 25, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_convert_to_nocase"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(3198), _1("convert_to_nocase"), _2(2), _3(true), _4(false), _5(pg_convert_to_nocase), _6(17), _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('s'), _19(0), _20(2, 25, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_convert_to_nocase"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "corr", 1, - AddBuiltinFunc(_0(2829), _1("corr"), _2(2), _3(false), _4(false), _5(aggregate_dummy), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2829), _1("corr"), _2(2), _3(false), _4(false), _5(aggregate_dummy), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "cos", 1, - AddBuiltinFunc(_0(COSINEFUNCOID), _1("cos"), _2(1), _3(true), _4(false), _5(dcos), _6(701), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dcos"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(COSINEFUNCOID), _1("cos"), _2(1), _3(true), _4(false), _5(dcos), _6(701), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dcos"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "cot", 1, - AddBuiltinFunc(_0(1607), _1("cot"), _2(1), _3(true), _4(false), _5(dcot), _6(701), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dcot"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1607), _1("cot"), _2(1), _3(true), _4(false), _5(dcot), _6(701), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dcot"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "count", 2, - AddBuiltinFunc(_0(ANYCOUNTOID), _1("count"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(20), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 2276), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(COUNTOID), _1("count"), _2(0), _3(false), _4(false), _5(aggregate_dummy), _6(20), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(ANYCOUNTOID), _1("count"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(20), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 2276), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(COUNTOID), _1("count"), _2(0), _3(false), _4(false), _5(aggregate_dummy), _6(20), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "covar_pop", 1, - AddBuiltinFunc(_0(2827), _1("covar_pop"), _2(2), _3(false), _4(false), _5(aggregate_dummy), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2827), _1("covar_pop"), _2(2), _3(false), _4(false), _5(aggregate_dummy), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "covar_samp", 1, - AddBuiltinFunc(_0(2828), _1("covar_samp"), _2(2), _3(false), _4(false), _5(aggregate_dummy), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2828), _1("covar_samp"), _2(2), _3(false), _4(false), _5(aggregate_dummy), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "create_wdr_snapshot", 1, - AddBuiltinFunc(_0(5711), _1("create_wdr_snapshot"), _2(0), _3(true), _4(false), _5(create_wdr_snapshot), _6(25), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("create_wdr_snapshot"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5711), _1("create_wdr_snapshot"), _2(0), _3(true), _4(false), _5(create_wdr_snapshot), _6(25), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("create_wdr_snapshot"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "cstore_tid_out", 1, - AddBuiltinFunc(_0(3215), _1("cstore_tid_out"), _2(1), _3(true), _4(false), _5(cstore_tid_out), _6(2275), _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(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cstore_tid_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3215), _1("cstore_tid_out"), _2(1), _3(true), _4(false), _5(cstore_tid_out), _6(2275), _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(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cstore_tid_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "cstring_in", 1, - AddBuiltinFunc(_0(2292), _1("cstring_in"), _2(1), _3(true), _4(false), _5(cstring_in), _6(2275), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cstring_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2292), _1("cstring_in"), _2(1), _3(true), _4(false), _5(cstring_in), _6(2275), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cstring_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "cstring_out", 1, - AddBuiltinFunc(_0(2293), _1("cstring_out"), _2(1), _3(true), _4(false), _5(cstring_out), _6(2275), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cstring_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2293), _1("cstring_out"), _2(1), _3(true), _4(false), _5(cstring_out), _6(2275), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cstring_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "cstring_recv", 1, - AddBuiltinFunc(_0(2500), _1("cstring_recv"), _2(1), _3(true), _4(false), _5(cstring_recv), _6(2275), _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('s'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cstring_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2500), _1("cstring_recv"), _2(1), _3(true), _4(false), _5(cstring_recv), _6(2275), _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('s'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cstring_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "cstring_send", 1, - AddBuiltinFunc(_0(2501), _1("cstring_send"), _2(1), _3(true), _4(false), _5(cstring_send), _6(17), _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('s'), _19(0), _20(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cstring_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2501), _1("cstring_send"), _2(1), _3(true), _4(false), _5(cstring_send), _6(17), _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('s'), _19(0), _20(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cstring_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "cume_dist", 1, - AddBuiltinFunc(_0(3104), _1("cume_dist"), _2(0), _3(false), _4(false), _5(window_cume_dist), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(true), _16(false), _17(false), _18('i'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("window_cume_dist"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3104), _1("cume_dist"), _2(0), _3(false), _4(false), _5(window_cume_dist), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(true), _16(false), _17(false), _18('i'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("window_cume_dist"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "cupointer_bigint", 1, - AddBuiltinFunc(_0(3217), _1("cupointer_bigint"), _2(1), _3(true), _4(false), _5(cupointer_bigint), _6(20), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cupointer_bigint"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3217), _1("cupointer_bigint"), _2(1), _3(true), _4(false), _5(cupointer_bigint), _6(20), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cupointer_bigint"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "current_database", 1, - AddBuiltinFunc(_0(CURRENTDATABASEFUNCOID), _1("current_database"), _2(0), _3(true), _4(false), _5(current_database), _6(19), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("current_database"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(CURRENTDATABASEFUNCOID), _1("current_database"), _2(0), _3(true), _4(false), _5(current_database), _6(19), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("current_database"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "current_query", 1, - AddBuiltinFunc(_0(817), _1("current_query"), _2(0), _3(false), _4(false), _5(current_query), _6(25), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("current_query"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(817), _1("current_query"), _2(0), _3(false), _4(false), _5(current_query), _6(25), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("current_query"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "current_schema", 1, - AddBuiltinFunc(_0(CURRENTSCHEMAFUNCOID), _1("current_schema"), _2(0), _3(true), _4(false), _5(current_schema), _6(19), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("current_schema"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(CURRENTSCHEMAFUNCOID), _1("current_schema"), _2(0), _3(true), _4(false), _5(current_schema), _6(19), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("current_schema"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "current_schemas", 1, - AddBuiltinFunc(_0(1403), _1("current_schemas"), _2(1), _3(true), _4(false), _5(current_schemas), _6(1003), _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('s'), _19(0), _20(1, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("current_schemas"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1403), _1("current_schemas"), _2(1), _3(true), _4(false), _5(current_schemas), _6(1003), _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('s'), _19(0), _20(1, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("current_schemas"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "current_setting", 1, - AddBuiltinFunc(_0(2077), _1("current_setting"), _2(1), _3(true), _4(false), _5(show_config_by_name), _6(25), _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('s'), _19(0), _20(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("show_config_by_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2077), _1("current_setting"), _2(1), _3(true), _4(false), _5(show_config_by_name), _6(25), _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('s'), _19(0), _20(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("show_config_by_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "current_user", 1, - AddBuiltinFunc(_0(CURRENTUSERFUNCOID), _1("current_user"), _2(0), _3(true), _4(false), _5(current_user), _6(19), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("current_user"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(CURRENTUSERFUNCOID), _1("current_user"), _2(0), _3(true), _4(false), _5(current_user), _6(19), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("current_user"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "currtid", 1, - AddBuiltinFunc(_0(1293), _1("currtid"), _2(2), _3(true), _4(false), _5(currtid_byreloid), _6(27), _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('v'), _19(0), _20(2, 26, 27), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("currtid_byreloid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1293), _1("currtid"), _2(2), _3(true), _4(false), _5(currtid_byreloid), _6(27), _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('v'), _19(0), _20(2, 26, 27), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("currtid_byreloid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "currtid2", 1, - AddBuiltinFunc(_0(1294), _1("currtid2"), _2(2), _3(true), _4(false), _5(currtid_byrelname), _6(27), _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('v'), _19(0), _20(2, 25, 27), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("currtid_byrelname"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1294), _1("currtid2"), _2(2), _3(true), _4(false), _5(currtid_byrelname), _6(27), _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('v'), _19(0), _20(2, 25, 27), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("currtid_byrelname"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "currval", 1, - AddBuiltinFunc(_0(CURRVALFUNCOID), _1("currval"), _2(1), _3(true), _4(false), _5(currval_oid), _6(20), _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('v'), _19(0), _20(1, 2205), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("currval_oid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(CURRVALFUNCOID), _1("currval"), _2(1), _3(true), _4(false), _5(currval_oid), _6(20), _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('v'), _19(0), _20(1, 2205), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("currval_oid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "cursor_to_xml", 1, - AddBuiltinFunc(_0(2925), _1("cursor_to_xml"), _2(5), _3(false), _4(false), _5(cursor_to_xml), _6(142), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(100), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(5, 1790, 23, 16, 16, 25), _21(NULL), _22(NULL), _23(5, "cursor", "count", "nulls", "tableforest", "targetns"), _24(NULL), _25("cursor_to_xml"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2925), _1("cursor_to_xml"), _2(5), _3(false), _4(false), _5(cursor_to_xml), _6(142), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(100), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(5, 1790, 23, 16, 16, 25), _21(NULL), _22(NULL), _23(5, "cursor", "count", "nulls", "tableforest", "targetns"), _24(NULL), _25("cursor_to_xml"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "cursor_to_xmlschema", 1, - AddBuiltinFunc(_0(2928), _1("cursor_to_xmlschema"), _2(4), _3(false), _4(false), _5(cursor_to_xmlschema), _6(142), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(100), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(4, 1790, 16, 16, 25), _21(NULL), _22(NULL), _23(4, "cursor", "nulls", "tableforest", "targetns"), _24(NULL), _25("cursor_to_xmlschema"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2928), _1("cursor_to_xmlschema"), _2(4), _3(false), _4(false), _5(cursor_to_xmlschema), _6(142), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(100), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(4, 1790, 16, 16, 25), _21(NULL), _22(NULL), _23(4, "cursor", "nulls", "tableforest", "targetns"), _24(NULL), _25("cursor_to_xmlschema"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "database_to_xml", 1, - AddBuiltinFunc(_0(2936), _1("database_to_xml"), _2(3), _3(true), _4(false), _5(database_to_xml), _6(142), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(100), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(3, 16, 16, 25), _21(NULL), _22(NULL), _23(3, "nulls", "tableforest", "targetns"), _24(NULL), _25("database_to_xml"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2936), _1("database_to_xml"), _2(3), _3(true), _4(false), _5(database_to_xml), _6(142), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(100), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(3, 16, 16, 25), _21(NULL), _22(NULL), _23(3, "nulls", "tableforest", "targetns"), _24(NULL), _25("database_to_xml"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "database_to_xml_and_xmlschema", 1, - AddBuiltinFunc(_0(2938), _1("database_to_xml_and_xmlschema"), _2(3), _3(true), _4(false), _5(database_to_xml_and_xmlschema), _6(142), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(100), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(3, 16, 16, 25), _21(NULL), _22(NULL), _23(3, "nulls", "tableforest", "targetns"), _24(NULL), _25("database_to_xml_and_xmlschema"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2938), _1("database_to_xml_and_xmlschema"), _2(3), _3(true), _4(false), _5(database_to_xml_and_xmlschema), _6(142), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(100), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(3, 16, 16, 25), _21(NULL), _22(NULL), _23(3, "nulls", "tableforest", "targetns"), _24(NULL), _25("database_to_xml_and_xmlschema"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "database_to_xmlschema", 1, - AddBuiltinFunc(_0(2937), _1("database_to_xmlschema"), _2(3), _3(true), _4(false), _5(database_to_xmlschema), _6(142), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(100), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(3, 16, 16, 25), _21(NULL), _22(NULL), _23(3, "nulls", "tableforest", "targetns"), _24(NULL), _25("database_to_xmlschema"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2937), _1("database_to_xmlschema"), _2(3), _3(true), _4(false), _5(database_to_xmlschema), _6(142), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(100), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(3, 16, 16, 25), _21(NULL), _22(NULL), _23(3, "nulls", "tableforest", "targetns"), _24(NULL), _25("database_to_xmlschema"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "datalength", 1, - AddBuiltinFunc(_0(8050), _1("datalength"), _2(1), _3(true), _4(false), _5(datalength), _6(23), _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(1, 2276), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("datalength"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(8050), _1("datalength"), _2(1), _3(true), _4(false), _5(datalength), _6(23), _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(1, 2276), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("datalength"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "date", 3, - AddBuiltinFunc(_0(TIMESTAMPTZ2DATEFUNCOID), _1("date"), _2(1), _3(true), _4(false), _5(timestamptz_date), _6(1082), _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('s'), _19(0), _20(1, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_date"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")), - AddBuiltinFunc(_0(ABSTIME2DATEFUNCOID), _1("date"), _2(1), _3(true), _4(false), _5(abstime_date), _6(1082), _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('s'), _19(0), _20(1, 702), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("abstime_date"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")), - AddBuiltinFunc(_0(TIMESTAMP2DATEOID), _1("date"), _2(1), _3(true), _4(false), _5(timestamp_date), _6(1082), _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(1, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_date"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(TIMESTAMPTZ2DATEFUNCOID), _1("date"), _2(1), _3(true), _4(false), _5(timestamptz_date), _6(1082), _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('s'), _19(0), _20(1, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_date"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(ABSTIME2DATEFUNCOID), _1("date"), _2(1), _3(true), _4(false), _5(abstime_date), _6(1082), _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('s'), _19(0), _20(1, 702), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("abstime_date"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(TIMESTAMP2DATEOID), _1("date"), _2(1), _3(true), _4(false), _5(timestamp_date), _6(1082), _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(1, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_date"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "date_bpchar", 1, - AddBuiltinFunc(_0(4160), _1("date_bpchar"), _2(1), _3(true), _4(false), _5(date_bpchar), _6(1042), _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(1, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_bpchar"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4160), _1("date_bpchar"), _2(1), _3(true), _4(false), _5(date_bpchar), _6(1042), _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(1, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_bpchar"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "date_cmp", 1, - AddBuiltinFunc(_0(1092), _1("date_cmp"), _2(2), _3(true), _4(false), _5(date_cmp), _6(23), _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(2, 1082, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1092), _1("date_cmp"), _2(2), _3(true), _4(false), _5(date_cmp), _6(23), _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(2, 1082, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "date_cmp_timestamp", 1, - AddBuiltinFunc(_0(2344), _1("date_cmp_timestamp"), _2(2), _3(true), _4(false), _5(date_cmp_timestamp), _6(23), _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(2, 1082, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_cmp_timestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2344), _1("date_cmp_timestamp"), _2(2), _3(true), _4(false), _5(date_cmp_timestamp), _6(23), _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(2, 1082, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_cmp_timestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "date_cmp_timestamptz", 1, - AddBuiltinFunc(_0(DATECMPTIMESTAMPTZFUNCOID), _1("date_cmp_timestamptz"), _2(2), _3(true), _4(false), _5(date_cmp_timestamptz), _6(23), _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('s'), _19(0), _20(2, 1082, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_cmp_timestamptz"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(DATECMPTIMESTAMPTZFUNCOID), _1("date_cmp_timestamptz"), _2(2), _3(true), _4(false), _5(date_cmp_timestamptz), _6(23), _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('s'), _19(0), _20(2, 1082, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_cmp_timestamptz"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "date_eq", 1, - AddBuiltinFunc(_0(1086), _1("date_eq"), _2(2), _3(true), _4(false), _5(date_eq), _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(true), _18('i'), _19(0), _20(2, 1082, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1086), _1("date_eq"), _2(2), _3(true), _4(false), _5(date_eq), _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(true), _18('i'), _19(0), _20(2, 1082, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "date_eq_timestamp", 1, - AddBuiltinFunc(_0(2340), _1("date_eq_timestamp"), _2(2), _3(true), _4(false), _5(date_eq_timestamp), _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(2, 1082, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_eq_timestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2340), _1("date_eq_timestamp"), _2(2), _3(true), _4(false), _5(date_eq_timestamp), _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(2, 1082, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_eq_timestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "date_eq_timestamptz", 1, - AddBuiltinFunc(_0(DATEEQTIMESTAMPTZFUNCOID), _1("date_eq_timestamptz"), _2(2), _3(true), _4(false), _5(date_eq_timestamptz), _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('s'), _19(0), _20(2, 1082, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_eq_timestamptz"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(DATEEQTIMESTAMPTZFUNCOID), _1("date_eq_timestamptz"), _2(2), _3(true), _4(false), _5(date_eq_timestamptz), _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('s'), _19(0), _20(2, 1082, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_eq_timestamptz"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "date_ge", 1, - AddBuiltinFunc(_0(1090), _1("date_ge"), _2(2), _3(true), _4(false), _5(date_ge), _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(true), _18('i'), _19(0), _20(2, 1082, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1090), _1("date_ge"), _2(2), _3(true), _4(false), _5(date_ge), _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(true), _18('i'), _19(0), _20(2, 1082, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "date_ge_timestamp", 1, - AddBuiltinFunc(_0(2342), _1("date_ge_timestamp"), _2(2), _3(true), _4(false), _5(date_ge_timestamp), _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(2, 1082, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_ge_timestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2342), _1("date_ge_timestamp"), _2(2), _3(true), _4(false), _5(date_ge_timestamp), _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(2, 1082, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_ge_timestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "date_ge_timestamptz", 1, - AddBuiltinFunc(_0(DATEGETIMESTAMPTZFUNCOID), _1("date_ge_timestamptz"), _2(2), _3(true), _4(false), _5(date_ge_timestamptz), _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('s'), _19(0), _20(2, 1082, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_ge_timestamptz"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(DATEGETIMESTAMPTZFUNCOID), _1("date_ge_timestamptz"), _2(2), _3(true), _4(false), _5(date_ge_timestamptz), _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('s'), _19(0), _20(2, 1082, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_ge_timestamptz"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "date_gt", 1, - AddBuiltinFunc(_0(1089), _1("date_gt"), _2(2), _3(true), _4(false), _5(date_gt), _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(true), _18('i'), _19(0), _20(2, 1082, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1089), _1("date_gt"), _2(2), _3(true), _4(false), _5(date_gt), _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(true), _18('i'), _19(0), _20(2, 1082, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "date_gt_timestamp", 1, - AddBuiltinFunc(_0(2341), _1("date_gt_timestamp"), _2(2), _3(true), _4(false), _5(date_gt_timestamp), _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(2, 1082, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_gt_timestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2341), _1("date_gt_timestamp"), _2(2), _3(true), _4(false), _5(date_gt_timestamp), _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(2, 1082, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_gt_timestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "date_gt_timestamptz", 1, - AddBuiltinFunc(_0(DATEGTTIMESTAMPTZFUNCOID), _1("date_gt_timestamptz"), _2(2), _3(true), _4(false), _5(date_gt_timestamptz), _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('s'), _19(0), _20(2, 1082, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_gt_timestamptz"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(DATEGTTIMESTAMPTZFUNCOID), _1("date_gt_timestamptz"), _2(2), _3(true), _4(false), _5(date_gt_timestamptz), _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('s'), _19(0), _20(2, 1082, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_gt_timestamptz"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "date_in", 1, - AddBuiltinFunc(_0(DATEINFUNCOID), _1("date_in"), _2(1), _3(true), _4(false), _5(date_in), _6(1082), _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('s'), _19(0), _20(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(DATEINFUNCOID), _1("date_in"), _2(1), _3(true), _4(false), _5(date_in), _6(1082), _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('s'), _19(0), _20(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "date_larger", 1, - AddBuiltinFunc(_0(1138), _1("date_larger"), _2(2), _3(true), _4(false), _5(date_larger), _6(1082), _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(2, 1082, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_larger"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1138), _1("date_larger"), _2(2), _3(true), _4(false), _5(date_larger), _6(1082), _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(2, 1082, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_larger"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "date_le", 1, - AddBuiltinFunc(_0(1088), _1("date_le"), _2(2), _3(true), _4(false), _5(date_le), _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(true), _18('i'), _19(0), _20(2, 1082, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1088), _1("date_le"), _2(2), _3(true), _4(false), _5(date_le), _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(true), _18('i'), _19(0), _20(2, 1082, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "date_le_timestamp", 1, - AddBuiltinFunc(_0(2339), _1("date_le_timestamp"), _2(2), _3(true), _4(false), _5(date_le_timestamp), _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(2, 1082, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_le_timestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2339), _1("date_le_timestamp"), _2(2), _3(true), _4(false), _5(date_le_timestamp), _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(2, 1082, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_le_timestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "date_le_timestamptz", 1, - AddBuiltinFunc(_0(DATELETIMESTAMPTZFUNCOID), _1("date_le_timestamptz"), _2(2), _3(true), _4(false), _5(date_le_timestamptz), _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('s'), _19(0), _20(2, 1082, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_le_timestamptz"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(DATELETIMESTAMPTZFUNCOID), _1("date_le_timestamptz"), _2(2), _3(true), _4(false), _5(date_le_timestamptz), _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('s'), _19(0), _20(2, 1082, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_le_timestamptz"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "date_list_agg_noarg2_transfn", 1, - AddBuiltinFunc(_0(3581), _1("date_list_agg_noarg2_transfn"), _2(2), _3(false), _4(false), _5(date_list_agg_noarg2_transfn), _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(2, 2281, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_list_agg_noarg2_transfn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3581), _1("date_list_agg_noarg2_transfn"), _2(2), _3(false), _4(false), _5(date_list_agg_noarg2_transfn), _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(2, 2281, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_list_agg_noarg2_transfn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "date_list_agg_transfn", 1, - AddBuiltinFunc(_0(3579), _1("date_list_agg_transfn"), _2(3), _3(false), _4(false), _5(date_list_agg_transfn), _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(3, 2281, 1082, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_list_agg_transfn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3579), _1("date_list_agg_transfn"), _2(3), _3(false), _4(false), _5(date_list_agg_transfn), _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(3, 2281, 1082, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_list_agg_transfn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "date_lt", 1, - AddBuiltinFunc(_0(1087), _1("date_lt"), _2(2), _3(true), _4(false), _5(date_lt), _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(true), _18('i'), _19(0), _20(2, 1082, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1087), _1("date_lt"), _2(2), _3(true), _4(false), _5(date_lt), _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(true), _18('i'), _19(0), _20(2, 1082, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "date_lt_timestamp", 1, - AddBuiltinFunc(_0(2338), _1("date_lt_timestamp"), _2(2), _3(true), _4(false), _5(date_lt_timestamp), _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(2, 1082, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_lt_timestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2338), _1("date_lt_timestamp"), _2(2), _3(true), _4(false), _5(date_lt_timestamp), _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(2, 1082, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_lt_timestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "date_lt_timestamptz", 1, - AddBuiltinFunc(_0(DATELTTIMESTAMPTZFUNCOID), _1("date_lt_timestamptz"), _2(2), _3(true), _4(false), _5(date_lt_timestamptz), _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('s'), _19(0), _20(2, 1082, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_lt_timestamptz"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(DATELTTIMESTAMPTZFUNCOID), _1("date_lt_timestamptz"), _2(2), _3(true), _4(false), _5(date_lt_timestamptz), _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('s'), _19(0), _20(2, 1082, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_lt_timestamptz"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "date_mi", 1, - AddBuiltinFunc(_0(1140), _1("date_mi"), _2(2), _3(true), _4(false), _5(date_mi), _6(23), _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(2, 1082, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_mi"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1140), _1("date_mi"), _2(2), _3(true), _4(false), _5(date_mi), _6(23), _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(2, 1082, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_mi"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "date_mi_interval", 1, - AddBuiltinFunc(_0(2072), _1("date_mi_interval"), _2(2), _3(true), _4(false), _5(date_mi_interval), _6(1114), _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(2, 1082, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_mi_interval"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2072), _1("date_mi_interval"), _2(2), _3(true), _4(false), _5(date_mi_interval), _6(1114), _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(2, 1082, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_mi_interval"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "date_mii", 1, - AddBuiltinFunc(_0(1142), _1("date_mii"), _2(2), _3(true), _4(false), _5(date_mii), _6(1082), _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(2, 1082, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_mii"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1142), _1("date_mii"), _2(2), _3(true), _4(false), _5(date_mii), _6(1082), _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(2, 1082, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_mii"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "date_ne", 1, - AddBuiltinFunc(_0(1091), _1("date_ne"), _2(2), _3(true), _4(false), _5(date_ne), _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(true), _18('i'), _19(0), _20(2, 1082, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1091), _1("date_ne"), _2(2), _3(true), _4(false), _5(date_ne), _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(true), _18('i'), _19(0), _20(2, 1082, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "date_ne_timestamp", 1, - AddBuiltinFunc(_0(2343), _1("date_ne_timestamp"), _2(2), _3(true), _4(false), _5(date_ne_timestamp), _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(2, 1082, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_ne_timestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2343), _1("date_ne_timestamp"), _2(2), _3(true), _4(false), _5(date_ne_timestamp), _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(2, 1082, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_ne_timestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "date_ne_timestamptz", 1, - AddBuiltinFunc(_0(DATENETIMESTAMPTZFUNCOID), _1("date_ne_timestamptz"), _2(2), _3(true), _4(false), _5(date_ne_timestamptz), _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('s'), _19(0), _20(2, 1082, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_ne_timestamptz"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(DATENETIMESTAMPTZFUNCOID), _1("date_ne_timestamptz"), _2(2), _3(true), _4(false), _5(date_ne_timestamptz), _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('s'), _19(0), _20(2, 1082, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_ne_timestamptz"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "date_out", 1, - AddBuiltinFunc(_0(DATEOUTFUNCOID), _1("date_out"), _2(1), _3(true), _4(false), _5(date_out), _6(2275), _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('s'), _19(0), _20(1, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(DATEOUTFUNCOID), _1("date_out"), _2(1), _3(true), _4(false), _5(date_out), _6(2275), _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('s'), _19(0), _20(1, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "date_part", 8, - AddBuiltinFunc(_0(TIMESTAMPTZPARTFUNCOID), _1("date_part"), _2(2), _3(true), _4(false), _5(timestamptz_part), _6(701), _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('s'), _19(0), _20(2, 25, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_part"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")), - AddBuiltinFunc(_0(INTERVALPARTFUNCOID), _1("date_part"), _2(2), _3(true), _4(false), _5(interval_part), _6(701), _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(2, 25, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_part"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(TIMEZPARTFUNCOID), _1("date_part"), _2(2), _3(true), _4(false), _5(timetz_part), _6(701), _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(2, 25, 1266), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timetz_part"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(DATEPARTFROMABSTIMEFUNCOID), _1("date_part"), _2(2), _3(true), _4(false), _5(NULL), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(2, 25, 702), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select pg_catalog.date_part($1, cast($2 as timestamp with time zone))"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")), - AddBuiltinFunc(_0(DATEPARTFROMRELTIMEFUNCOID), _1("date_part"), _2(2), _3(true), _4(false), _5(NULL), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(2, 25, 703), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select pg_catalog.date_part($1, cast($2 as pg_catalog.interval))"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")), - AddBuiltinFunc(_0(DATEPARTFUNCOID), _1("date_part"), _2(2), _3(true), _4(false), _5(NULL), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 25, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select pg_catalog.date_part($1, cast($2 as timestamp without time zone))"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(TIMEPARTFUNCOID), _1("date_part"), _2(2), _3(true), _4(false), _5(time_part), _6(701), _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(2, 25, 1083), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("time_part"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(TIMESTAMPPARTFUNCOID), _1("date_part"), _2(2), _3(true), _4(false), _5(timestamp_part), _6(701), _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(2, 25, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_part"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(TIMESTAMPTZPARTFUNCOID), _1("date_part"), _2(2), _3(true), _4(false), _5(timestamptz_part), _6(701), _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('s'), _19(0), _20(2, 25, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_part"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(INTERVALPARTFUNCOID), _1("date_part"), _2(2), _3(true), _4(false), _5(interval_part), _6(701), _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(2, 25, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_part"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(TIMEZPARTFUNCOID), _1("date_part"), _2(2), _3(true), _4(false), _5(timetz_part), _6(701), _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(2, 25, 1266), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timetz_part"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(DATEPARTFROMABSTIMEFUNCOID), _1("date_part"), _2(2), _3(true), _4(false), _5(NULL), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(2, 25, 702), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select pg_catalog.date_part($1, cast($2 as timestamp with time zone))"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(DATEPARTFROMRELTIMEFUNCOID), _1("date_part"), _2(2), _3(true), _4(false), _5(NULL), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(2, 25, 703), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select pg_catalog.date_part($1, cast($2 as pg_catalog.interval))"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(DATEPARTFUNCOID), _1("date_part"), _2(2), _3(true), _4(false), _5(NULL), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 25, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select pg_catalog.date_part($1, cast($2 as timestamp without time zone))"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(TIMEPARTFUNCOID), _1("date_part"), _2(2), _3(true), _4(false), _5(time_part), _6(701), _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(2, 25, 1083), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("time_part"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(TIMESTAMPPARTFUNCOID), _1("date_part"), _2(2), _3(true), _4(false), _5(timestamp_part), _6(701), _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(2, 25, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_part"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "date_pl_interval", 1, - AddBuiltinFunc(_0(2071), _1("date_pl_interval"), _2(2), _3(true), _4(false), _5(date_pl_interval), _6(1114), _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(2, 1082, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_pl_interval"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2071), _1("date_pl_interval"), _2(2), _3(true), _4(false), _5(date_pl_interval), _6(1114), _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(2, 1082, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_pl_interval"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "date_pli", 1, - AddBuiltinFunc(_0(1141), _1("date_pli"), _2(2), _3(true), _4(false), _5(date_pli), _6(1082), _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(2, 1082, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_pli"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1141), _1("date_pli"), _2(2), _3(true), _4(false), _5(date_pli), _6(1082), _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(2, 1082, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_pli"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "date_recv", 1, - AddBuiltinFunc(_0(2468), _1("date_recv"), _2(1), _3(true), _4(false), _5(date_recv), _6(1082), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2468), _1("date_recv"), _2(1), _3(true), _4(false), _5(date_recv), _6(1082), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "date_send", 1, - AddBuiltinFunc(_0(2469), _1("date_send"), _2(1), _3(true), _4(false), _5(date_send), _6(17), _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(1, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2469), _1("date_send"), _2(1), _3(true), _4(false), _5(date_send), _6(17), _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(1, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "date_smaller", 1, - AddBuiltinFunc(_0(1139), _1("date_smaller"), _2(2), _3(true), _4(false), _5(date_smaller), _6(1082), _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(2, 1082, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_smaller"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1139), _1("date_smaller"), _2(2), _3(true), _4(false), _5(date_smaller), _6(1082), _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(2, 1082, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_smaller"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "date_sortsupport", 1, - AddBuiltinFunc(_0(3136), _1("date_sortsupport"), _2(1), _3(true), _4(false), _5(date_sortsupport), _6(2278), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_sortsupport"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3136), _1("date_sortsupport"), _2(1), _3(true), _4(false), _5(date_sortsupport), _6(2278), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_sortsupport"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "date_text", 1, - AddBuiltinFunc(_0(4159), _1("date_text"), _2(1), _3(true), _4(false), _5(date_text), _6(25), _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(1, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_text"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4159), _1("date_text"), _2(1), _3(true), _4(false), _5(date_text), _6(25), _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(1, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_text"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "date_trunc", 3, - AddBuiltinFunc(_0(TIMESTAMPTZTRUNCFUNCOID), _1("date_trunc"), _2(2), _3(true), _4(false), _5(timestamptz_trunc), _6(1184), _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('s'), _19(0), _20(2, 25, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_trunc"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")), - AddBuiltinFunc(_0(INTERVALTRUNCFUNCOID), _1("date_trunc"), _2(2), _3(true), _4(false), _5(interval_trunc), _6(1186), _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(2, 25, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_trunc"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(TIMESTAMPTRUNCFUNCOID), _1("date_trunc"), _2(2), _3(true), _4(false), _5(timestamp_trunc), _6(1114), _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(2, 25, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_trunc"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(TIMESTAMPTZTRUNCFUNCOID), _1("date_trunc"), _2(2), _3(true), _4(false), _5(timestamptz_trunc), _6(1184), _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('s'), _19(0), _20(2, 25, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_trunc"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(INTERVALTRUNCFUNCOID), _1("date_trunc"), _2(2), _3(true), _4(false), _5(interval_trunc), _6(1186), _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(2, 25, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_trunc"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(TIMESTAMPTRUNCFUNCOID), _1("date_trunc"), _2(2), _3(true), _4(false), _5(timestamp_trunc), _6(1114), _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(2, 25, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_trunc"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "date_varchar", 1, - AddBuiltinFunc(_0(4161), _1("date_varchar"), _2(1), _3(true), _4(false), _5(date_varchar), _6(1043), _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(1, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_varchar"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4161), _1("date_varchar"), _2(1), _3(true), _4(false), _5(date_varchar), _6(1043), _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(1, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_varchar"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "daterange", 2, - AddBuiltinFunc(_0(3941), _1("daterange"), _2(2), _3(false), _4(false), _5(range_constructor2), _6(3912), _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(2, 1082, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_constructor2"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3942), _1("daterange"), _2(3), _3(false), _4(false), _5(range_constructor3), _6(3912), _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(3, 1082, 1082, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_constructor3"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3941), _1("daterange"), _2(2), _3(false), _4(false), _5(range_constructor2), _6(3912), _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(2, 1082, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_constructor2"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3942), _1("daterange"), _2(3), _3(false), _4(false), _5(range_constructor3), _6(3912), _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(3, 1082, 1082, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_constructor3"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "daterange_canonical", 1, - AddBuiltinFunc(_0(3915), _1("daterange_canonical"), _2(1), _3(true), _4(false), _5(daterange_canonical), _6(3912), _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(1, 3912), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("daterange_canonical"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3915), _1("daterange_canonical"), _2(1), _3(true), _4(false), _5(daterange_canonical), _6(3912), _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(1, 3912), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("daterange_canonical"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "daterange_subdiff", 1, - AddBuiltinFunc(_0(3925), _1("daterange_subdiff"), _2(2), _3(true), _4(false), _5(daterange_subdiff), _6(701), _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(2, 1082, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("daterange_subdiff"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3925), _1("daterange_subdiff"), _2(2), _3(true), _4(false), _5(daterange_subdiff), _6(701), _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(2, 1082, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("daterange_subdiff"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "datetime_pl", 1, - AddBuiltinFunc(_0(1272), _1("datetime_pl"), _2(2), _3(true), _4(false), _5(datetime_timestamp), _6(1114), _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(2, 1082, 1083), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("datetime_timestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1272), _1("datetime_pl"), _2(2), _3(true), _4(false), _5(datetime_timestamp), _6(1114), _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(2, 1082, 1083), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("datetime_timestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "datetimetz_pl", 1, - AddBuiltinFunc(_0(1297), _1("datetimetz_pl"), _2(2), _3(true), _4(false), _5(datetimetz_timestamptz), _6(1184), _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(2, 1082, 1266), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("datetimetz_timestamptz"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1297), _1("datetimetz_pl"), _2(2), _3(true), _4(false), _5(datetimetz_timestamptz), _6(1184), _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(2, 1082, 1266), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("datetimetz_timestamptz"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "dcbrt", 1, - AddBuiltinFunc(_0(231), _1("dcbrt"), _2(1), _3(true), _4(false), _5(dcbrt), _6(701), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dcbrt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(231), _1("dcbrt"), _2(1), _3(true), _4(false), _5(dcbrt), _6(701), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dcbrt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "decode", 1, - AddBuiltinFunc(_0(1947), _1("decode"), _2(2), _3(true), _4(false), _5(binary_decode), _6(17), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("binary_decode"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1947), _1("decode"), _2(2), _3(true), _4(false), _5(binary_decode), _6(17), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("binary_decode"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "definer_current_user", 1, - AddBuiltinFunc(_0(3216), _1("definer_current_user"), _2(0), _3(true), _4(false), _5(pseudo_current_user), _6(19), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pseudo_current_user"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3216), _1("definer_current_user"), _2(0), _3(true), _4(false), _5(pseudo_current_user), _6(19), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pseudo_current_user"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "degrees", 1, - AddBuiltinFunc(_0(1608), _1("degrees"), _2(1), _3(true), _4(false), _5(degrees), _6(701), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("degrees"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1608), _1("degrees"), _2(1), _3(true), _4(false), _5(degrees), _6(701), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("degrees"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "dense_rank", 1, - AddBuiltinFunc(_0(DENSERANKFUNCOID), _1("dense_rank"), _2(0), _3(false), _4(false), _5(window_dense_rank), _6(20), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(true), _16(false), _17(false), _18('i'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("window_dense_rank"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(DENSERANKFUNCOID), _1("dense_rank"), _2(0), _3(false), _4(false), _5(window_dense_rank), _6(20), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(true), _16(false), _17(false), _18('i'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("window_dense_rank"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "dexp", 1, - AddBuiltinFunc(_0(233), _1("dexp"), _2(1), _3(true), _4(false), _5(dexp), _6(701), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dexp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(233), _1("dexp"), _2(1), _3(true), _4(false), _5(dexp), _6(701), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dexp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "diagonal", 1, - AddBuiltinFunc(_0(981), _1("diagonal"), _2(1), _3(true), _4(false), _5(box_diagonal), _6(601), _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(1, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_diagonal"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(981), _1("diagonal"), _2(1), _3(true), _4(false), _5(box_diagonal), _6(601), _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(1, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_diagonal"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "diameter", 1, - AddBuiltinFunc(_0(1469), _1("diameter"), _2(1), _3(true), _4(false), _5(circle_diameter), _6(701), _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(1, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_diameter"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1469), _1("diameter"), _2(1), _3(true), _4(false), _5(circle_diameter), _6(701), _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(1, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_diameter"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "disable_conn", 1, - AddBuiltinFunc(_0(4221), _1("disable_conn"), _2(3), _3(false), _4(false), _5(disable_conn), _6(2278), _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('v'), _19(0), _20(3, 25, 25, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("disable_conn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4221), _1("disable_conn"), _2(3), _3(false), _4(false), _5(disable_conn), _6(2278), _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('v'), _19(0), _20(3, 25, 25, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("disable_conn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "dispell_init", 1, - AddBuiltinFunc(_0(3731), _1("dispell_init"), _2(1), _3(true), _4(false), _5(dispell_init), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dispell_init"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3731), _1("dispell_init"), _2(1), _3(true), _4(false), _5(dispell_init), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dispell_init"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "dispell_lexize", 1, - AddBuiltinFunc(_0(3732), _1("dispell_lexize"), _2(4), _3(true), _4(false), _5(dispell_lexize), _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(4, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dispell_lexize"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3732), _1("dispell_lexize"), _2(4), _3(true), _4(false), _5(dispell_lexize), _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(4, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dispell_lexize"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "dist_cpoly", 1, - AddBuiltinFunc(_0(728), _1("dist_cpoly"), _2(2), _3(true), _4(false), _5(dist_cpoly), _6(701), _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(2, 718, 604), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dist_cpoly"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(728), _1("dist_cpoly"), _2(2), _3(true), _4(false), _5(dist_cpoly), _6(701), _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(2, 718, 604), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dist_cpoly"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "dist_lb", 1, - AddBuiltinFunc(_0(726), _1("dist_lb"), _2(2), _3(true), _4(false), _5(dist_lb), _6(701), _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(2, 628, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dist_lb"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(726), _1("dist_lb"), _2(2), _3(true), _4(false), _5(dist_lb), _6(701), _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(2, 628, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dist_lb"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "dist_pb", 1, - AddBuiltinFunc(_0(364), _1("dist_pb"), _2(2), _3(true), _4(false), _5(dist_pb), _6(701), _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(2, 600, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dist_pb"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(364), _1("dist_pb"), _2(2), _3(true), _4(false), _5(dist_pb), _6(701), _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(2, 600, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dist_pb"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "dist_pc", 1, - AddBuiltinFunc(_0(1476), _1("dist_pc"), _2(2), _3(true), _4(false), _5(dist_pc), _6(701), _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(2, 600, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dist_pc"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1476), _1("dist_pc"), _2(2), _3(true), _4(false), _5(dist_pc), _6(701), _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(2, 600, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dist_pc"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "dist_pl", 1, - AddBuiltinFunc(_0(725), _1("dist_pl"), _2(2), _3(true), _4(false), _5(dist_pl), _6(701), _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(2, 600, 628), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dist_pl"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(725), _1("dist_pl"), _2(2), _3(true), _4(false), _5(dist_pl), _6(701), _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(2, 600, 628), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dist_pl"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "dist_ppath", 1, - AddBuiltinFunc(_0(371), _1("dist_ppath"), _2(2), _3(true), _4(false), _5(dist_ppath), _6(701), _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(2, 600, 602), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dist_ppath"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(371), _1("dist_ppath"), _2(2), _3(true), _4(false), _5(dist_ppath), _6(701), _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(2, 600, 602), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dist_ppath"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "dist_ps", 1, - AddBuiltinFunc(_0(363), _1("dist_ps"), _2(2), _3(true), _4(false), _5(dist_ps), _6(701), _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(2, 600, 601), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dist_ps"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(363), _1("dist_ps"), _2(2), _3(true), _4(false), _5(dist_ps), _6(701), _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(2, 600, 601), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dist_ps"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "dist_sb", 1, - AddBuiltinFunc(_0(365), _1("dist_sb"), _2(2), _3(true), _4(false), _5(dist_sb), _6(701), _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(2, 601, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dist_sb"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(365), _1("dist_sb"), _2(2), _3(true), _4(false), _5(dist_sb), _6(701), _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(2, 601, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dist_sb"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "dist_sl", 1, - AddBuiltinFunc(_0(727), _1("dist_sl"), _2(2), _3(true), _4(false), _5(dist_sl), _6(701), _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(2, 601, 628), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dist_sl"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(727), _1("dist_sl"), _2(2), _3(true), _4(false), _5(dist_sl), _6(701), _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(2, 601, 628), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dist_sl"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "div", 1, - AddBuiltinFunc(_0(1973), _1("div"), _2(2), _3(true), _4(false), _5(numeric_div_trunc), _6(1700), _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(2, 1700, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_div_trunc"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1973), _1("div"), _2(2), _3(true), _4(false), _5(numeric_div_trunc), _6(1700), _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(2, 1700, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_div_trunc"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "dlog1", 1, - AddBuiltinFunc(_0(234), _1("dlog1"), _2(1), _3(true), _4(false), _5(dlog1), _6(701), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dlog1"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(234), _1("dlog1"), _2(1), _3(true), _4(false), _5(dlog1), _6(701), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dlog1"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "dlog10", 1, - AddBuiltinFunc(_0(1339), _1("dlog10"), _2(1), _3(true), _4(false), _5(dlog10), _6(701), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dlog10"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1339), _1("dlog10"), _2(1), _3(true), _4(false), _5(dlog10), _6(701), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dlog10"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "domain_in", 1, - AddBuiltinFunc(_0(2597), _1("domain_in"), _2(3), _3(false), _4(false), _5(domain_in), _6(2276), _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('s'), _19(0), _20(3, 2275, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("domain_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2597), _1("domain_in"), _2(3), _3(false), _4(false), _5(domain_in), _6(2276), _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('s'), _19(0), _20(3, 2275, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("domain_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "domain_recv", 1, - AddBuiltinFunc(_0(2598), _1("domain_recv"), _2(3), _3(false), _4(false), _5(domain_recv), _6(2276), _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('s'), _19(0), _20(3, 2281, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("domain_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2598), _1("domain_recv"), _2(3), _3(false), _4(false), _5(domain_recv), _6(2276), _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('s'), _19(0), _20(3, 2281, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("domain_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "dpow", 1, - AddBuiltinFunc(_0(232), _1("dpow"), _2(2), _3(true), _4(false), _5(dpow), _6(701), _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(2, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dpow"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(232), _1("dpow"), _2(2), _3(true), _4(false), _5(dpow), _6(701), _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(2, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dpow"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "dround", 1, - AddBuiltinFunc(_0(228), _1("dround"), _2(1), _3(true), _4(false), _5(dround), _6(701), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dround"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(228), _1("dround"), _2(1), _3(true), _4(false), _5(dround), _6(701), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dround"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "dsimple_init", 1, - AddBuiltinFunc(_0(3725), _1("dsimple_init"), _2(1), _3(true), _4(false), _5(dsimple_init), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dsimple_init"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3725), _1("dsimple_init"), _2(1), _3(true), _4(false), _5(dsimple_init), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dsimple_init"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "dsimple_lexize", 1, - AddBuiltinFunc(_0(3726), _1("dsimple_lexize"), _2(4), _3(true), _4(false), _5(dsimple_lexize), _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(4, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dsimple_lexize"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3726), _1("dsimple_lexize"), _2(4), _3(true), _4(false), _5(dsimple_lexize), _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(4, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dsimple_lexize"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "dsqrt", 1, - AddBuiltinFunc(_0(230), _1("dsqrt"), _2(1), _3(true), _4(false), _5(dsqrt), _6(701), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dsqrt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(230), _1("dsqrt"), _2(1), _3(true), _4(false), _5(dsqrt), _6(701), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dsqrt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "dsynonym_init", 1, - AddBuiltinFunc(_0(3728), _1("dsynonym_init"), _2(1), _3(true), _4(false), _5(dsynonym_init), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dsynonym_init"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3728), _1("dsynonym_init"), _2(1), _3(true), _4(false), _5(dsynonym_init), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dsynonym_init"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "dsynonym_lexize", 1, - AddBuiltinFunc(_0(3729), _1("dsynonym_lexize"), _2(4), _3(true), _4(false), _5(dsynonym_lexize), _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(4, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dsynonym_lexize"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3729), _1("dsynonym_lexize"), _2(4), _3(true), _4(false), _5(dsynonym_lexize), _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(4, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dsynonym_lexize"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "dtrunc", 1, - AddBuiltinFunc(_0(229), _1("dtrunc"), _2(1), _3(true), _4(false), _5(dtrunc), _6(701), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dtrunc"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(229), _1("dtrunc"), _2(1), _3(true), _4(false), _5(dtrunc), _6(701), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dtrunc"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "elem_contained_by_range", 1, - AddBuiltinFunc(_0(3860), _1("elem_contained_by_range"), _2(2), _3(true), _4(false), _5(elem_contained_by_range), _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(2, 2283, 3831), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("elem_contained_by_range"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3860), _1("elem_contained_by_range"), _2(2), _3(true), _4(false), _5(elem_contained_by_range), _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(2, 2283, 3831), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("elem_contained_by_range"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "empty_blob", 1, - AddBuiltinFunc(_0(3814), _1("empty_blob"), _2(0), _3(true), _4(false), _5(get_empty_blob), _6(88), _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(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("get_empty_blob"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3814), _1("empty_blob"), _2(0), _3(true), _4(false), _5(get_empty_blob), _6(88), _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(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("get_empty_blob"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "encode", 1, - AddBuiltinFunc(_0(1946), _1("encode"), _2(2), _3(true), _4(false), _5(binary_encode), _6(25), _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(2, 17, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("binary_encode"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1946), _1("encode"), _2(2), _3(true), _4(false), _5(binary_encode), _6(25), _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(2, 17, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("binary_encode"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "enum_cmp", 1, - AddBuiltinFunc(_0(3514), _1("enum_cmp"), _2(2), _3(true), _4(false), _5(enum_cmp), _6(23), _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(2, 3500, 3500), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("enum_cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3514), _1("enum_cmp"), _2(2), _3(true), _4(false), _5(enum_cmp), _6(23), _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(2, 3500, 3500), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("enum_cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "encode_plan_node", 1, @@ -2234,1026 +2234,1026 @@ ), AddFuncGroup( "enum_eq", 1, - AddBuiltinFunc(_0(3508), _1("enum_eq"), _2(2), _3(true), _4(false), _5(enum_eq), _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(2, 3500, 3500), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("enum_eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3508), _1("enum_eq"), _2(2), _3(true), _4(false), _5(enum_eq), _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(2, 3500, 3500), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("enum_eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "enum_first", 1, - AddBuiltinFunc(_0(3528), _1("enum_first"), _2(1), _3(false), _4(false), _5(enum_first), _6(3500), _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('s'), _19(0), _20(1, 3500), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("enum_first"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3528), _1("enum_first"), _2(1), _3(false), _4(false), _5(enum_first), _6(3500), _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('s'), _19(0), _20(1, 3500), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("enum_first"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "enum_ge", 1, - AddBuiltinFunc(_0(3513), _1("enum_ge"), _2(2), _3(true), _4(false), _5(enum_ge), _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(2, 3500, 3500), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("enum_ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3513), _1("enum_ge"), _2(2), _3(true), _4(false), _5(enum_ge), _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(2, 3500, 3500), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("enum_ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "enum_gt", 1, - AddBuiltinFunc(_0(3511), _1("enum_gt"), _2(2), _3(true), _4(false), _5(enum_gt), _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(2, 3500, 3500), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("enum_gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3511), _1("enum_gt"), _2(2), _3(true), _4(false), _5(enum_gt), _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(2, 3500, 3500), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("enum_gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "enum_in", 1, - AddBuiltinFunc(_0(3506), _1("enum_in"), _2(2), _3(true), _4(false), _5(enum_in), _6(3500), _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('s'), _19(0), _20(2, 2275, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("enum_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3506), _1("enum_in"), _2(2), _3(true), _4(false), _5(enum_in), _6(3500), _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('s'), _19(0), _20(2, 2275, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("enum_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "enum_larger", 1, - AddBuiltinFunc(_0(3525), _1("enum_larger"), _2(2), _3(true), _4(false), _5(enum_larger), _6(3500), _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(2, 3500, 3500), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("enum_larger"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3525), _1("enum_larger"), _2(2), _3(true), _4(false), _5(enum_larger), _6(3500), _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(2, 3500, 3500), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("enum_larger"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "enum_last", 1, - AddBuiltinFunc(_0(3529), _1("enum_last"), _2(1), _3(false), _4(false), _5(enum_last), _6(3500), _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('s'), _19(0), _20(1, 3500), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("enum_last"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3529), _1("enum_last"), _2(1), _3(false), _4(false), _5(enum_last), _6(3500), _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('s'), _19(0), _20(1, 3500), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("enum_last"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "enum_le", 1, - AddBuiltinFunc(_0(3512), _1("enum_le"), _2(2), _3(true), _4(false), _5(enum_le), _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(2, 3500, 3500), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("enum_le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3512), _1("enum_le"), _2(2), _3(true), _4(false), _5(enum_le), _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(2, 3500, 3500), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("enum_le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "enum_lt", 1, - AddBuiltinFunc(_0(3510), _1("enum_lt"), _2(2), _3(true), _4(false), _5(enum_lt), _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(2, 3500, 3500), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("enum_lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3510), _1("enum_lt"), _2(2), _3(true), _4(false), _5(enum_lt), _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(2, 3500, 3500), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("enum_lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "enum_ne", 1, - AddBuiltinFunc(_0(3509), _1("enum_ne"), _2(2), _3(true), _4(false), _5(enum_ne), _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(2, 3500, 3500), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("enum_ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3509), _1("enum_ne"), _2(2), _3(true), _4(false), _5(enum_ne), _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(2, 3500, 3500), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("enum_ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "enum_out", 1, - AddBuiltinFunc(_0(3507), _1("enum_out"), _2(1), _3(true), _4(false), _5(enum_out), _6(2275), _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('s'), _19(0), _20(1, 3500), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("enum_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3507), _1("enum_out"), _2(1), _3(true), _4(false), _5(enum_out), _6(2275), _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('s'), _19(0), _20(1, 3500), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("enum_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "enum_range", 2, - AddBuiltinFunc(_0(3530), _1("enum_range"), _2(2), _3(false), _4(false), _5(enum_range_bounds), _6(2277), _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('s'), _19(0), _20(2, 3500, 3500), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("enum_range_bounds"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3531), _1("enum_range"), _2(1), _3(false), _4(false), _5(enum_range_all), _6(2277), _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('s'), _19(0), _20(1, 3500), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("enum_range_all"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3530), _1("enum_range"), _2(2), _3(false), _4(false), _5(enum_range_bounds), _6(2277), _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('s'), _19(0), _20(2, 3500, 3500), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("enum_range_bounds"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3531), _1("enum_range"), _2(1), _3(false), _4(false), _5(enum_range_all), _6(2277), _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('s'), _19(0), _20(1, 3500), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("enum_range_all"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "enum_recv", 1, - AddBuiltinFunc(_0(3532), _1("enum_recv"), _2(2), _3(true), _4(false), _5(enum_recv), _6(3500), _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('s'), _19(0), _20(2, 2275, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("enum_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3532), _1("enum_recv"), _2(2), _3(true), _4(false), _5(enum_recv), _6(3500), _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('s'), _19(0), _20(2, 2275, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("enum_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "enum_send", 1, - AddBuiltinFunc(_0(3533), _1("enum_send"), _2(1), _3(true), _4(false), _5(enum_send), _6(17), _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('s'), _19(0), _20(1, 3500), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("enum_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3533), _1("enum_send"), _2(1), _3(true), _4(false), _5(enum_send), _6(17), _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('s'), _19(0), _20(1, 3500), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("enum_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "enum_smaller", 1, - AddBuiltinFunc(_0(3524), _1("enum_smaller"), _2(2), _3(true), _4(false), _5(enum_smaller), _6(3500), _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(2, 3500, 3500), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("enum_smaller"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3524), _1("enum_smaller"), _2(2), _3(true), _4(false), _5(enum_smaller), _6(3500), _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(2, 3500, 3500), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("enum_smaller"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "eqjoinsel", 1, - AddBuiltinFunc(_0(105), _1("eqjoinsel"), _2(5), _3(true), _4(false), _5(eqjoinsel), _6(701), _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('s'), _19(0), _20(5, 2281, 26, 2281, 21, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("eqjoinsel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(105), _1("eqjoinsel"), _2(5), _3(true), _4(false), _5(eqjoinsel), _6(701), _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('s'), _19(0), _20(5, 2281, 26, 2281, 21, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("eqjoinsel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "eqsel", 1, - AddBuiltinFunc(_0(EQSELRETURNOID), _1("eqsel"), _2(4), _3(true), _4(false), _5(eqsel), _6(701), _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('s'), _19(0), _20(4, 2281, 26, 2281, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("eqsel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(EQSELRETURNOID), _1("eqsel"), _2(4), _3(true), _4(false), _5(eqsel), _6(701), _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('s'), _19(0), _20(4, 2281, 26, 2281, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("eqsel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "every", 1, - AddBuiltinFunc(_0(EVERYFUNCOID), _1("every"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(EVERYFUNCOID), _1("every"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "exec_hadoop_sql", 1, - AddBuiltinFunc(_0(ECHADOOPFUNCOID), _1("exec_hadoop_sql"), _2(3), _3(false), _4(true), _5(exec_hadoop_sql), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(3, 25, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("exec_hadoop_sql"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(ECHADOOPFUNCOID), _1("exec_hadoop_sql"), _2(3), _3(false), _4(true), _5(exec_hadoop_sql), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(3, 25, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("exec_hadoop_sql"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "exec_on_extension", 1, - AddBuiltinFunc(_0(ECEXTENSIONFUNCOID), _1("exec_on_extension"), _2(2), _3(false), _4(true), _5(exec_on_extension), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("exec_on_extension"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(ECEXTENSIONFUNCOID), _1("exec_on_extension"), _2(2), _3(false), _4(true), _5(exec_on_extension), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("exec_on_extension"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "exp", 2, - AddBuiltinFunc(_0(1347), _1("exp"), _2(1), _3(true), _4(false), _5(dexp), _6(701), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dexp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1732), _1("exp"), _2(1), _3(true), _4(false), _5(numeric_exp), _6(1700), _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(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_exp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1347), _1("exp"), _2(1), _3(true), _4(false), _5(dexp), _6(701), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dexp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1732), _1("exp"), _2(1), _3(true), _4(false), _5(numeric_exp), _6(1700), _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(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_exp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "f4toi1", 1, - AddBuiltinFunc(_0(5530), _1("f4toi1"), _2(1), _3(true), _4(false), _5(f4toi1), _6(5545), _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(1, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("f4toi1"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5530), _1("f4toi1"), _2(1), _3(true), _4(false), _5(f4toi1), _6(5545), _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(1, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("f4toi1"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "f8toi1", 1, - AddBuiltinFunc(_0(5532), _1("f8toi1"), _2(1), _3(true), _4(false), _5(f8toi1), _6(5545), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("f8toi1"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5532), _1("f8toi1"), _2(1), _3(true), _4(false), _5(f8toi1), _6(5545), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("f8toi1"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "factorial", 1, - AddBuiltinFunc(_0(1376), _1("factorial"), _2(1), _3(true), _4(false), _5(numeric_fac), _6(1700), _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(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_fac"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1376), _1("factorial"), _2(1), _3(true), _4(false), _5(numeric_fac), _6(1700), _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(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_fac"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "family", 1, - AddBuiltinFunc(_0(711), _1("family"), _2(1), _3(true), _4(false), _5(network_family), _6(23), _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(1, 869), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("network_family"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(711), _1("family"), _2(1), _3(true), _4(false), _5(network_family), _6(23), _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(1, 869), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("network_family"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "fdw_handler_in", 1, - AddBuiltinFunc(_0(3116), _1("fdw_handler_in"), _2(1), _3(false), _4(false), _5(fdw_handler_in), _6(3115), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("fdw_handler_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3116), _1("fdw_handler_in"), _2(1), _3(false), _4(false), _5(fdw_handler_in), _6(3115), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("fdw_handler_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "fdw_handler_out", 1, - AddBuiltinFunc(_0(3117), _1("fdw_handler_out"), _2(1), _3(true), _4(false), _5(fdw_handler_out), _6(2275), _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(1, 3115), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("fdw_handler_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3117), _1("fdw_handler_out"), _2(1), _3(true), _4(false), _5(fdw_handler_out), _6(2275), _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(1, 3115), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("fdw_handler_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "fenced_udf_process", 1, - AddBuiltinFunc(_0(4207), _1("fenced_udf_process"), _2(1), _3(true), _4(false), _5(fenced_udf_process), _6(25), _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('s'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("fenced_udf_process"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4207), _1("fenced_udf_process"), _2(1), _3(true), _4(false), _5(fenced_udf_process), _6(25), _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('s'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("fenced_udf_process"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "first_value", 1, - AddBuiltinFunc(_0(3112), _1("first_value"), _2(1), _3(true), _4(false), _5(window_first_value), _6(2283), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(true), _16(false), _17(false), _18('i'), _19(0), _20(1, 2283), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("window_first_value"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3112), _1("first_value"), _2(1), _3(true), _4(false), _5(window_first_value), _6(2283), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(true), _16(false), _17(false), _18('i'), _19(0), _20(1, 2283), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("window_first_value"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "delta", 1, - AddBuiltinFunc(_0(4805), _1("delta"), _2(1), _3(true), _4(false), _5(window_delta), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(true), _16(false), _17(false), _18('i'), _19(0), _20(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("window_delta"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4805), _1("delta"), _2(1), _3(true), _4(false), _5(window_delta), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(true), _16(false), _17(false), _18('i'), _19(0), _20(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("window_delta"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float4", 5, - AddBuiltinFunc(_0(236), _1("float4"), _2(1), _3(true), _4(false), _5(i2tof), _6(700), _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(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("i2tof"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(312), _1("float4"), _2(1), _3(true), _4(false), _5(dtof), _6(700), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dtof"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(318), _1("float4"), _2(1), _3(true), _4(false), _5(i4tof), _6(700), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("i4tof"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(652), _1("float4"), _2(1), _3(true), _4(false), _5(i8tof), _6(700), _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(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("i8tof"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1745), _1("float4"), _2(1), _3(true), _4(false), _5(numeric_float4), _6(700), _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(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_float4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(236), _1("float4"), _2(1), _3(true), _4(false), _5(i2tof), _6(700), _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(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("i2tof"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(312), _1("float4"), _2(1), _3(true), _4(false), _5(dtof), _6(700), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dtof"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(318), _1("float4"), _2(1), _3(true), _4(false), _5(i4tof), _6(700), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("i4tof"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(652), _1("float4"), _2(1), _3(true), _4(false), _5(i8tof), _6(700), _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(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("i8tof"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1745), _1("float4"), _2(1), _3(true), _4(false), _5(numeric_float4), _6(700), _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(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_float4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float48div", 1, - AddBuiltinFunc(_0(280), _1("float48div"), _2(2), _3(true), _4(false), _5(float48div), _6(701), _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(2, 700, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float48div"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(280), _1("float48div"), _2(2), _3(true), _4(false), _5(float48div), _6(701), _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(2, 700, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float48div"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float48eq", 1, - AddBuiltinFunc(_0(299), _1("float48eq"), _2(2), _3(true), _4(false), _5(float48eq), _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(true), _18('i'), _19(0), _20(2, 700, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float48eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(299), _1("float48eq"), _2(2), _3(true), _4(false), _5(float48eq), _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(true), _18('i'), _19(0), _20(2, 700, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float48eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float48ge", 1, - AddBuiltinFunc(_0(304), _1("float48ge"), _2(2), _3(true), _4(false), _5(float48ge), _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(true), _18('i'), _19(0), _20(2, 700, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float48ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(304), _1("float48ge"), _2(2), _3(true), _4(false), _5(float48ge), _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(true), _18('i'), _19(0), _20(2, 700, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float48ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float48gt", 1, - AddBuiltinFunc(_0(303), _1("float48gt"), _2(2), _3(true), _4(false), _5(float48gt), _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(true), _18('i'), _19(0), _20(2, 700, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float48gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(303), _1("float48gt"), _2(2), _3(true), _4(false), _5(float48gt), _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(true), _18('i'), _19(0), _20(2, 700, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float48gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float48le", 1, - AddBuiltinFunc(_0(302), _1("float48le"), _2(2), _3(true), _4(false), _5(float48le), _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(true), _18('i'), _19(0), _20(2, 700, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float48le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(302), _1("float48le"), _2(2), _3(true), _4(false), _5(float48le), _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(true), _18('i'), _19(0), _20(2, 700, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float48le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float48lt", 1, - AddBuiltinFunc(_0(301), _1("float48lt"), _2(2), _3(true), _4(false), _5(float48lt), _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(true), _18('i'), _19(0), _20(2, 700, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float48lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(301), _1("float48lt"), _2(2), _3(true), _4(false), _5(float48lt), _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(true), _18('i'), _19(0), _20(2, 700, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float48lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float48mi", 1, - AddBuiltinFunc(_0(282), _1("float48mi"), _2(2), _3(true), _4(false), _5(float48mi), _6(701), _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(2, 700, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float48mi"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(282), _1("float48mi"), _2(2), _3(true), _4(false), _5(float48mi), _6(701), _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(2, 700, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float48mi"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float48mul", 1, - AddBuiltinFunc(_0(279), _1("float48mul"), _2(2), _3(true), _4(false), _5(float48mul), _6(701), _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(2, 700, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float48mul"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(279), _1("float48mul"), _2(2), _3(true), _4(false), _5(float48mul), _6(701), _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(2, 700, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float48mul"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float48ne", 1, - AddBuiltinFunc(_0(300), _1("float48ne"), _2(2), _3(true), _4(false), _5(float48ne), _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(true), _18('i'), _19(0), _20(2, 700, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float48ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(300), _1("float48ne"), _2(2), _3(true), _4(false), _5(float48ne), _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(true), _18('i'), _19(0), _20(2, 700, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float48ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float48pl", 1, - AddBuiltinFunc(_0(281), _1("float48pl"), _2(2), _3(true), _4(false), _5(float48pl), _6(701), _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(2, 700, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float48pl"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(281), _1("float48pl"), _2(2), _3(true), _4(false), _5(float48pl), _6(701), _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(2, 700, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float48pl"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float4_accum", 1, - AddBuiltinFunc(_0(208), _1("float4_accum"), _2(2), _3(true), _4(false), _5(float4_accum), _6(1022), _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(2, 1022, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float4_accum"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(208), _1("float4_accum"), _2(2), _3(true), _4(false), _5(float4_accum), _6(1022), _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(2, 1022, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float4_accum"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float4_bpchar", 1, - AddBuiltinFunc(_0(4070), _1("float4_bpchar"), _2(1), _3(true), _4(false), _5(float4_bpchar), _6(1042), _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(1, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float4_bpchar"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4070), _1("float4_bpchar"), _2(1), _3(true), _4(false), _5(float4_bpchar), _6(1042), _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(1, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float4_bpchar"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float4_list_agg_noarg2_transfn", 1, - AddBuiltinFunc(_0(3569), _1("float4_list_agg_noarg2_transfn"), _2(2), _3(false), _4(false), _5(float4_list_agg_noarg2_transfn), _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(2, 2281, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float4_list_agg_noarg2_transfn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3569), _1("float4_list_agg_noarg2_transfn"), _2(2), _3(false), _4(false), _5(float4_list_agg_noarg2_transfn), _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(2, 2281, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float4_list_agg_noarg2_transfn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float4_list_agg_transfn", 1, - AddBuiltinFunc(_0(3567), _1("float4_list_agg_transfn"), _2(3), _3(false), _4(false), _5(float4_list_agg_transfn), _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(3, 2281, 700, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float4_list_agg_transfn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3567), _1("float4_list_agg_transfn"), _2(3), _3(false), _4(false), _5(float4_list_agg_transfn), _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(3, 2281, 700, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float4_list_agg_transfn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float4_text", 1, - AddBuiltinFunc(_0(4169), _1("float4_text"), _2(1), _3(true), _4(false), _5(float4_text), _6(25), _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(1, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float4_text"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4169), _1("float4_text"), _2(1), _3(true), _4(false), _5(float4_text), _6(25), _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(1, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float4_text"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float4_varchar", 1, - AddBuiltinFunc(_0(4184), _1("float4_varchar"), _2(1), _3(true), _4(false), _5(float4_varchar), _6(1043), _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(1, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float4_varchar"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4184), _1("float4_varchar"), _2(1), _3(true), _4(false), _5(float4_varchar), _6(1043), _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(1, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float4_varchar"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float4abs", 1, - AddBuiltinFunc(_0(207), _1("float4abs"), _2(1), _3(true), _4(false), _5(float4abs), _6(700), _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(1, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float4abs"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(207), _1("float4abs"), _2(1), _3(true), _4(false), _5(float4abs), _6(700), _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(1, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float4abs"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float4div", 1, - AddBuiltinFunc(_0(203), _1("float4div"), _2(2), _3(true), _4(false), _5(float4div), _6(700), _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(2, 700, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float4div"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(203), _1("float4div"), _2(2), _3(true), _4(false), _5(float4div), _6(700), _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(2, 700, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float4div"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float4eq", 1, - AddBuiltinFunc(_0(287), _1("float4eq"), _2(2), _3(true), _4(false), _5(float4eq), _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(true), _18('i'), _19(0), _20(2, 700, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float4eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(287), _1("float4eq"), _2(2), _3(true), _4(false), _5(float4eq), _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(true), _18('i'), _19(0), _20(2, 700, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float4eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float4ge", 1, - AddBuiltinFunc(_0(292), _1("float4ge"), _2(2), _3(true), _4(false), _5(float4ge), _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(true), _18('i'), _19(0), _20(2, 700, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float4ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(292), _1("float4ge"), _2(2), _3(true), _4(false), _5(float4ge), _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(true), _18('i'), _19(0), _20(2, 700, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float4ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float4gt", 1, - AddBuiltinFunc(_0(291), _1("float4gt"), _2(2), _3(true), _4(false), _5(float4gt), _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(true), _18('i'), _19(0), _20(2, 700, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float4gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(291), _1("float4gt"), _2(2), _3(true), _4(false), _5(float4gt), _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(true), _18('i'), _19(0), _20(2, 700, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float4gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float4in", 1, - AddBuiltinFunc(_0(200), _1("float4in"), _2(1), _3(true), _4(false), _5(float4in), _6(700), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float4in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(200), _1("float4in"), _2(1), _3(true), _4(false), _5(float4in), _6(700), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float4in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float4larger", 1, - AddBuiltinFunc(_0(209), _1("float4larger"), _2(2), _3(true), _4(false), _5(float4larger), _6(700), _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(2, 700, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float4larger"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(209), _1("float4larger"), _2(2), _3(true), _4(false), _5(float4larger), _6(700), _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(2, 700, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float4larger"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float4le", 1, - AddBuiltinFunc(_0(290), _1("float4le"), _2(2), _3(true), _4(false), _5(float4le), _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(true), _18('i'), _19(0), _20(2, 700, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float4le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(290), _1("float4le"), _2(2), _3(true), _4(false), _5(float4le), _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(true), _18('i'), _19(0), _20(2, 700, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float4le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float4lt", 1, - AddBuiltinFunc(_0(289), _1("float4lt"), _2(2), _3(true), _4(false), _5(float4lt), _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(true), _18('i'), _19(0), _20(2, 700, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float4lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(289), _1("float4lt"), _2(2), _3(true), _4(false), _5(float4lt), _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(true), _18('i'), _19(0), _20(2, 700, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float4lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float4mi", 1, - AddBuiltinFunc(_0(205), _1("float4mi"), _2(2), _3(true), _4(false), _5(float4mi), _6(700), _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(2, 700, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float4mi"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(205), _1("float4mi"), _2(2), _3(true), _4(false), _5(float4mi), _6(700), _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(2, 700, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float4mi"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float4mul", 1, - AddBuiltinFunc(_0(202), _1("float4mul"), _2(2), _3(true), _4(false), _5(float4mul), _6(700), _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(2, 700, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float4mul"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(202), _1("float4mul"), _2(2), _3(true), _4(false), _5(float4mul), _6(700), _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(2, 700, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float4mul"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float4ne", 1, - AddBuiltinFunc(_0(288), _1("float4ne"), _2(2), _3(true), _4(false), _5(float4ne), _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(true), _18('i'), _19(0), _20(2, 700, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float4ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(288), _1("float4ne"), _2(2), _3(true), _4(false), _5(float4ne), _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(true), _18('i'), _19(0), _20(2, 700, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float4ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float4out", 1, - AddBuiltinFunc(_0(201), _1("float4out"), _2(1), _3(true), _4(false), _5(float4out), _6(2275), _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(1, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float4out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(201), _1("float4out"), _2(1), _3(true), _4(false), _5(float4out), _6(2275), _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(1, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float4out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float4pl", 1, - AddBuiltinFunc(_0(204), _1("float4pl"), _2(2), _3(true), _4(false), _5(float4pl), _6(700), _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(2, 700, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float4pl"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(204), _1("float4pl"), _2(2), _3(true), _4(false), _5(float4pl), _6(700), _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(2, 700, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float4pl"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float4recv", 1, - AddBuiltinFunc(_0(2424), _1("float4recv"), _2(1), _3(true), _4(false), _5(float4recv), _6(700), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float4recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2424), _1("float4recv"), _2(1), _3(true), _4(false), _5(float4recv), _6(700), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float4recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float4send", 1, - AddBuiltinFunc(_0(2425), _1("float4send"), _2(1), _3(true), _4(false), _5(float4send), _6(17), _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(1, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float4send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2425), _1("float4send"), _2(1), _3(true), _4(false), _5(float4send), _6(17), _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(1, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float4send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float4smaller", 1, - AddBuiltinFunc(_0(211), _1("float4smaller"), _2(2), _3(true), _4(false), _5(float4smaller), _6(700), _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(2, 700, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float4smaller"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(211), _1("float4smaller"), _2(2), _3(true), _4(false), _5(float4smaller), _6(700), _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(2, 700, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float4smaller"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float4um", 1, - AddBuiltinFunc(_0(206), _1("float4um"), _2(1), _3(true), _4(false), _5(float4um), _6(700), _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(1, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float4um"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(206), _1("float4um"), _2(1), _3(true), _4(false), _5(float4um), _6(700), _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(1, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float4um"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float4up", 1, - AddBuiltinFunc(_0(1913), _1("float4up"), _2(1), _3(true), _4(false), _5(float4up), _6(700), _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(1, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float4up"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1913), _1("float4up"), _2(1), _3(true), _4(false), _5(float4up), _6(700), _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(1, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float4up"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float8", 5, - AddBuiltinFunc(_0(235), _1("float8"), _2(1), _3(true), _4(false), _5(i2tod), _6(701), _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(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("i2tod"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(311), _1("float8"), _2(1), _3(true), _4(false), _5(ftod), _6(701), _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(1, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ftod"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(INT4TOFLOAT8FUNCOID), _1("float8"), _2(1), _3(true), _4(false), _5(i4tod), _6(701), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("i4tod"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(482), _1("float8"), _2(1), _3(true), _4(false), _5(i8tod), _6(701), _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(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("i8tod"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(NUMTOFLOAT8FUNCOID), _1("float8"), _2(1), _3(true), _4(false), _5(numeric_float8), _6(701), _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(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_float8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(235), _1("float8"), _2(1), _3(true), _4(false), _5(i2tod), _6(701), _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(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("i2tod"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(311), _1("float8"), _2(1), _3(true), _4(false), _5(ftod), _6(701), _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(1, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ftod"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(INT4TOFLOAT8FUNCOID), _1("float8"), _2(1), _3(true), _4(false), _5(i4tod), _6(701), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("i4tod"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(482), _1("float8"), _2(1), _3(true), _4(false), _5(i8tod), _6(701), _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(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("i8tod"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(NUMTOFLOAT8FUNCOID), _1("float8"), _2(1), _3(true), _4(false), _5(numeric_float8), _6(701), _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(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_float8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float84div", 1, - AddBuiltinFunc(_0(284), _1("float84div"), _2(2), _3(true), _4(false), _5(float84div), _6(701), _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(2, 701, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float84div"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(284), _1("float84div"), _2(2), _3(true), _4(false), _5(float84div), _6(701), _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(2, 701, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float84div"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float84eq", 1, - AddBuiltinFunc(_0(305), _1("float84eq"), _2(2), _3(true), _4(false), _5(float84eq), _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(true), _18('i'), _19(0), _20(2, 701, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float84eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(305), _1("float84eq"), _2(2), _3(true), _4(false), _5(float84eq), _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(true), _18('i'), _19(0), _20(2, 701, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float84eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float84ge", 1, - AddBuiltinFunc(_0(310), _1("float84ge"), _2(2), _3(true), _4(false), _5(float84ge), _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(true), _18('i'), _19(0), _20(2, 701, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float84ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(310), _1("float84ge"), _2(2), _3(true), _4(false), _5(float84ge), _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(true), _18('i'), _19(0), _20(2, 701, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float84ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float84gt", 1, - AddBuiltinFunc(_0(309), _1("float84gt"), _2(2), _3(true), _4(false), _5(float84gt), _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(true), _18('i'), _19(0), _20(2, 701, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float84gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(309), _1("float84gt"), _2(2), _3(true), _4(false), _5(float84gt), _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(true), _18('i'), _19(0), _20(2, 701, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float84gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float84le", 1, - AddBuiltinFunc(_0(308), _1("float84le"), _2(2), _3(true), _4(false), _5(float84le), _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(true), _18('i'), _19(0), _20(2, 701, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float84le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(308), _1("float84le"), _2(2), _3(true), _4(false), _5(float84le), _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(true), _18('i'), _19(0), _20(2, 701, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float84le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float84lt", 1, - AddBuiltinFunc(_0(307), _1("float84lt"), _2(2), _3(true), _4(false), _5(float84lt), _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(true), _18('i'), _19(0), _20(2, 701, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float84lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(307), _1("float84lt"), _2(2), _3(true), _4(false), _5(float84lt), _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(true), _18('i'), _19(0), _20(2, 701, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float84lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float84mi", 1, - AddBuiltinFunc(_0(286), _1("float84mi"), _2(2), _3(true), _4(false), _5(float84mi), _6(701), _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(2, 701, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float84mi"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(286), _1("float84mi"), _2(2), _3(true), _4(false), _5(float84mi), _6(701), _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(2, 701, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float84mi"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float84mul", 1, - AddBuiltinFunc(_0(283), _1("float84mul"), _2(2), _3(true), _4(false), _5(float84mul), _6(701), _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(2, 701, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float84mul"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(283), _1("float84mul"), _2(2), _3(true), _4(false), _5(float84mul), _6(701), _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(2, 701, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float84mul"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float84ne", 1, - AddBuiltinFunc(_0(306), _1("float84ne"), _2(2), _3(true), _4(false), _5(float84ne), _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(true), _18('i'), _19(0), _20(2, 701, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float84ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(306), _1("float84ne"), _2(2), _3(true), _4(false), _5(float84ne), _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(true), _18('i'), _19(0), _20(2, 701, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float84ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float84pl", 1, - AddBuiltinFunc(_0(285), _1("float84pl"), _2(2), _3(true), _4(false), _5(float84pl), _6(701), _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(2, 701, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float84pl"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(285), _1("float84pl"), _2(2), _3(true), _4(false), _5(float84pl), _6(701), _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(2, 701, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float84pl"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float8_accum", 1, - AddBuiltinFunc(_0(222), _1("float8_accum"), _2(2), _3(true), _4(false), _5(float8_accum), _6(1022), _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(2, 1022, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8_accum"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(222), _1("float8_accum"), _2(2), _3(true), _4(false), _5(float8_accum), _6(1022), _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(2, 1022, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8_accum"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float8_avg", 1, - AddBuiltinFunc(_0(1830), _1("float8_avg"), _2(1), _3(true), _4(false), _5(float8_avg), _6(701), _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(1, 1022), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8_avg"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1830), _1("float8_avg"), _2(1), _3(true), _4(false), _5(float8_avg), _6(701), _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(1, 1022), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8_avg"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float8_bpchar", 1, - AddBuiltinFunc(_0(4071), _1("float8_bpchar"), _2(1), _3(true), _4(false), _5(float8_bpchar), _6(1042), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8_bpchar"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4071), _1("float8_bpchar"), _2(1), _3(true), _4(false), _5(float8_bpchar), _6(1042), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8_bpchar"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float8_collect", 1, - AddBuiltinFunc(_0(2966), _1("float8_collect"), _2(2), _3(true), _4(false), _5(float8_collect), _6(1022), _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(2, 1022, 1022), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8_collect"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2966), _1("float8_collect"), _2(2), _3(true), _4(false), _5(float8_collect), _6(1022), _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(2, 1022, 1022), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8_collect"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float8_corr", 1, - AddBuiltinFunc(_0(2817), _1("float8_corr"), _2(1), _3(true), _4(false), _5(float8_corr), _6(701), _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(1, 1022), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8_corr"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2817), _1("float8_corr"), _2(1), _3(true), _4(false), _5(float8_corr), _6(701), _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(1, 1022), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8_corr"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float8_covar_pop", 1, - AddBuiltinFunc(_0(2815), _1("float8_covar_pop"), _2(1), _3(true), _4(false), _5(float8_covar_pop), _6(701), _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(1, 1022), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8_covar_pop"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2815), _1("float8_covar_pop"), _2(1), _3(true), _4(false), _5(float8_covar_pop), _6(701), _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(1, 1022), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8_covar_pop"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float8_covar_samp", 1, - AddBuiltinFunc(_0(2816), _1("float8_covar_samp"), _2(1), _3(true), _4(false), _5(float8_covar_samp), _6(701), _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(1, 1022), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8_covar_samp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2816), _1("float8_covar_samp"), _2(1), _3(true), _4(false), _5(float8_covar_samp), _6(701), _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(1, 1022), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8_covar_samp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float8_interval", 1, - AddBuiltinFunc(_0(4229), _1("float8_interval"), _2(1), _3(true), _4(false), _5(float8_interval), _6(1186), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8_interval"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4229), _1("float8_interval"), _2(1), _3(true), _4(false), _5(float8_interval), _6(1186), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8_interval"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float8_list_agg_noarg2_transfn", 1, - AddBuiltinFunc(_0(3573), _1("float8_list_agg_noarg2_transfn"), _2(2), _3(false), _4(false), _5(float8_list_agg_noarg2_transfn), _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(2, 2281, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8_list_agg_noarg2_transfn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3573), _1("float8_list_agg_noarg2_transfn"), _2(2), _3(false), _4(false), _5(float8_list_agg_noarg2_transfn), _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(2, 2281, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8_list_agg_noarg2_transfn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float8_list_agg_transfn", 1, - AddBuiltinFunc(_0(3571), _1("float8_list_agg_transfn"), _2(3), _3(false), _4(false), _5(float8_list_agg_transfn), _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(3, 2281, 701, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8_list_agg_transfn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3571), _1("float8_list_agg_transfn"), _2(3), _3(false), _4(false), _5(float8_list_agg_transfn), _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(3, 2281, 701, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8_list_agg_transfn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float8_regr_accum", 1, - AddBuiltinFunc(_0(2806), _1("float8_regr_accum"), _2(3), _3(true), _4(false), _5(float8_regr_accum), _6(1022), _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(3, 1022, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8_regr_accum"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2806), _1("float8_regr_accum"), _2(3), _3(true), _4(false), _5(float8_regr_accum), _6(1022), _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(3, 1022, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8_regr_accum"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float8_regr_avgx", 1, - AddBuiltinFunc(_0(2810), _1("float8_regr_avgx"), _2(1), _3(true), _4(false), _5(float8_regr_avgx), _6(701), _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(1, 1022), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8_regr_avgx"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2810), _1("float8_regr_avgx"), _2(1), _3(true), _4(false), _5(float8_regr_avgx), _6(701), _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(1, 1022), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8_regr_avgx"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float8_regr_avgy", 1, - AddBuiltinFunc(_0(2811), _1("float8_regr_avgy"), _2(1), _3(true), _4(false), _5(float8_regr_avgy), _6(701), _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(1, 1022), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8_regr_avgy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2811), _1("float8_regr_avgy"), _2(1), _3(true), _4(false), _5(float8_regr_avgy), _6(701), _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(1, 1022), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8_regr_avgy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float8_regr_collect", 1, - AddBuiltinFunc(_0(2995), _1("float8_regr_collect"), _2(2), _3(true), _4(false), _5(float8_regr_collect), _6(1022), _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(2, 1022, 1022), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8_regr_collect"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2995), _1("float8_regr_collect"), _2(2), _3(true), _4(false), _5(float8_regr_collect), _6(1022), _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(2, 1022, 1022), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8_regr_collect"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float8_regr_intercept", 1, - AddBuiltinFunc(_0(2814), _1("float8_regr_intercept"), _2(1), _3(true), _4(false), _5(float8_regr_intercept), _6(701), _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(1, 1022), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8_regr_intercept"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2814), _1("float8_regr_intercept"), _2(1), _3(true), _4(false), _5(float8_regr_intercept), _6(701), _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(1, 1022), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8_regr_intercept"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float8_regr_r2", 1, - AddBuiltinFunc(_0(2812), _1("float8_regr_r2"), _2(1), _3(true), _4(false), _5(float8_regr_r2), _6(701), _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(1, 1022), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8_regr_r2"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2812), _1("float8_regr_r2"), _2(1), _3(true), _4(false), _5(float8_regr_r2), _6(701), _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(1, 1022), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8_regr_r2"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float8_regr_slope", 1, - AddBuiltinFunc(_0(2813), _1("float8_regr_slope"), _2(1), _3(true), _4(false), _5(float8_regr_slope), _6(701), _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(1, 1022), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8_regr_slope"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2813), _1("float8_regr_slope"), _2(1), _3(true), _4(false), _5(float8_regr_slope), _6(701), _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(1, 1022), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8_regr_slope"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float8_regr_sxx", 1, - AddBuiltinFunc(_0(2807), _1("float8_regr_sxx"), _2(1), _3(true), _4(false), _5(float8_regr_sxx), _6(701), _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(1, 1022), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8_regr_sxx"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2807), _1("float8_regr_sxx"), _2(1), _3(true), _4(false), _5(float8_regr_sxx), _6(701), _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(1, 1022), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8_regr_sxx"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float8_regr_sxy", 1, - AddBuiltinFunc(_0(2809), _1("float8_regr_sxy"), _2(1), _3(true), _4(false), _5(float8_regr_sxy), _6(701), _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(1, 1022), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8_regr_sxy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2809), _1("float8_regr_sxy"), _2(1), _3(true), _4(false), _5(float8_regr_sxy), _6(701), _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(1, 1022), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8_regr_sxy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float8_regr_syy", 1, - AddBuiltinFunc(_0(2808), _1("float8_regr_syy"), _2(1), _3(true), _4(false), _5(float8_regr_syy), _6(701), _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(1, 1022), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8_regr_syy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2808), _1("float8_regr_syy"), _2(1), _3(true), _4(false), _5(float8_regr_syy), _6(701), _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(1, 1022), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8_regr_syy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float8_stddev_pop", 1, - AddBuiltinFunc(_0(2513), _1("float8_stddev_pop"), _2(1), _3(true), _4(false), _5(float8_stddev_pop), _6(701), _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(1, 1022), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8_stddev_pop"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2513), _1("float8_stddev_pop"), _2(1), _3(true), _4(false), _5(float8_stddev_pop), _6(701), _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(1, 1022), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8_stddev_pop"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float8_stddev_samp", 1, - AddBuiltinFunc(_0(1832), _1("float8_stddev_samp"), _2(1), _3(true), _4(false), _5(float8_stddev_samp), _6(701), _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(1, 1022), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8_stddev_samp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1832), _1("float8_stddev_samp"), _2(1), _3(true), _4(false), _5(float8_stddev_samp), _6(701), _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(1, 1022), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8_stddev_samp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float8_text", 1, - AddBuiltinFunc(_0(4170), _1("float8_text"), _2(1), _3(true), _4(false), _5(float8_text), _6(25), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8_text"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4170), _1("float8_text"), _2(1), _3(true), _4(false), _5(float8_text), _6(25), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8_text"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float8_var_pop", 1, - AddBuiltinFunc(_0(2512), _1("float8_var_pop"), _2(1), _3(true), _4(false), _5(float8_var_pop), _6(701), _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(1, 1022), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8_var_pop"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2512), _1("float8_var_pop"), _2(1), _3(true), _4(false), _5(float8_var_pop), _6(701), _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(1, 1022), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8_var_pop"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float8_var_samp", 1, - AddBuiltinFunc(_0(1831), _1("float8_var_samp"), _2(1), _3(true), _4(false), _5(float8_var_samp), _6(701), _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(1, 1022), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8_var_samp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1831), _1("float8_var_samp"), _2(1), _3(true), _4(false), _5(float8_var_samp), _6(701), _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(1, 1022), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8_var_samp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float8_varchar", 1, - AddBuiltinFunc(_0(4185), _1("float8_varchar"), _2(1), _3(true), _4(false), _5(float8_varchar), _6(1043), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8_varchar"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4185), _1("float8_varchar"), _2(1), _3(true), _4(false), _5(float8_varchar), _6(1043), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8_varchar"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float8abs", 1, - AddBuiltinFunc(_0(221), _1("float8abs"), _2(1), _3(true), _4(false), _5(float8abs), _6(701), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8abs"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(221), _1("float8abs"), _2(1), _3(true), _4(false), _5(float8abs), _6(701), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8abs"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float8div", 1, - AddBuiltinFunc(_0(217), _1("float8div"), _2(2), _3(true), _4(false), _5(float8div), _6(701), _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(2, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8div"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(217), _1("float8div"), _2(2), _3(true), _4(false), _5(float8div), _6(701), _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(2, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8div"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float8eq", 1, - AddBuiltinFunc(_0(293), _1("float8eq"), _2(2), _3(true), _4(false), _5(float8eq), _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(true), _18('i'), _19(0), _20(2, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(293), _1("float8eq"), _2(2), _3(true), _4(false), _5(float8eq), _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(true), _18('i'), _19(0), _20(2, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float8ge", 1, - AddBuiltinFunc(_0(298), _1("float8ge"), _2(2), _3(true), _4(false), _5(float8ge), _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(true), _18('i'), _19(0), _20(2, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(298), _1("float8ge"), _2(2), _3(true), _4(false), _5(float8ge), _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(true), _18('i'), _19(0), _20(2, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float8gt", 1, - AddBuiltinFunc(_0(297), _1("float8gt"), _2(2), _3(true), _4(false), _5(float8gt), _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(true), _18('i'), _19(0), _20(2, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(297), _1("float8gt"), _2(2), _3(true), _4(false), _5(float8gt), _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(true), _18('i'), _19(0), _20(2, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float8in", 1, - AddBuiltinFunc(_0(214), _1("float8in"), _2(1), _3(true), _4(false), _5(float8in), _6(701), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(214), _1("float8in"), _2(1), _3(true), _4(false), _5(float8in), _6(701), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float8larger", 1, - AddBuiltinFunc(_0(223), _1("float8larger"), _2(2), _3(true), _4(false), _5(float8larger), _6(701), _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(2, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8larger"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(223), _1("float8larger"), _2(2), _3(true), _4(false), _5(float8larger), _6(701), _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(2, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8larger"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float8le", 1, - AddBuiltinFunc(_0(296), _1("float8le"), _2(2), _3(true), _4(false), _5(float8le), _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(true), _18('i'), _19(0), _20(2, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(296), _1("float8le"), _2(2), _3(true), _4(false), _5(float8le), _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(true), _18('i'), _19(0), _20(2, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float8lt", 1, - AddBuiltinFunc(_0(295), _1("float8lt"), _2(2), _3(true), _4(false), _5(float8lt), _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(true), _18('i'), _19(0), _20(2, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(295), _1("float8lt"), _2(2), _3(true), _4(false), _5(float8lt), _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(true), _18('i'), _19(0), _20(2, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float8mi", 1, - AddBuiltinFunc(_0(219), _1("float8mi"), _2(2), _3(true), _4(false), _5(float8mi), _6(701), _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(2, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8mi"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(219), _1("float8mi"), _2(2), _3(true), _4(false), _5(float8mi), _6(701), _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(2, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8mi"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float8mul", 1, - AddBuiltinFunc(_0(216), _1("float8mul"), _2(2), _3(true), _4(false), _5(float8mul), _6(701), _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(2, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8mul"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(216), _1("float8mul"), _2(2), _3(true), _4(false), _5(float8mul), _6(701), _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(2, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8mul"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float8ne", 1, - AddBuiltinFunc(_0(294), _1("float8ne"), _2(2), _3(true), _4(false), _5(float8ne), _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(true), _18('i'), _19(0), _20(2, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(294), _1("float8ne"), _2(2), _3(true), _4(false), _5(float8ne), _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(true), _18('i'), _19(0), _20(2, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float8out", 1, - AddBuiltinFunc(_0(215), _1("float8out"), _2(1), _3(true), _4(false), _5(float8out), _6(2275), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(215), _1("float8out"), _2(1), _3(true), _4(false), _5(float8out), _6(2275), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float8pl", 1, - AddBuiltinFunc(_0(218), _1("float8pl"), _2(2), _3(true), _4(false), _5(float8pl), _6(701), _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(2, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8pl"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(218), _1("float8pl"), _2(2), _3(true), _4(false), _5(float8pl), _6(701), _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(2, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8pl"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float8recv", 1, - AddBuiltinFunc(_0(2426), _1("float8recv"), _2(1), _3(true), _4(false), _5(float8recv), _6(701), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2426), _1("float8recv"), _2(1), _3(true), _4(false), _5(float8recv), _6(701), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float8send", 1, - AddBuiltinFunc(_0(2427), _1("float8send"), _2(1), _3(true), _4(false), _5(float8send), _6(17), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2427), _1("float8send"), _2(1), _3(true), _4(false), _5(float8send), _6(17), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float8smaller", 1, - AddBuiltinFunc(_0(224), _1("float8smaller"), _2(2), _3(true), _4(false), _5(float8smaller), _6(701), _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(2, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8smaller"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(224), _1("float8smaller"), _2(2), _3(true), _4(false), _5(float8smaller), _6(701), _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(2, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8smaller"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float8um", 1, - AddBuiltinFunc(_0(220), _1("float8um"), _2(1), _3(true), _4(false), _5(float8um), _6(701), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8um"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(220), _1("float8um"), _2(1), _3(true), _4(false), _5(float8um), _6(701), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8um"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "float8up", 1, - AddBuiltinFunc(_0(1914), _1("float8up"), _2(1), _3(true), _4(false), _5(float8up), _6(701), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8up"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1914), _1("float8up"), _2(1), _3(true), _4(false), _5(float8up), _6(701), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8up"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "floor", 2, - AddBuiltinFunc(_0(1712), _1("floor"), _2(1), _3(true), _4(false), _5(numeric_floor), _6(1700), _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(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_floor"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2309), _1("floor"), _2(1), _3(true), _4(false), _5(dfloor), _6(701), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dfloor"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1712), _1("floor"), _2(1), _3(true), _4(false), _5(numeric_floor), _6(1700), _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(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_floor"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2309), _1("floor"), _2(1), _3(true), _4(false), _5(dfloor), _6(701), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dfloor"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "flt4_mul_cash", 1, - AddBuiltinFunc(_0(848), _1("flt4_mul_cash"), _2(2), _3(true), _4(false), _5(flt4_mul_cash), _6(790), _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(2, 700, 790), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("flt4_mul_cash"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(848), _1("flt4_mul_cash"), _2(2), _3(true), _4(false), _5(flt4_mul_cash), _6(790), _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(2, 700, 790), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("flt4_mul_cash"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "flt8_mul_cash", 1, - AddBuiltinFunc(_0(919), _1("flt8_mul_cash"), _2(2), _3(true), _4(false), _5(flt8_mul_cash), _6(790), _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(2, 701, 790), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("flt8_mul_cash"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(919), _1("flt8_mul_cash"), _2(2), _3(true), _4(false), _5(flt8_mul_cash), _6(790), _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(2, 701, 790), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("flt8_mul_cash"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "fmgr_c_validator", 1, - AddBuiltinFunc(_0(2247), _1("fmgr_c_validator"), _2(1), _3(true), _4(false), _5(fmgr_c_validator), _6(2278), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("fmgr_c_validator"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2247), _1("fmgr_c_validator"), _2(1), _3(true), _4(false), _5(fmgr_c_validator), _6(2278), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("fmgr_c_validator"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "fmgr_internal_validator", 1, - AddBuiltinFunc(_0(2246), _1("fmgr_internal_validator"), _2(1), _3(true), _4(false), _5(fmgr_internal_validator), _6(2278), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("fmgr_internal_validator"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2246), _1("fmgr_internal_validator"), _2(1), _3(true), _4(false), _5(fmgr_internal_validator), _6(2278), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("fmgr_internal_validator"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "fmgr_sql_validator", 1, - AddBuiltinFunc(_0(2248), _1("fmgr_sql_validator"), _2(1), _3(true), _4(false), _5(fmgr_sql_validator), _6(2278), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("fmgr_sql_validator"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2248), _1("fmgr_sql_validator"), _2(1), _3(true), _4(false), _5(fmgr_sql_validator), _6(2278), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("fmgr_sql_validator"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "format", 2, - AddBuiltinFunc(_0(ANYTOTEXTFORMATFUNCOID), _1("format"), _2(2), _3(false), _4(false), _5(text_format), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(2276), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(2, 25, 2276), _21(2, 25, 2276), _22(2, 'i', 'v'), _23(NULL), _24(NULL), _25("text_format"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")), - AddBuiltinFunc(_0(DEFAULTFORMATFUNCOID), _1("format"), _2(1), _3(false), _4(false), _5(text_format_nv), _6(25), _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('s'), _19(0), _20(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_format_nv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(ANYTOTEXTFORMATFUNCOID), _1("format"), _2(2), _3(false), _4(false), _5(text_format), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(2276), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(2, 25, 2276), _21(2, 25, 2276), _22(2, 'i', 'v'), _23(NULL), _24(NULL), _25("text_format"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(DEFAULTFORMATFUNCOID), _1("format"), _2(1), _3(false), _4(false), _5(text_format_nv), _6(25), _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('s'), _19(0), _20(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_format_nv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "format_type", 1, - AddBuiltinFunc(_0(1081), _1("format_type"), _2(2), _3(false), _4(false), _5(format_type), _6(25), _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('s'), _19(0), _20(2, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("format_type"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1081), _1("format_type"), _2(2), _3(false), _4(false), _5(format_type), _6(25), _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('s'), _19(0), _20(2, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("format_type"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "generate_series", 8, - AddBuiltinFunc(_0(938), _1("generate_series"), _2(3), _3(true), _4(true), _5(generate_series_timestamp), _6(1114), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(3, 1114, 1114, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("generate_series_timestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(GENERATESERIESFUNCOID), _1("generate_series"), _2(3), _3(true), _4(true), _5(generate_series_timestamptz), _6(1184), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(3, 1184, 1184, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("generate_series_timestamptz"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")), - AddBuiltinFunc(_0(1066), _1("generate_series"), _2(3), _3(true), _4(true), _5(generate_series_step_int4), _6(23), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(3, 23, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("generate_series_step_int4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1067), _1("generate_series"), _2(2), _3(true), _4(true), _5(generate_series_int4), _6(23), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("generate_series_int4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1068), _1("generate_series"), _2(3), _3(true), _4(true), _5(generate_series_step_int8), _6(20), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(3, 20, 20, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("generate_series_step_int8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1069), _1("generate_series"), _2(2), _3(true), _4(true), _5(generate_series_int8), _6(20), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 20, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("generate_series_int8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1070), _1("generate_series"), _2(3), _3(true), _4(true), _5(generate_series_step_numeric), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(3, 1700, 1700, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("generate_series_step_numeric"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1071), _1("generate_series"), _2(2), _3(true), _4(true), _5(generate_series_numeric), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 1700, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("generate_series_numeric"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(938), _1("generate_series"), _2(3), _3(true), _4(true), _5(generate_series_timestamp), _6(1114), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(3, 1114, 1114, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("generate_series_timestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(GENERATESERIESFUNCOID), _1("generate_series"), _2(3), _3(true), _4(true), _5(generate_series_timestamptz), _6(1184), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(3, 1184, 1184, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("generate_series_timestamptz"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1066), _1("generate_series"), _2(3), _3(true), _4(true), _5(generate_series_step_int4), _6(23), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(3, 23, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("generate_series_step_int4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1067), _1("generate_series"), _2(2), _3(true), _4(true), _5(generate_series_int4), _6(23), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("generate_series_int4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1068), _1("generate_series"), _2(3), _3(true), _4(true), _5(generate_series_step_int8), _6(20), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(3, 20, 20, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("generate_series_step_int8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1069), _1("generate_series"), _2(2), _3(true), _4(true), _5(generate_series_int8), _6(20), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 20, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("generate_series_int8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1070), _1("generate_series"), _2(3), _3(true), _4(true), _5(generate_series_step_numeric), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(3, 1700, 1700, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("generate_series_step_numeric"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1071), _1("generate_series"), _2(2), _3(true), _4(true), _5(generate_series_numeric), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 1700, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("generate_series_numeric"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "generate_subscripts", 2, - AddBuiltinFunc(_0(1191), _1("generate_subscripts"), _2(3), _3(true), _4(true), _5(generate_subscripts), _6(23), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(3, 2277, 23, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("generate_subscripts"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1192), _1("generate_subscripts"), _2(2), _3(true), _4(true), _5(generate_subscripts_nodir), _6(23), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 2277, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("generate_subscripts_nodir"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1191), _1("generate_subscripts"), _2(3), _3(true), _4(true), _5(generate_subscripts), _6(23), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(3, 2277, 23, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("generate_subscripts"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1192), _1("generate_subscripts"), _2(2), _3(true), _4(true), _5(generate_subscripts_nodir), _6(23), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 2277, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("generate_subscripts_nodir"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "generate_wdr_report", 1, - AddBuiltinFunc(_0(5703), _1("generate_wdr_report"), _2(5), _3(false), _4(false), _5(generate_wdr_report), _6(25), _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('v'), _19(1), _20(5, 20, 20, 2275, 2275, 2275), _21(NULL), _22(NULL), _23(5, "begin_snap_id", "end_snap_id", "report_type", "report_scope", "node_name"), _24("({CONST :consttype 2275 :consttypmod -1 :constcollid 0 :constlen -2 :constbyval false :constisnull false :ismaxvalue false :location 217538 :constvalue 1 [ 0 ] :cursor_data :row_count 0 :cur_dno 0 :is_open false :found false :not_found false :null_open false :null_fetch false})"), _25("generate_wdr_report"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5703), _1("generate_wdr_report"), _2(5), _3(false), _4(false), _5(generate_wdr_report), _6(25), _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('v'), _19(1), _20(5, 20, 20, 2275, 2275, 2275), _21(NULL), _22(NULL), _23(5, "begin_snap_id", "end_snap_id", "report_type", "report_scope", "node_name"), _24("({CONST :consttype 2275 :consttypmod -1 :constcollid 0 :constlen -2 :constbyval false :constisnull false :ismaxvalue false :location 217538 :constvalue 1 [ 0 ] :cursor_data :row_count 0 :cur_dno 0 :is_open false :found false :not_found false :null_open false :null_fetch false})"), _25("generate_wdr_report"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "get_bit", 2, - AddBuiltinFunc(_0(723), _1("get_bit"), _2(2), _3(true), _4(false), _5(byteaGetBit), _6(23), _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(2, 17, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteaGetBit"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3032), _1("get_bit"), _2(2), _3(true), _4(false), _5(bitgetbit), _6(23), _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(2, 1560, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bitgetbit"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(723), _1("get_bit"), _2(2), _3(true), _4(false), _5(byteaGetBit), _6(23), _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(2, 17, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteaGetBit"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3032), _1("get_bit"), _2(2), _3(true), _4(false), _5(bitgetbit), _6(23), _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(2, 1560, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bitgetbit"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "get_byte", 1, - AddBuiltinFunc(_0(721), _1("get_byte"), _2(2), _3(true), _4(false), _5(byteaGetByte), _6(23), _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(2, 17, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteaGetByte"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(721), _1("get_byte"), _2(2), _3(true), _4(false), _5(byteaGetByte), _6(23), _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(2, 17, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteaGetByte"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "get_current_ts_config", 1, - AddBuiltinFunc(_0(3759), _1("get_current_ts_config"), _2(0), _3(true), _4(false), _5(get_current_ts_config), _6(3734), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("get_current_ts_config"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3759), _1("get_current_ts_config"), _2(0), _3(true), _4(false), _5(get_current_ts_config), _6(3734), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("get_current_ts_config"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "get_db_source_datasize", 1, - AddBuiltinFunc(_0(4208), _1("get_db_source_datasize"), _2(0), _3(true), _4(false), _5(get_db_source_datasize), _6(20), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("get_db_source_datasize"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4208), _1("get_db_source_datasize"), _2(0), _3(true), _4(false), _5(get_db_source_datasize), _6(20), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("get_db_source_datasize"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "get_gtm_lite_status", 1, - AddBuiltinFunc(_0(5999), _1("get_gtm_lite_status"), _2(0), _3(true), _4(true), _5(get_gtm_lite_status), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(0), _21(2, 28, 28), _22(2, 'o', 'o'), _23(2, "backup_xid", "csn"), _24(NULL), _25("get_gtm_lite_status"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5999), _1("get_gtm_lite_status"), _2(0), _3(true), _4(true), _5(get_gtm_lite_status), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(0), _21(2, 28, 28), _22(2, 'o', 'o'), _23(2, "backup_xid", "csn"), _24(NULL), _25("get_gtm_lite_status"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "get_hostname", 1, - AddBuiltinFunc(_0(3977), _1("get_hostname"), _2(0), _3(true), _4(false), _5(get_hostname), _6(25), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("get_hostname"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3977), _1("get_hostname"), _2(0), _3(true), _4(false), _5(get_hostname), _6(25), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("get_hostname"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "get_instr_rt_percentile", 1, - AddBuiltinFunc(_0(5712), _1("get_instr_rt_percentile"), _2(1), _3(false), _4(true), _5(get_instr_rt_percentile), _6(2249), _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(0), _20(1, 23), _21(2, 20, 20), _22(2, 'o', 'o'), _23(2, "P80", "P95"), _24(NULL), _25("get_instr_rt_percentile"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5712), _1("get_instr_rt_percentile"), _2(1), _3(false), _4(true), _5(get_instr_rt_percentile), _6(2249), _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(0), _20(1, 23), _21(2, 20, 20), _22(2, 'o', 'o'), _23(2, "P80", "P95"), _24(NULL), _25("get_instr_rt_percentile"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "get_instr_unique_sql", 1, - AddBuiltinFunc(_0(5702), _1("get_instr_unique_sql"), _2(0), _3(false), _4(true), _5(get_instr_unique_sql), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(44, 19, 23, 19, 26, 20, 25, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 25, 25, 25, 25, 1184, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20), _22(44, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o','o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(44, "node_name", "node_id", "user_name", "user_id", "unique_sql_id", "query", "n_calls", "min_elapse_time", "max_elapse_time", "total_elapse_time", "n_returned_rows", "n_tuples_fetched", "n_tuples_returned", "n_tuples_inserted", "n_tuples_updated", "n_tuples_deleted", "n_blocks_fetched", "n_blocks_hit", "n_soft_parse", "n_hard_parse", "db_time", "cpu_time", "execution_time", "parse_time", "plan_time", "rewrite_time", "pl_execution_time", "pl_compilation_time", "data_io_time", "net_send_info", "net_recv_info", "net_stream_send_info", "net_stream_recv_info", "last_updated", "sort_count", "sort_time", "sort_mem_used", "sort_spill_count", "sort_spill_size", "hash_count", "hash_time", "hash_mem_used", "hash_spill_count", "hash_spill_size"), _24(NULL), _25("get_instr_unique_sql"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5702), _1("get_instr_unique_sql"), _2(0), _3(false), _4(true), _5(get_instr_unique_sql), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(44, 19, 23, 19, 26, 20, 25, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 25, 25, 25, 25, 1184, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20), _22(44, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o','o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(44, "node_name", "node_id", "user_name", "user_id", "unique_sql_id", "query", "n_calls", "min_elapse_time", "max_elapse_time", "total_elapse_time", "n_returned_rows", "n_tuples_fetched", "n_tuples_returned", "n_tuples_inserted", "n_tuples_updated", "n_tuples_deleted", "n_blocks_fetched", "n_blocks_hit", "n_soft_parse", "n_hard_parse", "db_time", "cpu_time", "execution_time", "parse_time", "plan_time", "rewrite_time", "pl_execution_time", "pl_compilation_time", "data_io_time", "net_send_info", "net_recv_info", "net_stream_send_info", "net_stream_recv_info", "last_updated", "sort_count", "sort_time", "sort_mem_used", "sort_spill_count", "sort_spill_size", "hash_count", "hash_time", "hash_mem_used", "hash_spill_count", "hash_spill_size"), _24(NULL), _25("get_instr_unique_sql"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "get_instr_user_login", 1, - AddBuiltinFunc(_0(5706), _1("get_instr_user_login"), _2(0), _3(false), _4(true), _5(get_instr_user_login), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(5, 25, 25, 23, 20, 20), _22(5, 'o', 'o', 'o', 'o', 'o'), _23(5, "node_name", "user_name", "user_id", "login_counter", "logout_counter"), _24(NULL), _25("get_instr_user_login"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5706), _1("get_instr_user_login"), _2(0), _3(false), _4(true), _5(get_instr_user_login), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(5, 25, 25, 23, 20, 20), _22(5, 'o', 'o', 'o', 'o', 'o'), _23(5, "node_name", "user_name", "user_id", "login_counter", "logout_counter"), _24(NULL), _25("get_instr_user_login"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "get_instr_wait_event", 1, - AddBuiltinFunc(_0(5705), _1("get_instr_wait_event"), _2(1), _3(false), _4(true), _5(get_instr_wait_event), _6(2249), _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(0), _20(1, 23), _21(11, 23, 25, 25, 25, 20, 20, 20, 20, 20, 20, 1184), _22(11, 'i', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(11, "param", "nodename", "type", "event", "wait", "failed_wait", "total_wait_time", "avg_wait_time", "max_wait_time", "min_wait_time", "last_updated"), _24(NULL), _25("get_instr_wait_event"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5705), _1("get_instr_wait_event"), _2(1), _3(false), _4(true), _5(get_instr_wait_event), _6(2249), _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(0), _20(1, 23), _21(11, 23, 25, 25, 25, 20, 20, 20, 20, 20, 20, 1184), _22(11, 'i', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(11, "param", "nodename", "type", "event", "wait", "failed_wait", "total_wait_time", "avg_wait_time", "max_wait_time", "min_wait_time", "last_updated"), _24(NULL), _25("get_instr_wait_event"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "get_instr_workload_info", 1, - AddBuiltinFunc(_0(5000), _1("get_instr_workload_info"), _2(1), _3(false), _4(true), _5(get_instr_workload_info), _6(2249), _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(0), _20(1, 23), _21(13, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20), _22(13, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(13, "user_oid", "commit_counter", "rollback_counter", "resp_min", "resp_max", "resp_avg", "resp_total", "bg_commit_counter", "bg_rollback_counter", "bg_resp_min", "bg_resp_max", "bg_resp_avg", "bg_resp_total"), _24(NULL), _25("get_instr_workload_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5000), _1("get_instr_workload_info"), _2(1), _3(false), _4(true), _5(get_instr_workload_info), _6(2249), _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(0), _20(1, 23), _21(13, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20), _22(13, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(13, "user_oid", "commit_counter", "rollback_counter", "resp_min", "resp_max", "resp_avg", "resp_total", "bg_commit_counter", "bg_rollback_counter", "bg_resp_min", "bg_resp_max", "bg_resp_avg", "bg_resp_total"), _24(NULL), _25("get_instr_workload_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "get_local_active_session", 1, - AddBuiltinFunc(_0(5721), _1("get_local_active_session"), _2(1), _3(false), _4(true), _5(get_local_active_session), _6(2249), _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(0), _20(0), _21(26, 20, 1184, 16, 26, 20, 20, 1184, 25, 23, 20, 23, 23, 26, 25, 869, 25, 23, 20, 20, 26, 23, 25, 25, 25, 20, 25), _22(26, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(26, "sampleid", "sample_time", "need_flush_sample", "databaseid", "thread_id", "sessionid", "start_time", "event", "lwtid", "psessionid", "tlevel", "smpid", "userid", "application_name", "client_addr", "client_hostname", "client_port", "query_id", "unique_query_id", "user_id", "cn_id", "unique_query", "locktag", "lockmode", "block_sessionid", "wait_status"), _24(NULL), _25("get_local_active_session"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5721), _1("get_local_active_session"), _2(1), _3(false), _4(true), _5(get_local_active_session), _6(2249), _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(0), _20(0), _21(26, 20, 1184, 16, 26, 20, 20, 1184, 25, 23, 20, 23, 23, 26, 25, 869, 25, 23, 20, 20, 26, 23, 25, 25, 25, 20, 25), _22(26, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(26, "sampleid", "sample_time", "need_flush_sample", "databaseid", "thread_id", "sessionid", "start_time", "event", "lwtid", "psessionid", "tlevel", "smpid", "userid", "application_name", "client_addr", "client_hostname", "client_port", "query_id", "unique_query_id", "user_id", "cn_id", "unique_query", "locktag", "lockmode", "block_sessionid", "wait_status"), _24(NULL), _25("get_local_active_session"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "get_local_prepared_xact", 1, - AddBuiltinFunc(_0(3332), _1("get_local_prepared_xact"), _2(0), _3(false), _4(true), _5(get_local_prepared_xact), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(6, 28, 25, 1184, 26, 26, 25), _22(6, 'o', 'o', 'o', 'o', 'o', 'o'), _23(6, "transaction", "gid", "prepared", "ownerid", "dbid", "node_name"), _24(NULL), _25("get_local_prepared_xact"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(3332), _1("get_local_prepared_xact"), _2(0), _3(false), _4(true), _5(get_local_prepared_xact), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(6, 28, 25, 1184, 26, 26, 25), _22(6, 'o', 'o', 'o', 'o', 'o', 'o'), _23(6, "transaction", "gid", "prepared", "ownerid", "dbid", "node_name"), _24(NULL), _25("get_local_prepared_xact"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "get_local_rel_iostat", 1, - AddBuiltinFunc(_0(5708), _1("get_local_rel_iostat"), _2(0), _3(false), _4(true), _5(get_local_rel_iostat), _6(2249), _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(0), _20(0), _21(4, 20, 20, 20, 20), _22(4, 'o', 'o', 'o', 'o'), _23(4, "phyrds", "phywrts", "phyblkrd", "phyblkwrt"), _24(NULL), _25("get_local_rel_iostat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5708), _1("get_local_rel_iostat"), _2(0), _3(false), _4(true), _5(get_local_rel_iostat), _6(2249), _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(0), _20(0), _21(4, 20, 20, 20, 20), _22(4, 'o', 'o', 'o', 'o'), _23(4, "phyrds", "phywrts", "phyblkrd", "phyblkwrt"), _24(NULL), _25("get_local_rel_iostat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "get_node_stat_reset_time", 1, - AddBuiltinFunc(_0(5720), _1("get_node_stat_reset_time"), _2(0), _3(true), _4(false), _5(get_node_stat_reset_time), _6(1184), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("get_node_stat_reset_time"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5720), _1("get_node_stat_reset_time"), _2(0), _3(true), _4(false), _5(get_node_stat_reset_time), _6(1184), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("get_node_stat_reset_time"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "get_nodename", 1, - AddBuiltinFunc(_0(5015), _1("get_nodename"), _2(0), _3(true), _4(false), _5(pg_get_nodename), _6(25), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_get_nodename"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5015), _1("get_nodename"), _2(0), _3(true), _4(false), _5(pg_get_nodename), _6(25), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_get_nodename"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "get_prepared_pending_xid", 1, - AddBuiltinFunc(_0(3199), _1("get_prepared_pending_xid"), _2(0), _3(true), _4(false), _5(get_prepared_pending_xid), _6(25), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("get_prepared_pending_xid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3199), _1("get_prepared_pending_xid"), _2(0), _3(true), _4(false), _5(get_prepared_pending_xid), _6(25), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("get_prepared_pending_xid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "get_remote_prepared_xacts", 1, - AddBuiltinFunc(_0(3333), _1("get_remote_prepared_xacts"), _2(0), _3(false), _4(true), _5(get_remote_prepared_xacts), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(6, 28, 25, 1184, 19, 19, 25), _22(6, 'o', 'o', 'o', 'o', 'o', 'o'), _23(6, "transaction", "gid", "prepared", "owner", "database", "node_name"), _24(NULL), _25("get_remote_prepared_xacts"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(3333), _1("get_remote_prepared_xacts"), _2(0), _3(false), _4(true), _5(get_remote_prepared_xacts), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(6, 28, 25, 1184, 19, 19, 25), _22(6, 'o', 'o', 'o', 'o', 'o', 'o'), _23(6, "transaction", "gid", "prepared", "owner", "database", "node_name"), _24(NULL), _25("get_remote_prepared_xacts"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "get_schema_oid", 1, - AddBuiltinFunc(_0(3953), _1("get_schema_oid"), _2(1), _3(true), _4(false), _5(get_schema_oid), _6(26), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("get_schema_oid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3953), _1("get_schema_oid"), _2(1), _3(true), _4(false), _5(get_schema_oid), _6(26), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("get_schema_oid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "get_wait_event_info", 1, - AddBuiltinFunc(_0(5723), _1("get_wait_event_info"), _2(1), _3(false), _4(true), _5(get_wait_event_info), _6(2249), _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(0), _20(0), _21(3, 25, 25, 25), _22(3, 'o', 'o', 'o'), _23(3, "module", "type", "event"), _24(NULL), _25("get_wait_event_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5723), _1("get_wait_event_info"), _2(1), _3(false), _4(true), _5(get_wait_event_info), _6(2249), _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(0), _20(0), _21(3, 25, 25, 25), _22(3, 'o', 'o', 'o'), _23(3, "module", "type", "event"), _24(NULL), _25("get_wait_event_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "getbucket", 31, - AddBuiltinFunc(_0(4046), _1("getbucket"), _2(2), _3(true), _4(false), _5(getbucket), _6(23), _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(2, 2249, 18), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("getbucket"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(4100), _1("getbucket"), _2(2), _3(true), _4(false), _5(bucketint4), _6(23), _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(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketint4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(4102), _1("getbucket"), _2(2), _3(true), _4(false), _5(bucketint2), _6(23), _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(2, 21, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketint2"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(4104), _1("getbucket"), _2(2), _3(true), _4(false), _5(bucketint8), _6(23), _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(2, 20, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketint8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(4106), _1("getbucket"), _2(2), _3(true), _4(false), _5(bucketbpchar), _6(23), _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(2, 1042, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketbpchar"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(4108), _1("getbucket"), _2(2), _3(true), _4(false), _5(bucketchar), _6(23), _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(2, 18, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketchar"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(4110), _1("getbucket"), _2(2), _3(true), _4(false), _5(bucketvarchar), _6(23), _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(2, 1043, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketvarchar"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(4112), _1("getbucket"), _2(2), _3(true), _4(false), _5(bucketdate), _6(23), _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(2, 1082, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketdate"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(4114), _1("getbucket"), _2(2), _3(true), _4(false), _5(buckettime), _6(23), _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(2, 1083, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("buckettime"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(4116), _1("getbucket"), _2(2), _3(true), _4(false), _5(buckettimestamp), _6(23), _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(2, 1114, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("buckettimestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(4118), _1("getbucket"), _2(2), _3(true), _4(false), _5(buckettimetz), _6(23), _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(2, 1266, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("buckettimetz"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(4120), _1("getbucket"), _2(2), _3(true), _4(false), _5(bucketinterval), _6(23), _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(2, 1186, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketinterval"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(4122), _1("getbucket"), _2(2), _3(true), _4(false), _5(buckettimestamptz), _6(23), _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(2, 1184, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("buckettimestamptz"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(4124), _1("getbucket"), _2(2), _3(true), _4(false), _5(bucketint1), _6(23), _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(2, 5545, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketint1"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(4126), _1("getbucket"), _2(2), _3(true), _4(false), _5(bucketsmalldatetime), _6(23), _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(2, 9003, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketsmalldatetime"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(4128), _1("getbucket"), _2(2), _3(true), _4(false), _5(bucketnvarchar2), _6(23), _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(2, 3969, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketnvarchar2"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(4131), _1("getbucket"), _2(2), _3(true), _4(false), _5(bucketnumeric), _6(23), _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(2, 1700, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketnumeric"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(4133), _1("getbucket"), _2(2), _3(true), _4(false), _5(bucketoid), _6(23), _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(2, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketoid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(4135), _1("getbucket"), _2(2), _3(true), _4(false), _5(bucketabstime), _6(23), _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(2, 702, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketabstime"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(4137), _1("getbucket"), _2(2), _3(true), _4(false), _5(bucketreltime), _6(23), _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(2, 703, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketreltime"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(4139), _1("getbucket"), _2(2), _3(true), _4(false), _5(bucketcash), _6(23), _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(2, 790, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketcash"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(4141), _1("getbucket"), _2(2), _3(true), _4(false), _5(bucketbytea), _6(23), _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(2, 17, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketbytea"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(4143), _1("getbucket"), _2(2), _3(true), _4(false), _5(bucketraw), _6(23), _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(2, 86, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketraw"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(4145), _1("getbucket"), _2(2), _3(true), _4(false), _5(bucketbool), _6(23), _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(2, 16, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketbool"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(4147), _1("getbucket"), _2(2), _3(true), _4(false), _5(bucketname), _6(23), _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(2, 19, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketname"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(4149), _1("getbucket"), _2(2), _3(true), _4(false), _5(bucketint2vector), _6(23), _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(2, 22, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketint2vector"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(4151), _1("getbucket"), _2(2), _3(true), _4(false), _5(buckettext), _6(23), _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(2, 25, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("buckettext"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(4153), _1("getbucket"), _2(2), _3(true), _4(false), _5(bucketoidvector), _6(23), _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(2, 30, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketoidvector"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(4155), _1("getbucket"), _2(2), _3(true), _4(false), _5(bucketfloat4), _6(23), _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(2, 700, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketfloat4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(4157), _1("getbucket"), _2(2), _3(true), _4(false), _5(bucketfloat8), _6(23), _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(2, 701, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketfloat8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(6000), _1("getbucket"), _2(2), _3(true), _4(false), _5(bucketuuid), _6(23), _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(2, 2950, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketuuid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4046), _1("getbucket"), _2(2), _3(true), _4(false), _5(getbucket), _6(23), _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(2, 2249, 18), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("getbucket"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(4100), _1("getbucket"), _2(2), _3(true), _4(false), _5(bucketint4), _6(23), _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(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketint4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(4102), _1("getbucket"), _2(2), _3(true), _4(false), _5(bucketint2), _6(23), _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(2, 21, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketint2"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(4104), _1("getbucket"), _2(2), _3(true), _4(false), _5(bucketint8), _6(23), _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(2, 20, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketint8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(4106), _1("getbucket"), _2(2), _3(true), _4(false), _5(bucketbpchar), _6(23), _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(2, 1042, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketbpchar"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(4108), _1("getbucket"), _2(2), _3(true), _4(false), _5(bucketchar), _6(23), _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(2, 18, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketchar"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(4110), _1("getbucket"), _2(2), _3(true), _4(false), _5(bucketvarchar), _6(23), _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(2, 1043, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketvarchar"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(4112), _1("getbucket"), _2(2), _3(true), _4(false), _5(bucketdate), _6(23), _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(2, 1082, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketdate"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(4114), _1("getbucket"), _2(2), _3(true), _4(false), _5(buckettime), _6(23), _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(2, 1083, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("buckettime"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(4116), _1("getbucket"), _2(2), _3(true), _4(false), _5(buckettimestamp), _6(23), _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(2, 1114, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("buckettimestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(4118), _1("getbucket"), _2(2), _3(true), _4(false), _5(buckettimetz), _6(23), _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(2, 1266, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("buckettimetz"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(4120), _1("getbucket"), _2(2), _3(true), _4(false), _5(bucketinterval), _6(23), _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(2, 1186, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketinterval"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(4122), _1("getbucket"), _2(2), _3(true), _4(false), _5(buckettimestamptz), _6(23), _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(2, 1184, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("buckettimestamptz"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(4124), _1("getbucket"), _2(2), _3(true), _4(false), _5(bucketint1), _6(23), _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(2, 5545, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketint1"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(4126), _1("getbucket"), _2(2), _3(true), _4(false), _5(bucketsmalldatetime), _6(23), _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(2, 9003, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketsmalldatetime"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(4128), _1("getbucket"), _2(2), _3(true), _4(false), _5(bucketnvarchar2), _6(23), _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(2, 3969, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketnvarchar2"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(4131), _1("getbucket"), _2(2), _3(true), _4(false), _5(bucketnumeric), _6(23), _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(2, 1700, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketnumeric"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(4133), _1("getbucket"), _2(2), _3(true), _4(false), _5(bucketoid), _6(23), _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(2, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketoid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(4135), _1("getbucket"), _2(2), _3(true), _4(false), _5(bucketabstime), _6(23), _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(2, 702, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketabstime"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(4137), _1("getbucket"), _2(2), _3(true), _4(false), _5(bucketreltime), _6(23), _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(2, 703, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketreltime"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(4139), _1("getbucket"), _2(2), _3(true), _4(false), _5(bucketcash), _6(23), _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(2, 790, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketcash"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(4141), _1("getbucket"), _2(2), _3(true), _4(false), _5(bucketbytea), _6(23), _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(2, 17, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketbytea"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(4143), _1("getbucket"), _2(2), _3(true), _4(false), _5(bucketraw), _6(23), _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(2, 86, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketraw"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(4145), _1("getbucket"), _2(2), _3(true), _4(false), _5(bucketbool), _6(23), _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(2, 16, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketbool"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(4147), _1("getbucket"), _2(2), _3(true), _4(false), _5(bucketname), _6(23), _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(2, 19, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketname"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(4149), _1("getbucket"), _2(2), _3(true), _4(false), _5(bucketint2vector), _6(23), _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(2, 22, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketint2vector"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(4151), _1("getbucket"), _2(2), _3(true), _4(false), _5(buckettext), _6(23), _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(2, 25, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("buckettext"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(4153), _1("getbucket"), _2(2), _3(true), _4(false), _5(bucketoidvector), _6(23), _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(2, 30, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketoidvector"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(4155), _1("getbucket"), _2(2), _3(true), _4(false), _5(bucketfloat4), _6(23), _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(2, 700, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketfloat4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(4157), _1("getbucket"), _2(2), _3(true), _4(false), _5(bucketfloat8), _6(23), _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(2, 701, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketfloat8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(6000), _1("getbucket"), _2(2), _3(true), _4(false), _5(bucketuuid), _6(23), _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(2, 2950, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bucketuuid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "getdatabaseencoding", 1, - AddBuiltinFunc(_0(1039), _1("getdatabaseencoding"), _2(0), _3(true), _4(false), _5(getdatabaseencoding), _6(19), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("getdatabaseencoding"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1039), _1("getdatabaseencoding"), _2(0), _3(true), _4(false), _5(getdatabaseencoding), _6(19), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("getdatabaseencoding"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "getdistributekey", 1, - AddBuiltinFunc(_0(4047), _1("getdistributekey"), _2(1), _3(true), _4(false), _5(getDistributeKey), _6(25), _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(1, 2205), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("getDistributeKey"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4047), _1("getdistributekey"), _2(1), _3(true), _4(false), _5(getDistributeKey), _6(25), _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(1, 2205), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("getDistributeKey"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "getpgusername", 1, - AddBuiltinFunc(_0(GETPGUSERNAMEFUNCOID), _1("getpgusername"), _2(0), _3(true), _4(false), _5(current_user), _6(19), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("current_user"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(GETPGUSERNAMEFUNCOID), _1("getpgusername"), _2(0), _3(true), _4(false), _5(current_user), _6(19), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("current_user"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gin_clean_pending_list", 1, - AddBuiltinFunc(_0(3989), _1("gin_clean_pending_list"), _2(1), _3(true), _4(false), _5(gin_clean_pending_list), _6(20), _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('v'), _19(0), _20(1, 2205), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gin_clean_pending_list"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3989), _1("gin_clean_pending_list"), _2(1), _3(true), _4(false), _5(gin_clean_pending_list), _6(20), _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('v'), _19(0), _20(1, 2205), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gin_clean_pending_list"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gin_cmp_prefix", 1, - AddBuiltinFunc(_0(2700), _1("gin_cmp_prefix"), _2(4), _3(true), _4(false), _5(gin_cmp_prefix), _6(23), _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(4, 25, 25, 21, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gin_cmp_prefix"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2700), _1("gin_cmp_prefix"), _2(4), _3(true), _4(false), _5(gin_cmp_prefix), _6(23), _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(4, 25, 25, 21, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gin_cmp_prefix"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gin_cmp_tslexeme", 1, - AddBuiltinFunc(_0(3724), _1("gin_cmp_tslexeme"), _2(2), _3(true), _4(false), _5(gin_cmp_tslexeme), _6(23), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gin_cmp_tslexeme"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3724), _1("gin_cmp_tslexeme"), _2(2), _3(true), _4(false), _5(gin_cmp_tslexeme), _6(23), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gin_cmp_tslexeme"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gin_extract_tsquery", 2, - AddBuiltinFunc(_0(3087), _1("gin_extract_tsquery"), _2(5), _3(true), _4(false), _5(gin_extract_tsquery_5args), _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(5, 3615, 2281, 21, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gin_extract_tsquery_5args"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3657), _1("gin_extract_tsquery"), _2(7), _3(true), _4(false), _5(gin_extract_tsquery), _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, 3615, 2281, 21, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gin_extract_tsquery"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3087), _1("gin_extract_tsquery"), _2(5), _3(true), _4(false), _5(gin_extract_tsquery_5args), _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(5, 3615, 2281, 21, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gin_extract_tsquery_5args"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3657), _1("gin_extract_tsquery"), _2(7), _3(true), _4(false), _5(gin_extract_tsquery), _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, 3615, 2281, 21, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gin_extract_tsquery"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gin_extract_tsvector", 2, - AddBuiltinFunc(_0(3077), _1("gin_extract_tsvector"), _2(2), _3(true), _4(false), _5(gin_extract_tsvector_2args), _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(2, 3614, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gin_extract_tsvector_2args"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3656), _1("gin_extract_tsvector"), _2(3), _3(true), _4(false), _5(gin_extract_tsvector), _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(3, 3614, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gin_extract_tsvector"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3077), _1("gin_extract_tsvector"), _2(2), _3(true), _4(false), _5(gin_extract_tsvector_2args), _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(2, 3614, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gin_extract_tsvector_2args"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3656), _1("gin_extract_tsvector"), _2(3), _3(true), _4(false), _5(gin_extract_tsvector), _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(3, 3614, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gin_extract_tsvector"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gin_tsquery_consistent", 2, - AddBuiltinFunc(_0(3088), _1("gin_tsquery_consistent"), _2(6), _3(true), _4(false), _5(gin_tsquery_consistent_6args), _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(6, 2281, 21, 3615, 23, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gin_tsquery_consistent_6args"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3658), _1("gin_tsquery_consistent"), _2(8), _3(true), _4(false), _5(gin_tsquery_consistent), _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(8, 2281, 21, 3615, 23, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gin_tsquery_consistent"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3088), _1("gin_tsquery_consistent"), _2(6), _3(true), _4(false), _5(gin_tsquery_consistent_6args), _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(6, 2281, 21, 3615, 23, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gin_tsquery_consistent_6args"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3658), _1("gin_tsquery_consistent"), _2(8), _3(true), _4(false), _5(gin_tsquery_consistent), _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(8, 2281, 21, 3615, 23, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gin_tsquery_consistent"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gin_tsquery_triconsistent", 1, - AddBuiltinFunc(_0(3921), _1("gin_tsquery_triconsistent"), _2(7), _3(true), _4(false), _5(gin_tsquery_triconsistent), _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, 3615, 23, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gin_tsquery_triconsistent"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3921), _1("gin_tsquery_triconsistent"), _2(7), _3(true), _4(false), _5(gin_tsquery_triconsistent), _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, 3615, 23, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gin_tsquery_triconsistent"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "ginarrayconsistent", 1, - AddBuiltinFunc(_0(2744), _1("ginarrayconsistent"), _2(8), _3(true), _4(false), _5(ginarrayconsistent), _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(8, 2281, 21, 2277, 23, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ginarrayconsistent"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2744), _1("ginarrayconsistent"), _2(8), _3(true), _4(false), _5(ginarrayconsistent), _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(8, 2281, 21, 2277, 23, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ginarrayconsistent"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "ginarrayextract", 2, - AddBuiltinFunc(_0(2743), _1("ginarrayextract"), _2(3), _3(true), _4(false), _5(ginarrayextract), _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(3, 2277, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ginarrayextract"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3076), _1("ginarrayextract"), _2(2), _3(true), _4(false), _5(ginarrayextract_2args), _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(2, 2277, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ginarrayextract_2args"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2743), _1("ginarrayextract"), _2(3), _3(true), _4(false), _5(ginarrayextract), _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(3, 2277, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ginarrayextract"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3076), _1("ginarrayextract"), _2(2), _3(true), _4(false), _5(ginarrayextract_2args), _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(2, 2277, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ginarrayextract_2args"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "ginarraytriconsistent", 1, - AddBuiltinFunc(_0(3920), _1("ginarraytriconsistent"), _2(7), _3(true), _4(false), _5(ginarraytriconsistent), _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("ginarraytriconsistent"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3920), _1("ginarraytriconsistent"), _2(7), _3(true), _4(false), _5(ginarraytriconsistent), _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("ginarraytriconsistent"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "ginbeginscan", 1, - AddBuiltinFunc(_0(2733), _1("ginbeginscan"), _2(3), _3(true), _4(false), _5(ginbeginscan), _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('v'), _19(0), _20(3, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ginbeginscan"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2733), _1("ginbeginscan"), _2(3), _3(true), _4(false), _5(ginbeginscan), _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('v'), _19(0), _20(3, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ginbeginscan"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "ginbuild", 1, - AddBuiltinFunc(_0(2738), _1("ginbuild"), _2(3), _3(true), _4(false), _5(ginbuild), _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('v'), _19(0), _20(3, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ginbuild"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2738), _1("ginbuild"), _2(3), _3(true), _4(false), _5(ginbuild), _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('v'), _19(0), _20(3, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ginbuild"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "ginbuildempty", 1, - AddBuiltinFunc(_0(325), _1("ginbuildempty"), _2(1), _3(true), _4(false), _5(ginbuildempty), _6(2278), _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('v'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ginbuildempty"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(325), _1("ginbuildempty"), _2(1), _3(true), _4(false), _5(ginbuildempty), _6(2278), _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('v'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ginbuildempty"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "ginbulkdelete", 1, - AddBuiltinFunc(_0(2739), _1("ginbulkdelete"), _2(4), _3(true), _4(false), _5(ginbulkdelete), _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('v'), _19(0), _20(4, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ginbulkdelete"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2739), _1("ginbulkdelete"), _2(4), _3(true), _4(false), _5(ginbulkdelete), _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('v'), _19(0), _20(4, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ginbulkdelete"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gincostestimate", 1, - AddBuiltinFunc(_0(2741), _1("gincostestimate"), _2(7), _3(true), _4(false), _5(gincostestimate), _6(2278), _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('v'), _19(0), _20(7, 2281, 2281, 2281, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gincostestimate"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2741), _1("gincostestimate"), _2(7), _3(true), _4(false), _5(gincostestimate), _6(2278), _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('v'), _19(0), _20(7, 2281, 2281, 2281, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gincostestimate"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "ginendscan", 1, - AddBuiltinFunc(_0(2735), _1("ginendscan"), _2(1), _3(true), _4(false), _5(ginendscan), _6(2278), _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('v'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ginendscan"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2735), _1("ginendscan"), _2(1), _3(true), _4(false), _5(ginendscan), _6(2278), _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('v'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ginendscan"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gingetbitmap", 1, - AddBuiltinFunc(_0(2731), _1("gingetbitmap"), _2(2), _3(true), _4(false), _5(gingetbitmap), _6(20), _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('v'), _19(0), _20(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gingetbitmap"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2731), _1("gingetbitmap"), _2(2), _3(true), _4(false), _5(gingetbitmap), _6(20), _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('v'), _19(0), _20(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gingetbitmap"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gininsert", 1, - AddBuiltinFunc(_0(2732), _1("gininsert"), _2(6), _3(true), _4(false), _5(gininsert), _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('v'), _19(0), _20(6, 2281, 2281, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gininsert"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2732), _1("gininsert"), _2(6), _3(true), _4(false), _5(gininsert), _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('v'), _19(0), _20(6, 2281, 2281, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gininsert"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "ginmarkpos", 1, - AddBuiltinFunc(_0(2736), _1("ginmarkpos"), _2(1), _3(true), _4(false), _5(ginmarkpos), _6(2278), _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('v'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ginmarkpos"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2736), _1("ginmarkpos"), _2(1), _3(true), _4(false), _5(ginmarkpos), _6(2278), _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('v'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ginmarkpos"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "ginmerge", 1, - AddBuiltinFunc(_0(3186), _1("ginmerge"), _2(5), _3(true), _4(false), _5(ginmerge), _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('v'), _19(0), _20(5, 2281, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ginmerge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3186), _1("ginmerge"), _2(5), _3(true), _4(false), _5(ginmerge), _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('v'), _19(0), _20(5, 2281, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ginmerge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "ginoptions", 1, - AddBuiltinFunc(_0(2788), _1("ginoptions"), _2(2), _3(true), _4(false), _5(ginoptions), _6(17), _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('s'), _19(0), _20(2, 1009, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ginoptions"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2788), _1("ginoptions"), _2(2), _3(true), _4(false), _5(ginoptions), _6(17), _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('s'), _19(0), _20(2, 1009, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ginoptions"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "ginqueryarrayextract", 1, - AddBuiltinFunc(_0(2774), _1("ginqueryarrayextract"), _2(7), _3(true), _4(false), _5(ginqueryarrayextract), _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("ginqueryarrayextract"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2774), _1("ginqueryarrayextract"), _2(7), _3(true), _4(false), _5(ginqueryarrayextract), _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("ginqueryarrayextract"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "ginrescan", 1, - AddBuiltinFunc(_0(2734), _1("ginrescan"), _2(5), _3(true), _4(false), _5(ginrescan), _6(2278), _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('v'), _19(0), _20(5, 2281, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ginrescan"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2734), _1("ginrescan"), _2(5), _3(true), _4(false), _5(ginrescan), _6(2278), _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('v'), _19(0), _20(5, 2281, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ginrescan"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "ginrestrpos", 1, - AddBuiltinFunc(_0(2737), _1("ginrestrpos"), _2(1), _3(true), _4(false), _5(ginrestrpos), _6(2278), _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('v'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ginrestrpos"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2737), _1("ginrestrpos"), _2(1), _3(true), _4(false), _5(ginrestrpos), _6(2278), _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('v'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ginrestrpos"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "ginvacuumcleanup", 1, - AddBuiltinFunc(_0(2740), _1("ginvacuumcleanup"), _2(2), _3(true), _4(false), _5(ginvacuumcleanup), _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('v'), _19(0), _20(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ginvacuumcleanup"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2740), _1("ginvacuumcleanup"), _2(2), _3(true), _4(false), _5(ginvacuumcleanup), _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('v'), _19(0), _20(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ginvacuumcleanup"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gist_box_compress", 1, - AddBuiltinFunc(_0(2579), _1("gist_box_compress"), _2(1), _3(true), _4(false), _5(gist_box_compress), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gist_box_compress"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2579), _1("gist_box_compress"), _2(1), _3(true), _4(false), _5(gist_box_compress), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gist_box_compress"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gist_box_consistent", 1, - AddBuiltinFunc(_0(2578), _1("gist_box_consistent"), _2(5), _3(true), _4(false), _5(gist_box_consistent), _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(5, 2281, 603, 23, 26, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gist_box_consistent"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2578), _1("gist_box_consistent"), _2(5), _3(true), _4(false), _5(gist_box_consistent), _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(5, 2281, 603, 23, 26, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gist_box_consistent"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gist_box_decompress", 1, - AddBuiltinFunc(_0(2580), _1("gist_box_decompress"), _2(1), _3(true), _4(false), _5(gist_box_decompress), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gist_box_decompress"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2580), _1("gist_box_decompress"), _2(1), _3(true), _4(false), _5(gist_box_decompress), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gist_box_decompress"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gist_box_penalty", 1, - AddBuiltinFunc(_0(2581), _1("gist_box_penalty"), _2(3), _3(true), _4(false), _5(gist_box_penalty), _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(3, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gist_box_penalty"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2581), _1("gist_box_penalty"), _2(3), _3(true), _4(false), _5(gist_box_penalty), _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(3, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gist_box_penalty"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gist_box_picksplit", 1, - AddBuiltinFunc(_0(2582), _1("gist_box_picksplit"), _2(2), _3(true), _4(false), _5(gist_box_picksplit), _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(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gist_box_picksplit"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2582), _1("gist_box_picksplit"), _2(2), _3(true), _4(false), _5(gist_box_picksplit), _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(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gist_box_picksplit"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gist_box_same", 1, - AddBuiltinFunc(_0(2584), _1("gist_box_same"), _2(3), _3(true), _4(false), _5(gist_box_same), _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(3, 603, 603, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gist_box_same"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2584), _1("gist_box_same"), _2(3), _3(true), _4(false), _5(gist_box_same), _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(3, 603, 603, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gist_box_same"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gist_box_union", 1, - AddBuiltinFunc(_0(2583), _1("gist_box_union"), _2(2), _3(true), _4(false), _5(gist_box_union), _6(603), _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(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gist_box_union"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2583), _1("gist_box_union"), _2(2), _3(true), _4(false), _5(gist_box_union), _6(603), _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(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gist_box_union"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gist_circle_compress", 1, - AddBuiltinFunc(_0(2592), _1("gist_circle_compress"), _2(1), _3(true), _4(false), _5(gist_circle_compress), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gist_circle_compress"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2592), _1("gist_circle_compress"), _2(1), _3(true), _4(false), _5(gist_circle_compress), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gist_circle_compress"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gist_circle_consistent", 1, - AddBuiltinFunc(_0(2591), _1("gist_circle_consistent"), _2(5), _3(true), _4(false), _5(gist_circle_consistent), _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(5, 2281, 718, 23, 26, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gist_circle_consistent"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2591), _1("gist_circle_consistent"), _2(5), _3(true), _4(false), _5(gist_circle_consistent), _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(5, 2281, 718, 23, 26, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gist_circle_consistent"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gist_point_compress", 1, - AddBuiltinFunc(_0(1030), _1("gist_point_compress"), _2(1), _3(true), _4(false), _5(gist_point_compress), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gist_point_compress"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1030), _1("gist_point_compress"), _2(1), _3(true), _4(false), _5(gist_point_compress), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gist_point_compress"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gist_point_consistent", 1, - AddBuiltinFunc(_0(2179), _1("gist_point_consistent"), _2(5), _3(true), _4(false), _5(gist_point_consistent), _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(5, 2281, 600, 23, 26, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gist_point_consistent"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2179), _1("gist_point_consistent"), _2(5), _3(true), _4(false), _5(gist_point_consistent), _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(5, 2281, 600, 23, 26, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gist_point_consistent"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gist_point_distance", 1, - AddBuiltinFunc(_0(3064), _1("gist_point_distance"), _2(4), _3(true), _4(false), _5(gist_point_distance), _6(701), _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(4, 2281, 600, 23, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gist_point_distance"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3064), _1("gist_point_distance"), _2(4), _3(true), _4(false), _5(gist_point_distance), _6(701), _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(4, 2281, 600, 23, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gist_point_distance"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gist_poly_compress", 1, - AddBuiltinFunc(_0(2586), _1("gist_poly_compress"), _2(1), _3(true), _4(false), _5(gist_poly_compress), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gist_poly_compress"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2586), _1("gist_poly_compress"), _2(1), _3(true), _4(false), _5(gist_poly_compress), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gist_poly_compress"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gist_poly_consistent", 1, - AddBuiltinFunc(_0(2585), _1("gist_poly_consistent"), _2(5), _3(true), _4(false), _5(gist_poly_consistent), _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(5, 2281, 604, 23, 26, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gist_poly_consistent"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2585), _1("gist_poly_consistent"), _2(5), _3(true), _4(false), _5(gist_poly_consistent), _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(5, 2281, 604, 23, 26, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gist_poly_consistent"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gistbeginscan", 1, - AddBuiltinFunc(_0(777), _1("gistbeginscan"), _2(3), _3(true), _4(false), _5(gistbeginscan), _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('v'), _19(0), _20(3, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gistbeginscan"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(777), _1("gistbeginscan"), _2(3), _3(true), _4(false), _5(gistbeginscan), _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('v'), _19(0), _20(3, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gistbeginscan"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gistbuild", 1, - AddBuiltinFunc(_0(782), _1("gistbuild"), _2(3), _3(true), _4(false), _5(gistbuild), _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('v'), _19(0), _20(3, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gistbuild"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(782), _1("gistbuild"), _2(3), _3(true), _4(false), _5(gistbuild), _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('v'), _19(0), _20(3, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gistbuild"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gistbuildempty", 1, - AddBuiltinFunc(_0(326), _1("gistbuildempty"), _2(1), _3(true), _4(false), _5(gistbuildempty), _6(2278), _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('v'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gistbuildempty"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(326), _1("gistbuildempty"), _2(1), _3(true), _4(false), _5(gistbuildempty), _6(2278), _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('v'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gistbuildempty"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gistbulkdelete", 1, - AddBuiltinFunc(_0(776), _1("gistbulkdelete"), _2(4), _3(true), _4(false), _5(gistbulkdelete), _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('v'), _19(0), _20(4, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gistbulkdelete"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(776), _1("gistbulkdelete"), _2(4), _3(true), _4(false), _5(gistbulkdelete), _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('v'), _19(0), _20(4, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gistbulkdelete"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gistcostestimate", 1, - AddBuiltinFunc(_0(772), _1("gistcostestimate"), _2(7), _3(true), _4(false), _5(gistcostestimate), _6(2278), _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('v'), _19(0), _20(7, 2281, 2281, 2281, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gistcostestimate"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(772), _1("gistcostestimate"), _2(7), _3(true), _4(false), _5(gistcostestimate), _6(2278), _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('v'), _19(0), _20(7, 2281, 2281, 2281, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gistcostestimate"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gistendscan", 1, - AddBuiltinFunc(_0(779), _1("gistendscan"), _2(1), _3(true), _4(false), _5(gistendscan), _6(2278), _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('v'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gistendscan"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(779), _1("gistendscan"), _2(1), _3(true), _4(false), _5(gistendscan), _6(2278), _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('v'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gistendscan"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gistgetbitmap", 1, - AddBuiltinFunc(_0(638), _1("gistgetbitmap"), _2(2), _3(true), _4(false), _5(gistgetbitmap), _6(20), _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('v'), _19(0), _20(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gistgetbitmap"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(638), _1("gistgetbitmap"), _2(2), _3(true), _4(false), _5(gistgetbitmap), _6(20), _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('v'), _19(0), _20(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gistgetbitmap"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gistgettuple", 1, - AddBuiltinFunc(_0(774), _1("gistgettuple"), _2(2), _3(true), _4(false), _5(gistgettuple), _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('v'), _19(0), _20(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gistgettuple"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(774), _1("gistgettuple"), _2(2), _3(true), _4(false), _5(gistgettuple), _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('v'), _19(0), _20(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gistgettuple"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gistinsert", 1, - AddBuiltinFunc(_0(775), _1("gistinsert"), _2(6), _3(true), _4(false), _5(gistinsert), _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('v'), _19(0), _20(6, 2281, 2281, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gistinsert"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(775), _1("gistinsert"), _2(6), _3(true), _4(false), _5(gistinsert), _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('v'), _19(0), _20(6, 2281, 2281, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gistinsert"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gistmarkpos", 1, - AddBuiltinFunc(_0(780), _1("gistmarkpos"), _2(1), _3(true), _4(false), _5(gistmarkpos), _6(2278), _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('v'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gistmarkpos"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(780), _1("gistmarkpos"), _2(1), _3(true), _4(false), _5(gistmarkpos), _6(2278), _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('v'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gistmarkpos"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gistmerge", 1, - AddBuiltinFunc(_0(3187), _1("gistmerge"), _2(5), _3(true), _4(false), _5(gistmerge), _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('v'), _19(0), _20(5, 2281, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gistmerge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3187), _1("gistmerge"), _2(5), _3(true), _4(false), _5(gistmerge), _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('v'), _19(0), _20(5, 2281, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gistmerge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gistoptions", 1, - AddBuiltinFunc(_0(2787), _1("gistoptions"), _2(2), _3(true), _4(false), _5(gistoptions), _6(17), _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('s'), _19(0), _20(2, 1009, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gistoptions"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2787), _1("gistoptions"), _2(2), _3(true), _4(false), _5(gistoptions), _6(17), _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('s'), _19(0), _20(2, 1009, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gistoptions"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gistrescan", 1, - AddBuiltinFunc(_0(778), _1("gistrescan"), _2(5), _3(true), _4(false), _5(gistrescan), _6(2278), _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('v'), _19(0), _20(5, 2281, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gistrescan"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(778), _1("gistrescan"), _2(5), _3(true), _4(false), _5(gistrescan), _6(2278), _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('v'), _19(0), _20(5, 2281, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gistrescan"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gistrestrpos", 1, - AddBuiltinFunc(_0(781), _1("gistrestrpos"), _2(1), _3(true), _4(false), _5(gistrestrpos), _6(2278), _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('v'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gistrestrpos"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(781), _1("gistrestrpos"), _2(1), _3(true), _4(false), _5(gistrestrpos), _6(2278), _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('v'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gistrestrpos"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gistvacuumcleanup", 1, - AddBuiltinFunc(_0(2561), _1("gistvacuumcleanup"), _2(2), _3(true), _4(false), _5(gistvacuumcleanup), _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('v'), _19(0), _20(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gistvacuumcleanup"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2561), _1("gistvacuumcleanup"), _2(2), _3(true), _4(false), _5(gistvacuumcleanup), _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('v'), _19(0), _20(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gistvacuumcleanup"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "global_clean_prepared_xacts", 1, - AddBuiltinFunc(_0(3334), _1("global_clean_prepared_xacts"), _2(2), _3(true), _4(false), _5(global_clean_prepared_xacts), _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('s'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("global_clean_prepared_xacts"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(3334), _1("global_clean_prepared_xacts"), _2(2), _3(true), _4(false), _5(global_clean_prepared_xacts), _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('s'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("global_clean_prepared_xacts"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "global_comm_get_client_info", 1, - AddBuiltinFunc(_0(1992), _1("global_comm_get_client_info"), _2(0), _3(true), _4(true), _5(global_comm_get_client_info), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(0), _21(9, 25, 25, 20, 23, 20, 23, 25, 25, 23), _22(9, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(9, "node_name", "app", "tid", "lwtid", "query_id", "socket", "remote_ip", "remote_port", "logic_id"), _24(NULL), _25("global_comm_get_client_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1992), _1("global_comm_get_client_info"), _2(0), _3(true), _4(true), _5(global_comm_get_client_info), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(0), _21(9, 25, 25, 20, 23, 20, 23, 25, 25, 23), _22(9, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(9, "node_name", "app", "tid", "lwtid", "query_id", "socket", "remote_ip", "remote_port", "logic_id"), _24(NULL), _25("global_comm_get_client_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "global_comm_get_recv_stream", 1, - AddBuiltinFunc(_0(1988), _1("global_comm_get_recv_stream"), _2(0), _3(true), _4(true), _5(global_comm_get_recv_stream), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(0), _21(17, 25, 20, 25, 20, 23, 23, 23, 25, 20, 23, 23, 23, 20, 20, 20, 20, 20), _22(17, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(17, "node_name", "local_tid", "remote_name", "remote_tid", "idx", "sid", "tcp_sock", "state", "query_id", "pn_id", "send_smp", "recv_smp", "recv_bytes", "time", "speed", "quota", "buff_usize"), _24(NULL), _25("global_comm_get_recv_stream"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1988), _1("global_comm_get_recv_stream"), _2(0), _3(true), _4(true), _5(global_comm_get_recv_stream), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(0), _21(17, 25, 20, 25, 20, 23, 23, 23, 25, 20, 23, 23, 23, 20, 20, 20, 20, 20), _22(17, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(17, "node_name", "local_tid", "remote_name", "remote_tid", "idx", "sid", "tcp_sock", "state", "query_id", "pn_id", "send_smp", "recv_smp", "recv_bytes", "time", "speed", "quota", "buff_usize"), _24(NULL), _25("global_comm_get_recv_stream"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "global_comm_get_send_stream", 1, - AddBuiltinFunc(_0(1989), _1("global_comm_get_send_stream"), _2(0), _3(true), _4(true), _5(global_comm_get_send_stream), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(0), _21(17, 25, 20, 25, 20, 23, 23, 23, 25, 20, 23, 23, 23, 20, 20, 20, 20, 20), _22(17, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(17, "node_name", "local_tid", "remote_name", "remote_tid", "idx", "sid", "tcp_sock", "state", "query_id", "pn_id", "send_smp", "recv_smp", "send_bytes", "time", "speed", "quota", "wait_quota"), _24(NULL), _25("global_comm_get_send_stream"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1989), _1("global_comm_get_send_stream"), _2(0), _3(true), _4(true), _5(global_comm_get_send_stream), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(0), _21(17, 25, 20, 25, 20, 23, 23, 23, 25, 20, 23, 23, 23, 20, 20, 20, 20, 20), _22(17, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(17, "node_name", "local_tid", "remote_name", "remote_tid", "idx", "sid", "tcp_sock", "state", "query_id", "pn_id", "send_smp", "recv_smp", "send_bytes", "time", "speed", "quota", "wait_quota"), _24(NULL), _25("global_comm_get_send_stream"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "global_comm_get_status", 1, - AddBuiltinFunc(_0(1990), _1("global_comm_get_status"), _2(0), _3(true), _4(true), _5(global_comm_get_status), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(0), _21(13, 25, 23, 23, 20, 20, 20, 20, 20, 23, 23, 23, 23, 23), _22(13, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(13, "node_name", "rxpck_rate", "txpck_rate", "rxkB_rate", "txkB_rate", "buffer", "memKB_libcomm", "memKB_libpq", "used_PM", "used_sflow", "used_rflow", "used_rloop", "stream"), _24(NULL), _25("global_comm_get_status"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1990), _1("global_comm_get_status"), _2(0), _3(true), _4(true), _5(global_comm_get_status), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(0), _21(13, 25, 23, 23, 20, 20, 20, 20, 20, 23, 23, 23, 23, 23), _22(13, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(13, "node_name", "rxpck_rate", "txpck_rate", "rxkb_rate", "txkb_rate", "buffer", "memkb_libcomm", "memkb_libpq", "used_pm", "used_sflow", "used_rflow", "used_rloop", "stream"), _24(NULL), _25("global_comm_get_status"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "global_stat_clean_hotkeys", 1, - AddBuiltinFunc(_0(3900), _1("global_stat_clean_hotkeys"), _2(0), _3(true), _4(true), _5(global_stat_clean_hotkeys), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("global_stat_clean_hotkeys"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3900), _1("global_stat_clean_hotkeys"), _2(0), _3(true), _4(true), _5(global_stat_clean_hotkeys), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("global_stat_clean_hotkeys"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "global_stat_get_hotkeys_info", 1, - AddBuiltinFunc(_0(3903), _1("global_stat_get_hotkeys_info"), _2(0), _3(true), _4(true), _5(global_stat_get_hotkeys_info), _6(2249), _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(0), _20(0), _21(6, 25, 25, 25, 25, 20, 20), _22(6, 'o', 'o', 'o', 'o', 'o', 'o'), _23(6, "database_name", "schema_name", "table_name", "key_value", "hash_value", "count"), _24(NULL), _25("global_stat_get_hotkeys_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3903), _1("global_stat_get_hotkeys_info"), _2(0), _3(true), _4(true), _5(global_stat_get_hotkeys_info), _6(2249), _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(0), _20(0), _21(6, 25, 25, 25, 25, 20, 20), _22(6, 'o', 'o', 'o', 'o', 'o', 'o'), _23(6, "database_name", "schema_name", "table_name", "key_value", "hash_value", "count"), _24(NULL), _25("global_stat_get_hotkeys_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gs_all_control_group_info", 1, - AddBuiltinFunc(_0(4502), _1("gs_all_control_group_info"), _2(0), _3(true), _4(true), _5(gs_all_control_group_info), _6(2249), _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(0), _20(0), _21(10, 25, 25, 20, 20, 25, 25, 20, 20, 20, 25), _22(10, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(10, "name", "type", "gid", "classgid", "class", "workload", "shares", "limits", "wdlevel", "cpucores"), _24(NULL), _25("gs_all_control_group_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4502), _1("gs_all_control_group_info"), _2(0), _3(true), _4(true), _5(gs_all_control_group_info), _6(2249), _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(0), _20(0), _21(10, 25, 25, 20, 20, 25, 25, 20, 20, 20, 25), _22(10, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(10, "name", "type", "gid", "classgid", "class", "workload", "shares", "limits", "wdlevel", "cpucores"), _24(NULL), _25("gs_all_control_group_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gs_all_nodegroup_control_group_info", 1, - AddBuiltinFunc(_0(4504), _1("gs_all_nodegroup_control_group_info"), _2(1), _3(true), _4(true), _5(gs_all_nodegroup_control_group_info), _6(2249), _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(0), _20(1, 2275), _21(10, 25, 25, 20, 20, 25, 25, 20, 20, 20, 25), _22(10, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(10, "name", "type", "gid", "classgid", "class", "workload", "shares", "limits", "wdlevel", "cpucores"), _24(NULL), _25("gs_all_nodegroup_control_group_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4504), _1("gs_all_nodegroup_control_group_info"), _2(1), _3(true), _4(true), _5(gs_all_nodegroup_control_group_info), _6(2249), _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(0), _20(1, 2275), _21(10, 25, 25, 20, 20, 25, 25, 20, 20, 20, 25), _22(10, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(10, "name", "type", "gid", "classgid", "class", "workload", "shares", "limits", "wdlevel", "cpucores"), _24(NULL), _25("gs_all_nodegroup_control_group_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gs_cgroup_map_ng_conf", 1, - AddBuiltinFunc(_0(4503), _1("gs_cgroup_map_ng_conf"), _2(1), _3(false), _4(true), _5(gs_cgroup_map_ng_conf), _6(16), _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(0), _20(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gs_cgroup_map_ng_conf"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4503), _1("gs_cgroup_map_ng_conf"), _2(1), _3(false), _4(true), _5(gs_cgroup_map_ng_conf), _6(16), _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(0), _20(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gs_cgroup_map_ng_conf"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gs_control_group_info", 1, - AddBuiltinFunc(_0(4500), _1("gs_control_group_info"), _2(1), _3(false), _4(true), _5(gs_control_group_info), _6(2249), _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(0), _20(1, 2275), _21(9, 25, 25, 25, 25, 20, 20, 20, 20, 25), _22(9, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(9, "name", "class", "workload", "type", "gid", "shares", "limits", "rate", "cpucores"), _24(NULL), _25("gs_control_group_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4500), _1("gs_control_group_info"), _2(1), _3(false), _4(true), _5(gs_control_group_info), _6(2249), _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(0), _20(1, 2275), _21(9, 25, 25, 25, 25, 20, 20, 20, 20, 25), _22(9, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(9, "name", "class", "workload", "type", "gid", "shares", "limits", "rate", "cpucores"), _24(NULL), _25("gs_control_group_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gs_decrypt_aes128", 1, - AddBuiltinFunc(_0(3465), _1("gs_decrypt_aes128"), _2(2), _3(false), _4(false), _5(gs_decrypt_aes128), _6(25), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gs_decrypt_aes128"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3465), _1("gs_decrypt_aes128"), _2(2), _3(false), _4(false), _5(gs_decrypt_aes128), _6(25), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gs_decrypt_aes128"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gs_encrypt_aes128", 1, - AddBuiltinFunc(_0(GSENCRYPTAES128FUNCOID), _1("gs_encrypt_aes128"), _2(2), _3(false), _4(false), _5(gs_encrypt_aes128), _6(25), _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('v'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gs_encrypt_aes128"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(GSENCRYPTAES128FUNCOID), _1("gs_encrypt_aes128"), _2(2), _3(false), _4(false), _5(gs_encrypt_aes128), _6(25), _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('v'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gs_encrypt_aes128"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gs_extend_library", 1, - AddBuiltinFunc(_0(4210), _1("gs_extend_library"), _2(2), _3(false), _4(false), _5(gs_extend_library), _6(2275), _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('v'), _19(0), _20(2, 2275, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gs_extend_library"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4210), _1("gs_extend_library"), _2(2), _3(false), _4(false), _5(gs_extend_library), _6(2275), _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('v'), _19(0), _20(2, 2275, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gs_extend_library"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gs_fault_inject", 1, - AddBuiltinFunc(_0(4000), _1("gs_fault_inject"), _2(6), _3(true), _4(false), _5(gs_fault_inject), _6(20), _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('v'), _19(0), _20(6, 20, 25, 25, 25, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gs_fault_inject"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4000), _1("gs_fault_inject"), _2(6), _3(true), _4(false), _5(gs_fault_inject), _6(20), _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('v'), _19(0), _20(6, 20, 25, 25, 25, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gs_fault_inject"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gs_get_global_barrier_status", 1, - AddBuiltinFunc(_0(9032), _1("gs_get_global_barrier_status"), _2(0), _3(true), _4(false), _5(gs_get_global_barrier_status), _6(2249), _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('v'), _19(0), _20(0), _21(2, 25, 25), _22(2, 'o', 'o'), _23(2, "global_barrier_id", "global_achive_barrier_id"), _24(NULL), _25("gs_get_global_barrier_status"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(9032), _1("gs_get_global_barrier_status"), _2(0), _3(true), _4(false), _5(gs_get_global_barrier_status), _6(2249), _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('v'), _19(0), _20(0), _21(2, 25, 25), _22(2, 'o', 'o'), _23(2, "global_barrier_id", "global_achive_barrier_id"), _24(NULL), _25("gs_get_global_barrier_status"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gs_get_local_barrier_status", 1, - AddBuiltinFunc(_0(9033), _1("gs_get_local_barrier_status"), _2(0), _3(true), _4(false), _5(gs_get_local_barrier_status), _6(2249), _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('v'), _19(0), _20(0), _21(4, 25, 25, 25, 25), _22(4, 'o', 'o', 'o', 'o'), _23(4, "barrier_id", "barrier_lsn", "archive_lsn", "flush_lsn"), _24(NULL), _25("gs_get_local_barrier_status"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(9033), _1("gs_get_local_barrier_status"), _2(0), _3(true), _4(false), _5(gs_get_local_barrier_status), _6(2249), _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('v'), _19(0), _20(0), _21(4, 25, 25, 25, 25), _22(4, 'o', 'o', 'o', 'o'), _23(4, "barrier_id", "barrier_lsn", "archive_lsn", "flush_lsn"), _24(NULL), _25("gs_get_local_barrier_status"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gs_get_next_xid_csn", 1, - AddBuiltinFunc(_0(6224), _1("gs_get_next_xid_csn"), _2(1), _3(true), _4(true), _5(gs_get_next_xid_csn), _6(2249), _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(0), _20(0), _21(3, 25, 28, 28), _22(3, 'o', 'o', 'o'), _23(3, "node_name", "next_xid", "next_csn"), _24(NULL), _25("gs_get_next_xid_csn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(6224), _1("gs_get_next_xid_csn"), _2(1), _3(true), _4(true), _5(gs_get_next_xid_csn), _6(2249), _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(0), _20(0), _21(3, 25, 28, 28), _22(3, 'o', 'o', 'o'), _23(3, "node_name", "next_xid", "next_csn"), _24(NULL), _25("gs_get_next_xid_csn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gs_get_nodegroup_tablecount", 1, - AddBuiltinFunc(_0(5027), _1("gs_get_nodegroup_tablecount"), _2(1), _3(false), _4(true), _5(gs_get_nodegroup_tablecount), _6(23), _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(0), _20(1, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gs_get_nodegroup_tablecount"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5027), _1("gs_get_nodegroup_tablecount"), _2(1), _3(false), _4(true), _5(gs_get_nodegroup_tablecount), _6(23), _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(0), _20(1, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gs_get_nodegroup_tablecount"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gs_index_advise", 1, - AddBuiltinFunc(_0(4888), _1("gs_index_advise"), _2(1), _3(false), _4(true), _5(gs_index_advise), _6(2249), _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(0), _20(1, 2275), _21(2, 25, 25), _22(2, 'o', 'o'), _23(2, "table", "column"), _24(NULL), _25("gs_index_advise"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4888), _1("gs_index_advise"), _2(1), _3(false), _4(true), _5(gs_index_advise), _6(2249), _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(0), _20(1, 2275), _21(2, 25, 25), _22(2, 'o', 'o'), _23(2, "table", "column"), _24(NULL), _25("gs_index_advise"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gs_password_deadline", 1, - AddBuiltinFunc(_0(3469), _1("gs_password_deadline"), _2(0), _3(true), _4(false), _5(gs_password_deadline), _6(1186), _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(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gs_password_deadline"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3469), _1("gs_password_deadline"), _2(0), _3(true), _4(false), _5(gs_password_deadline), _6(1186), _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(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gs_password_deadline"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gs_password_notifytime", 1, - AddBuiltinFunc(_0(3470), _1("gs_password_notifytime"), _2(0), _3(true), _4(false), _5(gs_password_notifytime), _6(23), _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(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gs_password_notifytime"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3470), _1("gs_password_notifytime"), _2(0), _3(true), _4(false), _5(gs_password_notifytime), _6(23), _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(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gs_password_notifytime"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gs_respool_exception_info", 1, - AddBuiltinFunc(_0(4501), _1("gs_respool_exception_info"), _2(1), _3(true), _4(true), _5(gs_respool_exception_info), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(1, 2275), _21(6, 25, 25, 25, 25, 25, 20), _22(6, 'o', 'o', 'o', 'o', 'o', 'o'), _23(6, "name", "class", "workload", "rule", "type", "value"), _24(NULL), _25("gs_respool_exception_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4501), _1("gs_respool_exception_info"), _2(1), _3(true), _4(true), _5(gs_respool_exception_info), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(1, 2275), _21(6, 25, 25, 25, 25, 25, 20), _22(6, 'o', 'o', 'o', 'o', 'o', 'o'), _23(6, "name", "class", "workload", "rule", "type", "value"), _24(NULL), _25("gs_respool_exception_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gs_roach_disable_delay_ddl_recycle", 1, - AddBuiltinFunc(_0(2202), _1("gs_roach_disable_delay_ddl_recycle"), _2(1), _3(true), _4(false), _5(gs_roach_disable_delay_ddl_recycle), _6(2249), _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('v'), _19(0), _20(1, 19), _21(3, 19, 25, 25), _22(3, 'i', 'o', 'o'), _23(3, "slotname", "ddl_delay_start_lsn", "ddl_delay_end_lsn"), _24(NULL), _25("gs_roach_disable_delay_ddl_recycle"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2202), _1("gs_roach_disable_delay_ddl_recycle"), _2(1), _3(true), _4(false), _5(gs_roach_disable_delay_ddl_recycle), _6(2249), _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('v'), _19(0), _20(1, 19), _21(3, 19, 25, 25), _22(3, 'i', 'o', 'o'), _23(3, "slotname", "ddl_delay_start_lsn", "ddl_delay_end_lsn"), _24(NULL), _25("gs_roach_disable_delay_ddl_recycle"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gs_roach_enable_delay_ddl_recycle", 1, - AddBuiltinFunc(_0(2201), _1("gs_roach_enable_delay_ddl_recycle"), _2(1), _3(true), _4(false), _5(gs_roach_enable_delay_ddl_recycle), _6(25), _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('v'), _19(0), _20(1, 19), _21(2, 19, 25), _22(2, 'i', 'o'), _23(2, "slotname", "ddl_delay_start_lsn"), _24(NULL), _25("gs_roach_enable_delay_ddl_recycle"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2201), _1("gs_roach_enable_delay_ddl_recycle"), _2(1), _3(true), _4(false), _5(gs_roach_enable_delay_ddl_recycle), _6(25), _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('v'), _19(0), _20(1, 19), _21(2, 19, 25), _22(2, 'i', 'o'), _23(2, "slotname", "ddl_delay_start_lsn"), _24(NULL), _25("gs_roach_enable_delay_ddl_recycle"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gs_roach_stop_backup", 1, - AddBuiltinFunc(_0(2200), _1("gs_roach_stop_backup"), _2(1), _3(true), _4(false), _5(gs_roach_stop_backup), _6(25), _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('v'), _19(0), _20(1, 25), _21(2, 25, 25), _22(2, 'i', 'o'), _23(2, "slotname", "backup_stop_lsn"), _24(NULL), _25("gs_roach_stop_backup"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2200), _1("gs_roach_stop_backup"), _2(1), _3(true), _4(false), _5(gs_roach_stop_backup), _6(25), _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('v'), _19(0), _20(1, 25), _21(2, 25, 25), _22(2, 'i', 'o'), _23(2, "slotname", "backup_stop_lsn"), _24(NULL), _25("gs_roach_stop_backup"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gs_roach_switch_xlog", 1, - AddBuiltinFunc(_0(2203), _1("gs_roach_switch_xlog"), _2(1), _3(true), _4(false), _5(gs_roach_switch_xlog), _6(25), _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('v'), _19(0), _20(1, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gs_roach_switch_xlog"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2203), _1("gs_roach_switch_xlog"), _2(1), _3(true), _4(false), _5(gs_roach_switch_xlog), _6(25), _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('v'), _19(0), _20(1, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gs_roach_switch_xlog"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gs_set_obs_delete_location", 1, - AddBuiltinFunc(_0(9031), _1("gs_set_obs_delete_location"), _2(1), _3(true), _4(false), _5(gs_set_obs_delete_location), _6(25), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gs_set_obs_delete_location"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(9031), _1("gs_set_obs_delete_location"), _2(1), _3(true), _4(false), _5(gs_set_obs_delete_location), _6(25), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gs_set_obs_delete_location"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gs_stat_activity_timeout", 1, - AddBuiltinFunc(_0(4520), _1("gs_stat_activity_timeout"), _2(1), _3(false), _4(true), _5(gs_stat_activity_timeout), _6(2249), _7(PG_DBEPERF_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(0), _20(1, 23), _21(10, 23, 19, 20, 20, 26, 25, 25, 1184, 1184, 20), _22(10, 'i', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(10, "timeout_threshold", "database", "pid", "sessionid", "usesysid", "application_name", "query", "xact_start", "query_start", "query_id"), _24(NULL), _25("gs_stat_activity_timeout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4520), _1("gs_stat_activity_timeout"), _2(1), _3(false), _4(true), _5(gs_stat_activity_timeout), _6(2249), _7(PG_DBEPERF_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(0), _20(1, 23), _21(10, 23, 19, 20, 20, 26, 25, 25, 1184, 1184, 20), _22(10, 'i', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(10, "timeout_threshold", "database", "pid", "sessionid", "usesysid", "application_name", "query", "xact_start", "query_start", "query_id"), _24(NULL), _25("gs_stat_activity_timeout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gs_stat_clean_hotkeys", 1, - AddBuiltinFunc(_0(3805), _1("gs_stat_clean_hotkeys"), _2(0), _3(true), _4(true), _5(gs_stat_clean_hotkeys), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gs_stat_clean_hotkeys"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3805), _1("gs_stat_clean_hotkeys"), _2(0), _3(true), _4(true), _5(gs_stat_clean_hotkeys), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gs_stat_clean_hotkeys"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gs_stat_get_hotkeys_info", 1, - AddBuiltinFunc(_0(3803), _1("gs_stat_get_hotkeys_info"), _2(0), _3(true), _4(true), _5(gs_stat_get_hotkeys_info), _6(2249), _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(0), _20(0), _21(6, 25, 25, 25, 25, 20, 20), _22(6, 'o', 'o', 'o', 'o', 'o', 'o'), _23(6, "database_name", "schema_name", "table_name", "key_value", "hash_value", "count"), _24(NULL), _25("gs_stat_get_hotkeys_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3803), _1("gs_stat_get_hotkeys_info"), _2(0), _3(true), _4(true), _5(gs_stat_get_hotkeys_info), _6(2249), _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(0), _20(0), _21(6, 25, 25, 25, 25, 20, 20), _22(6, 'o', 'o', 'o', 'o', 'o', 'o'), _23(6, "database_name", "schema_name", "table_name", "key_value", "hash_value", "count"), _24(NULL), _25("gs_stat_get_hotkeys_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gs_stat_get_wlm_plan_operator_info", 1, @@ -3261,2215 +3261,2215 @@ ), AddFuncGroup( "gs_switch_relfilenode", 1, - AddBuiltinFunc(_0(4049), _1("gs_switch_relfilenode"), _2(2), _3(true), _4(false), _5(pg_switch_relfilenode_name), _6(20), _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('v'), _19(0), _20(3, 2205, 2205, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_switch_relfilenode_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4049), _1("gs_switch_relfilenode"), _2(2), _3(true), _4(false), _5(pg_switch_relfilenode_name), _6(20), _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('v'), _19(0), _20(3, 2205, 2205, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_switch_relfilenode_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gs_total_nodegroup_memory_detail", 1, - AddBuiltinFunc(_0(2847), _1("gs_total_nodegroup_memory_detail"), _2(0), _3(true), _4(true), _5(gs_total_nodegroup_memory_detail), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(0), _21(3, 25, 25, 23), _22(3, 'o', 'o', 'o'), _23(3, "ngname", "memorytype", "memorymbytes"), _24(NULL), _25("gs_total_nodegroup_memory_detail"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2847), _1("gs_total_nodegroup_memory_detail"), _2(0), _3(true), _4(true), _5(gs_total_nodegroup_memory_detail), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(0), _21(3, 25, 25, 23), _22(3, 'o', 'o', 'o'), _23(3, "ngname", "memorytype", "memorymbytes"), _24(NULL), _25("gs_total_nodegroup_memory_detail"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gs_wlm_get_resource_pool_info", 1, - AddBuiltinFunc(_0(5004), _1("gs_wlm_get_resource_pool_info"), _2(1), _3(false), _4(true), _5(pg_stat_get_resource_pool_info), _6(2249), _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(0), _20(1, 23), _21(8, 23, 26, 23, 23, 23, 23, 23, 23), _22(8, 'i', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(8, "input", "respool_oid", "ref_count", "active_points", "running_count", "waiting_count", "iops_limits", "io_priority"), _24(NULL), _25("pg_stat_get_resource_pool_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5004), _1("gs_wlm_get_resource_pool_info"), _2(1), _3(false), _4(true), _5(pg_stat_get_resource_pool_info), _6(2249), _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(0), _20(1, 23), _21(8, 23, 26, 23, 23, 23, 23, 23, 23), _22(8, 'i', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(8, "input", "respool_oid", "ref_count", "active_points", "running_count", "waiting_count", "iops_limits", "io_priority"), _24(NULL), _25("pg_stat_get_resource_pool_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gs_wlm_get_session_info", 1, - AddBuiltinFunc(_0(5009), _1("gs_wlm_get_session_info"), _2(1), _3(false), _4(true), _5(pg_wlm_get_session_info), _6(2249), _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(0), _20(1, 20), _21(8, 20, 25, 23, 23, 23, 20, 23, 23), _22(8, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(8, "threadid", "node_name", "used_memory", "peak_memory", "spill_count", "cpu_time", "peak_iops", "curr_iops"), _24(NULL), _25("pg_wlm_get_session_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5009), _1("gs_wlm_get_session_info"), _2(1), _3(false), _4(true), _5(pg_wlm_get_session_info), _6(2249), _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(0), _20(1, 20), _21(8, 20, 25, 23, 23, 23, 20, 23, 23), _22(8, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(8, "threadid", "node_name", "used_memory", "peak_memory", "spill_count", "cpu_time", "peak_iops", "curr_iops"), _24(NULL), _25("pg_wlm_get_session_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gs_wlm_get_user_info", 1, - AddBuiltinFunc(_0(5007), _1("gs_wlm_get_user_info"), _2(1), _3(false), _4(true), _5(pg_stat_get_wlm_user_info), _6(2249), _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(0), _20(1, 23), _21(9, 23, 26, 16, 26, 26, 20, 20, 23, 25), _22(9, 'i', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(9, "input", "userid", "sysadmin", "rpoid", "parentid", "totalspace", "spacelimit", "childcount", "childlist"), _24(NULL), _25("pg_stat_get_wlm_user_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5007), _1("gs_wlm_get_user_info"), _2(1), _3(false), _4(true), _5(pg_stat_get_wlm_user_info), _6(2249), _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(0), _20(1, 23), _21(9, 23, 26, 16, 26, 26, 20, 20, 23, 25), _22(9, 'i', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(9, "input", "userid", "sysadmin", "rpoid", "parentid", "totalspace", "spacelimit", "childcount", "childlist"), _24(NULL), _25("pg_stat_get_wlm_user_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gs_wlm_get_user_session_info", 1, - AddBuiltinFunc(_0(5020), _1("gs_wlm_get_user_session_info"), _2(1), _3(false), _4(true), _5(pg_wlm_get_user_session_info), _6(2249), _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(0), _20(1, 2275), _21(8, 25, 25, 23, 23, 23, 20, 23, 23), _22(8, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(8, "username", "node_name", "used_memory", "peak_memory", "spill_count", "cpu_time", "peak_iops", "curr_iops"), _24(NULL), _25("pg_wlm_get_user_session_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5020), _1("gs_wlm_get_user_session_info"), _2(1), _3(false), _4(true), _5(pg_wlm_get_user_session_info), _6(2249), _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(0), _20(1, 2275), _21(8, 25, 25, 23, 23, 23, 20, 23, 23), _22(8, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(8, "username", "node_name", "used_memory", "peak_memory", "spill_count", "cpu_time", "peak_iops", "curr_iops"), _24(NULL), _25("pg_wlm_get_user_session_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gs_wlm_get_workload_records", 1, - AddBuiltinFunc(_0(5018), _1("gs_wlm_get_workload_records"), _2(1), _3(false), _4(true), _5(pg_stat_get_workload_records), _6(2249), _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(0), _20(1, 23), _21(12, 23, 26, 20, 20, 23, 23, 23, 23, 25, 25, 25, 25), _22(12, 'i', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(12, "intpu", "node_idx", "query_pid", "start_time", "memory", "actpts", "maxpts", "priority", "resource_pool", "node_name", "queue_type", "node_group"), _24(NULL), _25("pg_stat_get_workload_records"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5018), _1("gs_wlm_get_workload_records"), _2(1), _3(false), _4(true), _5(pg_stat_get_workload_records), _6(2249), _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(0), _20(1, 23), _21(12, 23, 26, 20, 20, 23, 23, 23, 23, 25, 25, 25, 25), _22(12, 'i', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(12, "intpu", "node_idx", "query_pid", "start_time", "memory", "actpts", "maxpts", "priority", "resource_pool", "node_name", "queue_type", "node_group"), _24(NULL), _25("pg_stat_get_workload_records"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gs_wlm_node_clean", 1, - AddBuiltinFunc(_0(5016), _1("gs_wlm_node_clean"), _2(1), _3(true), _4(false), _5(gs_wlm_node_clean), _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('v'), _19(0), _20(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gs_wlm_node_clean"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5016), _1("gs_wlm_node_clean"), _2(1), _3(true), _4(false), _5(gs_wlm_node_clean), _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('v'), _19(0), _20(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gs_wlm_node_clean"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gs_wlm_node_recover", 1, - AddBuiltinFunc(_0(5017), _1("gs_wlm_node_recover"), _2(1), _3(true), _4(false), _5(gs_wlm_node_recover), _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('v'), _19(0), _20(1, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gs_wlm_node_recover"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5017), _1("gs_wlm_node_recover"), _2(1), _3(true), _4(false), _5(gs_wlm_node_recover), _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('v'), _19(0), _20(1, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gs_wlm_node_recover"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gs_wlm_readjust_user_space", 1, - AddBuiltinFunc(_0(5011), _1("gs_wlm_readjust_user_space"), _2(1), _3(true), _4(false), _5(gs_wlm_readjust_user_space), _6(25), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gs_wlm_readjust_user_space"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5011), _1("gs_wlm_readjust_user_space"), _2(1), _3(true), _4(false), _5(gs_wlm_readjust_user_space), _6(25), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gs_wlm_readjust_user_space"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gs_wlm_readjust_user_space_through_username", 1, - AddBuiltinFunc(_0(5030), _1("gs_wlm_readjust_user_space_through_username"), _2(1), _3(true), _4(false), _5(gs_wlm_readjust_user_space_through_username), _6(25), _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('s'), _19(0), _20(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gs_wlm_readjust_user_space_through_username"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5030), _1("gs_wlm_readjust_user_space_through_username"), _2(1), _3(true), _4(false), _5(gs_wlm_readjust_user_space_through_username), _6(25), _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('s'), _19(0), _20(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gs_wlm_readjust_user_space_through_username"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gs_wlm_readjust_user_space_with_reset_flag", 1, - AddBuiltinFunc(_0(5029), _1("gs_wlm_readjust_user_space_with_reset_flag"), _2(2), _3(true), _4(false), _5(gs_wlm_readjust_user_space_with_reset_flag), _6(25), _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('s'), _19(0), _20(2, 2275, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gs_wlm_readjust_user_space_with_reset_flag"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5029), _1("gs_wlm_readjust_user_space_with_reset_flag"), _2(2), _3(true), _4(false), _5(gs_wlm_readjust_user_space_with_reset_flag), _6(25), _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('s'), _19(0), _20(2, 2275, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gs_wlm_readjust_user_space_with_reset_flag"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gs_wlm_rebuild_user_resource_pool", 1, - AddBuiltinFunc(_0(5006), _1("gs_wlm_rebuild_user_resource_pool"), _2(1), _3(true), _4(false), _5(gs_wlm_rebuild_user_resource_pool), _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('v'), _19(0), _20(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gs_wlm_rebuild_user_resource_pool"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5006), _1("gs_wlm_rebuild_user_resource_pool"), _2(1), _3(true), _4(false), _5(gs_wlm_rebuild_user_resource_pool), _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('v'), _19(0), _20(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gs_wlm_rebuild_user_resource_pool"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gs_wlm_session_respool", 1, - AddBuiltinFunc(_0(5021), _1("gs_wlm_session_respool"), _2(1), _3(false), _4(true), _5(pg_stat_get_session_respool), _6(2249), _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(0), _20(1, 20), _21(8, 20, 26, 20, 20, 23, 26, 25, 19), _22(8, 'i', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(8, "input", "datid", "threadid", "sessionid", "threadpid", "usesysid", "cgroup", "session_respool"), _24(NULL), _25("pg_stat_get_session_respool"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5021), _1("gs_wlm_session_respool"), _2(1), _3(false), _4(true), _5(pg_stat_get_session_respool), _6(2249), _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(0), _20(1, 20), _21(8, 20, 26, 20, 20, 23, 26, 25, 19), _22(8, 'i', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(8, "input", "datid", "threadid", "sessionid", "threadpid", "usesysid", "cgroup", "session_respool"), _24(NULL), _25("pg_stat_get_session_respool"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gs_wlm_switch_cgroup", 1, - AddBuiltinFunc(_0(5005), _1("gs_wlm_switch_cgroup"), _2(2), _3(true), _4(false), _5(gs_wlm_switch_cgroup), _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('v'), _19(0), _20(2, 20, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gs_wlm_switch_cgroup"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5005), _1("gs_wlm_switch_cgroup"), _2(2), _3(true), _4(false), _5(gs_wlm_switch_cgroup), _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('v'), _19(0), _20(2, 20, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gs_wlm_switch_cgroup"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gs_wlm_user_resource_info", 1, - AddBuiltinFunc(_0(5012), _1("gs_wlm_user_resource_info"), _2(1), _3(false), _4(true), _5(pg_stat_get_wlm_user_resource_info), _6(2249), _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(0), _20(1, 2275), _21(17,26,23,23,701,23,20,20,20,20,20,20,20,20,20,20,701,701), _22(17, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(17, "userid", "used_memory", "total_memory", "used_cpu", "total_cpu", "used_space", "total_space", "used_temp_space", "total_temp_space", "used_spill_space", "total_spill_space", "read_kbytes", "write_kbytes", "read_counts", "write_counts", "read_speed", "write_speed"), _24(NULL), _25("pg_stat_get_wlm_user_resource_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5012), _1("gs_wlm_user_resource_info"), _2(1), _3(false), _4(true), _5(pg_stat_get_wlm_user_resource_info), _6(2249), _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(0), _20(1, 2275), _21(17,26,23,23,701,23,20,20,20,20,20,20,20,20,20,20,701,701), _22(17, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(17, "userid", "used_memory", "total_memory", "used_cpu", "total_cpu", "used_space", "total_space", "used_temp_space", "total_temp_space", "used_spill_space", "total_spill_space", "read_kbytes", "write_kbytes", "read_counts", "write_counts", "read_speed", "write_speed"), _24(NULL), _25("pg_stat_get_wlm_user_resource_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gtsquery_compress", 1, - AddBuiltinFunc(_0(3695), _1("gtsquery_compress"), _2(1), _3(true), _4(false), _5(gtsquery_compress), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gtsquery_compress"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3695), _1("gtsquery_compress"), _2(1), _3(true), _4(false), _5(gtsquery_compress), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gtsquery_compress"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gtsquery_consistent", 1, - AddBuiltinFunc(_0(3701), _1("gtsquery_consistent"), _2(5), _3(true), _4(false), _5(gtsquery_consistent), _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(5, 2281, 2281, 23, 26, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gtsquery_consistent"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3701), _1("gtsquery_consistent"), _2(5), _3(true), _4(false), _5(gtsquery_consistent), _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(5, 2281, 2281, 23, 26, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gtsquery_consistent"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gtsquery_decompress", 1, - AddBuiltinFunc(_0(3696), _1("gtsquery_decompress"), _2(1), _3(true), _4(false), _5(gtsquery_decompress), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gtsquery_decompress"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3696), _1("gtsquery_decompress"), _2(1), _3(true), _4(false), _5(gtsquery_decompress), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gtsquery_decompress"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gtsquery_penalty", 1, - AddBuiltinFunc(_0(3700), _1("gtsquery_penalty"), _2(3), _3(true), _4(false), _5(gtsquery_penalty), _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(3, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gtsquery_penalty"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3700), _1("gtsquery_penalty"), _2(3), _3(true), _4(false), _5(gtsquery_penalty), _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(3, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gtsquery_penalty"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gtsquery_picksplit", 1, - AddBuiltinFunc(_0(3697), _1("gtsquery_picksplit"), _2(2), _3(true), _4(false), _5(gtsquery_picksplit), _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(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gtsquery_picksplit"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3697), _1("gtsquery_picksplit"), _2(2), _3(true), _4(false), _5(gtsquery_picksplit), _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(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gtsquery_picksplit"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gtsquery_same", 1, - AddBuiltinFunc(_0(3699), _1("gtsquery_same"), _2(3), _3(true), _4(false), _5(gtsquery_same), _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(3, 20, 20, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gtsquery_same"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3699), _1("gtsquery_same"), _2(3), _3(true), _4(false), _5(gtsquery_same), _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(3, 20, 20, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gtsquery_same"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gtsquery_union", 1, - AddBuiltinFunc(_0(3698), _1("gtsquery_union"), _2(2), _3(true), _4(false), _5(gtsquery_union), _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(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gtsquery_union"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3698), _1("gtsquery_union"), _2(2), _3(true), _4(false), _5(gtsquery_union), _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(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gtsquery_union"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gtsvector_compress", 1, - AddBuiltinFunc(_0(3648), _1("gtsvector_compress"), _2(1), _3(true), _4(false), _5(gtsvector_compress), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gtsvector_compress"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3648), _1("gtsvector_compress"), _2(1), _3(true), _4(false), _5(gtsvector_compress), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gtsvector_compress"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gtsvector_consistent", 1, - AddBuiltinFunc(_0(3654), _1("gtsvector_consistent"), _2(5), _3(true), _4(false), _5(gtsvector_consistent), _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(5, 2281, 3642, 23, 26, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gtsvector_consistent"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3654), _1("gtsvector_consistent"), _2(5), _3(true), _4(false), _5(gtsvector_consistent), _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(5, 2281, 3642, 23, 26, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gtsvector_consistent"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gtsvector_decompress", 1, - AddBuiltinFunc(_0(3649), _1("gtsvector_decompress"), _2(1), _3(true), _4(false), _5(gtsvector_decompress), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gtsvector_decompress"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3649), _1("gtsvector_decompress"), _2(1), _3(true), _4(false), _5(gtsvector_decompress), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gtsvector_decompress"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gtsvector_penalty", 1, - AddBuiltinFunc(_0(3653), _1("gtsvector_penalty"), _2(3), _3(true), _4(false), _5(gtsvector_penalty), _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(3, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gtsvector_penalty"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3653), _1("gtsvector_penalty"), _2(3), _3(true), _4(false), _5(gtsvector_penalty), _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(3, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gtsvector_penalty"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gtsvector_picksplit", 1, - AddBuiltinFunc(_0(3650), _1("gtsvector_picksplit"), _2(2), _3(true), _4(false), _5(gtsvector_picksplit), _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(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gtsvector_picksplit"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3650), _1("gtsvector_picksplit"), _2(2), _3(true), _4(false), _5(gtsvector_picksplit), _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(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gtsvector_picksplit"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gtsvector_same", 1, - AddBuiltinFunc(_0(3652), _1("gtsvector_same"), _2(3), _3(true), _4(false), _5(gtsvector_same), _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(3, 3642, 3642, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gtsvector_same"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3652), _1("gtsvector_same"), _2(3), _3(true), _4(false), _5(gtsvector_same), _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(3, 3642, 3642, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gtsvector_same"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gtsvector_union", 1, - AddBuiltinFunc(_0(3651), _1("gtsvector_union"), _2(2), _3(true), _4(false), _5(gtsvector_union), _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(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gtsvector_union"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3651), _1("gtsvector_union"), _2(2), _3(true), _4(false), _5(gtsvector_union), _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(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gtsvector_union"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gtsvectorin", 1, - AddBuiltinFunc(_0(3646), _1("gtsvectorin"), _2(1), _3(true), _4(false), _5(gtsvectorin), _6(3642), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gtsvectorin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3646), _1("gtsvectorin"), _2(1), _3(true), _4(false), _5(gtsvectorin), _6(3642), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gtsvectorin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "gtsvectorout", 1, - AddBuiltinFunc(_0(3647), _1("gtsvectorout"), _2(1), _3(true), _4(false), _5(gtsvectorout), _6(2275), _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(1, 3642), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gtsvectorout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3647), _1("gtsvectorout"), _2(1), _3(true), _4(false), _5(gtsvectorout), _6(2275), _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(1, 3642), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gtsvectorout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "has_any_column_privilege", 6, - AddBuiltinFunc(_0(3024), _1("has_any_column_privilege"), _2(3), _3(true), _4(false), _5(has_any_column_privilege_name_name), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(10), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(3, 19, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_any_column_privilege_name_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3025), _1("has_any_column_privilege"), _2(3), _3(true), _4(false), _5(has_any_column_privilege_name_id), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(10), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(3, 19, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_any_column_privilege_name_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3026), _1("has_any_column_privilege"), _2(3), _3(true), _4(false), _5(has_any_column_privilege_id_name), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(10), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(3, 26, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_any_column_privilege_id_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3027), _1("has_any_column_privilege"), _2(3), _3(true), _4(false), _5(has_any_column_privilege_id_id), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(10), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(3, 26, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_any_column_privilege_id_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3028), _1("has_any_column_privilege"), _2(2), _3(true), _4(false), _5(has_any_column_privilege_name), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(10), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_any_column_privilege_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3029), _1("has_any_column_privilege"), _2(2), _3(true), _4(false), _5(has_any_column_privilege_id), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(10), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(2, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_any_column_privilege_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3024), _1("has_any_column_privilege"), _2(3), _3(true), _4(false), _5(has_any_column_privilege_name_name), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(10), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(3, 19, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_any_column_privilege_name_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3025), _1("has_any_column_privilege"), _2(3), _3(true), _4(false), _5(has_any_column_privilege_name_id), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(10), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(3, 19, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_any_column_privilege_name_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3026), _1("has_any_column_privilege"), _2(3), _3(true), _4(false), _5(has_any_column_privilege_id_name), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(10), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(3, 26, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_any_column_privilege_id_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3027), _1("has_any_column_privilege"), _2(3), _3(true), _4(false), _5(has_any_column_privilege_id_id), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(10), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(3, 26, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_any_column_privilege_id_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3028), _1("has_any_column_privilege"), _2(2), _3(true), _4(false), _5(has_any_column_privilege_name), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(10), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_any_column_privilege_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3029), _1("has_any_column_privilege"), _2(2), _3(true), _4(false), _5(has_any_column_privilege_id), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(10), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(2, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_any_column_privilege_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "has_cek_privilege", 6, - AddBuiltinFunc(_0(9130), _1("has_cek_privilege"), _2(3), _3(true), _4(false), _5(has_cek_privilege_name_name), _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('s'), _19(0), _20(3, 19, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_cek_privilege_name_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(9131), _1("has_cek_privilege"), _2(3), _3(true), _4(false), _5(has_cek_privilege_name_id), _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('s'), _19(0), _20(3, 19, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_cek_privilege_name_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(9132), _1("has_cek_privilege"), _2(3), _3(true), _4(false), _5(has_cek_privilege_id_name), _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('s'), _19(0), _20(3, 26,25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_cek_privilege_id_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(9133), _1("has_cek_privilege"), _2(3), _3(true), _4(false), _5(has_cek_privilege_id_id), _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('s'), _19(0), _20(3, 26, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_cek_privilege_id_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(9134), _1("has_cek_privilege"), _2(2), _3(true), _4(false), _5(has_cek_privilege_name), _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('s'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_cek_privilege_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(9135), _1("has_cek_privilege"), _2(2), _3(true), _4(false), _5(has_cek_privilege_id), _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('s'), _19(0), _20(2, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_cek_privilege_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(9130), _1("has_cek_privilege"), _2(3), _3(true), _4(false), _5(has_cek_privilege_name_name), _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('s'), _19(0), _20(3, 19, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_cek_privilege_name_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(9131), _1("has_cek_privilege"), _2(3), _3(true), _4(false), _5(has_cek_privilege_name_id), _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('s'), _19(0), _20(3, 19, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_cek_privilege_name_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(9132), _1("has_cek_privilege"), _2(3), _3(true), _4(false), _5(has_cek_privilege_id_name), _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('s'), _19(0), _20(3, 26,25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_cek_privilege_id_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(9133), _1("has_cek_privilege"), _2(3), _3(true), _4(false), _5(has_cek_privilege_id_id), _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('s'), _19(0), _20(3, 26, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_cek_privilege_id_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(9134), _1("has_cek_privilege"), _2(2), _3(true), _4(false), _5(has_cek_privilege_name), _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('s'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_cek_privilege_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(9135), _1("has_cek_privilege"), _2(2), _3(true), _4(false), _5(has_cek_privilege_id), _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('s'), _19(0), _20(2, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_cek_privilege_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "has_cmk_privilege", 6, - AddBuiltinFunc(_0(9024), _1("has_cmk_privilege"), _2(3), _3(true), _4(false), _5(has_cmk_privilege_name_name), _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('s'), _19(0), _20(3, 19, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_cmk_privilege_name_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(9025), _1("has_cmk_privilege"), _2(3), _3(true), _4(false), _5(has_cmk_privilege_name_id), _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('s'), _19(0), _20(3, 19, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_cmk_privilege_name_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(9026), _1("has_cmk_privilege"), _2(3), _3(true), _4(false), _5(has_cmk_privilege_id_name), _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('s'), _19(0), _20(3, 26, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_cmk_privilege_id_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(9027), _1("has_cmk_privilege"), _2(3), _3(true), _4(false), _5(has_cmk_privilege_id_id), _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('s'), _19(0), _20(3, 26, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_cmk_privilege_id_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(9028), _1("has_cmk_privilege"), _2(2), _3(true), _4(false), _5(has_cmk_privilege_name), _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('s'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_cmk_privilege_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(9029), _1("has_cmk_privilege"), _2(2), _3(true), _4(false), _5(has_cmk_privilege_id), _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('s'), _19(0), _20(2, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_cmk_privilege_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(9024), _1("has_cmk_privilege"), _2(3), _3(true), _4(false), _5(has_cmk_privilege_name_name), _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('s'), _19(0), _20(3, 19, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_cmk_privilege_name_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(9025), _1("has_cmk_privilege"), _2(3), _3(true), _4(false), _5(has_cmk_privilege_name_id), _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('s'), _19(0), _20(3, 19, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_cmk_privilege_name_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(9026), _1("has_cmk_privilege"), _2(3), _3(true), _4(false), _5(has_cmk_privilege_id_name), _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('s'), _19(0), _20(3, 26, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_cmk_privilege_id_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(9027), _1("has_cmk_privilege"), _2(3), _3(true), _4(false), _5(has_cmk_privilege_id_id), _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('s'), _19(0), _20(3, 26, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_cmk_privilege_id_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(9028), _1("has_cmk_privilege"), _2(2), _3(true), _4(false), _5(has_cmk_privilege_name), _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('s'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_cmk_privilege_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(9029), _1("has_cmk_privilege"), _2(2), _3(true), _4(false), _5(has_cmk_privilege_id), _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('s'), _19(0), _20(2, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_cmk_privilege_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "has_column_privilege", 12, - AddBuiltinFunc(_0(3012), _1("has_column_privilege"), _2(4), _3(true), _4(false), _5(has_column_privilege_name_name_name), _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('s'), _19(0), _20(4, 19, 25, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_column_privilege_name_name_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3013), _1("has_column_privilege"), _2(4), _3(true), _4(false), _5(has_column_privilege_name_name_attnum), _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('s'), _19(0), _20(4, 19, 25, 21, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_column_privilege_name_name_attnum"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3014), _1("has_column_privilege"), _2(4), _3(true), _4(false), _5(has_column_privilege_name_id_name), _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('s'), _19(0), _20(4, 19, 26, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_column_privilege_name_id_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3015), _1("has_column_privilege"), _2(4), _3(true), _4(false), _5(has_column_privilege_name_id_attnum), _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('s'), _19(0), _20(4, 19, 26, 21, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_column_privilege_name_id_attnum"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3016), _1("has_column_privilege"), _2(4), _3(true), _4(false), _5(has_column_privilege_id_name_name), _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('s'), _19(0), _20(4, 26, 25, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_column_privilege_id_name_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3017), _1("has_column_privilege"), _2(4), _3(true), _4(false), _5(has_column_privilege_id_name_attnum), _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('s'), _19(0), _20(4, 26, 25, 21, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_column_privilege_id_name_attnum"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3018), _1("has_column_privilege"), _2(4), _3(true), _4(false), _5(has_column_privilege_id_id_name), _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('s'), _19(0), _20(4, 26, 26, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_column_privilege_id_id_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3019), _1("has_column_privilege"), _2(4), _3(true), _4(false), _5(has_column_privilege_id_id_attnum), _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('s'), _19(0), _20(4, 26, 26, 21, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_column_privilege_id_id_attnum"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3020), _1("has_column_privilege"), _2(3), _3(true), _4(false), _5(has_column_privilege_name_name), _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('s'), _19(0), _20(3, 25, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_column_privilege_name_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3021), _1("has_column_privilege"), _2(3), _3(true), _4(false), _5(has_column_privilege_name_attnum), _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('s'), _19(0), _20(3, 25, 21, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_column_privilege_name_attnum"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3022), _1("has_column_privilege"), _2(3), _3(true), _4(false), _5(has_column_privilege_id_name), _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('s'), _19(0), _20(3, 26, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_column_privilege_id_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3023), _1("has_column_privilege"), _2(3), _3(true), _4(false), _5(has_column_privilege_id_attnum), _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('s'), _19(0), _20(3, 26, 21, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_column_privilege_id_attnum"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3012), _1("has_column_privilege"), _2(4), _3(true), _4(false), _5(has_column_privilege_name_name_name), _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('s'), _19(0), _20(4, 19, 25, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_column_privilege_name_name_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3013), _1("has_column_privilege"), _2(4), _3(true), _4(false), _5(has_column_privilege_name_name_attnum), _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('s'), _19(0), _20(4, 19, 25, 21, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_column_privilege_name_name_attnum"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3014), _1("has_column_privilege"), _2(4), _3(true), _4(false), _5(has_column_privilege_name_id_name), _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('s'), _19(0), _20(4, 19, 26, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_column_privilege_name_id_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3015), _1("has_column_privilege"), _2(4), _3(true), _4(false), _5(has_column_privilege_name_id_attnum), _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('s'), _19(0), _20(4, 19, 26, 21, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_column_privilege_name_id_attnum"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3016), _1("has_column_privilege"), _2(4), _3(true), _4(false), _5(has_column_privilege_id_name_name), _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('s'), _19(0), _20(4, 26, 25, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_column_privilege_id_name_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3017), _1("has_column_privilege"), _2(4), _3(true), _4(false), _5(has_column_privilege_id_name_attnum), _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('s'), _19(0), _20(4, 26, 25, 21, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_column_privilege_id_name_attnum"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3018), _1("has_column_privilege"), _2(4), _3(true), _4(false), _5(has_column_privilege_id_id_name), _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('s'), _19(0), _20(4, 26, 26, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_column_privilege_id_id_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3019), _1("has_column_privilege"), _2(4), _3(true), _4(false), _5(has_column_privilege_id_id_attnum), _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('s'), _19(0), _20(4, 26, 26, 21, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_column_privilege_id_id_attnum"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3020), _1("has_column_privilege"), _2(3), _3(true), _4(false), _5(has_column_privilege_name_name), _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('s'), _19(0), _20(3, 25, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_column_privilege_name_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3021), _1("has_column_privilege"), _2(3), _3(true), _4(false), _5(has_column_privilege_name_attnum), _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('s'), _19(0), _20(3, 25, 21, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_column_privilege_name_attnum"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3022), _1("has_column_privilege"), _2(3), _3(true), _4(false), _5(has_column_privilege_id_name), _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('s'), _19(0), _20(3, 26, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_column_privilege_id_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3023), _1("has_column_privilege"), _2(3), _3(true), _4(false), _5(has_column_privilege_id_attnum), _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('s'), _19(0), _20(3, 26, 21, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_column_privilege_id_attnum"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "has_database_privilege", 6, - AddBuiltinFunc(_0(2250), _1("has_database_privilege"), _2(3), _3(true), _4(false), _5(has_database_privilege_name_name), _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('s'), _19(0), _20(3, 19, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_database_privilege_name_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2251), _1("has_database_privilege"), _2(3), _3(true), _4(false), _5(has_database_privilege_name_id), _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('s'), _19(0), _20(3, 19, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_database_privilege_name_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2252), _1("has_database_privilege"), _2(3), _3(true), _4(false), _5(has_database_privilege_id_name), _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('s'), _19(0), _20(3, 26, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_database_privilege_id_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2253), _1("has_database_privilege"), _2(3), _3(true), _4(false), _5(has_database_privilege_id_id), _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('s'), _19(0), _20(3, 26, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_database_privilege_id_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2254), _1("has_database_privilege"), _2(2), _3(true), _4(false), _5(has_database_privilege_name), _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('s'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_database_privilege_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2255), _1("has_database_privilege"), _2(2), _3(true), _4(false), _5(has_database_privilege_id), _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('s'), _19(0), _20(2, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_database_privilege_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2250), _1("has_database_privilege"), _2(3), _3(true), _4(false), _5(has_database_privilege_name_name), _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('s'), _19(0), _20(3, 19, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_database_privilege_name_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2251), _1("has_database_privilege"), _2(3), _3(true), _4(false), _5(has_database_privilege_name_id), _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('s'), _19(0), _20(3, 19, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_database_privilege_name_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2252), _1("has_database_privilege"), _2(3), _3(true), _4(false), _5(has_database_privilege_id_name), _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('s'), _19(0), _20(3, 26, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_database_privilege_id_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2253), _1("has_database_privilege"), _2(3), _3(true), _4(false), _5(has_database_privilege_id_id), _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('s'), _19(0), _20(3, 26, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_database_privilege_id_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2254), _1("has_database_privilege"), _2(2), _3(true), _4(false), _5(has_database_privilege_name), _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('s'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_database_privilege_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2255), _1("has_database_privilege"), _2(2), _3(true), _4(false), _5(has_database_privilege_id), _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('s'), _19(0), _20(2, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_database_privilege_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "has_directory_privilege", 6, - AddBuiltinFunc(_0(4700), _1("has_directory_privilege"), _2(3), _3(true), _4(false), _5(has_directory_privilege_name_name), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(10), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(3, 19, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_directory_privilege_name_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(4701), _1("has_directory_privilege"), _2(3), _3(true), _4(false), _5(has_directory_privilege_name_id), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(10), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(3, 19, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_directory_privilege_name_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(4702), _1("has_directory_privilege"), _2(3), _3(true), _4(false), _5(has_directory_privilege_id_name), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(10), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(3, 26, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_directory_privilege_id_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(4703), _1("has_directory_privilege"), _2(3), _3(true), _4(false), _5(has_directory_privilege_id_id), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(10), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(3, 26, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_directory_privilege_id_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(4704), _1("has_directory_privilege"), _2(2), _3(true), _4(false), _5(has_directory_privilege_name), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(10), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_directory_privilege_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(4705), _1("has_directory_privilege"), _2(2), _3(true), _4(false), _5(has_directory_privilege_id), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(10), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(2, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_directory_privilege_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4700), _1("has_directory_privilege"), _2(3), _3(true), _4(false), _5(has_directory_privilege_name_name), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(10), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(3, 19, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_directory_privilege_name_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(4701), _1("has_directory_privilege"), _2(3), _3(true), _4(false), _5(has_directory_privilege_name_id), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(10), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(3, 19, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_directory_privilege_name_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(4702), _1("has_directory_privilege"), _2(3), _3(true), _4(false), _5(has_directory_privilege_id_name), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(10), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(3, 26, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_directory_privilege_id_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(4703), _1("has_directory_privilege"), _2(3), _3(true), _4(false), _5(has_directory_privilege_id_id), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(10), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(3, 26, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_directory_privilege_id_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(4704), _1("has_directory_privilege"), _2(2), _3(true), _4(false), _5(has_directory_privilege_name), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(10), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_directory_privilege_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(4705), _1("has_directory_privilege"), _2(2), _3(true), _4(false), _5(has_directory_privilege_id), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(10), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(2, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_directory_privilege_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "has_foreign_data_wrapper_privilege", 6, - AddBuiltinFunc(_0(3000), _1("has_foreign_data_wrapper_privilege"), _2(3), _3(true), _4(false), _5(has_foreign_data_wrapper_privilege_name_name), _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('s'), _19(0), _20(3, 19, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_foreign_data_wrapper_privilege_name_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3001), _1("has_foreign_data_wrapper_privilege"), _2(3), _3(true), _4(false), _5(has_foreign_data_wrapper_privilege_name_id), _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('s'), _19(0), _20(3, 19, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_foreign_data_wrapper_privilege_name_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3002), _1("has_foreign_data_wrapper_privilege"), _2(3), _3(true), _4(false), _5(has_foreign_data_wrapper_privilege_id_name), _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('s'), _19(0), _20(3, 26, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_foreign_data_wrapper_privilege_id_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3003), _1("has_foreign_data_wrapper_privilege"), _2(3), _3(true), _4(false), _5(has_foreign_data_wrapper_privilege_id_id), _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('s'), _19(0), _20(3, 26, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_foreign_data_wrapper_privilege_id_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3004), _1("has_foreign_data_wrapper_privilege"), _2(2), _3(true), _4(false), _5(has_foreign_data_wrapper_privilege_name), _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('s'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_foreign_data_wrapper_privilege_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3005), _1("has_foreign_data_wrapper_privilege"), _2(2), _3(true), _4(false), _5(has_foreign_data_wrapper_privilege_id), _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('s'), _19(0), _20(2, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_foreign_data_wrapper_privilege_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3000), _1("has_foreign_data_wrapper_privilege"), _2(3), _3(true), _4(false), _5(has_foreign_data_wrapper_privilege_name_name), _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('s'), _19(0), _20(3, 19, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_foreign_data_wrapper_privilege_name_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3001), _1("has_foreign_data_wrapper_privilege"), _2(3), _3(true), _4(false), _5(has_foreign_data_wrapper_privilege_name_id), _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('s'), _19(0), _20(3, 19, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_foreign_data_wrapper_privilege_name_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3002), _1("has_foreign_data_wrapper_privilege"), _2(3), _3(true), _4(false), _5(has_foreign_data_wrapper_privilege_id_name), _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('s'), _19(0), _20(3, 26, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_foreign_data_wrapper_privilege_id_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3003), _1("has_foreign_data_wrapper_privilege"), _2(3), _3(true), _4(false), _5(has_foreign_data_wrapper_privilege_id_id), _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('s'), _19(0), _20(3, 26, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_foreign_data_wrapper_privilege_id_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3004), _1("has_foreign_data_wrapper_privilege"), _2(2), _3(true), _4(false), _5(has_foreign_data_wrapper_privilege_name), _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('s'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_foreign_data_wrapper_privilege_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3005), _1("has_foreign_data_wrapper_privilege"), _2(2), _3(true), _4(false), _5(has_foreign_data_wrapper_privilege_id), _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('s'), _19(0), _20(2, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_foreign_data_wrapper_privilege_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "has_function_privilege", 6, - AddBuiltinFunc(_0(2256), _1("has_function_privilege"), _2(3), _3(true), _4(false), _5(has_function_privilege_name_name), _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('s'), _19(0), _20(3, 19, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_function_privilege_name_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2257), _1("has_function_privilege"), _2(3), _3(true), _4(false), _5(has_function_privilege_name_id), _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('s'), _19(0), _20(3, 19, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_function_privilege_name_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2258), _1("has_function_privilege"), _2(3), _3(true), _4(false), _5(has_function_privilege_id_name), _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('s'), _19(0), _20(3, 26, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_function_privilege_id_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2259), _1("has_function_privilege"), _2(3), _3(true), _4(false), _5(has_function_privilege_id_id), _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('s'), _19(0), _20(3, 26, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_function_privilege_id_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2260), _1("has_function_privilege"), _2(2), _3(true), _4(false), _5(has_function_privilege_name), _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('s'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_function_privilege_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2261), _1("has_function_privilege"), _2(2), _3(true), _4(false), _5(has_function_privilege_id), _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('s'), _19(0), _20(2, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_function_privilege_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2256), _1("has_function_privilege"), _2(3), _3(true), _4(false), _5(has_function_privilege_name_name), _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('s'), _19(0), _20(3, 19, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_function_privilege_name_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2257), _1("has_function_privilege"), _2(3), _3(true), _4(false), _5(has_function_privilege_name_id), _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('s'), _19(0), _20(3, 19, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_function_privilege_name_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2258), _1("has_function_privilege"), _2(3), _3(true), _4(false), _5(has_function_privilege_id_name), _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('s'), _19(0), _20(3, 26, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_function_privilege_id_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2259), _1("has_function_privilege"), _2(3), _3(true), _4(false), _5(has_function_privilege_id_id), _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('s'), _19(0), _20(3, 26, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_function_privilege_id_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2260), _1("has_function_privilege"), _2(2), _3(true), _4(false), _5(has_function_privilege_name), _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('s'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_function_privilege_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2261), _1("has_function_privilege"), _2(2), _3(true), _4(false), _5(has_function_privilege_id), _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('s'), _19(0), _20(2, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_function_privilege_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "has_language_privilege", 6, - AddBuiltinFunc(_0(2262), _1("has_language_privilege"), _2(3), _3(true), _4(false), _5(has_language_privilege_name_name), _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('s'), _19(0), _20(3, 19, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_language_privilege_name_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2263), _1("has_language_privilege"), _2(3), _3(true), _4(false), _5(has_language_privilege_name_id), _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('s'), _19(0), _20(3, 19, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_language_privilege_name_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2264), _1("has_language_privilege"), _2(3), _3(true), _4(false), _5(has_language_privilege_id_name), _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('s'), _19(0), _20(3, 26, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_language_privilege_id_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2265), _1("has_language_privilege"), _2(3), _3(true), _4(false), _5(has_language_privilege_id_id), _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('s'), _19(0), _20(3, 26, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_language_privilege_id_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2266), _1("has_language_privilege"), _2(2), _3(true), _4(false), _5(has_language_privilege_name), _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('s'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_language_privilege_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2267), _1("has_language_privilege"), _2(2), _3(true), _4(false), _5(has_language_privilege_id), _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('s'), _19(0), _20(2, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_language_privilege_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2262), _1("has_language_privilege"), _2(3), _3(true), _4(false), _5(has_language_privilege_name_name), _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('s'), _19(0), _20(3, 19, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_language_privilege_name_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2263), _1("has_language_privilege"), _2(3), _3(true), _4(false), _5(has_language_privilege_name_id), _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('s'), _19(0), _20(3, 19, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_language_privilege_name_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2264), _1("has_language_privilege"), _2(3), _3(true), _4(false), _5(has_language_privilege_id_name), _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('s'), _19(0), _20(3, 26, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_language_privilege_id_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2265), _1("has_language_privilege"), _2(3), _3(true), _4(false), _5(has_language_privilege_id_id), _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('s'), _19(0), _20(3, 26, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_language_privilege_id_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2266), _1("has_language_privilege"), _2(2), _3(true), _4(false), _5(has_language_privilege_name), _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('s'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_language_privilege_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2267), _1("has_language_privilege"), _2(2), _3(true), _4(false), _5(has_language_privilege_id), _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('s'), _19(0), _20(2, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_language_privilege_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "has_nodegroup_privilege", 6, - AddBuiltinFunc(_0(4201), _1("has_nodegroup_privilege"), _2(3), _3(true), _4(false), _5(has_nodegroup_privilege_name_name), _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('s'), _19(0), _20(3, 19, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_nodegroup_privilege_name_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(4202), _1("has_nodegroup_privilege"), _2(3), _3(true), _4(false), _5(has_nodegroup_privilege_name_id), _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('s'), _19(0), _20(3, 19, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_nodegroup_privilege_name_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(4203), _1("has_nodegroup_privilege"), _2(3), _3(true), _4(false), _5(has_nodegroup_privilege_id_name), _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('s'), _19(0), _20(3, 26, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_nodegroup_privilege_id_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(4204), _1("has_nodegroup_privilege"), _2(3), _3(true), _4(false), _5(has_nodegroup_privilege_id_id), _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('s'), _19(0), _20(3, 26, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_nodegroup_privilege_id_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(4205), _1("has_nodegroup_privilege"), _2(2), _3(true), _4(false), _5(has_nodegroup_privilege_name), _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('s'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_nodegroup_privilege_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(4206), _1("has_nodegroup_privilege"), _2(2), _3(true), _4(false), _5(has_nodegroup_privilege_id), _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('s'), _19(0), _20(2, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_nodegroup_privilege_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4201), _1("has_nodegroup_privilege"), _2(3), _3(true), _4(false), _5(has_nodegroup_privilege_name_name), _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('s'), _19(0), _20(3, 19, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_nodegroup_privilege_name_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(4202), _1("has_nodegroup_privilege"), _2(3), _3(true), _4(false), _5(has_nodegroup_privilege_name_id), _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('s'), _19(0), _20(3, 19, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_nodegroup_privilege_name_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(4203), _1("has_nodegroup_privilege"), _2(3), _3(true), _4(false), _5(has_nodegroup_privilege_id_name), _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('s'), _19(0), _20(3, 26, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_nodegroup_privilege_id_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(4204), _1("has_nodegroup_privilege"), _2(3), _3(true), _4(false), _5(has_nodegroup_privilege_id_id), _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('s'), _19(0), _20(3, 26, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_nodegroup_privilege_id_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(4205), _1("has_nodegroup_privilege"), _2(2), _3(true), _4(false), _5(has_nodegroup_privilege_name), _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('s'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_nodegroup_privilege_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(4206), _1("has_nodegroup_privilege"), _2(2), _3(true), _4(false), _5(has_nodegroup_privilege_id), _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('s'), _19(0), _20(2, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_nodegroup_privilege_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "has_schema_privilege", 6, - AddBuiltinFunc(_0(2268), _1("has_schema_privilege"), _2(3), _3(true), _4(false), _5(has_schema_privilege_name_name), _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('s'), _19(0), _20(3, 19, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_schema_privilege_name_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2269), _1("has_schema_privilege"), _2(3), _3(true), _4(false), _5(has_schema_privilege_name_id), _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('s'), _19(0), _20(3, 19, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_schema_privilege_name_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2270), _1("has_schema_privilege"), _2(3), _3(true), _4(false), _5(has_schema_privilege_id_name), _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('s'), _19(0), _20(3, 26, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_schema_privilege_id_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2271), _1("has_schema_privilege"), _2(3), _3(true), _4(false), _5(has_schema_privilege_id_id), _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('s'), _19(0), _20(3, 26, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_schema_privilege_id_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2272), _1("has_schema_privilege"), _2(2), _3(true), _4(false), _5(has_schema_privilege_name), _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('s'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_schema_privilege_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2273), _1("has_schema_privilege"), _2(2), _3(true), _4(false), _5(has_schema_privilege_id), _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('s'), _19(0), _20(2, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_schema_privilege_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2268), _1("has_schema_privilege"), _2(3), _3(true), _4(false), _5(has_schema_privilege_name_name), _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('s'), _19(0), _20(3, 19, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_schema_privilege_name_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2269), _1("has_schema_privilege"), _2(3), _3(true), _4(false), _5(has_schema_privilege_name_id), _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('s'), _19(0), _20(3, 19, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_schema_privilege_name_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2270), _1("has_schema_privilege"), _2(3), _3(true), _4(false), _5(has_schema_privilege_id_name), _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('s'), _19(0), _20(3, 26, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_schema_privilege_id_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2271), _1("has_schema_privilege"), _2(3), _3(true), _4(false), _5(has_schema_privilege_id_id), _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('s'), _19(0), _20(3, 26, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_schema_privilege_id_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2272), _1("has_schema_privilege"), _2(2), _3(true), _4(false), _5(has_schema_privilege_name), _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('s'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_schema_privilege_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2273), _1("has_schema_privilege"), _2(2), _3(true), _4(false), _5(has_schema_privilege_id), _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('s'), _19(0), _20(2, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_schema_privilege_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "has_sequence_privilege", 6, - AddBuiltinFunc(_0(2181), _1("has_sequence_privilege"), _2(3), _3(true), _4(false), _5(has_sequence_privilege_name_name), _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('s'), _19(0), _20(3, 19, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_sequence_privilege_name_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2182), _1("has_sequence_privilege"), _2(3), _3(true), _4(false), _5(has_sequence_privilege_name_id), _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('s'), _19(0), _20(3, 19, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_sequence_privilege_name_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2183), _1("has_sequence_privilege"), _2(3), _3(true), _4(false), _5(has_sequence_privilege_id_name), _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('s'), _19(0), _20(3, 26, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_sequence_privilege_id_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2184), _1("has_sequence_privilege"), _2(3), _3(true), _4(false), _5(has_sequence_privilege_id_id), _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('s'), _19(0), _20(3, 26, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_sequence_privilege_id_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2185), _1("has_sequence_privilege"), _2(2), _3(true), _4(false), _5(has_sequence_privilege_name), _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('s'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_sequence_privilege_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2186), _1("has_sequence_privilege"), _2(2), _3(true), _4(false), _5(has_sequence_privilege_id), _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('s'), _19(0), _20(2, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_sequence_privilege_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2181), _1("has_sequence_privilege"), _2(3), _3(true), _4(false), _5(has_sequence_privilege_name_name), _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('s'), _19(0), _20(3, 19, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_sequence_privilege_name_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2182), _1("has_sequence_privilege"), _2(3), _3(true), _4(false), _5(has_sequence_privilege_name_id), _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('s'), _19(0), _20(3, 19, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_sequence_privilege_name_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2183), _1("has_sequence_privilege"), _2(3), _3(true), _4(false), _5(has_sequence_privilege_id_name), _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('s'), _19(0), _20(3, 26, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_sequence_privilege_id_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2184), _1("has_sequence_privilege"), _2(3), _3(true), _4(false), _5(has_sequence_privilege_id_id), _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('s'), _19(0), _20(3, 26, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_sequence_privilege_id_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2185), _1("has_sequence_privilege"), _2(2), _3(true), _4(false), _5(has_sequence_privilege_name), _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('s'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_sequence_privilege_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2186), _1("has_sequence_privilege"), _2(2), _3(true), _4(false), _5(has_sequence_privilege_id), _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('s'), _19(0), _20(2, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_sequence_privilege_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "has_server_privilege", 6, - AddBuiltinFunc(_0(3006), _1("has_server_privilege"), _2(3), _3(true), _4(false), _5(has_server_privilege_name_name), _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('s'), _19(0), _20(3, 19, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_server_privilege_name_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3007), _1("has_server_privilege"), _2(3), _3(true), _4(false), _5(has_server_privilege_name_id), _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('s'), _19(0), _20(3, 19, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_server_privilege_name_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3008), _1("has_server_privilege"), _2(3), _3(true), _4(false), _5(has_server_privilege_id_name), _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('s'), _19(0), _20(3, 26, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_server_privilege_id_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3009), _1("has_server_privilege"), _2(3), _3(true), _4(false), _5(has_server_privilege_id_id), _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('s'), _19(0), _20(3, 26, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_server_privilege_id_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3010), _1("has_server_privilege"), _2(2), _3(true), _4(false), _5(has_server_privilege_name), _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('s'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_server_privilege_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3011), _1("has_server_privilege"), _2(2), _3(true), _4(false), _5(has_server_privilege_id), _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('s'), _19(0), _20(2, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_server_privilege_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3006), _1("has_server_privilege"), _2(3), _3(true), _4(false), _5(has_server_privilege_name_name), _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('s'), _19(0), _20(3, 19, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_server_privilege_name_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3007), _1("has_server_privilege"), _2(3), _3(true), _4(false), _5(has_server_privilege_name_id), _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('s'), _19(0), _20(3, 19, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_server_privilege_name_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3008), _1("has_server_privilege"), _2(3), _3(true), _4(false), _5(has_server_privilege_id_name), _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('s'), _19(0), _20(3, 26, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_server_privilege_id_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3009), _1("has_server_privilege"), _2(3), _3(true), _4(false), _5(has_server_privilege_id_id), _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('s'), _19(0), _20(3, 26, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_server_privilege_id_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3010), _1("has_server_privilege"), _2(2), _3(true), _4(false), _5(has_server_privilege_name), _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('s'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_server_privilege_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3011), _1("has_server_privilege"), _2(2), _3(true), _4(false), _5(has_server_privilege_id), _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('s'), _19(0), _20(2, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_server_privilege_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "has_table_privilege", 6, - AddBuiltinFunc(_0(1922), _1("has_table_privilege"), _2(3), _3(true), _4(false), _5(has_table_privilege_name_name), _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('s'), _19(0), _20(3, 19, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_table_privilege_name_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1923), _1("has_table_privilege"), _2(3), _3(true), _4(false), _5(has_table_privilege_name_id), _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('s'), _19(0), _20(3, 19, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_table_privilege_name_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1924), _1("has_table_privilege"), _2(3), _3(true), _4(false), _5(has_table_privilege_id_name), _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('s'), _19(0), _20(3, 26, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_table_privilege_id_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1925), _1("has_table_privilege"), _2(3), _3(true), _4(false), _5(has_table_privilege_id_id), _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('s'), _19(0), _20(3, 26, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_table_privilege_id_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1926), _1("has_table_privilege"), _2(2), _3(true), _4(false), _5(has_table_privilege_name), _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('s'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_table_privilege_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1927), _1("has_table_privilege"), _2(2), _3(true), _4(false), _5(has_table_privilege_id), _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('s'), _19(0), _20(2, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_table_privilege_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1922), _1("has_table_privilege"), _2(3), _3(true), _4(false), _5(has_table_privilege_name_name), _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('s'), _19(0), _20(3, 19, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_table_privilege_name_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1923), _1("has_table_privilege"), _2(3), _3(true), _4(false), _5(has_table_privilege_name_id), _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('s'), _19(0), _20(3, 19, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_table_privilege_name_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1924), _1("has_table_privilege"), _2(3), _3(true), _4(false), _5(has_table_privilege_id_name), _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('s'), _19(0), _20(3, 26, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_table_privilege_id_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1925), _1("has_table_privilege"), _2(3), _3(true), _4(false), _5(has_table_privilege_id_id), _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('s'), _19(0), _20(3, 26, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_table_privilege_id_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1926), _1("has_table_privilege"), _2(2), _3(true), _4(false), _5(has_table_privilege_name), _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('s'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_table_privilege_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1927), _1("has_table_privilege"), _2(2), _3(true), _4(false), _5(has_table_privilege_id), _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('s'), _19(0), _20(2, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_table_privilege_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "has_tablespace_privilege", 6, - AddBuiltinFunc(_0(2390), _1("has_tablespace_privilege"), _2(3), _3(true), _4(false), _5(has_tablespace_privilege_name_name), _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('s'), _19(0), _20(3, 19, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_tablespace_privilege_name_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2391), _1("has_tablespace_privilege"), _2(3), _3(true), _4(false), _5(has_tablespace_privilege_name_id), _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('s'), _19(0), _20(3, 19, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_tablespace_privilege_name_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2392), _1("has_tablespace_privilege"), _2(3), _3(true), _4(false), _5(has_tablespace_privilege_id_name), _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('s'), _19(0), _20(3, 26, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_tablespace_privilege_id_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2393), _1("has_tablespace_privilege"), _2(3), _3(true), _4(false), _5(has_tablespace_privilege_id_id), _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('s'), _19(0), _20(3, 26, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_tablespace_privilege_id_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2394), _1("has_tablespace_privilege"), _2(2), _3(true), _4(false), _5(has_tablespace_privilege_name), _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('s'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_tablespace_privilege_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2395), _1("has_tablespace_privilege"), _2(2), _3(true), _4(false), _5(has_tablespace_privilege_id), _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('s'), _19(0), _20(2, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_tablespace_privilege_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2390), _1("has_tablespace_privilege"), _2(3), _3(true), _4(false), _5(has_tablespace_privilege_name_name), _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('s'), _19(0), _20(3, 19, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_tablespace_privilege_name_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2391), _1("has_tablespace_privilege"), _2(3), _3(true), _4(false), _5(has_tablespace_privilege_name_id), _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('s'), _19(0), _20(3, 19, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_tablespace_privilege_name_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2392), _1("has_tablespace_privilege"), _2(3), _3(true), _4(false), _5(has_tablespace_privilege_id_name), _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('s'), _19(0), _20(3, 26, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_tablespace_privilege_id_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2393), _1("has_tablespace_privilege"), _2(3), _3(true), _4(false), _5(has_tablespace_privilege_id_id), _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('s'), _19(0), _20(3, 26, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_tablespace_privilege_id_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2394), _1("has_tablespace_privilege"), _2(2), _3(true), _4(false), _5(has_tablespace_privilege_name), _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('s'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_tablespace_privilege_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2395), _1("has_tablespace_privilege"), _2(2), _3(true), _4(false), _5(has_tablespace_privilege_id), _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('s'), _19(0), _20(2, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_tablespace_privilege_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "has_type_privilege", 6, - AddBuiltinFunc(_0(3138), _1("has_type_privilege"), _2(3), _3(true), _4(false), _5(has_type_privilege_name_name), _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('s'), _19(0), _20(3, 19, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_type_privilege_name_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3139), _1("has_type_privilege"), _2(3), _3(true), _4(false), _5(has_type_privilege_name_id), _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('s'), _19(0), _20(3, 19, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_type_privilege_name_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3140), _1("has_type_privilege"), _2(3), _3(true), _4(false), _5(has_type_privilege_id_name), _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('s'), _19(0), _20(3, 26, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_type_privilege_id_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3141), _1("has_type_privilege"), _2(3), _3(true), _4(false), _5(has_type_privilege_id_id), _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('s'), _19(0), _20(3, 26, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_type_privilege_id_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3142), _1("has_type_privilege"), _2(2), _3(true), _4(false), _5(has_type_privilege_name), _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('s'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_type_privilege_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3143), _1("has_type_privilege"), _2(2), _3(true), _4(false), _5(has_type_privilege_id), _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('s'), _19(0), _20(2, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_type_privilege_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3138), _1("has_type_privilege"), _2(3), _3(true), _4(false), _5(has_type_privilege_name_name), _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('s'), _19(0), _20(3, 19, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_type_privilege_name_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3139), _1("has_type_privilege"), _2(3), _3(true), _4(false), _5(has_type_privilege_name_id), _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('s'), _19(0), _20(3, 19, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_type_privilege_name_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3140), _1("has_type_privilege"), _2(3), _3(true), _4(false), _5(has_type_privilege_id_name), _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('s'), _19(0), _20(3, 26, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_type_privilege_id_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3141), _1("has_type_privilege"), _2(3), _3(true), _4(false), _5(has_type_privilege_id_id), _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('s'), _19(0), _20(3, 26, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_type_privilege_id_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3142), _1("has_type_privilege"), _2(2), _3(true), _4(false), _5(has_type_privilege_name), _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('s'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_type_privilege_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3143), _1("has_type_privilege"), _2(2), _3(true), _4(false), _5(has_type_privilege_id), _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('s'), _19(0), _20(2, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("has_type_privilege_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hash_aclitem", 1, - AddBuiltinFunc(_0(329), _1("hash_aclitem"), _2(1), _3(true), _4(false), _5(hash_aclitem), _6(23), _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(1, 1033), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hash_aclitem"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(329), _1("hash_aclitem"), _2(1), _3(true), _4(false), _5(hash_aclitem), _6(23), _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(1, 1033), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hash_aclitem"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hash_array", 1, - AddBuiltinFunc(_0(626), _1("hash_array"), _2(1), _3(true), _4(false), _5(hash_array), _6(23), _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(1, 2277), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hash_array"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(626), _1("hash_array"), _2(1), _3(true), _4(false), _5(hash_array), _6(23), _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(1, 2277), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hash_array"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hash_numeric", 1, - AddBuiltinFunc(_0(432), _1("hash_numeric"), _2(1), _3(true), _4(false), _5(hash_numeric), _6(23), _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(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hash_numeric"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(432), _1("hash_numeric"), _2(1), _3(true), _4(false), _5(hash_numeric), _6(23), _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(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hash_numeric"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hash_range", 1, - AddBuiltinFunc(_0(3902), _1("hash_range"), _2(1), _3(true), _4(false), _5(hash_range), _6(23), _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(1, 3831), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hash_range"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3902), _1("hash_range"), _2(1), _3(true), _4(false), _5(hash_range), _6(23), _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(1, 3831), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hash_range"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hashbeginscan", 1, - AddBuiltinFunc(_0(443), _1("hashbeginscan"), _2(3), _3(true), _4(false), _5(hashbeginscan), _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('v'), _19(0), _20(3, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashbeginscan"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(443), _1("hashbeginscan"), _2(3), _3(true), _4(false), _5(hashbeginscan), _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('v'), _19(0), _20(3, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashbeginscan"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hashbpchar", 1, - AddBuiltinFunc(_0(HASHBPCHAROID), _1("hashbpchar"), _2(1), _3(true), _4(false), _5(hashbpchar), _6(23), _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(1, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashbpchar"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(HASHBPCHAROID), _1("hashbpchar"), _2(1), _3(true), _4(false), _5(hashbpchar), _6(23), _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(1, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashbpchar"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hashbuild", 1, - AddBuiltinFunc(_0(448), _1("hashbuild"), _2(3), _3(true), _4(false), _5(hashbuild), _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('v'), _19(0), _20(3, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashbuild"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(448), _1("hashbuild"), _2(3), _3(true), _4(false), _5(hashbuild), _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('v'), _19(0), _20(3, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashbuild"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hashbuildempty", 1, - AddBuiltinFunc(_0(327), _1("hashbuildempty"), _2(1), _3(true), _4(false), _5(hashbuildempty), _6(2278), _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('v'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashbuildempty"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(327), _1("hashbuildempty"), _2(1), _3(true), _4(false), _5(hashbuildempty), _6(2278), _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('v'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashbuildempty"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hashbulkdelete", 1, - AddBuiltinFunc(_0(442), _1("hashbulkdelete"), _2(4), _3(true), _4(false), _5(hashbulkdelete), _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('v'), _19(0), _20(4, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashbulkdelete"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(442), _1("hashbulkdelete"), _2(4), _3(true), _4(false), _5(hashbulkdelete), _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('v'), _19(0), _20(4, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashbulkdelete"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hashchar", 1, - AddBuiltinFunc(_0(454), _1("hashchar"), _2(1), _3(true), _4(false), _5(hashchar), _6(23), _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(1, 18), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashchar"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(454), _1("hashchar"), _2(1), _3(true), _4(false), _5(hashchar), _6(23), _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(1, 18), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashchar"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hashcostestimate", 1, - AddBuiltinFunc(_0(438), _1("hashcostestimate"), _2(7), _3(true), _4(false), _5(hashcostestimate), _6(2278), _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('v'), _19(0), _20(7, 2281, 2281, 2281, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashcostestimate"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(438), _1("hashcostestimate"), _2(7), _3(true), _4(false), _5(hashcostestimate), _6(2278), _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('v'), _19(0), _20(7, 2281, 2281, 2281, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashcostestimate"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hashendscan", 1, - AddBuiltinFunc(_0(445), _1("hashendscan"), _2(1), _3(true), _4(false), _5(hashendscan), _6(2278), _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('v'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashendscan"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(445), _1("hashendscan"), _2(1), _3(true), _4(false), _5(hashendscan), _6(2278), _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('v'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashendscan"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hashenum", 1, - AddBuiltinFunc(_0(3515), _1("hashenum"), _2(1), _3(true), _4(false), _5(hashenum), _6(23), _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(1, 3500), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashenum"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3515), _1("hashenum"), _2(1), _3(true), _4(false), _5(hashenum), _6(23), _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(1, 3500), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashenum"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hashfloat4", 1, - AddBuiltinFunc(_0(451), _1("hashfloat4"), _2(1), _3(true), _4(false), _5(hashfloat4), _6(23), _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(1, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashfloat4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(451), _1("hashfloat4"), _2(1), _3(true), _4(false), _5(hashfloat4), _6(23), _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(1, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashfloat4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hashfloat8", 1, - AddBuiltinFunc(_0(452), _1("hashfloat8"), _2(1), _3(true), _4(false), _5(hashfloat8), _6(23), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashfloat8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(452), _1("hashfloat8"), _2(1), _3(true), _4(false), _5(hashfloat8), _6(23), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashfloat8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hashgetbitmap", 1, - AddBuiltinFunc(_0(637), _1("hashgetbitmap"), _2(2), _3(true), _4(false), _5(hashgetbitmap), _6(20), _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('v'), _19(0), _20(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashgetbitmap"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(637), _1("hashgetbitmap"), _2(2), _3(true), _4(false), _5(hashgetbitmap), _6(20), _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('v'), _19(0), _20(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashgetbitmap"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hashgettuple", 1, - AddBuiltinFunc(_0(440), _1("hashgettuple"), _2(2), _3(true), _4(false), _5(hashgettuple), _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('v'), _19(0), _20(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashgettuple"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(440), _1("hashgettuple"), _2(2), _3(true), _4(false), _5(hashgettuple), _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('v'), _19(0), _20(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashgettuple"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hashinet", 1, - AddBuiltinFunc(_0(422), _1("hashinet"), _2(1), _3(true), _4(false), _5(hashinet), _6(23), _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(1, 869), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashinet"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(422), _1("hashinet"), _2(1), _3(true), _4(false), _5(hashinet), _6(23), _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(1, 869), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashinet"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hashinsert", 1, - AddBuiltinFunc(_0(441), _1("hashinsert"), _2(6), _3(true), _4(false), _5(hashinsert), _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('v'), _19(0), _20(6, 2281, 2281, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashinsert"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(441), _1("hashinsert"), _2(6), _3(true), _4(false), _5(hashinsert), _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('v'), _19(0), _20(6, 2281, 2281, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashinsert"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hashint1", 1, - AddBuiltinFunc(_0(5520), _1("hashint1"), _2(1), _3(true), _4(false), _5(hashint1), _6(23), _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(1, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashint1"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5520), _1("hashint1"), _2(1), _3(true), _4(false), _5(hashint1), _6(23), _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(1, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashint1"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hashint2", 1, - AddBuiltinFunc(_0(449), _1("hashint2"), _2(1), _3(true), _4(false), _5(hashint2), _6(23), _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(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashint2"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(449), _1("hashint2"), _2(1), _3(true), _4(false), _5(hashint2), _6(23), _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(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashint2"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hashint2vector", 1, - AddBuiltinFunc(_0(398), _1("hashint2vector"), _2(1), _3(true), _4(false), _5(hashint2vector), _6(23), _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(1, 22), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashint2vector"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(398), _1("hashint2vector"), _2(1), _3(true), _4(false), _5(hashint2vector), _6(23), _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(1, 22), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashint2vector"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hashint4", 1, - AddBuiltinFunc(_0(HASHINT4OID), _1("hashint4"), _2(1), _3(true), _4(false), _5(hashint4), _6(23), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashint4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(HASHINT4OID), _1("hashint4"), _2(1), _3(true), _4(false), _5(hashint4), _6(23), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashint4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hashint8", 1, - AddBuiltinFunc(_0(HASHINT8OID), _1("hashint8"), _2(1), _3(true), _4(false), _5(hashint8), _6(23), _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(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashint8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(HASHINT8OID), _1("hashint8"), _2(1), _3(true), _4(false), _5(hashint8), _6(23), _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(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashint8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hashmacaddr", 1, - AddBuiltinFunc(_0(399), _1("hashmacaddr"), _2(1), _3(true), _4(false), _5(hashmacaddr), _6(23), _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(1, 829), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashmacaddr"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(399), _1("hashmacaddr"), _2(1), _3(true), _4(false), _5(hashmacaddr), _6(23), _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(1, 829), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashmacaddr"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hashmarkpos", 1, - AddBuiltinFunc(_0(446), _1("hashmarkpos"), _2(1), _3(true), _4(false), _5(hashmarkpos), _6(2278), _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('v'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashmarkpos"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(446), _1("hashmarkpos"), _2(1), _3(true), _4(false), _5(hashmarkpos), _6(2278), _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('v'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashmarkpos"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hashmerge", 1, - AddBuiltinFunc(_0(3185), _1("hashmerge"), _2(5), _3(true), _4(false), _5(hashmerge), _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('v'), _19(0), _20(5, 2281, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashmerge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3185), _1("hashmerge"), _2(5), _3(true), _4(false), _5(hashmerge), _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('v'), _19(0), _20(5, 2281, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashmerge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hashname", 1, - AddBuiltinFunc(_0(455), _1("hashname"), _2(1), _3(true), _4(false), _5(hashname), _6(23), _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(1, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashname"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(455), _1("hashname"), _2(1), _3(true), _4(false), _5(hashname), _6(23), _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(1, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashname"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hashoid", 1, - AddBuiltinFunc(_0(453), _1("hashoid"), _2(1), _3(true), _4(false), _5(hashoid), _6(23), _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(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashoid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(453), _1("hashoid"), _2(1), _3(true), _4(false), _5(hashoid), _6(23), _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(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashoid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hashoidvector", 1, - AddBuiltinFunc(_0(457), _1("hashoidvector"), _2(1), _3(true), _4(false), _5(hashoidvector), _6(23), _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(1, 30), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashoidvector"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(457), _1("hashoidvector"), _2(1), _3(true), _4(false), _5(hashoidvector), _6(23), _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(1, 30), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashoidvector"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hashoptions", 1, - AddBuiltinFunc(_0(2786), _1("hashoptions"), _2(2), _3(true), _4(false), _5(hashoptions), _6(17), _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('s'), _19(0), _20(2, 1009, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashoptions"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2786), _1("hashoptions"), _2(2), _3(true), _4(false), _5(hashoptions), _6(17), _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('s'), _19(0), _20(2, 1009, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashoptions"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hashrescan", 1, - AddBuiltinFunc(_0(444), _1("hashrescan"), _2(5), _3(true), _4(false), _5(hashrescan), _6(2278), _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('v'), _19(0), _20(5, 2281, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashrescan"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(444), _1("hashrescan"), _2(5), _3(true), _4(false), _5(hashrescan), _6(2278), _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('v'), _19(0), _20(5, 2281, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashrescan"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hashrestrpos", 1, - AddBuiltinFunc(_0(447), _1("hashrestrpos"), _2(1), _3(true), _4(false), _5(hashrestrpos), _6(2278), _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('v'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashrestrpos"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(447), _1("hashrestrpos"), _2(1), _3(true), _4(false), _5(hashrestrpos), _6(2278), _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('v'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashrestrpos"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hashtext", 1, - AddBuiltinFunc(_0(HASHTEXTOID), _1("hashtext"), _2(1), _3(true), _4(false), _5(hashtext), _6(23), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashtext"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(HASHTEXTOID), _1("hashtext"), _2(1), _3(true), _4(false), _5(hashtext), _6(23), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashtext"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hashvacuumcleanup", 1, - AddBuiltinFunc(_0(425), _1("hashvacuumcleanup"), _2(2), _3(true), _4(false), _5(hashvacuumcleanup), _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('v'), _19(0), _20(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashvacuumcleanup"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(425), _1("hashvacuumcleanup"), _2(2), _3(true), _4(false), _5(hashvacuumcleanup), _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('v'), _19(0), _20(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashvacuumcleanup"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hashvarlena", 1, - AddBuiltinFunc(_0(456), _1("hashvarlena"), _2(1), _3(true), _4(false), _5(hashvarlena), _6(23), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashvarlena"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(456), _1("hashvarlena"), _2(1), _3(true), _4(false), _5(hashvarlena), _6(23), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hashvarlena"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "height", 1, - AddBuiltinFunc(_0(977), _1("height"), _2(1), _3(true), _4(false), _5(box_height), _6(701), _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(1, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_height"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(977), _1("height"), _2(1), _3(true), _4(false), _5(box_height), _6(701), _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(1, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_height"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hextoraw", 1, - AddBuiltinFunc(_0(4038), _1("hextoraw"), _2(1), _3(true), _4(false), _5(texttoraw), _6(86), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("texttoraw"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4038), _1("hextoraw"), _2(1), _3(true), _4(false), _5(texttoraw), _6(86), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("texttoraw"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hll", 1, - AddBuiltinFunc(_0(4311), _1("hll"), _2(3), _3(true), _4(false), _5(hll), _6(4301), _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(3, 4301, 23, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4311), _1("hll"), _2(3), _3(true), _4(false), _5(hll), _6(4301), _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(3, 4301, 23, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hll_add", 1, - AddBuiltinFunc(_0(4322), _1("hll_add"), _2(2), _3(true), _4(false), _5(hll_add), _6(4301), _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(2, 4301, 4303), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_add"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4322), _1("hll_add"), _2(2), _3(true), _4(false), _5(hll_add), _6(4301), _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(2, 4301, 4303), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_add"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hll_add_agg", 5, - AddBuiltinFunc(_0(4366), _1("hll_add_agg"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(4301), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 4303), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")), - AddBuiltinFunc(_0(4380), _1("hll_add_agg"), _2(2), _3(false), _4(false), _5(aggregate_dummy), _6(4301), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 4303, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")), - AddBuiltinFunc(_0(4381), _1("hll_add_agg"), _2(3), _3(false), _4(false), _5(aggregate_dummy), _6(4301), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(3, 4303, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")), - AddBuiltinFunc(_0(4382), _1("hll_add_agg"), _2(4), _3(false), _4(false), _5(aggregate_dummy), _6(4301), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(4, 4303, 23, 23, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")), - AddBuiltinFunc(_0(4383), _1("hll_add_agg"), _2(5), _3(false), _4(false), _5(aggregate_dummy), _6(4301), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(5, 4303, 23, 23, 20, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4366), _1("hll_add_agg"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(4301), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 4303), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(4380), _1("hll_add_agg"), _2(2), _3(false), _4(false), _5(aggregate_dummy), _6(4301), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 4303, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(4381), _1("hll_add_agg"), _2(3), _3(false), _4(false), _5(aggregate_dummy), _6(4301), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(3, 4303, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(4382), _1("hll_add_agg"), _2(4), _3(false), _4(false), _5(aggregate_dummy), _6(4301), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(4, 4303, 23, 23, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(4383), _1("hll_add_agg"), _2(5), _3(false), _4(false), _5(aggregate_dummy), _6(4301), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(5, 4303, 23, 23, 20, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hll_add_rev", 1, - AddBuiltinFunc(_0(4323), _1("hll_add_rev"), _2(2), _3(true), _4(false), _5(hll_add_rev), _6(4301), _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(2, 4303, 4301), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_add_rev"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4323), _1("hll_add_rev"), _2(2), _3(true), _4(false), _5(hll_add_rev), _6(4301), _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(2, 4303, 4301), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_add_rev"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hll_add_trans0", 1, - AddBuiltinFunc(_0(4351), _1("hll_add_trans0"), _2(2), _3(false), _4(false), _5(hll_add_trans0), _6(4370), _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('v'), _19(0), _20(2, 4370, 4303), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_add_trans0"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4351), _1("hll_add_trans0"), _2(2), _3(false), _4(false), _5(hll_add_trans0), _6(4370), _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('v'), _19(0), _20(2, 4370, 4303), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_add_trans0"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hll_add_trans1", 1, - AddBuiltinFunc(_0(4336), _1("hll_add_trans1"), _2(3), _3(false), _4(false), _5(hll_add_trans1), _6(4370), _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('v'), _19(0), _20(3, 4370, 4303, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_add_trans1"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4336), _1("hll_add_trans1"), _2(3), _3(false), _4(false), _5(hll_add_trans1), _6(4370), _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('v'), _19(0), _20(3, 4370, 4303, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_add_trans1"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hll_add_trans2", 1, - AddBuiltinFunc(_0(4337), _1("hll_add_trans2"), _2(4), _3(false), _4(false), _5(hll_add_trans2), _6(4370), _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('v'), _19(0), _20(4, 4370, 4303, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_add_trans2"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4337), _1("hll_add_trans2"), _2(4), _3(false), _4(false), _5(hll_add_trans2), _6(4370), _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('v'), _19(0), _20(4, 4370, 4303, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_add_trans2"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hll_add_trans3", 1, - AddBuiltinFunc(_0(4338), _1("hll_add_trans3"), _2(5), _3(false), _4(false), _5(hll_add_trans3), _6(4370), _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('v'), _19(0), _20(5, 4370, 4303, 23, 23, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_add_trans3"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4338), _1("hll_add_trans3"), _2(5), _3(false), _4(false), _5(hll_add_trans3), _6(4370), _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('v'), _19(0), _20(5, 4370, 4303, 23, 23, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_add_trans3"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hll_add_trans4", 1, - AddBuiltinFunc(_0(4360), _1("hll_add_trans4"), _2(6), _3(false), _4(false), _5(hll_add_trans4), _6(4370), _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('v'), _19(0), _20(6, 4370, 4303, 23, 23, 20, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_add_trans4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4360), _1("hll_add_trans4"), _2(6), _3(false), _4(false), _5(hll_add_trans4), _6(4370), _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('v'), _19(0), _20(6, 4370, 4303, 23, 23, 20, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_add_trans4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hll_cardinality", 1, - AddBuiltinFunc(_0(4320), _1("hll_cardinality"), _2(1), _3(true), _4(false), _5(hll_cardinality), _6(701), _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(1, 4301), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_cardinality"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4320), _1("hll_cardinality"), _2(1), _3(true), _4(false), _5(hll_cardinality), _6(701), _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(1, 4301), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_cardinality"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hll_empty", 5, - AddBuiltinFunc(_0(4325), _1("hll_empty"), _2(0), _3(true), _4(false), _5(hll_empty0), _6(4301), _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(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_empty0"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")), - AddBuiltinFunc(_0(4326), _1("hll_empty"), _2(1), _3(true), _4(false), _5(hll_empty1), _6(4301), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_empty1"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")), - AddBuiltinFunc(_0(4327), _1("hll_empty"), _2(2), _3(true), _4(false), _5(hll_empty2), _6(4301), _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(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_empty2"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")), - AddBuiltinFunc(_0(4328), _1("hll_empty"), _2(3), _3(true), _4(false), _5(hll_empty3), _6(4301), _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(3, 23, 23, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_empty3"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")), - AddBuiltinFunc(_0(4329), _1("hll_empty"), _2(4), _3(true), _4(false), _5(hll_empty4), _6(4301), _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(4, 23, 23, 20, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_empty4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4325), _1("hll_empty"), _2(0), _3(true), _4(false), _5(hll_empty0), _6(4301), _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(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_empty0"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(4326), _1("hll_empty"), _2(1), _3(true), _4(false), _5(hll_empty1), _6(4301), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_empty1"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(4327), _1("hll_empty"), _2(2), _3(true), _4(false), _5(hll_empty2), _6(4301), _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(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_empty2"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(4328), _1("hll_empty"), _2(3), _3(true), _4(false), _5(hll_empty3), _6(4301), _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(3, 23, 23, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_empty3"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(4329), _1("hll_empty"), _2(4), _3(true), _4(false), _5(hll_empty4), _6(4301), _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(4, 23, 23, 20, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_empty4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hll_eq", 1, - AddBuiltinFunc(_0(4318), _1("hll_eq"), _2(2), _3(true), _4(false), _5(hll_eq), _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(2, 4301, 4301), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4318), _1("hll_eq"), _2(2), _3(true), _4(false), _5(hll_eq), _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(2, 4301, 4301), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hll_expthresh", 1, - AddBuiltinFunc(_0(4334), _1("hll_expthresh"), _2(1), _3(true), _4(false), _5(hll_expthresh), _6(2249), _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(1, 4301), _21(3, 4301, 20, 20), _22(3, 'i', 'o', 'o'), _23(3, "data", "specified", "effective"), _24(NULL), _25("hll_expthresh"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4334), _1("hll_expthresh"), _2(1), _3(true), _4(false), _5(hll_expthresh), _6(2249), _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(1, 4301), _21(3, 4301, 20, 20), _22(3, 'i', 'o', 'o'), _23(3, "data", "specified", "effective"), _24(NULL), _25("hll_expthresh"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hll_hash_any", 2, - AddBuiltinFunc(_0(4345), _1("hll_hash_any"), _2(1), _3(true), _4(false), _5(hll_hash_any), _6(4303), _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(1, 2283), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_hash_any"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")), - AddBuiltinFunc(_0(4359), _1("hll_hash_any"), _2(2), _3(true), _4(false), _5(hll_hash_anys), _6(4303), _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(2, 2283, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_hash_anys"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4345), _1("hll_hash_any"), _2(1), _3(true), _4(false), _5(hll_hash_any), _6(4303), _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(1, 2283), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_hash_any"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(4359), _1("hll_hash_any"), _2(2), _3(true), _4(false), _5(hll_hash_anys), _6(4303), _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(2, 2283, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_hash_anys"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hll_hash_bigint", 2, - AddBuiltinFunc(_0(4342), _1("hll_hash_bigint"), _2(1), _3(true), _4(false), _5(hll_hash_8byte), _6(4303), _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(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_hash_8byte"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")), - AddBuiltinFunc(_0(4356), _1("hll_hash_bigint"), _2(2), _3(true), _4(false), _5(hll_hash_8bytes), _6(4303), _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(2, 20, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_hash_8bytes"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4342), _1("hll_hash_bigint"), _2(1), _3(true), _4(false), _5(hll_hash_8byte), _6(4303), _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(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_hash_8byte"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(4356), _1("hll_hash_bigint"), _2(2), _3(true), _4(false), _5(hll_hash_8bytes), _6(4303), _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(2, 20, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_hash_8bytes"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hll_hash_boolean", 2, - AddBuiltinFunc(_0(4339), _1("hll_hash_boolean"), _2(1), _3(true), _4(false), _5(hll_hash_1byte), _6(4303), _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(1, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_hash_1byte"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")), - AddBuiltinFunc(_0(4353), _1("hll_hash_boolean"), _2(2), _3(true), _4(false), _5(hll_hash_1bytes), _6(4303), _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(2, 16, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_hash_1bytes"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4339), _1("hll_hash_boolean"), _2(1), _3(true), _4(false), _5(hll_hash_1byte), _6(4303), _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(1, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_hash_1byte"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(4353), _1("hll_hash_boolean"), _2(2), _3(true), _4(false), _5(hll_hash_1bytes), _6(4303), _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(2, 16, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_hash_1bytes"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hll_hash_bytea", 2, - AddBuiltinFunc(_0(4343), _1("hll_hash_bytea"), _2(1), _3(true), _4(false), _5(hll_hash_varlena), _6(4303), _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(1, 17), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_hash_varlena"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")), - AddBuiltinFunc(_0(4357), _1("hll_hash_bytea"), _2(2), _3(true), _4(false), _5(hll_hash_varlenas), _6(4303), _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(2, 17, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_hash_varlenas"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4343), _1("hll_hash_bytea"), _2(1), _3(true), _4(false), _5(hll_hash_varlena), _6(4303), _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(1, 17), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_hash_varlena"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(4357), _1("hll_hash_bytea"), _2(2), _3(true), _4(false), _5(hll_hash_varlenas), _6(4303), _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(2, 17, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_hash_varlenas"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hll_hash_byteawithoutorderwithequalcol", 1, - AddBuiltinFunc(_0(4369), _1("hll_hash_byteawithoutorderwithequalcol"), _2(1), _3(true), _4(false), _5(hll_hash_varlena), _6(4303), _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(1, 4402), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_hash_varlena"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4369), _1("hll_hash_byteawithoutorderwithequalcol"), _2(1), _3(true), _4(false), _5(hll_hash_varlena), _6(4303), _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(1, 4402), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_hash_varlena"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hll_hash_integer", 2, - AddBuiltinFunc(_0(4341), _1("hll_hash_integer"), _2(1), _3(true), _4(false), _5(hll_hash_4byte), _6(4303), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_hash_4byte"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")), - AddBuiltinFunc(_0(4355), _1("hll_hash_integer"), _2(2), _3(true), _4(false), _5(hll_hash_4bytes), _6(4303), _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(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_hash_4bytes"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4341), _1("hll_hash_integer"), _2(1), _3(true), _4(false), _5(hll_hash_4byte), _6(4303), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_hash_4byte"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(4355), _1("hll_hash_integer"), _2(2), _3(true), _4(false), _5(hll_hash_4bytes), _6(4303), _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(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_hash_4bytes"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hll_hash_smallint", 2, - AddBuiltinFunc(_0(4340), _1("hll_hash_smallint"), _2(1), _3(true), _4(false), _5(hll_hash_2byte), _6(4303), _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(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_hash_2byte"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")), - AddBuiltinFunc(_0(4354), _1("hll_hash_smallint"), _2(2), _3(true), _4(false), _5(hll_hash_2bytes), _6(4303), _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(2, 21, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_hash_2bytes"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4340), _1("hll_hash_smallint"), _2(1), _3(true), _4(false), _5(hll_hash_2byte), _6(4303), _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(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_hash_2byte"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(4354), _1("hll_hash_smallint"), _2(2), _3(true), _4(false), _5(hll_hash_2bytes), _6(4303), _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(2, 21, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_hash_2bytes"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hll_hash_text", 2, - AddBuiltinFunc(_0(4344), _1("hll_hash_text"), _2(1), _3(true), _4(false), _5(hll_hash_varlena), _6(4303), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_hash_varlena"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")), - AddBuiltinFunc(_0(4358), _1("hll_hash_text"), _2(2), _3(true), _4(false), _5(hll_hash_varlenas), _6(4303), _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(2, 25, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_hash_varlenas"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4344), _1("hll_hash_text"), _2(1), _3(true), _4(false), _5(hll_hash_varlena), _6(4303), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_hash_varlena"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(4358), _1("hll_hash_text"), _2(2), _3(true), _4(false), _5(hll_hash_varlenas), _6(4303), _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(2, 25, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_hash_varlenas"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hll_hashval", 1, - AddBuiltinFunc(_0(4316), _1("hll_hashval"), _2(1), _3(true), _4(false), _5(hll_hashval), _6(4303), _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(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_hashval"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4316), _1("hll_hashval"), _2(1), _3(true), _4(false), _5(hll_hashval), _6(4303), _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(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_hashval"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hll_hashval_eq", 1, - AddBuiltinFunc(_0(4314), _1("hll_hashval_eq"), _2(2), _3(true), _4(false), _5(hll_hashval_eq), _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(2, 4303, 4303), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_hashval_eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4314), _1("hll_hashval_eq"), _2(2), _3(true), _4(false), _5(hll_hashval_eq), _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(2, 4303, 4303), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_hashval_eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hll_hashval_in", 1, - AddBuiltinFunc(_0(4312), _1("hll_hashval_in"), _2(3), _3(true), _4(false), _5(hll_hashval_in), _6(4303), _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(3, 2275, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_hashval_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4312), _1("hll_hashval_in"), _2(3), _3(true), _4(false), _5(hll_hashval_in), _6(4303), _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(3, 2275, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_hashval_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hll_hashval_int4", 1, - AddBuiltinFunc(_0(4317), _1("hll_hashval_int4"), _2(1), _3(true), _4(false), _5(hll_hashval_int4), _6(4303), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_hashval_int4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4317), _1("hll_hashval_int4"), _2(1), _3(true), _4(false), _5(hll_hashval_int4), _6(4303), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_hashval_int4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hll_hashval_ne", 1, - AddBuiltinFunc(_0(4315), _1("hll_hashval_ne"), _2(2), _3(true), _4(false), _5(hll_hashval_ne), _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(2, 4303, 4303), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_hashval_ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4315), _1("hll_hashval_ne"), _2(2), _3(true), _4(false), _5(hll_hashval_ne), _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(2, 4303, 4303), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_hashval_ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hll_hashval_out", 1, - AddBuiltinFunc(_0(4313), _1("hll_hashval_out"), _2(1), _3(true), _4(false), _5(hll_hashval_out), _6(2275), _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(1, 4303), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_hashval_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4313), _1("hll_hashval_out"), _2(1), _3(true), _4(false), _5(hll_hashval_out), _6(2275), _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(1, 4303), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_hashval_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hll_in", 1, - AddBuiltinFunc(_0(4305), _1("hll_in"), _2(3), _3(true), _4(false), _5(hll_in), _6(4301), _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(3, 2275, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4305), _1("hll_in"), _2(3), _3(true), _4(false), _5(hll_in), _6(4301), _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(3, 2275, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hll_log2m", 1, - AddBuiltinFunc(_0(4332), _1("hll_log2m"), _2(1), _3(true), _4(false), _5(hll_log2m), _6(23), _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(1, 4301), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_log2m"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4332), _1("hll_log2m"), _2(1), _3(true), _4(false), _5(hll_log2m), _6(23), _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(1, 4301), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_log2m"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hll_ne", 1, - AddBuiltinFunc(_0(4319), _1("hll_ne"), _2(2), _3(true), _4(false), _5(hll_ne), _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(2, 4301, 4301), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4319), _1("hll_ne"), _2(2), _3(true), _4(false), _5(hll_ne), _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(2, 4301, 4301), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hll_out", 1, - AddBuiltinFunc(_0(4306), _1("hll_out"), _2(1), _3(true), _4(false), _5(hll_out), _6(2275), _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(1, 4301), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4306), _1("hll_out"), _2(1), _3(true), _4(false), _5(hll_out), _6(2275), _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(1, 4301), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hll_pack", 1, - AddBuiltinFunc(_0(4352), _1("hll_pack"), _2(1), _3(false), _4(false), _5(hll_pack), _6(4301), _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('v'), _19(0), _20(1, 4370), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_pack"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4352), _1("hll_pack"), _2(1), _3(false), _4(false), _5(hll_pack), _6(4301), _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('v'), _19(0), _20(1, 4370), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_pack"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hll_print", 1, - AddBuiltinFunc(_0(4324), _1("hll_print"), _2(1), _3(true), _4(false), _5(hll_print), _6(2275), _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(1, 4301), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_print"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4324), _1("hll_print"), _2(1), _3(true), _4(false), _5(hll_print), _6(2275), _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(1, 4301), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_print"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hll_recv", 1, - AddBuiltinFunc(_0(4307), _1("hll_recv"), _2(1), _3(true), _4(false), _5(hll_recv), _6(4301), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4307), _1("hll_recv"), _2(1), _3(true), _4(false), _5(hll_recv), _6(4301), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hll_regwidth", 1, - AddBuiltinFunc(_0(4333), _1("hll_regwidth"), _2(1), _3(true), _4(false), _5(hll_regwidth), _6(23), _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(1, 4301), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_regwidth"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4333), _1("hll_regwidth"), _2(1), _3(true), _4(false), _5(hll_regwidth), _6(23), _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(1, 4301), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_regwidth"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hll_schema_version", 1, - AddBuiltinFunc(_0(4330), _1("hll_schema_version"), _2(1), _3(true), _4(false), _5(hll_schema_version), _6(23), _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(1, 4301), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_schema_version"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4330), _1("hll_schema_version"), _2(1), _3(true), _4(false), _5(hll_schema_version), _6(23), _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(1, 4301), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_schema_version"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hll_send", 1, - AddBuiltinFunc(_0(4308), _1("hll_send"), _2(1), _3(true), _4(false), _5(hll_send), _6(17), _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(1, 4301), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4308), _1("hll_send"), _2(1), _3(true), _4(false), _5(hll_send), _6(17), _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(1, 4301), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hll_sparseon", 1, - AddBuiltinFunc(_0(4335), _1("hll_sparseon"), _2(1), _3(true), _4(false), _5(hll_sparseon), _6(23), _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(1, 4301), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_sparseon"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4335), _1("hll_sparseon"), _2(1), _3(true), _4(false), _5(hll_sparseon), _6(23), _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(1, 4301), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_sparseon"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hll_trans_in", 1, - AddBuiltinFunc(_0(4364), _1("hll_trans_in"), _2(1), _3(true), _4(false), _5(hll_trans_in), _6(4370), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_trans_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4364), _1("hll_trans_in"), _2(1), _3(true), _4(false), _5(hll_trans_in), _6(4370), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_trans_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hll_trans_out", 1, - AddBuiltinFunc(_0(4365), _1("hll_trans_out"), _2(1), _3(true), _4(false), _5(hll_trans_out), _6(2275), _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(1, 4370), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_trans_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4365), _1("hll_trans_out"), _2(1), _3(true), _4(false), _5(hll_trans_out), _6(2275), _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(1, 4370), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_trans_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hll_trans_recv", 1, - AddBuiltinFunc(_0(4362), _1("hll_trans_recv"), _2(1), _3(true), _4(false), _5(hll_trans_recv), _6(4370), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_trans_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4362), _1("hll_trans_recv"), _2(1), _3(true), _4(false), _5(hll_trans_recv), _6(4370), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_trans_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hll_trans_send", 1, - AddBuiltinFunc(_0(4363), _1("hll_trans_send"), _2(1), _3(true), _4(false), _5(hll_trans_send), _6(17), _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(1, 4370), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_trans_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4363), _1("hll_trans_send"), _2(1), _3(true), _4(false), _5(hll_trans_send), _6(17), _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(1, 4370), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_trans_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hll_type", 1, - AddBuiltinFunc(_0(4331), _1("hll_type"), _2(1), _3(true), _4(false), _5(hll_type), _6(23), _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(1, 4301), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_type"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4331), _1("hll_type"), _2(1), _3(true), _4(false), _5(hll_type), _6(23), _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(1, 4301), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_type"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hll_typmod_in", 1, - AddBuiltinFunc(_0(4309), _1("hll_typmod_in"), _2(1), _3(true), _4(false), _5(hll_typmod_in), _6(23), _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(1, 1263), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_typmod_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4309), _1("hll_typmod_in"), _2(1), _3(true), _4(false), _5(hll_typmod_in), _6(23), _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(1, 1263), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_typmod_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hll_typmod_out", 1, - AddBuiltinFunc(_0(4310), _1("hll_typmod_out"), _2(1), _3(true), _4(false), _5(hll_typmod_out), _6(2275), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_typmod_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4310), _1("hll_typmod_out"), _2(1), _3(true), _4(false), _5(hll_typmod_out), _6(2275), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_typmod_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hll_union", 1, - AddBuiltinFunc(_0(4321), _1("hll_union"), _2(2), _3(true), _4(false), _5(hll_union), _6(4301), _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(2, 4301, 4301), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_union"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4321), _1("hll_union"), _2(2), _3(true), _4(false), _5(hll_union), _6(4301), _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(2, 4301, 4301), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_union"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hll_union_agg", 1, - AddBuiltinFunc(_0(4367), _1("hll_union_agg"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(4301), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 4301), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4367), _1("hll_union_agg"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(4301), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 4301), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hll_union_collect", 1, - AddBuiltinFunc(_0(4348), _1("hll_union_collect"), _2(2), _3(false), _4(false), _5(hll_union_collect), _6(4370), _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('v'), _19(0), _20(2, 4370, 4370), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_union_collect"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4348), _1("hll_union_collect"), _2(2), _3(false), _4(false), _5(hll_union_collect), _6(4370), _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('v'), _19(0), _20(2, 4370, 4370), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_union_collect"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hll_union_trans", 1, - AddBuiltinFunc(_0(4346), _1("hll_union_trans"), _2(2), _3(false), _4(false), _5(hll_union_trans), _6(4370), _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('v'), _19(0), _20(2, 4370, 4301), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_union_trans"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4346), _1("hll_union_trans"), _2(2), _3(false), _4(false), _5(hll_union_trans), _6(4370), _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('v'), _19(0), _20(2, 4370, 4301), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hll_union_trans"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "host", 1, - AddBuiltinFunc(_0(699), _1("host"), _2(1), _3(true), _4(false), _5(network_host), _6(25), _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(1, 869), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("network_host"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(699), _1("host"), _2(1), _3(true), _4(false), _5(network_host), _6(25), _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(1, 869), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("network_host"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hostmask", 1, - AddBuiltinFunc(_0(1362), _1("hostmask"), _2(1), _3(true), _4(false), _5(network_hostmask), _6(869), _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(1, 869), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("network_hostmask"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1362), _1("hostmask"), _2(1), _3(true), _4(false), _5(network_hostmask), _6(869), _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(1, 869), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("network_hostmask"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hypopg_create_index", 1, - AddBuiltinFunc(_0(4889), _1("hypopg_create_index"), _2(1), _3(false), _4(true), _5(hypopg_create_index), _6(2249), _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(0), _20(1, 25), _21(2, 23, 25), _22(2, 'o', 'o'), _23(2, "indexrelid", "indexname"), _24(NULL), _25("hypopg_create_index"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4889), _1("hypopg_create_index"), _2(1), _3(false), _4(true), _5(hypopg_create_index), _6(2249), _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(0), _20(1, 25), _21(2, 23, 25), _22(2, 'o', 'o'), _23(2, "indexrelid", "indexname"), _24(NULL), _25("hypopg_create_index"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hypopg_display_index", 1, - AddBuiltinFunc(_0(4890), _1("hypopg_display_index"), _2(0), _3(false), _4(true), _5(hypopg_display_index), _6(2249), _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(0), _20(0), _21(4, 25, 23, 25, 25), _22(4, 'o', 'o', 'o', 'o'), _23(4, "indexname", "indexrelid", "table", "column"), _24(NULL), _25("hypopg_display_index"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4890), _1("hypopg_display_index"), _2(0), _3(false), _4(true), _5(hypopg_display_index), _6(2249), _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(0), _20(0), _21(4, 25, 23, 25, 25), _22(4, 'o', 'o', 'o', 'o'), _23(4, "indexname", "indexrelid", "table", "column"), _24(NULL), _25("hypopg_display_index"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hypopg_drop_index", 1, - AddBuiltinFunc(_0(4891), _1("hypopg_drop_index"), _2(1), _3(false), _4(false), _5(hypopg_drop_index), _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('s'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hypopg_drop_index"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4891), _1("hypopg_drop_index"), _2(1), _3(false), _4(false), _5(hypopg_drop_index), _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('s'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hypopg_drop_index"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hypopg_estimate_size", 1, - AddBuiltinFunc(_0(4892), _1("hypopg_estimate_size"), _2(1), _3(false), _4(false), _5(hypopg_estimate_size), _6(20), _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('s'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hypopg_estimate_size"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4892), _1("hypopg_estimate_size"), _2(1), _3(false), _4(false), _5(hypopg_estimate_size), _6(20), _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('s'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hypopg_estimate_size"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "hypopg_reset_index", 1, - AddBuiltinFunc(_0(4893), _1("hypopg_reset_index"), _2(0), _3(false), _4(false), _5(hypopg_reset_index), _6(2278), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hypopg_reset_index"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4893), _1("hypopg_reset_index"), _2(0), _3(false), _4(false), _5(hypopg_reset_index), _6(2278), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("hypopg_reset_index"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "i1tof4", 1, - AddBuiltinFunc(_0(5529), _1("i1tof4"), _2(1), _3(true), _4(false), _5(i1tof4), _6(700), _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(1, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("i1tof4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5529), _1("i1tof4"), _2(1), _3(true), _4(false), _5(i1tof4), _6(700), _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(1, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("i1tof4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "i1tof8", 1, - AddBuiltinFunc(_0(5531), _1("i1tof8"), _2(1), _3(true), _4(false), _5(i1tof8), _6(701), _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(1, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("i1tof8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5531), _1("i1tof8"), _2(1), _3(true), _4(false), _5(i1tof8), _6(701), _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(1, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("i1tof8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "i1toi2", 1, - AddBuiltinFunc(_0(5523), _1("i1toi2"), _2(1), _3(true), _4(false), _5(i1toi2), _6(21), _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(1, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("i1toi2"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5523), _1("i1toi2"), _2(1), _3(true), _4(false), _5(i1toi2), _6(21), _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(1, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("i1toi2"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "i1toi4", 1, - AddBuiltinFunc(_0(5525), _1("i1toi4"), _2(1), _3(true), _4(false), _5(i1toi4), _6(23), _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(1, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("i1toi4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5525), _1("i1toi4"), _2(1), _3(true), _4(false), _5(i1toi4), _6(23), _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(1, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("i1toi4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "i1toi8", 1, - AddBuiltinFunc(_0(5527), _1("i1toi8"), _2(1), _3(true), _4(false), _5(i1toi8), _6(20), _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(1, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("i1toi8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5527), _1("i1toi8"), _2(1), _3(true), _4(false), _5(i1toi8), _6(20), _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(1, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("i1toi8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "i2toi1", 1, - AddBuiltinFunc(_0(5524), _1("i2toi1"), _2(1), _3(true), _4(false), _5(i2toi1), _6(5545), _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(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("i2toi1"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5524), _1("i2toi1"), _2(1), _3(true), _4(false), _5(i2toi1), _6(5545), _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(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("i2toi1"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "i4toi1", 1, - AddBuiltinFunc(_0(5526), _1("i4toi1"), _2(1), _3(true), _4(false), _5(i4toi1), _6(5545), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("i4toi1"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5526), _1("i4toi1"), _2(1), _3(true), _4(false), _5(i4toi1), _6(5545), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("i4toi1"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "i8toi1", 1, - AddBuiltinFunc(_0(5528), _1("i8toi1"), _2(1), _3(true), _4(false), _5(i8toi1), _6(5545), _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(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("i8toi1"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5528), _1("i8toi1"), _2(1), _3(true), _4(false), _5(i8toi1), _6(5545), _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(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("i8toi1"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "iclikejoinsel", 1, - AddBuiltinFunc(_0(1816), _1("iclikejoinsel"), _2(5), _3(true), _4(false), _5(iclikejoinsel), _6(701), _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('s'), _19(0), _20(5, 2281, 26, 2281, 21, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("iclikejoinsel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1816), _1("iclikejoinsel"), _2(5), _3(true), _4(false), _5(iclikejoinsel), _6(701), _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('s'), _19(0), _20(5, 2281, 26, 2281, 21, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("iclikejoinsel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "iclikesel", 1, - AddBuiltinFunc(_0(1814), _1("iclikesel"), _2(4), _3(true), _4(false), _5(iclikesel), _6(701), _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('s'), _19(0), _20(4, 2281, 26, 2281, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("iclikesel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1814), _1("iclikesel"), _2(4), _3(true), _4(false), _5(iclikesel), _6(701), _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('s'), _19(0), _20(4, 2281, 26, 2281, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("iclikesel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "icnlikejoinsel", 1, - AddBuiltinFunc(_0(1817), _1("icnlikejoinsel"), _2(5), _3(true), _4(false), _5(icnlikejoinsel), _6(701), _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('s'), _19(0), _20(5, 2281, 26, 2281, 21, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("icnlikejoinsel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1817), _1("icnlikejoinsel"), _2(5), _3(true), _4(false), _5(icnlikejoinsel), _6(701), _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('s'), _19(0), _20(5, 2281, 26, 2281, 21, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("icnlikejoinsel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "icnlikesel", 1, - AddBuiltinFunc(_0(1815), _1("icnlikesel"), _2(4), _3(true), _4(false), _5(icnlikesel), _6(701), _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('s'), _19(0), _20(4, 2281, 26, 2281, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("icnlikesel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1815), _1("icnlikesel"), _2(4), _3(true), _4(false), _5(icnlikesel), _6(701), _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('s'), _19(0), _20(4, 2281, 26, 2281, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("icnlikesel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "icregexeqjoinsel", 1, - AddBuiltinFunc(_0(1826), _1("icregexeqjoinsel"), _2(5), _3(true), _4(false), _5(icregexeqjoinsel), _6(701), _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('s'), _19(0), _20(5, 2281, 26, 2281, 21, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("icregexeqjoinsel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1826), _1("icregexeqjoinsel"), _2(5), _3(true), _4(false), _5(icregexeqjoinsel), _6(701), _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('s'), _19(0), _20(5, 2281, 26, 2281, 21, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("icregexeqjoinsel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "icregexeqsel", 1, - AddBuiltinFunc(_0(1820), _1("icregexeqsel"), _2(4), _3(true), _4(false), _5(icregexeqsel), _6(701), _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('s'), _19(0), _20(4, 2281, 26, 2281, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("icregexeqsel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1820), _1("icregexeqsel"), _2(4), _3(true), _4(false), _5(icregexeqsel), _6(701), _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('s'), _19(0), _20(4, 2281, 26, 2281, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("icregexeqsel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "icregexnejoinsel", 1, - AddBuiltinFunc(_0(1829), _1("icregexnejoinsel"), _2(5), _3(true), _4(false), _5(icregexnejoinsel), _6(701), _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('s'), _19(0), _20(5, 2281, 26, 2281, 21, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("icregexnejoinsel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1829), _1("icregexnejoinsel"), _2(5), _3(true), _4(false), _5(icregexnejoinsel), _6(701), _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('s'), _19(0), _20(5, 2281, 26, 2281, 21, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("icregexnejoinsel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "icregexnesel", 1, - AddBuiltinFunc(_0(1823), _1("icregexnesel"), _2(4), _3(true), _4(false), _5(icregexnesel), _6(701), _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('s'), _19(0), _20(4, 2281, 26, 2281, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("icregexnesel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1823), _1("icregexnesel"), _2(4), _3(true), _4(false), _5(icregexnesel), _6(701), _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('s'), _19(0), _20(4, 2281, 26, 2281, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("icregexnesel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "inet_client_addr", 1, - AddBuiltinFunc(_0(2196), _1("inet_client_addr"), _2(0), _3(false), _4(false), _5(inet_client_addr), _6(869), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("inet_client_addr"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2196), _1("inet_client_addr"), _2(0), _3(false), _4(false), _5(inet_client_addr), _6(869), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("inet_client_addr"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "inet_client_port", 1, - AddBuiltinFunc(_0(2197), _1("inet_client_port"), _2(0), _3(false), _4(false), _5(inet_client_port), _6(23), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("inet_client_port"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2197), _1("inet_client_port"), _2(0), _3(false), _4(false), _5(inet_client_port), _6(23), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("inet_client_port"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "inet_in", 1, - AddBuiltinFunc(_0(910), _1("inet_in"), _2(1), _3(true), _4(false), _5(inet_in), _6(869), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("inet_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(910), _1("inet_in"), _2(1), _3(true), _4(false), _5(inet_in), _6(869), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("inet_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "inet_out", 1, - AddBuiltinFunc(_0(911), _1("inet_out"), _2(1), _3(true), _4(false), _5(inet_out), _6(2275), _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(1, 869), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("inet_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(911), _1("inet_out"), _2(1), _3(true), _4(false), _5(inet_out), _6(2275), _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(1, 869), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("inet_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "inet_recv", 1, - AddBuiltinFunc(_0(2496), _1("inet_recv"), _2(1), _3(true), _4(false), _5(inet_recv), _6(869), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("inet_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2496), _1("inet_recv"), _2(1), _3(true), _4(false), _5(inet_recv), _6(869), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("inet_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "inet_send", 1, - AddBuiltinFunc(_0(2497), _1("inet_send"), _2(1), _3(true), _4(false), _5(inet_send), _6(17), _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(1, 869), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("inet_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2497), _1("inet_send"), _2(1), _3(true), _4(false), _5(inet_send), _6(17), _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(1, 869), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("inet_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "inet_server_addr", 1, - AddBuiltinFunc(_0(2198), _1("inet_server_addr"), _2(0), _3(false), _4(false), _5(inet_server_addr), _6(869), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("inet_server_addr"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2198), _1("inet_server_addr"), _2(0), _3(false), _4(false), _5(inet_server_addr), _6(869), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("inet_server_addr"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "inet_server_port", 1, - AddBuiltinFunc(_0(2199), _1("inet_server_port"), _2(0), _3(false), _4(false), _5(inet_server_port), _6(23), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("inet_server_port"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2199), _1("inet_server_port"), _2(0), _3(false), _4(false), _5(inet_server_port), _6(23), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("inet_server_port"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "inetand", 1, - AddBuiltinFunc(_0(2628), _1("inetand"), _2(2), _3(true), _4(false), _5(inetand), _6(869), _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(2, 869, 869), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("inetand"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2628), _1("inetand"), _2(2), _3(true), _4(false), _5(inetand), _6(869), _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(2, 869, 869), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("inetand"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "inetmi", 1, - AddBuiltinFunc(_0(2633), _1("inetmi"), _2(2), _3(true), _4(false), _5(inetmi), _6(20), _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(2, 869, 869), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("inetmi"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2633), _1("inetmi"), _2(2), _3(true), _4(false), _5(inetmi), _6(20), _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(2, 869, 869), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("inetmi"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "inetmi_int8", 1, - AddBuiltinFunc(_0(2632), _1("inetmi_int8"), _2(2), _3(true), _4(false), _5(inetmi_int8), _6(869), _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(2, 869, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("inetmi_int8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2632), _1("inetmi_int8"), _2(2), _3(true), _4(false), _5(inetmi_int8), _6(869), _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(2, 869, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("inetmi_int8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "inetnot", 1, - AddBuiltinFunc(_0(2627), _1("inetnot"), _2(1), _3(true), _4(false), _5(inetnot), _6(869), _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(1, 869), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("inetnot"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2627), _1("inetnot"), _2(1), _3(true), _4(false), _5(inetnot), _6(869), _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(1, 869), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("inetnot"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "inetor", 1, - AddBuiltinFunc(_0(2629), _1("inetor"), _2(2), _3(true), _4(false), _5(inetor), _6(869), _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(2, 869, 869), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("inetor"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2629), _1("inetor"), _2(2), _3(true), _4(false), _5(inetor), _6(869), _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(2, 869, 869), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("inetor"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "inetpl", 1, - AddBuiltinFunc(_0(2630), _1("inetpl"), _2(2), _3(true), _4(false), _5(inetpl), _6(869), _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(2, 869, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("inetpl"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2630), _1("inetpl"), _2(2), _3(true), _4(false), _5(inetpl), _6(869), _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(2, 869, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("inetpl"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "initcap", 1, - AddBuiltinFunc(_0(872), _1("initcap"), _2(1), _3(true), _4(false), _5(initcap), _6(25), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("initcap"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(872), _1("initcap"), _2(1), _3(true), _4(false), _5(initcap), _6(25), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("initcap"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "instr", 3, - AddBuiltinFunc(_0(INSTR2FUNCOID), _1("instr"), _2(2), _3(true), _4(false), _5(textpos), _6(23), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("textpos"), _26("-"), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(INSTR3FUNCOID), _1("instr"), _2(3), _3(true), _4(false), _5(instr_3args), _6(23), _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(3, 25, 25, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("instr_3args"), _26("-"), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(INSTR4FUNCOID), _1("instr"), _2(4), _3(true), _4(false), _5(instr_4args), _6(23), _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(4, 25, 25, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("instr_4args"), _26("-"), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(INSTR2FUNCOID), _1("instr"), _2(2), _3(true), _4(false), _5(textpos), _6(23), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("textpos"), _26("-"), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(INSTR3FUNCOID), _1("instr"), _2(3), _3(true), _4(false), _5(instr_3args), _6(23), _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(3, 25, 25, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("instr_3args"), _26("-"), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(INSTR4FUNCOID), _1("instr"), _2(4), _3(true), _4(false), _5(instr_4args), _6(23), _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(4, 25, 25, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("instr_4args"), _26("-"), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int1_avg_accum", 1, - AddBuiltinFunc(_0(5548), _1("int1_avg_accum"), _2(2), _3(true), _4(false), _5(int1_avg_accum), _6(1016), _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(2, 1016, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1_avg_accum"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5548), _1("int1_avg_accum"), _2(2), _3(true), _4(false), _5(int1_avg_accum), _6(1016), _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(2, 1016, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1_avg_accum"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int1_bool", 1, - AddBuiltinFunc(_0(5533), _1("int1_bool"), _2(1), _3(true), _4(false), _5(int1_bool), _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(1, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1_bool"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5533), _1("int1_bool"), _2(1), _3(true), _4(false), _5(int1_bool), _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(1, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1_bool"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int1_bpchar", 1, - AddBuiltinFunc(_0(4067), _1("int1_bpchar"), _2(1), _3(true), _4(false), _5(int1_bpchar), _6(1042), _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(1, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1_bpchar"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4067), _1("int1_bpchar"), _2(1), _3(true), _4(false), _5(int1_bpchar), _6(1042), _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(1, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1_bpchar"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int1_mul_cash", 1, - AddBuiltinFunc(_0(3348), _1("int1_mul_cash"), _2(2), _3(true), _4(false), _5(int1_mul_cash), _6(790), _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(2, 5545, 790), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1_mul_cash"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(3348), _1("int1_mul_cash"), _2(2), _3(true), _4(false), _5(int1_mul_cash), _6(790), _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(2, 5545, 790), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1_mul_cash"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int1_numeric", 1, - AddBuiltinFunc(_0(5521), _1("int1_numeric"), _2(1), _3(true), _4(false), _5(int1_numeric), _6(1700), _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(1, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1_numeric"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5521), _1("int1_numeric"), _2(1), _3(true), _4(false), _5(int1_numeric), _6(1700), _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(1, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1_numeric"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int1_nvarchar2", 1, - AddBuiltinFunc(_0(4066), _1("int1_nvarchar2"), _2(1), _3(true), _4(false), _5(int1_nvarchar2), _6(3969), _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(1, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1_nvarchar2"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4066), _1("int1_nvarchar2"), _2(1), _3(true), _4(false), _5(int1_nvarchar2), _6(3969), _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(1, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1_nvarchar2"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int1_text", 1, - AddBuiltinFunc(_0(4165), _1("int1_text"), _2(1), _3(true), _4(false), _5(int1_text), _6(25), _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(1, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1_text"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4165), _1("int1_text"), _2(1), _3(true), _4(false), _5(int1_text), _6(25), _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(1, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1_text"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int1_varchar", 1, - AddBuiltinFunc(_0(4065), _1("int1_varchar"), _2(1), _3(true), _4(false), _5(int1_varchar), _6(1043), _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(1, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1_varchar"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4065), _1("int1_varchar"), _2(1), _3(true), _4(false), _5(int1_varchar), _6(1043), _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(1, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1_varchar"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int1abs", 1, - AddBuiltinFunc(_0(6113), _1("int1abs"), _2(1), _3(true), _4(false), _5(int1abs), _6(5545), _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(1, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1abs"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(6113), _1("int1abs"), _2(1), _3(true), _4(false), _5(int1abs), _6(5545), _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(1, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1abs"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int1and", 1, - AddBuiltinFunc(_0(6101), _1("int1and"), _2(2), _3(true), _4(false), _5(int1and), _6(5545), _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(2, 5545, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1and"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(6101), _1("int1and"), _2(2), _3(true), _4(false), _5(int1and), _6(5545), _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(2, 5545, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1and"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int1cmp", 1, - AddBuiltinFunc(_0(5519), _1("int1cmp"), _2(2), _3(true), _4(false), _5(int1cmp), _6(23), _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(2, 5545, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5519), _1("int1cmp"), _2(2), _3(true), _4(false), _5(int1cmp), _6(23), _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(2, 5545, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int1div", 1, - AddBuiltinFunc(_0(6112), _1("int1div"), _2(2), _3(true), _4(false), _5(int1div), _6(5545), _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(2, 5545, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1div"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(6112), _1("int1div"), _2(2), _3(true), _4(false), _5(int1div), _6(5545), _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(2, 5545, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1div"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int1eq", 1, - AddBuiltinFunc(_0(5547), _1("int1eq"), _2(2), _3(true), _4(false), _5(int1eq), _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(true), _18('i'), _19(0), _20(2, 5545, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5547), _1("int1eq"), _2(2), _3(true), _4(false), _5(int1eq), _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(true), _18('i'), _19(0), _20(2, 5545, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int1ge", 1, - AddBuiltinFunc(_0(5512), _1("int1ge"), _2(2), _3(true), _4(false), _5(int1ge), _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(true), _18('i'), _19(0), _20(2, 5545, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5512), _1("int1ge"), _2(2), _3(true), _4(false), _5(int1ge), _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(true), _18('i'), _19(0), _20(2, 5545, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int1gt", 1, - AddBuiltinFunc(_0(5511), _1("int1gt"), _2(2), _3(true), _4(false), _5(int1gt), _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(true), _18('i'), _19(0), _20(2, 5545, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5511), _1("int1gt"), _2(2), _3(true), _4(false), _5(int1gt), _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(true), _18('i'), _19(0), _20(2, 5545, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int1in", 1, - AddBuiltinFunc(_0(5541), _1("int1in"), _2(1), _3(true), _4(false), _5(int1in), _6(5545), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5541), _1("int1in"), _2(1), _3(true), _4(false), _5(int1in), _6(5545), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int1inc", 1, - AddBuiltinFunc(_0(6117), _1("int1inc"), _2(1), _3(true), _4(false), _5(int1inc), _6(5545), _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(1, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1inc"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(6117), _1("int1inc"), _2(1), _3(true), _4(false), _5(int1inc), _6(5545), _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(1, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1inc"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int1larger", 1, - AddBuiltinFunc(_0(6115), _1("int1larger"), _2(2), _3(true), _4(false), _5(int1larger), _6(5545), _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(2, 5545, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1larger"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(6115), _1("int1larger"), _2(2), _3(true), _4(false), _5(int1larger), _6(5545), _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(2, 5545, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1larger"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int1le", 1, - AddBuiltinFunc(_0(5510), _1("int1le"), _2(2), _3(true), _4(false), _5(int1le), _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(true), _18('i'), _19(0), _20(2, 5545, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5510), _1("int1le"), _2(2), _3(true), _4(false), _5(int1le), _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(true), _18('i'), _19(0), _20(2, 5545, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int1lt", 1, - AddBuiltinFunc(_0(5509), _1("int1lt"), _2(2), _3(true), _4(false), _5(int1lt), _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(true), _18('i'), _19(0), _20(2, 5545, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5509), _1("int1lt"), _2(2), _3(true), _4(false), _5(int1lt), _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(true), _18('i'), _19(0), _20(2, 5545, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int1mi", 1, - AddBuiltinFunc(_0(6110), _1("int1mi"), _2(2), _3(true), _4(false), _5(int1mi), _6(5545), _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(2, 5545, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1mi"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(6110), _1("int1mi"), _2(2), _3(true), _4(false), _5(int1mi), _6(5545), _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(2, 5545, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1mi"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int1mod", 1, - AddBuiltinFunc(_0(6114), _1("int1mod"), _2(2), _3(true), _4(false), _5(int1mod), _6(5545), _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(2, 5545, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1mod"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(6114), _1("int1mod"), _2(2), _3(true), _4(false), _5(int1mod), _6(5545), _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(2, 5545, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1mod"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int1mul", 1, - AddBuiltinFunc(_0(6111), _1("int1mul"), _2(2), _3(true), _4(false), _5(int1mul), _6(5545), _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(2, 5545, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1mul"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(6111), _1("int1mul"), _2(2), _3(true), _4(false), _5(int1mul), _6(5545), _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(2, 5545, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1mul"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int1ne", 1, - AddBuiltinFunc(_0(5508), _1("int1ne"), _2(2), _3(true), _4(false), _5(int1ne), _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(true), _18('i'), _19(0), _20(2, 5545, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5508), _1("int1ne"), _2(2), _3(true), _4(false), _5(int1ne), _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(true), _18('i'), _19(0), _20(2, 5545, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int1not", 1, - AddBuiltinFunc(_0(6104), _1("int1not"), _2(1), _3(true), _4(false), _5(int1not), _6(5545), _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(1, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1not"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(6104), _1("int1not"), _2(1), _3(true), _4(false), _5(int1not), _6(5545), _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(1, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1not"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int1or", 1, - AddBuiltinFunc(_0(6102), _1("int1or"), _2(2), _3(true), _4(false), _5(int1or), _6(5545), _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(2, 5545, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1or"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(6102), _1("int1or"), _2(2), _3(true), _4(false), _5(int1or), _6(5545), _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(2, 5545, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1or"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int1out", 1, - AddBuiltinFunc(_0(5542), _1("int1out"), _2(1), _3(true), _4(false), _5(int1out), _6(2275), _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(1, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5542), _1("int1out"), _2(1), _3(true), _4(false), _5(int1out), _6(2275), _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(1, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int1pl", 1, - AddBuiltinFunc(_0(6109), _1("int1pl"), _2(2), _3(true), _4(false), _5(int1pl), _6(5545), _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(2, 5545, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1pl"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(6109), _1("int1pl"), _2(2), _3(true), _4(false), _5(int1pl), _6(5545), _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(2, 5545, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1pl"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int1recv", 1, - AddBuiltinFunc(_0(5543), _1("int1recv"), _2(1), _3(true), _4(false), _5(int1recv), _6(5545), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5543), _1("int1recv"), _2(1), _3(true), _4(false), _5(int1recv), _6(5545), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int1send", 1, - AddBuiltinFunc(_0(5544), _1("int1send"), _2(1), _3(true), _4(false), _5(int1send), _6(17), _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(1, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5544), _1("int1send"), _2(1), _3(true), _4(false), _5(int1send), _6(17), _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(1, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int1shl", 1, - AddBuiltinFunc(_0(6105), _1("int1shl"), _2(2), _3(true), _4(false), _5(int1shl), _6(5545), _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(2, 5545, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1shl"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(6105), _1("int1shl"), _2(2), _3(true), _4(false), _5(int1shl), _6(5545), _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(2, 5545, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1shl"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int1shr", 1, - AddBuiltinFunc(_0(6106), _1("int1shr"), _2(2), _3(true), _4(false), _5(int1shr), _6(5545), _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(2, 5545, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1shr"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(6106), _1("int1shr"), _2(2), _3(true), _4(false), _5(int1shr), _6(5545), _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(2, 5545, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1shr"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int1smaller", 1, - AddBuiltinFunc(_0(6116), _1("int1smaller"), _2(2), _3(true), _4(false), _5(int1smaller), _6(5545), _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(2, 5545, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1smaller"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(6116), _1("int1smaller"), _2(2), _3(true), _4(false), _5(int1smaller), _6(5545), _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(2, 5545, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1smaller"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int1um", 1, - AddBuiltinFunc(_0(6108), _1("int1um"), _2(1), _3(true), _4(false), _5(int1um), _6(21), _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(1, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1um"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(6108), _1("int1um"), _2(1), _3(true), _4(false), _5(int1um), _6(21), _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(1, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1um"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int1up", 1, - AddBuiltinFunc(_0(6107), _1("int1up"), _2(1), _3(true), _4(false), _5(int1up), _6(5545), _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(1, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1up"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(6107), _1("int1up"), _2(1), _3(true), _4(false), _5(int1up), _6(5545), _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(1, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1up"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int1xor", 1, - AddBuiltinFunc(_0(6103), _1("int1xor"), _2(2), _3(true), _4(false), _5(int1xor), _6(5545), _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(2, 5545, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1xor"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(6103), _1("int1xor"), _2(2), _3(true), _4(false), _5(int1xor), _6(5545), _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(2, 5545, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1xor"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int2", 5, - AddBuiltinFunc(_0(237), _1("int2"), _2(1), _3(true), _4(false), _5(dtoi2), _6(21), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dtoi2"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(238), _1("int2"), _2(1), _3(true), _4(false), _5(ftoi2), _6(21), _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(1, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ftoi2"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(314), _1("int2"), _2(1), _3(true), _4(false), _5(i4toi2), _6(21), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("i4toi2"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(714), _1("int2"), _2(1), _3(true), _4(false), _5(int82), _6(21), _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(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int82"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1783), _1("int2"), _2(1), _3(true), _4(false), _5(numeric_int2), _6(21), _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(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_int2"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(237), _1("int2"), _2(1), _3(true), _4(false), _5(dtoi2), _6(21), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dtoi2"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(238), _1("int2"), _2(1), _3(true), _4(false), _5(ftoi2), _6(21), _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(1, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ftoi2"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(314), _1("int2"), _2(1), _3(true), _4(false), _5(i4toi2), _6(21), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("i4toi2"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(714), _1("int2"), _2(1), _3(true), _4(false), _5(int82), _6(21), _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(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int82"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1783), _1("int2"), _2(1), _3(true), _4(false), _5(numeric_int2), _6(21), _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(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_int2"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int24div", 1, - AddBuiltinFunc(_0(172), _1("int24div"), _2(2), _3(true), _4(false), _5(int24div), _6(701), _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(2, 21, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int24div"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(172), _1("int24div"), _2(2), _3(true), _4(false), _5(int24div), _6(701), _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(2, 21, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int24div"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int24eq", 1, - AddBuiltinFunc(_0(158), _1("int24eq"), _2(2), _3(true), _4(false), _5(int24eq), _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(true), _18('i'), _19(0), _20(2, 21, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int24eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(158), _1("int24eq"), _2(2), _3(true), _4(false), _5(int24eq), _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(true), _18('i'), _19(0), _20(2, 21, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int24eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int24ge", 1, - AddBuiltinFunc(_0(168), _1("int24ge"), _2(2), _3(true), _4(false), _5(int24ge), _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(true), _18('i'), _19(0), _20(2, 21, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int24ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(168), _1("int24ge"), _2(2), _3(true), _4(false), _5(int24ge), _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(true), _18('i'), _19(0), _20(2, 21, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int24ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int24gt", 1, - AddBuiltinFunc(_0(162), _1("int24gt"), _2(2), _3(true), _4(false), _5(int24gt), _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(true), _18('i'), _19(0), _20(2, 21, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int24gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(162), _1("int24gt"), _2(2), _3(true), _4(false), _5(int24gt), _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(true), _18('i'), _19(0), _20(2, 21, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int24gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int24le", 1, - AddBuiltinFunc(_0(166), _1("int24le"), _2(2), _3(true), _4(false), _5(int24le), _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(true), _18('i'), _19(0), _20(2, 21, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int24le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(166), _1("int24le"), _2(2), _3(true), _4(false), _5(int24le), _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(true), _18('i'), _19(0), _20(2, 21, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int24le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int24lt", 1, - AddBuiltinFunc(_0(160), _1("int24lt"), _2(2), _3(true), _4(false), _5(int24lt), _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(true), _18('i'), _19(0), _20(2, 21, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int24lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(160), _1("int24lt"), _2(2), _3(true), _4(false), _5(int24lt), _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(true), _18('i'), _19(0), _20(2, 21, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int24lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int24mi", 1, - AddBuiltinFunc(_0(182), _1("int24mi"), _2(2), _3(true), _4(false), _5(int24mi), _6(23), _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(2, 21, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int24mi"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(182), _1("int24mi"), _2(2), _3(true), _4(false), _5(int24mi), _6(23), _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(2, 21, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int24mi"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int24mul", 1, - AddBuiltinFunc(_0(170), _1("int24mul"), _2(2), _3(true), _4(false), _5(int24mul), _6(23), _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(2, 21, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int24mul"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(170), _1("int24mul"), _2(2), _3(true), _4(false), _5(int24mul), _6(23), _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(2, 21, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int24mul"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int24ne", 1, - AddBuiltinFunc(_0(164), _1("int24ne"), _2(2), _3(true), _4(false), _5(int24ne), _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(true), _18('i'), _19(0), _20(2, 21, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int24ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(164), _1("int24ne"), _2(2), _3(true), _4(false), _5(int24ne), _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(true), _18('i'), _19(0), _20(2, 21, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int24ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int24pl", 1, - AddBuiltinFunc(_0(178), _1("int24pl"), _2(2), _3(true), _4(false), _5(int24pl), _6(23), _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(2, 21, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int24pl"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(178), _1("int24pl"), _2(2), _3(true), _4(false), _5(int24pl), _6(23), _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(2, 21, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int24pl"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int28div", 1, - AddBuiltinFunc(_0(948), _1("int28div"), _2(2), _3(true), _4(false), _5(int28div), _6(701), _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(2, 21, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int28div"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(948), _1("int28div"), _2(2), _3(true), _4(false), _5(int28div), _6(701), _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(2, 21, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int28div"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int28eq", 1, - AddBuiltinFunc(_0(1850), _1("int28eq"), _2(2), _3(true), _4(false), _5(int28eq), _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(true), _18('i'), _19(0), _20(2, 21, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int28eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1850), _1("int28eq"), _2(2), _3(true), _4(false), _5(int28eq), _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(true), _18('i'), _19(0), _20(2, 21, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int28eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int28ge", 1, - AddBuiltinFunc(_0(1855), _1("int28ge"), _2(2), _3(true), _4(false), _5(int28ge), _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(true), _18('i'), _19(0), _20(2, 21, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int28ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1855), _1("int28ge"), _2(2), _3(true), _4(false), _5(int28ge), _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(true), _18('i'), _19(0), _20(2, 21, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int28ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int28gt", 1, - AddBuiltinFunc(_0(1853), _1("int28gt"), _2(2), _3(true), _4(false), _5(int28gt), _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(true), _18('i'), _19(0), _20(2, 21, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int28gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1853), _1("int28gt"), _2(2), _3(true), _4(false), _5(int28gt), _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(true), _18('i'), _19(0), _20(2, 21, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int28gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int28le", 1, - AddBuiltinFunc(_0(1854), _1("int28le"), _2(2), _3(true), _4(false), _5(int28le), _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(true), _18('i'), _19(0), _20(2, 21, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int28le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1854), _1("int28le"), _2(2), _3(true), _4(false), _5(int28le), _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(true), _18('i'), _19(0), _20(2, 21, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int28le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int28lt", 1, - AddBuiltinFunc(_0(1852), _1("int28lt"), _2(2), _3(true), _4(false), _5(int28lt), _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(true), _18('i'), _19(0), _20(2, 21, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int28lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1852), _1("int28lt"), _2(2), _3(true), _4(false), _5(int28lt), _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(true), _18('i'), _19(0), _20(2, 21, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int28lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int28mi", 1, - AddBuiltinFunc(_0(942), _1("int28mi"), _2(2), _3(true), _4(false), _5(int28mi), _6(20), _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(2, 21, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int28mi"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(942), _1("int28mi"), _2(2), _3(true), _4(false), _5(int28mi), _6(20), _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(2, 21, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int28mi"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int28mul", 1, - AddBuiltinFunc(_0(943), _1("int28mul"), _2(2), _3(true), _4(false), _5(int28mul), _6(20), _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(2, 21, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int28mul"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(943), _1("int28mul"), _2(2), _3(true), _4(false), _5(int28mul), _6(20), _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(2, 21, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int28mul"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int28ne", 1, - AddBuiltinFunc(_0(1851), _1("int28ne"), _2(2), _3(true), _4(false), _5(int28ne), _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(true), _18('i'), _19(0), _20(2, 21, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int28ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1851), _1("int28ne"), _2(2), _3(true), _4(false), _5(int28ne), _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(true), _18('i'), _19(0), _20(2, 21, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int28ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int28pl", 1, - AddBuiltinFunc(_0(841), _1("int28pl"), _2(2), _3(true), _4(false), _5(int28pl), _6(20), _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(2, 21, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int28pl"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(841), _1("int28pl"), _2(2), _3(true), _4(false), _5(int28pl), _6(20), _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(2, 21, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int28pl"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int2_accum", 1, - AddBuiltinFunc(_0(1834), _1("int2_accum"), _2(2), _3(true), _4(false), _5(int2_accum), _6(1231), _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(2, 1231, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2_accum"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1834), _1("int2_accum"), _2(2), _3(true), _4(false), _5(int2_accum), _6(1231), _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(2, 1231, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2_accum"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int2_avg_accum", 1, - AddBuiltinFunc(_0(1962), _1("int2_avg_accum"), _2(2), _3(true), _4(false), _5(int2_avg_accum), _6(1016), _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(2, 1016, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2_avg_accum"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1962), _1("int2_avg_accum"), _2(2), _3(true), _4(false), _5(int2_avg_accum), _6(1016), _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(2, 1016, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2_avg_accum"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int2_bool", 1, - AddBuiltinFunc(_0(3180), _1("int2_bool"), _2(1), _3(true), _4(false), _5(int2_bool), _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(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2_bool"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3180), _1("int2_bool"), _2(1), _3(true), _4(false), _5(int2_bool), _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(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2_bool"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int2_bpchar", 1, - AddBuiltinFunc(_0(4068), _1("int2_bpchar"), _2(1), _3(true), _4(false), _5(int2_bpchar), _6(1042), _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(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2_bpchar"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4068), _1("int2_bpchar"), _2(1), _3(true), _4(false), _5(int2_bpchar), _6(1042), _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(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2_bpchar"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int2_list_agg_noarg2_transfn", 1, - AddBuiltinFunc(_0(3557), _1("int2_list_agg_noarg2_transfn"), _2(2), _3(false), _4(false), _5(int2_list_agg_noarg2_transfn), _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(2, 2281, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2_list_agg_noarg2_transfn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3557), _1("int2_list_agg_noarg2_transfn"), _2(2), _3(false), _4(false), _5(int2_list_agg_noarg2_transfn), _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(2, 2281, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2_list_agg_noarg2_transfn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int2_list_agg_transfn", 1, - AddBuiltinFunc(_0(3555), _1("int2_list_agg_transfn"), _2(3), _3(false), _4(false), _5(int2_list_agg_transfn), _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(3, 2281, 21, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2_list_agg_transfn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3555), _1("int2_list_agg_transfn"), _2(3), _3(false), _4(false), _5(int2_list_agg_transfn), _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(3, 2281, 21, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2_list_agg_transfn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int2_mul_cash", 1, - AddBuiltinFunc(_0(863), _1("int2_mul_cash"), _2(2), _3(true), _4(false), _5(int2_mul_cash), _6(790), _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(2, 21, 790), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2_mul_cash"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(863), _1("int2_mul_cash"), _2(2), _3(true), _4(false), _5(int2_mul_cash), _6(790), _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(2, 21, 790), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2_mul_cash"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int2_sum", 1, - AddBuiltinFunc(_0(1840), _1("int2_sum"), _2(2), _3(false), _4(false), _5(int2_sum), _6(20), _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(2, 20, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2_sum"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1840), _1("int2_sum"), _2(2), _3(false), _4(false), _5(int2_sum), _6(20), _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(2, 20, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2_sum"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int2_text", 1, - AddBuiltinFunc(_0(4166), _1("int2_text"), _2(1), _3(true), _4(false), _5(int2_text), _6(25), _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(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2_text"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4166), _1("int2_text"), _2(1), _3(true), _4(false), _5(int2_text), _6(25), _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(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2_text"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int2_varchar", 1, - AddBuiltinFunc(_0(4180), _1("int2_varchar"), _2(1), _3(true), _4(false), _5(int2_varchar), _6(1043), _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(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2_varchar"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4180), _1("int2_varchar"), _2(1), _3(true), _4(false), _5(int2_varchar), _6(1043), _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(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2_varchar"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int2abs", 1, - AddBuiltinFunc(_0(1253), _1("int2abs"), _2(1), _3(true), _4(false), _5(int2abs), _6(21), _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(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2abs"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1253), _1("int2abs"), _2(1), _3(true), _4(false), _5(int2abs), _6(21), _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(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2abs"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int2and", 1, - AddBuiltinFunc(_0(1892), _1("int2and"), _2(2), _3(true), _4(false), _5(int2and), _6(21), _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(2, 21, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2and"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1892), _1("int2and"), _2(2), _3(true), _4(false), _5(int2and), _6(21), _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(2, 21, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2and"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int2div", 1, - AddBuiltinFunc(_0(153), _1("int2div"), _2(2), _3(true), _4(false), _5(int2div), _6(701), _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(2, 21, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2div"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(153), _1("int2div"), _2(2), _3(true), _4(false), _5(int2div), _6(701), _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(2, 21, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2div"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int2eq", 1, - AddBuiltinFunc(_0(63), _1("int2eq"), _2(2), _3(true), _4(false), _5(int2eq), _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(true), _18('i'), _19(0), _20(2, 21, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(63), _1("int2eq"), _2(2), _3(true), _4(false), _5(int2eq), _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(true), _18('i'), _19(0), _20(2, 21, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int2ge", 1, - AddBuiltinFunc(_0(151), _1("int2ge"), _2(2), _3(true), _4(false), _5(int2ge), _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(true), _18('i'), _19(0), _20(2, 21, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(151), _1("int2ge"), _2(2), _3(true), _4(false), _5(int2ge), _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(true), _18('i'), _19(0), _20(2, 21, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int2gt", 1, - AddBuiltinFunc(_0(146), _1("int2gt"), _2(2), _3(true), _4(false), _5(int2gt), _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(true), _18('i'), _19(0), _20(2, 21, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(146), _1("int2gt"), _2(2), _3(true), _4(false), _5(int2gt), _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(true), _18('i'), _19(0), _20(2, 21, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int2in", 1, - AddBuiltinFunc(_0(38), _1("int2in"), _2(1), _3(true), _4(false), _5(int2in), _6(21), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(38), _1("int2in"), _2(1), _3(true), _4(false), _5(int2in), _6(21), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int2larger", 1, - AddBuiltinFunc(_0(770), _1("int2larger"), _2(2), _3(true), _4(false), _5(int2larger), _6(21), _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(2, 21, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2larger"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(770), _1("int2larger"), _2(2), _3(true), _4(false), _5(int2larger), _6(21), _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(2, 21, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2larger"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int2le", 1, - AddBuiltinFunc(_0(148), _1("int2le"), _2(2), _3(true), _4(false), _5(int2le), _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(true), _18('i'), _19(0), _20(2, 21, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(148), _1("int2le"), _2(2), _3(true), _4(false), _5(int2le), _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(true), _18('i'), _19(0), _20(2, 21, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int2lt", 1, - AddBuiltinFunc(_0(64), _1("int2lt"), _2(2), _3(true), _4(false), _5(int2lt), _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(true), _18('i'), _19(0), _20(2, 21, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(64), _1("int2lt"), _2(2), _3(true), _4(false), _5(int2lt), _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(true), _18('i'), _19(0), _20(2, 21, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int2mi", 1, - AddBuiltinFunc(_0(180), _1("int2mi"), _2(2), _3(true), _4(false), _5(int2mi), _6(21), _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(2, 21, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2mi"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(180), _1("int2mi"), _2(2), _3(true), _4(false), _5(int2mi), _6(21), _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(2, 21, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2mi"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int2mod", 1, - AddBuiltinFunc(_0(155), _1("int2mod"), _2(2), _3(true), _4(false), _5(int2mod), _6(21), _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(2, 21, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2mod"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(155), _1("int2mod"), _2(2), _3(true), _4(false), _5(int2mod), _6(21), _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(2, 21, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2mod"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int2mul", 1, - AddBuiltinFunc(_0(152), _1("int2mul"), _2(2), _3(true), _4(false), _5(int2mul), _6(21), _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(2, 21, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2mul"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(152), _1("int2mul"), _2(2), _3(true), _4(false), _5(int2mul), _6(21), _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(2, 21, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2mul"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int2ne", 1, - AddBuiltinFunc(_0(145), _1("int2ne"), _2(2), _3(true), _4(false), _5(int2ne), _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(true), _18('i'), _19(0), _20(2, 21, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(145), _1("int2ne"), _2(2), _3(true), _4(false), _5(int2ne), _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(true), _18('i'), _19(0), _20(2, 21, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int2not", 1, - AddBuiltinFunc(_0(1895), _1("int2not"), _2(1), _3(true), _4(false), _5(int2not), _6(21), _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(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2not"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1895), _1("int2not"), _2(1), _3(true), _4(false), _5(int2not), _6(21), _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(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2not"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int2or", 1, - AddBuiltinFunc(_0(1893), _1("int2or"), _2(2), _3(true), _4(false), _5(int2or), _6(21), _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(2, 21, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2or"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1893), _1("int2or"), _2(2), _3(true), _4(false), _5(int2or), _6(21), _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(2, 21, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2or"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int2out", 1, - AddBuiltinFunc(_0(39), _1("int2out"), _2(1), _3(true), _4(false), _5(int2out), _6(2275), _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(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(39), _1("int2out"), _2(1), _3(true), _4(false), _5(int2out), _6(2275), _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(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int2pl", 1, - AddBuiltinFunc(_0(176), _1("int2pl"), _2(2), _3(true), _4(false), _5(int2pl), _6(21), _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(2, 21, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2pl"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(176), _1("int2pl"), _2(2), _3(true), _4(false), _5(int2pl), _6(21), _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(2, 21, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2pl"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int2recv", 1, - AddBuiltinFunc(_0(2404), _1("int2recv"), _2(1), _3(true), _4(false), _5(int2recv), _6(21), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2404), _1("int2recv"), _2(1), _3(true), _4(false), _5(int2recv), _6(21), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int2send", 1, - AddBuiltinFunc(_0(2405), _1("int2send"), _2(1), _3(true), _4(false), _5(int2send), _6(17), _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(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2405), _1("int2send"), _2(1), _3(true), _4(false), _5(int2send), _6(17), _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(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int2shl", 1, - AddBuiltinFunc(_0(1896), _1("int2shl"), _2(2), _3(true), _4(false), _5(int2shl), _6(21), _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(2, 21, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2shl"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1896), _1("int2shl"), _2(2), _3(true), _4(false), _5(int2shl), _6(21), _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(2, 21, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2shl"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int2shr", 1, - AddBuiltinFunc(_0(1897), _1("int2shr"), _2(2), _3(true), _4(false), _5(int2shr), _6(21), _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(2, 21, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2shr"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1897), _1("int2shr"), _2(2), _3(true), _4(false), _5(int2shr), _6(21), _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(2, 21, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2shr"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int2smaller", 1, - AddBuiltinFunc(_0(771), _1("int2smaller"), _2(2), _3(true), _4(false), _5(int2smaller), _6(21), _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(2, 21, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2smaller"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(771), _1("int2smaller"), _2(2), _3(true), _4(false), _5(int2smaller), _6(21), _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(2, 21, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2smaller"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int2um", 1, - AddBuiltinFunc(_0(213), _1("int2um"), _2(1), _3(true), _4(false), _5(int2um), _6(21), _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(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2um"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(213), _1("int2um"), _2(1), _3(true), _4(false), _5(int2um), _6(21), _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(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2um"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int2up", 1, - AddBuiltinFunc(_0(1911), _1("int2up"), _2(1), _3(true), _4(false), _5(int2up), _6(21), _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(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2up"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1911), _1("int2up"), _2(1), _3(true), _4(false), _5(int2up), _6(21), _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(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2up"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int2vectoreq", 1, - AddBuiltinFunc(_0(315), _1("int2vectoreq"), _2(2), _3(true), _4(false), _5(int2vectoreq), _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(2, 22, 22), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2vectoreq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(315), _1("int2vectoreq"), _2(2), _3(true), _4(false), _5(int2vectoreq), _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(2, 22, 22), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2vectoreq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int2vectorin", 1, - AddBuiltinFunc(_0(40), _1("int2vectorin"), _2(1), _3(true), _4(false), _5(int2vectorin), _6(22), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2vectorin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(40), _1("int2vectorin"), _2(1), _3(true), _4(false), _5(int2vectorin), _6(22), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2vectorin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int2vectorout", 1, - AddBuiltinFunc(_0(41), _1("int2vectorout"), _2(1), _3(true), _4(false), _5(int2vectorout), _6(2275), _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(1, 22), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2vectorout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(41), _1("int2vectorout"), _2(1), _3(true), _4(false), _5(int2vectorout), _6(2275), _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(1, 22), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2vectorout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int2vectorrecv", 1, - AddBuiltinFunc(_0(2410), _1("int2vectorrecv"), _2(1), _3(true), _4(false), _5(int2vectorrecv), _6(22), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2vectorrecv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2410), _1("int2vectorrecv"), _2(1), _3(true), _4(false), _5(int2vectorrecv), _6(22), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2vectorrecv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int2vectorsend", 1, - AddBuiltinFunc(_0(2411), _1("int2vectorsend"), _2(1), _3(true), _4(false), _5(int2vectorsend), _6(17), _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(1, 22), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2vectorsend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2411), _1("int2vectorsend"), _2(1), _3(true), _4(false), _5(int2vectorsend), _6(17), _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(1, 22), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2vectorsend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int2xor", 1, - AddBuiltinFunc(_0(1894), _1("int2xor"), _2(2), _3(true), _4(false), _5(int2xor), _6(21), _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(2, 21, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2xor"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1894), _1("int2xor"), _2(2), _3(true), _4(false), _5(int2xor), _6(21), _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(2, 21, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2xor"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int4", 8, - AddBuiltinFunc(_0(77), _1("int4"), _2(1), _3(true), _4(false), _5(chartoi4), _6(23), _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(1, 18), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("chartoi4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(313), _1("int4"), _2(1), _3(true), _4(false), _5(i2toi4), _6(23), _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(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("i2toi4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(317), _1("int4"), _2(1), _3(true), _4(false), _5(dtoi4), _6(23), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dtoi4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(319), _1("int4"), _2(1), _3(true), _4(false), _5(ftoi4), _6(23), _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(1, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ftoi4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(480), _1("int4"), _2(1), _3(true), _4(false), _5(int84), _6(23), _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(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int84"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1684), _1("int4"), _2(1), _3(true), _4(false), _5(bittoint4), _6(23), _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(1, 1560), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bittoint4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1744), _1("int4"), _2(1), _3(true), _4(false), _5(numeric_int4), _6(23), _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(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_int4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2558), _1("int4"), _2(1), _3(true), _4(false), _5(bool_int4), _6(23), _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(1, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bool_int4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(77), _1("int4"), _2(1), _3(true), _4(false), _5(chartoi4), _6(23), _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(1, 18), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("chartoi4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(313), _1("int4"), _2(1), _3(true), _4(false), _5(i2toi4), _6(23), _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(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("i2toi4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(317), _1("int4"), _2(1), _3(true), _4(false), _5(dtoi4), _6(23), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dtoi4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(319), _1("int4"), _2(1), _3(true), _4(false), _5(ftoi4), _6(23), _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(1, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ftoi4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(480), _1("int4"), _2(1), _3(true), _4(false), _5(int84), _6(23), _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(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int84"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1684), _1("int4"), _2(1), _3(true), _4(false), _5(bittoint4), _6(23), _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(1, 1560), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bittoint4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1744), _1("int4"), _2(1), _3(true), _4(false), _5(numeric_int4), _6(23), _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(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_int4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2558), _1("int4"), _2(1), _3(true), _4(false), _5(bool_int4), _6(23), _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(1, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bool_int4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int42div", 1, - AddBuiltinFunc(_0(173), _1("int42div"), _2(2), _3(true), _4(false), _5(int42div), _6(701), _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(2, 23, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int42div"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(173), _1("int42div"), _2(2), _3(true), _4(false), _5(int42div), _6(701), _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(2, 23, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int42div"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int42eq", 1, - AddBuiltinFunc(_0(159), _1("int42eq"), _2(2), _3(true), _4(false), _5(int42eq), _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(true), _18('i'), _19(0), _20(2, 23, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int42eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(159), _1("int42eq"), _2(2), _3(true), _4(false), _5(int42eq), _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(true), _18('i'), _19(0), _20(2, 23, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int42eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int42ge", 1, - AddBuiltinFunc(_0(169), _1("int42ge"), _2(2), _3(true), _4(false), _5(int42ge), _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(true), _18('i'), _19(0), _20(2, 23, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int42ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(169), _1("int42ge"), _2(2), _3(true), _4(false), _5(int42ge), _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(true), _18('i'), _19(0), _20(2, 23, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int42ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int42gt", 1, - AddBuiltinFunc(_0(163), _1("int42gt"), _2(2), _3(true), _4(false), _5(int42gt), _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(true), _18('i'), _19(0), _20(2, 23, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int42gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(163), _1("int42gt"), _2(2), _3(true), _4(false), _5(int42gt), _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(true), _18('i'), _19(0), _20(2, 23, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int42gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int42le", 1, - AddBuiltinFunc(_0(167), _1("int42le"), _2(2), _3(true), _4(false), _5(int42le), _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(true), _18('i'), _19(0), _20(2, 23, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int42le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(167), _1("int42le"), _2(2), _3(true), _4(false), _5(int42le), _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(true), _18('i'), _19(0), _20(2, 23, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int42le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int42lt", 1, - AddBuiltinFunc(_0(161), _1("int42lt"), _2(2), _3(true), _4(false), _5(int42lt), _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(true), _18('i'), _19(0), _20(2, 23, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int42lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(161), _1("int42lt"), _2(2), _3(true), _4(false), _5(int42lt), _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(true), _18('i'), _19(0), _20(2, 23, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int42lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int42mi", 1, - AddBuiltinFunc(_0(183), _1("int42mi"), _2(2), _3(true), _4(false), _5(int42mi), _6(23), _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(2, 23, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int42mi"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(183), _1("int42mi"), _2(2), _3(true), _4(false), _5(int42mi), _6(23), _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(2, 23, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int42mi"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int42mul", 1, - AddBuiltinFunc(_0(171), _1("int42mul"), _2(2), _3(true), _4(false), _5(int42mul), _6(23), _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(2, 23, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int42mul"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(171), _1("int42mul"), _2(2), _3(true), _4(false), _5(int42mul), _6(23), _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(2, 23, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int42mul"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int42ne", 1, - AddBuiltinFunc(_0(165), _1("int42ne"), _2(2), _3(true), _4(false), _5(int42ne), _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(true), _18('i'), _19(0), _20(2, 23, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int42ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(165), _1("int42ne"), _2(2), _3(true), _4(false), _5(int42ne), _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(true), _18('i'), _19(0), _20(2, 23, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int42ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int42pl", 1, - AddBuiltinFunc(_0(179), _1("int42pl"), _2(2), _3(true), _4(false), _5(int42pl), _6(23), _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(2, 23, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int42pl"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(179), _1("int42pl"), _2(2), _3(true), _4(false), _5(int42pl), _6(23), _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(2, 23, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int42pl"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int48div", 1, - AddBuiltinFunc(_0(1281), _1("int48div"), _2(2), _3(true), _4(false), _5(int48div), _6(701), _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(2, 23, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int48div"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1281), _1("int48div"), _2(2), _3(true), _4(false), _5(int48div), _6(701), _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(2, 23, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int48div"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int48eq", 1, - AddBuiltinFunc(_0(852), _1("int48eq"), _2(2), _3(true), _4(false), _5(int48eq), _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(true), _18('i'), _19(0), _20(2, 23, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int48eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(852), _1("int48eq"), _2(2), _3(true), _4(false), _5(int48eq), _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(true), _18('i'), _19(0), _20(2, 23, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int48eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int48ge", 1, - AddBuiltinFunc(_0(857), _1("int48ge"), _2(2), _3(true), _4(false), _5(int48ge), _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(true), _18('i'), _19(0), _20(2, 23, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int48ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(857), _1("int48ge"), _2(2), _3(true), _4(false), _5(int48ge), _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(true), _18('i'), _19(0), _20(2, 23, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int48ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int48gt", 1, - AddBuiltinFunc(_0(855), _1("int48gt"), _2(2), _3(true), _4(false), _5(int48gt), _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(true), _18('i'), _19(0), _20(2, 23, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int48gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(855), _1("int48gt"), _2(2), _3(true), _4(false), _5(int48gt), _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(true), _18('i'), _19(0), _20(2, 23, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int48gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int48le", 1, - AddBuiltinFunc(_0(856), _1("int48le"), _2(2), _3(true), _4(false), _5(int48le), _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(true), _18('i'), _19(0), _20(2, 23, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int48le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(856), _1("int48le"), _2(2), _3(true), _4(false), _5(int48le), _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(true), _18('i'), _19(0), _20(2, 23, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int48le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int48lt", 1, - AddBuiltinFunc(_0(854), _1("int48lt"), _2(2), _3(true), _4(false), _5(int48lt), _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(true), _18('i'), _19(0), _20(2, 23, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int48lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(854), _1("int48lt"), _2(2), _3(true), _4(false), _5(int48lt), _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(true), _18('i'), _19(0), _20(2, 23, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int48lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int48mi", 1, - AddBuiltinFunc(_0(1279), _1("int48mi"), _2(2), _3(true), _4(false), _5(int48mi), _6(20), _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(2, 23, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int48mi"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1279), _1("int48mi"), _2(2), _3(true), _4(false), _5(int48mi), _6(20), _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(2, 23, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int48mi"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int48mul", 1, - AddBuiltinFunc(_0(1280), _1("int48mul"), _2(2), _3(true), _4(false), _5(int48mul), _6(20), _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(2, 23, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int48mul"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1280), _1("int48mul"), _2(2), _3(true), _4(false), _5(int48mul), _6(20), _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(2, 23, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int48mul"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int48ne", 1, - AddBuiltinFunc(_0(853), _1("int48ne"), _2(2), _3(true), _4(false), _5(int48ne), _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(true), _18('i'), _19(0), _20(2, 23, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int48ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(853), _1("int48ne"), _2(2), _3(true), _4(false), _5(int48ne), _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(true), _18('i'), _19(0), _20(2, 23, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int48ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int48pl", 1, - AddBuiltinFunc(_0(1278), _1("int48pl"), _2(2), _3(true), _4(false), _5(int48pl), _6(20), _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(2, 23, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int48pl"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1278), _1("int48pl"), _2(2), _3(true), _4(false), _5(int48pl), _6(20), _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(2, 23, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int48pl"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int4_accum", 1, - AddBuiltinFunc(_0(1835), _1("int4_accum"), _2(2), _3(true), _4(false), _5(int4_accum), _6(1231), _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(2, 1231, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4_accum"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1835), _1("int4_accum"), _2(2), _3(true), _4(false), _5(int4_accum), _6(1231), _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(2, 1231, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4_accum"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int4_avg_accum", 1, - AddBuiltinFunc(_0(1963), _1("int4_avg_accum"), _2(2), _3(true), _4(false), _5(int4_avg_accum), _6(1016), _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(2, 1016, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4_avg_accum"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1963), _1("int4_avg_accum"), _2(2), _3(true), _4(false), _5(int4_avg_accum), _6(1016), _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(2, 1016, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4_avg_accum"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int4_bpchar", 1, - AddBuiltinFunc(_0(3192), _1("int4_bpchar"), _2(1), _3(true), _4(false), _5(int4_bpchar), _6(1042), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4_bpchar"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3192), _1("int4_bpchar"), _2(1), _3(true), _4(false), _5(int4_bpchar), _6(1042), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4_bpchar"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int4_list_agg_noarg2_transfn", 1, - AddBuiltinFunc(_0(3561), _1("int4_list_agg_noarg2_transfn"), _2(2), _3(false), _4(false), _5(int4_list_agg_noarg2_transfn), _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(2, 2281, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4_list_agg_noarg2_transfn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3561), _1("int4_list_agg_noarg2_transfn"), _2(2), _3(false), _4(false), _5(int4_list_agg_noarg2_transfn), _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(2, 2281, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4_list_agg_noarg2_transfn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int4_list_agg_transfn", 1, - AddBuiltinFunc(_0(3559), _1("int4_list_agg_transfn"), _2(3), _3(false), _4(false), _5(int4_list_agg_transfn), _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(3, 2281, 23, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4_list_agg_transfn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3559), _1("int4_list_agg_transfn"), _2(3), _3(false), _4(false), _5(int4_list_agg_transfn), _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(3, 2281, 23, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4_list_agg_transfn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int4_mul_cash", 1, - AddBuiltinFunc(_0(862), _1("int4_mul_cash"), _2(2), _3(true), _4(false), _5(int4_mul_cash), _6(790), _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(2, 23, 790), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4_mul_cash"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(862), _1("int4_mul_cash"), _2(2), _3(true), _4(false), _5(int4_mul_cash), _6(790), _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(2, 23, 790), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4_mul_cash"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int4_sum", 1, - AddBuiltinFunc(_0(1841), _1("int4_sum"), _2(2), _3(false), _4(false), _5(int4_sum), _6(20), _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(2, 20, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4_sum"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1841), _1("int4_sum"), _2(2), _3(false), _4(false), _5(int4_sum), _6(20), _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(2, 20, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4_sum"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int4_text", 1, - AddBuiltinFunc(_0(4167), _1("int4_text"), _2(1), _3(true), _4(false), _5(int4_text), _6(25), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4_text"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4167), _1("int4_text"), _2(1), _3(true), _4(false), _5(int4_text), _6(25), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4_text"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int4_varchar", 1, - AddBuiltinFunc(_0(4181), _1("int4_varchar"), _2(1), _3(true), _4(false), _5(int4_varchar), _6(1043), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4_varchar"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4181), _1("int4_varchar"), _2(1), _3(true), _4(false), _5(int4_varchar), _6(1043), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4_varchar"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int4abs", 1, - AddBuiltinFunc(_0(1251), _1("int4abs"), _2(1), _3(true), _4(false), _5(int4abs), _6(23), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4abs"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1251), _1("int4abs"), _2(1), _3(true), _4(false), _5(int4abs), _6(23), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4abs"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int4and", 1, - AddBuiltinFunc(_0(1898), _1("int4and"), _2(2), _3(true), _4(false), _5(int4and), _6(23), _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(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4and"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1898), _1("int4and"), _2(2), _3(true), _4(false), _5(int4and), _6(23), _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(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4and"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int4div", 1, - AddBuiltinFunc(_0(154), _1("int4div"), _2(2), _3(true), _4(false), _5(int4div), _6(701), _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(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4div"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(154), _1("int4div"), _2(2), _3(true), _4(false), _5(int4div), _6(701), _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(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4div"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int4eq", 1, - AddBuiltinFunc(_0(65), _1("int4eq"), _2(2), _3(true), _4(false), _5(int4eq), _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(true), _18('i'), _19(0), _20(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(65), _1("int4eq"), _2(2), _3(true), _4(false), _5(int4eq), _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(true), _18('i'), _19(0), _20(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int4ge", 1, - AddBuiltinFunc(_0(150), _1("int4ge"), _2(2), _3(true), _4(false), _5(int4ge), _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(true), _18('i'), _19(0), _20(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(150), _1("int4ge"), _2(2), _3(true), _4(false), _5(int4ge), _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(true), _18('i'), _19(0), _20(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int4gt", 1, - AddBuiltinFunc(_0(147), _1("int4gt"), _2(2), _3(true), _4(false), _5(int4gt), _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(true), _18('i'), _19(0), _20(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(147), _1("int4gt"), _2(2), _3(true), _4(false), _5(int4gt), _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(true), _18('i'), _19(0), _20(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int4in", 1, - AddBuiltinFunc(_0(42), _1("int4in"), _2(1), _3(true), _4(false), _5(int4in), _6(23), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(42), _1("int4in"), _2(1), _3(true), _4(false), _5(int4in), _6(23), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int4inc", 1, - AddBuiltinFunc(_0(766), _1("int4inc"), _2(1), _3(true), _4(false), _5(int4inc), _6(23), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4inc"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(766), _1("int4inc"), _2(1), _3(true), _4(false), _5(int4inc), _6(23), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4inc"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int4larger", 1, - AddBuiltinFunc(_0(768), _1("int4larger"), _2(2), _3(true), _4(false), _5(int4larger), _6(23), _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(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4larger"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(768), _1("int4larger"), _2(2), _3(true), _4(false), _5(int4larger), _6(23), _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(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4larger"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int4le", 1, - AddBuiltinFunc(_0(149), _1("int4le"), _2(2), _3(true), _4(false), _5(int4le), _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(true), _18('i'), _19(0), _20(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(149), _1("int4le"), _2(2), _3(true), _4(false), _5(int4le), _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(true), _18('i'), _19(0), _20(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int4lt", 1, - AddBuiltinFunc(_0(66), _1("int4lt"), _2(2), _3(true), _4(false), _5(int4lt), _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(true), _18('i'), _19(0), _20(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(66), _1("int4lt"), _2(2), _3(true), _4(false), _5(int4lt), _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(true), _18('i'), _19(0), _20(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int4mi", 1, - AddBuiltinFunc(_0(181), _1("int4mi"), _2(2), _3(true), _4(false), _5(int4mi), _6(23), _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(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4mi"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(181), _1("int4mi"), _2(2), _3(true), _4(false), _5(int4mi), _6(23), _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(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4mi"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int4mod", 1, - AddBuiltinFunc(_0(156), _1("int4mod"), _2(2), _3(true), _4(false), _5(int4mod), _6(23), _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(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4mod"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(156), _1("int4mod"), _2(2), _3(true), _4(false), _5(int4mod), _6(23), _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(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4mod"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int4mul", 1, - AddBuiltinFunc(_0(141), _1("int4mul"), _2(2), _3(true), _4(false), _5(int4mul), _6(23), _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(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4mul"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(141), _1("int4mul"), _2(2), _3(true), _4(false), _5(int4mul), _6(23), _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(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4mul"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int4ne", 1, - AddBuiltinFunc(_0(144), _1("int4ne"), _2(2), _3(true), _4(false), _5(int4ne), _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(true), _18('i'), _19(0), _20(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(144), _1("int4ne"), _2(2), _3(true), _4(false), _5(int4ne), _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(true), _18('i'), _19(0), _20(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int4not", 1, - AddBuiltinFunc(_0(1901), _1("int4not"), _2(1), _3(true), _4(false), _5(int4not), _6(23), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4not"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1901), _1("int4not"), _2(1), _3(true), _4(false), _5(int4not), _6(23), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4not"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int4or", 1, - AddBuiltinFunc(_0(1899), _1("int4or"), _2(2), _3(true), _4(false), _5(int4or), _6(23), _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(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4or"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1899), _1("int4or"), _2(2), _3(true), _4(false), _5(int4or), _6(23), _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(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4or"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int4out", 1, - AddBuiltinFunc(_0(43), _1("int4out"), _2(1), _3(true), _4(false), _5(int4out), _6(2275), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(43), _1("int4out"), _2(1), _3(true), _4(false), _5(int4out), _6(2275), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int4pl", 1, - AddBuiltinFunc(_0(177), _1("int4pl"), _2(2), _3(true), _4(false), _5(int4pl), _6(23), _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(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4pl"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(177), _1("int4pl"), _2(2), _3(true), _4(false), _5(int4pl), _6(23), _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(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4pl"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int4range", 2, - AddBuiltinFunc(_0(3840), _1("int4range"), _2(2), _3(false), _4(false), _5(range_constructor2), _6(3904), _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(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_constructor2"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3841), _1("int4range"), _2(3), _3(false), _4(false), _5(range_constructor3), _6(3904), _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(3, 23, 23, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_constructor3"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3840), _1("int4range"), _2(2), _3(false), _4(false), _5(range_constructor2), _6(3904), _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(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_constructor2"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3841), _1("int4range"), _2(3), _3(false), _4(false), _5(range_constructor3), _6(3904), _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(3, 23, 23, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_constructor3"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int4range_canonical", 1, - AddBuiltinFunc(_0(3914), _1("int4range_canonical"), _2(1), _3(true), _4(false), _5(int4range_canonical), _6(3904), _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(1, 3904), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4range_canonical"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3914), _1("int4range_canonical"), _2(1), _3(true), _4(false), _5(int4range_canonical), _6(3904), _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(1, 3904), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4range_canonical"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int4range_subdiff", 1, - AddBuiltinFunc(_0(3922), _1("int4range_subdiff"), _2(2), _3(true), _4(false), _5(int4range_subdiff), _6(701), _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(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4range_subdiff"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3922), _1("int4range_subdiff"), _2(2), _3(true), _4(false), _5(int4range_subdiff), _6(701), _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(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4range_subdiff"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int4recv", 1, - AddBuiltinFunc(_0(2406), _1("int4recv"), _2(1), _3(true), _4(false), _5(int4recv), _6(23), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2406), _1("int4recv"), _2(1), _3(true), _4(false), _5(int4recv), _6(23), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int4send", 1, - AddBuiltinFunc(_0(2407), _1("int4send"), _2(1), _3(true), _4(false), _5(int4send), _6(17), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2407), _1("int4send"), _2(1), _3(true), _4(false), _5(int4send), _6(17), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int4shl", 1, - AddBuiltinFunc(_0(1902), _1("int4shl"), _2(2), _3(true), _4(false), _5(int4shl), _6(23), _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(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4shl"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1902), _1("int4shl"), _2(2), _3(true), _4(false), _5(int4shl), _6(23), _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(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4shl"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int4shr", 1, - AddBuiltinFunc(_0(1903), _1("int4shr"), _2(2), _3(true), _4(false), _5(int4shr), _6(23), _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(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4shr"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1903), _1("int4shr"), _2(2), _3(true), _4(false), _5(int4shr), _6(23), _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(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4shr"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int4smaller", 1, - AddBuiltinFunc(_0(769), _1("int4smaller"), _2(2), _3(true), _4(false), _5(int4smaller), _6(23), _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(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4smaller"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(769), _1("int4smaller"), _2(2), _3(true), _4(false), _5(int4smaller), _6(23), _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(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4smaller"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int4um", 1, - AddBuiltinFunc(_0(212), _1("int4um"), _2(1), _3(true), _4(false), _5(int4um), _6(23), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4um"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(212), _1("int4um"), _2(1), _3(true), _4(false), _5(int4um), _6(23), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4um"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int4up", 1, - AddBuiltinFunc(_0(1912), _1("int4up"), _2(1), _3(true), _4(false), _5(int4up), _6(23), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4up"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1912), _1("int4up"), _2(1), _3(true), _4(false), _5(int4up), _6(23), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4up"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int4xor", 1, - AddBuiltinFunc(_0(1900), _1("int4xor"), _2(2), _3(true), _4(false), _5(int4xor), _6(23), _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(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4xor"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1900), _1("int4xor"), _2(2), _3(true), _4(false), _5(int4xor), _6(23), _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(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4xor"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int8", 7, - AddBuiltinFunc(_0(481), _1("int8"), _2(1), _3(true), _4(false), _5(int48), _6(20), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int48"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(483), _1("int8"), _2(1), _3(true), _4(false), _5(dtoi8), _6(20), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dtoi8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(653), _1("int8"), _2(1), _3(true), _4(false), _5(ftoi8), _6(20), _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(1, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ftoi8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(754), _1("int8"), _2(1), _3(true), _4(false), _5(int28), _6(20), _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(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int28"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1288), _1("int8"), _2(1), _3(true), _4(false), _5(oidtoi8), _6(20), _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(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("oidtoi8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1779), _1("int8"), _2(1), _3(true), _4(false), _5(numeric_int8), _6(20), _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(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_int8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2076), _1("int8"), _2(1), _3(true), _4(false), _5(bittoint8), _6(20), _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(1, 1560), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bittoint8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(481), _1("int8"), _2(1), _3(true), _4(false), _5(int48), _6(20), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int48"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(483), _1("int8"), _2(1), _3(true), _4(false), _5(dtoi8), _6(20), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dtoi8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(653), _1("int8"), _2(1), _3(true), _4(false), _5(ftoi8), _6(20), _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(1, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ftoi8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(754), _1("int8"), _2(1), _3(true), _4(false), _5(int28), _6(20), _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(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int28"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1288), _1("int8"), _2(1), _3(true), _4(false), _5(oidtoi8), _6(20), _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(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("oidtoi8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1779), _1("int8"), _2(1), _3(true), _4(false), _5(numeric_int8), _6(20), _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(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_int8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2076), _1("int8"), _2(1), _3(true), _4(false), _5(bittoint8), _6(20), _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(1, 1560), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bittoint8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int82div", 1, - AddBuiltinFunc(_0(840), _1("int82div"), _2(2), _3(true), _4(false), _5(int82div), _6(701), _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(2, 20, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int82div"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(840), _1("int82div"), _2(2), _3(true), _4(false), _5(int82div), _6(701), _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(2, 20, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int82div"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int82eq", 1, - AddBuiltinFunc(_0(1856), _1("int82eq"), _2(2), _3(true), _4(false), _5(int82eq), _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(true), _18('i'), _19(0), _20(2, 20, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int82eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1856), _1("int82eq"), _2(2), _3(true), _4(false), _5(int82eq), _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(true), _18('i'), _19(0), _20(2, 20, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int82eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int82ge", 1, - AddBuiltinFunc(_0(1861), _1("int82ge"), _2(2), _3(true), _4(false), _5(int82ge), _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(true), _18('i'), _19(0), _20(2, 20, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int82ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1861), _1("int82ge"), _2(2), _3(true), _4(false), _5(int82ge), _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(true), _18('i'), _19(0), _20(2, 20, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int82ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int82gt", 1, - AddBuiltinFunc(_0(1859), _1("int82gt"), _2(2), _3(true), _4(false), _5(int82gt), _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(true), _18('i'), _19(0), _20(2, 20, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int82gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1859), _1("int82gt"), _2(2), _3(true), _4(false), _5(int82gt), _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(true), _18('i'), _19(0), _20(2, 20, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int82gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int82le", 1, - AddBuiltinFunc(_0(1860), _1("int82le"), _2(2), _3(true), _4(false), _5(int82le), _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(true), _18('i'), _19(0), _20(2, 20, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int82le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1860), _1("int82le"), _2(2), _3(true), _4(false), _5(int82le), _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(true), _18('i'), _19(0), _20(2, 20, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int82le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int82lt", 1, - AddBuiltinFunc(_0(1858), _1("int82lt"), _2(2), _3(true), _4(false), _5(int82lt), _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(true), _18('i'), _19(0), _20(2, 20, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int82lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1858), _1("int82lt"), _2(2), _3(true), _4(false), _5(int82lt), _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(true), _18('i'), _19(0), _20(2, 20, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int82lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int82mi", 1, - AddBuiltinFunc(_0(838), _1("int82mi"), _2(2), _3(true), _4(false), _5(int82mi), _6(20), _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(2, 20, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int82mi"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(838), _1("int82mi"), _2(2), _3(true), _4(false), _5(int82mi), _6(20), _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(2, 20, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int82mi"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int82mul", 1, - AddBuiltinFunc(_0(839), _1("int82mul"), _2(2), _3(true), _4(false), _5(int82mul), _6(20), _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(2, 20, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int82mul"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(839), _1("int82mul"), _2(2), _3(true), _4(false), _5(int82mul), _6(20), _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(2, 20, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int82mul"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int82ne", 1, - AddBuiltinFunc(_0(1857), _1("int82ne"), _2(2), _3(true), _4(false), _5(int82ne), _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(true), _18('i'), _19(0), _20(2, 20, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int82ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1857), _1("int82ne"), _2(2), _3(true), _4(false), _5(int82ne), _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(true), _18('i'), _19(0), _20(2, 20, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int82ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int82pl", 1, - AddBuiltinFunc(_0(837), _1("int82pl"), _2(2), _3(true), _4(false), _5(int82pl), _6(20), _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(2, 20, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int82pl"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(837), _1("int82pl"), _2(2), _3(true), _4(false), _5(int82pl), _6(20), _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(2, 20, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int82pl"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int84div", 1, - AddBuiltinFunc(_0(1277), _1("int84div"), _2(2), _3(true), _4(false), _5(int84div), _6(701), _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(2, 20, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int84div"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1277), _1("int84div"), _2(2), _3(true), _4(false), _5(int84div), _6(701), _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(2, 20, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int84div"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int84eq", 1, - AddBuiltinFunc(_0(474), _1("int84eq"), _2(2), _3(true), _4(false), _5(int84eq), _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(true), _18('i'), _19(0), _20(2, 20, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int84eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(474), _1("int84eq"), _2(2), _3(true), _4(false), _5(int84eq), _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(true), _18('i'), _19(0), _20(2, 20, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int84eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int84ge", 1, - AddBuiltinFunc(_0(479), _1("int84ge"), _2(2), _3(true), _4(false), _5(int84ge), _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(true), _18('i'), _19(0), _20(2, 20, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int84ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(479), _1("int84ge"), _2(2), _3(true), _4(false), _5(int84ge), _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(true), _18('i'), _19(0), _20(2, 20, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int84ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int84gt", 1, - AddBuiltinFunc(_0(477), _1("int84gt"), _2(2), _3(true), _4(false), _5(int84gt), _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(true), _18('i'), _19(0), _20(2, 20, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int84gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(477), _1("int84gt"), _2(2), _3(true), _4(false), _5(int84gt), _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(true), _18('i'), _19(0), _20(2, 20, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int84gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int84le", 1, - AddBuiltinFunc(_0(478), _1("int84le"), _2(2), _3(true), _4(false), _5(int84le), _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(true), _18('i'), _19(0), _20(2, 20, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int84le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(478), _1("int84le"), _2(2), _3(true), _4(false), _5(int84le), _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(true), _18('i'), _19(0), _20(2, 20, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int84le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int84lt", 1, - AddBuiltinFunc(_0(476), _1("int84lt"), _2(2), _3(true), _4(false), _5(int84lt), _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(true), _18('i'), _19(0), _20(2, 20, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int84lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(476), _1("int84lt"), _2(2), _3(true), _4(false), _5(int84lt), _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(true), _18('i'), _19(0), _20(2, 20, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int84lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int84mi", 1, - AddBuiltinFunc(_0(1275), _1("int84mi"), _2(2), _3(true), _4(false), _5(int84mi), _6(20), _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(2, 20, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int84mi"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1275), _1("int84mi"), _2(2), _3(true), _4(false), _5(int84mi), _6(20), _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(2, 20, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int84mi"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int84mul", 1, - AddBuiltinFunc(_0(1276), _1("int84mul"), _2(2), _3(true), _4(false), _5(int84mul), _6(20), _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(2, 20, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int84mul"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1276), _1("int84mul"), _2(2), _3(true), _4(false), _5(int84mul), _6(20), _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(2, 20, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int84mul"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int84ne", 1, - AddBuiltinFunc(_0(475), _1("int84ne"), _2(2), _3(true), _4(false), _5(int84ne), _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(true), _18('i'), _19(0), _20(2, 20, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int84ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(475), _1("int84ne"), _2(2), _3(true), _4(false), _5(int84ne), _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(true), _18('i'), _19(0), _20(2, 20, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int84ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int84pl", 1, - AddBuiltinFunc(_0(1274), _1("int84pl"), _2(2), _3(true), _4(false), _5(int84pl), _6(20), _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(2, 20, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int84pl"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1274), _1("int84pl"), _2(2), _3(true), _4(false), _5(int84pl), _6(20), _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(2, 20, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int84pl"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int8_accum", 1, - AddBuiltinFunc(_0(1836), _1("int8_accum"), _2(2), _3(true), _4(false), _5(int8_accum), _6(1231), _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(2, 1231, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8_accum"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1836), _1("int8_accum"), _2(2), _3(true), _4(false), _5(int8_accum), _6(1231), _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(2, 1231, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8_accum"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int8_avg", 1, - AddBuiltinFunc(_0(1964), _1("int8_avg"), _2(1), _3(true), _4(false), _5(int8_avg), _6(1700), _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(1, 1016), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8_avg"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1964), _1("int8_avg"), _2(1), _3(true), _4(false), _5(int8_avg), _6(1700), _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(1, 1016), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8_avg"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int8_avg_accum", 1, - AddBuiltinFunc(_0(2746), _1("int8_avg_accum"), _2(2), _3(true), _4(false), _5(int8_avg_accum), _6(1231), _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(2, 1231, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8_avg_accum"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2746), _1("int8_avg_accum"), _2(2), _3(true), _4(false), _5(int8_avg_accum), _6(1231), _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(2, 1231, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8_avg_accum"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int8_avg_collect", 1, - AddBuiltinFunc(_0(2965), _1("int8_avg_collect"), _2(2), _3(true), _4(false), _5(int8_avg_collect), _6(1016), _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(2, 1016, 1016), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8_avg_collect"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2965), _1("int8_avg_collect"), _2(2), _3(true), _4(false), _5(int8_avg_collect), _6(1016), _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(2, 1016, 1016), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8_avg_collect"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int8_bool", 1, - AddBuiltinFunc(_0(3177), _1("int8_bool"), _2(1), _3(true), _4(false), _5(int8_bool), _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(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8_bool"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3177), _1("int8_bool"), _2(1), _3(true), _4(false), _5(int8_bool), _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(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8_bool"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int8_bpchar", 1, - AddBuiltinFunc(_0(4069), _1("int8_bpchar"), _2(1), _3(true), _4(false), _5(int8_bpchar), _6(1042), _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(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8_bpchar"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4069), _1("int8_bpchar"), _2(1), _3(true), _4(false), _5(int8_bpchar), _6(1042), _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(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8_bpchar"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int8_list_agg_noarg2_transfn", 1, - AddBuiltinFunc(_0(3565), _1("int8_list_agg_noarg2_transfn"), _2(2), _3(false), _4(false), _5(int8_list_agg_noarg2_transfn), _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(2, 2281, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8_list_agg_noarg2_transfn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3565), _1("int8_list_agg_noarg2_transfn"), _2(2), _3(false), _4(false), _5(int8_list_agg_noarg2_transfn), _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(2, 2281, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8_list_agg_noarg2_transfn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int8_list_agg_transfn", 1, - AddBuiltinFunc(_0(3563), _1("int8_list_agg_transfn"), _2(3), _3(false), _4(false), _5(int8_list_agg_transfn), _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(3, 2281, 20, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8_list_agg_transfn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3563), _1("int8_list_agg_transfn"), _2(3), _3(false), _4(false), _5(int8_list_agg_transfn), _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(3, 2281, 20, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8_list_agg_transfn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int8_mul_cash", 1, - AddBuiltinFunc(_0(3343), _1("int8_mul_cash"), _2(2), _3(true), _4(false), _5(int8_mul_cash), _6(790), _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(2, 20, 790), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8_mul_cash"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(3343), _1("int8_mul_cash"), _2(2), _3(true), _4(false), _5(int8_mul_cash), _6(790), _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(2, 20, 790), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8_mul_cash"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int8_sum", 1, - AddBuiltinFunc(_0(1842), _1("int8_sum"), _2(2), _3(false), _4(false), _5(int8_sum), _6(1700), _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(2, 1700, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8_sum"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1842), _1("int8_sum"), _2(2), _3(false), _4(false), _5(int8_sum), _6(1700), _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(2, 1700, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8_sum"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int8_sum_to_int8", 1, - AddBuiltinFunc(_0(2996), _1("int8_sum_to_int8"), _2(2), _3(false), _4(false), _5(int8_sum_to_int8), _6(20), _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(2, 20, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8_sum_to_int8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2996), _1("int8_sum_to_int8"), _2(2), _3(false), _4(false), _5(int8_sum_to_int8), _6(20), _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(2, 20, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8_sum_to_int8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int8_text", 1, - AddBuiltinFunc(_0(4168), _1("int8_text"), _2(1), _3(true), _4(false), _5(int8_text), _6(25), _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(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8_text"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4168), _1("int8_text"), _2(1), _3(true), _4(false), _5(int8_text), _6(25), _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(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8_text"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int8_varchar", 1, - AddBuiltinFunc(_0(4182), _1("int8_varchar"), _2(1), _3(true), _4(false), _5(int8_varchar), _6(1043), _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(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8_varchar"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4182), _1("int8_varchar"), _2(1), _3(true), _4(false), _5(int8_varchar), _6(1043), _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(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8_varchar"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int8abs", 1, - AddBuiltinFunc(_0(1230), _1("int8abs"), _2(1), _3(true), _4(false), _5(int8abs), _6(20), _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(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8abs"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1230), _1("int8abs"), _2(1), _3(true), _4(false), _5(int8abs), _6(20), _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(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8abs"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int8and", 1, - AddBuiltinFunc(_0(1904), _1("int8and"), _2(2), _3(true), _4(false), _5(int8and), _6(20), _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(2, 20, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8and"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1904), _1("int8and"), _2(2), _3(true), _4(false), _5(int8and), _6(20), _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(2, 20, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8and"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int8div", 1, - AddBuiltinFunc(_0(466), _1("int8div"), _2(2), _3(true), _4(false), _5(int8div), _6(701), _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(2, 20, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8div"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(466), _1("int8div"), _2(2), _3(true), _4(false), _5(int8div), _6(701), _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(2, 20, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8div"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int8eq", 1, - AddBuiltinFunc(_0(467), _1("int8eq"), _2(2), _3(true), _4(false), _5(int8eq), _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(true), _18('i'), _19(0), _20(2, 20, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(467), _1("int8eq"), _2(2), _3(true), _4(false), _5(int8eq), _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(true), _18('i'), _19(0), _20(2, 20, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int8ge", 1, - AddBuiltinFunc(_0(472), _1("int8ge"), _2(2), _3(true), _4(false), _5(int8ge), _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(true), _18('i'), _19(0), _20(2, 20, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(472), _1("int8ge"), _2(2), _3(true), _4(false), _5(int8ge), _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(true), _18('i'), _19(0), _20(2, 20, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int8gt", 1, - AddBuiltinFunc(_0(470), _1("int8gt"), _2(2), _3(true), _4(false), _5(int8gt), _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(true), _18('i'), _19(0), _20(2, 20, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(470), _1("int8gt"), _2(2), _3(true), _4(false), _5(int8gt), _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(true), _18('i'), _19(0), _20(2, 20, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int8in", 1, - AddBuiltinFunc(_0(460), _1("int8in"), _2(1), _3(true), _4(false), _5(int8in), _6(20), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(460), _1("int8in"), _2(1), _3(true), _4(false), _5(int8in), _6(20), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int8inc", 1, - AddBuiltinFunc(_0(1219), _1("int8inc"), _2(1), _3(true), _4(false), _5(int8inc), _6(20), _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(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8inc"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1219), _1("int8inc"), _2(1), _3(true), _4(false), _5(int8inc), _6(20), _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(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8inc"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int8inc_any", 1, - AddBuiltinFunc(_0(2804), _1("int8inc_any"), _2(2), _3(true), _4(false), _5(int8inc_any), _6(20), _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(2, 20, 2276), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8inc_any"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2804), _1("int8inc_any"), _2(2), _3(true), _4(false), _5(int8inc_any), _6(20), _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(2, 20, 2276), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8inc_any"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int8inc_float8_float8", 1, - AddBuiltinFunc(_0(2805), _1("int8inc_float8_float8"), _2(3), _3(true), _4(false), _5(int8inc_float8_float8), _6(20), _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(3, 20, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8inc_float8_float8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2805), _1("int8inc_float8_float8"), _2(3), _3(true), _4(false), _5(int8inc_float8_float8), _6(20), _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(3, 20, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8inc_float8_float8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int8larger", 1, - AddBuiltinFunc(_0(1236), _1("int8larger"), _2(2), _3(true), _4(false), _5(int8larger), _6(20), _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(2, 20, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8larger"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1236), _1("int8larger"), _2(2), _3(true), _4(false), _5(int8larger), _6(20), _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(2, 20, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8larger"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int8le", 1, - AddBuiltinFunc(_0(471), _1("int8le"), _2(2), _3(true), _4(false), _5(int8le), _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(true), _18('i'), _19(0), _20(2, 20, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(471), _1("int8le"), _2(2), _3(true), _4(false), _5(int8le), _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(true), _18('i'), _19(0), _20(2, 20, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int8lt", 1, - AddBuiltinFunc(_0(469), _1("int8lt"), _2(2), _3(true), _4(false), _5(int8lt), _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(true), _18('i'), _19(0), _20(2, 20, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(469), _1("int8lt"), _2(2), _3(true), _4(false), _5(int8lt), _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(true), _18('i'), _19(0), _20(2, 20, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int8mi", 1, - AddBuiltinFunc(_0(464), _1("int8mi"), _2(2), _3(true), _4(false), _5(int8mi), _6(20), _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(2, 20, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8mi"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(464), _1("int8mi"), _2(2), _3(true), _4(false), _5(int8mi), _6(20), _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(2, 20, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8mi"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int8mod", 1, - AddBuiltinFunc(_0(945), _1("int8mod"), _2(2), _3(true), _4(false), _5(int8mod), _6(20), _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(2, 20, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8mod"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(945), _1("int8mod"), _2(2), _3(true), _4(false), _5(int8mod), _6(20), _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(2, 20, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8mod"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int8mul", 1, - AddBuiltinFunc(_0(465), _1("int8mul"), _2(2), _3(true), _4(false), _5(int8mul), _6(20), _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(2, 20, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8mul"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(465), _1("int8mul"), _2(2), _3(true), _4(false), _5(int8mul), _6(20), _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(2, 20, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8mul"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int8ne", 1, - AddBuiltinFunc(_0(468), _1("int8ne"), _2(2), _3(true), _4(false), _5(int8ne), _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(true), _18('i'), _19(0), _20(2, 20, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(468), _1("int8ne"), _2(2), _3(true), _4(false), _5(int8ne), _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(true), _18('i'), _19(0), _20(2, 20, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int8not", 1, - AddBuiltinFunc(_0(1907), _1("int8not"), _2(1), _3(true), _4(false), _5(int8not), _6(20), _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(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8not"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1907), _1("int8not"), _2(1), _3(true), _4(false), _5(int8not), _6(20), _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(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8not"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int8or", 1, - AddBuiltinFunc(_0(1905), _1("int8or"), _2(2), _3(true), _4(false), _5(int8or), _6(20), _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(2, 20, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8or"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1905), _1("int8or"), _2(2), _3(true), _4(false), _5(int8or), _6(20), _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(2, 20, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8or"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int8out", 1, - AddBuiltinFunc(_0(461), _1("int8out"), _2(1), _3(true), _4(false), _5(int8out), _6(2275), _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(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(461), _1("int8out"), _2(1), _3(true), _4(false), _5(int8out), _6(2275), _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(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int8pl", 1, - AddBuiltinFunc(_0(463), _1("int8pl"), _2(2), _3(true), _4(false), _5(int8pl), _6(20), _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(2, 20, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8pl"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(463), _1("int8pl"), _2(2), _3(true), _4(false), _5(int8pl), _6(20), _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(2, 20, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8pl"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int8pl_inet", 1, - AddBuiltinFunc(_0(2631), _1("int8pl_inet"), _2(2), _3(true), _4(false), _5(NULL), _6(869), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 20, 869), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select $2 + $1"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2631), _1("int8pl_inet"), _2(2), _3(true), _4(false), _5(NULL), _6(869), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 20, 869), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select $2 + $1"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int8range", 2, - AddBuiltinFunc(_0(3945), _1("int8range"), _2(2), _3(false), _4(false), _5(range_constructor2), _6(3926), _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(2, 20, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_constructor2"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3946), _1("int8range"), _2(3), _3(false), _4(false), _5(range_constructor3), _6(3926), _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(3, 20, 20, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_constructor3"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3945), _1("int8range"), _2(2), _3(false), _4(false), _5(range_constructor2), _6(3926), _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(2, 20, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_constructor2"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3946), _1("int8range"), _2(3), _3(false), _4(false), _5(range_constructor3), _6(3926), _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(3, 20, 20, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_constructor3"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int8range_canonical", 1, - AddBuiltinFunc(_0(3928), _1("int8range_canonical"), _2(1), _3(true), _4(false), _5(int8range_canonical), _6(3926), _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(1, 3926), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8range_canonical"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3928), _1("int8range_canonical"), _2(1), _3(true), _4(false), _5(int8range_canonical), _6(3926), _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(1, 3926), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8range_canonical"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int8range_subdiff", 1, - AddBuiltinFunc(_0(3923), _1("int8range_subdiff"), _2(2), _3(true), _4(false), _5(int8range_subdiff), _6(701), _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(2, 20, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8range_subdiff"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3923), _1("int8range_subdiff"), _2(2), _3(true), _4(false), _5(int8range_subdiff), _6(701), _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(2, 20, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8range_subdiff"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int8recv", 1, - AddBuiltinFunc(_0(2408), _1("int8recv"), _2(1), _3(true), _4(false), _5(int8recv), _6(20), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2408), _1("int8recv"), _2(1), _3(true), _4(false), _5(int8recv), _6(20), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int8send", 1, - AddBuiltinFunc(_0(2409), _1("int8send"), _2(1), _3(true), _4(false), _5(int8send), _6(17), _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(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2409), _1("int8send"), _2(1), _3(true), _4(false), _5(int8send), _6(17), _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(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int8shl", 1, - AddBuiltinFunc(_0(1908), _1("int8shl"), _2(2), _3(true), _4(false), _5(int8shl), _6(20), _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(2, 20, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8shl"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1908), _1("int8shl"), _2(2), _3(true), _4(false), _5(int8shl), _6(20), _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(2, 20, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8shl"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int8shr", 1, - AddBuiltinFunc(_0(1909), _1("int8shr"), _2(2), _3(true), _4(false), _5(int8shr), _6(20), _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(2, 20, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8shr"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1909), _1("int8shr"), _2(2), _3(true), _4(false), _5(int8shr), _6(20), _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(2, 20, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8shr"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int8smaller", 1, - AddBuiltinFunc(_0(1237), _1("int8smaller"), _2(2), _3(true), _4(false), _5(int8smaller), _6(20), _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(2, 20, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8smaller"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1237), _1("int8smaller"), _2(2), _3(true), _4(false), _5(int8smaller), _6(20), _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(2, 20, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8smaller"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int8um", 1, - AddBuiltinFunc(_0(462), _1("int8um"), _2(1), _3(true), _4(false), _5(int8um), _6(20), _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(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8um"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(462), _1("int8um"), _2(1), _3(true), _4(false), _5(int8um), _6(20), _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(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8um"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int8up", 1, - AddBuiltinFunc(_0(1910), _1("int8up"), _2(1), _3(true), _4(false), _5(int8up), _6(20), _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(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8up"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1910), _1("int8up"), _2(1), _3(true), _4(false), _5(int8up), _6(20), _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(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8up"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "int8xor", 1, - AddBuiltinFunc(_0(1906), _1("int8xor"), _2(2), _3(true), _4(false), _5(int8xor), _6(20), _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(2, 20, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8xor"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1906), _1("int8xor"), _2(2), _3(true), _4(false), _5(int8xor), _6(20), _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(2, 20, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8xor"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "integer_pl_date", 1, - AddBuiltinFunc(_0(2550), _1("integer_pl_date"), _2(2), _3(true), _4(false), _5(NULL), _6(1082), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 23, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select $2 + $1"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2550), _1("integer_pl_date"), _2(2), _3(true), _4(false), _5(NULL), _6(1082), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 23, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select $2 + $1"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "inter_lb", 1, - AddBuiltinFunc(_0(278), _1("inter_lb"), _2(2), _3(true), _4(false), _5(inter_lb), _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(2, 628, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("inter_lb"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(278), _1("inter_lb"), _2(2), _3(true), _4(false), _5(inter_lb), _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(2, 628, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("inter_lb"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "inter_sb", 1, - AddBuiltinFunc(_0(373), _1("inter_sb"), _2(2), _3(true), _4(false), _5(inter_sb), _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(2, 601, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("inter_sb"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(373), _1("inter_sb"), _2(2), _3(true), _4(false), _5(inter_sb), _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(2, 601, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("inter_sb"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "inter_sl", 1, - AddBuiltinFunc(_0(277), _1("inter_sl"), _2(2), _3(true), _4(false), _5(inter_sl), _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(2, 601, 628), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("inter_sl"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(277), _1("inter_sl"), _2(2), _3(true), _4(false), _5(inter_sl), _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(2, 601, 628), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("inter_sl"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "internal_in", 1, - AddBuiltinFunc(_0(2304), _1("internal_in"), _2(1), _3(false), _4(false), _5(internal_in), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("internal_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2304), _1("internal_in"), _2(1), _3(false), _4(false), _5(internal_in), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("internal_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "internal_out", 1, - AddBuiltinFunc(_0(2305), _1("internal_out"), _2(1), _3(true), _4(false), _5(internal_out), _6(2275), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("internal_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2305), _1("internal_out"), _2(1), _3(true), _4(false), _5(internal_out), _6(2275), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("internal_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "interval", 3, - AddBuiltinFunc(_0(1177), _1("interval"), _2(1), _3(true), _4(false), _5(reltime_interval), _6(1186), _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(1, 703), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("reltime_interval"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1200), _1("interval"), _2(2), _3(true), _4(false), _5(interval_scale), _6(1186), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(3918), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 1186, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_scale"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1370), _1("interval"), _2(1), _3(true), _4(false), _5(time_interval), _6(1186), _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(1, 1083), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("time_interval"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), + AddBuiltinFunc(_0(1177), _1("interval"), _2(1), _3(true), _4(false), _5(reltime_interval), _6(1186), _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(1, 703), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("reltime_interval"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1200), _1("interval"), _2(2), _3(true), _4(false), _5(interval_scale), _6(1186), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(3918), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 1186, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_scale"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1370), _1("interval"), _2(1), _3(true), _4(false), _5(time_interval), _6(1186), _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(1, 1083), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("time_interval"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), ), AddFuncGroup( "interval_accum", 1, - AddBuiltinFunc(_0(INTERVALACCUMFUNCOID), _1("interval_accum"), _2(2), _3(true), _4(false), _5(interval_accum), _6(1187), _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(2, 1187, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_accum"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(INTERVALACCUMFUNCOID), _1("interval_accum"), _2(2), _3(true), _4(false), _5(interval_accum), _6(1187), _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(2, 1187, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_accum"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "interval_avg", 1, - AddBuiltinFunc(_0(INTERVALAVGFUNCOID), _1("interval_avg"), _2(1), _3(true), _4(false), _5(interval_avg), _6(1186), _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(1, 1187), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_avg"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(INTERVALAVGFUNCOID), _1("interval_avg"), _2(1), _3(true), _4(false), _5(interval_avg), _6(1186), _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(1, 1187), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_avg"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "interval_cmp", 1, - AddBuiltinFunc(_0(1315), _1("interval_cmp"), _2(2), _3(true), _4(false), _5(interval_cmp), _6(23), _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(2, 1186, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1315), _1("interval_cmp"), _2(2), _3(true), _4(false), _5(interval_cmp), _6(23), _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(2, 1186, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "interval_collect", 1, - AddBuiltinFunc(_0(2967), _1("interval_collect"), _2(2), _3(true), _4(false), _5(interval_collect), _6(1187), _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(2, 1187, 1187), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_collect"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2967), _1("interval_collect"), _2(2), _3(true), _4(false), _5(interval_collect), _6(1187), _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(2, 1187, 1187), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_collect"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "interval_div", 1, - AddBuiltinFunc(_0(1326), _1("interval_div"), _2(2), _3(true), _4(false), _5(interval_div), _6(1186), _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(2, 1186, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_div"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1326), _1("interval_div"), _2(2), _3(true), _4(false), _5(interval_div), _6(1186), _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(2, 1186, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_div"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "interval_eq", 1, - AddBuiltinFunc(_0(1162), _1("interval_eq"), _2(2), _3(true), _4(false), _5(interval_eq), _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(true), _18('i'), _19(0), _20(2, 1186, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1162), _1("interval_eq"), _2(2), _3(true), _4(false), _5(interval_eq), _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(true), _18('i'), _19(0), _20(2, 1186, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "interval_ge", 1, - AddBuiltinFunc(_0(1166), _1("interval_ge"), _2(2), _3(true), _4(false), _5(interval_ge), _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(true), _18('i'), _19(0), _20(2, 1186, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1166), _1("interval_ge"), _2(2), _3(true), _4(false), _5(interval_ge), _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(true), _18('i'), _19(0), _20(2, 1186, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "interval_gt", 1, - AddBuiltinFunc(_0(1167), _1("interval_gt"), _2(2), _3(true), _4(false), _5(interval_gt), _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(true), _18('i'), _19(0), _20(2, 1186, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1167), _1("interval_gt"), _2(2), _3(true), _4(false), _5(interval_gt), _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(true), _18('i'), _19(0), _20(2, 1186, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "interval_hash", 1, - AddBuiltinFunc(_0(1697), _1("interval_hash"), _2(1), _3(true), _4(false), _5(interval_hash), _6(23), _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(1, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_hash"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1697), _1("interval_hash"), _2(1), _3(true), _4(false), _5(interval_hash), _6(23), _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(1, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_hash"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "interval_in", 1, - AddBuiltinFunc(_0(INTERVALINFUNCOID), _1("interval_in"), _2(3), _3(true), _4(false), _5(interval_in), _6(1186), _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('s'), _19(0), _20(3, 2275, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(INTERVALINFUNCOID), _1("interval_in"), _2(3), _3(true), _4(false), _5(interval_in), _6(1186), _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('s'), _19(0), _20(3, 2275, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "interval_larger", 1, - AddBuiltinFunc(_0(1198), _1("interval_larger"), _2(2), _3(true), _4(false), _5(interval_larger), _6(1186), _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(2, 1186, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_larger"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1198), _1("interval_larger"), _2(2), _3(true), _4(false), _5(interval_larger), _6(1186), _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(2, 1186, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_larger"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "interval_le", 1, - AddBuiltinFunc(_0(1165), _1("interval_le"), _2(2), _3(true), _4(false), _5(interval_le), _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(true), _18('i'), _19(0), _20(2, 1186, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1165), _1("interval_le"), _2(2), _3(true), _4(false), _5(interval_le), _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(true), _18('i'), _19(0), _20(2, 1186, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "interval_list_agg_noarg2_transfn", 1, - AddBuiltinFunc(_0(4507), _1("interval_list_agg_noarg2_transfn"), _2(2), _3(false), _4(false), _5(interval_list_agg_noarg2_transfn), _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(2, 2281, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_list_agg_noarg2_transfn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4507), _1("interval_list_agg_noarg2_transfn"), _2(2), _3(false), _4(false), _5(interval_list_agg_noarg2_transfn), _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(2, 2281, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_list_agg_noarg2_transfn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "interval_list_agg_transfn", 1, - AddBuiltinFunc(_0(4505), _1("interval_list_agg_transfn"), _2(3), _3(false), _4(false), _5(interval_list_agg_transfn), _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(3, 2281, 1186, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_list_agg_transfn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4505), _1("interval_list_agg_transfn"), _2(3), _3(false), _4(false), _5(interval_list_agg_transfn), _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(3, 2281, 1186, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_list_agg_transfn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "interval_lt", 1, - AddBuiltinFunc(_0(1164), _1("interval_lt"), _2(2), _3(true), _4(false), _5(interval_lt), _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(true), _18('i'), _19(0), _20(2, 1186, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1164), _1("interval_lt"), _2(2), _3(true), _4(false), _5(interval_lt), _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(true), _18('i'), _19(0), _20(2, 1186, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "interval_mi", 1, - AddBuiltinFunc(_0(1170), _1("interval_mi"), _2(2), _3(true), _4(false), _5(interval_mi), _6(1186), _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(2, 1186, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_mi"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1170), _1("interval_mi"), _2(2), _3(true), _4(false), _5(interval_mi), _6(1186), _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(2, 1186, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_mi"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "interval_mul", 1, - AddBuiltinFunc(_0(1618), _1("interval_mul"), _2(2), _3(true), _4(false), _5(interval_mul), _6(1186), _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(2, 1186, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_mul"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1618), _1("interval_mul"), _2(2), _3(true), _4(false), _5(interval_mul), _6(1186), _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(2, 1186, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_mul"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "interval_ne", 1, - AddBuiltinFunc(_0(1163), _1("interval_ne"), _2(2), _3(true), _4(false), _5(interval_ne), _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(true), _18('i'), _19(0), _20(2, 1186, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1163), _1("interval_ne"), _2(2), _3(true), _4(false), _5(interval_ne), _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(true), _18('i'), _19(0), _20(2, 1186, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "interval_out", 1, - AddBuiltinFunc(_0(1161), _1("interval_out"), _2(1), _3(true), _4(false), _5(interval_out), _6(2275), _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(1, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1161), _1("interval_out"), _2(1), _3(true), _4(false), _5(interval_out), _6(2275), _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(1, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "interval_pl", 1, - AddBuiltinFunc(_0(1169), _1("interval_pl"), _2(2), _3(true), _4(false), _5(interval_pl), _6(1186), _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(2, 1186, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_pl"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1169), _1("interval_pl"), _2(2), _3(true), _4(false), _5(interval_pl), _6(1186), _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(2, 1186, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_pl"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "interval_pl_date", 1, - AddBuiltinFunc(_0(2546), _1("interval_pl_date"), _2(2), _3(true), _4(false), _5(NULL), _6(1114), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 1186, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select $2 + $1"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2546), _1("interval_pl_date"), _2(2), _3(true), _4(false), _5(NULL), _6(1114), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 1186, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select $2 + $1"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "interval_pl_time", 1, - AddBuiltinFunc(_0(1848), _1("interval_pl_time"), _2(2), _3(true), _4(false), _5(NULL), _6(1083), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 1186, 1083), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select $2 + $1"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1848), _1("interval_pl_time"), _2(2), _3(true), _4(false), _5(NULL), _6(1083), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 1186, 1083), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select $2 + $1"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "interval_pl_timestamp", 1, - AddBuiltinFunc(_0(2548), _1("interval_pl_timestamp"), _2(2), _3(true), _4(false), _5(NULL), _6(1114), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 1186, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select $2 + $1"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2548), _1("interval_pl_timestamp"), _2(2), _3(true), _4(false), _5(NULL), _6(1114), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 1186, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select $2 + $1"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "interval_pl_timestamptz", 1, - AddBuiltinFunc(_0(INTERVALPLTIMESTAMPTZFUNCOID), _1("interval_pl_timestamptz"), _2(2), _3(true), _4(false), _5(NULL), _6(1184), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(2, 1186, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select $2 + $1"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(INTERVALPLTIMESTAMPTZFUNCOID), _1("interval_pl_timestamptz"), _2(2), _3(true), _4(false), _5(NULL), _6(1184), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(2, 1186, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select $2 + $1"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "interval_pl_timetz", 1, - AddBuiltinFunc(_0(2547), _1("interval_pl_timetz"), _2(2), _3(true), _4(false), _5(NULL), _6(1266), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 1186, 1266), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select $2 + $1"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2547), _1("interval_pl_timetz"), _2(2), _3(true), _4(false), _5(NULL), _6(1266), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 1186, 1266), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select $2 + $1"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "interval_recv", 1, - AddBuiltinFunc(_0(2478), _1("interval_recv"), _2(3), _3(true), _4(false), _5(interval_recv), _6(1186), _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(3, 2281, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2478), _1("interval_recv"), _2(3), _3(true), _4(false), _5(interval_recv), _6(1186), _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(3, 2281, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "interval_send", 1, - AddBuiltinFunc(_0(2479), _1("interval_send"), _2(1), _3(true), _4(false), _5(interval_send), _6(17), _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(1, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2479), _1("interval_send"), _2(1), _3(true), _4(false), _5(interval_send), _6(17), _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(1, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "interval_smaller", 1, - AddBuiltinFunc(_0(1197), _1("interval_smaller"), _2(2), _3(true), _4(false), _5(interval_smaller), _6(1186), _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(2, 1186, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_smaller"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1197), _1("interval_smaller"), _2(2), _3(true), _4(false), _5(interval_smaller), _6(1186), _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(2, 1186, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_smaller"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "interval_transform", 1, - AddBuiltinFunc(_0(3918), _1("interval_transform"), _2(1), _3(true), _4(false), _5(interval_transform), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_transform"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3918), _1("interval_transform"), _2(1), _3(true), _4(false), _5(interval_transform), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_transform"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "interval_um", 1, - AddBuiltinFunc(_0(1168), _1("interval_um"), _2(1), _3(true), _4(false), _5(interval_um), _6(1186), _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(1, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_um"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1168), _1("interval_um"), _2(1), _3(true), _4(false), _5(interval_um), _6(1186), _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(1, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_um"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "intervaltypmodin", 1, - AddBuiltinFunc(_0(2903), _1("intervaltypmodin"), _2(1), _3(true), _4(false), _5(intervaltypmodin), _6(23), _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(1, 1263), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("intervaltypmodin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2903), _1("intervaltypmodin"), _2(1), _3(true), _4(false), _5(intervaltypmodin), _6(23), _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(1, 1263), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("intervaltypmodin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "intervaltypmodout", 1, - AddBuiltinFunc(_0(2904), _1("intervaltypmodout"), _2(1), _3(true), _4(false), _5(intervaltypmodout), _6(2275), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("intervaltypmodout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2904), _1("intervaltypmodout"), _2(1), _3(true), _4(false), _5(intervaltypmodout), _6(2275), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("intervaltypmodout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "intinterval", 1, - AddBuiltinFunc(_0(248), _1("intinterval"), _2(2), _3(true), _4(false), _5(intinterval), _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(2, 702, 704), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("intinterval"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(248), _1("intinterval"), _2(2), _3(true), _4(false), _5(intinterval), _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(2, 702, 704), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("intinterval"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "isclosed", 1, - AddBuiltinFunc(_0(1430), _1("isclosed"), _2(1), _3(true), _4(false), _5(path_isclosed), _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(1, 602), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("path_isclosed"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1430), _1("isclosed"), _2(1), _3(true), _4(false), _5(path_isclosed), _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(1, 602), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("path_isclosed"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "isempty", 1, - AddBuiltinFunc(_0(3850), _1("isempty"), _2(1), _3(true), _4(false), _5(range_empty), _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(1, 3831), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_empty"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3850), _1("isempty"), _2(1), _3(true), _4(false), _5(range_empty), _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(1, 3831), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_empty"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "isfinite", 5, - AddBuiltinFunc(_0(275), _1("isfinite"), _2(1), _3(true), _4(false), _5(abstime_finite), _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(1, 702), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("abstime_finite"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1373), _1("isfinite"), _2(1), _3(true), _4(false), _5(date_finite), _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(1, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_finite"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1389), _1("isfinite"), _2(1), _3(true), _4(false), _5(timestamp_finite), _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(1, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_finite"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1390), _1("isfinite"), _2(1), _3(true), _4(false), _5(interval_finite), _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(1, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_finite"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2048), _1("isfinite"), _2(1), _3(true), _4(false), _5(timestamp_finite), _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(1, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_finite"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(275), _1("isfinite"), _2(1), _3(true), _4(false), _5(abstime_finite), _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(1, 702), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("abstime_finite"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1373), _1("isfinite"), _2(1), _3(true), _4(false), _5(date_finite), _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(1, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_finite"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1389), _1("isfinite"), _2(1), _3(true), _4(false), _5(timestamp_finite), _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(1, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_finite"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1390), _1("isfinite"), _2(1), _3(true), _4(false), _5(interval_finite), _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(1, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_finite"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2048), _1("isfinite"), _2(1), _3(true), _4(false), _5(timestamp_finite), _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(1, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_finite"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "ishorizontal", 3, - AddBuiltinFunc(_0(1407), _1("ishorizontal"), _2(2), _3(true), _4(false), _5(point_horiz), _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(2, 600, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("point_horiz"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1411), _1("ishorizontal"), _2(1), _3(true), _4(false), _5(lseg_horizontal), _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(1, 601), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lseg_horizontal"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1415), _1("ishorizontal"), _2(1), _3(true), _4(false), _5(line_horizontal), _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(1, 628), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("line_horizontal"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1407), _1("ishorizontal"), _2(2), _3(true), _4(false), _5(point_horiz), _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(2, 600, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("point_horiz"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1411), _1("ishorizontal"), _2(1), _3(true), _4(false), _5(lseg_horizontal), _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(1, 601), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lseg_horizontal"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1415), _1("ishorizontal"), _2(1), _3(true), _4(false), _5(line_horizontal), _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(1, 628), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("line_horizontal"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "isopen", 1, - AddBuiltinFunc(_0(1431), _1("isopen"), _2(1), _3(true), _4(false), _5(path_isopen), _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(1, 602), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("path_isopen"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1431), _1("isopen"), _2(1), _3(true), _4(false), _5(path_isopen), _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(1, 602), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("path_isopen"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "isparallel", 2, - AddBuiltinFunc(_0(1408), _1("isparallel"), _2(2), _3(true), _4(false), _5(lseg_parallel), _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(2, 601, 601), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lseg_parallel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1412), _1("isparallel"), _2(2), _3(true), _4(false), _5(line_parallel), _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(2, 628, 628), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("line_parallel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1408), _1("isparallel"), _2(2), _3(true), _4(false), _5(lseg_parallel), _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(2, 601, 601), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lseg_parallel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1412), _1("isparallel"), _2(2), _3(true), _4(false), _5(line_parallel), _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(2, 628, 628), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("line_parallel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "isperp", 2, - AddBuiltinFunc(_0(1409), _1("isperp"), _2(2), _3(true), _4(false), _5(lseg_perp), _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(2, 601, 601), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lseg_perp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1413), _1("isperp"), _2(2), _3(true), _4(false), _5(line_perp), _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(2, 628, 628), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("line_perp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1409), _1("isperp"), _2(2), _3(true), _4(false), _5(lseg_perp), _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(2, 601, 601), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lseg_perp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1413), _1("isperp"), _2(2), _3(true), _4(false), _5(line_perp), _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(2, 628, 628), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("line_perp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "isubmit_on_nodes", 1, - AddBuiltinFunc(_0(5718), _1("isubmit_on_nodes"), _2(4), _3(false), _4(false), _5(isubmit_job_on_nodes), _6(23), _7(PG_PKG_SERVICE_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(6, 20, 19, 19, 25, 1114, 25), _21(NULL), _22(NULL), _23(6, "job", "node_name", "database", "what", "next_date", "job_interval"), _24(NULL), _25("isubmit_job_on_nodes"), _26(NULL), _27(NULL), _28(NULL), _29(2, 2, 3), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(5718), _1("isubmit_on_nodes"), _2(4), _3(false), _4(false), _5(isubmit_job_on_nodes), _6(23), _7(PG_PKG_SERVICE_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(6, 20, 19, 19, 25, 1114, 25), _21(NULL), _22(NULL), _23(6, "job", "node_name", "database", "what", "next_date", "job_interval"), _24(NULL), _25("isubmit_job_on_nodes"), _26(NULL), _27(NULL), _28(NULL), _29(2, 2, 3), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "isvertical", 3, - AddBuiltinFunc(_0(1406), _1("isvertical"), _2(2), _3(true), _4(false), _5(point_vert), _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(2, 600, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("point_vert"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1410), _1("isvertical"), _2(1), _3(true), _4(false), _5(lseg_vertical), _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(1, 601), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lseg_vertical"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1414), _1("isvertical"), _2(1), _3(true), _4(false), _5(line_vertical), _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(1, 628), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("line_vertical"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1406), _1("isvertical"), _2(2), _3(true), _4(false), _5(point_vert), _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(2, 600, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("point_vert"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1410), _1("isvertical"), _2(1), _3(true), _4(false), _5(lseg_vertical), _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(1, 601), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lseg_vertical"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1414), _1("isvertical"), _2(1), _3(true), _4(false), _5(line_vertical), _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(1, 628), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("line_vertical"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "job_cancel", 1, - AddBuiltinFunc(_0(4800), _1("job_cancel"), _2(1), _3(false), _4(false), _5(job_cancel), _6(2278), _7(PG_PKG_SERVICE_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(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("job_cancel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4800), _1("job_cancel"), _2(1), _3(false), _4(false), _5(job_cancel), _6(2278), _7(PG_PKG_SERVICE_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(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("job_cancel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "job_finish", 1, - AddBuiltinFunc(_0(4801), _1("job_finish"), _2(3), _3(false), _4(false), _5(job_finish), _6(2278), _7(PG_PKG_SERVICE_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(1), _20(3, 20, 16, 1114), _21(NULL), _22(NULL), _23(3, "id", "finished", "next_time"), _24("({FUNCEXPR :funcid 7777 :funcresulttype 1114 :funcretset false :funcformat 0 :funccollid 0 :inputcollid 0 :args <> :location 80799})"), _25("job_finish"), _26(NULL), _27(NULL), _28(NULL), _29(1, 2), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4801), _1("job_finish"), _2(3), _3(false), _4(false), _5(job_finish), _6(2278), _7(PG_PKG_SERVICE_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(1), _20(3, 20, 16, 1114), _21(NULL), _22(NULL), _23(3, "id", "finished", "next_time"), _24("({FUNCEXPR :funcid 7777 :funcresulttype 1114 :funcretset false :funcformat 0 :funccollid 0 :inputcollid 0 :args <> :location 80799})"), _25("job_finish"), _26(NULL), _27(NULL), _28(NULL), _29(1, 2), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "job_submit", 1, - AddBuiltinFunc(_0(4802), _1("job_submit"), _2(4), _3(false), _4(false), _5(job_submit), _6(23), _7(PG_PKG_SERVICE_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(2), _20(4, 20, 25, 1114, 25), _21(5, 20, 25, 1114, 25, 23), _22(5, 'i', 'i', 'i', 'i', 'o'), _23(5, "id", "content", "next_time", "interval_time", "job"), _24("({FUNCEXPR :funcid 7777 :funcresulttype 1114 :funcretset false :funcformat 0 :funccollid 0 :inputcollid 0 :args <> :location 80589} {CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :ismaxvalue false :location 80624 :constvalue 8 [ 32 0 0 0 110 117 108 108 ] :cursor_data :row_count 0 :cur_dno 0 :is_open false :found false :not_found false :null_open false :null_fetch false})"), _25("job_submit"), _26(NULL), _27(NULL), _28(NULL), _29(2, 2, 3), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4802), _1("job_submit"), _2(4), _3(false), _4(false), _5(job_submit), _6(23), _7(PG_PKG_SERVICE_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(2), _20(4, 20, 25, 1114, 25), _21(5, 20, 25, 1114, 25, 23), _22(5, 'i', 'i', 'i', 'i', 'o'), _23(5, "id", "content", "next_time", "interval_time", "job"), _24("({FUNCEXPR :funcid 7777 :funcresulttype 1114 :funcretset false :funcformat 0 :funccollid 0 :inputcollid 0 :args <> :location 80589} {CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :ismaxvalue false :location 80624 :constvalue 8 [ 32 0 0 0 110 117 108 108 ] :cursor_data :row_count 0 :cur_dno 0 :is_open false :found false :not_found false :null_open false :null_fetch false})"), _25("job_submit"), _26(NULL), _27(NULL), _28(NULL), _29(2, 2, 3), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "job_update", 1, - AddBuiltinFunc(_0(4803), _1("job_update"), _2(4), _3(false), _4(false), _5(job_update), _6(2278), _7(PG_PKG_SERVICE_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(4, 20, 1114, 25, 25), _21(NULL), _22(NULL), _23(4, "id", "next_time", "interval_time", "content"), _24(NULL), _25("job_update"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4803), _1("job_update"), _2(4), _3(false), _4(false), _5(job_update), _6(2278), _7(PG_PKG_SERVICE_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(4, 20, 1114, 25, 25), _21(NULL), _22(NULL), _23(4, "id", "next_time", "interval_time", "content"), _24(NULL), _25("job_update"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "json_in", 1, - AddBuiltinFunc(_0(321), _1("json_in"), _2(1), _3(true), _4(false), _5(json_in), _6(114), _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('s'), _19(0), _20(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("json_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(321), _1("json_in"), _2(1), _3(true), _4(false), _5(json_in), _6(114), _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('s'), _19(0), _20(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("json_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "json_out", 1, - AddBuiltinFunc(_0(322), _1("json_out"), _2(1), _3(true), _4(false), _5(json_out), _6(2275), _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(1, 114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("json_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(322), _1("json_out"), _2(1), _3(true), _4(false), _5(json_out), _6(2275), _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(1, 114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("json_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "json_recv", 1, - AddBuiltinFunc(_0(323), _1("json_recv"), _2(1), _3(true), _4(false), _5(json_recv), _6(114), _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('s'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("json_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(323), _1("json_recv"), _2(1), _3(true), _4(false), _5(json_recv), _6(114), _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('s'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("json_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "json_send", 1, - AddBuiltinFunc(_0(324), _1("json_send"), _2(1), _3(true), _4(false), _5(json_send), _6(17), _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('s'), _19(0), _20(1, 114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("json_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(324), _1("json_send"), _2(1), _3(true), _4(false), _5(json_send), _6(17), _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('s'), _19(0), _20(1, 114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("json_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "justify_days", 1, - AddBuiltinFunc(_0(1295), _1("justify_days"), _2(1), _3(true), _4(false), _5(interval_justify_days), _6(1186), _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(1, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_justify_days"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1295), _1("justify_days"), _2(1), _3(true), _4(false), _5(interval_justify_days), _6(1186), _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(1, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_justify_days"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "justify_hours", 1, - AddBuiltinFunc(_0(1175), _1("justify_hours"), _2(1), _3(true), _4(false), _5(interval_justify_hours), _6(1186), _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(1, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_justify_hours"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1175), _1("justify_hours"), _2(1), _3(true), _4(false), _5(interval_justify_hours), _6(1186), _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(1, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_justify_hours"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "justify_interval", 1, - AddBuiltinFunc(_0(2711), _1("justify_interval"), _2(1), _3(true), _4(false), _5(interval_justify_interval), _6(1186), _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(1, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_justify_interval"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2711), _1("justify_interval"), _2(1), _3(true), _4(false), _5(interval_justify_interval), _6(1186), _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(1, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_justify_interval"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "kill_snapshot", 1, - AddBuiltinFunc(_0(5714), _1("kill_snapshot"), _2(0), _3(true), _4(false), _5(kill_snapshot), _6(2278), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("kill_snapshot"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5714), _1("kill_snapshot"), _2(0), _3(true), _4(false), _5(kill_snapshot), _6(2278), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("kill_snapshot"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "lag", 3, - AddBuiltinFunc(_0(3106), _1("lag"), _2(1), _3(true), _4(false), _5(window_lag), _6(2283), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(true), _16(false), _17(false), _18('i'), _19(0), _20(1, 2283), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("window_lag"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3107), _1("lag"), _2(2), _3(true), _4(false), _5(window_lag_with_offset), _6(2283), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(true), _16(false), _17(false), _18('i'), _19(0), _20(2, 2283, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("window_lag_with_offset"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3108), _1("lag"), _2(3), _3(true), _4(false), _5(window_lag_with_offset_and_default), _6(2283), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(true), _16(false), _17(false), _18('i'), _19(0), _20(3, 2283, 23, 2283), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("window_lag_with_offset_and_default"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3106), _1("lag"), _2(1), _3(true), _4(false), _5(window_lag), _6(2283), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(true), _16(false), _17(false), _18('i'), _19(0), _20(1, 2283), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("window_lag"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3107), _1("lag"), _2(2), _3(true), _4(false), _5(window_lag_with_offset), _6(2283), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(true), _16(false), _17(false), _18('i'), _19(0), _20(2, 2283, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("window_lag_with_offset"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3108), _1("lag"), _2(3), _3(true), _4(false), _5(window_lag_with_offset_and_default), _6(2283), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(true), _16(false), _17(false), _18('i'), _19(0), _20(3, 2283, 23, 2283), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("window_lag_with_offset_and_default"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "language_handler_in", 1, - AddBuiltinFunc(_0(2302), _1("language_handler_in"), _2(1), _3(false), _4(false), _5(language_handler_in), _6(2280), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("language_handler_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2302), _1("language_handler_in"), _2(1), _3(false), _4(false), _5(language_handler_in), _6(2280), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("language_handler_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "language_handler_out", 1, - AddBuiltinFunc(_0(2303), _1("language_handler_out"), _2(1), _3(true), _4(false), _5(language_handler_out), _6(2275), _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(1, 2280), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("language_handler_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2303), _1("language_handler_out"), _2(1), _3(true), _4(false), _5(language_handler_out), _6(2275), _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(1, 2280), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("language_handler_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "last_day", 1, - AddBuiltinFunc(_0(4075), _1("last_day"), _2(1), _3(true), _4(false), _5(last_day), _6(1114), _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(1, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("last_day"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4075), _1("last_day"), _2(1), _3(true), _4(false), _5(last_day), _6(1114), _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(1, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("last_day"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "last_value", 1, - AddBuiltinFunc(_0(3113), _1("last_value"), _2(1), _3(true), _4(false), _5(window_last_value), _6(2283), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(true), _16(false), _17(false), _18('i'), _19(0), _20(1, 2283), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("window_last_value"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3113), _1("last_value"), _2(1), _3(true), _4(false), _5(window_last_value), _6(2283), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(true), _16(false), _17(false), _18('i'), _19(0), _20(1, 2283), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("window_last_value"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "lastval", 1, - AddBuiltinFunc(_0(LASTVALFUNCOID), _1("lastval"), _2(0), _3(true), _4(false), _5(lastval), _6(20), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lastval"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(LASTVALFUNCOID), _1("lastval"), _2(0), _3(true), _4(false), _5(lastval), _6(20), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lastval"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "lead", 3, - AddBuiltinFunc(_0(3109), _1("lead"), _2(1), _3(true), _4(false), _5(window_lead), _6(2283), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(true), _16(false), _17(false), _18('i'), _19(0), _20(1, 2283), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("window_lead"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3110), _1("lead"), _2(2), _3(true), _4(false), _5(window_lead_with_offset), _6(2283), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(true), _16(false), _17(false), _18('i'), _19(0), _20(2, 2283, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("window_lead_with_offset"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3111), _1("lead"), _2(3), _3(true), _4(false), _5(window_lead_with_offset_and_default), _6(2283), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(true), _16(false), _17(false), _18('i'), _19(0), _20(3, 2283, 23, 2283), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("window_lead_with_offset_and_default"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3109), _1("lead"), _2(1), _3(true), _4(false), _5(window_lead), _6(2283), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(true), _16(false), _17(false), _18('i'), _19(0), _20(1, 2283), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("window_lead"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3110), _1("lead"), _2(2), _3(true), _4(false), _5(window_lead_with_offset), _6(2283), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(true), _16(false), _17(false), _18('i'), _19(0), _20(2, 2283, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("window_lead_with_offset"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3111), _1("lead"), _2(3), _3(true), _4(false), _5(window_lead_with_offset_and_default), _6(2283), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(true), _16(false), _17(false), _18('i'), _19(0), _20(3, 2283, 23, 2283), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("window_lead_with_offset_and_default"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "left", 1, - AddBuiltinFunc(_0(3060), _1("left"), _2(2), _3(true), _4(false), _5(text_left), _6(25), _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(2, 25, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_left"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3060), _1("left"), _2(2), _3(true), _4(false), _5(text_left), _6(25), _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(2, 25, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_left"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "length", 8, - AddBuiltinFunc(_0(LENGTHFUNCOID), _1("length"), _2(1), _3(true), _4(false), _5(textlen), _6(23), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("textlen"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(BPLENFUNCOID), _1("length"), _2(1), _3(true), _4(false), _5(bpcharlen), _6(23), _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(1, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpcharlen"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1530), _1("length"), _2(1), _3(true), _4(false), _5(lseg_length), _6(701), _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(1, 601), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lseg_length"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1531), _1("length"), _2(1), _3(true), _4(false), _5(path_length), _6(701), _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(1, 602), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("path_length"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1681), _1("length"), _2(1), _3(true), _4(false), _5(bitlength), _6(23), _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(1, 1560), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bitlength"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1713), _1("length"), _2(2), _3(true), _4(false), _5(length_in_encoding), _6(23), _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('s'), _19(0), _20(2, 17, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("length_in_encoding"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2010), _1("length"), _2(1), _3(true), _4(false), _5(byteaoctetlen), _6(23), _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(1, 17), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteaoctetlen"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3711), _1("length"), _2(1), _3(true), _4(false), _5(tsvector_length), _6(23), _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(1, 3614), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsvector_length"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(LENGTHFUNCOID), _1("length"), _2(1), _3(true), _4(false), _5(textlen), _6(23), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("textlen"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(BPLENFUNCOID), _1("length"), _2(1), _3(true), _4(false), _5(bpcharlen), _6(23), _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(1, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpcharlen"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1530), _1("length"), _2(1), _3(true), _4(false), _5(lseg_length), _6(701), _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(1, 601), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lseg_length"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1531), _1("length"), _2(1), _3(true), _4(false), _5(path_length), _6(701), _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(1, 602), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("path_length"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1681), _1("length"), _2(1), _3(true), _4(false), _5(bitlength), _6(23), _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(1, 1560), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bitlength"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1713), _1("length"), _2(2), _3(true), _4(false), _5(length_in_encoding), _6(23), _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('s'), _19(0), _20(2, 17, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("length_in_encoding"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2010), _1("length"), _2(1), _3(true), _4(false), _5(byteaoctetlen), _6(23), _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(1, 17), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteaoctetlen"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3711), _1("length"), _2(1), _3(true), _4(false), _5(tsvector_length), _6(23), _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(1, 3614), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsvector_length"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "lengthb", 2, - AddBuiltinFunc(_0(TEXTOCTLENFUNCOID), _1("lengthb"), _2(1), _3(true), _4(false), _5(textoctetlen), _6(23), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("textoctetlen"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(BPOCTLENFUNCOID), _1("lengthb"), _2(1), _3(true), _4(false), _5(bpcharlenb), _6(23), _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(1, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpcharlenb"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(TEXTOCTLENFUNCOID), _1("lengthb"), _2(1), _3(true), _4(false), _5(textoctetlen), _6(23), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("textoctetlen"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(BPOCTLENFUNCOID), _1("lengthb"), _2(1), _3(true), _4(false), _5(bpcharlenb), _6(23), _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(1, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpcharlenb"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "like", 3, - AddBuiltinFunc(_0(1569), _1("like"), _2(2), _3(true), _4(false), _5(textlike), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("textlike"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1571), _1("like"), _2(2), _3(true), _4(false), _5(namelike), _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(2, 19, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("namelike"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2007), _1("like"), _2(2), _3(true), _4(false), _5(bytealike), _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(2, 17, 17), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bytealike"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1569), _1("like"), _2(2), _3(true), _4(false), _5(textlike), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("textlike"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1571), _1("like"), _2(2), _3(true), _4(false), _5(namelike), _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(2, 19, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("namelike"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2007), _1("like"), _2(2), _3(true), _4(false), _5(bytealike), _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(2, 17, 17), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bytealike"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "like_escape", 2, - AddBuiltinFunc(_0(1637), _1("like_escape"), _2(2), _3(true), _4(false), _5(like_escape), _6(25), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("like_escape"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2009), _1("like_escape"), _2(2), _3(true), _4(false), _5(like_escape_bytea), _6(17), _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(2, 17, 17), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("like_escape_bytea"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1637), _1("like_escape"), _2(2), _3(true), _4(false), _5(like_escape), _6(25), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("like_escape"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2009), _1("like_escape"), _2(2), _3(true), _4(false), _5(like_escape_bytea), _6(17), _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(2, 17, 17), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("like_escape_bytea"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "likejoinsel", 1, - AddBuiltinFunc(_0(1825), _1("likejoinsel"), _2(5), _3(true), _4(false), _5(likejoinsel), _6(701), _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('s'), _19(0), _20(5, 2281, 26, 2281, 21, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("likejoinsel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1825), _1("likejoinsel"), _2(5), _3(true), _4(false), _5(likejoinsel), _6(701), _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('s'), _19(0), _20(5, 2281, 26, 2281, 21, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("likejoinsel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "likesel", 1, - AddBuiltinFunc(_0(1819), _1("likesel"), _2(4), _3(true), _4(false), _5(likesel), _6(701), _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('s'), _19(0), _20(4, 2281, 26, 2281, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("likesel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1819), _1("likesel"), _2(4), _3(true), _4(false), _5(likesel), _6(701), _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('s'), _19(0), _20(4, 2281, 26, 2281, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("likesel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "line", 1, - AddBuiltinFunc(_0(1493), _1("line"), _2(2), _3(true), _4(false), _5(line_construct_pp), _6(628), _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(2, 600, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("line_construct_pp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1493), _1("line"), _2(2), _3(true), _4(false), _5(line_construct_pp), _6(628), _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(2, 600, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("line_construct_pp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "line_distance", 1, - AddBuiltinFunc(_0(239), _1("line_distance"), _2(2), _3(true), _4(false), _5(line_distance), _6(701), _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(2, 628, 628), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("line_distance"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(239), _1("line_distance"), _2(2), _3(true), _4(false), _5(line_distance), _6(701), _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(2, 628, 628), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("line_distance"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "line_eq", 1, - AddBuiltinFunc(_0(1492), _1("line_eq"), _2(2), _3(true), _4(false), _5(line_eq), _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(2, 628, 628), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("line_eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1492), _1("line_eq"), _2(2), _3(true), _4(false), _5(line_eq), _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(2, 628, 628), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("line_eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "line_horizontal", 1, - AddBuiltinFunc(_0(1499), _1("line_horizontal"), _2(1), _3(true), _4(false), _5(line_horizontal), _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(1, 628), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("line_horizontal"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1499), _1("line_horizontal"), _2(1), _3(true), _4(false), _5(line_horizontal), _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(1, 628), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("line_horizontal"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "line_in", 1, - AddBuiltinFunc(_0(1490), _1("line_in"), _2(1), _3(true), _4(false), _5(line_in), _6(628), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("line_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1490), _1("line_in"), _2(1), _3(true), _4(false), _5(line_in), _6(628), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("line_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "line_interpt", 1, - AddBuiltinFunc(_0(1494), _1("line_interpt"), _2(2), _3(true), _4(false), _5(line_interpt), _6(600), _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(2, 628, 628), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("line_interpt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1494), _1("line_interpt"), _2(2), _3(true), _4(false), _5(line_interpt), _6(600), _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(2, 628, 628), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("line_interpt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "line_intersect", 1, - AddBuiltinFunc(_0(1495), _1("line_intersect"), _2(2), _3(true), _4(false), _5(line_intersect), _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(2, 628, 628), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("line_intersect"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1495), _1("line_intersect"), _2(2), _3(true), _4(false), _5(line_intersect), _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(2, 628, 628), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("line_intersect"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "line_out", 1, - AddBuiltinFunc(_0(1491), _1("line_out"), _2(1), _3(true), _4(false), _5(line_out), _6(2275), _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(1, 628), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("line_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1491), _1("line_out"), _2(1), _3(true), _4(false), _5(line_out), _6(2275), _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(1, 628), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("line_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "line_parallel", 1, - AddBuiltinFunc(_0(1496), _1("line_parallel"), _2(2), _3(true), _4(false), _5(line_parallel), _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(2, 628, 628), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("line_parallel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1496), _1("line_parallel"), _2(2), _3(true), _4(false), _5(line_parallel), _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(2, 628, 628), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("line_parallel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "line_perp", 1, - AddBuiltinFunc(_0(1497), _1("line_perp"), _2(2), _3(true), _4(false), _5(line_perp), _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(2, 628, 628), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("line_perp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1497), _1("line_perp"), _2(2), _3(true), _4(false), _5(line_perp), _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(2, 628, 628), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("line_perp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "line_recv", 1, - AddBuiltinFunc(_0(2488), _1("line_recv"), _2(1), _3(true), _4(false), _5(line_recv), _6(628), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("line_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2488), _1("line_recv"), _2(1), _3(true), _4(false), _5(line_recv), _6(628), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("line_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "line_send", 1, - AddBuiltinFunc(_0(2489), _1("line_send"), _2(1), _3(true), _4(false), _5(line_send), _6(17), _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(1, 628), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("line_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2489), _1("line_send"), _2(1), _3(true), _4(false), _5(line_send), _6(17), _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(1, 628), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("line_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "line_vertical", 1, - AddBuiltinFunc(_0(1498), _1("line_vertical"), _2(1), _3(true), _4(false), _5(line_vertical), _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(1, 628), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("line_vertical"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1498), _1("line_vertical"), _2(1), _3(true), _4(false), _5(line_vertical), _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(1, 628), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("line_vertical"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "list_agg_finalfn", 1, - AddBuiltinFunc(_0(3551), _1("list_agg_finalfn"), _2(1), _3(false), _4(false), _5(list_agg_finalfn), _6(25), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("list_agg_finalfn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3551), _1("list_agg_finalfn"), _2(1), _3(false), _4(false), _5(list_agg_finalfn), _6(25), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("list_agg_finalfn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "list_agg_noarg2_transfn", 1, - AddBuiltinFunc(_0(3553), _1("list_agg_noarg2_transfn"), _2(2), _3(false), _4(false), _5(list_agg_noarg2_transfn), _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(2, 2281, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("list_agg_noarg2_transfn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3553), _1("list_agg_noarg2_transfn"), _2(2), _3(false), _4(false), _5(list_agg_noarg2_transfn), _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(2, 2281, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("list_agg_noarg2_transfn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "list_agg_transfn", 1, - AddBuiltinFunc(_0(3550), _1("list_agg_transfn"), _2(3), _3(false), _4(false), _5(list_agg_transfn), _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(3, 2281, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("list_agg_transfn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3550), _1("list_agg_transfn"), _2(3), _3(false), _4(false), _5(list_agg_transfn), _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(3, 2281, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("list_agg_transfn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "listagg", 22, - AddBuiltinFunc(_0(LISTAGGFUNCOID), _1("listagg"), _2(2), _3(false), _4(false), _5(aggregate_dummy), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(LISTAGGNOARG2FUNCOID), _1("listagg"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(INT2LISTAGGFUNCOID), _1("listagg"), _2(2), _3(false), _4(false), _5(aggregate_dummy), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 21, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(INT2LISTAGGNOARG2FUNCOID), _1("listagg"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(INT4LISTAGGFUNCOID), _1("listagg"), _2(2), _3(false), _4(false), _5(aggregate_dummy), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 23, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(INT4LISTAGGNOARG2FUNCOID), _1("listagg"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(INT8LISTAGGFUNCOID), _1("listagg"), _2(2), _3(false), _4(false), _5(aggregate_dummy), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 20, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(INT8LISTAGGNOARG2FUNCOID), _1("listagg"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(FLOAT4LISTAGGFUNCOID), _1("listagg"), _2(2), _3(false), _4(false), _5(aggregate_dummy), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 700, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(FLOAT4LISTAGGNOARG2FUNCOID), _1("listagg"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(FLOAT8LISTAGGFUNCOID), _1("listagg"), _2(2), _3(false), _4(false), _5(aggregate_dummy), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 701, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(FLOAT8LISTAGGNOARG2FUNCOID), _1("listagg"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(NUMERICLISTAGGFUNCOID), _1("listagg"), _2(2), _3(false), _4(false), _5(aggregate_dummy), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 1700, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(NUMERICLISTAGGNOARG2FUNCOID), _1("listagg"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(DATELISTAGGFUNCOID), _1("listagg"), _2(2), _3(false), _4(false), _5(aggregate_dummy), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 1082, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(DATELISTAGGNOARG2FUNCOID), _1("listagg"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(TIMESTAMPLISTAGGFUNCOID), _1("listagg"), _2(2), _3(false), _4(false), _5(aggregate_dummy), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 1114, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(TIMESTAMPLISTAGGNOARG2FUNCOID), _1("listagg"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(TIMESTAMPTZLISTAGGFUNCOID), _1("listagg"), _2(2), _3(false), _4(false), _5(aggregate_dummy), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 1184, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(TIMESTAMPTZLISTAGGNOARG2FUNCOID), _1("listagg"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(INTERVALLISTAGGFUNCOID), _1("listagg"), _2(2), _3(false), _4(false), _5(aggregate_dummy), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 1186, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(INTERVALLISTAGGNOARG2FUNCOID), _1("listagg"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(LISTAGGFUNCOID), _1("listagg"), _2(2), _3(false), _4(false), _5(aggregate_dummy), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(LISTAGGNOARG2FUNCOID), _1("listagg"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(INT2LISTAGGFUNCOID), _1("listagg"), _2(2), _3(false), _4(false), _5(aggregate_dummy), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 21, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(INT2LISTAGGNOARG2FUNCOID), _1("listagg"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(INT4LISTAGGFUNCOID), _1("listagg"), _2(2), _3(false), _4(false), _5(aggregate_dummy), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 23, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(INT4LISTAGGNOARG2FUNCOID), _1("listagg"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(INT8LISTAGGFUNCOID), _1("listagg"), _2(2), _3(false), _4(false), _5(aggregate_dummy), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 20, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(INT8LISTAGGNOARG2FUNCOID), _1("listagg"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(FLOAT4LISTAGGFUNCOID), _1("listagg"), _2(2), _3(false), _4(false), _5(aggregate_dummy), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 700, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(FLOAT4LISTAGGNOARG2FUNCOID), _1("listagg"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(FLOAT8LISTAGGFUNCOID), _1("listagg"), _2(2), _3(false), _4(false), _5(aggregate_dummy), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 701, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(FLOAT8LISTAGGNOARG2FUNCOID), _1("listagg"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(NUMERICLISTAGGFUNCOID), _1("listagg"), _2(2), _3(false), _4(false), _5(aggregate_dummy), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 1700, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(NUMERICLISTAGGNOARG2FUNCOID), _1("listagg"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(DATELISTAGGFUNCOID), _1("listagg"), _2(2), _3(false), _4(false), _5(aggregate_dummy), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 1082, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(DATELISTAGGNOARG2FUNCOID), _1("listagg"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(TIMESTAMPLISTAGGFUNCOID), _1("listagg"), _2(2), _3(false), _4(false), _5(aggregate_dummy), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 1114, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(TIMESTAMPLISTAGGNOARG2FUNCOID), _1("listagg"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(TIMESTAMPTZLISTAGGFUNCOID), _1("listagg"), _2(2), _3(false), _4(false), _5(aggregate_dummy), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 1184, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(TIMESTAMPTZLISTAGGNOARG2FUNCOID), _1("listagg"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(INTERVALLISTAGGFUNCOID), _1("listagg"), _2(2), _3(false), _4(false), _5(aggregate_dummy), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 1186, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(INTERVALLISTAGGNOARG2FUNCOID), _1("listagg"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "ln", 2, - AddBuiltinFunc(_0(1341), _1("ln"), _2(1), _3(true), _4(false), _5(dlog1), _6(701), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dlog1"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1734), _1("ln"), _2(1), _3(true), _4(false), _5(numeric_ln), _6(1700), _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(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_ln"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1341), _1("ln"), _2(1), _3(true), _4(false), _5(dlog1), _6(701), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dlog1"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1734), _1("ln"), _2(1), _3(true), _4(false), _5(numeric_ln), _6(1700), _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(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_ln"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "lo_close", 1, - AddBuiltinFunc(_0(953), _1("lo_close"), _2(1), _3(true), _4(false), _5(lo_close), _6(23), _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('v'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lo_close"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(953), _1("lo_close"), _2(1), _3(true), _4(false), _5(lo_close), _6(23), _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('v'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lo_close"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "lo_creat", 1, - AddBuiltinFunc(_0(957), _1("lo_creat"), _2(1), _3(true), _4(false), _5(lo_creat), _6(26), _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('v'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lo_creat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(957), _1("lo_creat"), _2(1), _3(true), _4(false), _5(lo_creat), _6(26), _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('v'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lo_creat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "lo_create", 1, - AddBuiltinFunc(_0(715), _1("lo_create"), _2(1), _3(true), _4(false), _5(lo_create), _6(26), _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('v'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lo_create"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(715), _1("lo_create"), _2(1), _3(true), _4(false), _5(lo_create), _6(26), _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('v'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lo_create"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "lo_export", 1, - AddBuiltinFunc(_0(765), _1("lo_export"), _2(2), _3(true), _4(false), _5(lo_export), _6(23), _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('v'), _19(0), _20(2, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lo_export"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(765), _1("lo_export"), _2(2), _3(true), _4(false), _5(lo_export), _6(23), _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('v'), _19(0), _20(2, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lo_export"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "lo_import", 2, - AddBuiltinFunc(_0(764), _1("lo_import"), _2(1), _3(true), _4(false), _5(lo_import), _6(26), _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('v'), _19(0), _20(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lo_import"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(767), _1("lo_import"), _2(2), _3(true), _4(false), _5(lo_import_with_oid), _6(26), _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('v'), _19(0), _20(2, 25, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lo_import_with_oid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(764), _1("lo_import"), _2(1), _3(true), _4(false), _5(lo_import), _6(26), _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('v'), _19(0), _20(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lo_import"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(767), _1("lo_import"), _2(2), _3(true), _4(false), _5(lo_import_with_oid), _6(26), _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('v'), _19(0), _20(2, 25, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lo_import_with_oid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "lo_lseek", 1, - AddBuiltinFunc(_0(956), _1("lo_lseek"), _2(3), _3(true), _4(false), _5(lo_lseek), _6(23), _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('v'), _19(0), _20(3, 23, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lo_lseek"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(956), _1("lo_lseek"), _2(3), _3(true), _4(false), _5(lo_lseek), _6(23), _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('v'), _19(0), _20(3, 23, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lo_lseek"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "lo_open", 1, - AddBuiltinFunc(_0(952), _1("lo_open"), _2(2), _3(true), _4(false), _5(lo_open), _6(23), _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('v'), _19(0), _20(2, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lo_open"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(952), _1("lo_open"), _2(2), _3(true), _4(false), _5(lo_open), _6(23), _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('v'), _19(0), _20(2, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lo_open"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "lo_tell", 1, - AddBuiltinFunc(_0(958), _1("lo_tell"), _2(1), _3(true), _4(false), _5(lo_tell), _6(23), _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('v'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lo_tell"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(958), _1("lo_tell"), _2(1), _3(true), _4(false), _5(lo_tell), _6(23), _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('v'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lo_tell"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "lo_truncate", 1, - AddBuiltinFunc(_0(1004), _1("lo_truncate"), _2(2), _3(true), _4(false), _5(lo_truncate), _6(23), _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('v'), _19(0), _20(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lo_truncate"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1004), _1("lo_truncate"), _2(2), _3(true), _4(false), _5(lo_truncate), _6(23), _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('v'), _19(0), _20(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lo_truncate"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "lo_unlink", 1, - AddBuiltinFunc(_0(964), _1("lo_unlink"), _2(1), _3(true), _4(false), _5(lo_unlink), _6(23), _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('v'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lo_unlink"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(964), _1("lo_unlink"), _2(1), _3(true), _4(false), _5(lo_unlink), _6(23), _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('v'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lo_unlink"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "local_bgwriter_stat", 1, - AddBuiltinFunc(_0(4373), _1("local_bgwriter_stat"), _2(0), _3(false), _4(true), _5(local_bgwriter_stat), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(6, 25, 20, 23, 23, 20, 20), _22(6, 'o', 'o', 'o', 'o', 'o', 'o'), _23(6, "node_name", "bgwr_actual_flush_total_num", "bgwr_last_flush_num", "candidate_slots", "get_buffer_from_list", "get_buf_clock_sweep"), _24(NULL), _25("local_bgwriter_stat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4373), _1("local_bgwriter_stat"), _2(0), _3(false), _4(true), _5(local_bgwriter_stat), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(6, 25, 20, 23, 23, 20, 20), _22(6, 'o', 'o', 'o', 'o', 'o', 'o'), _23(6, "node_name", "bgwr_actual_flush_total_num", "bgwr_last_flush_num", "candidate_slots", "get_buffer_from_list", "get_buf_clock_sweep"), _24(NULL), _25("local_bgwriter_stat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "local_ckpt_stat", 1, - AddBuiltinFunc(_0(4371), _1("local_ckpt_stat"), _2(0), _3(false), _4(true), _5(local_ckpt_stat), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(7, 25, 25, 20, 20, 20, 20, 20), _22(7, 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(7, "node_name", "ckpt_redo_point", "ckpt_clog_flush_num", "ckpt_csnlog_flush_num", "ckpt_multixact_flush_num", "ckpt_predicate_flush_num", "ckpt_twophase_flush_num"), _24(NULL), _25("local_ckpt_stat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4371), _1("local_ckpt_stat"), _2(0), _3(false), _4(true), _5(local_ckpt_stat), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(7, 25, 25, 20, 20, 20, 20, 20), _22(7, 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(7, "node_name", "ckpt_redo_point", "ckpt_clog_flush_num", "ckpt_csnlog_flush_num", "ckpt_multixact_flush_num", "ckpt_predicate_flush_num", "ckpt_twophase_flush_num"), _24(NULL), _25("local_ckpt_stat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "local_double_write_stat", 1, - AddBuiltinFunc(_0(4384), _1("local_double_write_stat"), _2(0), _3(false), _4(true), _5(local_double_write_stat), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(11, 25, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20), _22(11, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(11, "node_name", "curr_dwn", "curr_start_page", "file_trunc_num", "file_reset_num", "total_writes", "low_threshold_writes", "high_threshold_writes", "total_pages", "low_threshold_pages", "high_threshold_pages"), _24(NULL), _25("local_double_write_stat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4384), _1("local_double_write_stat"), _2(0), _3(false), _4(true), _5(local_double_write_stat), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(11, 25, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20), _22(11, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(11, "node_name", "curr_dwn", "curr_start_page", "file_trunc_num", "file_reset_num", "total_writes", "low_threshold_writes", "high_threshold_writes", "total_pages", "low_threshold_pages", "high_threshold_pages"), _24(NULL), _25("local_double_write_stat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "local_pagewriter_stat", 1, - AddBuiltinFunc(_0(4361), _1("local_pagewriter_stat"), _2(0), _3(false), _4(true), _5(local_pagewriter_stat), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(8, 25, 20, 23, 20, 25, 25, 25, 25), _22(8, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(8, "node_name", "pgwr_actual_flush_total_num", "pgwr_last_flush_num", "remain_dirty_page_num", "queue_head_page_rec_lsn", "queue_rec_lsn", "current_xlog_insert_lsn", "ckpt_redo_point"), _24(NULL), _25("local_pagewriter_stat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4361), _1("local_pagewriter_stat"), _2(0), _3(false), _4(true), _5(local_pagewriter_stat), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(8, 25, 20, 23, 20, 25, 25, 25, 25), _22(8, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(8, "node_name", "pgwr_actual_flush_total_num", "pgwr_last_flush_num", "remain_dirty_page_num", "queue_head_page_rec_lsn", "queue_rec_lsn", "current_xlog_insert_lsn", "ckpt_redo_point"), _24(NULL), _25("local_pagewriter_stat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "local_recovery_status", 1, - AddBuiltinFunc(_0(3250), _1("local_recovery_status"), _2(0), _3(false), _4(true), _5(local_recovery_status), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(9,25,25,25,23,25,23,20,20,20), _22(9, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(9, "node_name", "standby_node_name", "source_ip", "source_port", "dest_ip", "dest_port", "current_rto", "target_rto", "current_sleep_time"), _24(NULL), _25("local_recovery_status"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(3250), _1("local_recovery_status"), _2(0), _3(false), _4(true), _5(local_recovery_status), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(9,25,25,25,23,25,23,20,20,20), _22(9, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(9, "node_name", "standby_node_name", "source_ip", "source_port", "dest_ip", "dest_port", "current_rto", "target_rto", "current_sleep_time"), _24(NULL), _25("local_recovery_status"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "local_redo_stat", 1, - AddBuiltinFunc(_0(4388), _1("local_redo_stat"), _2(0), _3(false), _4(true), _5(local_redo_stat), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(23, 25, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 25), _22(23, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(23, "node_name", "redo_start_ptr", "redo_start_time", "redo_done_time", "curr_time", "min_recovery_point", "read_ptr", "last_replayed_read_ptr", "recovery_done_ptr", "read_xlog_io_counter", "read_xlog_io_total_dur", "read_data_io_counter", "read_data_io_total_dur", "write_data_io_counter", "write_data_io_total_dur", "process_pending_counter", "process_pending_total_dur", "apply_counter", "apply_total_dur", "speed", "local_max_ptr", "primary_flush_ptr", "worker_info"), _24(NULL), _25("local_redo_stat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4388), _1("local_redo_stat"), _2(0), _3(false), _4(true), _5(local_redo_stat), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(23, 25, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 25), _22(23, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(23, "node_name", "redo_start_ptr", "redo_start_time", "redo_done_time", "curr_time", "min_recovery_point", "read_ptr", "last_replayed_read_ptr", "recovery_done_ptr", "read_xlog_io_counter", "read_xlog_io_total_dur", "read_data_io_counter", "read_data_io_total_dur", "write_data_io_counter", "write_data_io_total_dur", "process_pending_counter", "process_pending_total_dur", "apply_counter", "apply_total_dur", "speed", "local_max_ptr", "primary_flush_ptr", "worker_info"), _24(NULL), _25("local_redo_stat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "local_rto_stat", 1, - AddBuiltinFunc(_0(3299), _1("local_rto_stat"), _2(0), _3(false), _4(true), _5(local_rto_stat), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(2,25,25), _22(2, 'o', 'o'), _23(2, "node_name", "rto_info"), _24(NULL), _25("local_rto_stat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(3299), _1("local_rto_stat"), _2(0), _3(false), _4(true), _5(local_rto_stat), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(2,25,25), _22(2, 'o', 'o'), _23(2, "node_name", "rto_info"), _24(NULL), _25("local_rto_stat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "local_single_flush_dw_stat", 1, - AddBuiltinFunc(_0(4375), _1("local_single_flush_dw_stat"), _2(0), _3(false), _4(true), _5(local_single_flush_dw_stat), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(6, 25, 23, 23, 20, 20, 20), _22(6, 'o', 'o', 'o', 'o', 'o', 'o'), _23(6, "node_name", "curr_dwn", "curr_start_page", "total_writes", "file_trunc_num", "file_reset_num"), _24(NULL), _25("local_single_flush_dw_stat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4375), _1("local_single_flush_dw_stat"), _2(0), _3(false), _4(true), _5(local_single_flush_dw_stat), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(6, 25, 23, 23, 20, 20, 20), _22(6, 'o', 'o', 'o', 'o', 'o', 'o'), _23(6, "node_name", "curr_dwn", "curr_start_page", "total_writes", "file_trunc_num", "file_reset_num"), _24(NULL), _25("local_single_flush_dw_stat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "locktag_decode", 1, @@ -5477,215 +5477,215 @@ ), AddFuncGroup( "log", 3, - AddBuiltinFunc(_0(1340), _1("log"), _2(1), _3(true), _4(false), _5(dlog10), _6(701), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dlog10"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1736), _1("log"), _2(2), _3(true), _4(false), _5(numeric_log), _6(1700), _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(2, 1700, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_log"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1741), _1("log"), _2(1), _3(true), _4(false), _5(NULL), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select pg_catalog.log(10, $1)"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1340), _1("log"), _2(1), _3(true), _4(false), _5(dlog10), _6(701), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dlog10"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1736), _1("log"), _2(2), _3(true), _4(false), _5(numeric_log), _6(1700), _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(2, 1700, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_log"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1741), _1("log"), _2(1), _3(true), _4(false), _5(NULL), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select pg_catalog.log(10, $1)"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "loread", 1, - AddBuiltinFunc(_0(954), _1("loread"), _2(2), _3(true), _4(false), _5(loread), _6(17), _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('v'), _19(0), _20(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("loread"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(954), _1("loread"), _2(2), _3(true), _4(false), _5(loread), _6(17), _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('v'), _19(0), _20(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("loread"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "lower", 2, - AddBuiltinFunc(_0(870), _1("lower"), _2(1), _3(true), _4(false), _5(lower), _6(25), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lower"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3848), _1("lower"), _2(1), _3(true), _4(false), _5(range_lower), _6(2283), _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(1, 3831), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_lower"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(870), _1("lower"), _2(1), _3(true), _4(false), _5(lower), _6(25), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lower"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3848), _1("lower"), _2(1), _3(true), _4(false), _5(range_lower), _6(2283), _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(1, 3831), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_lower"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "lower_inc", 1, - AddBuiltinFunc(_0(3851), _1("lower_inc"), _2(1), _3(true), _4(false), _5(range_lower_inc), _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(1, 3831), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_lower_inc"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3851), _1("lower_inc"), _2(1), _3(true), _4(false), _5(range_lower_inc), _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(1, 3831), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_lower_inc"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "lower_inf", 1, - AddBuiltinFunc(_0(3853), _1("lower_inf"), _2(1), _3(true), _4(false), _5(range_lower_inf), _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(1, 3831), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_lower_inf"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3853), _1("lower_inf"), _2(1), _3(true), _4(false), _5(range_lower_inf), _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(1, 3831), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_lower_inf"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "lowrite", 1, - AddBuiltinFunc(_0(955), _1("lowrite"), _2(2), _3(true), _4(false), _5(lowrite), _6(23), _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('v'), _19(0), _20(2, 23, 17), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lowrite"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(955), _1("lowrite"), _2(2), _3(true), _4(false), _5(lowrite), _6(23), _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('v'), _19(0), _20(2, 23, 17), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lowrite"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "lpad", 2, - AddBuiltinFunc(_0(LPADFUNCOID), _1("lpad"), _2(3), _3(true), _4(false), _5(lpad), _6(25), _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(3, 25, 23, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lpad"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(LPADPARAFUNCOID), _1("lpad"), _2(2), _3(true), _4(false), _5(NULL), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 25, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select pg_catalog.lpad($1, $2, ' ')"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(LPADFUNCOID), _1("lpad"), _2(3), _3(true), _4(false), _5(lpad), _6(25), _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(3, 25, 23, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lpad"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(LPADPARAFUNCOID), _1("lpad"), _2(2), _3(true), _4(false), _5(NULL), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 25, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select pg_catalog.lpad($1, $2, ' ')"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "lseg", 2, - AddBuiltinFunc(_0(993), _1("lseg"), _2(2), _3(true), _4(false), _5(lseg_construct), _6(601), _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(2, 600, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lseg_construct"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1541), _1("lseg"), _2(1), _3(true), _4(false), _5(box_diagonal), _6(601), _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(1, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_diagonal"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(993), _1("lseg"), _2(2), _3(true), _4(false), _5(lseg_construct), _6(601), _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(2, 600, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lseg_construct"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1541), _1("lseg"), _2(1), _3(true), _4(false), _5(box_diagonal), _6(601), _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(1, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_diagonal"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "lseg_center", 1, - AddBuiltinFunc(_0(225), _1("lseg_center"), _2(1), _3(true), _4(false), _5(lseg_center), _6(600), _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(1, 601), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lseg_center"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(225), _1("lseg_center"), _2(1), _3(true), _4(false), _5(lseg_center), _6(600), _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(1, 601), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lseg_center"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "lseg_distance", 1, - AddBuiltinFunc(_0(361), _1("lseg_distance"), _2(2), _3(true), _4(false), _5(lseg_distance), _6(701), _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(2, 601, 601), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lseg_distance"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(361), _1("lseg_distance"), _2(2), _3(true), _4(false), _5(lseg_distance), _6(701), _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(2, 601, 601), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lseg_distance"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "lseg_eq", 1, - AddBuiltinFunc(_0(999), _1("lseg_eq"), _2(2), _3(true), _4(false), _5(lseg_eq), _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(true), _18('i'), _19(0), _20(2, 601, 601), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lseg_eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(999), _1("lseg_eq"), _2(2), _3(true), _4(false), _5(lseg_eq), _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(true), _18('i'), _19(0), _20(2, 601, 601), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lseg_eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "lseg_ge", 1, - AddBuiltinFunc(_0(1486), _1("lseg_ge"), _2(2), _3(true), _4(false), _5(lseg_ge), _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(true), _18('i'), _19(0), _20(2, 601, 601), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lseg_ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1486), _1("lseg_ge"), _2(2), _3(true), _4(false), _5(lseg_ge), _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(true), _18('i'), _19(0), _20(2, 601, 601), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lseg_ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "lseg_gt", 1, - AddBuiltinFunc(_0(1485), _1("lseg_gt"), _2(2), _3(true), _4(false), _5(lseg_gt), _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(true), _18('i'), _19(0), _20(2, 601, 601), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lseg_gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1485), _1("lseg_gt"), _2(2), _3(true), _4(false), _5(lseg_gt), _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(true), _18('i'), _19(0), _20(2, 601, 601), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lseg_gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "lseg_horizontal", 1, - AddBuiltinFunc(_0(998), _1("lseg_horizontal"), _2(1), _3(true), _4(false), _5(lseg_horizontal), _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(1, 601), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lseg_horizontal"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(998), _1("lseg_horizontal"), _2(1), _3(true), _4(false), _5(lseg_horizontal), _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(1, 601), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lseg_horizontal"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "lseg_in", 1, - AddBuiltinFunc(_0(119), _1("lseg_in"), _2(1), _3(true), _4(false), _5(lseg_in), _6(601), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lseg_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(119), _1("lseg_in"), _2(1), _3(true), _4(false), _5(lseg_in), _6(601), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lseg_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "lseg_interpt", 1, - AddBuiltinFunc(_0(362), _1("lseg_interpt"), _2(2), _3(true), _4(false), _5(lseg_interpt), _6(600), _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(2, 601, 601), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lseg_interpt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(362), _1("lseg_interpt"), _2(2), _3(true), _4(false), _5(lseg_interpt), _6(600), _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(2, 601, 601), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lseg_interpt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "lseg_intersect", 1, - AddBuiltinFunc(_0(994), _1("lseg_intersect"), _2(2), _3(true), _4(false), _5(lseg_intersect), _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(2, 601, 601), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lseg_intersect"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(994), _1("lseg_intersect"), _2(2), _3(true), _4(false), _5(lseg_intersect), _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(2, 601, 601), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lseg_intersect"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "lseg_le", 1, - AddBuiltinFunc(_0(1484), _1("lseg_le"), _2(2), _3(true), _4(false), _5(lseg_le), _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(true), _18('i'), _19(0), _20(2, 601, 601), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lseg_le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1484), _1("lseg_le"), _2(2), _3(true), _4(false), _5(lseg_le), _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(true), _18('i'), _19(0), _20(2, 601, 601), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lseg_le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "lseg_length", 1, - AddBuiltinFunc(_0(1487), _1("lseg_length"), _2(1), _3(true), _4(false), _5(lseg_length), _6(701), _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(1, 601), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lseg_length"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1487), _1("lseg_length"), _2(1), _3(true), _4(false), _5(lseg_length), _6(701), _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(1, 601), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lseg_length"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "lseg_lt", 1, - AddBuiltinFunc(_0(1483), _1("lseg_lt"), _2(2), _3(true), _4(false), _5(lseg_lt), _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(true), _18('i'), _19(0), _20(2, 601, 601), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lseg_lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1483), _1("lseg_lt"), _2(2), _3(true), _4(false), _5(lseg_lt), _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(true), _18('i'), _19(0), _20(2, 601, 601), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lseg_lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "lseg_ne", 1, - AddBuiltinFunc(_0(1482), _1("lseg_ne"), _2(2), _3(true), _4(false), _5(lseg_ne), _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(true), _18('i'), _19(0), _20(2, 601, 601), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lseg_ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1482), _1("lseg_ne"), _2(2), _3(true), _4(false), _5(lseg_ne), _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(true), _18('i'), _19(0), _20(2, 601, 601), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lseg_ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "lseg_out", 1, - AddBuiltinFunc(_0(120), _1("lseg_out"), _2(1), _3(true), _4(false), _5(lseg_out), _6(2275), _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(1, 601), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lseg_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(120), _1("lseg_out"), _2(1), _3(true), _4(false), _5(lseg_out), _6(2275), _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(1, 601), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lseg_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "lseg_parallel", 1, - AddBuiltinFunc(_0(995), _1("lseg_parallel"), _2(2), _3(true), _4(false), _5(lseg_parallel), _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(2, 601, 601), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lseg_parallel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(995), _1("lseg_parallel"), _2(2), _3(true), _4(false), _5(lseg_parallel), _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(2, 601, 601), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lseg_parallel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "lseg_perp", 1, - AddBuiltinFunc(_0(996), _1("lseg_perp"), _2(2), _3(true), _4(false), _5(lseg_perp), _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(2, 601, 601), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lseg_perp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(996), _1("lseg_perp"), _2(2), _3(true), _4(false), _5(lseg_perp), _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(2, 601, 601), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lseg_perp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "lseg_recv", 1, - AddBuiltinFunc(_0(2480), _1("lseg_recv"), _2(1), _3(true), _4(false), _5(lseg_recv), _6(601), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lseg_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2480), _1("lseg_recv"), _2(1), _3(true), _4(false), _5(lseg_recv), _6(601), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lseg_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "lseg_send", 1, - AddBuiltinFunc(_0(2481), _1("lseg_send"), _2(1), _3(true), _4(false), _5(lseg_send), _6(17), _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(1, 601), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lseg_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2481), _1("lseg_send"), _2(1), _3(true), _4(false), _5(lseg_send), _6(17), _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(1, 601), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lseg_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "lseg_vertical", 1, - AddBuiltinFunc(_0(997), _1("lseg_vertical"), _2(1), _3(true), _4(false), _5(lseg_vertical), _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(1, 601), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lseg_vertical"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(997), _1("lseg_vertical"), _2(1), _3(true), _4(false), _5(lseg_vertical), _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(1, 601), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lseg_vertical"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "ltrim", 2, - AddBuiltinFunc(_0(LTRIMFUNCOID), _1("ltrim"), _2(2), _3(true), _4(false), _5(ltrim), _6(25), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ltrim"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(LTRIMPARAFUNCOID), _1("ltrim"), _2(1), _3(true), _4(false), _5(ltrim1), _6(25), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ltrim1"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(LTRIMFUNCOID), _1("ltrim"), _2(2), _3(true), _4(false), _5(ltrim), _6(25), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ltrim"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(LTRIMPARAFUNCOID), _1("ltrim"), _2(1), _3(true), _4(false), _5(ltrim1), _6(25), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ltrim1"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "macaddr_and", 1, - AddBuiltinFunc(_0(3145), _1("macaddr_and"), _2(2), _3(true), _4(false), _5(macaddr_and), _6(829), _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(2, 829, 829), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("macaddr_and"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3145), _1("macaddr_and"), _2(2), _3(true), _4(false), _5(macaddr_and), _6(829), _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(2, 829, 829), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("macaddr_and"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "macaddr_cmp", 1, - AddBuiltinFunc(_0(836), _1("macaddr_cmp"), _2(2), _3(true), _4(false), _5(macaddr_cmp), _6(23), _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(2, 829, 829), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("macaddr_cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(836), _1("macaddr_cmp"), _2(2), _3(true), _4(false), _5(macaddr_cmp), _6(23), _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(2, 829, 829), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("macaddr_cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "macaddr_eq", 1, - AddBuiltinFunc(_0(830), _1("macaddr_eq"), _2(2), _3(true), _4(false), _5(macaddr_eq), _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(true), _18('i'), _19(0), _20(2, 829, 829), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("macaddr_eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(830), _1("macaddr_eq"), _2(2), _3(true), _4(false), _5(macaddr_eq), _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(true), _18('i'), _19(0), _20(2, 829, 829), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("macaddr_eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "macaddr_ge", 1, - AddBuiltinFunc(_0(834), _1("macaddr_ge"), _2(2), _3(true), _4(false), _5(macaddr_ge), _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(true), _18('i'), _19(0), _20(2, 829, 829), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("macaddr_ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(834), _1("macaddr_ge"), _2(2), _3(true), _4(false), _5(macaddr_ge), _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(true), _18('i'), _19(0), _20(2, 829, 829), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("macaddr_ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "macaddr_gt", 1, - AddBuiltinFunc(_0(833), _1("macaddr_gt"), _2(2), _3(true), _4(false), _5(macaddr_gt), _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(true), _18('i'), _19(0), _20(2, 829, 829), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("macaddr_gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(833), _1("macaddr_gt"), _2(2), _3(true), _4(false), _5(macaddr_gt), _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(true), _18('i'), _19(0), _20(2, 829, 829), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("macaddr_gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "macaddr_in", 1, - AddBuiltinFunc(_0(436), _1("macaddr_in"), _2(1), _3(true), _4(false), _5(macaddr_in), _6(829), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("macaddr_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(436), _1("macaddr_in"), _2(1), _3(true), _4(false), _5(macaddr_in), _6(829), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("macaddr_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "macaddr_le", 1, - AddBuiltinFunc(_0(832), _1("macaddr_le"), _2(2), _3(true), _4(false), _5(macaddr_le), _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(true), _18('i'), _19(0), _20(2, 829, 829), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("macaddr_le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(832), _1("macaddr_le"), _2(2), _3(true), _4(false), _5(macaddr_le), _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(true), _18('i'), _19(0), _20(2, 829, 829), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("macaddr_le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "macaddr_lt", 1, - AddBuiltinFunc(_0(831), _1("macaddr_lt"), _2(2), _3(true), _4(false), _5(macaddr_lt), _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(true), _18('i'), _19(0), _20(2, 829, 829), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("macaddr_lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(831), _1("macaddr_lt"), _2(2), _3(true), _4(false), _5(macaddr_lt), _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(true), _18('i'), _19(0), _20(2, 829, 829), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("macaddr_lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "macaddr_ne", 1, - AddBuiltinFunc(_0(835), _1("macaddr_ne"), _2(2), _3(true), _4(false), _5(macaddr_ne), _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(true), _18('i'), _19(0), _20(2, 829, 829), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("macaddr_ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(835), _1("macaddr_ne"), _2(2), _3(true), _4(false), _5(macaddr_ne), _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(true), _18('i'), _19(0), _20(2, 829, 829), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("macaddr_ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "macaddr_not", 1, - AddBuiltinFunc(_0(3144), _1("macaddr_not"), _2(1), _3(true), _4(false), _5(macaddr_not), _6(829), _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(1, 829), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("macaddr_not"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3144), _1("macaddr_not"), _2(1), _3(true), _4(false), _5(macaddr_not), _6(829), _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(1, 829), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("macaddr_not"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "macaddr_or", 1, - AddBuiltinFunc(_0(3146), _1("macaddr_or"), _2(2), _3(true), _4(false), _5(macaddr_or), _6(829), _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(2, 829, 829), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("macaddr_or"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3146), _1("macaddr_or"), _2(2), _3(true), _4(false), _5(macaddr_or), _6(829), _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(2, 829, 829), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("macaddr_or"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "macaddr_out", 1, - AddBuiltinFunc(_0(437), _1("macaddr_out"), _2(1), _3(true), _4(false), _5(macaddr_out), _6(2275), _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(1, 829), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("macaddr_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(437), _1("macaddr_out"), _2(1), _3(true), _4(false), _5(macaddr_out), _6(2275), _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(1, 829), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("macaddr_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "macaddr_recv", 1, - AddBuiltinFunc(_0(2494), _1("macaddr_recv"), _2(1), _3(true), _4(false), _5(macaddr_recv), _6(829), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("macaddr_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2494), _1("macaddr_recv"), _2(1), _3(true), _4(false), _5(macaddr_recv), _6(829), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("macaddr_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "macaddr_send", 1, - AddBuiltinFunc(_0(2495), _1("macaddr_send"), _2(1), _3(true), _4(false), _5(macaddr_send), _6(17), _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(1, 829), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("macaddr_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2495), _1("macaddr_send"), _2(1), _3(true), _4(false), _5(macaddr_send), _6(17), _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(1, 829), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("macaddr_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "makeaclitem", 1, - AddBuiltinFunc(_0(1365), _1("makeaclitem"), _2(4), _3(true), _4(false), _5(makeaclitem), _6(1033), _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(4, 26, 26, 25, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("makeaclitem"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1365), _1("makeaclitem"), _2(4), _3(true), _4(false), _5(makeaclitem), _6(1033), _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(4, 26, 26, 25, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("makeaclitem"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "masklen", 1, - AddBuiltinFunc(_0(697), _1("masklen"), _2(1), _3(true), _4(false), _5(network_masklen), _6(23), _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(1, 869), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("network_masklen"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(697), _1("masklen"), _2(1), _3(true), _4(false), _5(network_masklen), _6(23), _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(1, 869), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("network_masklen"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "max", 22, - AddBuiltinFunc(_0(2050), _1("max"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(2277), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 2277), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2115), _1("max"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(20), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2116), _1("max"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(23), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2117), _1("max"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(21), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2118), _1("max"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(26), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2119), _1("max"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2120), _1("max"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2121), _1("max"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(702), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 702), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2122), _1("max"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1082), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2123), _1("max"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1083), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1083), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2124), _1("max"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1266), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1266), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2125), _1("max"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(790), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 790), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2126), _1("max"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1114), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2127), _1("max"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1184), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2128), _1("max"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1186), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2129), _1("max"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2130), _1("max"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2244), _1("max"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1042), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2797), _1("max"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(27), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 27), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3526), _1("max"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(3500), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 3500), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(5538), _1("max"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(5545), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(9010), _1("max"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(9003), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 9003), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2050), _1("max"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(2277), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 2277), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2115), _1("max"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(20), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2116), _1("max"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(23), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2117), _1("max"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(21), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2118), _1("max"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(26), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2119), _1("max"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2120), _1("max"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2121), _1("max"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(702), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 702), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2122), _1("max"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1082), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2123), _1("max"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1083), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1083), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2124), _1("max"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1266), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1266), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2125), _1("max"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(790), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 790), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2126), _1("max"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1114), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2127), _1("max"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1184), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2128), _1("max"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1186), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2129), _1("max"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2130), _1("max"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2244), _1("max"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1042), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2797), _1("max"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(27), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 27), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3526), _1("max"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(3500), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 3500), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(5538), _1("max"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(5545), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(9010), _1("max"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(9003), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 9003), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "md5", 2, - AddBuiltinFunc(_0(2311), _1("md5"), _2(1), _3(true), _4(false), _5(md5_text), _6(25), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("md5_text"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2321), _1("md5"), _2(1), _3(true), _4(false), _5(md5_bytea), _6(25), _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(1, 17), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("md5_bytea"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2311), _1("md5"), _2(1), _3(true), _4(false), _5(md5_text), _6(25), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("md5_text"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2321), _1("md5"), _2(1), _3(true), _4(false), _5(md5_bytea), _6(25), _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(1, 17), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("md5_bytea"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "median", 2, @@ -5706,46 +5706,46 @@ ), AddFuncGroup( "min", 21, - AddBuiltinFunc(_0(2051), _1("min"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(2277), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 2277), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2131), _1("min"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(20), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2132), _1("min"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(23), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2133), _1("min"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(21), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2134), _1("min"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(26), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2135), _1("min"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2136), _1("min"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2137), _1("min"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(702), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 702), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2138), _1("min"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1082), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2139), _1("min"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1083), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1083), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2140), _1("min"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1266), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1266), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2141), _1("min"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(790), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 790), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2142), _1("min"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1114), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2143), _1("min"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1184), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2144), _1("min"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1186), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2145), _1("min"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2146), _1("min"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2245), _1("min"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1042), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2798), _1("min"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(27), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 27), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3527), _1("min"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(3500), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 3500), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(9009), _1("min"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(9003), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 9003), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2051), _1("min"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(2277), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 2277), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2131), _1("min"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(20), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2132), _1("min"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(23), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2133), _1("min"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(21), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2134), _1("min"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(26), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2135), _1("min"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2136), _1("min"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2137), _1("min"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(702), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 702), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2138), _1("min"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1082), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2139), _1("min"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1083), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1083), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2140), _1("min"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1266), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1266), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2141), _1("min"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(790), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 790), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2142), _1("min"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1114), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2143), _1("min"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1184), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2144), _1("min"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1186), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2145), _1("min"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2146), _1("min"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2245), _1("min"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1042), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2798), _1("min"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(27), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 27), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3527), _1("min"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(3500), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 3500), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(9009), _1("min"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(9003), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 9003), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "mktinterval", 1, - AddBuiltinFunc(_0(676), _1("mktinterval"), _2(2), _3(true), _4(false), _5(mktinterval), _6(704), _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(2, 702, 702), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("mktinterval"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(676), _1("mktinterval"), _2(2), _3(true), _4(false), _5(mktinterval), _6(704), _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(2, 702, 702), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("mktinterval"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "mod", 4, - AddBuiltinFunc(_0(940), _1("mod"), _2(2), _3(true), _4(false), _5(int2mod), _6(21), _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(2, 21, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2mod"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(941), _1("mod"), _2(2), _3(true), _4(false), _5(int4mod), _6(23), _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(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4mod"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(947), _1("mod"), _2(2), _3(true), _4(false), _5(int8mod), _6(20), _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(2, 20, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8mod"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1728), _1("mod"), _2(2), _3(true), _4(false), _5(numeric_mod), _6(1700), _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(2, 1700, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_mod"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(940), _1("mod"), _2(2), _3(true), _4(false), _5(int2mod), _6(21), _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(2, 21, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2mod"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(941), _1("mod"), _2(2), _3(true), _4(false), _5(int4mod), _6(23), _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(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4mod"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(947), _1("mod"), _2(2), _3(true), _4(false), _5(int8mod), _6(20), _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(2, 20, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8mod"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1728), _1("mod"), _2(2), _3(true), _4(false), _5(numeric_mod), _6(1700), _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(2, 1700, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_mod"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "mode", 1, - AddBuiltinFunc(_0(MODEAGGFUNCOID), _1("mode"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(2283), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 2283), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(MODEAGGFUNCOID), _1("mode"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(2283), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 2283), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "mode_final", 1, - AddBuiltinFunc(_0(4462), _1("mode_final"), _2(1), _3(false), _4(false), _5(mode_final), _6(2283), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("mode_final"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4462), _1("mode_final"), _2(1), _3(false), _4(false), _5(mode_final), _6(2283), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("mode_final"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "model_train_opt", 1, @@ -5753,9 +5753,9 @@ ), AddFuncGroup( "money", 3, - AddBuiltinFunc(_0(INTEGER2CASHFUNCOID), _1("money"), _2(1), _3(true), _4(false), _5(int4_cash), _6(790), _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('s'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4_cash"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")), - AddBuiltinFunc(_0(BIGINT2CASHFUNCOID), _1("money"), _2(1), _3(true), _4(false), _5(int8_cash), _6(790), _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('s'), _19(0), _20(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8_cash"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")), - AddBuiltinFunc(_0(NUMERIC2CASHFUNCOID), _1("money"), _2(1), _3(true), _4(false), _5(numeric_cash), _6(790), _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('s'), _19(0), _20(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_cash"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(INTEGER2CASHFUNCOID), _1("money"), _2(1), _3(true), _4(false), _5(int4_cash), _6(790), _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('s'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4_cash"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(BIGINT2CASHFUNCOID), _1("money"), _2(1), _3(true), _4(false), _5(int8_cash), _6(790), _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('s'), _19(0), _20(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8_cash"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(NUMERIC2CASHFUNCOID), _1("money"), _2(1), _3(true), _4(false), _5(numeric_cash), _6(790), _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('s'), _19(0), _20(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_cash"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "mot_global_memory_detail", 1, @@ -5771,1033 +5771,1033 @@ ), AddFuncGroup( "mul_d_interval", 1, - AddBuiltinFunc(_0(1624), _1("mul_d_interval"), _2(2), _3(true), _4(false), _5(mul_d_interval), _6(1186), _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(2, 701, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("mul_d_interval"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1624), _1("mul_d_interval"), _2(2), _3(true), _4(false), _5(mul_d_interval), _6(1186), _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(2, 701, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("mul_d_interval"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "multiply", 2, - AddBuiltinFunc(_0(3170), _1("multiply"), _2(2), _3(true), _4(false), _5(text_multiply_float8), _6(701), _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(2, 25, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_multiply_float8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3171), _1("multiply"), _2(2), _3(true), _4(false), _5(float8_multiply_text), _6(701), _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(2, 701, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8_multiply_text"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3170), _1("multiply"), _2(2), _3(true), _4(false), _5(text_multiply_float8), _6(701), _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(2, 25, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_multiply_float8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3171), _1("multiply"), _2(2), _3(true), _4(false), _5(float8_multiply_text), _6(701), _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(2, 701, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8_multiply_text"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "name", 3, - AddBuiltinFunc(_0(407), _1("name"), _2(1), _3(true), _4(false), _5(text_name), _6(19), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(409), _1("name"), _2(1), _3(true), _4(false), _5(bpchar_name), _6(19), _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(1, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpchar_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1400), _1("name"), _2(1), _3(true), _4(false), _5(text_name), _6(19), _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(1, 1043), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(407), _1("name"), _2(1), _3(true), _4(false), _5(text_name), _6(19), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(409), _1("name"), _2(1), _3(true), _4(false), _5(bpchar_name), _6(19), _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(1, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpchar_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1400), _1("name"), _2(1), _3(true), _4(false), _5(text_name), _6(19), _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(1, 1043), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "nameeq", 1, - AddBuiltinFunc(_0(62), _1("nameeq"), _2(2), _3(true), _4(false), _5(nameeq), _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(true), _18('i'), _19(0), _20(2, 19, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("nameeq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(62), _1("nameeq"), _2(2), _3(true), _4(false), _5(nameeq), _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(true), _18('i'), _19(0), _20(2, 19, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("nameeq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "namege", 1, - AddBuiltinFunc(_0(658), _1("namege"), _2(2), _3(true), _4(false), _5(namege), _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(true), _18('i'), _19(0), _20(2, 19, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("namege"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(658), _1("namege"), _2(2), _3(true), _4(false), _5(namege), _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(true), _18('i'), _19(0), _20(2, 19, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("namege"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "namegt", 1, - AddBuiltinFunc(_0(657), _1("namegt"), _2(2), _3(true), _4(false), _5(namegt), _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(true), _18('i'), _19(0), _20(2, 19, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("namegt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(657), _1("namegt"), _2(2), _3(true), _4(false), _5(namegt), _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(true), _18('i'), _19(0), _20(2, 19, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("namegt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "nameiclike", 1, - AddBuiltinFunc(_0(1635), _1("nameiclike"), _2(2), _3(true), _4(false), _5(nameiclike), _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(2, 19, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("nameiclike"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1635), _1("nameiclike"), _2(2), _3(true), _4(false), _5(nameiclike), _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(2, 19, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("nameiclike"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "nameicnlike", 1, - AddBuiltinFunc(_0(1636), _1("nameicnlike"), _2(2), _3(true), _4(false), _5(nameicnlike), _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(2, 19, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("nameicnlike"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1636), _1("nameicnlike"), _2(2), _3(true), _4(false), _5(nameicnlike), _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(2, 19, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("nameicnlike"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "nameicregexeq", 1, - AddBuiltinFunc(_0(1240), _1("nameicregexeq"), _2(2), _3(true), _4(false), _5(nameicregexeq), _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(2, 19, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("nameicregexeq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1240), _1("nameicregexeq"), _2(2), _3(true), _4(false), _5(nameicregexeq), _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(2, 19, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("nameicregexeq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "nameicregexne", 1, - AddBuiltinFunc(_0(1241), _1("nameicregexne"), _2(2), _3(true), _4(false), _5(nameicregexne), _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(2, 19, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("nameicregexne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1241), _1("nameicregexne"), _2(2), _3(true), _4(false), _5(nameicregexne), _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(2, 19, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("nameicregexne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "namein", 1, - AddBuiltinFunc(_0(34), _1("namein"), _2(1), _3(true), _4(false), _5(namein), _6(19), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("namein"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(34), _1("namein"), _2(1), _3(true), _4(false), _5(namein), _6(19), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("namein"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "namele", 1, - AddBuiltinFunc(_0(656), _1("namele"), _2(2), _3(true), _4(false), _5(namele), _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(true), _18('i'), _19(0), _20(2, 19, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("namele"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(656), _1("namele"), _2(2), _3(true), _4(false), _5(namele), _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(true), _18('i'), _19(0), _20(2, 19, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("namele"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "namelike", 1, - AddBuiltinFunc(_0(858), _1("namelike"), _2(2), _3(true), _4(false), _5(namelike), _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(2, 19, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("namelike"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(858), _1("namelike"), _2(2), _3(true), _4(false), _5(namelike), _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(2, 19, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("namelike"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "namelt", 1, - AddBuiltinFunc(_0(655), _1("namelt"), _2(2), _3(true), _4(false), _5(namelt), _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(true), _18('i'), _19(0), _20(2, 19, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("namelt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(655), _1("namelt"), _2(2), _3(true), _4(false), _5(namelt), _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(true), _18('i'), _19(0), _20(2, 19, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("namelt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "namene", 1, - AddBuiltinFunc(_0(659), _1("namene"), _2(2), _3(true), _4(false), _5(namene), _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(true), _18('i'), _19(0), _20(2, 19, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("namene"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(659), _1("namene"), _2(2), _3(true), _4(false), _5(namene), _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(true), _18('i'), _19(0), _20(2, 19, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("namene"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "namenlike", 1, - AddBuiltinFunc(_0(859), _1("namenlike"), _2(2), _3(true), _4(false), _5(namenlike), _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(2, 19, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("namenlike"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(859), _1("namenlike"), _2(2), _3(true), _4(false), _5(namenlike), _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(2, 19, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("namenlike"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "nameout", 1, - AddBuiltinFunc(_0(35), _1("nameout"), _2(1), _3(true), _4(false), _5(nameout), _6(2275), _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(1, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("nameout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(35), _1("nameout"), _2(1), _3(true), _4(false), _5(nameout), _6(2275), _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(1, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("nameout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "namerecv", 1, - AddBuiltinFunc(_0(2422), _1("namerecv"), _2(1), _3(true), _4(false), _5(namerecv), _6(19), _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('s'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("namerecv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2422), _1("namerecv"), _2(1), _3(true), _4(false), _5(namerecv), _6(19), _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('s'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("namerecv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "nameregexeq", 1, - AddBuiltinFunc(_0(79), _1("nameregexeq"), _2(2), _3(true), _4(false), _5(nameregexeq), _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(2, 19, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("nameregexeq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(79), _1("nameregexeq"), _2(2), _3(true), _4(false), _5(nameregexeq), _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(2, 19, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("nameregexeq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "nameregexne", 1, - AddBuiltinFunc(_0(1252), _1("nameregexne"), _2(2), _3(true), _4(false), _5(nameregexne), _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(2, 19, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("nameregexne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1252), _1("nameregexne"), _2(2), _3(true), _4(false), _5(nameregexne), _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(2, 19, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("nameregexne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "namesend", 1, - AddBuiltinFunc(_0(2423), _1("namesend"), _2(1), _3(true), _4(false), _5(namesend), _6(17), _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('s'), _19(0), _20(1, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("namesend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2423), _1("namesend"), _2(1), _3(true), _4(false), _5(namesend), _6(17), _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('s'), _19(0), _20(1, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("namesend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "neqjoinsel", 1, - AddBuiltinFunc(_0(106), _1("neqjoinsel"), _2(5), _3(true), _4(false), _5(neqjoinsel), _6(701), _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('s'), _19(0), _20(5, 2281, 26, 2281, 21, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("neqjoinsel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(106), _1("neqjoinsel"), _2(5), _3(true), _4(false), _5(neqjoinsel), _6(701), _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('s'), _19(0), _20(5, 2281, 26, 2281, 21, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("neqjoinsel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "neqsel", 1, - AddBuiltinFunc(_0(NEQSELRETURNOID), _1("neqsel"), _2(4), _3(true), _4(false), _5(neqsel), _6(701), _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('s'), _19(0), _20(4, 2281, 26, 2281, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("neqsel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(NEQSELRETURNOID), _1("neqsel"), _2(4), _3(true), _4(false), _5(neqsel), _6(701), _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('s'), _19(0), _20(4, 2281, 26, 2281, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("neqsel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "netmask", 1, - AddBuiltinFunc(_0(696), _1("netmask"), _2(1), _3(true), _4(false), _5(network_netmask), _6(869), _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(1, 869), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("network_netmask"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(696), _1("netmask"), _2(1), _3(true), _4(false), _5(network_netmask), _6(869), _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(1, 869), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("network_netmask"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "network", 1, - AddBuiltinFunc(_0(683), _1("network"), _2(1), _3(true), _4(false), _5(network_network), _6(650), _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(1, 869), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("network_network"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(683), _1("network"), _2(1), _3(true), _4(false), _5(network_network), _6(650), _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(1, 869), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("network_network"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "network_cmp", 1, - AddBuiltinFunc(_0(926), _1("network_cmp"), _2(2), _3(true), _4(false), _5(network_cmp), _6(23), _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(2, 869, 869), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("network_cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(926), _1("network_cmp"), _2(2), _3(true), _4(false), _5(network_cmp), _6(23), _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(2, 869, 869), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("network_cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "network_eq", 1, - AddBuiltinFunc(_0(920), _1("network_eq"), _2(2), _3(true), _4(false), _5(network_eq), _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(true), _18('i'), _19(0), _20(2, 869, 869), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("network_eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(920), _1("network_eq"), _2(2), _3(true), _4(false), _5(network_eq), _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(true), _18('i'), _19(0), _20(2, 869, 869), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("network_eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "network_ge", 1, - AddBuiltinFunc(_0(924), _1("network_ge"), _2(2), _3(true), _4(false), _5(network_ge), _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(true), _18('i'), _19(0), _20(2, 869, 869), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("network_ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(924), _1("network_ge"), _2(2), _3(true), _4(false), _5(network_ge), _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(true), _18('i'), _19(0), _20(2, 869, 869), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("network_ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "network_gt", 1, - AddBuiltinFunc(_0(923), _1("network_gt"), _2(2), _3(true), _4(false), _5(network_gt), _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(true), _18('i'), _19(0), _20(2, 869, 869), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("network_gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(923), _1("network_gt"), _2(2), _3(true), _4(false), _5(network_gt), _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(true), _18('i'), _19(0), _20(2, 869, 869), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("network_gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "network_le", 1, - AddBuiltinFunc(_0(922), _1("network_le"), _2(2), _3(true), _4(false), _5(network_le), _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(true), _18('i'), _19(0), _20(2, 869, 869), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("network_le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(922), _1("network_le"), _2(2), _3(true), _4(false), _5(network_le), _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(true), _18('i'), _19(0), _20(2, 869, 869), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("network_le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "network_lt", 1, - AddBuiltinFunc(_0(921), _1("network_lt"), _2(2), _3(true), _4(false), _5(network_lt), _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(true), _18('i'), _19(0), _20(2, 869, 869), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("network_lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(921), _1("network_lt"), _2(2), _3(true), _4(false), _5(network_lt), _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(true), _18('i'), _19(0), _20(2, 869, 869), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("network_lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "network_ne", 1, - AddBuiltinFunc(_0(925), _1("network_ne"), _2(2), _3(true), _4(false), _5(network_ne), _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(true), _18('i'), _19(0), _20(2, 869, 869), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("network_ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(925), _1("network_ne"), _2(2), _3(true), _4(false), _5(network_ne), _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(true), _18('i'), _19(0), _20(2, 869, 869), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("network_ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "network_sub", 1, - AddBuiltinFunc(_0(927), _1("network_sub"), _2(2), _3(true), _4(false), _5(network_sub), _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(2, 869, 869), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("network_sub"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(927), _1("network_sub"), _2(2), _3(true), _4(false), _5(network_sub), _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(2, 869, 869), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("network_sub"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "network_subeq", 1, - AddBuiltinFunc(_0(928), _1("network_subeq"), _2(2), _3(true), _4(false), _5(network_subeq), _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(2, 869, 869), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("network_subeq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(928), _1("network_subeq"), _2(2), _3(true), _4(false), _5(network_subeq), _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(2, 869, 869), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("network_subeq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "network_sup", 1, - AddBuiltinFunc(_0(929), _1("network_sup"), _2(2), _3(true), _4(false), _5(network_sup), _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(2, 869, 869), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("network_sup"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(929), _1("network_sup"), _2(2), _3(true), _4(false), _5(network_sup), _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(2, 869, 869), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("network_sup"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "network_supeq", 1, - AddBuiltinFunc(_0(930), _1("network_supeq"), _2(2), _3(true), _4(false), _5(network_supeq), _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(2, 869, 869), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("network_supeq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(930), _1("network_supeq"), _2(2), _3(true), _4(false), _5(network_supeq), _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(2, 869, 869), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("network_supeq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "next_day", 2, - AddBuiltinFunc(_0(4076), _1("next_day"), _2(2), _3(true), _4(false), _5(next_day_int), _6(1114), _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(2, 1114, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("next_day_int"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(4077), _1("next_day"), _2(2), _3(true), _4(false), _5(next_day_str), _6(1114), _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(2, 1114, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("next_day_str"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4076), _1("next_day"), _2(2), _3(true), _4(false), _5(next_day_int), _6(1114), _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(2, 1114, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("next_day_int"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(4077), _1("next_day"), _2(2), _3(true), _4(false), _5(next_day_str), _6(1114), _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(2, 1114, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("next_day_str"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "nextval", 1, - AddBuiltinFunc(_0(NEXTVALFUNCOID), _1("nextval"), _2(1), _3(true), _4(false), _5(nextval_oid), _6(20), _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('v'), _19(0), _20(1, 2205), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("nextval_oid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(NEXTVALFUNCOID), _1("nextval"), _2(1), _3(true), _4(false), _5(nextval_oid), _6(20), _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('v'), _19(0), _20(1, 2205), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("nextval_oid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "ngram_end", 1, - AddBuiltinFunc(_0(3788), _1("ngram_end"), _2(1), _3(true), _4(false), _5(ngram_end), _6(2278), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ngram_end"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3788), _1("ngram_end"), _2(1), _3(true), _4(false), _5(ngram_end), _6(2278), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ngram_end"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "ngram_lextype", 1, - AddBuiltinFunc(_0(3789), _1("ngram_lextype"), _2(1), _3(true), _4(false), _5(ngram_lextype), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ngram_lextype"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3789), _1("ngram_lextype"), _2(1), _3(true), _4(false), _5(ngram_lextype), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ngram_lextype"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "ngram_nexttoken", 1, - AddBuiltinFunc(_0(3787), _1("ngram_nexttoken"), _2(3), _3(true), _4(false), _5(ngram_nexttoken), _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(3, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ngram_nexttoken"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3787), _1("ngram_nexttoken"), _2(3), _3(true), _4(false), _5(ngram_nexttoken), _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(3, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ngram_nexttoken"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "ngram_start", 1, - AddBuiltinFunc(_0(3786), _1("ngram_start"), _2(3), _3(true), _4(false), _5(ngram_start), _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(3, 2281, 23, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ngram_start"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3786), _1("ngram_start"), _2(3), _3(true), _4(false), _5(ngram_start), _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(3, 2281, 23, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ngram_start"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "nlikejoinsel", 1, - AddBuiltinFunc(_0(1828), _1("nlikejoinsel"), _2(5), _3(true), _4(false), _5(nlikejoinsel), _6(701), _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('s'), _19(0), _20(5, 2281, 26, 2281, 21, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("nlikejoinsel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1828), _1("nlikejoinsel"), _2(5), _3(true), _4(false), _5(nlikejoinsel), _6(701), _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('s'), _19(0), _20(5, 2281, 26, 2281, 21, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("nlikejoinsel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "nlikesel", 1, - AddBuiltinFunc(_0(1822), _1("nlikesel"), _2(4), _3(true), _4(false), _5(nlikesel), _6(701), _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('s'), _19(0), _20(4, 2281, 26, 2281, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("nlikesel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1822), _1("nlikesel"), _2(4), _3(true), _4(false), _5(nlikesel), _6(701), _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('s'), _19(0), _20(4, 2281, 26, 2281, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("nlikesel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "node_oid_name", 1, - AddBuiltinFunc(_0(3950), _1("node_oid_name"), _2(1), _3(true), _4(false), _5(node_oid_name), _6(2275), _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(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("node_oid_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3950), _1("node_oid_name"), _2(1), _3(true), _4(false), _5(node_oid_name), _6(2275), _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(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("node_oid_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "notlike", 3, - AddBuiltinFunc(_0(1570), _1("notlike"), _2(2), _3(true), _4(false), _5(textnlike), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("textnlike"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1572), _1("notlike"), _2(2), _3(true), _4(false), _5(namenlike), _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(2, 19, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("namenlike"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2008), _1("notlike"), _2(2), _3(true), _4(false), _5(byteanlike), _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(2, 17, 17), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteanlike"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1570), _1("notlike"), _2(2), _3(true), _4(false), _5(textnlike), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("textnlike"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1572), _1("notlike"), _2(2), _3(true), _4(false), _5(namenlike), _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(2, 19, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("namenlike"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2008), _1("notlike"), _2(2), _3(true), _4(false), _5(byteanlike), _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(2, 17, 17), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteanlike"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "now", 1, - AddBuiltinFunc(_0(NOWFUNCOID), _1("now"), _2(0), _3(true), _4(false), _5(now), _6(1184), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("now"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(NOWFUNCOID), _1("now"), _2(0), _3(true), _4(false), _5(now), _6(1184), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("now"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "npoints", 2, - AddBuiltinFunc(_0(1545), _1("npoints"), _2(1), _3(true), _4(false), _5(path_npoints), _6(23), _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(1, 602), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("path_npoints"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1556), _1("npoints"), _2(1), _3(true), _4(false), _5(poly_npoints), _6(23), _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(1, 604), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("poly_npoints"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1545), _1("npoints"), _2(1), _3(true), _4(false), _5(path_npoints), _6(23), _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(1, 602), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("path_npoints"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1556), _1("npoints"), _2(1), _3(true), _4(false), _5(poly_npoints), _6(23), _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(1, 604), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("poly_npoints"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "nth_value", 1, - AddBuiltinFunc(_0(3114), _1("nth_value"), _2(2), _3(true), _4(false), _5(window_nth_value), _6(2283), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(true), _16(false), _17(false), _18('i'), _19(0), _20(2, 2283, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("window_nth_value"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3114), _1("nth_value"), _2(2), _3(true), _4(false), _5(window_nth_value), _6(2283), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(true), _16(false), _17(false), _18('i'), _19(0), _20(2, 2283, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("window_nth_value"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "ntile", 1, - AddBuiltinFunc(_0(3105), _1("ntile"), _2(1), _3(true), _4(false), _5(window_ntile), _6(23), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(true), _16(false), _17(false), _18('i'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("window_ntile"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3105), _1("ntile"), _2(1), _3(true), _4(false), _5(window_ntile), _6(23), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(true), _16(false), _17(false), _18('i'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("window_ntile"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "numeric", 7, - AddBuiltinFunc(_0(1703), _1("numeric"), _2(2), _3(true), _4(false), _5(numeric), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(3157), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 1700, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1740), _1("numeric"), _2(1), _3(true), _4(false), _5(int4_numeric), _6(1700), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4_numeric"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1742), _1("numeric"), _2(1), _3(true), _4(false), _5(float4_numeric), _6(1700), _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(1, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float4_numeric"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1743), _1("numeric"), _2(1), _3(true), _4(false), _5(float8_numeric), _6(1700), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8_numeric"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1781), _1("numeric"), _2(1), _3(true), _4(false), _5(int8_numeric), _6(1700), _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(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8_numeric"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1782), _1("numeric"), _2(1), _3(true), _4(false), _5(int2_numeric), _6(1700), _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(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2_numeric"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(CASH2NUMERICFUNCOID), _1("numeric"), _2(1), _3(true), _4(false), _5(cash_numeric), _6(1700), _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('s'), _19(0), _20(1, 790), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cash_numeric"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(1703), _1("numeric"), _2(2), _3(true), _4(false), _5(numeric), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(3157), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 1700, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1740), _1("numeric"), _2(1), _3(true), _4(false), _5(int4_numeric), _6(1700), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4_numeric"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1742), _1("numeric"), _2(1), _3(true), _4(false), _5(float4_numeric), _6(1700), _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(1, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float4_numeric"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1743), _1("numeric"), _2(1), _3(true), _4(false), _5(float8_numeric), _6(1700), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8_numeric"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1781), _1("numeric"), _2(1), _3(true), _4(false), _5(int8_numeric), _6(1700), _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(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8_numeric"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1782), _1("numeric"), _2(1), _3(true), _4(false), _5(int2_numeric), _6(1700), _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(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2_numeric"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(CASH2NUMERICFUNCOID), _1("numeric"), _2(1), _3(true), _4(false), _5(cash_numeric), _6(1700), _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('s'), _19(0), _20(1, 790), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cash_numeric"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "numeric_abs", 1, - AddBuiltinFunc(_0(1704), _1("numeric_abs"), _2(1), _3(true), _4(false), _5(numeric_abs), _6(1700), _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(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_abs"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1704), _1("numeric_abs"), _2(1), _3(true), _4(false), _5(numeric_abs), _6(1700), _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(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_abs"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "numeric_accum", 1, - AddBuiltinFunc(_0(1833), _1("numeric_accum"), _2(2), _3(true), _4(false), _5(numeric_accum), _6(1231), _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(2, 1231, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_accum"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1833), _1("numeric_accum"), _2(2), _3(true), _4(false), _5(numeric_accum), _6(1231), _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(2, 1231, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_accum"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "numeric_add", 1, - AddBuiltinFunc(_0(1724), _1("numeric_add"), _2(2), _3(true), _4(false), _5(numeric_add), _6(1700), _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(2, 1700, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_add"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1724), _1("numeric_add"), _2(2), _3(true), _4(false), _5(numeric_add), _6(1700), _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(2, 1700, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_add"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "numeric_avg", 1, - AddBuiltinFunc(_0(1837), _1("numeric_avg"), _2(1), _3(true), _4(false), _5(numeric_avg), _6(1700), _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(1, 1231), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_avg"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1837), _1("numeric_avg"), _2(1), _3(true), _4(false), _5(numeric_avg), _6(1700), _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(1, 1231), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_avg"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "numeric_avg_accum", 1, - AddBuiltinFunc(_0(2858), _1("numeric_avg_accum"), _2(2), _3(true), _4(false), _5(numeric_avg_accum), _6(1231), _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(2, 1231, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_avg_accum"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2858), _1("numeric_avg_accum"), _2(2), _3(true), _4(false), _5(numeric_avg_accum), _6(1231), _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(2, 1231, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_avg_accum"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "numeric_avg_collect", 1, - AddBuiltinFunc(_0(2964), _1("numeric_avg_collect"), _2(2), _3(true), _4(false), _5(numeric_avg_collect), _6(1231), _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(2, 1231, 1231), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_avg_collect"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2964), _1("numeric_avg_collect"), _2(2), _3(true), _4(false), _5(numeric_avg_collect), _6(1231), _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(2, 1231, 1231), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_avg_collect"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "numeric_bpchar", 1, - AddBuiltinFunc(_0(4072), _1("numeric_bpchar"), _2(1), _3(true), _4(false), _5(numeric_bpchar), _6(1042), _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(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_bpchar"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4072), _1("numeric_bpchar"), _2(1), _3(true), _4(false), _5(numeric_bpchar), _6(1042), _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(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_bpchar"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "numeric_cmp", 1, - AddBuiltinFunc(_0(1769), _1("numeric_cmp"), _2(2), _3(true), _4(false), _5(numeric_cmp), _6(23), _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(2, 1700, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1769), _1("numeric_cmp"), _2(2), _3(true), _4(false), _5(numeric_cmp), _6(23), _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(2, 1700, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "numeric_collect", 1, - AddBuiltinFunc(_0(2968), _1("numeric_collect"), _2(2), _3(true), _4(false), _5(numeric_collect), _6(1231), _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(2, 1231, 1231), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_collect"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2968), _1("numeric_collect"), _2(2), _3(true), _4(false), _5(numeric_collect), _6(1231), _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(2, 1231, 1231), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_collect"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "numeric_div", 1, - AddBuiltinFunc(_0(1727), _1("numeric_div"), _2(2), _3(true), _4(false), _5(numeric_div), _6(1700), _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(2, 1700, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_div"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1727), _1("numeric_div"), _2(2), _3(true), _4(false), _5(numeric_div), _6(1700), _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(2, 1700, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_div"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "numeric_div_trunc", 1, - AddBuiltinFunc(_0(1980), _1("numeric_div_trunc"), _2(2), _3(true), _4(false), _5(numeric_div_trunc), _6(1700), _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(2, 1700, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_div_trunc"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1980), _1("numeric_div_trunc"), _2(2), _3(true), _4(false), _5(numeric_div_trunc), _6(1700), _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(2, 1700, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_div_trunc"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "numeric_eq", 1, - AddBuiltinFunc(_0(1718), _1("numeric_eq"), _2(2), _3(true), _4(false), _5(numeric_eq), _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(2, 1700, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1718), _1("numeric_eq"), _2(2), _3(true), _4(false), _5(numeric_eq), _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(2, 1700, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "numeric_exp", 1, - AddBuiltinFunc(_0(1733), _1("numeric_exp"), _2(1), _3(true), _4(false), _5(numeric_exp), _6(1700), _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(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_exp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1733), _1("numeric_exp"), _2(1), _3(true), _4(false), _5(numeric_exp), _6(1700), _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(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_exp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "numeric_fac", 1, - AddBuiltinFunc(_0(111), _1("numeric_fac"), _2(1), _3(true), _4(false), _5(numeric_fac), _6(1700), _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(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_fac"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(111), _1("numeric_fac"), _2(1), _3(true), _4(false), _5(numeric_fac), _6(1700), _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(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_fac"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "numeric_ge", 1, - AddBuiltinFunc(_0(1721), _1("numeric_ge"), _2(2), _3(true), _4(false), _5(numeric_ge), _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(2, 1700, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1721), _1("numeric_ge"), _2(2), _3(true), _4(false), _5(numeric_ge), _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(2, 1700, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "numeric_gt", 1, - AddBuiltinFunc(_0(1720), _1("numeric_gt"), _2(2), _3(true), _4(false), _5(numeric_gt), _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(2, 1700, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1720), _1("numeric_gt"), _2(2), _3(true), _4(false), _5(numeric_gt), _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(2, 1700, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "numeric_in", 1, - AddBuiltinFunc(_0(1701), _1("numeric_in"), _2(3), _3(true), _4(false), _5(numeric_in), _6(1700), _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(3, 2275, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1701), _1("numeric_in"), _2(3), _3(true), _4(false), _5(numeric_in), _6(1700), _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(3, 2275, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "numeric_inc", 1, - AddBuiltinFunc(_0(1764), _1("numeric_inc"), _2(1), _3(true), _4(false), _5(numeric_inc), _6(1700), _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(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_inc"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1764), _1("numeric_inc"), _2(1), _3(true), _4(false), _5(numeric_inc), _6(1700), _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(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_inc"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "numeric_int1", 1, - AddBuiltinFunc(_0(5522), _1("numeric_int1"), _2(1), _3(true), _4(false), _5(numeric_int1), _6(5545), _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(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_int1"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5522), _1("numeric_int1"), _2(1), _3(true), _4(false), _5(numeric_int1), _6(5545), _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(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_int1"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "numeric_larger", 1, - AddBuiltinFunc(_0(1767), _1("numeric_larger"), _2(2), _3(true), _4(false), _5(numeric_larger), _6(1700), _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(2, 1700, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_larger"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1767), _1("numeric_larger"), _2(2), _3(true), _4(false), _5(numeric_larger), _6(1700), _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(2, 1700, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_larger"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "numeric_le", 1, - AddBuiltinFunc(_0(1723), _1("numeric_le"), _2(2), _3(true), _4(false), _5(numeric_le), _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(2, 1700, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1723), _1("numeric_le"), _2(2), _3(true), _4(false), _5(numeric_le), _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(2, 1700, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "numeric_list_agg_noarg2_transfn", 1, - AddBuiltinFunc(_0(3577), _1("numeric_list_agg_noarg2_transfn"), _2(2), _3(false), _4(false), _5(numeric_list_agg_noarg2_transfn), _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(2, 2281, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_list_agg_noarg2_transfn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3577), _1("numeric_list_agg_noarg2_transfn"), _2(2), _3(false), _4(false), _5(numeric_list_agg_noarg2_transfn), _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(2, 2281, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_list_agg_noarg2_transfn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "numeric_list_agg_transfn", 1, - AddBuiltinFunc(_0(3575), _1("numeric_list_agg_transfn"), _2(3), _3(false), _4(false), _5(numeric_list_agg_transfn), _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(3, 2281, 1700, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_list_agg_transfn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3575), _1("numeric_list_agg_transfn"), _2(3), _3(false), _4(false), _5(numeric_list_agg_transfn), _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(3, 2281, 1700, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_list_agg_transfn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "numeric_ln", 1, - AddBuiltinFunc(_0(1735), _1("numeric_ln"), _2(1), _3(true), _4(false), _5(numeric_ln), _6(1700), _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(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_ln"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1735), _1("numeric_ln"), _2(1), _3(true), _4(false), _5(numeric_ln), _6(1700), _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(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_ln"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "numeric_log", 1, - AddBuiltinFunc(_0(1737), _1("numeric_log"), _2(2), _3(true), _4(false), _5(numeric_log), _6(1700), _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(2, 1700, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_log"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1737), _1("numeric_log"), _2(2), _3(true), _4(false), _5(numeric_log), _6(1700), _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(2, 1700, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_log"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "numeric_lt", 1, - AddBuiltinFunc(_0(1722), _1("numeric_lt"), _2(2), _3(true), _4(false), _5(numeric_lt), _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(2, 1700, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1722), _1("numeric_lt"), _2(2), _3(true), _4(false), _5(numeric_lt), _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(2, 1700, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "numeric_mod", 1, - AddBuiltinFunc(_0(1729), _1("numeric_mod"), _2(2), _3(true), _4(false), _5(numeric_mod), _6(1700), _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(2, 1700, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_mod"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1729), _1("numeric_mod"), _2(2), _3(true), _4(false), _5(numeric_mod), _6(1700), _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(2, 1700, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_mod"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "numeric_mul", 1, - AddBuiltinFunc(_0(1726), _1("numeric_mul"), _2(2), _3(true), _4(false), _5(numeric_mul), _6(1700), _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(2, 1700, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_mul"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1726), _1("numeric_mul"), _2(2), _3(true), _4(false), _5(numeric_mul), _6(1700), _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(2, 1700, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_mul"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "numeric_ne", 1, - AddBuiltinFunc(_0(1719), _1("numeric_ne"), _2(2), _3(true), _4(false), _5(numeric_ne), _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(2, 1700, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1719), _1("numeric_ne"), _2(2), _3(true), _4(false), _5(numeric_ne), _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(2, 1700, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "numeric_out", 1, - AddBuiltinFunc(_0(1702), _1("numeric_out"), _2(1), _3(true), _4(false), _5(numeric_out), _6(2275), _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(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1702), _1("numeric_out"), _2(1), _3(true), _4(false), _5(numeric_out), _6(2275), _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(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "numeric_power", 1, - AddBuiltinFunc(_0(1739), _1("numeric_power"), _2(2), _3(true), _4(false), _5(numeric_power), _6(1700), _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(2, 1700, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_power"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1739), _1("numeric_power"), _2(2), _3(true), _4(false), _5(numeric_power), _6(1700), _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(2, 1700, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_power"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "numeric_recv", 1, - AddBuiltinFunc(_0(2460), _1("numeric_recv"), _2(3), _3(true), _4(false), _5(numeric_recv), _6(1700), _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(3, 2281, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2460), _1("numeric_recv"), _2(3), _3(true), _4(false), _5(numeric_recv), _6(1700), _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(3, 2281, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "numeric_send", 1, - AddBuiltinFunc(_0(2461), _1("numeric_send"), _2(1), _3(true), _4(false), _5(numeric_send), _6(17), _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(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2461), _1("numeric_send"), _2(1), _3(true), _4(false), _5(numeric_send), _6(17), _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(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "numeric_smaller", 1, - AddBuiltinFunc(_0(1766), _1("numeric_smaller"), _2(2), _3(true), _4(false), _5(numeric_smaller), _6(1700), _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(2, 1700, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_smaller"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1766), _1("numeric_smaller"), _2(2), _3(true), _4(false), _5(numeric_smaller), _6(1700), _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(2, 1700, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_smaller"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "numeric_sortsupport", 1, - AddBuiltinFunc(_0(3283), _1("numeric_sortsupport"), _2(1), _3(true), _4(false), _5(numeric_sortsupport), _6(2278), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_sortsupport"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3283), _1("numeric_sortsupport"), _2(1), _3(true), _4(false), _5(numeric_sortsupport), _6(2278), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_sortsupport"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "numeric_sqrt", 1, - AddBuiltinFunc(_0(1731), _1("numeric_sqrt"), _2(1), _3(true), _4(false), _5(numeric_sqrt), _6(1700), _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(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_sqrt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1731), _1("numeric_sqrt"), _2(1), _3(true), _4(false), _5(numeric_sqrt), _6(1700), _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(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_sqrt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "numeric_stddev_pop", 1, - AddBuiltinFunc(_0(2596), _1("numeric_stddev_pop"), _2(1), _3(true), _4(false), _5(numeric_stddev_pop), _6(1700), _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(1, 1231), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_stddev_pop"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2596), _1("numeric_stddev_pop"), _2(1), _3(true), _4(false), _5(numeric_stddev_pop), _6(1700), _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(1, 1231), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_stddev_pop"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "numeric_stddev_samp", 1, - AddBuiltinFunc(_0(1839), _1("numeric_stddev_samp"), _2(1), _3(true), _4(false), _5(numeric_stddev_samp), _6(1700), _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(1, 1231), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_stddev_samp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1839), _1("numeric_stddev_samp"), _2(1), _3(true), _4(false), _5(numeric_stddev_samp), _6(1700), _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(1, 1231), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_stddev_samp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "numeric_sub", 1, - AddBuiltinFunc(_0(1725), _1("numeric_sub"), _2(2), _3(true), _4(false), _5(numeric_sub), _6(1700), _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(2, 1700, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_sub"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1725), _1("numeric_sub"), _2(2), _3(true), _4(false), _5(numeric_sub), _6(1700), _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(2, 1700, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_sub"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "numeric_text", 1, - AddBuiltinFunc(_0(4171), _1("numeric_text"), _2(1), _3(true), _4(false), _5(numeric_text), _6(25), _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(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_text"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4171), _1("numeric_text"), _2(1), _3(true), _4(false), _5(numeric_text), _6(25), _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(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_text"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "numeric_transform", 1, - AddBuiltinFunc(_0(3157), _1("numeric_transform"), _2(1), _3(true), _4(false), _5(numeric_transform), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_transform"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3157), _1("numeric_transform"), _2(1), _3(true), _4(false), _5(numeric_transform), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_transform"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "numeric_uminus", 1, - AddBuiltinFunc(_0(1771), _1("numeric_uminus"), _2(1), _3(true), _4(false), _5(numeric_uminus), _6(1700), _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(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_uminus"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1771), _1("numeric_uminus"), _2(1), _3(true), _4(false), _5(numeric_uminus), _6(1700), _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(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_uminus"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "numeric_uplus", 1, - AddBuiltinFunc(_0(1915), _1("numeric_uplus"), _2(1), _3(true), _4(false), _5(numeric_uplus), _6(1700), _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(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_uplus"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1915), _1("numeric_uplus"), _2(1), _3(true), _4(false), _5(numeric_uplus), _6(1700), _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(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_uplus"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "numeric_var_pop", 1, - AddBuiltinFunc(_0(2514), _1("numeric_var_pop"), _2(1), _3(true), _4(false), _5(numeric_var_pop), _6(1700), _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(1, 1231), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_var_pop"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2514), _1("numeric_var_pop"), _2(1), _3(true), _4(false), _5(numeric_var_pop), _6(1700), _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(1, 1231), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_var_pop"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "numeric_var_samp", 1, - AddBuiltinFunc(_0(1838), _1("numeric_var_samp"), _2(1), _3(true), _4(false), _5(numeric_var_samp), _6(1700), _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(1, 1231), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_var_samp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1838), _1("numeric_var_samp"), _2(1), _3(true), _4(false), _5(numeric_var_samp), _6(1700), _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(1, 1231), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_var_samp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "numeric_varchar", 1, - AddBuiltinFunc(_0(4183), _1("numeric_varchar"), _2(1), _3(true), _4(false), _5(numeric_varchar), _6(1043), _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(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_varchar"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4183), _1("numeric_varchar"), _2(1), _3(true), _4(false), _5(numeric_varchar), _6(1043), _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(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_varchar"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "numerictypmodin", 1, - AddBuiltinFunc(_0(2917), _1("numerictypmodin"), _2(1), _3(true), _4(false), _5(numerictypmodin), _6(23), _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(1, 1263), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numerictypmodin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2917), _1("numerictypmodin"), _2(1), _3(true), _4(false), _5(numerictypmodin), _6(23), _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(1, 1263), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numerictypmodin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "numerictypmodout", 1, - AddBuiltinFunc(_0(2918), _1("numerictypmodout"), _2(1), _3(true), _4(false), _5(numerictypmodout), _6(2275), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numerictypmodout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2918), _1("numerictypmodout"), _2(1), _3(true), _4(false), _5(numerictypmodout), _6(2275), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numerictypmodout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "numnode", 1, - AddBuiltinFunc(_0(3672), _1("numnode"), _2(1), _3(true), _4(false), _5(tsquery_numnode), _6(23), _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(1, 3615), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsquery_numnode"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3672), _1("numnode"), _2(1), _3(true), _4(false), _5(tsquery_numnode), _6(23), _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(1, 3615), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsquery_numnode"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "numrange", 2, - AddBuiltinFunc(_0(3844), _1("numrange"), _2(2), _3(false), _4(false), _5(range_constructor2), _6(3906), _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(2, 1700, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_constructor2"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3845), _1("numrange"), _2(3), _3(false), _4(false), _5(range_constructor3), _6(3906), _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(3, 1700, 1700, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_constructor3"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3844), _1("numrange"), _2(2), _3(false), _4(false), _5(range_constructor2), _6(3906), _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(2, 1700, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_constructor2"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3845), _1("numrange"), _2(3), _3(false), _4(false), _5(range_constructor3), _6(3906), _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(3, 1700, 1700, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_constructor3"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "numrange_subdiff", 1, - AddBuiltinFunc(_0(3924), _1("numrange_subdiff"), _2(2), _3(true), _4(false), _5(numrange_subdiff), _6(701), _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(2, 1700, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numrange_subdiff"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3924), _1("numrange_subdiff"), _2(2), _3(true), _4(false), _5(numrange_subdiff), _6(701), _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(2, 1700, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numrange_subdiff"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "numtoday", 4, - AddBuiltinFunc(_0(3189), _1("numtoday"), _2(1), _3(true), _4(false), _5(int1_interval), _6(1186), _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(1, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1_interval"), _26("-"), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3190), _1("numtoday"), _2(1), _3(true), _4(false), _5(int2_interval), _6(1186), _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(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2_interval"), _26("-"), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3191), _1("numtoday"), _2(1), _3(true), _4(false), _5(int4_interval), _6(1186), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4_interval"), _26("-"), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3842), _1("numtoday"), _2(1), _3(true), _4(false), _5(numeric_interval), _6(1186), _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(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_interval"), _26("-"), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3189), _1("numtoday"), _2(1), _3(true), _4(false), _5(int1_interval), _6(1186), _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(1, 5545), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int1_interval"), _26("-"), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3190), _1("numtoday"), _2(1), _3(true), _4(false), _5(int2_interval), _6(1186), _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(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int2_interval"), _26("-"), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3191), _1("numtoday"), _2(1), _3(true), _4(false), _5(int4_interval), _6(1186), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4_interval"), _26("-"), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3842), _1("numtoday"), _2(1), _3(true), _4(false), _5(numeric_interval), _6(1186), _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(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_interval"), _26("-"), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "numtodsinterval", 1, - AddBuiltinFunc(_0(3172), _1("numtodsinterval"), _2(2), _3(true), _4(false), _5(numtodsinterval), _6(1186), _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(2, 1700, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numtodsinterval"), _26("-"), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3172), _1("numtodsinterval"), _2(2), _3(true), _4(false), _5(numtodsinterval), _6(1186), _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(2, 1700, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numtodsinterval"), _26("-"), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "nvarchar2", 1, - AddBuiltinFunc(_0(3961), _1("nvarchar2"), _2(3), _3(true), _4(false), _5(nvarchar2), _6(3969), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(3097), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(3, 3969, 23, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("nvarchar2"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3961), _1("nvarchar2"), _2(3), _3(true), _4(false), _5(nvarchar2), _6(3969), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(3097), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(3, 3969, 23, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("nvarchar2"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "nvarchar2in", 1, - AddBuiltinFunc(_0(3962), _1("nvarchar2in"), _2(3), _3(true), _4(false), _5(nvarchar2in), _6(3969), _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(3, 2275, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("nvarchar2in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3962), _1("nvarchar2in"), _2(3), _3(true), _4(false), _5(nvarchar2in), _6(3969), _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(3, 2275, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("nvarchar2in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "nvarchar2out", 1, - AddBuiltinFunc(_0(3963), _1("nvarchar2out"), _2(1), _3(true), _4(false), _5(nvarchar2out), _6(2275), _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(1, 3969), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("nvarchar2out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3963), _1("nvarchar2out"), _2(1), _3(true), _4(false), _5(nvarchar2out), _6(2275), _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(1, 3969), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("nvarchar2out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "nvarchar2recv", 1, - AddBuiltinFunc(_0(3966), _1("nvarchar2recv"), _2(3), _3(true), _4(false), _5(nvarchar2recv), _6(3969), _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('s'), _19(0), _20(3, 2281, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("nvarchar2recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3966), _1("nvarchar2recv"), _2(3), _3(true), _4(false), _5(nvarchar2recv), _6(3969), _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('s'), _19(0), _20(3, 2281, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("nvarchar2recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "nvarchar2send", 1, - AddBuiltinFunc(_0(3967), _1("nvarchar2send"), _2(1), _3(true), _4(false), _5(nvarchar2send), _6(17), _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('s'), _19(0), _20(1, 3969), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("nvarchar2send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3967), _1("nvarchar2send"), _2(1), _3(true), _4(false), _5(nvarchar2send), _6(17), _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('s'), _19(0), _20(1, 3969), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("nvarchar2send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "nvarchar2typmodin", 1, - AddBuiltinFunc(_0(3964), _1("nvarchar2typmodin"), _2(1), _3(true), _4(false), _5(nvarchar2typmodin), _6(23), _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(1, 1263), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("nvarchar2typmodin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3964), _1("nvarchar2typmodin"), _2(1), _3(true), _4(false), _5(nvarchar2typmodin), _6(23), _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(1, 1263), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("nvarchar2typmodin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "nvarchar2typmodout", 1, - AddBuiltinFunc(_0(3965), _1("nvarchar2typmodout"), _2(1), _3(true), _4(false), _5(nvarchar2typmodout), _6(2275), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("nvarchar2typmodout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3965), _1("nvarchar2typmodout"), _2(1), _3(true), _4(false), _5(nvarchar2typmodout), _6(2275), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("nvarchar2typmodout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "obj_description", 2, - AddBuiltinFunc(_0(1215), _1("obj_description"), _2(2), _3(true), _4(false), _5(NULL), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(100), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(2, 26, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select description from pg_catalog.pg_description where objoid = $1 and classoid = (select oid from pg_catalog.pg_class where relname = $2 and relnamespace = 11) and objsubid = 0"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1348), _1("obj_description"), _2(1), _3(true), _4(false), _5(NULL), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(100), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select description from pg_catalog.pg_description where objoid = $1 and objsubid = 0"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1215), _1("obj_description"), _2(2), _3(true), _4(false), _5(NULL), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(100), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(2, 26, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select description from pg_catalog.pg_description where objoid = $1 and classoid = (select oid from pg_catalog.pg_class where relname = $2 and relnamespace = 11) and objsubid = 0"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1348), _1("obj_description"), _2(1), _3(true), _4(false), _5(NULL), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(100), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select description from pg_catalog.pg_description where objoid = $1 and objsubid = 0"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "octet_length", 4, - AddBuiltinFunc(_0(720), _1("octet_length"), _2(1), _3(true), _4(false), _5(byteaoctetlen), _6(23), _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(1, 17), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteaoctetlen"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1374), _1("octet_length"), _2(1), _3(true), _4(false), _5(textoctetlen), _6(23), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("textoctetlen"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1375), _1("octet_length"), _2(1), _3(true), _4(false), _5(bpcharoctetlen), _6(23), _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(1, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpcharoctetlen"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1682), _1("octet_length"), _2(1), _3(true), _4(false), _5(bitoctetlength), _6(23), _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(1, 1560), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bitoctetlength"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(720), _1("octet_length"), _2(1), _3(true), _4(false), _5(byteaoctetlen), _6(23), _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(1, 17), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteaoctetlen"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1374), _1("octet_length"), _2(1), _3(true), _4(false), _5(textoctetlen), _6(23), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("textoctetlen"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1375), _1("octet_length"), _2(1), _3(true), _4(false), _5(bpcharoctetlen), _6(23), _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(1, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bpcharoctetlen"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1682), _1("octet_length"), _2(1), _3(true), _4(false), _5(bitoctetlength), _6(23), _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(1, 1560), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bitoctetlength"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "oid", 1, - AddBuiltinFunc(_0(1287), _1("oid"), _2(1), _3(true), _4(false), _5(i8tooid), _6(26), _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(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("i8tooid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1287), _1("oid"), _2(1), _3(true), _4(false), _5(i8tooid), _6(26), _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(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("i8tooid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "oideq", 1, - AddBuiltinFunc(_0(184), _1("oideq"), _2(2), _3(true), _4(false), _5(oideq), _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(true), _18('i'), _19(0), _20(2, 26, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("oideq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(184), _1("oideq"), _2(2), _3(true), _4(false), _5(oideq), _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(true), _18('i'), _19(0), _20(2, 26, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("oideq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "oidge", 1, - AddBuiltinFunc(_0(1639), _1("oidge"), _2(2), _3(true), _4(false), _5(oidge), _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(true), _18('i'), _19(0), _20(2, 26, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("oidge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1639), _1("oidge"), _2(2), _3(true), _4(false), _5(oidge), _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(true), _18('i'), _19(0), _20(2, 26, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("oidge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "oidgt", 1, - AddBuiltinFunc(_0(1638), _1("oidgt"), _2(2), _3(true), _4(false), _5(oidgt), _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(true), _18('i'), _19(0), _20(2, 26, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("oidgt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1638), _1("oidgt"), _2(2), _3(true), _4(false), _5(oidgt), _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(true), _18('i'), _19(0), _20(2, 26, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("oidgt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "oidin", 1, - AddBuiltinFunc(_0(1798), _1("oidin"), _2(1), _3(true), _4(false), _5(oidin), _6(26), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("oidin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1798), _1("oidin"), _2(1), _3(true), _4(false), _5(oidin), _6(26), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("oidin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "oidlarger", 1, - AddBuiltinFunc(_0(1965), _1("oidlarger"), _2(2), _3(true), _4(false), _5(oidlarger), _6(26), _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(2, 26, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("oidlarger"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1965), _1("oidlarger"), _2(2), _3(true), _4(false), _5(oidlarger), _6(26), _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(2, 26, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("oidlarger"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "oidle", 1, - AddBuiltinFunc(_0(717), _1("oidle"), _2(2), _3(true), _4(false), _5(oidle), _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(true), _18('i'), _19(0), _20(2, 26, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("oidle"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(717), _1("oidle"), _2(2), _3(true), _4(false), _5(oidle), _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(true), _18('i'), _19(0), _20(2, 26, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("oidle"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "oidlt", 1, - AddBuiltinFunc(_0(716), _1("oidlt"), _2(2), _3(true), _4(false), _5(oidlt), _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(true), _18('i'), _19(0), _20(2, 26, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("oidlt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(716), _1("oidlt"), _2(2), _3(true), _4(false), _5(oidlt), _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(true), _18('i'), _19(0), _20(2, 26, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("oidlt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "oidne", 1, - AddBuiltinFunc(_0(185), _1("oidne"), _2(2), _3(true), _4(false), _5(oidne), _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(true), _18('i'), _19(0), _20(2, 26, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("oidne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(185), _1("oidne"), _2(2), _3(true), _4(false), _5(oidne), _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(true), _18('i'), _19(0), _20(2, 26, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("oidne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "oidout", 1, - AddBuiltinFunc(_0(1799), _1("oidout"), _2(1), _3(true), _4(false), _5(oidout), _6(2275), _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(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("oidout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1799), _1("oidout"), _2(1), _3(true), _4(false), _5(oidout), _6(2275), _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(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("oidout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "oidrecv", 1, - AddBuiltinFunc(_0(2418), _1("oidrecv"), _2(1), _3(true), _4(false), _5(oidrecv), _6(26), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("oidrecv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2418), _1("oidrecv"), _2(1), _3(true), _4(false), _5(oidrecv), _6(26), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("oidrecv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "oidsend", 1, - AddBuiltinFunc(_0(2419), _1("oidsend"), _2(1), _3(true), _4(false), _5(oidsend), _6(17), _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(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("oidsend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2419), _1("oidsend"), _2(1), _3(true), _4(false), _5(oidsend), _6(17), _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(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("oidsend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "oidsmaller", 1, - AddBuiltinFunc(_0(1966), _1("oidsmaller"), _2(2), _3(true), _4(false), _5(oidsmaller), _6(26), _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(2, 26, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("oidsmaller"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1966), _1("oidsmaller"), _2(2), _3(true), _4(false), _5(oidsmaller), _6(26), _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(2, 26, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("oidsmaller"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "oidvectoreq", 1, - AddBuiltinFunc(_0(679), _1("oidvectoreq"), _2(2), _3(true), _4(false), _5(oidvectoreq), _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(2, 30, 30), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("oidvectoreq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(679), _1("oidvectoreq"), _2(2), _3(true), _4(false), _5(oidvectoreq), _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(2, 30, 30), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("oidvectoreq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "oidvectorge", 1, - AddBuiltinFunc(_0(680), _1("oidvectorge"), _2(2), _3(true), _4(false), _5(oidvectorge), _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(2, 30, 30), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("oidvectorge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(680), _1("oidvectorge"), _2(2), _3(true), _4(false), _5(oidvectorge), _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(2, 30, 30), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("oidvectorge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "oidvectorgt", 1, - AddBuiltinFunc(_0(681), _1("oidvectorgt"), _2(2), _3(true), _4(false), _5(oidvectorgt), _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(2, 30, 30), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("oidvectorgt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(681), _1("oidvectorgt"), _2(2), _3(true), _4(false), _5(oidvectorgt), _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(2, 30, 30), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("oidvectorgt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "oidvectorin", 1, - AddBuiltinFunc(_0(54), _1("oidvectorin"), _2(1), _3(true), _4(false), _5(oidvectorin), _6(30), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("oidvectorin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(54), _1("oidvectorin"), _2(1), _3(true), _4(false), _5(oidvectorin), _6(30), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("oidvectorin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "oidvectorin_extend", 1, - AddBuiltinFunc(_0(91), _1("oidvectorin_extend"), _2(1), _3(true), _4(false), _5(oidvectorin_extend), _6(32), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("oidvectorin_extend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(91), _1("oidvectorin_extend"), _2(1), _3(true), _4(false), _5(oidvectorin_extend), _6(32), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("oidvectorin_extend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "oidvectorle", 1, - AddBuiltinFunc(_0(678), _1("oidvectorle"), _2(2), _3(true), _4(false), _5(oidvectorle), _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(2, 30, 30), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("oidvectorle"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(678), _1("oidvectorle"), _2(2), _3(true), _4(false), _5(oidvectorle), _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(2, 30, 30), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("oidvectorle"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "oidvectorlt", 1, - AddBuiltinFunc(_0(677), _1("oidvectorlt"), _2(2), _3(true), _4(false), _5(oidvectorlt), _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(2, 30, 30), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("oidvectorlt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(677), _1("oidvectorlt"), _2(2), _3(true), _4(false), _5(oidvectorlt), _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(2, 30, 30), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("oidvectorlt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "oidvectorne", 1, - AddBuiltinFunc(_0(619), _1("oidvectorne"), _2(2), _3(true), _4(false), _5(oidvectorne), _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(2, 30, 30), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("oidvectorne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(619), _1("oidvectorne"), _2(2), _3(true), _4(false), _5(oidvectorne), _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(2, 30, 30), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("oidvectorne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "oidvectorout", 1, - AddBuiltinFunc(_0(55), _1("oidvectorout"), _2(1), _3(true), _4(false), _5(oidvectorout), _6(2275), _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(1, 30), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("oidvectorout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(55), _1("oidvectorout"), _2(1), _3(true), _4(false), _5(oidvectorout), _6(2275), _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(1, 30), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("oidvectorout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "oidvectorout_extend", 1, - AddBuiltinFunc(_0(92), _1("oidvectorout_extend"), _2(1), _3(true), _4(false), _5(oidvectorout_extend), _6(2275), _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(1, 32), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("oidvectorout_extend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(92), _1("oidvectorout_extend"), _2(1), _3(true), _4(false), _5(oidvectorout_extend), _6(2275), _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(1, 32), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("oidvectorout_extend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "oidvectorrecv", 1, - AddBuiltinFunc(_0(2420), _1("oidvectorrecv"), _2(1), _3(true), _4(false), _5(oidvectorrecv), _6(30), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("oidvectorrecv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2420), _1("oidvectorrecv"), _2(1), _3(true), _4(false), _5(oidvectorrecv), _6(30), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("oidvectorrecv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "oidvectorrecv_extend", 1, - AddBuiltinFunc(_0(3122), _1("oidvectorrecv_extend"), _2(1), _3(true), _4(false), _5(oidvectorrecv_extend), _6(32), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("oidvectorrecv_extend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3122), _1("oidvectorrecv_extend"), _2(1), _3(true), _4(false), _5(oidvectorrecv_extend), _6(32), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("oidvectorrecv_extend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "oidvectorsend", 1, - AddBuiltinFunc(_0(2421), _1("oidvectorsend"), _2(1), _3(true), _4(false), _5(oidvectorsend), _6(17), _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(1, 30), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("oidvectorsend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2421), _1("oidvectorsend"), _2(1), _3(true), _4(false), _5(oidvectorsend), _6(17), _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(1, 30), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("oidvectorsend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "oidvectorsend_extend", 1, - AddBuiltinFunc(_0(3123), _1("oidvectorsend_extend"), _2(1), _3(true), _4(false), _5(oidvectorsend_extend), _6(17), _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(1, 32), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("oidvectorsend_extend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3123), _1("oidvectorsend_extend"), _2(1), _3(true), _4(false), _5(oidvectorsend_extend), _6(17), _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(1, 32), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("oidvectorsend_extend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "oidvectortypes", 1, - AddBuiltinFunc(_0(1349), _1("oidvectortypes"), _2(1), _3(true), _4(false), _5(oidvectortypes), _6(25), _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('s'), _19(0), _20(1, 30), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("oidvectortypes"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1349), _1("oidvectortypes"), _2(1), _3(true), _4(false), _5(oidvectortypes), _6(25), _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('s'), _19(0), _20(1, 30), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("oidvectortypes"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "on_pb", 1, - AddBuiltinFunc(_0(136), _1("on_pb"), _2(2), _3(true), _4(false), _5(on_pb), _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(2, 600, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("on_pb"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(136), _1("on_pb"), _2(2), _3(true), _4(false), _5(on_pb), _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(2, 600, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("on_pb"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "on_pl", 1, - AddBuiltinFunc(_0(959), _1("on_pl"), _2(2), _3(true), _4(false), _5(on_pl), _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(2, 600, 628), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("on_pl"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(959), _1("on_pl"), _2(2), _3(true), _4(false), _5(on_pl), _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(2, 600, 628), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("on_pl"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "on_ppath", 1, - AddBuiltinFunc(_0(137), _1("on_ppath"), _2(2), _3(true), _4(false), _5(on_ppath), _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(2, 600, 602), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("on_ppath"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(137), _1("on_ppath"), _2(2), _3(true), _4(false), _5(on_ppath), _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(2, 600, 602), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("on_ppath"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "on_ps", 1, - AddBuiltinFunc(_0(369), _1("on_ps"), _2(2), _3(true), _4(false), _5(on_ps), _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(2, 600, 601), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("on_ps"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(369), _1("on_ps"), _2(2), _3(true), _4(false), _5(on_ps), _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(2, 600, 601), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("on_ps"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "on_sb", 1, - AddBuiltinFunc(_0(372), _1("on_sb"), _2(2), _3(true), _4(false), _5(on_sb), _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(2, 601, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("on_sb"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(372), _1("on_sb"), _2(2), _3(true), _4(false), _5(on_sb), _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(2, 601, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("on_sb"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "on_sl", 1, - AddBuiltinFunc(_0(960), _1("on_sl"), _2(2), _3(true), _4(false), _5(on_sl), _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(2, 601, 628), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("on_sl"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(960), _1("on_sl"), _2(2), _3(true), _4(false), _5(on_sl), _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(2, 601, 628), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("on_sl"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "opaque_in", 1, - AddBuiltinFunc(_0(2306), _1("opaque_in"), _2(1), _3(false), _4(false), _5(opaque_in), _6(2282), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("opaque_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2306), _1("opaque_in"), _2(1), _3(false), _4(false), _5(opaque_in), _6(2282), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("opaque_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "opaque_out", 1, - AddBuiltinFunc(_0(2307), _1("opaque_out"), _2(1), _3(true), _4(false), _5(opaque_out), _6(2275), _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(1, 2282), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("opaque_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2307), _1("opaque_out"), _2(1), _3(true), _4(false), _5(opaque_out), _6(2275), _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(1, 2282), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("opaque_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "ordered_set_transition", 1, - AddBuiltinFunc(_0(4448), _1("ordered_set_transition"), _2(2), _3(false), _4(false), _5(ordered_set_transition), _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(2, 2281, 2276), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ordered_set_transition"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4448), _1("ordered_set_transition"), _2(2), _3(false), _4(false), _5(ordered_set_transition), _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(2, 2281, 2276), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ordered_set_transition"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "overlaps", 13, - AddBuiltinFunc(_0(1271), _1("overlaps"), _2(4), _3(false), _4(false), _5(overlaps_timetz), _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(4, 1266, 1266, 1266, 1266), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("overlaps_timetz"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1304), _1("overlaps"), _2(4), _3(false), _4(false), _5(overlaps_timestamp), _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(4, 1184, 1184, 1184, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("overlaps_timestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(OVERLAPSV1FUNCOID), _1("overlaps"), _2(4), _3(false), _4(false), _5(NULL), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(4, 1184, 1186, 1184, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select ($1, ($1 + $2)) overlaps ($3, ($3 + $4))"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")), - AddBuiltinFunc(_0(OVERLAPSV2FUNCOID), _1("overlaps"), _2(4), _3(false), _4(false), _5(NULL), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(4, 1184, 1184, 1184, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select ($1, $2) overlaps ($3, ($3 + $4))"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")), - AddBuiltinFunc(_0(OVERLAPSV3FUNCOID), _1("overlaps"), _2(4), _3(false), _4(false), _5(NULL), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(4, 1184, 1186, 1184, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select ($1, ($1 + $2)) overlaps ($3, $4)"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")), - AddBuiltinFunc(_0(1308), _1("overlaps"), _2(4), _3(false), _4(false), _5(overlaps_time), _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(4, 1083, 1083, 1083, 1083), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("overlaps_time"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1309), _1("overlaps"), _2(4), _3(false), _4(false), _5(NULL), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(4, 1083, 1186, 1083, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select ($1, ($1 + $2)) overlaps ($3, ($3 + $4))"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1310), _1("overlaps"), _2(4), _3(false), _4(false), _5(NULL), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(4, 1083, 1083, 1083, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select ($1, $2) overlaps ($3, ($3 + $4))"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1311), _1("overlaps"), _2(4), _3(false), _4(false), _5(NULL), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(4, 1083, 1186, 1083, 1083), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select ($1, ($1 + $2)) overlaps ($3, $4)"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2041), _1("overlaps"), _2(4), _3(false), _4(false), _5(overlaps_timestamp), _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(4, 1114, 1114, 1114, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("overlaps_timestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2042), _1("overlaps"), _2(4), _3(false), _4(false), _5(NULL), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(4, 1114, 1186, 1114, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select ($1, ($1 + $2)) overlaps ($3, ($3 + $4))"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2043), _1("overlaps"), _2(4), _3(false), _4(false), _5(NULL), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(4, 1114, 1114, 1114, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select ($1, $2) overlaps ($3, ($3 + $4))"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2044), _1("overlaps"), _2(4), _3(false), _4(false), _5(NULL), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(4, 1114, 1186, 1114, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select ($1, ($1 + $2)) overlaps ($3, $4)"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1271), _1("overlaps"), _2(4), _3(false), _4(false), _5(overlaps_timetz), _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(4, 1266, 1266, 1266, 1266), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("overlaps_timetz"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1304), _1("overlaps"), _2(4), _3(false), _4(false), _5(overlaps_timestamp), _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(4, 1184, 1184, 1184, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("overlaps_timestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(OVERLAPSV1FUNCOID), _1("overlaps"), _2(4), _3(false), _4(false), _5(NULL), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(4, 1184, 1186, 1184, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select ($1, ($1 + $2)) overlaps ($3, ($3 + $4))"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(OVERLAPSV2FUNCOID), _1("overlaps"), _2(4), _3(false), _4(false), _5(NULL), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(4, 1184, 1184, 1184, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select ($1, $2) overlaps ($3, ($3 + $4))"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(OVERLAPSV3FUNCOID), _1("overlaps"), _2(4), _3(false), _4(false), _5(NULL), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(4, 1184, 1186, 1184, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select ($1, ($1 + $2)) overlaps ($3, $4)"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1308), _1("overlaps"), _2(4), _3(false), _4(false), _5(overlaps_time), _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(4, 1083, 1083, 1083, 1083), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("overlaps_time"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1309), _1("overlaps"), _2(4), _3(false), _4(false), _5(NULL), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(4, 1083, 1186, 1083, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select ($1, ($1 + $2)) overlaps ($3, ($3 + $4))"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1310), _1("overlaps"), _2(4), _3(false), _4(false), _5(NULL), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(4, 1083, 1083, 1083, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select ($1, $2) overlaps ($3, ($3 + $4))"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1311), _1("overlaps"), _2(4), _3(false), _4(false), _5(NULL), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(4, 1083, 1186, 1083, 1083), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select ($1, ($1 + $2)) overlaps ($3, $4)"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2041), _1("overlaps"), _2(4), _3(false), _4(false), _5(overlaps_timestamp), _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(4, 1114, 1114, 1114, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("overlaps_timestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2042), _1("overlaps"), _2(4), _3(false), _4(false), _5(NULL), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(4, 1114, 1186, 1114, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select ($1, ($1 + $2)) overlaps ($3, ($3 + $4))"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2043), _1("overlaps"), _2(4), _3(false), _4(false), _5(NULL), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(4, 1114, 1114, 1114, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select ($1, $2) overlaps ($3, ($3 + $4))"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2044), _1("overlaps"), _2(4), _3(false), _4(false), _5(NULL), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(4, 1114, 1186, 1114, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select ($1, ($1 + $2)) overlaps ($3, $4)"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "overlay", 6, - AddBuiltinFunc(_0(749), _1("overlay"), _2(4), _3(true), _4(false), _5(byteaoverlay), _6(17), _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(4, 17, 17, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteaoverlay"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(752), _1("overlay"), _2(3), _3(true), _4(false), _5(byteaoverlay_no_len), _6(17), _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(3, 17, 17, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteaoverlay_no_len"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1404), _1("overlay"), _2(4), _3(true), _4(false), _5(textoverlay), _6(25), _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(4, 25, 25, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("textoverlay"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1405), _1("overlay"), _2(3), _3(true), _4(false), _5(textoverlay_no_len), _6(25), _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(3, 25, 25, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("textoverlay_no_len"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3030), _1("overlay"), _2(4), _3(true), _4(false), _5(bitoverlay), _6(1560), _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(4, 1560, 1560, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bitoverlay"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3031), _1("overlay"), _2(3), _3(true), _4(false), _5(bitoverlay_no_len), _6(1560), _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(3, 1560, 1560, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bitoverlay_no_len"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(749), _1("overlay"), _2(4), _3(true), _4(false), _5(byteaoverlay), _6(17), _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(4, 17, 17, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteaoverlay"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(752), _1("overlay"), _2(3), _3(true), _4(false), _5(byteaoverlay_no_len), _6(17), _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(3, 17, 17, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteaoverlay_no_len"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1404), _1("overlay"), _2(4), _3(true), _4(false), _5(textoverlay), _6(25), _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(4, 25, 25, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("textoverlay"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1405), _1("overlay"), _2(3), _3(true), _4(false), _5(textoverlay_no_len), _6(25), _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(3, 25, 25, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("textoverlay_no_len"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3030), _1("overlay"), _2(4), _3(true), _4(false), _5(bitoverlay), _6(1560), _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(4, 1560, 1560, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bitoverlay"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3031), _1("overlay"), _2(3), _3(true), _4(false), _5(bitoverlay_no_len), _6(1560), _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(3, 1560, 1560, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bitoverlay_no_len"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "path", 1, - AddBuiltinFunc(_0(1447), _1("path"), _2(1), _3(true), _4(false), _5(poly_path), _6(602), _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(1, 604), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("poly_path"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1447), _1("path"), _2(1), _3(true), _4(false), _5(poly_path), _6(602), _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(1, 604), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("poly_path"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "path_add", 1, - AddBuiltinFunc(_0(1435), _1("path_add"), _2(2), _3(true), _4(false), _5(path_add), _6(602), _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(2, 602, 602), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("path_add"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1435), _1("path_add"), _2(2), _3(true), _4(false), _5(path_add), _6(602), _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(2, 602, 602), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("path_add"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "path_add_pt", 1, - AddBuiltinFunc(_0(1436), _1("path_add_pt"), _2(2), _3(true), _4(false), _5(path_add_pt), _6(602), _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(2, 602, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("path_add_pt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1436), _1("path_add_pt"), _2(2), _3(true), _4(false), _5(path_add_pt), _6(602), _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(2, 602, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("path_add_pt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "path_center", 1, - AddBuiltinFunc(_0(226), _1("path_center"), _2(1), _3(true), _4(false), _5(path_center), _6(600), _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(1, 602), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("path_center"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(226), _1("path_center"), _2(1), _3(true), _4(false), _5(path_center), _6(600), _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(1, 602), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("path_center"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "path_contain_pt", 1, - AddBuiltinFunc(_0(1426), _1("path_contain_pt"), _2(2), _3(true), _4(false), _5(NULL), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 602, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select pg_catalog.on_ppath($2, $1)"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1426), _1("path_contain_pt"), _2(2), _3(true), _4(false), _5(NULL), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 602, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select pg_catalog.on_ppath($2, $1)"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "path_distance", 1, - AddBuiltinFunc(_0(370), _1("path_distance"), _2(2), _3(true), _4(false), _5(path_distance), _6(701), _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(2, 602, 602), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("path_distance"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(370), _1("path_distance"), _2(2), _3(true), _4(false), _5(path_distance), _6(701), _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(2, 602, 602), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("path_distance"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "path_div_pt", 1, - AddBuiltinFunc(_0(1439), _1("path_div_pt"), _2(2), _3(true), _4(false), _5(path_div_pt), _6(602), _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(2, 602, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("path_div_pt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1439), _1("path_div_pt"), _2(2), _3(true), _4(false), _5(path_div_pt), _6(602), _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(2, 602, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("path_div_pt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "path_in", 1, - AddBuiltinFunc(_0(121), _1("path_in"), _2(1), _3(true), _4(false), _5(path_in), _6(602), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("path_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(121), _1("path_in"), _2(1), _3(true), _4(false), _5(path_in), _6(602), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("path_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "path_inter", 1, - AddBuiltinFunc(_0(973), _1("path_inter"), _2(2), _3(true), _4(false), _5(path_inter), _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(2, 602, 602), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("path_inter"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(973), _1("path_inter"), _2(2), _3(true), _4(false), _5(path_inter), _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(2, 602, 602), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("path_inter"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "path_length", 1, - AddBuiltinFunc(_0(987), _1("path_length"), _2(1), _3(true), _4(false), _5(path_length), _6(701), _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(1, 602), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("path_length"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(987), _1("path_length"), _2(1), _3(true), _4(false), _5(path_length), _6(701), _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(1, 602), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("path_length"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "path_mul_pt", 1, - AddBuiltinFunc(_0(1438), _1("path_mul_pt"), _2(2), _3(true), _4(false), _5(path_mul_pt), _6(602), _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(2, 602, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("path_mul_pt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1438), _1("path_mul_pt"), _2(2), _3(true), _4(false), _5(path_mul_pt), _6(602), _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(2, 602, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("path_mul_pt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "path_n_eq", 1, - AddBuiltinFunc(_0(984), _1("path_n_eq"), _2(2), _3(true), _4(false), _5(path_n_eq), _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(2, 602, 602), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("path_n_eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(984), _1("path_n_eq"), _2(2), _3(true), _4(false), _5(path_n_eq), _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(2, 602, 602), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("path_n_eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "path_n_ge", 1, - AddBuiltinFunc(_0(986), _1("path_n_ge"), _2(2), _3(true), _4(false), _5(path_n_ge), _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(2, 602, 602), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("path_n_ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(986), _1("path_n_ge"), _2(2), _3(true), _4(false), _5(path_n_ge), _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(2, 602, 602), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("path_n_ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "path_n_gt", 1, - AddBuiltinFunc(_0(983), _1("path_n_gt"), _2(2), _3(true), _4(false), _5(path_n_gt), _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(2, 602, 602), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("path_n_gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(983), _1("path_n_gt"), _2(2), _3(true), _4(false), _5(path_n_gt), _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(2, 602, 602), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("path_n_gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "path_n_le", 1, - AddBuiltinFunc(_0(985), _1("path_n_le"), _2(2), _3(true), _4(false), _5(path_n_le), _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(2, 602, 602), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("path_n_le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(985), _1("path_n_le"), _2(2), _3(true), _4(false), _5(path_n_le), _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(2, 602, 602), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("path_n_le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "path_n_lt", 1, - AddBuiltinFunc(_0(982), _1("path_n_lt"), _2(2), _3(true), _4(false), _5(path_n_lt), _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(2, 602, 602), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("path_n_lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(982), _1("path_n_lt"), _2(2), _3(true), _4(false), _5(path_n_lt), _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(2, 602, 602), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("path_n_lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "path_npoints", 1, - AddBuiltinFunc(_0(1432), _1("path_npoints"), _2(1), _3(true), _4(false), _5(path_npoints), _6(23), _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(1, 602), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("path_npoints"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1432), _1("path_npoints"), _2(1), _3(true), _4(false), _5(path_npoints), _6(23), _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(1, 602), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("path_npoints"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "path_out", 1, - AddBuiltinFunc(_0(122), _1("path_out"), _2(1), _3(true), _4(false), _5(path_out), _6(2275), _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(1, 602), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("path_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(122), _1("path_out"), _2(1), _3(true), _4(false), _5(path_out), _6(2275), _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(1, 602), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("path_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "path_recv", 1, - AddBuiltinFunc(_0(2482), _1("path_recv"), _2(1), _3(true), _4(false), _5(path_recv), _6(602), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("path_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2482), _1("path_recv"), _2(1), _3(true), _4(false), _5(path_recv), _6(602), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("path_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "path_send", 1, - AddBuiltinFunc(_0(2483), _1("path_send"), _2(1), _3(true), _4(false), _5(path_send), _6(17), _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(1, 602), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("path_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2483), _1("path_send"), _2(1), _3(true), _4(false), _5(path_send), _6(17), _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(1, 602), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("path_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "path_sub_pt", 1, - AddBuiltinFunc(_0(1437), _1("path_sub_pt"), _2(2), _3(true), _4(false), _5(path_sub_pt), _6(602), _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(2, 602, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("path_sub_pt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1437), _1("path_sub_pt"), _2(2), _3(true), _4(false), _5(path_sub_pt), _6(602), _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(2, 602, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("path_sub_pt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pclose", 1, - AddBuiltinFunc(_0(1433), _1("pclose"), _2(1), _3(true), _4(false), _5(path_close), _6(602), _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(1, 602), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("path_close"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1433), _1("pclose"), _2(1), _3(true), _4(false), _5(path_close), _6(602), _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(1, 602), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("path_close"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "percent_rank", 1, - AddBuiltinFunc(_0(3103), _1("percent_rank"), _2(0), _3(false), _4(false), _5(window_percent_rank), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(true), _16(false), _17(false), _18('i'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("window_percent_rank"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3103), _1("percent_rank"), _2(0), _3(false), _4(false), _5(window_percent_rank), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(true), _16(false), _17(false), _18('i'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("window_percent_rank"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "percentile_cont", 2, - AddBuiltinFunc(_0(PERCENTILECONTAGGFUNCOID), _1("percentile_cont"), _2(2), _3(false), _4(false), _5(aggregate_dummy), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(4454), _1("percentile_cont"), _2(2), _3(false), _4(false), _5(aggregate_dummy), _6(1186), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 701, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(PERCENTILECONTAGGFUNCOID), _1("percentile_cont"), _2(2), _3(false), _4(false), _5(aggregate_dummy), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(4454), _1("percentile_cont"), _2(2), _3(false), _4(false), _5(aggregate_dummy), _6(1186), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 701, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "percentile_cont_float8_final", 1, - AddBuiltinFunc(_0(4453), _1("percentile_cont_float8_final"), _2(3), _3(false), _4(false), _5(percentile_cont_float8_final), _6(701), _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(3, 2281, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("percentile_cont_float8_final"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4453), _1("percentile_cont_float8_final"), _2(3), _3(false), _4(false), _5(percentile_cont_float8_final), _6(701), _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(3, 2281, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("percentile_cont_float8_final"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "percentile_cont_interval_final", 1, - AddBuiltinFunc(_0(4455), _1("percentile_cont_interval_final"), _2(3), _3(false), _4(false), _5(percentile_cont_interval_final), _6(1186), _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(3, 2281, 701, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("percentile_cont_interval_final"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4455), _1("percentile_cont_interval_final"), _2(3), _3(false), _4(false), _5(percentile_cont_interval_final), _6(1186), _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(3, 2281, 701, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("percentile_cont_interval_final"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_advisory_lock", 3, - AddBuiltinFunc(_0(2880), _1("pg_advisory_lock"), _2(1), _3(true), _4(false), _5(pg_advisory_lock_int8), _6(2278), _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('v'), _19(0), _20(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_advisory_lock_int8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2886), _1("pg_advisory_lock"), _2(2), _3(true), _4(false), _5(pg_advisory_lock_int4), _6(2278), _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('v'), _19(0), _20(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_advisory_lock_int4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(9016), _1("pg_advisory_lock"), _2(3), _3(true), _4(false), _5(pg_advisory_lock_sp_db_int4), _6(2278), _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('v'), _19(0), _20(3, 23, 23, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_advisory_lock_sp_db_int4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2880), _1("pg_advisory_lock"), _2(1), _3(true), _4(false), _5(pg_advisory_lock_int8), _6(2278), _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('v'), _19(0), _20(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_advisory_lock_int8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2886), _1("pg_advisory_lock"), _2(2), _3(true), _4(false), _5(pg_advisory_lock_int4), _6(2278), _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('v'), _19(0), _20(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_advisory_lock_int4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(9016), _1("pg_advisory_lock"), _2(3), _3(true), _4(false), _5(pg_advisory_lock_sp_db_int4), _6(2278), _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('v'), _19(0), _20(3, 23, 23, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_advisory_lock_sp_db_int4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_advisory_lock_shared", 2, - AddBuiltinFunc(_0(2881), _1("pg_advisory_lock_shared"), _2(1), _3(true), _4(false), _5(pg_advisory_lock_shared_int8), _6(2278), _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('v'), _19(0), _20(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_advisory_lock_shared_int8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2887), _1("pg_advisory_lock_shared"), _2(2), _3(true), _4(false), _5(pg_advisory_lock_shared_int4), _6(2278), _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('v'), _19(0), _20(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_advisory_lock_shared_int4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2881), _1("pg_advisory_lock_shared"), _2(1), _3(true), _4(false), _5(pg_advisory_lock_shared_int8), _6(2278), _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('v'), _19(0), _20(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_advisory_lock_shared_int8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2887), _1("pg_advisory_lock_shared"), _2(2), _3(true), _4(false), _5(pg_advisory_lock_shared_int4), _6(2278), _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('v'), _19(0), _20(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_advisory_lock_shared_int4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_advisory_unlock", 3, - AddBuiltinFunc(_0(2884), _1("pg_advisory_unlock"), _2(1), _3(true), _4(false), _5(pg_advisory_unlock_int8), _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('v'), _19(0), _20(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_advisory_unlock_int8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2890), _1("pg_advisory_unlock"), _2(2), _3(true), _4(false), _5(pg_advisory_unlock_int4), _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('v'), _19(0), _20(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_advisory_unlock_int4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(9015), _1("pg_advisory_unlock"), _2(3), _3(true), _4(false), _5(pg_advisory_unlock_sp_db_int4), _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('v'), _19(0), _20(3, 23, 23, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_advisory_unlock_sp_db_int4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2884), _1("pg_advisory_unlock"), _2(1), _3(true), _4(false), _5(pg_advisory_unlock_int8), _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('v'), _19(0), _20(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_advisory_unlock_int8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2890), _1("pg_advisory_unlock"), _2(2), _3(true), _4(false), _5(pg_advisory_unlock_int4), _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('v'), _19(0), _20(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_advisory_unlock_int4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(9015), _1("pg_advisory_unlock"), _2(3), _3(true), _4(false), _5(pg_advisory_unlock_sp_db_int4), _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('v'), _19(0), _20(3, 23, 23, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_advisory_unlock_sp_db_int4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_advisory_unlock_all", 1, - AddBuiltinFunc(_0(2892), _1("pg_advisory_unlock_all"), _2(0), _3(true), _4(false), _5(pg_advisory_unlock_all), _6(2278), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_advisory_unlock_all"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2892), _1("pg_advisory_unlock_all"), _2(0), _3(true), _4(false), _5(pg_advisory_unlock_all), _6(2278), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_advisory_unlock_all"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_advisory_unlock_shared", 2, - AddBuiltinFunc(_0(2885), _1("pg_advisory_unlock_shared"), _2(1), _3(true), _4(false), _5(pg_advisory_unlock_shared_int8), _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('v'), _19(0), _20(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_advisory_unlock_shared_int8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2891), _1("pg_advisory_unlock_shared"), _2(2), _3(true), _4(false), _5(pg_advisory_unlock_shared_int4), _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('v'), _19(0), _20(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_advisory_unlock_shared_int4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2885), _1("pg_advisory_unlock_shared"), _2(1), _3(true), _4(false), _5(pg_advisory_unlock_shared_int8), _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('v'), _19(0), _20(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_advisory_unlock_shared_int8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2891), _1("pg_advisory_unlock_shared"), _2(2), _3(true), _4(false), _5(pg_advisory_unlock_shared_int4), _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('v'), _19(0), _20(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_advisory_unlock_shared_int4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_advisory_xact_lock", 2, - AddBuiltinFunc(_0(3089), _1("pg_advisory_xact_lock"), _2(1), _3(true), _4(false), _5(pg_advisory_xact_lock_int8), _6(2278), _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('v'), _19(0), _20(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_advisory_xact_lock_int8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3093), _1("pg_advisory_xact_lock"), _2(2), _3(true), _4(false), _5(pg_advisory_xact_lock_int4), _6(2278), _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('v'), _19(0), _20(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_advisory_xact_lock_int4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3089), _1("pg_advisory_xact_lock"), _2(1), _3(true), _4(false), _5(pg_advisory_xact_lock_int8), _6(2278), _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('v'), _19(0), _20(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_advisory_xact_lock_int8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3093), _1("pg_advisory_xact_lock"), _2(2), _3(true), _4(false), _5(pg_advisory_xact_lock_int4), _6(2278), _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('v'), _19(0), _20(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_advisory_xact_lock_int4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_advisory_xact_lock_shared", 2, - AddBuiltinFunc(_0(3090), _1("pg_advisory_xact_lock_shared"), _2(1), _3(true), _4(false), _5(pg_advisory_xact_lock_shared_int8), _6(2278), _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('v'), _19(0), _20(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_advisory_xact_lock_shared_int8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3094), _1("pg_advisory_xact_lock_shared"), _2(2), _3(true), _4(false), _5(pg_advisory_xact_lock_shared_int4), _6(2278), _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('v'), _19(0), _20(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_advisory_xact_lock_shared_int4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3090), _1("pg_advisory_xact_lock_shared"), _2(1), _3(true), _4(false), _5(pg_advisory_xact_lock_shared_int8), _6(2278), _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('v'), _19(0), _20(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_advisory_xact_lock_shared_int8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3094), _1("pg_advisory_xact_lock_shared"), _2(2), _3(true), _4(false), _5(pg_advisory_xact_lock_shared_int4), _6(2278), _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('v'), _19(0), _20(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_advisory_xact_lock_shared_int4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_autovac_coordinator", 1, - AddBuiltinFunc(_0(4081), _1("pg_autovac_coordinator"), _2(1), _3(false), _4(true), _5(pg_autovac_coordinator), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_autovac_coordinator"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4081), _1("pg_autovac_coordinator"), _2(1), _3(false), _4(true), _5(pg_autovac_coordinator), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_autovac_coordinator"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_autovac_status", 1, - AddBuiltinFunc(_0(3223), _1("pg_autovac_status"), _2(1), _3(true), _4(true), _5(pg_autovac_status), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(1, 26), _21(10, 26, 25, 25, 25, 16, 20, 20, 16, 20, 20), _22(10, 'i', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(10, "relid", "nspname", "relname", "nodename", "doanalyze", "anltuples", "anlthresh", "dovacuum", "vactuples", "vacthresh"), _24(NULL), _25("pg_autovac_status"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3223), _1("pg_autovac_status"), _2(1), _3(true), _4(true), _5(pg_autovac_status), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(1, 26), _21(10, 26, 25, 25, 25, 16, 20, 20, 16, 20, 20), _22(10, 'i', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(10, "relid", "nspname", "relname", "nodename", "doanalyze", "anltuples", "anlthresh", "dovacuum", "vactuples", "vacthresh"), _24(NULL), _25("pg_autovac_status"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_autovac_timeout", 1, - AddBuiltinFunc(_0(4080), _1("pg_autovac_timeout"), _2(1), _3(false), _4(true), _5(pg_autovac_timeout), _6(20), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_autovac_timeout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4080), _1("pg_autovac_timeout"), _2(1), _3(false), _4(true), _5(pg_autovac_timeout), _6(20), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_autovac_timeout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_available_extension_versions", 1, - AddBuiltinFunc(_0(3083), _1("pg_available_extension_versions"), _2(0), _3(true), _4(true), _5(pg_available_extension_versions), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(10), _11(100), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(7, 19, 25, 16, 16, 19, 1003, 25), _22(7, 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(7, "name", "version", "superuser", "relocatable", "schema", "requires", "comment"), _24(NULL), _25("pg_available_extension_versions"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3083), _1("pg_available_extension_versions"), _2(0), _3(true), _4(true), _5(pg_available_extension_versions), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(10), _11(100), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(7, 19, 25, 16, 16, 19, 1003, 25), _22(7, 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(7, "name", "version", "superuser", "relocatable", "schema", "requires", "comment"), _24(NULL), _25("pg_available_extension_versions"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_available_extensions", 1, - AddBuiltinFunc(_0(3082), _1("pg_available_extensions"), _2(0), _3(true), _4(true), _5(pg_available_extensions), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(10), _11(100), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(3, 19, 25, 25), _22(3, 'o', 'o', 'o'), _23(3, "name", "default_version", "comment"), _24(NULL), _25("pg_available_extensions"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3082), _1("pg_available_extensions"), _2(0), _3(true), _4(true), _5(pg_available_extensions), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(10), _11(100), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(3, 19, 25, 25), _22(3, 'o', 'o', 'o'), _23(3, "name", "default_version", "comment"), _24(NULL), _25("pg_available_extensions"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_backend_pid", 1, - AddBuiltinFunc(_0(PGBACKENDPIDFUNCOID), _1("pg_backend_pid"), _2(0), _3(true), _4(false), _5(pg_backend_pid), _6(20), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_backend_pid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(PGBACKENDPIDFUNCOID), _1("pg_backend_pid"), _2(0), _3(true), _4(false), _5(pg_backend_pid), _6(20), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_backend_pid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_buffercache_pages", 1, - AddBuiltinFunc(_0(4130), _1("pg_buffercache_pages"), _2(0), _3(false), _4(true), _5(pg_buffercache_pages), _6(2249), _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(0), _20(0), _21(9, 23, 26, 21, 26, 26, 21, 20, 16, 21), _22(9, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(9, "bufferid", "relfilenode", "bucketid", "reltablespace", "reldatabase", "relforknumber", "relblocknumber", "isdirty", "usage_count"), _24(NULL), _25("pg_buffercache_pages"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4130), _1("pg_buffercache_pages"), _2(0), _3(false), _4(true), _5(pg_buffercache_pages), _6(2249), _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(0), _20(0), _21(9, 23, 26, 21, 26, 26, 21, 20, 16, 21), _22(9, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(9, "bufferid", "relfilenode", "bucketid", "reltablespace", "reldatabase", "relforknumber", "relblocknumber", "isdirty", "usage_count"), _24(NULL), _25("pg_buffercache_pages"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_cancel_backend", 1, - AddBuiltinFunc(_0(2171), _1("pg_cancel_backend"), _2(1), _3(true), _4(false), _5(pg_cancel_backend), _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('v'), _19(0), _20(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_cancel_backend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2171), _1("pg_cancel_backend"), _2(1), _3(true), _4(false), _5(pg_cancel_backend), _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('v'), _19(0), _20(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_cancel_backend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_cancel_invalid_query", 1, - AddBuiltinFunc(_0(3213), _1("pg_cancel_invalid_query"), _2(0), _3(true), _4(false), _5(pg_cancel_invalid_query), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_cancel_invalid_query"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3213), _1("pg_cancel_invalid_query"), _2(0), _3(true), _4(false), _5(pg_cancel_invalid_query), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_cancel_invalid_query"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_cbm_force_track", 1, - AddBuiltinFunc(_0(4655), _1("pg_cbm_force_track"), _2(2), _3(true), _4(false), _5(pg_cbm_force_track), _6(25), _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(2, 25, 23), _21(3, 25, 23, 25), _22(3, 'i', 'i', 'o'), _23(3, "target_lsn", "time_out", "tracked_lsn"), _24(NULL), _25("pg_cbm_force_track"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4655), _1("pg_cbm_force_track"), _2(2), _3(true), _4(false), _5(pg_cbm_force_track), _6(25), _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(2, 25, 23), _21(3, 25, 23, 25), _22(3, 'i', 'i', 'o'), _23(3, "target_lsn", "time_out", "tracked_lsn"), _24(NULL), _25("pg_cbm_force_track"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_cbm_get_changed_block", 1, - AddBuiltinFunc(_0(4653), _1("pg_cbm_get_changed_block"), _2(2), _3(true), _4(true), _5(pg_cbm_get_changed_block), _6(2249), _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('i'), _19(0), _20(2, 25, 25), _21(15, 25, 25, 25, 25, 26, 26, 26, 23, 25, 16, 16, 16, 26, 26, 25), _22(15, 'i', 'i', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(15, "start_lsn", "end_lsn", "merged_start_lsn", "merged_end_lsn", "tablespace_oid", "database_oid", "relfilenode", "fork_number", "path", "rel_dropped", "rel_created", "rel_truncated", "truncate_blocknum", "changed_block_number", "changed_block_list"), _24(NULL), _25("pg_cbm_get_changed_block"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4653), _1("pg_cbm_get_changed_block"), _2(2), _3(true), _4(true), _5(pg_cbm_get_changed_block), _6(2249), _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('i'), _19(0), _20(2, 25, 25), _21(15, 25, 25, 25, 25, 26, 26, 26, 23, 25, 16, 16, 16, 26, 26, 25), _22(15, 'i', 'i', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(15, "start_lsn", "end_lsn", "merged_start_lsn", "merged_end_lsn", "tablespace_oid", "database_oid", "relfilenode", "fork_number", "path", "rel_dropped", "rel_created", "rel_truncated", "truncate_blocknum", "changed_block_number", "changed_block_list"), _24(NULL), _25("pg_cbm_get_changed_block"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_cbm_get_merged_file", 1, - AddBuiltinFunc(_0(4652), _1("pg_cbm_get_merged_file"), _2(2), _3(true), _4(false), _5(pg_cbm_get_merged_file), _6(25), _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(2, 25, 25), _21(3, 25, 25, 25), _22(3, 'i', 'i', 'o'), _23(3, "start_lsn", "end_lsn", "output_file_name"), _24(NULL), _25("pg_cbm_get_merged_file"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4652), _1("pg_cbm_get_merged_file"), _2(2), _3(true), _4(false), _5(pg_cbm_get_merged_file), _6(25), _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(2, 25, 25), _21(3, 25, 25, 25), _22(3, 'i', 'i', 'o'), _23(3, "start_lsn", "end_lsn", "output_file_name"), _24(NULL), _25("pg_cbm_get_merged_file"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_cbm_recycle_file", 1, - AddBuiltinFunc(_0(4654), _1("pg_cbm_recycle_file"), _2(1), _3(true), _4(false), _5(pg_cbm_recycle_file), _6(25), _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(1, 25), _21(2, 25, 25), _22(2, 'i', 'o'), _23(2, "target_lsn", "recycle_end_lsn"), _24(NULL), _25("pg_cbm_recycle_file"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4654), _1("pg_cbm_recycle_file"), _2(1), _3(true), _4(false), _5(pg_cbm_recycle_file), _6(25), _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(1, 25), _21(2, 25, 25), _22(2, 'i', 'o'), _23(2, "target_lsn", "recycle_end_lsn"), _24(NULL), _25("pg_cbm_recycle_file"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_cbm_rotate_file", 1, - AddBuiltinFunc(_0(4660), _1("pg_cbm_rotate_file"), _2(1), _3(true), _4(false), _5(pg_cbm_rotate_file), _6(25), _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(1, 25), _21(1, 25), _22(1, 'i'), _23(1, "rotate_lsn"), _24(NULL), _25("pg_cbm_rotate_file"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4660), _1("pg_cbm_rotate_file"), _2(1), _3(true), _4(false), _5(pg_cbm_rotate_file), _6(25), _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(1, 25), _21(1, 25), _22(1, 'i'), _23(1, "rotate_lsn"), _24(NULL), _25("pg_cbm_rotate_file"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_cbm_tracked_location", 1, - AddBuiltinFunc(_0(4651), _1("pg_cbm_tracked_location"), _2(0), _3(true), _4(false), _5(pg_cbm_tracked_location), _6(25), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_cbm_tracked_location"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4651), _1("pg_cbm_tracked_location"), _2(0), _3(true), _4(false), _5(pg_cbm_tracked_location), _6(25), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_cbm_tracked_location"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_char_to_encoding", 1, - AddBuiltinFunc(_0(PGCHARTOENCODINGFUNCOID), _1("pg_char_to_encoding"), _2(1), _3(true), _4(false), _5(PG_char_to_encoding), _6(23), _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('s'), _19(0), _20(1, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("PG_char_to_encoding"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(PGCHARTOENCODINGFUNCOID), _1("pg_char_to_encoding"), _2(1), _3(true), _4(false), _5(PG_char_to_encoding), _6(23), _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('s'), _19(0), _20(1, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("PG_char_to_encoding"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_check_authid", 1, - AddBuiltinFunc(_0(PGCHECKAUTHIDFUNCOID), _1("pg_check_authid"), _2(1), _3(true), _4(false), _5(pg_check_authid), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_check_authid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(PGCHECKAUTHIDFUNCOID), _1("pg_check_authid"), _2(1), _3(true), _4(false), _5(pg_check_authid), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_check_authid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_check_xidlimit", 1, - AddBuiltinFunc(_0(1999), _1("pg_check_xidlimit"), _2(0), _3(true), _4(false), _5(pg_check_xidlimit), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_check_xidlimit"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1999), _1("pg_check_xidlimit"), _2(0), _3(true), _4(false), _5(pg_check_xidlimit), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_check_xidlimit"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_clean_region_info", 1, - AddBuiltinFunc(_0(4209), _1("pg_clean_region_info"), _2(0), _3(true), _4(false), _5(pg_clean_region_info), _6(1043), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_clean_region_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4209), _1("pg_clean_region_info"), _2(0), _3(true), _4(false), _5(pg_clean_region_info), _6(1043), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_clean_region_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_client_encoding", 1, - AddBuiltinFunc(_0(PGCLIENTENCODINGFUNCOID), _1("pg_client_encoding"), _2(0), _3(true), _4(false), _5(pg_client_encoding), _6(19), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_client_encoding"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(PGCLIENTENCODINGFUNCOID), _1("pg_client_encoding"), _2(0), _3(true), _4(false), _5(pg_client_encoding), _6(19), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_client_encoding"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_collation_for", 1, - AddBuiltinFunc(_0(3162), _1("pg_collation_for"), _2(1), _3(false), _4(false), _5(pg_collation_for), _6(25), _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('s'), _19(0), _20(1, 2276), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_collation_for"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(3162), _1("pg_collation_for"), _2(1), _3(false), _4(false), _5(pg_collation_for), _6(25), _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('s'), _19(0), _20(1, 2276), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_collation_for"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_collation_is_visible", 1, - AddBuiltinFunc(_0(3815), _1("pg_collation_is_visible"), _2(1), _3(true), _4(false), _5(pg_collation_is_visible), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_collation_is_visible"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3815), _1("pg_collation_is_visible"), _2(1), _3(true), _4(false), _5(pg_collation_is_visible), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_collation_is_visible"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_column_size", 1, - AddBuiltinFunc(_0(PGCOLUMNSIZEFUNCOID), _1("pg_column_size"), _2(1), _3(true), _4(false), _5(pg_column_size), _6(23), _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('s'), _19(0), _20(1, 2276), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_column_size"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(PGCOLUMNSIZEFUNCOID), _1("pg_column_size"), _2(1), _3(true), _4(false), _5(pg_column_size), _6(23), _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('s'), _19(0), _20(1, 2276), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_column_size"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_comm_delay", 1, - AddBuiltinFunc(_0(1987), _1("pg_comm_delay"), _2(0), _3(true), _4(true), _5(pg_comm_delay), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(0), _21(7, 25, 25, 25, 23, 23, 23, 23), _22(7, 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(7, "node_name", "remote_name", "remote_host", "stream_num", "min_delay", "average", "max_delay"), _24(NULL), _25("pg_comm_delay"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1987), _1("pg_comm_delay"), _2(0), _3(true), _4(true), _5(pg_comm_delay), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(0), _21(7, 25, 25, 25, 23, 23, 23, 23), _22(7, 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(7, "node_name", "remote_name", "remote_host", "stream_num", "min_delay", "average", "max_delay"), _24(NULL), _25("pg_comm_delay"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_comm_recv_stream", 1, - AddBuiltinFunc(_0(1984), _1("pg_comm_recv_stream"), _2(0), _3(true), _4(true), _5(pg_comm_recv_stream), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(0), _21(17, 25, 20, 25, 20, 23, 23, 23, 25, 20, 23, 23, 23, 20, 20, 20, 20, 20), _22(17, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(17, "node_name", "local_tid", "remote_name", "remote_tid", "idx", "sid", "tcp_sock", "state", "query_id", "pn_id", "send_smp", "recv_smp", "recv_bytes", "time", "speed", "quota", "buff_usize"), _24(NULL), _25("pg_comm_recv_stream"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1984), _1("pg_comm_recv_stream"), _2(0), _3(true), _4(true), _5(pg_comm_recv_stream), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(0), _21(17, 25, 20, 25, 20, 23, 23, 23, 25, 20, 23, 23, 23, 20, 20, 20, 20, 20), _22(17, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(17, "node_name", "local_tid", "remote_name", "remote_tid", "idx", "sid", "tcp_sock", "state", "query_id", "pn_id", "send_smp", "recv_smp", "recv_bytes", "time", "speed", "quota", "buff_usize"), _24(NULL), _25("pg_comm_recv_stream"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_comm_send_stream", 1, - AddBuiltinFunc(_0(1985), _1("pg_comm_send_stream"), _2(0), _3(true), _4(true), _5(pg_comm_send_stream), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(0), _21(17, 25, 20, 25, 20, 23, 23, 23, 25, 20, 23, 23, 23, 20, 20, 20, 20, 20), _22(17, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(17, "node_name", "local_tid", "remote_name", "remote_tid", "idx", "sid", "tcp_sock", "state", "query_id", "pn_id", "send_smp", "recv_smp", "send_bytes", "time", "speed", "quota", "wait_quota"), _24(NULL), _25("pg_comm_send_stream"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1985), _1("pg_comm_send_stream"), _2(0), _3(true), _4(true), _5(pg_comm_send_stream), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(0), _21(17, 25, 20, 25, 20, 23, 23, 23, 25, 20, 23, 23, 23, 20, 20, 20, 20, 20), _22(17, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(17, "node_name", "local_tid", "remote_name", "remote_tid", "idx", "sid", "tcp_sock", "state", "query_id", "pn_id", "send_smp", "recv_smp", "send_bytes", "time", "speed", "quota", "wait_quota"), _24(NULL), _25("pg_comm_send_stream"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_comm_status", 1, - AddBuiltinFunc(_0(1986), _1("pg_comm_status"), _2(0), _3(true), _4(true), _5(pg_comm_status), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(0), _21(13, 25, 23, 23, 20, 20, 20, 20, 20, 23, 23, 23, 23, 23), _22(13, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(13, "node_name", "rxpck_rate", "txpck_rate", "rxkB_rate", "txkB_rate", "buffer", "memKB_libcomm", "memKB_libpq", "used_PM", "used_sflow", "used_rflow", "used_rloop", "stream"), _24(NULL), _25("pg_comm_status"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1986), _1("pg_comm_status"), _2(0), _3(true), _4(true), _5(pg_comm_status), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(0), _21(13, 25, 23, 23, 20, 20, 20, 20, 20, 23, 23, 23, 23, 23), _22(13, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(13, "node_name", "rxpck_rate", "txpck_rate", "rxkb_rate", "txkb_rate", "buffer", "memkb_libcomm", "memkb_libpq", "used_pm", "used_sflow", "used_rflow", "used_rloop", "stream"), _24(NULL), _25("pg_comm_status"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_conf_load_time", 1, - AddBuiltinFunc(_0(2034), _1("pg_conf_load_time"), _2(0), _3(true), _4(false), _5(pg_conf_load_time), _6(1184), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_conf_load_time"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2034), _1("pg_conf_load_time"), _2(0), _3(true), _4(false), _5(pg_conf_load_time), _6(1184), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_conf_load_time"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_control_checkpoint", 1, - AddBuiltinFunc(_0(3442), _1("pg_control_checkpoint"), _2(0), _3(true), _4(true), _5(pg_control_checkpoint), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(12), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(0), _21(12, 20, 20, 25, 23, 16, 26, 28, 28, 28, 26, 28, 1184), _22(12, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(12, "checkpoint_lsn", "redo_lsn", "redo_wal_file", "timeline_id", "full_page_writes", "next_oid", "next_multixact_id", "next_multi_offset", "oldest_xid", "oldest_xid_dbid", "oldest_active_xid", "checkpoint_time"), _24(NULL), _25("pg_control_checkpoint"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3442), _1("pg_control_checkpoint"), _2(0), _3(true), _4(true), _5(pg_control_checkpoint), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(12), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(0), _21(12, 20, 20, 25, 23, 16, 26, 28, 28, 28, 26, 28, 1184), _22(12, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(12, "checkpoint_lsn", "redo_lsn", "redo_wal_file", "timeline_id", "full_page_writes", "next_oid", "next_multixact_id", "next_multi_offset", "oldest_xid", "oldest_xid_dbid", "oldest_active_xid", "checkpoint_time"), _24(NULL), _25("pg_control_checkpoint"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_control_group_config", 1, - AddBuiltinFunc(_0(3843), _1("pg_control_group_config"), _2(0), _3(true), _4(false), _5(pg_control_group_config), _6(25), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_control_group_config"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3843), _1("pg_control_group_config"), _2(0), _3(true), _4(false), _5(pg_control_group_config), _6(25), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_control_group_config"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_control_system", 1, - AddBuiltinFunc(_0(3441), _1("pg_control_system"), _2(0), _3(true), _4(true), _5(pg_control_system), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(5), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(0), _21(4, 23, 23, 20, 1184), _22(4, 'o', 'o', 'o', 'o'), _23(4, "pg_control_version", "catalog_version_no", "system_identifier", "pg_control_last_modified"), _24(NULL), _25("pg_control_system"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3441), _1("pg_control_system"), _2(0), _3(true), _4(true), _5(pg_control_system), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(5), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(0), _21(4, 23, 23, 20, 1184), _22(4, 'o', 'o', 'o', 'o'), _23(4, "pg_control_version", "catalog_version_no", "system_identifier", "pg_control_last_modified"), _24(NULL), _25("pg_control_system"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_conversion_is_visible", 1, - AddBuiltinFunc(_0(2093), _1("pg_conversion_is_visible"), _2(1), _3(true), _4(false), _5(pg_conversion_is_visible), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_conversion_is_visible"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2093), _1("pg_conversion_is_visible"), _2(1), _3(true), _4(false), _5(pg_conversion_is_visible), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_conversion_is_visible"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_create_logical_replication_slot", 1, - AddBuiltinFunc(_0(4215), _1("pg_create_logical_replication_slot"), _2(2), _3(false), _4(false), _5(pg_create_logical_replication_slot), _6(2249), _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('v'), _19(0), _20(2, 19, 19), _21(4, 19, 19, 25, 25), _22(4, 'i', 'i', 'o', 'o'), _23(4, "slotname", "plugin", "slotname", "xlog_position"), _24(NULL), _25("pg_create_logical_replication_slot"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4215), _1("pg_create_logical_replication_slot"), _2(2), _3(false), _4(false), _5(pg_create_logical_replication_slot), _6(2249), _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('v'), _19(0), _20(2, 19, 19), _21(4, 19, 19, 25, 25), _22(4, 'i', 'i', 'o', 'o'), _23(4, "slotname", "plugin", "slotname", "xlog_position"), _24(NULL), _25("pg_create_logical_replication_slot"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_create_physical_replication_slot", 1, - AddBuiltinFunc(_0(3779), _1("pg_create_physical_replication_slot"), _2(2), _3(false), _4(false), _5(pg_create_physical_replication_slot), _6(2249), _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('v'), _19(0), _20(2, 19, 16), _21(4, 19, 16, 25, 25), _22(4, 'i', 'i', 'o', 'o'), _23(4, "slotname", "dummy_standby", "slotname", "xlog_position"), _24(NULL), _25("pg_create_physical_replication_slot"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3779), _1("pg_create_physical_replication_slot"), _2(2), _3(false), _4(false), _5(pg_create_physical_replication_slot), _6(2249), _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('v'), _19(0), _20(2, 19, 16), _21(4, 19, 16, 25, 25), _22(4, 'i', 'i', 'o', 'o'), _23(4, "slotname", "dummy_standby", "slotname", "xlog_position"), _24(NULL), _25("pg_create_physical_replication_slot"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_create_physical_replication_slot_extern", 1, - AddBuiltinFunc(_0(3790), _1("pg_create_physical_replication_slot_extern"), _2(3), _3(false), _4(false), _5(pg_create_physical_replication_slot_extern), _6(2249), _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('v'), _19(0), _20(3, 19, 16, 25), _21(5, 19, 16, 25, 25, 25), _22(5, 'i', 'i', 'i', 'o', 'o'), _23(5, "slotname", "dummy_standby", "extra_content", "slotname", "xlog_position"), _24(NULL), _25("pg_create_physical_replication_slot_extern"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3790), _1("pg_create_physical_replication_slot_extern"), _2(3), _3(false), _4(false), _5(pg_create_physical_replication_slot_extern), _6(2249), _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('v'), _19(0), _20(3, 19, 16, 25), _21(5, 19, 16, 25, 25, 25), _22(5, 'i', 'i', 'i', 'o', 'o'), _23(5, "slotname", "dummy_standby", "extra_content", "slotname", "xlog_position"), _24(NULL), _25("pg_create_physical_replication_slot_extern"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_create_restore_point", 1, - AddBuiltinFunc(_0(3098), _1("pg_create_restore_point"), _2(1), _3(true), _4(false), _5(pg_create_restore_point), _6(25), _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('v'), _19(0), _20(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_create_restore_point"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3098), _1("pg_create_restore_point"), _2(1), _3(true), _4(false), _5(pg_create_restore_point), _6(25), _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('v'), _19(0), _20(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_create_restore_point"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_current_sessid", 1, - AddBuiltinFunc(_0(3267), _1("pg_current_sessid"), _2(0), _3(true), _4(false), _5(pg_current_sessid), _6(20), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_current_sessid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3267), _1("pg_current_sessid"), _2(0), _3(true), _4(false), _5(pg_current_sessid), _6(20), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_current_sessid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_current_sessionid", 1, - AddBuiltinFunc(_0(3266), _1("pg_current_sessionid"), _2(0), _3(false), _4(false), _5(pg_current_sessionid), _6(25), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_current_sessionid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3266), _1("pg_current_sessionid"), _2(0), _3(false), _4(false), _5(pg_current_sessionid), _6(25), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_current_sessionid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_current_userid", 1, - AddBuiltinFunc(_0(3265), _1("pg_current_userid"), _2(0), _3(false), _4(false), _5(pg_current_userid), _6(26), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_current_userid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3265), _1("pg_current_userid"), _2(0), _3(false), _4(false), _5(pg_current_userid), _6(26), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_current_userid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_current_xlog_insert_location", 1, - AddBuiltinFunc(_0(2852), _1("pg_current_xlog_insert_location"), _2(0), _3(true), _4(false), _5(pg_current_xlog_insert_location), _6(25), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_current_xlog_insert_location"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2852), _1("pg_current_xlog_insert_location"), _2(0), _3(true), _4(false), _5(pg_current_xlog_insert_location), _6(25), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_current_xlog_insert_location"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_current_xlog_location", 1, - AddBuiltinFunc(_0(2849), _1("pg_current_xlog_location"), _2(0), _3(true), _4(false), _5(pg_current_xlog_location), _6(25), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_current_xlog_location"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2849), _1("pg_current_xlog_location"), _2(0), _3(true), _4(false), _5(pg_current_xlog_location), _6(25), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_current_xlog_location"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_cursor", 1, - AddBuiltinFunc(_0(2511), _1("pg_cursor"), _2(0), _3(true), _4(true), _5(pg_cursor), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(6, 25, 25, 16, 16, 16, 1184), _22(6, 'o', 'o', 'o', 'o', 'o', 'o'), _23(6, "name", "statement", "is_holdable", "is_binary", "is_scrollable", "creation_time"), _24(NULL), _25("pg_cursor"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2511), _1("pg_cursor"), _2(0), _3(true), _4(true), _5(pg_cursor), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(6, 25, 25, 16, 16, 16, 1184), _22(6, 'o', 'o', 'o', 'o', 'o', 'o'), _23(6, "name", "statement", "is_holdable", "is_binary", "is_scrollable", "creation_time"), _24(NULL), _25("pg_cursor"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_database_size", 2, - AddBuiltinFunc(_0(2168), _1("pg_database_size"), _2(1), _3(true), _4(false), _5(pg_database_size_name), _6(20), _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('v'), _19(0), _20(1, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_database_size_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2324), _1("pg_database_size"), _2(1), _3(true), _4(false), _5(pg_database_size_oid), _6(20), _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('v'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_database_size_oid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2168), _1("pg_database_size"), _2(1), _3(true), _4(false), _5(pg_database_size_name), _6(20), _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('v'), _19(0), _20(1, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_database_size_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2324), _1("pg_database_size"), _2(1), _3(true), _4(false), _5(pg_database_size_oid), _6(20), _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('v'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_database_size_oid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_delete_audit", 1, - AddBuiltinFunc(_0(3781), _1("pg_delete_audit"), _2(2), _3(false), _4(false), _5(pg_delete_audit), _6(2278), _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('v'), _19(0), _20(2, 1184, 1184), _21(2, 1184, 1184), _22(2, 'i', 'i'), _23(2, "begin", "end"), _24(NULL), _25("pg_delete_audit"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3781), _1("pg_delete_audit"), _2(2), _3(false), _4(false), _5(pg_delete_audit), _6(2278), _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('v'), _19(0), _20(2, 1184, 1184), _21(2, 1184, 1184), _22(2, 'i', 'i'), _23(2, "begin", "end"), _24(NULL), _25("pg_delete_audit"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_describe_object", 1, - AddBuiltinFunc(_0(3537), _1("pg_describe_object"), _2(3), _3(true), _4(false), _5(pg_describe_object), _6(25), _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('s'), _19(0), _20(3, 26, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_describe_object"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3537), _1("pg_describe_object"), _2(3), _3(true), _4(false), _5(pg_describe_object), _6(25), _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('s'), _19(0), _20(3, 26, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_describe_object"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_disable_delay_ddl_recycle", 1, - AddBuiltinFunc(_0(4657), _1("pg_disable_delay_ddl_recycle"), _2(2), _3(true), _4(false), _5(pg_disable_delay_ddl_recycle), _6(2249), _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('v'), _19(0), _20(2, 25, 16), _21(4, 25, 16, 25, 25), _22(4, 'i', 'i', 'o', 'o'), _23(4, "barrier_lsn", "is_force", "ddl_delay_start_lsn", "ddl_delay_end_lsn"), _24(NULL), _25("pg_disable_delay_ddl_recycle"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4657), _1("pg_disable_delay_ddl_recycle"), _2(2), _3(true), _4(false), _5(pg_disable_delay_ddl_recycle), _6(2249), _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('v'), _19(0), _20(2, 25, 16), _21(4, 25, 16, 25, 25), _22(4, 'i', 'i', 'o', 'o'), _23(4, "barrier_lsn", "is_force", "ddl_delay_start_lsn", "ddl_delay_end_lsn"), _24(NULL), _25("pg_disable_delay_ddl_recycle"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_disable_delay_xlog_recycle", 1, - AddBuiltinFunc(_0(4659), _1("pg_disable_delay_xlog_recycle"), _2(0), _3(true), _4(false), _5(pg_disable_delay_xlog_recycle), _6(2278), _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(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_disable_delay_xlog_recycle"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4659), _1("pg_disable_delay_xlog_recycle"), _2(0), _3(true), _4(false), _5(pg_disable_delay_xlog_recycle), _6(2278), _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(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_disable_delay_xlog_recycle"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_drop_replication_slot", 1, - AddBuiltinFunc(_0(3783), _1("pg_drop_replication_slot"), _2(1), _3(false), _4(false), _5(pg_drop_replication_slot), _6(2278), _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('v'), _19(0), _20(1, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_drop_replication_slot"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3783), _1("pg_drop_replication_slot"), _2(1), _3(false), _4(false), _5(pg_drop_replication_slot), _6(2278), _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('v'), _19(0), _20(1, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_drop_replication_slot"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_enable_delay_ddl_recycle", 1, - AddBuiltinFunc(_0(4656), _1("pg_enable_delay_ddl_recycle"), _2(0), _3(true), _4(false), _5(pg_enable_delay_ddl_recycle), _6(25), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_enable_delay_ddl_recycle"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4656), _1("pg_enable_delay_ddl_recycle"), _2(0), _3(true), _4(false), _5(pg_enable_delay_ddl_recycle), _6(25), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_enable_delay_ddl_recycle"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_enable_delay_xlog_recycle", 1, - AddBuiltinFunc(_0(4658), _1("pg_enable_delay_xlog_recycle"), _2(0), _3(true), _4(false), _5(pg_enable_delay_xlog_recycle), _6(2278), _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(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_enable_delay_xlog_recycle"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4658), _1("pg_enable_delay_xlog_recycle"), _2(0), _3(true), _4(false), _5(pg_enable_delay_xlog_recycle), _6(2278), _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(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_enable_delay_xlog_recycle"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_encoding_max_length", 1, - AddBuiltinFunc(_0(2319), _1("pg_encoding_max_length"), _2(1), _3(true), _4(false), _5(pg_encoding_max_length_sql), _6(23), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_encoding_max_length_sql"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2319), _1("pg_encoding_max_length"), _2(1), _3(true), _4(false), _5(pg_encoding_max_length_sql), _6(23), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_encoding_max_length_sql"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_encoding_to_char", 1, - AddBuiltinFunc(_0(PGENCODINGTOCHARFUNCOID), _1("pg_encoding_to_char"), _2(1), _3(true), _4(false), _5(PG_encoding_to_char), _6(19), _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('s'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("PG_encoding_to_char"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(PGENCODINGTOCHARFUNCOID), _1("pg_encoding_to_char"), _2(1), _3(true), _4(false), _5(PG_encoding_to_char), _6(19), _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('s'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("PG_encoding_to_char"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_export_snapshot", 1, - AddBuiltinFunc(_0(3809), _1("pg_export_snapshot"), _2(0), _3(true), _4(false), _5(pg_export_snapshot), _6(25), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_export_snapshot"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3809), _1("pg_export_snapshot"), _2(0), _3(true), _4(false), _5(pg_export_snapshot), _6(25), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_export_snapshot"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_export_snapshot_and_csn", 1, - AddBuiltinFunc(_0(4396), _1("pg_export_snapshot_and_csn"), _2(0), _3(true), _4(false), _5(pg_export_snapshot_and_csn), _6(2249), _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('v'), _19(0), _20(0), _21(2, 25, 25), _22(2, 'o', 'o'), _23(2, "snapshot", "CSN"), _24(NULL), _25("pg_export_snapshot_and_csn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4396), _1("pg_export_snapshot_and_csn"), _2(0), _3(true), _4(false), _5(pg_export_snapshot_and_csn), _6(2249), _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('v'), _19(0), _20(0), _21(2, 25, 25), _22(2, 'o', 'o'), _23(2, "snapshot", "csn"), _24(NULL), _25("pg_export_snapshot_and_csn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_extension_config_dump", 1, - AddBuiltinFunc(_0(3086), _1("pg_extension_config_dump"), _2(2), _3(true), _4(false), _5(pg_extension_config_dump), _6(2278), _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('v'), _19(0), _20(2, 2205, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_extension_config_dump"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3086), _1("pg_extension_config_dump"), _2(2), _3(true), _4(false), _5(pg_extension_config_dump), _6(2278), _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('v'), _19(0), _20(2, 2205, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_extension_config_dump"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_extension_update_paths", 1, - AddBuiltinFunc(_0(3084), _1("pg_extension_update_paths"), _2(1), _3(true), _4(true), _5(pg_extension_update_paths), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(10), _11(100), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(1, 19), _21(4, 19, 25, 25, 25), _22(4, 'i', 'o', 'o', 'o'), _23(4, "name", "source", "target", "path"), _24(NULL), _25("pg_extension_update_paths"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3084), _1("pg_extension_update_paths"), _2(1), _3(true), _4(true), _5(pg_extension_update_paths), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(10), _11(100), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(1, 19), _21(4, 19, 25, 25, 25), _22(4, 'i', 'o', 'o', 'o'), _23(4, "name", "source", "target", "path"), _24(NULL), _25("pg_extension_update_paths"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_filenode_relation", 1, - AddBuiltinFunc(_0(3454), _1("pg_filenode_relation"), _2(2), _3(true), _4(false), _5(pg_filenode_relation), _6(2205), _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('s'), _19(0), _20(2, 26, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_filenode_relation"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3454), _1("pg_filenode_relation"), _2(2), _3(true), _4(false), _5(pg_filenode_relation), _6(2205), _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('s'), _19(0), _20(2, 26, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_filenode_relation"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_function_is_visible", 1, - AddBuiltinFunc(_0(2081), _1("pg_function_is_visible"), _2(1), _3(true), _4(false), _5(pg_function_is_visible), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_function_is_visible"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2081), _1("pg_function_is_visible"), _2(1), _3(true), _4(false), _5(pg_function_is_visible), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_function_is_visible"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_get_constraintdef", 2, - AddBuiltinFunc(_0(1387), _1("pg_get_constraintdef"), _2(1), _3(true), _4(false), _5(pg_get_constraintdef), _6(25), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_get_constraintdef"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2508), _1("pg_get_constraintdef"), _2(2), _3(true), _4(false), _5(pg_get_constraintdef_ext), _6(25), _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('s'), _19(0), _20(2, 26, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_get_constraintdef_ext"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1387), _1("pg_get_constraintdef"), _2(1), _3(true), _4(false), _5(pg_get_constraintdef), _6(25), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_get_constraintdef"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2508), _1("pg_get_constraintdef"), _2(2), _3(true), _4(false), _5(pg_get_constraintdef_ext), _6(25), _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('s'), _19(0), _20(2, 26, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_get_constraintdef_ext"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_get_expr", 2, - AddBuiltinFunc(_0(1716), _1("pg_get_expr"), _2(2), _3(true), _4(false), _5(pg_get_expr), _6(25), _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('s'), _19(0), _20(2, 194, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_get_expr"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2509), _1("pg_get_expr"), _2(3), _3(true), _4(false), _5(pg_get_expr_ext), _6(25), _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('s'), _19(0), _20(3, 194, 26, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_get_expr_ext"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1716), _1("pg_get_expr"), _2(2), _3(true), _4(false), _5(pg_get_expr), _6(25), _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('s'), _19(0), _20(2, 194, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_get_expr"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2509), _1("pg_get_expr"), _2(3), _3(true), _4(false), _5(pg_get_expr_ext), _6(25), _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('s'), _19(0), _20(3, 194, 26, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_get_expr_ext"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_get_flush_lsn", 1, @@ -6805,19 +6805,19 @@ ), AddFuncGroup( "pg_get_function_arguments", 1, - AddBuiltinFunc(_0(2162), _1("pg_get_function_arguments"), _2(1), _3(true), _4(false), _5(pg_get_function_arguments), _6(25), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_get_function_arguments"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2162), _1("pg_get_function_arguments"), _2(1), _3(true), _4(false), _5(pg_get_function_arguments), _6(25), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_get_function_arguments"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_get_function_identity_arguments", 1, - AddBuiltinFunc(_0(2232), _1("pg_get_function_identity_arguments"), _2(1), _3(true), _4(false), _5(pg_get_function_identity_arguments), _6(25), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_get_function_identity_arguments"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2232), _1("pg_get_function_identity_arguments"), _2(1), _3(true), _4(false), _5(pg_get_function_identity_arguments), _6(25), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_get_function_identity_arguments"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_get_function_result", 1, - AddBuiltinFunc(_0(2165), _1("pg_get_function_result"), _2(1), _3(true), _4(false), _5(pg_get_function_result), _6(25), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_get_function_result"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2165), _1("pg_get_function_result"), _2(1), _3(true), _4(false), _5(pg_get_function_result), _6(25), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_get_function_result"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_get_functiondef", 1, - AddBuiltinFunc(_0(2098), _1("pg_get_functiondef"), _2(1), _3(true), _4(false), _5(pg_get_functiondef), _6(2249), _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('s'), _19(0), _20(1, 26), _21(3, 26, 23, 25), _22(3, 'i', 'o', 'o'), _23(3, "funcid", "headerlines", "definition"), _24(NULL), _25("pg_get_functiondef"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2098), _1("pg_get_functiondef"), _2(1), _3(true), _4(false), _5(pg_get_functiondef), _6(2249), _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('s'), _19(0), _20(1, 26), _21(3, 26, 23, 25), _22(3, 'i', 'o', 'o'), _23(3, "funcid", "headerlines", "definition"), _24(NULL), _25("pg_get_functiondef"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_get_gtt_relstats", 1, @@ -6829,33 +6829,33 @@ ), AddFuncGroup( "pg_get_indexdef", 2, - AddBuiltinFunc(_0(1643), _1("pg_get_indexdef"), _2(1), _3(true), _4(false), _5(pg_get_indexdef), _6(25), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_get_indexdef"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2507), _1("pg_get_indexdef"), _2(3), _3(true), _4(false), _5(pg_get_indexdef_ext), _6(25), _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('s'), _19(0), _20(3, 26, 23, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_get_indexdef_ext"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1643), _1("pg_get_indexdef"), _2(1), _3(true), _4(false), _5(pg_get_indexdef), _6(25), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_get_indexdef"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2507), _1("pg_get_indexdef"), _2(3), _3(true), _4(false), _5(pg_get_indexdef_ext), _6(25), _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('s'), _19(0), _20(3, 26, 23, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_get_indexdef_ext"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_get_keywords", 1, - AddBuiltinFunc(_0(1686), _1("pg_get_keywords"), _2(0), _3(true), _4(true), _5(pg_get_keywords), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(10), _11(400), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(3, 25, 18, 25), _22(3, 'o', 'o', 'o'), _23(3, "word", "catcode", "catdesc"), _24(NULL), _25("pg_get_keywords"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1686), _1("pg_get_keywords"), _2(0), _3(true), _4(true), _5(pg_get_keywords), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(10), _11(400), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(3, 25, 18, 25), _22(3, 'o', 'o', 'o'), _23(3, "word", "catcode", "catdesc"), _24(NULL), _25("pg_get_keywords"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_get_replication_slot_name", 1, - AddBuiltinFunc(_0(6003), _1("pg_get_replication_slot_name"), _2(0), _3(true), _4(false), _5(pg_get_replication_slot_name), _6(25), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_get_replication_slot_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(6003), _1("pg_get_replication_slot_name"), _2(0), _3(true), _4(false), _5(pg_get_replication_slot_name), _6(25), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_get_replication_slot_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_get_replication_slots", 1, - AddBuiltinFunc(_0(3784), _1("pg_get_replication_slots"), _2(0), _3(false), _4(true), _5(pg_get_replication_slots), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(10), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(9, 25, 25, 25, 26, 16, 28, 28, 25, 16), _22(9, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(9, "slot_name", "plugin", "slot_type", "datoid", "active", "xmin", "catalog_xmin", "restart_lsn", "dummy_standby"), _24(NULL), _25("pg_get_replication_slots"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3784), _1("pg_get_replication_slots"), _2(0), _3(false), _4(true), _5(pg_get_replication_slots), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(10), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(9, 25, 25, 25, 26, 16, 28, 28, 25, 16), _22(9, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(9, "slot_name", "plugin", "slot_type", "datoid", "active", "xmin", "catalog_xmin", "restart_lsn", "dummy_standby"), _24(NULL), _25("pg_get_replication_slots"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_get_ruledef", 2, - AddBuiltinFunc(_0(1573), _1("pg_get_ruledef"), _2(1), _3(true), _4(false), _5(pg_get_ruledef), _6(25), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_get_ruledef"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2504), _1("pg_get_ruledef"), _2(2), _3(true), _4(false), _5(pg_get_ruledef_ext), _6(25), _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('s'), _19(0), _20(2, 26, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_get_ruledef_ext"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1573), _1("pg_get_ruledef"), _2(1), _3(true), _4(false), _5(pg_get_ruledef), _6(25), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_get_ruledef"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2504), _1("pg_get_ruledef"), _2(2), _3(true), _4(false), _5(pg_get_ruledef_ext), _6(25), _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('s'), _19(0), _20(2, 26, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_get_ruledef_ext"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_get_running_xacts", 1, - AddBuiltinFunc(_0(1998), _1("pg_get_running_xacts"), _2(0), _3(true), _4(true), _5(pg_get_running_xacts), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(0), _21(10, 23, 28, 5545, 25, 28, 16, 20, 28, 20, 28), _22(10, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(10, "handle", "gxid", "state", "node", "xmin", "vacuum", "timeline", "prepare_xid", "pid", "next_xid"), _24(NULL), _25("pg_get_running_xacts"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1998), _1("pg_get_running_xacts"), _2(0), _3(true), _4(true), _5(pg_get_running_xacts), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(0), _21(10, 23, 28, 5545, 25, 28, 16, 20, 28, 20, 28), _22(10, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(10, "handle", "gxid", "state", "node", "xmin", "vacuum", "timeline", "prepare_xid", "pid", "next_xid"), _24(NULL), _25("pg_get_running_xacts"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_get_serial_sequence", 1, - AddBuiltinFunc(_0(1665), _1("pg_get_serial_sequence"), _2(2), _3(true), _4(false), _5(pg_get_serial_sequence), _6(25), _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('s'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_get_serial_sequence"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1665), _1("pg_get_serial_sequence"), _2(2), _3(true), _4(false), _5(pg_get_serial_sequence), _6(25), _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('s'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_get_serial_sequence"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_get_sync_flush_lsn", 1, @@ -6863,32 +6863,32 @@ ), AddFuncGroup( "pg_get_tabledef", 1, - AddBuiltinFunc(_0(4443), _1("pg_get_tabledef"), _2(1), _3(true), _4(false), _5(pg_get_tabledef_ext), _6(25), _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('s'), _19(0), _20(1, 2205), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_get_tabledef_ext"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4443), _1("pg_get_tabledef"), _2(1), _3(true), _4(false), _5(pg_get_tabledef_ext), _6(25), _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('s'), _19(0), _20(1, 2205), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_get_tabledef_ext"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_get_triggerdef", 2, - AddBuiltinFunc(_0(1662), _1("pg_get_triggerdef"), _2(1), _3(true), _4(false), _5(pg_get_triggerdef), _6(25), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_get_triggerdef"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2730), _1("pg_get_triggerdef"), _2(2), _3(true), _4(false), _5(pg_get_triggerdef_ext), _6(25), _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('s'), _19(0), _20(2, 26, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_get_triggerdef_ext"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1662), _1("pg_get_triggerdef"), _2(1), _3(true), _4(false), _5(pg_get_triggerdef), _6(25), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_get_triggerdef"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2730), _1("pg_get_triggerdef"), _2(2), _3(true), _4(false), _5(pg_get_triggerdef_ext), _6(25), _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('s'), _19(0), _20(2, 26, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_get_triggerdef_ext"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_get_userbyid", 1, - AddBuiltinFunc(_0(1642), _1("pg_get_userbyid"), _2(1), _3(true), _4(false), _5(pg_get_userbyid), _6(19), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_get_userbyid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1642), _1("pg_get_userbyid"), _2(1), _3(true), _4(false), _5(pg_get_userbyid), _6(19), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_get_userbyid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_get_variable_info", 1, - AddBuiltinFunc(_0(2097), _1("pg_get_variable_info"), _2(0), _3(true), _4(true), _5(pg_get_variable_info), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(0), _21(11, 25, 26, 28, 28, 28, 26, 28, 28, 28, 28, 28), _22(11, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(11, "node_name", "nextOid", "nextXid", "oldestXid", "xidVacLimit", "oldestXidDB", "lastExtendCSNLogpage", "startExtendCSNLogpage", "nextCommitSeqNo", "latestCompletedXid", "startupMaxXid"), _24(NULL), _25("pg_get_variable_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2097), _1("pg_get_variable_info"), _2(0), _3(true), _4(true), _5(pg_get_variable_info), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(0), _21(11, 25, 26, 28, 28, 28, 26, 28, 28, 28, 28, 28), _22(11, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(11, "node_name", "next_oid", "next_xid", "oldest_xid", "xid_vac_limit", "oldest_xid_db", "last_extend_csn_logpage", "start_extend_csn_logpage", "next_commit_seqno", "latest_completed_xid", "startup_max_xid"), _24(NULL), _25("pg_get_variable_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_get_viewdef", 5, - AddBuiltinFunc(_0(1640), _1("pg_get_viewdef"), _2(1), _3(true), _4(false), _5(pg_get_viewdef_name), _6(25), _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('s'), _19(0), _20(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_get_viewdef_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1641), _1("pg_get_viewdef"), _2(1), _3(true), _4(false), _5(pg_get_viewdef), _6(25), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_get_viewdef"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2505), _1("pg_get_viewdef"), _2(2), _3(true), _4(false), _5(pg_get_viewdef_name_ext), _6(25), _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('s'), _19(0), _20(2, 25, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_get_viewdef_name_ext"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2506), _1("pg_get_viewdef"), _2(2), _3(true), _4(false), _5(pg_get_viewdef_ext), _6(25), _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('s'), _19(0), _20(2, 26, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_get_viewdef_ext"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3159), _1("pg_get_viewdef"), _2(2), _3(true), _4(false), _5(pg_get_viewdef_wrap), _6(25), _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('s'), _19(0), _20(2, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_get_viewdef_wrap"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1640), _1("pg_get_viewdef"), _2(1), _3(true), _4(false), _5(pg_get_viewdef_name), _6(25), _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('s'), _19(0), _20(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_get_viewdef_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1641), _1("pg_get_viewdef"), _2(1), _3(true), _4(false), _5(pg_get_viewdef), _6(25), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_get_viewdef"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2505), _1("pg_get_viewdef"), _2(2), _3(true), _4(false), _5(pg_get_viewdef_name_ext), _6(25), _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('s'), _19(0), _20(2, 25, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_get_viewdef_name_ext"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2506), _1("pg_get_viewdef"), _2(2), _3(true), _4(false), _5(pg_get_viewdef_ext), _6(25), _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('s'), _19(0), _20(2, 26, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_get_viewdef_ext"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3159), _1("pg_get_viewdef"), _2(2), _3(true), _4(false), _5(pg_get_viewdef_wrap), _6(25), _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('s'), _19(0), _20(2, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_get_viewdef_wrap"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_get_xidlimit", 1, - AddBuiltinFunc(_0(2000), _1("pg_get_xidlimit"), _2(0), _3(true), _4(true), _5(pg_get_xidlimit), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(0), _21(7, 28, 28, 28, 28, 28, 28, 26), _22(7, 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(7, "nextXid", "oldestXid", "xidVacLimit", "xidWarnLimit", "xidStopLimit", "xidWrapLimit", "oldestXidDB"), _24(NULL), _25("pg_get_xidlimit"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2000), _1("pg_get_xidlimit"), _2(0), _3(true), _4(true), _5(pg_get_xidlimit), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(0), _21(7, 28, 28, 28, 28, 28, 28, 26), _22(7, 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(7, "next_xid", "oldest_xid", "xid_vac_limit", "xid_warn_limit", "xid_stop_limit", "xid_wrap_limit", "oldest_xid_db"), _24(NULL), _25("pg_get_xidlimit"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_gtt_attached_pid", 1, @@ -6896,40 +6896,40 @@ ), AddFuncGroup( "pg_has_role", 6, - AddBuiltinFunc(_0(2705), _1("pg_has_role"), _2(3), _3(true), _4(false), _5(pg_has_role_name_name), _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('s'), _19(0), _20(3, 19, 19, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_has_role_name_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2706), _1("pg_has_role"), _2(3), _3(true), _4(false), _5(pg_has_role_name_id), _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('s'), _19(0), _20(3, 19, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_has_role_name_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2707), _1("pg_has_role"), _2(3), _3(true), _4(false), _5(pg_has_role_id_name), _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('s'), _19(0), _20(3, 26, 19, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_has_role_id_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2708), _1("pg_has_role"), _2(3), _3(true), _4(false), _5(pg_has_role_id_id), _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('s'), _19(0), _20(3, 26, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_has_role_id_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2709), _1("pg_has_role"), _2(2), _3(true), _4(false), _5(pg_has_role_name), _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('s'), _19(0), _20(2, 19, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_has_role_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2710), _1("pg_has_role"), _2(2), _3(true), _4(false), _5(pg_has_role_id), _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('s'), _19(0), _20(2, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_has_role_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2705), _1("pg_has_role"), _2(3), _3(true), _4(false), _5(pg_has_role_name_name), _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('s'), _19(0), _20(3, 19, 19, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_has_role_name_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2706), _1("pg_has_role"), _2(3), _3(true), _4(false), _5(pg_has_role_name_id), _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('s'), _19(0), _20(3, 19, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_has_role_name_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2707), _1("pg_has_role"), _2(3), _3(true), _4(false), _5(pg_has_role_id_name), _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('s'), _19(0), _20(3, 26, 19, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_has_role_id_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2708), _1("pg_has_role"), _2(3), _3(true), _4(false), _5(pg_has_role_id_id), _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('s'), _19(0), _20(3, 26, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_has_role_id_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2709), _1("pg_has_role"), _2(2), _3(true), _4(false), _5(pg_has_role_name), _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('s'), _19(0), _20(2, 19, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_has_role_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2710), _1("pg_has_role"), _2(2), _3(true), _4(false), _5(pg_has_role_id), _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('s'), _19(0), _20(2, 26, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_has_role_id"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_indexes_size", 1, - AddBuiltinFunc(_0(2998), _1("pg_indexes_size"), _2(1), _3(true), _4(false), _5(pg_indexes_size), _6(20), _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('v'), _19(0), _20(1, 2205), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_indexes_size"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2998), _1("pg_indexes_size"), _2(1), _3(true), _4(false), _5(pg_indexes_size), _6(20), _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('v'), _19(0), _20(1, 2205), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_indexes_size"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_is_in_recovery", 1, - AddBuiltinFunc(_0(3810), _1("pg_is_in_recovery"), _2(0), _3(true), _4(false), _5(pg_is_in_recovery), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_is_in_recovery"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3810), _1("pg_is_in_recovery"), _2(0), _3(true), _4(false), _5(pg_is_in_recovery), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_is_in_recovery"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_is_other_temp_schema", 1, - AddBuiltinFunc(_0(2855), _1("pg_is_other_temp_schema"), _2(1), _3(true), _4(false), _5(pg_is_other_temp_schema), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_is_other_temp_schema"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2855), _1("pg_is_other_temp_schema"), _2(1), _3(true), _4(false), _5(pg_is_other_temp_schema), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_is_other_temp_schema"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_is_xlog_replay_paused", 1, - AddBuiltinFunc(_0(3073), _1("pg_is_xlog_replay_paused"), _2(0), _3(true), _4(false), _5(pg_is_xlog_replay_paused), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_is_xlog_replay_paused"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3073), _1("pg_is_xlog_replay_paused"), _2(0), _3(true), _4(false), _5(pg_is_xlog_replay_paused), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_is_xlog_replay_paused"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_last_xact_replay_timestamp", 1, - AddBuiltinFunc(_0(3830), _1("pg_last_xact_replay_timestamp"), _2(0), _3(true), _4(false), _5(pg_last_xact_replay_timestamp), _6(1184), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_last_xact_replay_timestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3830), _1("pg_last_xact_replay_timestamp"), _2(0), _3(true), _4(false), _5(pg_last_xact_replay_timestamp), _6(1184), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_last_xact_replay_timestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_last_xlog_receive_location", 1, - AddBuiltinFunc(_0(3820), _1("pg_last_xlog_receive_location"), _2(0), _3(true), _4(false), _5(pg_last_xlog_receive_location), _6(25), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_last_xlog_receive_location"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3820), _1("pg_last_xlog_receive_location"), _2(0), _3(true), _4(false), _5(pg_last_xlog_receive_location), _6(25), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_last_xlog_receive_location"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_last_xlog_replay_location", 1, - AddBuiltinFunc(_0(3821), _1("pg_last_xlog_replay_location"), _2(0), _3(true), _4(false), _5(pg_last_xlog_replay_location), _6(2249), _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('v'), _19(0), _20(0), _21(2, 25, 25), _22(2, 'o', 'o'), _23(2, "term", "lsn"), _24(NULL), _25("pg_last_xlog_replay_location"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3821), _1("pg_last_xlog_replay_location"), _2(0), _3(true), _4(false), _5(pg_last_xlog_replay_location), _6(2249), _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('v'), _19(0), _20(0), _21(2, 25, 25), _22(2, 'o', 'o'), _23(2, "term", "lsn"), _24(NULL), _25("pg_last_xlog_replay_location"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_list_gtt_relfrozenxids", 1, @@ -6937,3293 +6937,3291 @@ ), AddFuncGroup( "pg_listening_channels", 1, - AddBuiltinFunc(_0(3035), _1("pg_listening_channels"), _2(0), _3(true), _4(true), _5(pg_listening_channels), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(10), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_listening_channels"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3035), _1("pg_listening_channels"), _2(0), _3(true), _4(true), _5(pg_listening_channels), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(10), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_listening_channels"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_lock_status", 1, - AddBuiltinFunc(_0(1371), _1("pg_lock_status"), _2(0), _3(true), _4(true), _5(pg_lock_status), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(0), _21(18, 25, 26, 26, 23, 21, 23, 25, 28, 26, 26, 21, 25, 20, 20, 25, 16, 16, 25), _22(18, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(18, "locktype", "database", "relation", "page", "tuple", "bucket", "virtualxid", "transactionid", "classid", "objid", "objsubid", "virtualtransaction", "pid", "sessionid", "mode", "granted", "fastpath", "locktag"), _24(NULL), _25("pg_lock_status"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1371), _1("pg_lock_status"), _2(0), _3(true), _4(true), _5(pg_lock_status), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(0), _21(18, 25, 26, 26, 23, 21, 23, 25, 28, 26, 26, 21, 25, 20, 20, 25, 16, 16, 25), _22(18, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(18, "locktype", "database", "relation", "page", "tuple", "bucket", "virtualxid", "transactionid", "classid", "objid", "objsubid", "virtualtransaction", "pid", "sessionid", "mode", "granted", "fastpath", "locktag"), _24(NULL), _25("pg_lock_status"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_log_comm_status", 1, - AddBuiltinFunc(_0(1983), _1("pg_log_comm_status"), _2(0), _3(true), _4(false), _5(pg_log_comm_status), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_log_comm_status"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1983), _1("pg_log_comm_status"), _2(0), _3(true), _4(false), _5(pg_log_comm_status), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_log_comm_status"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_logical_slot_get_binary_changes", 1, - AddBuiltinFunc(_0(4217), _1("pg_logical_slot_get_binary_changes"), _2(4), _3(false), _4(true), _5(pg_logical_slot_get_binary_changes), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1000), _11(1000), _12(25), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(1), _20(4, 19, 25, 23, 1009), _21(7, 19, 25, 23, 1009, 25, 28, 17), _22(7, 'i', 'i', 'i', 'v', 'o', 'o', 'o'), _23(7, "slotname", "upto_lsn", "upto_nchanges", "options", "location", "xid", "data"), _24("({CONST :consttype 1009 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :ismaxvalue false :location 74881 :constvalue 16 [ 64 0 0 0 0 0 0 0 0 0 0 0 25 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("pg_logical_slot_get_binary_changes"), _26(NULL), _27(NULL), _28(NULL), _29(1, 3), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4217), _1("pg_logical_slot_get_binary_changes"), _2(4), _3(false), _4(true), _5(pg_logical_slot_get_binary_changes), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1000), _11(1000), _12(25), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(1), _20(4, 19, 25, 23, 1009), _21(7, 19, 25, 23, 1009, 25, 28, 17), _22(7, 'i', 'i', 'i', 'v', 'o', 'o', 'o'), _23(7, "slotname", "upto_lsn", "upto_nchanges", "options", "location", "xid", "data"), _24("({CONST :consttype 1009 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :ismaxvalue false :location 74881 :constvalue 16 [ 64 0 0 0 0 0 0 0 0 0 0 0 25 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("pg_logical_slot_get_binary_changes"), _26(NULL), _27(NULL), _28(NULL), _29(1, 3), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_logical_slot_get_changes", 1, - AddBuiltinFunc(_0(4216), _1("pg_logical_slot_get_changes"), _2(4), _3(false), _4(true), _5(pg_logical_slot_get_changes), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1000), _11(1000), _12(25), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(1), _20(4, 19, 25, 23, 1009), _21(7, 19, 25, 23, 1009, 25, 28, 25), _22(7, 'i', 'i', 'i', 'v', 'o', 'o', 'o'), _23(7, "slotname", "upto_lsn", "upto_nchanges", "options", "location", "xid", "data"), _24("({CONST :consttype 1009 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :ismaxvalue false :location 74230 :constvalue 16 [ 64 0 0 0 0 0 0 0 0 0 0 0 25 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("pg_logical_slot_get_changes"), _26(NULL), _27(NULL), _28(NULL), _29(1, 3), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4216), _1("pg_logical_slot_get_changes"), _2(4), _3(false), _4(true), _5(pg_logical_slot_get_changes), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1000), _11(1000), _12(25), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(1), _20(4, 19, 25, 23, 1009), _21(7, 19, 25, 23, 1009, 25, 28, 25), _22(7, 'i', 'i', 'i', 'v', 'o', 'o', 'o'), _23(7, "slotname", "upto_lsn", "upto_nchanges", "options", "location", "xid", "data"), _24("({CONST :consttype 1009 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :ismaxvalue false :location 74230 :constvalue 16 [ 64 0 0 0 0 0 0 0 0 0 0 0 25 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("pg_logical_slot_get_changes"), _26(NULL), _27(NULL), _28(NULL), _29(1, 3), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_logical_slot_peek_binary_changes", 1, - AddBuiltinFunc(_0(4219), _1("pg_logical_slot_peek_binary_changes"), _2(4), _3(false), _4(true), _5(pg_logical_slot_peek_binary_changes), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1000), _11(1000), _12(25), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(1), _20(4, 19, 25, 23, 1009), _21(7, 19, 25, 23, 1009, 25, 28, 17), _22(7, 'i', 'i', 'i', 'v', 'o', 'o', 'o'), _23(7, "slotname", "upto_lsn", "upto_nchanges", "options", "location", "xid", "data"), _24("({CONST :consttype 1009 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :ismaxvalue false :location 75218 :constvalue 16 [ 64 0 0 0 0 0 0 0 0 0 0 0 25 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("pg_logical_slot_peek_binary_changes"), _26(NULL), _27(NULL), _28(NULL), _29(1, 3), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4219), _1("pg_logical_slot_peek_binary_changes"), _2(4), _3(false), _4(true), _5(pg_logical_slot_peek_binary_changes), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1000), _11(1000), _12(25), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(1), _20(4, 19, 25, 23, 1009), _21(7, 19, 25, 23, 1009, 25, 28, 17), _22(7, 'i', 'i', 'i', 'v', 'o', 'o', 'o'), _23(7, "slotname", "upto_lsn", "upto_nchanges", "options", "location", "xid", "data"), _24("({CONST :consttype 1009 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :ismaxvalue false :location 75218 :constvalue 16 [ 64 0 0 0 0 0 0 0 0 0 0 0 25 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("pg_logical_slot_peek_binary_changes"), _26(NULL), _27(NULL), _28(NULL), _29(1, 3), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_logical_slot_peek_changes", 1, - AddBuiltinFunc(_0(4218), _1("pg_logical_slot_peek_changes"), _2(4), _3(false), _4(true), _5(pg_logical_slot_peek_changes), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1000), _11(1000), _12(25), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(1), _20(4, 19, 25, 23, 1009), _21(7, 19, 25, 23, 1009, 25, 28, 25), _22(7, 'i', 'i', 'i', 'v', 'o', 'o', 'o'), _23(7, "slotname", "upto_lsn", "upto_nchanges", "options", "location", "xid", "data"), _24("({CONST :consttype 1009 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :ismaxvalue false :location 74552 :constvalue 16 [ 64 0 0 0 0 0 0 0 0 0 0 0 25 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("pg_logical_slot_peek_changes"), _26(NULL), _27(NULL), _28(NULL), _29(1, 3), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4218), _1("pg_logical_slot_peek_changes"), _2(4), _3(false), _4(true), _5(pg_logical_slot_peek_changes), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1000), _11(1000), _12(25), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(1), _20(4, 19, 25, 23, 1009), _21(7, 19, 25, 23, 1009, 25, 28, 25), _22(7, 'i', 'i', 'i', 'v', 'o', 'o', 'o'), _23(7, "slotname", "upto_lsn", "upto_nchanges", "options", "location", "xid", "data"), _24("({CONST :consttype 1009 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :ismaxvalue false :location 74552 :constvalue 16 [ 64 0 0 0 0 0 0 0 0 0 0 0 25 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("pg_logical_slot_peek_changes"), _26(NULL), _27(NULL), _28(NULL), _29(1, 3), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_ls_dir", 1, - AddBuiltinFunc(_0(2625), _1("pg_ls_dir"), _2(1), _3(true), _4(true), _5(pg_ls_dir), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_ls_dir"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2625), _1("pg_ls_dir"), _2(1), _3(true), _4(true), _5(pg_ls_dir), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_ls_dir"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_my_temp_schema", 1, - AddBuiltinFunc(_0(2854), _1("pg_my_temp_schema"), _2(0), _3(true), _4(false), _5(pg_my_temp_schema), _6(26), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_my_temp_schema"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2854), _1("pg_my_temp_schema"), _2(0), _3(true), _4(false), _5(pg_my_temp_schema), _6(26), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_my_temp_schema"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_node_tree_in", 1, - AddBuiltinFunc(_0(195), _1("pg_node_tree_in"), _2(1), _3(true), _4(false), _5(pg_node_tree_in), _6(194), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_node_tree_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(195), _1("pg_node_tree_in"), _2(1), _3(true), _4(false), _5(pg_node_tree_in), _6(194), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_node_tree_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_node_tree_out", 1, - AddBuiltinFunc(_0(196), _1("pg_node_tree_out"), _2(1), _3(true), _4(false), _5(pg_node_tree_out), _6(2275), _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(1, 194), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_node_tree_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(196), _1("pg_node_tree_out"), _2(1), _3(true), _4(false), _5(pg_node_tree_out), _6(2275), _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(1, 194), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_node_tree_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_node_tree_recv", 1, - AddBuiltinFunc(_0(197), _1("pg_node_tree_recv"), _2(1), _3(true), _4(false), _5(pg_node_tree_recv), _6(194), _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('s'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_node_tree_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(197), _1("pg_node_tree_recv"), _2(1), _3(true), _4(false), _5(pg_node_tree_recv), _6(194), _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('s'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_node_tree_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_node_tree_send", 1, - AddBuiltinFunc(_0(198), _1("pg_node_tree_send"), _2(1), _3(true), _4(false), _5(pg_node_tree_send), _6(17), _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('s'), _19(0), _20(1, 194), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_node_tree_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(198), _1("pg_node_tree_send"), _2(1), _3(true), _4(false), _5(pg_node_tree_send), _6(17), _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('s'), _19(0), _20(1, 194), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_node_tree_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_notify", 1, - AddBuiltinFunc(_0(3036), _1("pg_notify"), _2(2), _3(false), _4(false), _5(pg_notify), _6(2278), _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('v'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_notify"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3036), _1("pg_notify"), _2(2), _3(false), _4(false), _5(pg_notify), _6(2278), _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('v'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_notify"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_opclass_is_visible", 1, - AddBuiltinFunc(_0(2083), _1("pg_opclass_is_visible"), _2(1), _3(true), _4(false), _5(pg_opclass_is_visible), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_opclass_is_visible"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2083), _1("pg_opclass_is_visible"), _2(1), _3(true), _4(false), _5(pg_opclass_is_visible), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_opclass_is_visible"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_operator_is_visible", 1, - AddBuiltinFunc(_0(2082), _1("pg_operator_is_visible"), _2(1), _3(true), _4(false), _5(pg_operator_is_visible), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_operator_is_visible"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2082), _1("pg_operator_is_visible"), _2(1), _3(true), _4(false), _5(pg_operator_is_visible), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_operator_is_visible"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_opfamily_is_visible", 1, - AddBuiltinFunc(_0(3829), _1("pg_opfamily_is_visible"), _2(1), _3(true), _4(false), _5(pg_opfamily_is_visible), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_opfamily_is_visible"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3829), _1("pg_opfamily_is_visible"), _2(1), _3(true), _4(false), _5(pg_opfamily_is_visible), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_opfamily_is_visible"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_options_to_table", 1, - AddBuiltinFunc(_0(2289), _1("pg_options_to_table"), _2(1), _3(true), _4(true), _5(pg_options_to_table), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(3), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(1, 1009), _21(3, 1009, 25, 25), _22(3, 'i', 'o', 'o'), _23(3, "options_array", "option_name", "option_value"), _24(NULL), _25("pg_options_to_table"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2289), _1("pg_options_to_table"), _2(1), _3(true), _4(true), _5(pg_options_to_table), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(3), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(1, 1009), _21(3, 1009, 25, 25), _22(3, 'i', 'o', 'o'), _23(3, "options_array", "option_name", "option_value"), _24(NULL), _25("pg_options_to_table"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_parse_clog", 1, - AddBuiltinFunc(_0(3212), _1("pg_parse_clog"), _2(0), _3(true), _4(true), _5(pg_parse_clog), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(0), _21(2, 28, 25), _22(2, 'o', 'o'), _23(2, "xid", "status"), _24(NULL), _25("pg_parse_clog"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3212), _1("pg_parse_clog"), _2(0), _3(true), _4(true), _5(pg_parse_clog), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(0), _21(2, 28, 25), _22(2, 'o', 'o'), _23(2, "xid", "status"), _24(NULL), _25("pg_parse_clog"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_partition_filenode", 1, - AddBuiltinFunc(_0(3197), _1("pg_partition_filenode"), _2(1), _3(true), _4(false), _5(pg_partition_filenode), _6(26), _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('s'), _19(0), _20(1, 2205), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_partition_filenode"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3197), _1("pg_partition_filenode"), _2(1), _3(true), _4(false), _5(pg_partition_filenode), _6(26), _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('s'), _19(0), _20(1, 2205), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_partition_filenode"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_partition_filepath", 1, - AddBuiltinFunc(_0(3220), _1("pg_partition_filepath"), _2(1), _3(true), _4(false), _5(pg_partition_filepath), _6(25), _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('s'), _19(0), _20(1, 26), _21(2, 26, 25), _22(2, 'i', 'o'), _23(2, "partition_oid", "filepath"), _24(NULL), _25("pg_partition_filepath"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3220), _1("pg_partition_filepath"), _2(1), _3(true), _4(false), _5(pg_partition_filepath), _6(25), _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('s'), _19(0), _20(1, 26), _21(2, 26, 25), _22(2, 'i', 'o'), _23(2, "partition_oid", "filepath"), _24(NULL), _25("pg_partition_filepath"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_partition_indexes_size", 2, - AddBuiltinFunc(_0(3195), _1("pg_partition_indexes_size"), _2(2), _3(true), _4(false), _5(pg_partition_indexes_size_name), _6(20), _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('v'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_partition_indexes_size_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3196), _1("pg_partition_indexes_size"), _2(2), _3(true), _4(false), _5(pg_partition_indexes_size_oid), _6(20), _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('v'), _19(0), _20(2, 26, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_partition_indexes_size_oid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3195), _1("pg_partition_indexes_size"), _2(2), _3(true), _4(false), _5(pg_partition_indexes_size_name), _6(20), _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('v'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_partition_indexes_size_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3196), _1("pg_partition_indexes_size"), _2(2), _3(true), _4(false), _5(pg_partition_indexes_size_oid), _6(20), _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('v'), _19(0), _20(2, 26, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_partition_indexes_size_oid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_partition_size", 2, - AddBuiltinFunc(_0(3193), _1("pg_partition_size"), _2(2), _3(true), _4(false), _5(pg_partition_size_name), _6(20), _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('v'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_partition_size_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3194), _1("pg_partition_size"), _2(2), _3(true), _4(false), _5(pg_partition_size_oid), _6(20), _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('v'), _19(0), _20(2, 26, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_partition_size_oid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3193), _1("pg_partition_size"), _2(2), _3(true), _4(false), _5(pg_partition_size_name), _6(20), _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('v'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_partition_size_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3194), _1("pg_partition_size"), _2(2), _3(true), _4(false), _5(pg_partition_size_oid), _6(20), _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('v'), _19(0), _20(2, 26, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_partition_size_oid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_pool_ping", 1, - AddBuiltinFunc(_0(3472), _1("pg_pool_ping"), _2(1), _3(true), _4(true), _5(pg_pool_ping), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(1, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_pool_ping"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3472), _1("pg_pool_ping"), _2(1), _3(true), _4(true), _5(pg_pool_ping), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(1, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_pool_ping"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_pool_validate", 1, - AddBuiltinFunc(_0(3471), _1("pg_pool_validate"), _2(2), _3(true), _4(true), _5(pg_pool_validate), _6(2249), _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(0), _20(2, 16, 2275), _21(4, 16, 2275, 20, 25), _22(4, 'i', 'i', 'o', 'o'), _23(4, "clear", "co_node_name", "pid", "node_name"), _24(NULL), _25("pg_pool_validate"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3471), _1("pg_pool_validate"), _2(2), _3(true), _4(true), _5(pg_pool_validate), _6(2249), _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(0), _20(2, 16, 2275), _21(4, 16, 2275, 20, 25), _22(4, 'i', 'i', 'o', 'o'), _23(4, "clear", "co_node_name", "pid", "node_name"), _24(NULL), _25("pg_pool_validate"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_postmaster_start_time", 1, - AddBuiltinFunc(_0(2560), _1("pg_postmaster_start_time"), _2(0), _3(true), _4(false), _5(pg_postmaster_start_time), _6(1184), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_postmaster_start_time"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2560), _1("pg_postmaster_start_time"), _2(0), _3(true), _4(false), _5(pg_postmaster_start_time), _6(1184), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_postmaster_start_time"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_prepared_statement", 1, - AddBuiltinFunc(_0(2510), _1("pg_prepared_statement"), _2(0), _3(true), _4(true), _5(pg_prepared_statement), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(5, 25, 25, 1184, 2211, 16), _22(5, 'o', 'o', 'o', 'o', 'o'), _23(5, "name", "statement", "prepare_time", "parameter_types", "from_sql"), _24(NULL), _25("pg_prepared_statement"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2510), _1("pg_prepared_statement"), _2(0), _3(true), _4(true), _5(pg_prepared_statement), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(5, 25, 25, 1184, 2211, 16), _22(5, 'o', 'o', 'o', 'o', 'o'), _23(5, "name", "statement", "prepare_time", "parameter_types", "from_sql"), _24(NULL), _25("pg_prepared_statement"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_prepared_xact", 1, - AddBuiltinFunc(_0(1065), _1("pg_prepared_xact"), _2(0), _3(true), _4(true), _5(pg_prepared_xact), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(0), _21(5, 28, 25, 1184, 26, 26), _22(5, 'o', 'o', 'o', 'o', 'o'), _23(5, "transaction", "gid", "prepared", "ownerid", "dbid"), _24(NULL), _25("pg_prepared_xact"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1065), _1("pg_prepared_xact"), _2(0), _3(true), _4(true), _5(pg_prepared_xact), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(0), _21(5, 28, 25, 1184, 26, 26), _22(5, 'o', 'o', 'o', 'o', 'o'), _23(5, "transaction", "gid", "prepared", "ownerid", "dbid"), _24(NULL), _25("pg_prepared_xact"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_query_audit", 2, - AddBuiltinFunc(_0(3780), _1("pg_query_audit"), _2(2), _3(false), _4(true), _5(pg_query_audit), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(10), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(2, 1184, 1184), _21(15, 1184, 1184, 1184, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25), _22(15, 'i', 'i', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(15, "begin", "end", "time", "type", "result", "userid", "username", "database", "client_conninfo", "object_name", "detail_info", "node_name", "thread_id", "local_port", "remote_port"), _24(NULL), _25("pg_query_audit"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3782), _1("pg_query_audit"), _2(3), _3(false), _4(true), _5(pg_query_audit), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(10), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(3, 1184, 1184, 25), _21(16, 1184, 1184, 25, 1184, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25), _22(16, 'i', 'i', 'i', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(16, "begin", "end", "directory", "time", "type", "result", "userid", "username", "database", "client_conninfo", "object_name", "detail_info", "node_name", "thread_id", "local_port", "remote_port"), _24(NULL), _25("pg_query_audit"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3780), _1("pg_query_audit"), _2(2), _3(false), _4(true), _5(pg_query_audit), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(10), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(2, 1184, 1184), _21(15, 1184, 1184, 1184, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25), _22(15, 'i', 'i', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(15, "begin", "end", "time", "type", "result", "userid", "username", "database", "client_conninfo", "object_name", "detail_info", "node_name", "thread_id", "local_port", "remote_port"), _24(NULL), _25("pg_query_audit"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3782), _1("pg_query_audit"), _2(3), _3(false), _4(true), _5(pg_query_audit), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(10), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(3, 1184, 1184, 25), _21(16, 1184, 1184, 25, 1184, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25), _22(16, 'i', 'i', 'i', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(16, "begin", "end", "directory", "time", "type", "result", "userid", "username", "database", "client_conninfo", "object_name", "detail_info", "node_name", "thread_id", "local_port", "remote_port"), _24(NULL), _25("pg_query_audit"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_read_binary_file", 2, - AddBuiltinFunc(_0(3827), _1("pg_read_binary_file"), _2(4), _3(true), _4(false), _5(pg_read_binary_file), _6(17), _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('v'), _19(0), _20(4, 25, 20, 20, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_read_binary_file"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3828), _1("pg_read_binary_file"), _2(1), _3(true), _4(false), _5(pg_read_binary_file_all), _6(17), _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('v'), _19(0), _20(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_read_binary_file_all"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3827), _1("pg_read_binary_file"), _2(4), _3(true), _4(false), _5(pg_read_binary_file), _6(17), _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('v'), _19(0), _20(4, 25, 20, 20, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_read_binary_file"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3828), _1("pg_read_binary_file"), _2(1), _3(true), _4(false), _5(pg_read_binary_file_all), _6(17), _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('v'), _19(0), _20(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_read_binary_file_all"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_read_file", 2, - AddBuiltinFunc(_0(2624), _1("pg_read_file"), _2(3), _3(true), _4(false), _5(pg_read_file), _6(25), _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('v'), _19(0), _20(3, 25, 20, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_read_file"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3826), _1("pg_read_file"), _2(1), _3(true), _4(false), _5(pg_read_file_all), _6(25), _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('v'), _19(0), _20(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_read_file_all"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2624), _1("pg_read_file"), _2(3), _3(true), _4(false), _5(pg_read_file), _6(25), _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('v'), _19(0), _20(3, 25, 20, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_read_file"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3826), _1("pg_read_file"), _2(1), _3(true), _4(false), _5(pg_read_file_all), _6(25), _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('v'), _19(0), _20(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_read_file_all"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_relation_compression_ratio", 1, - AddBuiltinFunc(_0(3211), _1("pg_relation_compression_ratio"), _2(1), _3(true), _4(false), _5(pg_relation_compression_ratio), _6(700), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_relation_compression_ratio"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3211), _1("pg_relation_compression_ratio"), _2(1), _3(true), _4(false), _5(pg_relation_compression_ratio), _6(700), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_relation_compression_ratio"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_relation_filenode", 1, - AddBuiltinFunc(_0(2999), _1("pg_relation_filenode"), _2(1), _3(true), _4(false), _5(pg_relation_filenode), _6(26), _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('s'), _19(0), _20(1, 2205), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_relation_filenode"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2999), _1("pg_relation_filenode"), _2(1), _3(true), _4(false), _5(pg_relation_filenode), _6(26), _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('s'), _19(0), _20(1, 2205), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_relation_filenode"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_relation_filepath", 1, - AddBuiltinFunc(_0(3034), _1("pg_relation_filepath"), _2(1), _3(true), _4(false), _5(pg_relation_filepath), _6(25), _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('s'), _19(0), _20(1, 2205), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_relation_filepath"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3034), _1("pg_relation_filepath"), _2(1), _3(true), _4(false), _5(pg_relation_filepath), _6(25), _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('s'), _19(0), _20(1, 2205), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_relation_filepath"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_relation_size", 2, - AddBuiltinFunc(_0(2325), _1("pg_relation_size"), _2(1), _3(true), _4(false), _5(NULL), _6(20), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(1, 2205), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select pg_catalog.pg_relation_size($1, 'main')"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2332), _1("pg_relation_size"), _2(2), _3(true), _4(false), _5(pg_relation_size), _6(20), _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('v'), _19(0), _20(2, 2205, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_relation_size"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2325), _1("pg_relation_size"), _2(1), _3(true), _4(false), _5(NULL), _6(20), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(1, 2205), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select pg_catalog.pg_relation_size($1, 'main')"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2332), _1("pg_relation_size"), _2(2), _3(true), _4(false), _5(pg_relation_size), _6(20), _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('v'), _19(0), _20(2, 2205, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_relation_size"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_relation_with_compression", 1, - AddBuiltinFunc(_0(3210), _1("pg_relation_with_compression"), _2(1), _3(true), _4(false), _5(pg_relation_with_compression), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_relation_with_compression"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3210), _1("pg_relation_with_compression"), _2(1), _3(true), _4(false), _5(pg_relation_with_compression), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_relation_with_compression"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_reload_conf", 1, - AddBuiltinFunc(_0(2621), _1("pg_reload_conf"), _2(0), _3(true), _4(false), _5(pg_reload_conf), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_reload_conf"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2621), _1("pg_reload_conf"), _2(0), _3(true), _4(false), _5(pg_reload_conf), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_reload_conf"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_replication_slot_advance", 1, - AddBuiltinFunc(_0(4220), _1("pg_replication_slot_advance"), _2(2), _3(false), _4(false), _5(pg_replication_slot_advance), _6(2249), _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('v'), _19(0), _20(2, 19, 25), _21(4, 19, 25, 19, 25), _22(4, 'i', 'i', 'o', 'o'), _23(4, "slot_name", "upto_lsn", "slot_name", "end_lsn"), _24(NULL), _25("pg_replication_slot_advance"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4220), _1("pg_replication_slot_advance"), _2(2), _3(false), _4(false), _5(pg_replication_slot_advance), _6(2249), _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('v'), _19(0), _20(2, 19, 25), _21(4, 19, 25, 19, 25), _22(4, 'i', 'i', 'o', 'o'), _23(4, "slot_name", "upto_lsn", "slot_name", "end_lsn"), _24(NULL), _25("pg_replication_slot_advance"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_resume_bkp_flag", 1, - AddBuiltinFunc(_0(4445), _1("pg_resume_bkp_flag"), _2(1), _3(true), _4(false), _5(pg_resume_bkp_flag), _6(2249), _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('v'), _19(0), _20(1, 19), _21(5, 19, 16, 16, 25, 25), _22(5, 'i', 'o', 'o', 'o', 'o'), _23(5, "slot_name", "start_backup_flag", "to_delay", "ddl_delay_recycle_ptr", "rewind_time"), _24(NULL), _25("pg_resume_bkp_flag"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4445), _1("pg_resume_bkp_flag"), _2(1), _3(true), _4(false), _5(pg_resume_bkp_flag), _6(2249), _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('v'), _19(0), _20(1, 19), _21(5, 19, 16, 16, 25, 25), _22(5, 'i', 'o', 'o', 'o', 'o'), _23(5, "slot_name", "start_backup_flag", "to_delay", "ddl_delay_recycle_ptr", "rewind_time"), _24(NULL), _25("pg_resume_bkp_flag"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_rotate_logfile", 1, - AddBuiltinFunc(_0(2622), _1("pg_rotate_logfile"), _2(0), _3(true), _4(false), _5(pg_rotate_logfile), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_rotate_logfile"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2622), _1("pg_rotate_logfile"), _2(0), _3(true), _4(false), _5(pg_rotate_logfile), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_rotate_logfile"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_sequence_parameters", 1, - AddBuiltinFunc(_0(3078), _1("pg_sequence_parameters"), _2(1), _3(true), _4(false), _5(pg_sequence_parameters), _6(2249), _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('s'), _19(0), _20(1, 26), _21(6, 26, 20, 20, 20, 20, 16), _22(6, 'i', 'o', 'o', 'o', 'o', 'o'), _23(6, "sequence_oid", "start_value", "minimum_value", "maximum_value", "increment", "cycle_option"), _24(NULL), _25("pg_sequence_parameters"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3078), _1("pg_sequence_parameters"), _2(1), _3(true), _4(false), _5(pg_sequence_parameters), _6(2249), _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('s'), _19(0), _20(1, 26), _21(6, 26, 20, 20, 20, 20, 16), _22(6, 'i', 'o', 'o', 'o', 'o', 'o'), _23(6, "sequence_oid", "start_value", "minimum_value", "maximum_value", "increment", "cycle_option"), _24(NULL), _25("pg_sequence_parameters"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_shared_memctx_detail", 1, - AddBuiltinFunc(_0(3987), _1("pg_shared_memctx_detail"), _2(1), _3(false), _4(true), _5(pg_shared_memctx_detail), _6(16), _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(0), _20(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_shared_memctx_detail"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3987), _1("pg_shared_memctx_detail"), _2(1), _3(false), _4(true), _5(pg_shared_memctx_detail), _6(16), _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(0), _20(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_shared_memctx_detail"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_shared_memory_detail", 1, - AddBuiltinFunc(_0(3986), _1("pg_shared_memory_detail"), _2(0), _3(false), _4(true), _5(pg_shared_memory_detail), _6(2249), _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(0), _20(0), _21(6, 25, 21, 25, 20, 20, 20), _22(6, 'o', 'o', 'o', 'o', 'o', 'o'), _23(6, "contextname", "level", "parent", "totalsize", "freesize", "usedsize"), _24(NULL), _25("pg_shared_memory_detail"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3986), _1("pg_shared_memory_detail"), _2(0), _3(false), _4(true), _5(pg_shared_memory_detail), _6(2249), _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(0), _20(0), _21(6, 25, 21, 25, 20, 20, 20), _22(6, 'o', 'o', 'o', 'o', 'o', 'o'), _23(6, "contextname", "level", "parent", "totalsize", "freesize", "usedsize"), _24(NULL), _25("pg_shared_memory_detail"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_show_all_settings", 1, - AddBuiltinFunc(_0(2084), _1("pg_show_all_settings"), _2(0), _3(true), _4(true), _5(show_all_settings), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(16, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 1009, 25, 25, 25, 23), _22(16, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(16, "name", "setting", "unit", "category", "short_desc", "extra_desc", "context", "vartype", "source", "min_val", "max_val", "enumvals", "boot_val", "reset_val", "sourcefile", "sourceline"), _24(NULL), _25("show_all_settings"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2084), _1("pg_show_all_settings"), _2(0), _3(true), _4(true), _5(show_all_settings), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(16, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 1009, 25, 25, 25, 23), _22(16, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(16, "name", "setting", "unit", "category", "short_desc", "extra_desc", "context", "vartype", "source", "min_val", "max_val", "enumvals", "boot_val", "reset_val", "sourcefile", "sourceline"), _24(NULL), _25("show_all_settings"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_size_pretty", 2, - AddBuiltinFunc(_0(2288), _1("pg_size_pretty"), _2(1), _3(true), _4(false), _5(pg_size_pretty), _6(25), _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('v'), _19(0), _20(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_size_pretty"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3166), _1("pg_size_pretty"), _2(1), _3(true), _4(false), _5(pg_size_pretty_numeric), _6(25), _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('v'), _19(0), _20(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_size_pretty_numeric"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2288), _1("pg_size_pretty"), _2(1), _3(true), _4(false), _5(pg_size_pretty), _6(25), _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('v'), _19(0), _20(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_size_pretty"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3166), _1("pg_size_pretty"), _2(1), _3(true), _4(false), _5(pg_size_pretty_numeric), _6(25), _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('v'), _19(0), _20(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_size_pretty_numeric"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_sleep", 1, - AddBuiltinFunc(_0(2626), _1("pg_sleep"), _2(1), _3(true), _4(false), _5(pg_sleep), _6(2278), _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('v'), _19(0), _20(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_sleep"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2626), _1("pg_sleep"), _2(1), _3(true), _4(false), _5(pg_sleep), _6(2278), _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('v'), _19(0), _20(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_sleep"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( - "pg_start_backup", 2, - AddBuiltinFunc(_0(2172), _1("pg_start_backup"), _2(2), _3(true), _4(false), _5(pg_start_backup), _6(25), _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('v'), _19(1), _20(2, 25, 16), _21(NULL), _22(NULL), _23(2, "label", "fast"), _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("pg_start_backup"), _26(NULL), _27(NULL), _28(NULL), _29(1, 1), _30(false), _31(false), _32(false), _33("f")), - AddBuiltinFunc(_0(6203), _1("pg_start_backup"), _2(3), _3(true), _4(false), _5(pg_start_backup_v2), _6(25), _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('v'), _19(0), _20(3, 25, 16, 16), _21(NULL), _22(NULL), _23(3, "label", "fast", "exclusive"), _24(NULL), _25("pg_start_backup_v2"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + "pg_start_backup", 1, + AddBuiltinFunc(_0(2172), _1("pg_start_backup"), _2(2), _3(true), _4(false), _5(pg_start_backup), _6(25), _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('v'), _19(1), _20(2, 25, 16), _21(NULL), _22(NULL), _23(2, "label", "fast"), _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("pg_start_backup"), _26(NULL), _27(NULL), _28(NULL), _29(1, 1), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_bad_block", 1, - AddBuiltinFunc(_0(3218), _1("pg_stat_bad_block"), _2(0), _3(true), _4(true), _5(pg_stat_bad_block), _6(2249), _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(0), _20(0), _21(9, 25, 23, 23, 23, 21, 23, 23, 1184, 1184), _22(9, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(9, "nodename", "databaseid", "tablespaceid", "relfilenode", "bucketid", "forknum", "error_count", "first_time", "last_time"), _24(NULL), _25("pg_stat_bad_block"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3218), _1("pg_stat_bad_block"), _2(0), _3(true), _4(true), _5(pg_stat_bad_block), _6(2249), _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(0), _20(0), _21(9, 25, 23, 23, 23, 21, 23, 23, 1184, 1184), _22(9, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(9, "nodename", "databaseid", "tablespaceid", "relfilenode", "bucketid", "forknum", "error_count", "first_time", "last_time"), _24(NULL), _25("pg_stat_bad_block"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_bad_block_clear", 1, - AddBuiltinFunc(_0(3219), _1("pg_stat_bad_block_clear"), _2(0), _3(false), _4(false), _5(pg_stat_bad_block_clear), _6(2278), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_bad_block_clear"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3219), _1("pg_stat_bad_block_clear"), _2(0), _3(false), _4(false), _5(pg_stat_bad_block_clear), _6(2278), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_bad_block_clear"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_clear_snapshot", 1, - AddBuiltinFunc(_0(2230), _1("pg_stat_clear_snapshot"), _2(0), _3(false), _4(false), _5(pg_stat_clear_snapshot), _6(2278), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_clear_snapshot"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2230), _1("pg_stat_clear_snapshot"), _2(0), _3(false), _4(false), _5(pg_stat_clear_snapshot), _6(2278), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_clear_snapshot"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_file", 1, - AddBuiltinFunc(_0(2623), _1("pg_stat_file"), _2(1), _3(true), _4(false), _5(pg_stat_file), _6(2249), _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('v'), _19(0), _20(1, 25), _21(7, 25, 20, 1184, 1184, 1184, 1184, 16), _22(7, 'i', 'o', 'o', 'o', 'o', 'o', 'o'), _23(7, "filename", "size", "access", "modification", "change", "creation", "isdir"), _24(NULL), _25("pg_stat_file"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2623), _1("pg_stat_file"), _2(1), _3(true), _4(false), _5(pg_stat_file), _6(2249), _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('v'), _19(0), _20(1, 25), _21(7, 25, 20, 1184, 1184, 1184, 1184, 16), _22(7, 'i', 'o', 'o', 'o', 'o', 'o', 'o'), _23(7, "filename", "size", "access", "modification", "change", "creation", "isdir"), _24(NULL), _25("pg_stat_file"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_file_recursive", 1, - AddBuiltinFunc(_0(6321), _1("pg_stat_file_recursive"), _2(1), _3(true), _4(true), _5(pg_stat_file_recursive), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(1, 25), _21(5, 25, 25, 25, 20, 16), _22(5, 'i', 'o', 'o', 'o', 'o'), _23(5, "location", "path", "filename", "size", "isdir"), _24(NULL), _25("pg_stat_file_recursive"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(6321), _1("pg_stat_file_recursive"), _2(1), _3(true), _4(true), _5(pg_stat_file_recursive), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(1, 25), _21(5, 25, 25, 25, 20, 16), _22(5, 'i', 'o', 'o', 'o', 'o'), _23(5, "location", "path", "filename", "size", "isdir"), _24(NULL), _25("pg_stat_file_recursive"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_activity", 1, - AddBuiltinFunc(_0(2022), _1("pg_stat_get_activity"), _2(1), _3(false), _4(true), _5(pg_stat_get_activity), _6(2249), _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(0), _20(1, 20), _21(19, 20, 26, 20, 20, 26, 25, 25, 25, 16, 1184, 1184, 1184, 1184, 869, 25, 23, 25, 20, 19), _22(19, 'i', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(19, "pid", "datid", "pid", "sessionid", "usesysid", "application_name", "state", "query", "waiting", "xact_start", "query_start", "backend_start", "state_change", "client_addr", "client_hostname", "client_port", "enqueue", "query_id", "srespool"), _24(NULL), _25("pg_stat_get_activity"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2022), _1("pg_stat_get_activity"), _2(1), _3(false), _4(true), _5(pg_stat_get_activity), _6(2249), _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(0), _20(1, 20), _21(19, 20, 26, 20, 20, 26, 25, 25, 25, 16, 1184, 1184, 1184, 1184, 869, 25, 23, 25, 20, 19), _22(19, 'i', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(19, "pid", "datid", "pid", "sessionid", "usesysid", "application_name", "state", "query", "waiting", "xact_start", "query_start", "backend_start", "state_change", "client_addr", "client_hostname", "client_port", "enqueue", "query_id", "srespool"), _24(NULL), _25("pg_stat_get_activity"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_activity_for_temptable", 1, - AddBuiltinFunc(_0(4213), _1("pg_stat_get_activity_for_temptable"), _2(0), _3(true), _4(true), _5(pg_stat_get_activity_for_temptable), _6(2249), _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(0), _20(0), _21(4, 26, 23, 23, 20), _22(4, 'o', 'o', 'o', 'o'), _23(4, "datid", "timelineid", "tempid", "sessionid"), _24(NULL), _25("pg_stat_get_activity_for_temptable"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4213), _1("pg_stat_get_activity_for_temptable"), _2(0), _3(true), _4(true), _5(pg_stat_get_activity_for_temptable), _6(2249), _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(0), _20(0), _21(4, 26, 23, 23, 20), _22(4, 'o', 'o', 'o', 'o'), _23(4, "datid", "timelineid", "tempid", "sessionid"), _24(NULL), _25("pg_stat_get_activity_for_temptable"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_activity_ng", 1, - AddBuiltinFunc(_0(5549), _1("pg_stat_get_activity_ng"), _2(1), _3(false), _4(true), _5(pg_stat_get_activity_ng), _6(2249), _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(0), _20(1, 20), _21(5, 20, 26, 20, 20, 25), _22(5, 'i', 'o', 'o', 'o', 'o'), _23(5, "pid", "datid", "pid", "sessionid", "node_group"), _24(NULL), _25("pg_stat_get_activity_ng"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5549), _1("pg_stat_get_activity_ng"), _2(1), _3(false), _4(true), _5(pg_stat_get_activity_ng), _6(2249), _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(0), _20(1, 20), _21(5, 20, 26, 20, 20, 25), _22(5, 'i', 'o', 'o', 'o', 'o'), _23(5, "pid", "datid", "pid", "sessionid", "node_group"), _24(NULL), _25("pg_stat_get_activity_ng"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_activity_with_conninfo", 1, - AddBuiltinFunc(_0(4212), _1("pg_stat_get_activity_with_conninfo"), _2(1), _3(false), _4(true), _5(pg_stat_get_activity_with_conninfo), _6(2249), _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(0), _20(1, 20), _21(20, 20, 26, 20, 20, 26, 25, 25, 25, 16, 1184, 1184, 1184, 1184, 869, 25, 23, 25, 20, 25, 19), _22(20, 'i', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(20, "pid", "datid", "pid", "sessionid", "usesysid", "application_name", "state", "query", "waiting", "xact_start", "query_start", "backend_start", "state_change", "client_addr", "client_hostname", "client_port", "enqueue", "query_id", "connection_info", "srespool"), _24(NULL), _25("pg_stat_get_activity_with_conninfo"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4212), _1("pg_stat_get_activity_with_conninfo"), _2(1), _3(false), _4(true), _5(pg_stat_get_activity_with_conninfo), _6(2249), _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(0), _20(1, 20), _21(20, 20, 26, 20, 20, 26, 25, 25, 25, 16, 1184, 1184, 1184, 1184, 869, 25, 23, 25, 20, 25, 19), _22(20, 'i', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(20, "pid", "datid", "pid", "sessionid", "usesysid", "application_name", "state", "query", "waiting", "xact_start", "query_start", "backend_start", "state_change", "client_addr", "client_hostname", "client_port", "enqueue", "query_id", "connection_info", "srespool"), _24(NULL), _25("pg_stat_get_activity_with_conninfo"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_analyze_count", 1, - AddBuiltinFunc(_0(3056), _1("pg_stat_get_analyze_count"), _2(1), _3(true), _4(false), _5(pg_stat_get_analyze_count), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_analyze_count"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3056), _1("pg_stat_get_analyze_count"), _2(1), _3(true), _4(false), _5(pg_stat_get_analyze_count), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_analyze_count"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_autoanalyze_count", 1, - AddBuiltinFunc(_0(3057), _1("pg_stat_get_autoanalyze_count"), _2(1), _3(true), _4(false), _5(pg_stat_get_autoanalyze_count), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_autoanalyze_count"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3057), _1("pg_stat_get_autoanalyze_count"), _2(1), _3(true), _4(false), _5(pg_stat_get_autoanalyze_count), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_autoanalyze_count"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_autovacuum_count", 1, - AddBuiltinFunc(_0(3055), _1("pg_stat_get_autovacuum_count"), _2(1), _3(true), _4(false), _5(pg_stat_get_autovacuum_count), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_autovacuum_count"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3055), _1("pg_stat_get_autovacuum_count"), _2(1), _3(true), _4(false), _5(pg_stat_get_autovacuum_count), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_autovacuum_count"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_backend_activity", 1, - AddBuiltinFunc(_0(1940), _1("pg_stat_get_backend_activity"), _2(1), _3(true), _4(false), _5(pg_stat_get_backend_activity), _6(25), _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('s'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_backend_activity"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1940), _1("pg_stat_get_backend_activity"), _2(1), _3(true), _4(false), _5(pg_stat_get_backend_activity), _6(25), _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('s'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_backend_activity"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_backend_activity_start", 1, - AddBuiltinFunc(_0(2094), _1("pg_stat_get_backend_activity_start"), _2(1), _3(true), _4(false), _5(pg_stat_get_backend_activity_start), _6(1184), _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('s'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_backend_activity_start"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2094), _1("pg_stat_get_backend_activity_start"), _2(1), _3(true), _4(false), _5(pg_stat_get_backend_activity_start), _6(1184), _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('s'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_backend_activity_start"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_backend_client_addr", 1, - AddBuiltinFunc(_0(1392), _1("pg_stat_get_backend_client_addr"), _2(1), _3(true), _4(false), _5(pg_stat_get_backend_client_addr), _6(869), _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('s'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_backend_client_addr"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1392), _1("pg_stat_get_backend_client_addr"), _2(1), _3(true), _4(false), _5(pg_stat_get_backend_client_addr), _6(869), _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('s'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_backend_client_addr"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_backend_client_port", 1, - AddBuiltinFunc(_0(1393), _1("pg_stat_get_backend_client_port"), _2(1), _3(true), _4(false), _5(pg_stat_get_backend_client_port), _6(23), _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('s'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_backend_client_port"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1393), _1("pg_stat_get_backend_client_port"), _2(1), _3(true), _4(false), _5(pg_stat_get_backend_client_port), _6(23), _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('s'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_backend_client_port"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_backend_dbid", 1, - AddBuiltinFunc(_0(1938), _1("pg_stat_get_backend_dbid"), _2(1), _3(true), _4(false), _5(pg_stat_get_backend_dbid), _6(26), _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('s'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_backend_dbid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1938), _1("pg_stat_get_backend_dbid"), _2(1), _3(true), _4(false), _5(pg_stat_get_backend_dbid), _6(26), _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('s'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_backend_dbid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_backend_idset", 1, - AddBuiltinFunc(_0(1936), _1("pg_stat_get_backend_idset"), _2(0), _3(true), _4(true), _5(pg_stat_get_backend_idset), _6(23), _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(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_backend_idset"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1936), _1("pg_stat_get_backend_idset"), _2(0), _3(true), _4(true), _5(pg_stat_get_backend_idset), _6(23), _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(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_backend_idset"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_backend_pid", 1, - AddBuiltinFunc(_0(PGSTATGETBACKENDPIDFUNCOID), _1("pg_stat_get_backend_pid"), _2(1), _3(true), _4(false), _5(pg_stat_get_backend_pid), _6(20), _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('s'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_backend_pid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(PGSTATGETBACKENDPIDFUNCOID), _1("pg_stat_get_backend_pid"), _2(1), _3(true), _4(false), _5(pg_stat_get_backend_pid), _6(20), _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('s'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_backend_pid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_backend_start", 1, - AddBuiltinFunc(_0(1391), _1("pg_stat_get_backend_start"), _2(1), _3(true), _4(false), _5(pg_stat_get_backend_start), _6(1184), _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('s'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_backend_start"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1391), _1("pg_stat_get_backend_start"), _2(1), _3(true), _4(false), _5(pg_stat_get_backend_start), _6(1184), _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('s'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_backend_start"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_backend_userid", 1, - AddBuiltinFunc(_0(1939), _1("pg_stat_get_backend_userid"), _2(1), _3(true), _4(false), _5(pg_stat_get_backend_userid), _6(26), _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('s'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_backend_userid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1939), _1("pg_stat_get_backend_userid"), _2(1), _3(true), _4(false), _5(pg_stat_get_backend_userid), _6(26), _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('s'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_backend_userid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_backend_waiting", 1, - AddBuiltinFunc(_0(2853), _1("pg_stat_get_backend_waiting"), _2(1), _3(true), _4(false), _5(pg_stat_get_backend_waiting), _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('s'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_backend_waiting"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2853), _1("pg_stat_get_backend_waiting"), _2(1), _3(true), _4(false), _5(pg_stat_get_backend_waiting), _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('s'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_backend_waiting"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_backend_xact_start", 1, - AddBuiltinFunc(_0(2857), _1("pg_stat_get_backend_xact_start"), _2(1), _3(true), _4(false), _5(pg_stat_get_backend_xact_start), _6(1184), _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('s'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_backend_xact_start"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2857), _1("pg_stat_get_backend_xact_start"), _2(1), _3(true), _4(false), _5(pg_stat_get_backend_xact_start), _6(1184), _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('s'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_backend_xact_start"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_bgwriter_buf_written_checkpoints", 1, - AddBuiltinFunc(_0(2771), _1("pg_stat_get_bgwriter_buf_written_checkpoints"), _2(0), _3(true), _4(false), _5(pg_stat_get_bgwriter_buf_written_checkpoints), _6(20), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_bgwriter_buf_written_checkpoints"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2771), _1("pg_stat_get_bgwriter_buf_written_checkpoints"), _2(0), _3(true), _4(false), _5(pg_stat_get_bgwriter_buf_written_checkpoints), _6(20), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_bgwriter_buf_written_checkpoints"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_bgwriter_buf_written_clean", 1, - AddBuiltinFunc(_0(2772), _1("pg_stat_get_bgwriter_buf_written_clean"), _2(0), _3(true), _4(false), _5(pg_stat_get_bgwriter_buf_written_clean), _6(20), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_bgwriter_buf_written_clean"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2772), _1("pg_stat_get_bgwriter_buf_written_clean"), _2(0), _3(true), _4(false), _5(pg_stat_get_bgwriter_buf_written_clean), _6(20), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_bgwriter_buf_written_clean"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_bgwriter_maxwritten_clean", 1, - AddBuiltinFunc(_0(2773), _1("pg_stat_get_bgwriter_maxwritten_clean"), _2(0), _3(true), _4(false), _5(pg_stat_get_bgwriter_maxwritten_clean), _6(20), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_bgwriter_maxwritten_clean"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2773), _1("pg_stat_get_bgwriter_maxwritten_clean"), _2(0), _3(true), _4(false), _5(pg_stat_get_bgwriter_maxwritten_clean), _6(20), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_bgwriter_maxwritten_clean"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_bgwriter_requested_checkpoints", 1, - AddBuiltinFunc(_0(2770), _1("pg_stat_get_bgwriter_requested_checkpoints"), _2(0), _3(true), _4(false), _5(pg_stat_get_bgwriter_requested_checkpoints), _6(20), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_bgwriter_requested_checkpoints"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2770), _1("pg_stat_get_bgwriter_requested_checkpoints"), _2(0), _3(true), _4(false), _5(pg_stat_get_bgwriter_requested_checkpoints), _6(20), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_bgwriter_requested_checkpoints"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_bgwriter_stat_reset_time", 1, - AddBuiltinFunc(_0(3075), _1("pg_stat_get_bgwriter_stat_reset_time"), _2(0), _3(true), _4(false), _5(pg_stat_get_bgwriter_stat_reset_time), _6(1184), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_bgwriter_stat_reset_time"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3075), _1("pg_stat_get_bgwriter_stat_reset_time"), _2(0), _3(true), _4(false), _5(pg_stat_get_bgwriter_stat_reset_time), _6(1184), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_bgwriter_stat_reset_time"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_bgwriter_timed_checkpoints", 1, - AddBuiltinFunc(_0(2769), _1("pg_stat_get_bgwriter_timed_checkpoints"), _2(0), _3(true), _4(false), _5(pg_stat_get_bgwriter_timed_checkpoints), _6(20), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_bgwriter_timed_checkpoints"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2769), _1("pg_stat_get_bgwriter_timed_checkpoints"), _2(0), _3(true), _4(false), _5(pg_stat_get_bgwriter_timed_checkpoints), _6(20), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_bgwriter_timed_checkpoints"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_blocks_fetched", 1, - AddBuiltinFunc(_0(1934), _1("pg_stat_get_blocks_fetched"), _2(1), _3(true), _4(false), _5(pg_stat_get_blocks_fetched), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_blocks_fetched"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1934), _1("pg_stat_get_blocks_fetched"), _2(1), _3(true), _4(false), _5(pg_stat_get_blocks_fetched), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_blocks_fetched"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_blocks_hit", 1, - AddBuiltinFunc(_0(1935), _1("pg_stat_get_blocks_hit"), _2(1), _3(true), _4(false), _5(pg_stat_get_blocks_hit), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_blocks_hit"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1935), _1("pg_stat_get_blocks_hit"), _2(1), _3(true), _4(false), _5(pg_stat_get_blocks_hit), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_blocks_hit"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_buf_alloc", 1, - AddBuiltinFunc(_0(2859), _1("pg_stat_get_buf_alloc"), _2(0), _3(true), _4(false), _5(pg_stat_get_buf_alloc), _6(20), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_buf_alloc"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2859), _1("pg_stat_get_buf_alloc"), _2(0), _3(true), _4(false), _5(pg_stat_get_buf_alloc), _6(20), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_buf_alloc"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_buf_fsync_backend", 1, - AddBuiltinFunc(_0(3063), _1("pg_stat_get_buf_fsync_backend"), _2(0), _3(true), _4(false), _5(pg_stat_get_buf_fsync_backend), _6(20), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_buf_fsync_backend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3063), _1("pg_stat_get_buf_fsync_backend"), _2(0), _3(true), _4(false), _5(pg_stat_get_buf_fsync_backend), _6(20), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_buf_fsync_backend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_buf_written_backend", 1, - AddBuiltinFunc(_0(2775), _1("pg_stat_get_buf_written_backend"), _2(0), _3(true), _4(false), _5(pg_stat_get_buf_written_backend), _6(20), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_buf_written_backend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2775), _1("pg_stat_get_buf_written_backend"), _2(0), _3(true), _4(false), _5(pg_stat_get_buf_written_backend), _6(20), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_buf_written_backend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_cgroup_info", 1, - AddBuiltinFunc(_0(5008), _1("pg_stat_get_cgroup_info"), _2(1), _3(false), _4(true), _5(pg_stat_get_cgroup_info), _6(2249), _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(0), _20(1, 23), _21(9, 25, 23, 23, 20, 20, 25, 25, 25, 25), _22(9, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(9, "cgroup_name", "percent", "usage_percent", "shares", "usage", "cpuset", "relpath", "valid", "node_group"), _24(NULL), _25("pg_stat_get_cgroup_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5008), _1("pg_stat_get_cgroup_info"), _2(1), _3(false), _4(true), _5(pg_stat_get_cgroup_info), _6(2249), _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(0), _20(1, 23), _21(9, 25, 23, 23, 20, 20, 25, 25, 25, 25), _22(9, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(9, "cgroup_name", "percent", "usage_percent", "shares", "usage", "cpuset", "relpath", "valid", "node_group"), _24(NULL), _25("pg_stat_get_cgroup_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_checkpoint_sync_time", 1, - AddBuiltinFunc(_0(3161), _1("pg_stat_get_checkpoint_sync_time"), _2(0), _3(true), _4(false), _5(pg_stat_get_checkpoint_sync_time), _6(701), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_checkpoint_sync_time"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3161), _1("pg_stat_get_checkpoint_sync_time"), _2(0), _3(true), _4(false), _5(pg_stat_get_checkpoint_sync_time), _6(701), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_checkpoint_sync_time"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_checkpoint_write_time", 1, - AddBuiltinFunc(_0(3160), _1("pg_stat_get_checkpoint_write_time"), _2(0), _3(true), _4(false), _5(pg_stat_get_checkpoint_write_time), _6(701), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_checkpoint_write_time"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3160), _1("pg_stat_get_checkpoint_write_time"), _2(0), _3(true), _4(false), _5(pg_stat_get_checkpoint_write_time), _6(701), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_checkpoint_write_time"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_cu_hdd_asyn", 1, - AddBuiltinFunc(_0(3484), _1("pg_stat_get_cu_hdd_asyn"), _2(1), _3(true), _4(false), _5(pg_stat_get_cu_hdd_asyn), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_cu_hdd_asyn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3484), _1("pg_stat_get_cu_hdd_asyn"), _2(1), _3(true), _4(false), _5(pg_stat_get_cu_hdd_asyn), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_cu_hdd_asyn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_cu_hdd_sync", 1, - AddBuiltinFunc(_0(3483), _1("pg_stat_get_cu_hdd_sync"), _2(1), _3(true), _4(false), _5(pg_stat_get_cu_hdd_sync), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_cu_hdd_sync"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3483), _1("pg_stat_get_cu_hdd_sync"), _2(1), _3(true), _4(false), _5(pg_stat_get_cu_hdd_sync), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_cu_hdd_sync"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_cu_mem_hit", 1, - AddBuiltinFunc(_0(3480), _1("pg_stat_get_cu_mem_hit"), _2(1), _3(true), _4(false), _5(pg_stat_get_cu_mem_hit), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_cu_mem_hit"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3480), _1("pg_stat_get_cu_mem_hit"), _2(1), _3(true), _4(false), _5(pg_stat_get_cu_mem_hit), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_cu_mem_hit"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_data_senders", 1, - AddBuiltinFunc(_0(3785), _1("pg_stat_get_data_senders"), _2(0), _3(false), _4(true), _5(pg_stat_get_data_senders), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(10), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(13, 20, 23, 25, 25, 25, 1184, 1184, 23, 25, 25, 25, 25, 25), _22(13, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(13, "pid", "sender_pid", "local_role", "peer_role", "state", "catchup_start", "catchup_end", "queue_size", "queue_lower_tail", "queue_header", "queue_upper_tail", "send_position", "receive_position"), _24(NULL), _25("pg_stat_get_data_senders"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3785), _1("pg_stat_get_data_senders"), _2(0), _3(false), _4(true), _5(pg_stat_get_data_senders), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(10), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(13, 20, 23, 25, 25, 25, 1184, 1184, 23, 25, 25, 25, 25, 25), _22(13, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(13, "pid", "sender_pid", "local_role", "peer_role", "state", "catchup_start", "catchup_end", "queue_size", "queue_lower_tail", "queue_header", "queue_upper_tail", "send_position", "receive_position"), _24(NULL), _25("pg_stat_get_data_senders"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_db_blk_read_time", 1, - AddBuiltinFunc(_0(2844), _1("pg_stat_get_db_blk_read_time"), _2(1), _3(true), _4(false), _5(pg_stat_get_db_blk_read_time), _6(701), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_db_blk_read_time"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2844), _1("pg_stat_get_db_blk_read_time"), _2(1), _3(true), _4(false), _5(pg_stat_get_db_blk_read_time), _6(701), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_db_blk_read_time"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_db_blk_write_time", 1, - AddBuiltinFunc(_0(2845), _1("pg_stat_get_db_blk_write_time"), _2(1), _3(true), _4(false), _5(pg_stat_get_db_blk_write_time), _6(701), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_db_blk_write_time"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2845), _1("pg_stat_get_db_blk_write_time"), _2(1), _3(true), _4(false), _5(pg_stat_get_db_blk_write_time), _6(701), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_db_blk_write_time"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_db_blocks_fetched", 1, - AddBuiltinFunc(_0(1944), _1("pg_stat_get_db_blocks_fetched"), _2(1), _3(true), _4(false), _5(pg_stat_get_db_blocks_fetched), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_db_blocks_fetched"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1944), _1("pg_stat_get_db_blocks_fetched"), _2(1), _3(true), _4(false), _5(pg_stat_get_db_blocks_fetched), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_db_blocks_fetched"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_db_blocks_hit", 1, - AddBuiltinFunc(_0(1945), _1("pg_stat_get_db_blocks_hit"), _2(1), _3(true), _4(false), _5(pg_stat_get_db_blocks_hit), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_db_blocks_hit"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1945), _1("pg_stat_get_db_blocks_hit"), _2(1), _3(true), _4(false), _5(pg_stat_get_db_blocks_hit), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_db_blocks_hit"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_db_conflict_all", 1, - AddBuiltinFunc(_0(3070), _1("pg_stat_get_db_conflict_all"), _2(1), _3(true), _4(false), _5(pg_stat_get_db_conflict_all), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_db_conflict_all"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3070), _1("pg_stat_get_db_conflict_all"), _2(1), _3(true), _4(false), _5(pg_stat_get_db_conflict_all), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_db_conflict_all"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_db_conflict_bufferpin", 1, - AddBuiltinFunc(_0(3068), _1("pg_stat_get_db_conflict_bufferpin"), _2(1), _3(true), _4(false), _5(pg_stat_get_db_conflict_bufferpin), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_db_conflict_bufferpin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3068), _1("pg_stat_get_db_conflict_bufferpin"), _2(1), _3(true), _4(false), _5(pg_stat_get_db_conflict_bufferpin), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_db_conflict_bufferpin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_db_conflict_lock", 1, - AddBuiltinFunc(_0(3066), _1("pg_stat_get_db_conflict_lock"), _2(1), _3(true), _4(false), _5(pg_stat_get_db_conflict_lock), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_db_conflict_lock"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3066), _1("pg_stat_get_db_conflict_lock"), _2(1), _3(true), _4(false), _5(pg_stat_get_db_conflict_lock), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_db_conflict_lock"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_db_conflict_snapshot", 1, - AddBuiltinFunc(_0(3067), _1("pg_stat_get_db_conflict_snapshot"), _2(1), _3(true), _4(false), _5(pg_stat_get_db_conflict_snapshot), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_db_conflict_snapshot"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3067), _1("pg_stat_get_db_conflict_snapshot"), _2(1), _3(true), _4(false), _5(pg_stat_get_db_conflict_snapshot), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_db_conflict_snapshot"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_db_conflict_startup_deadlock", 1, - AddBuiltinFunc(_0(3069), _1("pg_stat_get_db_conflict_startup_deadlock"), _2(1), _3(true), _4(false), _5(pg_stat_get_db_conflict_startup_deadlock), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_db_conflict_startup_deadlock"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3069), _1("pg_stat_get_db_conflict_startup_deadlock"), _2(1), _3(true), _4(false), _5(pg_stat_get_db_conflict_startup_deadlock), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_db_conflict_startup_deadlock"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_db_conflict_tablespace", 1, - AddBuiltinFunc(_0(3065), _1("pg_stat_get_db_conflict_tablespace"), _2(1), _3(true), _4(false), _5(pg_stat_get_db_conflict_tablespace), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_db_conflict_tablespace"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3065), _1("pg_stat_get_db_conflict_tablespace"), _2(1), _3(true), _4(false), _5(pg_stat_get_db_conflict_tablespace), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_db_conflict_tablespace"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_db_cu_hdd_asyn", 1, - AddBuiltinFunc(_0(3489), _1("pg_stat_get_db_cu_hdd_asyn"), _2(1), _3(true), _4(false), _5(pg_stat_get_db_cu_hdd_asyn), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_db_cu_hdd_asyn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3489), _1("pg_stat_get_db_cu_hdd_asyn"), _2(1), _3(true), _4(false), _5(pg_stat_get_db_cu_hdd_asyn), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_db_cu_hdd_asyn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_db_cu_hdd_sync", 1, - AddBuiltinFunc(_0(3488), _1("pg_stat_get_db_cu_hdd_sync"), _2(1), _3(true), _4(false), _5(pg_stat_get_db_cu_hdd_sync), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_db_cu_hdd_sync"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3488), _1("pg_stat_get_db_cu_hdd_sync"), _2(1), _3(true), _4(false), _5(pg_stat_get_db_cu_hdd_sync), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_db_cu_hdd_sync"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_db_cu_mem_hit", 1, - AddBuiltinFunc(_0(3485), _1("pg_stat_get_db_cu_mem_hit"), _2(1), _3(true), _4(false), _5(pg_stat_get_db_cu_mem_hit), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_db_cu_mem_hit"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3485), _1("pg_stat_get_db_cu_mem_hit"), _2(1), _3(true), _4(false), _5(pg_stat_get_db_cu_mem_hit), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_db_cu_mem_hit"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_db_deadlocks", 1, - AddBuiltinFunc(_0(3152), _1("pg_stat_get_db_deadlocks"), _2(1), _3(true), _4(false), _5(pg_stat_get_db_deadlocks), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_db_deadlocks"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3152), _1("pg_stat_get_db_deadlocks"), _2(1), _3(true), _4(false), _5(pg_stat_get_db_deadlocks), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_db_deadlocks"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_db_numbackends", 1, - AddBuiltinFunc(_0(1941), _1("pg_stat_get_db_numbackends"), _2(1), _3(true), _4(false), _5(pg_stat_get_db_numbackends), _6(23), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_db_numbackends"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1941), _1("pg_stat_get_db_numbackends"), _2(1), _3(true), _4(false), _5(pg_stat_get_db_numbackends), _6(23), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_db_numbackends"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_db_stat_reset_time", 1, - AddBuiltinFunc(_0(3074), _1("pg_stat_get_db_stat_reset_time"), _2(1), _3(true), _4(false), _5(pg_stat_get_db_stat_reset_time), _6(1184), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_db_stat_reset_time"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3074), _1("pg_stat_get_db_stat_reset_time"), _2(1), _3(true), _4(false), _5(pg_stat_get_db_stat_reset_time), _6(1184), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_db_stat_reset_time"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_db_temp_bytes", 1, - AddBuiltinFunc(_0(3151), _1("pg_stat_get_db_temp_bytes"), _2(1), _3(true), _4(false), _5(pg_stat_get_db_temp_bytes), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_db_temp_bytes"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3151), _1("pg_stat_get_db_temp_bytes"), _2(1), _3(true), _4(false), _5(pg_stat_get_db_temp_bytes), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_db_temp_bytes"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_db_temp_files", 1, - AddBuiltinFunc(_0(3150), _1("pg_stat_get_db_temp_files"), _2(1), _3(true), _4(false), _5(pg_stat_get_db_temp_files), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_db_temp_files"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3150), _1("pg_stat_get_db_temp_files"), _2(1), _3(true), _4(false), _5(pg_stat_get_db_temp_files), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_db_temp_files"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_db_tuples_deleted", 1, - AddBuiltinFunc(_0(2762), _1("pg_stat_get_db_tuples_deleted"), _2(1), _3(true), _4(false), _5(pg_stat_get_db_tuples_deleted), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_db_tuples_deleted"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2762), _1("pg_stat_get_db_tuples_deleted"), _2(1), _3(true), _4(false), _5(pg_stat_get_db_tuples_deleted), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_db_tuples_deleted"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_db_tuples_fetched", 1, - AddBuiltinFunc(_0(2759), _1("pg_stat_get_db_tuples_fetched"), _2(1), _3(true), _4(false), _5(pg_stat_get_db_tuples_fetched), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_db_tuples_fetched"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2759), _1("pg_stat_get_db_tuples_fetched"), _2(1), _3(true), _4(false), _5(pg_stat_get_db_tuples_fetched), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_db_tuples_fetched"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_db_tuples_inserted", 1, - AddBuiltinFunc(_0(2760), _1("pg_stat_get_db_tuples_inserted"), _2(1), _3(true), _4(false), _5(pg_stat_get_db_tuples_inserted), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_db_tuples_inserted"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2760), _1("pg_stat_get_db_tuples_inserted"), _2(1), _3(true), _4(false), _5(pg_stat_get_db_tuples_inserted), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_db_tuples_inserted"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_db_tuples_returned", 1, - AddBuiltinFunc(_0(2758), _1("pg_stat_get_db_tuples_returned"), _2(1), _3(true), _4(false), _5(pg_stat_get_db_tuples_returned), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_db_tuples_returned"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2758), _1("pg_stat_get_db_tuples_returned"), _2(1), _3(true), _4(false), _5(pg_stat_get_db_tuples_returned), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_db_tuples_returned"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_db_tuples_updated", 1, - AddBuiltinFunc(_0(2761), _1("pg_stat_get_db_tuples_updated"), _2(1), _3(true), _4(false), _5(pg_stat_get_db_tuples_updated), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_db_tuples_updated"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2761), _1("pg_stat_get_db_tuples_updated"), _2(1), _3(true), _4(false), _5(pg_stat_get_db_tuples_updated), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_db_tuples_updated"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_db_xact_commit", 1, - AddBuiltinFunc(_0(1942), _1("pg_stat_get_db_xact_commit"), _2(1), _3(true), _4(false), _5(pg_stat_get_db_xact_commit), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_db_xact_commit"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1942), _1("pg_stat_get_db_xact_commit"), _2(1), _3(true), _4(false), _5(pg_stat_get_db_xact_commit), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_db_xact_commit"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_db_xact_rollback", 1, - AddBuiltinFunc(_0(1943), _1("pg_stat_get_db_xact_rollback"), _2(1), _3(true), _4(false), _5(pg_stat_get_db_xact_rollback), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_db_xact_rollback"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1943), _1("pg_stat_get_db_xact_rollback"), _2(1), _3(true), _4(false), _5(pg_stat_get_db_xact_rollback), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_db_xact_rollback"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_dead_tuples", 1, - AddBuiltinFunc(_0(2879), _1("pg_stat_get_dead_tuples"), _2(1), _3(true), _4(false), _5(pg_stat_get_dead_tuples), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_dead_tuples"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2879), _1("pg_stat_get_dead_tuples"), _2(1), _3(true), _4(false), _5(pg_stat_get_dead_tuples), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_dead_tuples"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_env", 1, - AddBuiltinFunc(_0(3982), _1("pg_stat_get_env"), _2(0), _3(false), _4(true), _5(pg_stat_get_env), _6(2249), _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(0), _20(0), _21(7, 25, 25, 23, 23, 25, 25, 25), _22(7, 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(7, "node_name", "host", "process", "port", "installpath", "datapath", "log_directory"), _24(NULL), _25("pg_stat_get_env"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3982), _1("pg_stat_get_env"), _2(0), _3(false), _4(true), _5(pg_stat_get_env), _6(2249), _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(0), _20(0), _21(7, 25, 25, 23, 23, 25, 25, 25), _22(7, 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(7, "node_name", "host", "process", "port", "installpath", "datapath", "log_directory"), _24(NULL), _25("pg_stat_get_env"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_file_stat", 1, - AddBuiltinFunc(_0(3975), _1("pg_stat_get_file_stat"), _2(0), _3(false), _4(true), _5(pg_stat_get_file_stat), _6(2249), _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(0), _20(0), _21(13, 26, 26, 26, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20), _22(13, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(13, "filenum", "dbid", "spcid", "phyrds", "phywrts", "phyblkrd", "phyblkwrt", "readtim", "writetim", "avgiotim", "lstiotim", "miniotim", "maxiowtm"), _24(NULL), _25("pg_stat_get_file_stat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3975), _1("pg_stat_get_file_stat"), _2(0), _3(false), _4(true), _5(pg_stat_get_file_stat), _6(2249), _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(0), _20(0), _21(13, 26, 26, 26, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20), _22(13, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(13, "filenum", "dbid", "spcid", "phyrds", "phywrts", "phyblkrd", "phyblkwrt", "readtim", "writetim", "avgiotim", "lstiotim", "miniotim", "maxiowtm"), _24(NULL), _25("pg_stat_get_file_stat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_function_calls", 1, - AddBuiltinFunc(_0(2978), _1("pg_stat_get_function_calls"), _2(1), _3(true), _4(false), _5(pg_stat_get_function_calls), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_function_calls"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2978), _1("pg_stat_get_function_calls"), _2(1), _3(true), _4(false), _5(pg_stat_get_function_calls), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_function_calls"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_function_self_time", 1, - AddBuiltinFunc(_0(2980), _1("pg_stat_get_function_self_time"), _2(1), _3(true), _4(false), _5(pg_stat_get_function_self_time), _6(701), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_function_self_time"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2980), _1("pg_stat_get_function_self_time"), _2(1), _3(true), _4(false), _5(pg_stat_get_function_self_time), _6(701), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_function_self_time"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_function_total_time", 1, - AddBuiltinFunc(_0(2979), _1("pg_stat_get_function_total_time"), _2(1), _3(true), _4(false), _5(pg_stat_get_function_total_time), _6(701), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_function_total_time"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2979), _1("pg_stat_get_function_total_time"), _2(1), _3(true), _4(false), _5(pg_stat_get_function_total_time), _6(701), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_function_total_time"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_last_analyze_time", 1, - AddBuiltinFunc(_0(2783), _1("pg_stat_get_last_analyze_time"), _2(1), _3(true), _4(false), _5(pg_stat_get_last_analyze_time), _6(1184), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_last_analyze_time"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2783), _1("pg_stat_get_last_analyze_time"), _2(1), _3(true), _4(false), _5(pg_stat_get_last_analyze_time), _6(1184), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_last_analyze_time"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_last_autoanalyze_time", 1, - AddBuiltinFunc(_0(2784), _1("pg_stat_get_last_autoanalyze_time"), _2(1), _3(true), _4(false), _5(pg_stat_get_last_autoanalyze_time), _6(1184), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_last_autoanalyze_time"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2784), _1("pg_stat_get_last_autoanalyze_time"), _2(1), _3(true), _4(false), _5(pg_stat_get_last_autoanalyze_time), _6(1184), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_last_autoanalyze_time"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_last_autovacuum_time", 1, - AddBuiltinFunc(_0(2782), _1("pg_stat_get_last_autovacuum_time"), _2(1), _3(true), _4(false), _5(pg_stat_get_last_autovacuum_time), _6(1184), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_last_autovacuum_time"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2782), _1("pg_stat_get_last_autovacuum_time"), _2(1), _3(true), _4(false), _5(pg_stat_get_last_autovacuum_time), _6(1184), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_last_autovacuum_time"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_last_data_changed_time", 1, - AddBuiltinFunc(_0(5600), _1("pg_stat_get_last_data_changed_time"), _2(1), _3(true), _4(false), _5(pg_stat_get_last_data_changed_time), _6(1184), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_last_data_changed_time"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5600), _1("pg_stat_get_last_data_changed_time"), _2(1), _3(true), _4(false), _5(pg_stat_get_last_data_changed_time), _6(1184), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_last_data_changed_time"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_last_vacuum_time", 1, - AddBuiltinFunc(_0(2781), _1("pg_stat_get_last_vacuum_time"), _2(1), _3(true), _4(false), _5(pg_stat_get_last_vacuum_time), _6(1184), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_last_vacuum_time"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2781), _1("pg_stat_get_last_vacuum_time"), _2(1), _3(true), _4(false), _5(pg_stat_get_last_vacuum_time), _6(1184), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_last_vacuum_time"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_live_tuples", 1, - AddBuiltinFunc(_0(2878), _1("pg_stat_get_live_tuples"), _2(1), _3(true), _4(false), _5(pg_stat_get_live_tuples), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_live_tuples"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2878), _1("pg_stat_get_live_tuples"), _2(1), _3(true), _4(false), _5(pg_stat_get_live_tuples), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_live_tuples"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_mem_mbytes_reserved", 1, - AddBuiltinFunc(_0(2846), _1("pg_stat_get_mem_mbytes_reserved"), _2(1), _3(true), _4(false), _5(pg_stat_get_mem_mbytes_reserved), _6(25), _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('s'), _19(0), _20(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_mem_mbytes_reserved"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2846), _1("pg_stat_get_mem_mbytes_reserved"), _2(1), _3(true), _4(false), _5(pg_stat_get_mem_mbytes_reserved), _6(25), _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('s'), _19(0), _20(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_mem_mbytes_reserved"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_numscans", 1, - AddBuiltinFunc(_0(1928), _1("pg_stat_get_numscans"), _2(1), _3(true), _4(false), _5(pg_stat_get_numscans), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_numscans"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1928), _1("pg_stat_get_numscans"), _2(1), _3(true), _4(false), _5(pg_stat_get_numscans), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_numscans"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_partition_dead_tuples", 1, - AddBuiltinFunc(_0(4087), _1("pg_stat_get_partition_dead_tuples"), _2(1), _3(false), _4(true), _5(pg_stat_get_partition_dead_tuples), _6(20), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(10), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_partition_dead_tuples"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4087), _1("pg_stat_get_partition_dead_tuples"), _2(1), _3(false), _4(true), _5(pg_stat_get_partition_dead_tuples), _6(20), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(10), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_partition_dead_tuples"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_partition_live_tuples", 1, - AddBuiltinFunc(_0(4092), _1("pg_stat_get_partition_live_tuples"), _2(1), _3(false), _4(true), _5(pg_stat_get_partition_live_tuples), _6(20), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(10), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_partition_live_tuples"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4092), _1("pg_stat_get_partition_live_tuples"), _2(1), _3(false), _4(true), _5(pg_stat_get_partition_live_tuples), _6(20), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(10), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_partition_live_tuples"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_partition_tuples_changed", 1, - AddBuiltinFunc(_0(4086), _1("pg_stat_get_partition_tuples_changed"), _2(1), _3(false), _4(true), _5(pg_stat_get_partition_tuples_changed), _6(20), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(10), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_partition_tuples_changed"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4086), _1("pg_stat_get_partition_tuples_changed"), _2(1), _3(false), _4(true), _5(pg_stat_get_partition_tuples_changed), _6(20), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(10), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_partition_tuples_changed"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_partition_tuples_deleted", 1, - AddBuiltinFunc(_0(4090), _1("pg_stat_get_partition_tuples_deleted"), _2(1), _3(false), _4(true), _5(pg_stat_get_partition_tuples_deleted), _6(20), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(10), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_partition_tuples_deleted"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4090), _1("pg_stat_get_partition_tuples_deleted"), _2(1), _3(false), _4(true), _5(pg_stat_get_partition_tuples_deleted), _6(20), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(10), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_partition_tuples_deleted"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_partition_tuples_hot_updated", 1, - AddBuiltinFunc(_0(4091), _1("pg_stat_get_partition_tuples_hot_updated"), _2(1), _3(false), _4(true), _5(pg_stat_get_partition_tuples_hot_updated), _6(20), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(10), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_partition_tuples_hot_updated"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4091), _1("pg_stat_get_partition_tuples_hot_updated"), _2(1), _3(false), _4(true), _5(pg_stat_get_partition_tuples_hot_updated), _6(20), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(10), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_partition_tuples_hot_updated"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_partition_tuples_inserted", 1, - AddBuiltinFunc(_0(4088), _1("pg_stat_get_partition_tuples_inserted"), _2(1), _3(false), _4(true), _5(pg_stat_get_partition_tuples_inserted), _6(20), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(10), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_partition_tuples_inserted"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4088), _1("pg_stat_get_partition_tuples_inserted"), _2(1), _3(false), _4(true), _5(pg_stat_get_partition_tuples_inserted), _6(20), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(10), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_partition_tuples_inserted"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_partition_tuples_updated", 1, - AddBuiltinFunc(_0(4089), _1("pg_stat_get_partition_tuples_updated"), _2(1), _3(false), _4(true), _5(pg_stat_get_partition_tuples_updated), _6(20), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(10), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_partition_tuples_updated"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4089), _1("pg_stat_get_partition_tuples_updated"), _2(1), _3(false), _4(true), _5(pg_stat_get_partition_tuples_updated), _6(20), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(10), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_partition_tuples_updated"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_pooler_status", 1, - AddBuiltinFunc(_0(3955), _1("pg_stat_get_pooler_status"), _2(0), _3(false), _4(true), _5(pg_stat_get_pooler_status), _6(2249), _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(0), _20(0), _21(10, 25, 25, 20, 25, 20, 16, 25, 20, 20, 20), _22(10, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(10, "database_name", "user_name", "tid", "pgoptions", "node_oid", "in_use", "session_params", "fdsock", "remote_pid", "used_count"), _24(NULL), _25("pg_stat_get_pooler_status"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3955), _1("pg_stat_get_pooler_status"), _2(0), _3(false), _4(true), _5(pg_stat_get_pooler_status), _6(2249), _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(0), _20(0), _21(10, 25, 25, 20, 25, 20, 16, 25, 20, 20, 20), _22(10, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(10, "database_name", "user_name", "tid", "pgoptions", "node_oid", "in_use", "session_params", "fdsock", "remote_pid", "used_count"), _24(NULL), _25("pg_stat_get_pooler_status"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_realtime_info_internal", 1, - AddBuiltinFunc(_0(3500), _1("pg_stat_get_realtime_info_internal"), _2(5), _3(true), _4(false), _5(pg_stat_get_realtime_info_internal), _6(25), _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('s'), _19(0), _20(5, 26, 26, 20, 2275, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_realtime_info_internal"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3500), _1("pg_stat_get_realtime_info_internal"), _2(5), _3(true), _4(false), _5(pg_stat_get_realtime_info_internal), _6(25), _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('s'), _19(0), _20(5, 26, 26, 20, 2275, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_realtime_info_internal"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_redo_stat", 1, - AddBuiltinFunc(_0(3973), _1("pg_stat_get_redo_stat"), _2(0), _3(false), _4(true), _5(pg_stat_get_redo_stat), _6(2249), _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(0), _20(0), _21(7, 20, 20, 20, 20, 20, 20, 20), _22(7, 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(7, "phywrts", "phyblkwrt", "writetim", "avgiotim", "lstiotim", "miniotim", "maxiowtm"), _24(NULL), _25("pg_stat_get_redo_stat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3973), _1("pg_stat_get_redo_stat"), _2(0), _3(false), _4(true), _5(pg_stat_get_redo_stat), _6(2249), _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(0), _20(0), _21(7, 20, 20, 20, 20, 20, 20, 20), _22(7, 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(7, "phywrts", "phyblkwrt", "writetim", "avgiotim", "lstiotim", "miniotim", "maxiowtm"), _24(NULL), _25("pg_stat_get_redo_stat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_role_name", 1, - AddBuiltinFunc(_0(5010), _1("pg_stat_get_role_name"), _2(1), _3(true), _4(false), _5(gs_get_role_name), _6(25), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gs_get_role_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5010), _1("pg_stat_get_role_name"), _2(1), _3(true), _4(false), _5(gs_get_role_name), _6(25), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gs_get_role_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_session_wlmstat", 1, - AddBuiltinFunc(_0(3502), _1("pg_stat_get_session_wlmstat"), _2(1), _3(false), _4(true), _5(pg_stat_get_session_wlmstat), _6(2249), _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(0), _20(1, 23), _21(23, 23, 26, 20, 20, 23, 26, 25, 25, 20, 20, 20, 20, 23, 23, 23, 23, 25, 25, 25, 25, 16, 25, 19), _22(23, 'i', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(23, "pid", "datid", "threadid", "sessionid", "threadpid", "usesysid", "appname", "query", "priority", "block_time", "elapsed_time", "total_cpu_time", "skew_percent", "statement_mem", "active_points", "dop_value", "current_cgroup", "current_status", "enqueue_state", "attribute", "is_plana", "node_group", "srespool"), _24(NULL), _25("pg_stat_get_session_wlmstat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3502), _1("pg_stat_get_session_wlmstat"), _2(1), _3(false), _4(true), _5(pg_stat_get_session_wlmstat), _6(2249), _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(0), _20(1, 23), _21(23, 23, 26, 20, 20, 23, 26, 25, 25, 20, 20, 20, 20, 23, 23, 23, 23, 25, 25, 25, 25, 16, 25, 19), _22(23, 'i', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(23, "pid", "datid", "threadid", "sessionid", "threadpid", "usesysid", "appname", "query", "priority", "block_time", "elapsed_time", "total_cpu_time", "skew_percent", "statement_mem", "active_points", "dop_value", "current_cgroup", "current_status", "enqueue_state", "attribute", "is_plana", "node_group", "srespool"), _24(NULL), _25("pg_stat_get_session_wlmstat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_sql_count", 1, - AddBuiltinFunc(_0(3947), _1("pg_stat_get_sql_count"), _2(0), _3(false), _4(true), _5(pg_stat_get_sql_count), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(10), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(26, 25, 25, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20), _22(26, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(26, "node_name", "user_name", "select_count", "update_count", "insert_count", "delete_count", "mergeinto_count", "ddl_count", "dml_count", "dcl_count", "total_select_elapse", "avg_select_elapse", "max_select_elapse", "min_select_elapse", "total_update_elapse", "avg_update_elapse", "max_update_elapse", "min_update_elapse", "total_insert_elapse", "avg_insert_elapse", "max_insert_elapse", "min_insert_elapse", "total_delete_elapse", "avg_delete_elapse", "max_delete_elapse", "min_delete_elapse"), _24(NULL), _25("pg_stat_get_sql_count"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3947), _1("pg_stat_get_sql_count"), _2(0), _3(false), _4(true), _5(pg_stat_get_sql_count), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(10), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(26, 25, 25, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20), _22(26, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(26, "node_name", "user_name", "select_count", "update_count", "insert_count", "delete_count", "mergeinto_count", "ddl_count", "dml_count", "dcl_count", "total_select_elapse", "avg_select_elapse", "max_select_elapse", "min_select_elapse", "total_update_elapse", "avg_update_elapse", "max_update_elapse", "min_update_elapse", "total_insert_elapse", "avg_insert_elapse", "max_insert_elapse", "min_insert_elapse", "total_delete_elapse", "avg_delete_elapse", "max_delete_elapse", "min_delete_elapse"), _24(NULL), _25("pg_stat_get_sql_count"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_status", 1, - AddBuiltinFunc(_0(3980), _1("pg_stat_get_status"), _2(1), _3(false), _4(true), _5(pg_stat_get_status), _6(2249), _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(0), _20(1, 20), _21(16, 20, 25, 25, 25, 20, 20, 20, 23, 20, 23, 23, 25, 25, 25, 25, 20), _22(16, 'i', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(16, "tid", "node_name", "db_name", "thread_name", "query_id", "tid", "sessionid", "lwtid", "psessionid", "tlevel", "smpid", "wait_status", "wait_event", "locktag", "lockmode", "block_sessionid"), _24(NULL), _25("pg_stat_get_status"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3980), _1("pg_stat_get_status"), _2(1), _3(false), _4(true), _5(pg_stat_get_status), _6(2249), _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(0), _20(1, 20), _21(16, 20, 25, 25, 25, 20, 20, 20, 23, 20, 23, 23, 25, 25, 25, 25, 20), _22(16, 'i', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(16, "tid", "node_name", "db_name", "thread_name", "query_id", "tid", "sessionid", "lwtid", "psessionid", "tlevel", "smpid", "wait_status", "wait_event", "locktag", "lockmode", "block_sessionid"), _24(NULL), _25("pg_stat_get_status"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_stream_replications", 1, - AddBuiltinFunc(_0(3499), _1("pg_stat_get_stream_replications"), _2(0), _3(false), _4(true), _5(pg_stat_get_stream_replications), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(10), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(4, 25, 23, 25, 25), _22(4, 'o', 'o', 'o', 'o'), _23(4, "local_role", "static_connections", "db_state", "detail_information"), _24(NULL), _25("pg_stat_get_stream_replications"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3499), _1("pg_stat_get_stream_replications"), _2(0), _3(false), _4(true), _5(pg_stat_get_stream_replications), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(10), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(4, 25, 23, 25, 25), _22(4, 'o', 'o', 'o', 'o'), _23(4, "local_role", "static_connections", "db_state", "detail_information"), _24(NULL), _25("pg_stat_get_stream_replications"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_thread", 1, - AddBuiltinFunc(_0(3981), _1("pg_stat_get_thread"), _2(0), _3(false), _4(true), _5(pg_stat_get_thread), _6(2249), _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(0), _20(0), _21(5, 25, 20, 23, 25, 1184), _22(5, 'o', 'o', 'o', 'o', 'o'), _23(5, "node_name", "pid", "lwpid", "thread_name", "creation_time"), _24(NULL), _25("pg_stat_get_thread"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3981), _1("pg_stat_get_thread"), _2(0), _3(false), _4(true), _5(pg_stat_get_thread), _6(2249), _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(0), _20(0), _21(5, 25, 20, 23, 25, 1184), _22(5, 'o', 'o', 'o', 'o', 'o'), _23(5, "node_name", "pid", "lwpid", "thread_name", "creation_time"), _24(NULL), _25("pg_stat_get_thread"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_tuples_changed", 1, - AddBuiltinFunc(_0(3221), _1("pg_stat_get_tuples_changed"), _2(1), _3(true), _4(false), _5(pg_stat_get_tuples_changed), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_tuples_changed"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3221), _1("pg_stat_get_tuples_changed"), _2(1), _3(true), _4(false), _5(pg_stat_get_tuples_changed), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_tuples_changed"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_tuples_deleted", 1, - AddBuiltinFunc(_0(1933), _1("pg_stat_get_tuples_deleted"), _2(1), _3(true), _4(false), _5(pg_stat_get_tuples_deleted), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_tuples_deleted"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1933), _1("pg_stat_get_tuples_deleted"), _2(1), _3(true), _4(false), _5(pg_stat_get_tuples_deleted), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_tuples_deleted"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_tuples_fetched", 1, - AddBuiltinFunc(_0(1930), _1("pg_stat_get_tuples_fetched"), _2(1), _3(true), _4(false), _5(pg_stat_get_tuples_fetched), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_tuples_fetched"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1930), _1("pg_stat_get_tuples_fetched"), _2(1), _3(true), _4(false), _5(pg_stat_get_tuples_fetched), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_tuples_fetched"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_tuples_hot_updated", 1, - AddBuiltinFunc(_0(1972), _1("pg_stat_get_tuples_hot_updated"), _2(1), _3(true), _4(false), _5(pg_stat_get_tuples_hot_updated), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_tuples_hot_updated"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1972), _1("pg_stat_get_tuples_hot_updated"), _2(1), _3(true), _4(false), _5(pg_stat_get_tuples_hot_updated), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_tuples_hot_updated"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_tuples_inserted", 1, - AddBuiltinFunc(_0(1931), _1("pg_stat_get_tuples_inserted"), _2(1), _3(true), _4(false), _5(pg_stat_get_tuples_inserted), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_tuples_inserted"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1931), _1("pg_stat_get_tuples_inserted"), _2(1), _3(true), _4(false), _5(pg_stat_get_tuples_inserted), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_tuples_inserted"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_tuples_returned", 1, - AddBuiltinFunc(_0(1929), _1("pg_stat_get_tuples_returned"), _2(1), _3(true), _4(false), _5(pg_stat_get_tuples_returned), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_tuples_returned"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1929), _1("pg_stat_get_tuples_returned"), _2(1), _3(true), _4(false), _5(pg_stat_get_tuples_returned), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_tuples_returned"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_tuples_updated", 1, - AddBuiltinFunc(_0(1932), _1("pg_stat_get_tuples_updated"), _2(1), _3(true), _4(false), _5(pg_stat_get_tuples_updated), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_tuples_updated"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1932), _1("pg_stat_get_tuples_updated"), _2(1), _3(true), _4(false), _5(pg_stat_get_tuples_updated), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_tuples_updated"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_vacuum_count", 1, - AddBuiltinFunc(_0(3054), _1("pg_stat_get_vacuum_count"), _2(1), _3(true), _4(false), _5(pg_stat_get_vacuum_count), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_vacuum_count"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3054), _1("pg_stat_get_vacuum_count"), _2(1), _3(true), _4(false), _5(pg_stat_get_vacuum_count), _6(20), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_vacuum_count"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_wal_receiver", 1, - AddBuiltinFunc(_0(3819), _1("pg_stat_get_wal_receiver"), _2(0), _3(false), _4(true), _5(pg_stat_get_wal_receiver), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(10), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(15, 23, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25), _22(15, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(15, "receiver_pid", "local_role", "peer_role", "peer_state", "state", "sender_sent_location", "sender_write_location", "sender_flush_location", "sender_replay_location", "receiver_received_location", "receiver_write_location", "receiver_flush_location", "receiver_replay_location", "sync_percent", "channel"), _24(NULL), _25("pg_stat_get_wal_receiver"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3819), _1("pg_stat_get_wal_receiver"), _2(0), _3(false), _4(true), _5(pg_stat_get_wal_receiver), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(10), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(15, 23, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25), _22(15, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(15, "receiver_pid", "local_role", "peer_role", "peer_state", "state", "sender_sent_location", "sender_write_location", "sender_flush_location", "sender_replay_location", "receiver_received_location", "receiver_write_location", "receiver_flush_location", "receiver_replay_location", "sync_percent", "channel"), _24(NULL), _25("pg_stat_get_wal_receiver"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_wal_senders", 1, - AddBuiltinFunc(_0(3099), _1("pg_stat_get_wal_senders"), _2(0), _3(false), _4(true), _5(pg_stat_get_wal_senders), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(10), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(21, 20, 23, 25, 25, 25, 25, 1184, 1184, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 23, 25, 25), _22(21, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(21, "pid", "sender_pid", "local_role", "peer_role", "peer_state", "state", "catchup_start", "catchup_end", "sender_sent_location", "sender_write_location", "sender_flush_location", "sender_replay_location", "receiver_received_location", "receiver_write_location", "receiver_flush_location", "receiver_replay_location", "sync_percent", "sync_state", "sync_priority", "sync_most_available", "channel"), _24(NULL), _25("pg_stat_get_wal_senders"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3099), _1("pg_stat_get_wal_senders"), _2(0), _3(false), _4(true), _5(pg_stat_get_wal_senders), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(10), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(21, 20, 23, 25, 25, 25, 25, 1184, 1184, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 23, 25, 25), _22(21, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(21, "pid", "sender_pid", "local_role", "peer_role", "peer_state", "state", "catchup_start", "catchup_end", "sender_sent_location", "sender_write_location", "sender_flush_location", "sender_replay_location", "receiver_received_location", "receiver_write_location", "receiver_flush_location", "receiver_replay_location", "sync_percent", "sync_state", "sync_priority", "sync_most_available", "channel"), _24(NULL), _25("pg_stat_get_wal_senders"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_wlm_ec_operator_info", 1, - AddBuiltinFunc(_0(5024), _1("pg_stat_get_wlm_ec_operator_info"), _2(1), _3(false), _4(true), _5(pg_stat_get_wlm_ec_operator_info), _6(2249), _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(0), _20(1, 26), _21(17, 20, 23, 25, 1184, 20, 20, 23, 23, 23, 23, 25, 25, 25, 25, 25, 25, 20), _22(17, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(17, "queryid", "plan_node_id", "plan_node_name", "start_time", "duration", "tuple_processed", "min_peak_memory", "max_peak_memory", "average_peak_memory", "ec_operator", "ec_status", "ec_execute_datanode", "ec_dsn", "ec_username", "ec_query", "ec_libodbc_type", "ec_fetch_count"), _24(NULL), _25("pg_stat_get_wlm_ec_operator_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5024), _1("pg_stat_get_wlm_ec_operator_info"), _2(1), _3(false), _4(true), _5(pg_stat_get_wlm_ec_operator_info), _6(2249), _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(0), _20(1, 26), _21(17, 20, 23, 25, 1184, 20, 20, 23, 23, 23, 23, 25, 25, 25, 25, 25, 25, 20), _22(17, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(17, "queryid", "plan_node_id", "plan_node_name", "start_time", "duration", "tuple_processed", "min_peak_memory", "max_peak_memory", "average_peak_memory", "ec_operator", "ec_status", "ec_execute_datanode", "ec_dsn", "ec_username", "ec_query", "ec_libodbc_type", "ec_fetch_count"), _24(NULL), _25("pg_stat_get_wlm_ec_operator_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_wlm_instance_info", 1, - AddBuiltinFunc(_0(5031), _1("pg_stat_get_wlm_instance_info"), _2(0), _3(false), _4(true), _5(pg_stat_get_wlm_instance_info), _6(2249), _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(0), _20(0), _21(15, 25,1184,23,23,23,701,701,701,701,20,20,20,20,20,20), _22(15, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(15,"instancename","timestamp","used_cpu","free_memory","used_memory","io_await","io_util","disk_read","disk_write","process_read","process_write","logical_read","logical_write","read_counts","write_counts"), _24(NULL), _25("pg_stat_get_wlm_instance_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5031), _1("pg_stat_get_wlm_instance_info"), _2(0), _3(false), _4(true), _5(pg_stat_get_wlm_instance_info), _6(2249), _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(0), _20(0), _21(15, 25,1184,23,23,23,701,701,701,701,20,20,20,20,20,20), _22(15, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(15,"instancename","timestamp","used_cpu","free_memory","used_memory","io_await","io_util","disk_read","disk_write","process_read","process_write","logical_read","logical_write","read_counts","write_counts"), _24(NULL), _25("pg_stat_get_wlm_instance_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_wlm_instance_info_with_cleanup", 1, - AddBuiltinFunc(_0(5032), _1("pg_stat_get_wlm_instance_info_with_cleanup"), _2(0), _3(false), _4(true), _5(pg_stat_get_wlm_instance_info_with_cleanup), _6(2249), _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(0), _20(0), _21(15, 25,1184,23,23,23,701,701,701,701,20,20,20,20,20,20), _22(15, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(15,"instancename","timestamp","used_cpu","free_memory","used_memory","io_await","io_util","disk_read","disk_write","process_read","process_write","logical_read","logical_write","read_counts","write_counts"), _24(NULL), _25("pg_stat_get_wlm_instance_info_with_cleanup"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5032), _1("pg_stat_get_wlm_instance_info_with_cleanup"), _2(0), _3(false), _4(true), _5(pg_stat_get_wlm_instance_info_with_cleanup), _6(2249), _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(0), _20(0), _21(15, 25,1184,23,23,23,701,701,701,701,20,20,20,20,20,20), _22(15, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(15,"instancename","timestamp","used_cpu","free_memory","used_memory","io_await","io_util","disk_read","disk_write","process_read","process_write","logical_read","logical_write","read_counts","write_counts"), _24(NULL), _25("pg_stat_get_wlm_instance_info_with_cleanup"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_wlm_node_resource_info", 1, - AddBuiltinFunc(_0(5019), _1("pg_stat_get_wlm_node_resource_info"), _2(1), _3(false), _4(true), _5(pg_stat_get_wlm_node_resource_info), _6(2249), _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(0), _20(1, 23), _21(7, 23, 23, 23, 23, 23, 23, 23), _22(7, 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(7, "min_mem_util", "max_mem_util", "min_cpu_util", "max_cpu_util", "min_io_util", "max_io_util", "used_mem_rate"), _24(NULL), _25("pg_stat_get_wlm_node_resource_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5019), _1("pg_stat_get_wlm_node_resource_info"), _2(1), _3(false), _4(true), _5(pg_stat_get_wlm_node_resource_info), _6(2249), _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(0), _20(1, 23), _21(7, 23, 23, 23, 23, 23, 23, 23), _22(7, 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(7, "min_mem_util", "max_mem_util", "min_cpu_util", "max_cpu_util", "min_io_util", "max_io_util", "used_mem_rate"), _24(NULL), _25("pg_stat_get_wlm_node_resource_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_wlm_operator_info", 1, - AddBuiltinFunc(_0(5023), _1("pg_stat_get_wlm_operator_info"), _2(1), _3(false), _4(true), _5(pg_stat_get_wlm_operator_info), _6(2249), _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(0), _20(1, 26), _21(22, 20, 20, 23, 25, 1184, 20, 23, 20, 20, 23, 23, 23, 23, 23, 23, 23, 23, 20, 20, 20, 23, 25), _22(22, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(22, "queryid", "pid", "plan_node_id", "plan_node_name", "start_time", "duration", "query_dop", "estimated_rows", "tuple_processed", "min_peak_memory", "max_peak_memory", "average_peak_memory", "memory_skew_percent", "min_spill_size", "max_spill_size", "average_spill_size", "spill_skew_percent", "min_cpu_time", "max_cpu_time", "total_cpu_time", "cpu_skew_percent", "warning"), _24(NULL), _25("pg_stat_get_wlm_operator_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5023), _1("pg_stat_get_wlm_operator_info"), _2(1), _3(false), _4(true), _5(pg_stat_get_wlm_operator_info), _6(2249), _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(0), _20(1, 26), _21(22, 20, 20, 23, 25, 1184, 20, 23, 20, 20, 23, 23, 23, 23, 23, 23, 23, 23, 20, 20, 20, 23, 25), _22(22, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(22, "queryid", "pid", "plan_node_id", "plan_node_name", "start_time", "duration", "query_dop", "estimated_rows", "tuple_processed", "min_peak_memory", "max_peak_memory", "average_peak_memory", "memory_skew_percent", "min_spill_size", "max_spill_size", "average_spill_size", "spill_skew_percent", "min_cpu_time", "max_cpu_time", "total_cpu_time", "cpu_skew_percent", "warning"), _24(NULL), _25("pg_stat_get_wlm_operator_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_wlm_realtime_ec_operator_info", 1, - AddBuiltinFunc(_0(5025), _1("pg_stat_get_wlm_realtime_ec_operator_info"), _2(1), _3(false), _4(true), _5(pg_stat_get_wlm_realtime_ec_operator_info), _6(2249), _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(0), _20(1, 23), _21(12, 20, 23, 25, 1184, 23, 25, 25, 25, 25, 25, 25, 20), _22(12, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(12, "queryid", "plan_node_id", "plan_node_name", "start_time", "ec_operator", "ec_status", "ec_execute_datanode", "ec_dsn", "ec_username", "ec_query", "ec_libodbc_type", "ec_fetch_count"), _24(NULL), _25("pg_stat_get_wlm_realtime_ec_operator_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5025), _1("pg_stat_get_wlm_realtime_ec_operator_info"), _2(1), _3(false), _4(true), _5(pg_stat_get_wlm_realtime_ec_operator_info), _6(2249), _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(0), _20(1, 23), _21(12, 20, 23, 25, 1184, 23, 25, 25, 25, 25, 25, 25, 20), _22(12, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(12, "queryid", "plan_node_id", "plan_node_name", "start_time", "ec_operator", "ec_status", "ec_execute_datanode", "ec_dsn", "ec_username", "ec_query", "ec_libodbc_type", "ec_fetch_count"), _24(NULL), _25("pg_stat_get_wlm_realtime_ec_operator_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_wlm_realtime_operator_info", 1, - AddBuiltinFunc(_0(5022), _1("pg_stat_get_wlm_realtime_operator_info"), _2(1), _3(false), _4(true), _5(pg_stat_get_wlm_realtime_operator_info), _6(2249), _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(0), _20(1, 23), _21(23, 20, 20, 23, 25, 1184, 20, 25, 23, 20, 20, 23, 23, 23, 23, 23, 23, 23, 23, 20, 20, 20, 23, 25), _22(23, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(23, "queryid", "pid", "plan_node_id", "plan_node_name", "start_time", "duration", "status", "query_dop", "estimated_rows", "tuple_processed", "min_peak_memory", "max_peak_memory", "average_peak_memory", "memory_skew_percent", "min_spill_size", "max_spill_size", "average_spill_size", "spill_skew_percent", "min_cpu_time", "max_cpu_time", "total_cpu_time", "cpu_skew_percent", "warning"), _24(NULL), _25("pg_stat_get_wlm_realtime_operator_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5022), _1("pg_stat_get_wlm_realtime_operator_info"), _2(1), _3(false), _4(true), _5(pg_stat_get_wlm_realtime_operator_info), _6(2249), _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(0), _20(1, 23), _21(23, 20, 20, 23, 25, 1184, 20, 25, 23, 20, 20, 23, 23, 23, 23, 23, 23, 23, 23, 20, 20, 20, 23, 25), _22(23, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(23, "queryid", "pid", "plan_node_id", "plan_node_name", "start_time", "duration", "status", "query_dop", "estimated_rows", "tuple_processed", "min_peak_memory", "max_peak_memory", "average_peak_memory", "memory_skew_percent", "min_spill_size", "max_spill_size", "average_spill_size", "spill_skew_percent", "min_cpu_time", "max_cpu_time", "total_cpu_time", "cpu_skew_percent", "warning"), _24(NULL), _25("pg_stat_get_wlm_realtime_operator_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_wlm_realtime_session_info", 1, - AddBuiltinFunc(_0(5003), _1("pg_stat_get_wlm_realtime_session_info"), _2(1), _3(false), _4(true), _5(pg_stat_get_wlm_realtime_session_info), _6(2249), _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(0), _20(1, 23), _21(56, 25, 20, 20, 20, 20, 20, 25, 25, 25, 25, 23, 23, 23, 23, 23, 23, 23, 23, 23, 20, 20, 20, 23, 20, 20, 20, 23, 23, 23, 23, 23, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 25, 25), _22(56, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(56, "nodename", "threadid", "block_time", "duration", "estimate_total_time", "estimate_left_time", "schemaname", "query_band", "spill_info", "control_group", "estimate_memory", "min_peak_memory", "max_peak_memory", "average_peak_memory", "memory_skew_percent", "min_spill_size", "max_spill_size", "average_spill_size", "spill_skew_percent", "min_dn_time", "max_dn_time", "average_dn_time", "dntime_skew_percent", "min_cpu_time", "max_cpu_time", "total_cpu_time", "cpu_skew_percent", "min_peak_iops", "max_peak_iops", "average_peak_iops", "iops_skew_percent", "warning", "query", "query_plan", "cpu_top1_node_name", "cpu_top2_node_name", "cpu_top3_node_name", "cpu_top4_node_name", "cpu_top5_node_name", "mem_top1_node_name", "mem_top2_node_name", "mem_top3_node_name", "mem_top4_node_name", "mem_top5_node_name", "cpu_top1_value", "cpu_top2_value", "cpu_top3_value", "cpu_top4_value", "cpu_top5_value", "mem_top1_value", "mem_top2_value", "mem_top3_value", "mem_top4_value", "mem_top5_value", "top_mem_dn", "top_cpu_dn"), _24(NULL), _25("pg_stat_get_wlm_realtime_session_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5003), _1("pg_stat_get_wlm_realtime_session_info"), _2(1), _3(false), _4(true), _5(pg_stat_get_wlm_realtime_session_info), _6(2249), _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(0), _20(1, 23), _21(56, 25, 20, 20, 20, 20, 20, 25, 25, 25, 25, 23, 23, 23, 23, 23, 23, 23, 23, 23, 20, 20, 20, 23, 20, 20, 20, 23, 23, 23, 23, 23, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 25, 25), _22(56, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(56, "nodename", "threadid", "block_time", "duration", "estimate_total_time", "estimate_left_time", "schemaname", "query_band", "spill_info", "control_group", "estimate_memory", "min_peak_memory", "max_peak_memory", "average_peak_memory", "memory_skew_percent", "min_spill_size", "max_spill_size", "average_spill_size", "spill_skew_percent", "min_dn_time", "max_dn_time", "average_dn_time", "dntime_skew_percent", "min_cpu_time", "max_cpu_time", "total_cpu_time", "cpu_skew_percent", "min_peak_iops", "max_peak_iops", "average_peak_iops", "iops_skew_percent", "warning", "query", "query_plan", "cpu_top1_node_name", "cpu_top2_node_name", "cpu_top3_node_name", "cpu_top4_node_name", "cpu_top5_node_name", "mem_top1_node_name", "mem_top2_node_name", "mem_top3_node_name", "mem_top4_node_name", "mem_top5_node_name", "cpu_top1_value", "cpu_top2_value", "cpu_top3_value", "cpu_top4_value", "cpu_top5_value", "mem_top1_value", "mem_top2_value", "mem_top3_value", "mem_top4_value", "mem_top5_value", "top_mem_dn", "top_cpu_dn"), _24(NULL), _25("pg_stat_get_wlm_realtime_session_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_wlm_session_info", 1, - AddBuiltinFunc(_0(5002), _1("pg_stat_get_wlm_session_info"), _2(1), _3(false), _4(true), _5(pg_stat_get_wlm_session_info), _6(2249), _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(0), _20(1, 26), _21(87, 26, 25, 25, 25, 25, 25, 869, 25, 23, 25, 20, 1184, 1184, 20, 20, 25, 25, 25, 25, 23, 23, 23, 23, 23, 25, 23, 23, 23, 23, 20, 20, 20, 23, 20, 20, 20, 23, 23, 23, 23, 23, 25, 20, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 25, 25, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20), _22(87, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(87, "datid", "dbname", "schemaname", "nodename", "username", "application_name", "client_addr", "client_hostname", "client_port", "query_band", "block_time", "start_time", "finish_time", "duration", "estimate_total_time", "status", "abort_info", "resource_pool", "control_group", "estimate_memory", "min_peak_memory", "max_peak_memory", "average_peak_memory", "memory_skew_percent", "spill_info", "min_spill_size", "max_spill_size", "average_spill_size", "spill_skew_percent", "min_dn_time", "max_dn_time", "average_dn_time", "dntime_skew_percent", "min_cpu_time", "max_cpu_time", "total_cpu_time", "cpu_skew_percent", "min_peak_iops", "max_peak_iops", "average_peak_iops", "iops_skew_percent", "warning", "queryid", "query", "query_plan", "node_group", "cpu_top1_node_name", "cpu_top2_node_name", "cpu_top3_node_name", "cpu_top4_node_name", "cpu_top5_node_name", "mem_top1_node_name", "mem_top2_node_name", "mem_top3_node_name", "mem_top4_node_name", "mem_top5_node_name", "cpu_top1_value", "cpu_top2_value", "cpu_top3_value", "cpu_top4_value", "cpu_top5_value", "mem_top1_value", "mem_top2_value", "mem_top3_value", "mem_top4_value", "mem_top5_value", "top_mem_dn", "top_cpu_dn", "n_returned_rows", "n_tuples_fetched", "n_tuples_returned", "n_tuples_inserted", "n_tuples_updated", "n_tuples_deleted", "n_blocks_fetched", "n_blocks_hit", "db_time", "cpu_time", "execution_time", "parse_time", "plan_time", "rewrite_time", "pl_execution_time", "pl_compilation_time", "net_send_time", "data_io_time", "is_slow_query"), _24(NULL), _25("pg_stat_get_wlm_session_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5002), _1("pg_stat_get_wlm_session_info"), _2(1), _3(false), _4(true), _5(pg_stat_get_wlm_session_info), _6(2249), _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(0), _20(1, 26), _21(87, 26, 25, 25, 25, 25, 25, 869, 25, 23, 25, 20, 1184, 1184, 20, 20, 25, 25, 25, 25, 23, 23, 23, 23, 23, 25, 23, 23, 23, 23, 20, 20, 20, 23, 20, 20, 20, 23, 23, 23, 23, 23, 25, 20, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 25, 25, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20), _22(87, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(87, "datid", "dbname", "schemaname", "nodename", "username", "application_name", "client_addr", "client_hostname", "client_port", "query_band", "block_time", "start_time", "finish_time", "duration", "estimate_total_time", "status", "abort_info", "resource_pool", "control_group", "estimate_memory", "min_peak_memory", "max_peak_memory", "average_peak_memory", "memory_skew_percent", "spill_info", "min_spill_size", "max_spill_size", "average_spill_size", "spill_skew_percent", "min_dn_time", "max_dn_time", "average_dn_time", "dntime_skew_percent", "min_cpu_time", "max_cpu_time", "total_cpu_time", "cpu_skew_percent", "min_peak_iops", "max_peak_iops", "average_peak_iops", "iops_skew_percent", "warning", "queryid", "query", "query_plan", "node_group", "cpu_top1_node_name", "cpu_top2_node_name", "cpu_top3_node_name", "cpu_top4_node_name", "cpu_top5_node_name", "mem_top1_node_name", "mem_top2_node_name", "mem_top3_node_name", "mem_top4_node_name", "mem_top5_node_name", "cpu_top1_value", "cpu_top2_value", "cpu_top3_value", "cpu_top4_value", "cpu_top5_value", "mem_top1_value", "mem_top2_value", "mem_top3_value", "mem_top4_value", "mem_top5_value", "top_mem_dn", "top_cpu_dn", "n_returned_rows", "n_tuples_fetched", "n_tuples_returned", "n_tuples_inserted", "n_tuples_updated", "n_tuples_deleted", "n_blocks_fetched", "n_blocks_hit", "db_time", "cpu_time", "execution_time", "parse_time", "plan_time", "rewrite_time", "pl_execution_time", "pl_compilation_time", "net_send_time", "data_io_time", "is_slow_query"), _24(NULL), _25("pg_stat_get_wlm_session_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_wlm_session_info_internal", 1, - AddBuiltinFunc(_0(5001), _1("pg_stat_get_wlm_session_info_internal"), _2(4), _3(false), _4(true), _5(pg_stat_get_wlm_session_info_internal), _6(25), _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(0), _20(4, 26, 20, 20, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_wlm_session_info_internal"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5001), _1("pg_stat_get_wlm_session_info_internal"), _2(4), _3(false), _4(true), _5(pg_stat_get_wlm_session_info_internal), _6(25), _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(0), _20(4, 26, 20, 20, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_wlm_session_info_internal"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_wlm_session_iostat_info", 1, - AddBuiltinFunc(_0(5014), _1("pg_stat_get_wlm_session_iostat_info"), _2(1), _3(false), _4(true), _5(pg_stat_get_wlm_session_iostat_info), _6(2249), _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(0), _20(1, 23), _21(7, 20, 23, 23, 23, 23, 23, 23), _22(7, 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(7, "threadid", "maxcurr_iops", "mincurr_iops", "maxpeak_iops", "minpeak_iops", "iops_limits", "io_priority"), _24(NULL), _25("pg_stat_get_wlm_session_iostat_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5014), _1("pg_stat_get_wlm_session_iostat_info"), _2(1), _3(false), _4(true), _5(pg_stat_get_wlm_session_iostat_info), _6(2249), _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(0), _20(1, 23), _21(7, 20, 23, 23, 23, 23, 23, 23), _22(7, 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(7, "threadid", "maxcurr_iops", "mincurr_iops", "maxpeak_iops", "minpeak_iops", "iops_limits", "io_priority"), _24(NULL), _25("pg_stat_get_wlm_session_iostat_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_wlm_statistics", 1, - AddBuiltinFunc(_0(3501), _1("pg_stat_get_wlm_statistics"), _2(1), _3(false), _4(true), _5(pg_stat_get_wlm_statistics), _6(2249), _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(0), _20(1, 23), _21(9, 25, 20, 20, 20, 20, 23, 25, 25, 25), _22(9, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(9, "statement", "block_time", "elapsed_time", "total_cpu_time", "qualification_time", "skew_percent", "control_group", "status", "action"), _24(NULL), _25("pg_stat_get_wlm_statistics"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3501), _1("pg_stat_get_wlm_statistics"), _2(1), _3(false), _4(true), _5(pg_stat_get_wlm_statistics), _6(2249), _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(0), _20(1, 23), _21(9, 25, 20, 20, 20, 20, 23, 25, 25, 25), _22(9, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(9, "statement", "block_time", "elapsed_time", "total_cpu_time", "qualification_time", "skew_percent", "control_group", "status", "action"), _24(NULL), _25("pg_stat_get_wlm_statistics"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_workload_struct_info", 1, - AddBuiltinFunc(_0(5026), _1("pg_stat_get_workload_struct_info"), _2(0), _3(true), _4(false), _5(pg_stat_get_workload_struct_info), _6(25), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_workload_struct_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5026), _1("pg_stat_get_workload_struct_info"), _2(0), _3(true), _4(false), _5(pg_stat_get_workload_struct_info), _6(25), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_workload_struct_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_xact_blocks_fetched", 1, - AddBuiltinFunc(_0(3044), _1("pg_stat_get_xact_blocks_fetched"), _2(1), _3(true), _4(false), _5(pg_stat_get_xact_blocks_fetched), _6(20), _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('v'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_xact_blocks_fetched"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3044), _1("pg_stat_get_xact_blocks_fetched"), _2(1), _3(true), _4(false), _5(pg_stat_get_xact_blocks_fetched), _6(20), _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('v'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_xact_blocks_fetched"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_xact_blocks_hit", 1, - AddBuiltinFunc(_0(3045), _1("pg_stat_get_xact_blocks_hit"), _2(1), _3(true), _4(false), _5(pg_stat_get_xact_blocks_hit), _6(20), _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('v'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_xact_blocks_hit"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3045), _1("pg_stat_get_xact_blocks_hit"), _2(1), _3(true), _4(false), _5(pg_stat_get_xact_blocks_hit), _6(20), _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('v'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_xact_blocks_hit"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_xact_function_calls", 1, - AddBuiltinFunc(_0(3046), _1("pg_stat_get_xact_function_calls"), _2(1), _3(true), _4(false), _5(pg_stat_get_xact_function_calls), _6(20), _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('v'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_xact_function_calls"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3046), _1("pg_stat_get_xact_function_calls"), _2(1), _3(true), _4(false), _5(pg_stat_get_xact_function_calls), _6(20), _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('v'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_xact_function_calls"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_xact_function_self_time", 1, - AddBuiltinFunc(_0(3048), _1("pg_stat_get_xact_function_self_time"), _2(1), _3(true), _4(false), _5(pg_stat_get_xact_function_self_time), _6(701), _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('v'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_xact_function_self_time"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3048), _1("pg_stat_get_xact_function_self_time"), _2(1), _3(true), _4(false), _5(pg_stat_get_xact_function_self_time), _6(701), _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('v'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_xact_function_self_time"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_xact_function_total_time", 1, - AddBuiltinFunc(_0(3047), _1("pg_stat_get_xact_function_total_time"), _2(1), _3(true), _4(false), _5(pg_stat_get_xact_function_total_time), _6(701), _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('v'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_xact_function_total_time"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3047), _1("pg_stat_get_xact_function_total_time"), _2(1), _3(true), _4(false), _5(pg_stat_get_xact_function_total_time), _6(701), _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('v'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_xact_function_total_time"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_xact_numscans", 1, - AddBuiltinFunc(_0(3037), _1("pg_stat_get_xact_numscans"), _2(1), _3(true), _4(false), _5(pg_stat_get_xact_numscans), _6(20), _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('v'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_xact_numscans"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3037), _1("pg_stat_get_xact_numscans"), _2(1), _3(true), _4(false), _5(pg_stat_get_xact_numscans), _6(20), _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('v'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_xact_numscans"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_xact_partition_tuples_deleted", 1, - AddBuiltinFunc(_0(4093), _1("pg_stat_get_xact_partition_tuples_deleted"), _2(1), _3(false), _4(true), _5(pg_stat_get_xact_partition_tuples_deleted), _6(20), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(10), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_xact_partition_tuples_deleted"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4093), _1("pg_stat_get_xact_partition_tuples_deleted"), _2(1), _3(false), _4(true), _5(pg_stat_get_xact_partition_tuples_deleted), _6(20), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(10), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_xact_partition_tuples_deleted"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_xact_partition_tuples_hot_updated", 1, - AddBuiltinFunc(_0(4096), _1("pg_stat_get_xact_partition_tuples_hot_updated"), _2(1), _3(false), _4(true), _5(pg_stat_get_xact_partition_tuples_hot_updated), _6(20), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(10), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_xact_partition_tuples_hot_updated"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4096), _1("pg_stat_get_xact_partition_tuples_hot_updated"), _2(1), _3(false), _4(true), _5(pg_stat_get_xact_partition_tuples_hot_updated), _6(20), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(10), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_xact_partition_tuples_hot_updated"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_xact_partition_tuples_inserted", 1, - AddBuiltinFunc(_0(4094), _1("pg_stat_get_xact_partition_tuples_inserted"), _2(1), _3(false), _4(true), _5(pg_stat_get_xact_partition_tuples_inserted), _6(20), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(10), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_xact_partition_tuples_inserted"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4094), _1("pg_stat_get_xact_partition_tuples_inserted"), _2(1), _3(false), _4(true), _5(pg_stat_get_xact_partition_tuples_inserted), _6(20), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(10), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_xact_partition_tuples_inserted"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_xact_partition_tuples_updated", 1, - AddBuiltinFunc(_0(4095), _1("pg_stat_get_xact_partition_tuples_updated"), _2(1), _3(false), _4(true), _5(pg_stat_get_xact_partition_tuples_updated), _6(20), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(10), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_xact_partition_tuples_updated"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4095), _1("pg_stat_get_xact_partition_tuples_updated"), _2(1), _3(false), _4(true), _5(pg_stat_get_xact_partition_tuples_updated), _6(20), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(10), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_xact_partition_tuples_updated"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_xact_tuples_deleted", 1, - AddBuiltinFunc(_0(3042), _1("pg_stat_get_xact_tuples_deleted"), _2(1), _3(true), _4(false), _5(pg_stat_get_xact_tuples_deleted), _6(20), _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('v'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_xact_tuples_deleted"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3042), _1("pg_stat_get_xact_tuples_deleted"), _2(1), _3(true), _4(false), _5(pg_stat_get_xact_tuples_deleted), _6(20), _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('v'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_xact_tuples_deleted"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_xact_tuples_fetched", 1, - AddBuiltinFunc(_0(3039), _1("pg_stat_get_xact_tuples_fetched"), _2(1), _3(true), _4(false), _5(pg_stat_get_xact_tuples_fetched), _6(20), _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('v'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_xact_tuples_fetched"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3039), _1("pg_stat_get_xact_tuples_fetched"), _2(1), _3(true), _4(false), _5(pg_stat_get_xact_tuples_fetched), _6(20), _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('v'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_xact_tuples_fetched"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_xact_tuples_hot_updated", 1, - AddBuiltinFunc(_0(3043), _1("pg_stat_get_xact_tuples_hot_updated"), _2(1), _3(true), _4(false), _5(pg_stat_get_xact_tuples_hot_updated), _6(20), _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('v'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_xact_tuples_hot_updated"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3043), _1("pg_stat_get_xact_tuples_hot_updated"), _2(1), _3(true), _4(false), _5(pg_stat_get_xact_tuples_hot_updated), _6(20), _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('v'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_xact_tuples_hot_updated"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_xact_tuples_inserted", 1, - AddBuiltinFunc(_0(3040), _1("pg_stat_get_xact_tuples_inserted"), _2(1), _3(true), _4(false), _5(pg_stat_get_xact_tuples_inserted), _6(20), _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('v'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_xact_tuples_inserted"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3040), _1("pg_stat_get_xact_tuples_inserted"), _2(1), _3(true), _4(false), _5(pg_stat_get_xact_tuples_inserted), _6(20), _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('v'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_xact_tuples_inserted"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_xact_tuples_returned", 1, - AddBuiltinFunc(_0(3038), _1("pg_stat_get_xact_tuples_returned"), _2(1), _3(true), _4(false), _5(pg_stat_get_xact_tuples_returned), _6(20), _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('v'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_xact_tuples_returned"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3038), _1("pg_stat_get_xact_tuples_returned"), _2(1), _3(true), _4(false), _5(pg_stat_get_xact_tuples_returned), _6(20), _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('v'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_xact_tuples_returned"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_get_xact_tuples_updated", 1, - AddBuiltinFunc(_0(3041), _1("pg_stat_get_xact_tuples_updated"), _2(1), _3(true), _4(false), _5(pg_stat_get_xact_tuples_updated), _6(20), _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('v'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_xact_tuples_updated"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3041), _1("pg_stat_get_xact_tuples_updated"), _2(1), _3(true), _4(false), _5(pg_stat_get_xact_tuples_updated), _6(20), _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('v'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_get_xact_tuples_updated"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_reset", 1, - AddBuiltinFunc(_0(2274), _1("pg_stat_reset"), _2(0), _3(false), _4(false), _5(pg_stat_reset), _6(2278), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_reset"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2274), _1("pg_stat_reset"), _2(0), _3(false), _4(false), _5(pg_stat_reset), _6(2278), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_reset"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_reset_shared", 1, - AddBuiltinFunc(_0(3775), _1("pg_stat_reset_shared"), _2(1), _3(true), _4(false), _5(pg_stat_reset_shared), _6(2278), _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('v'), _19(0), _20(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_reset_shared"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3775), _1("pg_stat_reset_shared"), _2(1), _3(true), _4(false), _5(pg_stat_reset_shared), _6(2278), _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('v'), _19(0), _20(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_reset_shared"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_reset_single_function_counters", 1, - AddBuiltinFunc(_0(3777), _1("pg_stat_reset_single_function_counters"), _2(1), _3(false), _4(false), _5(pg_stat_reset_single_function_counters), _6(2278), _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('v'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_reset_single_function_counters"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3777), _1("pg_stat_reset_single_function_counters"), _2(1), _3(false), _4(false), _5(pg_stat_reset_single_function_counters), _6(2278), _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('v'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_reset_single_function_counters"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_reset_single_table_counters", 1, - AddBuiltinFunc(_0(3776), _1("pg_stat_reset_single_table_counters"), _2(1), _3(false), _4(false), _5(pg_stat_reset_single_table_counters), _6(2278), _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('v'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_reset_single_table_counters"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3776), _1("pg_stat_reset_single_table_counters"), _2(1), _3(false), _4(false), _5(pg_stat_reset_single_table_counters), _6(2278), _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('v'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_reset_single_table_counters"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_stat_set_last_data_changed_time", 1, - AddBuiltinFunc(_0(5601), _1("pg_stat_set_last_data_changed_time"), _2(1), _3(true), _4(false), _5(pg_stat_set_last_data_changed_time), _6(2278), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_set_last_data_changed_time"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5601), _1("pg_stat_set_last_data_changed_time"), _2(1), _3(true), _4(false), _5(pg_stat_set_last_data_changed_time), _6(2278), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stat_set_last_data_changed_time"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( - "pg_stop_backup", 2, - AddBuiltinFunc(_0(2173), _1("pg_stop_backup"), _2(0), _3(true), _4(false), _5(pg_stop_backup), _6(25), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stop_backup"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(6204), _1("pg_stop_backup"), _2(1), _3(true), _4(true), _5(pg_stop_backup_v2), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(1,16), _21(4, 16, 25, 25, 25), _22(4, 'i', 'o', 'o', 'o'), _23(4, "exclusive", "lsn","labelfile", "spcmapfile"), _24(NULL), _25("pg_stop_backup_v2"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + "pg_stop_backup", 1, + AddBuiltinFunc(_0(2173), _1("pg_stop_backup"), _2(0), _3(true), _4(false), _5(pg_stop_backup), _6(25), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_stop_backup"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_switch_xlog", 1, - AddBuiltinFunc(_0(2848), _1("pg_switch_xlog"), _2(0), _3(true), _4(false), _5(pg_switch_xlog), _6(25), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_switch_xlog"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2848), _1("pg_switch_xlog"), _2(0), _3(true), _4(false), _5(pg_switch_xlog), _6(25), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_switch_xlog"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_sync_cstore_delta", 2, - AddBuiltinFunc(_0(3164), _1("pg_sync_cstore_delta"), _2(1), _3(true), _4(false), _5(pg_sync_cstore_delta), _6(20), _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('s'), _19(0), _20(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_sync_cstore_delta"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3534), _1("pg_sync_cstore_delta"), _2(0), _3(true), _4(false), _5(pg_sync_all_cstore_delta), _6(20), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_sync_all_cstore_delta"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3164), _1("pg_sync_cstore_delta"), _2(1), _3(true), _4(false), _5(pg_sync_cstore_delta), _6(20), _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('s'), _19(0), _20(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_sync_cstore_delta"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3534), _1("pg_sync_cstore_delta"), _2(0), _3(true), _4(false), _5(pg_sync_all_cstore_delta), _6(20), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_sync_all_cstore_delta"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_systimestamp", 1, - AddBuiltinFunc(_0(PGSYSTIMESTAMPFUNCOID), _1("pg_systimestamp"), _2(0), _3(true), _4(false), _5(pg_system_timestamp), _6(1184), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_system_timestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(PGSYSTIMESTAMPFUNCOID), _1("pg_systimestamp"), _2(0), _3(true), _4(false), _5(pg_system_timestamp), _6(1184), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_system_timestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_table_is_visible", 1, - AddBuiltinFunc(_0(2079), _1("pg_table_is_visible"), _2(1), _3(true), _4(false), _5(pg_table_is_visible), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_table_is_visible"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2079), _1("pg_table_is_visible"), _2(1), _3(true), _4(false), _5(pg_table_is_visible), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_table_is_visible"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_table_size", 1, - AddBuiltinFunc(_0(2997), _1("pg_table_size"), _2(1), _3(true), _4(false), _5(pg_table_size), _6(20), _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('v'), _19(0), _20(1, 2205), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_table_size"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2997), _1("pg_table_size"), _2(1), _3(true), _4(false), _5(pg_table_size), _6(20), _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('v'), _19(0), _20(1, 2205), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_table_size"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_tablespace_databases", 1, - AddBuiltinFunc(_0(2556), _1("pg_tablespace_databases"), _2(1), _3(true), _4(true), _5(pg_tablespace_databases), _6(26), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_tablespace_databases"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2556), _1("pg_tablespace_databases"), _2(1), _3(true), _4(true), _5(pg_tablespace_databases), _6(26), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_tablespace_databases"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_tablespace_location", 1, - AddBuiltinFunc(_0(3778), _1("pg_tablespace_location"), _2(1), _3(true), _4(false), _5(pg_tablespace_location), _6(25), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_tablespace_location"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3778), _1("pg_tablespace_location"), _2(1), _3(true), _4(false), _5(pg_tablespace_location), _6(25), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_tablespace_location"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_tablespace_size", 2, - AddBuiltinFunc(_0(2322), _1("pg_tablespace_size"), _2(1), _3(true), _4(false), _5(pg_tablespace_size_oid), _6(20), _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('v'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_tablespace_size_oid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2323), _1("pg_tablespace_size"), _2(1), _3(true), _4(false), _5(pg_tablespace_size_name), _6(20), _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('v'), _19(0), _20(1, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_tablespace_size_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2322), _1("pg_tablespace_size"), _2(1), _3(true), _4(false), _5(pg_tablespace_size_oid), _6(20), _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('v'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_tablespace_size_oid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2323), _1("pg_tablespace_size"), _2(1), _3(true), _4(false), _5(pg_tablespace_size_name), _6(20), _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('v'), _19(0), _20(1, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_tablespace_size_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_tde_info", 1, - AddBuiltinFunc(_0(3999), _1("pg_tde_info"), _2(0), _3(true), _4(true), _5(pg_tde_info), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(3, 16, 25, 25), _22(3, 'o', 'o', 'o'), _23(3, "is_encrypt", "g_tde_algo", "remain"), _24(NULL), _25("pg_tde_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3999), _1("pg_tde_info"), _2(0), _3(true), _4(true), _5(pg_tde_info), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(3, 16, 25, 25), _22(3, 'o', 'o', 'o'), _23(3, "is_encrypt", "g_tde_algo", "remain"), _24(NULL), _25("pg_tde_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_terminate_backend", 1, - AddBuiltinFunc(_0(2096), _1("pg_terminate_backend"), _2(1), _3(true), _4(false), _5(pg_terminate_backend), _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('v'), _19(0), _20(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_terminate_backend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2096), _1("pg_terminate_backend"), _2(1), _3(true), _4(false), _5(pg_terminate_backend), _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('v'), _19(0), _20(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_terminate_backend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_terminate_session", 1, - AddBuiltinFunc(_0(2099), _1("pg_terminate_session"), _2(2), _3(true), _4(false), _5(pg_terminate_session), _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('v'), _19(0), _20(2, 20, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_terminate_session"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2099), _1("pg_terminate_session"), _2(2), _3(true), _4(false), _5(pg_terminate_session), _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('v'), _19(0), _20(2, 20, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_terminate_session"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_test_err_contain_err", 1, - AddBuiltinFunc(_0(9999), _1("pg_test_err_contain_err"), _2(1), _3(true), _4(false), _5(pg_test_err_contain_err), _6(2278), _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('v'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_test_err_contain_err"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(9999), _1("pg_test_err_contain_err"), _2(1), _3(true), _4(false), _5(pg_test_err_contain_err), _6(2278), _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('v'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_test_err_contain_err"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_timezone_abbrevs", 1, - AddBuiltinFunc(_0(2599), _1("pg_timezone_abbrevs"), _2(0), _3(true), _4(true), _5(pg_timezone_abbrevs), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(3, 25, 1186, 16), _22(3, 'o', 'o', 'o'), _23(3, "abbrev", "utc_offset", "is_dst"), _24(NULL), _25("pg_timezone_abbrevs"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2599), _1("pg_timezone_abbrevs"), _2(0), _3(true), _4(true), _5(pg_timezone_abbrevs), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(3, 25, 1186, 16), _22(3, 'o', 'o', 'o'), _23(3, "abbrev", "utc_offset", "is_dst"), _24(NULL), _25("pg_timezone_abbrevs"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_timezone_names", 1, - AddBuiltinFunc(_0(2856), _1("pg_timezone_names"), _2(0), _3(true), _4(true), _5(pg_timezone_names), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(4, 25, 25, 1186, 16), _22(4, 'o', 'o', 'o', 'o'), _23(4, "name", "abbrev", "utc_offset", "is_dst"), _24(NULL), _25("pg_timezone_names"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2856), _1("pg_timezone_names"), _2(0), _3(true), _4(true), _5(pg_timezone_names), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(4, 25, 25, 1186, 16), _22(4, 'o', 'o', 'o', 'o'), _23(4, "name", "abbrev", "utc_offset", "is_dst"), _24(NULL), _25("pg_timezone_names"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_total_autovac_tuples", 1, - AddBuiltinFunc(_0(3222), _1("pg_total_autovac_tuples"), _2(1), _3(true), _4(true), _5(pg_total_autovac_tuples), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(1, 16), _21(8, 16, 19, 19, 19, 19, 20, 20, 20), _22(8, 'i', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(8, "for_raltion", "nodename", "nspname", "relname", "partname", "n_dead_tuples", "n_live_tuples", "changes_since_analyze"), _24(NULL), _25("pg_total_autovac_tuples"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3222), _1("pg_total_autovac_tuples"), _2(1), _3(true), _4(true), _5(pg_total_autovac_tuples), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(1, 16), _21(8, 16, 19, 19, 19, 19, 20, 20, 20), _22(8, 'i', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(8, "for_raltion", "nodename", "nspname", "relname", "partname", "n_dead_tuples", "n_live_tuples", "changes_since_analyze"), _24(NULL), _25("pg_total_autovac_tuples"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_total_relation_size", 1, - AddBuiltinFunc(_0(2286), _1("pg_total_relation_size"), _2(1), _3(true), _4(false), _5(pg_total_relation_size), _6(20), _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('v'), _19(0), _20(1, 2205), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_total_relation_size"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2286), _1("pg_total_relation_size"), _2(1), _3(true), _4(false), _5(pg_total_relation_size), _6(20), _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('v'), _19(0), _20(1, 2205), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_total_relation_size"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_trigger_depth", 1, - AddBuiltinFunc(_0(3163), _1("pg_trigger_depth"), _2(0), _3(true), _4(false), _5(pg_trigger_depth), _6(23), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_trigger_depth"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3163), _1("pg_trigger_depth"), _2(0), _3(true), _4(false), _5(pg_trigger_depth), _6(23), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_trigger_depth"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_try_advisory_lock", 2, - AddBuiltinFunc(_0(2882), _1("pg_try_advisory_lock"), _2(1), _3(true), _4(false), _5(pg_try_advisory_lock_int8), _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('v'), _19(0), _20(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_try_advisory_lock_int8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2888), _1("pg_try_advisory_lock"), _2(2), _3(true), _4(false), _5(pg_try_advisory_lock_int4), _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('v'), _19(0), _20(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_try_advisory_lock_int4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2882), _1("pg_try_advisory_lock"), _2(1), _3(true), _4(false), _5(pg_try_advisory_lock_int8), _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('v'), _19(0), _20(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_try_advisory_lock_int8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2888), _1("pg_try_advisory_lock"), _2(2), _3(true), _4(false), _5(pg_try_advisory_lock_int4), _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('v'), _19(0), _20(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_try_advisory_lock_int4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_try_advisory_lock_shared", 2, - AddBuiltinFunc(_0(2883), _1("pg_try_advisory_lock_shared"), _2(1), _3(true), _4(false), _5(pg_try_advisory_lock_shared_int8), _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('v'), _19(0), _20(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_try_advisory_lock_shared_int8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2889), _1("pg_try_advisory_lock_shared"), _2(2), _3(true), _4(false), _5(pg_try_advisory_lock_shared_int4), _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('v'), _19(0), _20(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_try_advisory_lock_shared_int4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2883), _1("pg_try_advisory_lock_shared"), _2(1), _3(true), _4(false), _5(pg_try_advisory_lock_shared_int8), _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('v'), _19(0), _20(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_try_advisory_lock_shared_int8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2889), _1("pg_try_advisory_lock_shared"), _2(2), _3(true), _4(false), _5(pg_try_advisory_lock_shared_int4), _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('v'), _19(0), _20(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_try_advisory_lock_shared_int4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_try_advisory_xact_lock", 2, - AddBuiltinFunc(_0(3091), _1("pg_try_advisory_xact_lock"), _2(1), _3(true), _4(false), _5(pg_try_advisory_xact_lock_int8), _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('v'), _19(0), _20(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_try_advisory_xact_lock_int8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3095), _1("pg_try_advisory_xact_lock"), _2(2), _3(true), _4(false), _5(pg_try_advisory_xact_lock_int4), _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('v'), _19(0), _20(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_try_advisory_xact_lock_int4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3091), _1("pg_try_advisory_xact_lock"), _2(1), _3(true), _4(false), _5(pg_try_advisory_xact_lock_int8), _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('v'), _19(0), _20(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_try_advisory_xact_lock_int8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3095), _1("pg_try_advisory_xact_lock"), _2(2), _3(true), _4(false), _5(pg_try_advisory_xact_lock_int4), _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('v'), _19(0), _20(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_try_advisory_xact_lock_int4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_try_advisory_xact_lock_shared", 2, - AddBuiltinFunc(_0(3092), _1("pg_try_advisory_xact_lock_shared"), _2(1), _3(true), _4(false), _5(pg_try_advisory_xact_lock_shared_int8), _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('v'), _19(0), _20(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_try_advisory_xact_lock_shared_int8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3096), _1("pg_try_advisory_xact_lock_shared"), _2(2), _3(true), _4(false), _5(pg_try_advisory_xact_lock_shared_int4), _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('v'), _19(0), _20(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_try_advisory_xact_lock_shared_int4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3092), _1("pg_try_advisory_xact_lock_shared"), _2(1), _3(true), _4(false), _5(pg_try_advisory_xact_lock_shared_int8), _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('v'), _19(0), _20(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_try_advisory_xact_lock_shared_int8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3096), _1("pg_try_advisory_xact_lock_shared"), _2(2), _3(true), _4(false), _5(pg_try_advisory_xact_lock_shared_int4), _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('v'), _19(0), _20(2, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_try_advisory_xact_lock_shared_int4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_ts_config_is_visible", 1, - AddBuiltinFunc(_0(3758), _1("pg_ts_config_is_visible"), _2(1), _3(true), _4(false), _5(pg_ts_config_is_visible), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_ts_config_is_visible"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3758), _1("pg_ts_config_is_visible"), _2(1), _3(true), _4(false), _5(pg_ts_config_is_visible), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_ts_config_is_visible"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_ts_dict_is_visible", 1, - AddBuiltinFunc(_0(3757), _1("pg_ts_dict_is_visible"), _2(1), _3(true), _4(false), _5(pg_ts_dict_is_visible), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_ts_dict_is_visible"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3757), _1("pg_ts_dict_is_visible"), _2(1), _3(true), _4(false), _5(pg_ts_dict_is_visible), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_ts_dict_is_visible"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_ts_parser_is_visible", 1, - AddBuiltinFunc(_0(3756), _1("pg_ts_parser_is_visible"), _2(1), _3(true), _4(false), _5(pg_ts_parser_is_visible), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_ts_parser_is_visible"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3756), _1("pg_ts_parser_is_visible"), _2(1), _3(true), _4(false), _5(pg_ts_parser_is_visible), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_ts_parser_is_visible"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_ts_template_is_visible", 1, - AddBuiltinFunc(_0(3768), _1("pg_ts_template_is_visible"), _2(1), _3(true), _4(false), _5(pg_ts_template_is_visible), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_ts_template_is_visible"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3768), _1("pg_ts_template_is_visible"), _2(1), _3(true), _4(false), _5(pg_ts_template_is_visible), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_ts_template_is_visible"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_type_is_visible", 1, - AddBuiltinFunc(_0(2080), _1("pg_type_is_visible"), _2(1), _3(true), _4(false), _5(pg_type_is_visible), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_type_is_visible"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2080), _1("pg_type_is_visible"), _2(1), _3(true), _4(false), _5(pg_type_is_visible), _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('s'), _19(0), _20(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_type_is_visible"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_typeof", 1, - AddBuiltinFunc(_0(PGTYPEOFFUNCOID), _1("pg_typeof"), _2(1), _3(false), _4(false), _5(pg_typeof), _6(2206), _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('s'), _19(0), _20(1, 2276), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_typeof"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(PGTYPEOFFUNCOID), _1("pg_typeof"), _2(1), _3(false), _4(false), _5(pg_typeof), _6(2206), _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('s'), _19(0), _20(1, 2276), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_typeof"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_user_iostat", 1, - AddBuiltinFunc(_0(5013), _1("pg_user_iostat"), _2(1), _3(false), _4(true), _5(pg_stat_get_wlm_user_iostat_info), _6(2249), _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(0), _20(1, 2275), _21(7, 26, 23, 23, 23, 23, 23, 25), _22(7, 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(7, "userid", "min_curr_iops", "max_curr_iops", "min_peak_iops", "max_peak_iops", "io_limits", "io_priority"), _24(NULL), _25("pg_stat_get_wlm_user_iostat_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5013), _1("pg_user_iostat"), _2(1), _3(false), _4(true), _5(pg_stat_get_wlm_user_iostat_info), _6(2249), _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(0), _20(1, 2275), _21(7, 26, 23, 23, 23, 23, 23, 25), _22(7, 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(7, "userid", "min_curr_iops", "max_curr_iops", "min_peak_iops", "max_peak_iops", "io_limits", "io_priority"), _24(NULL), _25("pg_stat_get_wlm_user_iostat_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_wlm_jump_queue", 1, - AddBuiltinFunc(_0(3503), _1("pg_wlm_jump_queue"), _2(1), _3(true), _4(false), _5(pg_wlm_jump_queue), _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('v'), _19(0), _20(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_wlm_jump_queue"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3503), _1("pg_wlm_jump_queue"), _2(1), _3(true), _4(false), _5(pg_wlm_jump_queue), _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('v'), _19(0), _20(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_wlm_jump_queue"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_xlog_location_diff", 1, - AddBuiltinFunc(_0(3165), _1("pg_xlog_location_diff"), _2(2), _3(true), _4(false), _5(pg_xlog_location_diff), _6(1700), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_xlog_location_diff"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3165), _1("pg_xlog_location_diff"), _2(2), _3(true), _4(false), _5(pg_xlog_location_diff), _6(1700), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_xlog_location_diff"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_xlog_replay_pause", 1, - AddBuiltinFunc(_0(3071), _1("pg_xlog_replay_pause"), _2(0), _3(true), _4(false), _5(pg_xlog_replay_pause), _6(2278), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_xlog_replay_pause"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3071), _1("pg_xlog_replay_pause"), _2(0), _3(true), _4(false), _5(pg_xlog_replay_pause), _6(2278), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_xlog_replay_pause"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_xlog_replay_resume", 1, - AddBuiltinFunc(_0(3072), _1("pg_xlog_replay_resume"), _2(0), _3(true), _4(false), _5(pg_xlog_replay_resume), _6(2278), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_xlog_replay_resume"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3072), _1("pg_xlog_replay_resume"), _2(0), _3(true), _4(false), _5(pg_xlog_replay_resume), _6(2278), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_xlog_replay_resume"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_xlogfile_name", 1, - AddBuiltinFunc(_0(2851), _1("pg_xlogfile_name"), _2(1), _3(true), _4(false), _5(pg_xlogfile_name), _6(25), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_xlogfile_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2851), _1("pg_xlogfile_name"), _2(1), _3(true), _4(false), _5(pg_xlogfile_name), _6(25), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pg_xlogfile_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pg_xlogfile_name_offset", 1, - AddBuiltinFunc(_0(2850), _1("pg_xlogfile_name_offset"), _2(1), _3(true), _4(false), _5(pg_xlogfile_name_offset), _6(2249), _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(1, 25), _21(3, 25, 25, 23), _22(3, 'i', 'o', 'o'), _23(3, "wal_location", "file_name", "file_offset"), _24(NULL), _25("pg_xlogfile_name_offset"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2850), _1("pg_xlogfile_name_offset"), _2(1), _3(true), _4(false), _5(pg_xlogfile_name_offset), _6(2249), _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(1, 25), _21(3, 25, 25, 23), _22(3, 'i', 'o', 'o'), _23(3, "wal_location", "file_name", "file_offset"), _24(NULL), _25("pg_xlogfile_name_offset"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pgxc_get_csn", 1, - AddBuiltinFunc(_0(3960), _1("pgxc_get_csn"), _2(1), _3(true), _4(true), _5(pgxc_get_csn), _6(20), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(1, 28), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pgxc_get_csn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3960), _1("pgxc_get_csn"), _2(1), _3(true), _4(true), _5(pgxc_get_csn), _6(20), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(1, 28), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pgxc_get_csn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pgxc_get_thread_wait_status", 1, - AddBuiltinFunc(_0(3591), _1("pgxc_get_thread_wait_status"), _2(0), _3(false), _4(true), _5(pgxc_stat_get_status), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(100), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(0), _21(15, 25, 25, 25, 20, 20, 20, 23, 20, 23, 23, 25, 25,25,25,20), _22(15, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(15, "node_name", "db_name", "thread_name", "query_id", "tid", "sessionid", "lwtid", "psessionid", "tlevel", "smpid", "wait_status", "wait_event", "locktag", "lockmode", "block_sessionid"), _24(NULL), _25("pgxc_stat_get_status"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3591), _1("pgxc_get_thread_wait_status"), _2(0), _3(false), _4(true), _5(pgxc_stat_get_status), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(100), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(0), _21(15, 25, 25, 25, 20, 20, 20, 23, 20, 23, 23, 25, 25,25,25,20), _22(15, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(15, "node_name", "db_name", "thread_name", "query_id", "tid", "sessionid", "lwtid", "psessionid", "tlevel", "smpid", "wait_status", "wait_event", "locktag", "lockmode", "block_sessionid"), _24(NULL), _25("pgxc_stat_get_status"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pgxc_gtm_snapshot_status", 1, - AddBuiltinFunc(_0(2095), _1("pgxc_gtm_snapshot_status"), _2(0), _3(true), _4(true), _5(pgxc_gtm_snapshot_status), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(0), _21(6, 28, 28, 28, 28, 28, 25), _22(6, 'o', 'o', 'o', 'o', 'o', 'o'), _23(6, "xmin", "xmax", "csn", "oldestxmin", "xcnt", "running_xids"), _24(NULL), _25("pgxc_gtm_snapshot_status"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2095), _1("pgxc_gtm_snapshot_status"), _2(0), _3(true), _4(true), _5(pgxc_gtm_snapshot_status), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(0), _21(6, 28, 28, 28, 28, 28, 25), _22(6, 'o', 'o', 'o', 'o', 'o', 'o'), _23(6, "xmin", "xmax", "csn", "oldestxmin", "xcnt", "running_xids"), _24(NULL), _25("pgxc_gtm_snapshot_status"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pgxc_is_committed", 1, - AddBuiltinFunc(_0(3203), _1("pgxc_is_committed"), _2(1), _3(true), _4(true), _5(pgxc_is_committed), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(1, 28), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pgxc_is_committed"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3203), _1("pgxc_is_committed"), _2(1), _3(true), _4(true), _5(pgxc_is_committed), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(1, 28), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pgxc_is_committed"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pgxc_lock_for_backup", 1, - AddBuiltinFunc(_0(3204), _1("pgxc_lock_for_backup"), _2(0), _3(true), _4(false), _5(pgxc_lock_for_backup), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pgxc_lock_for_backup"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3204), _1("pgxc_lock_for_backup"), _2(0), _3(true), _4(false), _5(pgxc_lock_for_backup), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pgxc_lock_for_backup"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pgxc_lock_for_sp_database", 1, - AddBuiltinFunc(_0(9014), _1("pgxc_lock_for_sp_database"), _2(1), _3(true), _4(false), _5(pgxc_lock_for_sp_database), _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('v'), _19(0), _20(1, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pgxc_lock_for_sp_database"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(9014), _1("pgxc_lock_for_sp_database"), _2(1), _3(true), _4(false), _5(pgxc_lock_for_sp_database), _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('v'), _19(0), _20(1, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pgxc_lock_for_sp_database"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pgxc_lock_for_transfer", 1, - AddBuiltinFunc(_0(9018), _1("pgxc_lock_for_transfer"), _2(1), _3(true), _4(false), _5(pgxc_lock_for_transfer), _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('v'), _19(0), _20(1, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pgxc_lock_for_transfer"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(9018), _1("pgxc_lock_for_transfer"), _2(1), _3(true), _4(false), _5(pgxc_lock_for_transfer), _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('v'), _19(0), _20(1, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pgxc_lock_for_transfer"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pgxc_max_datanode_size", 1, - AddBuiltinFunc(_0(5028), _1("pgxc_max_datanode_size"), _2(1), _3(false), _4(true), _5(pgxc_max_datanode_size_name), _6(20), _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(0), _20(1, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pgxc_max_datanode_size_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5028), _1("pgxc_max_datanode_size"), _2(1), _3(false), _4(true), _5(pgxc_max_datanode_size_name), _6(20), _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(0), _20(1, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pgxc_max_datanode_size_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pgxc_node_str", 1, - AddBuiltinFunc(_0(3202), _1("pgxc_node_str"), _2(0), _3(true), _4(false), _5(pgxc_node_str), _6(19), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pgxc_node_str"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3202), _1("pgxc_node_str"), _2(0), _3(true), _4(false), _5(pgxc_node_str), _6(19), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pgxc_node_str"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pgxc_pool_check", 1, - AddBuiltinFunc(_0(3200), _1("pgxc_pool_check"), _2(0), _3(true), _4(false), _5(pgxc_pool_check), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pgxc_pool_check"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3200), _1("pgxc_pool_check"), _2(0), _3(true), _4(false), _5(pgxc_pool_check), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pgxc_pool_check"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pgxc_pool_connection_status", 1, - AddBuiltinFunc(_0(3954), _1("pgxc_pool_connection_status"), _2(0), _3(true), _4(false), _5(pgxc_pool_connection_status), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pgxc_pool_connection_status"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3954), _1("pgxc_pool_connection_status"), _2(0), _3(true), _4(false), _5(pgxc_pool_connection_status), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pgxc_pool_connection_status"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pgxc_pool_reload", 1, - AddBuiltinFunc(_0(3201), _1("pgxc_pool_reload"), _2(0), _3(true), _4(false), _5(pgxc_pool_reload), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pgxc_pool_reload"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3201), _1("pgxc_pool_reload"), _2(0), _3(true), _4(false), _5(pgxc_pool_reload), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pgxc_pool_reload"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pgxc_snapshot_status", 1, - AddBuiltinFunc(_0(2949), _1("pgxc_snapshot_status"), _2(0), _3(true), _4(false), _5(pgxc_snapshot_status), _6(2249), _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(0), _21(10, 28, 28, 23, 28, 28, 23, 23, 23, 23, 20), _22(10, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(10, "xmin", "xmax", "xcnt", "oldestxmin", "next_xid", "timeline", "active_thread_num", "max_active_thread_num", "snapshot_num", "snapshot_totalsize"), _24(NULL), _25("pgxc_snapshot_status"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2949), _1("pgxc_snapshot_status"), _2(0), _3(true), _4(false), _5(pgxc_snapshot_status), _6(2249), _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(0), _21(10, 28, 28, 23, 28, 28, 23, 23, 23, 23, 20), _22(10, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(10, "xmin", "xmax", "xcnt", "oldestxmin", "next_xid", "timeline", "active_thread_num", "max_active_thread_num", "snapshot_num", "snapshot_totalsize"), _24(NULL), _25("pgxc_snapshot_status"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pgxc_stat_dirty_tables", 2, - AddBuiltinFunc(_0(4410), _1("pgxc_stat_dirty_tables"), _2(2), _3(false), _4(true), _5(pgxc_stat_all_dirty_tables), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(2, 23, 23), _21(9, 23, 23, 19, 19, 20, 20, 20, 20, 20), _22(9, 'i', 'i', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(9, "dirty_pecent", "n_tuples", "relname", "schemaname", "n_tup_ins", "n_tup_upd", "n_tup_del", "n_live_tup", "n_dead_tup"), _24(NULL), _25("pgxc_stat_all_dirty_tables"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(4411), _1("pgxc_stat_dirty_tables"), _2(3), _3(true), _4(true), _5(pgxc_stat_schema_dirty_tables), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(3, 23, 23, 25), _21(10, 23, 23, 25, 19, 19, 20, 20, 20, 20, 20), _22(10, 'i', 'i', 'i', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(10, "dirty_pecent", "n_tuples", "schema", "relname", "schemaname", "n_tup_ins", "n_tup_upd", "n_tup_del", "n_live_tup", "n_dead_tup"), _24(NULL), _25("pgxc_stat_schema_dirty_tables"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4410), _1("pgxc_stat_dirty_tables"), _2(2), _3(false), _4(true), _5(pgxc_stat_all_dirty_tables), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(2, 23, 23), _21(9, 23, 23, 19, 19, 20, 20, 20, 20, 20), _22(9, 'i', 'i', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(9, "dirty_pecent", "n_tuples", "relname", "schemaname", "n_tup_ins", "n_tup_upd", "n_tup_del", "n_live_tup", "n_dead_tup"), _24(NULL), _25("pgxc_stat_all_dirty_tables"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(4411), _1("pgxc_stat_dirty_tables"), _2(3), _3(true), _4(true), _5(pgxc_stat_schema_dirty_tables), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(3, 23, 23, 25), _21(10, 23, 23, 25, 19, 19, 20, 20, 20, 20, 20), _22(10, 'i', 'i', 'i', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(10, "dirty_pecent", "n_tuples", "schema", "relname", "schemaname", "n_tup_ins", "n_tup_upd", "n_tup_del", "n_live_tup", "n_dead_tup"), _24(NULL), _25("pgxc_stat_schema_dirty_tables"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pgxc_unlock_for_sp_database", 1, - AddBuiltinFunc(_0(9017), _1("pgxc_unlock_for_sp_database"), _2(1), _3(true), _4(false), _5(pgxc_unlock_for_sp_database), _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('v'), _19(0), _20(1, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pgxc_unlock_for_sp_database"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(9017), _1("pgxc_unlock_for_sp_database"), _2(1), _3(true), _4(false), _5(pgxc_unlock_for_sp_database), _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('v'), _19(0), _20(1, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pgxc_unlock_for_sp_database"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pgxc_unlock_for_transfer", 1, - AddBuiltinFunc(_0(9019), _1("pgxc_unlock_for_transfer"), _2(1), _3(true), _4(false), _5(pgxc_unlock_for_transfer), _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('v'), _19(0), _20(1, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pgxc_unlock_for_transfer"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(9019), _1("pgxc_unlock_for_transfer"), _2(1), _3(true), _4(false), _5(pgxc_unlock_for_transfer), _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('v'), _19(0), _20(1, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pgxc_unlock_for_transfer"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pgxc_version", 1, - AddBuiltinFunc(_0(90), _1("pgxc_version"), _2(0), _3(true), _4(false), _5(pgxc_version), _6(25), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pgxc_version"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(90), _1("pgxc_version"), _2(0), _3(true), _4(false), _5(pgxc_version), _6(25), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pgxc_version"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pi", 1, - AddBuiltinFunc(_0(1610), _1("pi"), _2(0), _3(true), _4(false), _5(dpi), _6(701), _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(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dpi"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1610), _1("pi"), _2(0), _3(true), _4(false), _5(dpi), _6(701), _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(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dpi"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "plainto_tsquery", 2, - AddBuiltinFunc(_0(3747), _1("plainto_tsquery"), _2(2), _3(true), _4(false), _5(plainto_tsquery_byid), _6(3615), _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(2, 3734, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("plainto_tsquery_byid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3751), _1("plainto_tsquery"), _2(1), _3(true), _4(false), _5(plainto_tsquery), _6(3615), _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('s'), _19(0), _20(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("plainto_tsquery"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3747), _1("plainto_tsquery"), _2(2), _3(true), _4(false), _5(plainto_tsquery_byid), _6(3615), _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(2, 3734, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("plainto_tsquery_byid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3751), _1("plainto_tsquery"), _2(1), _3(true), _4(false), _5(plainto_tsquery), _6(3615), _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('s'), _19(0), _20(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("plainto_tsquery"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "plan_seed", 1, - AddBuiltinFunc(_0(4200), _1("plan_seed"), _2(0), _3(true), _4(false), _5(get_plan_seed), _6(20), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("get_plan_seed"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4200), _1("plan_seed"), _2(0), _3(true), _4(false), _5(get_plan_seed), _6(20), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("get_plan_seed"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "plancache_clean", 1, - AddBuiltinFunc(_0(3958), _1("plancache_clean"), _2(0), _3(false), _4(false), _5(GPCPlanClean),_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('s'), _19(0), _20(0), _21(2, 2950, 16), _22(NULL), _23(NULL), _24(NULL), _25("GPCPlanClean"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3958), _1("plancache_clean"), _2(0), _3(false), _4(false), _5(GPCPlanClean),_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('s'), _19(0), _20(0), _21(2, 2950, 16), _22(NULL), _23(NULL), _24(NULL), _25("GPCPlanClean"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "plancache_status", 1, - AddBuiltinFunc(_0(3957), _1("plancache_status"), _2(0), _3(false), _4(true), _5(gs_globalplancache_status), _6(2249), _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(0), _20(0), _21(8, 25, 25, 23, 16, 26, 25, 23, 26), _22(8, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(8, "nodename", "query", "refcount", "valid", "databaseid", "schema_name", "params_num", "func_id"), _24(NULL), _25("gs_globalplancache_status"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3957), _1("plancache_status"), _2(0), _3(false), _4(true), _5(gs_globalplancache_status), _6(2249), _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(0), _20(0), _21(8, 25, 25, 23, 16, 26, 25, 23, 26), _22(8, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(8, "nodename", "query", "refcount", "valid", "databaseid", "schema_name", "params_num", "func_id"), _24(NULL), _25("gs_globalplancache_status"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "point", 6, - AddBuiltinFunc(_0(1416), _1("point"), _2(1), _3(true), _4(false), _5(circle_center), _6(600), _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(1, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_center"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1440), _1("point"), _2(2), _3(true), _4(false), _5(construct_point), _6(600), _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(2, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("construct_point"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1532), _1("point"), _2(1), _3(true), _4(false), _5(lseg_center), _6(600), _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(1, 601), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lseg_center"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1533), _1("point"), _2(1), _3(true), _4(false), _5(path_center), _6(600), _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(1, 602), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("path_center"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1534), _1("point"), _2(1), _3(true), _4(false), _5(box_center), _6(600), _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(1, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_center"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1540), _1("point"), _2(1), _3(true), _4(false), _5(poly_center), _6(600), _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(1, 604), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("poly_center"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1416), _1("point"), _2(1), _3(true), _4(false), _5(circle_center), _6(600), _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(1, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_center"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1440), _1("point"), _2(2), _3(true), _4(false), _5(construct_point), _6(600), _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(2, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("construct_point"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1532), _1("point"), _2(1), _3(true), _4(false), _5(lseg_center), _6(600), _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(1, 601), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("lseg_center"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1533), _1("point"), _2(1), _3(true), _4(false), _5(path_center), _6(600), _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(1, 602), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("path_center"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1534), _1("point"), _2(1), _3(true), _4(false), _5(box_center), _6(600), _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(1, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_center"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1540), _1("point"), _2(1), _3(true), _4(false), _5(poly_center), _6(600), _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(1, 604), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("poly_center"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "point_above", 1, - AddBuiltinFunc(_0(131), _1("point_above"), _2(2), _3(true), _4(false), _5(point_above), _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(2, 600, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("point_above"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(131), _1("point_above"), _2(2), _3(true), _4(false), _5(point_above), _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(2, 600, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("point_above"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "point_add", 1, - AddBuiltinFunc(_0(1441), _1("point_add"), _2(2), _3(true), _4(false), _5(point_add), _6(600), _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(2, 600, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("point_add"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1441), _1("point_add"), _2(2), _3(true), _4(false), _5(point_add), _6(600), _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(2, 600, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("point_add"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "point_below", 1, - AddBuiltinFunc(_0(134), _1("point_below"), _2(2), _3(true), _4(false), _5(point_below), _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(2, 600, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("point_below"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(134), _1("point_below"), _2(2), _3(true), _4(false), _5(point_below), _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(2, 600, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("point_below"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "point_distance", 1, - AddBuiltinFunc(_0(991), _1("point_distance"), _2(2), _3(true), _4(false), _5(point_distance), _6(701), _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(2, 600, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("point_distance"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(991), _1("point_distance"), _2(2), _3(true), _4(false), _5(point_distance), _6(701), _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(2, 600, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("point_distance"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "point_div", 1, - AddBuiltinFunc(_0(1444), _1("point_div"), _2(2), _3(true), _4(false), _5(point_div), _6(600), _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(2, 600, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("point_div"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1444), _1("point_div"), _2(2), _3(true), _4(false), _5(point_div), _6(600), _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(2, 600, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("point_div"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "point_eq", 1, - AddBuiltinFunc(_0(135), _1("point_eq"), _2(2), _3(true), _4(false), _5(point_eq), _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(2, 600, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("point_eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(135), _1("point_eq"), _2(2), _3(true), _4(false), _5(point_eq), _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(2, 600, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("point_eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "point_horiz", 1, - AddBuiltinFunc(_0(990), _1("point_horiz"), _2(2), _3(true), _4(false), _5(point_horiz), _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(2, 600, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("point_horiz"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(990), _1("point_horiz"), _2(2), _3(true), _4(false), _5(point_horiz), _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(2, 600, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("point_horiz"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "point_in", 1, - AddBuiltinFunc(_0(117), _1("point_in"), _2(1), _3(true), _4(false), _5(point_in), _6(600), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("point_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(117), _1("point_in"), _2(1), _3(true), _4(false), _5(point_in), _6(600), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("point_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "point_left", 1, - AddBuiltinFunc(_0(132), _1("point_left"), _2(2), _3(true), _4(false), _5(point_left), _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(2, 600, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("point_left"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(132), _1("point_left"), _2(2), _3(true), _4(false), _5(point_left), _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(2, 600, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("point_left"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "point_mul", 1, - AddBuiltinFunc(_0(1443), _1("point_mul"), _2(2), _3(true), _4(false), _5(point_mul), _6(600), _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(2, 600, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("point_mul"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1443), _1("point_mul"), _2(2), _3(true), _4(false), _5(point_mul), _6(600), _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(2, 600, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("point_mul"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "point_ne", 1, - AddBuiltinFunc(_0(988), _1("point_ne"), _2(2), _3(true), _4(false), _5(point_ne), _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(2, 600, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("point_ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(988), _1("point_ne"), _2(2), _3(true), _4(false), _5(point_ne), _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(2, 600, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("point_ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "point_out", 1, - AddBuiltinFunc(_0(118), _1("point_out"), _2(1), _3(true), _4(false), _5(point_out), _6(2275), _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(1, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("point_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(118), _1("point_out"), _2(1), _3(true), _4(false), _5(point_out), _6(2275), _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(1, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("point_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "point_recv", 1, - AddBuiltinFunc(_0(2428), _1("point_recv"), _2(1), _3(true), _4(false), _5(point_recv), _6(600), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("point_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2428), _1("point_recv"), _2(1), _3(true), _4(false), _5(point_recv), _6(600), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("point_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "point_right", 1, - AddBuiltinFunc(_0(133), _1("point_right"), _2(2), _3(true), _4(false), _5(point_right), _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(2, 600, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("point_right"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(133), _1("point_right"), _2(2), _3(true), _4(false), _5(point_right), _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(2, 600, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("point_right"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "point_send", 1, - AddBuiltinFunc(_0(2429), _1("point_send"), _2(1), _3(true), _4(false), _5(point_send), _6(17), _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(1, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("point_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2429), _1("point_send"), _2(1), _3(true), _4(false), _5(point_send), _6(17), _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(1, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("point_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "point_sub", 1, - AddBuiltinFunc(_0(1442), _1("point_sub"), _2(2), _3(true), _4(false), _5(point_sub), _6(600), _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(2, 600, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("point_sub"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1442), _1("point_sub"), _2(2), _3(true), _4(false), _5(point_sub), _6(600), _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(2, 600, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("point_sub"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "point_vert", 1, - AddBuiltinFunc(_0(989), _1("point_vert"), _2(2), _3(true), _4(false), _5(point_vert), _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(2, 600, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("point_vert"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(989), _1("point_vert"), _2(2), _3(true), _4(false), _5(point_vert), _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(2, 600, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("point_vert"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "poly_above", 1, - AddBuiltinFunc(_0(2569), _1("poly_above"), _2(2), _3(true), _4(false), _5(poly_above), _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(2, 604, 604), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("poly_above"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2569), _1("poly_above"), _2(2), _3(true), _4(false), _5(poly_above), _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(2, 604, 604), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("poly_above"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "poly_below", 1, - AddBuiltinFunc(_0(2566), _1("poly_below"), _2(2), _3(true), _4(false), _5(poly_below), _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(2, 604, 604), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("poly_below"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2566), _1("poly_below"), _2(2), _3(true), _4(false), _5(poly_below), _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(2, 604, 604), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("poly_below"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "poly_center", 1, - AddBuiltinFunc(_0(227), _1("poly_center"), _2(1), _3(true), _4(false), _5(poly_center), _6(600), _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(1, 604), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("poly_center"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(227), _1("poly_center"), _2(1), _3(true), _4(false), _5(poly_center), _6(600), _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(1, 604), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("poly_center"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "poly_contain", 1, - AddBuiltinFunc(_0(340), _1("poly_contain"), _2(2), _3(true), _4(false), _5(poly_contain), _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(2, 604, 604), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("poly_contain"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(340), _1("poly_contain"), _2(2), _3(true), _4(false), _5(poly_contain), _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(2, 604, 604), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("poly_contain"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "poly_contain_pt", 1, - AddBuiltinFunc(_0(1428), _1("poly_contain_pt"), _2(2), _3(true), _4(false), _5(poly_contain_pt), _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(2, 604, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("poly_contain_pt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1428), _1("poly_contain_pt"), _2(2), _3(true), _4(false), _5(poly_contain_pt), _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(2, 604, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("poly_contain_pt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "poly_contained", 1, - AddBuiltinFunc(_0(345), _1("poly_contained"), _2(2), _3(true), _4(false), _5(poly_contained), _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(2, 604, 604), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("poly_contained"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(345), _1("poly_contained"), _2(2), _3(true), _4(false), _5(poly_contained), _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(2, 604, 604), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("poly_contained"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "poly_distance", 1, - AddBuiltinFunc(_0(729), _1("poly_distance"), _2(2), _3(true), _4(false), _5(poly_distance), _6(701), _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(2, 604, 604), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("poly_distance"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(729), _1("poly_distance"), _2(2), _3(true), _4(false), _5(poly_distance), _6(701), _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(2, 604, 604), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("poly_distance"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "poly_in", 1, - AddBuiltinFunc(_0(347), _1("poly_in"), _2(1), _3(true), _4(false), _5(poly_in), _6(604), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("poly_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(347), _1("poly_in"), _2(1), _3(true), _4(false), _5(poly_in), _6(604), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("poly_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "poly_left", 1, - AddBuiltinFunc(_0(341), _1("poly_left"), _2(2), _3(true), _4(false), _5(poly_left), _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(2, 604, 604), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("poly_left"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(341), _1("poly_left"), _2(2), _3(true), _4(false), _5(poly_left), _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(2, 604, 604), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("poly_left"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "poly_npoints", 1, - AddBuiltinFunc(_0(1445), _1("poly_npoints"), _2(1), _3(true), _4(false), _5(poly_npoints), _6(23), _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(1, 604), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("poly_npoints"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1445), _1("poly_npoints"), _2(1), _3(true), _4(false), _5(poly_npoints), _6(23), _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(1, 604), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("poly_npoints"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "poly_out", 1, - AddBuiltinFunc(_0(348), _1("poly_out"), _2(1), _3(true), _4(false), _5(poly_out), _6(2275), _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(1, 604), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("poly_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(348), _1("poly_out"), _2(1), _3(true), _4(false), _5(poly_out), _6(2275), _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(1, 604), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("poly_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "poly_overabove", 1, - AddBuiltinFunc(_0(2568), _1("poly_overabove"), _2(2), _3(true), _4(false), _5(poly_overabove), _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(2, 604, 604), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("poly_overabove"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2568), _1("poly_overabove"), _2(2), _3(true), _4(false), _5(poly_overabove), _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(2, 604, 604), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("poly_overabove"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "poly_overbelow", 1, - AddBuiltinFunc(_0(2567), _1("poly_overbelow"), _2(2), _3(true), _4(false), _5(poly_overbelow), _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(2, 604, 604), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("poly_overbelow"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2567), _1("poly_overbelow"), _2(2), _3(true), _4(false), _5(poly_overbelow), _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(2, 604, 604), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("poly_overbelow"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "poly_overlap", 1, - AddBuiltinFunc(_0(346), _1("poly_overlap"), _2(2), _3(true), _4(false), _5(poly_overlap), _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(2, 604, 604), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("poly_overlap"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(346), _1("poly_overlap"), _2(2), _3(true), _4(false), _5(poly_overlap), _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(2, 604, 604), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("poly_overlap"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "poly_overleft", 1, - AddBuiltinFunc(_0(342), _1("poly_overleft"), _2(2), _3(true), _4(false), _5(poly_overleft), _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(2, 604, 604), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("poly_overleft"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(342), _1("poly_overleft"), _2(2), _3(true), _4(false), _5(poly_overleft), _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(2, 604, 604), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("poly_overleft"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "poly_overright", 1, - AddBuiltinFunc(_0(343), _1("poly_overright"), _2(2), _3(true), _4(false), _5(poly_overright), _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(2, 604, 604), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("poly_overright"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(343), _1("poly_overright"), _2(2), _3(true), _4(false), _5(poly_overright), _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(2, 604, 604), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("poly_overright"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "poly_recv", 1, - AddBuiltinFunc(_0(2486), _1("poly_recv"), _2(1), _3(true), _4(false), _5(poly_recv), _6(604), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("poly_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2486), _1("poly_recv"), _2(1), _3(true), _4(false), _5(poly_recv), _6(604), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("poly_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "poly_right", 1, - AddBuiltinFunc(_0(344), _1("poly_right"), _2(2), _3(true), _4(false), _5(poly_right), _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(2, 604, 604), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("poly_right"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(344), _1("poly_right"), _2(2), _3(true), _4(false), _5(poly_right), _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(2, 604, 604), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("poly_right"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "poly_same", 1, - AddBuiltinFunc(_0(339), _1("poly_same"), _2(2), _3(true), _4(false), _5(poly_same), _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(2, 604, 604), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("poly_same"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(339), _1("poly_same"), _2(2), _3(true), _4(false), _5(poly_same), _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(2, 604, 604), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("poly_same"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "poly_send", 1, - AddBuiltinFunc(_0(2487), _1("poly_send"), _2(1), _3(true), _4(false), _5(poly_send), _6(17), _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(1, 604), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("poly_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2487), _1("poly_send"), _2(1), _3(true), _4(false), _5(poly_send), _6(17), _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(1, 604), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("poly_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "polygon", 4, - AddBuiltinFunc(_0(1448), _1("polygon"), _2(1), _3(true), _4(false), _5(box_poly), _6(604), _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(1, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_poly"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1449), _1("polygon"), _2(1), _3(true), _4(false), _5(path_poly), _6(604), _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(1, 602), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("path_poly"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1475), _1("polygon"), _2(2), _3(true), _4(false), _5(circle_poly), _6(604), _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(2, 23, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_poly"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1544), _1("polygon"), _2(1), _3(true), _4(false), _5(NULL), _6(604), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select pg_catalog.polygon(12, $1)"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1448), _1("polygon"), _2(1), _3(true), _4(false), _5(box_poly), _6(604), _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(1, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_poly"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1449), _1("polygon"), _2(1), _3(true), _4(false), _5(path_poly), _6(604), _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(1, 602), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("path_poly"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1475), _1("polygon"), _2(2), _3(true), _4(false), _5(circle_poly), _6(604), _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(2, 23, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_poly"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1544), _1("polygon"), _2(1), _3(true), _4(false), _5(NULL), _6(604), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select pg_catalog.polygon(12, $1)"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "popen", 1, - AddBuiltinFunc(_0(1434), _1("popen"), _2(1), _3(true), _4(false), _5(path_open), _6(602), _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(1, 602), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("path_open"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1434), _1("popen"), _2(1), _3(true), _4(false), _5(path_open), _6(602), _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(1, 602), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("path_open"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "position", 3, - AddBuiltinFunc(_0(POSITIONFUNCOID), _1("position"), _2(2), _3(true), _4(false), _5(textpos), _6(23), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("textpos"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(BITPOSITIONFUNCOID), _1("position"), _2(2), _3(true), _4(false), _5(bitposition), _6(23), _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(2, 1560, 1560), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bitposition"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(BYTEAPOSFUNCOID), _1("position"), _2(2), _3(true), _4(false), _5(byteapos), _6(23), _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(2, 17, 17), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteapos"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(POSITIONFUNCOID), _1("position"), _2(2), _3(true), _4(false), _5(textpos), _6(23), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("textpos"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(BITPOSITIONFUNCOID), _1("position"), _2(2), _3(true), _4(false), _5(bitposition), _6(23), _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(2, 1560, 1560), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bitposition"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(BYTEAPOSFUNCOID), _1("position"), _2(2), _3(true), _4(false), _5(byteapos), _6(23), _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(2, 17, 17), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteapos"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "positionjoinsel", 1, - AddBuiltinFunc(_0(1301), _1("positionjoinsel"), _2(5), _3(true), _4(false), _5(positionjoinsel), _6(701), _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('s'), _19(0), _20(5, 2281, 26, 2281, 21, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("positionjoinsel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1301), _1("positionjoinsel"), _2(5), _3(true), _4(false), _5(positionjoinsel), _6(701), _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('s'), _19(0), _20(5, 2281, 26, 2281, 21, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("positionjoinsel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "positionsel", 1, - AddBuiltinFunc(_0(1300), _1("positionsel"), _2(4), _3(true), _4(false), _5(positionsel), _6(701), _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('s'), _19(0), _20(4, 2281, 26, 2281, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("positionsel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1300), _1("positionsel"), _2(4), _3(true), _4(false), _5(positionsel), _6(701), _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('s'), _19(0), _20(4, 2281, 26, 2281, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("positionsel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "postgresql_fdw_validator", 1, - AddBuiltinFunc(_0(2316), _1("postgresql_fdw_validator"), _2(2), _3(true), _4(false), _5(postgresql_fdw_validator), _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(2, 1009, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("postgresql_fdw_validator"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2316), _1("postgresql_fdw_validator"), _2(2), _3(true), _4(false), _5(postgresql_fdw_validator), _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(2, 1009, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("postgresql_fdw_validator"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pound_end", 1, - AddBuiltinFunc(_0(3800), _1("pound_end"), _2(1), _3(true), _4(false), _5(pound_end), _6(2278), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pound_end"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3800), _1("pound_end"), _2(1), _3(true), _4(false), _5(pound_end), _6(2278), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pound_end"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pound_lextype", 1, - AddBuiltinFunc(_0(3801), _1("pound_lextype"), _2(1), _3(true), _4(false), _5(pound_lextype), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pound_lextype"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3801), _1("pound_lextype"), _2(1), _3(true), _4(false), _5(pound_lextype), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pound_lextype"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pound_nexttoken", 1, - AddBuiltinFunc(_0(3799), _1("pound_nexttoken"), _2(3), _3(true), _4(false), _5(pound_nexttoken), _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(3, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pound_nexttoken"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3799), _1("pound_nexttoken"), _2(3), _3(true), _4(false), _5(pound_nexttoken), _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(3, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pound_nexttoken"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pound_start", 1, - AddBuiltinFunc(_0(3798), _1("pound_start"), _2(3), _3(true), _4(false), _5(pound_start), _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(3, 2281, 23, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pound_start"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3798), _1("pound_start"), _2(3), _3(true), _4(false), _5(pound_start), _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(3, 2281, 23, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pound_start"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pow", 2, - AddBuiltinFunc(_0(POWFUNCOID), _1("pow"), _2(2), _3(true), _4(false), _5(dpow), _6(701), _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(2, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dpow"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1738), _1("pow"), _2(2), _3(true), _4(false), _5(numeric_power), _6(1700), _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(2, 1700, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_power"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(POWFUNCOID), _1("pow"), _2(2), _3(true), _4(false), _5(dpow), _6(701), _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(2, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dpow"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1738), _1("pow"), _2(2), _3(true), _4(false), _5(numeric_power), _6(1700), _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(2, 1700, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_power"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "power", 2, - AddBuiltinFunc(_0(POWERFUNCOID), _1("power"), _2(2), _3(true), _4(false), _5(dpow), _6(701), _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(2, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dpow"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2169), _1("power"), _2(2), _3(true), _4(false), _5(numeric_power), _6(1700), _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(2, 1700, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_power"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(POWERFUNCOID), _1("power"), _2(2), _3(true), _4(false), _5(dpow), _6(701), _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(2, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dpow"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2169), _1("power"), _2(2), _3(true), _4(false), _5(numeric_power), _6(1700), _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(2, 1700, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_power"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "prepare_statement_status", 1, - AddBuiltinFunc(_0(3959), _1("prepare_statement_status"), _2(0), _3(false), _4(true), _5(gs_globalplancache_prepare_status), _6(2249), _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(0), _20(0), _21(8, 25, 20, 23, 23, 25, 23, 16, 25), _22(8, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(8, "nodename", "cn_sess_id", "cn_node_id","cn_time_line","statement_name", "refcount", "is_shared", "query"), _24(NULL), _25("gs_globalplancache_prepare_status"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3959), _1("prepare_statement_status"), _2(0), _3(false), _4(true), _5(gs_globalplancache_prepare_status), _6(2249), _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(0), _20(0), _21(8, 25, 20, 23, 23, 25, 23, 16, 25), _22(8, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(8, "nodename", "cn_sess_id", "cn_node_id","cn_time_line","statement_name", "refcount", "is_shared", "query"), _24(NULL), _25("gs_globalplancache_prepare_status"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "prsd_end", 1, - AddBuiltinFunc(_0(3719), _1("prsd_end"), _2(1), _3(true), _4(false), _5(prsd_end), _6(2278), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("prsd_end"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3719), _1("prsd_end"), _2(1), _3(true), _4(false), _5(prsd_end), _6(2278), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("prsd_end"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "prsd_headline", 1, - AddBuiltinFunc(_0(3720), _1("prsd_headline"), _2(3), _3(true), _4(false), _5(prsd_headline), _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(3, 2281, 2281, 3615), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("prsd_headline"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3720), _1("prsd_headline"), _2(3), _3(true), _4(false), _5(prsd_headline), _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(3, 2281, 2281, 3615), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("prsd_headline"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "prsd_lextype", 1, - AddBuiltinFunc(_0(3721), _1("prsd_lextype"), _2(1), _3(true), _4(false), _5(prsd_lextype), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("prsd_lextype"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3721), _1("prsd_lextype"), _2(1), _3(true), _4(false), _5(prsd_lextype), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("prsd_lextype"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "prsd_nexttoken", 1, - AddBuiltinFunc(_0(3718), _1("prsd_nexttoken"), _2(3), _3(true), _4(false), _5(prsd_nexttoken), _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(3, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("prsd_nexttoken"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3718), _1("prsd_nexttoken"), _2(3), _3(true), _4(false), _5(prsd_nexttoken), _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(3, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("prsd_nexttoken"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "prsd_start", 1, - AddBuiltinFunc(_0(3717), _1("prsd_start"), _2(3), _3(true), _4(false), _5(prsd_start), _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(3, 2281, 23, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("prsd_start"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3717), _1("prsd_start"), _2(3), _3(true), _4(false), _5(prsd_start), _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(3, 2281, 23, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("prsd_start"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "psortbuild", 1, - AddBuiltinFunc(_0(4040), _1("psortbuild"), _2(3), _3(true), _4(false), _5(psortbuild), _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('v'), _19(0), _20(3, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("psortbuild"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4040), _1("psortbuild"), _2(3), _3(true), _4(false), _5(psortbuild), _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('v'), _19(0), _20(3, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("psortbuild"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "psortcanreturn", 1, - AddBuiltinFunc(_0(4045), _1("psortcanreturn"), _2(1), _3(true), _4(false), _5(psortcanreturn), _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('s'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("psortcanreturn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4045), _1("psortcanreturn"), _2(1), _3(true), _4(false), _5(psortcanreturn), _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('s'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("psortcanreturn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "psortcostestimate", 1, - AddBuiltinFunc(_0(4044), _1("psortcostestimate"), _2(7), _3(true), _4(false), _5(psortcostestimate), _6(2278), _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('v'), _19(0), _20(7, 2281, 2281, 2281, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("psortcostestimate"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4044), _1("psortcostestimate"), _2(7), _3(true), _4(false), _5(psortcostestimate), _6(2278), _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('v'), _19(0), _20(7, 2281, 2281, 2281, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("psortcostestimate"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "psortgetbitmap", 1, - AddBuiltinFunc(_0(4043), _1("psortgetbitmap"), _2(2), _3(true), _4(false), _5(psortgetbitmap), _6(20), _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('v'), _19(0), _20(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("psortgetbitmap"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4043), _1("psortgetbitmap"), _2(2), _3(true), _4(false), _5(psortgetbitmap), _6(20), _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('v'), _19(0), _20(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("psortgetbitmap"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "psortgettuple", 1, - AddBuiltinFunc(_0(4042), _1("psortgettuple"), _2(2), _3(true), _4(false), _5(psortgettuple), _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('v'), _19(0), _20(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("psortgettuple"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4042), _1("psortgettuple"), _2(2), _3(true), _4(false), _5(psortgettuple), _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('v'), _19(0), _20(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("psortgettuple"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "psortoptions", 1, - AddBuiltinFunc(_0(4041), _1("psortoptions"), _2(2), _3(true), _4(false), _5(psortoptions), _6(17), _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('s'), _19(0), _20(2, 1009, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("psortoptions"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4041), _1("psortoptions"), _2(2), _3(true), _4(false), _5(psortoptions), _6(17), _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('s'), _19(0), _20(2, 1009, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("psortoptions"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pt_contained_circle", 1, - AddBuiltinFunc(_0(1478), _1("pt_contained_circle"), _2(2), _3(true), _4(false), _5(pt_contained_circle), _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(2, 600, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pt_contained_circle"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1478), _1("pt_contained_circle"), _2(2), _3(true), _4(false), _5(pt_contained_circle), _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(2, 600, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pt_contained_circle"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pt_contained_poly", 1, - AddBuiltinFunc(_0(1429), _1("pt_contained_poly"), _2(2), _3(true), _4(false), _5(pt_contained_poly), _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(2, 600, 604), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pt_contained_poly"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1429), _1("pt_contained_poly"), _2(2), _3(true), _4(false), _5(pt_contained_poly), _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(2, 600, 604), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pt_contained_poly"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pv_builtin_functions", 1, - AddBuiltinFunc(_0(5345), _1("pv_builtin_functions"), _2(0), _3(false), _4(true), _5(pv_builtin_functions), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(3100), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(32, 19, 26, 26, 26, 700, 700, 26, 24, 16, 16, 16, 16, 16, 16, 18, 21, 21, 26, 30, 1007, 1002, 1009, 194, 25, 25, 1009, 1034, 22, 16, 16, 16, 26), _22(32, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(32, "proname", "pronamespace", "proowner", "prolang", "procost", "prorows", "provariadic", "protransform", "proisagg", "proiswindow", "prosecdef", "proleakproof", "proisstrict", "proretset", "provolatile", "pronargs", "pronargdefaults", "prorettype", "proargtypes", "proallargtypes", "proargmodes", "proargnames", "proargdefaults", "prosrc", "probin", "proconfig", "proacl", "prodefaultargpos", "fencedmode", "proshippable", "propackage", "oid"), _24(NULL), _25("pv_builtin_functions"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5345), _1("pv_builtin_functions"), _2(0), _3(false), _4(true), _5(pv_builtin_functions), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(3100), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(32, 19, 26, 26, 26, 700, 700, 26, 24, 16, 16, 16, 16, 16, 16, 18, 21, 21, 26, 30, 1007, 1002, 1009, 194, 25, 25, 1009, 1034, 22, 16, 16, 16, 26), _22(32, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(32, "proname", "pronamespace", "proowner", "prolang", "procost", "prorows", "provariadic", "protransform", "proisagg", "proiswindow", "prosecdef", "proleakproof", "proisstrict", "proretset", "provolatile", "pronargs", "pronargdefaults", "prorettype", "proargtypes", "proallargtypes", "proargmodes", "proargnames", "proargdefaults", "prosrc", "probin", "proconfig", "proacl", "prodefaultargpos", "fencedmode", "proshippable", "propackage", "oid"), _24(NULL), _25("pv_builtin_functions"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pv_compute_pool_workload", 1, - AddBuiltinFunc(_0(4300), _1("pv_compute_pool_workload"), _2(0), _3(false), _4(true), _5(pv_compute_pool_workload), _6(2249), _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(0), _20(0), _21(4, 25, 23, 23, 25), _22(4, 'o', 'o', 'o', 'o'), _23(4, "nodename", "rpinuse", "maxrp", "nodestate"), _24(NULL), _25("pv_compute_pool_workload"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4300), _1("pv_compute_pool_workload"), _2(0), _3(false), _4(true), _5(pv_compute_pool_workload), _6(2249), _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(0), _20(0), _21(4, 25, 23, 23, 25), _22(4, 'o', 'o', 'o', 'o'), _23(4, "nodename", "rpinuse", "maxrp", "nodestate"), _24(NULL), _25("pv_compute_pool_workload"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pv_instance_time", 1, - AddBuiltinFunc(_0(3969), _1("pv_instance_time"), _2(0), _3(false), _4(true), _5(pv_instance_time), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(3, 23, 25, 20), _22(3, 'o', 'o', 'o'), _23(3, "stat_id", "stat_name", "value"), _24(NULL), _25("pv_instance_time"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3969), _1("pv_instance_time"), _2(0), _3(false), _4(true), _5(pv_instance_time), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(3, 23, 25, 20), _22(3, 'o', 'o', 'o'), _23(3, "stat_id", "stat_name", "value"), _24(NULL), _25("pv_instance_time"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pv_os_run_info", 1, - AddBuiltinFunc(_0(3970), _1("pv_os_run_info"), _2(0), _3(false), _4(true), _5(pv_os_run_info), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(10), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(5, 23, 25, 1700, 25, 16), _22(5, 'o', 'o', 'o', 'o', 'o'), _23(5, "id", "name", "value", "comments", "cumulative"), _24(NULL), _25("pv_os_run_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3970), _1("pv_os_run_info"), _2(0), _3(false), _4(true), _5(pv_os_run_info), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(10), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(5, 23, 25, 1700, 25, 16), _22(5, 'o', 'o', 'o', 'o', 'o'), _23(5, "id", "name", "value", "comments", "cumulative"), _24(NULL), _25("pv_os_run_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pv_session_memctx_detail", 1, - AddBuiltinFunc(_0(3983), _1("pv_session_memctx_detail"), _2(2), _3(false), _4(true), _5(pv_session_memctx_detail), _6(16), _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(0), _20(2, 20, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pv_session_memctx_detail"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3983), _1("pv_session_memctx_detail"), _2(2), _3(false), _4(true), _5(pv_session_memctx_detail), _6(16), _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(0), _20(2, 20, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pv_session_memctx_detail"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pv_session_memory", 1, - AddBuiltinFunc(_0(3984), _1("pv_session_memory"), _2(0), _3(false), _4(true), _5(pv_session_memory), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(4, 25, 23, 23, 23), _22(4, 'o', 'o', 'o', 'o'), _23(4, "sessid", "init_mem", "used_mem", "peak_mem"), _24(NULL), _25("pv_session_memory"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3984), _1("pv_session_memory"), _2(0), _3(false), _4(true), _5(pv_session_memory), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(4, 25, 23, 23, 23), _22(4, 'o', 'o', 'o', 'o'), _23(4, "sessid", "init_mem", "used_mem", "peak_mem"), _24(NULL), _25("pv_session_memory"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pv_session_memory_detail", 1, - AddBuiltinFunc(_0(3971), _1("pv_session_memory_detail"), _2(0), _3(false), _4(true), _5(pv_session_memory_detail), _6(2249), _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(0), _20(0), _21(8, 25, 20, 25, 21, 25, 20, 20, 20), _22(8, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(8, "sessid", "threadid", "contextname", "level", "parent", "totalsize", "freesize", "usedsize"), _24(NULL), _25("pv_session_memory_detail"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3971), _1("pv_session_memory_detail"), _2(0), _3(false), _4(true), _5(pv_session_memory_detail), _6(2249), _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(0), _20(0), _21(8, 25, 20, 25, 21, 25, 20, 20, 20), _22(8, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(8, "sessid", "threadid", "contextname", "level", "parent", "totalsize", "freesize", "usedsize"), _24(NULL), _25("pv_session_memory_detail"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pv_session_stat", 1, - AddBuiltinFunc(_0(3974), _1("pv_session_stat"), _2(0), _3(false), _4(true), _5(pv_session_stat), _6(2249), _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(0), _20(0), _21(5, 25, 23, 25, 25, 20), _22(5, 'o', 'o', 'o', 'o', 'o'), _23(5, "sessid", "statid", "statname", "statunit", "value"), _24(NULL), _25("pv_session_stat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3974), _1("pv_session_stat"), _2(0), _3(false), _4(true), _5(pv_session_stat), _6(2249), _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(0), _20(0), _21(5, 25, 23, 25, 25, 20), _22(5, 'o', 'o', 'o', 'o', 'o'), _23(5, "sessid", "statid", "statname", "statunit", "value"), _24(NULL), _25("pv_session_stat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pv_session_time", 1, - AddBuiltinFunc(_0(3972), _1("pv_session_time"), _2(0), _3(false), _4(true), _5(pv_session_time), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(4, 25, 23, 25, 20), _22(4, 'o', 'o', 'o', 'o'), _23(4, "sessid", "stat_id", "stat_name", "value"), _24(NULL), _25("pv_session_time"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3972), _1("pv_session_time"), _2(0), _3(false), _4(true), _5(pv_session_time), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(4, 25, 23, 25, 20), _22(4, 'o', 'o', 'o', 'o'), _23(4, "sessid", "stat_id", "stat_name", "value"), _24(NULL), _25("pv_session_time"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pv_thread_memory_detail", 1, - AddBuiltinFunc(_0(3968), _1("pv_thread_memory_detail"), _2(0), _3(false), _4(true), _5(pv_thread_memory_detail), _6(2249), _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(0), _20(0), _21(9, 25, 20, 25, 25, 21, 25, 20, 20, 20), _22(9, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(9, "threadid", "tid", "thrdtype", "contextname", "level", "parent", "totalsize", "freesize", "usedsize"), _24(NULL), _25("pv_thread_memory_detail"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3968), _1("pv_thread_memory_detail"), _2(0), _3(false), _4(true), _5(pv_thread_memory_detail), _6(2249), _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(0), _20(0), _21(9, 25, 20, 25, 25, 21, 25, 20, 20, 20), _22(9, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(9, "threadid", "tid", "thrdtype", "contextname", "level", "parent", "totalsize", "freesize", "usedsize"), _24(NULL), _25("pv_thread_memory_detail"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "pv_total_memory_detail", 1, - AddBuiltinFunc(_0(3985), _1("pv_total_memory_detail"), _2(0), _3(true), _4(true), _5(pv_total_memory_detail), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(0), _21(3, 25, 25, 23), _22(3, 'o', 'o', 'o'), _23(3, "nodename", "memorytype", "memorymbytes"), _24(NULL), _25("pv_total_memory_detail"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3985), _1("pv_total_memory_detail"), _2(0), _3(true), _4(true), _5(pv_total_memory_detail), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(0), _21(3, 25, 25, 23), _22(3, 'o', 'o', 'o'), _23(3, "nodename", "memorytype", "memorymbytes"), _24(NULL), _25("pv_total_memory_detail"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "query_to_xml", 1, - AddBuiltinFunc(_0(2924), _1("query_to_xml"), _2(4), _3(false), _4(false), _5(query_to_xml), _6(142), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(100), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(4, 25, 16, 16, 25), _21(NULL), _22(NULL), _23(4, "query", "nulls", "tableforest", "targetns"), _24(NULL), _25("query_to_xml"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2924), _1("query_to_xml"), _2(4), _3(false), _4(false), _5(query_to_xml), _6(142), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(100), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(4, 25, 16, 16, 25), _21(NULL), _22(NULL), _23(4, "query", "nulls", "tableforest", "targetns"), _24(NULL), _25("query_to_xml"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "query_to_xml_and_xmlschema", 1, - AddBuiltinFunc(_0(2930), _1("query_to_xml_and_xmlschema"), _2(4), _3(false), _4(false), _5(query_to_xml_and_xmlschema), _6(142), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(100), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(4, 25, 16, 16, 25), _21(NULL), _22(NULL), _23(4, "query", "nulls", "tableforest", "targetns"), _24(NULL), _25("query_to_xml_and_xmlschema"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2930), _1("query_to_xml_and_xmlschema"), _2(4), _3(false), _4(false), _5(query_to_xml_and_xmlschema), _6(142), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(100), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(4, 25, 16, 16, 25), _21(NULL), _22(NULL), _23(4, "query", "nulls", "tableforest", "targetns"), _24(NULL), _25("query_to_xml_and_xmlschema"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "query_to_xmlschema", 1, - AddBuiltinFunc(_0(2927), _1("query_to_xmlschema"), _2(4), _3(false), _4(false), _5(query_to_xmlschema), _6(142), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(100), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(4, 25, 16, 16, 25), _21(NULL), _22(NULL), _23(4, "query", "nulls", "tableforest", "targetns"), _24(NULL), _25("query_to_xmlschema"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2927), _1("query_to_xmlschema"), _2(4), _3(false), _4(false), _5(query_to_xmlschema), _6(142), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(100), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(4, 25, 16, 16, 25), _21(NULL), _22(NULL), _23(4, "query", "nulls", "tableforest", "targetns"), _24(NULL), _25("query_to_xmlschema"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "querytree", 1, - AddBuiltinFunc(_0(3673), _1("querytree"), _2(1), _3(true), _4(false), _5(tsquerytree), _6(25), _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(1, 3615), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsquerytree"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3673), _1("querytree"), _2(1), _3(true), _4(false), _5(tsquerytree), _6(25), _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(1, 3615), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsquerytree"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "quote_ident", 1, - AddBuiltinFunc(_0(1282), _1("quote_ident"), _2(1), _3(true), _4(false), _5(quote_ident), _6(25), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("quote_ident"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1282), _1("quote_ident"), _2(1), _3(true), _4(false), _5(quote_ident), _6(25), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("quote_ident"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "quote_literal", 2, - AddBuiltinFunc(_0(1283), _1("quote_literal"), _2(1), _3(true), _4(false), _5(quote_literal), _6(25), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("quote_literal"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1285), _1("quote_literal"), _2(1), _3(true), _4(false), _5(NULL), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(1, 2283), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select pg_catalog.quote_literal($1::pg_catalog.text)"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1283), _1("quote_literal"), _2(1), _3(true), _4(false), _5(quote_literal), _6(25), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("quote_literal"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1285), _1("quote_literal"), _2(1), _3(true), _4(false), _5(NULL), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(1, 2283), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select pg_catalog.quote_literal($1::pg_catalog.text)"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "quote_nullable", 2, - AddBuiltinFunc(_0(1289), _1("quote_nullable"), _2(1), _3(false), _4(false), _5(quote_nullable), _6(25), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("quote_nullable"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1290), _1("quote_nullable"), _2(1), _3(false), _4(false), _5(NULL), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(1, 2283), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select pg_catalog.quote_nullable($1::pg_catalog.text)"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1289), _1("quote_nullable"), _2(1), _3(false), _4(false), _5(quote_nullable), _6(25), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("quote_nullable"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1290), _1("quote_nullable"), _2(1), _3(false), _4(false), _5(NULL), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(1, 2283), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select pg_catalog.quote_nullable($1::pg_catalog.text)"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "radians", 1, - AddBuiltinFunc(_0(1609), _1("radians"), _2(1), _3(true), _4(false), _5(radians), _6(701), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("radians"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1609), _1("radians"), _2(1), _3(true), _4(false), _5(radians), _6(701), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("radians"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "radius", 1, - AddBuiltinFunc(_0(1470), _1("radius"), _2(1), _3(true), _4(false), _5(circle_radius), _6(701), _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(1, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_radius"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1470), _1("radius"), _2(1), _3(true), _4(false), _5(circle_radius), _6(701), _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(1, 718), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("circle_radius"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "random", 1, - AddBuiltinFunc(_0(RANDOMFUNCOID), _1("random"), _2(0), _3(true), _4(false), _5(drandom), _6(701), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("drandom"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(RANDOMFUNCOID), _1("random"), _2(0), _3(true), _4(false), _5(drandom), _6(701), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("drandom"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "range_adjacent", 1, - AddBuiltinFunc(_0(3862), _1("range_adjacent"), _2(2), _3(true), _4(false), _5(range_adjacent), _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(2, 3831, 3831), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_adjacent"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3862), _1("range_adjacent"), _2(2), _3(true), _4(false), _5(range_adjacent), _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(2, 3831, 3831), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_adjacent"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "range_after", 1, - AddBuiltinFunc(_0(3864), _1("range_after"), _2(2), _3(true), _4(false), _5(range_after), _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(2, 3831, 3831), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_after"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3864), _1("range_after"), _2(2), _3(true), _4(false), _5(range_after), _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(2, 3831, 3831), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_after"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "range_before", 1, - AddBuiltinFunc(_0(3863), _1("range_before"), _2(2), _3(true), _4(false), _5(range_before), _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(2, 3831, 3831), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_before"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3863), _1("range_before"), _2(2), _3(true), _4(false), _5(range_before), _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(2, 3831, 3831), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_before"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "range_cmp", 1, - AddBuiltinFunc(_0(3870), _1("range_cmp"), _2(2), _3(true), _4(false), _5(range_cmp), _6(23), _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(2, 3831, 3831), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3870), _1("range_cmp"), _2(2), _3(true), _4(false), _5(range_cmp), _6(23), _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(2, 3831, 3831), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "range_contained_by", 1, - AddBuiltinFunc(_0(3861), _1("range_contained_by"), _2(2), _3(true), _4(false), _5(range_contained_by), _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(2, 3831, 3831), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_contained_by"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3861), _1("range_contained_by"), _2(2), _3(true), _4(false), _5(range_contained_by), _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(2, 3831, 3831), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_contained_by"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "range_contains", 1, - AddBuiltinFunc(_0(3859), _1("range_contains"), _2(2), _3(true), _4(false), _5(range_contains), _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(2, 3831, 3831), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_contains"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3859), _1("range_contains"), _2(2), _3(true), _4(false), _5(range_contains), _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(2, 3831, 3831), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_contains"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "range_contains_elem", 1, - AddBuiltinFunc(_0(3858), _1("range_contains_elem"), _2(2), _3(true), _4(false), _5(range_contains_elem), _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(2, 3831, 2283), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_contains_elem"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3858), _1("range_contains_elem"), _2(2), _3(true), _4(false), _5(range_contains_elem), _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(2, 3831, 2283), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_contains_elem"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "range_eq", 1, - AddBuiltinFunc(_0(3855), _1("range_eq"), _2(2), _3(true), _4(false), _5(range_eq), _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(2, 3831, 3831), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3855), _1("range_eq"), _2(2), _3(true), _4(false), _5(range_eq), _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(2, 3831, 3831), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "range_ge", 1, - AddBuiltinFunc(_0(3873), _1("range_ge"), _2(2), _3(true), _4(false), _5(range_ge), _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(2, 3831, 3831), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3873), _1("range_ge"), _2(2), _3(true), _4(false), _5(range_ge), _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(2, 3831, 3831), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "range_gist_compress", 1, - AddBuiltinFunc(_0(3877), _1("range_gist_compress"), _2(1), _3(true), _4(false), _5(range_gist_compress), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_gist_compress"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3877), _1("range_gist_compress"), _2(1), _3(true), _4(false), _5(range_gist_compress), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_gist_compress"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "range_gist_consistent", 1, - AddBuiltinFunc(_0(3875), _1("range_gist_consistent"), _2(5), _3(true), _4(false), _5(range_gist_consistent), _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(5, 2281, 3831, 23, 26, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_gist_consistent"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3875), _1("range_gist_consistent"), _2(5), _3(true), _4(false), _5(range_gist_consistent), _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(5, 2281, 3831, 23, 26, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_gist_consistent"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "range_gist_decompress", 1, - AddBuiltinFunc(_0(3878), _1("range_gist_decompress"), _2(1), _3(true), _4(false), _5(range_gist_decompress), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_gist_decompress"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3878), _1("range_gist_decompress"), _2(1), _3(true), _4(false), _5(range_gist_decompress), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_gist_decompress"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "range_gist_penalty", 1, - AddBuiltinFunc(_0(3879), _1("range_gist_penalty"), _2(3), _3(true), _4(false), _5(range_gist_penalty), _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(3, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_gist_penalty"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3879), _1("range_gist_penalty"), _2(3), _3(true), _4(false), _5(range_gist_penalty), _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(3, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_gist_penalty"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "range_gist_picksplit", 1, - AddBuiltinFunc(_0(3880), _1("range_gist_picksplit"), _2(2), _3(true), _4(false), _5(range_gist_picksplit), _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(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_gist_picksplit"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3880), _1("range_gist_picksplit"), _2(2), _3(true), _4(false), _5(range_gist_picksplit), _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(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_gist_picksplit"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "range_gist_same", 1, - AddBuiltinFunc(_0(3881), _1("range_gist_same"), _2(3), _3(true), _4(false), _5(range_gist_same), _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(3, 3831, 3831, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_gist_same"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3881), _1("range_gist_same"), _2(3), _3(true), _4(false), _5(range_gist_same), _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(3, 3831, 3831, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_gist_same"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "range_gist_union", 1, - AddBuiltinFunc(_0(3876), _1("range_gist_union"), _2(2), _3(true), _4(false), _5(range_gist_union), _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(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_gist_union"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3876), _1("range_gist_union"), _2(2), _3(true), _4(false), _5(range_gist_union), _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(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_gist_union"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "range_gt", 1, - AddBuiltinFunc(_0(3874), _1("range_gt"), _2(2), _3(true), _4(false), _5(range_gt), _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(2, 3831, 3831), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3874), _1("range_gt"), _2(2), _3(true), _4(false), _5(range_gt), _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(2, 3831, 3831), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "range_in", 1, - AddBuiltinFunc(_0(3834), _1("range_in"), _2(3), _3(true), _4(false), _5(range_in), _6(3831), _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('s'), _19(0), _20(3, 2275, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3834), _1("range_in"), _2(3), _3(true), _4(false), _5(range_in), _6(3831), _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('s'), _19(0), _20(3, 2275, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "range_intersect", 1, - AddBuiltinFunc(_0(3868), _1("range_intersect"), _2(2), _3(true), _4(false), _5(range_intersect), _6(3831), _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(2, 3831, 3831), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_intersect"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3868), _1("range_intersect"), _2(2), _3(true), _4(false), _5(range_intersect), _6(3831), _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(2, 3831, 3831), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_intersect"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "range_le", 1, - AddBuiltinFunc(_0(3872), _1("range_le"), _2(2), _3(true), _4(false), _5(range_le), _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(2, 3831, 3831), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3872), _1("range_le"), _2(2), _3(true), _4(false), _5(range_le), _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(2, 3831, 3831), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "range_lt", 1, - AddBuiltinFunc(_0(3871), _1("range_lt"), _2(2), _3(true), _4(false), _5(range_lt), _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(2, 3831, 3831), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3871), _1("range_lt"), _2(2), _3(true), _4(false), _5(range_lt), _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(2, 3831, 3831), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "range_minus", 1, - AddBuiltinFunc(_0(3869), _1("range_minus"), _2(2), _3(true), _4(false), _5(range_minus), _6(3831), _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(2, 3831, 3831), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_minus"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3869), _1("range_minus"), _2(2), _3(true), _4(false), _5(range_minus), _6(3831), _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(2, 3831, 3831), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_minus"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "range_ne", 1, - AddBuiltinFunc(_0(3856), _1("range_ne"), _2(2), _3(true), _4(false), _5(range_ne), _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(2, 3831, 3831), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3856), _1("range_ne"), _2(2), _3(true), _4(false), _5(range_ne), _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(2, 3831, 3831), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "range_out", 1, - AddBuiltinFunc(_0(3835), _1("range_out"), _2(1), _3(true), _4(false), _5(range_out), _6(2275), _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('s'), _19(0), _20(1, 3831), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3835), _1("range_out"), _2(1), _3(true), _4(false), _5(range_out), _6(2275), _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('s'), _19(0), _20(1, 3831), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "range_overlaps", 1, - AddBuiltinFunc(_0(3857), _1("range_overlaps"), _2(2), _3(true), _4(false), _5(range_overlaps), _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(2, 3831, 3831), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_overlaps"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3857), _1("range_overlaps"), _2(2), _3(true), _4(false), _5(range_overlaps), _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(2, 3831, 3831), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_overlaps"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "range_overleft", 1, - AddBuiltinFunc(_0(3865), _1("range_overleft"), _2(2), _3(true), _4(false), _5(range_overleft), _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(2, 3831, 3831), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_overleft"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3865), _1("range_overleft"), _2(2), _3(true), _4(false), _5(range_overleft), _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(2, 3831, 3831), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_overleft"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "range_overright", 1, - AddBuiltinFunc(_0(3866), _1("range_overright"), _2(2), _3(true), _4(false), _5(range_overright), _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(2, 3831, 3831), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_overright"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3866), _1("range_overright"), _2(2), _3(true), _4(false), _5(range_overright), _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(2, 3831, 3831), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_overright"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "range_recv", 1, - AddBuiltinFunc(_0(3836), _1("range_recv"), _2(3), _3(true), _4(false), _5(range_recv), _6(3831), _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('s'), _19(0), _20(3, 2281, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3836), _1("range_recv"), _2(3), _3(true), _4(false), _5(range_recv), _6(3831), _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('s'), _19(0), _20(3, 2281, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "range_send", 1, - AddBuiltinFunc(_0(3837), _1("range_send"), _2(1), _3(true), _4(false), _5(range_send), _6(17), _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('s'), _19(0), _20(1, 3831), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3837), _1("range_send"), _2(1), _3(true), _4(false), _5(range_send), _6(17), _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('s'), _19(0), _20(1, 3831), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "range_typanalyze", 1, - AddBuiltinFunc(_0(3916), _1("range_typanalyze"), _2(1), _3(true), _4(false), _5(range_typanalyze), _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('s'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_typanalyze"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3916), _1("range_typanalyze"), _2(1), _3(true), _4(false), _5(range_typanalyze), _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('s'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_typanalyze"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "range_union", 1, - AddBuiltinFunc(_0(3867), _1("range_union"), _2(2), _3(true), _4(false), _5(range_union), _6(3831), _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(2, 3831, 3831), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_union"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3867), _1("range_union"), _2(2), _3(true), _4(false), _5(range_union), _6(3831), _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(2, 3831, 3831), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_union"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "rank", 1, - AddBuiltinFunc(_0(RANKFUNCOID), _1("rank"), _2(0), _3(false), _4(false), _5(window_rank), _6(20), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(true), _16(false), _17(false), _18('i'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("window_rank"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(RANKFUNCOID), _1("rank"), _2(0), _3(false), _4(false), _5(window_rank), _6(20), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(true), _16(false), _17(false), _18('i'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("window_rank"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "rawcat", 1, - AddBuiltinFunc(_0(3478), _1("rawcat"), _2(2), _3(true), _4(false), _5(rawcat), _6(86), _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(2, 86, 86), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("rawcat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3478), _1("rawcat"), _2(2), _3(true), _4(false), _5(rawcat), _6(86), _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(2, 86, 86), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("rawcat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "rawcmp", 1, - AddBuiltinFunc(_0(3475), _1("rawcmp"), _2(2), _3(true), _4(false), _5(rawcmp), _6(23), _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(2, 86, 86), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("rawcmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3475), _1("rawcmp"), _2(2), _3(true), _4(false), _5(rawcmp), _6(23), _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(2, 86, 86), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("rawcmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "raweq", 1, - AddBuiltinFunc(_0(3931), _1("raweq"), _2(2), _3(true), _4(false), _5(raweq), _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(2, 86, 86), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("raweq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3931), _1("raweq"), _2(2), _3(true), _4(false), _5(raweq), _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(2, 86, 86), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("raweq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "rawge", 1, - AddBuiltinFunc(_0(3939), _1("rawge"), _2(2), _3(true), _4(false), _5(rawge), _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(2, 86, 86), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("rawge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3939), _1("rawge"), _2(2), _3(true), _4(false), _5(rawge), _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(2, 86, 86), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("rawge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "rawgt", 1, - AddBuiltinFunc(_0(3936), _1("rawgt"), _2(2), _3(true), _4(false), _5(rawgt), _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(2, 86, 86), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("rawgt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3936), _1("rawgt"), _2(2), _3(true), _4(false), _5(rawgt), _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(2, 86, 86), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("rawgt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "rawin", 1, - AddBuiltinFunc(_0(4035), _1("rawin"), _2(1), _3(true), _4(false), _5(rawin), _6(17), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("rawin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4035), _1("rawin"), _2(1), _3(true), _4(false), _5(rawin), _6(17), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("rawin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "rawle", 1, - AddBuiltinFunc(_0(3935), _1("rawle"), _2(2), _3(true), _4(false), _5(rawle), _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(2, 86, 86), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("rawle"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3935), _1("rawle"), _2(2), _3(true), _4(false), _5(rawle), _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(2, 86, 86), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("rawle"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "rawlike", 1, - AddBuiltinFunc(_0(3476), _1("rawlike"), _2(2), _3(true), _4(false), _5(rawlike), _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(2, 86, 86), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("rawlike"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3476), _1("rawlike"), _2(2), _3(true), _4(false), _5(rawlike), _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(2, 86, 86), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("rawlike"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "rawlt", 1, - AddBuiltinFunc(_0(3932), _1("rawlt"), _2(2), _3(true), _4(false), _5(rawlt), _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(2, 86, 86), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("rawlt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3932), _1("rawlt"), _2(2), _3(true), _4(false), _5(rawlt), _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(2, 86, 86), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("rawlt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "rawne", 1, - AddBuiltinFunc(_0(3940), _1("rawne"), _2(2), _3(true), _4(false), _5(rawne), _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(2, 86, 86), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("rawne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3940), _1("rawne"), _2(2), _3(true), _4(false), _5(rawne), _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(2, 86, 86), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("rawne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "rawnlike", 1, - AddBuiltinFunc(_0(3477), _1("rawnlike"), _2(2), _3(true), _4(false), _5(rawnlike), _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(2, 86, 86), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("rawnlike"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3477), _1("rawnlike"), _2(2), _3(true), _4(false), _5(rawnlike), _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(2, 86, 86), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("rawnlike"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "rawout", 1, - AddBuiltinFunc(_0(4036), _1("rawout"), _2(1), _3(true), _4(false), _5(rawout), _6(2275), _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(1, 17), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("rawout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4036), _1("rawout"), _2(1), _3(true), _4(false), _5(rawout), _6(2275), _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(1, 17), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("rawout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "rawrecv", 1, - AddBuiltinFunc(_0(4033), _1("rawrecv"), _2(1), _3(true), _4(false), _5(bytearecv), _6(86), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bytearecv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4033), _1("rawrecv"), _2(1), _3(true), _4(false), _5(bytearecv), _6(86), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bytearecv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "rawsend", 1, - AddBuiltinFunc(_0(4034), _1("rawsend"), _2(1), _3(true), _4(false), _5(byteasend), _6(17), _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(1, 86), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteasend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4034), _1("rawsend"), _2(1), _3(true), _4(false), _5(byteasend), _6(17), _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(1, 86), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteasend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "rawtohex", 1, - AddBuiltinFunc(_0(4037), _1("rawtohex"), _2(1), _3(true), _4(false), _5(rawtotext), _6(25), _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(1, 86), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("rawtotext"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4037), _1("rawtohex"), _2(1), _3(true), _4(false), _5(rawtotext), _6(25), _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(1, 86), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("rawtotext"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "read_disable_conn_file", 1, - AddBuiltinFunc(_0(4222), _1("read_disable_conn_file"), _2(0), _3(false), _4(false), _5(read_disable_conn_file), _6(2249), _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('v'), _19(0), _20(0), _21(6, 25, 25, 25, 25, 25, 25), _22(6, 'o', 'o', 'o', 'o', 'o', 'o'), _23(6, "disconn_mode", "disconn_host", "disconn_port", "local_host", "local_port", "redo_finished"), _24(NULL), _25("read_disable_conn_file"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4222), _1("read_disable_conn_file"), _2(0), _3(false), _4(false), _5(read_disable_conn_file), _6(2249), _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('v'), _19(0), _20(0), _21(6, 25, 25, 25, 25, 25, 25), _22(6, 'o', 'o', 'o', 'o', 'o', 'o'), _23(6, "disconn_mode", "disconn_host", "disconn_port", "local_host", "local_port", "redo_finished"), _24(NULL), _25("read_disable_conn_file"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "record_eq", 1, - AddBuiltinFunc(_0(2981), _1("record_eq"), _2(2), _3(true), _4(false), _5(record_eq), _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(2, 2249, 2249), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("record_eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2981), _1("record_eq"), _2(2), _3(true), _4(false), _5(record_eq), _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(2, 2249, 2249), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("record_eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "record_ge", 1, - AddBuiltinFunc(_0(2986), _1("record_ge"), _2(2), _3(true), _4(false), _5(record_ge), _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(2, 2249, 2249), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("record_ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2986), _1("record_ge"), _2(2), _3(true), _4(false), _5(record_ge), _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(2, 2249, 2249), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("record_ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "record_gt", 1, - AddBuiltinFunc(_0(2984), _1("record_gt"), _2(2), _3(true), _4(false), _5(record_gt), _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(2, 2249, 2249), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("record_gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2984), _1("record_gt"), _2(2), _3(true), _4(false), _5(record_gt), _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(2, 2249, 2249), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("record_gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "record_in", 1, - AddBuiltinFunc(_0(2290), _1("record_in"), _2(3), _3(true), _4(false), _5(record_in), _6(2249), _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('s'), _19(0), _20(3, 2275, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("record_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2290), _1("record_in"), _2(3), _3(true), _4(false), _5(record_in), _6(2249), _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('s'), _19(0), _20(3, 2275, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("record_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "record_le", 1, - AddBuiltinFunc(_0(2985), _1("record_le"), _2(2), _3(true), _4(false), _5(record_le), _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(2, 2249, 2249), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("record_le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2985), _1("record_le"), _2(2), _3(true), _4(false), _5(record_le), _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(2, 2249, 2249), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("record_le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "record_lt", 1, - AddBuiltinFunc(_0(2983), _1("record_lt"), _2(2), _3(true), _4(false), _5(record_lt), _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(2, 2249, 2249), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("record_lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2983), _1("record_lt"), _2(2), _3(true), _4(false), _5(record_lt), _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(2, 2249, 2249), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("record_lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "record_ne", 1, - AddBuiltinFunc(_0(2982), _1("record_ne"), _2(2), _3(true), _4(false), _5(record_ne), _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(2, 2249, 2249), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("record_ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2982), _1("record_ne"), _2(2), _3(true), _4(false), _5(record_ne), _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(2, 2249, 2249), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("record_ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "record_out", 1, - AddBuiltinFunc(_0(2291), _1("record_out"), _2(1), _3(true), _4(false), _5(record_out), _6(2275), _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('s'), _19(0), _20(1, 2249), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("record_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2291), _1("record_out"), _2(1), _3(true), _4(false), _5(record_out), _6(2275), _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('s'), _19(0), _20(1, 2249), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("record_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "record_recv", 1, - AddBuiltinFunc(_0(2402), _1("record_recv"), _2(3), _3(true), _4(false), _5(record_recv), _6(2249), _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('s'), _19(0), _20(3, 2281, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("record_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2402), _1("record_recv"), _2(3), _3(true), _4(false), _5(record_recv), _6(2249), _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('s'), _19(0), _20(3, 2281, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("record_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "record_send", 1, - AddBuiltinFunc(_0(2403), _1("record_send"), _2(1), _3(true), _4(false), _5(record_send), _6(17), _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('s'), _19(0), _20(1, 2249), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("record_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2403), _1("record_send"), _2(1), _3(true), _4(false), _5(record_send), _6(17), _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('s'), _19(0), _20(1, 2249), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("record_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "regclass", 1, - AddBuiltinFunc(_0(1079), _1("regclass"), _2(1), _3(true), _4(false), _5(text_regclass), _6(2205), _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('s'), _19(0), _20(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_regclass"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1079), _1("regclass"), _2(1), _3(true), _4(false), _5(text_regclass), _6(2205), _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('s'), _19(0), _20(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_regclass"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "regclassin", 1, - AddBuiltinFunc(_0(2218), _1("regclassin"), _2(1), _3(true), _4(false), _5(regclassin), _6(2205), _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('s'), _19(0), _20(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regclassin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2218), _1("regclassin"), _2(1), _3(true), _4(false), _5(regclassin), _6(2205), _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('s'), _19(0), _20(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regclassin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "regclassout", 1, - AddBuiltinFunc(_0(2219), _1("regclassout"), _2(1), _3(true), _4(false), _5(regclassout), _6(2275), _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('s'), _19(0), _20(1, 2205), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regclassout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2219), _1("regclassout"), _2(1), _3(true), _4(false), _5(regclassout), _6(2275), _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('s'), _19(0), _20(1, 2205), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regclassout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "regclassrecv", 1, - AddBuiltinFunc(_0(2452), _1("regclassrecv"), _2(1), _3(true), _4(false), _5(regclassrecv), _6(2205), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regclassrecv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2452), _1("regclassrecv"), _2(1), _3(true), _4(false), _5(regclassrecv), _6(2205), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regclassrecv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "regclasssend", 1, - AddBuiltinFunc(_0(2453), _1("regclasssend"), _2(1), _3(true), _4(false), _5(regclasssend), _6(17), _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(1, 2205), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regclasssend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2453), _1("regclasssend"), _2(1), _3(true), _4(false), _5(regclasssend), _6(17), _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(1, 2205), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regclasssend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "regconfigin", 1, - AddBuiltinFunc(_0(3736), _1("regconfigin"), _2(1), _3(true), _4(false), _5(regconfigin), _6(3734), _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('s'), _19(0), _20(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regconfigin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3736), _1("regconfigin"), _2(1), _3(true), _4(false), _5(regconfigin), _6(3734), _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('s'), _19(0), _20(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regconfigin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "regconfigout", 1, - AddBuiltinFunc(_0(3737), _1("regconfigout"), _2(1), _3(true), _4(false), _5(regconfigout), _6(2275), _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('s'), _19(0), _20(1, 3734), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regconfigout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3737), _1("regconfigout"), _2(1), _3(true), _4(false), _5(regconfigout), _6(2275), _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('s'), _19(0), _20(1, 3734), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regconfigout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "regconfigrecv", 1, - AddBuiltinFunc(_0(3738), _1("regconfigrecv"), _2(1), _3(true), _4(false), _5(regconfigrecv), _6(3734), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regconfigrecv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3738), _1("regconfigrecv"), _2(1), _3(true), _4(false), _5(regconfigrecv), _6(3734), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regconfigrecv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "regconfigsend", 1, - AddBuiltinFunc(_0(3739), _1("regconfigsend"), _2(1), _3(true), _4(false), _5(regconfigsend), _6(17), _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(1, 3734), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regconfigsend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3739), _1("regconfigsend"), _2(1), _3(true), _4(false), _5(regconfigsend), _6(17), _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(1, 3734), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regconfigsend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "regdictionaryin", 1, - AddBuiltinFunc(_0(3771), _1("regdictionaryin"), _2(1), _3(true), _4(false), _5(regdictionaryin), _6(3769), _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('s'), _19(0), _20(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regdictionaryin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3771), _1("regdictionaryin"), _2(1), _3(true), _4(false), _5(regdictionaryin), _6(3769), _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('s'), _19(0), _20(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regdictionaryin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "regdictionaryout", 1, - AddBuiltinFunc(_0(3772), _1("regdictionaryout"), _2(1), _3(true), _4(false), _5(regdictionaryout), _6(2275), _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('s'), _19(0), _20(1, 3769), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regdictionaryout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3772), _1("regdictionaryout"), _2(1), _3(true), _4(false), _5(regdictionaryout), _6(2275), _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('s'), _19(0), _20(1, 3769), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regdictionaryout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "regdictionaryrecv", 1, - AddBuiltinFunc(_0(3773), _1("regdictionaryrecv"), _2(1), _3(true), _4(false), _5(regdictionaryrecv), _6(3769), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regdictionaryrecv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3773), _1("regdictionaryrecv"), _2(1), _3(true), _4(false), _5(regdictionaryrecv), _6(3769), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regdictionaryrecv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "regdictionarysend", 1, - AddBuiltinFunc(_0(3774), _1("regdictionarysend"), _2(1), _3(true), _4(false), _5(regdictionarysend), _6(17), _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(1, 3769), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regdictionarysend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3774), _1("regdictionarysend"), _2(1), _3(true), _4(false), _5(regdictionarysend), _6(17), _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(1, 3769), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regdictionarysend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "regexeqjoinsel", 1, - AddBuiltinFunc(_0(1824), _1("regexeqjoinsel"), _2(5), _3(true), _4(false), _5(regexeqjoinsel), _6(701), _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('s'), _19(0), _20(5, 2281, 26, 2281, 21, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regexeqjoinsel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1824), _1("regexeqjoinsel"), _2(5), _3(true), _4(false), _5(regexeqjoinsel), _6(701), _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('s'), _19(0), _20(5, 2281, 26, 2281, 21, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regexeqjoinsel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "regexeqsel", 1, - AddBuiltinFunc(_0(1818), _1("regexeqsel"), _2(4), _3(true), _4(false), _5(regexeqsel), _6(701), _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('s'), _19(0), _20(4, 2281, 26, 2281, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regexeqsel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1818), _1("regexeqsel"), _2(4), _3(true), _4(false), _5(regexeqsel), _6(701), _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('s'), _19(0), _20(4, 2281, 26, 2281, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regexeqsel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "regexnejoinsel", 1, - AddBuiltinFunc(_0(1827), _1("regexnejoinsel"), _2(5), _3(true), _4(false), _5(regexnejoinsel), _6(701), _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('s'), _19(0), _20(5, 2281, 26, 2281, 21, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regexnejoinsel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1827), _1("regexnejoinsel"), _2(5), _3(true), _4(false), _5(regexnejoinsel), _6(701), _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('s'), _19(0), _20(5, 2281, 26, 2281, 21, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regexnejoinsel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "regexnesel", 1, - AddBuiltinFunc(_0(1821), _1("regexnesel"), _2(4), _3(true), _4(false), _5(regexnesel), _6(701), _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('s'), _19(0), _20(4, 2281, 26, 2281, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regexnesel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1821), _1("regexnesel"), _2(4), _3(true), _4(false), _5(regexnesel), _6(701), _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('s'), _19(0), _20(4, 2281, 26, 2281, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regexnesel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "regexp_matches", 2, - AddBuiltinFunc(_0(2763), _1("regexp_matches"), _2(2), _3(true), _4(true), _5(regexp_matches_no_flags), _6(1009), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regexp_matches_no_flags"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2764), _1("regexp_matches"), _2(3), _3(true), _4(true), _5(regexp_matches), _6(1009), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(10), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(3, 25, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regexp_matches"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2763), _1("regexp_matches"), _2(2), _3(true), _4(true), _5(regexp_matches_no_flags), _6(1009), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regexp_matches_no_flags"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2764), _1("regexp_matches"), _2(3), _3(true), _4(true), _5(regexp_matches), _6(1009), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(10), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(3, 25, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regexp_matches"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "regexp_replace", 2, - AddBuiltinFunc(_0(2284), _1("regexp_replace"), _2(3), _3(false), _4(false), _5(textregexreplace_noopt), _6(25), _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(3, 25, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("textregexreplace_noopt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2285), _1("regexp_replace"), _2(4), _3(false), _4(false), _5(textregexreplace), _6(25), _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(4, 25, 25, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("textregexreplace"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2284), _1("regexp_replace"), _2(3), _3(false), _4(false), _5(textregexreplace_noopt), _6(25), _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(3, 25, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("textregexreplace_noopt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2285), _1("regexp_replace"), _2(4), _3(false), _4(false), _5(textregexreplace), _6(25), _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(4, 25, 25, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("textregexreplace"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "regexp_split_to_array", 2, - AddBuiltinFunc(_0(2767), _1("regexp_split_to_array"), _2(2), _3(true), _4(false), _5(regexp_split_to_array_no_flags), _6(1009), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regexp_split_to_array_no_flags"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2768), _1("regexp_split_to_array"), _2(3), _3(true), _4(false), _5(regexp_split_to_array), _6(1009), _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(3, 25, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regexp_split_to_array"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2767), _1("regexp_split_to_array"), _2(2), _3(true), _4(false), _5(regexp_split_to_array_no_flags), _6(1009), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regexp_split_to_array_no_flags"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2768), _1("regexp_split_to_array"), _2(3), _3(true), _4(false), _5(regexp_split_to_array), _6(1009), _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(3, 25, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regexp_split_to_array"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "regexp_split_to_table", 2, - AddBuiltinFunc(_0(2765), _1("regexp_split_to_table"), _2(2), _3(true), _4(true), _5(regexp_split_to_table_no_flags), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regexp_split_to_table_no_flags"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2766), _1("regexp_split_to_table"), _2(3), _3(true), _4(true), _5(regexp_split_to_table), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(3, 25, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regexp_split_to_table"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2765), _1("regexp_split_to_table"), _2(2), _3(true), _4(true), _5(regexp_split_to_table_no_flags), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regexp_split_to_table_no_flags"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2766), _1("regexp_split_to_table"), _2(3), _3(true), _4(true), _5(regexp_split_to_table), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(3, 25, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regexp_split_to_table"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "regoperatorin", 1, - AddBuiltinFunc(_0(2216), _1("regoperatorin"), _2(1), _3(true), _4(false), _5(regoperatorin), _6(2204), _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('s'), _19(0), _20(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regoperatorin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2216), _1("regoperatorin"), _2(1), _3(true), _4(false), _5(regoperatorin), _6(2204), _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('s'), _19(0), _20(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regoperatorin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "regoperatorout", 1, - AddBuiltinFunc(_0(2217), _1("regoperatorout"), _2(1), _3(true), _4(false), _5(regoperatorout), _6(2275), _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('s'), _19(0), _20(1, 2204), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regoperatorout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2217), _1("regoperatorout"), _2(1), _3(true), _4(false), _5(regoperatorout), _6(2275), _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('s'), _19(0), _20(1, 2204), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regoperatorout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "regoperatorrecv", 1, - AddBuiltinFunc(_0(2450), _1("regoperatorrecv"), _2(1), _3(true), _4(false), _5(regoperatorrecv), _6(2204), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regoperatorrecv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2450), _1("regoperatorrecv"), _2(1), _3(true), _4(false), _5(regoperatorrecv), _6(2204), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regoperatorrecv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "regoperatorsend", 1, - AddBuiltinFunc(_0(2451), _1("regoperatorsend"), _2(1), _3(true), _4(false), _5(regoperatorsend), _6(17), _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(1, 2204), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regoperatorsend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2451), _1("regoperatorsend"), _2(1), _3(true), _4(false), _5(regoperatorsend), _6(17), _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(1, 2204), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regoperatorsend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "regoperin", 1, - AddBuiltinFunc(_0(2214), _1("regoperin"), _2(1), _3(true), _4(false), _5(regoperin), _6(2203), _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('s'), _19(0), _20(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regoperin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2214), _1("regoperin"), _2(1), _3(true), _4(false), _5(regoperin), _6(2203), _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('s'), _19(0), _20(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regoperin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "regoperout", 1, - AddBuiltinFunc(_0(2215), _1("regoperout"), _2(1), _3(true), _4(false), _5(regoperout), _6(2275), _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('s'), _19(0), _20(1, 2203), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regoperout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2215), _1("regoperout"), _2(1), _3(true), _4(false), _5(regoperout), _6(2275), _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('s'), _19(0), _20(1, 2203), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regoperout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "regoperrecv", 1, - AddBuiltinFunc(_0(2448), _1("regoperrecv"), _2(1), _3(true), _4(false), _5(regoperrecv), _6(2203), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regoperrecv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2448), _1("regoperrecv"), _2(1), _3(true), _4(false), _5(regoperrecv), _6(2203), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regoperrecv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "regopersend", 1, - AddBuiltinFunc(_0(2449), _1("regopersend"), _2(1), _3(true), _4(false), _5(regopersend), _6(17), _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(1, 2203), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regopersend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2449), _1("regopersend"), _2(1), _3(true), _4(false), _5(regopersend), _6(17), _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(1, 2203), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regopersend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "regprocedurein", 1, - AddBuiltinFunc(_0(2212), _1("regprocedurein"), _2(1), _3(true), _4(false), _5(regprocedurein), _6(2202), _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('s'), _19(0), _20(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regprocedurein"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2212), _1("regprocedurein"), _2(1), _3(true), _4(false), _5(regprocedurein), _6(2202), _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('s'), _19(0), _20(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regprocedurein"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "regprocedureout", 1, - AddBuiltinFunc(_0(2213), _1("regprocedureout"), _2(1), _3(true), _4(false), _5(regprocedureout), _6(2275), _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('s'), _19(0), _20(1, 2202), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regprocedureout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2213), _1("regprocedureout"), _2(1), _3(true), _4(false), _5(regprocedureout), _6(2275), _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('s'), _19(0), _20(1, 2202), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regprocedureout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "regprocedurerecv", 1, - AddBuiltinFunc(_0(2446), _1("regprocedurerecv"), _2(1), _3(true), _4(false), _5(regprocedurerecv), _6(2202), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regprocedurerecv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2446), _1("regprocedurerecv"), _2(1), _3(true), _4(false), _5(regprocedurerecv), _6(2202), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regprocedurerecv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "regproceduresend", 1, - AddBuiltinFunc(_0(2447), _1("regproceduresend"), _2(1), _3(true), _4(false), _5(regproceduresend), _6(17), _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(1, 2202), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regproceduresend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2447), _1("regproceduresend"), _2(1), _3(true), _4(false), _5(regproceduresend), _6(17), _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(1, 2202), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regproceduresend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "regprocin", 1, - AddBuiltinFunc(_0(44), _1("regprocin"), _2(1), _3(true), _4(false), _5(regprocin), _6(24), _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('s'), _19(0), _20(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regprocin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(44), _1("regprocin"), _2(1), _3(true), _4(false), _5(regprocin), _6(24), _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('s'), _19(0), _20(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regprocin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "regprocout", 1, - AddBuiltinFunc(_0(45), _1("regprocout"), _2(1), _3(true), _4(false), _5(regprocout), _6(2275), _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('s'), _19(0), _20(1, 24), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regprocout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(45), _1("regprocout"), _2(1), _3(true), _4(false), _5(regprocout), _6(2275), _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('s'), _19(0), _20(1, 24), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regprocout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "regprocrecv", 1, - AddBuiltinFunc(_0(2444), _1("regprocrecv"), _2(1), _3(true), _4(false), _5(regprocrecv), _6(24), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regprocrecv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2444), _1("regprocrecv"), _2(1), _3(true), _4(false), _5(regprocrecv), _6(24), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regprocrecv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "regprocsend", 1, - AddBuiltinFunc(_0(2445), _1("regprocsend"), _2(1), _3(true), _4(false), _5(regprocsend), _6(17), _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(1, 24), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regprocsend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2445), _1("regprocsend"), _2(1), _3(true), _4(false), _5(regprocsend), _6(17), _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(1, 24), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regprocsend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "regr_avgx", 1, - AddBuiltinFunc(_0(2822), _1("regr_avgx"), _2(2), _3(false), _4(false), _5(aggregate_dummy), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2822), _1("regr_avgx"), _2(2), _3(false), _4(false), _5(aggregate_dummy), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "regr_avgy", 1, - AddBuiltinFunc(_0(2823), _1("regr_avgy"), _2(2), _3(false), _4(false), _5(aggregate_dummy), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2823), _1("regr_avgy"), _2(2), _3(false), _4(false), _5(aggregate_dummy), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "regr_count", 1, - AddBuiltinFunc(_0(2818), _1("regr_count"), _2(2), _3(false), _4(false), _5(aggregate_dummy), _6(20), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2818), _1("regr_count"), _2(2), _3(false), _4(false), _5(aggregate_dummy), _6(20), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "regr_intercept", 1, - AddBuiltinFunc(_0(2826), _1("regr_intercept"), _2(2), _3(false), _4(false), _5(aggregate_dummy), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2826), _1("regr_intercept"), _2(2), _3(false), _4(false), _5(aggregate_dummy), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "regr_r2", 1, - AddBuiltinFunc(_0(2824), _1("regr_r2"), _2(2), _3(false), _4(false), _5(aggregate_dummy), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2824), _1("regr_r2"), _2(2), _3(false), _4(false), _5(aggregate_dummy), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "regr_slope", 1, - AddBuiltinFunc(_0(2825), _1("regr_slope"), _2(2), _3(false), _4(false), _5(aggregate_dummy), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2825), _1("regr_slope"), _2(2), _3(false), _4(false), _5(aggregate_dummy), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "regr_sxx", 1, - AddBuiltinFunc(_0(2819), _1("regr_sxx"), _2(2), _3(false), _4(false), _5(aggregate_dummy), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2819), _1("regr_sxx"), _2(2), _3(false), _4(false), _5(aggregate_dummy), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "regr_sxy", 1, - AddBuiltinFunc(_0(2821), _1("regr_sxy"), _2(2), _3(false), _4(false), _5(aggregate_dummy), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2821), _1("regr_sxy"), _2(2), _3(false), _4(false), _5(aggregate_dummy), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "regr_syy", 1, - AddBuiltinFunc(_0(2820), _1("regr_syy"), _2(2), _3(false), _4(false), _5(aggregate_dummy), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2820), _1("regr_syy"), _2(2), _3(false), _4(false), _5(aggregate_dummy), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 701, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "regtypein", 1, - AddBuiltinFunc(_0(2220), _1("regtypein"), _2(1), _3(true), _4(false), _5(regtypein), _6(2206), _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('s'), _19(0), _20(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regtypein"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2220), _1("regtypein"), _2(1), _3(true), _4(false), _5(regtypein), _6(2206), _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('s'), _19(0), _20(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regtypein"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "regtypeout", 1, - AddBuiltinFunc(_0(2221), _1("regtypeout"), _2(1), _3(true), _4(false), _5(regtypeout), _6(2275), _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('s'), _19(0), _20(1, 2206), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regtypeout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2221), _1("regtypeout"), _2(1), _3(true), _4(false), _5(regtypeout), _6(2275), _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('s'), _19(0), _20(1, 2206), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regtypeout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "regtyperecv", 1, - AddBuiltinFunc(_0(2454), _1("regtyperecv"), _2(1), _3(true), _4(false), _5(regtyperecv), _6(2206), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regtyperecv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2454), _1("regtyperecv"), _2(1), _3(true), _4(false), _5(regtyperecv), _6(2206), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regtyperecv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "regtypesend", 1, - AddBuiltinFunc(_0(2455), _1("regtypesend"), _2(1), _3(true), _4(false), _5(regtypesend), _6(17), _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(1, 2206), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regtypesend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2455), _1("regtypesend"), _2(1), _3(true), _4(false), _5(regtypesend), _6(17), _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(1, 2206), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("regtypesend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "reltime", 1, - AddBuiltinFunc(_0(1194), _1("reltime"), _2(1), _3(true), _4(false), _5(interval_reltime), _6(703), _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(1, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_reltime"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1194), _1("reltime"), _2(1), _3(true), _4(false), _5(interval_reltime), _6(703), _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(1, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_reltime"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "reltimeeq", 1, - AddBuiltinFunc(_0(257), _1("reltimeeq"), _2(2), _3(true), _4(false), _5(reltimeeq), _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(true), _18('i'), _19(0), _20(2, 703, 703), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("reltimeeq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(257), _1("reltimeeq"), _2(2), _3(true), _4(false), _5(reltimeeq), _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(true), _18('i'), _19(0), _20(2, 703, 703), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("reltimeeq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "reltimege", 1, - AddBuiltinFunc(_0(262), _1("reltimege"), _2(2), _3(true), _4(false), _5(reltimege), _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(true), _18('i'), _19(0), _20(2, 703, 703), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("reltimege"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(262), _1("reltimege"), _2(2), _3(true), _4(false), _5(reltimege), _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(true), _18('i'), _19(0), _20(2, 703, 703), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("reltimege"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "reltimegt", 1, - AddBuiltinFunc(_0(260), _1("reltimegt"), _2(2), _3(true), _4(false), _5(reltimegt), _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(true), _18('i'), _19(0), _20(2, 703, 703), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("reltimegt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(260), _1("reltimegt"), _2(2), _3(true), _4(false), _5(reltimegt), _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(true), _18('i'), _19(0), _20(2, 703, 703), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("reltimegt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "reltimein", 1, - AddBuiltinFunc(_0(RELTIMEINFUNCOID), _1("reltimein"), _2(1), _3(true), _4(false), _5(reltimein), _6(703), _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('s'), _19(0), _20(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("reltimein"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(RELTIMEINFUNCOID), _1("reltimein"), _2(1), _3(true), _4(false), _5(reltimein), _6(703), _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('s'), _19(0), _20(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("reltimein"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "reltimele", 1, - AddBuiltinFunc(_0(261), _1("reltimele"), _2(2), _3(true), _4(false), _5(reltimele), _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(true), _18('i'), _19(0), _20(2, 703, 703), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("reltimele"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(261), _1("reltimele"), _2(2), _3(true), _4(false), _5(reltimele), _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(true), _18('i'), _19(0), _20(2, 703, 703), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("reltimele"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "reltimelt", 1, - AddBuiltinFunc(_0(259), _1("reltimelt"), _2(2), _3(true), _4(false), _5(reltimelt), _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(true), _18('i'), _19(0), _20(2, 703, 703), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("reltimelt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(259), _1("reltimelt"), _2(2), _3(true), _4(false), _5(reltimelt), _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(true), _18('i'), _19(0), _20(2, 703, 703), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("reltimelt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "reltimene", 1, - AddBuiltinFunc(_0(258), _1("reltimene"), _2(2), _3(true), _4(false), _5(reltimene), _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(true), _18('i'), _19(0), _20(2, 703, 703), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("reltimene"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(258), _1("reltimene"), _2(2), _3(true), _4(false), _5(reltimene), _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(true), _18('i'), _19(0), _20(2, 703, 703), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("reltimene"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "reltimeout", 1, - AddBuiltinFunc(_0(RELTIMEOUTFUNCOID), _1("reltimeout"), _2(1), _3(true), _4(false), _5(reltimeout), _6(2275), _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('s'), _19(0), _20(1, 703), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("reltimeout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(RELTIMEOUTFUNCOID), _1("reltimeout"), _2(1), _3(true), _4(false), _5(reltimeout), _6(2275), _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('s'), _19(0), _20(1, 703), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("reltimeout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "reltimerecv", 1, - AddBuiltinFunc(_0(2464), _1("reltimerecv"), _2(1), _3(true), _4(false), _5(reltimerecv), _6(703), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("reltimerecv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2464), _1("reltimerecv"), _2(1), _3(true), _4(false), _5(reltimerecv), _6(703), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("reltimerecv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "reltimesend", 1, - AddBuiltinFunc(_0(2465), _1("reltimesend"), _2(1), _3(true), _4(false), _5(reltimesend), _6(17), _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(1, 703), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("reltimesend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2465), _1("reltimesend"), _2(1), _3(true), _4(false), _5(reltimesend), _6(17), _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(1, 703), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("reltimesend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "remote_bgwriter_stat", 1, - AddBuiltinFunc(_0(4374), _1("remote_bgwriter_stat"), _2(0), _3(false), _4(true), _5(remote_bgwriter_stat), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(6, 25, 20, 23, 23, 20, 20), _22(6, 'o', 'o', 'o', 'o', 'o', 'o'), _23(6, "node_name", "bgwr_actual_flush_total_num", "bgwr_last_flush_num", "candidate_slots", "get_buffer_from_list", "get_buf_clock_sweep"), _24(NULL), _25("remote_bgwriter_stat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4374), _1("remote_bgwriter_stat"), _2(0), _3(false), _4(true), _5(remote_bgwriter_stat), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(6, 25, 20, 23, 23, 20, 20), _22(6, 'o', 'o', 'o', 'o', 'o', 'o'), _23(6, "node_name", "bgwr_actual_flush_total_num", "bgwr_last_flush_num", "candidate_slots", "get_buffer_from_list", "get_buf_clock_sweep"), _24(NULL), _25("remote_bgwriter_stat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "remote_ckpt_stat", 1, - AddBuiltinFunc(_0(4372), _1("remote_ckpt_stat"), _2(0), _3(false), _4(true), _5(remote_ckpt_stat), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(7, 25, 25, 20, 20, 20, 20, 20), _22(7, 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(7, "node_name", "ckpt_redo_point", "ckpt_clog_flush_num", "ckpt_csnlog_flush_num", "ckpt_multixact_flush_num", "ckpt_predicate_flush_num", "ckpt_twophase_flush_num"), _24(NULL), _25("remote_ckpt_stat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4372), _1("remote_ckpt_stat"), _2(0), _3(false), _4(true), _5(remote_ckpt_stat), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(7, 25, 25, 20, 20, 20, 20, 20), _22(7, 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(7, "node_name", "ckpt_redo_point", "ckpt_clog_flush_num", "ckpt_csnlog_flush_num", "ckpt_multixact_flush_num", "ckpt_predicate_flush_num", "ckpt_twophase_flush_num"), _24(NULL), _25("remote_ckpt_stat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "remote_double_write_stat", 1, - AddBuiltinFunc(_0(4385), _1("remote_double_write_stat"), _2(0), _3(false), _4(true), _5(remote_double_write_stat), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(11, 25, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20), _22(11, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(11, "node_name", "curr_dwn", "curr_start_page", "file_trunc_num", "file_reset_num", "total_writes", "low_threshold_writes", "high_threshold_writes", "total_pages", "low_threshold_pages", "high_threshold_pages"), _24(NULL), _25("remote_double_write_stat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4385), _1("remote_double_write_stat"), _2(0), _3(false), _4(true), _5(remote_double_write_stat), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(11, 25, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20), _22(11, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(11, "node_name", "curr_dwn", "curr_start_page", "file_trunc_num", "file_reset_num", "total_writes", "low_threshold_writes", "high_threshold_writes", "total_pages", "low_threshold_pages", "high_threshold_pages"), _24(NULL), _25("remote_double_write_stat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "remote_pagewriter_stat", 1, - AddBuiltinFunc(_0(4368), _1("remote_pagewriter_stat"), _2(0), _3(false), _4(true), _5(remote_pagewriter_stat), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(8, 25, 20, 23, 20, 25, 25, 25, 25), _22(8, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(8, "node_name", "pgwr_actual_flush_total_num", "pgwr_last_flush_num", "remain_dirty_page_num", "queue_head_page_rec_lsn", "queue_rec_lsn", "current_xlog_insert_lsn", "ckpt_redo_point"), _24(NULL), _25("remote_pagewriter_stat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4368), _1("remote_pagewriter_stat"), _2(0), _3(false), _4(true), _5(remote_pagewriter_stat), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(8, 25, 20, 23, 20, 25, 25, 25, 25), _22(8, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(8, "node_name", "pgwr_actual_flush_total_num", "pgwr_last_flush_num", "remain_dirty_page_num", "queue_head_page_rec_lsn", "queue_rec_lsn", "current_xlog_insert_lsn", "ckpt_redo_point"), _24(NULL), _25("remote_pagewriter_stat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "remote_recovery_status", 1, - AddBuiltinFunc(_0(4999), _1("remote_recovery_status"), _2(0), _3(false), _4(true), _5(remote_recovery_status), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(9,25,25,25,23,25,23,20,20,20), _22(9, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(9, "node_name", "standby_node_name", "source_ip", "source_port", "dest_ip", "dest_port", "current_rto", "target_rto", "current_sleep_time"), _24(NULL), _25("remote_recovery_status"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4999), _1("remote_recovery_status"), _2(0), _3(false), _4(true), _5(remote_recovery_status), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(9,25,25,25,23,25,23,20,20,20), _22(9, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(9, "node_name", "standby_node_name", "source_ip", "source_port", "dest_ip", "dest_port", "current_rto", "target_rto", "current_sleep_time"), _24(NULL), _25("remote_recovery_status"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "remote_redo_stat", 1, - AddBuiltinFunc(_0(4389), _1("remote_redo_stat"), _2(0), _3(false), _4(true), _5(remote_redo_stat), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(23, 25, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 25), _22(23, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(23, "node_name", "redo_start_ptr", "redo_start_time", "redo_done_time", "curr_time", "min_recovery_point", "read_ptr", "last_replayed_read_ptr", "recovery_done_ptr", "read_xlog_io_counter", "read_xlog_io_total_dur", "read_data_io_counter", "read_data_io_total_dur", "write_data_io_counter", "write_data_io_total_dur", "process_pending_counter", "process_pending_total_dur", "apply_counter", "apply_total_dur", "speed", "local_max_ptr", "primary_flush_ptr", "worker_info"), _24(NULL), _25("remote_redo_stat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4389), _1("remote_redo_stat"), _2(0), _3(false), _4(true), _5(remote_redo_stat), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(23, 25, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 25), _22(23, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(23, "node_name", "redo_start_ptr", "redo_start_time", "redo_done_time", "curr_time", "min_recovery_point", "read_ptr", "last_replayed_read_ptr", "recovery_done_ptr", "read_xlog_io_counter", "read_xlog_io_total_dur", "read_data_io_counter", "read_data_io_total_dur", "write_data_io_counter", "write_data_io_total_dur", "process_pending_counter", "process_pending_total_dur", "apply_counter", "apply_total_dur", "speed", "local_max_ptr", "primary_flush_ptr", "worker_info"), _24(NULL), _25("remote_redo_stat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "remote_rto_stat", 1, - AddBuiltinFunc(_0(4789), _1("remote_rto_stat"), _2(0), _3(false), _4(true), _5(remote_rto_stat), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(2,25,25), _22(2, 'o', 'o'), _23(2, "node_name", "rto_info"), _24(NULL), _25("remote_rto_stat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4789), _1("remote_rto_stat"), _2(0), _3(false), _4(true), _5(remote_rto_stat), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(2,25,25), _22(2, 'o', 'o'), _23(2, "node_name", "rto_info"), _24(NULL), _25("remote_rto_stat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "remote_single_flush_dw_stat", 1, - AddBuiltinFunc(_0(4376), _1("remote_single_flush_dw_stat"), _2(0), _3(false), _4(true), _5(remote_single_flush_dw_stat), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(6, 25, 23, 23, 20, 20, 20), _22(6, 'o', 'o', 'o', 'o', 'o', 'o'), _23(6, "node_name", "curr_dwn", "curr_start_page", "total_writes", "file_trunc_num", "file_reset_num"), _24(NULL), _25("remote_single_flush_dw_stat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(4376), _1("remote_single_flush_dw_stat"), _2(0), _3(false), _4(true), _5(remote_single_flush_dw_stat), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(6, 25, 23, 23, 20, 20, 20), _22(6, 'o', 'o', 'o', 'o', 'o', 'o'), _23(6, "node_name", "curr_dwn", "curr_start_page", "total_writes", "file_trunc_num", "file_reset_num"), _24(NULL), _25("remote_single_flush_dw_stat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "repeat", 1, - AddBuiltinFunc(_0(1622), _1("repeat"), _2(2), _3(true), _4(false), _5(repeat), _6(25), _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(2, 25, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("repeat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1622), _1("repeat"), _2(2), _3(true), _4(false), _5(repeat), _6(25), _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(2, 25, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("repeat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "replace", 1, - AddBuiltinFunc(_0(2087), _1("replace"), _2(3), _3(false), _4(false), _5(replace_text), _6(25), _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(3, 25, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("replace_text"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2087), _1("replace"), _2(3), _3(false), _4(false), _5(replace_text), _6(25), _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(3, 25, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("replace_text"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "reset_unique_sql", 1, - AddBuiltinFunc(_0(5716), _1("reset_unique_sql"), _2(3), _3(true), _4(false), _5(reset_unique_sql), _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('v'), _19(0), _20(3, 25, 25, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("reset_unique_sql"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5716), _1("reset_unique_sql"), _2(3), _3(true), _4(false), _5(reset_unique_sql), _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('v'), _19(0), _20(3, 25, 25, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("reset_unique_sql"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "reverse", 1, - AddBuiltinFunc(_0(3062), _1("reverse"), _2(1), _3(true), _4(false), _5(text_reverse), _6(25), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_reverse"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3062), _1("reverse"), _2(1), _3(true), _4(false), _5(text_reverse), _6(25), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_reverse"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "RI_FKey_cascade_del", 1, - AddBuiltinFunc(_0(1646), _1("RI_FKey_cascade_del"), _2(0), _3(true), _4(false), _5(RI_FKey_cascade_del), _6(2279), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("RI_FKey_cascade_del"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1646), _1("RI_FKey_cascade_del"), _2(0), _3(true), _4(false), _5(RI_FKey_cascade_del), _6(2279), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("RI_FKey_cascade_del"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "RI_FKey_cascade_upd", 1, - AddBuiltinFunc(_0(1647), _1("RI_FKey_cascade_upd"), _2(0), _3(true), _4(false), _5(RI_FKey_cascade_upd), _6(2279), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("RI_FKey_cascade_upd"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1647), _1("RI_FKey_cascade_upd"), _2(0), _3(true), _4(false), _5(RI_FKey_cascade_upd), _6(2279), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("RI_FKey_cascade_upd"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "RI_FKey_check_ins", 1, - AddBuiltinFunc(_0(1644), _1("RI_FKey_check_ins"), _2(0), _3(true), _4(false), _5(RI_FKey_check_ins), _6(2279), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("RI_FKey_check_ins"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1644), _1("RI_FKey_check_ins"), _2(0), _3(true), _4(false), _5(RI_FKey_check_ins), _6(2279), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("RI_FKey_check_ins"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "RI_FKey_check_upd", 1, - AddBuiltinFunc(_0(1645), _1("RI_FKey_check_upd"), _2(0), _3(true), _4(false), _5(RI_FKey_check_upd), _6(2279), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("RI_FKey_check_upd"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1645), _1("RI_FKey_check_upd"), _2(0), _3(true), _4(false), _5(RI_FKey_check_upd), _6(2279), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("RI_FKey_check_upd"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "RI_FKey_noaction_del", 1, - AddBuiltinFunc(_0(1654), _1("RI_FKey_noaction_del"), _2(0), _3(true), _4(false), _5(RI_FKey_noaction_del), _6(2279), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("RI_FKey_noaction_del"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1654), _1("RI_FKey_noaction_del"), _2(0), _3(true), _4(false), _5(RI_FKey_noaction_del), _6(2279), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("RI_FKey_noaction_del"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "RI_FKey_noaction_upd", 1, - AddBuiltinFunc(_0(1655), _1("RI_FKey_noaction_upd"), _2(0), _3(true), _4(false), _5(RI_FKey_noaction_upd), _6(2279), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("RI_FKey_noaction_upd"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1655), _1("RI_FKey_noaction_upd"), _2(0), _3(true), _4(false), _5(RI_FKey_noaction_upd), _6(2279), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("RI_FKey_noaction_upd"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "RI_FKey_restrict_del", 1, - AddBuiltinFunc(_0(1648), _1("RI_FKey_restrict_del"), _2(0), _3(true), _4(false), _5(RI_FKey_restrict_del), _6(2279), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("RI_FKey_restrict_del"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1648), _1("RI_FKey_restrict_del"), _2(0), _3(true), _4(false), _5(RI_FKey_restrict_del), _6(2279), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("RI_FKey_restrict_del"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "RI_FKey_restrict_upd", 1, - AddBuiltinFunc(_0(1649), _1("RI_FKey_restrict_upd"), _2(0), _3(true), _4(false), _5(RI_FKey_restrict_upd), _6(2279), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("RI_FKey_restrict_upd"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1649), _1("RI_FKey_restrict_upd"), _2(0), _3(true), _4(false), _5(RI_FKey_restrict_upd), _6(2279), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("RI_FKey_restrict_upd"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "RI_FKey_setdefault_del", 1, - AddBuiltinFunc(_0(1652), _1("RI_FKey_setdefault_del"), _2(0), _3(true), _4(false), _5(RI_FKey_setdefault_del), _6(2279), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("RI_FKey_setdefault_del"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1652), _1("RI_FKey_setdefault_del"), _2(0), _3(true), _4(false), _5(RI_FKey_setdefault_del), _6(2279), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("RI_FKey_setdefault_del"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "RI_FKey_setdefault_upd", 1, - AddBuiltinFunc(_0(1653), _1("RI_FKey_setdefault_upd"), _2(0), _3(true), _4(false), _5(RI_FKey_setdefault_upd), _6(2279), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("RI_FKey_setdefault_upd"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1653), _1("RI_FKey_setdefault_upd"), _2(0), _3(true), _4(false), _5(RI_FKey_setdefault_upd), _6(2279), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("RI_FKey_setdefault_upd"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "RI_FKey_setnull_del", 1, - AddBuiltinFunc(_0(1650), _1("RI_FKey_setnull_del"), _2(0), _3(true), _4(false), _5(RI_FKey_setnull_del), _6(2279), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("RI_FKey_setnull_del"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1650), _1("RI_FKey_setnull_del"), _2(0), _3(true), _4(false), _5(RI_FKey_setnull_del), _6(2279), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("RI_FKey_setnull_del"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "RI_FKey_setnull_upd", 1, - AddBuiltinFunc(_0(1651), _1("RI_FKey_setnull_upd"), _2(0), _3(true), _4(false), _5(RI_FKey_setnull_upd), _6(2279), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("RI_FKey_setnull_upd"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1651), _1("RI_FKey_setnull_upd"), _2(0), _3(true), _4(false), _5(RI_FKey_setnull_upd), _6(2279), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("RI_FKey_setnull_upd"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "right", 1, - AddBuiltinFunc(_0(3061), _1("right"), _2(2), _3(true), _4(false), _5(text_right), _6(25), _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(2, 25, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_right"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3061), _1("right"), _2(2), _3(true), _4(false), _5(text_right), _6(25), _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(2, 25, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_right"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "round", 3, - AddBuiltinFunc(_0(1342), _1("round"), _2(1), _3(true), _4(false), _5(dround), _6(701), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dround"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1707), _1("round"), _2(2), _3(true), _4(false), _5(numeric_round), _6(1700), _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(2, 1700, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_round"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1708), _1("round"), _2(1), _3(true), _4(false), _5(NULL), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select pg_catalog.round($1,0)"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1342), _1("round"), _2(1), _3(true), _4(false), _5(dround), _6(701), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dround"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1707), _1("round"), _2(2), _3(true), _4(false), _5(numeric_round), _6(1700), _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(2, 1700, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_round"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1708), _1("round"), _2(1), _3(true), _4(false), _5(NULL), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select pg_catalog.round($1,0)"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "row_number", 1, - AddBuiltinFunc(_0(ROWNUMBERFUNCOID), _1("row_number"), _2(0), _3(false), _4(false), _5(window_row_number), _6(20), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(true), _16(false), _17(false), _18('i'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("window_row_number"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(ROWNUMBERFUNCOID), _1("row_number"), _2(0), _3(false), _4(false), _5(window_row_number), _6(20), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(true), _16(false), _17(false), _18('i'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("window_row_number"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "row_to_json", 2, - AddBuiltinFunc(_0(3155), _1("row_to_json"), _2(1), _3(true), _4(false), _5(row_to_json), _6(114), _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('s'), _19(0), _20(1, 2249), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("row_to_json"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3156), _1("row_to_json"), _2(2), _3(true), _4(false), _5(row_to_json_pretty), _6(114), _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('s'), _19(0), _20(2, 2249, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("row_to_json_pretty"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3155), _1("row_to_json"), _2(1), _3(true), _4(false), _5(row_to_json), _6(114), _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('s'), _19(0), _20(1, 2249), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("row_to_json"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3156), _1("row_to_json"), _2(2), _3(true), _4(false), _5(row_to_json_pretty), _6(114), _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('s'), _19(0), _20(2, 2249, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("row_to_json_pretty"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "rpad", 2, - AddBuiltinFunc(_0(RPADFUNCOID), _1("rpad"), _2(3), _3(true), _4(false), _5(rpad), _6(25), _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(3, 25, 23, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("rpad"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(RPADPARAFUNCOID), _1("rpad"), _2(2), _3(true), _4(false), _5(NULL), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 25, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select pg_catalog.rpad($1, $2, ' ')"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(RPADFUNCOID), _1("rpad"), _2(3), _3(true), _4(false), _5(rpad), _6(25), _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(3, 25, 23, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("rpad"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(RPADPARAFUNCOID), _1("rpad"), _2(2), _3(true), _4(false), _5(NULL), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 25, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select pg_catalog.rpad($1, $2, ' ')"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "rtrim", 2, - AddBuiltinFunc(_0(RTRIMFUNCOID), _1("rtrim"), _2(2), _3(true), _4(false), _5(rtrim), _6(25), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("rtrim"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(RTRIMPARAFUNCOID), _1("rtrim"), _2(1), _3(true), _4(false), _5(rtrim1), _6(25), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("rtrim1"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(RTRIMFUNCOID), _1("rtrim"), _2(2), _3(true), _4(false), _5(rtrim), _6(25), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("rtrim"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(RTRIMPARAFUNCOID), _1("rtrim"), _2(1), _3(true), _4(false), _5(rtrim1), _6(25), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("rtrim1"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "scalargtjoinsel", 1, - AddBuiltinFunc(_0(108), _1("scalargtjoinsel"), _2(5), _3(true), _4(false), _5(scalargtjoinsel), _6(701), _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('s'), _19(0), _20(5, 2281, 26, 2281, 21, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("scalargtjoinsel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(108), _1("scalargtjoinsel"), _2(5), _3(true), _4(false), _5(scalargtjoinsel), _6(701), _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('s'), _19(0), _20(5, 2281, 26, 2281, 21, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("scalargtjoinsel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "scalargtsel", 1, - AddBuiltinFunc(_0(104), _1("scalargtsel"), _2(4), _3(true), _4(false), _5(scalargtsel), _6(701), _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('s'), _19(0), _20(4, 2281, 26, 2281, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("scalargtsel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(104), _1("scalargtsel"), _2(4), _3(true), _4(false), _5(scalargtsel), _6(701), _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('s'), _19(0), _20(4, 2281, 26, 2281, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("scalargtsel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "scalarltjoinsel", 1, - AddBuiltinFunc(_0(107), _1("scalarltjoinsel"), _2(5), _3(true), _4(false), _5(scalarltjoinsel), _6(701), _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('s'), _19(0), _20(5, 2281, 26, 2281, 21, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("scalarltjoinsel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(107), _1("scalarltjoinsel"), _2(5), _3(true), _4(false), _5(scalarltjoinsel), _6(701), _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('s'), _19(0), _20(5, 2281, 26, 2281, 21, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("scalarltjoinsel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "scalarltsel", 1, - AddBuiltinFunc(_0(103), _1("scalarltsel"), _2(4), _3(true), _4(false), _5(scalarltsel), _6(701), _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('s'), _19(0), _20(4, 2281, 26, 2281, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("scalarltsel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(103), _1("scalarltsel"), _2(4), _3(true), _4(false), _5(scalarltsel), _6(701), _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('s'), _19(0), _20(4, 2281, 26, 2281, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("scalarltsel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "schema_to_xml", 1, - AddBuiltinFunc(_0(2933), _1("schema_to_xml"), _2(4), _3(false), _4(false), _5(schema_to_xml), _6(142), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(100), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(4, 19, 16, 16, 25), _21(NULL), _22(NULL), _23(4, "schema", "nulls", "tableforest", "targetns"), _24(NULL), _25("schema_to_xml"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2933), _1("schema_to_xml"), _2(4), _3(false), _4(false), _5(schema_to_xml), _6(142), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(100), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(4, 19, 16, 16, 25), _21(NULL), _22(NULL), _23(4, "schema", "nulls", "tableforest", "targetns"), _24(NULL), _25("schema_to_xml"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "schema_to_xml_and_xmlschema", 1, - AddBuiltinFunc(_0(2935), _1("schema_to_xml_and_xmlschema"), _2(4), _3(false), _4(false), _5(schema_to_xml_and_xmlschema), _6(142), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(100), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(4, 19, 16, 16, 25), _21(NULL), _22(NULL), _23(4, "schema", "nulls", "tableforest", "targetns"), _24(NULL), _25("schema_to_xml_and_xmlschema"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2935), _1("schema_to_xml_and_xmlschema"), _2(4), _3(false), _4(false), _5(schema_to_xml_and_xmlschema), _6(142), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(100), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(4, 19, 16, 16, 25), _21(NULL), _22(NULL), _23(4, "schema", "nulls", "tableforest", "targetns"), _24(NULL), _25("schema_to_xml_and_xmlschema"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "schema_to_xmlschema", 1, - AddBuiltinFunc(_0(2934), _1("schema_to_xmlschema"), _2(4), _3(false), _4(false), _5(schema_to_xmlschema), _6(142), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(100), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(4, 19, 16, 16, 25), _21(NULL), _22(NULL), _23(4, "schema", "nulls", "tableforest", "targetns"), _24(NULL), _25("schema_to_xmlschema"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2934), _1("schema_to_xmlschema"), _2(4), _3(false), _4(false), _5(schema_to_xmlschema), _6(142), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(100), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(4, 19, 16, 16, 25), _21(NULL), _22(NULL), _23(4, "schema", "nulls", "tableforest", "targetns"), _24(NULL), _25("schema_to_xmlschema"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "session_user", 1, - AddBuiltinFunc(_0(SESSIONUSERFUNCOID), _1("session_user"), _2(0), _3(true), _4(false), _5(session_user), _6(19), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("session_user"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(SESSIONUSERFUNCOID), _1("session_user"), _2(0), _3(true), _4(false), _5(session_user), _6(19), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("session_user"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "sessionid2pid", 1, - AddBuiltinFunc(_0(3978), _1("sessionid2pid"), _2(1), _3(true), _4(false), _5(sessionid_to_pid), _6(20), _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('s'), _19(0), _20(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("sessionid_to_pid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3978), _1("sessionid2pid"), _2(1), _3(true), _4(false), _5(sessionid_to_pid), _6(20), _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('s'), _19(0), _20(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("sessionid_to_pid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "set_bit", 2, - AddBuiltinFunc(_0(724), _1("set_bit"), _2(3), _3(true), _4(false), _5(byteaSetBit), _6(17), _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(3, 17, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteaSetBit"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3033), _1("set_bit"), _2(3), _3(true), _4(false), _5(bitsetbit), _6(1560), _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(3, 1560, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bitsetbit"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(724), _1("set_bit"), _2(3), _3(true), _4(false), _5(byteaSetBit), _6(17), _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(3, 17, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteaSetBit"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3033), _1("set_bit"), _2(3), _3(true), _4(false), _5(bitsetbit), _6(1560), _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(3, 1560, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bitsetbit"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "set_byte", 1, - AddBuiltinFunc(_0(722), _1("set_byte"), _2(3), _3(true), _4(false), _5(byteaSetByte), _6(17), _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(3, 17, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteaSetByte"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(722), _1("set_byte"), _2(3), _3(true), _4(false), _5(byteaSetByte), _6(17), _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(3, 17, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("byteaSetByte"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "set_config", 1, - AddBuiltinFunc(_0(2078), _1("set_config"), _2(3), _3(false), _4(false), _5(set_config_by_name), _6(25), _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('v'), _19(0), _20(3, 25, 25, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("set_config_by_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2078), _1("set_config"), _2(3), _3(false), _4(false), _5(set_config_by_name), _6(25), _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('v'), _19(0), _20(3, 25, 25, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("set_config_by_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), - AddFuncGroup( "set_hashbucket_info", 1, AddBuiltinFunc(_0(6118), _1("set_hashbucket_info"), _2(1), _3(true), _4(false), _5(set_hashbucket_info), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("set_hashbucket_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) ), + AddFuncGroup( "set_hashbucket_info", 1, AddBuiltinFunc(_0(6118), _1("set_hashbucket_info"), _2(1), _3(true), _4(false), _5(set_hashbucket_info), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("set_hashbucket_info"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "set_masklen", 2, - AddBuiltinFunc(_0(605), _1("set_masklen"), _2(2), _3(true), _4(false), _5(inet_set_masklen), _6(869), _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(2, 869, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("inet_set_masklen"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(635), _1("set_masklen"), _2(2), _3(true), _4(false), _5(cidr_set_masklen), _6(650), _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(2, 650, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cidr_set_masklen"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(605), _1("set_masklen"), _2(2), _3(true), _4(false), _5(inet_set_masklen), _6(869), _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(2, 869, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("inet_set_masklen"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(635), _1("set_masklen"), _2(2), _3(true), _4(false), _5(cidr_set_masklen), _6(650), _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(2, 650, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("cidr_set_masklen"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "set_working_grand_version_num_manually", 1, - AddBuiltinFunc(_0(7998), _1("set_working_grand_version_num_manually"), _2(1), _3(true), _4(false), _5(set_working_grand_version_num_manually), _6(2278), _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(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("set_working_grand_version_num_manually"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(7998), _1("set_working_grand_version_num_manually"), _2(1), _3(true), _4(false), _5(set_working_grand_version_num_manually), _6(2278), _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(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("set_working_grand_version_num_manually"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "setseed", 1, - AddBuiltinFunc(_0(1599), _1("setseed"), _2(1), _3(true), _4(false), _5(setseed), _6(2278), _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('v'), _19(0), _20(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("setseed"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1599), _1("setseed"), _2(1), _3(true), _4(false), _5(setseed), _6(2278), _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('v'), _19(0), _20(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("setseed"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "setval", 2, - AddBuiltinFunc(_0(SETVAL1FUNCOID), _1("setval"), _2(2), _3(true), _4(false), _5(setval_oid), _6(20), _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('v'), _19(0), _20(2, 2205, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("setval_oid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(SETVAL3FUNCOID), _1("setval"), _2(3), _3(true), _4(false), _5(setval3_oid), _6(20), _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('v'), _19(0), _20(3, 2205, 20, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("setval3_oid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(SETVAL1FUNCOID), _1("setval"), _2(2), _3(true), _4(false), _5(setval_oid), _6(20), _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('v'), _19(0), _20(2, 2205, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("setval_oid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(SETVAL3FUNCOID), _1("setval"), _2(3), _3(true), _4(false), _5(setval3_oid), _6(20), _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('v'), _19(0), _20(3, 2205, 20, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("setval3_oid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "setweight", 1, - AddBuiltinFunc(_0(3624), _1("setweight"), _2(2), _3(true), _4(false), _5(tsvector_setweight), _6(3614), _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(2, 3614, 18), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsvector_setweight"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3624), _1("setweight"), _2(2), _3(true), _4(false), _5(tsvector_setweight), _6(3614), _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(2, 3614, 18), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsvector_setweight"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "shell_in", 1, - AddBuiltinFunc(_0(2398), _1("shell_in"), _2(1), _3(false), _4(false), _5(shell_in), _6(2282), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("shell_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2398), _1("shell_in"), _2(1), _3(false), _4(false), _5(shell_in), _6(2282), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("shell_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "shell_out", 1, - AddBuiltinFunc(_0(2399), _1("shell_out"), _2(1), _3(true), _4(false), _5(shell_out), _6(2275), _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(1, 2282), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("shell_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2399), _1("shell_out"), _2(1), _3(true), _4(false), _5(shell_out), _6(2275), _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(1, 2282), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("shell_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "shobj_description", 1, - AddBuiltinFunc(_0(1993), _1("shobj_description"), _2(2), _3(true), _4(false), _5(NULL), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(100), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(2, 26, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select description from pg_catalog.pg_shdescription where objoid = $1 and classoid = (select oid from pg_catalog.pg_class where relname = $2 and relnamespace = 11)"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1993), _1("shobj_description"), _2(2), _3(true), _4(false), _5(NULL), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(100), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(2, 26, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select description from pg_catalog.pg_shdescription where objoid = $1 and classoid = (select oid from pg_catalog.pg_class where relname = $2 and relnamespace = 11)"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "sign", 2, - AddBuiltinFunc(_0(1706), _1("sign"), _2(1), _3(true), _4(false), _5(numeric_sign), _6(1700), _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(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_sign"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2310), _1("sign"), _2(1), _3(true), _4(false), _5(dsign), _6(701), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dsign"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1706), _1("sign"), _2(1), _3(true), _4(false), _5(numeric_sign), _6(1700), _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(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_sign"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2310), _1("sign"), _2(1), _3(true), _4(false), _5(dsign), _6(701), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dsign"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "similar_escape", 1, - AddBuiltinFunc(_0(1623), _1("similar_escape"), _2(2), _3(false), _4(false), _5(similar_escape), _6(25), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("similar_escape"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1623), _1("similar_escape"), _2(2), _3(false), _4(false), _5(similar_escape), _6(25), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("similar_escape"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "sin", 1, - AddBuiltinFunc(_0(SINEFUNCOID), _1("sin"), _2(1), _3(true), _4(false), _5(dsin), _6(701), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dsin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(SINEFUNCOID), _1("sin"), _2(1), _3(true), _4(false), _5(dsin), _6(701), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dsin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "slope", 1, - AddBuiltinFunc(_0(992), _1("slope"), _2(2), _3(true), _4(false), _5(point_slope), _6(701), _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(2, 600, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("point_slope"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(992), _1("slope"), _2(2), _3(true), _4(false), _5(point_slope), _6(701), _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(2, 600, 600), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("point_slope"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "smalldatetime_cmp", 1, - AddBuiltinFunc(_0(5586), _1("smalldatetime_cmp"), _2(2), _3(true), _4(false), _5(smalldatetime_cmp), _6(23), _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(2, 9003, 9003), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("smalldatetime_cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5586), _1("smalldatetime_cmp"), _2(2), _3(true), _4(false), _5(smalldatetime_cmp), _6(23), _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(2, 9003, 9003), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("smalldatetime_cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "smalldatetime_eq", 1, - AddBuiltinFunc(_0(5580), _1("smalldatetime_eq"), _2(2), _3(true), _4(false), _5(smalldatetime_eq), _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(true), _18('i'), _19(0), _20(2, 9003, 9003), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("smalldatetime_eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5580), _1("smalldatetime_eq"), _2(2), _3(true), _4(false), _5(smalldatetime_eq), _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(true), _18('i'), _19(0), _20(2, 9003, 9003), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("smalldatetime_eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "smalldatetime_ge", 1, - AddBuiltinFunc(_0(5584), _1("smalldatetime_ge"), _2(2), _3(true), _4(false), _5(smalldatetime_ge), _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(true), _18('i'), _19(0), _20(2, 9003, 9003), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("smalldatetime_ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5584), _1("smalldatetime_ge"), _2(2), _3(true), _4(false), _5(smalldatetime_ge), _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(true), _18('i'), _19(0), _20(2, 9003, 9003), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("smalldatetime_ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "smalldatetime_gt", 1, - AddBuiltinFunc(_0(5585), _1("smalldatetime_gt"), _2(2), _3(true), _4(false), _5(smalldatetime_gt), _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(true), _18('i'), _19(0), _20(2, 9003, 9003), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("smalldatetime_gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5585), _1("smalldatetime_gt"), _2(2), _3(true), _4(false), _5(smalldatetime_gt), _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(true), _18('i'), _19(0), _20(2, 9003, 9003), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("smalldatetime_gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "smalldatetime_hash", 1, - AddBuiltinFunc(_0(5587), _1("smalldatetime_hash"), _2(1), _3(true), _4(false), _5(smalldatetime_hash), _6(23), _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(1, 9003), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("smalldatetime_hash"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5587), _1("smalldatetime_hash"), _2(1), _3(true), _4(false), _5(smalldatetime_hash), _6(23), _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(1, 9003), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("smalldatetime_hash"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "smalldatetime_in", 1, - AddBuiltinFunc(_0(SMALLDATETIMEINFUNCOID), _1("smalldatetime_in"), _2(3), _3(true), _4(false), _5(smalldatetime_in), _6(9003), _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('s'), _19(0), _20(3, 2275, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("smalldatetime_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(SMALLDATETIMEINFUNCOID), _1("smalldatetime_in"), _2(3), _3(true), _4(false), _5(smalldatetime_in), _6(9003), _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('s'), _19(0), _20(3, 2275, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("smalldatetime_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "smalldatetime_larger", 1, - AddBuiltinFunc(_0(9012), _1("smalldatetime_larger"), _2(2), _3(true), _4(false), _5(smalldatetime_larger), _6(9003), _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(2, 9003, 9003), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("smalldatetime_larger"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(9012), _1("smalldatetime_larger"), _2(2), _3(true), _4(false), _5(smalldatetime_larger), _6(9003), _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(2, 9003, 9003), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("smalldatetime_larger"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "smalldatetime_le", 1, - AddBuiltinFunc(_0(5583), _1("smalldatetime_le"), _2(2), _3(true), _4(false), _5(smalldatetime_le), _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(true), _18('i'), _19(0), _20(2, 9003, 9003), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("smalldatetime_le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5583), _1("smalldatetime_le"), _2(2), _3(true), _4(false), _5(smalldatetime_le), _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(true), _18('i'), _19(0), _20(2, 9003, 9003), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("smalldatetime_le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "smalldatetime_lt", 1, - AddBuiltinFunc(_0(5582), _1("smalldatetime_lt"), _2(2), _3(true), _4(false), _5(smalldatetime_lt), _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(true), _18('i'), _19(0), _20(2, 9003, 9003), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("smalldatetime_lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5582), _1("smalldatetime_lt"), _2(2), _3(true), _4(false), _5(smalldatetime_lt), _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(true), _18('i'), _19(0), _20(2, 9003, 9003), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("smalldatetime_lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "smalldatetime_ne", 1, - AddBuiltinFunc(_0(5581), _1("smalldatetime_ne"), _2(2), _3(true), _4(false), _5(smalldatetime_ne), _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(true), _18('i'), _19(0), _20(2, 9003, 9003), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("smalldatetime_ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5581), _1("smalldatetime_ne"), _2(2), _3(true), _4(false), _5(smalldatetime_ne), _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(true), _18('i'), _19(0), _20(2, 9003, 9003), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("smalldatetime_ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "smalldatetime_out", 1, - AddBuiltinFunc(_0(SMALLDATETIMEOUTFUNCOID), _1("smalldatetime_out"), _2(1), _3(true), _4(false), _5(smalldatetime_out), _6(2275), _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('s'), _19(0), _20(1, 9003), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("smalldatetime_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(SMALLDATETIMEOUTFUNCOID), _1("smalldatetime_out"), _2(1), _3(true), _4(false), _5(smalldatetime_out), _6(2275), _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('s'), _19(0), _20(1, 9003), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("smalldatetime_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "smalldatetime_recv", 1, - AddBuiltinFunc(_0(9007), _1("smalldatetime_recv"), _2(3), _3(true), _4(false), _5(smalldatetime_recv), _6(9003), _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(3, 2281, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("smalldatetime_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(9007), _1("smalldatetime_recv"), _2(3), _3(true), _4(false), _5(smalldatetime_recv), _6(9003), _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(3, 2281, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("smalldatetime_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "smalldatetime_send", 1, - AddBuiltinFunc(_0(9008), _1("smalldatetime_send"), _2(1), _3(true), _4(false), _5(smalldatetime_send), _6(17), _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(1, 9003), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("smalldatetime_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(9008), _1("smalldatetime_send"), _2(1), _3(true), _4(false), _5(smalldatetime_send), _6(17), _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(1, 9003), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("smalldatetime_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "smalldatetime_smaller", 1, - AddBuiltinFunc(_0(9011), _1("smalldatetime_smaller"), _2(2), _3(true), _4(false), _5(smalldatetime_smaller), _6(9003), _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(2, 9003, 9003), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("smalldatetime_smaller"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(9011), _1("smalldatetime_smaller"), _2(2), _3(true), _4(false), _5(smalldatetime_smaller), _6(9003), _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(2, 9003, 9003), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("smalldatetime_smaller"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "smgreq", 1, - AddBuiltinFunc(_0(762), _1("smgreq"), _2(2), _3(true), _4(false), _5(smgreq), _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(2, 210, 210), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("smgreq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(762), _1("smgreq"), _2(2), _3(true), _4(false), _5(smgreq), _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(2, 210, 210), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("smgreq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "smgrin", 1, - AddBuiltinFunc(_0(760), _1("smgrin"), _2(1), _3(true), _4(false), _5(smgrin), _6(210), _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('s'), _19(0), _20(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("smgrin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(760), _1("smgrin"), _2(1), _3(true), _4(false), _5(smgrin), _6(210), _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('s'), _19(0), _20(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("smgrin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "smgrne", 1, - AddBuiltinFunc(_0(763), _1("smgrne"), _2(2), _3(true), _4(false), _5(smgrne), _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(2, 210, 210), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("smgrne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(763), _1("smgrne"), _2(2), _3(true), _4(false), _5(smgrne), _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(2, 210, 210), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("smgrne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "smgrout", 1, - AddBuiltinFunc(_0(761), _1("smgrout"), _2(1), _3(true), _4(false), _5(smgrout), _6(2275), _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('s'), _19(0), _20(1, 210), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("smgrout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(761), _1("smgrout"), _2(1), _3(true), _4(false), _5(smgrout), _6(2275), _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('s'), _19(0), _20(1, 210), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("smgrout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "spg_kd_choose", 1, - AddBuiltinFunc(_0(4024), _1("spg_kd_choose"), _2(2), _3(true), _4(false), _5(spg_kd_choose), _6(2278), _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(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("spg_kd_choose"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4024), _1("spg_kd_choose"), _2(2), _3(true), _4(false), _5(spg_kd_choose), _6(2278), _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(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("spg_kd_choose"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "spg_kd_config", 1, - AddBuiltinFunc(_0(4023), _1("spg_kd_config"), _2(2), _3(true), _4(false), _5(spg_kd_config), _6(2278), _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(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("spg_kd_config"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4023), _1("spg_kd_config"), _2(2), _3(true), _4(false), _5(spg_kd_config), _6(2278), _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(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("spg_kd_config"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "spg_kd_inner_consistent", 1, - AddBuiltinFunc(_0(4026), _1("spg_kd_inner_consistent"), _2(2), _3(true), _4(false), _5(spg_kd_inner_consistent), _6(2278), _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(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("spg_kd_inner_consistent"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4026), _1("spg_kd_inner_consistent"), _2(2), _3(true), _4(false), _5(spg_kd_inner_consistent), _6(2278), _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(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("spg_kd_inner_consistent"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "spg_kd_picksplit", 1, - AddBuiltinFunc(_0(4025), _1("spg_kd_picksplit"), _2(2), _3(true), _4(false), _5(spg_kd_picksplit), _6(2278), _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(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("spg_kd_picksplit"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4025), _1("spg_kd_picksplit"), _2(2), _3(true), _4(false), _5(spg_kd_picksplit), _6(2278), _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(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("spg_kd_picksplit"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "spg_quad_choose", 1, - AddBuiltinFunc(_0(4019), _1("spg_quad_choose"), _2(2), _3(true), _4(false), _5(spg_quad_choose), _6(2278), _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(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("spg_quad_choose"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4019), _1("spg_quad_choose"), _2(2), _3(true), _4(false), _5(spg_quad_choose), _6(2278), _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(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("spg_quad_choose"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "spg_quad_config", 1, - AddBuiltinFunc(_0(4018), _1("spg_quad_config"), _2(2), _3(true), _4(false), _5(spg_quad_config), _6(2278), _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(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("spg_quad_config"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4018), _1("spg_quad_config"), _2(2), _3(true), _4(false), _5(spg_quad_config), _6(2278), _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(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("spg_quad_config"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "spg_quad_inner_consistent", 1, - AddBuiltinFunc(_0(4021), _1("spg_quad_inner_consistent"), _2(2), _3(true), _4(false), _5(spg_quad_inner_consistent), _6(2278), _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(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("spg_quad_inner_consistent"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4021), _1("spg_quad_inner_consistent"), _2(2), _3(true), _4(false), _5(spg_quad_inner_consistent), _6(2278), _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(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("spg_quad_inner_consistent"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "spg_quad_leaf_consistent", 1, - AddBuiltinFunc(_0(4022), _1("spg_quad_leaf_consistent"), _2(2), _3(true), _4(false), _5(spg_quad_leaf_consistent), _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(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("spg_quad_leaf_consistent"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4022), _1("spg_quad_leaf_consistent"), _2(2), _3(true), _4(false), _5(spg_quad_leaf_consistent), _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(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("spg_quad_leaf_consistent"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "spg_quad_picksplit", 1, - AddBuiltinFunc(_0(4020), _1("spg_quad_picksplit"), _2(2), _3(true), _4(false), _5(spg_quad_picksplit), _6(2278), _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(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("spg_quad_picksplit"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4020), _1("spg_quad_picksplit"), _2(2), _3(true), _4(false), _5(spg_quad_picksplit), _6(2278), _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(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("spg_quad_picksplit"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "spg_text_choose", 1, - AddBuiltinFunc(_0(4028), _1("spg_text_choose"), _2(2), _3(true), _4(false), _5(spg_text_choose), _6(2278), _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(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("spg_text_choose"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4028), _1("spg_text_choose"), _2(2), _3(true), _4(false), _5(spg_text_choose), _6(2278), _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(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("spg_text_choose"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "spg_text_config", 1, - AddBuiltinFunc(_0(4027), _1("spg_text_config"), _2(2), _3(true), _4(false), _5(spg_text_config), _6(2278), _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(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("spg_text_config"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4027), _1("spg_text_config"), _2(2), _3(true), _4(false), _5(spg_text_config), _6(2278), _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(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("spg_text_config"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "spg_text_inner_consistent", 1, - AddBuiltinFunc(_0(4030), _1("spg_text_inner_consistent"), _2(2), _3(true), _4(false), _5(spg_text_inner_consistent), _6(2278), _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(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("spg_text_inner_consistent"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4030), _1("spg_text_inner_consistent"), _2(2), _3(true), _4(false), _5(spg_text_inner_consistent), _6(2278), _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(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("spg_text_inner_consistent"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "spg_text_leaf_consistent", 1, - AddBuiltinFunc(_0(4031), _1("spg_text_leaf_consistent"), _2(2), _3(true), _4(false), _5(spg_text_leaf_consistent), _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(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("spg_text_leaf_consistent"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4031), _1("spg_text_leaf_consistent"), _2(2), _3(true), _4(false), _5(spg_text_leaf_consistent), _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(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("spg_text_leaf_consistent"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "spg_text_picksplit", 1, - AddBuiltinFunc(_0(4029), _1("spg_text_picksplit"), _2(2), _3(true), _4(false), _5(spg_text_picksplit), _6(2278), _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(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("spg_text_picksplit"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4029), _1("spg_text_picksplit"), _2(2), _3(true), _4(false), _5(spg_text_picksplit), _6(2278), _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(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("spg_text_picksplit"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "spgbeginscan", 1, - AddBuiltinFunc(_0(4004), _1("spgbeginscan"), _2(3), _3(true), _4(false), _5(spgbeginscan), _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('v'), _19(0), _20(3, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("spgbeginscan"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4004), _1("spgbeginscan"), _2(3), _3(true), _4(false), _5(spgbeginscan), _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('v'), _19(0), _20(3, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("spgbeginscan"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "spgbuild", 1, - AddBuiltinFunc(_0(4009), _1("spgbuild"), _2(3), _3(true), _4(false), _5(spgbuild), _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('v'), _19(0), _20(3, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("spgbuild"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4009), _1("spgbuild"), _2(3), _3(true), _4(false), _5(spgbuild), _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('v'), _19(0), _20(3, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("spgbuild"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "spgbuildempty", 1, - AddBuiltinFunc(_0(4010), _1("spgbuildempty"), _2(1), _3(true), _4(false), _5(spgbuildempty), _6(2278), _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('v'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("spgbuildempty"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4010), _1("spgbuildempty"), _2(1), _3(true), _4(false), _5(spgbuildempty), _6(2278), _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('v'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("spgbuildempty"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "spgbulkdelete", 1, - AddBuiltinFunc(_0(4011), _1("spgbulkdelete"), _2(4), _3(true), _4(false), _5(spgbulkdelete), _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('v'), _19(0), _20(4, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("spgbulkdelete"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4011), _1("spgbulkdelete"), _2(4), _3(true), _4(false), _5(spgbulkdelete), _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('v'), _19(0), _20(4, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("spgbulkdelete"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "spgcanreturn", 1, - AddBuiltinFunc(_0(4032), _1("spgcanreturn"), _2(1), _3(true), _4(false), _5(spgcanreturn), _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('s'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("spgcanreturn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4032), _1("spgcanreturn"), _2(1), _3(true), _4(false), _5(spgcanreturn), _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('s'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("spgcanreturn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "spgcostestimate", 1, - AddBuiltinFunc(_0(4013), _1("spgcostestimate"), _2(7), _3(true), _4(false), _5(spgcostestimate), _6(2278), _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('v'), _19(0), _20(7, 2281, 2281, 2281, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("spgcostestimate"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4013), _1("spgcostestimate"), _2(7), _3(true), _4(false), _5(spgcostestimate), _6(2278), _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('v'), _19(0), _20(7, 2281, 2281, 2281, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("spgcostestimate"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "spgendscan", 1, - AddBuiltinFunc(_0(4006), _1("spgendscan"), _2(1), _3(true), _4(false), _5(spgendscan), _6(2278), _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('v'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("spgendscan"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4006), _1("spgendscan"), _2(1), _3(true), _4(false), _5(spgendscan), _6(2278), _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('v'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("spgendscan"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "spggetbitmap", 1, - AddBuiltinFunc(_0(4002), _1("spggetbitmap"), _2(2), _3(true), _4(false), _5(spggetbitmap), _6(20), _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('v'), _19(0), _20(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("spggetbitmap"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4002), _1("spggetbitmap"), _2(2), _3(true), _4(false), _5(spggetbitmap), _6(20), _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('v'), _19(0), _20(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("spggetbitmap"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "spggettuple", 1, - AddBuiltinFunc(_0(4001), _1("spggettuple"), _2(2), _3(true), _4(false), _5(spggettuple), _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('v'), _19(0), _20(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("spggettuple"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4001), _1("spggettuple"), _2(2), _3(true), _4(false), _5(spggettuple), _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('v'), _19(0), _20(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("spggettuple"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "spginsert", 1, - AddBuiltinFunc(_0(4003), _1("spginsert"), _2(6), _3(true), _4(false), _5(spginsert), _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('v'), _19(0), _20(6, 2281, 2281, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("spginsert"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4003), _1("spginsert"), _2(6), _3(true), _4(false), _5(spginsert), _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('v'), _19(0), _20(6, 2281, 2281, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("spginsert"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "spgmarkpos", 1, - AddBuiltinFunc(_0(4007), _1("spgmarkpos"), _2(1), _3(true), _4(false), _5(spgmarkpos), _6(2278), _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('v'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("spgmarkpos"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4007), _1("spgmarkpos"), _2(1), _3(true), _4(false), _5(spgmarkpos), _6(2278), _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('v'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("spgmarkpos"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "spgmerge", 1, - AddBuiltinFunc(_0(3188), _1("spgmerge"), _2(5), _3(true), _4(false), _5(spgmerge), _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('v'), _19(0), _20(5, 2281, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("spgmerge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3188), _1("spgmerge"), _2(5), _3(true), _4(false), _5(spgmerge), _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('v'), _19(0), _20(5, 2281, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("spgmerge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "spgoptions", 1, - AddBuiltinFunc(_0(4014), _1("spgoptions"), _2(2), _3(true), _4(false), _5(spgoptions), _6(17), _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('s'), _19(0), _20(2, 1009, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("spgoptions"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4014), _1("spgoptions"), _2(2), _3(true), _4(false), _5(spgoptions), _6(17), _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('s'), _19(0), _20(2, 1009, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("spgoptions"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "spgrescan", 1, - AddBuiltinFunc(_0(4005), _1("spgrescan"), _2(5), _3(true), _4(false), _5(spgrescan), _6(2278), _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('v'), _19(0), _20(5, 2281, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("spgrescan"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4005), _1("spgrescan"), _2(5), _3(true), _4(false), _5(spgrescan), _6(2278), _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('v'), _19(0), _20(5, 2281, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("spgrescan"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "spgrestrpos", 1, - AddBuiltinFunc(_0(4008), _1("spgrestrpos"), _2(1), _3(true), _4(false), _5(spgrestrpos), _6(2278), _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('v'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("spgrestrpos"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4008), _1("spgrestrpos"), _2(1), _3(true), _4(false), _5(spgrestrpos), _6(2278), _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('v'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("spgrestrpos"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "spgvacuumcleanup", 1, - AddBuiltinFunc(_0(4012), _1("spgvacuumcleanup"), _2(2), _3(true), _4(false), _5(spgvacuumcleanup), _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('v'), _19(0), _20(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("spgvacuumcleanup"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4012), _1("spgvacuumcleanup"), _2(2), _3(true), _4(false), _5(spgvacuumcleanup), _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('v'), _19(0), _20(2, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("spgvacuumcleanup"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "split_part", 1, - AddBuiltinFunc(_0(2088), _1("split_part"), _2(3), _3(true), _4(false), _5(split_text), _6(25), _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(3, 25, 25, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("split_text"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2088), _1("split_part"), _2(3), _3(true), _4(false), _5(split_text), _6(25), _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(3, 25, 25, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("split_text"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "sqrt", 2, - AddBuiltinFunc(_0(SQRTFUNCOID), _1("sqrt"), _2(1), _3(true), _4(false), _5(dsqrt), _6(701), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dsqrt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1730), _1("sqrt"), _2(1), _3(true), _4(false), _5(numeric_sqrt), _6(1700), _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(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_sqrt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(SQRTFUNCOID), _1("sqrt"), _2(1), _3(true), _4(false), _5(dsqrt), _6(701), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dsqrt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1730), _1("sqrt"), _2(1), _3(true), _4(false), _5(numeric_sqrt), _6(1700), _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(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_sqrt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "statement_detail_decode", 1, - AddBuiltinFunc(_0(5732), _1("statement_detail_decode"), _2(3), _3(true), _4(false), _5(statement_detail_decode), _6(25), _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(3, 17, 25, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("statement_detail_decode"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5732), _1("statement_detail_decode"), _2(3), _3(true), _4(false), _5(statement_detail_decode), _6(25), _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(3, 17, 25, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("statement_detail_decode"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "statement_timestamp", 1, - AddBuiltinFunc(_0(STATEMENTTIMESTAMPFUNCOID), _1("statement_timestamp"), _2(0), _3(true), _4(false), _5(statement_timestamp), _6(1184), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("statement_timestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(STATEMENTTIMESTAMPFUNCOID), _1("statement_timestamp"), _2(0), _3(true), _4(false), _5(statement_timestamp), _6(1184), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("statement_timestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "stddev", 6, - AddBuiltinFunc(_0(2154), _1("stddev"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2155), _1("stddev"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2156), _1("stddev"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2157), _1("stddev"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2158), _1("stddev"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2159), _1("stddev"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2154), _1("stddev"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2155), _1("stddev"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2156), _1("stddev"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2157), _1("stddev"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2158), _1("stddev"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2159), _1("stddev"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "stddev_pop", 6, - AddBuiltinFunc(_0(2724), _1("stddev_pop"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2725), _1("stddev_pop"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2726), _1("stddev_pop"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2727), _1("stddev_pop"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2728), _1("stddev_pop"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2729), _1("stddev_pop"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2724), _1("stddev_pop"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2725), _1("stddev_pop"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2726), _1("stddev_pop"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2727), _1("stddev_pop"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2728), _1("stddev_pop"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2729), _1("stddev_pop"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "stddev_samp", 6, - AddBuiltinFunc(_0(2712), _1("stddev_samp"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2713), _1("stddev_samp"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2714), _1("stddev_samp"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2715), _1("stddev_samp"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2716), _1("stddev_samp"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2717), _1("stddev_samp"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2712), _1("stddev_samp"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2713), _1("stddev_samp"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2714), _1("stddev_samp"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2715), _1("stddev_samp"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2716), _1("stddev_samp"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2717), _1("stddev_samp"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "string_agg", 2, - AddBuiltinFunc(_0(STRINGAGGFUNCOID), _1("string_agg"), _2(2), _3(false), _4(false), _5(aggregate_dummy), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(BYTEASTRINGAGGFUNCOID), _1("string_agg"), _2(2), _3(false), _4(false), _5(aggregate_dummy), _6(17), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 17, 17), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(STRINGAGGFUNCOID), _1("string_agg"), _2(2), _3(false), _4(false), _5(aggregate_dummy), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(BYTEASTRINGAGGFUNCOID), _1("string_agg"), _2(2), _3(false), _4(false), _5(aggregate_dummy), _6(17), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 17, 17), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "string_agg_finalfn", 1, - AddBuiltinFunc(_0(3536), _1("string_agg_finalfn"), _2(1), _3(false), _4(false), _5(string_agg_finalfn), _6(25), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("string_agg_finalfn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3536), _1("string_agg_finalfn"), _2(1), _3(false), _4(false), _5(string_agg_finalfn), _6(25), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("string_agg_finalfn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "string_agg_transfn", 1, - AddBuiltinFunc(_0(STRINGAGGTRANSFNFUNCOID), _1("string_agg_transfn"), _2(3), _3(false), _4(false), _5(string_agg_transfn), _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(3, 2281, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("string_agg_transfn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(STRINGAGGTRANSFNFUNCOID), _1("string_agg_transfn"), _2(3), _3(false), _4(false), _5(string_agg_transfn), _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(3, 2281, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("string_agg_transfn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "string_to_array", 2, - AddBuiltinFunc(_0(376), _1("string_to_array"), _2(3), _3(false), _4(false), _5(text_to_array_null), _6(1009), _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(3, 25, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_to_array_null"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(394), _1("string_to_array"), _2(2), _3(false), _4(false), _5(text_to_array), _6(1009), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_to_array"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(376), _1("string_to_array"), _2(3), _3(false), _4(false), _5(text_to_array_null), _6(1009), _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(3, 25, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_to_array_null"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(394), _1("string_to_array"), _2(2), _3(false), _4(false), _5(text_to_array), _6(1009), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_to_array"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "strip", 1, - AddBuiltinFunc(_0(3623), _1("strip"), _2(1), _3(true), _4(false), _5(tsvector_strip), _6(3614), _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(1, 3614), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsvector_strip"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3623), _1("strip"), _2(1), _3(true), _4(false), _5(tsvector_strip), _6(3614), _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(1, 3614), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsvector_strip"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "strpos", 1, - AddBuiltinFunc(_0(STRPOSFUNCOID), _1("strpos"), _2(2), _3(true), _4(false), _5(textpos), _6(23), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("textpos"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(STRPOSFUNCOID), _1("strpos"), _2(2), _3(true), _4(false), _5(textpos), _6(23), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("textpos"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "submit_on_nodes", 1, - AddBuiltinFunc(_0(5717), _1("submit_on_nodes"), _2(3), _3(false), _4(false), _5(submit_job_on_nodes), _6(23), _7(PG_PKG_SERVICE_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(5, 19, 19, 25, 1114, 25), _21(6, 19, 19, 25, 1114, 25, 23), _22(6, 'i', 'i', 'i', 'i', 'i', 'o'), _23(6, "node_name", "database", "what", "next_date", "job_interval", "job"), _24(NULL), _25("submit_job_on_nodes"), _26(NULL), _27(NULL), _28(NULL), _29(2, 1, 2), _30(false), _31(false), _32(false), _33("f")) + AddBuiltinFunc(_0(5717), _1("submit_on_nodes"), _2(3), _3(false), _4(false), _5(submit_job_on_nodes), _6(23), _7(PG_PKG_SERVICE_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(5, 19, 19, 25, 1114, 25), _21(6, 19, 19, 25, 1114, 25, 23), _22(6, 'i', 'i', 'i', 'i', 'i', 'o'), _23(6, "node_name", "database", "what", "next_date", "job_interval", "job"), _24(NULL), _25("submit_job_on_nodes"), _26(NULL), _27(NULL), _28(NULL), _29(2, 1, 2), _30(false), _31(false), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "substr", 4, - AddBuiltinFunc(_0(SUBSTRFUNCOID), _1("substr"), _2(3), _3(true), _4(false), _5(text_substr_orclcompat), _6(25), _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(3, 25, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_substr_orclcompat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(SUBSTRNOLENFUNCOID), _1("substr"), _2(2), _3(true), _4(false), _5(text_substr_no_len_orclcompat), _6(25), _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(2, 25, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_substr_no_len_orclcompat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(BYTEASUBSTRFUNCOID), _1("substr"), _2(3), _3(true), _4(false), _5(bytea_substr_orclcompat), _6(17), _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(3, 17, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bytea_substr_orclcompat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(BYTEASUBSTRNOLENFUNCOID), _1("substr"), _2(2), _3(true), _4(false), _5(bytea_substr_no_len_orclcompat), _6(17), _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(2, 17, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bytea_substr_no_len_orclcompat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(SUBSTRFUNCOID), _1("substr"), _2(3), _3(true), _4(false), _5(text_substr_orclcompat), _6(25), _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(3, 25, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_substr_orclcompat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(SUBSTRNOLENFUNCOID), _1("substr"), _2(2), _3(true), _4(false), _5(text_substr_no_len_orclcompat), _6(25), _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(2, 25, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_substr_no_len_orclcompat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(BYTEASUBSTRFUNCOID), _1("substr"), _2(3), _3(true), _4(false), _5(bytea_substr_orclcompat), _6(17), _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(3, 17, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bytea_substr_orclcompat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(BYTEASUBSTRNOLENFUNCOID), _1("substr"), _2(2), _3(true), _4(false), _5(bytea_substr_no_len_orclcompat), _6(17), _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(2, 17, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bytea_substr_no_len_orclcompat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "substrb", 2, - AddBuiltinFunc(_0(SUBSTRBWITHLENFUNCOID), _1("substrb"), _2(3), _3(true), _4(false), _5(substrb_with_lenth), _6(25), _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(3, 25, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("substrb_with_lenth"), _26("-"), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(SUBSTRBNOLENFUNCOID), _1("substrb"), _2(2), _3(true), _4(false), _5(substrb_without_lenth), _6(25), _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(2, 25, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("substrb_without_lenth"), _26("-"), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(SUBSTRBWITHLENFUNCOID), _1("substrb"), _2(3), _3(true), _4(false), _5(substrb_with_lenth), _6(25), _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(3, 25, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("substrb_with_lenth"), _26("-"), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(SUBSTRBNOLENFUNCOID), _1("substrb"), _2(2), _3(true), _4(false), _5(substrb_without_lenth), _6(25), _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(2, 25, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("substrb_without_lenth"), _26("-"), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "substring", 8, - AddBuiltinFunc(_0(TEXTSUBSTRINGFUNCOID), _1("substring"), _2(3), _3(true), _4(false), _5(text_substr_null), _6(25), _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(3, 25, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_substr_null"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(TEXTSUBSTRINGNOLENFUNCOID), _1("substring"), _2(2), _3(true), _4(false), _5(text_substr_no_len_null), _6(25), _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(2, 25, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_substr_no_len_null"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(BITSUBSTRINGFUNOID), _1("substring"), _2(3), _3(true), _4(false), _5(bitsubstr), _6(1560), _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(3, 1560, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bitsubstr"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(BITSUBSTRINGNOLENFUNCOID), _1("substring"), _2(2), _3(true), _4(false), _5(bitsubstr_no_len), _6(1560), _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(2, 1560, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bitsubstr_no_len"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(BYTEASUBSTRINGFUNCOID), _1("substring"), _2(3), _3(true), _4(false), _5(bytea_substr), _6(17), _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(3, 17, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bytea_substr"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(BYTEASUBSTRINGNOLENOID), _1("substring"), _2(2), _3(true), _4(false), _5(bytea_substr_no_len), _6(17), _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(2, 17, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bytea_substr_no_len"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(TEXTREGEXSUBSTRINGOID), _1("substring"), _2(2), _3(true), _4(false), _5(textregexsubstr), _6(25), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("textregexsubstr"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(SUBSTRINGESCAPEFUNCOID), _1("substring"), _2(3), _3(true), _4(false), _5(NULL), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(3, 25, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select pg_catalog.substring($1, pg_catalog.similar_escape($2, $3))"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(TEXTSUBSTRINGFUNCOID), _1("substring"), _2(3), _3(true), _4(false), _5(text_substr_null), _6(25), _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(3, 25, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_substr_null"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(TEXTSUBSTRINGNOLENFUNCOID), _1("substring"), _2(2), _3(true), _4(false), _5(text_substr_no_len_null), _6(25), _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(2, 25, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_substr_no_len_null"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(BITSUBSTRINGFUNOID), _1("substring"), _2(3), _3(true), _4(false), _5(bitsubstr), _6(1560), _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(3, 1560, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bitsubstr"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(BITSUBSTRINGNOLENFUNCOID), _1("substring"), _2(2), _3(true), _4(false), _5(bitsubstr_no_len), _6(1560), _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(2, 1560, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bitsubstr_no_len"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(BYTEASUBSTRINGFUNCOID), _1("substring"), _2(3), _3(true), _4(false), _5(bytea_substr), _6(17), _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(3, 17, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bytea_substr"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(BYTEASUBSTRINGNOLENOID), _1("substring"), _2(2), _3(true), _4(false), _5(bytea_substr_no_len), _6(17), _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(2, 17, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bytea_substr_no_len"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(TEXTREGEXSUBSTRINGOID), _1("substring"), _2(2), _3(true), _4(false), _5(textregexsubstr), _6(25), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("textregexsubstr"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(SUBSTRINGESCAPEFUNCOID), _1("substring"), _2(3), _3(true), _4(false), _5(NULL), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(3, 25, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select pg_catalog.substring($1, pg_catalog.similar_escape($2, $3))"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "substring_inner", 2, - AddBuiltinFunc(_0(SUBSTRINNFUNCOID), _1("substring_inner"), _2(3), _3(true), _4(false), _5(text_substr), _6(25), _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(3, 25, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_substr"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(SUBSTRINNNOLENFUNCOID), _1("substring_inner"), _2(2), _3(true), _4(false), _5(text_substr_no_len), _6(25), _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(2, 25, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_substr_no_len"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(SUBSTRINNFUNCOID), _1("substring_inner"), _2(3), _3(true), _4(false), _5(text_substr), _6(25), _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(3, 25, 23, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_substr"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(SUBSTRINNNOLENFUNCOID), _1("substring_inner"), _2(2), _3(true), _4(false), _5(text_substr_no_len), _6(25), _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(2, 25, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_substr_no_len"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "sum", 8, - AddBuiltinFunc(_0(2107), _1("sum"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2108), _1("sum"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(20), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2109), _1("sum"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(20), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2110), _1("sum"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2111), _1("sum"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2112), _1("sum"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(790), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 790), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2113), _1("sum"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1186), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2114), _1("sum"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2107), _1("sum"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2108), _1("sum"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(20), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2109), _1("sum"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(20), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2110), _1("sum"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2111), _1("sum"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2112), _1("sum"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(790), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 790), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2113), _1("sum"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1186), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2114), _1("sum"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "suppress_redundant_updates_trigger", 1, - AddBuiltinFunc(_0(1291), _1("suppress_redundant_updates_trigger"), _2(0), _3(true), _4(false), _5(suppress_redundant_updates_trigger), _6(2279), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("suppress_redundant_updates_trigger"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1291), _1("suppress_redundant_updates_trigger"), _2(0), _3(true), _4(false), _5(suppress_redundant_updates_trigger), _6(2279), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("suppress_redundant_updates_trigger"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "sysdate", 1, - AddBuiltinFunc(_0(7777), _1("sysdate"), _2(0), _3(false), _4(false), _5(NULL), _6(1114), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(100), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("SELECT CURRENT_TIMESTAMP::timestamp(0)"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(7777), _1("sysdate"), _2(0), _3(false), _4(false), _5(NULL), _6(1114), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(100), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("SELECT CURRENT_TIMESTAMP::timestamp(0)"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "table_data_skewness", 1, - AddBuiltinFunc(_0(TESTSKEWNESSRETURNTYPE), _1("table_data_skewness"), _2(2), _3(true), _4(false), _5(table_data_skewness), _6(21), _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(2, 2249, 18), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("table_data_skewness"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(TESTSKEWNESSRETURNTYPE), _1("table_data_skewness"), _2(2), _3(true), _4(false), _5(table_data_skewness), _6(21), _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(2, 2249, 18), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("table_data_skewness"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "table_distribution", 2, - AddBuiltinFunc(_0(4441), _1("table_distribution"), _2(0), _3(false), _4(true), _5(all_table_distribution), _6(2249), _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(0), _20(0), _21(4, 19, 19, 19, 20), _22(4, 'o', 'o', 'o', 'o'), _23(4, "schemaname", "tablename", "nodename", "dnsize"), _24(NULL), _25("all_table_distribution"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(4442), _1("table_distribution"), _2(2), _3(true), _4(true), _5(single_table_distribution), _6(2249), _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(0), _20(2, 25, 25), _21(6, 25, 25, 19, 19, 19, 20), _22(6, 'i', 'i', 'o', 'o', 'o', 'o'), _23(6, "schema", "table", "schemaname", "tablename", "nodename", "dnsize"), _24(NULL), _25("single_table_distribution"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4441), _1("table_distribution"), _2(0), _3(false), _4(true), _5(all_table_distribution), _6(2249), _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(0), _20(0), _21(4, 19, 19, 19, 20), _22(4, 'o', 'o', 'o', 'o'), _23(4, "schemaname", "tablename", "nodename", "dnsize"), _24(NULL), _25("all_table_distribution"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(4442), _1("table_distribution"), _2(2), _3(true), _4(true), _5(single_table_distribution), _6(2249), _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(0), _20(2, 25, 25), _21(6, 25, 25, 19, 19, 19, 20), _22(6, 'i', 'i', 'o', 'o', 'o', 'o'), _23(6, "schema", "table", "schemaname", "tablename", "nodename", "dnsize"), _24(NULL), _25("single_table_distribution"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "table_to_xml", 1, - AddBuiltinFunc(_0(2923), _1("table_to_xml"), _2(4), _3(false), _4(false), _5(table_to_xml), _6(142), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(100), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(4, 2205, 16, 16, 25), _21(NULL), _22(NULL), _23(4, "tbl", "nulls", "tableforest", "targetns"), _24(NULL), _25("table_to_xml"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2923), _1("table_to_xml"), _2(4), _3(false), _4(false), _5(table_to_xml), _6(142), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(100), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(4, 2205, 16, 16, 25), _21(NULL), _22(NULL), _23(4, "tbl", "nulls", "tableforest", "targetns"), _24(NULL), _25("table_to_xml"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "table_to_xml_and_xmlschema", 1, - AddBuiltinFunc(_0(2929), _1("table_to_xml_and_xmlschema"), _2(4), _3(false), _4(false), _5(table_to_xml_and_xmlschema), _6(142), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(100), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(4, 2205, 16, 16, 25), _21(NULL), _22(NULL), _23(4, "tbl", "nulls", "tableforest", "targetns"), _24(NULL), _25("table_to_xml_and_xmlschema"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2929), _1("table_to_xml_and_xmlschema"), _2(4), _3(false), _4(false), _5(table_to_xml_and_xmlschema), _6(142), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(100), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(4, 2205, 16, 16, 25), _21(NULL), _22(NULL), _23(4, "tbl", "nulls", "tableforest", "targetns"), _24(NULL), _25("table_to_xml_and_xmlschema"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "table_to_xmlschema", 1, - AddBuiltinFunc(_0(2926), _1("table_to_xmlschema"), _2(4), _3(false), _4(false), _5(table_to_xmlschema), _6(142), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(100), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(4, 2205, 16, 16, 25), _21(NULL), _22(NULL), _23(4, "tbl", "nulls", "tableforest", "targetns"), _24(NULL), _25("table_to_xmlschema"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2926), _1("table_to_xmlschema"), _2(4), _3(false), _4(false), _5(table_to_xmlschema), _6(142), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(100), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(4, 2205, 16, 16, 25), _21(NULL), _22(NULL), _23(4, "tbl", "nulls", "tableforest", "targetns"), _24(NULL), _25("table_to_xmlschema"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tablespace_oid_name", 1, - AddBuiltinFunc(_0(3952), _1("tablespace_oid_name"), _2(1), _3(true), _4(false), _5(tablespace_oid_name), _6(2275), _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(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tablespace_oid_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3952), _1("tablespace_oid_name"), _2(1), _3(true), _4(false), _5(tablespace_oid_name), _6(2275), _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(1, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tablespace_oid_name"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tan", 1, - AddBuiltinFunc(_0(1606), _1("tan"), _2(1), _3(true), _4(false), _5(dtan), _6(701), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dtan"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1606), _1("tan"), _2(1), _3(true), _4(false), _5(dtan), _6(701), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dtan"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "text", 6, - AddBuiltinFunc(_0(RTRIM1FUNCOID), _1("text"), _2(1), _3(true), _4(false), _5(rtrim1), _6(25), _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(1, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("rtrim1"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(406), _1("text"), _2(1), _3(true), _4(false), _5(name_text), _6(25), _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(1, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("name_text"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(730), _1("text"), _2(1), _3(true), _4(false), _5(network_show), _6(25), _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(1, 869), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("network_show"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(946), _1("text"), _2(1), _3(true), _4(false), _5(char_text), _6(25), _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(1, 18), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("char_text"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2922), _1("text"), _2(1), _3(true), _4(false), _5(xmltotext), _6(25), _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(1, 142), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("xmltotext"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2971), _1("text"), _2(1), _3(true), _4(false), _5(booltext), _6(25), _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(1, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("booltext"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(RTRIM1FUNCOID), _1("text"), _2(1), _3(true), _4(false), _5(rtrim1), _6(25), _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(1, 1042), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("rtrim1"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(406), _1("text"), _2(1), _3(true), _4(false), _5(name_text), _6(25), _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(1, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("name_text"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(730), _1("text"), _2(1), _3(true), _4(false), _5(network_show), _6(25), _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(1, 869), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("network_show"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(946), _1("text"), _2(1), _3(true), _4(false), _5(char_text), _6(25), _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(1, 18), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("char_text"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2922), _1("text"), _2(1), _3(true), _4(false), _5(xmltotext), _6(25), _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(1, 142), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("xmltotext"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2971), _1("text"), _2(1), _3(true), _4(false), _5(booltext), _6(25), _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(1, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("booltext"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "text_date", 1, - AddBuiltinFunc(_0(4164), _1("text_date"), _2(1), _3(true), _4(false), _5(text_date), _6(1082), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_date"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4164), _1("text_date"), _2(1), _3(true), _4(false), _5(text_date), _6(1082), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_date"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "text_float4", 1, - AddBuiltinFunc(_0(4192), _1("text_float4"), _2(1), _3(true), _4(false), _5(text_float4), _6(700), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_float4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4192), _1("text_float4"), _2(1), _3(true), _4(false), _5(text_float4), _6(700), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_float4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "text_float8", 1, - AddBuiltinFunc(_0(4193), _1("text_float8"), _2(1), _3(true), _4(false), _5(text_float8), _6(701), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_float8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4193), _1("text_float8"), _2(1), _3(true), _4(false), _5(text_float8), _6(701), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_float8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "text_ge", 1, - AddBuiltinFunc(_0(743), _1("text_ge"), _2(2), _3(true), _4(false), _5(text_ge), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(743), _1("text_ge"), _2(2), _3(true), _4(false), _5(text_ge), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "text_gt", 1, - AddBuiltinFunc(_0(742), _1("text_gt"), _2(2), _3(true), _4(false), _5(text_gt), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(742), _1("text_gt"), _2(2), _3(true), _4(false), _5(text_gt), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "text_int1", 1, - AddBuiltinFunc(_0(4188), _1("text_int1"), _2(1), _3(true), _4(false), _5(text_int1), _6(5545), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_int1"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4188), _1("text_int1"), _2(1), _3(true), _4(false), _5(text_int1), _6(5545), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_int1"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "text_int2", 1, - AddBuiltinFunc(_0(4189), _1("text_int2"), _2(1), _3(true), _4(false), _5(text_int2), _6(21), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_int2"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4189), _1("text_int2"), _2(1), _3(true), _4(false), _5(text_int2), _6(21), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_int2"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "text_int4", 1, - AddBuiltinFunc(_0(4190), _1("text_int4"), _2(1), _3(true), _4(false), _5(text_int4), _6(23), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_int4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4190), _1("text_int4"), _2(1), _3(true), _4(false), _5(text_int4), _6(23), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_int4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "text_int8", 1, - AddBuiltinFunc(_0(4191), _1("text_int8"), _2(1), _3(true), _4(false), _5(text_int8), _6(20), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_int8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4191), _1("text_int8"), _2(1), _3(true), _4(false), _5(text_int8), _6(20), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_int8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "text_larger", 1, - AddBuiltinFunc(_0(458), _1("text_larger"), _2(2), _3(true), _4(false), _5(text_larger), _6(25), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_larger"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(458), _1("text_larger"), _2(2), _3(true), _4(false), _5(text_larger), _6(25), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_larger"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "text_le", 1, - AddBuiltinFunc(_0(741), _1("text_le"), _2(2), _3(true), _4(false), _5(text_le), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(741), _1("text_le"), _2(2), _3(true), _4(false), _5(text_le), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "text_lt", 1, - AddBuiltinFunc(_0(740), _1("text_lt"), _2(2), _3(true), _4(false), _5(text_lt), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(740), _1("text_lt"), _2(2), _3(true), _4(false), _5(text_lt), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "text_numeric", 1, - AddBuiltinFunc(_0(4194), _1("text_numeric"), _2(1), _3(true), _4(false), _5(text_numeric), _6(1700), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_numeric"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4194), _1("text_numeric"), _2(1), _3(true), _4(false), _5(text_numeric), _6(1700), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_numeric"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "text_pattern_ge", 1, - AddBuiltinFunc(_0(2163), _1("text_pattern_ge"), _2(2), _3(true), _4(false), _5(text_pattern_ge), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_pattern_ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2163), _1("text_pattern_ge"), _2(2), _3(true), _4(false), _5(text_pattern_ge), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_pattern_ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "text_pattern_gt", 1, - AddBuiltinFunc(_0(2164), _1("text_pattern_gt"), _2(2), _3(true), _4(false), _5(text_pattern_gt), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_pattern_gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2164), _1("text_pattern_gt"), _2(2), _3(true), _4(false), _5(text_pattern_gt), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_pattern_gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "text_pattern_le", 1, - AddBuiltinFunc(_0(2161), _1("text_pattern_le"), _2(2), _3(true), _4(false), _5(text_pattern_le), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_pattern_le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2161), _1("text_pattern_le"), _2(2), _3(true), _4(false), _5(text_pattern_le), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_pattern_le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "text_pattern_lt", 1, - AddBuiltinFunc(_0(2160), _1("text_pattern_lt"), _2(2), _3(true), _4(false), _5(text_pattern_lt), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_pattern_lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2160), _1("text_pattern_lt"), _2(2), _3(true), _4(false), _5(text_pattern_lt), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_pattern_lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "text_smaller", 1, - AddBuiltinFunc(_0(459), _1("text_smaller"), _2(2), _3(true), _4(false), _5(text_smaller), _6(25), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_smaller"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(459), _1("text_smaller"), _2(2), _3(true), _4(false), _5(text_smaller), _6(25), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_smaller"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "text_timestamp", 1, - AddBuiltinFunc(_0(4073), _1("text_timestamp"), _2(1), _3(true), _4(false), _5(text_timestamp), _6(1114), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_timestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4073), _1("text_timestamp"), _2(1), _3(true), _4(false), _5(text_timestamp), _6(1114), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("text_timestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "textanycat", 1, - AddBuiltinFunc(_0(TEXTANYCATFUNCOID), _1("textanycat"), _2(2), _3(true), _4(false), _5(NULL), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(2, 25, 2776), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select $1 || $2::pg_catalog.text"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(TEXTANYCATFUNCOID), _1("textanycat"), _2(2), _3(true), _4(false), _5(NULL), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(2, 25, 2776), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select $1 || $2::pg_catalog.text"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "textcat", 1, - AddBuiltinFunc(_0(1258), _1("textcat"), _2(2), _3(false), _4(false), _5(textcat), _6(25), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("textcat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1258), _1("textcat"), _2(2), _3(false), _4(false), _5(textcat), _6(25), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("textcat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "texteq", 1, - AddBuiltinFunc(_0(67), _1("texteq"), _2(2), _3(true), _4(false), _5(texteq), _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(true), _18('i'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("texteq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(67), _1("texteq"), _2(2), _3(true), _4(false), _5(texteq), _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(true), _18('i'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("texteq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "texticlike", 1, - AddBuiltinFunc(_0(1633), _1("texticlike"), _2(2), _3(true), _4(false), _5(texticlike), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("texticlike"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1633), _1("texticlike"), _2(2), _3(true), _4(false), _5(texticlike), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("texticlike"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "texticnlike", 1, - AddBuiltinFunc(_0(1634), _1("texticnlike"), _2(2), _3(true), _4(false), _5(texticnlike), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("texticnlike"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1634), _1("texticnlike"), _2(2), _3(true), _4(false), _5(texticnlike), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("texticnlike"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "texticregexeq", 1, - AddBuiltinFunc(_0(1238), _1("texticregexeq"), _2(2), _3(true), _4(false), _5(texticregexeq), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("texticregexeq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1238), _1("texticregexeq"), _2(2), _3(true), _4(false), _5(texticregexeq), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("texticregexeq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "texticregexne", 1, - AddBuiltinFunc(_0(1239), _1("texticregexne"), _2(2), _3(true), _4(false), _5(texticregexne), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("texticregexne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1239), _1("texticregexne"), _2(2), _3(true), _4(false), _5(texticregexne), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("texticregexne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "textin", 1, - AddBuiltinFunc(_0(46), _1("textin"), _2(1), _3(true), _4(false), _5(textin), _6(25), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("textin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(46), _1("textin"), _2(1), _3(true), _4(false), _5(textin), _6(25), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("textin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "textlen", 1, - AddBuiltinFunc(_0(TEXTLENOID), _1("textlen"), _2(1), _3(true), _4(false), _5(textlen), _6(23), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("textlen"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(TEXTLENOID), _1("textlen"), _2(1), _3(true), _4(false), _5(textlen), _6(23), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("textlen"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "textlike", 1, - AddBuiltinFunc(_0(850), _1("textlike"), _2(2), _3(true), _4(false), _5(textlike), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("textlike"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(850), _1("textlike"), _2(2), _3(true), _4(false), _5(textlike), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("textlike"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "textne", 1, - AddBuiltinFunc(_0(157), _1("textne"), _2(2), _3(true), _4(false), _5(textne), _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(true), _18('i'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("textne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(157), _1("textne"), _2(2), _3(true), _4(false), _5(textne), _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(true), _18('i'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("textne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "textnlike", 1, - AddBuiltinFunc(_0(851), _1("textnlike"), _2(2), _3(true), _4(false), _5(textnlike), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("textnlike"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(851), _1("textnlike"), _2(2), _3(true), _4(false), _5(textnlike), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("textnlike"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "textout", 1, - AddBuiltinFunc(_0(47), _1("textout"), _2(1), _3(true), _4(false), _5(textout), _6(2275), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("textout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(47), _1("textout"), _2(1), _3(true), _4(false), _5(textout), _6(2275), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("textout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "textrecv", 1, - AddBuiltinFunc(_0(2414), _1("textrecv"), _2(1), _3(true), _4(false), _5(textrecv), _6(25), _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('s'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("textrecv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2414), _1("textrecv"), _2(1), _3(true), _4(false), _5(textrecv), _6(25), _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('s'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("textrecv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "textregexeq", 1, - AddBuiltinFunc(_0(1254), _1("textregexeq"), _2(2), _3(true), _4(false), _5(textregexeq), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("textregexeq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1254), _1("textregexeq"), _2(2), _3(true), _4(false), _5(textregexeq), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("textregexeq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "textregexne", 1, - AddBuiltinFunc(_0(1256), _1("textregexne"), _2(2), _3(true), _4(false), _5(textregexne), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("textregexne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1256), _1("textregexne"), _2(2), _3(true), _4(false), _5(textregexne), _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(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("textregexne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "textsend", 1, - AddBuiltinFunc(_0(2415), _1("textsend"), _2(1), _3(true), _4(false), _5(textsend), _6(17), _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('s'), _19(0), _20(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("textsend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2415), _1("textsend"), _2(1), _3(true), _4(false), _5(textsend), _6(17), _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('s'), _19(0), _20(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("textsend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "thesaurus_init", 1, - AddBuiltinFunc(_0(3740), _1("thesaurus_init"), _2(1), _3(true), _4(false), _5(thesaurus_init), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("thesaurus_init"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3740), _1("thesaurus_init"), _2(1), _3(true), _4(false), _5(thesaurus_init), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("thesaurus_init"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "thesaurus_lexize", 1, - AddBuiltinFunc(_0(3741), _1("thesaurus_lexize"), _2(4), _3(true), _4(false), _5(thesaurus_lexize), _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(4, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("thesaurus_lexize"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3741), _1("thesaurus_lexize"), _2(4), _3(true), _4(false), _5(thesaurus_lexize), _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(4, 2281, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("thesaurus_lexize"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "threadpool_status", 1, - AddBuiltinFunc(_0(3956), _1("threadpool_status"), _2(0), _3(false), _4(true), _5(gs_threadpool_status), _6(2249), _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(0), _20(0), _21(8, 25, 23, 23, 23, 23, 25, 25, 25), _22(8, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(8, "node_name", "group_id", "bind_numa_id", "bind_cpu_number", "listener", "worker_info", "session_info", "stream_info"), _24(NULL), _25("gs_threadpool_status"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3956), _1("threadpool_status"), _2(0), _3(false), _4(true), _5(gs_threadpool_status), _6(2249), _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(0), _20(0), _21(8, 25, 23, 23, 23, 23, 25, 25, 25), _22(8, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(8, "node_name", "group_id", "bind_numa_id", "bind_cpu_number", "listener", "worker_info", "session_info", "stream_info"), _24(NULL), _25("gs_threadpool_status"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tideq", 1, - AddBuiltinFunc(_0(1292), _1("tideq"), _2(2), _3(true), _4(false), _5(tideq), _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(true), _18('i'), _19(0), _20(2, 27, 27), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tideq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1292), _1("tideq"), _2(2), _3(true), _4(false), _5(tideq), _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(true), _18('i'), _19(0), _20(2, 27, 27), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tideq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tidge", 1, - AddBuiltinFunc(_0(2792), _1("tidge"), _2(2), _3(true), _4(false), _5(tidge), _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(true), _18('i'), _19(0), _20(2, 27, 27), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tidge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2792), _1("tidge"), _2(2), _3(true), _4(false), _5(tidge), _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(true), _18('i'), _19(0), _20(2, 27, 27), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tidge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tidgt", 1, - AddBuiltinFunc(_0(2790), _1("tidgt"), _2(2), _3(true), _4(false), _5(tidgt), _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(true), _18('i'), _19(0), _20(2, 27, 27), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tidgt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2790), _1("tidgt"), _2(2), _3(true), _4(false), _5(tidgt), _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(true), _18('i'), _19(0), _20(2, 27, 27), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tidgt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tidin", 1, - AddBuiltinFunc(_0(48), _1("tidin"), _2(1), _3(true), _4(false), _5(tidin), _6(27), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tidin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(48), _1("tidin"), _2(1), _3(true), _4(false), _5(tidin), _6(27), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tidin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tidlarger", 1, - AddBuiltinFunc(_0(2795), _1("tidlarger"), _2(2), _3(true), _4(false), _5(tidlarger), _6(27), _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(2, 27, 27), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tidlarger"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2795), _1("tidlarger"), _2(2), _3(true), _4(false), _5(tidlarger), _6(27), _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(2, 27, 27), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tidlarger"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tidle", 1, - AddBuiltinFunc(_0(2793), _1("tidle"), _2(2), _3(true), _4(false), _5(tidle), _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(true), _18('i'), _19(0), _20(2, 27, 27), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tidle"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2793), _1("tidle"), _2(2), _3(true), _4(false), _5(tidle), _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(true), _18('i'), _19(0), _20(2, 27, 27), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tidle"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tidlt", 1, - AddBuiltinFunc(_0(2791), _1("tidlt"), _2(2), _3(true), _4(false), _5(tidlt), _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(true), _18('i'), _19(0), _20(2, 27, 27), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tidlt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2791), _1("tidlt"), _2(2), _3(true), _4(false), _5(tidlt), _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(true), _18('i'), _19(0), _20(2, 27, 27), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tidlt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tidne", 1, - AddBuiltinFunc(_0(1265), _1("tidne"), _2(2), _3(true), _4(false), _5(tidne), _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(true), _18('i'), _19(0), _20(2, 27, 27), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tidne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1265), _1("tidne"), _2(2), _3(true), _4(false), _5(tidne), _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(true), _18('i'), _19(0), _20(2, 27, 27), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tidne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tidout", 1, - AddBuiltinFunc(_0(49), _1("tidout"), _2(1), _3(true), _4(false), _5(tidout), _6(2275), _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(1, 27), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tidout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(49), _1("tidout"), _2(1), _3(true), _4(false), _5(tidout), _6(2275), _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(1, 27), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tidout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tidrecv", 1, - AddBuiltinFunc(_0(2438), _1("tidrecv"), _2(1), _3(true), _4(false), _5(tidrecv), _6(27), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tidrecv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2438), _1("tidrecv"), _2(1), _3(true), _4(false), _5(tidrecv), _6(27), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tidrecv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tidsend", 1, - AddBuiltinFunc(_0(2439), _1("tidsend"), _2(1), _3(true), _4(false), _5(tidsend), _6(17), _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(1, 27), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tidsend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2439), _1("tidsend"), _2(1), _3(true), _4(false), _5(tidsend), _6(17), _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(1, 27), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tidsend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tidsmaller", 1, - AddBuiltinFunc(_0(2796), _1("tidsmaller"), _2(2), _3(true), _4(false), _5(tidsmaller), _6(27), _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(2, 27, 27), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tidsmaller"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2796), _1("tidsmaller"), _2(2), _3(true), _4(false), _5(tidsmaller), _6(27), _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(2, 27, 27), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tidsmaller"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "time", 6, - AddBuiltinFunc(_0(1316), _1("time"), _2(1), _3(true), _4(false), _5(timestamp_time), _6(1083), _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(1, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_time"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(ABSTIME2TIMEFUNCOID), _1("time"), _2(1), _3(true), _4(false), _5(NULL), _6(1083), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(1, 702), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select cast(cast($1 as timestamp without time zone) as pg_catalog.time)"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")), - AddBuiltinFunc(_0(1419), _1("time"), _2(1), _3(true), _4(false), _5(interval_time), _6(1083), _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(1, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_time"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1968), _1("time"), _2(2), _3(true), _4(false), _5(time_scale), _6(1083), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(3944), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 1083, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("time_scale"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(TIMESTAMPTZ2TIMEFUNCOID), _1("time"), _2(1), _3(true), _4(false), _5(timestamptz_time), _6(1083), _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('s'), _19(0), _20(1, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_time"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")), - AddBuiltinFunc(_0(2046), _1("time"), _2(1), _3(true), _4(false), _5(timetz_time), _6(1083), _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(1, 1266), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timetz_time"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1316), _1("time"), _2(1), _3(true), _4(false), _5(timestamp_time), _6(1083), _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(1, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_time"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(ABSTIME2TIMEFUNCOID), _1("time"), _2(1), _3(true), _4(false), _5(NULL), _6(1083), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(1, 702), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select cast(cast($1 as timestamp without time zone) as pg_catalog.time)"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1419), _1("time"), _2(1), _3(true), _4(false), _5(interval_time), _6(1083), _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(1, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_time"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1968), _1("time"), _2(2), _3(true), _4(false), _5(time_scale), _6(1083), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(3944), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 1083, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("time_scale"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(TIMESTAMPTZ2TIMEFUNCOID), _1("time"), _2(1), _3(true), _4(false), _5(timestamptz_time), _6(1083), _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('s'), _19(0), _20(1, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_time"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2046), _1("time"), _2(1), _3(true), _4(false), _5(timetz_time), _6(1083), _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(1, 1266), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timetz_time"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "time_cmp", 1, - AddBuiltinFunc(_0(1107), _1("time_cmp"), _2(2), _3(true), _4(false), _5(time_cmp), _6(23), _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(2, 1083, 1083), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("time_cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1107), _1("time_cmp"), _2(2), _3(true), _4(false), _5(time_cmp), _6(23), _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(2, 1083, 1083), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("time_cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "time_eq", 1, - AddBuiltinFunc(_0(1145), _1("time_eq"), _2(2), _3(true), _4(false), _5(time_eq), _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(true), _18('i'), _19(0), _20(2, 1083, 1083), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("time_eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1145), _1("time_eq"), _2(2), _3(true), _4(false), _5(time_eq), _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(true), _18('i'), _19(0), _20(2, 1083, 1083), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("time_eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "time_ge", 1, - AddBuiltinFunc(_0(1105), _1("time_ge"), _2(2), _3(true), _4(false), _5(time_ge), _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(true), _18('i'), _19(0), _20(2, 1083, 1083), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("time_ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1105), _1("time_ge"), _2(2), _3(true), _4(false), _5(time_ge), _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(true), _18('i'), _19(0), _20(2, 1083, 1083), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("time_ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "time_gt", 1, - AddBuiltinFunc(_0(1104), _1("time_gt"), _2(2), _3(true), _4(false), _5(time_gt), _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(true), _18('i'), _19(0), _20(2, 1083, 1083), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("time_gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1104), _1("time_gt"), _2(2), _3(true), _4(false), _5(time_gt), _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(true), _18('i'), _19(0), _20(2, 1083, 1083), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("time_gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "time_hash", 1, - AddBuiltinFunc(_0(1688), _1("time_hash"), _2(1), _3(true), _4(false), _5(time_hash), _6(23), _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(1, 1083), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("time_hash"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1688), _1("time_hash"), _2(1), _3(true), _4(false), _5(time_hash), _6(23), _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(1, 1083), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("time_hash"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "time_in", 1, - AddBuiltinFunc(_0(TIMEINFUNCOID), _1("time_in"), _2(3), _3(true), _4(false), _5(time_in), _6(1083), _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('s'), _19(0), _20(3, 2275, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("time_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(TIMEINFUNCOID), _1("time_in"), _2(3), _3(true), _4(false), _5(time_in), _6(1083), _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('s'), _19(0), _20(3, 2275, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("time_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "time_larger", 1, - AddBuiltinFunc(_0(1377), _1("time_larger"), _2(2), _3(true), _4(false), _5(time_larger), _6(1083), _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(2, 1083, 1083), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("time_larger"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1377), _1("time_larger"), _2(2), _3(true), _4(false), _5(time_larger), _6(1083), _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(2, 1083, 1083), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("time_larger"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "time_le", 1, - AddBuiltinFunc(_0(1103), _1("time_le"), _2(2), _3(true), _4(false), _5(time_le), _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(true), _18('i'), _19(0), _20(2, 1083, 1083), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("time_le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1103), _1("time_le"), _2(2), _3(true), _4(false), _5(time_le), _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(true), _18('i'), _19(0), _20(2, 1083, 1083), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("time_le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "time_lt", 1, - AddBuiltinFunc(_0(1102), _1("time_lt"), _2(2), _3(true), _4(false), _5(time_lt), _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(true), _18('i'), _19(0), _20(2, 1083, 1083), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("time_lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1102), _1("time_lt"), _2(2), _3(true), _4(false), _5(time_lt), _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(true), _18('i'), _19(0), _20(2, 1083, 1083), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("time_lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "time_mi_interval", 1, - AddBuiltinFunc(_0(1748), _1("time_mi_interval"), _2(2), _3(true), _4(false), _5(time_mi_interval), _6(1083), _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(2, 1083, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("time_mi_interval"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1748), _1("time_mi_interval"), _2(2), _3(true), _4(false), _5(time_mi_interval), _6(1083), _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(2, 1083, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("time_mi_interval"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "time_mi_time", 1, - AddBuiltinFunc(_0(1690), _1("time_mi_time"), _2(2), _3(true), _4(false), _5(time_mi_time), _6(1186), _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(2, 1083, 1083), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("time_mi_time"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1690), _1("time_mi_time"), _2(2), _3(true), _4(false), _5(time_mi_time), _6(1186), _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(2, 1083, 1083), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("time_mi_time"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "time_ne", 1, - AddBuiltinFunc(_0(1106), _1("time_ne"), _2(2), _3(true), _4(false), _5(time_ne), _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(true), _18('i'), _19(0), _20(2, 1083, 1083), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("time_ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1106), _1("time_ne"), _2(2), _3(true), _4(false), _5(time_ne), _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(true), _18('i'), _19(0), _20(2, 1083, 1083), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("time_ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "time_out", 1, - AddBuiltinFunc(_0(TIMEOUTFUNCOID), _1("time_out"), _2(1), _3(true), _4(false), _5(time_out), _6(2275), _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(1, 1083), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("time_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(TIMEOUTFUNCOID), _1("time_out"), _2(1), _3(true), _4(false), _5(time_out), _6(2275), _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(1, 1083), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("time_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "time_pl_interval", 1, - AddBuiltinFunc(_0(1747), _1("time_pl_interval"), _2(2), _3(true), _4(false), _5(time_pl_interval), _6(1083), _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(2, 1083, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("time_pl_interval"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1747), _1("time_pl_interval"), _2(2), _3(true), _4(false), _5(time_pl_interval), _6(1083), _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(2, 1083, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("time_pl_interval"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "time_recv", 1, - AddBuiltinFunc(_0(2470), _1("time_recv"), _2(3), _3(true), _4(false), _5(time_recv), _6(1083), _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(3, 2281, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("time_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2470), _1("time_recv"), _2(3), _3(true), _4(false), _5(time_recv), _6(1083), _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(3, 2281, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("time_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "time_send", 1, - AddBuiltinFunc(_0(2471), _1("time_send"), _2(1), _3(true), _4(false), _5(time_send), _6(17), _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(1, 1083), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("time_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2471), _1("time_send"), _2(1), _3(true), _4(false), _5(time_send), _6(17), _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(1, 1083), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("time_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "time_smaller", 1, - AddBuiltinFunc(_0(1378), _1("time_smaller"), _2(2), _3(true), _4(false), _5(time_smaller), _6(1083), _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(2, 1083, 1083), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("time_smaller"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1378), _1("time_smaller"), _2(2), _3(true), _4(false), _5(time_smaller), _6(1083), _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(2, 1083, 1083), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("time_smaller"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "time_transform", 1, - AddBuiltinFunc(_0(3944), _1("time_transform"), _2(1), _3(true), _4(false), _5(time_transform), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("time_transform"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3944), _1("time_transform"), _2(1), _3(true), _4(false), _5(time_transform), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("time_transform"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timedate_pl", 1, - AddBuiltinFunc(_0(1296), _1("timedate_pl"), _2(2), _3(true), _4(false), _5(NULL), _6(1114), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 1083, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select ($2 + $1)"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1296), _1("timedate_pl"), _2(2), _3(true), _4(false), _5(NULL), _6(1114), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 1083, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select ($2 + $1)"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timemi", 1, - AddBuiltinFunc(_0(245), _1("timemi"), _2(2), _3(true), _4(false), _5(timemi), _6(702), _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(2, 702, 703), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timemi"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(245), _1("timemi"), _2(2), _3(true), _4(false), _5(timemi), _6(702), _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(2, 702, 703), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timemi"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timenow", 1, - AddBuiltinFunc(_0(TIMENOWFUNCOID), _1("timenow"), _2(0), _3(true), _4(false), _5(timenow), _6(702), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timenow"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(TIMENOWFUNCOID), _1("timenow"), _2(0), _3(true), _4(false), _5(timenow), _6(702), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timenow"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timeofday", 1, - AddBuiltinFunc(_0(274), _1("timeofday"), _2(0), _3(true), _4(false), _5(timeofday), _6(25), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timeofday"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(274), _1("timeofday"), _2(0), _3(true), _4(false), _5(timeofday), _6(25), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timeofday"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timepl", 1, - AddBuiltinFunc(_0(244), _1("timepl"), _2(2), _3(true), _4(false), _5(timepl), _6(702), _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(2, 702, 703), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timepl"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(244), _1("timepl"), _2(2), _3(true), _4(false), _5(timepl), _6(702), _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(2, 702, 703), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timepl"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamp", 5, - AddBuiltinFunc(_0(1961), _1("timestamp"), _2(2), _3(true), _4(false), _5(timestamp_scale), _6(1114), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(3917), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 1114, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_scale"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(ABSTIMETIMESTAMPFUNCOID), _1("timestamp"), _2(1), _3(true), _4(false), _5(abstime_timestamp), _6(1114), _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('s'), _19(0), _20(1, 702), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("abstime_timestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")), - AddBuiltinFunc(_0(2024), _1("timestamp"), _2(1), _3(true), _4(false), _5(date_timestamp), _6(1114), _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(1, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_timestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2025), _1("timestamp"), _2(2), _3(true), _4(false), _5(datetime_timestamp), _6(1114), _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(2, 1082, 1083), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("datetime_timestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(TIMESTAMPTZ2TIMESTAMPFUNCOID), _1("timestamp"), _2(1), _3(true), _4(false), _5(timestamptz_timestamp), _6(1114), _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('s'), _19(0), _20(1, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_timestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(1961), _1("timestamp"), _2(2), _3(true), _4(false), _5(timestamp_scale), _6(1114), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(3917), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 1114, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_scale"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(ABSTIMETIMESTAMPFUNCOID), _1("timestamp"), _2(1), _3(true), _4(false), _5(abstime_timestamp), _6(1114), _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('s'), _19(0), _20(1, 702), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("abstime_timestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2024), _1("timestamp"), _2(1), _3(true), _4(false), _5(date_timestamp), _6(1114), _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(1, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_timestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2025), _1("timestamp"), _2(2), _3(true), _4(false), _5(datetime_timestamp), _6(1114), _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(2, 1082, 1083), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("datetime_timestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(TIMESTAMPTZ2TIMESTAMPFUNCOID), _1("timestamp"), _2(1), _3(true), _4(false), _5(timestamptz_timestamp), _6(1114), _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('s'), _19(0), _20(1, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_timestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamp_cmp", 1, - AddBuiltinFunc(_0(2045), _1("timestamp_cmp"), _2(2), _3(true), _4(false), _5(timestamp_cmp), _6(23), _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(2, 1114, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2045), _1("timestamp_cmp"), _2(2), _3(true), _4(false), _5(timestamp_cmp), _6(23), _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(2, 1114, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamp_cmp_date", 1, - AddBuiltinFunc(_0(2370), _1("timestamp_cmp_date"), _2(2), _3(true), _4(false), _5(timestamp_cmp_date), _6(23), _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(2, 1114, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_cmp_date"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2370), _1("timestamp_cmp_date"), _2(2), _3(true), _4(false), _5(timestamp_cmp_date), _6(23), _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(2, 1114, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_cmp_date"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamp_cmp_timestamptz", 1, - AddBuiltinFunc(_0(TIMESTAMPCMPTIMESTAMPTZFUNCOID), _1("timestamp_cmp_timestamptz"), _2(2), _3(true), _4(false), _5(timestamp_cmp_timestamptz), _6(23), _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('s'), _19(0), _20(2, 1114, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_cmp_timestamptz"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(TIMESTAMPCMPTIMESTAMPTZFUNCOID), _1("timestamp_cmp_timestamptz"), _2(2), _3(true), _4(false), _5(timestamp_cmp_timestamptz), _6(23), _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('s'), _19(0), _20(2, 1114, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_cmp_timestamptz"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamp_diff", 2, - AddBuiltinFunc(_0(3227), _1("timestamp_diff"), _2(3), _3(true), _4(false), _5(timestamp_diff), _6(20), _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(3, 25, 1184, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_diff"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")), - AddBuiltinFunc(_0(3226), _1("timestamp_diff"), _2(3), _3(true), _4(false), _5(timestamp_diff), _6(20), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(3, 25, 1114, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select pg_catalog.timestamp_diff($1, cast($2 as timestamp with time zone), cast($3 as timestamp with time zone))"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(3227), _1("timestamp_diff"), _2(3), _3(true), _4(false), _5(timestamp_diff), _6(20), _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(3, 25, 1184, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_diff"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3226), _1("timestamp_diff"), _2(3), _3(true), _4(false), _5(timestamp_diff), _6(20), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(3, 25, 1114, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select pg_catalog.timestamp_diff($1, cast($2 as timestamp with time zone), cast($3 as timestamp with time zone))"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamp_eq", 1, - AddBuiltinFunc(_0(2052), _1("timestamp_eq"), _2(2), _3(true), _4(false), _5(timestamp_eq), _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(true), _18('i'), _19(0), _20(2, 1114, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2052), _1("timestamp_eq"), _2(2), _3(true), _4(false), _5(timestamp_eq), _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(true), _18('i'), _19(0), _20(2, 1114, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamp_eq_date", 1, - AddBuiltinFunc(_0(2366), _1("timestamp_eq_date"), _2(2), _3(true), _4(false), _5(timestamp_eq_date), _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(2, 1114, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_eq_date"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2366), _1("timestamp_eq_date"), _2(2), _3(true), _4(false), _5(timestamp_eq_date), _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(2, 1114, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_eq_date"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamp_eq_timestamptz", 1, - AddBuiltinFunc(_0(TIMESTAMPEQTIMESTAMPTZFUNCOID), _1("timestamp_eq_timestamptz"), _2(2), _3(true), _4(false), _5(timestamp_eq_timestamptz), _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('s'), _19(0), _20(2, 1114, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_eq_timestamptz"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(TIMESTAMPEQTIMESTAMPTZFUNCOID), _1("timestamp_eq_timestamptz"), _2(2), _3(true), _4(false), _5(timestamp_eq_timestamptz), _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('s'), _19(0), _20(2, 1114, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_eq_timestamptz"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamp_ge", 1, - AddBuiltinFunc(_0(2056), _1("timestamp_ge"), _2(2), _3(true), _4(false), _5(timestamp_ge), _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(true), _18('i'), _19(0), _20(2, 1114, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2056), _1("timestamp_ge"), _2(2), _3(true), _4(false), _5(timestamp_ge), _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(true), _18('i'), _19(0), _20(2, 1114, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamp_ge_date", 1, - AddBuiltinFunc(_0(2368), _1("timestamp_ge_date"), _2(2), _3(true), _4(false), _5(timestamp_ge_date), _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(2, 1114, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_ge_date"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2368), _1("timestamp_ge_date"), _2(2), _3(true), _4(false), _5(timestamp_ge_date), _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(2, 1114, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_ge_date"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamp_ge_timestamptz", 1, - AddBuiltinFunc(_0(TIMESTAMPGETIMESTAMPTZFUNCOID), _1("timestamp_ge_timestamptz"), _2(2), _3(true), _4(false), _5(timestamp_ge_timestamptz), _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('s'), _19(0), _20(2, 1114, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_ge_timestamptz"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(TIMESTAMPGETIMESTAMPTZFUNCOID), _1("timestamp_ge_timestamptz"), _2(2), _3(true), _4(false), _5(timestamp_ge_timestamptz), _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('s'), _19(0), _20(2, 1114, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_ge_timestamptz"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamp_gt", 1, - AddBuiltinFunc(_0(2057), _1("timestamp_gt"), _2(2), _3(true), _4(false), _5(timestamp_gt), _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(true), _18('i'), _19(0), _20(2, 1114, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2057), _1("timestamp_gt"), _2(2), _3(true), _4(false), _5(timestamp_gt), _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(true), _18('i'), _19(0), _20(2, 1114, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamp_gt_date", 1, - AddBuiltinFunc(_0(2367), _1("timestamp_gt_date"), _2(2), _3(true), _4(false), _5(timestamp_gt_date), _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(2, 1114, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_gt_date"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2367), _1("timestamp_gt_date"), _2(2), _3(true), _4(false), _5(timestamp_gt_date), _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(2, 1114, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_gt_date"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamp_gt_timestamptz", 1, - AddBuiltinFunc(_0(TIMESTAMPGTTIMESTAMPTZFUNCOID), _1("timestamp_gt_timestamptz"), _2(2), _3(true), _4(false), _5(timestamp_gt_timestamptz), _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('s'), _19(0), _20(2, 1114, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_gt_timestamptz"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(TIMESTAMPGTTIMESTAMPTZFUNCOID), _1("timestamp_gt_timestamptz"), _2(2), _3(true), _4(false), _5(timestamp_gt_timestamptz), _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('s'), _19(0), _20(2, 1114, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_gt_timestamptz"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamp_hash", 1, - AddBuiltinFunc(_0(TIMESTAMPHASHOID), _1("timestamp_hash"), _2(1), _3(true), _4(false), _5(timestamp_hash), _6(23), _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(1, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_hash"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(TIMESTAMPHASHOID), _1("timestamp_hash"), _2(1), _3(true), _4(false), _5(timestamp_hash), _6(23), _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(1, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_hash"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamp_in", 1, - AddBuiltinFunc(_0(TIMESTAMPINFUNCOID), _1("timestamp_in"), _2(3), _3(true), _4(false), _5(timestamp_in), _6(1114), _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('s'), _19(0), _20(3, 2275, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(TIMESTAMPINFUNCOID), _1("timestamp_in"), _2(3), _3(true), _4(false), _5(timestamp_in), _6(1114), _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('s'), _19(0), _20(3, 2275, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamp_larger", 1, - AddBuiltinFunc(_0(2036), _1("timestamp_larger"), _2(2), _3(true), _4(false), _5(timestamp_larger), _6(1114), _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(2, 1114, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_larger"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2036), _1("timestamp_larger"), _2(2), _3(true), _4(false), _5(timestamp_larger), _6(1114), _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(2, 1114, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_larger"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamp_le", 1, - AddBuiltinFunc(_0(2055), _1("timestamp_le"), _2(2), _3(true), _4(false), _5(timestamp_le), _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(true), _18('i'), _19(0), _20(2, 1114, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2055), _1("timestamp_le"), _2(2), _3(true), _4(false), _5(timestamp_le), _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(true), _18('i'), _19(0), _20(2, 1114, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamp_le_date", 1, - AddBuiltinFunc(_0(2365), _1("timestamp_le_date"), _2(2), _3(true), _4(false), _5(timestamp_le_date), _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(2, 1114, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_le_date"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2365), _1("timestamp_le_date"), _2(2), _3(true), _4(false), _5(timestamp_le_date), _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(2, 1114, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_le_date"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamp_le_timestamptz", 1, - AddBuiltinFunc(_0(TIMESTAMPLETIMESTAMPTZFUNCOID), _1("timestamp_le_timestamptz"), _2(2), _3(true), _4(false), _5(timestamp_le_timestamptz), _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('s'), _19(0), _20(2, 1114, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_le_timestamptz"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(TIMESTAMPLETIMESTAMPTZFUNCOID), _1("timestamp_le_timestamptz"), _2(2), _3(true), _4(false), _5(timestamp_le_timestamptz), _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('s'), _19(0), _20(2, 1114, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_le_timestamptz"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamp_list_agg_noarg2_transfn", 1, - AddBuiltinFunc(_0(3585), _1("timestamp_list_agg_noarg2_transfn"), _2(2), _3(false), _4(false), _5(timestamp_list_agg_noarg2_transfn), _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(2, 2281, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_list_agg_noarg2_transfn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3585), _1("timestamp_list_agg_noarg2_transfn"), _2(2), _3(false), _4(false), _5(timestamp_list_agg_noarg2_transfn), _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(2, 2281, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_list_agg_noarg2_transfn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamp_list_agg_transfn", 1, - AddBuiltinFunc(_0(3583), _1("timestamp_list_agg_transfn"), _2(3), _3(false), _4(false), _5(timestamp_list_agg_transfn), _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(3, 2281, 1114, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_list_agg_transfn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3583), _1("timestamp_list_agg_transfn"), _2(3), _3(false), _4(false), _5(timestamp_list_agg_transfn), _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(3, 2281, 1114, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_list_agg_transfn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamp_lt", 1, - AddBuiltinFunc(_0(2054), _1("timestamp_lt"), _2(2), _3(true), _4(false), _5(timestamp_lt), _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(true), _18('i'), _19(0), _20(2, 1114, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2054), _1("timestamp_lt"), _2(2), _3(true), _4(false), _5(timestamp_lt), _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(true), _18('i'), _19(0), _20(2, 1114, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamp_lt_date", 1, - AddBuiltinFunc(_0(2364), _1("timestamp_lt_date"), _2(2), _3(true), _4(false), _5(timestamp_lt_date), _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(2, 1114, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_lt_date"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2364), _1("timestamp_lt_date"), _2(2), _3(true), _4(false), _5(timestamp_lt_date), _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(2, 1114, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_lt_date"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamp_lt_timestamptz", 1, - AddBuiltinFunc(_0(TIMESTAMPLTTIMESTAMPTZFUNCOID), _1("timestamp_lt_timestamptz"), _2(2), _3(true), _4(false), _5(timestamp_lt_timestamptz), _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('s'), _19(0), _20(2, 1114, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_lt_timestamptz"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(TIMESTAMPLTTIMESTAMPTZFUNCOID), _1("timestamp_lt_timestamptz"), _2(2), _3(true), _4(false), _5(timestamp_lt_timestamptz), _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('s'), _19(0), _20(2, 1114, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_lt_timestamptz"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamp_mi", 1, - AddBuiltinFunc(_0(2031), _1("timestamp_mi"), _2(2), _3(true), _4(false), _5(timestamp_mi), _6(1186), _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(2, 1114, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_mi"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2031), _1("timestamp_mi"), _2(2), _3(true), _4(false), _5(timestamp_mi), _6(1186), _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(2, 1114, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_mi"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamp_mi_interval", 1, - AddBuiltinFunc(_0(2033), _1("timestamp_mi_interval"), _2(2), _3(true), _4(false), _5(timestamp_mi_interval), _6(1114), _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(2, 1114, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_mi_interval"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2033), _1("timestamp_mi_interval"), _2(2), _3(true), _4(false), _5(timestamp_mi_interval), _6(1114), _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(2, 1114, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_mi_interval"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamp_ne", 1, - AddBuiltinFunc(_0(2053), _1("timestamp_ne"), _2(2), _3(true), _4(false), _5(timestamp_ne), _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(true), _18('i'), _19(0), _20(2, 1114, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2053), _1("timestamp_ne"), _2(2), _3(true), _4(false), _5(timestamp_ne), _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(true), _18('i'), _19(0), _20(2, 1114, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamp_ne_date", 1, - AddBuiltinFunc(_0(2369), _1("timestamp_ne_date"), _2(2), _3(true), _4(false), _5(timestamp_ne_date), _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(2, 1114, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_ne_date"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2369), _1("timestamp_ne_date"), _2(2), _3(true), _4(false), _5(timestamp_ne_date), _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(2, 1114, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_ne_date"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamp_ne_timestamptz", 1, - AddBuiltinFunc(_0(TIMESTAMPNETIMESTAMPTZFUNCOID), _1("timestamp_ne_timestamptz"), _2(2), _3(true), _4(false), _5(timestamp_ne_timestamptz), _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('s'), _19(0), _20(2, 1114, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_ne_timestamptz"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(TIMESTAMPNETIMESTAMPTZFUNCOID), _1("timestamp_ne_timestamptz"), _2(2), _3(true), _4(false), _5(timestamp_ne_timestamptz), _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('s'), _19(0), _20(2, 1114, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_ne_timestamptz"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamp_out", 1, - AddBuiltinFunc(_0(TIMESTAMPOUTFUNCOID), _1("timestamp_out"), _2(1), _3(true), _4(false), _5(timestamp_out), _6(2275), _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('s'), _19(0), _20(1, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(TIMESTAMPOUTFUNCOID), _1("timestamp_out"), _2(1), _3(true), _4(false), _5(timestamp_out), _6(2275), _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('s'), _19(0), _20(1, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamp_pl_interval", 1, - AddBuiltinFunc(_0(2032), _1("timestamp_pl_interval"), _2(2), _3(true), _4(false), _5(timestamp_pl_interval), _6(1114), _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(2, 1114, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_pl_interval"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2032), _1("timestamp_pl_interval"), _2(2), _3(true), _4(false), _5(timestamp_pl_interval), _6(1114), _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(2, 1114, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_pl_interval"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamp_recv", 1, - AddBuiltinFunc(_0(2474), _1("timestamp_recv"), _2(3), _3(true), _4(false), _5(timestamp_recv), _6(1114), _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(3, 2281, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2474), _1("timestamp_recv"), _2(3), _3(true), _4(false), _5(timestamp_recv), _6(1114), _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(3, 2281, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamp_send", 1, - AddBuiltinFunc(_0(2475), _1("timestamp_send"), _2(1), _3(true), _4(false), _5(timestamp_send), _6(17), _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(1, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2475), _1("timestamp_send"), _2(1), _3(true), _4(false), _5(timestamp_send), _6(17), _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(1, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamp_smaller", 1, - AddBuiltinFunc(_0(2035), _1("timestamp_smaller"), _2(2), _3(true), _4(false), _5(timestamp_smaller), _6(1114), _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(2, 1114, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_smaller"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2035), _1("timestamp_smaller"), _2(2), _3(true), _4(false), _5(timestamp_smaller), _6(1114), _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(2, 1114, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_smaller"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamp_sortsupport", 1, - AddBuiltinFunc(_0(3137), _1("timestamp_sortsupport"), _2(1), _3(true), _4(false), _5(timestamp_sortsupport), _6(2278), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_sortsupport"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3137), _1("timestamp_sortsupport"), _2(1), _3(true), _4(false), _5(timestamp_sortsupport), _6(2278), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_sortsupport"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamp_text", 1, - AddBuiltinFunc(_0(4178), _1("timestamp_text"), _2(1), _3(true), _4(false), _5(timestamp_text), _6(25), _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(1, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_text"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4178), _1("timestamp_text"), _2(1), _3(true), _4(false), _5(timestamp_text), _6(25), _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(1, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_text"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamp_transform", 1, - AddBuiltinFunc(_0(3917), _1("timestamp_transform"), _2(1), _3(true), _4(false), _5(timestamp_transform), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_transform"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3917), _1("timestamp_transform"), _2(1), _3(true), _4(false), _5(timestamp_transform), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_transform"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamp_varchar", 1, - AddBuiltinFunc(_0(4179), _1("timestamp_varchar"), _2(1), _3(true), _4(false), _5(timestamp_varchar), _6(1043), _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(1, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_varchar"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4179), _1("timestamp_varchar"), _2(1), _3(true), _4(false), _5(timestamp_varchar), _6(1043), _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(1, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_varchar"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamptypmodin", 1, - AddBuiltinFunc(_0(2905), _1("timestamptypmodin"), _2(1), _3(true), _4(false), _5(timestamptypmodin), _6(23), _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(1, 1263), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptypmodin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2905), _1("timestamptypmodin"), _2(1), _3(true), _4(false), _5(timestamptypmodin), _6(23), _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(1, 1263), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptypmodin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamptypmodout", 1, - AddBuiltinFunc(_0(2906), _1("timestamptypmodout"), _2(1), _3(true), _4(false), _5(timestamptypmodout), _6(2275), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptypmodout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2906), _1("timestamptypmodout"), _2(1), _3(true), _4(false), _5(timestamptypmodout), _6(2275), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptypmodout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamptz", 6, - AddBuiltinFunc(_0(1173), _1("timestamptz"), _2(1), _3(true), _4(false), _5(abstime_timestamptz), _6(1184), _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(1, 702), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("abstime_timestamptz"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(DATETIMESTAMPTZFUNCOID), _1("timestamptz"), _2(1), _3(true), _4(false), _5(date_timestamptz), _6(1184), _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('s'), _19(0), _20(1, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_timestamptz"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")), - AddBuiltinFunc(_0(DTAETIME2TIMESTAMPTZFUNCOID), _1("timestamptz"), _2(2), _3(true), _4(false), _5(NULL), _6(1184), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(2, 1082, 1083), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select cast(($1 + $2) as timestamp with time zone)"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")), - AddBuiltinFunc(_0(1359), _1("timestamptz"), _2(2), _3(true), _4(false), _5(datetimetz_timestamptz), _6(1184), _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(2, 1082, 1266), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("datetimetz_timestamptz"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1967), _1("timestamptz"), _2(2), _3(true), _4(false), _5(timestamptz_scale), _6(1184), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(3917), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 1184, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_scale"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(TIMESTAMP2TIMESTAMPTZFUNCOID), _1("timestamptz"), _2(1), _3(true), _4(false), _5(timestamp_timestamptz), _6(1184), _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('s'), _19(0), _20(1, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_timestamptz"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(1173), _1("timestamptz"), _2(1), _3(true), _4(false), _5(abstime_timestamptz), _6(1184), _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(1, 702), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("abstime_timestamptz"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(DATETIMESTAMPTZFUNCOID), _1("timestamptz"), _2(1), _3(true), _4(false), _5(date_timestamptz), _6(1184), _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('s'), _19(0), _20(1, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("date_timestamptz"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(DTAETIME2TIMESTAMPTZFUNCOID), _1("timestamptz"), _2(2), _3(true), _4(false), _5(NULL), _6(1184), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(2, 1082, 1083), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select cast(($1 + $2) as timestamp with time zone)"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1359), _1("timestamptz"), _2(2), _3(true), _4(false), _5(datetimetz_timestamptz), _6(1184), _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(2, 1082, 1266), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("datetimetz_timestamptz"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1967), _1("timestamptz"), _2(2), _3(true), _4(false), _5(timestamptz_scale), _6(1184), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(3917), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 1184, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_scale"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(TIMESTAMP2TIMESTAMPTZFUNCOID), _1("timestamptz"), _2(1), _3(true), _4(false), _5(timestamp_timestamptz), _6(1184), _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('s'), _19(0), _20(1, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_timestamptz"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamptz_cmp", 1, - AddBuiltinFunc(_0(1314), _1("timestamptz_cmp"), _2(2), _3(true), _4(false), _5(timestamp_cmp), _6(23), _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(2, 1184, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1314), _1("timestamptz_cmp"), _2(2), _3(true), _4(false), _5(timestamp_cmp), _6(23), _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(2, 1184, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamptz_cmp_date", 1, - AddBuiltinFunc(_0(TIMESTAMPTZCMPDATEFUNCOID), _1("timestamptz_cmp_date"), _2(2), _3(true), _4(false), _5(timestamptz_cmp_date), _6(23), _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('s'), _19(0), _20(2, 1184, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_cmp_date"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(TIMESTAMPTZCMPDATEFUNCOID), _1("timestamptz_cmp_date"), _2(2), _3(true), _4(false), _5(timestamptz_cmp_date), _6(23), _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('s'), _19(0), _20(2, 1184, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_cmp_date"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamptz_cmp_timestamp", 1, - AddBuiltinFunc(_0(TIMESTAMPTZCMPTIMESTAMPFUNCOID), _1("timestamptz_cmp_timestamp"), _2(2), _3(true), _4(false), _5(timestamptz_cmp_timestamp), _6(23), _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('s'), _19(0), _20(2, 1184, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_cmp_timestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(TIMESTAMPTZCMPTIMESTAMPFUNCOID), _1("timestamptz_cmp_timestamp"), _2(2), _3(true), _4(false), _5(timestamptz_cmp_timestamp), _6(23), _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('s'), _19(0), _20(2, 1184, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_cmp_timestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamptz_eq", 1, - AddBuiltinFunc(_0(1152), _1("timestamptz_eq"), _2(2), _3(true), _4(false), _5(timestamp_eq), _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(true), _18('i'), _19(0), _20(2, 1184, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1152), _1("timestamptz_eq"), _2(2), _3(true), _4(false), _5(timestamp_eq), _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(true), _18('i'), _19(0), _20(2, 1184, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamptz_eq_date", 1, - AddBuiltinFunc(_0(TIMESTAMPTZEQDATEFUNCOID), _1("timestamptz_eq_date"), _2(2), _3(true), _4(false), _5(timestamptz_eq_date), _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('s'), _19(0), _20(2, 1184, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_eq_date"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(TIMESTAMPTZEQDATEFUNCOID), _1("timestamptz_eq_date"), _2(2), _3(true), _4(false), _5(timestamptz_eq_date), _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('s'), _19(0), _20(2, 1184, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_eq_date"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamptz_eq_timestamp", 1, - AddBuiltinFunc(_0(TIMESTAMPTZEQTIMESTAMPFUNCOID), _1("timestamptz_eq_timestamp"), _2(2), _3(true), _4(false), _5(timestamptz_eq_timestamp), _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('s'), _19(0), _20(2, 1184, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_eq_timestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(TIMESTAMPTZEQTIMESTAMPFUNCOID), _1("timestamptz_eq_timestamp"), _2(2), _3(true), _4(false), _5(timestamptz_eq_timestamp), _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('s'), _19(0), _20(2, 1184, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_eq_timestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamptz_ge", 1, - AddBuiltinFunc(_0(1156), _1("timestamptz_ge"), _2(2), _3(true), _4(false), _5(timestamp_ge), _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(true), _18('i'), _19(0), _20(2, 1184, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1156), _1("timestamptz_ge"), _2(2), _3(true), _4(false), _5(timestamp_ge), _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(true), _18('i'), _19(0), _20(2, 1184, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamptz_ge_date", 1, - AddBuiltinFunc(_0(TIMESTAMPTZGEDATEFUNCOID), _1("timestamptz_ge_date"), _2(2), _3(true), _4(false), _5(timestamptz_ge_date), _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('s'), _19(0), _20(2, 1184, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_ge_date"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(TIMESTAMPTZGEDATEFUNCOID), _1("timestamptz_ge_date"), _2(2), _3(true), _4(false), _5(timestamptz_ge_date), _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('s'), _19(0), _20(2, 1184, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_ge_date"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamptz_ge_timestamp", 1, - AddBuiltinFunc(_0(TIMESTAMPTZGETIMESTAMPFUNCOID), _1("timestamptz_ge_timestamp"), _2(2), _3(true), _4(false), _5(timestamptz_ge_timestamp), _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('s'), _19(0), _20(2, 1184, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_ge_timestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(TIMESTAMPTZGETIMESTAMPFUNCOID), _1("timestamptz_ge_timestamp"), _2(2), _3(true), _4(false), _5(timestamptz_ge_timestamp), _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('s'), _19(0), _20(2, 1184, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_ge_timestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamptz_gt", 1, - AddBuiltinFunc(_0(1157), _1("timestamptz_gt"), _2(2), _3(true), _4(false), _5(timestamp_gt), _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(true), _18('i'), _19(0), _20(2, 1184, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1157), _1("timestamptz_gt"), _2(2), _3(true), _4(false), _5(timestamp_gt), _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(true), _18('i'), _19(0), _20(2, 1184, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamptz_gt_date", 1, - AddBuiltinFunc(_0(TIMESTAMPTZGTDATEFUNCOID), _1("timestamptz_gt_date"), _2(2), _3(true), _4(false), _5(timestamptz_gt_date), _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('s'), _19(0), _20(2, 1184, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_gt_date"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(TIMESTAMPTZGTDATEFUNCOID), _1("timestamptz_gt_date"), _2(2), _3(true), _4(false), _5(timestamptz_gt_date), _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('s'), _19(0), _20(2, 1184, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_gt_date"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamptz_gt_timestamp", 1, - AddBuiltinFunc(_0(TIMESTAMPTZGTTIMESTAMPFUNCOID), _1("timestamptz_gt_timestamp"), _2(2), _3(true), _4(false), _5(timestamptz_gt_timestamp), _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('s'), _19(0), _20(2, 1184, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_gt_timestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(TIMESTAMPTZGTTIMESTAMPFUNCOID), _1("timestamptz_gt_timestamp"), _2(2), _3(true), _4(false), _5(timestamptz_gt_timestamp), _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('s'), _19(0), _20(2, 1184, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_gt_timestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamptz_in", 1, - AddBuiltinFunc(_0(TIMESTAMPTZINFUNCOID), _1("timestamptz_in"), _2(3), _3(true), _4(false), _5(timestamptz_in), _6(1184), _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('s'), _19(0), _20(3, 2275, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(TIMESTAMPTZINFUNCOID), _1("timestamptz_in"), _2(3), _3(true), _4(false), _5(timestamptz_in), _6(1184), _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('s'), _19(0), _20(3, 2275, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamptz_larger", 1, - AddBuiltinFunc(_0(1196), _1("timestamptz_larger"), _2(2), _3(true), _4(false), _5(timestamp_larger), _6(1184), _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(2, 1184, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_larger"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1196), _1("timestamptz_larger"), _2(2), _3(true), _4(false), _5(timestamp_larger), _6(1184), _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(2, 1184, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_larger"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamptz_le", 1, - AddBuiltinFunc(_0(1155), _1("timestamptz_le"), _2(2), _3(true), _4(false), _5(timestamp_le), _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(true), _18('i'), _19(0), _20(2, 1184, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1155), _1("timestamptz_le"), _2(2), _3(true), _4(false), _5(timestamp_le), _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(true), _18('i'), _19(0), _20(2, 1184, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamptz_le_date", 1, - AddBuiltinFunc(_0(TIMESTAMPTZLEDATEFUNCOID), _1("timestamptz_le_date"), _2(2), _3(true), _4(false), _5(timestamptz_le_date), _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('s'), _19(0), _20(2, 1184, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_le_date"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(TIMESTAMPTZLEDATEFUNCOID), _1("timestamptz_le_date"), _2(2), _3(true), _4(false), _5(timestamptz_le_date), _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('s'), _19(0), _20(2, 1184, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_le_date"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamptz_le_timestamp", 1, - AddBuiltinFunc(_0(TIMESTAMPTZLETIMESTAMPFUNCOID), _1("timestamptz_le_timestamp"), _2(2), _3(true), _4(false), _5(timestamptz_le_timestamp), _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('s'), _19(0), _20(2, 1184, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_le_timestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(TIMESTAMPTZLETIMESTAMPFUNCOID), _1("timestamptz_le_timestamp"), _2(2), _3(true), _4(false), _5(timestamptz_le_timestamp), _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('s'), _19(0), _20(2, 1184, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_le_timestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamptz_list_agg_noarg2_transfn", 1, - AddBuiltinFunc(_0(3589), _1("timestamptz_list_agg_noarg2_transfn"), _2(2), _3(false), _4(false), _5(timestamptz_list_agg_noarg2_transfn), _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(2, 2281, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_list_agg_noarg2_transfn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3589), _1("timestamptz_list_agg_noarg2_transfn"), _2(2), _3(false), _4(false), _5(timestamptz_list_agg_noarg2_transfn), _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(2, 2281, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_list_agg_noarg2_transfn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamptz_list_agg_transfn", 1, - AddBuiltinFunc(_0(3587), _1("timestamptz_list_agg_transfn"), _2(3), _3(false), _4(false), _5(timestamptz_list_agg_transfn), _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(3, 2281, 1184, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_list_agg_transfn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3587), _1("timestamptz_list_agg_transfn"), _2(3), _3(false), _4(false), _5(timestamptz_list_agg_transfn), _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(3, 2281, 1184, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_list_agg_transfn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamptz_lt", 1, - AddBuiltinFunc(_0(1154), _1("timestamptz_lt"), _2(2), _3(true), _4(false), _5(timestamp_lt), _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(true), _18('i'), _19(0), _20(2, 1184, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1154), _1("timestamptz_lt"), _2(2), _3(true), _4(false), _5(timestamp_lt), _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(true), _18('i'), _19(0), _20(2, 1184, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamptz_lt_date", 1, - AddBuiltinFunc(_0(TIMESTAMPTZLTDATEFUNCOID), _1("timestamptz_lt_date"), _2(2), _3(true), _4(false), _5(timestamptz_lt_date), _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('s'), _19(0), _20(2, 1184, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_lt_date"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(TIMESTAMPTZLTDATEFUNCOID), _1("timestamptz_lt_date"), _2(2), _3(true), _4(false), _5(timestamptz_lt_date), _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('s'), _19(0), _20(2, 1184, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_lt_date"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamptz_lt_timestamp", 1, - AddBuiltinFunc(_0(TIMESTAMPTZLTTIMESTAMPFUNCOID), _1("timestamptz_lt_timestamp"), _2(2), _3(true), _4(false), _5(timestamptz_lt_timestamp), _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('s'), _19(0), _20(2, 1184, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_lt_timestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(TIMESTAMPTZLTTIMESTAMPFUNCOID), _1("timestamptz_lt_timestamp"), _2(2), _3(true), _4(false), _5(timestamptz_lt_timestamp), _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('s'), _19(0), _20(2, 1184, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_lt_timestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamptz_mi", 1, - AddBuiltinFunc(_0(1188), _1("timestamptz_mi"), _2(2), _3(true), _4(false), _5(timestamp_mi), _6(1186), _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(2, 1184, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_mi"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1188), _1("timestamptz_mi"), _2(2), _3(true), _4(false), _5(timestamp_mi), _6(1186), _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(2, 1184, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_mi"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamptz_mi_interval", 1, - AddBuiltinFunc(_0(TIMESTAMPTZMIINTERVALFUNCOID), _1("timestamptz_mi_interval"), _2(2), _3(true), _4(false), _5(timestamptz_mi_interval), _6(1184), _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('s'), _19(0), _20(2, 1184, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_mi_interval"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(TIMESTAMPTZMIINTERVALFUNCOID), _1("timestamptz_mi_interval"), _2(2), _3(true), _4(false), _5(timestamptz_mi_interval), _6(1184), _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('s'), _19(0), _20(2, 1184, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_mi_interval"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamptz_ne", 1, - AddBuiltinFunc(_0(1153), _1("timestamptz_ne"), _2(2), _3(true), _4(false), _5(timestamp_ne), _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(true), _18('i'), _19(0), _20(2, 1184, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1153), _1("timestamptz_ne"), _2(2), _3(true), _4(false), _5(timestamp_ne), _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(true), _18('i'), _19(0), _20(2, 1184, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamptz_ne_date", 1, - AddBuiltinFunc(_0(TIMESTAMPTZNEDATEFUNCOID), _1("timestamptz_ne_date"), _2(2), _3(true), _4(false), _5(timestamptz_ne_date), _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('s'), _19(0), _20(2, 1184, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_ne_date"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(TIMESTAMPTZNEDATEFUNCOID), _1("timestamptz_ne_date"), _2(2), _3(true), _4(false), _5(timestamptz_ne_date), _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('s'), _19(0), _20(2, 1184, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_ne_date"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamptz_ne_timestamp", 1, - AddBuiltinFunc(_0(TIMESTAMPTZNETIMESTAMPFUNCOID), _1("timestamptz_ne_timestamp"), _2(2), _3(true), _4(false), _5(timestamptz_ne_timestamp), _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('s'), _19(0), _20(2, 1184, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_ne_timestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(TIMESTAMPTZNETIMESTAMPFUNCOID), _1("timestamptz_ne_timestamp"), _2(2), _3(true), _4(false), _5(timestamptz_ne_timestamp), _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('s'), _19(0), _20(2, 1184, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_ne_timestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamptz_out", 1, - AddBuiltinFunc(_0(TIMESTAMPTZOUTFUNCOID), _1("timestamptz_out"), _2(1), _3(true), _4(false), _5(timestamptz_out), _6(2275), _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('s'), _19(0), _20(1, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(TIMESTAMPTZOUTFUNCOID), _1("timestamptz_out"), _2(1), _3(true), _4(false), _5(timestamptz_out), _6(2275), _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('s'), _19(0), _20(1, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamptz_pl_interval", 1, - AddBuiltinFunc(_0(TIMESTAMPTZPLINTERVALFUNCOID), _1("timestamptz_pl_interval"), _2(2), _3(true), _4(false), _5(timestamptz_pl_interval), _6(1184), _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('s'), _19(0), _20(2, 1184, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_pl_interval"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(TIMESTAMPTZPLINTERVALFUNCOID), _1("timestamptz_pl_interval"), _2(2), _3(true), _4(false), _5(timestamptz_pl_interval), _6(1184), _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('s'), _19(0), _20(2, 1184, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_pl_interval"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamptz_recv", 1, - AddBuiltinFunc(_0(2476), _1("timestamptz_recv"), _2(3), _3(true), _4(false), _5(timestamptz_recv), _6(1184), _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(3, 2281, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2476), _1("timestamptz_recv"), _2(3), _3(true), _4(false), _5(timestamptz_recv), _6(1184), _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(3, 2281, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamptz_send", 1, - AddBuiltinFunc(_0(2477), _1("timestamptz_send"), _2(1), _3(true), _4(false), _5(timestamptz_send), _6(17), _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(1, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2477), _1("timestamptz_send"), _2(1), _3(true), _4(false), _5(timestamptz_send), _6(17), _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(1, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamptz_smaller", 1, - AddBuiltinFunc(_0(1195), _1("timestamptz_smaller"), _2(2), _3(true), _4(false), _5(timestamp_smaller), _6(1184), _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(2, 1184, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_smaller"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1195), _1("timestamptz_smaller"), _2(2), _3(true), _4(false), _5(timestamp_smaller), _6(1184), _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(2, 1184, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_smaller"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamptztypmodin", 1, - AddBuiltinFunc(_0(2907), _1("timestamptztypmodin"), _2(1), _3(true), _4(false), _5(timestamptztypmodin), _6(23), _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(1, 1263), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptztypmodin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2907), _1("timestamptztypmodin"), _2(1), _3(true), _4(false), _5(timestamptztypmodin), _6(23), _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(1, 1263), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptztypmodin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestamptztypmodout", 1, - AddBuiltinFunc(_0(2908), _1("timestamptztypmodout"), _2(1), _3(true), _4(false), _5(timestamptztypmodout), _6(2275), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptztypmodout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2908), _1("timestamptztypmodout"), _2(1), _3(true), _4(false), _5(timestamptztypmodout), _6(2275), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptztypmodout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timestampzone_text", 1, - AddBuiltinFunc(_0(4177), _1("timestampzone_text"), _2(1), _3(true), _4(false), _5(timestampzone_text), _6(25), _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(1, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestampzone_text"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4177), _1("timestampzone_text"), _2(1), _3(true), _4(false), _5(timestampzone_text), _6(25), _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(1, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestampzone_text"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timetypmodin", 1, - AddBuiltinFunc(_0(2909), _1("timetypmodin"), _2(1), _3(true), _4(false), _5(timetypmodin), _6(23), _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(1, 1263), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timetypmodin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2909), _1("timetypmodin"), _2(1), _3(true), _4(false), _5(timetypmodin), _6(23), _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(1, 1263), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timetypmodin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timetypmodout", 1, - AddBuiltinFunc(_0(2910), _1("timetypmodout"), _2(1), _3(true), _4(false), _5(timetypmodout), _6(2275), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timetypmodout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2910), _1("timetypmodout"), _2(1), _3(true), _4(false), _5(timetypmodout), _6(2275), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timetypmodout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timetz", 3, - AddBuiltinFunc(_0(TIMESTAMPTZ2TIMETZFUNCOID), _1("timetz"), _2(1), _3(true), _4(false), _5(timestamptz_timetz), _6(1266), _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('s'), _19(0), _20(1, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_timetz"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")), - AddBuiltinFunc(_0(1969), _1("timetz"), _2(2), _3(true), _4(false), _5(timetz_scale), _6(1266), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(3944), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 1266, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timetz_scale"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(TIME2TIMETZFUNCOID), _1("timetz"), _2(1), _3(true), _4(false), _5(time_timetz), _6(1266), _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('s'), _19(0), _20(1, 1083), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("time_timetz"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(TIMESTAMPTZ2TIMETZFUNCOID), _1("timetz"), _2(1), _3(true), _4(false), _5(timestamptz_timetz), _6(1266), _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('s'), _19(0), _20(1, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_timetz"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1969), _1("timetz"), _2(2), _3(true), _4(false), _5(timetz_scale), _6(1266), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(3944), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 1266, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timetz_scale"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(TIME2TIMETZFUNCOID), _1("timetz"), _2(1), _3(true), _4(false), _5(time_timetz), _6(1266), _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('s'), _19(0), _20(1, 1083), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("time_timetz"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timetz_cmp", 1, - AddBuiltinFunc(_0(1358), _1("timetz_cmp"), _2(2), _3(true), _4(false), _5(timetz_cmp), _6(23), _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(2, 1266, 1266), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timetz_cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1358), _1("timetz_cmp"), _2(2), _3(true), _4(false), _5(timetz_cmp), _6(23), _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(2, 1266, 1266), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timetz_cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timetz_eq", 1, - AddBuiltinFunc(_0(1352), _1("timetz_eq"), _2(2), _3(true), _4(false), _5(timetz_eq), _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(true), _18('i'), _19(0), _20(2, 1266, 1266), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timetz_eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1352), _1("timetz_eq"), _2(2), _3(true), _4(false), _5(timetz_eq), _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(true), _18('i'), _19(0), _20(2, 1266, 1266), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timetz_eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timetz_ge", 1, - AddBuiltinFunc(_0(1356), _1("timetz_ge"), _2(2), _3(true), _4(false), _5(timetz_ge), _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(true), _18('i'), _19(0), _20(2, 1266, 1266), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timetz_ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1356), _1("timetz_ge"), _2(2), _3(true), _4(false), _5(timetz_ge), _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(true), _18('i'), _19(0), _20(2, 1266, 1266), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timetz_ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timetz_gt", 1, - AddBuiltinFunc(_0(1357), _1("timetz_gt"), _2(2), _3(true), _4(false), _5(timetz_gt), _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(true), _18('i'), _19(0), _20(2, 1266, 1266), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timetz_gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1357), _1("timetz_gt"), _2(2), _3(true), _4(false), _5(timetz_gt), _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(true), _18('i'), _19(0), _20(2, 1266, 1266), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timetz_gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timetz_hash", 1, - AddBuiltinFunc(_0(1696), _1("timetz_hash"), _2(1), _3(true), _4(false), _5(timetz_hash), _6(23), _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(1, 1266), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timetz_hash"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1696), _1("timetz_hash"), _2(1), _3(true), _4(false), _5(timetz_hash), _6(23), _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(1, 1266), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timetz_hash"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timetz_in", 1, - AddBuiltinFunc(_0(TIMETZINFUNCOID), _1("timetz_in"), _2(3), _3(true), _4(false), _5(timetz_in), _6(1266), _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('s'), _19(0), _20(3, 2275, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timetz_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(TIMETZINFUNCOID), _1("timetz_in"), _2(3), _3(true), _4(false), _5(timetz_in), _6(1266), _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('s'), _19(0), _20(3, 2275, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timetz_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timetz_larger", 1, - AddBuiltinFunc(_0(1379), _1("timetz_larger"), _2(2), _3(true), _4(false), _5(timetz_larger), _6(1266), _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(2, 1266, 1266), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timetz_larger"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1379), _1("timetz_larger"), _2(2), _3(true), _4(false), _5(timetz_larger), _6(1266), _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(2, 1266, 1266), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timetz_larger"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timetz_le", 1, - AddBuiltinFunc(_0(1355), _1("timetz_le"), _2(2), _3(true), _4(false), _5(timetz_le), _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(true), _18('i'), _19(0), _20(2, 1266, 1266), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timetz_le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1355), _1("timetz_le"), _2(2), _3(true), _4(false), _5(timetz_le), _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(true), _18('i'), _19(0), _20(2, 1266, 1266), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timetz_le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timetz_lt", 1, - AddBuiltinFunc(_0(1354), _1("timetz_lt"), _2(2), _3(true), _4(false), _5(timetz_lt), _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(true), _18('i'), _19(0), _20(2, 1266, 1266), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timetz_lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1354), _1("timetz_lt"), _2(2), _3(true), _4(false), _5(timetz_lt), _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(true), _18('i'), _19(0), _20(2, 1266, 1266), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timetz_lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timetz_mi_interval", 1, - AddBuiltinFunc(_0(1750), _1("timetz_mi_interval"), _2(2), _3(true), _4(false), _5(timetz_mi_interval), _6(1266), _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(2, 1266, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timetz_mi_interval"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1750), _1("timetz_mi_interval"), _2(2), _3(true), _4(false), _5(timetz_mi_interval), _6(1266), _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(2, 1266, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timetz_mi_interval"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timetz_ne", 1, - AddBuiltinFunc(_0(1353), _1("timetz_ne"), _2(2), _3(true), _4(false), _5(timetz_ne), _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(true), _18('i'), _19(0), _20(2, 1266, 1266), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timetz_ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1353), _1("timetz_ne"), _2(2), _3(true), _4(false), _5(timetz_ne), _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(true), _18('i'), _19(0), _20(2, 1266, 1266), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timetz_ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timetz_out", 1, - AddBuiltinFunc(_0(1351), _1("timetz_out"), _2(1), _3(true), _4(false), _5(timetz_out), _6(2275), _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(1, 1266), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timetz_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1351), _1("timetz_out"), _2(1), _3(true), _4(false), _5(timetz_out), _6(2275), _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(1, 1266), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timetz_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timetz_pl_interval", 1, - AddBuiltinFunc(_0(1749), _1("timetz_pl_interval"), _2(2), _3(true), _4(false), _5(timetz_pl_interval), _6(1266), _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(2, 1266, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timetz_pl_interval"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1749), _1("timetz_pl_interval"), _2(2), _3(true), _4(false), _5(timetz_pl_interval), _6(1266), _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(2, 1266, 1186), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timetz_pl_interval"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timetz_recv", 1, - AddBuiltinFunc(_0(2472), _1("timetz_recv"), _2(3), _3(true), _4(false), _5(timetz_recv), _6(1266), _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(3, 2281, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timetz_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2472), _1("timetz_recv"), _2(3), _3(true), _4(false), _5(timetz_recv), _6(1266), _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(3, 2281, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timetz_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timetz_send", 1, - AddBuiltinFunc(_0(2473), _1("timetz_send"), _2(1), _3(true), _4(false), _5(timetz_send), _6(17), _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(1, 1266), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timetz_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2473), _1("timetz_send"), _2(1), _3(true), _4(false), _5(timetz_send), _6(17), _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(1, 1266), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timetz_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timetz_smaller", 1, - AddBuiltinFunc(_0(1380), _1("timetz_smaller"), _2(2), _3(true), _4(false), _5(timetz_smaller), _6(1266), _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(2, 1266, 1266), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timetz_smaller"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1380), _1("timetz_smaller"), _2(2), _3(true), _4(false), _5(timetz_smaller), _6(1266), _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(2, 1266, 1266), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timetz_smaller"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timetzdate_pl", 1, - AddBuiltinFunc(_0(1298), _1("timetzdate_pl"), _2(2), _3(true), _4(false), _5(NULL), _6(1184), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 1266, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select ($2 + $1)"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1298), _1("timetzdate_pl"), _2(2), _3(true), _4(false), _5(NULL), _6(1184), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 1266, 1082), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select ($2 + $1)"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timetztypmodin", 1, - AddBuiltinFunc(_0(2911), _1("timetztypmodin"), _2(1), _3(true), _4(false), _5(timetztypmodin), _6(23), _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(1, 1263), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timetztypmodin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2911), _1("timetztypmodin"), _2(1), _3(true), _4(false), _5(timetztypmodin), _6(23), _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(1, 1263), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timetztypmodin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timetztypmodout", 1, - AddBuiltinFunc(_0(2912), _1("timetztypmodout"), _2(1), _3(true), _4(false), _5(timetztypmodout), _6(2275), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timetztypmodout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2912), _1("timetztypmodout"), _2(1), _3(true), _4(false), _5(timetztypmodout), _6(2275), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timetztypmodout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "timezone", 6, - AddBuiltinFunc(_0(1026), _1("timezone"), _2(2), _3(true), _4(false), _5(timestamptz_izone), _6(1114), _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(2, 1186, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_izone"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1159), _1("timezone"), _2(2), _3(true), _4(false), _5(timestamptz_zone), _6(1114), _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(2, 25, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_zone"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(TIMEZONETZFUNCOID), _1("timezone"), _2(2), _3(true), _4(false), _5(timetz_zone), _6(1266), _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('v'), _19(0), _20(2, 25, 1266), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timetz_zone"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")), - AddBuiltinFunc(_0(2038), _1("timezone"), _2(2), _3(true), _4(false), _5(timetz_izone), _6(1266), _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(2, 1186, 1266), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timetz_izone"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2069), _1("timezone"), _2(2), _3(true), _4(false), _5(timestamp_zone), _6(1184), _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(2, 25, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_zone"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2070), _1("timezone"), _2(2), _3(true), _4(false), _5(timestamp_izone), _6(1184), _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(2, 1186, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_izone"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1026), _1("timezone"), _2(2), _3(true), _4(false), _5(timestamptz_izone), _6(1114), _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(2, 1186, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_izone"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1159), _1("timezone"), _2(2), _3(true), _4(false), _5(timestamptz_zone), _6(1114), _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(2, 25, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_zone"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(TIMEZONETZFUNCOID), _1("timezone"), _2(2), _3(true), _4(false), _5(timetz_zone), _6(1266), _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('v'), _19(0), _20(2, 25, 1266), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timetz_zone"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2038), _1("timezone"), _2(2), _3(true), _4(false), _5(timetz_izone), _6(1266), _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(2, 1186, 1266), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timetz_izone"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2069), _1("timezone"), _2(2), _3(true), _4(false), _5(timestamp_zone), _6(1184), _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(2, 25, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_zone"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2070), _1("timezone"), _2(2), _3(true), _4(false), _5(timestamp_izone), _6(1184), _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(2, 1186, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_izone"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tinterval", 1, - AddBuiltinFunc(_0(1481), _1("tinterval"), _2(2), _3(true), _4(false), _5(mktinterval), _6(704), _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(2, 702, 702), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("mktinterval"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1481), _1("tinterval"), _2(2), _3(true), _4(false), _5(mktinterval), _6(704), _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(2, 702, 702), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("mktinterval"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tintervalct", 1, - AddBuiltinFunc(_0(264), _1("tintervalct"), _2(2), _3(true), _4(false), _5(tintervalct), _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(2, 704, 704), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tintervalct"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(264), _1("tintervalct"), _2(2), _3(true), _4(false), _5(tintervalct), _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(2, 704, 704), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tintervalct"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tintervalend", 1, - AddBuiltinFunc(_0(273), _1("tintervalend"), _2(1), _3(true), _4(false), _5(tintervalend), _6(702), _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(1, 704), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tintervalend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(273), _1("tintervalend"), _2(1), _3(true), _4(false), _5(tintervalend), _6(702), _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(1, 704), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tintervalend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tintervaleq", 1, - AddBuiltinFunc(_0(784), _1("tintervaleq"), _2(2), _3(true), _4(false), _5(tintervaleq), _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(true), _18('i'), _19(0), _20(2, 704, 704), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tintervaleq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(784), _1("tintervaleq"), _2(2), _3(true), _4(false), _5(tintervaleq), _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(true), _18('i'), _19(0), _20(2, 704, 704), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tintervaleq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tintervalge", 1, - AddBuiltinFunc(_0(789), _1("tintervalge"), _2(2), _3(true), _4(false), _5(tintervalge), _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(true), _18('i'), _19(0), _20(2, 704, 704), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tintervalge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(789), _1("tintervalge"), _2(2), _3(true), _4(false), _5(tintervalge), _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(true), _18('i'), _19(0), _20(2, 704, 704), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tintervalge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tintervalgt", 1, - AddBuiltinFunc(_0(787), _1("tintervalgt"), _2(2), _3(true), _4(false), _5(tintervalgt), _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(true), _18('i'), _19(0), _20(2, 704, 704), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tintervalgt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(787), _1("tintervalgt"), _2(2), _3(true), _4(false), _5(tintervalgt), _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(true), _18('i'), _19(0), _20(2, 704, 704), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tintervalgt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tintervalin", 1, - AddBuiltinFunc(_0(TINTERVALINFUNCOID), _1("tintervalin"), _2(1), _3(true), _4(false), _5(tintervalin), _6(704), _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('s'), _19(0), _20(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tintervalin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(TINTERVALINFUNCOID), _1("tintervalin"), _2(1), _3(true), _4(false), _5(tintervalin), _6(704), _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('s'), _19(0), _20(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tintervalin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tintervalle", 1, - AddBuiltinFunc(_0(788), _1("tintervalle"), _2(2), _3(true), _4(false), _5(tintervalle), _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(true), _18('i'), _19(0), _20(2, 704, 704), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tintervalle"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(788), _1("tintervalle"), _2(2), _3(true), _4(false), _5(tintervalle), _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(true), _18('i'), _19(0), _20(2, 704, 704), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tintervalle"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tintervalleneq", 1, - AddBuiltinFunc(_0(266), _1("tintervalleneq"), _2(2), _3(true), _4(false), _5(tintervalleneq), _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(true), _18('i'), _19(0), _20(2, 704, 703), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tintervalleneq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(266), _1("tintervalleneq"), _2(2), _3(true), _4(false), _5(tintervalleneq), _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(true), _18('i'), _19(0), _20(2, 704, 703), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tintervalleneq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tintervallenge", 1, - AddBuiltinFunc(_0(271), _1("tintervallenge"), _2(2), _3(true), _4(false), _5(tintervallenge), _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(true), _18('i'), _19(0), _20(2, 704, 703), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tintervallenge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(271), _1("tintervallenge"), _2(2), _3(true), _4(false), _5(tintervallenge), _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(true), _18('i'), _19(0), _20(2, 704, 703), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tintervallenge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tintervallengt", 1, - AddBuiltinFunc(_0(269), _1("tintervallengt"), _2(2), _3(true), _4(false), _5(tintervallengt), _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(true), _18('i'), _19(0), _20(2, 704, 703), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tintervallengt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(269), _1("tintervallengt"), _2(2), _3(true), _4(false), _5(tintervallengt), _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(true), _18('i'), _19(0), _20(2, 704, 703), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tintervallengt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tintervallenle", 1, - AddBuiltinFunc(_0(270), _1("tintervallenle"), _2(2), _3(true), _4(false), _5(tintervallenle), _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(true), _18('i'), _19(0), _20(2, 704, 703), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tintervallenle"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(270), _1("tintervallenle"), _2(2), _3(true), _4(false), _5(tintervallenle), _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(true), _18('i'), _19(0), _20(2, 704, 703), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tintervallenle"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tintervallenlt", 1, - AddBuiltinFunc(_0(268), _1("tintervallenlt"), _2(2), _3(true), _4(false), _5(tintervallenlt), _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(true), _18('i'), _19(0), _20(2, 704, 703), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tintervallenlt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(268), _1("tintervallenlt"), _2(2), _3(true), _4(false), _5(tintervallenlt), _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(true), _18('i'), _19(0), _20(2, 704, 703), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tintervallenlt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tintervallenne", 1, - AddBuiltinFunc(_0(267), _1("tintervallenne"), _2(2), _3(true), _4(false), _5(tintervallenne), _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(true), _18('i'), _19(0), _20(2, 704, 703), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tintervallenne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(267), _1("tintervallenne"), _2(2), _3(true), _4(false), _5(tintervallenne), _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(true), _18('i'), _19(0), _20(2, 704, 703), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tintervallenne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tintervallt", 1, - AddBuiltinFunc(_0(786), _1("tintervallt"), _2(2), _3(true), _4(false), _5(tintervallt), _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(true), _18('i'), _19(0), _20(2, 704, 704), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tintervallt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(786), _1("tintervallt"), _2(2), _3(true), _4(false), _5(tintervallt), _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(true), _18('i'), _19(0), _20(2, 704, 704), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tintervallt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tintervalne", 1, - AddBuiltinFunc(_0(785), _1("tintervalne"), _2(2), _3(true), _4(false), _5(tintervalne), _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(true), _18('i'), _19(0), _20(2, 704, 704), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tintervalne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(785), _1("tintervalne"), _2(2), _3(true), _4(false), _5(tintervalne), _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(true), _18('i'), _19(0), _20(2, 704, 704), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tintervalne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tintervalout", 1, - AddBuiltinFunc(_0(TINTERVALOUTFUNCOID), _1("tintervalout"), _2(1), _3(true), _4(false), _5(tintervalout), _6(2275), _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('s'), _19(0), _20(1, 704), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tintervalout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(TINTERVALOUTFUNCOID), _1("tintervalout"), _2(1), _3(true), _4(false), _5(tintervalout), _6(2275), _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('s'), _19(0), _20(1, 704), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tintervalout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tintervalov", 1, - AddBuiltinFunc(_0(265), _1("tintervalov"), _2(2), _3(true), _4(false), _5(tintervalov), _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(2, 704, 704), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tintervalov"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(265), _1("tintervalov"), _2(2), _3(true), _4(false), _5(tintervalov), _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(2, 704, 704), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tintervalov"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tintervalrecv", 1, - AddBuiltinFunc(_0(2466), _1("tintervalrecv"), _2(1), _3(true), _4(false), _5(tintervalrecv), _6(704), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tintervalrecv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2466), _1("tintervalrecv"), _2(1), _3(true), _4(false), _5(tintervalrecv), _6(704), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tintervalrecv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tintervalrel", 1, - AddBuiltinFunc(_0(249), _1("tintervalrel"), _2(1), _3(true), _4(false), _5(tintervalrel), _6(703), _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(1, 704), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tintervalrel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(249), _1("tintervalrel"), _2(1), _3(true), _4(false), _5(tintervalrel), _6(703), _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(1, 704), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tintervalrel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tintervalsame", 1, - AddBuiltinFunc(_0(263), _1("tintervalsame"), _2(2), _3(true), _4(false), _5(tintervalsame), _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(2, 704, 704), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tintervalsame"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(263), _1("tintervalsame"), _2(2), _3(true), _4(false), _5(tintervalsame), _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(2, 704, 704), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tintervalsame"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tintervalsend", 1, - AddBuiltinFunc(_0(2467), _1("tintervalsend"), _2(1), _3(true), _4(false), _5(tintervalsend), _6(17), _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(1, 704), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tintervalsend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2467), _1("tintervalsend"), _2(1), _3(true), _4(false), _5(tintervalsend), _6(17), _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(1, 704), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tintervalsend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tintervalstart", 1, - AddBuiltinFunc(_0(272), _1("tintervalstart"), _2(1), _3(true), _4(false), _5(tintervalstart), _6(702), _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(1, 704), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tintervalstart"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(272), _1("tintervalstart"), _2(1), _3(true), _4(false), _5(tintervalstart), _6(702), _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(1, 704), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tintervalstart"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "to_ascii", 3, - AddBuiltinFunc(_0(1845), _1("to_ascii"), _2(1), _3(true), _4(false), _5(to_ascii_default), _6(25), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("to_ascii_default"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1846), _1("to_ascii"), _2(2), _3(true), _4(false), _5(to_ascii_enc), _6(25), _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(2, 25, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("to_ascii_enc"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1847), _1("to_ascii"), _2(2), _3(true), _4(false), _5(to_ascii_encname), _6(25), _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(2, 25, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("to_ascii_encname"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1845), _1("to_ascii"), _2(1), _3(true), _4(false), _5(to_ascii_default), _6(25), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("to_ascii_default"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1846), _1("to_ascii"), _2(2), _3(true), _4(false), _5(to_ascii_enc), _6(25), _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(2, 25, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("to_ascii_enc"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1847), _1("to_ascii"), _2(2), _3(true), _4(false), _5(to_ascii_encname), _6(25), _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(2, 25, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("to_ascii_encname"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "to_char", 10, - AddBuiltinFunc(_0(INTERVALTOCHARFUNCOID), _1("to_char"), _2(2), _3(true), _4(false), _5(interval_to_char), _6(25), _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('s'), _19(0), _20(2, 1186, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_to_char"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")), - AddBuiltinFunc(_0(TIMESTAMPTZ2CHARFUNCOID), _1("to_char"), _2(2), _3(true), _4(false), _5(timestamptz_to_char), _6(25), _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('s'), _19(0), _20(2, 1184, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_to_char"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")), - AddBuiltinFunc(_0(NUMERIC2CHARFUNCOID), _1("to_char"), _2(2), _3(true), _4(false), _5(numeric_to_char), _6(25), _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('s'), _19(0), _20(2, 1700, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_to_char"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")), - AddBuiltinFunc(_0(INTEGER2CHARFUNCOID), _1("to_char"), _2(2), _3(true), _4(false), _5(int4_to_char), _6(25), _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('s'), _19(0), _20(2, 23, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4_to_char"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")), - AddBuiltinFunc(_0(BIGINT2CHARFUNCOID), _1("to_char"), _2(2), _3(true), _4(false), _5(int8_to_char), _6(25), _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('s'), _19(0), _20(2, 20, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8_to_char"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")), - AddBuiltinFunc(_0(FLOAT4TOCHARFUNCOID), _1("to_char"), _2(2), _3(true), _4(false), _5(float4_to_char), _6(25), _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('s'), _19(0), _20(2, 700, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float4_to_char"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")), - AddBuiltinFunc(_0(FLOAT8TOCHARFUNCOID), _1("to_char"), _2(2), _3(true), _4(false), _5(float8_to_char), _6(25), _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('s'), _19(0), _20(2, 701, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8_to_char"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")), - AddBuiltinFunc(_0(TIMESTAMP2CHARFUNCOID), _1("to_char"), _2(2), _3(true), _4(false), _5(timestamp_to_char), _6(25), _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('s'), _19(0), _20(2, 1114, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_to_char"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")), - AddBuiltinFunc(_0(DEFAULTFORMATTIMESTAMP2CHARFUNCOID), _1("to_char"), _2(1), _3(true), _4(false), _5(timestamp_to_char_default_format), _6(25), _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('s'), _19(0), _20(1, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_to_char_default_format"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")), - AddBuiltinFunc(_0(DEFAULTFORMATTIMESTAMPTZ2CHARFUNCOID), _1("to_char"), _2(1), _3(true), _4(false), _5(timestamptz_to_char_default_format), _6(25), _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('s'), _19(0), _20(1, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_to_char_default_format"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(INTERVALTOCHARFUNCOID), _1("to_char"), _2(2), _3(true), _4(false), _5(interval_to_char), _6(25), _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('s'), _19(0), _20(2, 1186, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("interval_to_char"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(TIMESTAMPTZ2CHARFUNCOID), _1("to_char"), _2(2), _3(true), _4(false), _5(timestamptz_to_char), _6(25), _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('s'), _19(0), _20(2, 1184, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_to_char"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(NUMERIC2CHARFUNCOID), _1("to_char"), _2(2), _3(true), _4(false), _5(numeric_to_char), _6(25), _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('s'), _19(0), _20(2, 1700, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_to_char"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(INTEGER2CHARFUNCOID), _1("to_char"), _2(2), _3(true), _4(false), _5(int4_to_char), _6(25), _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('s'), _19(0), _20(2, 23, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int4_to_char"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(BIGINT2CHARFUNCOID), _1("to_char"), _2(2), _3(true), _4(false), _5(int8_to_char), _6(25), _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('s'), _19(0), _20(2, 20, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("int8_to_char"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(FLOAT4TOCHARFUNCOID), _1("to_char"), _2(2), _3(true), _4(false), _5(float4_to_char), _6(25), _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('s'), _19(0), _20(2, 700, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float4_to_char"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(FLOAT8TOCHARFUNCOID), _1("to_char"), _2(2), _3(true), _4(false), _5(float8_to_char), _6(25), _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('s'), _19(0), _20(2, 701, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("float8_to_char"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(TIMESTAMP2CHARFUNCOID), _1("to_char"), _2(2), _3(true), _4(false), _5(timestamp_to_char), _6(25), _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('s'), _19(0), _20(2, 1114, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_to_char"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(DEFAULTFORMATTIMESTAMP2CHARFUNCOID), _1("to_char"), _2(1), _3(true), _4(false), _5(timestamp_to_char_default_format), _6(25), _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('s'), _19(0), _20(1, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamp_to_char_default_format"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(DEFAULTFORMATTIMESTAMPTZ2CHARFUNCOID), _1("to_char"), _2(1), _3(true), _4(false), _5(timestamptz_to_char_default_format), _6(25), _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('s'), _19(0), _20(1, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("timestamptz_to_char_default_format"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "to_date", 2, - AddBuiltinFunc(_0(TODATEFUNCOID), _1("to_date"), _2(2), _3(true), _4(false), _5(to_timestamp), _6(1114), _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('s'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("to_timestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")), - AddBuiltinFunc(_0(TODATEDEFAULTFUNCOID), _1("to_date"), _2(1), _3(true), _4(false), _5(to_date_default_format), _6(1114), _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('s'), _19(0), _20(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("to_date_default_format"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(TODATEFUNCOID), _1("to_date"), _2(2), _3(true), _4(false), _5(to_timestamp), _6(1114), _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('s'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("to_timestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(TODATEDEFAULTFUNCOID), _1("to_date"), _2(1), _3(true), _4(false), _5(to_date_default_format), _6(1114), _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('s'), _19(0), _20(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("to_date_default_format"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "to_hex", 2, - AddBuiltinFunc(_0(2089), _1("to_hex"), _2(1), _3(false), _4(false), _5(to_hex32), _6(25), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("to_hex32"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2090), _1("to_hex"), _2(1), _3(false), _4(false), _5(to_hex64), _6(25), _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(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("to_hex64"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2089), _1("to_hex"), _2(1), _3(false), _4(false), _5(to_hex32), _6(25), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("to_hex32"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2090), _1("to_hex"), _2(1), _3(false), _4(false), _5(to_hex64), _6(25), _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(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("to_hex64"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "to_number", 1, - AddBuiltinFunc(_0(TONUMBERFUNCOID), _1("to_number"), _2(2), _3(true), _4(false), _5(numeric_to_number), _6(1700), _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('s'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_to_number"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(TONUMBERFUNCOID), _1("to_number"), _2(2), _3(true), _4(false), _5(numeric_to_number), _6(1700), _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('s'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_to_number"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "to_timestamp", 3, - AddBuiltinFunc(_0(1158), _1("to_timestamp"), _2(1), _3(true), _4(false), _5(NULL), _6(1184), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select ('epoch'::pg_catalog.timestamptz + $1 * '1 second'::pg_catalog.interval)"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(TOTIMESTAMPFUNCOID), _1("to_timestamp"), _2(2), _3(true), _4(false), _5(to_timestamp), _6(1114), _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('s'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("to_timestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")), - AddBuiltinFunc(_0(TOTIMESTAMPDEFAULTFUNCOID), _1("to_timestamp"), _2(1), _3(true), _4(false), _5(to_timestamp_default_format), _6(1114), _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('s'), _19(0), _20(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("to_timestamp_default_format"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(1158), _1("to_timestamp"), _2(1), _3(true), _4(false), _5(NULL), _6(1184), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select ('epoch'::pg_catalog.timestamptz + $1 * '1 second'::pg_catalog.interval)"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(TOTIMESTAMPFUNCOID), _1("to_timestamp"), _2(2), _3(true), _4(false), _5(to_timestamp), _6(1114), _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('s'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("to_timestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(TOTIMESTAMPDEFAULTFUNCOID), _1("to_timestamp"), _2(1), _3(true), _4(false), _5(to_timestamp_default_format), _6(1114), _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('s'), _19(0), _20(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("to_timestamp_default_format"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "to_tsquery", 2, - AddBuiltinFunc(_0(3746), _1("to_tsquery"), _2(2), _3(true), _4(false), _5(to_tsquery_byid), _6(3615), _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(2, 3734, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("to_tsquery_byid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3750), _1("to_tsquery"), _2(1), _3(true), _4(false), _5(to_tsquery), _6(3615), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("to_tsquery"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3746), _1("to_tsquery"), _2(2), _3(true), _4(false), _5(to_tsquery_byid), _6(3615), _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(2, 3734, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("to_tsquery_byid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3750), _1("to_tsquery"), _2(1), _3(true), _4(false), _5(to_tsquery), _6(3615), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("to_tsquery"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "to_tsvector", 2, - AddBuiltinFunc(_0(3745), _1("to_tsvector"), _2(2), _3(true), _4(false), _5(to_tsvector_byid), _6(3614), _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(2, 3734, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("to_tsvector_byid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3749), _1("to_tsvector"), _2(1), _3(true), _4(false), _5(to_tsvector), _6(3614), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("to_tsvector"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3745), _1("to_tsvector"), _2(2), _3(true), _4(false), _5(to_tsvector_byid), _6(3614), _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(2, 3734, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("to_tsvector_byid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3749), _1("to_tsvector"), _2(1), _3(true), _4(false), _5(to_tsvector), _6(3614), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("to_tsvector"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "to_tsvector_for_batch", 2, - AddBuiltinFunc(_0(3208), _1("to_tsvector_for_batch"), _2(2), _3(true), _4(false), _5(to_tsvector_byid), _6(3614), _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(2, 3734, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("to_tsvector_byid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3209), _1("to_tsvector_for_batch"), _2(1), _3(true), _4(false), _5(to_tsvector), _6(3614), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("to_tsvector"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3208), _1("to_tsvector_for_batch"), _2(2), _3(true), _4(false), _5(to_tsvector_byid), _6(3614), _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(2, 3734, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("to_tsvector_byid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3209), _1("to_tsvector_for_batch"), _2(1), _3(true), _4(false), _5(to_tsvector), _6(3614), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("to_tsvector"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "total_cpu", 1, - AddBuiltinFunc(_0(3976), _1("total_cpu"), _2(0), _3(true), _4(false), _5(total_cpu), _6(20), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("total_cpu"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3976), _1("total_cpu"), _2(0), _3(true), _4(false), _5(total_cpu), _6(20), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("total_cpu"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "total_memory", 1, - AddBuiltinFunc(_0(3979), _1("total_memory"), _2(0), _3(true), _4(false), _5(total_memory), _6(20), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("total_memory"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3979), _1("total_memory"), _2(0), _3(true), _4(false), _5(total_memory), _6(20), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("total_memory"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "track_memory_context", 1, - AddBuiltinFunc(_0(3988), _1("track_memory_context"), _2(1), _3(true), _4(false), _5(track_memory_context), _6(16), _7(PG_DBEPERF_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("track_memory_context"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(3988), _1("track_memory_context"), _2(1), _3(true), _4(false), _5(track_memory_context), _6(16), _7(PG_DBEPERF_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("track_memory_context"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "track_memory_context_detail", 1, - AddBuiltinFunc(_0(3990), _1("track_memory_context_detail"), _2(1), _3(true), _4(true), _5(track_memory_context_detail), _6(2249), _7(PG_DBEPERF_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(50), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(4, 25, 25, 23, 20), _22(4, 'o', 'o', 'o', 'o'), _23(4, "context_name", "file", "line", "size"), _24(NULL), _25("track_memory_context_detail"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(3990), _1("track_memory_context_detail"), _2(1), _3(true), _4(true), _5(track_memory_context_detail), _6(2249), _7(PG_DBEPERF_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(50), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(4, 25, 25, 23, 20), _22(4, 'o', 'o', 'o', 'o'), _23(4, "context_name", "file", "line", "size"), _24(NULL), _25("track_memory_context_detail"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "track_model_train_opt", 1, @@ -10231,683 +10229,683 @@ ), AddFuncGroup( "transaction_timestamp", 1, - AddBuiltinFunc(_0(TRANSACTIONTIMESTAMPFUNCOID), _1("transaction_timestamp"), _2(0), _3(true), _4(false), _5(now), _6(1184), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("now"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33("f")) + AddBuiltinFunc(_0(TRANSACTIONTIMESTAMPFUNCOID), _1("transaction_timestamp"), _2(0), _3(true), _4(false), _5(now), _6(1184), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("now"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(true), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "translate", 1, - AddBuiltinFunc(_0(878), _1("translate"), _2(3), _3(true), _4(false), _5(translate), _6(25), _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(3, 25, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("translate"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(878), _1("translate"), _2(3), _3(true), _4(false), _5(translate), _6(25), _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(3, 25, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("translate"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "trigger_in", 1, - AddBuiltinFunc(_0(2300), _1("trigger_in"), _2(1), _3(false), _4(false), _5(trigger_in), _6(2279), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("trigger_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2300), _1("trigger_in"), _2(1), _3(false), _4(false), _5(trigger_in), _6(2279), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("trigger_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "trigger_out", 1, - AddBuiltinFunc(_0(2301), _1("trigger_out"), _2(1), _3(true), _4(false), _5(trigger_out), _6(2275), _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(1, 2279), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("trigger_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2301), _1("trigger_out"), _2(1), _3(true), _4(false), _5(trigger_out), _6(2275), _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(1, 2279), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("trigger_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "trunc", 4, - AddBuiltinFunc(_0(753), _1("trunc"), _2(1), _3(true), _4(false), _5(macaddr_trunc), _6(829), _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(1, 829), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("macaddr_trunc"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1343), _1("trunc"), _2(1), _3(true), _4(false), _5(dtrunc), _6(701), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dtrunc"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1709), _1("trunc"), _2(2), _3(true), _4(false), _5(numeric_trunc), _6(1700), _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(2, 1700, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_trunc"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1710), _1("trunc"), _2(1), _3(true), _4(false), _5(NULL), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select pg_catalog.trunc($1,0)"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(753), _1("trunc"), _2(1), _3(true), _4(false), _5(macaddr_trunc), _6(829), _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(1, 829), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("macaddr_trunc"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1343), _1("trunc"), _2(1), _3(true), _4(false), _5(dtrunc), _6(701), _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(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("dtrunc"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1709), _1("trunc"), _2(2), _3(true), _4(false), _5(numeric_trunc), _6(1700), _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(2, 1700, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("numeric_trunc"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1710), _1("trunc"), _2(1), _3(true), _4(false), _5(NULL), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select pg_catalog.trunc($1,0)"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "ts_headline", 4, - AddBuiltinFunc(_0(3743), _1("ts_headline"), _2(4), _3(true), _4(false), _5(ts_headline_byid_opt), _6(25), _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(4, 3734, 25, 3615, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ts_headline_byid_opt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3744), _1("ts_headline"), _2(3), _3(true), _4(false), _5(ts_headline_byid), _6(25), _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(3, 3734, 25, 3615), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ts_headline_byid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3754), _1("ts_headline"), _2(3), _3(true), _4(false), _5(ts_headline_opt), _6(25), _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('s'), _19(0), _20(3, 25, 3615, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ts_headline_opt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3755), _1("ts_headline"), _2(2), _3(true), _4(false), _5(ts_headline), _6(25), _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('s'), _19(0), _20(2, 25, 3615), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ts_headline"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3743), _1("ts_headline"), _2(4), _3(true), _4(false), _5(ts_headline_byid_opt), _6(25), _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(4, 3734, 25, 3615, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ts_headline_byid_opt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3744), _1("ts_headline"), _2(3), _3(true), _4(false), _5(ts_headline_byid), _6(25), _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(3, 3734, 25, 3615), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ts_headline_byid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3754), _1("ts_headline"), _2(3), _3(true), _4(false), _5(ts_headline_opt), _6(25), _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('s'), _19(0), _20(3, 25, 3615, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ts_headline_opt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3755), _1("ts_headline"), _2(2), _3(true), _4(false), _5(ts_headline), _6(25), _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('s'), _19(0), _20(2, 25, 3615), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ts_headline"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "ts_lexize", 1, - AddBuiltinFunc(_0(3723), _1("ts_lexize"), _2(2), _3(true), _4(false), _5(ts_lexize), _6(1009), _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(2, 3769, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ts_lexize"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3723), _1("ts_lexize"), _2(2), _3(true), _4(false), _5(ts_lexize), _6(1009), _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(2, 3769, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ts_lexize"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "ts_match_qv", 1, - AddBuiltinFunc(_0(3635), _1("ts_match_qv"), _2(2), _3(true), _4(false), _5(ts_match_qv), _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(2, 3615, 3614), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ts_match_qv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3635), _1("ts_match_qv"), _2(2), _3(true), _4(false), _5(ts_match_qv), _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(2, 3615, 3614), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ts_match_qv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "ts_match_tq", 1, - AddBuiltinFunc(_0(3761), _1("ts_match_tq"), _2(2), _3(true), _4(false), _5(ts_match_tq), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(2), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(2, 25, 3615), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ts_match_tq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3761), _1("ts_match_tq"), _2(2), _3(true), _4(false), _5(ts_match_tq), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(2), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(2, 25, 3615), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ts_match_tq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "ts_match_tt", 1, - AddBuiltinFunc(_0(3760), _1("ts_match_tt"), _2(2), _3(true), _4(false), _5(ts_match_tt), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(3), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ts_match_tt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3760), _1("ts_match_tt"), _2(2), _3(true), _4(false), _5(ts_match_tt), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(3), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ts_match_tt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "ts_match_vq", 1, - AddBuiltinFunc(_0(3634), _1("ts_match_vq"), _2(2), _3(true), _4(false), _5(ts_match_vq), _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(2, 3614, 3615), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ts_match_vq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3634), _1("ts_match_vq"), _2(2), _3(true), _4(false), _5(ts_match_vq), _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(2, 3614, 3615), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ts_match_vq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "ts_parse", 2, - AddBuiltinFunc(_0(3715), _1("ts_parse"), _2(2), _3(true), _4(true), _5(ts_parse_byid), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 26, 25), _21(4, 26, 25, 23, 25), _22(4, 'i', 'i', 'o', 'o'), _23(4, "parser_oid", "txt", "tokid", "token"), _24(NULL), _25("ts_parse_byid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3716), _1("ts_parse"), _2(2), _3(true), _4(true), _5(ts_parse_byname), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(2, 25, 25), _21(4, 25, 25, 23, 25), _22(4, 'i', 'i', 'o', 'o'), _23(4, "parser_name", "txt", "tokid", "token"), _24(NULL), _25("ts_parse_byname"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3715), _1("ts_parse"), _2(2), _3(true), _4(true), _5(ts_parse_byid), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 26, 25), _21(4, 26, 25, 23, 25), _22(4, 'i', 'i', 'o', 'o'), _23(4, "parser_oid", "txt", "tokid", "token"), _24(NULL), _25("ts_parse_byid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3716), _1("ts_parse"), _2(2), _3(true), _4(true), _5(ts_parse_byname), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(2, 25, 25), _21(4, 25, 25, 23, 25), _22(4, 'i', 'i', 'o', 'o'), _23(4, "parser_name", "txt", "tokid", "token"), _24(NULL), _25("ts_parse_byname"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "ts_rank", 4, - AddBuiltinFunc(_0(3703), _1("ts_rank"), _2(4), _3(true), _4(false), _5(ts_rank_wttf), _6(700), _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(4, 1021, 3614, 3615, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ts_rank_wttf"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3704), _1("ts_rank"), _2(3), _3(true), _4(false), _5(ts_rank_wtt), _6(700), _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(3, 1021, 3614, 3615), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ts_rank_wtt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3705), _1("ts_rank"), _2(3), _3(true), _4(false), _5(ts_rank_ttf), _6(700), _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(3, 3614, 3615, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ts_rank_ttf"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3706), _1("ts_rank"), _2(2), _3(true), _4(false), _5(ts_rank_tt), _6(700), _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(2, 3614, 3615), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ts_rank_tt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3703), _1("ts_rank"), _2(4), _3(true), _4(false), _5(ts_rank_wttf), _6(700), _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(4, 1021, 3614, 3615, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ts_rank_wttf"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3704), _1("ts_rank"), _2(3), _3(true), _4(false), _5(ts_rank_wtt), _6(700), _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(3, 1021, 3614, 3615), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ts_rank_wtt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3705), _1("ts_rank"), _2(3), _3(true), _4(false), _5(ts_rank_ttf), _6(700), _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(3, 3614, 3615, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ts_rank_ttf"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3706), _1("ts_rank"), _2(2), _3(true), _4(false), _5(ts_rank_tt), _6(700), _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(2, 3614, 3615), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ts_rank_tt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "ts_rank_cd", 4, - AddBuiltinFunc(_0(3707), _1("ts_rank_cd"), _2(4), _3(true), _4(false), _5(ts_rankcd_wttf), _6(700), _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(4, 1021, 3614, 3615, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ts_rankcd_wttf"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3708), _1("ts_rank_cd"), _2(3), _3(true), _4(false), _5(ts_rankcd_wtt), _6(700), _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(3, 1021, 3614, 3615), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ts_rankcd_wtt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3709), _1("ts_rank_cd"), _2(3), _3(true), _4(false), _5(ts_rankcd_ttf), _6(700), _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(3, 3614, 3615, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ts_rankcd_ttf"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3710), _1("ts_rank_cd"), _2(2), _3(true), _4(false), _5(ts_rankcd_tt), _6(700), _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(2, 3614, 3615), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ts_rankcd_tt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3707), _1("ts_rank_cd"), _2(4), _3(true), _4(false), _5(ts_rankcd_wttf), _6(700), _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(4, 1021, 3614, 3615, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ts_rankcd_wttf"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3708), _1("ts_rank_cd"), _2(3), _3(true), _4(false), _5(ts_rankcd_wtt), _6(700), _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(3, 1021, 3614, 3615), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ts_rankcd_wtt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3709), _1("ts_rank_cd"), _2(3), _3(true), _4(false), _5(ts_rankcd_ttf), _6(700), _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(3, 3614, 3615, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ts_rankcd_ttf"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3710), _1("ts_rank_cd"), _2(2), _3(true), _4(false), _5(ts_rankcd_tt), _6(700), _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(2, 3614, 3615), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ts_rankcd_tt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "ts_rewrite", 2, - AddBuiltinFunc(_0(3684), _1("ts_rewrite"), _2(3), _3(true), _4(false), _5(tsquery_rewrite), _6(3615), _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(3, 3615, 3615, 3615), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsquery_rewrite"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3685), _1("ts_rewrite"), _2(2), _3(true), _4(false), _5(tsquery_rewrite_query), _6(3615), _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('v'), _19(0), _20(2, 3615, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsquery_rewrite_query"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3684), _1("ts_rewrite"), _2(3), _3(true), _4(false), _5(tsquery_rewrite), _6(3615), _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(3, 3615, 3615, 3615), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsquery_rewrite"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3685), _1("ts_rewrite"), _2(2), _3(true), _4(false), _5(tsquery_rewrite_query), _6(3615), _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('v'), _19(0), _20(2, 3615, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsquery_rewrite_query"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "ts_stat", 2, - AddBuiltinFunc(_0(3689), _1("ts_stat"), _2(1), _3(true), _4(true), _5(ts_stat1), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(10), _11(10000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(1, 25), _21(4, 25, 25, 23, 23), _22(4, 'i', 'o', 'o', 'o'), _23(4, "query", "word", "ndoc", "nentry"), _24(NULL), _25("ts_stat1"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3690), _1("ts_stat"), _2(2), _3(true), _4(true), _5(ts_stat2), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(10), _11(10000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(2, 25, 25), _21(5, 25, 25, 25, 23, 23), _22(5, 'i', 'i', 'o', 'o', 'o'), _23(5, "query", "weights", "word", "ndoc", "nentry"), _24(NULL), _25("ts_stat2"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3689), _1("ts_stat"), _2(1), _3(true), _4(true), _5(ts_stat1), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(10), _11(10000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(1, 25), _21(4, 25, 25, 23, 23), _22(4, 'i', 'o', 'o', 'o'), _23(4, "query", "word", "ndoc", "nentry"), _24(NULL), _25("ts_stat1"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3690), _1("ts_stat"), _2(2), _3(true), _4(true), _5(ts_stat2), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(10), _11(10000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(2, 25, 25), _21(5, 25, 25, 25, 23, 23), _22(5, 'i', 'i', 'o', 'o', 'o'), _23(5, "query", "weights", "word", "ndoc", "nentry"), _24(NULL), _25("ts_stat2"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "ts_token_type", 2, - AddBuiltinFunc(_0(3713), _1("ts_token_type"), _2(1), _3(true), _4(true), _5(ts_token_type_byid), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(16), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 26), _21(4, 26, 23, 25, 25), _22(4, 'i', 'o', 'o', 'o'), _23(4, "parser_oid", "tokid", "alias", "description"), _24(NULL), _25("ts_token_type_byid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3714), _1("ts_token_type"), _2(1), _3(true), _4(true), _5(ts_token_type_byname), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(16), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(1, 25), _21(4, 25, 23, 25, 25), _22(4, 'i', 'o', 'o', 'o'), _23(4, "parser_name", "tokid", "alias", "description"), _24(NULL), _25("ts_token_type_byname"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3713), _1("ts_token_type"), _2(1), _3(true), _4(true), _5(ts_token_type_byid), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(16), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 26), _21(4, 26, 23, 25, 25), _22(4, 'i', 'o', 'o', 'o'), _23(4, "parser_oid", "tokid", "alias", "description"), _24(NULL), _25("ts_token_type_byid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3714), _1("ts_token_type"), _2(1), _3(true), _4(true), _5(ts_token_type_byname), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(16), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(1, 25), _21(4, 25, 23, 25, 25), _22(4, 'i', 'o', 'o', 'o'), _23(4, "parser_name", "tokid", "alias", "description"), _24(NULL), _25("ts_token_type_byname"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "ts_typanalyze", 1, - AddBuiltinFunc(_0(3688), _1("ts_typanalyze"), _2(1), _3(true), _4(false), _5(ts_typanalyze), _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('s'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ts_typanalyze"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3688), _1("ts_typanalyze"), _2(1), _3(true), _4(false), _5(ts_typanalyze), _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('s'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("ts_typanalyze"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tsmatchjoinsel", 1, - AddBuiltinFunc(_0(3687), _1("tsmatchjoinsel"), _2(5), _3(true), _4(false), _5(tsmatchjoinsel), _6(701), _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('s'), _19(0), _20(5, 2281, 26, 2281, 21, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsmatchjoinsel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3687), _1("tsmatchjoinsel"), _2(5), _3(true), _4(false), _5(tsmatchjoinsel), _6(701), _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('s'), _19(0), _20(5, 2281, 26, 2281, 21, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsmatchjoinsel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tsmatchsel", 1, - AddBuiltinFunc(_0(3686), _1("tsmatchsel"), _2(4), _3(true), _4(false), _5(tsmatchsel), _6(701), _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('s'), _19(0), _20(4, 2281, 26, 2281, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsmatchsel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3686), _1("tsmatchsel"), _2(4), _3(true), _4(false), _5(tsmatchsel), _6(701), _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('s'), _19(0), _20(4, 2281, 26, 2281, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsmatchsel"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tsq_mcontained", 1, - AddBuiltinFunc(_0(3692), _1("tsq_mcontained"), _2(2), _3(true), _4(false), _5(tsq_mcontained), _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(2, 3615, 3615), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsq_mcontained"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3692), _1("tsq_mcontained"), _2(2), _3(true), _4(false), _5(tsq_mcontained), _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(2, 3615, 3615), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsq_mcontained"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tsq_mcontains", 1, - AddBuiltinFunc(_0(3691), _1("tsq_mcontains"), _2(2), _3(true), _4(false), _5(tsq_mcontains), _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(2, 3615, 3615), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsq_mcontains"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3691), _1("tsq_mcontains"), _2(2), _3(true), _4(false), _5(tsq_mcontains), _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(2, 3615, 3615), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsq_mcontains"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tsquery_and", 1, - AddBuiltinFunc(_0(3669), _1("tsquery_and"), _2(2), _3(true), _4(false), _5(tsquery_and), _6(3615), _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(2, 3615, 3615), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsquery_and"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3669), _1("tsquery_and"), _2(2), _3(true), _4(false), _5(tsquery_and), _6(3615), _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(2, 3615, 3615), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsquery_and"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tsquery_cmp", 1, - AddBuiltinFunc(_0(3668), _1("tsquery_cmp"), _2(2), _3(true), _4(false), _5(tsquery_cmp), _6(23), _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(2, 3615, 3615), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsquery_cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3668), _1("tsquery_cmp"), _2(2), _3(true), _4(false), _5(tsquery_cmp), _6(23), _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(2, 3615, 3615), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsquery_cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tsquery_eq", 1, - AddBuiltinFunc(_0(3664), _1("tsquery_eq"), _2(2), _3(true), _4(false), _5(tsquery_eq), _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(2, 3615, 3615), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsquery_eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3664), _1("tsquery_eq"), _2(2), _3(true), _4(false), _5(tsquery_eq), _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(2, 3615, 3615), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsquery_eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tsquery_ge", 1, - AddBuiltinFunc(_0(3666), _1("tsquery_ge"), _2(2), _3(true), _4(false), _5(tsquery_ge), _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(2, 3615, 3615), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsquery_ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3666), _1("tsquery_ge"), _2(2), _3(true), _4(false), _5(tsquery_ge), _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(2, 3615, 3615), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsquery_ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tsquery_gt", 1, - AddBuiltinFunc(_0(3667), _1("tsquery_gt"), _2(2), _3(true), _4(false), _5(tsquery_gt), _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(2, 3615, 3615), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsquery_gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3667), _1("tsquery_gt"), _2(2), _3(true), _4(false), _5(tsquery_gt), _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(2, 3615, 3615), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsquery_gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tsquery_le", 1, - AddBuiltinFunc(_0(3663), _1("tsquery_le"), _2(2), _3(true), _4(false), _5(tsquery_le), _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(2, 3615, 3615), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsquery_le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3663), _1("tsquery_le"), _2(2), _3(true), _4(false), _5(tsquery_le), _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(2, 3615, 3615), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsquery_le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tsquery_lt", 1, - AddBuiltinFunc(_0(3662), _1("tsquery_lt"), _2(2), _3(true), _4(false), _5(tsquery_lt), _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(2, 3615, 3615), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsquery_lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3662), _1("tsquery_lt"), _2(2), _3(true), _4(false), _5(tsquery_lt), _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(2, 3615, 3615), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsquery_lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tsquery_ne", 1, - AddBuiltinFunc(_0(3665), _1("tsquery_ne"), _2(2), _3(true), _4(false), _5(tsquery_ne), _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(2, 3615, 3615), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsquery_ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3665), _1("tsquery_ne"), _2(2), _3(true), _4(false), _5(tsquery_ne), _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(2, 3615, 3615), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsquery_ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tsquery_not", 1, - AddBuiltinFunc(_0(3671), _1("tsquery_not"), _2(1), _3(true), _4(false), _5(tsquery_not), _6(3615), _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(1, 3615), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsquery_not"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3671), _1("tsquery_not"), _2(1), _3(true), _4(false), _5(tsquery_not), _6(3615), _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(1, 3615), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsquery_not"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tsquery_or", 1, - AddBuiltinFunc(_0(3670), _1("tsquery_or"), _2(2), _3(true), _4(false), _5(tsquery_or), _6(3615), _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(2, 3615, 3615), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsquery_or"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3670), _1("tsquery_or"), _2(2), _3(true), _4(false), _5(tsquery_or), _6(3615), _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(2, 3615, 3615), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsquery_or"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tsqueryin", 1, - AddBuiltinFunc(_0(3612), _1("tsqueryin"), _2(1), _3(true), _4(false), _5(tsqueryin), _6(3615), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsqueryin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3612), _1("tsqueryin"), _2(1), _3(true), _4(false), _5(tsqueryin), _6(3615), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsqueryin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tsqueryout", 1, - AddBuiltinFunc(_0(3613), _1("tsqueryout"), _2(1), _3(true), _4(false), _5(tsqueryout), _6(2275), _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(1, 3615), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsqueryout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3613), _1("tsqueryout"), _2(1), _3(true), _4(false), _5(tsqueryout), _6(2275), _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(1, 3615), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsqueryout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tsqueryrecv", 1, - AddBuiltinFunc(_0(3641), _1("tsqueryrecv"), _2(1), _3(true), _4(false), _5(tsqueryrecv), _6(3615), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsqueryrecv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3641), _1("tsqueryrecv"), _2(1), _3(true), _4(false), _5(tsqueryrecv), _6(3615), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsqueryrecv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tsquerysend", 1, - AddBuiltinFunc(_0(3640), _1("tsquerysend"), _2(1), _3(true), _4(false), _5(tsquerysend), _6(17), _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(1, 3615), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsquerysend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3640), _1("tsquerysend"), _2(1), _3(true), _4(false), _5(tsquerysend), _6(17), _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(1, 3615), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsquerysend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tsrange", 2, - AddBuiltinFunc(_0(3933), _1("tsrange"), _2(2), _3(false), _4(false), _5(range_constructor2), _6(3908), _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(2, 1114, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_constructor2"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3934), _1("tsrange"), _2(3), _3(false), _4(false), _5(range_constructor3), _6(3908), _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(3, 1114, 1114, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_constructor3"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3933), _1("tsrange"), _2(2), _3(false), _4(false), _5(range_constructor2), _6(3908), _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(2, 1114, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_constructor2"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3934), _1("tsrange"), _2(3), _3(false), _4(false), _5(range_constructor3), _6(3908), _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(3, 1114, 1114, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_constructor3"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tsrange_subdiff", 1, - AddBuiltinFunc(_0(3929), _1("tsrange_subdiff"), _2(2), _3(true), _4(false), _5(tsrange_subdiff), _6(701), _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(2, 1114, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsrange_subdiff"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3929), _1("tsrange_subdiff"), _2(2), _3(true), _4(false), _5(tsrange_subdiff), _6(701), _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(2, 1114, 1114), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsrange_subdiff"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tstzrange", 2, - AddBuiltinFunc(_0(3937), _1("tstzrange"), _2(2), _3(false), _4(false), _5(range_constructor2), _6(3910), _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(2, 1184, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_constructor2"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3938), _1("tstzrange"), _2(3), _3(false), _4(false), _5(range_constructor3), _6(3910), _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(3, 1184, 1184, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_constructor3"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3937), _1("tstzrange"), _2(2), _3(false), _4(false), _5(range_constructor2), _6(3910), _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(2, 1184, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_constructor2"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3938), _1("tstzrange"), _2(3), _3(false), _4(false), _5(range_constructor3), _6(3910), _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(3, 1184, 1184, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_constructor3"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tstzrange_subdiff", 1, - AddBuiltinFunc(_0(3930), _1("tstzrange_subdiff"), _2(2), _3(true), _4(false), _5(tstzrange_subdiff), _6(701), _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(2, 1184, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tstzrange_subdiff"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3930), _1("tstzrange_subdiff"), _2(2), _3(true), _4(false), _5(tstzrange_subdiff), _6(701), _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(2, 1184, 1184), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tstzrange_subdiff"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tsvector_cmp", 1, - AddBuiltinFunc(_0(3622), _1("tsvector_cmp"), _2(2), _3(true), _4(false), _5(tsvector_cmp), _6(23), _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(2, 3614, 3614), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsvector_cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3622), _1("tsvector_cmp"), _2(2), _3(true), _4(false), _5(tsvector_cmp), _6(23), _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(2, 3614, 3614), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsvector_cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tsvector_concat", 1, - AddBuiltinFunc(_0(3625), _1("tsvector_concat"), _2(2), _3(true), _4(false), _5(tsvector_concat), _6(3614), _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(2, 3614, 3614), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsvector_concat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3625), _1("tsvector_concat"), _2(2), _3(true), _4(false), _5(tsvector_concat), _6(3614), _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(2, 3614, 3614), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsvector_concat"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tsvector_eq", 1, - AddBuiltinFunc(_0(3618), _1("tsvector_eq"), _2(2), _3(true), _4(false), _5(tsvector_eq), _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(2, 3614, 3614), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsvector_eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3618), _1("tsvector_eq"), _2(2), _3(true), _4(false), _5(tsvector_eq), _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(2, 3614, 3614), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsvector_eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tsvector_ge", 1, - AddBuiltinFunc(_0(3620), _1("tsvector_ge"), _2(2), _3(true), _4(false), _5(tsvector_ge), _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(2, 3614, 3614), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsvector_ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3620), _1("tsvector_ge"), _2(2), _3(true), _4(false), _5(tsvector_ge), _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(2, 3614, 3614), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsvector_ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tsvector_gt", 1, - AddBuiltinFunc(_0(3621), _1("tsvector_gt"), _2(2), _3(true), _4(false), _5(tsvector_gt), _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(2, 3614, 3614), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsvector_gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3621), _1("tsvector_gt"), _2(2), _3(true), _4(false), _5(tsvector_gt), _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(2, 3614, 3614), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsvector_gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tsvector_le", 1, - AddBuiltinFunc(_0(3617), _1("tsvector_le"), _2(2), _3(true), _4(false), _5(tsvector_le), _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(2, 3614, 3614), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsvector_le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3617), _1("tsvector_le"), _2(2), _3(true), _4(false), _5(tsvector_le), _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(2, 3614, 3614), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsvector_le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tsvector_lt", 1, - AddBuiltinFunc(_0(3616), _1("tsvector_lt"), _2(2), _3(true), _4(false), _5(tsvector_lt), _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(2, 3614, 3614), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsvector_lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3616), _1("tsvector_lt"), _2(2), _3(true), _4(false), _5(tsvector_lt), _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(2, 3614, 3614), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsvector_lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tsvector_ne", 1, - AddBuiltinFunc(_0(3619), _1("tsvector_ne"), _2(2), _3(true), _4(false), _5(tsvector_ne), _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(2, 3614, 3614), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsvector_ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3619), _1("tsvector_ne"), _2(2), _3(true), _4(false), _5(tsvector_ne), _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(2, 3614, 3614), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsvector_ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tsvector_update_trigger", 1, - AddBuiltinFunc(_0(3752), _1("tsvector_update_trigger"), _2(0), _3(false), _4(false), _5(tsvector_update_trigger_byid), _6(2279), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsvector_update_trigger_byid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3752), _1("tsvector_update_trigger"), _2(0), _3(false), _4(false), _5(tsvector_update_trigger_byid), _6(2279), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsvector_update_trigger_byid"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tsvector_update_trigger_column", 1, - AddBuiltinFunc(_0(3753), _1("tsvector_update_trigger_column"), _2(0), _3(false), _4(false), _5(tsvector_update_trigger_bycolumn), _6(2279), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsvector_update_trigger_bycolumn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3753), _1("tsvector_update_trigger_column"), _2(0), _3(false), _4(false), _5(tsvector_update_trigger_bycolumn), _6(2279), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsvector_update_trigger_bycolumn"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tsvectorin", 1, - AddBuiltinFunc(_0(3610), _1("tsvectorin"), _2(1), _3(true), _4(false), _5(tsvectorin), _6(3614), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsvectorin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3610), _1("tsvectorin"), _2(1), _3(true), _4(false), _5(tsvectorin), _6(3614), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsvectorin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tsvectorout", 1, - AddBuiltinFunc(_0(3611), _1("tsvectorout"), _2(1), _3(true), _4(false), _5(tsvectorout), _6(2275), _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(1, 3614), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsvectorout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3611), _1("tsvectorout"), _2(1), _3(true), _4(false), _5(tsvectorout), _6(2275), _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(1, 3614), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsvectorout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tsvectorrecv", 1, - AddBuiltinFunc(_0(3639), _1("tsvectorrecv"), _2(1), _3(true), _4(false), _5(tsvectorrecv), _6(3614), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsvectorrecv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3639), _1("tsvectorrecv"), _2(1), _3(true), _4(false), _5(tsvectorrecv), _6(3614), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsvectorrecv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "tsvectorsend", 1, - AddBuiltinFunc(_0(3638), _1("tsvectorsend"), _2(1), _3(true), _4(false), _5(tsvectorsend), _6(17), _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(1, 3614), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsvectorsend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3638), _1("tsvectorsend"), _2(1), _3(true), _4(false), _5(tsvectorsend), _6(17), _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(1, 3614), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("tsvectorsend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "txid_current", 1, - AddBuiltinFunc(_0(2943), _1("txid_current"), _2(0), _3(true), _4(false), _5(txid_current), _6(20), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("txid_current"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2943), _1("txid_current"), _2(0), _3(true), _4(false), _5(txid_current), _6(20), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("txid_current"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "txid_current_snapshot", 1, - AddBuiltinFunc(_0(2944), _1("txid_current_snapshot"), _2(0), _3(true), _4(false), _5(txid_current_snapshot), _6(2970), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("txid_current_snapshot"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2944), _1("txid_current_snapshot"), _2(0), _3(true), _4(false), _5(txid_current_snapshot), _6(2970), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("txid_current_snapshot"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "txid_snapshot_in", 1, - AddBuiltinFunc(_0(2939), _1("txid_snapshot_in"), _2(1), _3(true), _4(false), _5(txid_snapshot_in), _6(2970), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("txid_snapshot_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2939), _1("txid_snapshot_in"), _2(1), _3(true), _4(false), _5(txid_snapshot_in), _6(2970), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("txid_snapshot_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "txid_snapshot_out", 1, - AddBuiltinFunc(_0(2940), _1("txid_snapshot_out"), _2(1), _3(true), _4(false), _5(txid_snapshot_out), _6(2275), _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(1, 2970), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("txid_snapshot_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2940), _1("txid_snapshot_out"), _2(1), _3(true), _4(false), _5(txid_snapshot_out), _6(2275), _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(1, 2970), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("txid_snapshot_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "txid_snapshot_recv", 1, - AddBuiltinFunc(_0(2941), _1("txid_snapshot_recv"), _2(1), _3(true), _4(false), _5(txid_snapshot_recv), _6(2970), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("txid_snapshot_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2941), _1("txid_snapshot_recv"), _2(1), _3(true), _4(false), _5(txid_snapshot_recv), _6(2970), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("txid_snapshot_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "txid_snapshot_send", 1, - AddBuiltinFunc(_0(2942), _1("txid_snapshot_send"), _2(1), _3(true), _4(false), _5(txid_snapshot_send), _6(17), _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(1, 2970), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("txid_snapshot_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2942), _1("txid_snapshot_send"), _2(1), _3(true), _4(false), _5(txid_snapshot_send), _6(17), _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(1, 2970), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("txid_snapshot_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "txid_snapshot_xip", 1, - AddBuiltinFunc(_0(2947), _1("txid_snapshot_xip"), _2(1), _3(true), _4(true), _5(txid_snapshot_xip), _6(20), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(50), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 2970), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("txid_snapshot_xip"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2947), _1("txid_snapshot_xip"), _2(1), _3(true), _4(true), _5(txid_snapshot_xip), _6(20), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(50), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 2970), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("txid_snapshot_xip"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "txid_snapshot_xmax", 1, - AddBuiltinFunc(_0(2946), _1("txid_snapshot_xmax"), _2(1), _3(true), _4(false), _5(txid_snapshot_xmax), _6(20), _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(1, 2970), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("txid_snapshot_xmax"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2946), _1("txid_snapshot_xmax"), _2(1), _3(true), _4(false), _5(txid_snapshot_xmax), _6(20), _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(1, 2970), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("txid_snapshot_xmax"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "txid_snapshot_xmin", 1, - AddBuiltinFunc(_0(2945), _1("txid_snapshot_xmin"), _2(1), _3(true), _4(false), _5(txid_snapshot_xmin), _6(20), _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(1, 2970), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("txid_snapshot_xmin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2945), _1("txid_snapshot_xmin"), _2(1), _3(true), _4(false), _5(txid_snapshot_xmin), _6(20), _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(1, 2970), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("txid_snapshot_xmin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "txid_visible_in_snapshot", 1, - AddBuiltinFunc(_0(2948), _1("txid_visible_in_snapshot"), _2(2), _3(true), _4(false), _5(txid_visible_in_snapshot), _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(2, 20, 2970), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("txid_visible_in_snapshot"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2948), _1("txid_visible_in_snapshot"), _2(2), _3(true), _4(false), _5(txid_visible_in_snapshot), _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(2, 20, 2970), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("txid_visible_in_snapshot"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "unique_key_recheck", 1, - AddBuiltinFunc(_0(1250), _1("unique_key_recheck"), _2(0), _3(true), _4(false), _5(unique_key_recheck), _6(2279), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("unique_key_recheck"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1250), _1("unique_key_recheck"), _2(0), _3(true), _4(false), _5(unique_key_recheck), _6(2279), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("unique_key_recheck"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "unknownin", 1, - AddBuiltinFunc(_0(109), _1("unknownin"), _2(1), _3(true), _4(false), _5(unknownin), _6(705), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("unknownin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(109), _1("unknownin"), _2(1), _3(true), _4(false), _5(unknownin), _6(705), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("unknownin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "unknownout", 1, - AddBuiltinFunc(_0(110), _1("unknownout"), _2(1), _3(true), _4(false), _5(unknownout), _6(2275), _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(1, 705), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("unknownout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(110), _1("unknownout"), _2(1), _3(true), _4(false), _5(unknownout), _6(2275), _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(1, 705), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("unknownout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "unknownrecv", 1, - AddBuiltinFunc(_0(2416), _1("unknownrecv"), _2(1), _3(true), _4(false), _5(unknownrecv), _6(705), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("unknownrecv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2416), _1("unknownrecv"), _2(1), _3(true), _4(false), _5(unknownrecv), _6(705), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("unknownrecv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "unknownsend", 1, - AddBuiltinFunc(_0(2417), _1("unknownsend"), _2(1), _3(true), _4(false), _5(unknownsend), _6(17), _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(1, 705), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("unknownsend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2417), _1("unknownsend"), _2(1), _3(true), _4(false), _5(unknownsend), _6(17), _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(1, 705), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("unknownsend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "unnest", 1, - AddBuiltinFunc(_0(2331), _1("unnest"), _2(1), _3(true), _4(true), _5(array_unnest), _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('i'), _19(0), _20(1, 2277), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("array_unnest"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2331), _1("unnest"), _2(1), _3(true), _4(true), _5(array_unnest), _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('i'), _19(0), _20(1, 2277), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("array_unnest"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "update_pgjob", 1, - AddBuiltinFunc(_0(3998), _1("update_pgjob"), _2(9), _3(false), _4(false), _5(syn_update_pg_job), _6(2278), _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('v'), _19(0), _20(9, 20, 18, 20, 1114, 1114, 1114, 1114, 1114, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("syn_update_pg_job"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3998), _1("update_pgjob"), _2(9), _3(false), _4(false), _5(syn_update_pg_job), _6(2278), _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('v'), _19(0), _20(9, 20, 18, 20, 1114, 1114, 1114, 1114, 1114, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("syn_update_pg_job"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "upper", 2, - AddBuiltinFunc(_0(871), _1("upper"), _2(1), _3(true), _4(false), _5(upper), _6(25), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("upper"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3849), _1("upper"), _2(1), _3(true), _4(false), _5(range_upper), _6(2283), _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(1, 3831), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_upper"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(871), _1("upper"), _2(1), _3(true), _4(false), _5(upper), _6(25), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("upper"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3849), _1("upper"), _2(1), _3(true), _4(false), _5(range_upper), _6(2283), _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(1, 3831), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_upper"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "upper_inc", 1, - AddBuiltinFunc(_0(3852), _1("upper_inc"), _2(1), _3(true), _4(false), _5(range_upper_inc), _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(1, 3831), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_upper_inc"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3852), _1("upper_inc"), _2(1), _3(true), _4(false), _5(range_upper_inc), _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(1, 3831), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_upper_inc"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "upper_inf", 1, - AddBuiltinFunc(_0(3854), _1("upper_inf"), _2(1), _3(true), _4(false), _5(range_upper_inf), _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(1, 3831), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_upper_inf"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3854), _1("upper_inf"), _2(1), _3(true), _4(false), _5(range_upper_inf), _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(1, 3831), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("range_upper_inf"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "uuid_cmp", 1, - AddBuiltinFunc(_0(2960), _1("uuid_cmp"), _2(2), _3(true), _4(false), _5(uuid_cmp), _6(23), _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(2, 2950, 2950), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("uuid_cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2960), _1("uuid_cmp"), _2(2), _3(true), _4(false), _5(uuid_cmp), _6(23), _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(2, 2950, 2950), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("uuid_cmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "uuid_eq", 1, - AddBuiltinFunc(_0(2956), _1("uuid_eq"), _2(2), _3(true), _4(false), _5(uuid_eq), _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(true), _18('i'), _19(0), _20(2, 2950, 2950), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("uuid_eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2956), _1("uuid_eq"), _2(2), _3(true), _4(false), _5(uuid_eq), _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(true), _18('i'), _19(0), _20(2, 2950, 2950), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("uuid_eq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "uuid_ge", 1, - AddBuiltinFunc(_0(2957), _1("uuid_ge"), _2(2), _3(true), _4(false), _5(uuid_ge), _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(true), _18('i'), _19(0), _20(2, 2950, 2950), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("uuid_ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2957), _1("uuid_ge"), _2(2), _3(true), _4(false), _5(uuid_ge), _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(true), _18('i'), _19(0), _20(2, 2950, 2950), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("uuid_ge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "uuid_gt", 1, - AddBuiltinFunc(_0(2958), _1("uuid_gt"), _2(2), _3(true), _4(false), _5(uuid_gt), _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(true), _18('i'), _19(0), _20(2, 2950, 2950), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("uuid_gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2958), _1("uuid_gt"), _2(2), _3(true), _4(false), _5(uuid_gt), _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(true), _18('i'), _19(0), _20(2, 2950, 2950), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("uuid_gt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "uuid_hash", 1, - AddBuiltinFunc(_0(2963), _1("uuid_hash"), _2(1), _3(true), _4(false), _5(uuid_hash), _6(23), _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(1, 2950), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("uuid_hash"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2963), _1("uuid_hash"), _2(1), _3(true), _4(false), _5(uuid_hash), _6(23), _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(1, 2950), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("uuid_hash"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "uuid_in", 1, - AddBuiltinFunc(_0(2952), _1("uuid_in"), _2(1), _3(true), _4(false), _5(uuid_in), _6(2950), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("uuid_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2952), _1("uuid_in"), _2(1), _3(true), _4(false), _5(uuid_in), _6(2950), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("uuid_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "uuid_le", 1, - AddBuiltinFunc(_0(2955), _1("uuid_le"), _2(2), _3(true), _4(false), _5(uuid_le), _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(true), _18('i'), _19(0), _20(2, 2950, 2950), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("uuid_le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2955), _1("uuid_le"), _2(2), _3(true), _4(false), _5(uuid_le), _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(true), _18('i'), _19(0), _20(2, 2950, 2950), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("uuid_le"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "uuid_lt", 1, - AddBuiltinFunc(_0(2954), _1("uuid_lt"), _2(2), _3(true), _4(false), _5(uuid_lt), _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(true), _18('i'), _19(0), _20(2, 2950, 2950), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("uuid_lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2954), _1("uuid_lt"), _2(2), _3(true), _4(false), _5(uuid_lt), _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(true), _18('i'), _19(0), _20(2, 2950, 2950), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("uuid_lt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "uuid_ne", 1, - AddBuiltinFunc(_0(2959), _1("uuid_ne"), _2(2), _3(true), _4(false), _5(uuid_ne), _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(true), _18('i'), _19(0), _20(2, 2950, 2950), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("uuid_ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2959), _1("uuid_ne"), _2(2), _3(true), _4(false), _5(uuid_ne), _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(true), _18('i'), _19(0), _20(2, 2950, 2950), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("uuid_ne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "uuid_out", 1, - AddBuiltinFunc(_0(2953), _1("uuid_out"), _2(1), _3(true), _4(false), _5(uuid_out), _6(2275), _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(1, 2950), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("uuid_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2953), _1("uuid_out"), _2(1), _3(true), _4(false), _5(uuid_out), _6(2275), _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(1, 2950), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("uuid_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "uuid_recv", 1, - AddBuiltinFunc(_0(2961), _1("uuid_recv"), _2(1), _3(true), _4(false), _5(uuid_recv), _6(2950), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("uuid_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2961), _1("uuid_recv"), _2(1), _3(true), _4(false), _5(uuid_recv), _6(2950), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("uuid_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "uuid_send", 1, - AddBuiltinFunc(_0(2962), _1("uuid_send"), _2(1), _3(true), _4(false), _5(uuid_send), _6(17), _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(1, 2950), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("uuid_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2962), _1("uuid_send"), _2(1), _3(true), _4(false), _5(uuid_send), _6(17), _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(1, 2950), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("uuid_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "var_pop", 6, - AddBuiltinFunc(_0(2718), _1("var_pop"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2719), _1("var_pop"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2720), _1("var_pop"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2721), _1("var_pop"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2722), _1("var_pop"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2723), _1("var_pop"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2718), _1("var_pop"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2719), _1("var_pop"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2720), _1("var_pop"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2721), _1("var_pop"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2722), _1("var_pop"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2723), _1("var_pop"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "var_samp", 6, - AddBuiltinFunc(_0(2641), _1("var_samp"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2642), _1("var_samp"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2643), _1("var_samp"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2644), _1("var_samp"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2645), _1("var_samp"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2646), _1("var_samp"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2641), _1("var_samp"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2642), _1("var_samp"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2643), _1("var_samp"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2644), _1("var_samp"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2645), _1("var_samp"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2646), _1("var_samp"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "varbit", 1, - AddBuiltinFunc(_0(1687), _1("varbit"), _2(3), _3(true), _4(false), _5(varbit), _6(1562), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(3158), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(3, 1562, 23, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("varbit"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1687), _1("varbit"), _2(3), _3(true), _4(false), _5(varbit), _6(1562), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(3158), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(3, 1562, 23, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("varbit"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "varbit_in", 1, - AddBuiltinFunc(_0(1579), _1("varbit_in"), _2(3), _3(true), _4(false), _5(varbit_in), _6(1562), _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(3, 2275, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("varbit_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1579), _1("varbit_in"), _2(3), _3(true), _4(false), _5(varbit_in), _6(1562), _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(3, 2275, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("varbit_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "varbit_out", 1, - AddBuiltinFunc(_0(1580), _1("varbit_out"), _2(1), _3(true), _4(false), _5(varbit_out), _6(2275), _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(1, 1562), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("varbit_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1580), _1("varbit_out"), _2(1), _3(true), _4(false), _5(varbit_out), _6(2275), _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(1, 1562), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("varbit_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "varbit_recv", 1, - AddBuiltinFunc(_0(2458), _1("varbit_recv"), _2(3), _3(true), _4(false), _5(varbit_recv), _6(1562), _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(3, 2281, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("varbit_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2458), _1("varbit_recv"), _2(3), _3(true), _4(false), _5(varbit_recv), _6(1562), _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(3, 2281, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("varbit_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "varbit_send", 1, - AddBuiltinFunc(_0(2459), _1("varbit_send"), _2(1), _3(true), _4(false), _5(varbit_send), _6(17), _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(1, 1562), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("varbit_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2459), _1("varbit_send"), _2(1), _3(true), _4(false), _5(varbit_send), _6(17), _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(1, 1562), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("varbit_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "varbit_transform", 1, - AddBuiltinFunc(_0(3158), _1("varbit_transform"), _2(1), _3(true), _4(false), _5(varbit_transform), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("varbit_transform"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3158), _1("varbit_transform"), _2(1), _3(true), _4(false), _5(varbit_transform), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("varbit_transform"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "varbitcmp", 1, - AddBuiltinFunc(_0(1672), _1("varbitcmp"), _2(2), _3(true), _4(false), _5(bitcmp), _6(23), _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(2, 1562, 1562), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bitcmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1672), _1("varbitcmp"), _2(2), _3(true), _4(false), _5(bitcmp), _6(23), _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(2, 1562, 1562), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bitcmp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "varbiteq", 1, - AddBuiltinFunc(_0(1666), _1("varbiteq"), _2(2), _3(true), _4(false), _5(biteq), _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(true), _18('i'), _19(0), _20(2, 1562, 1562), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("biteq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1666), _1("varbiteq"), _2(2), _3(true), _4(false), _5(biteq), _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(true), _18('i'), _19(0), _20(2, 1562, 1562), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("biteq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "varbitge", 1, - AddBuiltinFunc(_0(1668), _1("varbitge"), _2(2), _3(true), _4(false), _5(bitge), _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(true), _18('i'), _19(0), _20(2, 1562, 1562), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bitge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1668), _1("varbitge"), _2(2), _3(true), _4(false), _5(bitge), _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(true), _18('i'), _19(0), _20(2, 1562, 1562), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bitge"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "varbitgt", 1, - AddBuiltinFunc(_0(1669), _1("varbitgt"), _2(2), _3(true), _4(false), _5(bitgt), _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(true), _18('i'), _19(0), _20(2, 1562, 1562), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bitgt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1669), _1("varbitgt"), _2(2), _3(true), _4(false), _5(bitgt), _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(true), _18('i'), _19(0), _20(2, 1562, 1562), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bitgt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "varbitle", 1, - AddBuiltinFunc(_0(1670), _1("varbitle"), _2(2), _3(true), _4(false), _5(bitle), _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(true), _18('i'), _19(0), _20(2, 1562, 1562), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bitle"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1670), _1("varbitle"), _2(2), _3(true), _4(false), _5(bitle), _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(true), _18('i'), _19(0), _20(2, 1562, 1562), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bitle"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "varbitlt", 1, - AddBuiltinFunc(_0(1671), _1("varbitlt"), _2(2), _3(true), _4(false), _5(bitlt), _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(true), _18('i'), _19(0), _20(2, 1562, 1562), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bitlt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1671), _1("varbitlt"), _2(2), _3(true), _4(false), _5(bitlt), _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(true), _18('i'), _19(0), _20(2, 1562, 1562), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bitlt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "varbitne", 1, - AddBuiltinFunc(_0(1667), _1("varbitne"), _2(2), _3(true), _4(false), _5(bitne), _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(true), _18('i'), _19(0), _20(2, 1562, 1562), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bitne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1667), _1("varbitne"), _2(2), _3(true), _4(false), _5(bitne), _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(true), _18('i'), _19(0), _20(2, 1562, 1562), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("bitne"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "varbittypmodin", 1, - AddBuiltinFunc(_0(2902), _1("varbittypmodin"), _2(1), _3(true), _4(false), _5(varbittypmodin), _6(23), _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(1, 1263), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("varbittypmodin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2902), _1("varbittypmodin"), _2(1), _3(true), _4(false), _5(varbittypmodin), _6(23), _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(1, 1263), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("varbittypmodin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "varbittypmodout", 1, - AddBuiltinFunc(_0(2921), _1("varbittypmodout"), _2(1), _3(true), _4(false), _5(varbittypmodout), _6(2275), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("varbittypmodout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2921), _1("varbittypmodout"), _2(1), _3(true), _4(false), _5(varbittypmodout), _6(2275), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("varbittypmodout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "varchar", 2, - AddBuiltinFunc(_0(669), _1("varchar"), _2(3), _3(true), _4(false), _5(varchar), _6(1043), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(3097), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(3, 1043, 23, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("varchar"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(1401), _1("varchar"), _2(1), _3(true), _4(false), _5(name_text), _6(1043), _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(1, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("name_text"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(669), _1("varchar"), _2(3), _3(true), _4(false), _5(varchar), _6(1043), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(3097), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(3, 1043, 23, 16), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("varchar"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(1401), _1("varchar"), _2(1), _3(true), _4(false), _5(name_text), _6(1043), _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(1, 19), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("name_text"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "varchar_date", 1, - AddBuiltinFunc(_0(4162), _1("varchar_date"), _2(1), _3(true), _4(false), _5(varchar_date), _6(1082), _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(1, 1043), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("varchar_date"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4162), _1("varchar_date"), _2(1), _3(true), _4(false), _5(varchar_date), _6(1082), _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(1, 1043), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("varchar_date"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "varchar_float4", 1, - AddBuiltinFunc(_0(4198), _1("varchar_float4"), _2(1), _3(true), _4(false), _5(varchar_float4), _6(700), _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(1, 1043), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("varchar_float4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4198), _1("varchar_float4"), _2(1), _3(true), _4(false), _5(varchar_float4), _6(700), _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(1, 1043), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("varchar_float4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "varchar_float8", 1, - AddBuiltinFunc(_0(4199), _1("varchar_float8"), _2(1), _3(true), _4(false), _5(varchar_float8), _6(701), _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(1, 1043), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("varchar_float8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4199), _1("varchar_float8"), _2(1), _3(true), _4(false), _5(varchar_float8), _6(701), _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(1, 1043), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("varchar_float8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "varchar_int4", 1, - AddBuiltinFunc(_0(4174), _1("varchar_int4"), _2(1), _3(true), _4(false), _5(varchar_int4), _6(23), _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(1, 1043), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("varchar_int4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4174), _1("varchar_int4"), _2(1), _3(true), _4(false), _5(varchar_int4), _6(23), _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(1, 1043), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("varchar_int4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "varchar_int8", 1, - AddBuiltinFunc(_0(4176), _1("varchar_int8"), _2(1), _3(true), _4(false), _5(varchar_int8), _6(20), _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(1, 1043), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("varchar_int8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4176), _1("varchar_int8"), _2(1), _3(true), _4(false), _5(varchar_int8), _6(20), _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(1, 1043), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("varchar_int8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "varchar_numeric", 1, - AddBuiltinFunc(_0(4173), _1("varchar_numeric"), _2(1), _3(true), _4(false), _5(varchar_numeric), _6(1700), _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(1, 1043), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("varchar_numeric"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4173), _1("varchar_numeric"), _2(1), _3(true), _4(false), _5(varchar_numeric), _6(1700), _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(1, 1043), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("varchar_numeric"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "varchar_timestamp", 1, - AddBuiltinFunc(_0(4186), _1("varchar_timestamp"), _2(1), _3(true), _4(false), _5(varchar_timestamp), _6(1114), _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(1, 1043), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("varchar_timestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(4186), _1("varchar_timestamp"), _2(1), _3(true), _4(false), _5(varchar_timestamp), _6(1114), _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(1, 1043), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("varchar_timestamp"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "varchar_transform", 1, - AddBuiltinFunc(_0(3097), _1("varchar_transform"), _2(1), _3(true), _4(false), _5(varchar_transform), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("varchar_transform"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3097), _1("varchar_transform"), _2(1), _3(true), _4(false), _5(varchar_transform), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("varchar_transform"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "varcharin", 1, - AddBuiltinFunc(_0(1046), _1("varcharin"), _2(3), _3(true), _4(false), _5(varcharin), _6(1043), _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(3, 2275, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("varcharin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1046), _1("varcharin"), _2(3), _3(true), _4(false), _5(varcharin), _6(1043), _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(3, 2275, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("varcharin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "varcharout", 1, - AddBuiltinFunc(_0(1047), _1("varcharout"), _2(1), _3(true), _4(false), _5(varcharout), _6(2275), _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(1, 1043), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("varcharout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1047), _1("varcharout"), _2(1), _3(true), _4(false), _5(varcharout), _6(2275), _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(1, 1043), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("varcharout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "varcharrecv", 1, - AddBuiltinFunc(_0(2432), _1("varcharrecv"), _2(3), _3(true), _4(false), _5(varcharrecv), _6(1043), _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('s'), _19(0), _20(3, 2281, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("varcharrecv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2432), _1("varcharrecv"), _2(3), _3(true), _4(false), _5(varcharrecv), _6(1043), _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('s'), _19(0), _20(3, 2281, 26, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("varcharrecv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "varcharsend", 1, - AddBuiltinFunc(_0(2433), _1("varcharsend"), _2(1), _3(true), _4(false), _5(varcharsend), _6(17), _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('s'), _19(0), _20(1, 1043), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("varcharsend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2433), _1("varcharsend"), _2(1), _3(true), _4(false), _5(varcharsend), _6(17), _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('s'), _19(0), _20(1, 1043), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("varcharsend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "varchartypmodin", 1, - AddBuiltinFunc(_0(2915), _1("varchartypmodin"), _2(1), _3(true), _4(false), _5(varchartypmodin), _6(23), _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(1, 1263), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("varchartypmodin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2915), _1("varchartypmodin"), _2(1), _3(true), _4(false), _5(varchartypmodin), _6(23), _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(1, 1263), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("varchartypmodin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "varchartypmodout", 1, - AddBuiltinFunc(_0(2916), _1("varchartypmodout"), _2(1), _3(true), _4(false), _5(varchartypmodout), _6(2275), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("varchartypmodout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2916), _1("varchartypmodout"), _2(1), _3(true), _4(false), _5(varchartypmodout), _6(2275), _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(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("varchartypmodout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "variance", 6, - AddBuiltinFunc(_0(2148), _1("variance"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2149), _1("variance"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2150), _1("variance"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2151), _1("variance"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2152), _1("variance"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2153), _1("variance"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2148), _1("variance"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2149), _1("variance"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2150), _1("variance"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 21), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2151), _1("variance"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2152), _1("variance"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(701), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 701), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2153), _1("variance"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(1700), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 1700), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "version", 1, - AddBuiltinFunc(_0(89), _1("version"), _2(0), _3(true), _4(false), _5(pgsql_version), _6(25), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pgsql_version"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(89), _1("version"), _2(0), _3(true), _4(false), _5(pgsql_version), _6(25), _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('s'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("pgsql_version"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "void_in", 1, - AddBuiltinFunc(_0(2298), _1("void_in"), _2(1), _3(true), _4(false), _5(void_in), _6(2278), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("void_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2298), _1("void_in"), _2(1), _3(true), _4(false), _5(void_in), _6(2278), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("void_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "void_out", 1, - AddBuiltinFunc(_0(2299), _1("void_out"), _2(1), _3(true), _4(false), _5(void_out), _6(2275), _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(1, 2278), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("void_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2299), _1("void_out"), _2(1), _3(true), _4(false), _5(void_out), _6(2275), _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(1, 2278), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("void_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "void_recv", 1, - AddBuiltinFunc(_0(3120), _1("void_recv"), _2(1), _3(true), _4(false), _5(void_recv), _6(2278), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("void_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3120), _1("void_recv"), _2(1), _3(true), _4(false), _5(void_recv), _6(2278), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("void_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "void_send", 1, - AddBuiltinFunc(_0(3121), _1("void_send"), _2(1), _3(true), _4(false), _5(void_send), _6(17), _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(1, 2278), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("void_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3121), _1("void_send"), _2(1), _3(true), _4(false), _5(void_send), _6(17), _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(1, 2278), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("void_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "wdr_xdb_query", 1, - AddBuiltinFunc(_0(5713), _1("wdr_xdb_query"), _2(2), _3(true), _4(true), _5(wdr_xdb_query), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("wdr_xdb_query"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5713), _1("wdr_xdb_query"), _2(2), _3(true), _4(true), _5(wdr_xdb_query), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(1000), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('v'), _19(0), _20(2, 25, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("wdr_xdb_query"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "width", 1, - AddBuiltinFunc(_0(976), _1("width"), _2(1), _3(true), _4(false), _5(box_width), _6(701), _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(1, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_width"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(976), _1("width"), _2(1), _3(true), _4(false), _5(box_width), _6(701), _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(1, 603), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("box_width"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "width_bucket", 2, - AddBuiltinFunc(_0(320), _1("width_bucket"), _2(4), _3(true), _4(false), _5(width_bucket_float8), _6(23), _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(4, 701, 701, 701, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("width_bucket_float8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2170), _1("width_bucket"), _2(4), _3(true), _4(false), _5(width_bucket_numeric), _6(23), _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(4, 1700, 1700, 1700, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("width_bucket_numeric"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(320), _1("width_bucket"), _2(4), _3(true), _4(false), _5(width_bucket_float8), _6(23), _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(4, 701, 701, 701, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("width_bucket_float8"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2170), _1("width_bucket"), _2(4), _3(true), _4(false), _5(width_bucket_numeric), _6(23), _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(4, 1700, 1700, 1700, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("width_bucket_numeric"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "working_version_num", 1, - AddBuiltinFunc(_0(5731), _1("working_version_num"), _2(0), _3(true), _4(false), _5(working_version_num), _6(23), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("working_version_num"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(5731), _1("working_version_num"), _2(0), _3(true), _4(false), _5(working_version_num), _6(23), _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('v'), _19(0), _20(0), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("working_version_num"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "xideq", 1, - AddBuiltinFunc(_0(68), _1("xideq"), _2(2), _3(true), _4(false), _5(xideq), _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(true), _18('i'), _19(0), _20(2, 28, 28), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("xideq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(68), _1("xideq"), _2(2), _3(true), _4(false), _5(xideq), _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(true), _18('i'), _19(0), _20(2, 28, 28), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("xideq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "xideq4", 1, - AddBuiltinFunc(_0(71), _1("xideq4"), _2(2), _3(true), _4(false), _5(xideq4), _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(true), _18('i'), _19(0), _20(2, 31, 31), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("xideq4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(71), _1("xideq4"), _2(2), _3(true), _4(false), _5(xideq4), _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(true), _18('i'), _19(0), _20(2, 31, 31), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("xideq4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "xideqint4", 1, - AddBuiltinFunc(_0(1321), _1("xideqint4"), _2(2), _3(true), _4(false), _5(xideq4), _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(2, 31, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("xideq4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1321), _1("xideqint4"), _2(2), _3(true), _4(false), _5(xideq4), _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(2, 31, 23), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("xideq4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "xideqint8", 1, - AddBuiltinFunc(_0(1319), _1("xideqint8"), _2(2), _3(true), _4(false), _5(xideq), _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(2, 28, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("xideq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1319), _1("xideqint8"), _2(2), _3(true), _4(false), _5(xideq), _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(2, 28, 20), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("xideq"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "xidin", 1, - AddBuiltinFunc(_0(50), _1("xidin"), _2(1), _3(true), _4(false), _5(xidin), _6(28), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("xidin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(50), _1("xidin"), _2(1), _3(true), _4(false), _5(xidin), _6(28), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("xidin"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "xidin4", 1, - AddBuiltinFunc(_0(58), _1("xidin4"), _2(1), _3(true), _4(false), _5(xidin4), _6(31), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("xidin4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(58), _1("xidin4"), _2(1), _3(true), _4(false), _5(xidin4), _6(31), _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(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("xidin4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "xidlt", 1, - AddBuiltinFunc(_0(1320), _1("xidlt"), _2(2), _3(true), _4(false), _5(xidlt), _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(true), _18('i'), _19(0), _20(2, 28, 28), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("xidlt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1320), _1("xidlt"), _2(2), _3(true), _4(false), _5(xidlt), _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(true), _18('i'), _19(0), _20(2, 28, 28), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("xidlt"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "xidlt4", 1, - AddBuiltinFunc(_0(1322), _1("xidlt4"), _2(2), _3(true), _4(false), _5(xidlt4), _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(true), _18('i'), _19(0), _20(2, 31, 31), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("xidlt4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(1322), _1("xidlt4"), _2(2), _3(true), _4(false), _5(xidlt4), _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(true), _18('i'), _19(0), _20(2, 31, 31), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("xidlt4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "xidout", 1, - AddBuiltinFunc(_0(51), _1("xidout"), _2(1), _3(true), _4(false), _5(xidout), _6(2275), _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(1, 28), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("xidout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(51), _1("xidout"), _2(1), _3(true), _4(false), _5(xidout), _6(2275), _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(1, 28), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("xidout"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "xidout4", 1, - AddBuiltinFunc(_0(59), _1("xidout4"), _2(1), _3(true), _4(false), _5(xidout4), _6(2275), _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(1, 31), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("xidout4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(59), _1("xidout4"), _2(1), _3(true), _4(false), _5(xidout4), _6(2275), _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(1, 31), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("xidout4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "xidrecv", 1, - AddBuiltinFunc(_0(2440), _1("xidrecv"), _2(1), _3(true), _4(false), _5(xidrecv), _6(28), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("xidrecv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2440), _1("xidrecv"), _2(1), _3(true), _4(false), _5(xidrecv), _6(28), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("xidrecv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "xidrecv4", 1, - AddBuiltinFunc(_0(2779), _1("xidrecv4"), _2(1), _3(true), _4(false), _5(xidrecv4), _6(31), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("xidrecv4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2779), _1("xidrecv4"), _2(1), _3(true), _4(false), _5(xidrecv4), _6(31), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("xidrecv4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "xidsend", 1, - AddBuiltinFunc(_0(2441), _1("xidsend"), _2(1), _3(true), _4(false), _5(xidsend), _6(17), _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(1, 28), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("xidsend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2441), _1("xidsend"), _2(1), _3(true), _4(false), _5(xidsend), _6(17), _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(1, 28), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("xidsend"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "xidsend4", 1, - AddBuiltinFunc(_0(2780), _1("xidsend4"), _2(1), _3(true), _4(false), _5(xidsend4), _6(17), _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(1, 31), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("xidsend4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2780), _1("xidsend4"), _2(1), _3(true), _4(false), _5(xidsend4), _6(17), _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(1, 31), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("xidsend4"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "xml", 1, - AddBuiltinFunc(_0(2896), _1("xml"), _2(1), _3(true), _4(false), _5(texttoxml), _6(142), _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('s'), _19(0), _20(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("texttoxml"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2896), _1("xml"), _2(1), _3(true), _4(false), _5(texttoxml), _6(142), _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('s'), _19(0), _20(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("texttoxml"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "xml_in", 1, - AddBuiltinFunc(_0(2893), _1("xml_in"), _2(1), _3(true), _4(false), _5(xml_in), _6(142), _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('s'), _19(0), _20(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("xml_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2893), _1("xml_in"), _2(1), _3(true), _4(false), _5(xml_in), _6(142), _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('s'), _19(0), _20(1, 2275), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("xml_in"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "xml_is_well_formed", 1, - AddBuiltinFunc(_0(3051), _1("xml_is_well_formed"), _2(1), _3(true), _4(false), _5(xml_is_well_formed), _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('s'), _19(0), _20(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("xml_is_well_formed"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3051), _1("xml_is_well_formed"), _2(1), _3(true), _4(false), _5(xml_is_well_formed), _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('s'), _19(0), _20(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("xml_is_well_formed"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "xml_is_well_formed_content", 1, - AddBuiltinFunc(_0(3053), _1("xml_is_well_formed_content"), _2(1), _3(true), _4(false), _5(xml_is_well_formed_content), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("xml_is_well_formed_content"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3053), _1("xml_is_well_formed_content"), _2(1), _3(true), _4(false), _5(xml_is_well_formed_content), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("xml_is_well_formed_content"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "xml_is_well_formed_document", 1, - AddBuiltinFunc(_0(3052), _1("xml_is_well_formed_document"), _2(1), _3(true), _4(false), _5(xml_is_well_formed_document), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("xml_is_well_formed_document"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3052), _1("xml_is_well_formed_document"), _2(1), _3(true), _4(false), _5(xml_is_well_formed_document), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("xml_is_well_formed_document"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "xml_out", 1, - AddBuiltinFunc(_0(2894), _1("xml_out"), _2(1), _3(true), _4(false), _5(xml_out), _6(2275), _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(1, 142), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("xml_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2894), _1("xml_out"), _2(1), _3(true), _4(false), _5(xml_out), _6(2275), _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(1, 142), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("xml_out"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "xml_recv", 1, - AddBuiltinFunc(_0(2898), _1("xml_recv"), _2(1), _3(true), _4(false), _5(xml_recv), _6(142), _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('s'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("xml_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2898), _1("xml_recv"), _2(1), _3(true), _4(false), _5(xml_recv), _6(142), _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('s'), _19(0), _20(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("xml_recv"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "xml_send", 1, - AddBuiltinFunc(_0(2899), _1("xml_send"), _2(1), _3(true), _4(false), _5(xml_send), _6(17), _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('s'), _19(0), _20(1, 142), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("xml_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2899), _1("xml_send"), _2(1), _3(true), _4(false), _5(xml_send), _6(17), _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('s'), _19(0), _20(1, 142), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("xml_send"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "xmlagg", 1, - AddBuiltinFunc(_0(XMLAGGFUNCOID), _1("xmlagg"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(142), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 142), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(XMLAGGFUNCOID), _1("xmlagg"), _2(1), _3(false), _4(false), _5(aggregate_dummy), _6(142), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(true), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 142), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("aggregate_dummy"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "xmlcomment", 1, - AddBuiltinFunc(_0(2895), _1("xmlcomment"), _2(1), _3(true), _4(false), _5(xmlcomment), _6(142), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("xmlcomment"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2895), _1("xmlcomment"), _2(1), _3(true), _4(false), _5(xmlcomment), _6(142), _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(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("xmlcomment"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "xmlconcat2", 1, - AddBuiltinFunc(_0(2900), _1("xmlconcat2"), _2(2), _3(false), _4(false), _5(xmlconcat2), _6(142), _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(2, 142, 142), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("xmlconcat2"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2900), _1("xmlconcat2"), _2(2), _3(false), _4(false), _5(xmlconcat2), _6(142), _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(2, 142, 142), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("xmlconcat2"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "xmlexists", 1, - AddBuiltinFunc(_0(2614), _1("xmlexists"), _2(2), _3(true), _4(false), _5(xmlexists), _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(2, 25, 142), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("xmlexists"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2614), _1("xmlexists"), _2(2), _3(true), _4(false), _5(xmlexists), _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(2, 25, 142), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("xmlexists"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "xmlvalidate", 1, - AddBuiltinFunc(_0(2897), _1("xmlvalidate"), _2(2), _3(true), _4(false), _5(xmlvalidate), _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(2, 142, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("xmlvalidate"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2897), _1("xmlvalidate"), _2(2), _3(true), _4(false), _5(xmlvalidate), _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(2, 142, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("xmlvalidate"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "xpath", 2, - AddBuiltinFunc(_0(2931), _1("xpath"), _2(3), _3(true), _4(false), _5(xpath), _6(143), _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(3, 25, 142, 1009), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("xpath"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(2932), _1("xpath"), _2(2), _3(true), _4(false), _5(NULL), _6(143), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 25, 142), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select pg_catalog.xpath($1, $2, '{}'::pg_catalog.text[])"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(2931), _1("xpath"), _2(3), _3(true), _4(false), _5(xpath), _6(143), _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(3, 25, 142, 1009), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("xpath"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(2932), _1("xpath"), _2(2), _3(true), _4(false), _5(NULL), _6(143), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 25, 142), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select pg_catalog.xpath($1, $2, '{}'::pg_catalog.text[])"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "xpath_exists", 2, - AddBuiltinFunc(_0(3049), _1("xpath_exists"), _2(3), _3(true), _4(false), _5(xpath_exists), _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(3, 25, 142, 1009), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("xpath_exists"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")), - AddBuiltinFunc(_0(3050), _1("xpath_exists"), _2(2), _3(true), _4(false), _5(NULL), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 25, 142), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select pg_catalog.xpath_exists($1, $2, '{}'::pg_catalog.text[])"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3049), _1("xpath_exists"), _2(3), _3(true), _4(false), _5(xpath_exists), _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(3, 25, 142, 1009), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("xpath_exists"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')), + AddBuiltinFunc(_0(3050), _1("xpath_exists"), _2(2), _3(true), _4(false), _5(NULL), _6(16), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(SQLlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(2, 25, 142), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("select pg_catalog.xpath_exists($1, $2, '{}'::pg_catalog.text[])"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "zhprs_end", 1, - AddBuiltinFunc(_0(3794), _1("zhprs_end"), _2(1), _3(true), _4(false), _5(zhprs_end), _6(2278), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("zhprs_end"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3794), _1("zhprs_end"), _2(1), _3(true), _4(false), _5(zhprs_end), _6(2278), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("zhprs_end"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "zhprs_getlexeme", 1, - AddBuiltinFunc(_0(3793), _1("zhprs_getlexeme"), _2(3), _3(true), _4(false), _5(zhprs_getlexeme), _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(3, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("zhprs_getlexeme"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3793), _1("zhprs_getlexeme"), _2(3), _3(true), _4(false), _5(zhprs_getlexeme), _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(3, 2281, 2281, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("zhprs_getlexeme"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "zhprs_lextype", 1, - AddBuiltinFunc(_0(3795), _1("zhprs_lextype"), _2(1), _3(true), _4(false), _5(zhprs_lextype), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("zhprs_lextype"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3795), _1("zhprs_lextype"), _2(1), _3(true), _4(false), _5(zhprs_lextype), _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(1, 2281), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("zhprs_lextype"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), AddFuncGroup( "zhprs_start", 1, - AddBuiltinFunc(_0(3792), _1("zhprs_start"), _2(3), _3(true), _4(false), _5(zhprs_start), _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(3, 2281, 23, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("zhprs_start"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("f")) + AddBuiltinFunc(_0(3792), _1("zhprs_start"), _2(3), _3(true), _4(false), _5(zhprs_start), _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(3, 2281, 23, 26), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("zhprs_start"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ), diff --git a/src/common/backend/catalog/catalog.cpp b/src/common/backend/catalog/catalog.cpp old mode 100755 new mode 100644 index f4c7c851c..4c6f93766 --- a/src/common/backend/catalog/catalog.cpp +++ b/src/common/backend/catalog/catalog.cpp @@ -802,6 +802,10 @@ bool IsSnapshotNamespace(Oid namespaceId) return namespaceId == PG_SNAPSHOT_NAMESPACE; } +bool IsMonitorSpace(Oid namespaceId) +{ + return IsPerformanceNamespace(namespaceId) || IsSnapshotNamespace(namespaceId); +} /* * IsReservedName * True iff name starts with the pg_ prefix. diff --git a/src/common/backend/catalog/cstore_ctlg.cpp b/src/common/backend/catalog/cstore_ctlg.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/catalog/dependency.cpp b/src/common/backend/catalog/dependency.cpp old mode 100755 new mode 100644 index c80326660..bc40d9610 --- a/src/common/backend/catalog/dependency.cpp +++ b/src/common/backend/catalog/dependency.cpp @@ -1448,6 +1448,17 @@ static void AcquireDeletionLock(const ObjectAddress* object, int flags) LockRelationOid(object->objectId, ShareUpdateExclusiveLock); else LockRelationOid(object->objectId, AccessExclusiveLock); + + /* we must acquire the base relation lock for matview */ + if (get_rel_relkind(object->objectId) == RELKIND_MATVIEW) { + Relation matview = heap_open(object->objectId, AccessShareLock); + if (matview->rd_rules != NULL && + matview->rd_rules->numLocks == 1) { + Query *query = get_matview_query(matview); + acquire_mativew_tables_lock(query, false); + } + heap_close(matview, AccessShareLock); + } } else { /* assume we should lock the whole object not a sub-object */ LockDatabaseObject(object->classId, object->objectId, 0, AccessExclusiveLock); @@ -3066,7 +3077,7 @@ static void getRelationDescription(StringInfo buffer, Oid relid) appendStringInfo(buffer, _("view %s"), relname); break; case RELKIND_CONTQUERY: - appendStringInfo(buffer, _("contquery %s"), relname); + appendStringInfo(buffer, _("contview %s"), relname); break; case RELKIND_MATVIEW: appendStringInfo(buffer, _("materialized view %s"),relname); diff --git a/src/common/backend/catalog/dfsstore_ctlg.cpp b/src/common/backend/catalog/dfsstore_ctlg.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/catalog/gs_matview.cpp b/src/common/backend/catalog/gs_matview.cpp index a0162f17f..5e305ecd7 100644 --- a/src/common/backend/catalog/gs_matview.cpp +++ b/src/common/backend/catalog/gs_matview.cpp @@ -574,3 +574,23 @@ static Oid FindRoleid(Oid relid) ReleaseSysCache(tuple); return roleid; } + +/* + * acquire locks of matview's tables + */ +void acquire_mativew_tables_lock(Query *query, bool incremental) +{ + Relation rel; + ListCell *lc = NULL; + List *relids = NIL; + LOCKMODE lockmode = incremental ? ShareUpdateExclusiveLock : ExclusiveLock; + + relids = pull_up_rels_recursive((Node *)query); + foreach (lc, relids) { + Oid relid = (Oid)lfirst_oid(lc); + rel = heap_open(relid, lockmode); + heap_close(rel, NoLock); + } + + return; +} diff --git a/src/common/backend/catalog/heap.cpp b/src/common/backend/catalog/heap.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/catalog/index.cpp b/src/common/backend/catalog/index.cpp old mode 100755 new mode 100644 index a4c7b17ea..490b2c27b --- a/src/common/backend/catalog/index.cpp +++ b/src/common/backend/catalog/index.cpp @@ -2963,6 +2963,7 @@ double IndexBuildHeapScan(Relation heapRelation, Relation indexRelation, IndexIn */ LockBuffer(scan->rs_cbuf, BUFFER_LOCK_UNLOCK); XactLockTableWait(xwait); + CHECK_FOR_INTERRUPTS(); goto recheck; } } @@ -3008,6 +3009,7 @@ double IndexBuildHeapScan(Relation heapRelation, Relation indexRelation, IndexIn */ LockBuffer(scan->rs_cbuf, BUFFER_LOCK_UNLOCK); XactLockTableWait(xwait); + CHECK_FOR_INTERRUPTS(); goto recheck; } @@ -3999,6 +4001,12 @@ void reindex_index(Oid indexId, Oid indexPartId, bool skip_constraint_checks, if (!RELATION_IS_PARTITIONED(heapRelation)) /* for non partitioned table */ { + if (RELATION_IS_GLOBAL_TEMP(heapRelation) && !gtt_storage_attached(RelationGetRelid(heapRelation))) { + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot reindex when the global temporary table is not in use"))); + } + /* * I move it here to avoid useless invoking. */ diff --git a/src/common/backend/catalog/namespace.cpp b/src/common/backend/catalog/namespace.cpp old mode 100755 new mode 100644 index 6e3c72497..636bfc9d4 --- a/src/common/backend/catalog/namespace.cpp +++ b/src/common/backend/catalog/namespace.cpp @@ -779,12 +779,21 @@ bool RelationIsVisible(Oid relid) /* * TypenameGetTypid + * Wrapper for binary compatibility. + */ +Oid TypenameGetTypid(const char *typname) +{ + return TypenameGetTypidExtended(typname, true); +} + +/* + * TypenameGetTypidExtended * Try to resolve an unqualified datatype name. * Returns OID if type found in search path, else InvalidOid. * * This is essentially the same as RelnameGetRelid. */ -Oid TypenameGetTypid(const char* typname) +Oid TypenameGetTypidExtended(const char* typname, bool temp_ok) { Oid typid; ListCell* l = NULL; @@ -796,6 +805,10 @@ Oid TypenameGetTypid(const char* typname) foreach (l, tempActiveSearchPath) { Oid namespaceId = lfirst_oid(l); + /* do not look in temp namespace if temp_ok if false */ + if (!temp_ok && namespaceId == u_sess->catalog_cxt.myTempNamespace) + continue; + typid = GetSysCacheOid2(TYPENAMENSP, PointerGetDatum(typname), ObjectIdGetDatum(namespaceId)); if (OidIsValid(typid)) { list_free_ext(tempActiveSearchPath); @@ -3468,15 +3481,17 @@ void RemoveTmpNspFromSearchPath(Oid tmpnspId) { /* Sanity checks. */ + if (!OidIsValid(tmpnspId)) + return; + MemoryContext oldcxt = MemoryContextSwitchTo(THREAD_GET_MEM_CXT_GROUP(MEMORY_CONTEXT_EXECUTOR)); ListCell* lc = NULL; foreach (lc, u_sess->catalog_cxt.overrideStack) { OverrideStackEntry* entry = (OverrideStackEntry*)lfirst(lc); - if (OidIsValid(tmpnspId) && entry->inProcedure && - list_member_oid(u_sess->catalog_cxt.activeSearchPath, tmpnspId)) + if (entry->inProcedure && list_member_oid(u_sess->catalog_cxt.activeSearchPath, tmpnspId)) u_sess->catalog_cxt.activeSearchPath = list_delete_oid(u_sess->catalog_cxt.activeSearchPath, tmpnspId); - if (OidIsValid(tmpnspId) && entry->inProcedure && list_member_oid(entry->searchPath, tmpnspId)) + if (entry->inProcedure && list_member_oid(entry->searchPath, tmpnspId)) entry->searchPath = list_delete_oid(entry->searchPath, tmpnspId); } @@ -4844,7 +4859,7 @@ void validateTempRelation(Relation rel) { if (rel->rd_rel->relpersistence == RELPERSISTENCE_TEMP && !validateTempNamespace(rel->rd_rel->relnamespace)) { ereport(ERROR, - (errcode(ERRCODE_DATA_EXCEPTION), + (errcode(ERRCODE_INVALID_TEMP_OBJECTS), errmsg("Temp table's data is invalid because datanode %s restart. " "Quit your session to clean invalid temp tables.", g_instance.attr.attr_common.PGXCNodeName))); @@ -4918,7 +4933,7 @@ static void CheckTempTblAlias() // do noting for now, if query retry is on, just to skip validateTempRelation here } else if (!validateTempNamespace(u_sess->catalog_cxt.myTempNamespace)) { ereport(ERROR, - (errcode(ERRCODE_DATA_EXCEPTION), + (errcode(ERRCODE_INVALID_TEMP_OBJECTS), errmsg("Temp tables are invalid because datanode %s restart. " "Quit your session to clean invalid temp tables.", g_instance.attr.attr_common.PGXCNodeName))); diff --git a/src/common/backend/catalog/objectaddress.cpp b/src/common/backend/catalog/objectaddress.cpp old mode 100755 new mode 100644 index 4255dcf30..333638ea1 --- a/src/common/backend/catalog/objectaddress.cpp +++ b/src/common/backend/catalog/objectaddress.cpp @@ -544,7 +544,7 @@ static ObjectAddress get_relation_by_qualified_name( if (relation->rd_rel->relkind != RELKIND_CONTQUERY) ereport(ERROR, (errcode(ERRCODE_WRONG_OBJECT_TYPE), - errmsg("\"%s\" is not a contquery", RelationGetRelationName(relation)))); + errmsg("\"%s\" is not a contview", RelationGetRelationName(relation)))); break; case OBJECT_MATVIEW: if (relation->rd_rel->relkind != RELKIND_MATVIEW) diff --git a/src/common/backend/catalog/performance_views.sql b/src/common/backend/catalog/performance_views.sql old mode 100755 new mode 100644 index 7d29aedfd..98f7e568a --- a/src/common/backend/catalog/performance_views.sql +++ b/src/common/backend/catalog/performance_views.sql @@ -564,15 +564,14 @@ CREATE OR REPLACE VIEW dbe_perf.session_stat_activity AS S.enqueue, S.state, CASE - WHEN T.session_respool = 'unknown' THEN (U.rolrespool) :: name - ELSE T.session_respool + WHEN S.srespool = 'unknown' THEN (U.rolrespool) :: name + ELSE S.srespool END AS resource_pool, S.query_id, S.query - FROM pg_database D, pg_stat_get_activity(NULL) AS S, pg_authid U, gs_wlm_session_respool(0) AS T + FROM pg_database D, pg_stat_get_activity(NULL) AS S, pg_authid U WHERE S.datid = D.oid AND - S.usesysid = U.oid AND - T.threadid = S.pid; + S.usesysid = U.oid; CREATE OR REPLACE FUNCTION dbe_perf.get_global_session_stat_activity (out coorname text, out datid oid, out datname text, out pid bigint, diff --git a/src/common/backend/catalog/pg_aggregate.cpp b/src/common/backend/catalog/pg_aggregate.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/catalog/pg_cast_oid.txt b/src/common/backend/catalog/pg_cast_oid.txt old mode 100755 new mode 100644 diff --git a/src/common/backend/catalog/pg_collation.cpp b/src/common/backend/catalog/pg_collation.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/catalog/pg_constraint.cpp b/src/common/backend/catalog/pg_constraint.cpp old mode 100755 new mode 100644 index 20bc3a28a..df389c57c --- a/src/common/backend/catalog/pg_constraint.cpp +++ b/src/common/backend/catalog/pg_constraint.cpp @@ -974,6 +974,7 @@ int pgxc_find_primarykey(Oid relid, int16** indexed_col, bool check_is_immediate * two or more row updated/deleted, that is not allow in not-stream plan, may be lead to system crash. */ if (check_is_immediate && !indexStruct->indimmediate) { + ReleaseSysCache(indexTuple); continue; } diff --git a/src/common/backend/catalog/pg_conversion.cpp b/src/common/backend/catalog/pg_conversion.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/catalog/pg_db_role_setting.cpp b/src/common/backend/catalog/pg_db_role_setting.cpp index bbb1fbe01..9be3da01e 100644 --- a/src/common/backend/catalog/pg_db_role_setting.cpp +++ b/src/common/backend/catalog/pg_db_role_setting.cpp @@ -20,6 +20,31 @@ #include "utils/rel.h" #include "utils/rel_gs.h" #include "utils/snapmgr.h" +#ifdef ENABLE_MULTIPLE_NODES +#include "pgxc/pgxc.h" +#endif + +#ifdef ENABLE_MULTIPLE_NODES +/* + * The pooler connections between the CN and DN are reused, + * so the set value may not take effect on the DN. + * Therefore, we need to clean those old connections by hand. + */ +void printHintInfo(const char* dbName, const char* userName) +{ + if (dbName != NULL) { + ereport(INFO, (errmsg("To ensure that the settings take effect, run the following statement:" + " \"clean connection to all force for database %s;\" ", dbName), + errhint("This operation may interrupt the current running connection."))); + } + + if (userName != NULL) { + ereport(INFO, (errmsg("To ensure that the settings take effect, run the following statement:" + " \"clean connection to all force to user %s;\" ", userName), + errhint("This operation may interrupt the current running connection."))); + } +} +#endif void AlterSetting(Oid databaseid, Oid roleid, VariableSetStmt* setstmt) { diff --git a/src/common/backend/catalog/pg_depend.cpp b/src/common/backend/catalog/pg_depend.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/catalog/pg_enum.cpp b/src/common/backend/catalog/pg_enum.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/catalog/pg_hashbucket.cpp b/src/common/backend/catalog/pg_hashbucket.cpp index dfb6d44c2..66db22b3f 100644 --- a/src/common/backend/catalog/pg_hashbucket.cpp +++ b/src/common/backend/catalog/pg_hashbucket.cpp @@ -641,6 +641,7 @@ Relation bucketGetRelation(Relation rel, Partition part, int2 bucketId) bucket->rd_node.bucketNode = bucketId; bucket->rd_rel = NULL; bucket->rd_options = NULL; + bucket->rd_indexcxt = NULL; if (!IsBootstrapProcessingMode()) { ResourceOwnerRememberFakerelRef(t_thrd.utils_cxt.CurrentResourceOwner, bucket); @@ -676,6 +677,14 @@ Relation bucketGetRelation(Relation rel, Partition part, int2 bucketId) /* just reuse relatition or partition's stat info */ bucket->pgstat_info = (part == NULL) ? rel->pgstat_info : part->pd_pgstat_info; + if (OidIsValid(rel->rd_rel->relam)) { + bucket->rd_indexcxt = AllocSetContextCreate(u_sess->cache_mem_cxt, + PointerIsValid(part) ? PartitionGetPartitionName(part) : RelationGetRelationName(rel), + ALLOCSET_SMALL_MINSIZE, + ALLOCSET_SMALL_INITSIZE, + ALLOCSET_SMALL_MAXSIZE); + } + if (NULL != merge_reloption) { int relOptSize = VARSIZE_ANY(merge_reloption); errno_t ret = EOK; diff --git a/src/common/backend/catalog/pg_namespace.cpp b/src/common/backend/catalog/pg_namespace.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/catalog/pg_object.cpp b/src/common/backend/catalog/pg_object.cpp index b3ed3e470..bc1fa1370 100644 --- a/src/common/backend/catalog/pg_object.cpp +++ b/src/common/backend/catalog/pg_object.cpp @@ -193,6 +193,7 @@ void UpdatePgObjectMtime(Oid objectOid, PgObjectType objectType) return; } + relation = heap_open(PgObjectRelationId, RowExclusiveLock); tup = SearchSysCache2(PGOBJECTID, ObjectIdGetDatum(objectOid), CharGetDatum(objectType)); if (!HeapTupleIsValid(tup)) { CreatePgObject(objectOid, objectType, InvalidOid, false, true); @@ -210,14 +211,13 @@ void UpdatePgObjectMtime(Oid objectOid, PgObjectType objectType) replaces[Anum_pg_object_mtime - 1] = true; values[Anum_pg_object_mtime - 1] = nowtime; - relation = heap_open(PgObjectRelationId, RowExclusiveLock); HeapTuple newtuple = heap_modify_tuple(tup, RelationGetDescr(relation), values, nulls, replaces); simple_heap_update(relation, &newtuple->t_self, newtuple); CatalogUpdateIndexes(relation, newtuple); ReleaseSysCache(tup); heap_freetuple_ext(newtuple); - heap_close(relation, RowExclusiveLock); } + heap_close(relation, RowExclusiveLock); } /* diff --git a/src/common/backend/catalog/pg_operator.cpp b/src/common/backend/catalog/pg_operator.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/catalog/pg_proc.cpp b/src/common/backend/catalog/pg_proc.cpp index 8b74560a3..8888c36e5 100644 --- a/src/common/backend/catalog/pg_proc.cpp +++ b/src/common/backend/catalog/pg_proc.cpp @@ -29,6 +29,7 @@ #include "catalog/pg_type.h" #include "commands/defrem.h" #include "commands/user.h" +#include "commands/trigger.h" #include "executor/functions.h" #include "funcapi.h" #include "gs_policy/gs_policy_masking.h" @@ -201,29 +202,18 @@ static char* get_temp_library(bool absolute_path) initStringInfo(&temp_file_strinfo); bool isExecCN = (IS_PGXC_COORDINATOR && !IsConnFromCoord()); if (absolute_path) { - if (!GTM_MODE) - appendStringInfo(&temp_file_strinfo, - "%s/pg_plugin/T%lu_%s", - t_thrd.proc_cxt.pkglib_path, - isExecCN ? GetCurrentTransactionId() : t_thrd.xact_cxt.cn_xid, - isExecCN ? g_instance.attr.attr_common.PGXCNodeName : u_sess->attr.attr_common.application_name); - else - appendStringInfo(&temp_file_strinfo, - "%s/pg_plugin/%ld%lu", - t_thrd.proc_cxt.pkglib_path, - GetCurrentTransactionStartTimestamp(), - GetCurrentTransactionId()); + appendStringInfo(&temp_file_strinfo, + "%s/pg_plugin/%ld%lu", + t_thrd.proc_cxt.pkglib_path, + GetCurrentTransactionStartTimestamp(), + (GTM_MODE) ? (GetCurrentTransactionId()) : + (isExecCN ? GetCurrentTransactionId() : t_thrd.xact_cxt.cn_xid)); } else { - if (!GTM_MODE) - appendStringInfo(&temp_file_strinfo, - "$libdir/pg_plugin/T%lu_%s", - isExecCN ? GetCurrentTransactionId() : t_thrd.xact_cxt.cn_xid, - isExecCN ? g_instance.attr.attr_common.PGXCNodeName : u_sess->attr.attr_common.application_name); - else - appendStringInfo(&temp_file_strinfo, - "$libdir/pg_plugin/%ld%lu", - GetCurrentTransactionStartTimestamp(), - GetCurrentTransactionId()); + appendStringInfo(&temp_file_strinfo, + "$libdir/pg_plugin/%ld%lu", + GetCurrentTransactionStartTimestamp(), + (GTM_MODE) ? (GetCurrentTransactionId()) : + (isExecCN ? GetCurrentTransactionId() : t_thrd.xact_cxt.cn_xid)); } return temp_file_strinfo.data; @@ -1368,6 +1358,9 @@ Oid ProcedureCreate(const char* procedureName, Oid procNamespace, bool isOraStyl /* the 'shared dependencies' also change when update. */ deleteSharedDependencyRecordsFor(ProcedureRelationId, retval, 0); + + /* send invalid message for for relation holding replaced function as trigger */ + InvalidRelcacheForTriggerFunction(retval, ((Form_pg_proc)GETSTRUCT(tup))->prorettype); } myself.classId = ProcedureRelationId; diff --git a/src/common/backend/catalog/pg_shdepend.cpp b/src/common/backend/catalog/pg_shdepend.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/catalog/pg_type.cpp b/src/common/backend/catalog/pg_type.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/catalog/pgxc_class.cpp b/src/common/backend/catalog/pgxc_class.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/catalog/storage.cpp b/src/common/backend/catalog/storage.cpp index 93aa7ffbc..615d9de7b 100644 --- a/src/common/backend/catalog/storage.cpp +++ b/src/common/backend/catalog/storage.cpp @@ -506,7 +506,9 @@ void RelationDropStorage(Relation rel, bool isDfsTruncate) Tsdb::DropPartStorage(rel->rd_id, &(rel->rd_node), rel->rd_backend, rel->rd_rel->relowner, cudesc_relid_list); } - Tsdb::PartCacheMgr::GetInstance().clear_partition_cache(rel->rd_id); + if (g_instance.attr.attr_common.enable_tsdb) { + Tsdb::PartCacheMgr::GetInstance().clear_partition_cache(rel->rd_id); + } list_free_ext(cudesc_relid_list); } #endif /* ENABLE_MULTIPLE_NODES */ @@ -577,7 +579,9 @@ void PartitionDropStorage(Relation rel, Partition part) Tsdb::DropPartStorage( part->pd_id, &(part->pd_node), rel->rd_backend, rel->rd_rel->relowner, cudesc_relid_list); } - Tsdb::PartCacheMgr::GetInstance().clear_partition_cache(part->pd_id); + if (g_instance.attr.attr_common.enable_tsdb) { + Tsdb::PartCacheMgr::GetInstance().clear_partition_cache(part->pd_id); + } list_free_ext(cudesc_relid_list); } #endif /* ENABLE_MULTIPLE_NODES */ diff --git a/src/common/backend/catalog/storage_gtt.cpp b/src/common/backend/catalog/storage_gtt.cpp index e5b88985a..e7baeead4 100644 --- a/src/common/backend/catalog/storage_gtt.cpp +++ b/src/common/backend/catalog/storage_gtt.cpp @@ -353,8 +353,9 @@ void remember_gtt_storage_info(const RelFileNode rnode, Relation rel) securec_check(rc, "", ""); ctl.keysize = sizeof(Oid); ctl.entrysize = sizeof(gtt_local_hash_entry); - u_sess->gtt_ctx.gtt_storage_local_hash = - hash_create("global temporary table info", GTT_LOCAL_HASH_SIZE, &ctl, HASH_ELEM | HASH_BLOBS); + ctl.hcxt = SESS_GET_MEM_CXT_GROUP(MEMORY_CONTEXT_STORAGE); + u_sess->gtt_ctx.gtt_storage_local_hash = hash_create( + "global temporary table info", GTT_LOCAL_HASH_SIZE, &ctl, HASH_ELEM | HASH_CONTEXT | HASH_BLOBS); if (u_sess->cache_mem_cxt == nullptr) { u_sess->cache_mem_cxt = @@ -463,6 +464,7 @@ void forget_gtt_storage_info(Oid relid, const RelFileNode rnode, bool isCommit) gtt_relfilenode* gttnode2 = NULL; entry2 = gtt_search_by_relid(entry->oldrelid, false); + Assert(entry2 != NULL); gttnode2 = gtt_search_relfilenode(entry2, rnode.relNode, false); Assert(gttnode2->relfilenode == rnode.relNode); Assert(list_length(entry->relfilenode_list) == 1); @@ -503,6 +505,7 @@ void forget_gtt_storage_info(Oid relid, const RelFileNode rnode, bool isCommit) gtt_local_hash_entry* entry2 = NULL; entry2 = gtt_search_by_relid(entry->oldrelid, false); + Assert(entry2 != NULL); /* clean up footprint */ entry2->oldrelid = InvalidOid; } @@ -1072,9 +1075,17 @@ Datum pg_gtt_attached_pid(PG_FUNCTION_ARGS) if (ENABLE_THREAD_POOL) { ThreadPoolSessControl* sess_ctrl = g_threadPoolControler->GetSessionCtrl(); knl_session_context* sess = sess_ctrl->GetSessionByIdx(backendid); + if (sess == NULL) { // session already exited while processing bitmap + backendid = bms_next_member(map, backendid); + continue; + } pid = sess->attachPid; } else { proc = BackendIdGetProc(backendid); + if (proc == NULL) { // session already exited while processing bitmap + backendid = bms_next_member(map, backendid); + continue; + } pid = proc->pid; } @@ -1215,11 +1226,86 @@ void gtt_fix_index_state(Relation index) return; } -void init_gtt_storage(CmdType operation, ResultRelInfo* resultRelInfo) +/* remove junk files when other session exited unexpected */ +static void UnlinkJunkRelFile(Relation rel) +{ + if (rel->rd_smgr == NULL) { + RelationOpenSmgr(rel); + } + if (smgrexists(rel->rd_smgr, MAIN_FORKNUM)) { + elog(WARNING, "gtt relfilenode %u already exists", rel->rd_node.relNode); + smgrdounlink(rel->rd_smgr, false); + smgrclose(rel->rd_smgr); + } + + gtt_local_hash_entry* entry = gtt_search_by_relid(rel->rd_id, true); + if (entry == NULL) { + return; + } + gtt_relfilenode* dRnode = gtt_search_relfilenode(entry, rel->rd_node.relNode, true); + if (dRnode != NULL) { + entry->relfilenode_list = list_delete_ptr(entry->relfilenode_list, dRnode); + pfree(dRnode); + } + + return; +} + +static void CreateGTTRelFiles(const ResultRelInfo* resultRelInfo) { Relation relation = resultRelInfo->ri_RelationDesc; int i; - Oid toastrelid; + + /* remove junk files when other session exited unexpected */ + UnlinkJunkRelFile(relation); + + RelationCreateStorage( + relation->rd_node, RELPERSISTENCE_GLOBAL_TEMP, relation->rd_rel->relowner, InvalidOid, InvalidOid, relation); + for (i = 0; i < resultRelInfo->ri_NumIndices; i++) { + Relation index = resultRelInfo->ri_IndexRelationDescs[i]; + /* remove junk files when other session exited unexpected */ + UnlinkJunkRelFile(index); + + IndexInfo* info = resultRelInfo->ri_IndexRelationInfo[i]; + Assert(index->rd_index->indisvalid); + Assert(index->rd_index->indisready); + index_build(relation, NULL, index, NULL, info, index->rd_index->indisprimary, false, INDEX_CREATE_NONE_PARTITION); + } + + Oid toastrelid = relation->rd_rel->reltoastrelid; + if (OidIsValid(toastrelid)) { + Relation toastrel = relation_open(toastrelid, RowExclusiveLock); + /* remove junk files when other session exited unexpected */ + UnlinkJunkRelFile(toastrel); + + RelationCreateStorage( + toastrel->rd_node, RELPERSISTENCE_GLOBAL_TEMP, toastrel->rd_rel->relowner, InvalidOid, InvalidOid, toastrel); + + ListCell* indlist = NULL; + foreach (indlist, RelationGetIndexList(toastrel)) { + Oid indexId = lfirst_oid(indlist); + Relation currentIndex; + IndexInfo* indexInfo = NULL; + + currentIndex = index_open(indexId, RowExclusiveLock); + /* remove junk files when other session exited unexpected */ + UnlinkJunkRelFile(currentIndex); + + indexInfo = BuildDummyIndexInfo(currentIndex); + index_build( + toastrel, NULL, currentIndex, NULL, indexInfo, currentIndex->rd_index->indisprimary, false, INDEX_CREATE_NONE_PARTITION); + index_close(currentIndex, NoLock); + } + + relation_close(toastrel, NoLock); + } + + return; +} + +void init_gtt_storage(CmdType operation, ResultRelInfo* resultRelInfo) +{ + Relation relation = resultRelInfo->ri_RelationDesc; if (!RELATION_IS_GLOBAL_TEMP(relation)) { return; @@ -1237,46 +1323,12 @@ void init_gtt_storage(CmdType operation, ResultRelInfo* resultRelInfo) /* Open it at the smgr level if not already done */ RelationOpenSmgr(relation); } - if (smgrexists(relation->rd_smgr, MAIN_FORKNUM) && gtt_storage_attached(RelationGetRelid(relation))) { + + if (gtt_storage_attached(RelationGetRelid(relation))) { return; } - RelationCreateStorage( - relation->rd_node, RELPERSISTENCE_GLOBAL_TEMP, relation->rd_rel->relowner, InvalidOid, InvalidOid, relation); - for (i = 0; i < resultRelInfo->ri_NumIndices; i++) { - Relation index = resultRelInfo->ri_IndexRelationDescs[i]; - IndexInfo* info = resultRelInfo->ri_IndexRelationInfo[i]; - Assert(index->rd_index->indisvalid); - Assert(index->rd_index->indisready); - index_build(relation, NULL, index, NULL, info, index->rd_index->indisprimary, false, INDEX_CREATE_NONE_PARTITION); - } - - toastrelid = relation->rd_rel->reltoastrelid; - if (OidIsValid(toastrelid)) { - Relation toastrel; - ListCell* indlist; - - toastrel = relation_open(toastrelid, RowExclusiveLock); - RelationCreateStorage( - toastrel->rd_node, RELPERSISTENCE_GLOBAL_TEMP, toastrel->rd_rel->relowner, InvalidOid, InvalidOid, toastrel); - - foreach (indlist, RelationGetIndexList(toastrel)) { - Oid indexId = lfirst_oid(indlist); - Relation currentIndex; - IndexInfo* indexInfo = NULL; - - currentIndex = index_open(indexId, RowExclusiveLock); - - indexInfo = BuildDummyIndexInfo(currentIndex); - index_build( - toastrel, NULL, currentIndex, NULL, indexInfo, currentIndex->rd_index->indisprimary, false, INDEX_CREATE_NONE_PARTITION); - index_close(currentIndex, NoLock); - } - - relation_close(toastrel, NoLock); - } - - return; + CreateGTTRelFiles(resultRelInfo); } static void gtt_reset_statistics(gtt_local_hash_entry* entry) @@ -1354,9 +1406,11 @@ void gtt_switch_rel_relfilenode(Oid rel1, Oid relfilenode1, Oid rel2, Oid relfil return; entry1 = gtt_search_by_relid(rel1, false); + Assert(entry1 != NULL); gttRnode1 = gtt_search_relfilenode(entry1, relfilenode1, false); entry2 = gtt_search_by_relid(rel2, false); + Assert(entry2 != NULL); gttRnode2 = gtt_search_relfilenode(entry2, relfilenode2, false); oldcontext = MemoryContextSwitchTo(u_sess->gtt_ctx.gtt_relstats_context); diff --git a/src/common/backend/catalog/system_views.sql b/src/common/backend/catalog/system_views.sql index 5dbf42470..9ab37365f 100644 --- a/src/common/backend/catalog/system_views.sql +++ b/src/common/backend/catalog/system_views.sql @@ -941,16 +941,15 @@ CREATE OR REPLACE VIEW pg_catalog.pg_stat_activity AS S.enqueue, S.state, CASE - WHEN T.session_respool = 'unknown' THEN (U.rolrespool) :: name - ELSE T.session_respool + WHEN S.srespool = 'unknown' THEN (U.rolrespool) :: name + ELSE S.srespool END AS resource_pool, S.query_id, S.query, S.connection_info - FROM pg_database D, pg_stat_get_activity_with_conninfo(NULL) AS S, pg_authid U, gs_wlm_session_respool(0) AS T + FROM pg_database D, pg_stat_get_activity_with_conninfo(NULL) AS S, pg_authid U WHERE S.datid = D.oid AND - S.usesysid = U.oid AND - T.sessionid = S.sessionid; + S.usesysid = U.oid; CREATE OR REPLACE VIEW pg_catalog.pg_stat_activity_ng AS SELECT @@ -972,16 +971,15 @@ CREATE OR REPLACE VIEW pg_catalog.pg_stat_activity_ng AS S.enqueue, S.state, CASE - WHEN T.session_respool = 'unknown' THEN (U.rolrespool) :: name - ELSE T.session_respool + WHEN S.srespool = 'unknown' THEN (U.rolrespool) :: name + ELSE S.srespool END AS resource_pool, S.query_id, S.query, N.node_group - FROM pg_database D, pg_stat_get_activity(NULL) AS S, pg_stat_get_activity_ng(NULL) AS N, pg_authid U, gs_wlm_session_respool(0) AS T + FROM pg_database D, pg_stat_get_activity(NULL) AS S, pg_stat_get_activity_ng(NULL) AS N, pg_authid U WHERE S.datid = D.oid AND S.usesysid = U.oid AND - T.sessionid = S.sessionid AND S.sessionid = N.sessionid; ALTER TEXT SEARCH CONFIGURATION pound ADD MAPPING diff --git a/src/common/backend/catalog/toasting.cpp b/src/common/backend/catalog/toasting.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/client_logic/client_logic.cpp b/src/common/backend/client_logic/client_logic.cpp index 32d1ab173..724017017 100644 --- a/src/common/backend/client_logic/client_logic.cpp +++ b/src/common/backend/client_logic/client_logic.cpp @@ -23,13 +23,12 @@ #include "pg_config.h" #include "client_logic/client_logic.h" -#include "client_logic/client_logic_common.h" +#include "client_logic/cstrings_map.h" #include "access/sysattr.h" #include "commands/dbcommands.h" #include "catalog/dependency.h" #include "catalog/pg_namespace.h" #include "client_logic/cache.h" -#include "client_logic/client_logic_common.h" #include "utils/builtins.h" #include "utils/timestamp.h" #include "utils/acl.h" @@ -62,6 +61,8 @@ securec_check(rc, "\0", "\0"); \ } while (0) +const size_t ENCRYPTED_VALUE_MIN_LENGTH = 170; +const size_t ENCRYPTED_VALUE_MAX_LENGTH = 1024; static bool get_cmk_name(const Oid global_key_id, NameData &cmk_name); static Oid check_namespace(const List *key_name, Node * const stmt, char **keyname) @@ -631,9 +632,18 @@ static int process_column_settings_args(CreateClientLogicColumn *parsetree, Oid string_args.set("ALGORITHM", columnParam->value); break; } - case ClientLogicColumnProperty::CEK_EXPECTED_VALUE: + case ClientLogicColumnProperty::CEK_EXPECTED_VALUE: { + if (columnParam->value == NULL) { + ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR), errmsg("Invalid encrypted value"))); + } + size_t encrypted_value_size = strlen(columnParam->value); + if (encrypted_value_size < ENCRYPTED_VALUE_MIN_LENGTH || + encrypted_value_size > ENCRYPTED_VALUE_MAX_LENGTH) { + ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR), errmsg("Invalid encrypted value"))); + } string_args.set("ENCRYPTED_VALUE", columnParam->value); break; + } default: break; } diff --git a/src/common/backend/lib/dllist.cpp b/src/common/backend/lib/dllist.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/lib/stringinfo.cpp b/src/common/backend/lib/stringinfo.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/libpq/auth.cpp b/src/common/backend/libpq/auth.cpp old mode 100755 new mode 100644 index b22387358..0b5ac9ccc --- a/src/common/backend/libpq/auth.cpp +++ b/src/common/backend/libpq/auth.cpp @@ -737,12 +737,12 @@ void ClientAuthentication(Port* port) /* * Generate a string of fake salt bytes as user is not existed. */ -bool GenerateFakeSaltBytes(const char* user_name, char* fake_salt_bytes, int salt_len) +void GenerateFakeSaltBytes(const char* user_name, char* fake_salt_bytes, int salt_len) { SHA256_CTX2 ctx; - int combine_string_length = PREFIX_LENGTH + strlen(user_name); + int combine_string_length = POSTFIX_LENGTH + strlen(user_name); char *combine_string = (char*)palloc0(sizeof(char) * (combine_string_length + 1)); - char prefix[PREFIX_LENGTH + 1] = {0}; + char postfix[POSTFIX_LENGTH + 1] = {0}; char superuser_name[NAMEDATALEN] = {0}; unsigned char buf[SHA256_DIGEST_LENGTH] = {0}; char encrypt_string[ENCRYPTED_STRING_LENGTH + 1] = {0}; @@ -752,16 +752,12 @@ bool GenerateFakeSaltBytes(const char* user_name, char* fake_salt_bytes, int sal (void)GetSuperUserName((char*)superuser_name); superuser_stored_method = get_password_stored_method(superuser_name, encrypt_string, ENCRYPTED_STRING_LENGTH + 1); - if (superuser_stored_method != SHA256_PASSWORD && superuser_stored_method != COMBINED_PASSWORD) { - rc = memset_s(encrypt_string, ENCRYPTED_STRING_LENGTH + 1, 0, ENCRYPTED_STRING_LENGTH); + if (superuser_stored_method == SHA256_PASSWORD || superuser_stored_method == COMBINED_PASSWORD) { + rc = strncpy_s(postfix, POSTFIX_LENGTH + 1, encrypt_string + SALT_STRING_LENGTH, POSTFIX_LENGTH); securec_check(rc, "\0", "\0"); - pfree(combine_string); - return false; } - rc = strncpy_s(prefix, PREFIX_LENGTH + 1, encrypt_string + SALT_STRING_LENGTH, PREFIX_LENGTH); - securec_check(rc, "\0", "\0"); - rcs = snprintf_s(combine_string, combine_string_length + 1, combine_string_length, "%s%s", prefix, user_name); + rcs = snprintf_s(combine_string, combine_string_length + 1, combine_string_length, "%s%s", user_name, postfix); securec_check_ss(rcs, "\0", "\0"); SHA256_Init2(&ctx); SHA256_Update2(&ctx, (const uint8*)combine_string, combine_string_length); @@ -773,7 +769,6 @@ bool GenerateFakeSaltBytes(const char* user_name, char* fake_salt_bytes, int sal rc = memset_s(combine_string, combine_string_length + 1, 0, combine_string_length); securec_check(rc, "\0", "\0"); pfree(combine_string); - return true; } /* @@ -826,11 +821,7 @@ static void sendAuthRequest(Port* port, AuthRequest areq) * When login failed, let the server quit at the same place regardless of right or wrong * username. We construct a fake encrypted password here and send it the client. */ - if (!GenerateFakeSaltBytes(port->user_name, fake_salt_bytes, SALT_LENGTH)) { - ereport(ERROR, - (errcode(ERRCODE_INVALID_AUTHORIZATION_SPECIFICATION), - errmsg("Failed to Generate the fake salt"))); - } + GenerateFakeSaltBytes(port->user_name, fake_salt_bytes, SALT_LENGTH); retval = RAND_priv_bytes((GS_UCHAR*)fake_serverkey_bytes, (GS_UINT32)(HMAC_LENGTH)); if (retval != 1) { ereport(ERROR, diff --git a/src/common/backend/libpq/be-fsstubs.cpp b/src/common/backend/libpq/be-fsstubs.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/libpq/be-secure.cpp b/src/common/backend/libpq/be-secure.cpp index f76daf2b4..bf8837246 100644 --- a/src/common/backend/libpq/be-secure.cpp +++ b/src/common/backend/libpq/be-secure.cpp @@ -1217,7 +1217,6 @@ DH* genDHKeyPair(DHKeyLength dhType) unsigned char GENERATOR_2[] = {DH_GENERATOR_2}; BIGNUM* bn_genenrator_2 = BN_bin2bn(GENERATOR_2, sizeof(GENERATOR_2), NULL); if (bn_genenrator_2 == NULL) { - BN_free(bn_genenrator_2); return NULL; } @@ -1264,12 +1263,16 @@ DH* genDHKeyPair(DHKeyLength dhType) ret = DH_set0_pqg(dh, bn_prime, NULL, bn_genenrator_2); if (!ret) { + BN_free(bn_prime); + BN_free(bn_genenrator_2); DH_free(dh); return NULL; } ret = DH_generate_key(dh); if (!ret) { + BN_free(bn_prime); + BN_free(bn_genenrator_2); DH_free(dh); return NULL; } diff --git a/src/common/backend/libpq/crypt.cpp b/src/common/backend/libpq/crypt.cpp old mode 100755 new mode 100644 index 6acf5365b..3200897ea --- a/src/common/backend/libpq/crypt.cpp +++ b/src/common/backend/libpq/crypt.cpp @@ -33,24 +33,12 @@ #include "cipher.h" #include "openssl/evp.h" -/* Database Security: Support password complexity */ -typedef struct password_info { - char* shadow_pass; - TimestampTz vbegin; - TimestampTz vuntil; - bool isnull_begin; - bool isnull_until; -} password_info; - /* IAM authenication: iam role and config path info. */ #define IAM_ROLE_WITH_DWSDB_PRIV "dws_db_acc" #define DWS_IAMAUTH_CONFIG_PATH "/opt/dws/iamauth/" #define CLUSTERID_LEN 36 //clusterid example:36cessba-ec3d-478f-a5b7-561a9a5f463f #define TENANTID_LEN 32 //tenantid example:9e57dcaa89164a149f1b5f7130c49c52 - - -static bool get_stored_password(const char *role,password_info *pass_info); static bool GetValidPeriod(const char *role, password_info *passInfo); /* @@ -61,7 +49,8 @@ static bool GetValidPeriod(const char *role, password_info *passInfo); int32 get_password_stored_method(const char* role, char* encrypted_string, int len) { char* shadow_pass = NULL; - password_info pass_info; + password_info pass_info = {NULL, 0, 0, false, false}; + int32 stored_method; errno_t rc = EOK; if (encrypted_string == NULL) @@ -70,29 +59,33 @@ int32 get_password_stored_method(const char* role, char* encrypted_string, int l if (get_stored_password(role, &pass_info)) { shadow_pass = pass_info.shadow_pass; } else { + pfree_ext(pass_info.shadow_pass); return ERROR_PASSWORD; } if (isMD5(shadow_pass)) { - return MD5_PASSWORD; + stored_method = MD5_PASSWORD; } else if (isSHA256(shadow_pass)) { rc = strncpy_s((char*)encrypted_string, len, shadow_pass + SHA256_LENGTH, ENCRYPTED_STRING_LENGTH); securec_check(rc, "\0", "\0"); - return SHA256_PASSWORD; + stored_method = SHA256_PASSWORD; } else if (isCOMBINED(shadow_pass)) { rc = strncpy_s((char*)encrypted_string, len, shadow_pass + SHA256_LENGTH, ENCRYPTED_STRING_LENGTH); securec_check(rc, "\0", "\0"); - return COMBINED_PASSWORD; + stored_method = COMBINED_PASSWORD; } else { - return PLAIN_PASSWORD; + stored_method = PLAIN_PASSWORD; } + + pfree_ext(pass_info.shadow_pass); + return stored_method; } /* *Funcation : get_stored_password *Description: get user password information */ -static bool get_stored_password(const char* role, password_info* pass_info) +bool get_stored_password(const char* role, password_info* pass_info) { HeapTuple roleTup = NULL; Datum datum1; @@ -158,7 +151,7 @@ int CheckUserValid(Port* port, const char* role) TimestampTz vuntil = 0; bool isnull_begin = false; bool isnull_until = false; - password_info pass_info; + password_info pass_info = {NULL, 0, 0, false, false}; int retval = STATUS_ERROR; if (GetValidPeriod(role, &pass_info)) { @@ -193,7 +186,7 @@ int crypt_verify(const Port* port, const char* role, char* client_pass) int CRYPT_digest_ret; bool RFC5802_pass = false; - password_info pass_info; + password_info pass_info = {NULL, 0, 0, false, false}; errno_t errorno = EOK; if (get_stored_password(role, &pass_info)) { @@ -461,10 +454,11 @@ int crypt_verify(const Port* port, const char* role, char* client_pass) */ int get_stored_iteration(const char* role) { - password_info pass_info; + password_info pass_info = {NULL, 0, 0, false, false}; int iteration_count = 0; if (!get_stored_password(role, &pass_info)) { + pfree_ext(pass_info.shadow_pass); return -1; } diff --git a/src/common/backend/libpq/hba.cpp b/src/common/backend/libpq/hba.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/libpq/ip.cpp b/src/common/backend/libpq/ip.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/libpq/md5.cpp b/src/common/backend/libpq/md5.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/libpq/pqsignal.cpp b/src/common/backend/libpq/pqsignal.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/nodes/bitmapset.cpp b/src/common/backend/nodes/bitmapset.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/nodes/copyfuncs.cpp b/src/common/backend/nodes/copyfuncs.cpp index 22e4c49fb..f005f6a26 100644 --- a/src/common/backend/nodes/copyfuncs.cpp +++ b/src/common/backend/nodes/copyfuncs.cpp @@ -61,12 +61,15 @@ typedef struct OpMemInfo { */ /* Copy a simple scalar field (int, float, bool, enum, etc) */ -#define COPY_SCALAR_FIELD(fldname) \ - do { \ - errno_t rc; \ - rc = memcpy_s(&newnode->fldname, sizeof(newnode->fldname), &from->fldname, sizeof(from->fldname)); \ - securec_check(rc, "", ""); \ - } while (0) +#define COPY_SCALAR_FIELD(fldname) (newnode->fldname = from->fldname) + +#define COPY_ARRAY_FIELD(fldname) \ +do { \ + errno_t rc; \ + rc = memcpy_s(&newnode->fldname, sizeof(newnode->fldname), &from->fldname, sizeof(from->fldname)); \ + securec_check(rc, "", ""); \ +} while (0) + /* Copy a field that is a pointer to some kind of Node or Node tree */ #define COPY_NODE_FIELD(fldname) \ @@ -5040,7 +5043,7 @@ static VacuumStmt* _copyVacuumStmt(const VacuumStmt* from) COPY_SCALAR_FIELD(num_samples); COPY_NODE_FIELD(sampleRows); COPY_SCALAR_FIELD(tableidx); - COPY_SCALAR_FIELD(pstGlobalStatEx); + COPY_ARRAY_FIELD(pstGlobalStatEx); COPY_SCALAR_FIELD(memUsage.work_mem); COPY_SCALAR_FIELD(memUsage.max_mem); @@ -5345,6 +5348,7 @@ static CreateRlsPolicyStmt* _copyCreateRlsPolicyStmt(const CreateRlsPolicyStmt* COPY_NODE_FIELD(relation); COPY_STRING_FIELD(cmdName); COPY_SCALAR_FIELD(isPermissive); + COPY_SCALAR_FIELD(fromExternal); COPY_NODE_FIELD(roleList); COPY_NODE_FIELD(usingQual); @@ -5972,7 +5976,7 @@ static BloomFilterSet* _copyBloomFilterSet(const BloomFilterSet* from) if (from->startupEntries > 0) { newnode->valuePositions = (ValueBit*)palloc0(from->startupEntries * sizeof(ValueBit)); for (uint64 cell = 0; cell < from->startupEntries; cell++) { - COPY_SCALAR_FIELD(valuePositions[cell].position); + COPY_ARRAY_FIELD(valuePositions[cell].position); /* test valuePositions value */ for (int i = 0; i < 4; i++) { diff --git a/src/common/backend/nodes/equalfuncs.cpp b/src/common/backend/nodes/equalfuncs.cpp old mode 100755 new mode 100644 index bb5973ab7..eb3d4902c --- a/src/common/backend/nodes/equalfuncs.cpp +++ b/src/common/backend/nodes/equalfuncs.cpp @@ -194,9 +194,7 @@ static bool _equalAggref(const Aggref* a, const Aggref* b) #ifdef PGXC COMPARE_SCALAR_FIELD(aggtrantype); COMPARE_SCALAR_FIELD(agghas_collectfn); -#ifdef ENABLE_MULTIPLE_NODES COMPARE_SCALAR_FIELD(aggstage); -#endif #endif /* PGXC */ COMPARE_SCALAR_FIELD(aggcollid); COMPARE_SCALAR_FIELD(inputcollid); @@ -1867,6 +1865,7 @@ static bool _equalCreateRlsPolicyStmt(const CreateRlsPolicyStmt* a, const Create COMPARE_NODE_FIELD(relation); COMPARE_STRING_FIELD(cmdName); COMPARE_SCALAR_FIELD(isPermissive); + COMPARE_SCALAR_FIELD(fromExternal); COMPARE_NODE_FIELD(roleList); COMPARE_NODE_FIELD(usingQual); diff --git a/src/common/backend/nodes/list.cpp b/src/common/backend/nodes/list.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/nodes/makefuncs.cpp b/src/common/backend/nodes/makefuncs.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/nodes/nodeFuncs.cpp b/src/common/backend/nodes/nodeFuncs.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/nodes/nodes.cpp b/src/common/backend/nodes/nodes.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/nodes/outfuncs.cpp b/src/common/backend/nodes/outfuncs.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/nodes/print.cpp b/src/common/backend/nodes/print.cpp old mode 100755 new mode 100644 index c18fc2018..af06fa6cd --- a/src/common/backend/nodes/print.cpp +++ b/src/common/backend/nodes/print.cpp @@ -184,6 +184,7 @@ char* pretty_format_node_dump(const char* dump) /* force line break after ), unless another ) follows */ if (dump[i + 1] != ')') { line[j + 1] = '\0'; + format_debug_print_plan(line, indentDist, j); appendStringInfo(&str, "%s\n", line); j = indentDist - 1; while (dump[i + 1] == ' ') { @@ -209,6 +210,7 @@ char* pretty_format_node_dump(const char* dump) /* force line break before : */ if (j != indentDist) { line[j] = '\0'; + format_debug_print_plan(line, indentDist, j); appendStringInfo(&str, "%s\n", line); } j = indentDist; @@ -233,6 +235,114 @@ char* pretty_format_node_dump(const char* dump) #undef LINELEN } +/* + * format_debug_print_plan + * format plan contents for debug_print_plan parameter + * to handle En/Decryption info + */ +void format_debug_print_plan(char *force_line, int index, int length) +{ + if (u_sess->attr.attr_sql.Debug_print_plan) { + char *result = NULL; + char *encrypt = NULL; + char *decrypt = NULL; + char *format_str = NULL; + errno_t rc = EOK; + + result = strstr(force_line, "sql_statement"); + if (result != NULL) { + format_str = (char*)palloc0(length + 1); + rc = memcpy_s(format_str, (length + 1), force_line, (length + 1)); + securec_check(rc, "\0", "\0"); + tolower(format_str); + encrypt = strstr(format_str, "gs_encrypt_aes128"); + if (encrypt != NULL) { + mask_position(force_line, index, length, "gs_encrypt_aes128\\"); + } + decrypt = strstr(format_str, "gs_decrypt_aes128"); + if (decrypt != NULL) { + mask_position(force_line, index, length, "gs_decrypt_aes128\\"); + } + pfree_ext(format_str); + } + } + return; +} + +/* + * mask_position + * find out En/Decryption info postion and add mask info + */ +void mask_position(char *cmp_line, int index, int length, const char* cmp_str) +{ + char *subchar = NULL; + char *format_str = NULL; + int remain_pos = 0; + int scan_index = 0; + int cmp_len = 0; + errno_t rc = EOK; + + scan_index = index; + cmp_len = strlen(cmp_str); + subchar = (char*)palloc0(cmp_len); + format_str = (char*)palloc0(length + 1); + rc = memcpy_s(format_str, (length + 1), cmp_line, (length + 1)); + securec_check(rc, "\0", "\0"); + tolower(format_str); + + while (scan_index != length) { + if (format_str[scan_index] == cmp_str[0]) { + rc = memcpy_s(subchar, cmp_len, (format_str + scan_index), cmp_len); + securec_check(rc, "\0", "\0"); + if (strncmp(subchar, cmp_str, cmp_len) == 0) { + add_mask_policy(cmp_line, scan_index, length); + } + pfree_ext(subchar); + pfree_ext(format_str); + break; + } + scan_index++; + remain_pos = length - scan_index; + if (remain_pos < cmp_len) { + pfree_ext(subchar); + pfree_ext(format_str); + break; + } + } +} + +/* + * add_mask_policy + * add char '*' as mask policy + */ +void add_mask_policy(char *cmp_line, int scan_index, int length) +{ + /* str_len is char "gs_encrypt_aes128\" length */ + const int str_len = 18; + int index = scan_index + str_len; + + while (index <= length) { + cmp_line[index] = '*'; + index++; + } +} + +/* + * tolower + * tolower function to change char + */ +void tolower(char *tolower_query) +{ + /* to_lower is converting to lowercase number */ + const int to_lower = 32; + char *ret = tolower_query; + for (int i = 0; ret[i] != '\0'; i++) { + if ((ret[i] >= 'A') && (ret[i] <= 'Z')) { + ret[i] = ret[i] + to_lower; + } + } +} + /* * print_rt * print contents of range table diff --git a/src/common/backend/nodes/read.cpp b/src/common/backend/nodes/read.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/nodes/tidbitmap.cpp b/src/common/backend/nodes/tidbitmap.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/parser/Makefile b/src/common/backend/parser/Makefile index ccb4e2d41..66ebe0300 100644 --- a/src/common/backend/parser/Makefile +++ b/src/common/backend/parser/Makefile @@ -29,7 +29,7 @@ FLEXFLAGS = -CF -b -p -p include $(top_srcdir)/src/gausskernel/common.mk # scan is compiled as part of gram -gram.o: scan.cpp +gram.o: scan.inc # Latest flex causes warnings in this file. ifeq ($(GCC),yes) @@ -54,7 +54,7 @@ else sed -i 's/YY_NULL nullptr/YY_NULL 0/g' gram.cpp endif -scan.cpp: scan.l +scan.inc: scan.l ifdef FLEX $(FLEX) $(FLEXFLAGS) -o'$@' $< # @if [ `wc -l incremental) || IS_PGXC_DATANODE) { result = true; } break; @@ -807,6 +807,17 @@ static Query* transformDeleteStmt(ParseState* pstate, DeleteStmt* stmt) errmsg("Un-support feature"), errdetail("replication table doesn't allow DELETE LIMIT"))); } + + if (qry->limitCount != NULL) { + /* flag for discriminating rownum */ + Const *flag = makeNode(Const); + flag->ismaxvalue = true; + flag->location = -1; + flag->consttype = INT8OID; + flag->consttypmod = -1; + qry->limitOffset = (Node*)flag; + } + #ifdef ENABLE_MULTIPLE_NODES CheckTsDelete(pstate, qry); #endif /* ENABLE_MULTIPLE_NODES */ diff --git a/src/common/backend/parser/gram.y b/src/common/backend/parser/gram.y index 230feb5e8..1f00581b8 100755 --- a/src/common/backend/parser/gram.y +++ b/src/common/backend/parser/gram.y @@ -208,7 +208,7 @@ static void get_arg_mode_by_pos(const int pos, const char *argmodes, const int n static List *append_inarg_list(const char argmode, const ListCell *cell,List *in_parameter); static void check_outarg_info(const bool *have_assigend, const char *argmodes,const int proargnum); -bool IsValidIdentClientKey(char *input); +bool IsValidIdentClientKey(const char *input); bool IsValidIdent(char *input); bool IsValidGroupname(const char *input); static bool checkNlssortArgs(const char *argname); @@ -4812,7 +4812,7 @@ encryptionType: | ENCRYPTION_TYPE '=' DETERMINISTIC {$$ =EncryptionType::DETERMINISTIC_TYPE; } ; setting_name: - ColId { $$ = list_make1(makeString($1)); } + ColId { $$ = check_setting_name(list_make1(makeString($1)), yyscanner); } | ColId indirection { $$ = check_setting_name(lcons(makeString($1), $2), yyscanner); @@ -6060,6 +6060,11 @@ CreateMatViewStmt: (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), errmsg("WITH NO DATA for materialized views not yet supported"))); } + if ($3 && $6->options) { + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("options for incremental materialized views not yet supported"))); + } #ifndef ENABLE_MULTIPLE_NODES if ($3 && $6->distributeby) { ereport(ERROR, @@ -12040,7 +12045,6 @@ TypeOwner: RoleId { $$ = $1; } | SESSION_USER { $$ = pstrdup($1); } ; - /***************************************************************************** * * QUERY: Define Rewrite Rule @@ -14787,8 +14791,6 @@ ExplainableStmt: | MergeStmt | DeclareCursorStmt | CreateAsStmt - | CreateMatViewStmt - | RefreshMatViewStmt | ExecuteStmt /* by default all are $$=$1 */ ; @@ -15260,7 +15262,7 @@ DeleteStmt: opt_with_clause DELETE_P hint_string FROM relation_expr_opt_alias n->limitClause = (Node*)list_nth($8, 1); n->returningList = $9; n->withClause = $1; - n->hintState = create_hintstate($3); + n->hintState = create_hintstate($3); $$ = (Node *)n; } | opt_with_clause DELETE_P hint_string relation_expr_opt_alias @@ -15273,7 +15275,7 @@ DeleteStmt: opt_with_clause DELETE_P hint_string FROM relation_expr_opt_alias n->limitClause = (Node*)list_nth($7, 1); n->returningList = $8; n->withClause = $1; - n->hintState = create_hintstate($3); + n->hintState = create_hintstate($3); $$ = (Node *)n; } ; @@ -20087,6 +20089,7 @@ unreserved_keyword: | CONTENT_P | CONTINUE_P | CONVERSION_P + | CONTVIEW | COORDINATOR | COPY | COST @@ -20371,6 +20374,7 @@ unreserved_keyword: | STDOUT | STORAGE | STORE_P + | STREAM | STRICT_P | STRIP_P | SYNONYM @@ -20621,7 +20625,6 @@ reserved_keyword: | SELECT | SESSION_USER | SOME - | STREAM | SYMMETRIC | SYSDATE | TABLE @@ -20871,15 +20874,15 @@ check_func_name(List *names, core_yyscan_t yyscanner) } bool -IsValidIdentClientKey(char *input) +IsValidIdentClientKey(const char *input) { + if (input == NULL || strlen(input) <= 0) { + return false; + } char c = input[0]; - /*The first character id numbers or dollar*/ + /*The first character id numbers or dollar or point*/ if ((c >= '0' && c <= '9') || c == '$' || c == '.') { - ereport(ERROR, - (errcode(ERRCODE_SYNTAX_ERROR), - errmsg("invalid name: %s", input))); return false; } @@ -20893,9 +20896,6 @@ IsValidIdentClientKey(char *input) } else { - ereport(ERROR, - (errcode(ERRCODE_SYNTAX_ERROR), - errmsg("invalid name: %s", input))); return false; } } @@ -20910,7 +20910,16 @@ check_setting_name(List *names, core_yyscan_t yyscanner) foreach(i, names) { Value* v = (Value *)lfirst(i); - IsValidIdentClientKey(v->val.str); + if (v == NULL || v->type != T_String) { + ereport(ERROR, + (errcode(ERRCODE_SYNTAX_ERROR), + errmsg("invalid name"))); + } + if (!IsValidIdentClientKey(v->val.str)) { + ereport(ERROR, + (errcode(ERRCODE_SYNTAX_ERROR), + errmsg("invalid name"))); + } } return names; } @@ -21316,7 +21325,7 @@ SplitColQualList(List *qualList, if (*clientLogicColumnRef) ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR), - errmsg("multiple CLIENT_LOGIC columns are not allowed"), + errmsg("multiple encrypted columns are not allowed"), parser_errposition(e->location))); *clientLogicColumnRef = e; } @@ -22160,4 +22169,4 @@ static void parameter_check_execute_direct(const char* query) #undef yylval #undef yylloc -#include "scan.cpp" +#include "scan.inc" diff --git a/src/common/backend/parser/hint_gram.y b/src/common/backend/parser/hint_gram.y index b9987280b..7e722a762 100755 --- a/src/common/backend/parser/hint_gram.y +++ b/src/common/backend/parser/hint_gram.y @@ -521,5 +521,5 @@ makeBoolValue(bool state) } -#include "hint_scan.cpp" +#include "hint_scan.inc" diff --git a/src/common/backend/parser/parse_agg.cpp b/src/common/backend/parser/parse_agg.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/parser/parse_clause.cpp b/src/common/backend/parser/parse_clause.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/parser/parse_coerce.cpp b/src/common/backend/parser/parse_coerce.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/parser/parse_collate.cpp b/src/common/backend/parser/parse_collate.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/parser/parse_cte.cpp b/src/common/backend/parser/parse_cte.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/parser/parse_func.cpp b/src/common/backend/parser/parse_func.cpp old mode 100755 new mode 100644 index 5b99e6de8..7d606e59c --- a/src/common/backend/parser/parse_func.cpp +++ b/src/common/backend/parser/parse_func.cpp @@ -1743,7 +1743,15 @@ static Oid FuncNameAsType(List* funcname) Oid result; Type typtup; + /* + * temp_ok=false protects the + * contract for writing SECURITY DEFINER functions safely. + */ +#ifdef ENABLE_MULTIPLE_NODES typtup = LookupTypeName(NULL, makeTypeNameFromNameList(funcname), NULL); +#else + typtup = LookupTypeNameExtended(NULL, makeTypeNameFromNameList(funcname), NULL, false); +#endif if (typtup == NULL) return InvalidOid; diff --git a/src/common/backend/parser/parse_node.cpp b/src/common/backend/parser/parse_node.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/parser/parse_oper.cpp b/src/common/backend/parser/parse_oper.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/parser/parse_param.cpp b/src/common/backend/parser/parse_param.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/parser/parse_relation.cpp b/src/common/backend/parser/parse_relation.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/parser/parse_target.cpp b/src/common/backend/parser/parse_target.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/parser/parse_type.cpp b/src/common/backend/parser/parse_type.cpp old mode 100755 new mode 100644 index d9cbe7962..fd640a565 --- a/src/common/backend/parser/parse_type.cpp +++ b/src/common/backend/parser/parse_type.cpp @@ -106,6 +106,15 @@ static bool IsTypeInBlacklist(Oid typoid); /* * LookupTypeName + * Wrapper for typical case. + */ +Type LookupTypeName(ParseState *pstate, const TypeName *typeName, int32 *typmod_p, bool print_notice) +{ + return LookupTypeNameExtended(pstate, typeName, typmod_p, true, print_notice); +} + +/* + * LookupTypeNameExtended * Given a TypeName object, lookup the pg_type syscache entry of the type. * Returns NULL if no such type can be found. If the type is found, * the typmod value represented in the TypeName struct is computed and @@ -124,9 +133,15 @@ static bool IsTypeInBlacklist(Oid typoid); * found but is a shell, and there is typmod decoration, an error will be * thrown --- this is intentional. * + * If temp_ok is false, ignore types in the temporary namespace. Pass false + * when the caller will decide, using goodness of fit criteria, whether the + * typeName is actually a type or something else. If typeName always denotes + * a type (or denotes nothing), pass true. + * * pstate is only used for error location info, and may be NULL. */ -Type LookupTypeName(ParseState* pstate, const TypeName* typname, int32* typmod_p, bool print_notice) +Type LookupTypeNameExtended(ParseState* pstate, const TypeName* typname, int32* typmod_p, bool temp_ok, + bool print_notice) { Oid typoid; HeapTuple tup; @@ -193,7 +208,7 @@ Type LookupTypeName(ParseState* pstate, const TypeName* typname, int32* typmod_p typoid = get_atttype(relid, attnum); /* this construct should never have an array indicator */ - AssertEreport(typname->arrayBounds == NIL, MOD_OPT, ""); + Assert(typname->arrayBounds == NIL); /* emit nuisance notice (intentionally not errposition'd) */ if (print_notice) { @@ -216,7 +231,7 @@ Type LookupTypeName(ParseState* pstate, const TypeName* typname, int32* typmod_p typoid = GetSysCacheOid2(TYPENAMENSP, PointerGetDatum(typeName), ObjectIdGetDatum(namespaceId)); } else { /* Unqualified type name, so search the search path */ - typoid = TypenameGetTypid(typeName); + typoid = TypenameGetTypidExtended(typeName, temp_ok); } /* If an array reference, return the array type instead */ diff --git a/src/common/backend/parser/parse_utilcmd.cpp b/src/common/backend/parser/parse_utilcmd.cpp index 7b9053603..c5739420a 100644 --- a/src/common/backend/parser/parse_utilcmd.cpp +++ b/src/common/backend/parser/parse_utilcmd.cpp @@ -95,6 +95,7 @@ #include "client_logic/client_logic.h" #include "client_logic/client_logic_enums.h" +#include "storage/checksum_impl.h" /* State shared by transformCreateStmt and its subroutines */ typedef struct { @@ -2084,6 +2085,31 @@ static void transformOfType(CreateStmtContext* cxt, TypeName* ofTypename) ReleaseSysCache(tuple); } +char* getTmptableIndexName(const char* srcSchema, const char* srcIndex) +{ + char *idxname; + errno_t rc; + char srcIndexName[NAMEDATALEN * 2]; + Assert(strlen(srcSchema) < NAMEDATALEN && strlen(srcIndex) < NAMEDATALEN); + + rc = memset_s(srcIndexName, NAMEDATALEN * 2, 0, NAMEDATALEN * 2); + securec_check(rc, "", ""); + /* Generate idxname based on src schema and src index name */ + rc = strncpy_s(srcIndexName, NAMEDATALEN, srcSchema, NAMEDATALEN - 1); + securec_check(rc, "", ""); + rc = strncpy_s(srcIndexName + NAMEDATALEN, NAMEDATALEN, srcIndex, NAMEDATALEN - 1); + securec_check(rc, "", ""); + /* Calculates feature values based on schemas and indexes. */ + uint32 srcIndexNum = pg_checksum_block(srcIndexName, NAMEDATALEN * 2); + + /* In redistribution, idx name is "data_redis_tmp_index_srcIndexNum" */ + uint len = OIDCHARS + strlen("data_redis_tmp_index_") + 1; + idxname = (char*)palloc0(len); + int ret = snprintf_s(idxname, len, len -1, "data_redis_tmp_index_%u", srcIndexNum); + securec_check_ss(ret, "", ""); + return idxname; +} + /* * Generate an IndexStmt node using information from an already existing index * "source_idx". Attribute numbers should be adjusted according to attmap. @@ -2168,14 +2194,11 @@ static IndexStmt* generateClonedIndexStmt( */ if (PointerIsValid(rel) && RelationInClusterResizing(rel)) { /* Generate idxname based on src index name */ - errno_t rc; - uint4 len = strlen(NameStr(source_idx->rd_rel->relname)) + 1; - Assert(len <= NAMEDATALEN); - - index->idxname = (char*)palloc(len); - rc = strncpy_s(index->idxname, len, NameStr(source_idx->rd_rel->relname), len - 1); - securec_check(rc, "", ""); + char *srcSchema = get_namespace_name(source_idx->rd_rel->relnamespace); + char *srcIndex = NameStr(source_idx->rd_rel->relname); + index->idxname = getTmptableIndexName(srcSchema, srcIndex); isResize = true; + pfree_ext(srcSchema); } else { index->idxname = NULL; } @@ -4299,8 +4322,8 @@ List* transformCreateSchemaStmt(CreateSchemaStmt* stmt) cxt.triggers = lappend(cxt.triggers, element); } break; - case T_GrantStmt: /* GRANT XXX ON XXX TO XXX */ - case T_AlterRoleStmt: /* GRANT ALL PRIVILEGES TO XXX */ + case T_GrantStmt: + case T_AlterRoleStmt: cxt.grants = lappend(cxt.grants, element); break; @@ -6787,8 +6810,7 @@ TryReuseFilenode(Relation rel, CreateStmtContext *ctx, bool clonepart) static bool IsCreatingSeqforAnalyzeTempTable(CreateStmtContext* cxt) { - if ((u_sess->attr.attr_sql.default_statistics_target >= 0 && log_min_messages > DEBUG1) || - cxt->relation->relpersistence != RELPERSISTENCE_TEMP) { + if (cxt->relation->relpersistence != RELPERSISTENCE_TEMP) { return false; } bool isUnderAnalyze = false; diff --git a/src/common/backend/parser/parser.cpp b/src/common/backend/parser/parser.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/pgxc_single/barrier/barrier.cpp b/src/common/backend/pgxc_single/barrier/barrier.cpp index 03c70aff2..594f65a15 100644 --- a/src/common/backend/pgxc_single/barrier/barrier.cpp +++ b/src/common/backend/pgxc_single/barrier/barrier.cpp @@ -219,19 +219,24 @@ void RequestBarrier(const char* id, char* completionTag) static void WaitBarrierArchived() { - if (getObsReplicationSlot() == NULL) { - ereport(ERROR, (errcode(ERRCODE_OPERATE_FAILED), errmsg("Current dataNode is not start archived"))); - } - + int cnt = 0; ereport(LOG, (errmsg("Query barrier lsn: 0x%lx", g_instance.archive_obs_cxt.barrierLsn))); do { + if (NULL == getObsReplicationSlot()) { + ereport(ERROR, (errcode(ERRCODE_OPERATE_NOT_SUPPORTED), errmsg("Archived thread shut down."))); + } if (XLByteLE(pg_atomic_read_u64(&g_instance.archive_obs_cxt.barrierLsn), pg_atomic_read_u64(&g_instance.archive_obs_cxt.archive_task.targetLsn))) { break; } CHECK_FOR_INTERRUPTS(); pg_usleep(100000L); + cnt++; + /* timeout 10 minute */ + if (cnt > WAIT_ARCHIVE_TIMEOUT) { + ereport(ERROR, (errcode(ERRCODE_OPERATE_NOT_SUPPORTED), errmsg("Wait archived timeout."))); + } } while (1); ereport(LOG, (errmsg("Query archive lsn: 0x%lx", g_instance.archive_obs_cxt.archive_task.targetLsn))); @@ -274,7 +279,8 @@ static void barrier_redo_pause() while (IS_DISASTER_RECOVER_MODE) { RedoInterruptCallBack(); - if (strcmp((char *)walrcv->lastRecoveredBarrierId, (char *)walrcv->recoveryTargetBarrierId) < 0) { + if (strcmp((char *)walrcv->lastRecoveredBarrierId, (char *)walrcv->recoveryTargetBarrierId) < 0 || + strcmp((char *)walrcv->lastRecoveredBarrierId, (char *)walrcv->recoveryStopBarrierId) == 0) { break; } else { pg_usleep(1000L); diff --git a/src/common/backend/pgxc_single/nodemgr/groupmgr.cpp b/src/common/backend/pgxc_single/nodemgr/groupmgr.cpp index d35b7ee8e..2ca428f80 100644 --- a/src/common/backend/pgxc_single/nodemgr/groupmgr.cpp +++ b/src/common/backend/pgxc_single/nodemgr/groupmgr.cpp @@ -1271,8 +1271,6 @@ void PgxcGroupAddNode(Oid group_oid, Oid nodeid) pfree_ext(gmember_ref); pfree_ext(gmember); - // Group has changed, so remove it's cache. - ngroup_info_hash_delete(group_oid); } /* @@ -1314,8 +1312,6 @@ void PgxcGroupRemoveNode(Oid group_oid, Oid nodeid) ReleaseSysCache(tup); - // Group has changed, so remove it's cache. - ngroup_info_hash_delete(group_oid); } #pragma GCC diagnostic pop /* @@ -2935,9 +2931,6 @@ static void PgxcGroupAddNodes(const char* group_name, List* nodes) PgxcChangeGroupMember(group_oid, gmember); pfree_ext(gmember); - - // Group has changed, so remove it's cache. - ngroup_info_hash_delete(group_oid); } /* @@ -3034,8 +3027,6 @@ static void PgxcGroupDeleteNodes(const char* group_name, List* nodes) PgxcChangeGroupMember(group_oid, gmember); pfree_ext(gmember); - // Group has changed, so remove it's cache. - ngroup_info_hash_delete(group_oid); } #ifdef ENABLE_MULTIPLE_NODES diff --git a/src/common/backend/pgxc_single/nodemgr/nodemgr.cpp b/src/common/backend/pgxc_single/nodemgr/nodemgr.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/pgxc_single/pool/execRemote.cpp b/src/common/backend/pgxc_single/pool/execRemote.cpp old mode 100755 new mode 100644 index 7b54a558e..fb6c839c9 --- a/src/common/backend/pgxc_single/pool/execRemote.cpp +++ b/src/common/backend/pgxc_single/pool/execRemote.cpp @@ -6893,13 +6893,6 @@ void ExecCloseRemoteStatement(const char* stmt_name, List* nodelist) if (connections[i]->state == DN_CONNECTION_STATE_QUERY) BufferConnection(connections[i]); - if (ENABLE_CN_GPC && pgxc_node_send_cn_identifier(connections[i], HANDLE_RUN) != 0) { - connections[i]->state = DN_CONNECTION_STATE_ERROR_FATAL; - ereport(WARNING, - (errcode(ERRCODE_CONNECTION_EXCEPTION), - errmsg("Failed to send global session id to Datanode %u",connections[i]->nodeoid))); - } - if (pgxc_node_send_close(connections[i], true, stmt_name) != 0) { /* * statements are not affected by statement end, so consider diff --git a/src/common/backend/pgxc_single/pool/pgxcnode.cpp b/src/common/backend/pgxc_single/pool/pgxcnode.cpp index 98003489f..ea4005a58 100644 --- a/src/common/backend/pgxc_single/pool/pgxcnode.cpp +++ b/src/common/backend/pgxc_single/pool/pgxcnode.cpp @@ -3610,14 +3610,6 @@ pgxc_node_send_queryid(PGXCNodeHandle *handle, uint64 queryid) return 0; } -int -pgxc_node_send_cn_identifier(PGXCNodeHandle *handle, PGXCNode_HandleGPC handle_type) -{ - Assert(false); - DISTRIBUTED_FEATURE_NOT_SUPPORTED(); - return 0; -} - /* * Send unique sql id to PGXC node * @@ -3868,8 +3860,9 @@ pgxc_node_notify_commit(PGXCNodeHandle * handle) ss_rc = memcpy_s(handle->outBuffer + handle->outEnd, handle->outSize - handle->outEnd, &msglen, 4); securec_check(ss_rc,"\0","\0"); handle->outEnd += 4; + CommitSeqNo currentNextCommitSeqNo = pg_atomic_read_u64(&t_thrd.xact_cxt.ShmemVariableCache->nextCommitSeqNo); ss_rc = memcpy_s(handle->outBuffer + handle->outEnd, handle->outSize - handle->outEnd, - &t_thrd.xact_cxt.ShmemVariableCache->nextCommitSeqNo, sizeof(uint64)); + ¤tNextCommitSeqNo, sizeof(uint64)); securec_check(ss_rc,"\0","\0"); handle->outEnd += sizeof(uint64); diff --git a/src/common/backend/pgxc_single/pool/poolmgr.cpp b/src/common/backend/pgxc_single/pool/poolmgr.cpp index 7c66ae45d..77d400295 100644 --- a/src/common/backend/pgxc_single/pool/poolmgr.cpp +++ b/src/common/backend/pgxc_single/pool/poolmgr.cpp @@ -179,7 +179,8 @@ static void agent_acquire_connections_parallel( static uint32 get_current_connection_nums(Oid* cnOids, Oid* dnOids, List* cn_list, List* dn_list); static void agent_acquire_connections_start(PoolAgent* agent, List* datanodelist, List* coordlist); static void agent_acquire_connections_end(PoolAgent* agent); -static bool is_current_node_during_connecting(PoolAgent* agent, Oid node_oid, char node_type); +static bool is_current_node_during_connecting( + PoolAgent* agent, const NodeRelationInfo *needClearNodeArray, int waitClearCnt, char node_type); extern void reset_params_htab(HTAB* htab, bool); extern PGresult* LibcommGetResult(NODE_CONNECTION* conn); @@ -1356,26 +1357,11 @@ List* PoolCleanInvalidFreeSlot(List* invalid_slots, Oid node_oid, char* invalid_ /* * check whether current node is under connecting process */ -bool is_current_node_during_connecting(PoolAgent* agent, Oid node_oid, char node_type) +bool is_current_node_during_connecting( + PoolAgent* agent, NodeRelationInfo *needClearNodeArray, int waitClearCnt, char node_type) { - int i; - - if (node_type == PGXC_NODE_DATANODE && agent->dn_connecting_cnt != 0) { - for (i = 0; i < agent->dn_connecting_cnt; i++) { - if (agent->dn_connecting_oids[i] == node_oid) { - return true; - } - } - } - - if (node_type == PGXC_NODE_COORDINATOR && agent->coord_connecting_cnt != 0) { - for (i = 0; i < agent->coord_connecting_cnt; i++) { - if (agent->coord_connecting_oids[i] == node_oid) { - return true; - } - } - } - + Assert(false); + DISTRIBUTED_FEATURE_NOT_SUPPORTED(); return false; } @@ -1402,6 +1388,7 @@ InvalidBackendEntry* PoolManagerValidateConnection(bool clear, const char* co_no /* invalid slot list, it free in destroy_slots() */ List* invalid_slots = NIL; pg_conn* invalid_conn = NULL; + NodeRelationInfo needClearNodeArray = {0}; /* Lock in exclusive mode so we can see a static pooler. */ LWLockAcquire(PoolerLock, LW_EXCLUSIVE); @@ -1471,7 +1458,8 @@ InvalidBackendEntry* PoolManagerValidateConnection(bool clear, const char* co_no entry[i].total_len += strlen(node_name) + 1; entry[i].is_connecting = false; entry[i].num_nodes++; - } else if (is_current_node_during_connecting(poolAgents[i], node_oid, node_form->node_type)) { + } else if (is_current_node_during_connecting( + poolAgents[i], &needClearNodeArray, 0, node_form->node_type)) { /* current agent is going to connect this invalid node_oid */ if (entry[i].tid == 0) { entry[i].tid = poolAgents[i]->pid; @@ -1516,7 +1504,8 @@ InvalidBackendEntry* PoolManagerValidateConnection(bool clear, const char* co_no entry[i].is_connecting = false; entry[i].num_nodes++; } - } else if (is_current_node_during_connecting(poolAgents[i], node_oid, node_form->node_type)) { + } else if (is_current_node_during_connecting( + poolAgents[i], &needClearNodeArray, 0, node_form->node_type)) { /* current agent is going to connect this invalid node_oid */ if (entry[i].tid == 0) { entry[i].tid = poolAgents[i]->pid; @@ -2124,7 +2113,7 @@ int create_connections_parallel( * @Return: slaveNodeNums * @See also: */ -int get_nodeinfo_from_matric(PoolGeneralInfo *info, int needCreateArrayLen, NodeRelationInfo *needCreateNodeArray) +int get_nodeinfo_from_matric(char nodeType, int needCreateArrayLen, NodeRelationInfo *needCreateNodeArray) { int i = 0; int slaveNodeNums = 0; @@ -2137,7 +2126,7 @@ int get_nodeinfo_from_matric(PoolGeneralInfo *info, int needCreateArrayLen, Node "get_nodeInfo_from_matric: needCreateNodeArray is null."))); } - if (IS_DN_DUMMY_STANDYS_MODE() || info->node_type == POOL_NODE_CN) { + if (IS_DN_DUMMY_STANDYS_MODE() || nodeType == PGXC_NODE_COORDINATOR) { slaveNodeNums = 1; /* total primary dn num is slaveNodeNums, but we will try the dummy node again when the failure occurs */ tmpNodeArray = (Oid*)palloc0(sizeof(Oid) * needCreateArrayLen * (slaveNodeNums + 1)); @@ -2923,13 +2912,15 @@ int one_round_create_connection(PoolGeneralInfo* info, NodeRelationInfo *needCre int slaveNodeNums = 0; int circleLoopNums = 0; int failedCount = 0; + char nodeType; /* add the active/standby relationship table for retry connections when connect primary node failed. */ if (needCreateArrayLen > 0) { /* only the primary node needs to be tried when PoolerConnectMaxRetries is 0. */ - slaveNodeNums = get_nodeinfo_from_matric(info, needCreateArrayLen, needCreateNodeArray); + nodeType = (info->node_type == POOL_NODE_CN) ? PGXC_NODE_COORDINATOR : PGXC_NODE_DATANODE; + slaveNodeNums = get_nodeinfo_from_matric(nodeType, needCreateArrayLen, needCreateNodeArray); circleLoopNums = (u_sess->attr.attr_network.PoolerConnectMaxLoops == 0 || - info->node_type == POOL_NODE_CN) ? 1 : (slaveNodeNums + 1); + nodeType == PGXC_NODE_COORDINATOR) ? 1 : (slaveNodeNums + 1); } /* Create data node connections parallel */ diff --git a/src/common/backend/pgxc_single/pool/poolutils.cpp b/src/common/backend/pgxc_single/pool/poolutils.cpp index 420c3fee3..9dd32b416 100644 --- a/src/common/backend/pgxc_single/pool/poolutils.cpp +++ b/src/common/backend/pgxc_single/pool/poolutils.cpp @@ -134,6 +134,90 @@ Datum pgxc_pool_reload(PG_FUNCTION_ARGS) PG_RETURN_BOOL(true); } +static bool CheckRoleValid(const char *userName) +{ + if (userName != NULL && !OidIsValid(get_role_oid(userName, false))) { + ereport(WARNING, (errcode(ERRCODE_UNDEFINED_OBJECT), errmsg("role \"%s\" does not exist", userName))); + return false; + } + + return true; +} + +static void CheckDBActivate(const char *userName, const char *dbName, Oid dbOid) +{ + if (dbName != NULL) { + int otherBackendsNum = 0, preparedXactsNum = 0; + + if (CountOtherDBBackends(dbOid, &otherBackendsNum, &preparedXactsNum)) { + ereport(ERROR, + (errcode(ERRCODE_OBJECT_IN_USE), + errmsg("database \"%s\" is being accessed by other users", dbName), + errdetail_busy_db(otherBackendsNum, preparedXactsNum))); + } + } else { + Oid roleId = get_role_oid(userName, false); + if (CountUserBackends(roleId)) + ereport( + ERROR, (errcode(ERRCODE_OBJECT_IN_USE), errmsg("role \"%s\" is being used by other users", userName))); + } +} + +static void SendSignalToProcess(const char *dbName, Oid dbOid, const char *userName, Oid userOid) +{ + if ((dbName == NULL) && (userName == NULL)) { + ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR), errmsg("must define Database name or user name"))); + } + if ((dbOid == InvalidOid) && (userOid == InvalidOid)) { + ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR), errmsg("database oid and user oid are all wrong"))); + } + + int loop = 0; + int totalSessions = 0; + int countAcviteSessions = 0; + /* clear inner sessions(Autovacum and WDRXdb). */ + if (dbName != NULL) { + int otherBackendsNum = 0; + int preparedXactsNum = 0; + + if (CountOtherDBBackends(dbOid, &otherBackendsNum, &preparedXactsNum)) { + ereport(LOG, (errmsg("Autovacum and WDRXdb sessions are cleaned successfully"))); + } else { + ereport(LOG, (errmsg("Autovacum and WDRXdb sessions no need to clean"))); + } + } + + CHECK_FOR_INTERRUPTS(); + + if (ENABLE_THREAD_POOL) { + /* clear active session in thread pool mode */ + totalSessions = g_threadPoolControler->GetSessionCtrl()->CleanDBSessions(dbOid, userOid); + do { + countAcviteSessions = g_threadPoolControler->GetSessionCtrl()->CountDBSessionsNotCleaned(dbOid, userOid); + loop++; + pg_usleep(1000000); + } while ((countAcviteSessions > 0) && (loop < TIMEOUT_CLEAN_LOOP)); + if (loop == TIMEOUT_CLEAN_LOOP) { + ereport(WARNING, (errcode(ERRCODE_SYNTAX_ERROR), + errmsg("clean active sessions in thread pool mode not completed, remains %d.", countAcviteSessions))); + } + ereport(LOG, (errmsg("clean %d sessions in thread pool mode", totalSessions - countAcviteSessions))); + } + + /* clear active session in non-thread pool mode or HA connection */ + loop = 0; + while ((CountSingleNodeActiveBackends(dbOid, userOid) > 0) && (loop < TIMEOUT_CLEAN_LOOP)) { + CancelSingleNodeBackends(dbOid, userOid, PROCSIG_RECOVERY_CONFLICT_DATABASE, true); + loop++; + pg_usleep(1000000); + } + if (loop == TIMEOUT_CLEAN_LOOP) { + ereport(WARNING, (errcode(ERRCODE_SYNTAX_ERROR), + errmsg("clean active sessions in non-thread pool mode not completed."))); + } + return; +} + /* * CleanConnection() * @@ -180,123 +264,67 @@ Datum pgxc_pool_reload(PG_FUNCTION_ARGS) */ void CleanConnection(CleanConnStmt* stmt) { -#ifndef ENABLE_MULTIPLE_NODES - Assert(false); - DISTRIBUTED_FEATURE_NOT_SUPPORTED(); - return; -#else - ListCell* nodelist_item = NULL; - List* co_list = NIL; - List* dn_list = NIL; - List* stmt_nodes = NIL; - char* dbname = stmt->dbname; - char* username = stmt->username; - bool is_coord = stmt->is_coord; - bool is_force = stmt->is_force; - - /* Only a DB administrator can clean pooler connections */ - if (!superuser()) - ereport( - ERROR, (errcode(ERRCODE_INSUFFICIENT_PRIVILEGE), errmsg("must be superuser to clean pool connections"))); + ListCell* nodelistItem = NULL; + char* dbName = stmt->dbname; + char* userName = stmt->username; + bool isForce = stmt->is_force; + bool isCheck = stmt->is_check; + Oid dbOid = InvalidOid; + Oid userOid = InvalidOid; /* Database name or user name is mandatory */ - if (!dbname && !username) + if (dbName == NULL && userName == NULL) { ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR), errmsg("must define Database name or user name"))); + } - /* Check if the Database exists by getting its Oid */ - if (dbname && !OidIsValid(get_database_oid(dbname, true))) { - ereport(WARNING, (errcode(ERRCODE_UNDEFINED_DATABASE), errmsg("database \"%s\" does not exist", dbname))); - return; + if (dbName != NULL) { + dbOid = get_database_oid(dbName, false); + /* Permission checks: + * 1. The database owner has only the permission to clean the specified database links. + */ + AclResult aclresult = pg_database_aclcheck(dbOid, GetUserId(), ACL_ALTER | ACL_DROP); + if (aclresult != ACLCHECK_OK && !pg_database_ownercheck(dbOid, GetUserId())) { + aclcheck_error(ACLCHECK_NOT_OWNER, ACL_KIND_DATABASE, dbName); + } + } else { + /* Permission checks: + * 2. Only the superuser has the permission to specify a specific user to clean. + */ + if (!superuser()) { + ereport(ERROR, + (errcode(ERRCODE_INSUFFICIENT_PRIVILEGE), errmsg("must be system admin to clean pool connections"))); + } } /* Check if role exists */ - if (username && !OidIsValid(get_role_oid(username, false))) { - ereport(WARNING, (errcode(ERRCODE_UNDEFINED_OBJECT), errmsg("role \"%s\" does not exist", username))); + if (!CheckRoleValid(userName)) { return; } - - /* - * FORCE is activated, - * Send a SIGTERM signal to all the processes and take a lock on Pooler - * to avoid backends to take new connections when cleaning. - * Only Disconnect is allowed. - */ - if (is_force) { - int loop = 0; - int* proc_pids = NULL; - int num_proc_pids, count; - - num_proc_pids = PoolManagerAbortTransactions(dbname, username, &proc_pids); - - /* - * Watch the processes that received a SIGTERM. - * At the end of the timestamp loop, processes are considered as not finished - * and force the connection cleaning has failed - */ - - while (num_proc_pids > 0 && loop < TIMEOUT_CLEAN_LOOP) { - for (count = num_proc_pids - 1; count >= 0; count--) { - switch (kill(proc_pids[count], 0)) { - case 0: /* Termination not done yet */ - break; - - default: - /* Move tail pid in free space */ - proc_pids[count] = proc_pids[num_proc_pids - 1]; - num_proc_pids--; - break; - } - } - pg_usleep(1000000); - loop++; - } - - if (proc_pids) - pfree(proc_pids); - - if (loop >= TIMEOUT_CLEAN_LOOP) - ereport(WARNING, (errcode(ERRCODE_INTERNAL_ERROR), errmsg("All Transactions have not been aborted"))); + if (userName != NULL) { + userOid = get_role_oid(userName, false); + } + // CHECK is activated + // Check if the database/user is being accessed by other users/sessions before drop it. + if (isCheck) { + CheckDBActivate(userName, dbName, dbOid); } - foreach (nodelist_item, stmt->nodes) { - char* node_name = strVal(lfirst(nodelist_item)); + /* check Node name is valid or not */ + foreach (nodelistItem, stmt->nodes) { + char* node_name = strVal(lfirst(nodelistItem)); Oid nodeoid = get_pgxc_nodeoid(node_name); - if (!OidIsValid(nodeoid)) - ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR), errmsg("PGXC Node %s: object not defined", node_name))); - - stmt_nodes = lappend_int(stmt_nodes, PGXCNodeGetNodeId(nodeoid, get_pgxc_nodetype(nodeoid))); - } - - /* Build lists to be sent to Pooler Manager */ - if (stmt->nodes && is_coord) - co_list = stmt_nodes; - else if (stmt->nodes && !is_coord) - dn_list = stmt_nodes; - else { - co_list = GetAllCoordNodes(); - dn_list = GetAllDataNodes(); + if (!OidIsValid(nodeoid)) { + ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR), errmsg("Node %s: object not defined", node_name))); + } } /* - * If force is launched, send a signal to all the processes - * that are in transaction and take a lock. - * Get back their process number and watch them locally here. - * Process are checked as alive or not with pg_usleep and when all processes are down - * go out of the control loop. - * If at the end of the loop processes are not down send an error to client. - * Then Make a clean with normal pool cleaner. - * Always release the lock when calling CLEAN CONNECTION. + * FORCE is activated + * Send a SIGTERM signal to all the processes in thread pool and HA session. */ - - /* Finish by contacting Pooler Manager */ - PoolManagerCleanConnection(dn_list, co_list, dbname, username); - - /* Clean up memory */ - if (co_list) - list_free(co_list); - if (dn_list) - list_free(dn_list); -#endif + if (isForce) { + SendSignalToProcess(dbName, dbOid, userName, userOid); + } } /* @@ -558,4 +586,4 @@ void HandlePoolerReload(void) MemoryContextSwitchTo(old_context); } -#endif \ No newline at end of file +#endif diff --git a/src/common/backend/port/aix/mkldexport.sh b/src/common/backend/port/aix/mkldexport.sh old mode 100644 new mode 100755 index 2d150f38f..2c8c7caef --- a/src/common/backend/port/aix/mkldexport.sh +++ b/src/common/backend/port/aix/mkldexport.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash # # mkldexport # create an AIX exports file from an object file @@ -21,6 +21,7 @@ # setting this to nm -B might be better # ... due to changes in AIX 4.x ... # ... let us search in different directories - Gerhard Reithofer +# Copyright: (c) Huawei Technologies Co., Ltd. 2021. All rights reserved. if [ -x /usr/ucb/nm ] then NM=/usr/ucb/nm elif [ -x /usr/bin/nm ] diff --git a/src/common/backend/port/dynloader/win32.cpp b/src/common/backend/port/dynloader/win32.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/port/ipc_test.cpp b/src/common/backend/port/ipc_test.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/port/sysv_sema.cpp b/src/common/backend/port/sysv_sema.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/port/sysv_shmem.cpp b/src/common/backend/port/sysv_shmem.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/port/win32/socket.cpp b/src/common/backend/port/win32/socket.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/regex/regc_color.cpp b/src/common/backend/regex/regc_color.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/regex/regc_cvec.cpp b/src/common/backend/regex/regc_cvec.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/regex/regc_lex.cpp b/src/common/backend/regex/regc_lex.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/regex/regc_locale.cpp b/src/common/backend/regex/regc_locale.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/regex/regc_nfa.cpp b/src/common/backend/regex/regc_nfa.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/regex/regc_pg_locale.cpp b/src/common/backend/regex/regc_pg_locale.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/regex/regcomp.cpp b/src/common/backend/regex/regcomp.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/regex/rege_dfa.cpp b/src/common/backend/regex/rege_dfa.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/regex/regerror.cpp b/src/common/backend/regex/regerror.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/regex/regexec.cpp b/src/common/backend/regex/regexec.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/regex/regprefix.cpp b/src/common/backend/regex/regprefix.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/snowball/dict_snowball.cpp b/src/common/backend/snowball/dict_snowball.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/snowball/libstemmer/stem_ISO_8859_1_danish.cpp b/src/common/backend/snowball/libstemmer/stem_ISO_8859_1_danish.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/snowball/libstemmer/stem_ISO_8859_1_dutch.cpp b/src/common/backend/snowball/libstemmer/stem_ISO_8859_1_dutch.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/snowball/libstemmer/stem_ISO_8859_1_english.cpp b/src/common/backend/snowball/libstemmer/stem_ISO_8859_1_english.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/snowball/libstemmer/stem_ISO_8859_1_finnish.cpp b/src/common/backend/snowball/libstemmer/stem_ISO_8859_1_finnish.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/snowball/libstemmer/stem_ISO_8859_1_french.cpp b/src/common/backend/snowball/libstemmer/stem_ISO_8859_1_french.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/snowball/libstemmer/stem_ISO_8859_1_german.cpp b/src/common/backend/snowball/libstemmer/stem_ISO_8859_1_german.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/snowball/libstemmer/stem_ISO_8859_1_hungarian.cpp b/src/common/backend/snowball/libstemmer/stem_ISO_8859_1_hungarian.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/snowball/libstemmer/stem_ISO_8859_1_italian.cpp b/src/common/backend/snowball/libstemmer/stem_ISO_8859_1_italian.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/snowball/libstemmer/stem_ISO_8859_1_norwegian.cpp b/src/common/backend/snowball/libstemmer/stem_ISO_8859_1_norwegian.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/snowball/libstemmer/stem_ISO_8859_1_porter.cpp b/src/common/backend/snowball/libstemmer/stem_ISO_8859_1_porter.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/snowball/libstemmer/stem_ISO_8859_1_portuguese.cpp b/src/common/backend/snowball/libstemmer/stem_ISO_8859_1_portuguese.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/snowball/libstemmer/stem_ISO_8859_1_spanish.cpp b/src/common/backend/snowball/libstemmer/stem_ISO_8859_1_spanish.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/snowball/libstemmer/stem_ISO_8859_1_swedish.cpp b/src/common/backend/snowball/libstemmer/stem_ISO_8859_1_swedish.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/snowball/libstemmer/stem_ISO_8859_2_romanian.cpp b/src/common/backend/snowball/libstemmer/stem_ISO_8859_2_romanian.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/snowball/libstemmer/stem_KOI8_R_russian.cpp b/src/common/backend/snowball/libstemmer/stem_KOI8_R_russian.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/snowball/libstemmer/stem_UTF_8_danish.cpp b/src/common/backend/snowball/libstemmer/stem_UTF_8_danish.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/snowball/libstemmer/stem_UTF_8_dutch.cpp b/src/common/backend/snowball/libstemmer/stem_UTF_8_dutch.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/snowball/libstemmer/stem_UTF_8_english.cpp b/src/common/backend/snowball/libstemmer/stem_UTF_8_english.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/snowball/libstemmer/stem_UTF_8_finnish.cpp b/src/common/backend/snowball/libstemmer/stem_UTF_8_finnish.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/snowball/libstemmer/stem_UTF_8_french.cpp b/src/common/backend/snowball/libstemmer/stem_UTF_8_french.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/snowball/libstemmer/stem_UTF_8_german.cpp b/src/common/backend/snowball/libstemmer/stem_UTF_8_german.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/snowball/libstemmer/stem_UTF_8_hungarian.cpp b/src/common/backend/snowball/libstemmer/stem_UTF_8_hungarian.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/snowball/libstemmer/stem_UTF_8_italian.cpp b/src/common/backend/snowball/libstemmer/stem_UTF_8_italian.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/snowball/libstemmer/stem_UTF_8_norwegian.cpp b/src/common/backend/snowball/libstemmer/stem_UTF_8_norwegian.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/snowball/libstemmer/stem_UTF_8_porter.cpp b/src/common/backend/snowball/libstemmer/stem_UTF_8_porter.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/snowball/libstemmer/stem_UTF_8_portuguese.cpp b/src/common/backend/snowball/libstemmer/stem_UTF_8_portuguese.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/snowball/libstemmer/stem_UTF_8_romanian.cpp b/src/common/backend/snowball/libstemmer/stem_UTF_8_romanian.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/snowball/libstemmer/stem_UTF_8_russian.cpp b/src/common/backend/snowball/libstemmer/stem_UTF_8_russian.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/snowball/libstemmer/stem_UTF_8_spanish.cpp b/src/common/backend/snowball/libstemmer/stem_UTF_8_spanish.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/snowball/libstemmer/stem_UTF_8_swedish.cpp b/src/common/backend/snowball/libstemmer/stem_UTF_8_swedish.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/snowball/libstemmer/stem_UTF_8_turkish.cpp b/src/common/backend/snowball/libstemmer/stem_UTF_8_turkish.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/snowball/libstemmer/utilities.cpp b/src/common/backend/snowball/libstemmer/utilities.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/tsearch/dict.cpp b/src/common/backend/tsearch/dict.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/tsearch/dict_ispell.cpp b/src/common/backend/tsearch/dict_ispell.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/tsearch/dict_simple.cpp b/src/common/backend/tsearch/dict_simple.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/tsearch/dict_synonym.cpp b/src/common/backend/tsearch/dict_synonym.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/tsearch/dict_thesaurus.cpp b/src/common/backend/tsearch/dict_thesaurus.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/tsearch/regis.cpp b/src/common/backend/tsearch/regis.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/tsearch/spell.cpp b/src/common/backend/tsearch/spell.cpp old mode 100755 new mode 100644 index ddded0476..e04c8fcc2 --- a/src/common/backend/tsearch/spell.cpp +++ b/src/common/backend/tsearch/spell.cpp @@ -1047,7 +1047,7 @@ static char* getAffixFlagSet(IspellDict* Conf, char* s) ereport(ERROR, (errcode(ERRCODE_CONFIG_FILE_ERROR), errmsg("invalid affix alias \"%s\"", s))); } - if (curaffix > 0 && curaffix <= Conf->nAffixData) { + if (curaffix > 0 && curaffix < Conf->nAffixData) { /* * Do not substract 1 from curaffix * because empty string was added in NIImportOOAffixes diff --git a/src/common/backend/tsearch/to_tsany.cpp b/src/common/backend/tsearch/to_tsany.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/tsearch/ts_locale.cpp b/src/common/backend/tsearch/ts_locale.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/tsearch/ts_parse.cpp b/src/common/backend/tsearch/ts_parse.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/tsearch/ts_selfuncs.cpp b/src/common/backend/tsearch/ts_selfuncs.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/tsearch/ts_typanalyze.cpp b/src/common/backend/tsearch/ts_typanalyze.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/tsearch/ts_utils.cpp b/src/common/backend/tsearch/ts_utils.cpp old mode 100755 new mode 100644 index e44f8ba3e..161cd09f3 --- a/src/common/backend/tsearch/ts_utils.cpp +++ b/src/common/backend/tsearch/ts_utils.cpp @@ -51,19 +51,11 @@ char* get_tsfile_prefix_tmp(bool isExecCN) initStringInfo(&strinfo); get_share_path(my_exec_path, tmpSharepath); - if (!GTM_MODE) { - appendStringInfo(&strinfo, - "%s/tsearch_data/%s%lu", - tmpSharepath, - isExecCN ? g_instance.attr.attr_common.PGXCNodeName : u_sess->attr.attr_common.application_name, - isExecCN ? GetCurrentTransactionId() : t_thrd.xact_cxt.cn_xid); - } else { - appendStringInfo(&strinfo, - "%s/tsearch_data/%ld%lu", - tmpSharepath, - GetCurrentTransactionStartTimestamp(), - GetCurrentTransactionId()); - } + appendStringInfo(&strinfo, + "%s/tsearch_data/%ld%lu", + tmpSharepath, + GetCurrentTransactionStartTimestamp(), + (GTM_MODE) ? (GetCurrentTransactionId()) : (isExecCN ? GetCurrentTransactionId() : t_thrd.xact_cxt.cn_xid)); /* We need to check for my_exec_path */ check_backend_env(strinfo.data); @@ -126,9 +118,10 @@ char* get_tsfile_absolute_path(char* pathname, const char* basename, const char* pname = pstrdup(pname); check_file_path(pname); } else if (strncmp(pathname, FILEPATH_PREFIX_OBS, obs_plen) == 0) { + /* Here, isSecurityMode is just used to judge whether we are on DWS. */ if (!isSecurityMode) { ereport(ERROR, (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("FilePath must set an absolute path followed by \"file:///\"."))); + errmsg("obs path can be accepted only in security mode."))); } /* Skip prefix and trim */ pname = trim(pathname + obs_plen); diff --git a/src/common/backend/tsearch/wparser.cpp b/src/common/backend/tsearch/wparser.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/Makefile b/src/common/backend/utils/Makefile old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/adt/acl.cpp b/src/common/backend/utils/adt/acl.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/adt/array_selfuncs.cpp b/src/common/backend/utils/adt/array_selfuncs.cpp old mode 100755 new mode 100644 index 3f8a09e41..49eea85b6 --- a/src/common/backend/utils/adt/array_selfuncs.cpp +++ b/src/common/backend/utils/adt/array_selfuncs.cpp @@ -113,7 +113,10 @@ Selectivity scalararraysel_containment( useOr = !useOr; /* Get array element stats for var, if available */ - if (HeapTupleIsValid(vardata.statsTuple)) { + bool isvalidstats = HeapTupleIsValid(vardata.statsTuple) && + statistic_proc_security_check(&vardata, cmpfunc->fn_oid); + + if (isvalidstats) { Form_pg_statistic stats; Datum* values = NULL; int nvalues; @@ -322,7 +325,8 @@ static Selectivity calc_arraycontsel(VariableStatData* vardata, Datum constval, */ array = DatumGetArrayTypeP(constval); - if (HeapTupleIsValid(vardata->statsTuple)) { + if (HeapTupleIsValid(vardata->statsTuple) && + statistic_proc_security_check(vardata, cmpfunc->fn_oid)) { Form_pg_statistic stats; Datum* values = NULL; int nvalues; diff --git a/src/common/backend/utils/adt/array_typanalyze.cpp b/src/common/backend/utils/adt/array_typanalyze.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/adt/array_userfuncs.cpp b/src/common/backend/utils/adt/array_userfuncs.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/adt/arrayfuncs.cpp b/src/common/backend/utils/adt/arrayfuncs.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/adt/arrayutils.cpp b/src/common/backend/utils/adt/arrayutils.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/adt/ascii.cpp b/src/common/backend/utils/adt/ascii.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/adt/bool.cpp b/src/common/backend/utils/adt/bool.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/adt/cash.cpp b/src/common/backend/utils/adt/cash.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/adt/clientlogic_bytea.cpp b/src/common/backend/utils/adt/clientlogic_bytea.cpp index e42fdfcc8..4aac49ed0 100644 --- a/src/common/backend/utils/adt/clientlogic_bytea.cpp +++ b/src/common/backend/utils/adt/clientlogic_bytea.cpp @@ -58,6 +58,8 @@ #define IS_VAL_ESCAPE_CHAR(val) (((val[0]) == '\\') && ((val[1]) >= '0' && (val[1]) <= '3') && \ ((val[2]) >= '0' && (val[2]) <= '7') && ((val[3]) >= '0' && (val[3]) <= '7')) #define IS_TWO_BACKSLASH(val) (((val[0]) == '\\') && ((val[1]) == '\\')) +#define IS_INVALID_INPUT(val) ((strlen(val)) != 0 && (strlen(val)) < 12 && \ + !((strlen(val)) == 2 && (val[0]) == '\\' && (val[1]) == 'x')) /* GUC variable */ #define BYTEA_WITHOUT_ORDER_WITH_EQAL_COL_OUTPUT ENCRYPTEDCOL_OUTPUT_HEX @@ -167,14 +169,37 @@ const Oid getOidFromInputText(const char *inputText) const int base = 16; return strtol(buf, NULL, base); } + +const void check_cek_oid(const char *inputText) +{ + char buf[3] = { /* 3 is to prevent subscript out of bounds */ + inputText[2], /* 2 is the 2nd bit */ + inputText[3], /* 3 is the 3rd bit */ + 0 + }; + const int base = 16; + size_t count = strtol(buf, NULL, base); + for (size_t i = 0; i < count; i++) { + const Oid cek = getOidFromInputText((inputText + 4)); + if ( +#ifdef ENABLE_MULTIPLE_NODES + IS_PGXC_COORDINATOR && +#endif + !checkColumnSettingId(cek)) + ereport(ERROR, + (errcode(ERRCODE_INVALID_ENCRYPTED_COLUMN_DATA), errmsg("cek with OID %u not found", cek))); + } +} + Datum byteawithoutordercolin(PG_FUNCTION_ARGS) { char *inputText = PG_GETARG_CSTRING(0); size_t len = strlen(inputText); - if (len < 12) { /* 12 : the minimum length used to ensure the correct input parameters */ + /* 12 : the minimum length used to ensure the correct input parameters */ + if (IS_INVALID_INPUT(inputText)) { ereport(ERROR, (errcode(ERRCODE_INVALID_TEXT_REPRESENTATION), - errmsg("invalid input syntax for type byteawithoutordercol"))); + errmsg("invalid input syntax for type byteawithoutordercol"))); } int bc; byteawithoutordercol *result = NULL; @@ -184,22 +209,8 @@ byteawithoutordercolin(PG_FUNCTION_ARGS) int cl; /* Recognize hex input */ if (inputText[0] == '\\' && inputText[1] == 'x') { - char buf[3] = { /* 3 is to prevent subscript out of bounds */ - inputText[2], /* 2 is the 2nd bit */ - inputText[3], /* 3 is the 3rd bit */ - 0 - }; - const int base = 16; - size_t count = strtol(buf, NULL, base); - for (size_t i = 0; i < count; i++) { - const Oid cek = getOidFromInputText((inputText + 4)); - if ( -#ifdef ENABLE_MULTIPLE_NODES - IS_PGXC_COORDINATOR && -#endif - !checkColumnSettingId(cek)) - ereport(ERROR, - (errcode(ERRCODE_INVALID_ENCRYPTED_COLUMN_DATA), errmsg("cek with OID %u not found", cek))); + if (len != 2) { /* 2: inputValue is '\x' */ + check_cek_oid(inputText); } bc = (len - 2) / 2 + VARHDRSZ; /* maximum possible length */ @@ -208,6 +219,9 @@ byteawithoutordercolin(PG_FUNCTION_ARGS) SET_VARSIZE(result, bc + VARHDRSZ); /* actual length */ PG_RETURN_ENCRYPTEDCOL_P(result); + } else if (inputText[0] != '\0') { + ereport(ERROR, (errcode(ERRCODE_INVALID_ENCRYPTED_COLUMN_DATA), + errmsg("invalid input syntax for type byteawithoutordercol"))); } bc = 0; temp = inputText; @@ -225,7 +239,7 @@ byteawithoutordercolin(PG_FUNCTION_ARGS) } else { /* one backslash, not followed by another or ### valid octal */ ereport(ERROR, (errcode(ERRCODE_INVALID_TEXT_REPRESENTATION), - errmsg("invalid input syntax for type byteawithoutordercol"))); + errmsg("invalid input syntax for type byteawithoutordercol"))); } } @@ -257,7 +271,7 @@ byteawithoutordercolin(PG_FUNCTION_ARGS) } else { // * We should never get here. The first pass should not allow it. ereport(ERROR, (errcode(ERRCODE_INVALID_TEXT_REPRESENTATION), - errmsg("invalid input syntax for type byteawithoutordercol"))); + errmsg("invalid input syntax for type byteawithoutordercol"))); } } @@ -331,7 +345,8 @@ Datum byteawithoutorderwithequalcolin(PG_FUNCTION_ARGS) { char *inputValue = PG_GETARG_CSTRING(0); size_t len = strlen(inputValue); - if (len < 12) { /* 12 : the minimum length used to ensure the correct input parameters */ + /* 12 : the minimum length used to ensure the correct input parameters */ + if (IS_INVALID_INPUT(inputValue)) { ereport(ERROR, (errcode(ERRCODE_INVALID_TEXT_REPRESENTATION), errmsg("invalid input syntax for type byteawithoutorderwithequalcol"))); } @@ -343,22 +358,8 @@ Datum byteawithoutorderwithequalcolin(PG_FUNCTION_ARGS) int cl; /* Recognize hex input */ if (inputValue[0] == '\\' && inputValue[1] == 'x') { - char buf[3] = { - inputValue[2], - inputValue[3], - 0 - }; - size_t count = strtol(buf, NULL, 16); - for (size_t i = 0; i < count; i++) { - const Oid cek = getOidFromInputText((inputValue + 4)); - if ( -#ifdef ENABLE_MULTIPLE_NODES - IS_PGXC_COORDINATOR && -#endif - !checkColumnSettingId(cek)) { - ereport(ERROR, - (errcode(ERRCODE_INVALID_ENCRYPTED_COLUMN_DATA), errmsg("cek with OID %u not found", cek))); - } + if (len != 2) { /* 2: inputValue is '\x' */ + check_cek_oid(inputValue); } bc = (len - 2) / 2 + VARHDRSZ; /* maximum possible length */ @@ -369,7 +370,7 @@ Datum byteawithoutorderwithequalcolin(PG_FUNCTION_ARGS) PG_RETURN_ENCRYPTEDCOL_P(result); } else if (inputValue[0] != '\0') { ereport(ERROR, (errcode(ERRCODE_INVALID_ENCRYPTED_COLUMN_DATA), - errmsg("could not insert unencrypted values into encrypted column"))); + errmsg("invalid input syntax for type byteawithoutorderwithequalcol"))); } bc = 0; tp = inputValue; diff --git a/src/common/backend/utils/adt/date.cpp b/src/common/backend/utils/adt/date.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/adt/datetime.cpp b/src/common/backend/utils/adt/datetime.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/adt/datum.cpp b/src/common/backend/utils/adt/datum.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/adt/dbsize.cpp b/src/common/backend/utils/adt/dbsize.cpp old mode 100755 new mode 100644 index b91ef9e31..18e668685 --- a/src/common/backend/utils/adt/dbsize.cpp +++ b/src/common/backend/utils/adt/dbsize.cpp @@ -138,7 +138,11 @@ static int64 db_dir_size(const char* path) else ereport(ERROR, (errcode_for_file_access(), errmsg("could not stat file \"%s\": %m", filename))); } - dirsize += fst.st_size; + if (S_ISDIR(fst.st_mode)) { + dirsize += db_dir_size(filename); + } else { + dirsize += fst.st_size; + } } FreeDir(dirdesc); diff --git a/src/common/backend/utils/adt/domains.cpp b/src/common/backend/utils/adt/domains.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/adt/encode.cpp b/src/common/backend/utils/adt/encode.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/adt/enum.cpp b/src/common/backend/utils/adt/enum.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/adt/float.cpp b/src/common/backend/utils/adt/float.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/adt/format_type.cpp b/src/common/backend/utils/adt/format_type.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/adt/formatting.cpp b/src/common/backend/utils/adt/formatting.cpp old mode 100755 new mode 100644 index 59d2061ce..bd22c598f --- a/src/common/backend/utils/adt/formatting.cpp +++ b/src/common/backend/utils/adt/formatting.cpp @@ -6340,6 +6340,11 @@ static char* NUM_processor(FormatNode* node, NUMDesc* Num, char* inout, char* nu (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), errmsg("\"%c\" not supported", *(Np->inout_p)))); if (plen > 0 && plen <= MAX_HEX_LEN_FOR_INT32) { + if ((int64)Np->read_pre * 16 + curNum > INT_MAX) { + ereport(ERROR, + (errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("The hexadecimal number is greater than the maximum INT value"))); + } Np->read_pre = Np->read_pre * 16 + curNum; int pre_len = 1, dup_read_pre = Np->read_pre; diff --git a/src/common/backend/utils/adt/genfile.cpp b/src/common/backend/utils/adt/genfile.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/adt/geo_ops.cpp b/src/common/backend/utils/adt/geo_ops.cpp old mode 100755 new mode 100644 index 03d7f8c68..148695e6b --- a/src/common/backend/utils/adt/geo_ops.cpp +++ b/src/common/backend/utils/adt/geo_ops.cpp @@ -4094,7 +4094,7 @@ Datum circle_in(PG_FUNCTION_ARGS) } if (*s == LDELIM_C) { depth++; - s++; + s++; } else if (*s == LDELIM) { cp = (s + 1); while (isspace((unsigned char)*cp)) { @@ -4102,8 +4102,8 @@ Datum circle_in(PG_FUNCTION_ARGS) } if (*cp == LDELIM) { depth++; - s = cp; - } + s = cp; + } } if (!pair_decode(s, &circle->center.x, &circle->center.y, &s)) diff --git a/src/common/backend/utils/adt/inet_cidr_ntop.cpp b/src/common/backend/utils/adt/inet_cidr_ntop.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/adt/inet_net_pton.cpp b/src/common/backend/utils/adt/inet_net_pton.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/adt/int.cpp b/src/common/backend/utils/adt/int.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/adt/int8.cpp b/src/common/backend/utils/adt/int8.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/adt/json.cpp b/src/common/backend/utils/adt/json.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/adt/like.cpp b/src/common/backend/utils/adt/like.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/adt/like_match.cpp b/src/common/backend/utils/adt/like_match.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/adt/lockfuncs.cpp b/src/common/backend/utils/adt/lockfuncs.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/adt/mac.cpp b/src/common/backend/utils/adt/mac.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/adt/misc.cpp b/src/common/backend/utils/adt/misc.cpp old mode 100755 new mode 100644 index 3791121b2..05c308da5 --- a/src/common/backend/utils/adt/misc.cpp +++ b/src/common/backend/utils/adt/misc.cpp @@ -27,6 +27,7 @@ #include "commands/tablespace.h" #include "commands/user.h" #include "funcapi.h" +#include "instruments/gs_stat.h" #include "miscadmin.h" #include "parser/keywords.h" #include "pgstat.h" @@ -145,20 +146,43 @@ static int pg_signal_backend(ThreadId pid, int sig) uint64 get_query_id_beentry(ThreadId tid) { - PgBackendStatusNode* node = gs_stat_read_current_status(NULL); + uint64 queryId = 0; + PgBackendStatus* beentry = t_thrd.shemem_ptr_cxt.BackendStatusArray + BackendStatusArray_size - 1; + PgBackendStatus* localentry = (PgBackendStatus*)palloc0(sizeof(PgBackendStatus)); - while (node != NULL) { - PgBackendStatus *beentry = node->data; - - if (beentry != NULL) { - if (beentry->st_procpid == tid) { - return beentry->st_queryid; + /* + * We go through BackendStatusArray from back to front, because + * in thread pool mode, both an active session and its thread pool worker + * will have the same procpid in their entry and in most cases what we want + * is session's entry, which will be returned first in such searching direction. + */ + for (int i = 1; i <= BackendStatusArray_size; i++) { + /* + * Follow the protocol of retrying if st_changecount changes while we + * copy the entry, or if it's odd. (The check for odd is needed to + * cover the case where we are able to completely copy the entry while + * the source backend is between increment steps.) We use a volatile + * pointer here to ensure the compiler doesn't try to get cute. + */ + if (gs_stat_encap_status_info(localentry, beentry)) { + if (localentry->st_procpid == tid) { + queryId = localentry->st_queryid; + break; } } - node = node->next; + beentry--; } - return 0; + if (localentry->st_procpid > 0 || localentry->st_sessionid > 0) { + pfree_ext(localentry->st_appname); + pfree_ext(localentry->st_clienthostname); + pfree_ext(localentry->st_conninfo); + pfree_ext(localentry->st_activity); + } + + pfree(localentry); + + return queryId; } /* @@ -924,7 +948,7 @@ Datum pg_test_err_contain_err(PG_FUNCTION_ARGS) // Signal to cancel a backend process. This is allowed if you are superuser // or have the same role as the process being canceled. -void cancel_backend(ThreadId pid) +void cancel_backend(ThreadId pid) { int sig_return = 0; diff --git a/src/common/backend/utils/adt/name.cpp b/src/common/backend/utils/adt/name.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/adt/network.cpp b/src/common/backend/utils/adt/network.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/adt/numutils.cpp b/src/common/backend/utils/adt/numutils.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/adt/oid.cpp b/src/common/backend/utils/adt/oid.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/adt/pg_locale.cpp b/src/common/backend/utils/adt/pg_locale.cpp old mode 100755 new mode 100644 index 85b3e1527..b97204998 --- a/src/common/backend/utils/adt/pg_locale.cpp +++ b/src/common/backend/utils/adt/pg_locale.cpp @@ -1365,17 +1365,18 @@ size_t char2wchar(wchar_t* to, size_t tolen, const char* from, size_t fromlen, p #endif /* USE_WIDE_UPPER_LOWER */ /* for locale memory leak in multithreading */ -void freeLocaleCacheAtThreadExit(void) +void freeLocaleCache(bool threadExit) { HASH_SEQ_STATUS hash_seq; collation_cache_entry* cache_entry = NULL; - if (t_thrd.port_cxt.save_locale_r != (pg_locale_t)0) { + if (threadExit && + t_thrd.port_cxt.save_locale_r != (pg_locale_t)0) { freelocale(t_thrd.port_cxt.save_locale_r); t_thrd.port_cxt.save_locale_r = (pg_locale_t)0; } - if (NULL == u_sess->lc_cxt.collation_cache) + if (u_sess->lc_cxt.collation_cache == NULL) return; hash_seq_init(&hash_seq, u_sess->lc_cxt.collation_cache); diff --git a/src/common/backend/utils/adt/pg_lzcompress.cpp b/src/common/backend/utils/adt/pg_lzcompress.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/adt/pgstatfuncs.cpp b/src/common/backend/utils/adt/pgstatfuncs.cpp index 627b74702..a28f9bca6 100644 --- a/src/common/backend/utils/adt/pgstatfuncs.cpp +++ b/src/common/backend/utils/adt/pgstatfuncs.cpp @@ -66,7 +66,6 @@ #include "instruments/gs_stat.h" #include "instruments/list.h" #include "replication/rto_statistic.h" -#include "utils/globalpreparestmt.h" #include "storage/lock/lock.h" #define UINT32_ACCESS_ONCE(var) ((uint32)(*((volatile uint32*)&(var)))) @@ -2900,7 +2899,10 @@ static PgStat_WaitCountStatus* wcslist_nthcell_array(int current_index) return wcb; } - +#define SET_AVG_TUPLE(total_time, count) \ + do { \ + values[++i] = Int64GetDatum((total_time) / (((count) == 0) ? 1 : (count))); \ + } while (0) /* * @Description: system function for SQL count. When guc parameter 'pgstat_track_sql_count' is set on * and user selcets view of pg_sql_count, the functoin wiil be called to find user`s SQL count @@ -3063,19 +3065,19 @@ Datum pg_stat_get_sql_count(PG_FUNCTION_ARGS) values[++i] = Int64GetDatum(wcb->wc_cnt.wc_sql_dml); values[++i] = Int64GetDatum(wcb->wc_cnt.wc_sql_dcl); values[++i] = Int64GetDatum(wcb->wc_cnt.selectElapse.total_time); - values[++i] = Int64GetDatum(wcb->wc_cnt.selectElapse.avg_time); + SET_AVG_TUPLE(wcb->wc_cnt.selectElapse.total_time, wcb->wc_cnt.wc_sql_select); values[++i] = Int64GetDatum(wcb->wc_cnt.selectElapse.max_time); values[++i] = Int64GetDatum(wcb->wc_cnt.selectElapse.min_time); values[++i] = Int64GetDatum(wcb->wc_cnt.updateElapse.total_time); - values[++i] = Int64GetDatum(wcb->wc_cnt.updateElapse.avg_time); + SET_AVG_TUPLE(wcb->wc_cnt.updateElapse.total_time, wcb->wc_cnt.wc_sql_update); values[++i] = Int64GetDatum(wcb->wc_cnt.updateElapse.max_time); values[++i] = Int64GetDatum(wcb->wc_cnt.updateElapse.min_time); values[++i] = Int64GetDatum(wcb->wc_cnt.insertElapse.total_time); - values[++i] = Int64GetDatum(wcb->wc_cnt.insertElapse.avg_time); + SET_AVG_TUPLE(wcb->wc_cnt.insertElapse.total_time, wcb->wc_cnt.wc_sql_insert); values[++i] = Int64GetDatum(wcb->wc_cnt.insertElapse.max_time); values[++i] = Int64GetDatum(wcb->wc_cnt.insertElapse.min_time); values[++i] = Int64GetDatum(wcb->wc_cnt.deleteElapse.total_time); - values[++i] = Int64GetDatum(wcb->wc_cnt.deleteElapse.avg_time); + SET_AVG_TUPLE(wcb->wc_cnt.deleteElapse.total_time, wcb->wc_cnt.wc_sql_delete); values[++i] = Int64GetDatum(wcb->wc_cnt.deleteElapse.max_time); values[++i] = Int64GetDatum(wcb->wc_cnt.deleteElapse.min_time); @@ -12957,8 +12959,7 @@ Datum gs_threadpool_status(PG_FUNCTION_ARGS) } } -Datum -gs_globalplancache_status(PG_FUNCTION_ARGS) +Datum gs_globalplancache_status(PG_FUNCTION_ARGS) { FuncCallContext *funcctx = NULL; MemoryContext oldcontext; @@ -13102,50 +13103,15 @@ gs_globalplancache_prepare_status(PG_FUNCTION_ARGS) funcctx->tuple_desc = BlessTupleDesc(tupdesc); /* total number of tuples to be returned */ - if (ENABLE_THREAD_POOL && ENABLE_DN_GPC) { - funcctx->user_fctx = (void *)g_instance.prepare_cache->GetStatus(&(funcctx->max_calls)); - } else { - funcctx->max_calls = 0; - } + funcctx->max_calls = 0; (void)MemoryContextSwitchTo(oldcontext); } /* stuff done on every call of the function */ funcctx = SRF_PERCALL_SETUP(); - GPCPrepareStatus *entry = (GPCPrepareStatus *)funcctx->user_fctx; - - if (funcctx->call_cntr < funcctx->max_calls) /* do when there is more left to send */ - { - Datum values[GPC_PREPARE_TUPLES_ATTR_NUM]; - bool nulls[GPC_PREPARE_TUPLES_ATTR_NUM]; - HeapTuple tuple; - - errno_t rc = 0; - rc = memset_s(values, sizeof(values), 0, sizeof(values)); - securec_check(rc, "\0", "\0"); - rc = memset_s(nulls, sizeof(nulls), 0, sizeof(nulls)); - securec_check(rc, "\0", "\0"); - - entry += funcctx->call_cntr; - - values[0] = CStringGetTextDatum(g_instance.attr.attr_common.PGXCNodeName); - values[1] = Int64GetDatum(entry->cn_sessid); - values[2] = Int32GetDatum(entry->cn_node_id); - values[3] = Int32GetDatum(entry->cn_time_line); - values[4] = CStringGetTextDatum(entry->statement_name); - values[5] = Int32GetDatum(entry->refcount); - values[6] = BoolGetDatum(entry->is_shared); - values[7] = CStringGetTextDatum(entry->query); - - tuple = heap_form_tuple(funcctx->tuple_desc, values, nulls); - SRF_RETURN_NEXT(funcctx, HeapTupleGetDatum(tuple)); - } - else - { - /* do when there is no more left */ - SRF_RETURN_DONE(funcctx); - } + /* do when there is no more left */ + SRF_RETURN_DONE(funcctx); } Datum local_rto_stat(PG_FUNCTION_ARGS) diff --git a/src/common/backend/utils/adt/pseudotypes.cpp b/src/common/backend/utils/adt/pseudotypes.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/adt/rangetypes.cpp b/src/common/backend/utils/adt/rangetypes.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/adt/rangetypes_gist.cpp b/src/common/backend/utils/adt/rangetypes_gist.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/adt/regexp.cpp b/src/common/backend/utils/adt/regexp.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/adt/regproc.cpp b/src/common/backend/utils/adt/regproc.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/adt/ri_triggers.cpp b/src/common/backend/utils/adt/ri_triggers.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/adt/rowtypes.cpp b/src/common/backend/utils/adt/rowtypes.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/adt/ruleutils.cpp b/src/common/backend/utils/adt/ruleutils.cpp index d9d56f053..9d0a669ac 100644 --- a/src/common/backend/utils/adt/ruleutils.cpp +++ b/src/common/backend/utils/adt/ruleutils.cpp @@ -70,6 +70,7 @@ #include "parser/parse_type.h" #include "parser/parser.h" #include "parser/parsetree.h" +#include "parser/parse_expr.h" #ifdef PGXC #include "pgxc/pgxc.h" #include "optimizer/pgxcplan.h" @@ -2049,9 +2050,8 @@ static char* pg_get_tabledef_worker(Oid tableoid) Datum reloptions = SysCacheGetAttr(RELOID, tuple, Anum_pg_class_reloptions, &isnull); if (isnull == false) { - Datum sep, txt; - sep = CStringGetTextDatum(", "); - txt = OidFunctionCall2(F_ARRAY_TO_TEXT, reloptions, sep); + Datum sep = CStringGetTextDatum(", "); + Datum txt = OidFunctionCall2(F_ARRAY_TO_TEXT, reloptions, sep); tableinfo.reloptions = TextDatumGetCString(txt); /* @@ -2119,9 +2119,6 @@ static char* pg_get_tabledef_worker(Oid tableoid) } if ((ftoptions != NULL && ftoptions[0]) && (NULL != strstr(ftoptions, "formatter"))) { - int i_formatter; - char* temp_iter = NULL; - int iterf; resetStringInfo(&query); appendStringInfo(&query, "WITH ft_options AS " @@ -2135,10 +2132,10 @@ static char* pg_get_tabledef_worker(Oid tableoid) spirc = SPI_execute(query.data, true, INT_MAX); proc = SPI_processed; - i_formatter = SPI_fnumber(SPI_tuptable->tupdesc, "option_value"); + int i_formatter = SPI_fnumber(SPI_tuptable->tupdesc, "option_value"); formatter = pstrdup(SPI_getvalue(SPI_tuptable->vals[0], SPI_tuptable->tupdesc, i_formatter)); - temp_iter = formatter; + char* temp_iter = formatter; cnt_ft_frmt_clmns = 1; while (*temp_iter != '\0') { if ('.' == *temp_iter) @@ -2147,7 +2144,7 @@ static char* pg_get_tabledef_worker(Oid tableoid) } ft_frmt_clmn = (char**)pg_malloc(cnt_ft_frmt_clmns * sizeof(char*)); - iterf = 0; + int iterf = 0; temp_iter = formatter; while (*temp_iter != '\0') { ft_frmt_clmn[iterf] = temp_iter; @@ -2171,12 +2168,12 @@ static char* pg_get_tabledef_worker(Oid tableoid) appendStringInfo(&buf, "SET search_path = %s;", quote_identifier(get_namespace_name(tableinfo.spcid))); - appendStringInfo(&buf, - "\nCREATE %s%s %s", - (tableinfo.relpersistence == RELPERSISTENCE_UNLOGGED) ? "UNLOGGED " : - ((tableinfo.relpersistence == RELPERSISTENCE_GLOBAL_TEMP) ? "GLOBAL TEMPORARY " : ""), - reltypename, - relname); + appendStringInfo(&buf, "\nCREATE %s%s %s", + (tableinfo.relpersistence == RELPERSISTENCE_UNLOGGED) ? + "UNLOGGED " : + ((tableinfo.relpersistence == RELPERSISTENCE_GLOBAL_TEMP) ? "GLOBAL TEMPORARY " : ""), + reltypename, relname); + // get attribute info actual_atts = get_table_attribute(tableoid, &buf, formatter, ft_frmt_clmn, cnt_ft_frmt_clmns); @@ -4226,15 +4223,7 @@ static void set_deparse_planstate(deparse_namespace* dpns, PlanState* ps) * reference sourceTargetList, which comes from outer plan of the join (source table) */ if (mps->operation == CMD_MERGE) { - PlanState* jplanstate = dpns->outer_planstate; - if (IsA(jplanstate, StreamState) || IsA(jplanstate, VecStreamState)) - jplanstate = jplanstate->lefttree; - if (jplanstate->plan != NULL && IsJoinPlan((Node*)jplanstate->plan) && - ((Join*)jplanstate->plan)->jointype == JOIN_RIGHT) { - dpns->inner_planstate = innerPlanState(jplanstate); - } else { - dpns->inner_planstate = outerPlanState(jplanstate); - } + dpns->inner_planstate = dpns->outer_planstate->lefttree; } } else dpns->inner_planstate = innerPlanState(ps); @@ -5071,7 +5060,9 @@ static void get_select_query_def(Query* query, deparse_context* context, TupleDe } /* Add the LIMIT clause if given */ - if (query->limitOffset != NULL) { + if (query->limitOffset != NULL && + !(IsA(query->limitOffset, Const) && ((Const*)(query->limitOffset))->ismaxvalue)) { + appendContextKeyword(context, " OFFSET ", -PRETTYINDENT_STD, PRETTYINDENT_STD, 0); get_rule_expr(query->limitOffset, context, false); } @@ -6577,6 +6568,271 @@ void get_utility_stmt_def(AlterTableStmt* stmt, StringInfo buf) } +static void AppendDistributeByColDef(StringInfo buf, CreateStmt* stmt) +{ + int i = 0; + ListCell *cell = NULL; + appendStringInfo(buf, "("); + foreach (cell, stmt->distributeby->colname) { + if (i == 0) { + appendStringInfo(buf, "%s", strVal(lfirst(cell))); + } else { + appendStringInfo(buf, ", %s", strVal(lfirst(cell))); + } + i++; + } + appendStringInfo(buf, ")"); +} + +static bool IsDefaultSlice(StringInfo buf, RangePartitionDefState* sliceDef) +{ + ParseState* pstate = make_parsestate(NULL); + Node* valueNode = (Node *)list_nth(sliceDef->boundary, 0); + Const* valueConst = (Const *)transformExpr(pstate, valueNode); + + if (valueConst->ismaxvalue) { + appendStringInfo(buf, "DEFAULT"); + free_parsestate(pstate); + return true; + } else { + free_parsestate(pstate); + return false; + } +} + +static char* EscapeQuotes(const char* src) +{ + int len = strlen(src), i, j; + char* result = (char*)palloc(len * 2 + 1); + + for (i = 0, j = 0; i < len; i++) { + /* backslash is already escaped */ + if (SQL_STR_DOUBLE(src[i], false)) { + result[j++] = src[i]; + } + result[j++] = src[i]; + } + result[j] = '\0'; + return result; +} + +static void AppendSliceItemDDL(StringInfo buf, RangePartitionDefState* sliceDef, CreateStmt* stmt, bool parentheses) +{ + Oid typoutput; + bool typIsVarlena = false; + ParseState* pstate = make_parsestate(NULL); + Const* valueConst = NULL; + Node* valueNode = NULL; + const char* valueString = NULL; + char* escapedString = NULL; + ListCell* cell = NULL; + ListCell* cell2 = NULL; + int i = 0; + + if (parentheses) { + appendStringInfo(buf, "("); + } + + forboth(cell, sliceDef->boundary, cell2, stmt->tableElts) { + if (i > 0) { + appendStringInfo(buf, ", "); + } + valueNode = (Node *)lfirst(cell); + valueConst = (Const *)transformExpr(pstate, valueNode); + + if (valueConst->ismaxvalue) { + /* already took care of DEFAULT slice for LIST tables in IsDefaultSlice */ + appendStringInfo(buf, "MAXVALUE"); + } else { + getTypeOutputInfo(valueConst->consttype, &typoutput, &typIsVarlena); + valueString = OidOutputFunctionCall(typoutput, valueConst->constvalue); + escapedString = EscapeQuotes(valueString); + appendStringInfo(buf, "'%s'", escapedString); + } + i++; + } + + if (parentheses) { + appendStringInfo(buf, ")"); + } + + pfree_ext(escapedString); + return; +} + +static void AppendSliceDN(StringInfo buf, Node* n) +{ + char* dnName = NULL; + switch (n->type) { + case T_RangePartitionDefState: { + RangePartitionDefState *sliceDef = (RangePartitionDefState *)n; + dnName = sliceDef->tablespacename; + break; + } + case T_RangePartitionStartEndDefState: { + RangePartitionStartEndDefState *sliceDef = (RangePartitionStartEndDefState *)n; + dnName = sliceDef->tableSpaceName; + break; + } + case T_ListSliceDefState: { + ListSliceDefState *sliceDef = (ListSliceDefState *)n; + dnName = sliceDef->datanode_name; + break; + } + default: + break; + } + if (dnName == NULL) { + return; + } + appendStringInfo(buf, " DATANODE %s", dnName); +} + +static void AppendStartEndElement(StringInfo buf, List* valueList, CreateStmt* stmt) +{ + Oid typoutput; + bool typIsVarlena = false; + Node* valueNode = NULL; + Const* valueConst = NULL; + const char* valueString = NULL; + ParseState* pstate = NULL; + char* escapedString = NULL; + + if (list_length(valueList) != 1) { + ereport(ERROR, + (errcode(ERRCODE_INVALID_TABLE_DEFINITION), + errmsg("distributed table has too many distribution keys."), + errhint("start/end syntax requires a distributed table with only one distribution key."))); + } + + pstate = make_parsestate(NULL); + valueNode = (Node *)list_nth(valueList, 0); + valueConst = (Const *)transformExpr(pstate, valueNode); + if (valueConst->ismaxvalue) { + appendStringInfo(buf, "MAXVALUE"); + } else { + getTypeOutputInfo(valueConst->consttype, &typoutput, &typIsVarlena); + valueString = OidOutputFunctionCall(typoutput, valueConst->constvalue); + escapedString = EscapeQuotes(valueString); + appendStringInfo(buf, "'%s'", escapedString); + } + pfree_ext(escapedString); + free_parsestate(pstate); +} + +static void AppendStartEndDDL(StringInfo buf, RangePartitionStartEndDefState* sliceDef, CreateStmt* stmt) +{ + List* startValue = sliceDef->startValue; + List* endValue = sliceDef->endValue; + List* everyValue = sliceDef->everyValue; + + appendStringInfo(buf, "SLICE %s ", sliceDef->partitionName); + if (startValue != NIL) { + appendStringInfo(buf, "START("); + AppendStartEndElement(buf, startValue, stmt); + appendStringInfo(buf, ") "); + } + if (endValue != NIL) { + appendStringInfo(buf, "END("); + AppendStartEndElement(buf, endValue, stmt); + appendStringInfo(buf, ") "); + } + if (everyValue != NIL) { + appendStringInfo(buf, "EVERY("); + AppendStartEndElement(buf, everyValue, stmt); + appendStringInfo(buf, ") "); + } +} + +static void AppendValuesLessThanDDL(StringInfo buf, Node* node, CreateStmt* stmt) +{ + RangePartitionDefState *sliceDef = (RangePartitionDefState *)node; + appendStringInfo(buf, "SLICE %s VALUES LESS THAN (", sliceDef->partitionName); + AppendSliceItemDDL(buf, sliceDef, stmt, false); + appendStringInfo(buf, ")"); + AppendSliceDN(buf, node); + pfree(sliceDef); +} + +static void AppendListDDL(StringInfo buf, Node* node, CreateStmt* stmt, int keyNum) +{ + int listIdx = 0; + ListSliceDefState *listSlice = (ListSliceDefState *)node; + RangePartitionDefState *sliceDef = makeNode(RangePartitionDefState); + ListCell *cell = NULL; + bool parentheses = keyNum > 1; + + /* wrap every list boundary to RangePartitionDefState, then append to the buffer */ + appendStringInfo(buf, "SLICE %s VALUES (", listSlice->name); + foreach (cell, listSlice->boundaries) { + sliceDef->partitionName = listSlice->name; + sliceDef->boundary = (List *)lfirst(cell); + if (listIdx > 0) { + appendStringInfo(buf, ", "); + } + if (IsDefaultSlice(buf, sliceDef)) { + break; + } else { + AppendSliceItemDDL(buf, sliceDef, stmt, parentheses); + } + listIdx++; + } + appendStringInfo(buf, ")"); + AppendSliceDN(buf, node); + pfree(sliceDef); +} + +static void AppendSliceDDL(StringInfo buf, CreateStmt* stmt) +{ + if (stmt->distributeby->distState == NULL) { + ereport(ERROR, (errcode(ERRCODE_UNDEFINED_OBJECT), + errmsg("Distribution Info is not defined."))); + } + + int idx = 0; + DistributeBy* distributeby = stmt->distributeby; + ListCell *cell = NULL; + DistState *distState = distributeby->distState; + int keyNum = list_length(distributeby->colname); + + /* Slice References case, needs to append slice definitions of the base table! */ + if (distributeby->distState->refTableName != NULL) { + appendStringInfo(buf, " SLICE REFERENCES %s ", distributeby->distState->refTableName); + return; + } + + appendStringInfo(buf, "("); + foreach (cell, distState->sliceList) { + Node *node = (Node *)lfirst(cell); + if (idx > 0) { + appendStringInfo(buf, ", "); + } + switch (node->type) { + case T_RangePartitionDefState: { + AppendValuesLessThanDDL(buf, node, stmt); + break; + } + case T_ListSliceDefState: { + AppendListDDL(buf, node, stmt, keyNum); + break; + } + case T_RangePartitionStartEndDefState: { + /* no transformation to less-than struct; deparse back to DDL as-is */ + RangePartitionStartEndDefState* sliceDef = (RangePartitionStartEndDefState *)node; + AppendStartEndDDL(buf, sliceDef, stmt); + break; + } + default: { + ereport(ERROR, (errcode(ERRCODE_UNDEFINED_OBJECT), + errmsg("Unrecognized distribution specification."))); + break; + } + } + idx++; + } + appendStringInfo(buf, ")"); /* end parentheses for whole range/list distribution */ +} + /* ---------- * get_utility_query_def - Parse back a UTILITY parsetree * ---------- @@ -6763,6 +7019,20 @@ static void get_utility_query_def(Query* query, deparse_context* context) appendStringInfo(buf, ")"); break; + case DISTTYPE_RANGE: { + appendStringInfo(buf, " DISTRIBUTE BY RANGE"); + AppendDistributeByColDef(buf, stmt); + AppendSliceDDL(buf, stmt); + break; + } + + case DISTTYPE_LIST: { + appendStringInfo(buf, " DISTRIBUTE BY LIST"); + AppendDistributeByColDef(buf, stmt); + AppendSliceDDL(buf, stmt); + break; + } + default: ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR), errmsg("Invalid distribution type"))); } @@ -9419,6 +9689,13 @@ static void get_coercion_expr(Node* arg, deparse_context* context, Oid resulttyp if (!PRETTY_PAREN(context)) appendStringInfoChar(buf, ')'); } + /* + * Never emit resulttype(arg) functional notation. A pg_proc entry could + * take precedence, and a resulttype in pg_temp would require schema + * qualification that format_type_with_typemod() would usually omit. We've + * standardized on arg::resulttype, but CAST(arg AS resulttype) notation + * would work fine. + */ appendStringInfo(buf, "::%s", format_type_with_typemod(resulttype, resulttypmod)); } diff --git a/src/common/backend/utils/adt/selfuncs.cpp b/src/common/backend/utils/adt/selfuncs.cpp index 4fd87b3d1..d130ee9de 100644 --- a/src/common/backend/utils/adt/selfuncs.cpp +++ b/src/common/backend/utils/adt/selfuncs.cpp @@ -116,6 +116,7 @@ #include "executor/executor.h" #include "foreign/foreign.h" #include "mb/pg_wchar.h" +#include "miscadmin.h" #include "nodes/makefuncs.h" #include "nodes/nodeFuncs.h" #include "optimizer/clauses.h" @@ -133,6 +134,7 @@ #include "parser/parsetree.h" #include "parser/parse_relation.h" #include "pgstat.h" +#include "utils/acl.h" #include "utils/builtins.h" #include "utils/bytea.h" #include "utils/date.h" @@ -314,6 +316,7 @@ static double var_eq_const(VariableStatData* vardata, Oid opera, Datum constval, { double selec; bool isdefault = false; + Oid opfuncoid = get_opcode(opera); /* * If the constant is NULL, assume operator is strict and return zero, ie, @@ -332,7 +335,7 @@ static double var_eq_const(VariableStatData* vardata, Oid opera, Datum constval, if (vardata->isunique && vardata->rel && vardata->rel->tuples >= 1.0) return 1.0 / vardata->rel->tuples; - if (HeapTupleIsValid(vardata->statsTuple)) { + if (HeapTupleIsValid(vardata->statsTuple) && statistic_proc_security_check(vardata, opfuncoid)) { Form_pg_statistic stats; Datum* values = NULL; int nvalues; @@ -362,7 +365,7 @@ static double var_eq_const(VariableStatData* vardata, Oid opera, Datum constval, &nnumbers)) { FmgrInfo eqproc; - fmgr_info(get_opcode(opera), &eqproc); + fmgr_info(opfuncoid, &eqproc); for (i = 0; i < nvalues; i++) { /* be careful to apply operator right way 'round */ @@ -732,16 +735,18 @@ double mcv_selectivity(VariableStatData* vardata, FmgrInfo* opproc, Datum constv */ if (equaloperator != InvalidOid) fmgr_info(get_opcode(equaloperator), &opequal); - if (HeapTupleIsValid(vardata->statsTuple) && get_attstatsslot(vardata->statsTuple, - vardata->atttype, - vardata->atttypmod, - STATISTIC_KIND_MCV, - InvalidOid, - NULL, - &values, - &nvalues, - &numbers, - &nnumbers)) { + if (HeapTupleIsValid(vardata->statsTuple) && + statistic_proc_security_check(vardata, opproc->fn_oid) && + get_attstatsslot(vardata->statsTuple, + vardata->atttype, + vardata->atttypmod, + STATISTIC_KIND_MCV, + InvalidOid, + NULL, + &values, + &nvalues, + &numbers, + &nnumbers)) { for (i = 0; i < nvalues; i++) { if (opequal.fn_oid != InvalidOid && equaloperator != InvalidOid) { if (varonleft ? DatumGetBool(FunctionCall2Coll(&opequal, DEFAULT_COLLATION_OID, values[i], constval)) @@ -806,16 +811,18 @@ double histogram_selectivity(VariableStatData* vardata, FmgrInfo* opproc, Datum Assert(n_skip >= 0); Assert(min_hist_size > 2 * n_skip); - if (HeapTupleIsValid(vardata->statsTuple) && get_attstatsslot(vardata->statsTuple, - vardata->atttype, - vardata->atttypmod, - STATISTIC_KIND_HISTOGRAM, - InvalidOid, - NULL, - &values, - &nvalues, - NULL, - NULL)) { + if (HeapTupleIsValid(vardata->statsTuple) && + statistic_proc_security_check(vardata, opproc->fn_oid) && + get_attstatsslot(vardata->statsTuple, + vardata->atttype, + vardata->atttypmod, + STATISTIC_KIND_HISTOGRAM, + InvalidOid, + NULL, + &values, + &nvalues, + NULL, + NULL)) { *hist_size = nvalues; if (nvalues >= min_hist_size) { int nmatch = 0; @@ -870,16 +877,18 @@ static double ineq_histogram_selectivity( * appears in pg_statistic is sorted the same way our operator sorts, or * the reverse way if isgt is TRUE. */ - if (HeapTupleIsValid(vardata->statsTuple) && get_attstatsslot(vardata->statsTuple, - vardata->atttype, - vardata->atttypmod, - STATISTIC_KIND_HISTOGRAM, - InvalidOid, - &hist_op, - &values, - &nvalues, - NULL, - NULL)) { + if (HeapTupleIsValid(vardata->statsTuple) && + statistic_proc_security_check(vardata, opproc->fn_oid) && + get_attstatsslot(vardata->statsTuple, + vardata->atttype, + vardata->atttypmod, + STATISTIC_KIND_HISTOGRAM, + InvalidOid, + &hist_op, + &values, + &nvalues, + NULL, + NULL)) { if (nvalues > 1) { /* * Use binary search to find proper location, ie, the first slot @@ -2240,6 +2249,7 @@ static double eqjoinsel_inner( double selec; double nd1; double nd2; + Oid opfuncoid; bool isdefault1 = false; bool isdefault2 = false; Form_pg_statistic stats1 = NULL; @@ -2268,19 +2278,23 @@ static double eqjoinsel_inner( vardata1, &isdefault1, true, get_join_ratio(vardata1, sjinfo), sjinfo, STATS_TYPE_GLOBAL); nd2 = get_variable_numdistinct( vardata2, &isdefault2, true, get_join_ratio(vardata2, sjinfo), sjinfo, STATS_TYPE_GLOBAL); + opfuncoid = get_opcode(opera); if (HeapTupleIsValid(vardata1->statsTuple)) { + /* note we allow use of nullfrac regardless of security check */ stats1 = (Form_pg_statistic)GETSTRUCT(vardata1->statsTuple); - have_mcvs1 = get_attstatsslot(vardata1->statsTuple, - vardata1->atttype, - vardata1->atttypmod, - STATISTIC_KIND_MCV, - InvalidOid, - NULL, - &values1, - &nvalues1, - &numbers1, - &nnumbers1); + if (statistic_proc_security_check(vardata1, opfuncoid)) { + have_mcvs1 = get_attstatsslot(vardata1->statsTuple, + vardata1->atttype, + vardata1->atttypmod, + STATISTIC_KIND_MCV, + InvalidOid, + NULL, + &values1, + &nvalues1, + &numbers1, + &nnumbers1); + } if (vardata1->rel != NULL) { relfrac1 = vardata1->rel->rows / vardata1->rel->tuples; /* force relfrac to be within range of [0, 1] */ @@ -2289,17 +2303,20 @@ static double eqjoinsel_inner( } if (HeapTupleIsValid(vardata2->statsTuple)) { + /* note we allow use of nullfrac regardless of security check */ stats2 = (Form_pg_statistic)GETSTRUCT(vardata2->statsTuple); - have_mcvs2 = get_attstatsslot(vardata2->statsTuple, - vardata2->atttype, - vardata2->atttypmod, - STATISTIC_KIND_MCV, - InvalidOid, - NULL, - &values2, - &nvalues2, - &numbers2, - &nnumbers2); + if (statistic_proc_security_check(vardata2, opfuncoid)) { + have_mcvs2 = get_attstatsslot(vardata2->statsTuple, + vardata2->atttype, + vardata2->atttypmod, + STATISTIC_KIND_MCV, + InvalidOid, + NULL, + &values2, + &nvalues2, + &numbers2, + &nnumbers2); + } if (vardata2->rel != NULL) { relfrac2 = vardata2->rel->rows / vardata2->rel->tuples; /* force relfrac to be within range of [0, 1] */ @@ -2331,7 +2348,7 @@ static double eqjoinsel_inner( int i, nmatches; double tmp_nmatches; - fmgr_info(get_opcode(opera), &eqproc); + fmgr_info(opfuncoid, &eqproc); hasmatch1 = (bool*)palloc0(nvalues1 * sizeof(bool)); hasmatch2 = (bool*)palloc0(nvalues2 * sizeof(bool)); @@ -2614,6 +2631,7 @@ static double estimate_full_distinct_space(VariableStatData* vardata1, VariableS * * (Also used for anti join, which we are supposed to estimate the same way.) * Caller has ensured that vardata1 is the LHS variable. + * Unlike eqjoinsel_inner, we have to cope with operator being InvalidOid. */ static double eqjoinsel_semi( Oid opera, VariableStatData* vardata1, VariableStatData* vardata2, RelOptInfo* inner_rel, SpecialJoinInfo* sjinfo) @@ -2635,11 +2653,11 @@ static double eqjoinsel_semi( float4* numbers2 = NULL; int nnumbers2 = 0; + Oid opfuncoid = OidIsValid(opera) ? get_opcode(opera) : InvalidOid; nd1 = get_variable_numdistinct( vardata1, &isdefault1, true, get_join_ratio(vardata1, sjinfo), sjinfo, STATS_TYPE_GLOBAL); nd2 = get_variable_numdistinct( vardata2, &isdefault2, true, get_join_ratio(vardata2, sjinfo), sjinfo, STATS_TYPE_GLOBAL); - /* * We clamp nd2 to be not more than what we estimate the inner relation's * size to be. This is intuitively somewhat reasonable since obviously @@ -2660,20 +2678,24 @@ static double eqjoinsel_semi( nd2 = Min(nd2, inner_rel->rows); if (HeapTupleIsValid(vardata1->statsTuple)) { + /* note we allow use of nullfrac regardless of security check */ stats1 = (Form_pg_statistic)GETSTRUCT(vardata1->statsTuple); - have_mcvs1 = get_attstatsslot(vardata1->statsTuple, - vardata1->atttype, - vardata1->atttypmod, - STATISTIC_KIND_MCV, - InvalidOid, - NULL, - &values1, - &nvalues1, - &numbers1, - &nnumbers1); + if (statistic_proc_security_check(vardata1, opfuncoid)) { + have_mcvs1 = get_attstatsslot(vardata1->statsTuple, + vardata1->atttype, + vardata1->atttypmod, + STATISTIC_KIND_MCV, + InvalidOid, + NULL, + &values1, + &nvalues1, + &numbers1, + &nnumbers1); + } } - if (HeapTupleIsValid(vardata2->statsTuple)) { + if (HeapTupleIsValid(vardata2->statsTuple) && + statistic_proc_security_check(vardata2, opfuncoid)) { have_mcvs2 = get_attstatsslot(vardata2->statsTuple, vardata2->atttype, vardata2->atttypmod, @@ -2711,7 +2733,7 @@ static double eqjoinsel_semi( */ clamped_nvalues2 = (int)Min(nvalues2, nd2); - fmgr_info(get_opcode(opera), &eqproc); + fmgr_info(opfuncoid, &eqproc); hasmatch1 = (bool*)palloc0(nvalues1 * sizeof(bool)); hasmatch2 = (bool*)palloc0(clamped_nvalues2 * sizeof(bool)); @@ -4512,6 +4534,9 @@ void get_join_variables(PlannerInfo* root, List* args, SpecialJoinInfo* sjinfo, * this query. (Caution: this should be trusted for statistical * purposes only, since we do not check indimmediate nor verify that * the exact same definition of equality applies.) + * acl_ok: TRUE if current user has permission to read the column(s) + * underlying the pg_statistic entry. This is consulted by + * statistic_proc_security_check(). * * Caller is responsible for doing ReleaseVariableStats() before exiting. */ @@ -4671,6 +4696,30 @@ void examine_variable(PlannerInfo* root, Node* node, int varRelid, VariableStatD CharGetDatum(stakind), Int16GetDatum(pos + 1), BoolGetDatum(false)); vardata->freefunc = ReleaseSysCache; + + if (HeapTupleIsValid(vardata->statsTuple)) + { + /* Get index's table for permission check */ + RangeTblEntry *rte; + + rte = planner_rt_fetch(index->rel->relid, root); + Assert(rte->rtekind == RTE_RELATION); + + /* + * For simplicity, we insist on the whole + * table being selectable, rather than trying + * to identify which column(s) the index + * depends on. + */ + vardata->acl_ok = + (pg_class_aclcheck(rte->relid, GetUserId(), + ACL_SELECT) == ACLCHECK_OK); + } + else + { + /* suppress leakproofness checks later */ + vardata->acl_ok = true; + } } } if (vardata->statsTuple) @@ -4746,11 +4795,26 @@ static void examine_simple_variable(PlannerInfo* root, Var* var, VariableStatDat vardata->statsTuple = get_gtt_att_statistic(rte->relid, var->varattno); vardata->freefunc = release_gtt_statistic_cache; } else { - vardata->statsTuple = SearchSysCache4( + vardata->statsTuple = SearchSysCache4( STATRELKINDATTINH, ObjectIdGetDatum(starelid), CharGetDatum(stakind), Int16GetDatum(var->varattno), BoolGetDatum(rte->inh)); - vardata->freefunc = ReleaseSysCache; + vardata->freefunc = ReleaseSysCache; + + if (HeapTupleIsValid(vardata->statsTuple)) + { + /* check if user has permission to read this column */ + vardata->acl_ok = + (pg_class_aclcheck(rte->relid, GetUserId(), + ACL_SELECT) == ACLCHECK_OK) || + (pg_attribute_aclcheck(rte->relid, var->varattno, GetUserId(), + ACL_SELECT) == ACLCHECK_OK); + } + else + { + /* suppress any possible leakproofness checks later */ + vardata->acl_ok = true; + } } #ifdef PGXC @@ -4872,6 +4936,34 @@ static void examine_simple_variable(PlannerInfo* root, Var* var, VariableStatDat } } + +/* + * Check whether it is permitted to call func_oid passing some of the + * pg_statistic data in vardata. We allow this either if the user has SELECT + * privileges on the table or column underlying the pg_statistic data or if + * the function is marked leak-proof. + */ +bool +statistic_proc_security_check(const VariableStatData *vardata, Oid func_oid) +{ + if (vardata->acl_ok) + return true; + + if (!OidIsValid(func_oid)) + return false; + + if (get_func_leakproof(func_oid)) + return true; + + ereport(DEBUG2, + (errmodule(MOD_OPT), + (errmsg_internal("not using statistics because function \"%s\" is not leak-proof", + get_func_name(func_oid))))); + + return false; +} + + /* * get_variable_numdistinct * Estimate the number of distinct values of a variable. @@ -5083,6 +5175,7 @@ static bool get_variable_range(PlannerInfo* root, VariableStatData* vardata, Oid bool have_data = false; int16 typLen; bool typByVal = false; + Oid opfuncoid; Datum* values = NULL; int nvalues; int i; @@ -5104,6 +5197,16 @@ static bool get_variable_range(PlannerInfo* root, VariableStatData* vardata, Oid return false; } + /* + * If we can't apply the sortop to the stats data, just fail. In + * principle, if there's a histogram and no MCVs, we could return the + * histogram endpoints without ever applying the sortop ... but it's + * probably not worth trying, because whatever the caller wants to do with + * the endpoints would likely fail the security check too. + */ + if (!statistic_proc_security_check(vardata, (opfuncoid = get_opcode(sortop)))) + return false; + get_typlenbyval(vardata->atttype, &typLen, &typByVal); /* @@ -5163,7 +5266,7 @@ static bool get_variable_range(PlannerInfo* root, VariableStatData* vardata, Oid bool tmax_is_mcv = false; FmgrInfo opproc; - fmgr_info(get_opcode(sortop), &opproc); + fmgr_info(opfuncoid, &opproc); for (i = 0; i < nvalues; i++) { if (!have_data) { @@ -5563,6 +5666,7 @@ static Pattern_Prefix_Status like_fixed_prefix( if (case_insensitive && pattern_char_isalpha(patt[pos], is_multibyte, locale, locale_is_c)) break; + charlen = (pos + charlen <= pattlen) ? (charlen) : (pattlen - pos); for (int i = 0; i < charlen; i++) match[match_pos++] = patt[pos++]; } diff --git a/src/common/backend/utils/adt/tid.cpp b/src/common/backend/utils/adt/tid.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/adt/timestamp.cpp b/src/common/backend/utils/adt/timestamp.cpp old mode 100755 new mode 100644 index 11c011282..bfb1e37cc --- a/src/common/backend/utils/adt/timestamp.cpp +++ b/src/common/backend/utils/adt/timestamp.cpp @@ -5774,10 +5774,11 @@ void timestamp_CalculateFields(TimestampTz* dt1, TimestampTz* dt2, fsec_t* fsec, } } -void WalReplicationTimestampToString(WalReplicationTimestampInfo *timeStampInfo) +void WalReplicationTimestampToString(WalReplicationTimestampInfo *timeStampInfo, TimestampTz nowtime, + TimestampTz timeout, TimestampTz lastTimestamp, TimestampTz heartbeat) { - COPY_AND_CHECK_TIMESTAMP(timeStampInfo->nowTimeStamp, MAXTIMESTAMPLEN + 1, timeStampInfo->nowtime); - COPY_AND_CHECK_TIMESTAMP(timeStampInfo->timeoutStamp, MAXTIMESTAMPLEN + 1, timeStampInfo->timeout); - COPY_AND_CHECK_TIMESTAMP(timeStampInfo->lastRecStamp, MAXTIMESTAMPLEN + 1, timeStampInfo->last_timestamp); - COPY_AND_CHECK_TIMESTAMP(timeStampInfo->heartbeatStamp, MAXTIMESTAMPLEN + 1, timeStampInfo->heartbeat); -} \ No newline at end of file + COPY_AND_CHECK_TIMESTAMP(timeStampInfo->nowTimeStamp, MAXTIMESTAMPLEN + 1, nowtime); + COPY_AND_CHECK_TIMESTAMP(timeStampInfo->timeoutStamp, MAXTIMESTAMPLEN + 1, timeout); + COPY_AND_CHECK_TIMESTAMP(timeStampInfo->lastRecStamp, MAXTIMESTAMPLEN + 1, lastTimestamp); + COPY_AND_CHECK_TIMESTAMP(timeStampInfo->heartbeatStamp, MAXTIMESTAMPLEN + 1, heartbeat); +} diff --git a/src/common/backend/utils/adt/tsginidx.cpp b/src/common/backend/utils/adt/tsginidx.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/adt/tsgistidx.cpp b/src/common/backend/utils/adt/tsgistidx.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/adt/tsquery.cpp b/src/common/backend/utils/adt/tsquery.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/adt/tsquery_cleanup.cpp b/src/common/backend/utils/adt/tsquery_cleanup.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/adt/tsquery_gist.cpp b/src/common/backend/utils/adt/tsquery_gist.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/adt/tsquery_op.cpp b/src/common/backend/utils/adt/tsquery_op.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/adt/tsquery_rewrite.cpp b/src/common/backend/utils/adt/tsquery_rewrite.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/adt/tsquery_util.cpp b/src/common/backend/utils/adt/tsquery_util.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/adt/tsrank.cpp b/src/common/backend/utils/adt/tsrank.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/adt/tsvector.cpp b/src/common/backend/utils/adt/tsvector.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/adt/tsvector_op.cpp b/src/common/backend/utils/adt/tsvector_op.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/adt/tsvector_parser.cpp b/src/common/backend/utils/adt/tsvector_parser.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/adt/txid.cpp b/src/common/backend/utils/adt/txid.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/adt/uuid.cpp b/src/common/backend/utils/adt/uuid.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/adt/varbit.cpp b/src/common/backend/utils/adt/varbit.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/adt/varchar.cpp b/src/common/backend/utils/adt/varchar.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/adt/windowfuncs.cpp b/src/common/backend/utils/adt/windowfuncs.cpp index 0df4d090b..349bb3c69 100644 --- a/src/common/backend/utils/adt/windowfuncs.cpp +++ b/src/common/backend/utils/adt/windowfuncs.cpp @@ -425,15 +425,27 @@ Datum window_delta(PG_FUNCTION_ARGS) WindowObject winobj = PG_WINDOW_OBJECT(); bool is_pre_null = false; bool is_cur_null = false; - Datum pre, cur; + Datum pre, cur, res; pre = WinGetFuncArgInFrame(winobj, 0, -1, WINDOW_SEEK_CURRENT, true, &is_pre_null, NULL); + /* tuple will be freed when next WinGetFuncArgInFrame called. make a copy of pre datum deeply. */ + if (!is_pre_null) { + pre = PointerGetDatum(PG_DETOAST_DATUM_COPY(pre)); + } cur = WinGetFuncArgInFrame(winobj, 0, 0, WINDOW_SEEK_CURRENT, true, &is_cur_null, NULL); + if (is_cur_null) { - PG_RETURN_NULL(); + fcinfo->isnull = true; + res = (Datum) 0; + } else if (is_pre_null) { + res = DirectFunctionCall2(numeric_sub, cur, cur); + } else { + res = DirectFunctionCall2(numeric_sub, cur, pre); } - if (is_pre_null) { - PG_RETURN_DATUM(DirectFunctionCall2(numeric_sub, cur, cur)); + + if (PointerIsValid(DatumGetPointer(pre))) { + pfree(DatumGetPointer(pre)); } - PG_RETURN_DATUM(DirectFunctionCall2(numeric_sub, cur, pre)); + + PG_RETURN_DATUM(res); } \ No newline at end of file diff --git a/src/common/backend/utils/adt/xid.cpp b/src/common/backend/utils/adt/xid.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/adt/xml.cpp b/src/common/backend/utils/adt/xml.cpp old mode 100755 new mode 100644 index adf3188b0..2194c986d --- a/src/common/backend/utils/adt/xml.cpp +++ b/src/common/backend/utils/adt/xml.cpp @@ -2538,6 +2538,12 @@ Datum schema_to_xml(PG_FUNCTION_ARGS) targetns = text_to_cstring(PG_GETARG_TEXT_PP(3)); schemaname = NameStr(*name); + + if (schemaname == NULL) { + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), errmsg("schema name is NULL."))); + } + nspid = LookupExplicitNamespace(schemaname); PG_RETURN_XML_P(stringinfo_to_xmltype(schema_to_xml_internal(nspid, NULL, nulls, tableforest, targetns, true))); @@ -2577,6 +2583,11 @@ static StringInfo schema_to_xmlschema_internal( result = makeStringInfo(); + if (schemaname == NULL) { + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), errmsg("schema name is NULL."))); + } + nspid = LookupExplicitNamespace(schemaname); xsd_schema_element_start(result, targetns); @@ -2657,6 +2668,12 @@ Datum schema_to_xml_and_xmlschema(PG_FUNCTION_ARGS) targetns = text_to_cstring(PG_GETARG_TEXT_PP(3)); schemaname = NameStr(*name); + + if (schemaname == NULL) { + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), errmsg("schema name is NULL."))); + } + nspid = LookupExplicitNamespace(schemaname); xmlschema = schema_to_xmlschema_internal(schemaname, nulls, tableforest, targetns); diff --git a/src/common/backend/utils/cache/attoptcache.cpp b/src/common/backend/utils/cache/attoptcache.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/cache/catcache.cpp b/src/common/backend/utils/cache/catcache.cpp index d204a792e..c72620d34 100644 --- a/src/common/backend/utils/cache/catcache.cpp +++ b/src/common/backend/utils/cache/catcache.cpp @@ -1827,7 +1827,7 @@ HeapTuple CreateHeapTuple4BuiltinFunc(const Builtin_func* func, TupleDesc desc) * ignore this check. */ if (parameterCount == 1 && func->proallargtypes != NULL && OidIsValid(func->proallargtypes->values[0]) && - !IsBootstrapProcessingMode() && (relid = typeidTypeRelid((func->proallargtypes->values)[0]) != InvalidOid) && + !IsBootstrapProcessingMode() && ((relid = typeidTypeRelid((func->proallargtypes->values)[0])) != InvalidOid) && get_attnum(relid, func->prosrc) != InvalidAttrNumber) { ereport(ERROR, (errcode(ERRCODE_DUPLICATE_COLUMN), diff --git a/src/common/backend/utils/cache/inval.cpp b/src/common/backend/utils/cache/inval.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/cache/partcache.cpp b/src/common/backend/utils/cache/partcache.cpp old mode 100755 new mode 100644 index 0fb558ba7..c56acdd0a --- a/src/common/backend/utils/cache/partcache.cpp +++ b/src/common/backend/utils/cache/partcache.cpp @@ -1293,7 +1293,7 @@ void releaseDummyRelation(Relation* relation) smgrclearowner(&(*relation)->rd_smgr, (*relation)->rd_smgr); } - if (!RelationIsBucket(*relation) && (*relation)->rd_indexcxt != NULL) { + if ((*relation)->rd_indexcxt != NULL) { MemoryContextDelete((*relation)->rd_indexcxt); (*relation)->rd_indexcxt = NULL; } diff --git a/src/common/backend/utils/cache/plancache.cpp b/src/common/backend/utils/cache/plancache.cpp index 22c6e0a5d..a2f79df79 100644 --- a/src/common/backend/utils/cache/plancache.cpp +++ b/src/common/backend/utils/cache/plancache.cpp @@ -115,6 +115,15 @@ static bool check_stream_plan(Plan* plan); static bool is_upsert_query_with_update_param(Node* raw_parse_tree); static void GPCFillPlanCache(CachedPlanSource* plansource, bool isBuildingCustomPlan); +bool IsStreamSupport() +{ +#ifdef ENABLE_MULTIPLE_NODES + return u_sess->attr.attr_sql.enable_stream_operator; +#else + return u_sess->opt_cxt.query_dop > 1; +#endif +} + /* * InitPlanCache: initialize module during InitPostgres. * @@ -174,33 +183,36 @@ CachedPlanSource* CreateCachedPlan(Node* raw_parse_tree, const char* query_strin enable_pbe_gpc = ENABLE_GPC && raw_parse_tree && !IsA(raw_parse_tree, TransactionStmt); #endif } - if (enable_pbe_gpc) { - source_context = AllocSetContextCreate(g_instance.cache_cxt.global_cache_mem, - "GPCCachedPlanSource", - ALLOCSET_SMALL_MINSIZE, - ALLOCSET_SMALL_INITSIZE, - ALLOCSET_DEFAULT_MAXSIZE, - SHARED_CONTEXT); - } else if (ENABLE_CN_GPC && enable_spi_gpc) { - source_context = AllocSetContextCreate(g_instance.cache_cxt.global_cache_mem, - "SPI_GPCCachedPlanSource", + + if(!enable_pbe_gpc && !(ENABLE_CN_GPC && enable_spi_gpc)) { + /* + * Make a dedicated memory context for the CachedPlanSource and its + * permanent subsidiary data. It's probably not going to be large, but + * just in case, use the default maxsize parameter. Initially it's a + * child of the caller's context (which we assume to be transient), so + * that it will be cleaned up on error. + */ + source_context = AllocSetContextCreate(CurrentMemoryContext, + "CachedPlanSource", + ALLOCSET_SMALL_MINSIZE, + ALLOCSET_SMALL_INITSIZE, + ALLOCSET_DEFAULT_MAXSIZE); + } else { + char *contextName = NULL; + if (enable_pbe_gpc) { + contextName = "GPCCachedPlanSource"; + } + if (ENABLE_CN_GPC && enable_spi_gpc) { + contextName = "SPI_GPCCachedPlanSource"; + } + source_context = AllocSetContextCreate(GLOBAL_PLANCACHE_MEMCONTEXT, + contextName, ALLOCSET_SMALL_MINSIZE, ALLOCSET_SMALL_INITSIZE, ALLOCSET_DEFAULT_MAXSIZE, SHARED_CONTEXT); - } else { - /* - * Make a dedicated memory context for the CachedPlanSource and its - * permanent subsidiary data. It's probably not going to be large, but - * just in case, use the default maxsize parameter. Initially it's a - * child of the caller's context (which we assume to be transient), so - * that it will be cleaned up on error. - */ - source_context = AllocSetContextCreate(CurrentMemoryContext, - "CachedPlanSource", - ALLOCSET_SMALL_MINSIZE, - ALLOCSET_SMALL_INITSIZE, - ALLOCSET_DEFAULT_MAXSIZE); + ResourceOwnerEnlargeGMemContext(t_thrd.utils_cxt.TopTransactionResourceOwner); + ResourceOwnerRememberGMemContext(t_thrd.utils_cxt.TopTransactionResourceOwner, source_context); } /* @@ -227,7 +239,7 @@ CachedPlanSource* CreateCachedPlan(Node* raw_parse_tree, const char* query_strin plansource->context = source_context; #ifdef PGXC plansource->stmt_name = (stmt_name ? pstrdup(stmt_name) : NULL); - plansource->stream_enabled = u_sess->attr.attr_sql.enable_stream_operator; + plansource->stream_enabled = IsStreamSupport(); plansource->cplan = NULL; plansource->single_exec_node = NULL; plansource->is_read_only = false; @@ -343,7 +355,7 @@ CachedPlanSource* CreateOneShotCachedPlan(Node* raw_parse_tree, const char* quer #endif #ifdef PGXC - plansource->stream_enabled = u_sess->attr.attr_sql.enable_stream_operator; + plansource->stream_enabled = IsStreamSupport(); plansource->cplan = NULL; plansource->single_exec_node = NULL; plansource->is_read_only = false; @@ -546,6 +558,8 @@ void SaveCachedPlan(CachedPlanSource* plansource) MemoryContextSetParent(plansource->context, u_sess->cache_mem_cxt); } + START_CRIT_SECTION(); + ResourceOwnerForgetGMemContext(t_thrd.utils_cxt.TopTransactionResourceOwner, plansource->context); /* * Add the entry to the session's global list of cached plans. */ @@ -553,6 +567,8 @@ void SaveCachedPlan(CachedPlanSource* plansource) u_sess->pcache_cxt.first_saved_plan = plansource; plansource->is_saved = true; + END_CRIT_SECTION(); + } /* @@ -566,6 +582,8 @@ void SaveCachedPlan(CachedPlanSource* plansource) void DropCachedPlan(CachedPlanSource* plansource) { Assert(plansource->magic == CACHEDPLANSOURCE_MAGIC); + if (ENABLE_GPC && plansource->gpc.status.InShareTable()) + elog(PANIC, "should not drop shared plan"); /* If it's been saved, remove it from the list */ if (plansource->is_saved) { @@ -594,11 +612,8 @@ void DropCachedPlan(CachedPlanSource* plansource) } } } - if (ENABLE_DN_GPC && plansource->stmt_name != NULL) { + if (ENABLE_GPC) GPC_LOG("BEFORE DROP CACHE PLAN", plansource, plansource->stmt_name); - } - if (ENABLE_CN_GPC) - CN_GPC_LOG("BEFORE DROP CACHE PLAN", plansource, plansource->stmt_name); plansource->is_saved = false; } plansource->next_saved = NULL; @@ -691,11 +706,16 @@ List* RevalidateCachedQuery(CachedPlanSource* plansource, bool has_lp) * assumed the query is parsed, planned, and executed in one transaction, * so that no lock re-acquisition is necessary. */ - if (plansource->is_oneshot || IsTransactionStmtPlan(plansource) || plansource->gpc.status.InShareTable()) { + if (plansource->is_oneshot || IsTransactionStmtPlan(plansource)) { Assert(plansource->is_valid); return NIL; } - + /* if is shared plan, we should acquire plan lock for this transaction */ + if (plansource->gpc.status.InShareTable()) { + Assert(plansource->is_valid); + AcquirePlannerLocks(plansource->query_list, true); + return NIL; + } /* * If there were no parsetrees, we don't need to check the the plan is whether invalid or not cause we do nothing but call * NullCommand() in the execute stage. @@ -947,6 +967,7 @@ List* RevalidateCachedQuery(CachedPlanSource* plansource, bool has_lp) */ plansource->is_valid = true; + plansource->gpc.status.SetStatus(GPC_VALID); /* Return transient copy of querytrees for possible use in planning */ return tlist; @@ -971,14 +992,13 @@ static bool CheckCachedPlan(CachedPlanSource* plansource) /* If there's no generic plan, just say "false" */ if (plan == NULL) { if (plansource->gpc.status.InShareTable()) { - elog(PANIC, "CheckCachedPlan no gplan for sharedplan %s, global session id :%lu session_id:%lu ", - plansource->stmt_name, u_sess->sess_ident.cn_sessid, u_sess->session_id); + elog(PANIC, "CheckCachedPlan no gplan for sharedplan %s", plansource->stmt_name); } return false; } /* If stream_operator alreadly change, need build plan again.*/ - if ((!plansource->gpc.status.InShareTable()) && plansource->stream_enabled != u_sess->attr.attr_sql.enable_stream_operator) { + if ((!plansource->gpc.status.InShareTable()) && plansource->stream_enabled != IsStreamSupport()) { return false; } @@ -1069,7 +1089,6 @@ static CachedPlan* BuildCachedPlan(CachedPlanSource* plansource, List* qlist, Pa bool spi_pushed = false; MemoryContext plan_context; MemoryContext oldcxt = CurrentMemoryContext; - bool save_trigger_shipping_flag = u_sess->attr.attr_sql.enable_trigger_shipping; ListCell* lc = NULL; bool is_transient = false; PLpgSQL_execstate *saved_estate = plpgsql_estate; @@ -1132,8 +1151,6 @@ static CachedPlan* BuildCachedPlan(CachedPlanSource* plansource, List* qlist, Pa */ PG_TRY(); { - /* Temporarily close u_sess->attr.attr_sql.enable_trigger_shipping for cached plan condition. */ - u_sess->attr.attr_sql.enable_trigger_shipping = false; /* Save stream supported info since it will be reset when generate the plan. */ outer_is_stream = u_sess->opt_cxt.is_stream; outer_is_stream_support = u_sess->opt_cxt.is_stream_support; @@ -1145,13 +1162,10 @@ static CachedPlan* BuildCachedPlan(CachedPlanSource* plansource, List* qlist, Pa } PG_CATCH(); { - /* Reset the flag after cached plan have been got. */ - u_sess->attr.attr_sql.enable_trigger_shipping = save_trigger_shipping_flag; ResetStream(outer_is_stream, outer_is_stream_support); PG_RE_THROW(); } PG_END_TRY(); - u_sess->attr.attr_sql.enable_trigger_shipping = save_trigger_shipping_flag; u_sess->pcache_cxt.query_has_params = false; ResetStream(outer_is_stream, outer_is_stream_support); @@ -1172,7 +1186,7 @@ static CachedPlan* BuildCachedPlan(CachedPlanSource* plansource, List* qlist, Pa */ if (!plansource->is_oneshot) { if (!plansource->gpc.status.IsPrivatePlan()) { - plan_context = AllocSetContextCreate(g_instance.cache_cxt.global_cache_mem, + plan_context = AllocSetContextCreate(GLOBAL_PLANCACHE_MEMCONTEXT, "GPCCachedPlan", ALLOCSET_SMALL_MINSIZE, ALLOCSET_SMALL_INITSIZE, @@ -1186,6 +1200,10 @@ static CachedPlan* BuildCachedPlan(CachedPlanSource* plansource, List* qlist, Pa ALLOCSET_DEFAULT_MAXSIZE); } + /* We must track shared memory context for handling exception */ + ResourceOwnerEnlargeGMemContext(t_thrd.utils_cxt.TopTransactionResourceOwner); + ResourceOwnerRememberGMemContext(t_thrd.utils_cxt.TopTransactionResourceOwner, plan_context); + /* * Copy plan into the new context. */ @@ -1273,7 +1291,7 @@ static CachedPlan* BuildCachedPlan(CachedPlanSource* plansource, List* qlist, Pa MemoryContextSwitchTo(oldcxt); /* Set plan real u_sess->attr.attr_sql.enable_stream_operator.*/ - plansource->stream_enabled = u_sess->attr.attr_sql.enable_stream_operator; + plansource->stream_enabled = IsStreamSupport(); //in shared hash table, we can not share the plan, we should throw error before this logic. plan->is_share = false; @@ -1350,7 +1368,7 @@ static bool check_stream_plan(Plan* plan) if (plan == NULL) return false; - if (IsA(plan, RemoteQuery)) { + if (IsA(plan, RemoteQuery) || IsA(plan, VecRemoteQuery)) { RemoteQuery* remote_query = (RemoteQuery*)plan; if (remote_query->is_simple) return true; @@ -1474,10 +1492,6 @@ static bool ChooseCustomPlan(CachedPlanSource* plansource, ParamListInfo boundPa return true; } - /* Only use generic plan when trigger shipping is off */ - if (!u_sess->attr.attr_sql.enable_trigger_shipping) - return false; - /* Don't choose custom plan if using pbe optimization */ if (u_sess->attr.attr_sql.enable_pbe_optimization && plansource->gplan_is_fqs) return false; @@ -1582,13 +1596,6 @@ CachedPlan* GetCachedPlan(CachedPlanSource* plansource, ParamListInfo boundParam UniqueSQLStatCountSoftParse(1); } else { /* Whenever plan is rebuild, we need to drop the old one */ - - if(unlikely(plansource->gpc.status.InShareTable())) - ereport(PANIC, - (errcode(ERRCODE_UNDEFINED_PSTATEMENT), - errmsg("global plan can't be rebuild in share status stmt name %s :global session id :%lu session_id:%lu", - plansource->stmt_name, u_sess->sess_ident.cn_sessid, u_sess->session_id))); - ReleaseGenericPlan(plansource); /* Build a new generic plan */ plan = BuildCachedPlan(plansource, qlist, NULL, customplan); @@ -1598,6 +1605,7 @@ CachedPlan* GetCachedPlan(CachedPlanSource* plansource, ParamListInfo boundParam /* Link the new generic plan into the plansource */ plansource->gplan = plan; plan->refcount++; + ResourceOwnerForgetGMemContext(t_thrd.utils_cxt.TopTransactionResourceOwner, plan->context); /* Immediately reparent into appropriate context */ if (plansource->is_saved) { if (plansource->gpc.status.IsPrivatePlan()) { @@ -1676,6 +1684,7 @@ CachedPlan* GetCachedPlan(CachedPlanSource* plansource, ParamListInfo boundParam tmp_cplan->magic = 0; /* One-shot plans do not own their context, so we can't free them */ if (!tmp_cplan->is_oneshot) { + ResourceOwnerForgetGMemContext(t_thrd.utils_cxt.TopTransactionResourceOwner, tmp_cplan->context); MemoryContextDelete(tmp_cplan->context); } } else { @@ -1683,8 +1692,10 @@ CachedPlan* GetCachedPlan(CachedPlanSource* plansource, ParamListInfo boundParam CachedPlanSource* tmp_psrc = CopyCachedPlan(plansource, false); CachedPlan* tmp_cplan = BuildCachedPlan(tmp_psrc, NIL, boundParams, customplan); tmp_cplan->magic = 0; + ResourceOwnerForgetGMemContext(t_thrd.utils_cxt.TopTransactionResourceOwner, tmp_cplan->context); MemoryContextDelete(tmp_cplan->context); tmp_psrc->magic = 0; + ResourceOwnerForgetGMemContext(t_thrd.utils_cxt.TopTransactionResourceOwner, tmp_psrc->context); MemoryContextDelete(tmp_psrc->context); } } @@ -1698,7 +1709,8 @@ CachedPlan* GetCachedPlan(CachedPlanSource* plansource, ParamListInfo boundParam /* Link the new custome plan into the plansource */ plansource->cplan = plan; plan->refcount++; - + ResourceOwnerForgetGMemContext(t_thrd.utils_cxt.TopTransactionResourceOwner, plan->context); + if (plansource->is_saved) { if (plansource->gpc.status.IsPrivatePlan()) { /* saved plans all live under CacheMemoryContext */ @@ -1812,6 +1824,9 @@ void ReleaseSharedCachedPlan(CachedPlan* plan, bool useResOwner) Assert(plan->global_refcount > 0); /* we only delete the plan's context when global plancache is off or the plancache is private */ if (pg_atomic_sub_fetch_u32((volatile uint32*)&plan->global_refcount, 1) == 0) { + /* TopTransactionResourceOwner is NULL when thread exit */ + if (t_thrd.utils_cxt.TopTransactionResourceOwner) + ResourceOwnerForgetGMemContext(t_thrd.utils_cxt.TopTransactionResourceOwner, plan->context); /* Mark it no longer valid */ plan->magic = 0; MemoryContextUnSeal(plan->context); @@ -1852,6 +1867,9 @@ void ReleaseCachedPlan(CachedPlan* plan, bool useResOwner) /* One-shot plans do not own their context, so we can't free them */ if (!plan->is_oneshot) { Assert (!plan->isShared()); + /* TopTransactionResourceOwner is NULL when thread exit */ + if (t_thrd.utils_cxt.TopTransactionResourceOwner) + ResourceOwnerForgetGMemContext(t_thrd.utils_cxt.TopTransactionResourceOwner, plan->context); MemoryContextDelete(plan->context); } } @@ -1929,7 +1947,7 @@ CachedPlanSource* CopyCachedPlan(CachedPlanSource* plansource, bool is_share) ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), errmsg("cannot copy a one-shot cached plan"))); if (ENABLE_GPC && is_share == true) { - source_context = AllocSetContextCreate(g_instance.cache_cxt.global_cache_mem, + source_context = AllocSetContextCreate(GLOBAL_PLANCACHE_MEMCONTEXT, "GPCCachedPlanSource", ALLOCSET_SMALL_MINSIZE, ALLOCSET_SMALL_INITSIZE, @@ -2029,6 +2047,8 @@ CachedPlanSource* CopyCachedPlan(CachedPlanSource* plansource, bool is_share) #endif MemoryContextSwitchTo(oldcxt); + if (ENABLE_GPC && is_share) + GPC_LOG("copy plan when recreate", newsource, 0); return newsource; } diff --git a/src/common/backend/utils/cache/relcache.cpp b/src/common/backend/utils/cache/relcache.cpp index 77afd4f94..b9ec32e6f 100644 --- a/src/common/backend/utils/cache/relcache.cpp +++ b/src/common/backend/utils/cache/relcache.cpp @@ -4403,9 +4403,6 @@ void RelationSetNewRelfilenode(Relation relation, TransactionId freezeXid, bool errmsg("could not find tuple for relation %u", RelationGetRelid(relation)))); } classform = (Form_pg_class) GETSTRUCT(tuple); - } else { - rc = memset_s(&classform, sizeof(classform), 0, sizeof(classform)); - securec_check(rc, "\0", "\0"); } ereport(LOG, (errmsg("Relation %s(%u) set newfilenode %u oldfilenode %u xid %lu", @@ -5742,7 +5739,7 @@ List* RelationGetIndexPredicate(Relation relation) */ result = (List*)eval_const_expressions(NULL, (Node*)result); - result = (List*)canonicalize_qual((Expr*)result); + result = (List*)canonicalize_qual((Expr*)result, false); /* Also convert to implicit-AND format */ result = make_ands_implicit((Expr*)result); diff --git a/src/common/backend/utils/cache/spccache.cpp b/src/common/backend/utils/cache/spccache.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/cache/ts_cache.cpp b/src/common/backend/utils/cache/ts_cache.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/cache/typcache.cpp b/src/common/backend/utils/cache/typcache.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/error/elog.cpp b/src/common/backend/utils/error/elog.cpp index 0fde00218..bdff1e3cd 100644 --- a/src/common/backend/utils/error/elog.cpp +++ b/src/common/backend/utils/error/elog.cpp @@ -231,7 +231,8 @@ bool errstart(int elevel, const char* filename, int lineno, const char* funcname */ if (t_thrd.int_cxt.CritSectionCount > 0) elevel = PANIC; - + /* error accurs, cannot just release slot to pool */ + u_sess->libpq_cxt.HasErrorAccurs = true; /* * Check reasons for treating ERROR as FATAL: * @@ -2609,6 +2610,72 @@ char* unpack_sql_state(int sql_state) return buf; } +const char* mask_encrypted_key(const char *query_string, int str_len) +{ + int mask_len = 8; + const char *mask_string = NULL; + errno_t rc = EOK; + + const char *column_setting_str = "encrypted_value"; + size_t iden_len = strlen(column_setting_str); + char *lower_string = (char*)palloc0(str_len + 1); + rc = memcpy_s(lower_string, str_len + 1, query_string, str_len); + securec_check(rc, "\0", "\0"); + tolower_func(lower_string); + + char *word_ptr = strstr(lower_string, column_setting_str); + if (word_ptr == NULL) { + pfree_ext(lower_string); + return query_string; + } + char *tmp_string = (char*)palloc0(str_len + 1); + rc = memcpy_s(tmp_string, str_len + 1, query_string, str_len); + securec_check(rc, "\0", "\0"); + word_ptr = tmp_string + (word_ptr - lower_string); + char *token_ptr = word_ptr + iden_len; + size_t head_len = word_ptr - tmp_string + iden_len; + char *first_quote = NULL; + char *second_quote = NULL; + for (size_t i = 0; i < str_len - head_len; i++) { + if (token_ptr[i] == '\'') { + if (first_quote == NULL) { + first_quote = token_ptr + i; + } else if (second_quote == NULL) { + second_quote = token_ptr + i; + } + } + } + if (first_quote == NULL || second_quote == NULL) { + if (token_ptr != NULL && strlen(token_ptr) > 0) { + token_ptr[0] = '\0'; + } + mask_string = MemoryContextStrdup(SESS_GET_MEM_CXT_GROUP(MEMORY_CONTEXT_SECURITY), tmp_string); + pfree_ext(lower_string); + pfree_ext(tmp_string); + return mask_string; + } + int offset = second_quote - first_quote - 1; + if (offset <= 0) { + pfree_ext(lower_string); + pfree_ext(tmp_string); + return query_string; + } + if (offset < mask_len) { + mask_len = offset; + } + int first_quote_len = strlen(first_quote); + rc = memset_s(first_quote + 1, offset, '*', mask_len); + securec_check(rc, "\0", "\0"); + rc = memmove_s(first_quote + mask_len + 1, first_quote_len - mask_len - 1, second_quote, strlen(second_quote)); + securec_check(rc, "\0", "\0"); + first_quote[first_quote_len - offset + mask_len] = '\0'; + pfree_ext(lower_string); + mask_string = MemoryContextStrdup(SESS_GET_MEM_CXT_GROUP(MEMORY_CONTEXT_SECURITY), tmp_string); + pfree_ext(tmp_string); + + return mask_string; +} + static int output_backtrace_to_log(StringInfoData* pOutBuf) { const int max_buffer_size = 128; @@ -2756,14 +2823,20 @@ static void send_message_to_server_log(ErrorData* edata) if (edata->sqlerrcode == ERRCODE_SYNTAX_ERROR) { if (mask_string != NULL) { truncate_identified_by(mask_string, strlen(mask_string)); - } else if (t_thrd.postgres_cxt.debug_query_string != NULL) { + } else { mask_string = mask_error_password(t_thrd.postgres_cxt.debug_query_string, strlen(t_thrd.postgres_cxt.debug_query_string)); } } if (mask_string == NULL) mask_string = (char*)t_thrd.postgres_cxt.debug_query_string; - + char* mask_key = (char *)mask_encrypted_key(mask_string, strlen(mask_string)); + if (mask_key != mask_string) { + if (mask_string != t_thrd.postgres_cxt.debug_query_string) { + pfree(mask_string); + } + mask_string = mask_key; + } log_line_prefix(&buf, edata); appendStringInfoString(&buf, _("STATEMENT: ")); @@ -3688,6 +3761,7 @@ void getElevelAndSqlstate(int* eLevel, int* sqlState) *eLevel = t_thrd.log_cxt.errordata[t_thrd.log_cxt.errordata_stack_depth].elevel; *sqlState = t_thrd.log_cxt.errordata[t_thrd.log_cxt.errordata_stack_depth].sqlerrcode; } + char* maskPassword(const char* query_string) { char* mask_string = NULL; diff --git a/src/common/backend/utils/error/fatal_err.cpp b/src/common/backend/utils/error/fatal_err.cpp index 2d6a7dd43..d1c02ec80 100644 --- a/src/common/backend/utils/error/fatal_err.cpp +++ b/src/common/backend/utils/error/fatal_err.cpp @@ -190,8 +190,12 @@ static void print_frame(int fd, void *pc, elf_parser *parser) !parser->reset(dlinfo.dli_fname)) { output(fd, "%p", pc); } else { + /* If the current file is a shared object file, address to resolve + * is a pseudo address, otherwise it is pc. + */ char buf[SIG_BUFLEN]; - if (parser->resolve_addr(dl_off, buf, sizeof(buf), &sym_off)) { + uintptr_t addr = parser->isdyn() ? dl_off : (uintptr_t)pc; + if (parser->resolve_addr(addr, buf, sizeof(buf), &sym_off)) { output(fd, " %s + 0x%x", buf, sym_off); } else { output(fd, "%p", pc); diff --git a/src/common/backend/utils/fmgr/funcapi.cpp b/src/common/backend/utils/fmgr/funcapi.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/hash/dynahash.cpp b/src/common/backend/utils/hash/dynahash.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/init/globals.cpp b/src/common/backend/utils/init/globals.cpp old mode 100755 new mode 100644 index fecd9de7c..12caaa684 --- a/src/common/backend/utils/init/globals.cpp +++ b/src/common/backend/utils/init/globals.cpp @@ -59,7 +59,7 @@ bool open_join_children = true; bool will_shutdown = false; /* hard-wired binary version number */ -const uint32 GRAND_VERSION_NUM = 92298; +const uint32 GRAND_VERSION_NUM = 92297; const uint32 MATVIEW_VERSION_NUM = 92213; const uint32 PARTIALPUSH_VERSION_NUM = 92087; diff --git a/src/common/backend/utils/init/miscinit.cpp b/src/common/backend/utils/init/miscinit.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/init/postinit.cpp b/src/common/backend/utils/init/postinit.cpp index 2257f4ba9..b98e986de 100644 --- a/src/common/backend/utils/init/postinit.cpp +++ b/src/common/backend/utils/init/postinit.cpp @@ -955,6 +955,14 @@ void ShutdownPostgres(int code, Datum arg) * them explicitly. */ LockReleaseAll(USER_LOCKMETHOD, true); + + /* + * If barrier exec not end,release curr barrier lock + */ + if (LWLockHeldByMe(BarrierLock)) { + ereport(WARNING, (errmsg("Barrier exec not end, release BarrierLock."))); + LWLockRelease(BarrierLock); + } } /* diff --git a/src/common/backend/utils/mb/Unicode/gb18030_to_utf8.map b/src/common/backend/utils/mb/Unicode/gb18030_to_utf8.map index 95669451d..3aea9f4ec 100644 --- a/src/common/backend/utils/mb/Unicode/gb18030_to_utf8.map +++ b/src/common/backend/utils/mb/Unicode/gb18030_to_utf8.map @@ -1,5 +1,3 @@ -/* src/backend/utils/mb/Unicode/gb18030_to_utf8.map */ - static pg_local_to_utf LUmapGB18030[ 63360 ] = { {0x8140, 0xe4b882}, {0x8141, 0xe4b884}, diff --git a/src/common/backend/utils/mb/conversion_procs/conversion_create.sql.in b/src/common/backend/utils/mb/conversion_procs/conversion_create.sql.in new file mode 100644 index 000000000..9fa3be54b --- /dev/null +++ b/src/common/backend/utils/mb/conversion_procs/conversion_create.sql.in @@ -0,0 +1,132 @@ +ascii_to_mic SQL_ASCII MULE_INTERNAL ascii_to_mic ascii_and_mic +mic_to_ascii MULE_INTERNAL SQL_ASCII mic_to_ascii ascii_and_mic +koi8_r_to_mic KOI8R MULE_INTERNAL koi8r_to_mic cyrillic_and_mic +mic_to_koi8_r MULE_INTERNAL KOI8R mic_to_koi8r cyrillic_and_mic +iso_8859_5_to_mic ISO-8859-5 MULE_INTERNAL iso_to_mic cyrillic_and_mic +mic_to_iso_8859_5 MULE_INTERNAL ISO-8859-5 mic_to_iso cyrillic_and_mic +windows_1251_to_mic WIN1251 MULE_INTERNAL win1251_to_mic cyrillic_and_mic +mic_to_windows_1251 MULE_INTERNAL WIN1251 mic_to_win1251 cyrillic_and_mic +windows_866_to_mic WIN866 MULE_INTERNAL win866_to_mic cyrillic_and_mic +mic_to_windows_866 MULE_INTERNAL WIN866 mic_to_win866 cyrillic_and_mic +koi8_r_to_windows_1251 KOI8R WIN1251 koi8r_to_win1251 cyrillic_and_mic +windows_1251_to_koi8_r WIN1251 KOI8R win1251_to_koi8r cyrillic_and_mic +koi8_r_to_windows_866 KOI8R WIN866 koi8r_to_win866 cyrillic_and_mic +windows_866_to_koi8_r WIN866 KOI8R win866_to_koi8r cyrillic_and_mic +windows_866_to_windows_1251 WIN866 WIN1251 win866_to_win1251 cyrillic_and_mic +windows_1251_to_windows_866 WIN1251 WIN866 win1251_to_win866 cyrillic_and_mic +iso_8859_5_to_koi8_r ISO-8859-5 KOI8R iso_to_koi8r cyrillic_and_mic +koi8_r_to_iso_8859_5 KOI8R ISO-8859-5 koi8r_to_iso cyrillic_and_mic +iso_8859_5_to_windows_1251 ISO-8859-5 WIN1251 iso_to_win1251 cyrillic_and_mic +windows_1251_to_iso_8859_5 WIN1251 ISO-8859-5 win1251_to_iso cyrillic_and_mic +iso_8859_5_to_windows_866 ISO-8859-5 WIN866 iso_to_win866 cyrillic_and_mic +windows_866_to_iso_8859_5 WIN866 ISO-8859-5 win866_to_iso cyrillic_and_mic +euc_cn_to_mic EUC_CN MULE_INTERNAL euc_cn_to_mic euc_cn_and_mic +mic_to_euc_cn MULE_INTERNAL EUC_CN mic_to_euc_cn euc_cn_and_mic +euc_jp_to_sjis EUC_JP SJIS euc_jp_to_sjis euc_jp_and_sjis +sjis_to_euc_jp SJIS EUC_JP sjis_to_euc_jp euc_jp_and_sjis +euc_jp_to_mic EUC_JP MULE_INTERNAL euc_jp_to_mic euc_jp_and_sjis +sjis_to_mic SJIS MULE_INTERNAL sjis_to_mic euc_jp_and_sjis +mic_to_euc_jp MULE_INTERNAL EUC_JP mic_to_euc_jp euc_jp_and_sjis +mic_to_sjis MULE_INTERNAL SJIS mic_to_sjis euc_jp_and_sjis +euc_kr_to_mic EUC_KR MULE_INTERNAL euc_kr_to_mic euc_kr_and_mic +mic_to_euc_kr MULE_INTERNAL EUC_KR mic_to_euc_kr euc_kr_and_mic +euc_tw_to_big5 EUC_TW BIG5 euc_tw_to_big5 euc_tw_and_big5 +big5_to_euc_tw BIG5 EUC_TW big5_to_euc_tw euc_tw_and_big5 +euc_tw_to_mic EUC_TW MULE_INTERNAL euc_tw_to_mic euc_tw_and_big5 +big5_to_mic BIG5 MULE_INTERNAL big5_to_mic euc_tw_and_big5 +mic_to_euc_tw MULE_INTERNAL EUC_TW mic_to_euc_tw euc_tw_and_big5 +mic_to_big5 MULE_INTERNAL BIG5 mic_to_big5 euc_tw_and_big5 +iso_8859_2_to_mic LATIN2 MULE_INTERNAL latin2_to_mic latin2_and_win1250 +mic_to_iso_8859_2 MULE_INTERNAL LATIN2 mic_to_latin2 latin2_and_win1250 +windows_1250_to_mic WIN1250 MULE_INTERNAL win1250_to_mic latin2_and_win1250 +mic_to_windows_1250 MULE_INTERNAL WIN1250 mic_to_win1250 latin2_and_win1250 +iso_8859_2_to_windows_1250 LATIN2 WIN1250 latin2_to_win1250 latin2_and_win1250 +windows_1250_to_iso_8859_2 WIN1250 LATIN2 win1250_to_latin2 latin2_and_win1250 +iso_8859_1_to_mic LATIN1 MULE_INTERNAL latin1_to_mic latin_and_mic +mic_to_iso_8859_1 MULE_INTERNAL LATIN1 mic_to_latin1 latin_and_mic +iso_8859_3_to_mic LATIN3 MULE_INTERNAL latin3_to_mic latin_and_mic +mic_to_iso_8859_3 MULE_INTERNAL LATIN3 mic_to_latin3 latin_and_mic +iso_8859_4_to_mic LATIN4 MULE_INTERNAL latin4_to_mic latin_and_mic +mic_to_iso_8859_4 MULE_INTERNAL LATIN4 mic_to_latin4 latin_and_mic +ascii_to_utf8 SQL_ASCII UTF8 ascii_to_utf8 utf8_and_ascii +utf8_to_ascii UTF8 SQL_ASCII utf8_to_ascii utf8_and_ascii +big5_to_utf8 BIG5 UTF8 big5_to_utf8 utf8_and_big5 +utf8_to_big5 UTF8 BIG5 utf8_to_big5 utf8_and_big5 +utf8_to_koi8_r UTF8 KOI8R utf8_to_koi8r utf8_and_cyrillic +koi8_r_to_utf8 KOI8R UTF8 koi8r_to_utf8 utf8_and_cyrillic +utf8_to_koi8_u UTF8 KOI8U utf8_to_koi8u utf8_and_cyrillic +koi8_u_to_utf8 KOI8U UTF8 koi8u_to_utf8 utf8_and_cyrillic +utf8_to_windows_866 UTF8 WIN866 utf8_to_win utf8_and_win +windows_866_to_utf8 WIN866 UTF8 win_to_utf8 utf8_and_win +utf8_to_windows_874 UTF8 WIN874 utf8_to_win utf8_and_win +windows_874_to_utf8 WIN874 UTF8 win_to_utf8 utf8_and_win +utf8_to_windows_1250 UTF8 WIN1250 utf8_to_win utf8_and_win +windows_1250_to_utf8 WIN1250 UTF8 win_to_utf8 utf8_and_win +utf8_to_windows_1251 UTF8 WIN1251 utf8_to_win utf8_and_win +windows_1251_to_utf8 WIN1251 UTF8 win_to_utf8 utf8_and_win +utf8_to_windows_1252 UTF8 WIN1252 utf8_to_win utf8_and_win +windows_1252_to_utf8 WIN1252 UTF8 win_to_utf8 utf8_and_win +utf8_to_windows_1253 UTF8 WIN1253 utf8_to_win utf8_and_win +windows_1253_to_utf8 WIN1253 UTF8 win_to_utf8 utf8_and_win +utf8_to_windows_1254 UTF8 WIN1254 utf8_to_win utf8_and_win +windows_1254_to_utf8 WIN1254 UTF8 win_to_utf8 utf8_and_win +utf8_to_windows_1255 UTF8 WIN1255 utf8_to_win utf8_and_win +windows_1255_to_utf8 WIN1255 UTF8 win_to_utf8 utf8_and_win +utf8_to_windows_1256 UTF8 WIN1256 utf8_to_win utf8_and_win +windows_1256_to_utf8 WIN1256 UTF8 win_to_utf8 utf8_and_win +utf8_to_windows_1257 UTF8 WIN1257 utf8_to_win utf8_and_win +windows_1257_to_utf8 WIN1257 UTF8 win_to_utf8 utf8_and_win +utf8_to_windows_1258 UTF8 WIN1258 utf8_to_win utf8_and_win +windows_1258_to_utf8 WIN1258 UTF8 win_to_utf8 utf8_and_win +euc_cn_to_utf8 EUC_CN UTF8 euc_cn_to_utf8 utf8_and_euc_cn +utf8_to_euc_cn UTF8 EUC_CN utf8_to_euc_cn utf8_and_euc_cn +euc_jp_to_utf8 EUC_JP UTF8 euc_jp_to_utf8 utf8_and_euc_jp +utf8_to_euc_jp UTF8 EUC_JP utf8_to_euc_jp utf8_and_euc_jp +euc_kr_to_utf8 EUC_KR UTF8 euc_kr_to_utf8 utf8_and_euc_kr +utf8_to_euc_kr UTF8 EUC_KR utf8_to_euc_kr utf8_and_euc_kr +euc_tw_to_utf8 EUC_TW UTF8 euc_tw_to_utf8 utf8_and_euc_tw +utf8_to_euc_tw UTF8 EUC_TW utf8_to_euc_tw utf8_and_euc_tw +gb18030_to_utf8 GB18030 UTF8 gb18030_to_utf8 utf8_and_gb18030 +utf8_to_gb18030 UTF8 GB18030 utf8_to_gb18030 utf8_and_gb18030 +gbk_to_utf8 GBK UTF8 gbk_to_utf8 utf8_and_gbk +utf8_to_gbk UTF8 GBK utf8_to_gbk utf8_and_gbk +utf8_to_iso_8859_2 UTF8 LATIN2 utf8_to_iso8859 utf8_and_iso8859 +iso_8859_2_to_utf8 LATIN2 UTF8 iso8859_to_utf8 utf8_and_iso8859 +utf8_to_iso_8859_3 UTF8 LATIN3 utf8_to_iso8859 utf8_and_iso8859 +iso_8859_3_to_utf8 LATIN3 UTF8 iso8859_to_utf8 utf8_and_iso8859 +utf8_to_iso_8859_4 UTF8 LATIN4 utf8_to_iso8859 utf8_and_iso8859 +iso_8859_4_to_utf8 LATIN4 UTF8 iso8859_to_utf8 utf8_and_iso8859 +utf8_to_iso_8859_9 UTF8 LATIN5 utf8_to_iso8859 utf8_and_iso8859 +iso_8859_9_to_utf8 LATIN5 UTF8 iso8859_to_utf8 utf8_and_iso8859 +utf8_to_iso_8859_10 UTF8 LATIN6 utf8_to_iso8859 utf8_and_iso8859 +iso_8859_10_to_utf8 LATIN6 UTF8 iso8859_to_utf8 utf8_and_iso8859 +utf8_to_iso_8859_13 UTF8 LATIN7 utf8_to_iso8859 utf8_and_iso8859 +iso_8859_13_to_utf8 LATIN7 UTF8 iso8859_to_utf8 utf8_and_iso8859 +utf8_to_iso_8859_14 UTF8 LATIN8 utf8_to_iso8859 utf8_and_iso8859 +iso_8859_14_to_utf8 LATIN8 UTF8 iso8859_to_utf8 utf8_and_iso8859 +utf8_to_iso_8859_15 UTF8 LATIN9 utf8_to_iso8859 utf8_and_iso8859 +iso_8859_15_to_utf8 LATIN9 UTF8 iso8859_to_utf8 utf8_and_iso8859 +utf8_to_iso_8859_16 UTF8 LATIN10 utf8_to_iso8859 utf8_and_iso8859 +iso_8859_16_to_utf8 LATIN10 UTF8 iso8859_to_utf8 utf8_and_iso8859 +utf8_to_iso_8859_5 UTF8 ISO-8859-5 utf8_to_iso8859 utf8_and_iso8859 +iso_8859_5_to_utf8 ISO-8859-5 UTF8 iso8859_to_utf8 utf8_and_iso8859 +utf8_to_iso_8859_6 UTF8 ISO-8859-6 utf8_to_iso8859 utf8_and_iso8859 +iso_8859_6_to_utf8 ISO-8859-6 UTF8 iso8859_to_utf8 utf8_and_iso8859 +utf8_to_iso_8859_7 UTF8 ISO-8859-7 utf8_to_iso8859 utf8_and_iso8859 +iso_8859_7_to_utf8 ISO-8859-7 UTF8 iso8859_to_utf8 utf8_and_iso8859 +utf8_to_iso_8859_8 UTF8 ISO-8859-8 utf8_to_iso8859 utf8_and_iso8859 +iso_8859_8_to_utf8 ISO-8859-8 UTF8 iso8859_to_utf8 utf8_and_iso8859 +iso_8859_1_to_utf8 LATIN1 UTF8 iso8859_1_to_utf8 utf8_and_iso8859_1 +utf8_to_iso_8859_1 UTF8 LATIN1 utf8_to_iso8859_1 utf8_and_iso8859_1 +johab_to_utf8 JOHAB UTF8 johab_to_utf8 utf8_and_johab +utf8_to_johab UTF8 JOHAB utf8_to_johab utf8_and_johab +sjis_to_utf8 SJIS UTF8 sjis_to_utf8 utf8_and_sjis +utf8_to_sjis UTF8 SJIS utf8_to_sjis utf8_and_sjis +uhc_to_utf8 UHC UTF8 uhc_to_utf8 utf8_and_uhc +utf8_to_uhc UTF8 UHC utf8_to_uhc utf8_and_uhc +euc_jis_2004_to_utf8 EUC_JIS_2004 UTF8 euc_jis_2004_to_utf8 utf8_and_euc2004 +utf8_to_euc_jis_2004 UTF8 EUC_JIS_2004 utf8_to_euc_jis_2004 utf8_and_euc2004 +shift_jis_2004_to_utf8 SHIFT_JIS_2004 UTF8 shift_jis_2004_to_utf8 utf8_and_sjis2004 +utf8_to_shift_jis_2004 UTF8 SHIFT_JIS_2004 utf8_to_shift_jis_2004 utf8_and_sjis2004 +euc_jis_2004_to_shift_jis_2004 EUC_JIS_2004 SHIFT_JIS_2004 euc_jis_2004_to_shift_jis_2004 euc2004_sjis2004 +shift_jis_2004_to_euc_jis_2004 SHIFT_JIS_2004 EUC_JIS_2004 shift_jis_2004_to_euc_jis_2004 euc2004_sjis2004 diff --git a/src/common/backend/utils/mb/mbutils.cpp b/src/common/backend/utils/mb/mbutils.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/mb/wchar.cpp b/src/common/backend/utils/mb/wchar.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/misc/Makefile b/src/common/backend/utils/misc/Makefile index 4284f8806..3a47e172c 100755 --- a/src/common/backend/utils/misc/Makefile +++ b/src/common/backend/utils/misc/Makefile @@ -33,16 +33,16 @@ endif include $(top_srcdir)/src/gausskernel/common.mk # guc-file is compiled as part of guc -guc.o: guc-file.cpp +guc.o: guc-file.inc -guc-file.cpp: guc-file.l +guc-file.inc: guc-file.l ifdef FLEX $(FLEX) $(FLEXFLAGS) -o'$@' $< else @$(missing) flex $< $@ endif -# Note: guc-file.cpp is not deleted by 'make clean', +# Note: guc-file.inc is not deleted by 'make clean', # since we want to ship it in distribution tarballs. clean: @rm -f lex.yy.cpp diff --git a/src/common/backend/utils/misc/elf_parser.cpp b/src/common/backend/utils/misc/elf_parser.cpp index 420facf9d..206fbc2b8 100644 --- a/src/common/backend/utils/misc/elf_parser.cpp +++ b/src/common/backend/utils/misc/elf_parser.cpp @@ -55,11 +55,14 @@ bool elf_parser::load(const char *filename) return false; } + dyn = (ehdr.e_type == ET_DYN) ? true : false; + const int limit = 1000; if (ehdr.e_shnum > limit) { return false; } + /* get the section headers representing the symbol talbe */ Elf64_Shdr shdr; for (int i = 0; i < ehdr.e_shnum; i++) { off_t off = (off_t)(ehdr.e_shoff + i * ehdr.e_shentsize); @@ -147,24 +150,27 @@ void elf_parser::init() fd = -1; fname = NULL; sym_count = 0; + dyn = true; (void)memset_s(&ehdr, sizeof(Elf64_Ehdr), 0, sizeof(Elf64_Ehdr)); (void)memset_s(symhdr, sizeof(symhdr), 0, sizeof(symhdr)); } /* - * Reset elf parser + * Reset elf parser, in other words, unload the previously opened file and load the new file. */ bool elf_parser::reset(const char *filename) { + Assert(filename); if (fd != -1) { (void)close(fd); } init(); - /* If caller give a valid file, load it */ - if (filename && !load(filename)) { - (void)close(fd); + if (!load(filename)) { + if (fd != -1) { + (void)close(fd); + } init(); return false; } diff --git a/src/common/backend/utils/misc/guc-file.l b/src/common/backend/utils/misc/guc-file.l index 717c15d79..a109ef80e 100644 --- a/src/common/backend/utils/misc/guc-file.l +++ b/src/common/backend/utils/misc/guc-file.l @@ -662,11 +662,29 @@ ParseConfigFp(FILE *fp, const char *config_file, int depth, int elevel, item->filename = pstrdup(config_file); item->sourceline = t_thrd.utils_cxt.ConfigFileLineno-1; item->next = NULL; - if (*head_p == NULL) - *head_p = item; + if (guc_name_compare(opt_name,"upgrade_mode") == 0) + { + if (*head_p == NULL) + { + *head_p = item; + *tail_p = item; + } + else + { + ConfigVariable *prev_head = *head_p; + *head_p = item; + item->next = prev_head; + } + } else - (*tail_p)->next = item; - *tail_p = item; + { + if (*head_p == NULL) + *head_p = item; + else + (*tail_p)->next = item; + + *tail_p = item; + } } /* break out of loop if read EOF, else loop for next line */ diff --git a/src/common/backend/utils/misc/guc.cpp b/src/common/backend/utils/misc/guc.cpp index b924f03f4..6a0f6f22f 100644 --- a/src/common/backend/utils/misc/guc.cpp +++ b/src/common/backend/utils/misc/guc.cpp @@ -3256,6 +3256,7 @@ static void InitConfigureNamesBool() NULL, NULL}, +#ifndef ENABLE_MULTIPLE_NODES {{"enable_beta_opfusion", PGC_USERSET, QUERY_TUNING_METHOD, @@ -3266,6 +3267,7 @@ static void InitConfigureNamesBool() NULL, NULL, NULL}, +#endif {{"enable_partition_opfusion", PGC_USERSET, QUERY_TUNING_METHOD, gettext_noop("Enables partition opfusion features."), @@ -3352,16 +3354,6 @@ static void InitConfigureNamesBool() NULL, NULL, NULL}, - {{"enable_full_encryption", - PGC_BACKEND, - CE_OPTIONS, - gettext_noop("notifying server that this client supports column encryption. "), - NULL}, - &u_sess->attr.attr_common.enable_full_encryption, - false, - NULL, - NULL, - NULL}, {{"enable_auto_explain", PGC_USERSET, RESOURCES_WORKLOAD, @@ -4940,7 +4932,11 @@ static void InitConfigureNamesInt() gettext_noop("Sets the maximum number of simultaneously running WAL sender processes."), NULL}, &g_instance.attr.attr_storage.max_wal_senders, +#ifdef ENABLE_MULTIPLE_NODES + 4, +#else 16, +#endif 0, MAX_BACKENDS, NULL, @@ -6144,7 +6140,8 @@ static void InitConfigureNamesInt() PGC_USERSET, QUERY_TUNING, gettext_noop("Send ack check package to stream sender periodically."), - NULL}, + NULL, + GUC_UNIT_MS}, &u_sess->attr.attr_network.comm_ackchk_time, 2000, 0, @@ -11200,7 +11197,7 @@ bool parse_int(const char* value, int* result, int flags, const char** hintmsg) if (endptr == value) return false; /* no HINT for integer syntax error */ - if (errno == ERANGE || val != (int64)((int32)val)) { + if (errno == ERANGE) { if (hintmsg != NULL) *hintmsg = gettext_noop("Value exceeds integer range."); @@ -11211,16 +11208,16 @@ bool parse_int(const char* value, int* result, int flags, const char** hintmsg) while (isspace((unsigned char)*endptr)) endptr++; - /* Handle possible unit */ + /* Handle possible unit conversion before check integer overflow */ if (*endptr != '\0') { /* * Note: the multiple-switch coding technique here is a bit tedious, * but seems necessary to avoid intermediate-value overflows. */ if (flags & GUC_UNIT_MEMORY) { - val = (int64)memory_unit_convert(&endptr, val, flags, hintmsg); + val = (int64)MemoryUnitConvert(&endptr, val, flags, hintmsg); } else if (flags & GUC_UNIT_TIME) { - val = (int64)time_unit_convert(&endptr, val, flags, hintmsg); + val = (int64)TimeUnitConvert(&endptr, val, flags, hintmsg); } /* allow whitespace after unit */ @@ -11229,14 +11226,14 @@ bool parse_int(const char* value, int* result, int flags, const char** hintmsg) if (*endptr != '\0') return false; /* appropriate hint, if any, already set */ + } - /* Check for overflow due to units conversion */ - if (val != (int64)((int32)val)) { - if (hintmsg != NULL) - *hintmsg = gettext_noop("Value exceeds integer range."); + /* Check for integer overflow */ + if (val != (int64)((int32)val)) { + if (hintmsg != NULL) + *hintmsg = gettext_noop("Value exceeds integer range."); - return false; - } + return false; } if (result != NULL) @@ -11328,9 +11325,9 @@ bool parse_real(const char* value, double* result, int flags, const char** hintm * but seems necessary to avoid intermediate-value overflows. */ if (flags & GUC_UNIT_MEMORY) { - val = memory_unit_convert(&endptr, val, flags, hintmsg); + val = MemoryUnitConvert(&endptr, val, flags, hintmsg); } else if (flags & GUC_UNIT_TIME) { - val = time_unit_convert(&endptr, val, flags, hintmsg); + val = TimeUnitConvert(&endptr, val, flags, hintmsg); } /* allow whitespace after unit */ @@ -11354,7 +11351,7 @@ bool parse_real(const char* value, double* result, int flags, const char** hintm * The reference is used because auto-increment of formal parameters does not change the value of the actual parameter. * As a result, an error is reported. */ -double memory_unit_convert(char** endptr, double value, int flags, const char** hintmsg) +double MemoryUnitConvert(char** endptr, double value, int flags, const char** hintmsg) { double val = value; const int size_2byte = 2; @@ -11424,7 +11421,8 @@ double memory_unit_convert(char** endptr, double value, int flags, const char** } return val; } -double time_unit_convert(char** endptr, double value, int flags, const char** hintmsg) + +double TimeUnitConvert(char** endptr, double value, int flags, const char** hintmsg) { double val = value; const int size_1byte = 1; @@ -12611,7 +12609,7 @@ int set_config_option(const char* name, const char* value, GucContext context, G struct config_string* conf = (struct config_string*)record; char* newval = NULL; void* newextra = NULL; - + bool is_reset_val = false; if (u_sess->catalog_cxt.overrideStack && (strcasecmp(name, SEARCH_PATH_GUC_NAME) == 0 || strcasecmp(name, CURRENT_SCHEMA_GUC_NAME) == 0)) { /* @@ -12678,9 +12676,13 @@ int set_config_option(const char* name, const char* value, GucContext context, G newextra = conf->reset_extra; source = conf->gen.reset_source; context = conf->gen.reset_scontext; + is_reset_val = true; } if (prohibitValueChange) { + if (!is_reset_val) { + pfree_ext(newval); + } /* newval shouldn't be NULL, so we're a bit sloppy here */ if (*conf->variable == NULL || newval == NULL || strcmp(*conf->variable, newval) != 0) { ereport(elevel, @@ -12904,6 +12906,7 @@ const char* GetConfigOption(const char* name, bool missing_ok, bool restrict_sup ereport(ERROR, (errcode(ERRCODE_INSUFFICIENT_PRIVILEGE), errmsg("must be superuser to examine \"%s\"", name))); + switch (record->vartype) { case PGC_BOOL: return *((struct config_bool*)record)->variable ? "on" : "off"; @@ -13224,6 +13227,7 @@ static void CheckAndGetAlterSystemSetParam(AlterSystemStmt* altersysstmt, struct config_generic *record = NULL; CheckAlterSystemSetPrivilege(altersysstmt->setstmt->name); + /* * Validate the name and arguments [value1, value2 ... ]. */ @@ -17715,6 +17719,7 @@ static bool check_replconninfo(char** newval, void** extra, GucSource source) return true; } +#ifndef ENABLE_MULTIPLE_NODES /* * @@GaussDB@@ * Brief : Determine if all eight replconninfos are empty. @@ -17730,6 +17735,7 @@ static inline bool GetReplCurArrayIsNull() } return true; } +#endif /* * @@GaussDB@@ @@ -17752,12 +17758,15 @@ static void assign_replconninfo1(const char* newval, void* extra) if (u_sess->attr.attr_storage.ReplConnInfoArr[1] != NULL && newval != NULL && strcmp(u_sess->attr.attr_storage.ReplConnInfoArr[1], newval) != 0) { t_thrd.postmaster_cxt.ReplConnChanged[1] = true; + +#ifndef ENABLE_MULTIPLE_NODES /* perceive single --> primary_standby */ if (t_thrd.postmaster_cxt.HaShmData != NULL && t_thrd.postmaster_cxt.HaShmData->current_mode == NORMAL_MODE && !GetReplCurArrayIsNull()) { t_thrd.postmaster_cxt.HaShmData->current_mode = PRIMARY_MODE; } +#endif } } @@ -18314,14 +18323,13 @@ int find_guc_option(char** optlines, const char* opt_name, /* The line of last one will be recorded when there are parameters with the same name in postgresql.conf */ if (matchtimes > 1) { ereport(NOTICE, (errmsg("There are %d \"%s\" not commented in \"postgresql.conf\", and only the " - "last one in %dth line will be set and used.", - matchtimes, - opt_name, - (targetline + 1)))); + "last one in %dth line will be set and used.", + matchtimes, opt_name, (targetline + 1)))); } if (matchtimes > 0) { return targetline; } + /* The second loop is to deal with the lines commented by '#' */ matchtimes = 0; for (i = 0; optlines[i] != NULL; i++) { @@ -19703,4 +19711,4 @@ bool check_numa_distribute_mode(char** newval, void** extra, GucSource source) return false; } -#include "guc-file.cpp" +#include "guc-file.inc" diff --git a/src/common/backend/utils/misc/pg_rusage.cpp b/src/common/backend/utils/misc/pg_rusage.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/misc/ps_status.cpp b/src/common/backend/utils/misc/ps_status.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/misc/superuser.cpp b/src/common/backend/utils/misc/superuser.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/mmgr/mcxt.cpp b/src/common/backend/utils/mmgr/mcxt.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/mmgr/portalmem.cpp b/src/common/backend/utils/mmgr/portalmem.cpp old mode 100755 new mode 100644 index 660e6bd6a..6c87e2023 --- a/src/common/backend/utils/mmgr/portalmem.cpp +++ b/src/common/backend/utils/mmgr/portalmem.cpp @@ -22,6 +22,8 @@ #include "access/xact.h" #include "catalog/pg_type.h" #include "commands/portalcmds.h" +#include "distributelayer/streamCore.h" +#include "distributelayer/streamMain.h" #include "miscadmin.h" #include "utils/builtins.h" #include "utils/memutils.h" @@ -227,17 +229,22 @@ Portal CreatePortal(const char* name, bool allowDup, bool dupSilent, bool is_fro portal->activeSubid = portal->createSubid; portal->strategy = PORTAL_MULTI_QUERY; portal->cursorOptions = CURSOR_OPT_NO_SCROLL; + portal->cursorHoldUserId = InvalidOid; + portal->cursorHoldSecRestrictionCxt = 0; portal->atStart = true; portal->atEnd = true; /* disallow fetches until query is set */ portal->visible = true; portal->creation_time = GetCurrentStatementStartTimestamp(); portal->funcOid = InvalidOid; portal->is_from_spi = is_from_spi; + portal->copyCxt = NULL; int rc = memset_s(portal->cursorAttribute, CURSOR_ATTRIBUTE_NUMBER * sizeof(void*), 0, CURSOR_ATTRIBUTE_NUMBER * sizeof(void*)); securec_check(rc, "\0", "\0"); portal->funcUseCount = 0; - +#ifndef ENABLE_MULTIPLE_NODES + portal->streamInfo.Reset(); +#endif /* put portal in table (sets portal->name) */ PortalHashTableInsert(portal, name); @@ -557,6 +564,21 @@ void PortalDrop(Portal portal, bool isTopCommit) portal->holdStore = NULL; } +#ifndef ENABLE_MULTIPLE_NODES + if (!StreamThreadAmI()) { + portal->streamInfo.AttachToSession(); + if (u_sess->stream_cxt.global_obj != NULL) { + StreamTopConsumerIam(); + /* Set sync point for waiting all stream threads complete. */ + StreamNodeGroup::syncQuit(STREAM_COMPLETE); + UnRegisterStreamSnapshots(); + StreamNodeGroup::destroy(STREAM_COMPLETE); + } + // reset some flag related to stream + ResetStreamEnv(); + } +#endif + /* delete tuplestore storage, if any */ if (portal->holdContext) MemoryContextDelete(portal->holdContext); @@ -564,6 +586,10 @@ void PortalDrop(Portal portal, bool isTopCommit) /* release subsidiary storage */ MemoryContextDelete(PortalGetHeapMemory(portal)); + /* release gpc's copy plan */ + if (ENABLE_GPC && portal->copyCxt) + MemoryContextDelete(portal->copyCxt); + u_sess->parser_cxt.param_message = NULL; /* release portal struct (it's in u_sess->portal_mem_cxt) */ pfree(portal); @@ -645,10 +671,6 @@ bool PreCommit_Portals(bool isPrepare, bool STP_commit) bool result = false; HASH_SEQ_STATUS status; PortalHashEnt* hentry = NULL; - /* Opfusion need drop entry for this portalname if commit */ - if (u_sess->exec_cxt.CurrentOpFusionObj != NULL) { - OpFusion::removeFusionFromHtab(u_sess->exec_cxt.CurrentOpFusionObj->m_portalName); - } if (u_sess->exec_cxt.PortalHashTable == NULL) return false; @@ -838,10 +860,6 @@ void AtCleanup_Portals(void) { HASH_SEQ_STATUS status; PortalHashEnt* hentry = NULL; - /* Opfusion need drop entry for this portalname if abort */ - if (u_sess->exec_cxt.CurrentOpFusionObj != NULL) { - OpFusion::removeFusionFromHtab(u_sess->exec_cxt.CurrentOpFusionObj->m_portalName); - } if (u_sess->exec_cxt.PortalHashTable == NULL) return; diff --git a/src/common/backend/utils/resowner/resowner.cpp b/src/common/backend/utils/resowner/resowner.cpp index 394f00c08..fc8d5609c 100644 --- a/src/common/backend/utils/resowner/resowner.cpp +++ b/src/common/backend/utils/resowner/resowner.cpp @@ -110,6 +110,11 @@ typedef struct ResourceOwnerData { int npartmaprefs; PartitionMap** partmaprefs; int maxpartmaprefs; + + /* track global memory context */ + int nglobalMemContext; + MemoryContext* globalMemContexts; + int maxGlobalMemContexts; } ResourceOwnerData; THR_LOCAL ResourceOwner IsolatedResourceOwner = NULL; @@ -375,6 +380,14 @@ static void ResourceOwnerReleaseInternal( if (isCommit) PrintFileLeakWarning(owner->files[owner->nfiles - 1]); FileClose(owner->files[owner->nfiles - 1]); + } + /* Ditto for global memory context */ + while (owner->nglobalMemContext > 0) { + MemoryContext memContext = owner->globalMemContexts[owner->nglobalMemContext - 1]; + if (isCommit) + PrintGMemContextLeakWarning(memContext); + MemoryContextDelete(memContext); + ResourceOwnerForgetGMemContext(t_thrd.utils_cxt.TopTransactionResourceOwner, memContext); } /* Clean up index scans too */ @@ -388,6 +401,39 @@ static void ResourceOwnerReleaseInternal( t_thrd.utils_cxt.CurrentResourceOwner = save; } +static void ResourceOwnerFreeOwner(ResourceOwner owner) +{ + if (owner->buffers) + pfree(owner->buffers); + if (owner->catrefs) + pfree(owner->catrefs); + if (owner->catlistrefs) + pfree(owner->catlistrefs); + if (owner->relrefs) + pfree(owner->relrefs); + if (owner->partrefs) + pfree(owner->partrefs); + if (owner->planrefs) + pfree(owner->planrefs); + if (owner->tupdescs) + pfree(owner->tupdescs); + if (owner->snapshots) + pfree(owner->snapshots); + if (owner->files) + pfree(owner->files); + if (owner->dataCacheSlots) + pfree(owner->dataCacheSlots); + if (owner->metaCacheSlots) + pfree(owner->metaCacheSlots); + if (owner->pThdMutexs) + pfree(owner->pThdMutexs); + if (owner->partmaprefs) + pfree(owner->partmaprefs); + if (owner->fakepartrefs) + pfree(owner->fakepartrefs); + pfree(owner); +} + /* * ResourceOwnerDelete * Delete an owner object and its descendants. @@ -437,33 +483,7 @@ void ResourceOwnerDelete(ResourceOwner owner) } /* And free the object. */ - if (owner->buffers) - pfree(owner->buffers); - if (owner->catrefs) - pfree(owner->catrefs); - if (owner->catlistrefs) - pfree(owner->catlistrefs); - if (owner->relrefs) - pfree(owner->relrefs); - if (owner->partrefs) - pfree(owner->partrefs); - if (owner->planrefs) - pfree(owner->planrefs); - if (owner->tupdescs) - pfree(owner->tupdescs); - if (owner->snapshots) - pfree(owner->snapshots); - if (owner->files) - pfree(owner->files); - if (owner->dataCacheSlots) - pfree(owner->dataCacheSlots); - if (owner->metaCacheSlots) - pfree(owner->metaCacheSlots); - if (owner->pThdMutexs) - pfree(owner->pThdMutexs); - if (owner->partmaprefs) - pfree(owner->partmaprefs); - pfree(owner); + ResourceOwnerFreeOwner(owner); } /* @@ -1643,3 +1663,53 @@ void ResourceOwnerForgetPartitionMapRef(ResourceOwner owner, PartitionMap* partm (errcode(ERRCODE_WARNING_PRIVILEGE_NOT_GRANTED), errmsg("partition map reference is not owned by resource owner %s", owner->name))); } + +void ResourceOwnerRememberGMemContext(ResourceOwner owner, MemoryContext memcontext) +{ + Assert(owner->nglobalMemContext < owner->maxGlobalMemContexts); + owner->globalMemContexts[owner->nglobalMemContext] = memcontext; + owner->nglobalMemContext++; +} + +void ResourceOwnerForgetGMemContext(ResourceOwner owner, MemoryContext memcontext) +{ + MemoryContext* gMemContexts = owner->globalMemContexts; + int num = owner->nglobalMemContext - 1; + + for (int i = num; i >= 0; i--) { + if (memcontext == gMemContexts[i]) { + int j = i; + while (j < num) { + gMemContexts[j] = gMemContexts[j + 1]; + j++; + } + owner->nglobalMemContext = num; + return; + } + } + return; +} + +void ResourceOwnerEnlargeGMemContext(ResourceOwner owner) +{ + int newmax; + + if (owner->nglobalMemContext < owner->maxGlobalMemContexts) + return; /* nothing to do */ + + if (owner->globalMemContexts == NULL) { + newmax = 2; + owner->globalMemContexts = (MemoryContext*)MemoryContextAlloc( + THREAD_GET_MEM_CXT_GROUP(MEMORY_CONTEXT_CBB), newmax * sizeof(MemoryContext)); + } else { + newmax = owner->maxGlobalMemContexts * 2; + owner->globalMemContexts = (MemoryContext*)repalloc(owner->globalMemContexts, newmax * sizeof(MemoryContext)); + } + owner->maxGlobalMemContexts = newmax; +} + +void PrintGMemContextLeakWarning(MemoryContext memcontext) +{ + char *name = memcontext->name; + ereport(WARNING, (errmsg("global memory context: %s leak", name))); +} diff --git a/src/common/backend/utils/sort/Makefile b/src/common/backend/utils/sort/Makefile index c3a14bee8..bf0adc836 100644 --- a/src/common/backend/utils/sort/Makefile +++ b/src/common/backend/utils/sort/Makefile @@ -23,12 +23,12 @@ ifneq "$(MAKECMDGOALS)" "clean" endif OBJS = logtape.o sortsupport.o tuplesort.o tuplestore.o batchsort.o batchstore.o rowstore.o -tuplesort.o: qsort_tuple.cpp +tuplesort.o: qsort_tuple.inc -qsort_tuple.cpp: gen_qsort_tuple.pl +qsort_tuple.inc: gen_qsort_tuple.pl $(PERL) $(srcdir)/gen_qsort_tuple.pl $< > $@ include $(top_srcdir)/src/gausskernel/common.mk maintainer-clean: - rm -f qsort_tuple.cpp + rm -f qsort_tuple.inc diff --git a/src/common/backend/utils/sort/logtape.cpp b/src/common/backend/utils/sort/logtape.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/sort/tuplesort.cpp b/src/common/backend/utils/sort/tuplesort.cpp index 8d9600442..38f590aba 100644 --- a/src/common/backend/utils/sort/tuplesort.cpp +++ b/src/common/backend/utils/sort/tuplesort.cpp @@ -611,7 +611,7 @@ static void tuplesort_sort_memtuples(Tuplesortstate *state); * reduces to ApplySortComparator(), that is single-key MinimalTuple sorts * and Datum sorts. */ -#include "qsort_tuple.cpp" +#include "qsort_tuple.inc" void sort_count(Tuplesortstate* state) { diff --git a/src/common/backend/utils/sort/tuplestore.cpp b/src/common/backend/utils/sort/tuplestore.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/time/combocid.cpp b/src/common/backend/utils/time/combocid.cpp old mode 100755 new mode 100644 diff --git a/src/common/backend/utils/time/snapmgr.cpp b/src/common/backend/utils/time/snapmgr.cpp old mode 100755 new mode 100644 diff --git a/src/common/interfaces/ecpg/ecpglib/pg_type.h b/src/common/interfaces/ecpg/ecpglib/pg_type.h old mode 100755 new mode 100644 diff --git a/src/common/interfaces/ecpg/pgtypeslib/datetime.cpp b/src/common/interfaces/ecpg/pgtypeslib/datetime.cpp old mode 100755 new mode 100644 diff --git a/src/common/interfaces/ecpg/pgtypeslib/dt.h b/src/common/interfaces/ecpg/pgtypeslib/dt.h old mode 100755 new mode 100644 diff --git a/src/common/interfaces/ecpg/pgtypeslib/dt_common.cpp b/src/common/interfaces/ecpg/pgtypeslib/dt_common.cpp old mode 100755 new mode 100644 diff --git a/src/common/interfaces/ecpg/pgtypeslib/interval.cpp b/src/common/interfaces/ecpg/pgtypeslib/interval.cpp old mode 100755 new mode 100644 diff --git a/src/common/interfaces/ecpg/pgtypeslib/timestamp.cpp b/src/common/interfaces/ecpg/pgtypeslib/timestamp.cpp old mode 100755 new mode 100644 diff --git a/src/common/interfaces/ecpg/preproc/ecpg.cpp b/src/common/interfaces/ecpg/preproc/ecpg.cpp index 138ff96d9..65240f2c6 100644 --- a/src/common/interfaces/ecpg/preproc/ecpg.cpp +++ b/src/common/interfaces/ecpg/preproc/ecpg.cpp @@ -51,7 +51,11 @@ static void help(const char* progname) printf(_(" -?, --help show this help, then exit\n")); printf(_("\nIf no output file is specified, the name is formed by adding .c to the\n" "input file name, after stripping off .pgc if present.\n")); - printf(_("\nReport bugs to .\n")); +#if ((defined(ENABLE_MULTIPLE_NODES)) || (defined(ENABLE_PRIVATEGAUSS))) + printf(_("\nReport bugs to GaussDB support.\n")); +#else + printf(_("\nReport bugs to openGauss community by raising an issue.\n")); +#endif } static void add_include_path(char* path) diff --git a/src/common/interfaces/ecpg/test/expected/compat_informix-test_informix2.cpp b/src/common/interfaces/ecpg/test/expected/compat_informix-test_informix2.cpp old mode 100755 new mode 100644 diff --git a/src/common/interfaces/libpq/Makefile b/src/common/interfaces/libpq/Makefile old mode 100644 new mode 100755 index b4d6d5016..9b5921766 --- a/src/common/interfaces/libpq/Makefile +++ b/src/common/interfaces/libpq/Makefile @@ -22,14 +22,14 @@ SO_MINOR_VERSION= 5 DOXYGEN="$(top_builddir)/../$(BUILD_TOOLS_PATH)/doxygen/bin/doxygen" override CPPFLAGS := -DFRONTEND -DFRONTEND_PARSER -DUNSAFE_STAT_OK -I$(srcdir) $(CPPFLAGS) -I$(top_builddir)/src/common/port -I$(top_srcdir)/src/common/port -override CPPFLAGS += -DPGXC -Wno-write-strings -I$(srcdir) -I$(top_builddir)/src/ -I$(top_builddir)/src/include -I$(top_builddir)/src/include/libpq/ +override CPPFLAGS += -DPGXC -I$(srcdir) -I$(top_builddir)/src/ -I$(top_builddir)/src/include -I$(top_builddir)/src/include/libpq/ override CPPFLAGS += -I$(top_builddir)/$(subdir)/client_logic_hooks override CPPFLAGS += -I$(top_builddir)/$(subdir)/client_logic_hooks/encryption_hooks ifeq "$(ENABLE_CE)" "1" override CPPFLAGS += -DHAVE_CE -DWORDS_BIGENDIAN ifneq ($(enable_multiple_nodes)_$(enable_privategauss), no_no) -override CPPFLAGS += -L$(top_builddir)/src/distribute/bin/gs_ktool/ -lgs_ktool -L$(LIBKMC_LIB_PATH) -lkmc +override CPPFLAGS += -L$(top_builddir)/src/bin/gs_ktool/ -lgs_ktool -L$(LIBKMC_LIB_PATH) -lkmc endif endif @@ -175,7 +175,7 @@ endif ifneq ($(enable_multiple_nodes)_$(enable_privategauss), no_no) all: gs_ktool all-lib-depends gs_ktool: - $(MAKE) -C $(top_builddir)/src/distribute/bin/gs_ktool + $(MAKE) -C $(top_builddir)/src/bin/gs_ktool else all: all-lib-depends endif diff --git a/src/common/interfaces/libpq/cl_state.cpp b/src/common/interfaces/libpq/cl_state.cpp index 71cb64c84..304edd2cd 100644 --- a/src/common/interfaces/libpq/cl_state.cpp +++ b/src/common/interfaces/libpq/cl_state.cpp @@ -35,6 +35,9 @@ PGClientLogic::PGClientLogic(PGconn *conn) disable_once(false), preparedStatements(NULL), pendingStatements(NULL), +#if ((!defined(ENABLE_MULTIPLE_NODES)) && (!defined(ENABLE_PRIVATEGAUSS))) + query_type(CE_IGNORE), +#endif droppedSchemas(NULL), droppedSchemas_size(0), droppedSchemas_allocated(0), @@ -44,8 +47,6 @@ PGClientLogic::PGClientLogic(PGconn *conn) droppedColumnSettings(NULL), droppedColumnSettings_size(0), droppedColumnSettings_allocated(0), - isInvalidOperationOnColumn(false), - isDuringRefreshCacheOnError(false), cacheRefreshType(CacheRefreshType::ALL), m_hookResources(), val_to_update(updateGucValues::GUC_NONE) @@ -56,6 +57,9 @@ PGClientLogic::PGClientLogic(PGconn *conn) pendingStatements = new PreparedStatementsList; TypesMap::fill_types_map(); lastStmtName[0] = '\0'; +#if ((!defined(ENABLE_MULTIPLE_NODES)) && (!defined(ENABLE_PRIVATEGAUSS))) + query_args[0] = '\0'; +#endif } PGClientLogic::~PGClientLogic() diff --git a/src/common/interfaces/libpq/client_logic_cache/Makefile b/src/common/interfaces/libpq/client_logic_cache/Makefile old mode 100644 new mode 100755 index 4d4de60e3..2854f973e --- a/src/common/interfaces/libpq/client_logic_cache/Makefile +++ b/src/common/interfaces/libpq/client_logic_cache/Makefile @@ -21,7 +21,7 @@ OBJS=cache_loader.o cached_column.o cached_column_manager.o icached_column_manag include $(top_builddir)/src/Makefile.global include $(top_builddir)/src/Makefile.shlib -override CPPFLAGS := -DFRONTEND -DFRONTEND_PARSER -DPGXC -Wno-write-strings -I$(srcdir) $(CPPFLAGS) -I$(top_builddir)/src/ -I$(top_builddir)/src/include -I$(top_builddir)/src/common/interfaces/libpq +override CPPFLAGS := -DFRONTEND -DFRONTEND_PARSER -DPGXC -I$(srcdir) $(CPPFLAGS) -I$(top_builddir)/src/ -I$(top_builddir)/src/include -I$(top_builddir)/src/common/interfaces/libpq override CPPFLAGS += -I$(top_builddir)/src/common/interfaces/libpq/client_logic_common -I$(top_builddir)/src/include/libpq/ override CPPFLAGS := $(filter-out -fPIE, $(CPPFLAGS)) -fPIC -fstack-protector-all -DHAVE_CE override CFLAGS := $(filter-out -fPIE, $(CFLAGS)) -fPIC -fstack-protector-all diff --git a/src/common/interfaces/libpq/client_logic_cache/cache_loader.cpp b/src/common/interfaces/libpq/client_logic_cache/cache_loader.cpp index 775f1595c..c086630ba 100644 --- a/src/common/interfaces/libpq/client_logic_cache/cache_loader.cpp +++ b/src/common/interfaces/libpq/client_logic_cache/cache_loader.cpp @@ -452,6 +452,7 @@ bool CacheLoader::fill_global_settings_map(PGconn *conn) if (!function_name || strlen(function_name) == 0) { PQclear(res); fprintf(stderr, "function name is missing\n"); + delete_key(cached_global_setting); return false; } cached_global_setting->set_global_hook_executor( @@ -460,6 +461,7 @@ bool CacheLoader::fill_global_settings_map(PGconn *conn) if (!cached_global_setting->get_executor()) { PQclear(res); fprintf(stderr, "failed to get global hook executor\n"); + delete_key(cached_global_setting); return false; } @@ -469,6 +471,7 @@ bool CacheLoader::fill_global_settings_map(PGconn *conn) if (!arg_key || strlen(arg_key) == 0 || !arg_value || strlen(arg_value) == 0) { PQclear(res); fprintf(stderr, "failed to get argument for client master key\n"); + delete_key(cached_global_setting); return false; } cached_global_setting->get_executor()->add_argument(arg_key, arg_value); @@ -558,6 +561,7 @@ bool CacheLoader::fill_column_settings_info_cache(PGconn *conn) const char *function_name = PQgetvalue(res, n, arg_function_name_num); if (!function_name || strlen(function_name) == 0) { fprintf(stderr, "failed to get related client master key when loading column encryption key\n"); + delete_key(column_setting); continue; } @@ -566,6 +570,7 @@ bool CacheLoader::fill_column_settings_info_cache(PGconn *conn) const CachedGlobalSetting *cached_global_setting = get_global_setting_by_oid(global_setting_oid); if (!cached_global_setting) { fprintf(stderr, "failed to get related client master key when loading column encryption key\n"); + delete_key(column_setting); continue; } check_strcat_s(strcat_s(column_setting->m_cached_global_setting, NAMEDATALEN * 4, @@ -578,6 +583,7 @@ bool CacheLoader::fill_column_settings_info_cache(PGconn *conn) if (!column_setting->get_executor()) { PQclear(res); fprintf(stderr, "failed to get column hook executor\n"); + delete_key(column_setting); return false; } @@ -587,6 +593,7 @@ bool CacheLoader::fill_column_settings_info_cache(PGconn *conn) if (!arg_key || strlen(arg_key) == 0 || !arg_value || strlen(arg_value) == 0) { PQclear(res); fprintf(stderr, "failed to get argument for column encryption key\n"); + delete_key(column_setting); return false; } column_setting->get_executor()->add_argument(arg_key, arg_value); @@ -657,8 +664,13 @@ bool CacheLoader::fill_cached_columns(PGconn *conn) Oid data_type_oid = (Oid)atoi(PQgetvalue(res, n, orig_type_oid_num)); int data_type_mod = atoi(PQgetvalue(res, n, orig_type_mod_num)); - CachedColumn *cached_column = new CachedColumn(table_oid, database_name, schema_name, table_name, column_name, - column_position, data_type_oid, data_type_mod); + CachedColumn *cached_column = new (std::nothrow) CachedColumn(table_oid, database_name, schema_name, table_name, + column_name, column_position, data_type_oid, data_type_mod); + if (cached_column == NULL) { + PQclear(res); + fprintf(stderr, "failed to new CachedColumn object\n"); + return false; + } cached_column->init(); cached_column->set_data_type(atoi(PQgetvalue(res, n, atttypid_num))); m_schemas_list.add(PQgetvalue(res, n, table_schema_num)); diff --git a/src/common/interfaces/libpq/client_logic_cache/cache_loader.h b/src/common/interfaces/libpq/client_logic_cache/cache_loader.h index 756510ce8..999e82693 100644 --- a/src/common/interfaces/libpq/client_logic_cache/cache_loader.h +++ b/src/common/interfaces/libpq/client_logic_cache/cache_loader.h @@ -34,6 +34,14 @@ #include "columns_list.h" #include "search_path_list.h" +#define delete_key(__p) \ + do { \ + if ((__p) != NULL) { \ + delete((__p)); \ + (__p) = NULL; \ + } \ + } while (0) + typedef struct pg_conn PGconn; typedef unsigned int Oid; diff --git a/src/common/interfaces/libpq/client_logic_cache/cached_column_manager.cpp b/src/common/interfaces/libpq/client_logic_cache/cached_column_manager.cpp index 6a333bdc1..c540745ba 100644 --- a/src/common/interfaces/libpq/client_logic_cache/cached_column_manager.cpp +++ b/src/common/interfaces/libpq/client_logic_cache/cached_column_manager.cpp @@ -226,7 +226,11 @@ ICachedColumn *CachedColumnManager::create_cached_column(const char *column_key_ const CachedColumnSetting *column_setting = CacheLoader::get_instance().get_column_setting_by_fqdn(column_key_name); if (column_setting) { - cached_column = new CachedColumn(); + cached_column = new (std::nothrow) CachedColumn(); + if (cached_column == NULL) { + fprintf(stderr, "failed to new CachedColumn object\n"); + exit(EXIT_FAILURE); + } cached_column->add_executor(column_setting->get_executor()); } else { fprintf(stderr, "failed to find in cache: %s\n", column_key_name); @@ -371,18 +375,17 @@ bool CachedColumnManager::get_cached_columns(const DeleteStmt *delete_stmt, cons /* * delete from table1 as a1 where a1.col1 = ... */ - if (delete_stmt->relation->alias != NULL) { - char *alias_name = delete_stmt->relation->alias->aliasname; - for (size_t i = 0; i < tmp_cached_columns.size(); i++) { - ICachedColumn *alias_cached = new CachedColumn(tmp_cached_columns.at(i)); + for (size_t i = 0; i < tmp_cached_columns.size(); i++) { + ICachedColumn *alias_cached = new (std::nothrow) CachedColumn(tmp_cached_columns.at(i)); + if (alias_cached == NULL) { + fprintf(stderr, "failed to new CachedColumn object\n"); + exit(EXIT_FAILURE); + } + if (delete_stmt->relation->alias != NULL) { + char *alias_name = delete_stmt->relation->alias->aliasname; alias_cached->set_table_name(alias_name); - cached_columns->push(alias_cached); - } - } else { - for (size_t i = 0; i < tmp_cached_columns.size(); i++) { - ICachedColumn *alias_cached = new CachedColumn(tmp_cached_columns.at(i)); - cached_columns->push(alias_cached); } + cached_columns->push(alias_cached); } return true; } diff --git a/src/common/interfaces/libpq/client_logic_cache/createTypesMap.sh b/src/common/interfaces/libpq/client_logic_cache/createTypesMap.sh old mode 100644 new mode 100755 diff --git a/src/common/interfaces/libpq/client_logic_common/Makefile b/src/common/interfaces/libpq/client_logic_common/Makefile old mode 100644 new mode 100755 index 6941ecdbb..d2e1cc599 --- a/src/common/interfaces/libpq/client_logic_common/Makefile +++ b/src/common/interfaces/libpq/client_logic_common/Makefile @@ -15,7 +15,7 @@ top_builddir = ../../../../../ # shared library parameters NAME= client_logic_common -override CPPFLAGS := -DFRONTEND -DFRONTEND_PARSER -DHAVE_CE -DPGXC -Wno-write-strings -I$(srcdir) $(CPPFLAGS) -I$(top_builddir)/src/ -I$(top_builddir)/src/include -I$(top_builddir)/src/common/interfaces/libpq -std=c++14 -I $(top_builddir)/src/include/libpq +override CPPFLAGS := -DFRONTEND -DFRONTEND_PARSER -DHAVE_CE -DPGXC -I$(srcdir) $(CPPFLAGS) -I$(top_builddir)/src/ -I$(top_builddir)/src/include -I$(top_builddir)/src/common/interfaces/libpq -std=c++14 -I $(top_builddir)/src/include/libpq override CPPFLAGS := $(filter-out -fPIE, $(CPPFLAGS)) -fPIC -fstack-protector-all override CFLAGS := $(filter-out -fPIE, $(CFLAGS)) -fPIC -fstack-protector-all diff --git a/src/common/interfaces/libpq/client_logic_expressions/Makefile b/src/common/interfaces/libpq/client_logic_expressions/Makefile index bb35774c3..bef824266 100644 --- a/src/common/interfaces/libpq/client_logic_expressions/Makefile +++ b/src/common/interfaces/libpq/client_logic_expressions/Makefile @@ -15,7 +15,7 @@ top_builddir = ../../../../../ # shared library parameters NAME= client_logic_processor -override CPPFLAGS := -DFRONTEND -DFRONTEND_PARSER -DPGXC -Wno-write-strings -I$(srcdir) $(CPPFLAGS) -I$(top_builddir)/src/ -I$(top_builddir)/src/include -I$(top_builddir)/src/common/interfaces/libpq -I$(top_builddir)/src/include/libpq +override CPPFLAGS := -DFRONTEND -DFRONTEND_PARSER -DPGXC -I$(srcdir) $(CPPFLAGS) -I$(top_builddir)/src/ -I$(top_builddir)/src/include -I$(top_builddir)/src/common/interfaces/libpq -I$(top_builddir)/src/include/libpq override CPPFLAGS := $(filter-out -fPIE, $(CPPFLAGS)) -fPIC -fstack-protector-all -DHAVE_CE override CFLAGS := $(filter-out -fPIE, $(CFLAGS)) -fPIC -fstack-protector-all diff --git a/src/common/interfaces/libpq/client_logic_expressions/pg_functions_support.cpp b/src/common/interfaces/libpq/client_logic_expressions/pg_functions_support.cpp index 211b80c9b..0a9f4895f 100644 --- a/src/common/interfaces/libpq/client_logic_expressions/pg_functions_support.cpp +++ b/src/common/interfaces/libpq/client_logic_expressions/pg_functions_support.cpp @@ -35,17 +35,22 @@ bool handle_func_call(const FuncCall *funccall, ExprPartsList *expr_parts_list, StatementData *statement_data) { if (funccall->funcname != NULL && strcmp(strVal(linitial(funccall->funcname)), "repeat") == 0) { - if (funccall->args == NULL) { + if (funccall->args == NULL || list_length(funccall->args) != 2) { return true; } if (nodeTag(linitial(funccall->args)) != T_A_Const || nodeTag(lsecond(funccall->args)) != T_A_Const) { return true; } + if (((A_Const *)linitial(funccall->args))->val.type != T_String || + ((A_Const *)lsecond(funccall->args))->val.type != T_Integer) { + return true; + } const char *data = ((A_Const *)linitial(funccall->args))->val.val.str; int count = ((A_Const *)lsecond(funccall->args))->val.val.ival; + bool empty_str = false; - if (strlen(data) == 0 || count < - 1) { /* Note. If number is less than 1, the repeat function will return an empty string. or data is empty */ + /* Note. If number is less than 1, the repeat function will return an empty string. Or data is empty */ + if (strlen(data) == 0 || count < 1) { empty_str = true; count = 0; } @@ -79,7 +84,7 @@ bool handle_func_call(const FuncCall *funccall, ExprPartsList *expr_parts_list, free(result); return true; } else if (funccall->funcname != NULL && strcmp(strVal(linitial(funccall->funcname)), "empty_blob") == 0) { - if (funccall->args) { + if (funccall->args != NULL && list_length(funccall->args) > 0) { return true; } ExprParts expr_parts; diff --git a/src/common/interfaces/libpq/client_logic_fmt/Makefile b/src/common/interfaces/libpq/client_logic_fmt/Makefile index bd8d053a5..fc637a5d2 100644 --- a/src/common/interfaces/libpq/client_logic_fmt/Makefile +++ b/src/common/interfaces/libpq/client_logic_fmt/Makefile @@ -15,7 +15,7 @@ top_builddir = ../../../../../ # shared library parameters NAME=client_logic_fmt -override CPPFLAGS := -DFRONTEND -DPGXC -Wno-write-strings -fstack-protector-all -I$(srcdir) $(CPPFLAGS) -I$(top_builddir)/src/ -I$(top_builddir)/src/include -I$(top_builddir)/src/common/interfaces/libpq +override CPPFLAGS := -DFRONTEND -DPGXC -fstack-protector-all -I$(srcdir) $(CPPFLAGS) -I$(top_builddir)/src/ -I$(top_builddir)/src/include -I$(top_builddir)/src/common/interfaces/libpq override CPPFLAGS := $(filter-out -fPIE, $(CPPFLAGS)) -fPIC -shared override CFLAGS := $(filter-out -fPIE, $(CFLAGS)) -fPIC -shared diff --git a/src/common/interfaces/libpq/client_logic_fmt/gs_copy.cpp b/src/common/interfaces/libpq/client_logic_fmt/gs_copy.cpp index fd87057c5..14c6af50b 100644 --- a/src/common/interfaces/libpq/client_logic_fmt/gs_copy.cpp +++ b/src/common/interfaces/libpq/client_logic_fmt/gs_copy.cpp @@ -764,7 +764,7 @@ static int process_txt_chunk(PGconn *conn, PreparedStatement *entry, const char data = NULL; return -1; } - } else if (found_delim || found_eol) { + } else if (found_delim || found_eol || (end_ptr == line_end_ptr)) { /* process */ if (!process_and_replace(conn, entry, data, data_size, false, buffer, written, res_length)) { free(data); @@ -1214,7 +1214,7 @@ int process_csv_chunk(PGconn *conn, PreparedStatement *entry, const char *in_buf data = NULL; return 0; } - } else if (found_delim || found_eol) { + } else if (found_delim || found_eol || (end_ptr == line_end_ptr)) { /* process */ if (!process_and_replace(conn, entry, data, data_size, false, buffer, written, res_length)) { free(data); @@ -1597,7 +1597,7 @@ static bool process_and_replace(PGconn *conn, PreparedStatement *entry, const ch /* process data */ char err_msg[1024]; err_msg[0] = '\0'; - if (!rawValue.process(conn->client_logic->isDuringRefreshCacheOnError, cached_column, err_msg)) { + if (!rawValue.process(cached_column, err_msg)) { if (strlen(err_msg) == 0) { printfPQExpBuffer(&conn->errorMessage, libpq_gettext("ERROR(CLIENT): failed to process data of processed column")); @@ -1626,7 +1626,8 @@ static bool deprocess_and_replace(PGconn *conn, PreparedStatement *entry, const unsigned char *plaintext = NULL; size_t plaintext_len; if (ValuesProcessor::deprocess_value(conn, (const unsigned char *)processed_bytea, processed_bytea_size, - entry->original_data_types_oids[entry->copy_state->fieldno], 0, &plaintext, plaintext_len, false)) { + entry->original_data_types_oids[entry->copy_state->fieldno], 0, &plaintext, plaintext_len, false) == + DEC_DATA_SUCCEED) { size_t escaped_size = 0; char *escaped = escape_and_quote(conn, entry, plaintext, is_quoted, &escaped_size); ret = append_buffer(buffer, res_length, written, escaped, escaped_size); @@ -1635,8 +1636,6 @@ static bool deprocess_and_replace(PGconn *conn, PreparedStatement *entry, const } else { printfPQExpBuffer(&conn->errorMessage, libpq_gettext("ERROR(CLIENT): failed to deprocess data of processed column")); - conn->client_logic->isInvalidOperationOnColumn = true; // FAILED TO READ - checkRefreshCacheOnError(conn); } return ret; @@ -1982,7 +1981,11 @@ static CopyStateData *begin_copy(bool is_from, bool is_rel, Node *raw_query, con List *attnamelist, List *options) { /* Allocate workspace and zero all fields */ - CopyStateData *cstate = new CopyStateData(); + CopyStateData *cstate = new (std::nothrow) CopyStateData(); + if (cstate == NULL) { + fprintf(stderr, "failed to new CopyStateData object\n"); + exit(EXIT_FAILURE); + } copy_state_data_init(cstate); /* Extract options from the statement node tree */ fe_process_copy_options(cstate, is_from, options); @@ -2007,7 +2010,12 @@ static CopyStateData *begin_copy(bool is_from, bool is_rel, Node *raw_query, con if (is_return_empty) { delete cstate; - return new CopyStateData(); + cstate = new (std::nothrow) CopyStateData(); + if (cstate == NULL) { + fprintf(stderr, "failed to new CopyStateData object\n"); + exit(EXIT_FAILURE); + } + return cstate; } /* Use client encoding when ENCODING option is not specified. */ diff --git a/src/common/interfaces/libpq/client_logic_fmt/float.h b/src/common/interfaces/libpq/client_logic_fmt/gs_float.h similarity index 100% rename from src/common/interfaces/libpq/client_logic_fmt/float.h rename to src/common/interfaces/libpq/client_logic_fmt/gs_float.h diff --git a/src/common/interfaces/libpq/client_logic_fmt/gs_num.cpp b/src/common/interfaces/libpq/client_logic_fmt/gs_num.cpp index aa24fb3d1..194201708 100644 --- a/src/common/interfaces/libpq/client_logic_fmt/gs_num.cpp +++ b/src/common/interfaces/libpq/client_logic_fmt/gs_num.cpp @@ -28,7 +28,7 @@ #include #include "gs_num.h" #include "int8.h" -#include "float.h" +#include "gs_float.h" #include "numeric.h" #include "numutils.h" #include "libpq-int.h" diff --git a/src/common/interfaces/libpq/client_logic_fmt/varlena.cpp b/src/common/interfaces/libpq/client_logic_fmt/varlena.cpp index 0450646c1..32dddb9af 100644 --- a/src/common/interfaces/libpq/client_logic_fmt/varlena.cpp +++ b/src/common/interfaces/libpq/client_logic_fmt/varlena.cpp @@ -141,9 +141,9 @@ unsigned char *byteain(const char *inputText, size_t *binary_size, char *err_msg } else { /* We should never get here. The first pass should not allow it. */ check_sprintf_s(sprintf_s(err_msg, MAX_ERRMSG_LENGTH, " invalid input syntax for type bytea\n")); - if (rp != NULL) { - free(rp); - rp = NULL; + if (binary != NULL) { + free(binary); + binary = NULL; } return NULL; } diff --git a/src/common/interfaces/libpq/client_logic_hooks/Makefile b/src/common/interfaces/libpq/client_logic_hooks/Makefile old mode 100644 new mode 100755 index 38e14c686..ee851da09 --- a/src/common/interfaces/libpq/client_logic_hooks/Makefile +++ b/src/common/interfaces/libpq/client_logic_hooks/Makefile @@ -16,11 +16,11 @@ top_builddir = ../../../../../ NAME=client_logic_hooks encryption_hooks_dir = "$(top_builddir)/src/common/interfaces/libpq/client_logic_hooks/encryption_hooks" -override CPPFLAGS := -DFRONTEND -DFRONTEND_PARSER -DPGXC -Wno-write-strings -fstack-protector-all -I$(srcdir) $(CPPFLAGS) -I$(top_builddir)/src/ -I$(top_builddir)/src/include +override CPPFLAGS := -DFRONTEND -DFRONTEND_PARSER -DPGXC -fstack-protector-all -I$(srcdir) $(CPPFLAGS) -I$(top_builddir)/src/ -I$(top_builddir)/src/include override CPPFLAGS += -I$(top_builddir)/src/common/interfaces/libpq/ -I$(top_builddir)/src/include/libpq/ -I$(top_builddir)/src/include/libpq/client_logic_cache override CPPFLAGS += -I$(top_builddir)/src/common/interfaces/libpq/client_logic_hooks -I$(encryption_hooks_dir) ifneq ($(enable_multiple_nodes)_$(enable_privategauss), no_no) -override CPPFLAGS += -L$(top_builddir)/src/distribute/bin/gs_ktool/ -lgs_ktool -lsecurec -L$(LIBKMC_LIB_PATH) -lkmc +override CPPFLAGS += -L$(top_builddir)/src/bin/gs_ktool/ -lgs_ktool -lsecurec -L$(LIBKMC_LIB_PATH) -lkmc endif override CPPFLAGS := $(filter-out -fPIE, $(CPPFLAGS)) -fPIC -shared override CFLAGS := $(filter-out -fPIE, $(CFLAGS)) -fPIC -shared diff --git a/src/common/interfaces/libpq/client_logic_hooks/column_hook_executor.cpp b/src/common/interfaces/libpq/client_logic_hooks/column_hook_executor.cpp index c6da9730f..39ee23822 100644 --- a/src/common/interfaces/libpq/client_logic_hooks/column_hook_executor.cpp +++ b/src/common/interfaces/libpq/client_logic_hooks/column_hook_executor.cpp @@ -22,9 +22,9 @@ */ #include +#include #include "column_hook_executor.h" #include "global_hook_executor.h" -#include ColumnHookExecutor::ColumnHookExecutor(GlobalHookExecutor *global_hook_executor, Oid oid, const char *function_name) : AbstractHookExecutor(function_name) @@ -61,28 +61,28 @@ int ColumnHookExecutor::get_estimated_processed_data_size(int data_size) const return sizeof(Oid) + get_estimated_processed_data_size_impl(data_size); } -int ColumnHookExecutor::process_data(bool is_during_refresh_cache, const ICachedColumn *cached_column, +int ColumnHookExecutor::process_data(const ICachedColumn *cached_column, const unsigned char *data, int data_size, unsigned char *processed_data) { if (!m_global_hook_executor->process(this)) { fprintf(stderr, "global executor failed to process column excecutor\n"); - return 0; + return -1; } errno_t rc = EOK; rc = memcpy_s(processed_data, sizeof(Oid), &m_oid, sizeof(Oid)); securec_check_c(rc, "\0", "\0"); - return process_data_impl(is_during_refresh_cache, cached_column, data, data_size, processed_data + sizeof(Oid)); + return process_data_impl(cached_column, data, data_size, processed_data + sizeof(Oid)); } -int ColumnHookExecutor::deprocess_data(bool is_during_refresh_cache, const unsigned char *processed_data, - int processed_data_size, unsigned char **data) +DecryptDataRes ColumnHookExecutor::deprocess_data(const unsigned char *processed_data, int processed_data_size, + unsigned char **data, int *data_plain_size) { if (!m_global_hook_executor->process(this)) { fprintf(stderr, "global executor failed to deprocess column excecutor\n"); - return 0; + return DECRYPT_CEK_ERR; } - return deprocess_data_impl(is_during_refresh_cache, processed_data, processed_data_size, data); + return deprocess_data_impl(processed_data, processed_data_size, data, data_plain_size); } diff --git a/src/common/interfaces/libpq/client_logic_hooks/column_hook_executor.h b/src/common/interfaces/libpq/client_logic_hooks/column_hook_executor.h index 4cce620c3..9a27c14b0 100644 --- a/src/common/interfaces/libpq/client_logic_hooks/column_hook_executor.h +++ b/src/common/interfaces/libpq/client_logic_hooks/column_hook_executor.h @@ -29,6 +29,7 @@ #include "client_logic/client_logic_enums.h" #include "client_logic_cache/icached_column.h" #include "nodes/parsenodes_common.h" +#include "client_logic_processor/values_processor.h" typedef unsigned int Oid; class PGClientLogic; @@ -52,7 +53,7 @@ public: * When a query is sent to the server, the data in the query first needs to be processed before the query is sent. * The query is replaced with the modified query upon submission. */ - virtual int process_data_impl(bool is_during_refresh_cache, const ICachedColumn *cached_column, + virtual int process_data_impl(const ICachedColumn *cached_column, const unsigned char *data, int data_size, unsigned char *processed_data) = 0; /* @@ -64,8 +65,8 @@ public: * When the client receives the response from the server, it has to be (de)processed. * The data is deprocessed to its original form in the client side so it can be transffered to the application. */ - virtual int deprocess_data_impl(bool is_during_refresh_cache, const unsigned char *data_processed, - int data_processed_size, unsigned char **data) = 0; + virtual DecryptDataRes deprocess_data_impl(const unsigned char *data_processed, + int data_processed_size, unsigned char **data, int *data_plain_size) = 0; /* * returns the name of the data type the column was converted to. @@ -86,10 +87,10 @@ public: const Oid getOid() const; /* wrapper functions for impl functions */ - int process_data(bool is_during_refresh_cache, const ICachedColumn *cached_column, const unsigned char *data, - int data_size, unsigned char *processed_data); - int deprocess_data(bool is_during_refresh_cache, const unsigned char *data_processed, int data_processed_size, - unsigned char **data); + int process_data(const ICachedColumn *cached_column, const unsigned char *data, int data_size, + unsigned char *processed_data); + DecryptDataRes deprocess_data(const unsigned char *processed_data, int processed_data_size, + unsigned char **data, int *data_plain_size); int get_estimated_processed_data_size(int data_size) const; virtual bool set_deletion_expected(); void inc_ref_count() override; diff --git a/src/common/interfaces/libpq/client_logic_hooks/encryption_hooks/Makefile b/src/common/interfaces/libpq/client_logic_hooks/encryption_hooks/Makefile index 721f00c1b..63d1b46ec 100644 --- a/src/common/interfaces/libpq/client_logic_hooks/encryption_hooks/Makefile +++ b/src/common/interfaces/libpq/client_logic_hooks/encryption_hooks/Makefile @@ -18,7 +18,7 @@ NAME=client_logic_encryption_hooks override CPPFLAGS := -DFRONTEND -DPGXC -Wno-write-strings -fstack-protector-all -I$(srcdir) $(CPPFLAGS) -I$(top_builddir)/src/ -I$(top_builddir)/src/include -I$(top_builddir)/src/include/libpq -I$(top_builddir)/src/common/interfaces/libpq -I$(top_builddir)/src/common/interfaces/libpq/client_logic_hooks/ -I. override CPPFLAGS += -lsecurec -lssl -lcrypto ifneq ($(enable_multiple_nodes)_$(enable_privategauss), no_no) -override CPPFLAGS += -L$(top_builddir)/src/distribute/bin/gs_ktool/ -lgs_ktool -lsecurec -L$(LIBKMC_LIB_PATH) -lkmc +override CPPFLAGS += -L$(top_builddir)/src/bin/gs_ktool/ -lgs_ktool -lsecurec -L$(LIBKMC_LIB_PATH) -lkmc endif override CPPFLAGS := $(filter-out -fPIE, $(CPPFLAGS)) -fPIC -shared override CFLAGS := $(filter-out -fPIE, $(CFLAGS)) -fPIC -shared diff --git a/src/common/interfaces/libpq/client_logic_hooks/encryption_hooks/encryption_column_hook_executor.cpp b/src/common/interfaces/libpq/client_logic_hooks/encryption_hooks/encryption_column_hook_executor.cpp index 5ee238787..d28546f56 100644 --- a/src/common/interfaces/libpq/client_logic_hooks/encryption_hooks/encryption_column_hook_executor.cpp +++ b/src/common/interfaces/libpq/client_logic_hooks/encryption_hooks/encryption_column_hook_executor.cpp @@ -42,8 +42,8 @@ int EncryptionColumnHookExecutor::get_estimated_processed_data_size_impl(int dat return get_cipher_text_size(data_size); } -int EncryptionColumnHookExecutor::process_data_impl(bool is_during_refresh_cache, const ICachedColumn *cached_column, - const unsigned char *data, int data_size, unsigned char *processed_data) +int EncryptionColumnHookExecutor::process_data_impl(const ICachedColumn *cached_column, const unsigned char *data, + int data_size, unsigned char *processed_data) { EncryptionGlobalHookExecutor *encryption_global_hook_executor = dynamic_cast(m_global_hook_executor); @@ -61,14 +61,14 @@ int EncryptionColumnHookExecutor::process_data_impl(bool is_during_refresh_cache return -1; } AeadAesHamcEncKey aesCbcEncryptionKey; - unsigned char decryptedKey[MAX_CEK_LENGTH]; - errno_t rc = memset_s(decryptedKey, MAX_CEK_LENGTH, 0, MAX_CEK_LENGTH); + unsigned char decrypted_key[MAX_CEK_LENGTH]; + errno_t rc = memset_s(decrypted_key, MAX_CEK_LENGTH, 0, MAX_CEK_LENGTH); securec_check_c(rc, "\0", "\0"); - size_t decryptedKeySize = 0; + size_t decrypted_key_size = 0; errno_t securec_rc = EOK; unsigned char *cek_keys = NULL; cek_keys = get_cek_keys(); - decryptedKeySize = get_cek_size(); + decrypted_key_size = get_cek_size(); ColumnEncryptionAlgorithm column_encryption_algorithm = get_column_encryption_algorithm(); if (column_encryption_algorithm == ColumnEncryptionAlgorithm::INVALID_ALGORITHM) { @@ -89,26 +89,25 @@ int EncryptionColumnHookExecutor::process_data_impl(bool is_during_refresh_cache set_column_encryption_algorithm(column_encryption_algorithm); } - if (cek_keys != NULL && decryptedKeySize != 0) { - securec_rc = memcpy_s(decryptedKey, MAX_CEK_LENGTH, cek_keys, decryptedKeySize); + if (cek_keys != NULL && decrypted_key_size != 0) { + securec_rc = memcpy_s(decrypted_key, MAX_CEK_LENGTH, cek_keys, decrypted_key_size); securec_check_c(securec_rc, "", ""); } else { - is_during_refresh_cache = true; - if (!deprocess_column_encryption_key(is_during_refresh_cache, encryption_global_hook_executor, decryptedKey, - &decryptedKeySize, encrypted_key_value, &encrypted_key_value_size)) { + if (!deprocess_column_encryption_key(encryption_global_hook_executor, decrypted_key, + &decrypted_key_size, encrypted_key_value, &encrypted_key_value_size)) { return -1; } - set_cek_keys((unsigned char *)decryptedKey, decryptedKeySize); - set_cek_size(decryptedKeySize); + set_cek_keys((unsigned char *)decrypted_key, decrypted_key_size); + set_cek_size(decrypted_key_size); } /* encryption key */ - if (!aesCbcEncryptionKey.generate_keys((unsigned char *)decryptedKey, decryptedKeySize)) { - errno_t res = memset_s(decryptedKey, MAX_CEK_LENGTH, 0, MAX_CEK_LENGTH); + if (!aesCbcEncryptionKey.generate_keys((unsigned char *)decrypted_key, decrypted_key_size)) { + errno_t res = memset_s(decrypted_key, MAX_CEK_LENGTH, 0, MAX_CEK_LENGTH); securec_check_c(res, "\0", "\0"); return -1; } - errno_t res = memset_s(decryptedKey, MAX_CEK_LENGTH, 0, MAX_CEK_LENGTH); + errno_t res = memset_s(decrypted_key, MAX_CEK_LENGTH, 0, MAX_CEK_LENGTH); securec_check_c(res, "\0", "\0"); Oid data_type = cached_column->get_data_type(); EncryptionType encryption_type = EncryptionType::INVALID_TYPE; @@ -122,32 +121,33 @@ int EncryptionColumnHookExecutor::process_data_impl(bool is_during_refresh_cache return encryptedSize; } -int EncryptionColumnHookExecutor::deprocess_data_impl(bool is_during_refresh_cache, const unsigned char *dataProcessed, - int dataProcessedSize, unsigned char **data) +DecryptDataRes EncryptionColumnHookExecutor::deprocess_data_impl(const unsigned char *data_processed, + int data_proceeed_size, unsigned char **data, int *data_plain_size) { EncryptionGlobalHookExecutor *encryption_global_hook_executor = dynamic_cast(m_global_hook_executor); if (!encryption_global_hook_executor) { - return -1; + return CLIENT_HEAP_ERR; } + /* get effective encrypted_key */ size_t encrypted_key_value_size = 0; const char *encrypted_key_value = NULL; get_argument("encrypted_value", &encrypted_key_value, encrypted_key_value_size); if (encrypted_key_value == NULL) { printf("ERROR(CLIENT): failed to get key_value.\n"); - return -1; + return DECRYPT_CEK_ERR; } AeadAesHamcEncKey aesCbcEncryptionKey; - unsigned char decryptedKey[MAX_CEK_LENGTH]; + unsigned char decrypted_key[MAX_CEK_LENGTH]; errno_t securec_rc = EOK; - securec_rc = memset_s(decryptedKey, MAX_CEK_LENGTH, 0, MAX_CEK_LENGTH); + securec_rc = memset_s(decrypted_key, MAX_CEK_LENGTH, 0, MAX_CEK_LENGTH); securec_check_c(securec_rc, "\0", "\0"); - size_t decryptedKeySize = 0; + size_t decrypted_key_size = 0; unsigned char *cek_keys = NULL; cek_keys = get_cek_keys(); - decryptedKeySize = get_cek_size(); + decrypted_key_size = get_cek_size(); ColumnEncryptionAlgorithm column_encryption_algorithm = get_column_encryption_algorithm(); if (column_encryption_algorithm == ColumnEncryptionAlgorithm::INVALID_ALGORITHM) { size_t algorithm_str_size(0); @@ -155,7 +155,7 @@ int EncryptionColumnHookExecutor::deprocess_data_impl(bool is_during_refresh_cac get_argument("algorithm", &algorithm_str, algorithm_str_size); if (algorithm_str == NULL) { printf("ERROR(CLIENT): failed to get column encryption algorithm.\n"); - return -1; + return DECRYPT_CEK_ERR; } else if (strcasecmp(algorithm_str, "AEAD_AES_256_CBC_HMAC_SHA256") == 0) { column_encryption_algorithm = ColumnEncryptionAlgorithm::AEAD_AES_256_CBC_HMAC_SHA256; } else if (strcasecmp(algorithm_str, "AEAD_AES_128_CBC_HMAC_SHA256") == 0) { @@ -163,55 +163,60 @@ int EncryptionColumnHookExecutor::deprocess_data_impl(bool is_during_refresh_cac } set_column_encryption_algorithm(column_encryption_algorithm); } - if (cek_keys != NULL && decryptedKeySize != 0) { - securec_rc = memcpy_s(decryptedKey, MAX_CEK_LENGTH, cek_keys, decryptedKeySize); + + if (cek_keys != NULL && decrypted_key_size != 0) { + securec_rc = memcpy_s(decrypted_key, MAX_CEK_LENGTH, cek_keys, decrypted_key_size); securec_check_c(securec_rc, "\0", "\0"); } else { - if (!deprocess_column_encryption_key(is_during_refresh_cache, encryption_global_hook_executor, decryptedKey, - &decryptedKeySize, encrypted_key_value, &encrypted_key_value_size)) { - return -1; + if (!deprocess_column_encryption_key(encryption_global_hook_executor, decrypted_key, &decrypted_key_size, + encrypted_key_value, &encrypted_key_value_size)) { + return DECRYPT_CEK_ERR; } - set_cek_keys((unsigned char *)decryptedKey, decryptedKeySize); - set_cek_size(decryptedKeySize); + + set_cek_keys((unsigned char *)decrypted_key, decrypted_key_size); + set_cek_size(decrypted_key_size); } /* encryption key */ - if (!aesCbcEncryptionKey.generate_keys((unsigned char *)decryptedKey, decryptedKeySize)) { - errno_t res = memset_s(decryptedKey, MAX_CEK_LENGTH, 0, MAX_CEK_LENGTH); + if (!aesCbcEncryptionKey.generate_keys((unsigned char *)decrypted_key, decrypted_key_size)) { + errno_t res = memset_s(decrypted_key, MAX_CEK_LENGTH, 0, MAX_CEK_LENGTH); securec_check_c(res, "\0", "\0"); - return -1; + return DERIVE_CEK_ERR; } - errno_t res = memset_s(decryptedKey, MAX_CEK_LENGTH, 0, MAX_CEK_LENGTH); + + errno_t res = memset_s(decrypted_key, MAX_CEK_LENGTH, 0, MAX_CEK_LENGTH); securec_check_c(res, "\0", "\0"); - if (dataProcessedSize <= 0) { - printf("ERROR(CLIENT): data processed size(%d) is invalid.\n", dataProcessedSize); - return -1; + if (data_proceeed_size <= 0) { + printf("ERROR(CLIENT): data processed size(%d) is invalid.\n", data_proceeed_size); + return INVALID_DATA_LEN; } - *data = (unsigned char *)malloc(dataProcessedSize); + *data = (unsigned char *)malloc(data_proceeed_size); if (!(*data)) { printf("ERROR(CLIENT): allocation failure.\n"); - return -1; + return CLIENT_HEAP_ERR; } - res = memset_s(*data, dataProcessedSize, 0, dataProcessedSize); + res = memset_s(*data, data_proceeed_size, 0, data_proceeed_size); securec_check_c(res, "\0", "\0"); int plainTextSize = - decrypt_data(dataProcessed, dataProcessedSize, aesCbcEncryptionKey, *data, column_encryption_algorithm); + decrypt_data(data_processed, data_proceeed_size, aesCbcEncryptionKey, *data, column_encryption_algorithm); if (plainTextSize <= 0) { printf("ERROR(CLIENT): failed to decrypt data.\n"); free(*data); *data = NULL; - return -1; + return DEC_DATA_ERR; } - res = memset_s((*data) + plainTextSize, dataProcessedSize - plainTextSize, '\0', dataProcessedSize - plainTextSize); + res = memset_s((*data) + plainTextSize, data_proceeed_size - plainTextSize, '\0', + data_proceeed_size - plainTextSize); securec_check_c(res, "\0", "\0"); - return plainTextSize; + *data_plain_size = plainTextSize; + return DEC_DATA_SUCCEED; } /* decrypting cek when can not get decrypted cek from cache */ -bool EncryptionColumnHookExecutor::deprocess_column_encryption_key(bool is_during_refresh_cache, - EncryptionGlobalHookExecutor *encryption_global_hook_executor, unsigned char *decryptedKey, - size_t *decryptedKeySize, const char *encrypted_key_value, const size_t *encrypted_key_value_size) const +bool EncryptionColumnHookExecutor::deprocess_column_encryption_key( + EncryptionGlobalHookExecutor *encryption_global_hook_executor, unsigned char *decrypted_key, + size_t *decrypted_key_size, const char *encrypted_key_value, const size_t *encrypted_key_value_size) const { size_t key_path_size(0); const char *key_path_str = NULL; @@ -232,26 +237,21 @@ bool EncryptionColumnHookExecutor::deprocess_column_encryption_key(bool is_durin CmkKeyStore keyStore = get_key_store_from_string(key_store_str); #if ((defined(ENABLE_MULTIPLE_NODES)) || (defined(ENABLE_PRIVATEGAUSS))) /* read cmk plain from gs_ktool */ - bool is_report_err = is_during_refresh_cache; unsigned char cmk_plain[DEFAULT_CMK_LEN + 1] = {0}; unsigned int cmk_id = 0; - /* - * to determine whether need to refresh cache and try PQexec(query) again : - * case 1 : report error directly - * case 2 : do not report error and try again - */ if (keyStore == CmkKeyStore::GS_KTOOL) { if (!kt_atoi(key_path_str, &cmk_id)) { return false; } - if (!read_cmk_plain(cmk_id, cmk_plain, is_report_err)) { + /* read cmk plain from gs_ktool */ + if (!read_cmk_plain(cmk_id, cmk_plain)) { return false; } if (!decrypt_cek_use_aes256((const unsigned char *)encrypted_key_value, *encrypted_key_value_size, cmk_plain, - decryptedKey, decryptedKeySize, is_report_err)) { + decrypted_key, decrypted_key_size)) { return false; } } else { @@ -263,15 +263,15 @@ bool EncryptionColumnHookExecutor::deprocess_column_encryption_key(bool is_durin KmsErrType err_type = SUCCEED; if (keyStore == CmkKeyStore::LOCALKMS) { - err_type = get_real_key_path_kms(key_path_str, &real_cmk_path); - if (err_type != KEY_FILES_EXIST) { + err_type = get_and_check_real_key_path(key_path_str, &real_cmk_path, READ_KEY_FILE); + if (err_type != SUCCEED) { handle_kms_err(err_type); return false; } if (decrypt_cek_use_rsa2048((const unsigned char *)encrypted_key_value, *encrypted_key_value_size, real_cmk_path.real_priv_cmk_path, sizeof(real_cmk_path.real_priv_cmk_path), - decryptedKey, decryptedKeySize) != SUCCEED) { + decrypted_key, decrypted_key_size) != SUCCEED) { return false; } } else { @@ -310,7 +310,6 @@ static bool encrypt_cek(const char *key_path_str, const unsigned char *cek_plain unsigned char *cek_ciph, size_t &cek_ciph_len) { /* read cmk plain from gs_ktool */ - bool is_report_err = true; unsigned char cmk_plain[DEFAULT_CMK_LEN + 1] = {0}; unsigned int cmk_id = 0; @@ -318,11 +317,11 @@ static bool encrypt_cek(const char *key_path_str, const unsigned char *cek_plain return false; } - if (!read_cmk_plain(cmk_id, cmk_plain, is_report_err)) { + if (!read_cmk_plain(cmk_id, cmk_plain)) { return false; } - if (!encrypt_cek_use_aes256(cek_plain, cek_plain_size, cmk_plain, cek_ciph, cek_ciph_len, is_report_err)) { + if (!encrypt_cek_use_aes256(cek_plain, cek_plain_size, cmk_plain, cek_ciph, cek_ciph_len)) { return false; } @@ -336,8 +335,8 @@ static bool encrypt_cek(const char *key_path_str, const unsigned char *cek_plain RealCmkPath real_cmk_path = {0}; KmsErrType err_type = SUCCEED; - err_type = get_real_key_path_kms(key_path_str, &real_cmk_path); - if (err_type != KEY_FILES_EXIST) { + err_type = get_and_check_real_key_path(key_path_str, &real_cmk_path, READ_KEY_FILE); + if (err_type != SUCCEED) { handle_kms_err(err_type); return false; } diff --git a/src/common/interfaces/libpq/client_logic_hooks/encryption_hooks/encryption_column_hook_executor.h b/src/common/interfaces/libpq/client_logic_hooks/encryption_hooks/encryption_column_hook_executor.h index a0b0b317b..34274b64c 100644 --- a/src/common/interfaces/libpq/client_logic_hooks/encryption_hooks/encryption_column_hook_executor.h +++ b/src/common/interfaces/libpq/client_logic_hooks/encryption_hooks/encryption_column_hook_executor.h @@ -40,6 +40,7 @@ #include "encrypt_decrypt.h" #include "aead_aes_hamc_enc_key.h" #include "postgres_ext.h" +#include "client_logic_processor/values_processor.h" #define MAX_DATATYPE_LEN 30 @@ -65,10 +66,10 @@ public: m_cek_keys = NULL; } int get_estimated_processed_data_size_impl(int data_size) const override; - int process_data_impl(bool is_during_refresh_cache, const ICachedColumn *cached_column, const unsigned char *data, + int process_data_impl(const ICachedColumn *cached_column, const unsigned char *data, int data_size, unsigned char *processed_data) override; - int deprocess_data_impl(bool is_during_refresh_cache, const unsigned char *data_processed, int data_processed_size, - unsigned char **data) override; + DecryptDataRes deprocess_data_impl(const unsigned char *data_processed, + int data_proceeed_size, unsigned char **data, int *data_plain_size) override; bool is_set_operation_allowed(const ICachedColumn *cached_column) const override; bool is_operator_allowed(const ICachedColumn *ce, const char * const op) const override; bool pre_create(PGClientLogic &column_encryption, const StringArgs &args, StringArgs &new_args) override; @@ -90,9 +91,9 @@ private: return; } - bool deprocess_column_encryption_key(bool is_during_refresh_cache, - EncryptionGlobalHookExecutor *encryption_global_hook_executor, unsigned char *decryptedKey, - size_t *decryptedKeySize, const char *encrypted_key_value, const size_t *encrypted_key_value_size) const; + bool deprocess_column_encryption_key(EncryptionGlobalHookExecutor *encryption_global_hook_executor, + unsigned char *decryptedKey, size_t *decryptedKeySize, const char *encrypted_key_value, + const size_t *encrypted_key_value_size) const; void set_cek_keys(const unsigned char *cek_keys, size_t cek_size) { if (cek_keys == NULL || cek_size == 0 || m_cek_keys == NULL) { diff --git a/src/common/interfaces/libpq/client_logic_hooks/encryption_hooks/encryption_global_hook_executor.cpp b/src/common/interfaces/libpq/client_logic_hooks/encryption_hooks/encryption_global_hook_executor.cpp index 06079d25f..7a763a6a1 100644 --- a/src/common/interfaces/libpq/client_logic_hooks/encryption_hooks/encryption_global_hook_executor.cpp +++ b/src/common/interfaces/libpq/client_logic_hooks/encryption_hooks/encryption_global_hook_executor.cpp @@ -43,8 +43,8 @@ static bool create_cmk(const char *key_path_str) KmsErrType err_type = SUCCEED; RsaKeyStr *rsa_key_str = NULL; - err_type = get_real_key_path_kms(key_path_str, &real_cmk_path); - if (err_type != KEY_FILES_NONEXIST) { + err_type = get_and_check_real_key_path(key_path_str, &real_cmk_path, CREATE_KEY_FILE); + if (err_type != SUCCEED) { handle_kms_err(err_type); return false; } @@ -74,6 +74,7 @@ static bool create_cmk(const char *key_path_str) free_rsa_str(rsa_key_str); return true; } + #endif bool EncryptionGlobalHookExecutor::pre_create(const StringArgs &args, @@ -166,32 +167,21 @@ bool EncryptionGlobalHookExecutor::pre_create(const StringArgs &args, } #if ((!defined(ENABLE_MULTIPLE_NODES)) && (!defined(ENABLE_PRIVATEGAUSS))) -bool EncryptionGlobalHookExecutor::delete_localkms_file() +bool EncryptionGlobalHookExecutor::get_key_path_by_cmk_name(char *key_path_buf, size_t buf_len) { - const char *key_store_str = NULL; const char *key_path_str = NULL; - size_t key_store_size = 0; size_t key_path_size = 0; - get_argument("key_store", &key_store_str, key_store_size); - get_argument("key_path", &key_path_str, key_path_size); - CmkKeyStore key_store = get_key_store_from_string(key_store_str); - RealCmkPath real_cmk_path = {0}; - KmsErrType err_type = SUCCEED; - if (key_store == CmkKeyStore::LOCALKMS) { - err_type = get_real_key_path_kms(key_path_str, &real_cmk_path); - if (err_type != KEY_FILES_EXIST) { - handle_kms_err(err_type); - return false; - } + error_t rc = 0; - if (!rm_cmk_store_file(real_cmk_path)) { - return false; - } - } else { + get_argument("key_path", &key_path_str, key_path_size); + if (strlen(key_path_str) > buf_len) { + printf("ERROR(CLIENT): key path value is too long.\n"); return false; - /* remain */ } - + + rc = strcpy_s(key_path_buf, buf_len, key_path_str); + securec_check_c(rc, "", ""); + return true; } #endif diff --git a/src/common/interfaces/libpq/client_logic_hooks/encryption_hooks/encryption_global_hook_executor.h b/src/common/interfaces/libpq/client_logic_hooks/encryption_hooks/encryption_global_hook_executor.h index 59f80ac0d..5af05af67 100644 --- a/src/common/interfaces/libpq/client_logic_hooks/encryption_hooks/encryption_global_hook_executor.h +++ b/src/common/interfaces/libpq/client_logic_hooks/encryption_hooks/encryption_global_hook_executor.h @@ -57,7 +57,7 @@ public: size_t existing_global_hook_executors_size) override; bool process(ColumnHookExecutor *column_hook_executor) override; #if ((!defined(ENABLE_MULTIPLE_NODES)) && (!defined(ENABLE_PRIVATEGAUSS))) - bool delete_localkms_file(); + bool get_key_path_by_cmk_name(char *key_path_buf, size_t buf_len); #endif private: diff --git a/src/common/interfaces/libpq/client_logic_hooks/encryption_hooks/gs_ktool_interface.cpp b/src/common/interfaces/libpq/client_logic_hooks/encryption_hooks/gs_ktool_interface.cpp index 1b6115c1c..ecec21ad7 100644 --- a/src/common/interfaces/libpq/client_logic_hooks/encryption_hooks/gs_ktool_interface.cpp +++ b/src/common/interfaces/libpq/client_logic_hooks/encryption_hooks/gs_ktool_interface.cpp @@ -92,8 +92,7 @@ bool create_cmk(unsigned int cmk_id) } if (cmk_len != DEFAULT_CMK_LEN) { - printf( - "ERROR(GS_KTOOL): Default cmk len is %u, but the len of cmk read from gs_ktool is %u.\n", + printf("ERROR(GS_KTOOL): Default cmk len is %u, but the len of cmk read from gs_ktool is %u.\n", DEFAULT_CMK_LEN, cmk_len); return false; } @@ -101,7 +100,7 @@ bool create_cmk(unsigned int cmk_id) return true; } -bool read_cmk_plain(const unsigned int cmk_id, unsigned char *cmk_plain, bool is_report_err) +bool read_cmk_plain(const unsigned int cmk_id, unsigned char *cmk_plain) { unsigned int cmk_len = 0; @@ -120,17 +119,14 @@ bool read_cmk_plain(const unsigned int cmk_id, unsigned char *cmk_plain, bool is /* case a : try to get cmk plain from cache */ if (!get_cmk_from_cache(cmk_cache_list, cmk_id, cmk_plain)) { /* case b : failed to get cmk plian from cache, try to get it from gs_ktool */ - if (!get_cmk_plain(cmk_id, cmk_plain, &cmk_len, is_report_err)) { + if (!get_cmk_plain(cmk_id, cmk_plain, &cmk_len)) { return false; } /* check the length of cmk plain read from gs_ktool */ if (cmk_len != DEFAULT_CMK_LEN) { - if (is_report_err) { - printf( - "ERROR(GS_KTOOL): Default cmk len is %u, but the len of cmk read from gs_ktool is %u.\n", - DEFAULT_CMK_LEN, cmk_len); - } + printf("ERROR(CLIENT): Default cmk len is %u, but the len of cmk read from gs_ktool is %u.\n", + DEFAULT_CMK_LEN, cmk_len); return false; } @@ -141,7 +137,7 @@ bool read_cmk_plain(const unsigned int cmk_id, unsigned char *cmk_plain, bool is } bool encrypt_cek_use_aes256(const unsigned char *cek_plain, size_t cek_plain_size, unsigned char *cmk_plain, - unsigned char *cek_ciph, size_t &cek_ciph_len, bool is_report_err) + unsigned char *cek_ciph, size_t &cek_ciph_len) { /* use cmk_plian to generate derived_cmk_plain */ AeadAesHamcEncKey aes_and_hmac_cek = AeadAesHamcEncKey(cmk_plain, (size_t)DEFAULT_CMK_LEN); @@ -151,28 +147,24 @@ bool encrypt_cek_use_aes256(const unsigned char *cek_plain, size_t cek_plain_siz /* encrypt cek with cmk */ cek_ciph_len = encrypt_data(cek_plain, cek_plain_size, *p_aes_and_hmac_cek, enc_type, cek_ciph, AEAD_AES_256_CBC_HMAC_SHA256); - if (cek_ciph_len <= 0 && is_report_err) { - if (is_report_err) { - printf("ERROR(CLIENT): Fail to encrypt cek with cmk.\n"); - } + if (cek_ciph_len <= 0) { + printf("ERROR(CLIENT): Fail to encrypt cek with cmk.\n"); return false; } return true; } -bool decrypt_cek_use_aes256(const unsigned char *cek_ciphe, size_t cek_ciphe_size, unsigned char *cmk_plain, - unsigned char *cek_plain, size_t *cek_plain_len, bool is_report_err) +bool decrypt_cek_use_aes256(const unsigned char *cek_cipher, size_t cek_cipher_size, unsigned char *cmk_plain, + unsigned char *cek_plain, size_t *cek_plain_len) { AeadAesHamcEncKey derived_cmk_plain = AeadAesHamcEncKey(cmk_plain, (size_t)DEFAULT_CMK_LEN); AeadAesHamcEncKey *p_derived_cmk_plain = &derived_cmk_plain; *cek_plain_len = - decrypt_data(cek_ciphe, cek_ciphe_size, *p_derived_cmk_plain, cek_plain, AEAD_AES_256_CBC_HMAC_SHA256); + decrypt_data(cek_cipher, cek_cipher_size, *p_derived_cmk_plain, cek_plain, AEAD_AES_256_CBC_HMAC_SHA256); if (*cek_plain_len <= 0) { - if (is_report_err) { - printf("ERROR(CLIENT): Fail to dencrypt cek with cmk.\n"); - } + printf("ERROR(CLIENT): Fail to dencrypt cek with cmk.\n"); return false; } diff --git a/src/common/interfaces/libpq/client_logic_hooks/encryption_hooks/gs_ktool_interface.h b/src/common/interfaces/libpq/client_logic_hooks/encryption_hooks/gs_ktool_interface.h index 62a41df25..fbf5ad367 100644 --- a/src/common/interfaces/libpq/client_logic_hooks/encryption_hooks/gs_ktool_interface.h +++ b/src/common/interfaces/libpq/client_logic_hooks/encryption_hooks/gs_ktool_interface.h @@ -35,12 +35,12 @@ extern bool kt_check_algorithm_type(CmkAlgorithm algo_type); extern bool kt_atoi(const char *cmk_id_str, unsigned int *cmk_id); extern bool create_cmk(unsigned int cmk_id); -extern bool read_cmk_plain(const unsigned int cmk_id, unsigned char *cmk_plain, bool is_report_err); +extern bool read_cmk_plain(const unsigned int cmk_id, unsigned char *cmk_plain); extern bool encrypt_cek_use_aes256(const unsigned char *cek_plain, size_t cek_plain_size, unsigned char *cmk_plain, - unsigned char *cek_ciph, size_t &cek_ciph_size, bool is_report_err); -extern bool decrypt_cek_use_aes256(const unsigned char *cek_ciphe, size_t cek_ciphe_size, unsigned char *cmk_plain, - unsigned char *cek_plain, size_t *cek_plain_len, bool is_report_err); + unsigned char *cek_ciph, size_t &cek_ciph_size); +extern bool decrypt_cek_use_aes256(const unsigned char *cek_cipher, size_t cek_cipher_size, unsigned char *cmk_plain, + unsigned char *cek_plain, size_t *cek_plain_len); extern void free_cmk_plain_cache(); #endif \ No newline at end of file diff --git a/src/common/interfaces/libpq/client_logic_hooks/encryption_hooks/localkms_gen_cmk.cpp b/src/common/interfaces/libpq/client_logic_hooks/encryption_hooks/localkms_gen_cmk.cpp index 977b3c4b5..dc03ec7e2 100644 --- a/src/common/interfaces/libpq/client_logic_hooks/encryption_hooks/localkms_gen_cmk.cpp +++ b/src/common/interfaces/libpq/client_logic_hooks/encryption_hooks/localkms_gen_cmk.cpp @@ -47,7 +47,9 @@ static pthread_mutex_t g_env_lock; static char *get_env_value(const char *name); static bool is_contain_danger_char(const char *path_value); +static bool is_contain_unsupport_char(const char *key_path_value); static bool set_global_env_value(); +static void rm_one_file(const char *real_path); #define free_safely(ptr) \ { \ @@ -64,6 +66,7 @@ static char *get_env_value(const char *name) return ret; } +/* to check environment value */ static bool is_contain_danger_char(const char *path_value) { const char danger_char_list[] = {'|', ';', '&', '$', '<', '>', '`', '\\', '\'', '\"', '{', '}', '(', ')', '[',']', @@ -81,31 +84,64 @@ static bool is_contain_danger_char(const char *path_value) return false; } +/* to check KEY_PATH value : only support 0-9, a-z, A_Z, '_', '.', '-' */ +static bool is_contain_unsupport_char(const char *key_path_value) +{ + char cur_char = 0; + const char legal_symbol[] = {'_', '.', '-'}; + + for (size_t i = 0; i < strlen(key_path_value); i++) { + cur_char = key_path_value[i]; + if (cur_char >= '0' && cur_char <= '9') { + continue; + } else if (cur_char >= 'A' && cur_char <= 'Z') { + continue; + } else if (cur_char >= 'a' && cur_char <= 'z') { + continue; + } else if (strchr(legal_symbol, cur_char) != NULL) { + continue; + } else { + printf("ERROR(CLIENT): key_path value '%s' contain invalid charachter '%c'.\n", key_path_value, cur_char); + return true; + } + } + + return false; +} + /* - * RSA keys generated by LOCALKMS are stored under the path :$LOCAL_KMS_PATH/ - * but, if $LOCAL_KMS_PATH cannot be found, we will try to find $GAUSSHOME + * RSA keys generated by LOCALKMS are stored under the path :$LOCALKMS_FILE_PATH/ + * but, if $LOCALKMS_FILE_PATH cannot be found, we will try to find $GAUSSHOME */ static bool set_global_env_value() { char *local_kms_path = NULL; + char tmp_gausshome_buf[PATH_MAX] = {0}; errno_t rc = 0; + bool is_get_localkms_env = false; - local_kms_path = get_env_value("LOCAL_KMS_PATH"); + local_kms_path = get_env_value("LOCALKMS_FILE_PATH"); if (local_kms_path == NULL || realpath(local_kms_path, g_env_value) == NULL) { - /* try to get GAUSSHOME */ + /* fail to get LOCALKMS_FILE_PATH, then try to get GAUSSHOME */ local_kms_path = get_env_value("GAUSSHOME"); - /* fail to get GAUSSHOME and LOCAL_KMS_PATH */ - if (local_kms_path == NULL || realpath(local_kms_path, g_env_value) == NULL) { - printf("ERROR(CLIENT): failed to get environment value : %s.\n", "LOCAL_KMS_PATH"); - return false; - } + if (local_kms_path != NULL) { + rc = sprintf_s(tmp_gausshome_buf, sizeof(tmp_gausshome_buf), "%s/%s", local_kms_path, "/etc/localkms"); + securec_check_ss_c(rc, "", ""); - /* fail to get LOCAL_KMS_PATH but get GAUSSHOME */ - rc = sprintf_s(g_env_value, sizeof(g_env_value), "%s/%s", local_kms_path, "/etc/localkms"); - securec_check_ss_c(rc, "", ""); + if (realpath(tmp_gausshome_buf, g_env_value) != NULL) { + is_get_localkms_env = true; + } + } + } else { + is_get_localkms_env = true; } - if (is_contain_danger_char(local_kms_path)) { + if (!is_get_localkms_env) { + printf("ERROR(CLIENT): failed to get environment value : %s.\n", "LOCALKMS_FILE_PATH"); + return false; + } + + if (is_contain_danger_char(g_env_value)) { return false; } @@ -122,31 +158,81 @@ bool check_algo_type_kms(CmkAlgorithm algo_type) } } -/* @function : check the legitimacy of the KEY_PATH and get the real key path of rsa key store file + +KmsErrType check_file_exist(const char *real_file_path, CheckKeyFileType chk_type) +{ + bool is_file_exist = false; + struct stat statbuf; + + is_file_exist = (lstat(real_file_path, &statbuf) < 0) ? false : true; + if (chk_type == CREATE_KEY_FILE && is_file_exist) { + printf("ERROR(CLIENT): cannot create file, the file '%s' already exists.\n", real_file_path); + return KEY_FILES_EXIST; + } else if (chk_type == READ_KEY_FILE && !is_file_exist) { + printf("ERROR(CLIENT): cannot read file, failed to find file '%s'.\n", real_file_path); + return KEY_FILES_NONEXIST; + } + + return SUCCEED; +} + +#if ((!defined(ENABLE_MULTIPLE_NODES)) && (!defined(ENABLE_PRIVATEGAUSS))) +void localkms_post_process(CEQueryType qry_type, ExecStatusType backend_exec_ret, const char *query_args) +{ + RealCmkPath real_cmk_path = {0}; + KmsErrType err_type = FAILED; + + switch (qry_type) { + case CE_CREATE_CMK: + if (backend_exec_ret == PGRES_FATAL_ERROR) { + err_type = get_and_check_real_key_path(query_args, &real_cmk_path, REMOVE_KEY_FILE); + if (err_type != SUCCEED) { + handle_kms_err(err_type); + break; + } + rm_cmk_store_file(real_cmk_path); + } + break; + case CE_DROP_CMK: + if (backend_exec_ret == PGRES_TUPLES_OK || backend_exec_ret == PGRES_COMMAND_OK) { + err_type = get_and_check_real_key_path(query_args, &real_cmk_path, REMOVE_KEY_FILE); + if (err_type != SUCCEED) { + handle_kms_err(err_type); + break; + } + rm_cmk_store_file(real_cmk_path); + } + break; + default: + break; + } +} +#endif + +/* + * @function : check the legitimacy of the KEY_PATH and get the real key path of rsa key store file. + * for each cmk_path, we will check four file : $LOCALKMS_FILE_PATH/cmk_path.pub, cmk_path.pub.rand, + * cmk_path.priv and cmk_path.priv.rand. * @param cmk_path : KEY_PATH parsed from user input. - * @param real_pub_cmk_path : the real rsa public key file path - * @param real_priv_cmk_path : the real private key file path - * the caller should make sure the buffer length of real_pub_cmk_path and real_priv_cmk_path is PATH_MAX + * @param real_cmk_path : real path of KEY_PATH. real_path = {real_public_cmk_path, real_private_cmk_path} + * @param chk_type : + * (1) while creating new file (real_path), we should make sure real_path non-exist + * (2) while deleting existing file, we will not check weather it exists */ -KmsErrType get_real_key_path_kms(const char *cmk_path, RealCmkPath *real_cmk_path) +KmsErrType get_and_check_real_key_path(const char *cmk_path, RealCmkPath *real_cmk_path, CheckKeyFileType chk_type) { error_t rc = 0; - char tmp_pub_cmk_path_buf[PATH_MAX] = {0}; - char tmp_priv_cmk_path_buf[PATH_MAX] = {0}; + KmsErrType chk_file_ret = FAILED; char tmp_pub_rand_path[PATH_MAX] = {0}; - char tmp_priv_rand_path[PATH_MAX] = {0}; - bool is_pub_file_exist = false; - bool is_priv_file_exist = false; - bool is_pub_rand_exist = false; - bool is_priv_rand_exist = false; - + char tmp_priv_rand_path[PATH_MAX] = {0}; + if (strlen(cmk_path) < MIN_KEY_PATH_LEN) { return PATH_TOO_SHORT; } else if (strlen(cmk_path) > MAX_KEY_PATH_LEN) { return PATH_TOO_LONG; } - if (is_contain_danger_char(cmk_path)) { + if (is_contain_unsupport_char(cmk_path)) { return CONTAIN_INVALID_CHAR; } @@ -155,56 +241,57 @@ KmsErrType get_real_key_path_kms(const char *cmk_path, RealCmkPath *real_cmk_pat return FAILED; } } - - rc = sprintf_s(tmp_pub_cmk_path_buf, sizeof(tmp_pub_cmk_path_buf), "%s/%s.pub", g_env_value, cmk_path); - securec_check_ss_c(rc, "", ""); - rc = sprintf_s(tmp_priv_cmk_path_buf, sizeof(tmp_priv_cmk_path_buf), "%s/%s.priv", g_env_value, cmk_path); - securec_check_ss_c(rc, "", ""); - is_pub_file_exist = (realpath(tmp_pub_cmk_path_buf, real_cmk_path->real_pub_cmk_path) != NULL); - is_priv_file_exist = (realpath(tmp_priv_cmk_path_buf, real_cmk_path->real_priv_cmk_path) != NULL); - /* having known the length of tmp_pub_cmk_path_buf, we can reuse it to store the path of .rand file path */ - rc = strcat_s(tmp_pub_cmk_path_buf, sizeof(tmp_pub_cmk_path_buf), ".rand"); + rc = sprintf_s(real_cmk_path->real_pub_cmk_path, PATH_MAX, "%s/%s.pub", g_env_value, cmk_path); securec_check_ss_c(rc, "", ""); - rc = strcat_s(tmp_priv_cmk_path_buf, sizeof(tmp_priv_cmk_path_buf), ".rand"); + rc = sprintf_s(real_cmk_path->real_priv_cmk_path, PATH_MAX, "%s/%s.priv", g_env_value, cmk_path); + securec_check_ss_c(rc, "", ""); + rc = sprintf_s(tmp_pub_rand_path, PATH_MAX, "%s.rand", real_cmk_path->real_pub_cmk_path); + securec_check_ss_c(rc, "", ""); + rc = sprintf_s(tmp_priv_rand_path, PATH_MAX, "%s.rand", real_cmk_path->real_priv_cmk_path); securec_check_ss_c(rc, "", ""); - is_pub_rand_exist = (realpath(tmp_pub_cmk_path_buf, tmp_pub_rand_path) != NULL); - is_priv_rand_exist = (realpath(tmp_priv_cmk_path_buf, tmp_priv_rand_path) != NULL); - if (is_priv_file_exist && is_priv_file_exist && is_pub_rand_exist && is_priv_rand_exist) { - return KEY_FILES_EXIST; - } else { - return KEY_FILES_NONEXIST; + chk_file_ret = check_file_exist(real_cmk_path->real_pub_cmk_path, chk_type); + if (chk_file_ret != SUCCEED) { + return chk_file_ret; } + chk_file_ret = check_file_exist(real_cmk_path->real_priv_cmk_path, chk_type); + if (chk_file_ret != SUCCEED) { + return chk_file_ret; + } + chk_file_ret = check_file_exist(tmp_pub_rand_path, chk_type); + if (chk_file_ret != SUCCEED) { + return chk_file_ret; + } + chk_file_ret = check_file_exist(tmp_priv_rand_path, chk_type); + if (chk_file_ret != SUCCEED) { + return chk_file_ret; + } + + return SUCCEED; } -bool rm_one_file(const char *real_path) +static void rm_one_file(const char *real_path) { if (remove(real_path) != 0) { printf("ERROR(CLIENT): failed to remove file '%s'\n", real_path); - return false; } - - return true; } -bool rm_cmk_store_file(RealCmkPath real_cmk_path) +void rm_cmk_store_file(RealCmkPath real_cmk_path) { - bool ret = true; errno_t rc = 0; - ret = ret && rm_one_file(real_cmk_path.real_pub_cmk_path); - ret = ret && rm_one_file(real_cmk_path.real_priv_cmk_path); + rm_one_file(real_cmk_path.real_pub_cmk_path); + rm_one_file(real_cmk_path.real_priv_cmk_path); /* having known the length of real_pub_cmk_path, we can reuse it to store the path of .rand file path */ rc = strcat_s(real_cmk_path.real_pub_cmk_path, sizeof(real_cmk_path.real_pub_cmk_path), ".rand"); securec_check_ss_c(rc, "", ""); rc = strcat_s(real_cmk_path.real_priv_cmk_path, sizeof(real_cmk_path.real_priv_cmk_path), ".rand"); securec_check_ss_c(rc, "", ""); - ret = ret && rm_one_file(real_cmk_path.real_pub_cmk_path); - ret = ret && rm_one_file(real_cmk_path.real_priv_cmk_path); - - return ret; + rm_one_file(real_cmk_path.real_pub_cmk_path); + rm_one_file(real_cmk_path.real_priv_cmk_path); } /* @@ -238,7 +325,7 @@ KmsErrType create_file_and_write(const char *real_path, const unsigned char *con } /* the input file must contain a header which store the size value of file content */ -KmsErrType read_content_from_file(char *real_path, unsigned char *buf, const size_t buf_len, size_t *content_len) +KmsErrType read_content_from_file(const char *real_path, unsigned char *buf, const size_t buf_len, size_t *content_len) { int fd = 0; char header[KEY_FILE_HEADER_LEN] = {0}; @@ -451,7 +538,7 @@ KmsErrType write_cmk_plain_kms(char *real_cmk_path, const size_t path_len, const return create_file_and_write(real_cmk_path, iv_salt_buf, sizeof(iv_salt_buf), true); } -KmsErrType read_iv_and_salt(char *real_cmk_path, unsigned char *iv, const size_t iv_len, unsigned char *salt, +KmsErrType read_iv_and_salt(const char *real_cmk_path, unsigned char *iv, const size_t iv_len, unsigned char *salt, const size_t salt_len) { errno_t rc = 0; @@ -480,7 +567,7 @@ KmsErrType read_iv_and_salt(char *real_cmk_path, unsigned char *iv, const size_t return SUCCEED; } -KmsErrType read_cmk_plain_kms(char *real_cmk_path, unsigned char *cmk_plain, size_t *plain_len) +KmsErrType read_cmk_plain_kms(const char *real_cmk_path, unsigned char *cmk_plain, size_t *plain_len) { unsigned char iv[KEY_METERIAL_LEN] = {0}; unsigned char salt[KEY_METERIAL_LEN] = {0}; @@ -516,8 +603,8 @@ KmsErrType read_cmk_plain_kms(char *real_cmk_path, unsigned char *cmk_plain, siz return SUCCEED; } -KmsErrType encrypt_cek_use_ras2048(const unsigned char *cek_plain, const size_t plain_len, char *real_pub_cmk_path, - const size_t path_len, unsigned char *cek_cipher, size_t &cipher_len) +KmsErrType encrypt_cek_use_ras2048(const unsigned char *cek_plain, const size_t plain_len, + const char *real_pub_cmk_path, const size_t path_len, unsigned char *cek_cipher, size_t &cipher_len) { BIO *cmk_plain_bio = NULL; int bio_write_len = 0; @@ -571,8 +658,8 @@ KmsErrType encrypt_cek_use_ras2048(const unsigned char *cek_plain, const size_t return SUCCEED; } -KmsErrType decrypt_cek_use_rsa2048(const unsigned char *cek_cipher, const size_t cipher_len, char *real_priv_cmk_path, - const size_t path_len, unsigned char *cek_plain, size_t *cek_plain_len) +KmsErrType decrypt_cek_use_rsa2048(const unsigned char *cek_cipher, const size_t cipher_len, + const char *real_priv_cmk_path, const size_t path_len, unsigned char *cek_plain, size_t *cek_plain_len) { BIO *cmk_plain_bio = NULL; int bio_write_len = 0; @@ -628,14 +715,6 @@ KmsErrType decrypt_cek_use_rsa2048(const unsigned char *cek_cipher, const size_t void handle_kms_err(KmsErrType err_type) { switch (err_type) { - case KEY_FILES_EXIST: - printf("ERROR(CLIENT): please make sure there are any file named KEY_PATH.pub(.rand)" - " or KEY_PATH.priv(.rand) under the path $LOCAL_KMS_PATH.\n"); - break; - case KEY_FILES_NONEXIST: - printf("ERROR(CLIENT): please make sure KEY_PATH.pub(.rand) and KEY_PATH.priv(.rand)" - " exist under the path $LOCAL_KMS_PATH.\n"); - break; case PATH_TOO_LONG: printf("ERROR(CLIENT): the key path length is too long.\n"); break; diff --git a/src/common/interfaces/libpq/client_logic_hooks/encryption_hooks/localkms_gen_cmk.h b/src/common/interfaces/libpq/client_logic_hooks/encryption_hooks/localkms_gen_cmk.h index 8c2c8f043..581b9505e 100644 --- a/src/common/interfaces/libpq/client_logic_hooks/encryption_hooks/localkms_gen_cmk.h +++ b/src/common/interfaces/libpq/client_logic_hooks/encryption_hooks/localkms_gen_cmk.h @@ -30,6 +30,9 @@ #include #include #include "client_logic/client_logic_enums.h" +#if ((!defined(ENABLE_MULTIPLE_NODES)) && (!defined(ENABLE_PRIVATEGAUSS))) +#include "libpq/cl_state.h" +#endif const int MAX_KEY_PATH_LEN = 64; const int MIN_KEY_PATH_LEN = 1; @@ -78,31 +81,43 @@ typedef struct RealCmkPath { char real_priv_cmk_path[PATH_MAX]; } RealCmkPath; +typedef enum { + CREATE_KEY_FILE, + READ_KEY_FILE, + REMOVE_KEY_FILE +} CheckKeyFileType; + +#if ((!defined(ENABLE_MULTIPLE_NODES)) && (!defined(ENABLE_PRIVATEGAUSS))) +extern void localkms_post_process(CEQueryType qry_type, ExecStatusType backend_exec_ret, const char *query_args); +#endif + /* safe check */ extern bool check_algo_type_kms(CmkAlgorithm algo_type); -extern KmsErrType get_real_key_path_kms(const char *cmk_path, RealCmkPath *real_cmk_path); +extern KmsErrType check_file_exist(const char *real_file_path, CheckKeyFileType chk_type); +extern KmsErrType get_and_check_real_key_path(const char *cmk_path, RealCmkPath *real_cmk_path, + CheckKeyFileType chk_type); /* read and write files that store the ciphers of keys */ extern KmsErrType create_file_and_write(const char *real_path, const unsigned char *content, const size_t content_len, bool is_write_header); -extern KmsErrType read_content_from_file(char *real_path, unsigned char *buf, const size_t buf_len, size_t *content_len); -extern bool rm_one_file(const char *real_cmk_path); -extern bool rm_cmk_store_file(RealCmkPath real_cmk_path); +extern KmsErrType read_content_from_file(const char *real_path, unsigned char *buf, const size_t buf_len, + size_t *content_len); +extern void rm_cmk_store_file(RealCmkPath real_cmk_path); /* generate cmk, encrypt cmk and write cmk cipher to file, or read cmk cipher from file and decrypt them */ extern RsaKeyStr *generate_cmk_kms(); extern void free_rsa_str(RsaKeyStr *rsa_key_str); extern KmsErrType write_cmk_plain_kms(char *real_cmk_path, const size_t path_len, const unsigned char *cmk_plain, const size_t plain_len); -extern KmsErrType read_iv_and_salt(char *real_cmk_path, unsigned char *iv, const size_t iv_len, unsigned char *salt, - const size_t salt_len); -extern KmsErrType read_cmk_plain_kms(char *real_cmk_path, unsigned char *cmk_plain, size_t *plain_len); +extern KmsErrType read_iv_and_salt(const char *real_cmk_path, unsigned char *iv, const size_t iv_len, + unsigned char *salt, const size_t salt_len); +extern KmsErrType read_cmk_plain_kms(const char *real_cmk_path, unsigned char *cmk_plain, size_t *plain_len); /* encrypt cek with cmk plain */ extern KmsErrType encrypt_cek_use_ras2048(const unsigned char *cek_plain, const size_t plain_len, - char *real_pub_cmk_path, const size_t path_len, unsigned char *cek_cipher, size_t &cipher_len); + const char *real_pub_cmk_path, const size_t path_len, unsigned char *cek_cipher, size_t &cipher_len); extern KmsErrType decrypt_cek_use_rsa2048(const unsigned char *cek_cipher, const size_t cipher_len, - char *real_priv_cmk_path, const size_t path_len, unsigned char *cek_plain, size_t *cek_plain_len); + const char *real_priv_cmk_path, const size_t path_len, unsigned char *cek_plain, size_t *cek_plain_len); /* handle kms error */ extern void handle_kms_err(KmsErrType err_type); diff --git a/src/common/interfaces/libpq/client_logic_hooks/global_hook_executor.cpp b/src/common/interfaces/libpq/client_logic_hooks/global_hook_executor.cpp index f9d9e5457..bef2c0236 100644 --- a/src/common/interfaces/libpq/client_logic_hooks/global_hook_executor.cpp +++ b/src/common/interfaces/libpq/client_logic_hooks/global_hook_executor.cpp @@ -47,7 +47,7 @@ bool GlobalHookExecutor::set_deletion_expected() } #if ((!defined(ENABLE_MULTIPLE_NODES)) && (!defined(ENABLE_PRIVATEGAUSS))) -bool GlobalHookExecutor::delete_localkms_file() +bool GlobalHookExecutor::get_key_path_by_cmk_name(char *key_path_buf, size_t buf_len) { return true; } diff --git a/src/common/interfaces/libpq/client_logic_hooks/global_hook_executor.h b/src/common/interfaces/libpq/client_logic_hooks/global_hook_executor.h index 5e7685f67..3fc3745fe 100644 --- a/src/common/interfaces/libpq/client_logic_hooks/global_hook_executor.h +++ b/src/common/interfaces/libpq/client_logic_hooks/global_hook_executor.h @@ -69,7 +69,7 @@ public: virtual bool set_deletion_expected(); #if ((!defined(ENABLE_MULTIPLE_NODES)) && (!defined(ENABLE_PRIVATEGAUSS))) - virtual bool delete_localkms_file(); + virtual bool get_key_path_by_cmk_name(char *key_path_buf, size_t buf_len); #endif /* * BUILT-IN FUNCTIONS diff --git a/src/common/interfaces/libpq/client_logic_hooks/hooks_factory.cpp b/src/common/interfaces/libpq/client_logic_hooks/hooks_factory.cpp index 3c6170907..4110fb971 100644 --- a/src/common/interfaces/libpq/client_logic_hooks/hooks_factory.cpp +++ b/src/common/interfaces/libpq/client_logic_hooks/hooks_factory.cpp @@ -30,7 +30,12 @@ // DEFINE NEW HOOKS HERE static GlobalHookExecutor *EncryptionGlobalHookExecutorCreator(PGClientLogic &client_logic) { - return new EncryptionGlobalHookExecutor(client_logic); + GlobalHookExecutor *encryption_global_hook = new (std::nothrow) EncryptionGlobalHookExecutor(client_logic); + if (encryption_global_hook == NULL) { + fprintf(stderr, "failed to new GlobalHookExecutor object\n"); + exit(EXIT_FAILURE); + } + return encryption_global_hook; } static void EncryptionGlobalHookExecutorDeleter(GlobalHookExecutor *global_hook_executor) @@ -40,7 +45,13 @@ static void EncryptionGlobalHookExecutorDeleter(GlobalHookExecutor *global_hook_ static ColumnHookExecutor *EncryptionColumnHookExecutorCreator(GlobalHookExecutor *global_hook_executor, Oid oid) { - return new EncryptionColumnHookExecutor(global_hook_executor, oid); + ColumnHookExecutor *encryption_column_hook = + new (std::nothrow) EncryptionColumnHookExecutor(global_hook_executor, oid); + if (encryption_column_hook == NULL) { + fprintf(stderr, "failed to new ColumnHookExecutor object\n"); + exit(EXIT_FAILURE); + } + return encryption_column_hook; } static void EncryptionColumnHookExecutorDeleter(ColumnHookExecutor *column_hook_executor) diff --git a/src/common/interfaces/libpq/client_logic_hooks/hooks_manager.cpp b/src/common/interfaces/libpq/client_logic_hooks/hooks_manager.cpp index 3f5e9a1d8..ec98a9400 100644 --- a/src/common/interfaces/libpq/client_logic_hooks/hooks_manager.cpp +++ b/src/common/interfaces/libpq/client_logic_hooks/hooks_manager.cpp @@ -36,6 +36,7 @@ #include "client_logic_cache/column_hook_executors_list.h" #include "encryption_column_hook_executor.h" #include "encryption_global_hook_executor.h" +#include "client_logic_processor/values_processor.h" /* DDL */ GlobalHookExecutorSptr HooksManager::GlobalSettings::create_global_hook_executor(const char *function_name, @@ -119,7 +120,7 @@ int HooksManager::get_estimated_processed_data_size(const ColumnHookExecutorsLis } return total + 1; /* 1 is for the byte counting how many executors run */ } -int HooksManager::process_data(bool is_during_refresh_cache, const ICachedColumn *cached_column, +int HooksManager::process_data(const ICachedColumn *cached_column, ColumnHookExecutorsList *column_hook_executors_list, const unsigned char *data, int data_size, unsigned char *processed_data) { @@ -133,8 +134,7 @@ int HooksManager::process_data(bool is_during_refresh_cache, const ICachedColumn size_t column_hook_executors_list_size = column_hook_executors_list->size(); for (size_t i = 0; i < column_hook_executors_list_size; ++i) { ColumnHookExecutor *column_hook_executor = column_hook_executors_list->at(i); - ret = column_hook_executor->process_data(is_during_refresh_cache, cached_column, data, data_size, - processed_data + 1); + ret = column_hook_executor->process_data(cached_column, data, data_size, processed_data + 1); if (ret < 0) { return -1; } else { @@ -144,22 +144,24 @@ int HooksManager::process_data(bool is_during_refresh_cache, const ICachedColumn return total; } -int HooksManager::deprocess_data(PGClientLogic &client_logic, const unsigned char *data_processed, - int data_processed_size, unsigned char **data) +DecryptDataRes HooksManager::deprocess_data(PGClientLogic &client_logic, const unsigned char *data_processed, + int data_processed_size, unsigned char **data, int *data_plain_size) { + DecryptDataRes dec_dat_res = DEC_DATA_ERR; + size_t column_settings_id_cnt(0); if (!data_processed || data_processed_size <= 0) { if (client_logic.m_conn->verbosity == PQERRORS_VERBOSE) { fprintf(stderr, "deprocess empty data\n"); } - return 0; + return DEC_DATA_ERR; } /* column settings count (HEADER) */ column_settings_id_cnt = (size_t)*data_processed++; if (column_settings_id_cnt < 1) { fprintf(stderr, "invalid number of column encryption key: %zu\n", column_settings_id_cnt); - return -1; + return DECRYPT_CEK_ERR; } --data_processed_size; @@ -177,22 +179,22 @@ int HooksManager::deprocess_data(PGClientLogic &client_logic, const unsigned cha ColumnHookExecutor *column_hook_executor = CacheLoader::get_instance().get_column_hook_executor(column_setting_oid); if (!column_hook_executor) { - return -1; + return CLIENT_HEAP_ERR; } /* deprocess */ - int data_size = column_hook_executor->deprocess_data(client_logic.isDuringRefreshCacheOnError, - data_processed, data_processed_size, data); - if (data_size < 0) { - return -1; + dec_dat_res = column_hook_executor->deprocess_data(data_processed, data_processed_size, + data, data_plain_size); + if (dec_dat_res != DEC_DATA_SUCCEED) { + return dec_dat_res; } /* next iteration will continue from the same point */ data_processed = *data; - data_processed_size = data_size; + data_processed_size = *data_plain_size; } - return data_processed_size; + return DEC_DATA_SUCCEED; } bool HooksManager::is_operator_allowed(const ICachedColumn *ce, const char * const op) @@ -282,9 +284,9 @@ bool HooksManager::ColumnSettings::set_deletion_expected(const char *object_name } #if ((!defined(ENABLE_MULTIPLE_NODES)) && (!defined(ENABLE_PRIVATEGAUSS))) -bool HooksManager::GlobalSettings::delete_localkms_file(GlobalHookExecutor *global_hook_executor) +bool HooksManager::GlobalSettings::get_key_path_by_cmk_name(GlobalHookExecutor *global_hook_executor, + char *key_path_buf, size_t buf_len) { - return global_hook_executor->delete_localkms_file(); + return global_hook_executor->get_key_path_by_cmk_name(key_path_buf, buf_len); } -#endif - +#endif \ No newline at end of file diff --git a/src/common/interfaces/libpq/client_logic_hooks/hooks_manager.h b/src/common/interfaces/libpq/client_logic_hooks/hooks_manager.h index fe0548a87..4861addfb 100644 --- a/src/common/interfaces/libpq/client_logic_hooks/hooks_manager.h +++ b/src/common/interfaces/libpq/client_logic_hooks/hooks_manager.h @@ -28,6 +28,7 @@ #include #include +#include "client_logic_processor/values_processor.h" typedef unsigned int Oid; class PGClientLogic; @@ -55,7 +56,8 @@ public: static bool post_create(PGClientLogic &clientlogic, const char *function_name, StringArgs &args); static bool set_deletion_expected(const char *object_name, bool is_schema); #if ((!defined(ENABLE_MULTIPLE_NODES)) && (!defined(ENABLE_PRIVATEGAUSS))) - static bool delete_localkms_file(GlobalHookExecutor *global_hook_executor); + static bool get_key_path_by_cmk_name(GlobalHookExecutor *global_hook_executor, char *key_path_buf, + size_t buf_len); #endif }; @@ -79,17 +81,16 @@ public: /* process the data */ static int get_estimated_processed_data_size(const ColumnHookExecutorsList *hookExecutors, int dataSize); - static int process_data(bool is_during_refresh_cache, const ICachedColumn *cachedColumn, - ColumnHookExecutorsList *column_hook_executors_list, const unsigned char *data, int dataSize, - unsigned char *processedData); + static int process_data(const ICachedColumn *cachedColumn, ColumnHookExecutorsList *column_hook_executors_list, + const unsigned char *data, int dataSize, unsigned char *processedData); /* * DML REPONSE */ /* the dataProcessed should be encoded with some of the arguments in the begining of the data */ - static int deprocess_data(PGClientLogic &clientlogic, const unsigned char *dataProcessed, int dataProcessedsize, - unsigned char **data); + static DecryptDataRes deprocess_data(PGClientLogic &clientlogic, const unsigned char *dataProcessed, + int dataProcessedsize, unsigned char **data, int *data_plain_size); /* UNION, IN, NOT IN, INTERSECT, EXCEPT */ static bool is_set_operation_allowed(const ICachedColumn *ce); diff --git a/src/common/interfaces/libpq/client_logic_processor/Makefile b/src/common/interfaces/libpq/client_logic_processor/Makefile old mode 100644 new mode 100755 index 166d313c4..da656f581 --- a/src/common/interfaces/libpq/client_logic_processor/Makefile +++ b/src/common/interfaces/libpq/client_logic_processor/Makefile @@ -15,7 +15,7 @@ top_builddir = ../../../../../ # shared library parameters NAME= client_logic_processor -override CPPFLAGS := -DFRONTEND -DFRONTEND_PARSER -DPGXC -Wno-write-strings -I$(srcdir) $(CPPFLAGS) -I$(top_builddir)/src/ -I$(top_builddir)/src/include -I$(top_builddir)/src/include/libpq -I../ +override CPPFLAGS := -DFRONTEND -DFRONTEND_PARSER -DPGXC -I$(srcdir) $(CPPFLAGS) -I$(top_builddir)/src/ -I$(top_builddir)/src/include -I$(top_builddir)/src/include/libpq -I../ override CPPFLAGS += -I$(top_builddir)/src/common/interfaces/libpq/client_logic_cache/include override CPPFLAGS := $(filter-out -fPIE, $(CPPFLAGS)) -fPIC -fstack-protector-all -DHAVE_CE override CFLAGS := $(filter-out -fPIE, $(CFLAGS)) -fPIC -fstack-protector-all diff --git a/src/common/interfaces/libpq/client_logic_processor/create_stmt_processor.cpp b/src/common/interfaces/libpq/client_logic_processor/create_stmt_processor.cpp index c33964a3b..735b149e8 100644 --- a/src/common/interfaces/libpq/client_logic_processor/create_stmt_processor.cpp +++ b/src/common/interfaces/libpq/client_logic_processor/create_stmt_processor.cpp @@ -49,7 +49,12 @@ RawValue *createStmtProcessor::add_cl_column_type(const ColumnDef * const column if (data_type == NULL) { return NULL; } - RawValue *raw_value = new RawValue(statement_data->conn); + RawValue *raw_value = new (std::nothrow) RawValue(statement_data->conn); + if (raw_value == NULL) { + fprintf(stderr, "failed to new RawValue object\n"); + free((char *)data_type); + exit(EXIT_FAILURE); + } if (strlen(data_type) == 0) { return raw_value; } @@ -156,7 +161,7 @@ RawValue *createStmtProcessor::trans_column_definition(const ColumnDef * const c case CONSTR_DEFAULT: { Assert(constraint->raw_expr); if (!exprProcessor::expand_expr(constraint->raw_expr, statement_data, expr_vec)) { - fprintf(stderr, "failed to create default value of client_logic\n"); + fprintf(stderr, "failed to new default value of client_logic\n"); } if (cached_column->get_column_hook_executors()->at(0) != NULL) { cached_column->get_column_hook_executors()->at(0)->set_data_type(column_def, cached_column); @@ -326,8 +331,13 @@ bool createStmtProcessor::process_column_defintion(ColumnDef *column, Node *elem char object_fqdn[NAMEDATALEN * 4] = {0}; size_t object_fqdn_size = CacheLoader::get_instance().get_object_fqdn(column_key_name, false, object_fqdn); if (object_fqdn_size == 0) { - fprintf(stderr, "ERROR(CLIENT):error while trying to retrieve column encryption key from cache\n"); - return false; + statement_data->conn->client_logic->cacheRefreshType = CacheRefreshType::ALL; + ICachedColumnManager::get_instance().load_cache(statement_data->conn); + object_fqdn_size = CacheLoader::get_instance().get_object_fqdn(column_key_name, false, object_fqdn); + if (object_fqdn_size == 0) { + fprintf(stderr, "ERROR(CLIENT):error while trying to retrieve column encryption key from cache\n"); + return false; + } } bool error = false; diff --git a/src/common/interfaces/libpq/client_logic_processor/encryption_pre_process.cpp b/src/common/interfaces/libpq/client_logic_processor/encryption_pre_process.cpp index f60c313de..d5a08c82a 100644 --- a/src/common/interfaces/libpq/client_logic_processor/encryption_pre_process.cpp +++ b/src/common/interfaces/libpq/client_logic_processor/encryption_pre_process.cpp @@ -22,6 +22,7 @@ */ #include "encryption_pre_process.h" +#include "client_logic_cache/icached_column_manager.h" #include "processor_utils.h" #include "pqexpbuffer.h" #include "libpq-int.h" @@ -60,10 +61,15 @@ bool EncryptionPreProcess::run_pre_column_encryption_key(PGconn *conn, CreateCli size_t global_fqdn_size = CacheLoader::get_instance().get_object_fqdn(global_key_name, true, global_fqdn); if (global_fqdn_size == 0) { - printfPQExpBuffer(&conn->errorMessage, - libpq_gettext("ERROR(CLIENT): failed to get client master key %s from cache\n"), - global_key_name); - return false; + conn->client_logic->cacheRefreshType = CacheRefreshType::ALL; + ICachedColumnManager::get_instance().load_cache(conn); + global_fqdn_size = CacheLoader::get_instance().get_object_fqdn(global_key_name, true, global_fqdn); + if (global_fqdn_size == 0) { + printfPQExpBuffer(&conn->errorMessage, + libpq_gettext("ERROR(CLIENT): failed to get client master key %s from cache\n"), + global_key_name); + return false; + } } check_strncpy_s(strncpy_s(global_key_name, NAMEDATALEN * NAME_CNT, global_fqdn, global_fqdn_size)); if_duplicate_masterkey = true; diff --git a/src/common/interfaces/libpq/client_logic_processor/prepared_statements_list.cpp b/src/common/interfaces/libpq/client_logic_processor/prepared_statements_list.cpp index cf5d2f0b4..f9681cb45 100644 --- a/src/common/interfaces/libpq/client_logic_processor/prepared_statements_list.cpp +++ b/src/common/interfaces/libpq/client_logic_processor/prepared_statements_list.cpp @@ -41,7 +41,15 @@ PreparedStatement *PreparedStatementsList::create(const char *statement_name) } /* initialize array item */ - m_prepared_statements[m_prepared_statements_size] = new PreparedStatementItem; + m_prepared_statements[m_prepared_statements_size] = new (std::nothrow) PreparedStatementItem; + if (m_prepared_statements[m_prepared_statements_size] == NULL) { + fprintf(stderr, "failed to new PreparedStatementItem object\n"); + if (m_prepared_statements) { + free(m_prepared_statements); + m_prepared_statements = NULL; + } + exit(EXIT_FAILURE); + } if (statement_name && statement_name[0] != '\0') { check_strncpy_s(strncpy_s(m_prepared_statements[m_prepared_statements_size]->m_statement_name, diff --git a/src/common/interfaces/libpq/client_logic_processor/raw_value.cpp b/src/common/interfaces/libpq/client_logic_processor/raw_value.cpp index ef20f807e..aa969ae07 100644 --- a/src/common/interfaces/libpq/client_logic_processor/raw_value.cpp +++ b/src/common/interfaces/libpq/client_logic_processor/raw_value.cpp @@ -77,15 +77,12 @@ void RawValue::set_data(const unsigned char *data, size_t data_size) m_data_value_size = m_data_size; } -bool RawValue::process(bool is_during_refresh_cache, const ICachedColumn *cached_column, char *err_msg) +bool RawValue::process(const ICachedColumn *cached_column, char *err_msg) { free_processed_data(); /* no need to process */ - if (!m_data_value) { - return true; - } - if (!m_data_size) { + if (!m_data_value || !m_data_size) { return true; } /* fromat different datatype to binary */ @@ -154,8 +151,8 @@ bool RawValue::process(bool is_during_refresh_cache, const ICachedColumn *cached sizeof(Oid), sizeof(unsigned char)); RETURN_IF(m_processed_data); - int processed_size = HooksManager::process_data(is_during_refresh_cache, cached_column, - cached_column->get_column_hook_executors(), binary, binary_size, m_processed_data); + int processed_size = HooksManager::process_data(cached_column, cached_column->get_column_hook_executors(), binary, + binary_size, m_processed_data); if (processed_size <= 0) { if (strlen(err_msg) == 0) { check_sprintf_s(sprintf_s(err_msg, MAX_ERRMSG_LENGTH, "failed to process data")); diff --git a/src/common/interfaces/libpq/client_logic_processor/raw_value.h b/src/common/interfaces/libpq/client_logic_processor/raw_value.h index fab095a7c..c74d5e0a0 100644 --- a/src/common/interfaces/libpq/client_logic_processor/raw_value.h +++ b/src/common/interfaces/libpq/client_logic_processor/raw_value.h @@ -41,7 +41,7 @@ public: RawValue(const RawValue &) = delete; RawValue &operator = (const RawValue &) = delete; - bool process(bool is_during_refresh_cache, const ICachedColumn *cached_column, char *err_msg); + bool process(const ICachedColumn *cached_column, char *err_msg); void set_data(const unsigned char *data, size_t data_size); void set_data_value(const unsigned char *data_value, size_t size) { diff --git a/src/common/interfaces/libpq/client_logic_processor/raw_values_cont.cpp b/src/common/interfaces/libpq/client_logic_processor/raw_values_cont.cpp index 9720fef54..967f83d54 100644 --- a/src/common/interfaces/libpq/client_logic_processor/raw_values_cont.cpp +++ b/src/common/interfaces/libpq/client_logic_processor/raw_values_cont.cpp @@ -220,7 +220,11 @@ void RawValues::get_raw_values_from_nodetag(const Value *value, int &end, int lo } RawValue *RawValues::get_raw_values_from_ExprParts(const ExprParts *xpr, StatementData *statement_data, size_t offset) { - RawValue *raw_value = new RawValue(statement_data->conn); + RawValue *raw_value = new (std::nothrow) RawValue(statement_data->conn); + if (raw_value == NULL) { + fprintf(stderr, "failed to new RawValue object\n"); + exit(EXIT_FAILURE); + } bool is_str = false; bool is_emptyb = false; errno_t rc = 0; diff --git a/src/common/interfaces/libpq/client_logic_processor/stmt_processor.cpp b/src/common/interfaces/libpq/client_logic_processor/stmt_processor.cpp index 926565463..22738069e 100644 --- a/src/common/interfaces/libpq/client_logic_processor/stmt_processor.cpp +++ b/src/common/interfaces/libpq/client_logic_processor/stmt_processor.cpp @@ -37,8 +37,6 @@ #include "raw_values_cont.h" #include "prepared_statement.h" #include "prepared_statements_list.h" -#include "client_logic/client_logic_common.h" -#include #include "libpq-fe.h" #include "libpq-int.h" #include "where_clause_processor.h" @@ -180,7 +178,11 @@ bool Processor::run_pre_returning_list_statement(const List *return_list, ICache } for (size_t i = 0; i < cached_columns_from->size(); i++) { if (find_in_name_map(returning_list, cached_columns_from->at(i)->get_col_name())) { - CachedColumn *return_cached = new CachedColumn(cached_columns_from->at(i)); + CachedColumn *return_cached = new (std::nothrow) CachedColumn(cached_columns_from->at(i)); + if (return_cached == NULL) { + fprintf(stderr, "failed to new CachedColumn object\n"); + return false; + } cached_columns->push(return_cached); } } @@ -340,6 +342,17 @@ bool Processor::run_pre_cached_global_setting(PGconn *conn, const char *stmt_nam if (existing_global_hook_executors) { free(existing_global_hook_executors); } + +#if ((!defined(ENABLE_MULTIPLE_NODES)) && (!defined(ENABLE_PRIVATEGAUSS))) + errno_t rc = 0; + + if (ret) { + conn->client_logic->query_type = CE_CREATE_CMK; + const char *cmk_key_path = string_args.find("key_path"); + rc = strcpy_s(conn->client_logic->query_args, sizeof(conn->client_logic->query_args), cmk_key_path); + securec_check_c(rc, "", ""); + } +#endif return ret; } @@ -372,15 +385,20 @@ bool Processor::run_pre_column_setting_statement(PGconn *conn, const char *stmt_ const CachedGlobalSetting *global_setting = CacheLoader::get_instance().get_global_setting_by_fqdn(global_key_name); - if (!global_setting) { - if (global_key_name) { - printfPQExpBuffer(&conn->errorMessage, - libpq_gettext("ERROR(CLIENT): failed to get client master key from cache\n")); - } else { - printfPQExpBuffer(&conn->errorMessage, - libpq_gettext("ERROR(CLIENT): failed to get client master key %s from cache\n"), global_key_name); + if (global_setting == NULL) { + conn->client_logic->cacheRefreshType = CacheRefreshType::ALL; + ICachedColumnManager::get_instance().load_cache(conn); + global_setting = CacheLoader::get_instance().get_global_setting_by_fqdn(global_key_name); + if (global_setting == NULL) { + if (strlen(global_key_name) == 0) { + printfPQExpBuffer(&conn->errorMessage, + libpq_gettext("ERROR(CLIENT): failed to get client master key from cache\n")); + } else { + printfPQExpBuffer(&conn->errorMessage, + libpq_gettext("ERROR(CLIENT): failed to get client master key %s from cache\n"), global_key_name); + } + return false; } - return false; } if (!HooksManager::ColumnSettings::pre_create(*conn->client_logic, global_setting->get_executor(), function_name, string_args, new_strings_args)) { @@ -539,14 +557,22 @@ bool Processor::run_pre_from_item_statement(const Node * const from_item, Statem alias_name = rangeVar->alias->aliasname; } for (size_t i = 0; i < cached_column_range.size(); i++) { - CachedColumn *range_cached = new CachedColumn(cached_column_range.at(i)); + CachedColumn *range_cached = new (std::nothrow) CachedColumn(cached_column_range.at(i)); + if (range_cached == NULL) { + fprintf(stderr, "failed to new CachedColumn object\n"); + return false; + } cached_column_temp.push(range_cached); } if (cached_columns_parents != NULL) { for (size_t i = 0; i < cached_columns_parents->size(); i++) { if (rangeVar->relname != NULL && strcmp(cached_columns_parents->at(i)->get_table_name(), rangeVar->relname) == 0) { - CachedColumn *range_cached = new CachedColumn(cached_columns_parents->at(i)); + CachedColumn *range_cached = new (std::nothrow) CachedColumn(cached_columns_parents->at(i)); + if (range_cached == NULL) { + fprintf(stderr, "failed to new CachedColumn object\n"); + return false; + } cached_column_temp.push(range_cached); } } @@ -554,7 +580,11 @@ bool Processor::run_pre_from_item_statement(const Node * const from_item, Statem } for (size_t i = 0; i < cached_column_temp.size(); i++) { - CachedColumn *alias_cached = new CachedColumn(cached_column_temp.at(i)); + CachedColumn *alias_cached = new (std::nothrow) CachedColumn(cached_column_temp.at(i)); + if (alias_cached == NULL) { + fprintf(stderr, "failed to new CachedColumn object\n"); + return false; + } if (if_alias) { alias_cached->set_table_name(alias_name); } @@ -606,7 +636,11 @@ bool Processor::run_pre_with_item_statement(const Node * const with_item, Statem } size_t col_index = 0; for (; col_index < cached_columns_sub.size(); col_index++) { - CachedColumn *alias_cached = new CachedColumn(cached_columns_sub.at(col_index)); + CachedColumn *alias_cached = new (std::nothrow) CachedColumn(cached_columns_sub.at(col_index)); + if (alias_cached == NULL) { + fprintf(stderr, "failed to new CachedColumn object\n"); + return false; + } alias_cached->set_table_name(with_cte->ctename); cached_columns->push(alias_cached); } @@ -773,7 +807,11 @@ bool Processor::run_pre_select_statement(const SelectStmt * const select_stmt, c } for (size_t i = 0; i < cached_columns_from.size(); i++) { if (find_in_name_map(target_list, cached_columns_from.at(i)->get_col_name())) { - CachedColumn *target = new CachedColumn(cached_columns_from.at(i)); + CachedColumn *target = new (std::nothrow) CachedColumn(cached_columns_from.at(i)); + if (target == NULL) { + fprintf(stderr, "failed to new CachedColumn object\n"); + return false; + } cached_columns->push(target); } } @@ -847,7 +885,11 @@ bool Processor::process_select_set_operation(const SelectStmt * const select_stm } } for (size_t i = 0; i < cached_larg.size(); i++) { - CachedColumn *set_cached = new CachedColumn(cached_larg.at(i)); + CachedColumn *set_cached = new (std::nothrow) CachedColumn(cached_larg.at(i)); + if (set_cached == NULL) { + fprintf(stderr, "failed to new CachedColumn object\n"); + return false; + } cached_columns->push(set_cached); } return true; @@ -904,7 +946,11 @@ bool Processor::run_pre_delete_statement(const DeleteStmt *delete_stmt, Statemen if (filter_cached_columns_temp.at(i) == NULL) { filter_cached_columns.push(NULL); } else { - CachedColumn *filter_cached = new CachedColumn(filter_cached_columns_temp.at(i)); + CachedColumn *filter_cached = new (std::nothrow) CachedColumn(filter_cached_columns_temp.at(i)); + if (filter_cached == NULL) { + fprintf(stderr, "failed to new CachedColumn object\n"); + return false; + } filter_cached_columns.push(filter_cached); } } @@ -1013,7 +1059,11 @@ bool Processor::run_pre_copy_statement(const CopyStmt * const copy_stmt, Stateme } if (!prepared_statement->cached_copy_columns) { - prepared_statement->cached_copy_columns = new CachedColumns; + prepared_statement->cached_copy_columns = new (std::nothrow) CachedColumns; + if (prepared_statement->cached_copy_columns == NULL) { + fprintf(stderr, "failed to new CachedColumns object\n"); + return false; + } } ICachedColumnManager::get_instance().get_cached_columns(copy_stmt, prepared_statement->cached_copy_columns); prepared_statement->partial_csv_column_size = 0; @@ -1073,9 +1123,15 @@ bool Processor::run_pre_alter_table_statement(const AlterTableStmt *stmt, Statem size_t object_fqdn_size = CacheLoader::get_instance().get_object_fqdn(column_key_name, false, object_fqdn); if (object_fqdn_size == 0) { - fprintf(stderr, - "ERROR(CLIENT): error while trying to retrieve column encryption key from cache\n"); - return false; + statement_data->conn->client_logic->cacheRefreshType = CacheRefreshType::ALL; + ICachedColumnManager::get_instance().load_cache(statement_data->conn); + object_fqdn_size = + CacheLoader::get_instance().get_object_fqdn(column_key_name, false, object_fqdn); + if (object_fqdn_size == 0) { + fprintf(stderr, + "ERROR(CLIENT): error while trying to retrieve column encryption key from cache\n"); + return false; + } } /* add DATATYPE_CL to "client logic" column */ CachedColumns cached_columns(false, true); @@ -1380,18 +1436,23 @@ bool Processor::run_pre_drop_statement(const DropStmt *stmt, StatementData *stat statement_data->conn->client_logic->droppedColumnSettings_size += column_settings_list_size; } #if ((!defined(ENABLE_MULTIPLE_NODES)) && (!defined(ENABLE_PRIVATEGAUSS))) - GlobalHookExecutor *global_hook_executor = NULL; const CachedGlobalSetting *cached_global_setting = CacheLoader::get_instance().get_global_setting_by_fqdn(object_name); - if (cached_global_setting != NULL) { - global_hook_executor = cached_global_setting->get_executor(); - } else { + if (cached_global_setting == NULL) { return false; } - bool ret = HooksManager::GlobalSettings::delete_localkms_file(global_hook_executor); - if (!ret) { + + GlobalHookExecutor *global_hook_executor = cached_global_setting->get_executor(); + if (global_hook_executor == NULL) { return false; } + + statement_data->conn->client_logic->query_type = CE_DROP_CMK; + if (!HooksManager::GlobalSettings::get_key_path_by_cmk_name(global_hook_executor, + statement_data->conn->client_logic->query_args, + sizeof(statement_data->conn->client_logic->query_args))) { + return false; + } #endif } @@ -1401,6 +1462,7 @@ bool Processor::run_pre_drop_statement(const DropStmt *stmt, StatementData *stat Assert(false); return false; } + prepared_statement->cacheRefresh |= CacheRefreshType::GLOBAL_SETTING; if (stmt->behavior == DROP_CASCADE) { prepared_statement->cacheRefresh |= CacheRefreshType::COLUMN_SETTING; @@ -1878,6 +1940,9 @@ bool Processor::run_pre_statement(const Node * const stmt, StatementData *statem return run_pre_create_function_stmt((CreateFunctionStmt*)stmt); case T_MergeStmt: return run_pre_merge_stmt((MergeStmt *)stmt, statement_data); + case T_RenameStmt: + current_statement->cacheRefresh |= CacheRefreshType::COLUMNS; + break; default: break; } @@ -1903,12 +1968,20 @@ bool Processor::run_pre_merge_stmt(const MergeStmt *stmt, StatementData *stateme source_relation->schemaname, source_relation->relname, &source_cached_columns); RETURN_IF(!ret); for (size_t col_index = 0; col_index < target_cached_columns.size(); col_index++) { - CachedColumn *target_alias_cached = new CachedColumn(target_cached_columns.at(col_index)); + CachedColumn *target_alias_cached = new (std::nothrow) CachedColumn(target_cached_columns.at(col_index)); + if (target_alias_cached == NULL) { + fprintf(stderr, "failed to new CachedColumn object\n"); + return false; + } target_alias_cached->set_table_name(target_relation->alias->aliasname); cached_columns.push(target_alias_cached); } for (size_t col_index = 0; col_index < source_cached_columns.size(); col_index++) { - CachedColumn *source_alias_cached = new CachedColumn(source_cached_columns.at(col_index)); + CachedColumn *source_alias_cached = new (std::nothrow) CachedColumn(source_cached_columns.at(col_index)); + if (source_alias_cached == NULL) { + fprintf(stderr, "failed to new CachedColumn object\n"); + return false; + } source_alias_cached->set_table_name(source_relation->alias->aliasname); cached_columns.push(source_alias_cached); } @@ -2039,7 +2112,11 @@ bool Processor::run_pre_exec(StatementData *statement_data) RawValuesList raw_values_list; raw_values_list.resize(statement_data->nParams); for (size_t param_num = 0; param_num < statement_data->nParams; ++param_num) { - RawValue *raw_value = new RawValue(statement_data->conn); + RawValue *raw_value = new (std::nothrow) RawValue(statement_data->conn); + if (raw_value == NULL) { + fprintf(stderr, "failed to new RawValue object\n"); + return false; + } raw_value->m_is_param = true; raw_value->m_location = param_num; /* func : do not reset this variable. it's confusing. */ raw_value->set_data((const unsigned char *)statement_data->paramValues[param_num], diff --git a/src/common/interfaces/libpq/client_logic_processor/values_processor.cpp b/src/common/interfaces/libpq/client_logic_processor/values_processor.cpp index 54e11a5ba..cf59a96cc 100644 --- a/src/common/interfaces/libpq/client_logic_processor/values_processor.cpp +++ b/src/common/interfaces/libpq/client_logic_processor/values_processor.cpp @@ -42,10 +42,6 @@ #include "client_logic_cache/dataTypes.def" #include "client_logic_cache/types_to_oid.h" -#define SAFE_FREE(p) \ - if (p) \ - free(p); - static void process_prepare_state(const RawValue *raw_value, StatementData *statement_data) { if (raw_value->m_is_param) { @@ -103,7 +99,7 @@ static bool process_inside_value(const StatementData *statement_data, RawValue * errno_t rc = EOK; rc = memset_s(err_msg, MAX_ERRMSG_LENGTH, 0, MAX_ERRMSG_LENGTH); securec_check_c(rc, "\0", "\0"); - if (!raw_value->process(statement_data->conn->client_logic->isDuringRefreshCacheOnError, cached_column, err_msg)) { + if (!raw_value->process(cached_column, err_msg)) { if (strlen(err_msg) == 0) { printfPQExpBuffer(&statement_data->conn->errorMessage, libpq_gettext("ERROR(CLIENT): failed to process data of processed column\n")); @@ -125,10 +121,18 @@ static bool save_prepared_statement(const StatementData *statement_data, const R return false; } if (!prepared_statement->cached_params) { - prepared_statement->cached_params = new CachedColumns(false, false, true); + prepared_statement->cached_params = new (std::nothrow) CachedColumns(false, false, true); + if (prepared_statement->cached_params == NULL) { + fprintf(stderr, "failed to new CachedColumns object\n"); + return false; + } } - ICachedColumn *prepared_cached_column = new CachedColumn(cached_column); + ICachedColumn *prepared_cached_column = new (std::nothrow) CachedColumn(cached_column); + if (prepared_cached_column == NULL) { + fprintf(stderr, "failed to new CachedColumn object\n"); + return false; + } prepared_cached_column->set_use_in_prepare(true); prepared_statement->cached_params->set(raw_value->m_location, prepared_cached_column); } @@ -254,12 +258,17 @@ bool ValuesProcessor::process_values(StatementData *statement_data, const ICache return true; } -bool ValuesProcessor::deprocess_value(PGconn *conn, const unsigned char *processed_data, size_t processed_data_size, - int original_typeid, int format, unsigned char **plain_text, size_t &plain_text_size, bool is_default) +DecryptDataRes ValuesProcessor::deprocess_value(PGconn *conn, const unsigned char *processed_data, + size_t processed_data_size, int original_typeid, int format, unsigned char **plain_text, size_t &plain_text_size, + bool is_default) { /* unescape data from its BYTEA format */ size_t unescaped_processed_data_size = 0; unsigned char *unescaped_processed_data = NULL; + DecryptDataRes dec_dat_res = DEC_DATA_ERR; + int plain_text_size_tmp = 0; + errno_t rc = EOK; + if (format) { /* binary */ unescaped_processed_data = (unsigned char *)processed_data; unescaped_processed_data_size = processed_data_size; @@ -269,9 +278,8 @@ bool ValuesProcessor::deprocess_value(PGconn *conn, const unsigned char *process (unsigned char *)malloc((1 + processed_data_size) * sizeof(unsigned char)); if (processed_data_tmp == NULL) { fprintf(stderr, "ERROR(CLIENT): out of memory when decrypting data\n"); - return false; + return CLIENT_HEAP_ERR; } - errno_t rc = EOK; rc = memcpy_s(processed_data_tmp, processed_data_size + 1, processed_data, processed_data_size); securec_check_c(rc, "\0", "\0"); processed_data_tmp[processed_data_size] = 0; @@ -283,7 +291,6 @@ bool ValuesProcessor::deprocess_value(PGconn *conn, const unsigned char *process */ if (final != NULL) { unsigned char text_to_deprocess[176]; /* see above changing the query in case of CE */ - errno_t rc = EOK; rc = memset_s(text_to_deprocess, sizeof(text_to_deprocess), 0, sizeof(text_to_deprocess)); securec_check_c(rc, "\0", "\0"); if (final - (char *)processed_data_tmp > 2) { /* 2 is the shortest length , such as "::" */ @@ -296,17 +303,18 @@ bool ValuesProcessor::deprocess_value(PGconn *conn, const unsigned char *process } else { unescaped_processed_data = PQunescapeBytea(processed_data_tmp, &unescaped_processed_data_size); } - if (!unescaped_processed_data) { - fprintf(stderr, "ERROR(CLIENT): failed to unsecape processed data\n"); - return false; - } if (processed_data_tmp != NULL) { libpq_free(processed_data_tmp); } + if (unescaped_processed_data == NULL) { + fprintf(stderr, "ERROR(CLIENT): failed to unescape processed data\n"); + return DEC_DATA_ERR; + } } + if (!unescaped_processed_data_size) { plain_text_size = 0; - return true; + return DEC_DATA_SUCCEED; } else if (unescaped_processed_data_size < sizeof(Oid)) { /* * if the size is smaller the size of Oid, so setting oid is not there @@ -314,10 +322,14 @@ bool ValuesProcessor::deprocess_value(PGconn *conn, const unsigned char *process */ fprintf(stderr, "ERROR(CLIENT): wrong value for processed column\n"); libpq_free(unescaped_processed_data); - return false; + return DEC_DATA_ERR; } - int plain_text_size_tmp = HooksManager::deprocess_data(*conn->client_logic, unescaped_processed_data, - unescaped_processed_data_size, plain_text); + dec_dat_res = HooksManager::deprocess_data(*conn->client_logic, unescaped_processed_data, + unescaped_processed_data_size, plain_text, &plain_text_size_tmp); + if (dec_dat_res != DEC_DATA_SUCCEED) { + return dec_dat_res; + } + bool plain_invalid = plain_text_size_tmp == 0 && !(*plain_text); if (plain_invalid) { /* the only accetped way to reach here is no proper cmk permissions */ @@ -325,18 +337,20 @@ bool ValuesProcessor::deprocess_value(PGconn *conn, const unsigned char *process if (*plain_text == NULL) { fprintf(stderr, "ERROR(CLIENT): out of memory when decrypting data\n"); libpq_free(unescaped_processed_data); - return false; + return CLIENT_HEAP_ERR; } errno_t rc = memcpy_s(*plain_text, processed_data_size, processed_data, processed_data_size); securec_check_c(rc, "\0", "\0"); plain_text_size = processed_data_size; libpq_free(unescaped_processed_data); - return true; + return DEC_DATA_SUCCEED; } + libpq_free(unescaped_processed_data); if (plain_text_size_tmp < 0 || !(*plain_text)) { - return false; + return DEC_DATA_SUCCEED; } + plain_text_size = plain_text_size_tmp; if (!format) { /* text */ process_text_format(plain_text, plain_text_size, is_default, original_typeid); @@ -348,19 +362,21 @@ bool ValuesProcessor::deprocess_value(PGconn *conn, const unsigned char *process securec_check_c(rc, "\0", "\0"); unsigned char *result = Format::restore_binary(*plain_text, plain_text_size, original_typeid, 0, -1, &result_size, err_msg); - SAFE_FREE(*plain_text); + libpq_free(*plain_text); *plain_text = (unsigned char *)malloc(result_size + 1); if (*plain_text == NULL) { fprintf(stderr, "ERROR(CLIENT): out of memory when decrypting data\n"); libpq_free(unescaped_processed_data); - return false; + return CLIENT_HEAP_ERR; } rc = memcpy_s(*plain_text, result_size + 1, result, result_size); securec_check_c(rc, "\0", "\0"); (*plain_text)[result_size] = 0; plain_text_size = result_size; + libpq_free(result); } - return true; + + return DEC_DATA_SUCCEED; } const bool ValuesProcessor::textual_rep(const Oid oid) @@ -379,6 +395,7 @@ void ValuesProcessor::process_text_format(unsigned char **plain_text, size_t &pl size_t tmp_plain_text_allocated = strlen((char *)*plain_text) + 256; char *tmp_plain_text = (char *)malloc(tmp_plain_text_allocated); if (tmp_plain_text == NULL) { + libpq_free(res); return; } if (textual_rep(original_typeid)) { @@ -392,8 +409,8 @@ void ValuesProcessor::process_text_format(unsigned char **plain_text, size_t &pl check_strncat_s(strncat_s(tmp_plain_text, tmp_plain_text_allocated, "::", 2)); const char *type = TypesMap::typesTextToOidMap.find_by_oid(original_typeid); if (type == NULL) { - free(tmp_plain_text); - tmp_plain_text = NULL; + libpq_free(tmp_plain_text); + libpq_free(res); return; } check_strncat_s( @@ -406,21 +423,24 @@ void ValuesProcessor::process_text_format(unsigned char **plain_text, size_t &pl *plain_text = (unsigned char *)malloc(strlen(tmp_plain_text) + 1); if (*plain_text == NULL) { fprintf(stderr, "ERROR(CLIENT): out of memory when processing text format\n"); + libpq_free(tmp_plain_text); + libpq_free(res); return; } check_memcpy_s(memcpy_s((char *)*plain_text, strlen(tmp_plain_text) + 1, (char *)tmp_plain_text, strlen((char *)tmp_plain_text))); (*plain_text)[plain_text_size] = '\0'; - free(tmp_plain_text); + libpq_free(tmp_plain_text); } else { - SAFE_FREE(*plain_text); + libpq_free(*plain_text); *plain_text = (unsigned char *)malloc(result_size + 1); if (*plain_text == NULL) { fprintf(stderr, "ERROR(CLIENT): out of memory when processing text format\n"); + libpq_free(res); return; } errno_t rc = EOK; - rc = memcpy_s(*plain_text, result_size, res, result_size); + rc = memcpy_s(*plain_text, result_size + 1, res, result_size); securec_check_c(rc, "\0", "\0"); (*plain_text)[result_size] = 0; plain_text_size = result_size; diff --git a/src/common/interfaces/libpq/client_logic_processor/values_processor.h b/src/common/interfaces/libpq/client_logic_processor/values_processor.h index 7a9f34c68..cb9ddca9d 100644 --- a/src/common/interfaces/libpq/client_logic_processor/values_processor.h +++ b/src/common/interfaces/libpq/client_logic_processor/values_processor.h @@ -35,11 +35,20 @@ typedef unsigned int Oid; typedef struct StatementData StatementData; class RawValuesList; +enum DecryptDataRes { + DEC_DATA_SUCCEED = 0, + DEC_DATA_ERR, + INVALID_DATA_LEN, + DECRYPT_CEK_ERR, + DERIVE_CEK_ERR, + CLIENT_HEAP_ERR, +}; + class ValuesProcessor { public: static bool process_values(StatementData *statement_data, const ICachedColumns *cached_columns, const size_t rows_count, RawValuesList *raw_values_list); - static bool deprocess_value(PGconn *conn, const unsigned char *processed_data, size_t processed_data_size, + static DecryptDataRes deprocess_value(PGconn *conn, const unsigned char *processed_data, size_t processed_data_size, int original_typeid, int format, unsigned char **plain_text, size_t &plain_text_size, bool is_default); private: diff --git a/src/common/interfaces/libpq/fe-auth.cpp b/src/common/interfaces/libpq/fe-auth.cpp old mode 100755 new mode 100644 diff --git a/src/common/interfaces/libpq/fe-connect.cpp b/src/common/interfaces/libpq/fe-connect.cpp index a6bc1ec93..95209a05d 100644 --- a/src/common/interfaces/libpq/fe-connect.cpp +++ b/src/common/interfaces/libpq/fe-connect.cpp @@ -2411,8 +2411,10 @@ keep_going: /* We will come back to here until there is // rest error message and insert more specific information resetPQExpBuffer(&conn->errorMessage); appendPQExpBuffer(&conn->errorMessage, - libpq_gettext("could not send startup packet: %s\n"), - SOCK_STRERROR(SOCK_ERRNO, sebuf, sizeof(sebuf))); + libpq_gettext("could not send startup packet: %s\n" + "localhost: %s, localport: %s, remotehost: %s, remoteaddr: %s, remoteport:%s\n"), + SOCK_STRERROR(SOCK_ERRNO, sebuf, sizeof(sebuf)), + conn->pglocalhost, conn->pglocalport, conn->pghost, conn->pghostaddr, conn->pgport); libpq_free(startpacket); goto error_return; } @@ -2995,7 +2997,6 @@ error_return: #ifdef SUPPORT_PGPASSFILE dot_pg_pass_warning(conn); #endif - /* * We used to close the socket at this point, but that makes it awkward * for those above us if they wish to remove this socket from their own diff --git a/src/common/interfaces/libpq/fe-exec.cpp b/src/common/interfaces/libpq/fe-exec.cpp old mode 100755 new mode 100644 index d4f34b7e4..3f864123c --- a/src/common/interfaces/libpq/fe-exec.cpp +++ b/src/common/interfaces/libpq/fe-exec.cpp @@ -39,6 +39,9 @@ #include "client_logic_processor/values_processor.h" #include "client_logic_fmt/gs_copy.h" #include "client_logic_processor/raw_values_cont.h" +#if ((!defined(ENABLE_MULTIPLE_NODES)) && (!defined(ENABLE_PRIVATEGAUSS))) +#include "client_logic_hooks/encryption_hooks/localkms_gen_cmk.h" +#endif #endif /* HAVE_CE */ /* keep this in same order as ExecStatusType in libpq-fe.h */ @@ -1058,6 +1061,14 @@ int pqRowProcessor(PGconn* conn, const char** errmsgp) const PGdataValue* columns = conn->rowBuf; PGresAttValue* tup = NULL; int i; + errno_t rc = 0; + +#ifdef HAVE_CE + unsigned char* deProcessed = NULL; + DecryptDataRes dec_dat_res = DEC_DATA_ERR; + const char *decrypt_err_info = "failed to decrypt"; + bool is_encrypted_dat = false; +#endif /* HAVE_CE */ /* * In single-row mode, make a new PGresult that will hold just this one @@ -1093,18 +1104,18 @@ int pqRowProcessor(PGconn* conn, const char** errmsgp) tup[i].value = res->null_field; } else { #ifdef HAVE_CE - bool isValueDecrypted = false; - unsigned char* deProcessed = NULL; if (conn->client_logic->enable_client_encryption) { - if (is_clientlogic_datatype(res->attDescs[i].typid)) { + is_encrypted_dat = is_clientlogic_datatype(res->attDescs[i].typid); + if (is_encrypted_dat) { size_t length = (size_t)clen; - if (ValuesProcessor::deprocess_value(conn, (unsigned char *)columns[i].value, length, - res->attDescs[i].atttypmod, res->attDescs[i].format, &deProcessed, length, false)) { + dec_dat_res = ValuesProcessor::deprocess_value(conn, (unsigned char *)columns[i].value, length, + res->attDescs[i].atttypmod, res->attDescs[i].format, &deProcessed, length, false); + if (dec_dat_res == DEC_DATA_SUCCEED) { clen = (int)length; - isValueDecrypted = true; + } else if (dec_dat_res == DEC_DATA_ERR) { + /* contiue to process remain rows */ } else { - *errmsgp = libpq_gettext("ERROR(CLIENT): failed to process data of processed column"); - conn->client_logic->isInvalidOperationOnColumn = true; + *errmsgp = libpq_gettext("ERROR(CLIENT): failed to decrypt column encryption key"); goto fail; } } @@ -1121,18 +1132,33 @@ int pqRowProcessor(PGconn* conn, const char** errmsgp) /* copy and zero-terminate the data (even if it's binary) */ if (clen > 0) { - int rcs = 0; #ifdef HAVE_CE - if (!conn->client_logic->enable_client_encryption || !isValueDecrypted) { - rcs = memcpy_s(val, clen + 1, columns[i].value, clen); + if (!conn->client_logic->enable_client_encryption || !is_encrypted_dat) { + rc = memcpy_s(val, clen + 1, columns[i].value, clen); + securec_check_c(rc, "", ""); } else { - rcs = memcpy_s(val, clen + 1, deProcessed, clen); - free(deProcessed); + if (is_encrypted_dat) { + if (dec_dat_res == DEC_DATA_SUCCEED) { + rc = memcpy_s(val, clen + 1, deProcessed, clen); + securec_check_c(rc, "", ""); + } else if (dec_dat_res == DEC_DATA_ERR) { + rc = strcpy_s(val, clen + 1, decrypt_err_info); + securec_check_c(rc, "", ""); + clen = (int)strlen(decrypt_err_info); + } else { + /* do nothing */ + } + + if (deProcessed != NULL) { + free(deProcessed); + deProcessed = NULL; + } + } } #else - rcs = memcpy_s(val, clen + 1, columns[i].value, clen); + rc = memcpy_s(val, clen + 1, columns[i].value, clen); + securec_check_c(rc, "", ""); #endif /* HAVE_CE */ - securec_check_c(rcs, "\0", "\0"); } val[clen] = '\0'; @@ -1179,7 +1205,7 @@ fail: * 0 if error (conn->errorMessage is set) */ int PQsendQuery(PGconn* conn, const char* query) -{ +{ if (!PQsendQueryStart(conn)) return 0; @@ -1191,6 +1217,9 @@ int PQsendQuery(PGconn* conn, const char* query) #ifdef HAVE_CE StatementData statementData (conn, query); if (conn->client_logic->enable_client_encryption) { +#if ((!defined(ENABLE_MULTIPLE_NODES)) && (!defined(ENABLE_PRIVATEGAUSS))) + conn->client_logic->query_type = CE_IGNORE; +#endif if (!conn->client_logic->disable_once) { bool clientLogicRet = Processor::run_pre_query(&statementData); if (!clientLogicRet) @@ -1209,7 +1238,11 @@ int PQsendQuery(PGconn* conn, const char* query) (strcasestr(temp_query, client_logic_str) != NULL))) { free(temp_query); temp_query = NULL; - printfPQExpBuffer(&conn->errorMessage, libpq_gettext("ERROR: disable client logic feature\n")); + printfPQExpBuffer(&conn->errorMessage, + libpq_gettext("ERROR(CLIENT): disable client-encryption feature, please use -C to enable it.\n")); +#if ((!defined(ENABLE_MULTIPLE_NODES)) && (!defined(ENABLE_PRIVATEGAUSS))) + conn->client_logic->query_type = CE_IGNORE; +#endif return 0; } if (temp_query != NULL) { @@ -1222,6 +1255,11 @@ int PQsendQuery(PGconn* conn, const char* query) /* construct the outgoing Query message */ if (pqPutMsgStart('Q', false, conn) < 0 || pqPuts(query, conn) < 0 || pqPutMsgEnd(conn) < 0) { pqHandleSendFailure(conn); +#ifdef HAVE_CE +#if ((!defined(ENABLE_MULTIPLE_NODES)) && (!defined(ENABLE_PRIVATEGAUSS))) + conn->client_logic->query_type = CE_IGNORE; +#endif +#endif return 0; } @@ -1240,6 +1278,11 @@ int PQsendQuery(PGconn* conn, const char* query) */ if (pqFlush(conn) < 0) { pqHandleSendFailure(conn); +#ifdef HAVE_CE +#if ((!defined(ENABLE_MULTIPLE_NODES)) && (!defined(ENABLE_PRIVATEGAUSS))) + conn->client_logic->query_type = CE_IGNORE; +#endif +#endif return 0; } @@ -1969,47 +2012,7 @@ int PQisBusy(PGconn* conn) /* PQgetResult will return immediately in all states except BUSY. */ return conn->asyncStatus == PGASYNC_BUSY; } -#ifdef HAVE_CE -void checkRefreshCacheOnError(PGconn* conn) -{ - if (conn->client_logic->enable_client_encryption) { - if (conn->client_logic->isInvalidOperationOnColumn && !conn->client_logic->isDuringRefreshCacheOnError) { - /* - * copy query because it will be overwritten - */ - char* query_to_resend = NULL; - size_t last_query_size = 0; - if (conn->last_query != NULL) { - last_query_size = strlen(conn->last_query); - } - if (last_query_size > 0) { - query_to_resend = (char*)malloc(last_query_size + 1); - if (query_to_resend != NULL) { - check_strncpy_s(strncpy_s(query_to_resend, last_query_size + 1, conn->last_query, last_query_size)); - query_to_resend[last_query_size] = '\0'; - } - } - /* - * if an "invalid operation on a column" was detected it probably means - * that a DML operation was made on "client logic" special column - * however, the client that performed the DML operation was under the impression that - * this is a regular column for this reason, the driver's CACHE needs to be updated again. - */ - conn->client_logic->isDuringRefreshCacheOnError = true; - conn->client_logic->cacheRefreshType = CacheRefreshType::ALL; - ICachedColumnManager::get_instance().load_cache(conn); - if (query_to_resend != NULL) { - PQclear(PQexec(conn, query_to_resend)); - free(query_to_resend); - query_to_resend = NULL; - } - conn->client_logic->isInvalidOperationOnColumn = false; - conn->client_logic->isDuringRefreshCacheOnError = false; - } - } -} -#endif /* * PQgetResult * Get the next PGresult produced by a query. Returns NULL if no @@ -2335,6 +2338,12 @@ static PGresult* PQexecFinish(PGconn* conn) PGresult* result = NULL; PGresult* lastResult = NULL; +#ifdef HAVE_CE +#if ((!defined(ENABLE_MULTIPLE_NODES)) && (!defined(ENABLE_PRIVATEGAUSS))) + CEQueryType qry_type = conn->client_logic->query_type; +#endif +#endif + /* * For backwards compatibility, return the last result if there are more * than one --- but merge error messages if we get more than one error @@ -2368,7 +2377,14 @@ static PGresult* PQexecFinish(PGconn* conn) } #ifdef HAVE_CE - checkRefreshCacheOnError(conn); +#if ((!defined(ENABLE_MULTIPLE_NODES)) && (!defined(ENABLE_PRIVATEGAUSS))) + if (conn->client_logic->enable_client_encryption) { + if (qry_type != CE_IGNORE) { + localkms_post_process(qry_type, lastResult->resultStatus, conn->client_logic->query_args); + conn->client_logic->query_type = CE_IGNORE; + } + } +#endif #endif return lastResult; diff --git a/src/common/interfaces/libpq/fe-lobj.cpp b/src/common/interfaces/libpq/fe-lobj.cpp old mode 100755 new mode 100644 diff --git a/src/common/interfaces/libpq/fe-protocol2.cpp b/src/common/interfaces/libpq/fe-protocol2.cpp old mode 100755 new mode 100644 diff --git a/src/common/interfaces/libpq/fe-protocol3.cpp b/src/common/interfaces/libpq/fe-protocol3.cpp old mode 100755 new mode 100644 index 789188c07..4cdd727b2 --- a/src/common/interfaces/libpq/fe-protocol3.cpp +++ b/src/common/interfaces/libpq/fe-protocol3.cpp @@ -788,9 +788,6 @@ int pqGetErrorNotice3(PGconn* conn, bool isError) if (pqGets(&workBuf, conn)) goto fail; #ifdef HAVE_CE - if (strcmp(workBuf.data, ERRCODE_INVALID_ENCRYPTED_COLUMN_DATA)==0) { - conn->client_logic->isInvalidOperationOnColumn = true; // failed to WRITE - } pqSaveMessageField(res, id, workBuf.data, conn); #else pqSaveMessageField(res, id, workBuf.data); diff --git a/src/common/interfaces/libpq/fe-secure.cpp b/src/common/interfaces/libpq/fe-secure.cpp old mode 100755 new mode 100644 diff --git a/src/common/interfaces/libpq/frontend_parser/Makefile b/src/common/interfaces/libpq/frontend_parser/Makefile index dfa9d5218..9df91e102 100644 --- a/src/common/interfaces/libpq/frontend_parser/Makefile +++ b/src/common/interfaces/libpq/frontend_parser/Makefile @@ -18,7 +18,7 @@ backenddir = $(top_builddir)/src/common/backend # shared library parameters NAME= parser_frontend -override CPPFLAGS := -DFRONTEND_PARSER -DFRONTEND -DPGXC -Wno-write-strings -fstack-protector-all -I$(srcdir) -I$(top_builddir)/src/ -I$(top_builddir)/src/include -I$(top_builddir)/src/common/interfaces/libpq -I$(top_builddir)/src/common/interfaces/libpq/frontend_parser $(CPPFLAGS) +override CPPFLAGS := -DFRONTEND_PARSER -DFRONTEND -DPGXC -fstack-protector-all -I$(srcdir) -I$(top_builddir)/src/include -I$(top_builddir)/src/common/interfaces/libpq -I$(top_builddir)/src/common/interfaces/libpq/frontend_parser $(CPPFLAGS) override CPPFLAGS := $(filter-out -fPIE, $(CPPFLAGS)) -fPIC #override CFLAGS := $(filter-out -fPIE, $(CFLAGS)) -fPIC diff --git a/src/common/interfaces/libpq/frontend_parser/gram.y b/src/common/interfaces/libpq/frontend_parser/gram.y old mode 100644 new mode 100755 index d86111b98..81f55722c --- a/src/common/interfaces/libpq/frontend_parser/gram.y +++ b/src/common/interfaces/libpq/frontend_parser/gram.y @@ -219,7 +219,7 @@ extern THR_LOCAL bool stmt_contains_operator_plus; DeclareCursorStmt CreateFunctionStmt PrepareStmt ExecDirectStmt ExecuteStmt CreateKeyStmt ViewStmt MergeStmt - CreateRlsPolicyStmt AlterRlsPolicyStmt + CreateRlsPolicyStmt AlterRlsPolicyStmt RenameStmt %type select_no_parens select_with_parens select_clause simple_select values_clause @@ -237,6 +237,7 @@ extern THR_LOCAL bool stmt_contains_operator_plus; %type copy_opt_list %type copy_opt_item %type copy_file_name + database_name %type func_name qual_Op qual_all_Op subquery_Op opt_collate opt_class transaction_mode_list transaction_mode_list_or_empty @@ -739,6 +740,7 @@ stmt : | ExecDirectStmt | CreateRlsPolicyStmt | AlterRlsPolicyStmt + | RenameStmt | /*EMPTY*/ { $$ = NULL; } ; @@ -1486,6 +1488,76 @@ VariableResetStmt: } ; +/***************************************************************************** + * + * ALTER THING name RENAME TO newname + * + *****************************************************************************/ + +RenameStmt: + ALTER DATABASE database_name RENAME TO database_name + { + RenameStmt *n = makeNode(RenameStmt); + n->renameType = OBJECT_DATABASE; + n->subname = $3; + n->newname = $6; + n->missing_ok = false; + $$ = (Node *)n; + } + | ALTER SCHEMA name RENAME TO name + { + RenameStmt *n = makeNode(RenameStmt); + n->renameType = OBJECT_SCHEMA; + n->subname = $3; + n->newname = $6; + n->missing_ok = false; + $$ = (Node *)n; + } + | ALTER TABLE relation_expr RENAME TO name + { + RenameStmt *n = makeNode(RenameStmt); + n->renameType = OBJECT_TABLE; + n->relation = $3; + n->subname = NULL; + n->newname = $6; + n->missing_ok = false; + $$ = (Node *)n; + } + | ALTER TABLE IF_P EXISTS relation_expr RENAME TO name + { + RenameStmt *n = makeNode(RenameStmt); + n->renameType = OBJECT_TABLE; + n->relation = $5; + n->subname = NULL; + n->newname = $8; + n->missing_ok = true; + $$ = (Node *)n; + } + | ALTER TABLE relation_expr RENAME opt_column name TO name + { + RenameStmt *n = makeNode(RenameStmt); + n->renameType = OBJECT_COLUMN; + n->relationType = OBJECT_TABLE; + n->relation = $3; + n->subname = $6; + n->newname = $8; + n->missing_ok = false; + $$ = (Node *)n; + } + | ALTER TABLE IF_P EXISTS relation_expr RENAME opt_column name TO name + { + RenameStmt *n = makeNode(RenameStmt); + n->renameType = OBJECT_COLUMN; + n->relationType = OBJECT_TABLE; + n->relation = $5; + n->subname = $8; + n->newname = $10; + n->missing_ok = true; + $$ = (Node *)n; + } + ; + + /**************************************************************************** * * ALTER [ TABLE | INDEX | SEQUENCE | VIEW ] variations @@ -10312,6 +10384,9 @@ qualified_name: name: ColId { $$ = $1; }; +database_name: + ColId { $$ = $1; }; + attr_name: ColLabel { $$ = $1; }; access_method: ColId { $$ = $1; }; diff --git a/src/common/interfaces/libpq/frontend_parser/kwlookup.cpp b/src/common/interfaces/libpq/frontend_parser/kwlookup.cpp index 0e672f090..c0bcf05fd 100644 --- a/src/common/interfaces/libpq/frontend_parser/kwlookup.cpp +++ b/src/common/interfaces/libpq/frontend_parser/kwlookup.cpp @@ -29,7 +29,6 @@ #include "catalog/pg_attribute.h" #include "access/tupdesc.h" #include "nodes/parsenodes_common.h" -#include "nodes/primnodes.h" #include "gram.hpp" #include "parser/keywords.h" diff --git a/src/common/interfaces/libpq/libpq-events.cpp b/src/common/interfaces/libpq/libpq-events.cpp old mode 100755 new mode 100644 diff --git a/src/common/interfaces/libpq/test/uri-regress.cpp b/src/common/interfaces/libpq/test/uri-regress.cpp old mode 100755 new mode 100644 diff --git a/src/common/interfaces/libpq/win32.cpp b/src/common/interfaces/libpq/win32.cpp old mode 100755 new mode 100644 diff --git a/src/common/pl/plpgsql/src/pl_comp.cpp b/src/common/pl/plpgsql/src/pl_comp.cpp old mode 100755 new mode 100644 index bb90e6f46..dc8be5a46 --- a/src/common/pl/plpgsql/src/pl_comp.cpp +++ b/src/common/pl/plpgsql/src/pl_comp.cpp @@ -194,8 +194,6 @@ recheck: * Do the hard part. */ func = do_compile(fcinfo, proc_tup, func, &hashkey, for_validator); - if (ENABLE_CN_GPC) - set_func_expr_unique_id(func); } ReleaseSysCache(proc_tup); diff --git a/src/common/pl/plpgsql/src/pl_exec.cpp b/src/common/pl/plpgsql/src/pl_exec.cpp old mode 100755 new mode 100644 index e1bddb344..5fcfd3360 --- a/src/common/pl/plpgsql/src/pl_exec.cpp +++ b/src/common/pl/plpgsql/src/pl_exec.cpp @@ -56,9 +56,7 @@ #include "instruments/instr_unique_sql.h" extern bool checkRecompileCondition(CachedPlanSource* plansource); - static const char* const raise_skip_msg = "RAISE"; - typedef struct { int nargs; /* number of arguments */ Oid* types; /* types of arguments */ @@ -133,7 +131,6 @@ static int exchange_parameters( PLpgSQL_execstate* estate, PLpgSQL_stmt_dynexecute* dynstmt, List* stmts, int* ppdindex, int* datumindex); static bool is_anonymous_block(const char* query); static int exec_stmt_dynfors(PLpgSQL_execstate* estate, PLpgSQL_stmt_dynfors* stmt); - static void plpgsql_estate_setup(PLpgSQL_execstate* estate, PLpgSQL_function* func, ReturnSetInfo* rsi); void exec_eval_cleanup(PLpgSQL_execstate* estate); @@ -201,14 +198,15 @@ static void BindCursorWithPortal(Portal portal, PLpgSQL_execstate *estate, int v static char* transformAnonymousBlock(char* query); static bool needRecompilePlan(SPIPlanPtr plan); -#ifndef ENABLE_MULTIPLE_NODES -static PQ_ParamInfo* build_query_params(PLpgSQL_execstate *estate, PLpgSQL_nsitem *ns_start); -#else +#ifdef ENABLE_MULTIPLE_NODES static void rebuild_exception_subtransaction_chain(PLpgSQL_execstate* estate); #endif static void stp_check_transaction_and_set_resource_owner(ResourceOwner oldResourceOwner,TransactionId oldTransactionId); static void stp_check_transaction_and_create_econtext(PLpgSQL_execstate* estate,TransactionId oldTransactionId); + +bool plpgsql_get_current_value_stp_with_exception(); +void plpgsql_restore_current_value_stp_with_exception(bool saved_current_stp_with_exception); /* ---------- * plpgsql_check_line_validity Called by the debugger plugin for * validating a given linenumber @@ -308,12 +306,12 @@ Datum plpgsql_exec_function(PLpgSQL_function* func, FunctionCallInfo fcinfo, boo ErrorContextCallback plerrcontext; int i; int rc; - + bool saved_current_stp_with_exception; /* * Setup the execution state */ plpgsql_estate_setup(&estate, func, (ReturnSetInfo*)fcinfo->resultinfo); - + saved_current_stp_with_exception = plpgsql_get_current_value_stp_with_exception(); /* * Setup error traceback support for ereport() */ @@ -626,7 +624,7 @@ Datum plpgsql_exec_function(PLpgSQL_function* func, FunctionCallInfo fcinfo, boo * Pop the error context stack */ t_thrd.log_cxt.error_context_stack = plerrcontext.previous; - + plpgsql_restore_current_value_stp_with_exception(saved_current_stp_with_exception); /* * Return the function's result */ @@ -1459,13 +1457,6 @@ static int exec_stmt_block(PLpgSQL_execstate* estate, PLpgSQL_stmt_block* block) int n; SubTransactionId subXid = InvalidSubTransactionId; -#ifndef ENABLE_MULTIPLE_NODES - /* autonomous transaction */ - AutonomousSession atsession(NULL); - if (block->autonomous && IsValidAutonomousTransaction(estate, block)) { - estate->autonomous_session = &atsession; - } -#endif /* * First initialize all variables declared in this block */ @@ -1548,7 +1539,7 @@ static int exec_stmt_block(PLpgSQL_execstate* estate, PLpgSQL_stmt_block* block) if (block->exceptions != NULL) { u_sess->SPI_cxt.portal_stp_exception_counter++; - + plpgsql_set_current_value_stp_with_exception(); /* * Execute the statements in the block's body inside a sub-transaction */ @@ -1578,7 +1569,6 @@ static int exec_stmt_block(PLpgSQL_execstate* estate, PLpgSQL_stmt_block* block) OverrideStackEntry *entry = NULL; Assert (u_sess->catalog_cxt.overrideStack != NULL); - u_sess->SPI_cxt.portal_stp_exception_counter--; entry = (OverrideStackEntry *) linitial(u_sess->catalog_cxt.overrideStack); @@ -1631,10 +1621,19 @@ static int exec_stmt_block(PLpgSQL_execstate* estate, PLpgSQL_stmt_block* block) plpgsql_create_econtext(estate); estate->err_text = NULL; - +#ifndef ENABLE_MULTIPLE_NODES + if (IsAutonomousTransaction(estate, block)) { + AttachToAutonomousSession(estate, block); + } +#endif /* Run the block's statements */ rc = exec_stmts(estate, block->body); +#ifndef ENABLE_MULTIPLE_NODES + if (IsAutonomousTransaction(estate, block)) { + DetachToAutonomousSession(estate); + } +#endif estate->err_text = gettext_noop("during statement block exit"); /* @@ -1664,7 +1663,6 @@ static int exec_stmt_block(PLpgSQL_execstate* estate, PLpgSQL_stmt_block* block) // Get last transaction's ResourceOwner. stp_check_transaction_and_set_resource_owner(oldOwner,oldTransactionId); - u_sess->SPI_cxt.portal_stp_exception_counter--; /* @@ -1685,7 +1683,7 @@ static int exec_stmt_block(PLpgSQL_execstate* estate, PLpgSQL_stmt_block* block) { ErrorData* edata = NULL; ListCell* e = NULL; - + stp_retore_old_xact_stmt_state(savedisAllowCommitRollback); u_sess->SPI_cxt.is_stp = savedIsSTP; u_sess->SPI_cxt.is_proconfig_set = savedProConfigIsSet; @@ -1705,6 +1703,11 @@ static int exec_stmt_block(PLpgSQL_execstate* estate, PLpgSQL_stmt_block* block) t_thrd.xact_cxt.bInAbortTransaction = false; FlushErrorState(); +#ifndef ENABLE_MULTIPLE_NODES + if (IsAutonomousTransaction(estate, block)) { + DetachToAutonomousSession(estate); + } +#endif if (edata->sqlerrcode == ERRCODE_OPERATOR_INTERVENTION || edata->sqlerrcode == ERRCODE_QUERY_CANCELED || edata->sqlerrcode == ERRCODE_QUERY_INTERNAL_CANCEL || @@ -1715,7 +1718,6 @@ static int exec_stmt_block(PLpgSQL_execstate* estate, PLpgSQL_stmt_block* block) edata->sqlerrcode == ERRCODE_RU_STOP_QUERY) { SetInstrNull(); } - u_sess->SPI_cxt.portal_stp_exception_counter--; /* Abort the inner transaction */ @@ -1834,8 +1836,35 @@ static int exec_stmt_block(PLpgSQL_execstate* estate, PLpgSQL_stmt_block* block) * Just execute the statements in the block's body */ estate->err_text = NULL; - +#ifdef ENABLE_MULTIPLE_NODES rc = exec_stmts(estate, block->body); +#else + if (IsAutonomousTransaction(estate, block)) { + AttachToAutonomousSession(estate, block); + + MemoryContext oldcontext = CurrentMemoryContext; + PG_TRY(); + { + rc = exec_stmts(estate, block->body); + + DetachToAutonomousSession(estate); + } + PG_CATCH(); + { + /* here to make sure closing session properly when error happens in exec_stmts, then rethrow error */ + MemoryContextSwitchTo(oldcontext); + ErrorData* edata = CopyErrorData(); + FlushErrorState(); + + DetachToAutonomousSession(estate); + + ReThrowError(edata); + } + PG_END_TRY(); + } else { + rc = exec_stmts(estate, block->body); + } +#endif stp_retore_old_xact_stmt_state(savedisAllowCommitRollback); u_sess->SPI_cxt.is_stp = savedIsSTP; @@ -1843,9 +1872,6 @@ static int exec_stmt_block(PLpgSQL_execstate* estate, PLpgSQL_stmt_block* block) } estate->err_text = NULL; -#ifndef ENABLE_MULTIPLE_NODES - estate->autonomous_session = NULL; -#endif /* * Handle the return code. @@ -1882,7 +1908,6 @@ static int exec_stmt_block(PLpgSQL_execstate* estate, PLpgSQL_stmt_block* block) errmsg("unrecognized return code: %d for PLSQL function.", rc))); break; } - return PLPGSQL_RC_OK; } @@ -2243,20 +2268,7 @@ static int exec_stmt_perform(PLpgSQL_execstate* estate, PLpgSQL_stmt_perform* st TransactionId oldTransactionId = SPI_get_top_transaction_id(); PLpgSQL_expr* expr = stmt->expr; int rc; -#ifndef ENABLE_MULTIPLE_NODES - /* autonomous transaction */ - if (estate->autonomous_session) { - if (expr) { - PQ_ParamInfo* pinfo = build_query_params(estate, expr->ns); - ATResult atresult = estate->autonomous_session->ExecQueryWithParams(expr->query, pinfo); - exec_set_found(estate, atresult.withtuple); - return PLPGSQL_RC_OK; - } else { - ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), errmsg("Syntax error: perform error"))); - } - - } -#endif + rc = exec_run_select(estate, expr, 0, NULL); if (rc != SPI_OK_SELECT) { ereport(DEBUG1, @@ -3799,7 +3811,6 @@ static void plpgsql_estate_setup(PLpgSQL_execstate* estate, PLpgSQL_function* fu func->cur_estate = estate; estate->func = func; - estate->retval = (Datum)0; estate->retisnull = true; estate->rettype = InvalidOid; @@ -3964,80 +3975,6 @@ static void exec_prepare_plan(PLpgSQL_execstate* estate, PLpgSQL_expr* expr, int exec_simple_check_plan(expr); } -#ifndef ENABLE_MULTIPLE_NODES -static PQ_ParamInfo* build_query_params(PLpgSQL_execstate *estate, PLpgSQL_nsitem *ns_start) -{ - PQ_ParamInfo* pinfo = NULL; - int nparams = 0; - - /* form param types */ - PLpgSQL_nsitem* nsitem = NULL; - List* names = NIL; - List* types = NIL; - for (nsitem = ns_start; nsitem; nsitem = nsitem->prev) { - if (nsitem->itemtype == PLPGSQL_NSTYPE_VAR) { - PLpgSQL_datum* datum; - PLpgSQL_var* var; - Oid typoid; - Value* name; - - if (strcmp(nsitem->name, "found") == 0) - continue; // XXX - ereport(DEBUG2, (errmodule(MOD_PLSQL), errmsg("namespace item variable itemno %d, name %s", - nsitem->itemno, nsitem->name))); - datum = estate->datums[nsitem->itemno]; - Assert(datum->dtype == PLPGSQL_DTYPE_VAR); - var = (PLpgSQL_var*) datum; - name = makeString(nsitem->name); - typoid = var->datatype->typoid; - if (!list_member(names, name)) { - names = lappend(names, name); - types = lappend_oid(types, typoid); - } - } - } - - Assert(list_length(names) == list_length(types)); - nparams = list_length(names); - - pinfo = (PQ_ParamInfo*)palloc(sizeof(PQ_ParamInfo)); - InitPQParamInfo(pinfo, nparams); - - ListCell* lctype; - int i = 0; - foreach(lctype, types) { - pinfo->paramtypes[i++] = lfirst_oid(lctype); - } - - /* form param values */ - Datum* values = (Datum *)palloc(nparams * sizeof(*values)); - bool* nulls = (bool *)palloc(nparams * sizeof(*nulls)); - for (i = 0; i < nparams; i++) { - nulls[i] = true; - } - - for (int i = 0; i < nparams; ++i) { - if (nulls[i]) { - pinfo->paramvalues[i] = NULL; - pinfo->paramlengths[i] = 0; - } else { - Oid typsend; - bool typisvarlena; - bytea *outputbytes = NULL; - - getTypeBinaryOutputInfo(pinfo->paramtypes[i], &typsend, &typisvarlena); - outputbytes = OidSendFunctionCall(typsend, values[i]); - - pinfo->paramvalues[i] = VARDATA(outputbytes); - pinfo->paramlengths[i] = VARSIZE(outputbytes) - VARHDRSZ; - } - pinfo->paramformats[i] = PQ_FORMAT_BINARY; - } - - return pinfo; -} -#endif - /* ---------- * exec_stmt_execsql Execute an SQL statement (possibly with INTO). * ---------- @@ -4052,15 +3989,7 @@ static int exec_stmt_execsql(PLpgSQL_execstate* estate, PLpgSQL_stmt_execsql* st bool has_alloc = false; TransactionId oldTransactionId = SPI_get_top_transaction_id(); -#ifndef ENABLE_MULTIPLE_NODES - /* autonomous transaction */ - if (estate->autonomous_session) { - PQ_ParamInfo* pinfo = build_query_params(estate, stmt->sqlstmt->ns); - ATResult atresult = estate->autonomous_session->ExecQueryWithParams(expr->query, pinfo); - exec_set_found(estate, atresult.withtuple); - return PLPGSQL_RC_OK; - } -#endif + /* * On the first call for this statement generate the plan, and detect * whether the statement is INSERT/UPDATE/DELETE/MERGE @@ -4092,6 +4021,14 @@ static int exec_stmt_execsql(PLpgSQL_execstate* estate, PLpgSQL_stmt_execsql* st if (ENABLE_CN_GPC && g_instance.plan_cache->CheckRecreateSPICachePlan(expr->plan)) { g_instance.plan_cache->RecreateSPICachePlan(expr->plan); } +#ifndef ENABLE_MULTIPLE_NODES + /* autonomous transaction */ + if (estate->autonomous_session && IsValidAutonomousTransactionQuery(STMT_SQL, expr, stmt->into)) { + ATResult atresult = estate->autonomous_session->ExecSimpleQuery(expr->query); + exec_set_found(estate, atresult.withtuple); + return PLPGSQL_RC_OK; + } +#endif /* * Set up ParamListInfo (hook function and possibly data values) @@ -4169,6 +4106,7 @@ static int exec_stmt_execsql(PLpgSQL_execstate* estate, PLpgSQL_stmt_execsql* st case SPI_OK_UPDATE_RETURNING: case SPI_OK_DELETE_RETURNING: case SPI_OK_MERGE: + SPI_forbid_exec_push_down_with_exception(); AssertEreport(stmt->mod_stmt, MOD_PLSQL, "mod stmt is required."); exec_set_found(estate, (SPI_processed != 0)); exec_set_sql_cursor_found(estate, (SPI_processed != 0) ? PLPGSQL_TRUE : PLPGSQL_FALSE); @@ -4179,6 +4117,7 @@ static int exec_stmt_execsql(PLpgSQL_execstate* estate, PLpgSQL_stmt_execsql* st case SPI_OK_SELINTO: case SPI_OK_UTILITY: + SPI_forbid_exec_push_down_with_exception(); AssertEreport(!stmt->mod_stmt, MOD_PLSQL, "It should not be mod stmt."); break; @@ -4302,7 +4241,23 @@ static int exec_stmt_execsql(PLpgSQL_execstate* estate, PLpgSQL_stmt_execsql* st /* ---------- * exec_into_dynexecute Process INTO in a dynamic SQL query + * stmt_execsql Execute an SQL statement (possibly with INTO). * ---------- + * we forbid a shippable function has exception that other SQL or Function rely + * on the exception results,the shippable function may get different results , + * because the exception declare start a subtransaction in DN node, + * and different DN node may get different result. + * create or replace function test1 return int shippable + * as + * declare + * a int; + * begin + * select col1 from test into a; + * return a; + * exception when others then + * select col2 from test into a; + * return a; + * end; */ static void exec_into_dynexecute(PLpgSQL_execstate* estate, PLpgSQL_stmt_dynexecute* stmt) { @@ -4434,7 +4389,6 @@ static void exec_set_attr_dynexecute(PLpgSQL_execstate *estate, int exec_res, ch return; } - /* ---------- * exec_stmt_dynexecute Execute a dynamic SQL query * (possibly with INTO). @@ -4476,11 +4430,11 @@ static int exec_stmt_dynexecute(PLpgSQL_execstate* estate, PLpgSQL_stmt_dynexecu exec_eval_cleanup(estate); #ifndef ENABLE_MULTIPLE_NODES - if (estate->autonomous_session) { + if (estate->autonomous_session && IsValidAutonomousTransactionQuery(STMT_DYNAMIC, stmt->query, stmt->into)) { estate->autonomous_session->ExecSimpleQuery(querystr); return PLPGSQL_RC_OK; } -#endif +#endif if (stmt->params != NULL) { stmt->ppd = (void*)exec_eval_using_params(estate, stmt->params); } @@ -4557,11 +4511,7 @@ static int exec_stmt_dynexecute(PLpgSQL_execstate* estate, PLpgSQL_stmt_dynexecu /* normal way: for only one statement in dynamic query */ if (stmt->into) { - if (stmt->strict) { - tcount = 2; - } else { - tcount = 1; - } + tcount = stmt->strict ? 2 : 1; } else { tcount = 0; } @@ -6342,6 +6292,15 @@ static int exec_run_select(PLpgSQL_execstate* estate, PLpgSQL_expr* expr, long m if (ENABLE_CN_GPC && g_instance.plan_cache->CheckRecreateSPICachePlan(expr->plan)) { g_instance.plan_cache->RecreateSPICachePlan(expr->plan); } +#ifndef ENABLE_MULTIPLE_NODES + /* autonomous transaction */ + PLpgSQL_exectype etype = (maxtuples == 0 && portalP == NULL) ? STMT_PERFORM : STMT_UNKNOW; + if (estate->autonomous_session && IsValidAutonomousTransactionQuery(etype, expr, false)) { + ATResult atresult = estate->autonomous_session->ExecSimpleQuery(expr->query); + exec_set_found(estate, atresult.withtuple); + return PLPGSQL_RC_OK; + } +#endif /* * Set up ParamListInfo (hook function and possibly data values) @@ -8429,3 +8388,40 @@ void plpgsql_HashTableDeleteFunc(Oid func_oid) u_sess->plsql_cxt.is_delete_function = false; } +/* + * Description: record the current stp is execute with a exception or not,it used in the situation + * that function or procedure have exception declare, DDL or DML SQL, is pushed down to a DN node,it + * will cause the data inconsistency,for example. + * create function return int shippable + * insert into test values(1); + * return 1; + * exception when others then + * return 2; + * / + * Parameters: void + * Return: void + */ +bool plpgsql_get_current_value_stp_with_exception() +{ + return u_sess->SPI_cxt.current_stp_with_exception; +} + +/* + * Description: restore the current stp is execute with a exception or not,it used in the sitation + * that a procedure with procedure called by another procedure.Other information in the + * plpgsql_get_current_value_stp_with_exception function's commented. + * Parameters: void + * Return: void + */ +void plpgsql_restore_current_value_stp_with_exception(bool saved_current_stp_with_exception) +{ + u_sess->SPI_cxt.current_stp_with_exception = saved_current_stp_with_exception; +} + +/* + * Description: set current stp with exception value true + */ +void plpgsql_set_current_value_stp_with_exception() +{ + u_sess->SPI_cxt.current_stp_with_exception = true; +} diff --git a/src/common/pl/plpgsql/src/pl_funcs.cpp b/src/common/pl/plpgsql/src/pl_funcs.cpp old mode 100755 new mode 100644 diff --git a/src/common/pl/plpgsql/src/pl_handler.cpp b/src/common/pl/plpgsql/src/pl_handler.cpp index 9f01fd81c..ebb221ac0 100644 --- a/src/common/pl/plpgsql/src/pl_handler.cpp +++ b/src/common/pl/plpgsql/src/pl_handler.cpp @@ -175,7 +175,7 @@ Datum plpgsql_call_handler(PG_FUNCTION_ARGS) // PGSTAT_INIT_PLSQL_TIME_RECORD int64 startTime = 0; bool needRecord = false; - + bool saved_current_stp_with_exception = false; /* * if the atomic stored in fcinfo is false means allow * commit/rollback within stored procedure. @@ -216,11 +216,9 @@ Datum plpgsql_call_handler(PG_FUNCTION_ARGS) } PGSTAT_START_PLSQL_TIME_RECORD(); - + saved_current_stp_with_exception = plpgsql_get_current_value_stp_with_exception(); /* Find or compile the function */ func = plpgsql_compile(fcinfo, false); - /* gpc's spi hash key */ - u_sess->SPI_cxt._current->spi_hash_key = SPICacheHashFunc(func->fn_hashkey, sizeof(PLpgSQL_func_hashkey)); PGSTAT_END_PLSQL_TIME_RECORD(PL_COMPILATION_TIME); @@ -268,6 +266,7 @@ Datum plpgsql_call_handler(PG_FUNCTION_ARGS) /* Decrement use-count, restore cur_estate, and propagate error */ func->use_count--; func->cur_estate = save_cur_estate; + plpgsql_restore_current_value_stp_with_exception(saved_current_stp_with_exception); // resume the search_path when there is an error PopOverrideSearchPath(); u_sess->misc_cxt.Pseudo_CurrentUserId = saved_Pseudo_CurrentUserId; @@ -348,6 +347,11 @@ Datum plpgsql_inline_handler(PG_FUNCTION_ARGS) int64 startTime = 0; bool needRecord = false; +#ifndef ENABLE_MULTIPLE_NODES + bool outerIsStream = u_sess->opt_cxt.is_stream; + bool outerIsStreamSupport = u_sess->opt_cxt.is_stream_support; +#endif + _PG_init(); AssertEreport(IsA(codeblock, InlineCodeBlock), MOD_PLSQL, "Inline code block is required."); @@ -356,8 +360,7 @@ Datum plpgsql_inline_handler(PG_FUNCTION_ARGS) * Connect to SPI manager */ if ((rc = SPI_connect_ext(DestSPI, NULL, NULL, codeblock->atomic ? 0 : SPI_OPT_NONATOMIC)) != SPI_OK_CONNECT) { - ereport(ERROR, - (errmodule(MOD_PLSQL), + ereport(ERROR, (errmodule(MOD_PLSQL), errcode(ERRCODE_SPI_CONNECTION_FAILURE), errmsg("SPI_connect failed: %s when execute anonymous block.", SPI_result_code_string(rc)))); } @@ -410,12 +413,16 @@ Datum plpgsql_inline_handler(PG_FUNCTION_ARGS) * Disconnect from SPI manager */ if ((rc = SPI_finish()) != SPI_OK_FINISH) { - ereport(ERROR, - (errmodule(MOD_PLSQL), + ereport(ERROR, (errmodule(MOD_PLSQL), errcode(ERRCODE_SPI_CONNECTION_FAILURE), errmsg("SPI_finish failed: %s when execute anonymous block.", SPI_result_code_string(rc)))); } +#ifndef ENABLE_MULTIPLE_NODES + u_sess->opt_cxt.is_stream = outerIsStream; + u_sess->opt_cxt.is_stream_support = outerIsStreamSupport; +#endif + return retval; } @@ -441,6 +448,11 @@ Datum plpgsql_validator(PG_FUNCTION_ARGS) bool istrigger = false; int i; +#ifndef ENABLE_MULTIPLE_NODES + bool outerIsStream = u_sess->opt_cxt.is_stream; + bool outerIsStreamSupport = u_sess->opt_cxt.is_stream_support; +#endif + _PG_init(); if (!CheckFunctionValidatorAccess(fcinfo->flinfo->fn_oid, funcoid)) { @@ -498,8 +510,7 @@ Datum plpgsql_validator(PG_FUNCTION_ARGS) * Connect to SPI manager (is this needed for compilation?) */ if ((rc = SPI_connect()) != SPI_OK_CONNECT) { - ereport(ERROR, - (errmodule(MOD_PLSQL), + ereport(ERROR, (errmodule(MOD_PLSQL), errcode(ERRCODE_SPI_CONNECTION_FAILURE), errmsg("SPI_connect failed: %s when validate function.", SPI_result_code_string(rc)))); } @@ -528,13 +539,17 @@ Datum plpgsql_validator(PG_FUNCTION_ARGS) * Disconnect from SPI manager */ if ((rc = SPI_finish()) != SPI_OK_FINISH) { - ereport(ERROR, - (errmodule(MOD_PLSQL), + ereport(ERROR, (errmodule(MOD_PLSQL), errcode(ERRCODE_SPI_CONNECTION_FAILURE), errmsg("SPI_connect failed: %s when validate function.", SPI_result_code_string(rc)))); } } +#ifndef ENABLE_MULTIPLE_NODES + u_sess->opt_cxt.is_stream = outerIsStream; + u_sess->opt_cxt.is_stream_support = outerIsStreamSupport; +#endif + ReleaseSysCache(tuple); PG_RETURN_VOID(); diff --git a/src/common/pl/plpgsql/src/pl_scanner.cpp b/src/common/pl/plpgsql/src/pl_scanner.cpp old mode 100755 new mode 100644 diff --git a/src/common/pl/plpgsql/src/plpgsql.h b/src/common/pl/plpgsql/src/plpgsql.h old mode 100755 new mode 100644 index e0c5f4968..213cce2f8 --- a/src/common/pl/plpgsql/src/plpgsql.h +++ b/src/common/pl/plpgsql/src/plpgsql.h @@ -764,7 +764,6 @@ typedef struct PLpgSQL_function { /* Complete compiled function */ typedef struct PLpgSQL_execstate { /* Runtime execution data */ PLpgSQL_function* func; /* function being executed */ - Datum retval; bool retisnull; Oid rettype; /* type of current retval */ @@ -932,7 +931,9 @@ extern bool plpgsql_check_colocate(Query* query, RangeTblEntry* rte, void* plpgs extern void plpgsql_HashTableDeleteAll(); extern void plpgsql_HashTableDeleteFunc(Oid func_oid); extern void plpgsql_HashTableDelete(PLpgSQL_function* func); - +extern bool plpgsql_get_current_value_stp_with_exception(); +extern void plpgsql_restore_current_value_stp_with_exception(bool saved_current_stp_with_exception); +extern void plpgsql_set_current_value_stp_with_exception(); /* ---------- * Functions in pl_handler.c * ---------- diff --git a/src/common/pl/plpgsql/src/plsql_packages.cpp b/src/common/pl/plpgsql/src/plsql_packages.cpp index 2e71a70ed..d9879ac6b 100644 --- a/src/common/pl/plpgsql/src/plsql_packages.cpp +++ b/src/common/pl/plpgsql/src/plsql_packages.cpp @@ -91,8 +91,8 @@ Datum rawtohex(PG_FUNCTION_ARGS) /* report self-defined error: -20999 <= errorcode <= -20000 */ Datum report_application_error(PG_FUNCTION_ARGS) { -#ifndef ENABLE_MULTIPLE_NODES - DISTRIBUTED_FEATURE_NOT_SUPPORTED(); +#if ((!defined(ENABLE_MULTIPLE_NODES)) && (!defined(ENABLE_PRIVATEGAUSS))) + DISTRIBUTED_FEATURE_NOT_SUPPORTED(); #endif char* log = NULL; int errnum = 0; diff --git a/src/common/port/chklocale.cpp b/src/common/port/chklocale.cpp old mode 100755 new mode 100644 index 2cbb9a568..be5b9dd19 --- a/src/common/port/chklocale.cpp +++ b/src/common/port/chklocale.cpp @@ -384,9 +384,15 @@ int pg_get_encoding_from_locale(const char* ctype, bool write_message) /* keep newline separate so there's only one translatable string */ fputc('\n', stderr); #else +#if ((defined(ENABLE_MULTIPLE_NODES)) || (defined(ENABLE_PRIVATEGAUSS))) ereport(WARNING, (errmsg("could not determine encoding for locale \"%s\": codeset is \"%s\"", ctype, sys), - errdetail("Please report this to ."))); + errdetail("Please report this to GaussDB support."))); +#else + ereport(WARNING, + (errmsg("could not determine encoding for locale \"%s\": codeset is \"%s\"", ctype, sys), + errdetail("Please report this to openGauss community by raising an issue."))); +#endif #endif } #ifdef FRONTEND diff --git a/src/common/port/dirent.cpp b/src/common/port/dirent.cpp old mode 100755 new mode 100644 diff --git a/src/common/port/exec.cpp b/src/common/port/exec.cpp old mode 100755 new mode 100644 diff --git a/src/common/port/getaddrinfo.cpp b/src/common/port/getaddrinfo.cpp old mode 100755 new mode 100644 diff --git a/src/common/port/gethostname.cpp b/src/common/port/gethostname.cpp old mode 100755 new mode 100644 diff --git a/src/common/port/gs_readdir.cpp b/src/common/port/gs_readdir.cpp old mode 100755 new mode 100644 diff --git a/src/common/port/gs_thread.cpp b/src/common/port/gs_thread.cpp old mode 100755 new mode 100644 index b090b0d64..92cb25472 --- a/src/common/port/gs_thread.cpp +++ b/src/common/port/gs_thread.cpp @@ -466,7 +466,7 @@ void gs_thread_exit(int code) (void)gs_signal_deletetimer(); /* free the locale cache */ - freeLocaleCacheAtThreadExit(); + freeLocaleCache(true); /* release llvm context memory */ CodeGenThreadTearDown(); diff --git a/src/common/port/inet_net_ntop.cpp b/src/common/port/inet_net_ntop.cpp old mode 100755 new mode 100644 diff --git a/src/common/port/path.cpp b/src/common/port/path.cpp old mode 100755 new mode 100644 diff --git a/src/common/port/pgmkdirp.cpp b/src/common/port/pgmkdirp.cpp old mode 100755 new mode 100644 diff --git a/src/common/port/pgsleep.cpp b/src/common/port/pgsleep.cpp old mode 100755 new mode 100644 diff --git a/src/common/port/pgstrcasecmp.cpp b/src/common/port/pgstrcasecmp.cpp old mode 100755 new mode 100644 diff --git a/src/common/port/random.cpp b/src/common/port/random.cpp old mode 100755 new mode 100644 diff --git a/src/common/port/snprintf.cpp b/src/common/port/snprintf.cpp old mode 100755 new mode 100644 diff --git a/src/common/port/sprompt.cpp b/src/common/port/sprompt.cpp old mode 100755 new mode 100644 diff --git a/src/common/port/thread.cpp b/src/common/port/thread.cpp old mode 100755 new mode 100644 diff --git a/src/common/port/unsetenv.cpp b/src/common/port/unsetenv.cpp old mode 100755 new mode 100644 diff --git a/src/common/timezone/ialloc.cpp b/src/common/timezone/ialloc.cpp old mode 100755 new mode 100644 diff --git a/src/common/timezone/localtime.cpp b/src/common/timezone/localtime.cpp old mode 100755 new mode 100644 diff --git a/src/common/timezone/pgtz.cpp b/src/common/timezone/pgtz.cpp old mode 100755 new mode 100644 diff --git a/src/common/timezone/scheck.cpp b/src/common/timezone/scheck.cpp old mode 100755 new mode 100644 diff --git a/src/common/timezone/strftime.cpp b/src/common/timezone/strftime.cpp old mode 100755 new mode 100644 diff --git a/src/common/tutorial/complex.cpp b/src/common/tutorial/complex.cpp old mode 100755 new mode 100644 diff --git a/src/common/tutorial/funcs_new.cpp b/src/common/tutorial/funcs_new.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/Makefile b/src/gausskernel/Makefile index b828fd2d5..0819dffec 100644 --- a/src/gausskernel/Makefile +++ b/src/gausskernel/Makefile @@ -87,12 +87,16 @@ ifeq ($(enable_gstrace), yes) OBJS += $(top_builddir)/src/lib/gstrace/common/gstrace_infra.o endif -ifeq ($(enable_multiple_nodes), yes) +ifneq ($(enable_multiple_nodes)_$(enable_privategauss), no_no) OBJS += $(top_builddir)/src/distribute/lib/hotpatch/hotpatch.o \ - $(top_builddir)/src/distribute/gtm/client/libgtmclient.a \ - $(top_builddir)/src/distribute/gtm/common/libgtmcommon.a \ $(top_builddir)/src/distribute/lib/hotpatch/common/libhotpatchcommon.a endif + +ifeq ($(enable_multiple_nodes), yes) + OBJS += $(top_builddir)/src/distribute/gtm/client/libgtmclient.a \ + $(top_builddir)/src/distribute/gtm/common/libgtmcommon.a +endif + OBJS += $(top_builddir)/src/lib/hotpatch/client/libhotpatchclient.a # We put libpgport into OBJS, so remove it from LIBS; also add libldap @@ -451,7 +455,7 @@ submake-libplpgsql: | submake-fmgroids $(top_builddir)/src/common/interfaces/libpq/libpq.a: $(MAKE) -C $(top_builddir)/src/common/interfaces/libpq -ifeq ($(enable_multiple_nodes), yes) +ifneq ($(enable_multiple_nodes)_$(enable_privategauss), no_no) $(top_builddir)/src/distribute/gtm/common/libgtmcommon.a: $(MAKE) -C $(top_builddir)/src/distribute/gtm/common libgtmcommon.a @@ -658,7 +662,6 @@ ifeq ($(enable_thread_check), yes) cp $(top_builddir)/$(BUILD_TOOLS_PATH)/gcc$(subst .0,,$(CC_VERSION))/gcc/lib64/libtsan.so.0 '$(DESTDIR)$(libdir)/' cp $(top_builddir)/$(BUILD_TOOLS_PATH)/gcc$(subst .0,,$(CC_VERSION))/gcc/lib64/libtsan.so.0.0.0 '$(DESTDIR)$(libdir)/' endif - cp $(top_builddir)/buildtools/server_key/* '$(DESTDIR)$(bindir)/' else cp $(with_3rd)/$(BUILD_TOOLS_PATH)/gcc$(subst .0,,$(CC_VERSION))/gcc/lib64/libstdc++.so.6 '$(DESTDIR)$(libdir)/' cp $(with_3rd)/$(BUILD_TOOLS_PATH)/gcc$(subst .0,,$(CC_VERSION))/gcc/lib64/libgcc_s.so.1 '$(DESTDIR)$(libdir)/' @@ -670,9 +673,8 @@ ifeq ($(enable_thread_check), yes) cp $(with_3rd)/$(BUILD_TOOLS_PATH)/gcc$(subst .0,,$(CC_VERSION))/gcc/lib64/libtsan.so.0 '$(DESTDIR)$(libdir)/' cp $(with_3rd)/$(BUILD_TOOLS_PATH)/gcc$(subst .0,,$(CC_VERSION))/gcc/lib64/libtsan.so.0.0.0 '$(DESTDIR)$(libdir)/' endif - cp $(with_3rd)/buildtools/server_key/* '$(DESTDIR)$(bindir)/' endif - cp -r $(with_3rd)/platform/$(PLAT_FORM_STR)/openjdk8/jdk1.8.0_222/jre/* '$(DESTDIR)$(bindir)/../jre/' + cp -r $(with_jdk)/jre/* '$(DESTDIR)$(bindir)/../jre/' cp $(PLJAVA_LIB_PATH)/* '$(DESTDIR)$(libdir)/' cp $(PLJAVA_JAR_PATH)/$(JARPLJAVA) '$(DESTDIR)$(pkglibdir)/java/' diff --git a/src/gausskernel/Makefile_for_llt b/src/gausskernel/Makefile_for_llt old mode 100644 new mode 100755 index 0164334b2..b1dd6dfba --- a/src/gausskernel/Makefile_for_llt +++ b/src/gausskernel/Makefile_for_llt @@ -484,7 +484,6 @@ endif cp -d $(LZ4_LIB_PATH)/liblz4* '$(DESTDIR)$(libdir)/' cp -d $(CJSON_LIB_PATH)/libcjson* '$(DESTDIR)$(libdir)/' cp -d $(HLL_LIB_PATH)/libhll* '$(DESTDIR)$(libdir)/' - cp $(top_builddir)/../buildtools/server_key/* '$(DESTDIR)$(bindir)/' cp $(PLJAVA_LIB_PATH)/* '$(DESTDIR)$(libdir)/' cp $(PLJAVA_JAR_PATH)/$(JARPLJAVA) '$(DESTDIR)$(pkglibdir)/java/' cp -r $(top_builddir)/../$(BUILD_TOOLS_PATH)/jdk8/jdk1.8.0_77/jre/* '$(DESTDIR)$(bindir)/../jre/' diff --git a/src/gausskernel/bootstrap/Makefile b/src/gausskernel/bootstrap/Makefile index 1d1e747bb..4d73a5837 100644 --- a/src/gausskernel/bootstrap/Makefile +++ b/src/gausskernel/bootstrap/Makefile @@ -25,7 +25,7 @@ include $(top_srcdir)/src/gausskernel/common.mk # bootscanner is compiled as part of bootparse -bootparse.o: bootscanner.cpp +bootparse.o: bootscanner.inc bootparse.cpp: bootparse.y $(top_builddir)/src/mtlocal.pl ifdef BISON @@ -35,15 +35,15 @@ else @$(missing) bison $< $@ endif -bootscanner.cpp: bootscanner.l $(top_builddir)/src/mtlocal.pl +bootscanner.inc: bootscanner.l $(top_builddir)/src/mtlocal.pl ifdef FLEX $(FLEX) $(FLEXFLAGS) -o'$@' $< - $(PERL) $(top_builddir)/src/mtlocal.pl $(srcdir)/bootscanner.cpp - sed -i 's/YY_NULL/YY_ZERO/g' bootscanner.cpp + $(PERL) $(top_builddir)/src/mtlocal.pl $(srcdir)/bootscanner.inc + sed -i 's/YY_NULL/YY_ZERO/g' bootscanner.inc else @$(missing) flex $< $@ endif -# bootparse.cpp and bootscanner.cpp are in the distribution tarball, so +# bootparse.cpp and bootscanner.inc are in the distribution tarball, so # they are not cleaned here. diff --git a/src/gausskernel/bootstrap/bootparse.y b/src/gausskernel/bootstrap/bootparse.y index 7f9d35b11..a69bcfc79 100755 --- a/src/gausskernel/bootstrap/bootparse.y +++ b/src/gausskernel/bootstrap/bootparse.y @@ -491,4 +491,4 @@ boot_ident : ; %% -#include "bootscanner.cpp" +#include "bootscanner.inc" diff --git a/src/gausskernel/bootstrap/bootstrap.cpp b/src/gausskernel/bootstrap/bootstrap.cpp old mode 100755 new mode 100644 index b97fed9fa..fc4fa394f --- a/src/gausskernel/bootstrap/bootstrap.cpp +++ b/src/gausskernel/bootstrap/bootstrap.cpp @@ -188,6 +188,8 @@ void BootStrapProcessMain(int argc, char* argv[]) /* * initialize globals */ + PostmasterPid = gs_thread_self(); + t_thrd.proc_cxt.MyProcPid = gs_thread_self(); t_thrd.proc_cxt.MyStartTime = time(NULL); diff --git a/src/gausskernel/cbb/communication/libcomm.cpp b/src/gausskernel/cbb/communication/libcomm.cpp old mode 100755 new mode 100644 index 00488a5d4..6a753e348 --- a/src/gausskernel/cbb/communication/libcomm.cpp +++ b/src/gausskernel/cbb/communication/libcomm.cpp @@ -261,6 +261,8 @@ void gs_set_reply_sock(int node_idx) g_instance.comm_cxt.g_r_node_sock[recv_idx].lock(); g_instance.comm_cxt.g_r_node_sock[recv_idx].libcomm_reply_sock = g_instance.comm_cxt.g_senders->sender_conn[node_idx].socket; + g_instance.comm_cxt.g_r_node_sock[recv_idx].libcomm_reply_sock_id = + g_instance.comm_cxt.g_senders->sender_conn[node_idx].socket_id; g_instance.comm_cxt.g_r_node_sock[recv_idx].unlock(); break; } @@ -2443,6 +2445,10 @@ bool get_next_comm_delay_info(CommDelayInfo* delay_info) uint32 delay_max = 0; uint32 delay_sum = 0; + if (g_instance.comm_cxt.g_delay_survey_switch == false) { + g_instance.comm_cxt.g_delay_survey_start_time = mc_timers_ms(); + LIBCOMM_ELOG(LOG, "delay survey switch is open"); + } g_instance.comm_cxt.g_delay_survey_switch = true; /* if node index is invalid, return false */ diff --git a/src/gausskernel/cbb/communication/libcomm_common.cpp b/src/gausskernel/cbb/communication/libcomm_common.cpp index 77a38089a..1743b43f2 100644 --- a/src/gausskernel/cbb/communication/libcomm_common.cpp +++ b/src/gausskernel/cbb/communication/libcomm_common.cpp @@ -216,6 +216,7 @@ void node_sock::reset_all() { ctrl_tcp_port = -1; ctrl_tcp_sock_id = 0; libcomm_reply_sock = -1; + libcomm_reply_sock_id = -1; errno_t ss_rc = 0; ss_rc = memset_s(remote_host, HOST_ADDRSTRLEN, 0x0, HOST_ADDRSTRLEN); securec_check(ss_rc, "\0", "\0"); diff --git a/src/gausskernel/cbb/communication/libcomm_common.h b/src/gausskernel/cbb/communication/libcomm_common.h index 93f3eca49..74bf06973 100644 --- a/src/gausskernel/cbb/communication/libcomm_common.h +++ b/src/gausskernel/cbb/communication/libcomm_common.h @@ -457,6 +457,7 @@ struct node_sock { // int ctrl_tcp_sock_id; int libcomm_reply_sock; + int libcomm_reply_sock_id; void reset_all(); void init(); void clear(); diff --git a/src/gausskernel/cbb/communication/libcomm_utils/libcomm_adapter.cpp b/src/gausskernel/cbb/communication/libcomm_utils/libcomm_adapter.cpp index 2cd232afb..a6b6be19b 100644 --- a/src/gausskernel/cbb/communication/libcomm_utils/libcomm_adapter.cpp +++ b/src/gausskernel/cbb/communication/libcomm_utils/libcomm_adapter.cpp @@ -1282,6 +1282,7 @@ void gs_delay_survey() { int node_idx = -1; int socket = -1; + int socket_id = -1; errno_t ss_rc = 0; struct libcomm_delay_package msg; @@ -1297,11 +1298,13 @@ void gs_delay_survey() } socket = g_instance.comm_cxt.g_senders->sender_conn[node_idx].socket; + socket_id = g_instance.comm_cxt.g_senders->sender_conn[node_idx].socket_id; msg.sn = libcomm_delay_no; msg.start_time = (uint32)mc_timers_us(); LibcommSendInfo send_info; send_info.socket = socket; + send_info.socket_id = socket_id; send_info.node_idx = node_idx; send_info.streamid = 0; send_info.version = 0; diff --git a/src/gausskernel/cbb/communication/libcomm_utils/libcomm_thread.cpp b/src/gausskernel/cbb/communication/libcomm_utils/libcomm_thread.cpp index 0e1583cff..7b0270cb6 100644 --- a/src/gausskernel/cbb/communication/libcomm_utils/libcomm_thread.cpp +++ b/src/gausskernel/cbb/communication/libcomm_utils/libcomm_thread.cpp @@ -685,28 +685,31 @@ cleanup_capacity: * -1: failed. * >=0: reply socket. */ -int gs_get_libcomm_reply_socket(int recv_idx) +static void gs_get_libcomm_reply_socket(int recv_idx, struct sock_id *fd_id) { - int socket = g_instance.comm_cxt.g_r_node_sock[recv_idx].libcomm_reply_sock; + fd_id->fd = g_instance.comm_cxt.g_r_node_sock[recv_idx].libcomm_reply_sock; + fd_id->id = g_instance.comm_cxt.g_r_node_sock[recv_idx].libcomm_reply_sock_id; - if (socket >= 0) { - return socket; + if (fd_id->fd >= 0) { + return; } for (int send_idx = 0; send_idx < g_instance.comm_cxt.counters_cxt.g_cur_node_num; send_idx++) { if (strcmp(g_instance.comm_cxt.g_r_node_sock[recv_idx].remote_nodename, g_instance.comm_cxt.g_s_node_sock[send_idx].remote_nodename) == 0) { - socket = g_instance.comm_cxt.g_senders->sender_conn[send_idx].socket; + fd_id->fd = g_instance.comm_cxt.g_senders->sender_conn[send_idx].socket; + fd_id->id = g_instance.comm_cxt.g_senders->sender_conn[send_idx].socket_id; // save data reply socket in g_r_node_sock g_instance.comm_cxt.g_r_node_sock[recv_idx].lock(); - g_instance.comm_cxt.g_r_node_sock[recv_idx].libcomm_reply_sock = socket; + g_instance.comm_cxt.g_r_node_sock[recv_idx].libcomm_reply_sock = fd_id->fd; + g_instance.comm_cxt.g_r_node_sock[recv_idx].libcomm_reply_sock_id = fd_id->id; g_instance.comm_cxt.g_r_node_sock[recv_idx].unlock(); break; } } - return socket; + return; } /* @@ -717,7 +720,6 @@ void gs_delay_analysis() { struct c_mailbox* cmailbox = NULL; int node_idx = 0; - int socket = -1; struct iovec* iov = NULL; struct mc_lqueue_item* q_item = NULL; @@ -754,12 +756,13 @@ void gs_delay_analysis() msg = (struct libcomm_delay_package*)iov->iov_base; uint32 delay = 0; int delay_array_idx = -1; + struct sock_id fd_id = {-1, -1}; switch (msg->type) { // set reply_time and reply libcomm delay message case LIBCOMM_PKG_TYPE_DELAY_REQUEST: // we get reply socket from g_s_node_sock - socket = gs_get_libcomm_reply_socket(node_idx); - if (socket < 0) { + gs_get_libcomm_reply_socket(node_idx, &fd_id); + if (fd_id.fd < 0) { break; } @@ -767,7 +770,8 @@ void gs_delay_analysis() msg->reply_time = (uint32)mc_timers_us(); LibcommSendInfo send_info; - send_info.socket = socket; + send_info.socket = fd_id.fd; + send_info.socket_id = fd_id.id; send_info.node_idx = node_idx; send_info.streamid = 0; send_info.version = 0; @@ -1612,12 +1616,14 @@ void commAuxiliaryLoop(uint64* last_print_time) /* step3: check other request */ gs_check_requested(); - /* step4: send/receive delay survey messages and analysis */ + /* step4: send delay survey messages */ if (g_instance.comm_cxt.g_delay_survey_switch) { gs_delay_survey(); - gs_delay_analysis(); } + /* step5: receive delay survey messages and analysis whether switch is on */ + gs_delay_analysis(); + #ifdef LIBCOMM_SPEED_TEST_ENABLE libcomm_performance_test(); #endif @@ -1628,8 +1634,14 @@ void commAuxiliaryLoop(uint64* last_print_time) gs_online_change_capacity(); } + current_time = mc_timers_ms(); + if ((g_instance.comm_cxt.g_delay_survey_switch) && + (g_instance.comm_cxt.g_delay_survey_start_time + g_print_interval_time < current_time)) { + g_instance.comm_cxt.g_delay_survey_switch = false; + LIBCOMM_ELOG(LOG, "delay survey switch is close"); + } + if (g_instance.comm_cxt.commutil_cxt.g_debug_mode) { - current_time = mc_timers_ms(); if (*last_print_time + g_print_interval_time < current_time) { print_stream_sock_info(); *last_print_time = current_time; diff --git a/src/gausskernel/cbb/grpc/rpc_server.cpp b/src/gausskernel/cbb/grpc/rpc_server.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/cbb/instruments/ash/Makefile b/src/gausskernel/cbb/instruments/ash/Makefile old mode 100644 new mode 100755 diff --git a/src/gausskernel/cbb/instruments/ash/ash.cpp b/src/gausskernel/cbb/instruments/ash/ash.cpp index f9702737c..6818f5df6 100644 --- a/src/gausskernel/cbb/instruments/ash/ash.cpp +++ b/src/gausskernel/cbb/instruments/ash/ash.cpp @@ -248,6 +248,7 @@ static void CleanAspTable() PG_TRY(); { StartTransactionCommand(); + PushActiveSnapshot(GetTransactionSnapshot()); HeapTuple tuple = NULL; Relation pg_asp_tbl = heap_open(GsAspRelationId, RowExclusiveLock); TableScanDesc scan = tableam_scan_begin(pg_asp_tbl, SnapshotNow, 0, NULL); @@ -263,11 +264,13 @@ static void CleanAspTable() } tableam_scan_end(scan); heap_close(pg_asp_tbl, RowExclusiveLock); + PopActiveSnapshot(); CommitTransactionCommand(); } PG_CATCH(); { ereport(WARNING, (errcode(ERRCODE_WARNING), errmsg("clean gs_asp table failed"))); + PopActiveSnapshot(); AbortCurrentTransaction(); PG_RE_THROW(); } @@ -840,6 +843,7 @@ static void WriteActiveSessInfo() PG_TRY(); { StartTransactionCommand(); + PushActiveSnapshot(GetTransactionSnapshot()); for (uint32 i = 0; i < active_sess_hist_arrary->max_size; i++) { SessionHistEntry *ash_arrary_slot = active_sess_hist_arrary->active_sess_hist_info + i; if (ash_arrary_slot->need_flush_sample) { @@ -853,11 +857,13 @@ static void WriteActiveSessInfo() } } } + PopActiveSnapshot(); CommitTransactionCommand(); } PG_CATCH(); { ereport(WARNING, (errcode(ERRCODE_WARNING), errmsg("flush pg_asp table into disk failed"))); + PopActiveSnapshot(); AbortCurrentTransaction(); PG_RE_THROW(); } diff --git a/src/gausskernel/cbb/instruments/ash/wait_event_info.cpp b/src/gausskernel/cbb/instruments/ash/wait_event_info.cpp index b147a69f7..aff6246fb 100644 --- a/src/gausskernel/cbb/instruments/ash/wait_event_info.cpp +++ b/src/gausskernel/cbb/instruments/ash/wait_event_info.cpp @@ -30,7 +30,7 @@ typedef struct EventInfo { char* type; char* event; } EventInfo; -#define WAIT_EVENT_SIZE 248 +#define WAIT_EVENT_SIZE 249 struct EventInfo waitEventInfo[WAIT_EVENT_SIZE] = { {"none", "STATUS", "none"}, {"LWLock", "STATUS", "acquire lwlock"}, @@ -280,6 +280,7 @@ struct EventInfo waitEventInfo[WAIT_EVENT_SIZE] = { {"Transaction", "LWLOCK_EVENT", "OldSerXid SLRU Ctl"}, {"WAL", "LWLOCK_EVENT", "WALInsertLock"}, {"DoubleWrite", "LWLOCK_EVENT", "DoubleWriteLock"}, + {"Dbmind", "LWLOCK_EVENT", "HypoIndexLock"}, {"Plugin", "LWLOCK_EVENT", "GeneralExtendedLock"}, {"plugin", "LWLOCK_EVENT", "extension"}, {"plugin", "LWLOCK_EVENT", "extension"} diff --git a/src/gausskernel/cbb/instruments/event/instr_waitevent.cpp b/src/gausskernel/cbb/instruments/event/instr_waitevent.cpp index a98e4e649..571ed3454 100644 --- a/src/gausskernel/cbb/instruments/event/instr_waitevent.cpp +++ b/src/gausskernel/cbb/instruments/event/instr_waitevent.cpp @@ -61,15 +61,9 @@ static void updateMaxValueForAtomicType(int64 new_val, volatile int64* max) /* * updateMinValueForAtomicType - update ming value for atomic type */ -static void updateMinValueForAtomicType(int64 new_val, volatile int64* mix, int counter) +static void updateMinValueForAtomicType(int64 new_val, volatile int64* mix) { int64 prev; - if (counter == 0) { - prev = *mix; - (void)gs_compare_and_swap_64(mix, prev, new_val); - return; - } - do { prev = *mix; } while ((prev == 0 || prev > new_val) && !gs_compare_and_swap_64(mix, prev, new_val)); @@ -126,8 +120,7 @@ static void updateWaitStatusInfo(WaitInfo* gsInstrWaitInfo, WaitStatusInfo statu continue; } updateMinValueForAtomicType(status_info.statistics_info[i].min_duration, - &(gsInstrWaitInfo->status_info.statistics_info[i].min_duration), - gsInstrWaitInfo->status_info.statistics_info[i].counter); + &(gsInstrWaitInfo->status_info.statistics_info[i].min_duration)); updateMaxValueForAtomicType(status_info.statistics_info[i].max_duration, &(gsInstrWaitInfo->status_info.statistics_info[i].max_duration)); gsInstrWaitInfo->status_info.statistics_info[i].counter += status_info.statistics_info[i].counter; @@ -175,9 +168,13 @@ static void instr_wait_event_report_last_updated(volatile WaitStatisticsInfo* ev void UpdateWaitStatusStat(volatile WaitInfo* InstrWaitInfo, uint32 waitstatus, int64 duration) { + /* Because the time precision is microseconds, + * all actions less than microseconds are recorded as 0. + * When the duration is 0, we set the duration to 1 + */ + duration = (duration == 0) ? 1 : duration; updateMinValueForAtomicType(duration, - &(InstrWaitInfo->status_info.statistics_info[waitstatus].min_duration), - InstrWaitInfo->status_info.statistics_info[waitstatus].counter); + &(InstrWaitInfo->status_info.statistics_info[waitstatus].min_duration)); InstrWaitInfo->status_info.statistics_info[waitstatus].counter++; InstrWaitInfo->status_info.statistics_info[waitstatus].total_duration += duration; updateMaxValueForAtomicType(duration, &(InstrWaitInfo->status_info.statistics_info[waitstatus].max_duration)); @@ -191,12 +188,15 @@ void UpdateWaitEventStat(volatile WaitInfo* InstrWaitInfo, uint32 wait_event_inf if (eventId == UINT32_MAX) { return; } - + /* Because the time precision is microseconds, + * all actions less than microseconds are recorded as 0. + * When the duration is 0, we set the duration to 1 + */ + duration = (duration == 0) ? 1 : duration; switch (classId) { case PG_WAIT_LWLOCK: updateMinValueForAtomicType(duration, - &(InstrWaitInfo->event_info.lwlock_info[eventId].min_duration), - InstrWaitInfo->event_info.lwlock_info[eventId].counter); + &(InstrWaitInfo->event_info.lwlock_info[eventId].min_duration)); InstrWaitInfo->event_info.lwlock_info[eventId].counter++; InstrWaitInfo->event_info.lwlock_info[eventId].total_duration += duration; updateMaxValueForAtomicType(duration, &(InstrWaitInfo->event_info.lwlock_info[eventId].max_duration)); @@ -204,8 +204,7 @@ void UpdateWaitEventStat(volatile WaitInfo* InstrWaitInfo, uint32 wait_event_inf break; case PG_WAIT_LOCK: updateMinValueForAtomicType(duration, - &(InstrWaitInfo->event_info.lock_info[eventId].min_duration), - InstrWaitInfo->event_info.lock_info[eventId].counter); + &(InstrWaitInfo->event_info.lock_info[eventId].min_duration)); InstrWaitInfo->event_info.lock_info[eventId].counter++; InstrWaitInfo->event_info.lock_info[eventId].total_duration += duration; updateMaxValueForAtomicType(duration, &(InstrWaitInfo->event_info.lock_info[eventId].max_duration)); @@ -214,8 +213,7 @@ void UpdateWaitEventStat(volatile WaitInfo* InstrWaitInfo, uint32 wait_event_inf case PG_WAIT_IO: if (wait_event_info != WAIT_EVENT_WAL_BUFFER_ACCESS) { updateMinValueForAtomicType(duration, - &(InstrWaitInfo->event_info.io_info[eventId].min_duration), - InstrWaitInfo->event_info.io_info[eventId].counter); + &(InstrWaitInfo->event_info.io_info[eventId].min_duration)); InstrWaitInfo->event_info.io_info[eventId].counter++; InstrWaitInfo->event_info.io_info[eventId].total_duration += duration; updateMaxValueForAtomicType(duration, &(InstrWaitInfo->event_info.io_info[eventId].max_duration)); @@ -264,7 +262,7 @@ void CollectWaitInfo(WaitInfo* gsInstrWaitInfo, WaitStatusInfo status_info, Wait update_max_last_updated(io_info, event_info.io_info[i].last_updated); if (event_info.io_info[i].counter != 0) { updateMinValueForAtomicType(event_info.io_info[i].min_duration, - &io_info->min_duration, io_info->counter); + &io_info->min_duration); updateMaxValueForAtomicType(event_info.io_info[i].max_duration, &io_info->max_duration); io_info->counter += event_info.io_info[i].counter; io_info->total_duration += event_info.io_info[i].total_duration; @@ -279,7 +277,7 @@ void CollectWaitInfo(WaitInfo* gsInstrWaitInfo, WaitStatusInfo status_info, Wait update_max_last_updated(lock_info, event_info.lock_info[i].last_updated); if (event_info.lock_info[i].counter != 0) { updateMinValueForAtomicType(event_info.lock_info[i].min_duration, - &lock_info->min_duration, lock_info->counter); + &lock_info->min_duration); updateMaxValueForAtomicType(event_info.lock_info[i].max_duration, &lock_info->max_duration); lock_info->counter += event_info.lock_info[i].counter; lock_info->failed_counter += event_info.lock_info[i].failed_counter; @@ -295,7 +293,7 @@ void CollectWaitInfo(WaitInfo* gsInstrWaitInfo, WaitStatusInfo status_info, Wait update_max_last_updated(lwlock_info, event_info.lwlock_info[i].last_updated); if (event_info.lwlock_info[i].counter != 0) { updateMinValueForAtomicType(event_info.lwlock_info[i].min_duration, - &lwlock_info->min_duration, lwlock_info->counter); + &lwlock_info->min_duration); updateMaxValueForAtomicType(event_info.lwlock_info[i].max_duration, &lwlock_info->max_duration); lwlock_info->counter += event_info.lwlock_info[i].counter; lwlock_info->failed_counter += event_info.lwlock_info[i].failed_counter; diff --git a/src/gausskernel/cbb/instruments/statement/instr_handle_mgr.cpp b/src/gausskernel/cbb/instruments/statement/instr_handle_mgr.cpp index 5716a85ad..30c32857e 100644 --- a/src/gausskernel/cbb/instruments/statement/instr_handle_mgr.cpp +++ b/src/gausskernel/cbb/instruments/statement/instr_handle_mgr.cpp @@ -31,7 +31,10 @@ { \ if (!ENABLE_STATEMENT_TRACK) { \ return; \ - } \ + } else if (u_sess->statement_cxt.statement_level[0] == STMT_TRACK_OFF && \ + u_sess->statement_cxt.statement_level[1] == STMT_TRACK_OFF) { \ + return; \ + } \ } /* reset the reused handle from freelist */ diff --git a/src/gausskernel/cbb/instruments/statement/instr_statement.cpp b/src/gausskernel/cbb/instruments/statement/instr_statement.cpp index 70691544e..6c58747e0 100644 --- a/src/gausskernel/cbb/instruments/statement/instr_statement.cpp +++ b/src/gausskernel/cbb/instruments/statement/instr_statement.cpp @@ -73,6 +73,17 @@ #define STATEMENT_DETAILS_HEAD_SIZE (1 + 1) /* [VERSION] + [TRUNCATED] */ #define INSTR_STMT_UNIX_DOMAIN_PORT (-1) +/* lock/lwlock's detail information */ +typedef struct { + StmtDetailType type; /* statement details kind. */ + const LOCKTAG *locktag; /* for Lock, this field is used. */ + uint16 lwlockId; /* for LWLock, this field is used. */ + int lockmode; /* lockmode for this request. */ +} StmtLockDetail; + +static bytea* get_statement_detail(StatementDetail *text, bool oom); +static bool is_valid_detail_record(uint32 bytea_data_len, const char *details, uint32 details_len); + static List* split_levels_into_list(const char* levels) { List *result = NIL; @@ -249,8 +260,6 @@ static void ProcessSignal(void) } \ } while (0) -bytea *get_statement_detail(StatementDetail *detail); - static void set_stmt_row_activity_cache_io(StatementStatContext* statementInfo, Datum values[], int* i) { /* row activity */ @@ -351,15 +360,12 @@ static HeapTuple GetStatementTuple(Relation rel, StatementStatContext* statement set_stmt_lock_summary(&statementInfo->lock_summary, values, &i); /* lock detail */ - if (statementInfo->details.n_items == 0) { + if (unlikely(statementInfo->details.oom)) { + values[i++] = PointerGetDatum(get_statement_detail(&statementInfo->details, true)); + } else if (statementInfo->details.n_items == 0) { nulls[i++] = true; } else { - bytea *details = get_statement_detail(&statementInfo->details); - if (details == NULL) { - nulls[i++] = true; - } else { - values[i++] = PointerGetDatum(details); - } + values[i++] = PointerGetDatum(get_statement_detail(&statementInfo->details, false)); } /* is slow sql */ @@ -497,6 +503,7 @@ static void CleanStatementTable() PG_TRY(); { StartTransactionCommand(); + PushActiveSnapshot(GetTransactionSnapshot()); /* get statement_history relation and index oid */ RangeVar* relrv = InitStatementRel(); Relation rel = heap_openrv(relrv, RowExclusiveLock); @@ -510,6 +517,7 @@ static void CleanStatementTable() CleanStatementByIdx(rel, statementTimeIndexId, t_thrd.statement_cxt.slow_sql_retention_time, true); CleanStatementByIdx(rel, statementTimeIndexId, t_thrd.statement_cxt.full_sql_retention_time, false); heap_close(rel, RowExclusiveLock); + PopActiveSnapshot(); CommitTransactionCommand(); } PG_CATCH(); @@ -520,6 +528,7 @@ static void CleanStatementTable() errmsg("[Statement] delete statement_history table failed, cause: %s", edata->message))); FlushErrorState(); FreeErrorData(edata); + PopActiveSnapshot(); AbortCurrentTransaction(); } PG_END_TRY(); @@ -528,7 +537,6 @@ static void CleanStatementTable() static void FlushStatementToTable(StatementStatContext* suspendList, const knl_u_statement_context* statementCxt) { Assert (suspendList != NULL); - RangeVar* relrv = InitStatementRel(); HeapTuple tuple = NULL; StatementStatContext *flushItem = suspendList; @@ -537,6 +545,8 @@ static void FlushStatementToTable(StatementStatContext* suspendList, const knl_u PG_TRY(); { StartTransactionCommand(); + PushActiveSnapshot(GetTransactionSnapshot()); + RangeVar* relrv = InitStatementRel(); Relation rel = heap_openrv(relrv, RowExclusiveLock); while (flushItem != NULL) { tuple = GetStatementTuple(rel, flushItem, statementCxt); @@ -546,6 +556,7 @@ static void FlushStatementToTable(StatementStatContext* suspendList, const knl_u flushItem = (StatementStatContext *)flushItem->next; } heap_close(rel, RowExclusiveLock); + PopActiveSnapshot(); CommitTransactionCommand(); } PG_CATCH(); @@ -559,6 +570,7 @@ static void FlushStatementToTable(StatementStatContext* suspendList, const knl_u ereport(WARNING, (errmodule(MOD_INSTR), errmsg("[Statement] flush suspend list to statement_history failed, reason: '%s'", edata->message))); FreeErrorData(edata); + PopActiveSnapshot(); AbortCurrentTransaction(); } PG_END_TRY(); @@ -754,7 +766,7 @@ NON_EXEC_STATIC void CleanStatementMain() } -size_t get_statement_detail_size(StatementDetailType type) +size_t get_statement_detail_size(StmtDetailType type) { switch (type) { case LOCK_START: @@ -783,12 +795,11 @@ size_t get_statement_detail_size(StatementDetailType type) } } -void* get_statement_detail_struct(StatementDetailType type, - int lockmode = -1, const LOCKTAG *locktag = NULL, uint16 lwlockId = 0) +static void* get_stmt_lock_detail(const StmtLockDetail *detail, TimestampTz curTime, size_t *size) { void *info = NULL; - switch (type) { + switch (detail->type) { case LOCK_START: case LOCK_WAIT_START: case LOCK_RELEASE: @@ -796,10 +807,11 @@ void* get_statement_detail_struct(StatementDetailType type, if (info == NULL) { break; } - ((LockEventStartInfo *)info)->eventType = (char)type; - ((LockEventStartInfo *)info)->timestamp = GetCurrentTimestamp(); - ((LockEventStartInfo *)info)->tag = *locktag; - ((LockEventStartInfo *)info)->mode = (LOCKMODE)lockmode; + ((LockEventStartInfo *)info)->eventType = (char)detail->type; + ((LockEventStartInfo *)info)->timestamp = curTime; + ((LockEventStartInfo *)info)->tag = *detail->locktag; + ((LockEventStartInfo *)info)->mode = (LOCKMODE)detail->lockmode; + *size = sizeof(LockEventStartInfo); break; case LWLOCK_START: case LWLOCK_WAIT_START: @@ -808,10 +820,11 @@ void* get_statement_detail_struct(StatementDetailType type, if (info == NULL) { break; } - ((LWLockEventStartInfo *)info)->eventType = (char)type; - ((LWLockEventStartInfo *)info)->timestamp = GetCurrentTimestamp(); - ((LWLockEventStartInfo *)info)->id = lwlockId; - ((LWLockEventStartInfo *)info)->mode = (LWLockMode)lockmode; + ((LWLockEventStartInfo *)info)->eventType = (char)detail->type; + ((LWLockEventStartInfo *)info)->timestamp = curTime; + ((LWLockEventStartInfo *)info)->id = detail->lwlockId; + ((LWLockEventStartInfo *)info)->mode = (LWLockMode)detail->lockmode; + *size = sizeof(LWLockEventStartInfo); break; case LOCK_END: case LOCK_WAIT_END: @@ -821,8 +834,9 @@ void* get_statement_detail_struct(StatementDetailType type, if (info == NULL) { break; } - ((LockEventEndInfo *)info)->eventType = (char)type; - ((LockEventEndInfo *)info)->timestamp = GetCurrentTimestamp(); + ((LockEventEndInfo *)info)->eventType = (char)detail->type; + ((LockEventEndInfo *)info)->timestamp = curTime; + *size = sizeof(LockEventEndInfo); break; case TYPE_INVALID: default: @@ -832,7 +846,7 @@ void* get_statement_detail_struct(StatementDetailType type, return info; } -bool statement_extend_detail_item(StatementStatContext *ssctx, bool first) +static bool statement_extend_detail_item(StatementStatContext *ssctx, bool first) { MemoryContext oldcontext = MemoryContextSwitchTo(u_sess->statement_cxt.stmt_stat_cxt); StatementDetailItem *item = (StatementDetailItem *)palloc0_noexcept(sizeof(StatementDetailItem)); @@ -840,6 +854,7 @@ bool statement_extend_detail_item(StatementStatContext *ssctx, bool first) if (item == NULL) { ereport(LOG, (errmodule(MOD_INSTR), errmsg("[Statement] detail is lost due to OOM."))); + ssctx->details.oom = true; return false; } @@ -862,7 +877,7 @@ bool statement_extend_detail_item(StatementStatContext *ssctx, bool first) return true; } -void *palloc_statement_detail(StatementDetailType type) +void *palloc_statement_detail(StmtDetailType type) { void *info = NULL; switch (type) { @@ -889,7 +904,7 @@ void *palloc_statement_detail(StatementDetailType type) return info; } -const char* get_statement_event_type(StatementDetailType type) +const char* get_statement_event_type(StmtDetailType type) { switch (type) { case LOCK_START: @@ -918,66 +933,65 @@ const char* get_statement_event_type(StatementDetailType type) } } -void *check_statement_detail_info_record(StatementStatContext *ssctx, StatementDetailType type, - int lockmode, const LOCKTAG *locktag, uint16 lwlockId) +static bool check_statement_detail_info_record(StatementStatContext *ssctx, const char *detail) { - if (u_sess->attr.attr_common.track_stmt_details_size == 0) { - return NULL; + if (u_sess->attr.attr_common.track_stmt_details_size == 0 || ssctx->details.oom) { + return false; } if (ssctx->details.n_items > 0 && u_sess->attr.attr_common.track_stmt_details_size < (ssctx->details.n_items - 1) * STATEMENT_DETAIL_BUFSIZE + ssctx->details.cur_pos) { ssctx->details.head->buf[1] = (char)STATEMENT_DETAIL_TRUNCATED; - return NULL; + return false; } - return get_statement_detail_struct(type, lockmode, locktag, lwlockId); + if (detail == NULL) { + ssctx->details.oom = true; + return false; + } + + return true; } -void statement_detail_info_record(StatementStatContext *ssctx, StatementDetailType type, - int lockmode, const LOCKTAG *locktag, uint16 lwlockId) +static void statement_detail_info_record(StatementStatContext *ssctx, const char *detail, size_t detailSize) { - void *info = check_statement_detail_info_record(ssctx, type, lockmode, locktag, lwlockId); - if (info == NULL) { - return; - } + errno_t rc; + + if (!check_statement_detail_info_record(ssctx, detail)) + return; - size_t detailSize = get_statement_detail_size(type); Assert(detailSize < STATEMENT_DETAIL_BUFSIZE); - errno_t rc; if (ssctx->details.n_items <= 0) { if (statement_extend_detail_item(ssctx, true)) { rc = memcpy_s(ssctx->details.tail->buf + ssctx->details.cur_pos, - STATEMENT_DETAIL_BUFSIZE - ssctx->details.cur_pos, info, detailSize); + STATEMENT_DETAIL_BUFSIZE - ssctx->details.cur_pos, detail, detailSize); securec_check(rc, "", ""); ssctx->details.cur_pos += detailSize; } } else if (ssctx->details.cur_pos + detailSize <= STATEMENT_DETAIL_BUFSIZE) { rc = memcpy_s(ssctx->details.tail->buf + ssctx->details.cur_pos, - STATEMENT_DETAIL_BUFSIZE - ssctx->details.cur_pos, info, detailSize); + STATEMENT_DETAIL_BUFSIZE - ssctx->details.cur_pos, detail, detailSize); securec_check(rc, "", ""); ssctx->details.cur_pos += detailSize; } else { size_t last = STATEMENT_DETAIL_BUFSIZE - ssctx->details.cur_pos; if (last > 0) { - rc = memcpy_s(ssctx->details.tail->buf + ssctx->details.cur_pos, last, info, last); + rc = memcpy_s(ssctx->details.tail->buf + ssctx->details.cur_pos, last, detail, last); securec_check(rc, "", ""); } if (statement_extend_detail_item(ssctx, false)) { rc = memcpy_s(ssctx->details.tail->buf, - STATEMENT_DETAIL_BUFSIZE, (char *)info + last, detailSize - last); + STATEMENT_DETAIL_BUFSIZE, detail + last, detailSize - last); securec_check(rc, "", ""); ssctx->details.cur_pos += detailSize - last; } } - - pfree(info); } -void update_statement_lock_cnt(StatementStatContext *ssctx, StatementDetailType type, int lockmode) +void update_stmt_lock_cnt(StatementStatContext *ssctx, StmtDetailType type, int lockmode) { switch (type) { case LOCK_START: @@ -1007,59 +1021,63 @@ void update_statement_lock_cnt(StatementStatContext *ssctx, StatementDetailType } } -void update_statement_time(StatementStatContext *ssctx, StatementDetailType type) +static void update_stmt_lock_time(StatementStatContext *ssctx, StmtDetailType type, TimestampTz curTime) { switch (type) { case LOCK_START: - ssctx->lock_summary.lock_start_time = GetCurrentTimestamp(); + ssctx->lock_summary.lock_start_time = curTime; break; case LOCK_END: - ssctx->lock_summary.lock_time += GetCurrentTimestamp() - ssctx->lock_summary.lock_start_time; + ssctx->lock_summary.lock_time += curTime - ssctx->lock_summary.lock_start_time; break; case LOCK_WAIT_START: - ssctx->lock_summary.lock_wait_start_time = GetCurrentTimestamp(); + ssctx->lock_summary.lock_wait_start_time = curTime; break; case LOCK_WAIT_END: - ssctx->lock_summary.lock_wait_time += GetCurrentTimestamp() - ssctx->lock_summary.lock_wait_start_time; + ssctx->lock_summary.lock_wait_time += curTime - ssctx->lock_summary.lock_wait_start_time; break; case LWLOCK_START: - ssctx->lock_summary.lwlock_start_time = GetCurrentTimestamp(); + ssctx->lock_summary.lwlock_start_time = curTime; break; case LWLOCK_END: - ssctx->lock_summary.lwlock_time += GetCurrentTimestamp() - ssctx->lock_summary.lwlock_start_time; + ssctx->lock_summary.lwlock_time += curTime - ssctx->lock_summary.lwlock_start_time; break; case LWLOCK_WAIT_START: - ssctx->lock_summary.lwlock_wait_start_time = GetCurrentTimestamp(); + ssctx->lock_summary.lwlock_wait_start_time = curTime; break; case LWLOCK_WAIT_END: - ssctx->lock_summary.lwlock_wait_time += GetCurrentTimestamp() - ssctx->lock_summary.lwlock_wait_start_time; + ssctx->lock_summary.lwlock_wait_time += curTime - ssctx->lock_summary.lwlock_wait_start_time; break; default: break; } } -void statement_full_info_record(StatementDetailType type, int lockmode, const LOCKTAG *locktag, uint16 lwlockId) +void instr_stmt_report_lock(StmtDetailType type, int lockmode, const LOCKTAG *locktag, uint16 lwlockId) { StatementStatContext *ssctx = (StatementStatContext *)u_sess->statement_cxt.curStatementMetrics; - if (ssctx == NULL) { - return; - } - switch (ssctx->level) { - case STMT_TRACK_L2: - statement_detail_info_record(ssctx, type, lockmode, locktag, lwlockId); - /* fall-through */ - case STMT_TRACK_L1: - update_statement_time(ssctx, type); - /* fall-through */ - case STMT_TRACK_L0: - /* always capture the lock count */ - update_statement_lock_cnt(ssctx, type, lockmode); - break; - case LEVEL_INVALID: - default: - break; + if (likely(ssctx != NULL)) { + Assert(ssctx->level == STMT_TRACK_L0 || + ssctx->level == STMT_TRACK_L1 || ssctx->level == STMT_TRACK_L2); + + /* always capture the lock count */ + update_stmt_lock_cnt(ssctx, type, lockmode); + + if (ssctx->level != STMT_TRACK_L0) { + TimestampTz curTime = GetCurrentTimestamp(); + + update_stmt_lock_time(ssctx, type, curTime); + if (ssctx->level == STMT_TRACK_L2) { + size_t size = 0; + char *bytes = NULL; + StmtLockDetail detail = {type, locktag, lwlockId, lockmode}; + + bytes = (char*)get_stmt_lock_detail(&detail, curTime, &size); + statement_detail_info_record(ssctx, bytes, size); + pfree_ext(bytes); + } + } } } @@ -1088,9 +1106,8 @@ char *get_lock_mode_name(LOCKMODE mode) } } -void write_state_detail_lock_start(void *info, size_t *detailsCnt, char *details, size_t *detailsLen, bool pretty) +void write_state_detail_lock_start(void *info, size_t *detailsCnt, StringInfo resultBuf, bool pretty) { - char tmp[STATEMENT_DETAIL_BUF] = { 0 }; errno_t ret = 0; char formatStr[STATEMENT_DETAIL_BUF] = { 0 }; if (pretty) { @@ -1099,21 +1116,14 @@ void write_state_detail_lock_start(void *info, size_t *detailsCnt, char *details ret = strcpy_s(formatStr, STATEMENT_DETAIL_BUF, "'%lu'\t'%s'\t'%s'\t'%s'\t'%s',"); } securec_check(ret, "\0", "\0"); - ret = sprintf_s(tmp, - sizeof(tmp), - formatStr, - *detailsCnt, - get_statement_event_type((StatementDetailType)((LockEventStartInfo *)info)->eventType), + + char *lock_tag = LocktagToString(((LockEventStartInfo *)info)->tag); + appendStringInfo(resultBuf, formatStr, *detailsCnt, + get_statement_event_type((StmtDetailType)((LockEventStartInfo *)info)->eventType), timestamptz_to_str(((LockEventStartInfo *)info)->timestamp), - LocktagToString(((LockEventStartInfo *)info)->tag), + lock_tag, get_lock_mode_name(((LockEventStartInfo *)info)->mode)); - securec_check_ss(ret, "\0", "\0"); - if (*detailsLen < strlen(tmp)) { - return; - } - ret = strcat_s(details, *detailsLen, tmp); - securec_check(ret, "\0", "\0"); - *detailsLen -= strlen(tmp); + pfree(lock_tag); (*detailsCnt)++; } @@ -1131,9 +1141,8 @@ char *get_lwlock_mode_name(LWLockMode mode) } } -void write_state_detail_lwlock_start(void *info, size_t *detailsCnt, char *details, size_t *detailsLen, bool pretty) +void write_state_detail_lwlock_start(void *info, size_t *detailsCnt, StringInfo resultBuf, bool pretty) { - char tmp[STATEMENT_DETAIL_BUF] = { 0 }; errno_t ret = 0; char formatStr[STATEMENT_DETAIL_BUF] = { 0 }; if (pretty) { @@ -1142,27 +1151,16 @@ void write_state_detail_lwlock_start(void *info, size_t *detailsCnt, char *detai ret = strcpy_s(formatStr, STATEMENT_DETAIL_BUF, "'%lu'\t'%s'\t'%s'\t'%s'\t'%s',"); } securec_check(ret, "\0", "\0"); - ret = sprintf_s(tmp, - sizeof(tmp), - formatStr, - *detailsCnt, - get_statement_event_type((StatementDetailType)((LWLockEventStartInfo *)info)->eventType), + appendStringInfo(resultBuf, formatStr, *detailsCnt, + get_statement_event_type((StmtDetailType)((LWLockEventStartInfo *)info)->eventType), timestamptz_to_str(((LWLockEventStartInfo *)info)->timestamp), GetLWLockIdentifier(PG_WAIT_LWLOCK, ((LWLockEventStartInfo *)info)->id), get_lwlock_mode_name(((LWLockEventStartInfo *)info)->mode)); - securec_check_ss(ret, "\0", "\0"); - if (*detailsLen < strlen(tmp)) { - return; - } - ret = strcat_s(details, *detailsLen, tmp); - securec_check(ret, "\0", "\0"); - *detailsLen -= strlen(tmp); (*detailsCnt)++; } -void write_state_detail_end_event(void *info, size_t *detailsCnt, char *details, size_t *detailsLen, bool pretty) +void write_state_detail_end_event(void *info, size_t *detailsCnt, StringInfo resultBuf, bool pretty) { - char tmp[STATEMENT_DETAIL_BUF] = { 0 }; errno_t ret = 0; char formatStr[STATEMENT_DETAIL_BUF] = { 0 }; if (pretty) { @@ -1171,120 +1169,100 @@ void write_state_detail_end_event(void *info, size_t *detailsCnt, char *details, ret = strcpy_s(formatStr, STATEMENT_DETAIL_BUF, "'%lu'\t'%s'\t'%s',"); } securec_check(ret, "\0", "\0"); - ret = sprintf_s(tmp, - sizeof(tmp), - formatStr, - *detailsCnt, - get_statement_event_type((StatementDetailType)((LockEventEndInfo *)info)->eventType), + appendStringInfo(resultBuf, formatStr, *detailsCnt, + get_statement_event_type((StmtDetailType)((LockEventEndInfo *)info)->eventType), timestamptz_to_str(((LockEventEndInfo *)info)->timestamp)); - securec_check_ss(ret, "\0", "\0"); - if (*detailsLen < strlen(tmp)) { - return; - } - ret = strcat_s(details, strlen(details) + *detailsLen, tmp); - securec_check(ret, "\0", "\0"); - *detailsLen -= strlen(tmp); (*detailsCnt)++; } -void write_statement_detail_text(void *info, StatementDetailType type, char *details, size_t *detailsLen, bool pretty) +/* return true if run successfully */ +bool write_statement_detail_text(void *info, StmtDetailType type, StringInfo resultBuf, size_t *detailsCnt, bool pretty) { - static size_t detailsCnt = 1; - if (strcmp(get_statement_event_type(type), "TYPE_INVALID") == 0) { - return; - } - if (strlen(details) == 0) { - detailsCnt = 1; - } + bool result = false; switch (type) { case LOCK_START: case LOCK_WAIT_START: case LOCK_RELEASE: - write_state_detail_lock_start(info, &detailsCnt, details, detailsLen, pretty); + write_state_detail_lock_start(info, detailsCnt, resultBuf, pretty); + result = true; break; case LWLOCK_START: case LWLOCK_WAIT_START: case LWLOCK_RELEASE: - write_state_detail_lwlock_start(info, &detailsCnt, details, detailsLen, pretty); + write_state_detail_lwlock_start(info, detailsCnt, resultBuf, pretty); + result = true; break; case LOCK_END: case LOCK_WAIT_END: case LWLOCK_END: case LWLOCK_WAIT_END: - write_state_detail_end_event(info, &detailsCnt, details, detailsLen, pretty); + write_state_detail_end_event(info, detailsCnt, resultBuf, pretty); + result = true; break; case TYPE_INVALID: default: break; } -} - -char *palloc_statement_detail_string(uint32 nums) -{ - char *info = NULL; - info = (char *)palloc0_noexcept(nums); - errno_t rc = memset_s(info, nums, 0, nums); - securec_check(rc, "\0", "\0"); - return info; -} - -bytea *palloc_statement_detail_text(const char* s, uint32 len) -{ - text *info = NULL; - info = (text *)palloc0_noexcept(len + VARHDRSZ); - SET_VARSIZE(info, len + VARHDRSZ); - if (len > 0) { - int rc = memcpy_s(VARDATA(info), len, s, len); - securec_check(rc, "\0", "\0"); - } - return info; -} - -bytea *get_statement_detail(StatementDetail *detail) -{ - if (detail == NULL || detail->n_items <= 0) { - return NULL; - } - - uint32 detailsLen = sizeof(uint32) + (uint32)((detail->n_items - 1) * STATEMENT_DETAIL_BUFSIZE) + detail->cur_pos; - char *details = (char *)palloc_statement_detail_string(detailsLen); - int itemCnt = 0; - int rc = memcpy_s(details, detailsLen, &detailsLen, sizeof(uint32)); - securec_check(rc, "\0", "\0"); - - uint32 pos = sizeof(uint32); - for (StatementDetailItem *item = (StatementDetailItem *)(detail->head); item != NULL; - item = (StatementDetailItem *)(item->next)) { - itemCnt++; - - size_t itemSize = STATEMENT_DETAIL_BUFSIZE; - // the last item of list - if (itemCnt == detail->n_items) { - itemSize = detail->cur_pos; - } - - if (pos + itemSize > detailsLen) { - break; - } - rc = memcpy_s(details + pos, detailsLen - pos, item->buf, itemSize); - securec_check(rc, "\0", "\0"); - - pos += itemSize; - } - - bytea *result = (bytea*)palloc_statement_detail_text(details, detailsLen); - pfree_ext(details); return result; } -char *decode_statement_detail_text(bytea *detail, const char *format, bool pretty) +static bytea* get_statement_detail(StatementDetail *detail, bool oom) +{ + text *result = NULL; + uint32 size; + + Assert (detail != NULL && (oom || detail->n_items > 0)); + + if (oom) { + size = sizeof(uint32) + STATEMENT_DETAILS_HEAD_SIZE; + } else { + size = sizeof(uint32) + (uint32)((detail->n_items - 1) * STATEMENT_DETAIL_BUFSIZE) + detail->cur_pos; + } + + result = (text*)palloc(size + VARHDRSZ); + SET_VARSIZE(result, size + VARHDRSZ); + + int rc = memcpy_s(VARDATA(result), size, &size, sizeof(uint32)); + securec_check(rc, "\0", "\0"); + + char *details = VARDATA(result) + sizeof(uint32); + if (oom) { + details[0] = (char)STATEMENT_DETAIL_VERSION; + details[1] = (char)STATEMENT_DETAIL_MISSING_OOM; + } else { + uint32 pos = 0; + size_t itemSize; + + for (StatementDetailItem *item = detail->head; item != NULL; item = (StatementDetailItem *)(item->next)) { + itemSize = (item == detail->tail) ? detail->cur_pos : STATEMENT_DETAIL_BUFSIZE; + + rc = memcpy_s(details + pos, (size - pos - sizeof(uint32)), item->buf, itemSize); + securec_check(rc, "\0", "\0"); + pos += itemSize; + } + } + + return result; +} + +static void handle_detail_flag(char flag, StringInfo result) +{ + if (flag == STATEMENT_DETAIL_TRUNCATED) { + appendStringInfoString(result, "Truncated..."); + } else if (flag == STATEMENT_DETAIL_MISSING_OOM) { + appendStringInfoString(result, "Missing(OOM)..."); + } +} + +static char *decode_statement_detail_text(bytea *detail, const char *format, bool pretty) { if (strcmp(format, STATEMENT_DETAIL_FORMAT_STRING) != 0) { ereport(WARNING, ((errmodule(MOD_INSTR), errmsg("decode format should be 'plaintext'!")))); return NULL; } - if (VARSIZE(detail) - VARHDRSZ == 0) { + uint32 bytea_data_len = VARSIZE(detail) - VARHDRSZ; + if (bytea_data_len == 0) { return NULL; } @@ -1292,23 +1270,28 @@ char *decode_statement_detail_text(bytea *detail, const char *format, bool prett uint32 detailsLen = 0; int rc = memcpy_s(&detailsLen, sizeof(uint32), details, sizeof(uint32)); securec_check(rc, "\0", "\0"); - if (detailsLen == 0) { - return NULL; + + if (!is_valid_detail_record(bytea_data_len, details, detailsLen)) { + return pstrdup("invalid_detail_header_format"); } - size_t resultLen = detailsLen * STATEMENT_DETAIL_BUF_MULTI; - char *result = (char *)palloc_statement_detail_string(resultLen + 1); - bool truncatedFlag = (details[sizeof(uint32) + 1] == (char)STATEMENT_DETAIL_TRUNCATED); - + StringInfoData resultBuf; + initStringInfo(&resultBuf); + char flag = details[sizeof(uint32) + 1]; size_t pos = sizeof(uint32) + STATEMENT_DETAILS_HEAD_SIZE; - while (pos < detailsLen) { - StatementDetailType itemType = (StatementDetailType)details[pos]; + bool is_valid_record = true; + size_t detailsCnt = 1; + + while (pos < detailsLen && is_valid_record) { + StmtDetailType itemType = (StmtDetailType)details[pos]; size_t size = get_statement_detail_size(itemType); if (size == INVALID_DETAIL_BUFSIZE) { + is_valid_record = false; break; } if (pos + size > detailsLen) { - // invalid buf + /* invalid buf */ + is_valid_record = false; break; } void *info = palloc_statement_detail(itemType); @@ -1319,17 +1302,19 @@ char *decode_statement_detail_text(bytea *detail, const char *format, bool prett securec_check(rc, "", ""); pos += size; - // write to string - write_statement_detail_text(info, itemType, result, &resultLen, pretty); + /* write to string */ + is_valid_record = write_statement_detail_text(info, itemType, &resultBuf, &detailsCnt, pretty); pfree(info); } - - result[strlen(result) - 1] = '\0'; - if (truncatedFlag) { - rc = strcat_s(result, detailsLen * STATEMENT_DETAIL_BUF_MULTI, " Truncated..."); - securec_check(rc, "", ""); + if (!is_valid_record) { + pfree(resultBuf.data); + return pstrdup("invalid_detail_data_format"); } - return result; + + /* after is_valid_detail_record called, resultBuf.len never equal to 0 */ + resultBuf.data[resultBuf.len - 1] = ' '; + handle_detail_flag(flag, &resultBuf); + return resultBuf.data; } Datum statement_detail_decode(PG_FUNCTION_ARGS) @@ -1639,3 +1624,35 @@ void instr_stmt_report_query_plan(QueryDesc *queryDesc) ssctx->query_plan, queryDesc->sourceText, u_sess->unique_sql_cxt.unique_sql_id))); pfree(es.str->data); } + +/* check the header and valid length of the detail binary data */ +static bool is_valid_detail_record(uint32 bytea_data_len, const char *details, uint32 details_len) +{ + /* VERSIZE(bytea) - VARHDRSZ should be > sizeof(uint32) + STATEMENT_DETAILS_HEAD_SIZE */ + if (bytea_data_len <= (sizeof(uint32) + STATEMENT_DETAILS_HEAD_SIZE)) { + return false; + } + + /* details binary length should be same with VERSIZE(bytea) - VARHDRSZ */ + if (bytea_data_len != details_len) { + return false; + } + + /* record version, should be [1, STATEMENT_DETAIL_VERSION] */ + int32 version = (int32)details[sizeof(uint32)]; + if (version == 0 || version > STATEMENT_DETAIL_VERSION) { + return false; + } + + /* record flag area, should be + * STATEMENT_DETAIL_NOT_TRUNCATED/STATEMENT_DETAIL_TRUNCATED/STATEMENT_DETAIL_MISSING_OOM + */ + int32 flag = (int32)details[sizeof(uint32) + 1]; + if (flag != STATEMENT_DETAIL_NOT_TRUNCATED && + flag != STATEMENT_DETAIL_TRUNCATED && + flag != STATEMENT_DETAIL_MISSING_OOM) { + return false; + } + + return true; +} diff --git a/src/gausskernel/cbb/instruments/unique_sql/instr_unique_sql.cpp b/src/gausskernel/cbb/instruments/unique_sql/instr_unique_sql.cpp index e12538d70..ded4dfdd2 100644 --- a/src/gausskernel/cbb/instruments/unique_sql/instr_unique_sql.cpp +++ b/src/gausskernel/cbb/instruments/unique_sql/instr_unique_sql.cpp @@ -44,6 +44,7 @@ #include "libpq/libpq.h" #include "commands/user.h" #include "instruments/unique_sql_basic.h" +#include "instruments/instr_handle_mgr.h" #include "optimizer/streamplan.h" static bool need_reuse_unique_sql_id(Query *query); @@ -291,6 +292,11 @@ static void UpdateUniqueSQLElapseTime(UniqueSQL* unique_sql, int64 elapse_start) } TimestampTz elapse_time = GetCurrentTimestamp() - elapse_start; + /* Because the time precision is microseconds, + * all actions less than microseconds are recorded as 0. + * When the duration is 0, we set the duration to 1 + * */ + elapse_time = (elapse_time == 0) ? 1 : elapse_time; /* update unique sql's total/max/min time */ gs_atomic_add_64(&(unique_sql->elapse_time.total_time), elapse_time); @@ -501,7 +507,7 @@ static void mask_unique_sql_str(UniqueSQL* unique_sql) } } -static void set_unique_sql_string_in_entry(UniqueSQL* entry, Query* query, const char* sql) +static void set_unique_sql_string_in_entry(UniqueSQL* entry, Query* query, const char* sql, int32 multi_sql_offset) { errno_t rc = EOK; @@ -517,7 +523,8 @@ static void set_unique_sql_string_in_entry(UniqueSQL* entry, Query* query, const if (entry->unique_sql != NULL && sql != NULL && query != NULL) { entry->is_local = true; // generate and store normalized query string - if (normalized_unique_querystring(query, sql, entry->unique_sql, UNIQUE_SQL_MAX_LEN - 1)) { + if (normalized_unique_querystring(query, sql, entry->unique_sql, UNIQUE_SQL_MAX_LEN - 1, + multi_sql_offset)) { mask_unique_sql_str(entry); entry->unique_sql = trim(entry->unique_sql); } else { @@ -663,7 +670,7 @@ void UpdateUniqueSQLStat(Query* query, const char* sql, int64 elapse_start_time, if (!found) { resetUniqueSQLEntry(entry); - set_unique_sql_string_in_entry(entry, query, sql); + set_unique_sql_string_in_entry(entry, query, sql, u_sess->unique_sql_cxt.multi_sql_offset); } } @@ -2398,6 +2405,7 @@ void ResetCurrentUniqueSQL(bool need_reset_cn_id) /* multi query only used in exec_simple_query */ u_sess->unique_sql_cxt.is_multi_unique_sql = false; u_sess->unique_sql_cxt.curr_single_unique_sql = NULL; + u_sess->unique_sql_cxt.multi_sql_offset = 0; u_sess->unique_sql_cxt.need_update_calls = true; /* used when nested portal calling case */ @@ -2496,6 +2504,13 @@ static void instr_unique_sql_handle_multi_sql_time_info() /* handle multi sql case in exec_simple_query */ void instr_unique_sql_handle_multi_sql(bool is_first_parsetree) { + + if (!is_first_parsetree) { + statement_commit_metirc_context(); + statement_init_metric_context(); + instr_stmt_report_start_time(); + } + if (is_local_unique_sql()) { if (IS_SINGLE_NODE || IS_PGXC_COORDINATOR) { u_sess->debug_query_id = generate_unique_id64(>_queryId); diff --git a/src/gausskernel/cbb/instruments/utils/unique_query.cpp b/src/gausskernel/cbb/instruments/utils/unique_query.cpp index 012bf3556..466b17d39 100644 --- a/src/gausskernel/cbb/instruments/utils/unique_query.cpp +++ b/src/gausskernel/cbb/instruments/utils/unique_query.cpp @@ -124,6 +124,18 @@ uint32 generate_unique_queryid(Query* query, const char* query_string) } return queryid; } + +static void update_multi_sql_location(pgssJumbleState* jstate, int32 multi_sql_offset) +{ + if (multi_sql_offset > 0 && jstate != NULL) { + for (int i = 0; i < jstate->clocations_count; i++) { + if (jstate->clocations[i].location >= multi_sql_offset) { + jstate->clocations[i].location = jstate->clocations[i].location - multi_sql_offset; + } + } + } +} + /* * The caller must apply for a space no smaller than strlen(query_string), * and return true if the function is called successfully. @@ -133,7 +145,8 @@ uint32 generate_unique_queryid(Query* query, const char* query_string) * unique_buf returned unique query text * len The size of the unique_buf's */ -bool normalized_unique_querystring(Query* query, const char* query_string, char* unique_buf, int buf_len) +bool normalized_unique_querystring(Query* query, const char* query_string, char* unique_buf, int buf_len, + uint32 multi_sql_offset) { if (query == NULL || query_string == NULL || unique_buf == NULL) { return false; @@ -152,6 +165,7 @@ bool normalized_unique_querystring(Query* query, const char* query_string, char* if (query->utilityStmt == NULL) { UniqueSql::generate_jstate(&jstate, query); if (jstate.clocations_count > 0) { + update_multi_sql_location(&jstate, multi_sql_offset); norm_query = UniqueSql::generate_normalized_query(&jstate, query_string, &query_len, encoding); if (norm_query == NULL) { result = false; diff --git a/src/gausskernel/cbb/instruments/wdr/generate_report.cpp b/src/gausskernel/cbb/instruments/wdr/generate_report.cpp index 3ecc702ef..792c03997 100644 --- a/src/gausskernel/cbb/instruments/wdr/generate_report.cpp +++ b/src/gausskernel/cbb/instruments/wdr/generate_report.cpp @@ -3463,6 +3463,38 @@ void GenReport::get_summary_load_profile(report_params* params) GenReport::add_data(dash, ¶ms->Contents); } +#ifdef ENABLE_MULTIPLE_NODES +static void get_summary_instance_efficiency_percentages(report_params* params, dashboard* dash) +{ + List* query_result = NIL; + StringInfoData query; + initStringInfo(&query); + + appendStringInfo(&query, + "select 'Buffer Hit %%: ' as \"Metric Name\", " + " case when s.all_reads = 0 then 1 else round(s.blks_hit * 100 / s.all_reads) end as \"Metric Value\" " + "from " + " (select (snap_2.all_reads - coalesce(snap_1.all_reads, 0)) as all_reads, " + " (snap_2.blks_hit - coalesce(snap_1.blks_hit, 0)) as blks_hit " + " from" + " (select sum(coalesce(snap_blks_read, 0) + coalesce(snap_blks_hit, 0)) as all_reads, " + " coalesce(sum(snap_blks_hit), 0) as blks_hit " + " from snapshot.snap_summary_stat_database " + " where snapshot_id = %ld) snap_1, " + " (select sum(coalesce(snap_blks_read, 0) + coalesce(snap_blks_hit, 0)) as all_reads, " + " coalesce(sum(snap_blks_hit), 0) as blks_hit " + " from snapshot.snap_summary_stat_database " + " where snapshot_id = %ld) snap_2" + " ) as s", + params->begin_snap_id, + params->end_snap_id); + + GenReport::get_query_data(query.data, true, &query_result, &dash->type); + dash->table = list_concat(dash->table, query_result); + + pfree(query.data); +} +#else /* summary ratios about instance effciency: buffer hit ratio, cpu efficiency ratio, radio of redo * with nowait, soft parse ratio and excution without parse ratio */ static void get_summary_instance_efficiency_percentages(report_params* params, dashboard* dash) @@ -3473,8 +3505,8 @@ static void get_summary_instance_efficiency_percentages(report_params* params, d appendStringInfo(&query, "select " - " unnest(array['Buffer Hit %%', 'Effective CPU %%', 'Redo NoWait %%', 'Soft Parse %%', 'Non-Parse CPU %%']) as \"Metric Name\", " - " unnest(array[case when s1.all_reads = 0 then 1 else round(s1.blks_hit * 100 / s1.all_reads) end, s2.cpu_to_elapsd, s3.redo_nowait, s4.soft_parse, s5.non_parse]) as \"Metric Value\" " + " unnest(array['Buffer Hit %%', 'Effective CPU %%', 'WalWrite NoWait %%', 'Soft Parse %%', 'Non-Parse CPU %%']) as \"Metric Name\", " + " unnest(array[case when s1.all_reads = 0 then 1 else round(s1.blks_hit * 100 / s1.all_reads) end, s2.cpu_to_elapsd, s3.walwrite_nowait, s4.soft_parse, s5.non_parse]) as \"Metric Value\" " "from " " (select (snap_2.all_reads - coalesce(snap_1.all_reads, 0)) as all_reads, " " (snap_2.blks_hit - coalesce(snap_1.blks_hit, 0)) as blks_hit " @@ -3503,7 +3535,7 @@ static void get_summary_instance_efficiency_percentages(report_params* params, d " (select snap_stat_name, snap_value from snapshot.snap_global_instance_time " " where snapshot_id = %ld and snap_stat_name = 'DB_TIME') snap_2) db_time " " ) s2, " - " (select (bufferAccess.snap_wait - bufferFull.snap_wait) * 100 / greatest(bufferAccess.snap_wait, 1) as redo_nowait " + " (select (bufferAccess.snap_wait - bufferFull.snap_wait) * 100 / greatest(bufferAccess.snap_wait, 1) as walwrite_nowait " " from " " (select coalesce(snap_2.snap_wait) - coalesce(snap_1.snap_wait, 0) as snap_wait " " from " @@ -3552,6 +3584,7 @@ static void get_summary_instance_efficiency_percentages(report_params* params, d pfree(query.data); } +#endif /* summary report - instance efficiency information */ static void get_summary_instance_efficiency(report_params* params) @@ -3569,7 +3602,7 @@ static void get_summary_instance_efficiency(report_params* params) dash->tableTitle = "Instance Efficiency Percentages (Target 100%)"; dash->desc = lappend(dash->desc, (void*)desc); - /* instance efficiency, Buffer Hit %, Effective CPU % extra */ + /* instance efficiency, Buffer Hit %: */ get_summary_instance_efficiency_percentages(params, dash); GenReport::add_data(dash, ¶ms->Contents); } @@ -4332,9 +4365,9 @@ Datum generate_wdr_report(PG_FUNCTION_ARGS) int rc = 0; int index = 0; report_params params = {0}; - params.begin_snap_id = PG_GETARG_OID(index); + params.begin_snap_id = PG_GETARG_INT64(index); index++; - params.end_snap_id = PG_GETARG_OID(index); + params.end_snap_id = PG_GETARG_INT64(index); // summary/detail/summary + detail index++; @@ -4357,9 +4390,14 @@ Datum generate_wdr_report(PG_FUNCTION_ARGS) params.report_node = PG_GETARG_CSTRING(index); } - if (!superuser()) { - ereport(ERROR, (errcode(ERRCODE_OPERATE_FAILED), errmsg("Superuser privilege is neended to generate report"))); + if (!isMonitoradmin(GetUserId())) { + ereport(ERROR, (errcode(ERRCODE_OPERATE_FAILED), + errmsg("Monitor admin privilege is neended to generate WDR report"))); } + ereport(LOG, (errmsg("generate WDR report start"))); + ereport(LOG, (errmsg("begin_snapshot_id:%ld, end_snapshot_id:%ld, report_type:%s, report_scope:%s, report_node:%s", + params.begin_snap_id, params.end_snap_id, params.report_type, params.report_scope, + (params.report_node == NULL) ? "NULL" : params.report_node))); MemoryContext old_context = CurrentMemoryContext; if ((rc = SPI_connect()) != SPI_OK_CONNECT) { ereport(ERROR, (errcode(ERRCODE_INTERNAL_ERROR), errmsg("SPI_connect failed: %s", SPI_result_code_string(rc)))); @@ -4370,6 +4408,7 @@ Datum generate_wdr_report(PG_FUNCTION_ARGS) char* result_str = GenReport::GenerateHtmlReport(params.Contents); (void)MemoryContextSwitchTo(spi_context); (void)SPI_finish(); + ereport(LOG, (errmsg("generate WDR report end"))); text* textStr = cstring_to_text(result_str); pfree(result_str); PG_RETURN_TEXT_P(textStr); diff --git a/src/gausskernel/cbb/instruments/wdr/snapshot.cpp b/src/gausskernel/cbb/instruments/wdr/snapshot.cpp index abf2ada18..177edbbf0 100644 --- a/src/gausskernel/cbb/instruments/wdr/snapshot.cpp +++ b/src/gausskernel/cbb/instruments/wdr/snapshot.cpp @@ -182,11 +182,13 @@ static void check_snapshot_thd_exit() bool need_exit = false; start_xact_command(); + PushActiveSnapshot(GetTransactionSnapshot()); char* redis_group = PgxcGroupGetInRedistributionGroup(); if (redis_group != NULL) { need_exit = true; u_sess->attr.attr_common.ExitOnAnyError = true; } + PopActiveSnapshot(); finish_xact_command(); if (need_exit || u_sess->attr.attr_common.upgrade_mode != 0) { @@ -218,12 +220,14 @@ static bool CheckMemProtectInit() { errno_t rc; start_xact_command(); + PushActiveSnapshot(GetTransactionSnapshot()); if ((rc = SPI_connect()) != SPI_OK_CONNECT) ereport(ERROR, (errcode(ERRCODE_INTERNAL_ERROR), errmsg("SPI_connect failed: %s", SPI_result_code_string(rc)))); const char *query = "select * from DBE_PERF.global_memory_node_detail"; (void)SnapshotNameSpace::ExecuteQuery(query, SPI_OK_SELECT); SPI_finish(); + PopActiveSnapshot(); finish_xact_command(); res = true; } @@ -235,6 +239,7 @@ static bool CheckMemProtectInit() ereport(LOG, (errmsg("Failed to snapshot global_memory_node_detail, cause: %s", edata->message))); FlushErrorState(); FreeErrorData(edata); + PopActiveSnapshot(); AbortCurrentTransaction(); t_thrd.postgres_cxt.xact_started = false; } @@ -884,15 +889,6 @@ static void CreateStatTable(const char* query, const char* tablename) void SnapshotNameSpace::CreateSnapStatTables(void) { - Datum colval; - bool isnull = false; - const char* check_snap_schema_sql = "select count(*) from pg_namespace where nspname = 'snapshot';"; - const char* createSchema = "create schema snapshot"; - colval = GetDatumValue(check_snap_schema_sql, 0, 0, &isnull); - if (!DatumGetInt32(colval)) { - (void)SnapshotNameSpace::ExecuteQuery(createSchema, SPI_OK_UTILITY); - } - const char* createTs = "create table snapshot.tables_snap_timestamp(snapshot_id bigint not null, db_name text, " "tablename text, start_ts timestamp with time zone, end_ts timestamp with time zone)"; const char* tablename1 = "tables_snap_timestamp"; @@ -1381,6 +1377,7 @@ static void analyze_snap_table() List* analyzeTableList = NULL; int rc = 0; start_xact_command(); + PushActiveSnapshot(GetTransactionSnapshot()); if ((rc = SPI_connect()) != SPI_OK_CONNECT) { ereport(ERROR, (errcode(ERRCODE_INTERNAL_ERROR), @@ -1390,6 +1387,7 @@ static void analyze_snap_table() set_lock_timeout(); SnapshotNameSpace::AnalyzeTable(analyzeTableList); SPI_finish(); + PopActiveSnapshot(); finish_xact_command(); } @@ -1399,6 +1397,7 @@ void InitSnapshot() t_thrd.perf_snap_cxt.is_mem_protect = CheckMemProtectInit(); /* All the tables list will be initialized once. when database is restarted or powered on */ start_xact_command(); + PushActiveSnapshot(GetTransactionSnapshot()); int rc = 0; /* connect SPI to execute query */ if ((rc = SPI_connect()) != SPI_OK_CONNECT) { @@ -1409,6 +1408,7 @@ void InitSnapshot() set_lock_timeout(); SnapshotNameSpace::InitTables(); SPI_finish(); + PopActiveSnapshot(); finish_xact_command(); ereport(LOG, (errcode(ERRCODE_SUCCESSFUL_COMPLETION), errmsg("create snapshot tables succeed"))); analyze_snap_table(); @@ -1440,7 +1440,9 @@ void SnapshotNameSpace::SubSnapshotMain(void) pgstat_report_activity(STATE_RUNNING, NULL); ereport(LOG, (errcode(ERRCODE_SUCCESSFUL_COMPLETION), errmsg("WDR snapshot start"))); start_xact_command(); + PushActiveSnapshot(GetTransactionSnapshot()); SnapshotNameSpace::take_snapshot(); + PopActiveSnapshot(); finish_xact_command(); ereport(LOG, (errcode(ERRCODE_SUCCESSFUL_COMPLETION), errmsg("WDR snapshot end"))); @@ -1461,6 +1463,7 @@ void SnapshotNameSpace::SubSnapshotMain(void) EmitErrorReport(); FlushErrorState(); ereport(WARNING, (errcode(ERRCODE_WARNING), errmsg("WDR snapshot failed"))); + PopActiveSnapshot(); AbortCurrentTransaction(); t_thrd.postgres_cxt.xact_started = false; pgstat_report_activity(STATE_IDLE, NULL); diff --git a/src/gausskernel/cbb/utils/aes/cipherfn.cpp b/src/gausskernel/cbb/utils/aes/cipherfn.cpp index e98515cf2..68f440b2e 100644 --- a/src/gausskernel/cbb/utils/aes/cipherfn.cpp +++ b/src/gausskernel/cbb/utils/aes/cipherfn.cpp @@ -743,7 +743,7 @@ bool gs_encrypt_aes_speed(GS_UCHAR* plaintext, GS_UCHAR* key, GS_UCHAR* cipherte /* the real encrypt operation */ encryptstatus = aes128EncryptSpeed(plaintext, plainlen, key, init_rand, ciphertext, cipherlen); if (!encryptstatus) { - ereport(ERROR, (errcode(ERRCODE_EXTERNAL_ROUTINE_INVOCATION_EXCEPTION), errmsg("aes128EncryptSpeedFailed!"))); + ereport(WARNING, (errcode(ERRCODE_EXTERNAL_ROUTINE_INVOCATION_EXCEPTION), errmsg("aes128EncryptSpeedFailed!"))); return false; } @@ -1280,6 +1280,10 @@ bool IsLegalPreix(const char* prefixStr) static void free_global_value(void) { GS_FREE(g_prefix); + if (g_key != NULL) { + errno_t rc = memset_s(g_key, strlen(g_key), 0, strlen(g_key)); + securec_check_c(rc, "\0", "\0"); + } GS_FREE(g_key); GS_FREE(g_vector); } @@ -1364,6 +1368,7 @@ int encrypte_main(int argc, char* const argv[]) g_prefix = gs_strdup(optarg); if (0 == strlen(g_prefix) || !IsLegalPreix(g_prefix)) { (void)fprintf(stderr, _("%s: -f only be formed of 'a~z', 'A~Z', '0~9', '-', '_'\n"), pgname); + free_global_value(); do_advice(); exit(1); } @@ -1375,6 +1380,7 @@ int encrypte_main(int argc, char* const argv[]) // the length of g_vector must equal to 16 if (strlen(g_vector) != RANDOM_LEN) { (void)fprintf(stderr, _("%s: the length of -v must equal to %d\n"), pgname, RANDOM_LEN); + free_global_value(); do_advice(); exit(1); } @@ -1382,10 +1388,15 @@ int encrypte_main(int argc, char* const argv[]) break; } case 'k': { + if (g_key != NULL) { + rc = memset_s(g_key, strlen(g_key), 0, strlen(g_key)); + securec_check_c(rc, "\0", "\0"); + } GS_FREE(g_key); g_key = gs_strdup(optarg); if (0 == strlen(optarg) || !mask_single_passwd(optarg)) { - (void)fprintf(stderr, _("%s: mask passwd failed. optarg is null, or out of memory!\n"), pgname); + (void)fprintf(stderr, _("%s: mask passwd failed. optarg is null or out of memory!\n"), pgname); + free_global_value(); do_advice(); exit(1); } @@ -1395,19 +1406,25 @@ int encrypte_main(int argc, char* const argv[]) case 'B': { GS_UCHAR* decoded_key = NULL; GS_UINT32 decodelen = 0; + if (g_key != NULL) { + rc = memset_s(g_key, strlen(g_key), 0, strlen(g_key)); + securec_check_c(rc, "\0", "\0"); + } GS_FREE(g_key); decoded_key = (GS_UCHAR*)SEC_decodeBase64(optarg, &decodelen); if (0 == strlen(optarg) || !mask_single_passwd(optarg)) { - (void)fprintf(stderr, _("%s: mask base64 encoded key failed. optarg is null, or out of memory!\n"), + (void)fprintf(stderr, _("%s: mask base64 encoded key failed. optarg is null or out of memory!\n"), pgname); + free_global_value(); do_advice(); exit(1); } if (decoded_key == NULL || decodelen == 0) { (void)fprintf(stderr, _("%s: failed to decode base64 encoded key.\n"), pgname); + free_global_value(); do_advice(); exit(1); } @@ -1427,6 +1444,7 @@ int encrypte_main(int argc, char* const argv[]) if (decoded_vector == NULL || decodelen == 0) { (void)fprintf(stderr, _("%s: failed to decode base64 encoded vector.\n"), pgname); + free_global_value(); do_advice(); exit(1); } @@ -1434,6 +1452,7 @@ int encrypte_main(int argc, char* const argv[]) if (decodelen != RANDOM_LEN) { (void)fprintf( stderr, _("%s: the decoded length of vector must be equal to %d.\n"), pgname, RANDOM_LEN); + free_global_value(); do_advice(); exit(1); } @@ -1447,7 +1466,8 @@ int encrypte_main(int argc, char* const argv[]) GS_FREE(keyname); keyname = gs_strdup(optarg); if (keyname == NULL) { - (void)fprintf(stderr, _("%s: Key name is wrrong,it must be usable!\n"), pgname); + (void)fprintf(stderr, _("%s: Key name is wrong, it must be usable!\n"), pgname); + free_global_value(); do_advice(); exit(1); } @@ -1456,9 +1476,10 @@ int encrypte_main(int argc, char* const argv[]) case 'U': { GS_FREE(kmsurl); kmsurl = gs_strdup(optarg); - if (kmsurl == NULL) { + if (strlen(kmsurl) == 0) { (void)fprintf( - stderr, _("%s: KMS url is wrrong,it must be an accessible network address.\n"), pgname); + stderr, _("%s: KMS url is wrong, it must be an accessible network address.\n"), pgname); + free_global_value(); do_advice(); exit(1); } @@ -1467,10 +1488,11 @@ int encrypte_main(int argc, char* const argv[]) case 'I': { GS_FREE(tdealgo); tdealgo = gs_strdup(optarg); - if (tdealgo == NULL || !is_prefix_in_key_mode(tdealgo)) { + if (!is_prefix_in_key_mode(tdealgo)) { (void)fprintf(stderr, - _("%s: Init TDE failed. optarg is wrrong, it must be SM4-CTR-128 or AES-CTR-128.\n"), + _("%s: Init TDE failed. The algorithm is wrong, it must be SM4-CTR-128 or AES-CTR-128.\n"), pgname); + free_global_value(); do_advice(); exit(1); } @@ -1484,7 +1506,7 @@ int encrypte_main(int argc, char* const argv[]) /* init the key */ if (tdealgo != NULL) { if (keyname == NULL) { - (void)fprintf(stderr, _("%s: Init TDE failed.keyname is wrrong,you must add -N keyname.\n"), pgname); + (void)fprintf(stderr, _("%s: Init TDE failed. Key name is wrong, you must add -N keyname.\n"), pgname); do_advice(); exit(1); } @@ -1503,15 +1525,15 @@ int encrypte_main(int argc, char* const argv[]) } if (!table_a_key.init_Key(tdealgo, keyname)) { - (void)fprintf(stderr, _("%s: Key inited error,please check net.\n"), pgname); + (void)fprintf(stderr, _("%s: Init key failed, please check net.\n"), pgname); do_advice(); exit(1); } if (getAndCheckTranEncryptDEK() && trans_encrypt_dek != NULL) { - (void)fprintf(stdout, _("%s: Inited sucess!\n"), pgname); + (void)fprintf(stdout, _("%s: Init DEK succeeded.\n"), pgname); } else { - (void)fprintf(stderr, _("%s: The key value is fail,please check kms.\n"), pgname); + (void)fprintf(stderr, _("%s: Init DEK failed.\n"), pgname); exit(1); } exit(0); @@ -1533,6 +1555,7 @@ int encrypte_main(int argc, char* const argv[]) plaintext = (GS_UCHAR*)gs_strdup(argv[optind]); if (!mask_single_passwd(argv[optind])) { (void)fprintf(stderr, _("%s: mask plaintext failed. optarg is null, or out of memory!\n"), pgname); + free_global_value(); do_advice(); exit(1); } diff --git a/src/gausskernel/cbb/utils/gssignal/gs_signal.cpp b/src/gausskernel/cbb/utils/gssignal/gs_signal.cpp index 3838db57d..e982c57a4 100644 --- a/src/gausskernel/cbb/utils/gssignal/gs_signal.cpp +++ b/src/gausskernel/cbb/utils/gssignal/gs_signal.cpp @@ -46,6 +46,7 @@ #include "postmaster/postmaster.h" #include "utils/palloc.h" #include "utils/memutils.h" +#include "utils/guc.h" #define SUB_HODLER_SIZE 100 #define RES_SIGNAL SIGUSR2 @@ -736,6 +737,10 @@ void gs_signal_handle(void) psnd_signal = (GsSndSignal*)(&(local_node->sig_data)); sndsigno = psnd_signal->signo; + if (log_min_messages == DEBUG1 && module_logging_is_on(MOD_HOTKEY)) { + ereport(LOG, (errmsg("thread id of sender is %lu. signo is %d", + psnd_signal->thread.thid, psnd_signal->signo))); + } if (FALSE == sigismember(&pGsSignal->masksignal, sndsigno)) { gs_thread_t tmpThread; diff --git a/src/gausskernel/cbb/workload/cpwlm.cpp b/src/gausskernel/cbb/workload/cpwlm.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/cbb/workload/ioschdl.cpp b/src/gausskernel/cbb/workload/ioschdl.cpp index 829c5e926..7f21e45ee 100644 --- a/src/gausskernel/cbb/workload/ioschdl.cpp +++ b/src/gausskernel/cbb/workload/ioschdl.cpp @@ -61,6 +61,8 @@ extern void WLMCollectInstanceStat(void); extern void WLMPersistentInstanceStat(void); extern void WLMCleanupHistoryInstanceStat(void); +extern THR_LOCAL bool g_pq_interrupt_happened; + #define UPDATETABLE(table, value, num) \ { \ int i = 0; \ @@ -1329,6 +1331,22 @@ static void WLMarbiterSigTermHandler(SIGNAL_ARGS) t_thrd.wlm_cxt.wlm_got_sigterm = true; + t_thrd.int_cxt.InterruptByCN = true; + + /* + * send SIGUSER2 to pooler + */ + if (!t_thrd.proc_cxt.proc_exit_inprogress) { + InterruptPending = true; + t_thrd.int_cxt.QueryCancelPending = true; + t_thrd.int_cxt.PoolValidateCancelPending = true; + + /* Set flag to handle SIGUSER2 and SIGTERM during connection */ + if (t_thrd.proc_cxt.pooler_connection_inprogress) { + g_pq_interrupt_happened = true; + } + } + SetLatch(&t_thrd.wlm_cxt.wlm_mainloop_latch); errno = save_errno; diff --git a/src/gausskernel/cbb/workload/spmgr.cpp b/src/gausskernel/cbb/workload/spmgr.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/cbb/workload/statctl.cpp b/src/gausskernel/cbb/workload/statctl.cpp index bebc1253e..22d242bf9 100644 --- a/src/gausskernel/cbb/workload/statctl.cpp +++ b/src/gausskernel/cbb/workload/statctl.cpp @@ -2630,6 +2630,10 @@ void WLMUpdateSingleNodeUserInfo(UserData* userData) int curr_iops,peak_iops; int memsize = 0; + if (userData == NULL) { + ereport(LOG, (errmsg("userData is NULL."))); + return; + } memsize = WLMGetUserMemory(userData); if (userData->childlist) { foreach_cell(cell, userData->childlist) { diff --git a/src/gausskernel/dbmind/kernel/hypopg_index.cpp b/src/gausskernel/dbmind/kernel/hypopg_index.cpp index e5637aa4a..af4830657 100644 --- a/src/gausskernel/dbmind/kernel/hypopg_index.cpp +++ b/src/gausskernel/dbmind/kernel/hypopg_index.cpp @@ -59,7 +59,6 @@ (BLCKSZ - MAXALIGN(SizeOfPageHeaderData + 3 * sizeof(ItemIdData)) - MAXALIGN(sizeof(BTPageOpaqueData))) / 3) #define isExplain (u_sess->attr.attr_sql.hypopg_is_explain) -static List *hypoIndexes; static ProcessUtility_hook_type prev_utility_hook = NULL; static ExecutorEnd_hook_type prev_ExecutorEnd_hook = NULL; static get_relation_info_hook_type prev_get_relation_info_hook = NULL; @@ -88,7 +87,7 @@ static void hypo_process_attr(IndexStmt *node, hypoIndex *volatile entry, String int &ind_avg_width); static const hypoIndex *hypo_index_store_parsetree(IndexStmt *node, const char *queryString); static hypoIndex *hypo_newIndex(Oid relid, char *accessMethod, int nkeycolumns, int ninccolumns, List *options); -static void hypo_set_indexname(hypoIndex *entry, char *indexname); +static void hypo_set_indexname(hypoIndex *entry, const char *indexname); static void hypo_index_reset(void); static void hypo_injectHypotheticalIndex(PlannerInfo *root, Oid relationObjectId, bool inhparent, RelOptInfo *rel, Relation relation, hypoIndex *entry); @@ -97,11 +96,11 @@ static void hypo_injectHypotheticalIndex(PlannerInfo *root, Oid relationObjectId void InitHypopg() { // init memory context - g_instance.stat_cxt.HypopgContext = AllocSetContextCreate(g_instance.instance_context, "HypopgContext", - ALLOCSET_DEFAULT_MINSIZE, ALLOCSET_DEFAULT_INITSIZE, ALLOCSET_DEFAULT_MAXSIZE, SHARED_CONTEXT); - + if (g_instance.hypo_cxt.HypopgContext == NULL) { + g_instance.hypo_cxt.HypopgContext = AllocSetContextCreate(g_instance.instance_context, "HypopgContext", + ALLOCSET_DEFAULT_MINSIZE, ALLOCSET_DEFAULT_INITSIZE, ALLOCSET_DEFAULT_MAXSIZE, SHARED_CONTEXT); + } isExplain = false; - hypoIndexes = NIL; } void hypopg_register_hook() @@ -234,7 +233,9 @@ static void hypo_get_relation_info_hook(PlannerInfo *root, Oid relationObjectId, if (relation->rd_rel->relkind == RELKIND_RELATION) { ListCell *lc; - foreach (lc, hypoIndexes) { + LWLockAcquire(HypoIndexLock, LW_SHARED); + + foreach (lc, g_instance.hypo_cxt.hypo_index_list) { hypoIndex *entry = (hypoIndex *)lfirst(lc); if (hypo_index_match_table(entry, RelationGetRelid(relation))) { @@ -245,6 +246,8 @@ static void hypo_get_relation_info_hook(PlannerInfo *root, Oid relationObjectId, hypo_injectHypotheticalIndex(root, relationObjectId, inhparent, rel, relation, entry); } } + + LWLockRelease(HypoIndexLock); } /* Close the relation release the lock now */ @@ -278,7 +281,7 @@ static hypoIndex *hypo_newIndex(Oid relid, char *accessMethod, int nkeycolumns, oid = HeapTupleGetOid(tuple); - oldcontext = MemoryContextSwitchTo(g_instance.stat_cxt.HypopgContext); + oldcontext = MemoryContextSwitchTo(g_instance.hypo_cxt.HypopgContext); entry = (hypoIndex *)palloc0(sizeof(hypoIndex)); @@ -368,14 +371,18 @@ static hypoIndex *hypo_newIndex(Oid relid, char *accessMethod, int nkeycolumns, return entry; } -/* Add an hypoIndex to hypoIndexes */ +/* Add an hypoIndex to hypo_index_list */ static void hypo_addIndex(hypoIndex *entry) { MemoryContext oldcontext; - oldcontext = MemoryContextSwitchTo(g_instance.stat_cxt.HypopgContext); + oldcontext = MemoryContextSwitchTo(g_instance.hypo_cxt.HypopgContext); - hypoIndexes = lappend(hypoIndexes, entry); + LWLockAcquire(HypoIndexLock, LW_EXCLUSIVE); + + g_instance.hypo_cxt.hypo_index_list = lappend(g_instance.hypo_cxt.hypo_index_list, entry); + + LWLockRelease(HypoIndexLock); MemoryContextSwitchTo(oldcontext); } @@ -388,18 +395,20 @@ void hypo_index_reset(void) { ListCell *lc; - /* - * The cell is removed in hypo_index_remove(), so we can't iterate using - * standard foreach / lnext macros. - */ - while ((lc = list_head(hypoIndexes)) != NULL) { + LWLockAcquire(HypoIndexLock, LW_EXCLUSIVE); + + while ((lc = list_head(g_instance.hypo_cxt.hypo_index_list)) != NULL) { hypoIndex *entry = (hypoIndex *)lfirst(lc); - hypo_index_remove(entry->oid); + g_instance.hypo_cxt.hypo_index_list = list_delete_ptr(g_instance.hypo_cxt.hypo_index_list, entry); + hypo_index_pfree(entry); } - list_free(hypoIndexes); - hypoIndexes = NIL; + list_free(g_instance.hypo_cxt.hypo_index_list); + g_instance.hypo_cxt.hypo_index_list = NIL; + + LWLockRelease(HypoIndexLock); + return; } @@ -412,7 +421,7 @@ static void hypo_handle_predicate(IndexStmt *node, hypoIndex *volatile entry) CheckPredicate((Expr *)node->whereClause); pred = make_ands_implicit((Expr *)node->whereClause); - oldcontext = MemoryContextSwitchTo(g_instance.stat_cxt.HypopgContext); + oldcontext = MemoryContextSwitchTo(g_instance.hypo_cxt.HypopgContext); entry->indpred = (List *)copyObject(pred); MemoryContextSwitchTo(oldcontext); @@ -522,7 +531,7 @@ static void hypo_process_attr(IndexStmt *node, hypoIndex *volatile entry, String entry->indexkeys[attn] = 0; /* marks expression */ - oldcontext = MemoryContextSwitchTo(g_instance.stat_cxt.HypopgContext); + oldcontext = MemoryContextSwitchTo(g_instance.hypo_cxt.HypopgContext); entry->indexprs = lappend(entry->indexprs, (Node *)copyObject(attribute->expr)); MemoryContextSwitchTo(oldcontext); } @@ -790,15 +799,23 @@ static bool hypo_index_remove(Oid indexid) { ListCell *lc; - foreach (lc, hypoIndexes) { + LWLockAcquire(HypoIndexLock, LW_EXCLUSIVE); + + foreach (lc, g_instance.hypo_cxt.hypo_index_list) { hypoIndex *entry = (hypoIndex *)lfirst(lc); if (entry->oid == indexid) { - hypoIndexes = list_delete_ptr(hypoIndexes, entry); + g_instance.hypo_cxt.hypo_index_list = list_delete_ptr(g_instance.hypo_cxt.hypo_index_list, entry); hypo_index_pfree(entry); + + LWLockRelease(HypoIndexLock); + return true; } } + + LWLockRelease(HypoIndexLock); + return false; } @@ -856,8 +873,7 @@ static void hypo_injectHypotheticalIndex(PlannerInfo *root, Oid relationObjectId /* General stuff */ index->indexoid = entry->oid; - index->reltablespace = rel->reltablespace; /* same tablespace as - * relation, TODO */ + index->reltablespace = rel->reltablespace; index->rel = rel; index->ncolumns = ncolumns = entry->ncolumns; index->nkeycolumns = nkeycolumns = entry->nkeycolumns; @@ -977,13 +993,17 @@ const char *hypo_explain_get_index_name_hook(Oid indexId) */ ListCell *lc; - foreach (lc, hypoIndexes) { + LWLockAcquire(HypoIndexLock, LW_SHARED); + + foreach (lc, g_instance.hypo_cxt.hypo_index_list) { hypoIndex *entry = (hypoIndex *)lfirst(lc); if (entry->oid == indexId) { ret = entry->indexname; } } + + LWLockRelease(HypoIndexLock); } if (ret) { @@ -1038,12 +1058,12 @@ Datum hypopg_display_index(PG_FUNCTION_ARGS) MemoryContextSwitchTo(oldcontext); - foreach (lc, hypoIndexes) { + LWLockAcquire(HypoIndexLock, LW_SHARED); + + foreach (lc, g_instance.hypo_cxt.hypo_index_list) { hypoIndex *entry = (hypoIndex *)lfirst(lc); Datum values[HYPO_INDEX_NB_COLS]; bool nulls[HYPO_INDEX_NB_COLS]; - // ListCell *lc2; - // StringInfoData exprsString; StringInfoData index_columns; int i = 0; int keyno; @@ -1071,6 +1091,8 @@ Datum hypopg_display_index(PG_FUNCTION_ARGS) tuplestore_putvalues(tupstore, tupdesc, values, nulls); } + LWLockRelease(HypoIndexLock); + /* clean up and return the tuplestore */ tuplestore_donestoring(tupstore); @@ -1184,9 +1206,11 @@ Datum hypopg_estimate_size(PG_FUNCTION_ARGS) Oid indexid = PG_GETARG_OID(0); ListCell *lc; + LWLockAcquire(HypoIndexLock, LW_SHARED); + pages = 0; tuples = 0; - foreach (lc, hypoIndexes) { + foreach (lc, g_instance.hypo_cxt.hypo_index_list) { hypoIndex *entry = (hypoIndex *)lfirst(lc); if (entry->oid == indexid) { @@ -1194,6 +1218,8 @@ Datum hypopg_estimate_size(PG_FUNCTION_ARGS) } } + LWLockRelease(HypoIndexLock); + PG_RETURN_INT64(pages * 1.0L * BLCKSZ); } @@ -1213,7 +1239,7 @@ Datum hypopg_reset_index(PG_FUNCTION_ARGS) /* Simple function to set the indexname, dealing with max name length, and the * ending \0 */ -static void hypo_set_indexname(hypoIndex *entry, char *indexname) +static void hypo_set_indexname(hypoIndex *entry, const char *indexname) { char oid[12] = {0}; /* store , oid shouldn't be more than 9999999999 */ int totalsize; diff --git a/src/gausskernel/dbmind/kernel/index_advisor.cpp b/src/gausskernel/dbmind/kernel/index_advisor.cpp index a8c319453..9ea3083e8 100644 --- a/src/gausskernel/dbmind/kernel/index_advisor.cpp +++ b/src/gausskernel/dbmind/kernel/index_advisor.cpp @@ -50,8 +50,8 @@ #include "utils/fmgroids.h" #include "utils/snapmgr.h" -#define MAX_SAMPLE_ROWS 10000 /* sampling range for executing a query */ -#define CARDINALITY_THRESHOLD 30 /* the threshold of index selection */ +#define MAX_SAMPLE_ROWS 10000 /* sampling range for executing a query */ +#define CARDINALITY_THRESHOLD 30 /* the threshold of index selection */ #define MAX_QUERY_LEN 256 typedef struct { @@ -118,7 +118,7 @@ static TableCell *find_or_create_tblcell(char *, char *); static void add_index_from_field(char *, IndexCell *); static char *parse_group_clause(List *, List *); static char *parse_order_clause(List *, List *); -static void add_index_from_group_order(TableCell *, List *, bool, List *); +static void add_index_from_group_order(TableCell *, List *, List *, bool); static Oid find_table_oid(List *, const char *); static void generate_final_index(TableCell *, Oid); static void parse_from_clause(List *); @@ -131,7 +131,6 @@ static void determine_driver_table(); static uint4 get_join_table_result_set(const char *, const char *); static void add_index_from_join(TableCell *, char *); static void add_index_for_drived_tables(); -static inline Node *get_target_by_Const(List *, Node *); Datum gs_index_advise(PG_FUNCTION_ARGS) { @@ -254,9 +253,9 @@ SuggestedIndex *suggest_index(const char *query_string, _out_ int *len) parse_where_clause(stmt->whereClause); determine_driver_table(); if (parse_group_clause(stmt->groupClause, stmt->targetList)) { - add_index_from_group_order(g_driver_table, stmt->groupClause, true, stmt->targetList); + add_index_from_group_order(g_driver_table, stmt->groupClause, stmt->targetList, true); } else if (parse_order_clause(stmt->sortClause, stmt->targetList)) { - add_index_from_group_order(g_driver_table, stmt->sortClause, false, stmt->targetList); + add_index_from_group_order(g_driver_table, stmt->sortClause, stmt->targetList, false); } if (g_table_list->length > 1 && g_driver_table) { add_index_for_drived_tables(); @@ -356,7 +355,7 @@ inline void analyze_tables(List *list) /* Search the oid of all indexes created on the table through the oid of the table, * and return the index oid list. - * */ + * */ List *get_table_indexes(Oid oid) { Relation rel = heap_open(oid, NoLock); @@ -1356,17 +1355,19 @@ void add_index_for_drived_tables() list_free(to_be_joined_tables); } -static inline Node *get_target_by_Const(List* targetList, Node* constNode) +Node *transform_group_order_node(Node *node, List *target_list) { - Value* val = &((A_Const*)constNode)->val; + Value *val = &((A_Const *)node)->val; Assert(IsA(val, Integer)); long target_pos = intVal(val); - Assert(target_pos <= list_length(targetList)); - ResTarget* rt = (ResTarget*)list_nth(targetList, target_pos - 1); - return rt->val; + Assert(target_pos <= list_length(target_list)); + ResTarget *rt = (ResTarget *)list_nth(target_list, target_pos - 1); + node = rt->val; + + return node; } -char *parse_group_clause(List *group_clause, List* targetList) +char *parse_group_clause(List *group_clause, List *target_list) { if (group_clause == NULL) return NULL; @@ -1376,15 +1377,14 @@ char *parse_group_clause(List *group_clause, List* targetList) char *pre_table = NULL; foreach (group_item, group_clause) { - Node* node = (Node*)lfirst(group_item); + Node *node = (Node *)lfirst(group_item); + if (nodeTag(node) == T_A_Const) { - node = get_target_by_Const(targetList, node); + node = transform_group_order_node(node, target_list); } - if (nodeTag(node) != T_ColumnRef) - continue; - - List *fields = ((ColumnRef *)(node))->fields; + break; + List *fields = ((ColumnRef *)node)->fields; char *table_group = find_table_name(fields); if (!table_group) { return NULL; @@ -1405,7 +1405,7 @@ char *parse_group_clause(List *group_clause, List* targetList) return NULL; } -char *parse_order_clause(List *order_clause, List* targetList) +char *parse_order_clause(List *order_clause, List *target_list) { if (order_clause == NULL) return NULL; @@ -1416,16 +1416,15 @@ char *parse_order_clause(List *order_clause, List* targetList) SortByDir pre_dir; foreach (order_item, order_clause) { - SortBy* sortby = (SortBy *)lfirst(order_item); - Node* node = sortby->node; - if (nodeTag(node) == T_A_Const) { - node = get_target_by_Const(targetList, node); - } + Node *node = ((SortBy *)lfirst(order_item))->node; + SortByDir dir = ((SortBy *)(lfirst(order_item)))->sortby_dir; + if (nodeTag(node) == T_A_Const) { + node = transform_group_order_node(node, target_list); + } if (nodeTag(node) != T_ColumnRef) - break; + break; List *fields = ((ColumnRef *)node)->fields; - SortByDir dir = sortby->sortby_dir; char *table_order = find_table_name(fields); if (!table_order) { return NULL; @@ -1453,26 +1452,25 @@ char *parse_order_clause(List *order_clause, List* targetList) * * The index from goup or order clause is added after the index with operator '='. */ -void add_index_from_group_order(TableCell *table, List *clause, bool flag_group_order, List* targetList) +void add_index_from_group_order(TableCell *table, List *clause, List *target_list, bool flag_group_order) { ListCell *item = NULL; - + foreach (item, clause) { - List *fields = NULL; Node *node = NULL; + List *fields = NULL; char *index_name = NULL; + if (flag_group_order) { - node = (Node*)lfirst(item); + node = (Node *)lfirst(item); } else { node = ((SortBy *)lfirst(item))->node; } - if (nodeTag(node) == T_A_Const) { - node = get_target_by_Const(targetList, node); + node = transform_group_order_node(node, target_list); } - if (nodeTag(node) != T_ColumnRef) - break; + break; fields = ((ColumnRef *)node)->fields; index_name = find_field_name(fields); IndexCell *index = (IndexCell *)palloc(sizeof(*index)); diff --git a/src/gausskernel/dbmind/tools/index_advisor/index_advisor_workload.py b/src/gausskernel/dbmind/tools/index_advisor/index_advisor_workload.py index 14327878d..ea16a7578 100644 --- a/src/gausskernel/dbmind/tools/index_advisor/index_advisor_workload.py +++ b/src/gausskernel/dbmind/tools/index_advisor/index_advisor_workload.py @@ -17,15 +17,22 @@ import sys import argparse import copy import getpass +import random import re import shlex import subprocess import time +SAMPLE_NUM = 5 MAX_INDEX_COLUMN_NUM = 5 MAX_INDEX_NUM = 10 BASE_CMD = '' SQL_TYPE = ['select', 'delete', 'insert', 'update'] +SQL_PATTERN = [r'([^\\])\'((\')|(.*?([^\\])\'))', + r'([^\\])"((")|(.*?([^\\])"))', + r'([^a-zA-Z])-?\d+(\.\d+)?', + r'([^a-zA-Z])-?\d+(\.\d+)?', + r'(\'\d+\\.*?\')'] class PwdAction(argparse.Action): @@ -50,13 +57,6 @@ class IndexItem: self.benefit = 0 -def print_header_boundary(header): - term_width = int(os.get_terminal_size().columns / 2) - side_width = (term_width - len(header)) - - print('#' * side_width + header + '#' * side_width) - - def get_file_size(filename): if os.path.isfile(filename): return os.stat(filename).st_size @@ -71,36 +71,83 @@ def run_shell_cmd(target_sql_list): cmd += '\"' proc = subprocess.Popen(shlex.split(cmd), stdout=subprocess.PIPE, stderr=subprocess.PIPE) (stdout, stderr) = proc.communicate() - stdout, stderr = stdout.decode(), stderr.decode() + stdout, stderr = stdout.decode(), stderr.decode() if 'gsql' in stderr or 'failed to connect' in stderr: raise ConnectionError("An error occurred while connecting to the database.\n" + "Details: " + stderr) return stdout -def run_shell_sql_cmd(sql_file, wait=0.1): - log_file = str(time.time()) + '.log' - cmd = BASE_CMD + ' -f ./' + sql_file + ' >> ' + log_file + ' 2>&1 &' +def run_shell_sql_cmd(sql_file): + cmd = BASE_CMD + ' -f ./' + sql_file - try: - subprocess.check_output(cmd, shell=True) - except subprocess.CalledProcessError as e: - print(e, file=sys.stderr) - sys.exit() + proc = subprocess.Popen(shlex.split(cmd), stdout=subprocess.PIPE, stderr=subprocess.PIPE) + (stdout, stderr) = proc.communicate() + stdout, stderr = stdout.decode(), stderr.decode() + if stderr: + print(stderr) - current_size = get_file_size(log_file) - while current_size != get_file_size(log_file) or get_file_size(log_file) == 0: - current_size = get_file_size(log_file) - time.sleep(wait) + return stdout - if not os.path.exists(log_file): - print(log_file + ' does not exist!') - sys.exit() - if not os.path.getsize(log_file): - print(log_file + ' is empty!') - sys.exit() - return log_file +def print_header_boundary(header): + term_width = int(os.get_terminal_size().columns / 2) + side_width = (term_width - len(header)) + + print('#' * side_width + header + '#' * side_width) + + +def load_workload(file_path): + wd_dict = {} + workload = [] + + with open(file_path, 'r') as f: + for sql in f.readlines(): + sql = sql.strip('\n;') + if any(tp in sql.lower() for tp in SQL_TYPE): + if sql not in wd_dict.keys(): + wd_dict[sql] = 1 + else: + wd_dict[sql] += 1 + for sql, freq in wd_dict.items(): + workload.append(QueryItem(sql, freq)) + + return workload + + +def get_workload_template(workload): + templates = {} + placeholder = r'@@@' + + for item in workload: + sql_template = item.statement + for pattern in SQL_PATTERN: + sql_template = re.sub(pattern, placeholder, sql_template) + if sql_template not in templates: + templates[sql_template] = {} + templates[sql_template]['cnt'] = 0 + templates[sql_template]['samples'] = [] + templates[sql_template]['cnt'] += item.frequency + # reservoir sampling + if len(templates[sql_template]['samples']) < SAMPLE_NUM: + templates[sql_template]['samples'].append(item.statement) + else: + if random.randint(0, templates[sql_template]['cnt']) < SAMPLE_NUM: + templates[sql_template]['samples'][random.randint(0, SAMPLE_NUM - 1)] = item.statement + + return templates + + +def workload_compression(input_path): + compressed_workload = [] + + workload = load_workload(input_path) + templates = get_workload_template(workload) + + for key in templates.keys(): + for sql in templates[key]['samples']: + compressed_workload.append(QueryItem(sql, templates[key]['cnt'] / SAMPLE_NUM)) + return compressed_workload # parse the explain plan to get estimated cost by database optimizer @@ -138,34 +185,30 @@ def estimate_workload_cost_file(workload, index_config=None): if index_config: wf.write('SELECT hypopg_reset_index();') - log_file = run_shell_sql_cmd(sql_file) + result = run_shell_sql_cmd(sql_file).split('\n') if os.path.exists(sql_file): os.remove(sql_file) # parse the result of explain plans i = 0 - with open(log_file, 'r') as rf: - for line in rf.readlines(): - if 'QUERY PLAN' in line: - found_plan = True - if 'ERROR' in line: - workload.pop(i) - if found_plan and '(cost=' in line: - if i >= len(workload): - raise ValueError("The size of workload is not correct!") - query_cost = parse_explain_plan(line) - query_cost *= workload[i].frequency - workload[i].cost_list.append(query_cost) - total_cost += query_cost - found_plan = False - i += 1 + for line in result: + if 'QUERY PLAN' in line: + found_plan = True + if 'ERROR' in line: + workload.pop(i) + if found_plan and '(cost=' in line: + if i >= len(workload): + raise ValueError("The size of workload is not correct!") + query_cost = parse_explain_plan(line) + query_cost *= workload[i].frequency + workload[i].cost_list.append(query_cost) + total_cost += query_cost + found_plan = False + i += 1 while i < len(workload): workload[i].cost_list.append(0) i += 1 - if os.path.exists(log_file): - os.remove(log_file) - return total_cost @@ -204,10 +247,9 @@ def query_index_advisor(query): return table_index_dict sql = make_single_advisor_sql(query) - result = run_shell_cmd([sql]) - res_list = result.split('\n') + result = run_shell_cmd([sql]).split('\n') - for res in res_list: + for res in result: table_index_dict.update(parse_single_advisor_result(res)) return table_index_dict @@ -227,11 +269,10 @@ def query_index_check(query, query_index_dict): sql_list.append('SELECT hypopg_create_index(\'CREATE INDEX ON ' + table + '(' + columns + ')\')') sql_list.append('explain ' + query) sql_list.append('SELECT hypopg_reset_index()') - result = run_shell_cmd(sql_list) - result_list = result.split('\n') + result = run_shell_cmd(sql_list).split('\n') # parse the result of explain plan - for line in result_list: + for line in result: hypo_index = '' if 'Index' in line and 'Scan' in line and 'btree' in line: tokens = line.split(' ') @@ -322,27 +363,23 @@ def generate_candidate_indexes_file(workload): if 'select' in query.statement.lower(): wf.write(make_single_advisor_sql(query.statement) + '\n') - log_file = run_shell_sql_cmd(sql_file, 5) + result = run_shell_sql_cmd(sql_file).split('\n') if os.path.exists(sql_file): os.remove(sql_file) - with open(log_file, 'r') as rf: - for line in rf.readlines(): - table_index_dict = parse_single_advisor_result(line.strip('\n')) - # filter duplicate indexes - for table in table_index_dict.keys(): - if table not in index_dict.keys(): - index_dict[table] = set() - for columns in table_index_dict[table]: - if columns == "": - continue - if columns not in index_dict[table]: - print("table: ", table, "columns: ", columns) - index_dict[table].add(columns) - candidate_indexes.append(IndexItem(table, columns)) - - if os.path.exists(log_file): - os.remove(log_file) + for line in result: + table_index_dict = parse_single_advisor_result(line.strip('\n')) + # filter duplicate indexes + for table in table_index_dict.keys(): + if table not in index_dict.keys(): + index_dict[table] = set() + for columns in table_index_dict[table]: + if columns == "": + continue + if columns not in index_dict[table]: + print("table: ", table, "columns: ", columns) + index_dict[table].add(columns) + candidate_indexes.append(IndexItem(table, columns)) return candidate_indexes @@ -466,26 +503,8 @@ def infer_workload_cost(workload, config, atomic_config_total): return total_cost -def load_workload(file_path): - wd_dict = {} - workload = [] - - with open(file_path, 'r') as f: - for sql in f.readlines(): - sql = sql.strip('\n;') - if any(tp in sql.lower() for tp in SQL_TYPE): - if sql not in wd_dict.keys(): - wd_dict[sql] = 1 - else: - wd_dict[sql] += 1 - for sql, freq in wd_dict.items(): - workload.append(QueryItem(sql, freq)) - - return workload - - def simple_index_advisor(input_path): - workload = load_workload(input_path) + workload = workload_compression(input_path) print_header_boundary(" Generate candidate indexes ") candidate_indexes = generate_candidate_indexes_file(workload) if len(candidate_indexes) == 0: @@ -499,10 +518,29 @@ def simple_index_advisor(input_path): candidate_indexes[i].benefit = ori_total_cost - new_total_cost candidate_indexes = sorted(candidate_indexes, key=lambda item: item.benefit, reverse=True) - cnt = 0 + # filter out duplicate index + final_index_set = {} for index in candidate_indexes: - print("create index ind" + str(cnt) + " on " + index.table + "(" + index.columns + ");") - cnt += 1 + picked = True + cols = set(index.columns.split(',')) + if index.table not in final_index_set.keys(): + final_index_set[index.table] = [] + for i in range(len(final_index_set[index.table]) - 1, -1, -1): + pre_index = final_index_set[index.table][i] + pre_cols = set(pre_index.columns.split(',')) + if len(pre_cols.difference(cols)) == 0 and len(pre_cols) < len(cols): + final_index_set[index.table].pop(i) + if len(cols.difference(pre_cols)) == 0: + picked = False + break + if picked: + final_index_set[index.table].append(index) + + cnt = 0 + for table in final_index_set.keys(): + for index in final_index_set[table]: + print("create index ind" + str(cnt) + " on " + table + "(" + index.columns + ");") + cnt += 1 if cnt == MAX_INDEX_NUM: break @@ -537,7 +575,7 @@ def greedy_determine_opt_config(workload, atomic_config_total, candidate_indexes def complex_index_advisor(input_path): - workload = load_workload(input_path) + workload = workload_compression(input_path) print_header_boundary(" Generate candidate indexes ") candidate_indexes = generate_candidate_indexes(workload, True) if len(candidate_indexes) == 0: diff --git a/src/gausskernel/dbmind/tools/predictor/python/certs.py b/src/gausskernel/dbmind/tools/predictor/python/certs.py old mode 100755 new mode 100644 diff --git a/src/gausskernel/dbmind/tools/predictor/python/model.py b/src/gausskernel/dbmind/tools/predictor/python/model.py old mode 100755 new mode 100644 index d64eb47cb..b6e349a60 --- a/src/gausskernel/dbmind/tools/predictor/python/model.py +++ b/src/gausskernel/dbmind/tools/predictor/python/model.py @@ -195,9 +195,9 @@ class ModelInfo: self.batch_size = 500 self.dim_red = -1 self.model_targets = '' - self.model_dir = os.path.join(settings.PATH_MODELS_INFO, self.model_name) - self.conf_path = os.path.join(self.model_dir, self.model_name + '.conf') - self.model_path = os.path.join(self.model_dir, self.model_name + '.h5') + self.model_dir = os.path.realpath(os.path.join(settings.PATH_MODELS_INFO, self.model_name)) + self.conf_path = os.path.realpath(os.path.join(self.model_dir, self.model_name + '.conf')) + self.model_path = os.path.realpath(os.path.join(self.model_dir, self.model_name + '.h5')) self.feature_length = None self.label_length = None self.max_startup = None @@ -483,7 +483,8 @@ class RnnModel(): self.model_info.max_mem = max(max_mem, 1) self.model_info.feature_length = feature_length shutil.rmtree(self.model_info.model_path, ignore_errors=True) - shutil.rmtree(os.path.join(settings.PATH_LOG, self.model_info.model_name), ignore_errors=True) + shutil.rmtree(os.path.realpath( + os.path.join(settings.PATH_LOG, self.model_info.model_name), ignore_errors=True)) arr_startup = np.array(arr_startup, dtype=float).reshape((-1, 1)) arr_total = np.array(arr_total, dtype=float).reshape((-1, 1)) arr_row = np.array(arr_row, dtype=float).reshape((-1, 1)) @@ -553,7 +554,7 @@ class RnnModel(): custom_objects={'ratio_error': ratio_error, 'ratio_acc': ratio_acc_2}) self.model_info.last_epoch = int(self.model_info.max_epoch) + epoch_start self.model_info.dump_dict() - log_path = os.path.join(settings.PATH_LOG, self.model_info.model_name + '_log.json') + log_path = os.path.realpath(os.path.join(settings.PATH_LOG, self.model_info.model_name + '_log.json')) if not os.path.exists(log_path): os.mknod(log_path, mode=0o600) json_logging_callback = LossHistory(log_path, self.model_info.model_name, self.model_info.last_epoch) diff --git a/src/gausskernel/dbmind/tools/predictor/python/run.py b/src/gausskernel/dbmind/tools/predictor/python/run.py old mode 100755 new mode 100644 index bc94112f5..44bcb861e --- a/src/gausskernel/dbmind/tools/predictor/python/run.py +++ b/src/gausskernel/dbmind/tools/predictor/python/run.py @@ -140,8 +140,8 @@ def train(): fname = str(dtObj.year) + '-' + str(dtObj.month) + '-' + str(dtObj.day) + '_' \ + str(dtObj.hour) + '-' + str(dtObj.minute) + '-' + str(dtObj.second) + '-' \ + secure_filename(f.filename) - file_path = os.path.join( - base_path, settings.PATH_UPLOAD, fname) + file_path = os.path.realpath(os.path.join( + base_path, settings.PATH_UPLOAD, fname)) f.save(file_path) # trigger training try: @@ -202,7 +202,7 @@ def track_process(): if 'modelName' in arg_json: model_name = arg_json['modelName'] base_path = os.path.dirname(__file__) - log_path = os.path.join(base_path, settings.PATH_LOG, model_name + '_log.json') + log_path = os.path.realpath(os.path.join(base_path, settings.PATH_LOG, model_name + '_log.json')) if not (os.path.exists(log_path) and os.path.getsize(log_path)): return 'F' else: @@ -288,8 +288,8 @@ def predict(): fname = str(dtObj.year) + '-' + str(dtObj.month) + '-' + str(dtObj.day) + '_' \ + str(dtObj.hour) + '-' + str(dtObj.minute) + '-' + str(dtObj.second) + '-' \ + 'tmp.csv' - file_path = os.path.join( - base_path, settings.PATH_UPLOAD, fname) + file_path = os.path.realpath(os.path.join( + base_path, settings.PATH_UPLOAD, fname)) f.save(file_path) # trigger prediction try: diff --git a/src/gausskernel/dbmind/tools/predictor/python/settings.py b/src/gausskernel/dbmind/tools/predictor/python/settings.py old mode 100755 new mode 100644 index f748c470e..512011039 --- a/src/gausskernel/dbmind/tools/predictor/python/settings.py +++ b/src/gausskernel/dbmind/tools/predictor/python/settings.py @@ -38,4 +38,4 @@ GPU_CONFIG = '0,1' # Path for logs base_path = os.path.dirname(__file__) -PATH_MODELS_INFO = os.path.join(base_path, PATH_MODELS) +PATH_MODELS_INFO = os.path.realpath(os.path.join(base_path, PATH_MODELS)) diff --git a/src/gausskernel/dbmind/tools/sqldiag/main.py b/src/gausskernel/dbmind/tools/sqldiag/main.py index 3a05dc671..2de13e4d6 100644 --- a/src/gausskernel/dbmind/tools/sqldiag/main.py +++ b/src/gausskernel/dbmind/tools/sqldiag/main.py @@ -14,6 +14,7 @@ See the Mulan PSL v2 for more details. """ import argparse import os +import stat from src.file_processor import get_train_dataset, get_test_dataset from src.sql_template import SqlTemplate @@ -33,8 +34,6 @@ w2v_model_parameter = {'max_len': 300, def train(template_dir, data): - if not os.path.exists(template_dir): - os.makedirs(template_dir) w2v_model_path = os.path.join(template_dir, w2v_model_name) w2v = Word2Vector(**w2v_model_parameter) if not os.path.exists(w2v_model_path): @@ -67,7 +66,11 @@ def parse_args(): def main(args): mode = args.mode filepath = args.file - template_dir = './template' + template_dir = os.path.realpath('./template') + if not os.path.exists(template_dir): + os.makedirs(template_dir, mode=0o700) + if oct(os.stat(template_dir).st_mode)[-3:] != '700': + os.chmod(template_dir, stat.S_IRWXU) if mode == 'train': train_data = get_train_dataset(filepath) train(template_dir, train_data) diff --git a/src/gausskernel/dbmind/tools/xtuner/Readme.md b/src/gausskernel/dbmind/tools/xtuner/README.md similarity index 100% rename from src/gausskernel/dbmind/tools/xtuner/Readme.md rename to src/gausskernel/dbmind/tools/xtuner/README.md diff --git a/src/gausskernel/dbmind/tools/xtuner/tuner/benchmark/Readme.md b/src/gausskernel/dbmind/tools/xtuner/tuner/benchmark/README.md similarity index 100% rename from src/gausskernel/dbmind/tools/xtuner/tuner/benchmark/Readme.md rename to src/gausskernel/dbmind/tools/xtuner/tuner/benchmark/README.md diff --git a/src/gausskernel/dbmind/tools/xtuner/tuner/main.py b/src/gausskernel/dbmind/tools/xtuner/tuner/main.py index 79cfad6ff..c253a02a7 100644 --- a/src/gausskernel/dbmind/tools/xtuner/tuner/main.py +++ b/src/gausskernel/dbmind/tools/xtuner/tuner/main.py @@ -150,6 +150,7 @@ def get_config(filepath): # Check configs. null_error_msg = 'The configuration option %s is null. Please set a specific value.' invalid_opt_msg = 'The configuration option %s is invalid. Please set one of %s.' + positive_integer_msg = 'The configuration option %s must be a positive integer greater than 0.' # Section Master: for name in ('logfile', 'recorder_file', 'tune_strategy'): @@ -185,6 +186,11 @@ def get_config(filepath): raise OptionError(invalid_opt_msg % ('scenario', scenario_opts)) # Section RL and GOP + def check_positive_integer(*opts): + for opt in opts: + if config[opt] <= 0: + raise OptionError(positive_integer_msg % opt) + if tune_strategy in ('auto', 'rl'): for name in cp['Reinforcement Learning']: if name.strip() == '': @@ -195,6 +201,7 @@ def get_config(filepath): config['rl_steps'] = cp['Reinforcement Learning'].getint('rl_steps') config['max_episode_steps'] = cp['Reinforcement Learning'].getint('max_episode_steps') config['test_episode'] = cp['Reinforcement Learning'].getint('test_episode') + check_positive_integer('rl_steps', 'max_episode_steps', 'test_episode') if tune_strategy in ('auto', 'gop'): for name in cp['Gloabal Optimization Algorithm']: @@ -207,6 +214,7 @@ def get_config(filepath): config['max_iterations'] = cp['Gloabal Optimization Algorithm'].getint('max_iterations') config['particle_nums'] = cp['Gloabal Optimization Algorithm'].getint('particle_nums') + check_positive_integer('max_iterations', 'particle_nums') return config diff --git a/src/gausskernel/optimizer/commands/alter.cpp b/src/gausskernel/optimizer/commands/alter.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/optimizer/commands/analyze.cpp b/src/gausskernel/optimizer/commands/analyze.cpp old mode 100755 new mode 100644 index b252cf145..f1077ab54 --- a/src/gausskernel/optimizer/commands/analyze.cpp +++ b/src/gausskernel/optimizer/commands/analyze.cpp @@ -363,7 +363,7 @@ void analyze_rel(Oid relid, VacuumStmt* vacstmt, BufferAccessStrategy bstrategy) onerel->rd_rel->relpersistence == RELPERSISTENCE_TEMP && !validateTempNamespace(onerel->rd_rel->relnamespace)) { relation_close(onerel, NEED_EST_TOTAL_ROWS_DN(vacstmt) ? AccessShareLock : ShareUpdateExclusiveLock); ereport(ERROR, - (errcode(ERRCODE_DATA_EXCEPTION), + (errcode(ERRCODE_INVALID_TEMP_OBJECTS), errmsg("Temp table's data is invalid because datanode %s restart. " "Quit your session to clean invalid temp tables.", g_instance.attr.attr_common.PGXCNodeName))); @@ -1157,17 +1157,26 @@ static BlockNumber estimate_tsstore_blocks(Relation rel, int attrCnt, double tot * get_non_leaf_pages * Given a perfect tree's leaf pages, estimate the number of non leaf pages. */ -static double get_non_leaf_pages(double leafPages, int totalWidth) +static double get_non_leaf_pages(double leafPages, int totalWidth, bool hasToast) { double nonLeafPages = 0.0; + /* Find number of branches */ - double numOfBranches = (double)(BLCKSZ - sizeof(PageHeaderData)) * 100.0 / \ - (BTREE_NONLEAF_FILLFACTOR * (double)totalWidth); + double numOfBranches = hasToast ? (double)TOAST_TUPLES_PER_PAGE : \ + (double)(BLCKSZ - SizeOfPageHeaderData) * 100.0 / (BTREE_NONLEAF_FILLFACTOR * (double)totalWidth); + + /* If we have more branches than leaf pages, return the meta page only */ + if (numOfBranches <= 1) { + return 1.0; + } + + /* Find number of non leaf pages by repeatly dividing the branch number */ while (leafPages >= 1) { leafPages /= numOfBranches; nonLeafPages += ceil(leafPages); } - return nonLeafPages + 1.0; + + return nonLeafPages + 1.0; /* return non leaf pages AND the meta page */ } static BlockNumber estimate_psort_index_blocks(TupleDesc desc, double totalTuples) @@ -1198,6 +1207,7 @@ static BlockNumber estimate_btree_index_blocks(TupleDesc desc, double totalTuple int attrCnt = desc->natts; Form_pg_attribute* attrs = desc->attrs; BlockNumber totalPages = 0; /* returning block number */ + bool hasToast = false; for (int attIdx = 0; attIdx < attrCnt; ++attIdx) { Form_pg_attribute thisatt = attrs[attIdx]; @@ -1208,21 +1218,28 @@ static BlockNumber estimate_btree_index_blocks(TupleDesc desc, double totalTuple "when setting the estimated output width of a base relation."); } - /* Use colstore estimation without GUC */ + /* Use colstore estimation without SQL_BETA_FEATURE GUC */ if (!ENABLE_SQL_BETA_FEATURE(PAGE_EST_OPT)) { return ceil(totalTuples / RelDefaultFullCuSize) * (RelDefaultFullCuSize * totalWidth / BLCKSZ); } + /* For toasted relations, we need to estimate the total pages differently */ + if (totalWidth >= (int)TOAST_TUPLE_TARGET) { + hasToast = true; + } + /* * Assume we have only one big balanced ternary tree for index from all datanodes. We estimate its leaf pages by: * Find a perfectly filled tree and divide it by its fill factor (default, 90). + * If the tree contains toast tuples, we use TOAST_TUPLES_PER_PAGE instead of totalWidth for estimation. */ - double leafPages = ceil(ceil((totalWidth * totalTuples) / BLCKSZ) * 100.0 / (double)BTREE_DEFAULT_FILLFACTOR); + double leafPages = hasToast ? ceil(totalTuples / (double)TOAST_TUPLES_PER_PAGE) : \ + ceil(ceil((totalWidth * totalTuples) / BLCKSZ) * 100.0 / (double)BTREE_DEFAULT_FILLFACTOR); - /* After we have the 'flawed' tree and its leaf pages, we can estimate its non leaf pages. */ - double nonLeafPages = get_non_leaf_pages(leafPages, totalWidth); + /* After we have the 'flawed' tree and its leaf pages, we can estimate its non leaf pages */ + double nonLeafPages = get_non_leaf_pages(leafPages, totalWidth, hasToast); - /* Sum up, apply the non-leaf fill factor */ + /* Sum up, apply the non leaf fill factor */ totalPages = ceil((leafPages + nonLeafPages * 100.0 / (double)BTREE_NONLEAF_FILLFACTOR) * table_factor); /* Print both original and optimized pages */ @@ -6452,6 +6469,11 @@ static BlockNumber GetOneRelNBlocks( return nblocks; } +/* + * estimate_index_blocks + * This function estimates the number of blocks(pages) of the index. + * We assume that all non column stored relations are being stored as B-trees. + */ static BlockNumber estimate_index_blocks(Relation rel, double totalTuples, double table_factor) { BlockNumber nblocks = 0; @@ -6541,7 +6563,7 @@ static void update_pages_and_tuples_pgclass(Relation onerel, VacuumStmt* vacstmt /* Estimate table expansion factor */ double table_factor = 1.0; - /* Compute table_factor with GUC PARAM_PATH_OPTIMIZATION on */ + /* Compute table factor with GUC PARAM_PATH_OPTIMIZATION on */ if (ENABLE_SQL_BETA_FEATURE(PARAM_PATH_OPT) && onerel && onerel->rd_rel) { BlockNumber pages = onerel->rd_rel->relpages; /* Reuse index estimation here (it is better to get the factor base on same kind of estimation) */ diff --git a/src/gausskernel/optimizer/commands/async.cpp b/src/gausskernel/optimizer/commands/async.cpp old mode 100755 new mode 100644 index bf015ebb9..2fbbab5ca --- a/src/gausskernel/optimizer/commands/async.cpp +++ b/src/gausskernel/optimizer/commands/async.cpp @@ -1781,7 +1781,7 @@ static void asyncQueueAdvanceTail(void) * SimpleLruTruncate() will ask for AsyncCtlLock but will also release * the lock again. */ - SimpleLruTruncate(AsyncCtl, newtailpage); + SimpleLruTruncate(AsyncCtl, newtailpage, false, NUM_SLRU_DEFAULT_PARTITION); } } diff --git a/src/gausskernel/optimizer/commands/cluster.cpp b/src/gausskernel/optimizer/commands/cluster.cpp old mode 100755 new mode 100644 index 4c4bd6a24..60ff6edc5 --- a/src/gausskernel/optimizer/commands/cluster.cpp +++ b/src/gausskernel/optimizer/commands/cluster.cpp @@ -70,6 +70,7 @@ #include "catalog/pg_hashbucket_fn.h" #include "gstrace/gstrace_infra.h" #include "gstrace/commands_gstrace.h" +#include "parser/parse_utilcmd.h" #ifdef ENABLE_MULTIPLE_NODES #include "tsdb/storage/part_merge.h" #include "tsdb/utils/ts_relcache.h" @@ -357,6 +358,14 @@ void cluster_rel(Oid tableOid, Oid partitionOid, Oid indexOid, bool recheck, boo /* Check for user-requested abort. */ CHECK_FOR_INTERRUPTS(); + /* cluster on hard-coded catalogs are only executed under maintenance mode */ + if (tableOid < FirstBootstrapObjectId && !u_sess->attr.attr_common.xc_maintenance_mode && !IsInitdb) { + ereport(NOTICE, + (errcode(ERRCODE_E_R_E_MODIFYING_SQL_DATA_NOT_PERMITTED), + errmsg("skipping system catalog %u --- use xc_maintenance_mode to CLUSTER it", tableOid))); + return; + } + gstrace_entry(GS_TRC_ID_cluster_rel); /* * We grab exclusive access to the target rel and index for the duration @@ -542,6 +551,11 @@ void cluster_rel(Oid tableOid, Oid partitionOid, Oid indexOid, bool recheck, boo relation_close(OldHeap, AccessExclusiveLock); return; } +#ifndef ENABLE_MULTIPLE_NODES + if (OldHeap->rd_rel->relpersistence == RELPERSISTENCE_GLOBAL_TEMP) { + set_stream_off(); + } +#endif /* * All predicate locks on the tuples or pages are about to be made @@ -4637,6 +4651,8 @@ static void swapRelationIndicesRelfileNode(Relation rel1, Relation rel2, bool sw List* indicesList = RelationGetIndexList(rel1); ListCell* cell = NULL; char* srcIdxName = NULL; + char* tmpIdxName = NULL; + char* srcSchema = NULL; Oid tmpIdxOid; Oid indexOid; @@ -4647,17 +4663,20 @@ static void swapRelationIndicesRelfileNode(Relation rel1, Relation rel2, bool sw if (!PointerIsValid(srcIdxName)) { continue; } - + srcSchema = get_namespace_name(rel1->rd_rel->relnamespace); + tmpIdxName = getTmptableIndexName(srcSchema, srcIdxName); /* * The tmp index name is same as src index name, check generateClonedIndexStmt. * Get namespace from tmp table, the index of tmp table must have same namespace with tmp table */ - tmpIdxOid = get_relname_relid(srcIdxName, RelationGetNamespace(rel2)); + tmpIdxOid = get_relname_relid(tmpIdxName, RelationGetNamespace(rel2)); Assert(OidIsValid(tmpIdxOid)); /* Swap index relfilenode */ execute_relfilenode_swap(indexOid, tmpIdxOid, swapBucket); pfree_ext(srcIdxName); + pfree_ext(tmpIdxName); + pfree_ext(srcSchema); } list_free_ext(indicesList); diff --git a/src/gausskernel/optimizer/commands/conversioncmds.cpp b/src/gausskernel/optimizer/commands/conversioncmds.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/optimizer/commands/copy.cpp b/src/gausskernel/optimizer/commands/copy.cpp index b45209f45..a30b0fbde 100644 --- a/src/gausskernel/optimizer/commands/copy.cpp +++ b/src/gausskernel/optimizer/commands/copy.cpp @@ -924,7 +924,7 @@ uint64 DoCopy(CopyStmt* stmt, const char* queryString) } else if (rel != NULL && rel->rd_rel->relpersistence == RELPERSISTENCE_TEMP && !validateTempNamespace(rel->rd_rel->relnamespace)) { heap_close(rel, (is_from ? RowExclusiveLock : AccessShareLock)); ereport(ERROR, - (errcode(ERRCODE_DATA_EXCEPTION), + (errcode(ERRCODE_INVALID_TEMP_OBJECTS), errmsg("Temp table's data is invalid because datanode %s restart. " "Quit your session to clean invalid temp tables.", g_instance.attr.attr_common.PGXCNodeName))); @@ -2235,7 +2235,7 @@ static CopyState BeginCopyTo( else if (rel->rd_rel->relkind == RELKIND_CONTQUERY) ereport(ERROR, (errcode(ERRCODE_WRONG_OBJECT_TYPE), - errmsg("cannot copy from contquery \"%s\"", RelationGetRelationName(rel)), + errmsg("cannot copy from contview \"%s\"", RelationGetRelationName(rel)), errhint("Try the COPY (SELECT ...) TO variant."))); else if (rel->rd_rel->relkind == RELKIND_MATVIEW) ereport(ERROR, @@ -3418,7 +3418,7 @@ static uint64 CopyFrom(CopyState cstate) else if (cstate->rel->rd_rel->relkind == RELKIND_CONTQUERY) ereport(ERROR, (errcode(ERRCODE_WRONG_OBJECT_TYPE), - errmsg("cannot copy to contquery \"%s\"", + errmsg("cannot copy to contview \"%s\"", RelationGetRelationName(cstate->rel)))); else if (cstate->rel->rd_rel->relkind == RELKIND_MATVIEW) ereport(ERROR, @@ -3892,7 +3892,7 @@ static uint64 CopyFrom(CopyState cstate) PG_END_TRY(); if (!is_EOF) { - tsstoreInsert->batch_insert(values, nulls, hi_options); + tsstoreInsert->batch_insert(values, nulls, hi_options, false); } else { endFlag = true; tsstoreInsert->end_batch_insert(); diff --git a/src/gausskernel/optimizer/commands/createas.cpp b/src/gausskernel/optimizer/commands/createas.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/optimizer/commands/datasourcecmds.cpp b/src/gausskernel/optimizer/commands/datasourcecmds.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/optimizer/commands/dbcommands.cpp b/src/gausskernel/optimizer/commands/dbcommands.cpp old mode 100755 new mode 100644 index dbc4d2ba2..d6bcbb953 --- a/src/gausskernel/optimizer/commands/dbcommands.cpp +++ b/src/gausskernel/optimizer/commands/dbcommands.cpp @@ -854,7 +854,6 @@ void dropdb(const char* dbname, bool missing_ok) HeapTuple tup; int notherbackends; int npreparedxacts; - int nslots, nslots_active; /* If we will return before reaching function end, please release this lock */ LWLockAcquire(DelayDDLLock, LW_SHARED); @@ -924,16 +923,6 @@ void dropdb(const char* dbname, bool missing_ok) if (0 == strcmp(dbname, DEFAULT_DATABASE)) ereport(ERROR, (errcode(ERRCODE_WRONG_OBJECT_TYPE), errmsg("cannot drop the default database"))); - /* - * Check whether there are, possibly unconnected, logical slots that refer - * to the to-be-dropped database. The database lock we are holding - * prevents the creation of new slots using the database. - */ - if (ReplicationSlotsCountDBSlots(db_id, &nslots, &nslots_active)) - ereport(ERROR, - (errcode(ERRCODE_OBJECT_IN_USE), - errmsg("database \"%s\" is used by a logical decoding slot", dbname), - errdetail("There are %d slot(s), %d of them active", nslots, nslots_active))); /* * Check for other backends in the target database. (Because we hold the * database lock, no new ones can start after this.) @@ -1670,6 +1659,10 @@ void AlterDatabaseSet(AlterDatabaseSetStmt* stmt) AlterSetting(datid, InvalidOid, stmt->setstmt); +#ifdef ENABLE_MULTIPLE_NODES + printHintInfo(stmt->dbname, NULL); +#endif + UnlockSharedObject(DatabaseRelationId, datid, 0, AccessShareLock); } @@ -2439,6 +2432,19 @@ static void AlterDatabasePrivateObject(const Form_pg_database fbform, Oid dbid, relation_close(rel, ShareUpdateExclusiveLock); } } + /* + * step 6: create row level security for pg_partition if not exists + * CREATE ROW LEVEL SECURITY POLICY pg_partition_rls ON pg_partition AS PERMISSIVE FOR SELECT TO PUBLIC + * USING (has_schema_privilege(current_user, nspname, 'select')) + */ + rlsPolicyId = get_rlspolicy_oid(PartitionRelationId, "pg_partition_rls", true); + if (OidIsValid(rlsPolicyId) == false) { + CreateRlsPolicyForSystem( + "pg_catalog", "pg_partition", "pg_partition_rls", "has_table_privilege", "parentid", "select"); + rel = relation_open(PartitionRelationId, ShareUpdateExclusiveLock); + ATExecEnableDisableRls(rel, RELATION_RLS_ENABLE, ShareUpdateExclusiveLock); + relation_close(rel, ShareUpdateExclusiveLock); + } } else { /* Remove row level security policy for system catalog */ /* step 1: remove row level security policy from pg_class */ @@ -2483,5 +2489,13 @@ static void AlterDatabasePrivateObject(const Form_pg_database fbform, Oid dbid, relation_close(rel, ShareUpdateExclusiveLock); } } + /* step 6: remove row level security policy from pg_partition */ + rlsPolicyId = get_rlspolicy_oid(PartitionRelationId, "pg_partition_rls", true); + if (OidIsValid(rlsPolicyId)) { + RemoveRlsPolicyById(rlsPolicyId); + rel = relation_open(PartitionRelationId, ShareUpdateExclusiveLock); + ATExecEnableDisableRls(rel, RELATION_RLS_DISABLE, ShareUpdateExclusiveLock); + relation_close(rel, ShareUpdateExclusiveLock); + } } } diff --git a/src/gausskernel/optimizer/commands/define.cpp b/src/gausskernel/optimizer/commands/define.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/optimizer/commands/directory.cpp b/src/gausskernel/optimizer/commands/directory.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/optimizer/commands/dropcmds.cpp b/src/gausskernel/optimizer/commands/dropcmds.cpp old mode 100755 new mode 100644 index 8fbb04272..d407ff061 --- a/src/gausskernel/optimizer/commands/dropcmds.cpp +++ b/src/gausskernel/optimizer/commands/dropcmds.cpp @@ -23,6 +23,7 @@ #include "catalog/pg_class.h" #include "catalog/pg_proc.h" #include "commands/defrem.h" +#include "commands/trigger.h" #include "miscadmin.h" #include "nodes/makefuncs.h" #include "parser/parse_type.h" @@ -119,6 +120,8 @@ void RemoveObjects(DropStmt* stmt, bool missing_ok, bool is_securityadmin) errhint("Use DROP AGGREGATE to drop aggregate functions."))); CacheInvalidateFunction(funcOid); + /* send invalid message for for relation holding replaced function as trigger */ + InvalidRelcacheForTriggerFunction(funcOid, ((Form_pg_proc)GETSTRUCT(tup))->prorettype); ReleaseSysCache(tup); } diff --git a/src/gausskernel/optimizer/commands/explain.cpp b/src/gausskernel/optimizer/commands/explain.cpp old mode 100755 new mode 100644 index 6b4f86eb5..7f0b46628 --- a/src/gausskernel/optimizer/commands/explain.cpp +++ b/src/gausskernel/optimizer/commands/explain.cpp @@ -505,11 +505,13 @@ void ExplainQuery( } } +#ifdef ENABLE_MULTIPLE_NODES if (u_sess->instr_cxt.global_instr != NULL) { delete u_sess->instr_cxt.global_instr; u_sess->instr_cxt.thread_instr = NULL; u_sess->instr_cxt.global_instr = NULL; } +#endif /* ENABLE_MULTIPLE_NODES */ if (u_sess->analyze_cxt.autoanalyze_timeinfo != NULL) { pfree_ext(u_sess->analyze_cxt.autoanalyze_timeinfo->data); @@ -938,7 +940,12 @@ void ExplainOnePlan( * and than calling ExecutorStart for ExecInitNode in CN. */ /* only stream plan can use u_sess->instr_cxt.global_instr to collect executor info */ - if (IS_PGXC_COORDINATOR && queryDesc->plannedstmt->is_stream_plan == true && +#ifdef ENABLE_MULTIPLE_NODES + if (IS_PGXC_COORDINATOR && +#else + if (StreamTopConsumerAmI() && +#endif + queryDesc->plannedstmt->is_stream_plan == true && check_stream_support() && instrument_option != 0 && u_sess->instr_cxt.global_instr == NULL && queryDesc->plannedstmt->num_nodes != 0) { int dop = queryDesc->plannedstmt->query_dop; @@ -1062,7 +1069,7 @@ void ExplainOnePlan( ExplainOpenGroup("Query", NULL, true, es); if (IS_PGXC_DATANODE && u_sess->attr.attr_sql.enable_opfusion == true && - es->format == EXPLAIN_FORMAT_TEXT) { + es->format == EXPLAIN_FORMAT_TEXT && u_sess->attr.attr_sql.enable_hypo_index == false) { FusionType type = OpFusion::getFusionType(NULL, params, list_make1(queryDesc->plannedstmt)); if (!es->is_explain_gplan) type = NOBYPASS_NO_CPLAN; @@ -1075,6 +1082,11 @@ void ExplainOnePlan( } } +#ifndef ENBALE_MULTIPLE_NODE + /* Set sync point for waiting all stream threads complete. */ + StreamNodeGroup::syncQuit(STREAM_COMPLETE); +#endif /* ENABLE_MULTIPLE_NODES */ + /* Create textual dump of plan tree */ ExplainPrintPlan(es, queryDesc); @@ -4276,11 +4288,7 @@ static void show_detail_filenum_info(const PlanState* planstate, ExplainState* e int file_num = 0; for (i = 0; i < datanode_size; i++) { ThreadInstrumentation* threadinstr = -#ifdef ENABLE_MULTIPLE_NODES - u_sess->instr_cxt.global_instr->getThreadInstrumentationCN(i, planstate->plan->plan_node_id, 0); -#else - u_sess->instr_cxt.global_instr->getThreadInstrumentationDN(planstate->plan->plan_node_id, 0); -#endif + u_sess->instr_cxt.global_instr->getThreadInstrumentation(i, planstate->plan->plan_node_id, 0); if (threadinstr == NULL) continue; int count_dop_writefile = 0; @@ -4393,11 +4401,7 @@ static void show_detail_execute_info(const PlanState* planstate, ExplainState* e if (t_thrd.explain_cxt.explain_perf_mode != EXPLAIN_NORMAL && es->planinfo->m_runtimeinfo) { for (i = 0; i < datanode_size; i++) { ThreadInstrumentation* threadinstr = -#ifdef ENABLE_MULTIPLE_NODES - u_sess->instr_cxt.global_instr->getThreadInstrumentationCN(i, planstate->plan->plan_node_id, 0); -#else - u_sess->instr_cxt.global_instr->getThreadInstrumentationDN(planstate->plan->plan_node_id, 0); -#endif + u_sess->instr_cxt.global_instr->getThreadInstrumentation(i, planstate->plan->plan_node_id, 0); if (threadinstr == NULL) continue; #ifdef ENABLE_MULTIPLE_NODES @@ -4966,11 +4970,7 @@ static void show_vechash_info(VecHashJoinState* hashstate, ExplainState* es) file_num = 0; for (int i = 0; i < u_sess->instr_cxt.global_instr->getInstruNodeNum(); i++) { ThreadInstrumentation* threadinstr = -#ifdef ENABLE_MULTIPLE_NODES - u_sess->instr_cxt.global_instr->getThreadInstrumentationCN(i, planstate->plan->plan_node_id, 0); -#else - u_sess->instr_cxt.global_instr->getThreadInstrumentationDN(planstate->plan->plan_node_id, 0); -#endif + u_sess->instr_cxt.global_instr->getThreadInstrumentation(i, planstate->plan->plan_node_id, 0); if (threadinstr == NULL) continue; instr = u_sess->instr_cxt.global_instr->getInstrSlot(i, planstate->plan->plan_node_id); @@ -5219,11 +5219,7 @@ static void show_analyze_buffers(ExplainState* es, const PlanState* planstate, S if (nodeNum > 0) { for (int i = 0; i < nodeNum; i++) { ThreadInstrumentation* threadinstr = -#ifdef ENABLE_MULTIPLE_NODES - u_sess->instr_cxt.global_instr->getThreadInstrumentationCN(i, planstate->plan->plan_node_id, 0); -#else - u_sess->instr_cxt.global_instr->getThreadInstrumentationDN(planstate->plan->plan_node_id, 0); -#endif + u_sess->instr_cxt.global_instr->getThreadInstrumentation(i, planstate->plan->plan_node_id, 0); if (threadinstr == NULL) continue; for (int j = 0; j < dop; j++) { @@ -6384,11 +6380,7 @@ static void show_track_time_info(ExplainState* es) for (int k = 0; k < u_sess->instr_cxt.global_instr->getInstruNodeNum(); k++) { for (int m = 0; m < u_sess->instr_cxt.global_instr->getNodeDop(j); m++) { ThreadInstrumentation* threadinstr_tmp = -#ifdef ENABLE_MULTIPLE_NODES - u_sess->instr_cxt.global_instr->getThreadInstrumentationCN(k, j, m); -#else - u_sess->instr_cxt.global_instr->getThreadInstrumentationDN(j, m); -#endif + u_sess->instr_cxt.global_instr->getThreadInstrumentation(k, j, m); if (threadinstr_tmp != NULL) { trackArray = threadinstr_tmp->get_tracks(j); /* when m_instrArrayMap is initialized but nodeinstr is not executed, it should return. */ @@ -6547,11 +6539,7 @@ static void show_track_time_info(ExplainState* es) for (int k = 0; k < u_sess->instr_cxt.global_instr->getInstruNodeNum(); k++) { for (int m = 0; m < u_sess->instr_cxt.global_instr->getNodeDop(j); m++) { ThreadInstrumentation* threadinstr_tmp = -#ifdef ENABLE_MULTIPLE_NODES - u_sess->instr_cxt.global_instr->getThreadInstrumentationCN(k, j, m); -#else - u_sess->instr_cxt.global_instr->getThreadInstrumentationDN(j, m); -#endif + u_sess->instr_cxt.global_instr->getThreadInstrumentation(k, j, m); if (threadinstr_tmp != NULL) { Track* trackArray_tmp = threadinstr_tmp->get_tracks(j); /* when m_instrArrayMap is initialized but nodeinstr is not executed, it should return. */ @@ -6754,11 +6742,7 @@ static void show_stream_send_time(ExplainState* es, const PlanState* planstate) for (int i = 0; i < u_sess->instr_cxt.global_instr->getInstruNodeNum(); i++) { ThreadInstrumentation* threadinstr = -#ifdef ENABLE_MULTIPLE_NODES - u_sess->instr_cxt.global_instr->getThreadInstrumentationCN(i, planstate->plan->plan_node_id, 0); -#else - u_sess->instr_cxt.global_instr->getThreadInstrumentationDN(planstate->plan->plan_node_id, 0); -#endif + u_sess->instr_cxt.global_instr->getThreadInstrumentation(i, planstate->plan->plan_node_id, 0); if (threadinstr == NULL) continue; #ifdef ENABLE_MULTIPLE_NODES @@ -6950,11 +6934,7 @@ static void show_datanode_time(ExplainState* es, PlanState* planstate) if (u_sess->instr_cxt.global_instr->getInstruNodeNum() > 0) { for (i = 0; i < u_sess->instr_cxt.global_instr->getInstruNodeNum(); i++) { ThreadInstrumentation* threadinstr = -#ifdef ENABLE_MULTIPLE_NODES - u_sess->instr_cxt.global_instr->getThreadInstrumentationCN(i, planstate->plan->plan_node_id, 0); -#else - u_sess->instr_cxt.global_instr->getThreadInstrumentationDN(planstate->plan->plan_node_id, 0); -#endif + u_sess->instr_cxt.global_instr->getThreadInstrumentation(i, planstate->plan->plan_node_id, 0); if (threadinstr == NULL) continue; for (j = 0; j < dop; j++) { @@ -7117,11 +7097,7 @@ static void show_instrumentation_count(const char* qlabel, int which, const Plan u_sess->instr_cxt.global_instr->isFromDataNode(planstate->plan->plan_node_id)) { for (int i = 0; i < u_sess->instr_cxt.global_instr->getInstruNodeNum(); i++) { ThreadInstrumentation* threadinstr = -#ifdef ENABLE_MULTIPLE_NODES - u_sess->instr_cxt.global_instr->getThreadInstrumentationCN(i, planstate->plan->plan_node_id, 0); -#else - u_sess->instr_cxt.global_instr->getThreadInstrumentationDN(planstate->plan->plan_node_id, 0); -#endif + u_sess->instr_cxt.global_instr->getThreadInstrumentation(i, planstate->plan->plan_node_id, 0); if (threadinstr == NULL) continue; for (int j = 0; j < dop; j++) { diff --git a/src/gausskernel/optimizer/commands/extension.cpp b/src/gausskernel/optimizer/commands/extension.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/optimizer/commands/foreigncmds.cpp b/src/gausskernel/optimizer/commands/foreigncmds.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/optimizer/commands/formatter.cpp b/src/gausskernel/optimizer/commands/formatter.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/optimizer/commands/functioncmds.cpp b/src/gausskernel/optimizer/commands/functioncmds.cpp old mode 100755 new mode 100644 index cf99c6a68..f19c2ba60 --- a/src/gausskernel/optimizer/commands/functioncmds.cpp +++ b/src/gausskernel/optimizer/commands/functioncmds.cpp @@ -1696,6 +1696,14 @@ void AlterFunction(AlterFunctionStmt* stmt) UpdatePgObjectMtime(funcOid, OBJECT_TYPE_PROC); } + /* + * Send invalid message for for relation holding replaced function as trigger if + * volatality or shippability changes. + */ + if (shippable_item != NULL || volatility_item != NULL) { + InvalidRelcacheForTriggerFunction(funcOid, procForm->prorettype); + } + heap_close(rel, NoLock); tableam_tops_free_tuple(tup); } diff --git a/src/gausskernel/optimizer/commands/gds_stream.cpp b/src/gausskernel/optimizer/commands/gds_stream.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/optimizer/commands/indexcmds.cpp b/src/gausskernel/optimizer/commands/indexcmds.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/optimizer/commands/lockcmds.cpp b/src/gausskernel/optimizer/commands/lockcmds.cpp old mode 100755 new mode 100644 index f0d4102f0..910a1d86a --- a/src/gausskernel/optimizer/commands/lockcmds.cpp +++ b/src/gausskernel/optimizer/commands/lockcmds.cpp @@ -56,6 +56,15 @@ void LockTableCommand(LockStmt* lockstmt) bool recurse = interpretInhOption(rv->inhOpt); Oid reloid; + reloid = get_relname_relid(rv->relname, PG_CATALOG_NAMESPACE); + if (unlikely(OidIsValid(reloid) && reloid < FirstBootstrapObjectId && + lockstmt->mode == AccessExclusiveLock && !u_sess->attr.attr_common.xc_maintenance_mode)) { + ereport(ERROR, + (errcode(ERRCODE_INSUFFICIENT_PRIVILEGE), + errmsg("permission denied: \"%s\" is a system catalog", rv->relname), + errhint("use xc_maintenance_mode to lock this system catalog"))); + } + reloid = RangeVarGetRelidExtended(rv, lockstmt->mode, false, diff --git a/src/gausskernel/optimizer/commands/matview.cpp b/src/gausskernel/optimizer/commands/matview.cpp index f6bd2cf28..55fa79aa8 100644 --- a/src/gausskernel/optimizer/commands/matview.cpp +++ b/src/gausskernel/optimizer/commands/matview.cpp @@ -95,7 +95,7 @@ static void transientrel_destroy(DestReceiver *self); static void refresh_matview_datafill(DestReceiver *dest, Query *query, const char *queryString); static Oid find_mlog_table(Oid relid); -static void update_mlog_time(Relation mlog, HeapTuple tuple, Datum curtime); +static void update_mlog_time(Relation mlog, HeapTuple tuple, Datum curtime, CatalogIndexState indstate); static void check_simple_query(Query *query, List **distkeyList, List **rangeTables, Oid *groupid); static void check_union_all(Query *query, List **distkeyList, List **rangeTables, Oid *groupid); static void check_set_op_component(Node *node); @@ -124,6 +124,20 @@ Size MatviewShmemSize(void) return sizeof(matview_shmem_t); } +inline PlannedStmt* GetPlanStmt(Query* query, ParamListInfo params) +{ + PlannedStmt* plan; +#ifdef ENABLE_MULTIPLE_NODES + plan = pg_plan_query(query, 0, NULL); +#else + int outerdop = u_sess->attr.attr_sql.query_dop_tmp; + u_sess->attr.attr_sql.query_dop_tmp = 1; + plan = pg_plan_query(query, 0, params); + u_sess->attr.attr_sql.query_dop_tmp = outerdop; +#endif + return plan; +} + /* * Initialize shared memory */ @@ -195,12 +209,24 @@ int64 MlogComputeSeqNo() while(tup != NULL) { matviewdepForm = (Form_gs_matview_dependency)GETSTRUCT(tup); - Relation rel = heap_open(matviewdepForm->matviewid, AccessShareLock); + Relation base_rel = try_relation_open(matviewdepForm->relid, AccessShareLock); + if (base_rel == NULL) { + tup = (HeapTuple) tableam_scan_getnexttuple(scan, ForwardScanDirection); + continue; + } + + Relation mat_rel = try_relation_open(matviewdepForm->matviewid, AccessShareLock); + if (mat_rel == NULL) { + heap_close(base_rel, AccessShareLock); + tup = (HeapTuple) tableam_scan_getnexttuple(scan, ForwardScanDirection); + continue; + } Oid mlogid = matviewdepForm->mlogid; seqno = MlogGetMaxSeqno(mlogid); - heap_close(rel, AccessShareLock); + heap_close(mat_rel, AccessShareLock); + heap_close(base_rel, AccessShareLock); if (result < seqno) { result = seqno; @@ -243,7 +269,11 @@ int64 MlogGetMaxSeqno(Oid mlogid) RelationGetDescr(mlog), &isNull); - Assert(!isNull); + if (isNull) { + ereport(ERROR, + (errcode(ERRCODE_NULL_VALUE_NOT_ALLOWED), + errmsg("seqno should not be NULL when scan mlog table"))); + } result = DatumGetInt64(num); break; } @@ -471,9 +501,8 @@ static void ExecutorMatMapDelete(Oid mapid, Oid relid, ItemPointer rel_ctid, Oid Relation mapRel = heap_open(mapid, RowExclusiveLock); List *indexOidList = RelationGetIndexList(mapRel); if (indexOidList == NULL) { - ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("Can't find index on %s", RelationGetRelationName(mapRel)))); + ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("Can't find index on %s", RelationGetRelationName(mapRel)))); } Oid indexOid = (Oid)linitial_oid(indexOidList); @@ -594,13 +623,13 @@ static void ExecutorMatRelInc(QueryDesc* queryDesc, Index index, Oid mlogid, Oid List *indexoidlist = RelationGetIndexList(mlog); if (indexoidlist == NULL) { - ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("Can't find index on %s", RelationGetRelationName(mlog)))); + ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("Can't find index on %s", RelationGetRelationName(mlog)))); } indexoid = (Oid)linitial_oid(indexoidlist); mlogidx = index_open(indexoid, RowExclusiveLock); + CatalogIndexState indstate = CatalogOpenIndexes(mlog); indexScan = index_beginscan(mlog, mlogidx, GetTransactionSnapshot(), 0, 0); index_rescan(indexScan, NULL, 0, NULL, 0); @@ -633,8 +662,7 @@ static void ExecutorMatRelInc(QueryDesc* queryDesc, Index index, Oid mlogid, Oid int64 seqno = DatumGetInt64(num); - ereport(DEBUG5, - (errcode(ERRCODE_SUCCESSFUL_COMPLETION), + ereport(DEBUG5, (errcode(ERRCODE_SUCCESSFUL_COMPLETION), errmsg("Now seqno in Mlog is %ld.", seqno))); act = DatumGetChar(action); @@ -649,6 +677,12 @@ static void ExecutorMatRelInc(QueryDesc* queryDesc, Index index, Oid mlogid, Oid HeapTuple reltuple; if (act == 'D') { + /* + * Here we should CommandCounterIncrement when handle 'D' action in mlog, + * because those tuples which insert early should be visible here. + */ + CommandCounterIncrement(); + ExecutorMatMapDelete(mapid, relid, c_ptr, mvid, xid); } else if (mlog_form_tuple(mlog, tuple, rel, &reltuple)) { HeapTuple copyTuple = reltuple; @@ -679,12 +713,13 @@ static void ExecutorMatRelInc(QueryDesc* queryDesc, Index index, Oid mlogid, Oid if (isNull) { /* if time in mlog-table is NULL, then update it as current time. */ - update_mlog_time(mlog, tuple, curtime); + update_mlog_time(mlog, tuple, curtime, indstate); } } } index_endscan(indexScan); + CatalogCloseIndexes(indstate); index_close(mlogidx, NoLock); list_free_ext(indexoidlist); heap_close(rel, NoLock); @@ -708,8 +743,7 @@ static void ExecutorRefreshMatInc(QueryDesc* queryDesc, Query *query, ListCell *lc = NULL; if (queryDesc->plannedstmt->num_streams > 0) { - ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), errmsg("Refresh Matview cannot support stream plan. "))); } @@ -784,7 +818,12 @@ void ExecRefreshMatViewInc(RefreshMatViewStmt *stmt, const char *queryString, RelationGetRelationName(matviewRel)))); } - Assert(!IsSystemRelation(matviewRel)); + if (IsSystemRelation(matviewRel)) { + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("Not support materialized view \"%s\" is a system catalog relation", + RelationGetRelationName(matviewRel)))); + } Assert(!matviewRel->rd_rel->relhasoids); query = get_matview_query(matviewRel); @@ -793,7 +832,7 @@ void ExecRefreshMatViewInc(RefreshMatViewStmt *stmt, const char *queryString, /* Copy it for ExecutorRefreshMatInc */ Query *rquery = (Query *)copyObject(query); - plan = pg_plan_query(rquery, 0, params); + plan = GetPlanStmt(rquery, params); if (plan->num_streams > 0) { ereport(ERROR, @@ -878,7 +917,7 @@ void ExecRefreshIncMatViewAll(RefreshMatViewStmt *stmt, const char *queryString, /* Copy it for ExecutorRefreshMatInc */ Query *rquery = (Query *)copyObject(query); - plan = pg_plan_query(rquery, 0, params); + plan = GetPlanStmt(rquery, params); if (plan->num_streams > 0) { ereport(ERROR, @@ -1194,7 +1233,7 @@ void ExecCreateMatViewInc(CreateTableAsStmt* stmt, const char* queryString, Para /* Copy it for ExecutorRefreshMatInc */ Query *rquery = (Query *)copyObject(query); - plan = pg_plan_query(rquery, 0, params); + plan = GetPlanStmt(rquery, params); /* Create a QueryDesc, redirecting output to our tuple receiver */ queryDesc = CreateQueryDesc(plan, queryString, GetActiveSnapshot(), InvalidSnapshot, dest, params, 0); @@ -1277,8 +1316,7 @@ static void refresh_matview_datafill(DestReceiver *dest, Query *query, const cha Assert(strcmp(second_rte->alias->aliasname, "old")); second_rte->isResultRel = true; - /* Plan the query which will generate data for the refresh. */ - plan = pg_plan_query(query, 0, NULL); + plan = GetPlanStmt(query, NULL); /* * Use a snapshot with an updated command ID to ensure this query sees @@ -1923,9 +1961,6 @@ void insert_into_matview_map(Oid mapid, Oid matid, ItemPointer matctid, heap_freetuple_ext(tup); list_free_ext(indexOidList); - /* Make the changes visible */ - CommandCounterIncrement(); - index_close(mapIdx, NoLock); heap_close(mapRel, NoLock); return; @@ -2056,87 +2091,6 @@ void insert_into_mlog_table(Relation rel, Oid mlogid, HeapTuple tuple, ItemPoint return; } -TransactionId MlogGetXmin(Oid mlogID) -{ - TableScanDesc scan; - HeapTuple tuple; - TransactionId xmin = InvalidTransactionId; - bool isNull = false; - Relation rel = heap_open(mlogID, AccessShareLock); - - scan = tableam_scan_begin(rel, SnapshotNow, 0, NULL); - while ((tuple = (HeapTuple) tableam_scan_getnexttuple(scan, ForwardScanDirection)) != NULL) { - Datum datumXid = heap_getattr(tuple, - MlogAttributeXid, - RelationGetDescr(rel), - &isNull); - - if (isNull) { - continue; - } - - if (xmin == InvalidTransactionId) { - xmin = DatumGetTransactionId(datumXid); - continue; - } - - if (TransactionIdPrecedes(DatumGetTransactionId(datumXid), xmin)) { - xmin = DatumGetTransactionId(datumXid); - } - - } - - tableam_scan_end(scan); - heap_close(rel, NoLock); - - return xmin; -} - -TransactionId MatviewGetXmin(void) -{ - TableScanDesc scan; - HeapTuple tuple; - bool isNull = false; - TransactionId xmin = InvalidTransactionId; - - Relation rel = heap_open(MatviewDependencyId, AccessShareLock); - scan = tableam_scan_begin(rel, SnapshotNow, 0, NULL); - - while ((tuple = (HeapTuple) tableam_scan_getnexttuple(scan, ForwardScanDirection)) != NULL) { - Datum mlogID = heap_getattr(tuple, - Anum_gs_matview_dep_mlogid, - RelationGetDescr(rel), - &isNull); - - /* Assume it can not be NULL */ - Assert(!isNull); - - TransactionId mlogXmin = MlogGetXmin(DatumGetObjectId(mlogID)); - - if (xmin == InvalidTransactionId) { - xmin = mlogXmin; - continue; - } - - if (mlogXmin == InvalidTransactionId) { - continue; - } - - if (TransactionIdPrecedes(mlogXmin, xmin)) { - xmin = mlogXmin; - } - } - - tableam_scan_end(scan); - heap_close(rel, NoLock); - - /* UPDATE the share memory */ - LWLockAcquire(matview_shmem->matview_lck, LW_EXCLUSIVE); - matview_shmem->matview_xmin = xmin; - LWLockRelease(matview_shmem->matview_lck); - return xmin; -} - static void update_mlog_time_all(Oid mlogid, Datum curtime) { Relation mlog; @@ -2156,6 +2110,7 @@ static void update_mlog_time_all(Oid mlogid, Datum curtime) indexoid = (Oid)linitial_oid(indexoidlist); mlogidx = index_open(indexoid, RowExclusiveLock); + CatalogIndexState indstate = CatalogOpenIndexes(mlog); indexScan = index_beginscan(mlog, mlogidx, SnapshotNow, 0, 0); index_rescan(indexScan, NULL, 0, NULL, 0); @@ -2168,18 +2123,19 @@ static void update_mlog_time_all(Oid mlogid, Datum curtime) /* update refreshtime */ if (isNull || (void*)refreshTime == NULL) { - update_mlog_time(mlog, tuple, curtime); + update_mlog_time(mlog, tuple, curtime, indstate); } } list_free_ext(indexoidlist); index_endscan(indexScan); + CatalogCloseIndexes(indstate); index_close(mlogidx, RowExclusiveLock); heap_close(mlog, NoLock); return; } -static void update_mlog_time(Relation mlog, HeapTuple tuple, Datum curtime) +static void update_mlog_time(Relation mlog, HeapTuple tuple, Datum curtime, CatalogIndexState indstate) { errno_t rc; HeapTuple ntup = NULL; @@ -2200,7 +2156,7 @@ static void update_mlog_time(Relation mlog, HeapTuple tuple, Datum curtime) ntup = heap_modify_tuple(tuple, RelationGetDescr(mlog), values, nulls, replaces); simple_heap_update(mlog, &ntup->t_self, ntup); - CatalogUpdateIndexes(mlog, ntup); + CatalogIndexInsert(indstate, ntup); heap_freetuple_ext(ntup); return; } @@ -2460,10 +2416,17 @@ void check_basetable(Query *query, bool isCreateMatview, bool isIncremental) Relation rel = heap_open(rte->relid, AccessShareLock); if (RelationUsesLocalBuffers(rel)) { - ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("materialized views must not use temporary tables or views"))); + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("materialized views must not use temporary tables or views"))); } + + if (isIncremental && (rel->rd_rel->relpersistence == RELPERSISTENCE_UNLOGGED)) { + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("Can not create incremental materialized view on unlogged table"))); + } + heap_close(rel, AccessShareLock); } @@ -2745,23 +2708,3 @@ static void MlogClearLogByTime(Oid mlogID, Timestamp ts) return; } - -/* - * acquire locks of matview's tables - */ -void acquire_mativew_tables_lock(Query *query, bool incremental) -{ - Relation rel; - ListCell *lc = NULL; - List *relids = NIL; - LOCKMODE lockmode = incremental ? ShareUpdateExclusiveLock : ExclusiveLock; - - relids = pull_up_rels_recursive((Node *)query); - foreach (lc, relids) { - Oid relid = (Oid)lfirst_oid(lc); - rel = heap_open(relid, lockmode); - heap_close(rel, NoLock); - } - - return; -} diff --git a/src/gausskernel/optimizer/commands/portalcmds.cpp b/src/gausskernel/optimizer/commands/portalcmds.cpp old mode 100755 new mode 100644 index 21859cf9c..00edd6174 --- a/src/gausskernel/optimizer/commands/portalcmds.cpp +++ b/src/gausskernel/optimizer/commands/portalcmds.cpp @@ -126,6 +126,11 @@ void PerformCursorOpen(PlannedStmt* stmt, ParamListInfo params, const char* quer portal->cursorOptions |= CURSOR_OPT_NO_SCROLL; } + if (portal->cursorOptions & CURSOR_OPT_HOLD) { + portal->cursorHoldUserId = u_sess->misc_cxt.CurrentUserId; + portal->cursorHoldSecRestrictionCxt = u_sess->misc_cxt.SecurityRestrictionContext; + } + /* For gc_fdw */ if (u_sess->pgxc_cxt.gc_fdw_snapshot) { PushActiveSnapshot(u_sess->pgxc_cxt.gc_fdw_snapshot); @@ -307,6 +312,8 @@ void PersistHoldablePortal(Portal portal) ResourceOwner saveResourceOwner; MemoryContext savePortalContext; MemoryContext oldcxt; + Oid saveUserid; + int saveSecContext; /* * If we're preserving a holdable portal, we had better be inside the @@ -342,6 +349,13 @@ void PersistHoldablePortal(Portal portal) saveActivePortal = ActivePortal; saveResourceOwner = t_thrd.utils_cxt.CurrentResourceOwner; savePortalContext = t_thrd.mem_cxt.portal_mem_cxt; + + if (OidIsValid(portal->cursorHoldUserId)) { + /* GetUserIdAndSecContext is cheap enough that no harm in a wasted call */ + GetUserIdAndSecContext(&saveUserid, &saveSecContext); + SetUserIdAndSecContext(portal->cursorHoldUserId, + portal->cursorHoldSecRestrictionCxt | SECURITY_LOCAL_USERID_CHANGE); + } PG_TRY(); { ActivePortal = portal; @@ -433,7 +447,9 @@ void PersistHoldablePortal(Portal portal) ActivePortal = saveActivePortal; t_thrd.utils_cxt.CurrentResourceOwner = saveResourceOwner; t_thrd.mem_cxt.portal_mem_cxt = savePortalContext; - + if (OidIsValid(portal->cursorHoldUserId)) { + SetUserIdAndSecContext(saveUserid, saveSecContext); + } PG_RE_THROW(); } PG_END_TRY(); @@ -446,7 +462,9 @@ void PersistHoldablePortal(Portal portal) ActivePortal = saveActivePortal; t_thrd.utils_cxt.CurrentResourceOwner = saveResourceOwner; t_thrd.mem_cxt.portal_mem_cxt = savePortalContext; - + if (OidIsValid(portal->cursorHoldUserId)) { + SetUserIdAndSecContext(saveUserid, saveSecContext); + } PopActiveSnapshot(); /* diff --git a/src/gausskernel/optimizer/commands/prepare.cpp b/src/gausskernel/optimizer/commands/prepare.cpp old mode 100755 new mode 100644 index 751161926..62cbdee99 --- a/src/gausskernel/optimizer/commands/prepare.cpp +++ b/src/gausskernel/optimizer/commands/prepare.cpp @@ -38,7 +38,6 @@ #include "utils/dynahash.h" #include "utils/globalplancache.h" #include "utils/globalplancore.h" -#include "utils/globalpreparestmt.h" #include "utils/snapmgr.h" #include "utils/timestamp.h" #ifdef PGXC @@ -199,6 +198,7 @@ void ExecuteQuery(ExecuteStmt* stmt, IntoClause* intoClause, const char* querySt { PreparedStatement *entry = NULL; CachedPlan* cplan = NULL; + MemoryContext tmpCxt = NULL; List* plan_list = NIL; ParamListInfo paramLI = NULL; EState* estate = NULL; @@ -242,7 +242,7 @@ void ExecuteQuery(ExecuteStmt* stmt, IntoClause* intoClause, const char* querySt setCachedPlanBucketId(cps->gplan, paramLI); } - if (OpFusion::process(FUSION_EXECUTE, NULL, completionTag, false)) { + if (OpFusion::process(FUSION_EXECUTE, NULL, completionTag, false, NULL)) { return; } ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), errmsg("Bypass process Failed"))); @@ -269,8 +269,9 @@ void ExecuteQuery(ExecuteStmt* stmt, IntoClause* intoClause, const char* querySt PortalDefineQuery(portal, NULL, query_string, entry->plansource->commandTag, plan_list, cplan); /* incase change shared plan in execute stage */ - if (ENABLE_GPC) { - plan_list = CopyLocalStmt(portal->cplan->stmt_list); + bool needCopy = ENABLE_GPC && entry->plansource->gplan; + if (needCopy) { + plan_list = CopyLocalStmt(portal->cplan->stmt_list, u_sess->temp_mem_cxt, &tmpCxt); portal->stmts = plan_list; } @@ -319,7 +320,7 @@ void ExecuteQuery(ExecuteStmt* stmt, IntoClause* intoClause, const char* querySt ((OpFusion*)psrc->opFusionObj)->useOuterParameter(paramLI); ((OpFusion*)psrc->opFusionObj)->setCurrentOpFusionObj((OpFusion*)psrc->opFusionObj); - if (OpFusion::process(FUSION_EXECUTE, NULL, completionTag, false)) { + if (OpFusion::process(FUSION_EXECUTE, NULL, completionTag, false, NULL)) { return; } Assert(0); @@ -543,8 +544,6 @@ int SetRemoteStatementName(Plan* plan, const char* stmt_name, int num_params, Oi entry->current_nodes_number = 0; entry->dns_node_indices = (int*)MemoryContextAllocZero( u_sess->pcache_cxt.datanode_queries->hcxt, u_sess->pgxc_cxt.NumDataNodes * sizeof(int)); - entry->last_used_time = (instr_time*)MemoryContextAllocZero( - u_sess->pcache_cxt.datanode_queries->hcxt, u_sess->pgxc_cxt.NumDataNodes * sizeof(instr_time)); entry->max_nodes_number = u_sess->pgxc_cxt.NumDataNodes; } if (!is_plan_shared) { @@ -581,7 +580,8 @@ int SetRemoteStatementName(Plan* plan, const char* stmt_name, int num_params, Oi ListCell* l = NULL; foreach (l, mt_plan->plans) { Plan* temp_plan = (Plan*)lfirst(l); - n = SetRemoteStatementName(temp_plan, stmt_name, num_params, param_types, n, isBuildingCustomPlan); + n = SetRemoteStatementName(temp_plan, stmt_name, num_params, param_types, n, + isBuildingCustomPlan, is_plan_shared); } } @@ -615,8 +615,6 @@ DatanodeStatement* light_set_datanode_queries(const char* stmt_name) entry->current_nodes_number = 0; entry->dns_node_indices = (int*)MemoryContextAllocZero( u_sess->pcache_cxt.datanode_queries->hcxt, u_sess->pgxc_cxt.NumDataNodes * sizeof(int)); - entry->last_used_time = (instr_time*)MemoryContextAllocZero( - u_sess->pcache_cxt.datanode_queries->hcxt, u_sess->pgxc_cxt.NumDataNodes * sizeof(instr_time)); entry->max_nodes_number = u_sess->pgxc_cxt.NumDataNodes; } @@ -673,7 +671,12 @@ void StorePreparedStatementCNGPC(const char *stmt_name, CachedPlanSource *planso void StorePreparedStatement(const char* stmt_name, CachedPlanSource* plansource, bool from_sql) { if (ENABLE_DN_GPC) { - g_instance.prepare_cache->Store(stmt_name, plansource, from_sql, false); + if (unlikely(plansource->gpc.status.InShareTable())) + elog(PANIC, "should get shared plan in gpc when StorePreparedStatement"); + /* dn gpc don't save prepare statement on dn */ + u_sess->pcache_cxt.cur_stmt_psrc = plansource; + plansource->gpc.status.SetLoc(GPC_SHARE_IN_LOCAL_SAVE_PLAN_LIST); + SaveCachedPlan(plansource); return; } if (ENABLE_CN_GPC) { @@ -709,9 +712,9 @@ static void FetchPreparedStatementCNGPC(PreparedStatement* entry, const char* st { Assert (entry->plansource->magic == CACHEDPLANSOURCE_MAGIC); /* check if need recreate */ - if (g_instance.plan_cache->CheckRecreateCachePlan(entry)) { + if (g_instance.plan_cache->CheckRecreateCachePlan(entry->plansource)) { entry->has_prepare_dn_stmt = false; - g_instance.plan_cache->RecreateCachePlan(entry, stmt_name); + g_instance.plan_cache->RecreateCachePlan(entry->plansource, entry->stmt_name, entry, NULL, NULL); } #ifdef ENABLE_MULTIPLE_NODES Assert (entry->plansource->lightProxyObj == NULL); @@ -755,18 +758,11 @@ static void FetchPreparedStatementCNGPC(PreparedStatement* entry, const char* st PreparedStatement* FetchPreparedStatement(const char* stmt_name, bool throwError, bool need_valid) { if (ENABLE_DN_GPC) { - PreparedStatement *entry = g_instance.prepare_cache->Fetch(stmt_name, throwError); - if (entry == NULL && throwError) { + if (throwError) ereport(ERROR, (errcode(ERRCODE_UNDEFINED_PSTATEMENT), - errmsg("prepared statement \"%s\" does not exist", - stmt_name))); - } - if (g_instance.plan_cache->CheckRecreateCachePlan(entry)) { - g_instance.plan_cache->RecreateCachePlan(entry, stmt_name); - } - - return entry; + errmsg("prepared statement \"%s\" does not exist on DN with GPC", stmt_name))); + return NULL; } PreparedStatement *entry = NULL; @@ -864,7 +860,7 @@ void DeallocateQuery(DeallocateStmt* stmt) void DropPreparedStatement(const char* stmt_name, bool showError) { if (ENABLE_DN_GPC) { - g_instance.prepare_cache->Drop(stmt_name, showError); + /* no prepare statement on dn gpc */ return ; } @@ -929,6 +925,7 @@ void DropAllPreparedStatements(void) if (ENABLE_DN_GPC) { Assert (u_sess->pcache_cxt.prepared_queries == NULL); + CleanSessGPCPtr(u_sess); return; } @@ -1034,14 +1031,10 @@ void HandlePreparedStatementsForReload(void) return; if (ENABLE_CN_GPC) { - u_sess->cn_session_abort_count++; - if (unlikely(u_sess->cn_session_abort_count >= PG_UINT16_MAX)) { - ereport(WARNING, (errmodule(MOD_GPC), errcode(ERRCODE_LOG), errmsg("GPC's cn abort count overflow and reset to 0"))); - u_sess->cn_session_abort_count = 0; - } + CN_GPC_LOG("Invalid all prepared statements for pool reload", 0, 0); } - GPC_LOG("pool reload", 0, 0); MemoryContext oldcontext = CurrentMemoryContext; + bool has_error = false; /* walk over cache */ hash_seq_init(&seq, u_sess->pcache_cxt.prepared_queries); while ((entry = (PreparedStatement*)hash_seq_search(&seq)) != NULL) { @@ -1052,7 +1045,7 @@ void HandlePreparedStatementsForReload(void) { /* clean CachedPlanSource */ if (entry->plansource->gpc.status.IsSharePlan()) { - g_instance.plan_cache->InvalidPlanSourceForReload(entry->plansource, entry->stmt_name); + g_instance.plan_cache->RemovePlanSource(entry->plansource, entry->stmt_name); } else { DropCachedPlanInternal(entry->plansource); } @@ -1070,6 +1063,7 @@ void HandlePreparedStatementsForReload(void) errmsg("failed to drop internal cached plan when reload prepared statements: %s", edata->message))); FreeErrorData(edata); entry->has_prepare_dn_stmt = false; + has_error = true; } PG_END_TRY(); } @@ -1079,6 +1073,14 @@ void HandlePreparedStatementsForReload(void) /* invalid all cached plans */ ResetPlanCache(); + + /* if error occurrs, report error to log jmp and destory handles */ + if (has_error) { + ereport(ERROR, + (errmodule(MOD_EXECUTOR), + errcode(ERRCODE_INTERNAL_ERROR), + errmsg("failed to drop internal cached plan when reload prepared statements"))); + } } /* @@ -1104,12 +1106,13 @@ void HandlePreparedStatementsForRetry(void) if (ENABLE_CN_GPC) { /* set plansource to invalid like ungpc */ + CN_GPC_LOG("Invalid all prepared statements for retry", 0, 0); HASH_SEQ_STATUS seq; PreparedStatement* entry = NULL; hash_seq_init(&seq, u_sess->pcache_cxt.prepared_queries); while ((entry = (PreparedStatement*)hash_seq_search(&seq)) != NULL) { if (entry->plansource->gpc.status.IsSharePlan()) - g_instance.plan_cache->InvalidPlanSourceForCNretry(entry->plansource); + g_instance.plan_cache->RemovePlanSource(entry->plansource, entry->stmt_name); } } @@ -1131,6 +1134,7 @@ void ExplainExecuteQuery( PreparedStatement *entry = NULL; const char* query_string = NULL; CachedPlan* cplan = NULL; + MemoryContext tmpCxt = NULL; List* plan_list = NIL; ListCell* p = NULL; ParamListInfo paramLI = NULL; @@ -1176,8 +1180,8 @@ void ExplainExecuteQuery( u_sess->attr.attr_sql.explain_allow_multinode = false; - if (ENABLE_GPC) { - plan_list = CopyLocalStmt(cplan->stmt_list); + if (ENABLE_GPC && entry->plansource->gplan) { + plan_list = CopyLocalStmt(cplan->stmt_list, u_sess->temp_mem_cxt, &tmpCxt); } else { plan_list = cplan->stmt_list; } @@ -1359,15 +1363,15 @@ void DropDatanodeStatement(const char* stmt_name) nodelist = lappend_int(nodelist, entry->dns_node_indices[i]); CN_GPC_LOG("drop datanode statment", NULL, entry->stmt_name); - /* Okay to remove it */ - (void*)hash_search(u_sess->pcache_cxt.datanode_queries, entry->stmt_name, HASH_REMOVE, NULL); entry->current_nodes_number = 0; entry->max_nodes_number = 0; pfree_ext(entry->dns_node_indices); - pfree_ext(entry->last_used_time); - ExecCloseRemoteStatement(stmt_name, nodelist); + /* Okay to remove it */ + (void*)hash_search(u_sess->pcache_cxt.datanode_queries, entry->stmt_name, HASH_REMOVE, NULL); + if (!ENABLE_CN_GPC) + ExecCloseRemoteStatement(stmt_name, nodelist); } } @@ -1395,16 +1399,6 @@ void DeActiveAllDataNodeStatements(void) Assert(tmp_num <= u_sess->pgxc_cxt.NumDataNodes); errorno = memset_s(entry->dns_node_indices, tmp_num * sizeof(int), 0, tmp_num * sizeof(int)); securec_check_c(errorno, "\0", "\0"); - errorno = memset_s(entry->last_used_time, tmp_num * sizeof(instr_time), 0, tmp_num * sizeof(instr_time)); - securec_check_c(errorno, "\0", "\0"); - } - } - /* count datanode_queries release times for GPC, as part of cn session message for send to DN later */ - if (ENABLE_CN_GPC) { - u_sess->cn_session_abort_count++; - if (unlikely(u_sess->cn_session_abort_count >= PG_UINT16_MAX)) { - ereport(WARNING, (errmodule(MOD_GPC), errcode(ERRCODE_LOG), errmsg("GPC's cn abort count overflow and reset to 0"))); - u_sess->cn_session_abort_count = 0; } } } @@ -1448,27 +1442,11 @@ bool ActivateDatanodeStatementOnNode(const char* stmt_name, int noid) /* find the statement in cache */ entry = FetchDatanodeStatement(stmt_name, true); - instr_time cur_time; - INSTR_TIME_SET_CURRENT(cur_time); - if (ENABLE_CN_GPC) { - /* see if statement already active on the node, update used time for using statement */ - for (i = 0; i < entry->current_nodes_number; i++) { - if (entry->dns_node_indices[i] == noid) { - if (NEED_SEND_PARSE_AGAIN(entry->last_used_time[i], cur_time)) { - entry->last_used_time[i] = cur_time; - return false; - } - entry->last_used_time[i] = cur_time; - return true; - } - } - } else { - /* see if statement already active on the node */ - for (i = 0; i < entry->current_nodes_number; i++) { - if (entry->dns_node_indices[i] == noid) - return true; - } + /* see if statement already active on the node */ + for (i = 0; i < entry->current_nodes_number; i++) { + if (entry->dns_node_indices[i] == noid) + return true; } /* After cluster expansion, must expand entry->dns_node_indices array too */ @@ -1483,15 +1461,6 @@ bool ActivateDatanodeStatementOnNode(const char* stmt_name, int noid) securec_check(errorno, "\0", "\0"); pfree_ext(entry->dns_node_indices); entry->dns_node_indices = new_dns_node_indices; - instr_time* new_last_used_time = (instr_time*)MemoryContextAllocZero( - u_sess->pcache_cxt.datanode_queries->hcxt, entry->max_nodes_number * 2 * sizeof(instr_time)); - errorno = memcpy_s(new_last_used_time, - entry->max_nodes_number * 2 * sizeof(instr_time), - entry->last_used_time, - entry->max_nodes_number * sizeof(instr_time)); - securec_check(errorno, "\0", "\0"); - pfree_ext(entry->last_used_time); - entry->last_used_time = new_last_used_time; entry->max_nodes_number = entry->max_nodes_number * 2; elog(LOG, "expand node ids array for active datanode statements " @@ -1500,8 +1469,7 @@ bool ActivateDatanodeStatementOnNode(const char* stmt_name, int noid) } /* statement is not active on the specified node append item to the list */ - entry->dns_node_indices[entry->current_nodes_number] = noid; - entry->last_used_time[entry->current_nodes_number++] = cur_time; + entry->dns_node_indices[entry->current_nodes_number++] = noid; return false; } diff --git a/src/gausskernel/optimizer/commands/proclang.cpp b/src/gausskernel/optimizer/commands/proclang.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/optimizer/commands/schemacmds.cpp b/src/gausskernel/optimizer/commands/schemacmds.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/optimizer/commands/sec_rls_cmds.cpp b/src/gausskernel/optimizer/commands/sec_rls_cmds.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/optimizer/commands/sequence.cpp b/src/gausskernel/optimizer/commands/sequence.cpp old mode 100755 new mode 100644 index 9d7db9dff..92f394809 --- a/src/gausskernel/optimizer/commands/sequence.cpp +++ b/src/gausskernel/optimizer/commands/sequence.cpp @@ -54,6 +54,12 @@ /* PGXC_COORD */ #include "access/gtm.h" #include "utils/memutils.h" +#include "pgxc/remoteCombiner.h" +#include "pgxc/execRemote.h" +#include "pgxc/pgxcXact.h" +#include "libpq/pqformat.h" +#include "libpq/libpq.h" + #endif /* @@ -125,6 +131,15 @@ static int64 GetNextvalLocal(SeqTable elm, Relation seqrel); static void ResetvalGlobal(Oid relid); static int64 FetchLogLocal(int64* next, int64* result, int64* last, int64 maxv, int64 minv, int64 fetch, int64 log, int64 incby, int64 rescnt, bool is_cycled, int64 cache, Relation seqrel); +#ifdef ENABLE_MULTIPLE_NODES +static void sendUpdateSequenceMsgToDn(char* seqname, int64 last_value); +static void CheckUpdateSequenceMsgStatus(PGXCNodeHandle* exec_handle, const char* seqname, const int64 last_value); +#endif +static void updateNextValForSequence(Buffer buf, Form_pg_sequence seq, HeapTupleData seqtuple, Relation seqrel, + int64 result); +static int64 GetNextvalResult(SeqTable sess_elm, Relation seqrel, Form_pg_sequence seq, HeapTupleData seqtuple, + Buffer buf, int64* rangemax, SeqTable elm, GTM_UUID uuid); + /* * Sequence concurrent improvements * @@ -461,10 +476,7 @@ static int64 GetNextvalGlobal(SeqTable sess_elm, Relation seqrel) int64 sesscache; int64 range; int64 rangemax; - char* seqname = NULL; - uint32 hash; - bool need_wal = false; - bool get_next_for_datanode = false; + uint32 hash = 0; hash = RelidGetHash(sess_elm->relid); /* guc */ sesscache = u_sess->attr.attr_common.session_sequence_cache; @@ -535,67 +547,7 @@ static int64 GetNextvalGlobal(SeqTable sess_elm, Relation seqrel) range = seq->cache_value; /* how many values to ask from GTM? */ rangemax = 0; /* the max value returned from the GTM for our request */ - seqname = GetGlobalSeqName(seqrel, NULL, NULL); - /* - * Before connect GTM to get seqno we need check if current thread is able - * to get connection. - */ - get_next_for_datanode = range > 1 && IS_PGXC_DATANODE; - if (get_next_for_datanode) { - int retry_times = 0; - const int retry_warning_threshold = 100; - const int retry_error_threshold = 30000; /* retry exceeds 5: minutes report error */ - - AutoMutexLock gtmConnLock(>m_conn_lock); - - while (!gtmConnLock.TryLock()) { - if (retry_times == retry_warning_threshold) { - elog(WARNING, - "Sequence \"%s\" retry %d times to connect GTM on datanode %s", - seqname, - retry_warning_threshold, - g_instance.attr.attr_common.PGXCNodeName); - } - - if (retry_times > retry_error_threshold) { - LWLockRelease(GetMainLWLockByIndex(bucket->lock_id)); - UnlockReleaseBuffer(buf); - - ereport(ERROR, - (errcode(ERRCODE_CONNECTION_TIMED_OUT), - errmsg("Sequence \"%s\" retry %d times to connect GTM on datanode %s", - seqname, - retry_error_threshold, - g_instance.attr.attr_common.PGXCNodeName), - errhint("Need reduce the num of concurrent Sequence request"))); - } - retry_times++; - pg_usleep(SEQUENCE_GTM_RETRY_SLEEPING_TIME); - } - - result = (int64)GetNextValGTM(seq, range, &rangemax, uuid); - - ereport(DEBUG2, - (errmodule(MOD_SEQ), - (errmsg("Sequence %s get ID %ld from GTM, the rangemax is %ld, ", - RelationGetRelationName(seqrel), - result, - rangemax)))); - - CloseGTM(); - gtmConnLock.unLock(); - } else { - result = (int64)GetNextValGTM(seq, range, &rangemax, uuid); - - ereport(DEBUG2, - (errmodule(MOD_SEQ), - (errmsg("Sequence %s get ID %ld from GTM, the rangemax is %ld, ", - RelationGetRelationName(seqrel), - result, - rangemax)))); - } - - pfree_ext(seqname); + result = GetNextvalResult(sess_elm, seqrel, seq, seqtuple, buf, &rangemax, elm, uuid); /* Update the on-disk data */ seq->last_value = result; /* disable the unreliable last_value */ @@ -654,58 +606,7 @@ static int64 GetNextvalGlobal(SeqTable sess_elm, Relation seqrel) log -= cache; Assert(log >= 0); - /* ready to change the on-disk (or really, in-buffer) tuple */ - START_CRIT_SECTION(); - need_wal = getObsReplicationSlot() != NULL && RelationNeedsWAL(seqrel); - /* when obs archive is on, we need xlog to keep hadr standby get sequence */ - if (need_wal) { - xl_seq_rec xlrec; - XLogRecPtr recptr; - - /* - * We don't log the current state of the tuple, but rather the state - * as it would appear after "log" more fetches. This lets us skip - * that many future WAL records, at the cost that we lose those - * sequence values if we crash. - */ - /* set values that will be saved in xlog */ - seq->last_value = result; - seq->is_called = true; - seq->log_cnt = 0; - seqtuple.t_data->t_ctid = seqtuple.t_self; - - RelFileNodeRelCopy(xlrec.node, seqrel->rd_node); - - XLogBeginInsert(); - XLogRegisterBuffer(0, buf, REGBUF_WILL_INIT); - XLogRegisterData((char*)&xlrec, sizeof(xl_seq_rec)); - XLogRegisterData((char*)seqtuple.t_data, seqtuple.t_len); - - recptr = XLogInsert(RM_SEQ_ID, XLOG_SEQ_LOG, false, seqrel->rd_node.bucketNode); - - PageSetLSN(page, recptr); - } - - /* - * We must mark the buffer dirty before doing XLogInsert(); see notes in - * SyncOneBuffer(). However, we don't apply the desired changes just yet. - * This looks like a violation of the buffer update protocol, but it is - * in fact safe because we hold exclusive lock on the buffer. Any other - * process, including a checkpoint, that tries to examine the buffer - * contents will block until we release the lock, and then will see the - * final state that we install below. - */ - MarkBufferDirty(buf); - - /* Now update sequence tuple to the intended final state */ - seq->last_value = last; /* last fetched number */ - seq->is_called = true; - seq->log_cnt = log; /* how much is logged */ - - END_CRIT_SECTION(); - - UnlockReleaseBuffer(buf); - + updateNextValForSequence(buf, seq, seqtuple, seqrel, result); return result; } @@ -1981,6 +1882,7 @@ static Form_pg_sequence read_seq_tuple(SeqTable elm, Relation rel, Buffer* buf, /* Note we currently only bother to set these two fields of *seqtuple */ seqtuple->t_data = (HeapTupleHeader)PageGetItem(page, lp); + seqtuple->t_self = seqtuple->t_data->t_ctid; seqtuple->t_len = ItemIdGetLength(lp); HeapTupleCopyBaseFromPage(seqtuple, page); @@ -2724,3 +2626,312 @@ void drop_sequence_cb(GTMEvent event, void* args) #endif #endif + +#ifdef ENABLE_MULTIPLE_NODES +static void sendUpdateSequenceMsgToDn(char* seqname, int64 last_value) +{ + List* dataNodeList = NULL; + PGXCNodeAllHandles* conn_handles = NULL; + int msglen; + int low = 0; + int high = 0; + errno_t rc = 0; + GlobalTransactionId gxid = GetCurrentTransactionId(); + PGXCNodeHandle *exec_handle = NULL; + exec_handle = GetRegisteredTransactionNodes(true); + if (exec_handle == NULL) { + /* not transaction already, choose first node */ + dataNodeList = lappend_int(dataNodeList, 0); + conn_handles = get_handles(dataNodeList, NULL, false); + list_free_ext(dataNodeList); + if (conn_handles->dn_conn_count != 1) { + ereport(ERROR, (errcode(ERRCODE_CONNECTION_EXCEPTION), + errmsg("Could not get handle on datanode for sequence"))); + } + exec_handle = conn_handles->datanode_handles[0]; + } + uint64 u_last_value; + ereport(DEBUG1, + (errmsg("sendUpdateSequenceMsgToDn %s %ld", seqname, last_value))); + if (pgxc_node_begin(1, &exec_handle, gxid, true, false, PGXC_NODE_DATANODE)) { + ereport(ERROR, (errcode(ERRCODE_CONNECTION_EXCEPTION), + errmsg("Could not begin transaction on datanode for sequence"))); + } + + PGXCNodeHandle* handle = NULL; + + handle = exec_handle; + + /* Invalid connection state, return error */ + if (handle->state != DN_CONNECTION_STATE_IDLE) + ereport(ERROR, + (errcode(ERRCODE_OPERATE_FAILED), + errmsg("Failed to send sendUpdateSequenceMsgToDn request " + "to the node"))); + + msglen = 4; /* for the length itself */ + msglen += 1; /* for signed */ + msglen += sizeof(int64); + msglen += strlen(seqname) + 1; + + /* msgType + msgLen */ + ensure_out_buffer_capacity(1 + msglen, handle); + + Assert(handle->outBuffer != NULL); + handle->outBuffer[handle->outEnd++] = 'y'; + msglen = htonl(msglen); + rc = memcpy_s(handle->outBuffer + handle->outEnd, handle->outSize - handle->outEnd, &msglen, sizeof(int)); + securec_check(rc, "\0", "\0"); + handle->outEnd += 4; + if (last_value < 0) { + handle->outBuffer[handle->outEnd++] = '-'; + u_last_value = (uint64)(last_value * -1); + } else { + handle->outBuffer[handle->outEnd++] = '+'; + u_last_value = (uint64)(last_value); + } + low = u_last_value & 0xFFFFFFFF; + high = (u_last_value >> 32) & 0xFFFFFFFF; + low = htonl(low); + high = htonl(high); + + rc = memcpy_s(handle->outBuffer + handle->outEnd, handle->outSize - handle->outEnd, &high, sizeof(high)); + securec_check(rc, "\0", "\0"); + handle->outEnd += sizeof(high); + + rc = memcpy_s(handle->outBuffer + handle->outEnd, handle->outSize - handle->outEnd, &low, sizeof(low)); + securec_check(rc, "\0", "\0"); + handle->outEnd += sizeof(low); + + rc = memcpy_s(handle->outBuffer + handle->outEnd, handle->outSize - handle->outEnd, + seqname, strlen(seqname) + 1); + securec_check(rc, "\0", "\0"); + handle->outEnd += strlen(seqname) + 1; + handle->state = DN_CONNECTION_STATE_QUERY; + pgxc_node_flush(handle); + CheckUpdateSequenceMsgStatus(exec_handle, seqname, last_value); + pfree_pgxc_all_handles(conn_handles); +} +#endif // ENABLE_MULTIPLE_NODES + +void processUpdateSequenceMsg(const char* seqname, int64 lastvalue) +{ + StringInfoData retbuf; + RangeVar* sequence = NULL; + Oid relid; + Form_pg_sequence seq; + HeapTupleData seqtuple; + text *seqname_text = cstring_to_text(seqname); + List* nameList = textToQualifiedNameList(seqname_text); + sequence = makeRangeVarFromNameList(nameList); + GTM_UUID uuid; + Buffer buf; + SeqTable elm = NULL; + Relation seqrel; + /* + * XXX: This is not safe in the presence of concurrent DDL, but acquiring + * a lock here is more expensive than letting nextval_internal do it, + * since the latter maintains a cache that keeps us from hitting the lock + * manager more than once per transaction. It's not clear whether the + * performance penalty is material in practice, but for now, we do it this + * way. + */ + relid = RangeVarGetRelid(sequence, NoLock, true); + list_free_deep(nameList); + if (!OidIsValid(relid)) { + ereport( + WARNING, (errcode(ERRCODE_OPERATE_FAILED), errmsg("Failed to find relation %s for sequence update", seqname))); + goto SEND_SUCCESS_MSG; + } + /* open and lock sequence */ + init_sequence(relid, &elm, &seqrel); + /* lock page' buffer and read tuple */ + seq = read_seq_tuple(elm, seqrel, &buf, &seqtuple, &uuid); + updateNextValForSequence(buf, seq, seqtuple, seqrel, lastvalue); + relation_close(seqrel, NoLock); +SEND_SUCCESS_MSG: + pq_beginmessage(&retbuf, 'y'); + pq_endmessage(&retbuf); + pq_flush(); +} + +#ifdef ENABLE_MULTIPLE_NODES +static void CheckUpdateSequenceMsgStatus(PGXCNodeHandle* exec_handle, const char* seqname, const int64 last_value) +{ + RemoteQueryState* combiner = NULL; + ereport(DEBUG1, + (errmodule(MOD_SEQ), + (errmsg("Check update sequence <%s> %ld command status", seqname, last_value)))); + + combiner = CreateResponseCombiner(1, COMBINE_TYPE_NONE); + + if (pgxc_node_receive(1, &exec_handle, NULL)) + ereport( + ERROR, (errcode(ERRCODE_OPERATE_FAILED), errmsg("Failed to receive response from the remote side"))); + if (handle_response(exec_handle, combiner) != RESPONSE_SEQUENCE_OK) + ereport(ERROR, + (errcode(ERRCODE_OPERATE_FAILED), + errmsg("update sequence %s command failed with error %s", seqname, exec_handle->error))); + CloseCombiner(combiner); + ereport(DEBUG1, + (errmsg("Successfully completed update sequence <%s> to %ld command on all nodes", seqname, last_value))); +} +#endif // ENABLE_MULTIPLE_NODES + +static void updateNextValForSequence(Buffer buf, Form_pg_sequence seq, HeapTupleData seqtuple, Relation seqrel, + int64 result) +{ + Page page; + bool need_wal = false; + char *seqname = NULL; + page = BufferGetPage(buf); + /* ready to change the on-disk (or really, in-buffer) tuple */ + + need_wal = RelationNeedsWAL(seqrel); + if (IS_PGXC_DATANODE) { + START_CRIT_SECTION(); + /* when obs archive is on, we need xlog to keep hadr standby get sequence */ + if (need_wal) { + xl_seq_rec xlrec; + XLogRecPtr recptr; + /* + * We don't log the current state of the tuple, but rather the state + * as it would appear after "log" more fetches. This lets us skip + * that many future WAL records, at the cost that we lose those + * sequence values if we crash. + */ + /* set values that will be saved in xlog */ + seq->last_value = result; + seq->is_called = true; + seq->log_cnt = 0; + RelFileNodeRelCopy(xlrec.node, seqrel->rd_node); + XLogBeginInsert(); + XLogRegisterBuffer(0, buf, REGBUF_WILL_INIT); + XLogRegisterData((char*)&xlrec, sizeof(xl_seq_rec)); + XLogRegisterData((char*)seqtuple.t_data, seqtuple.t_len); + recptr = XLogInsert(RM_SEQ_ID, XLOG_SEQ_LOG, false, seqrel->rd_node.bucketNode); + PageSetLSN(page, recptr); + } + /* + * We must mark the buffer dirty before doing XLogInsert(); see notes in + * SyncOneBuffer(). However, we don't apply the desired changes just yet. + * This looks like a violation of the buffer update protocol, but it is + * in fact safe because we hold exclusive lock on the buffer. Any other + * process, including a checkpoint, that tries to examine the buffer + * contents will block until we release the lock, and then will see the + * final state that we install below. + */ + MarkBufferDirty(buf); + /* Now update sequence tuple to the intended final state */ + seq->last_value = result; /* last fetched number */ + seq->is_called = true; + seq->log_cnt = 0; + END_CRIT_SECTION(); + } + UnlockReleaseBuffer(buf); + /* 1 nextval execute on dn, will record in xlog above + * 2 nextval execute on cn, will notify to dn for record + * 3 nextval execute direct on another cn, will ignore it for execute direct on is against with write transaction + */ + if (need_wal && IS_PGXC_COORDINATOR) { + if (!IsConnFromCoord()) { + MemoryContext curr; + seqname = GetGlobalSeqName(seqrel, NULL, NULL); + curr = MemoryContextSwitchTo(u_sess->top_transaction_mem_cxt); + u_sess->xact_cxt.send_seqname = pstrdup(seqname); + u_sess->xact_cxt.send_result = result; + MemoryContextSwitchTo(curr); + pfree_ext(seqname); + } else { + /* nexval execute direct on cn will not notify dn */ + ereport(WARNING, + (errmodule(MOD_SEQ), + (errmsg("Sequence %s execute nextval direct on cn, will not notify dn ", + RelationGetRelationName(seqrel))))); + } + } + return; +} + +static int64 GetNextvalResult(SeqTable sess_elm, Relation seqrel, Form_pg_sequence seq, HeapTupleData seqtuple, + Buffer buf, int64* rangemax, SeqTable elm, GTM_UUID uuid) +{ + GlobalSeqInfoHashBucket* bucket = NULL; + int64 range; + char* seqname = NULL; + uint32 hash; + bool get_next_for_datanode = false; + hash = RelidGetHash(sess_elm->relid); + bucket = &g_instance.global_seq[hash]; + int64 result = 0; + + range = seq->cache_value; /* how many values to ask from GTM? */ + seqname = GetGlobalSeqName(seqrel, NULL, NULL); + /* + * Before connect GTM to get seqno we need check if current thread is able + * to get connection. + */ + get_next_for_datanode = range > 1 && IS_PGXC_DATANODE; + if (get_next_for_datanode) { + int retry_times = 0; + const int retry_warning_threshold = 100; + const int retry_error_threshold = 30000; /* retry exceeds 5: minutes report error */ + + AutoMutexLock gtmConnLock(>m_conn_lock); + + while (!gtmConnLock.TryLock()) { + if (retry_times == retry_warning_threshold) { + elog(WARNING, + "Sequence \"%s\" retry %d times to connect GTM on datanode %s", + seqname, + retry_warning_threshold, + g_instance.attr.attr_common.PGXCNodeName); + } + + if (retry_times > retry_error_threshold) { + LWLockRelease(GetMainLWLockByIndex(bucket->lock_id)); + UnlockReleaseBuffer(buf); + + ereport(ERROR, + (errcode(ERRCODE_CONNECTION_TIMED_OUT), + errmsg("Sequence \"%s\" retry %d times to connect GTM on datanode %s", + seqname, + retry_error_threshold, + g_instance.attr.attr_common.PGXCNodeName), + errhint("Need reduce the num of concurrent Sequence request"))); + } + retry_times++; + pg_usleep(SEQUENCE_GTM_RETRY_SLEEPING_TIME); + } + result = (int64)GetNextValGTM(seq, range, rangemax, uuid); + ereport(DEBUG2, + (errmodule(MOD_SEQ), + (errmsg("Sequence %s get ID %ld from GTM, the rangemax is %ld, ", + RelationGetRelationName(seqrel), + result, + *rangemax)))); + CloseGTM(); + gtmConnLock.unLock(); + } else { + result = (int64)GetNextValGTM(seq, range, rangemax, uuid); + + ereport(DEBUG2, + (errmodule(MOD_SEQ), + (errmsg("Sequence %s get ID %ld from GTM, the rangemax is %ld, ", + RelationGetRelationName(seqrel), + result, + *rangemax)))); + } + pfree_ext(seqname); + return result; +} + +void checkAndDoUpdateSequence() +{ +#ifdef ENABLE_MULTIPLE_NODES + if(u_sess->xact_cxt.send_seqname != NULL) { + sendUpdateSequenceMsgToDn(u_sess->xact_cxt.send_seqname, u_sess->xact_cxt.send_result); + pfree_ext(u_sess->xact_cxt.send_seqname); + } +#endif +} diff --git a/src/gausskernel/optimizer/commands/tablecmds.cpp b/src/gausskernel/optimizer/commands/tablecmds.cpp index d0c429750..03f0792ce 100644 --- a/src/gausskernel/optimizer/commands/tablecmds.cpp +++ b/src/gausskernel/optimizer/commands/tablecmds.cpp @@ -405,7 +405,8 @@ typedef OldToNewChunkIdMappingData* OldToNewChunkIdMapping; #define BASETABLE_SUPPORT_AT_CMD(cmd) \ ((cmd) == AT_SubCluster || (cmd) == AT_ChangeOwner || (cmd) == AT_SetRelOptions || \ (cmd) == AT_ResetRelOptions || (cmd) == AT_ReplaceRelOptions || \ - (cmd) == AT_EnableRls || (cmd) == AT_DisableRls || (cmd) == AT_ForceRls || (cmd) == AT_NoForceRls) \ + (cmd) == AT_EnableRls || (cmd) == AT_DisableRls || (cmd) == AT_ForceRls || (cmd) == AT_NoForceRls || \ + (cmd) == AT_AddConstraint || (cmd) == AT_DropConstraint) #define MATVIEW_SUPPORT_AT_CMD(cmd) ((cmd) == AT_SubCluster || (cmd) == AT_ChangeOwner) @@ -2798,6 +2799,7 @@ void RemoveRelationsonMainExecCN(DropStmt* drop, ObjectAddresses* objects) LockRelationOid(thisobj->objectId, AccessExclusiveLock); } #ifdef ENABLE_MULTIPLE_NODES + PreventDDLIfTsdbDisabled(thisobj->objectId); /* check if the rel is timeseries rel, if so, remove jobs */ RemoveJobsWhenRemoveRelation(thisobj->objectId); #endif /* ENABLE_MULTIPLE_NODES */ @@ -2994,6 +2996,7 @@ void RemoveRelations(DropStmt* drop, StringInfo tmp_queryString, RemoteQueryExec #ifdef ENABLE_MULTIPLE_NODES /* check if the rel is timeseries rel, if so, remove jobs */ if (relkind == RELKIND_RELATION) { + PreventDDLIfTsdbDisabled(relOid); RemoveJobsWhenRemoveRelation(relOid); } #endif /* ENABLE_MULTIPLE_NODES */ @@ -3515,6 +3518,7 @@ void ExecuteTruncate(TruncateStmt* stmt) } #ifdef ENABLE_MULTIPLE_NODES + PreventDDLIfTsdbDisabled(myrelid); /* * for timeseries relation, truncate tag table and delta table(if exists) on each DN */ @@ -6094,6 +6098,10 @@ void AlterTable(Oid relid, LOCKMODE lockmode, AlterTableStmt* stmt) CheckTableNotInUse(rel, "ALTER TABLE"); +#ifdef ENABLE_MULTIPLE_NODES + PreventDDLIfTsdbDisabled(relid); +#endif /* ENABLE_MULTIPLE_NODES */ + /* * cmd list for 'ALTER FOREIGN TABLE ADD NODE'. * cmd list for 'ALTER TABLE DFSTbl ADD NODE'. @@ -18384,6 +18392,8 @@ static void ATUnusableGlobalIndex(Relation rel) relation_close(sysTable, RowExclusiveLock); if (dirty) { + /* invalidate relation */ + CacheInvalidateRelcache(rel); CommandCounterIncrement(); } } @@ -22127,6 +22137,40 @@ static List* ATExecReplaceRelOptionListCell(List* options, char* keyName, char* return options; } +/* + * ATDisableROTCompress is short for: Alter table disable row-oriented-table compress + */ +static void ATDisableROTCompress(const Relation rel, const int8 cmprsType) +{ + if (!RelationIsRowFormat(rel)) { + return; + } + if (IsCompressedByCmprsInPgclass((RelCompressType)cmprsType)) { + ereport(ERROR, + (errcode(ERRCODE_INVALID_TABLE_DEFINITION), + errmsg("row-oriented table does not support compression"))); + } + /* + * relcmprs(pg_class's field) of mlog table in materialized view is 0, + * and it does not satisfys the following check. Because we have disabled + * compression for row-oriented table, we work around it with reporting + * an error and forbid coredump. + * + * Why relcmprs of mlog table is 0? The reason is in GetCreateTableStmt. + * It uses row_compress in stmt->into, and this value is created by + * rule CreateMatViewStmt in gram.y. It is not convenient for us to set it + * to 1 there, otherwise, it is too hack. We can not let users specify + * compress/nocompress when creating materialized view, either. + * + * In summary, checking it here may be the best choice. + */ + if (CHECK_CMPRS_NOT_SUPPORT(RELATION_GET_CMPRS_ATTR(rel))) { + ereport(ERROR, + (errcode(ERRCODE_INVALID_TABLE_DEFINITION), + errmsg("row-oriented table does not support compression."))); + } +} + static void ATExecSetCompress(Relation rel, const char* cmprsId) { Oid relId = RelationGetRelid(rel); @@ -22134,11 +22178,7 @@ static void ATExecSetCompress(Relation rel, const char* cmprsId) HeapTuple relTuple; const int8 cmprsType = getCompressType(cmprsId); - if (RelationIsRowFormat(rel) && IsCompressedByCmprsInPgclass((RelCompressType)cmprsType)) { - ereport(ERROR, - (errcode(ERRCODE_INVALID_TABLE_DEFINITION), - errmsg("row-oriented table does not support compression"))); - } + ATDisableROTCompress(rel, cmprsType); Assert(!CHECK_CMPRS_NOT_SUPPORT(RELATION_GET_CMPRS_ATTR(rel))); Assert(CHECK_CMPRS_VALID(cmprsType)); diff --git a/src/gausskernel/optimizer/commands/trigger.cpp b/src/gausskernel/optimizer/commands/trigger.cpp index a56c7ee28..736db0c1d 100644 --- a/src/gausskernel/optimizer/commands/trigger.cpp +++ b/src/gausskernel/optimizer/commands/trigger.cpp @@ -101,6 +101,12 @@ static bool pgxc_is_internal_trig_firable(Relation rel, const Trigger* trigger); static HeapTuple pgxc_get_trigger_tuple(HeapTupleHeader tuphead); static bool pgxc_should_exec_trigship(Relation rel, const EState* estate); #endif +#ifdef ENABLE_MULTIPLE_NODES +inline bool IsReplicatedRelationWithoutPK(Relation rel, AttrNumber* indexed_col, int16 index_col_count) +{ + return IsRelationReplicated(RelationGetLocInfo(rel)) && (indexed_col == NULL || index_col_count == 0); +} +#endif /* * Create a trigger. Returns the OID of the created trigger. @@ -185,6 +191,20 @@ Oid CreateTrigger(CreateTrigStmt* stmt, const char* queryString, Oid relOid, Oid (errcode(ERRCODE_WRONG_OBJECT_TYPE), errmsg("\"%s\" is a table", RelationGetRelationName(rel)), errdetail("Tables cannot have INSTEAD OF triggers."))); + +#ifdef ENABLE_MULTIPLE_NODES + /* Triggers must be created on replicated table with primary key or unique index. */ + AttrNumber* indexed_col = NULL; + int16 index_col_count = 0; + + if (IS_PGXC_COORDINATOR && !u_sess->attr.attr_sql.enable_trigger_shipping && !isInternal) { + index_col_count = pgxc_find_primarykey(RelationGetRelid(rel), &indexed_col, true); + if (IsReplicatedRelationWithoutPK(rel, indexed_col, index_col_count)) { + ereport(WARNING, + (errmsg("Triggers must be created on replicated table with primary key or unique index."))); + } + } +#endif } else if (rel->rd_rel->relkind == RELKIND_VIEW || rel->rd_rel->relkind == RELKIND_CONTQUERY) { /* * Views can have INSTEAD OF triggers (which we check below are @@ -5388,6 +5408,11 @@ int16 pgxc_get_trigevent(CmdType commandType) return ret; } +inline bool CheckTriggerType(TriggerDesc* trigdesc, uint16 tgtype_event) +{ + return trigdesc != NULL && pgxc_has_trigger_for_event(tgtype_event, trigdesc); +} + /* * pgxc_should_exec_triggers: * Return true if it is determined that all of the triggers for the relation @@ -5444,6 +5469,10 @@ static bool pgxc_should_exec_triggers( has_nonshippable = pgxc_find_nonshippable_row_trig(rel, tgtype_event, tgtype_timing, false); if (IS_PGXC_COORDINATOR) { + /* If enable_trigger_shipping is off, directly return true on CN. */ + if (!u_sess->attr.attr_sql.enable_trigger_shipping && CheckTriggerType(rel->trigdesc, tgtype_event)) + return true; + if (RelationGetLocInfo(rel)) { /* * So this is a typical coordinator table that has locator info. @@ -5460,6 +5489,10 @@ static bool pgxc_should_exec_triggers( return true; } } else { + /* Directly return false on DN. */ + if (!u_sess->attr.attr_sql.enable_trigger_shipping && CheckTriggerType(rel->trigdesc, tgtype_event)) + return false; + /* * On datanode, it is straightforward; just execute if all are * shippable. Coordinator would have skipped such triggers. @@ -5637,3 +5670,40 @@ static bool pgxc_should_exec_trigship(Relation rel, const EState* estate) } #endif + +void InvalidRelcacheForTriggerFunction(Oid funcoid, Oid returnType) +{ + /* Only handle function that returns trigger */ + if (returnType != TRIGGEROID) { + return; + } + + SysScanDesc sscan = NULL; + HeapTuple tuple; + Relation trigRel = heap_open(TriggerRelationId, AccessShareLock); + + /* + * Find associated trigger with given function, and send invalid message to + * the relation holding these triggers. + */ + sscan = systable_beginscan(trigRel, InvalidOid, false, SnapshotNow, 0, NULL); + while (HeapTupleIsValid(tuple = systable_getnext(sscan))) { + Form_pg_trigger trigger = (Form_pg_trigger)GETSTRUCT(tuple); + if (trigger->tgfoid == funcoid) { + Relation rel = heap_open(trigger->tgrelid, AccessShareLock); + CacheInvalidateRelcache(rel); + heap_close(rel, AccessShareLock); + } + } + systable_endscan(sscan); + heap_close(trigRel, AccessShareLock); +} + +/* reset row trigger shipping flag before exiting */ +void ResetTrigShipFlag() +{ + if (u_sess->tri_cxt.afterTriggers->query_depth == 0) { + u_sess->tri_cxt.exec_row_trigger_on_datanode = false; + } + +} diff --git a/src/gausskernel/optimizer/commands/tsearchcmds.cpp b/src/gausskernel/optimizer/commands/tsearchcmds.cpp old mode 100755 new mode 100644 index ad05dfb03..4c3e94531 --- a/src/gausskernel/optimizer/commands/tsearchcmds.cpp +++ b/src/gausskernel/optimizer/commands/tsearchcmds.cpp @@ -1386,6 +1386,9 @@ void DefineTSConfiguration(List* names, List* parameters, List* cfoptions) */ if (!OidIsValid(prsOid)) ereport(ERROR, (errcode(ERRCODE_INVALID_OBJECT_DEFINITION), errmsg("text search parser is required"))); + if (prsOid == ZHPARSER_PARSER) { + ereport(ERROR, (errcode(ERRCODE_INVALID_OBJECT_DEFINITION), errmsg("Zhparser is not supported!"))); + } /* * Looks good, build tuple and insert diff --git a/src/gausskernel/optimizer/commands/typecmds.cpp b/src/gausskernel/optimizer/commands/typecmds.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/optimizer/commands/user.cpp b/src/gausskernel/optimizer/commands/user.cpp old mode 100755 new mode 100644 index 30b82584a..cd925f248 --- a/src/gausskernel/optimizer/commands/user.cpp +++ b/src/gausskernel/optimizer/commands/user.cpp @@ -223,19 +223,15 @@ void initWaitCountCell( pg_atomic_init_u64(&WaitCountStatusCell->WaitCountArray[dataid].wc_cnt.wc_sql_dml, 0); pg_atomic_init_u64(&WaitCountStatusCell->WaitCountArray[dataid].wc_cnt.wc_sql_dcl, 0); pg_atomic_init_u64(&WaitCountStatusCell->WaitCountArray[dataid].wc_cnt.insertElapse.total_time, 0); - pg_atomic_init_u64(&WaitCountStatusCell->WaitCountArray[dataid].wc_cnt.insertElapse.avg_time, 0); pg_atomic_init_u64(&WaitCountStatusCell->WaitCountArray[dataid].wc_cnt.insertElapse.min_time, 0); pg_atomic_init_u64(&WaitCountStatusCell->WaitCountArray[dataid].wc_cnt.insertElapse.max_time, 0); pg_atomic_init_u64(&WaitCountStatusCell->WaitCountArray[dataid].wc_cnt.selectElapse.total_time, 0); - pg_atomic_init_u64(&WaitCountStatusCell->WaitCountArray[dataid].wc_cnt.selectElapse.avg_time, 0); pg_atomic_init_u64(&WaitCountStatusCell->WaitCountArray[dataid].wc_cnt.selectElapse.min_time, 0); pg_atomic_init_u64(&WaitCountStatusCell->WaitCountArray[dataid].wc_cnt.selectElapse.max_time, 0); pg_atomic_init_u64(&WaitCountStatusCell->WaitCountArray[dataid].wc_cnt.updateElapse.total_time, 0); - pg_atomic_init_u64(&WaitCountStatusCell->WaitCountArray[dataid].wc_cnt.updateElapse.avg_time, 0); pg_atomic_init_u64(&WaitCountStatusCell->WaitCountArray[dataid].wc_cnt.updateElapse.min_time, 0); pg_atomic_init_u64(&WaitCountStatusCell->WaitCountArray[dataid].wc_cnt.updateElapse.max_time, 0); pg_atomic_init_u64(&WaitCountStatusCell->WaitCountArray[dataid].wc_cnt.deleteElapse.total_time, 0); - pg_atomic_init_u64(&WaitCountStatusCell->WaitCountArray[dataid].wc_cnt.deleteElapse.avg_time, 0); pg_atomic_init_u64(&WaitCountStatusCell->WaitCountArray[dataid].wc_cnt.deleteElapse.min_time, 0); pg_atomic_init_u64(&WaitCountStatusCell->WaitCountArray[dataid].wc_cnt.deleteElapse.max_time, 0); pg_atomic_init_u32(&WaitCountStatusCell->WaitCountArray[dataid].userid, userid); @@ -3027,6 +3023,9 @@ void AlterRoleSet(AlterRoleSetStmt* stmt) } AlterSetting(databaseid, HeapTupleGetOid(roletuple), stmt->setstmt); +#ifdef ENABLE_MULTIPLE_NODES + printHintInfo(stmt->database, stmt->role); +#endif heap_close(pg_authid_rel, NoLock); ReleaseSysCache(roletuple); } @@ -4614,41 +4613,6 @@ static void DropAuthHistory(Oid roleID) } } -/* - * Brief : Check if the initial password of the initial user has been modified - * by checking the number of tuples in pg_auth_history. - * - * Description : We only consider the roleId = 10. When the database is initialized, - * the initial user has its own password, which should be modified in - * force to satisfy the security request. - * Notes : - */ -bool HasModifiedInitPwdByChkAuthHistory(Oid roleID) -{ - bool hasmodified = false; - HeapTuple tmp_tuple = NULL; - ScanKeyData scankey; - int num = 0; - - Relation pg_auth_history_rel = heap_open(AuthHistoryRelationId, AccessShareLock); - - /* if the relation is valid, check the records */ - ScanKeyInit(&scankey, Anum_pg_auth_history_roloid, BTEqualStrategyNumber, F_OIDEQ, ObjectIdGetDatum(roleID)); - SysScanDesc sscan = systable_beginscan(pg_auth_history_rel, AuthHistoryIndexId, true, SnapshotNow, 1, &scankey); - while (HeapTupleIsValid(tmp_tuple = systable_getnext(sscan))) { - num++; - if (num > 1) { - hasmodified = true; - break; - } - } - - systable_endscan(sscan); - heap_close(pg_auth_history_rel, AccessShareLock); - - return hasmodified; -} - /* * Brief : Check if the current user ID has the privilege to alter user * : with auditadmin. @@ -5012,6 +4976,16 @@ bool UnlockAccountToHashTable(Oid roleid, bool superlock, bool isreset) AccountLockHashEntry *account_entry = NULL; int2 status; + /* user account has not been locked if account_table is null */ + if (g_instance.policy_cxt.account_table == NULL) { + char* relName = NULL; + relName = get_rel_name(roleid); + if (relName != NULL) { + ereport(NOTICE, (errmsg("user account %s has not been locked", relName))); + } + return true; + } + account_entry = (AccountLockHashEntry *)hash_search(g_instance.policy_cxt.account_table, &roleid, HASH_FIND, &found); if (found) { SpinLockAcquire(&account_entry->mutex); diff --git a/src/gausskernel/optimizer/commands/vacuum.cpp b/src/gausskernel/optimizer/commands/vacuum.cpp old mode 100755 new mode 100644 index e175f6f66..c93c21d6a --- a/src/gausskernel/optimizer/commands/vacuum.cpp +++ b/src/gausskernel/optimizer/commands/vacuum.cpp @@ -1723,6 +1723,19 @@ static bool vacuum_rel(Oid relid, VacuumStmt* vacstmt, bool do_toast) return false; } } + + /* VACUUM FULL on hard-coded catalogs are only executed under maintenance mode */ + if (rel != NULL && relid < FirstBootstrapObjectId && + !u_sess->attr.attr_common.xc_maintenance_mode && !IsInitdb) { + ereport(NOTICE, + (errcode(ERRCODE_E_R_E_MODIFYING_SQL_DATA_NOT_PERMITTED), + errmsg("skipping \"%s\" --- use xc_maintenance_mode to VACUUM FULL it", + RelationGetRelationName(rel)))); + relation_close(rel, AccessShareLock); + proc_snapshot_and_transaction(); + return false; + } + if (rel != NULL) relation_close(rel, AccessShareLock); } @@ -1740,7 +1753,7 @@ static bool vacuum_rel(Oid relid, VacuumStmt* vacstmt, bool do_toast) onerel->rd_rel->relpersistence == RELPERSISTENCE_TEMP && !validateTempNamespace(onerel->rd_rel->relnamespace)) { relation_close(onerel, lmode); ereport(ERROR, - (errcode(ERRCODE_DATA_EXCEPTION), + (errcode(ERRCODE_INVALID_TEMP_OBJECTS), errmsg("Temp table's data is invalid because datanode %s restart. " "Quit your session to clean invalid temp tables.", g_instance.attr.attr_common.PGXCNodeName))); diff --git a/src/gausskernel/optimizer/commands/variable.cpp b/src/gausskernel/optimizer/commands/variable.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/optimizer/commands/verify.cpp b/src/gausskernel/optimizer/commands/verify.cpp index 5be3a25b1..55597a8cb 100644 --- a/src/gausskernel/optimizer/commands/verify.cpp +++ b/src/gausskernel/optimizer/commands/verify.cpp @@ -533,7 +533,7 @@ void DoVerifyTableOtherNode(VacuumStmt* stmt, bool sentToRemote) } else if (rel->rd_rel->relpersistence == RELPERSISTENCE_TEMP && !validateTempNamespace(rel->rd_rel->relnamespace)) { relation_close(rel, AccessShareLock); ereport(ERROR, - (errcode(ERRCODE_DATA_EXCEPTION), + (errcode(ERRCODE_INVALID_TEMP_OBJECTS), errmsg("Temp table's data is invalid because datanode %s restart. " "Quit your session to clean invalid temp tables.", g_instance.attr.attr_common.PGXCNodeName))); diff --git a/src/gausskernel/optimizer/commands/view.cpp b/src/gausskernel/optimizer/commands/view.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/optimizer/geqo/geqo_erx.cpp b/src/gausskernel/optimizer/geqo/geqo_erx.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/optimizer/geqo/geqo_eval.cpp b/src/gausskernel/optimizer/geqo/geqo_eval.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/optimizer/geqo/geqo_misc.cpp b/src/gausskernel/optimizer/geqo/geqo_misc.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/optimizer/path/Makefile b/src/gausskernel/optimizer/path/Makefile index 76daad113..9d4b16591 100644 --- a/src/gausskernel/optimizer/path/Makefile +++ b/src/gausskernel/optimizer/path/Makefile @@ -20,11 +20,11 @@ endif ifeq ($(enable_multiple_nodes), yes) OBJS = allpaths.o clausesel.o costsize.o equivclass.o indxpath.o \ - joinpath.o joinrels.o pathkeys.o tidpath.o streampath_base.o \ + joinpath.o joinrels.o orindxpath.o pathkeys.o tidpath.o streampath_base.o \ es_selectivity.o else OBJS = allpaths.o clausesel.o costsize.o equivclass.o indxpath.o \ - joinpath.o joinrels.o pathkeys.o tidpath.o \ + joinpath.o joinrels.o orindxpath.o pathkeys.o tidpath.o \ pgxcpath_single.o streampath_single.o streampath_base.o es_selectivity.o endif diff --git a/src/gausskernel/optimizer/path/allpaths.cpp b/src/gausskernel/optimizer/path/allpaths.cpp old mode 100755 new mode 100644 index dc033c59f..9f12379f0 --- a/src/gausskernel/optimizer/path/allpaths.cpp +++ b/src/gausskernel/optimizer/path/allpaths.cpp @@ -214,7 +214,7 @@ RelOptInfo* make_one_rel(PlannerInfo* root, List* joinlist) /* Record how many subqueries in current query level */ if (root->glob->minopmem > 0 && root->simple_rte_array[rti]->rtekind == RTE_SUBQUERY) num_subq++; - +#ifdef ENABLE_MULTIPLE_NODES bool is_dn_gather = u_sess->attr.attr_sql.enable_dngather && ng_get_different_nodegroup_count() == 2; /* Add subplan clause to rel's subplan restriction list */ if (IS_STREAM_PLAN && root->is_correlated && @@ -237,6 +237,7 @@ RelOptInfo* make_one_rel(PlannerInfo* root, List* joinlist) list_free_ext(restrictinfo); } } +#endif } /* @@ -416,7 +417,7 @@ static void set_base_rel_pathlists(PlannerInfo* root) root->has_recursive_correlated_rte = true; set_correlated_rel_pathlist(root, rel); } - +#ifdef ENABLE_MULTIPLE_NODES /* For subplan, we should make the base table replicated, and add filter to the temporary result */ if (IS_STREAM_PLAN && root->is_correlated && (GetLocatorType(rte->relid) != LOCATOR_TYPE_REPLICATED || ng_is_multiple_nodegroup_scenario())) { @@ -575,6 +576,7 @@ static void set_base_rel_pathlists(PlannerInfo* root) rel->cheapest_unique_path = NULL; rel->cheapest_parameterized_paths = NIL; } +#endif } } @@ -819,6 +821,16 @@ static void set_plain_rel_size(PlannerInfo* root, RelOptInfo* rel, RangeTblEntry if (rte->tablesample == NULL) { /* Mark rel with estimated output rows, width, etc */ set_baserel_size_estimates(root, rel); + + /* + * Check to see if we can extract any restriction conditions from join + * quals that are OR-of-AND structures. If so, add them to the rel's + * restriction list, and redo the above steps. + */ + if (create_or_index_quals(root, rel)) { + check_partial_indexes(root, rel); + set_baserel_size_estimates(root, rel); + } } else { /* Sampled relation */ set_tablesample_rel_size(root, rel, rte); diff --git a/src/gausskernel/optimizer/path/clausesel.cpp b/src/gausskernel/optimizer/path/clausesel.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/optimizer/path/costsize.cpp b/src/gausskernel/optimizer/path/costsize.cpp index ca47bf894..fa6a6bc62 100644 --- a/src/gausskernel/optimizer/path/costsize.cpp +++ b/src/gausskernel/optimizer/path/costsize.cpp @@ -1111,6 +1111,11 @@ void cost_index(IndexPath* path, PlannerInfo* root, double loop_count) /* estimate number of main-table tuples fetched */ tuples_fetched = clamp_row_est(indexSelectivity * RELOPTINFO_LOCAL_FIELD(root, baserel, tuples)); + ereport(DEBUG2, + (errmodule(MOD_OPT), + errmsg("Computing IndexScanCost: tuples_fetched: %lf, indexSelectivity: %lf, indexTotalCost: %lf", + tuples_fetched, indexSelectivity, indexTotalCost))); + /* fetch estimated page costs for tablespace containing table */ get_tablespace_page_costs(baserel->reltablespace, &spc_random_page_cost, &spc_seq_page_cost); @@ -1167,6 +1172,11 @@ void cost_index(IndexPath* path, PlannerInfo* root, double loop_count) max_IO_cost = (pages_fetched * spc_random_page_cost) / loop_count; + ereport(DEBUG2, + (errmodule(MOD_OPT), + errmsg("Computing IndexScanCost(loop_count > 1): max_pages_fetched: %lf, max_IO_cost: %lf", + pages_fetched, max_IO_cost))); + /* * In the perfectly correlated case, the number of pages touched by * each scan is selectivity * table_size, and we can use the Mackert @@ -1190,6 +1200,11 @@ void cost_index(IndexPath* path, PlannerInfo* root, double loop_count) spc_seq_page_cost, pages_fetched); min_IO_cost = (pages_fetched * spc_random_page_cost) / loop_count; + + ereport(DEBUG2, + (errmodule(MOD_OPT), + errmsg("Computing IndexScanCost(loop_count > 1): min_pages_fetched: %lf, min_IO_cost: %lf", + pages_fetched, min_IO_cost))); } else { /* * Normal case: apply the Mackert and Lohman formula, and then @@ -1208,6 +1223,11 @@ void cost_index(IndexPath* path, PlannerInfo* root, double loop_count) /* max_IO_cost is for the perfectly uncorrelated case (csquared=0) */ max_IO_cost = pages_fetched * spc_random_page_cost; + ereport(DEBUG2, + (errmodule(MOD_OPT), + errmsg("Computing IndexScanCost(loop_count = 1): max_pages_fetched: %lf, max_IO_cost: %lf", + pages_fetched, max_IO_cost))); + /* min_IO_cost is for the perfectly correlated case (csquared=1) */ pages_fetched = ceil(indexSelectivity * (double)baserel->pages); @@ -1225,6 +1245,11 @@ void cost_index(IndexPath* path, PlannerInfo* root, double loop_count) } else { min_IO_cost = 0; } + + ereport(DEBUG2, + (errmodule(MOD_OPT), + errmsg("Computing IndexScanCost(loop_count = 1): min_pages_fetched: %lf, min_IO_cost: %lf", + pages_fetched, min_IO_cost))); } /* @@ -1235,6 +1260,11 @@ void cost_index(IndexPath* path, PlannerInfo* root, double loop_count) run_cost += max_IO_cost + csquared * (min_IO_cost - max_IO_cost); + ereport(DEBUG2, + (errmodule(MOD_OPT), + errmsg("Computing IndexScanCost: max_IO_cost: %lf, min_IO_cost: %lf, csquared: %lf, IO_run_cost: %lf", + max_IO_cost, min_IO_cost, csquared, max_IO_cost + csquared * (min_IO_cost - max_IO_cost)))); + /* * Estimate CPU costs per tuple. * @@ -1264,6 +1294,11 @@ void cost_index(IndexPath* path, PlannerInfo* root, double loop_count) run_cost += cpu_per_tuple * tuples_fetched; + ereport(DEBUG2, + (errmodule(MOD_OPT), + errmsg("Computing IndexScanCost: cpu_per_tuple: %lf, tuples_fetched: %lf, cpu_run_cost: %lf", + cpu_per_tuple, tuples_fetched, cpu_per_tuple * tuples_fetched))); + path->path.startup_cost = startup_cost; path->path.total_cost = startup_cost + run_cost; path->path.stream_cost = 0; diff --git a/src/gausskernel/optimizer/path/equivclass.cpp b/src/gausskernel/optimizer/path/equivclass.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/optimizer/path/indxpath.cpp b/src/gausskernel/optimizer/path/indxpath.cpp old mode 100755 new mode 100644 index 5298565a9..afefa180b --- a/src/gausskernel/optimizer/path/indxpath.cpp +++ b/src/gausskernel/optimizer/path/indxpath.cpp @@ -1494,8 +1494,7 @@ static Path* choose_bitmap_and(PlannerInfo* root, RelOptInfo* rel, List* paths, * we can remove this limitation. (But note that this also defends * against flat-out duplicate input paths, which can happen because * match_join_clauses_to_index will find the same OR join clauses that - * extract_restriction_or_clauses has pulled OR restriction clauses out - * of.) + * create_or_index_quals has pulled OR restriction clauses out of.) * * For the same reason, we reject AND combinations in which an index * predicate clause duplicates another clause. Here we find it necessary diff --git a/src/gausskernel/optimizer/path/joinpath.cpp b/src/gausskernel/optimizer/path/joinpath.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/optimizer/path/joinrels.cpp b/src/gausskernel/optimizer/path/joinrels.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/optimizer/path/orindxpath.cpp b/src/gausskernel/optimizer/path/orindxpath.cpp new file mode 100644 index 000000000..17bd7a022 --- /dev/null +++ b/src/gausskernel/optimizer/path/orindxpath.cpp @@ -0,0 +1,180 @@ +/* ------------------------------------------------------------------------- + * + * orindxpath.cpp + * Routines to find index paths that match a set of OR clauses + * + * Portions Copyright (c) 2020 Huawei Technologies Co.,Ltd. + * Portions Copyright (c) 1996-2012, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * + * IDENTIFICATION + * src/gausskernel/optimizer/path/orindxpath.cpp + * + * ------------------------------------------------------------------------- + */ +#include "postgres.h" +#include "knl/knl_variable.h" + +#include "optimizer/cost.h" +#include "optimizer/paths.h" +#include "optimizer/restrictinfo.h" + +/* ---------- + * create_or_index_quals + * Examine join OR-of-AND quals to see if any useful restriction OR + * clauses can be extracted. If so, add them to the query. + * + * Although a join clause must reference other relations overall, + * an OR of ANDs clause might contain sub-clauses that reference just this + * relation and can be used to build a restriction clause. + * For example consider + * WHERE ((a.x = 42 AND b.y = 43) OR (a.x = 44 AND b.z = 45)); + * We can transform this into + * WHERE ((a.x = 42 AND b.y = 43) OR (a.x = 44 AND b.z = 45)) + * AND (a.x = 42 OR a.x = 44) + * AND (b.y = 43 OR b.z = 45); + * which opens the potential to build OR indexscans on a and b. In essence + * this is a partial transformation to CNF (AND of ORs format). It is not + * complete, however, because we do not unravel the original OR --- doing so + * would usually bloat the qualification expression to little gain. + * + * The added quals are partially redundant with the original OR, and therefore + * will cause the size of the joinrel to be underestimated when it is finally + * formed. (This would be true of a full transformation to CNF as well; the + * fault is not really in the transformation, but in clauselist_selectivity's + * inability to recognize redundant conditions.) To minimize the collateral + * damage, we want to minimize the number of quals added. Therefore we do + * not add every possible extracted restriction condition to the query. + * Instead, we search for the single restriction condition that generates + * the most useful (cheapest) OR indexscan, and add only that condition. + * This is a pretty ad-hoc heuristic, but quite useful. + * + * We can then compensate for the redundancy of the added qual by poking + * the recorded selectivity of the original OR clause, thereby ensuring + * the added qual doesn't change the estimated size of the joinrel when + * it is finally formed. This is a MAJOR HACK: it depends on the fact + * that clause selectivities are cached and on the fact that the same + * RestrictInfo node will appear in every joininfo list that might be used + * when the joinrel is formed. And it probably isn't right in cases where + * the size estimation is nonlinear (i.e., outer and IN joins). But it + * beats not doing anything. + * + * NOTE: one might think this messiness could be worked around by generating + * the indexscan path with a small path->rows value, and not touching the + * rel's baserestrictinfo or rel->rows. However, that does not work. + * The optimizer's fundamental design assumes that every general-purpose + * Path for a given relation generates the same number of rows. Without + * this assumption we'd not be able to optimize solely on the cost of Paths, + * but would have to take number of output rows into account as well. + * (The parameterized-paths stuff almost fixes this, but not quite...) + * + * 'rel' is the relation entry for which quals are to be created + * + * If successful, adds qual(s) to rel->baserestrictinfo and returns TRUE. + * If no quals available, returns FALSE and doesn't change rel. + * + * Note: check_partial_indexes() must have been run previously. + * ---------- + */ +bool create_or_index_quals(PlannerInfo* root, RelOptInfo* rel) +{ + BitmapOrPath* bestpath = NULL; + RestrictInfo* bestrinfo = NULL; + List* newrinfos = NIL; + RestrictInfo* or_rinfo = NULL; + Selectivity or_selec, orig_selec; + ListCell* i = NULL; + + /* Skip the whole mess if no indexes */ + if (rel->indexlist == NIL) + return false; + + /* + * Find potentially interesting OR joinclauses. We can use any joinclause + * that is considered safe to move to this rel by the parameterized-path + * machinery, even though what we are going to do with it is not exactly a + * parameterized path. + */ + foreach (i, rel->joininfo) { + RestrictInfo* rinfo = (RestrictInfo*)lfirst(i); + + if (restriction_is_or_clause(rinfo) && join_clause_is_movable_to(rinfo, rel->relid)) { + /* + * Use the generate_bitmap_or_paths() machinery to estimate the + * value of each OR clause. We can use regular restriction + * clauses along with the OR clause contents to generate + * indexquals. We pass restriction_only = true so that any + * sub-clauses that are actually joins will be ignored. + */ + List* orpaths = NIL; + ListCell* k = NULL; + + orpaths = generate_bitmap_or_paths(root, rel, list_make1(rinfo), rel->baserestrictinfo, true); + + if (rel->isPartitionedTable) { + orpaths = list_concat( + orpaths, GenerateBitmapOrPathsUseGPI(root, rel, list_make1(rinfo), rel->baserestrictinfo, true)); + } + + /* Locate the cheapest OR path */ + foreach (k, orpaths) { + BitmapOrPath* path = (BitmapOrPath*)lfirst(k); + + AssertEreport(IsA(path, BitmapOrPath), MOD_OPT, "Restriction information is incorrect"); + if (bestpath == NULL || path->path.total_cost < bestpath->path.total_cost) { + bestpath = path; + bestrinfo = rinfo; + } + } + } + } + + /* Fail if no suitable clauses found */ + if (bestpath == NULL) + return false; + + /* + * Convert the path's indexclauses structure to a RestrictInfo tree. We + * include any partial-index predicates so as to get a reasonable + * representation of what the path is actually scanning. + */ + newrinfos = make_restrictinfo_from_bitmapqual((Path*)bestpath, true, true); + + /* It's possible we get back something other than a single OR clause */ + if (list_length(newrinfos) != 1) + return false; + or_rinfo = (RestrictInfo*)linitial(newrinfos); + AssertEreport(IsA(or_rinfo, RestrictInfo), MOD_OPT, "Restriction clause does not contain OR"); + if (!restriction_is_or_clause(or_rinfo)) + return false; + + /* + * OK, add it to the rel's restriction list. + */ + rel->baserestrictinfo = list_concat(rel->baserestrictinfo, newrinfos); + rel->baserestrict_min_security = Min(rel->baserestrict_min_security, or_rinfo->security_level); + + /* + * Adjust the original OR clause's cached selectivity to compensate for + * the selectivity of the added (but redundant) lower-level qual. This + * should result in the join rel getting approximately the same rows + * estimate as it would have gotten without all these shenanigans. (XXX + * major hack alert ... this depends on the assumption that the + * selectivity will stay cached ...) + * we don't need cache the selectivity because the index's selectivity is not accurate. + */ + or_selec = clause_selectivity(root, (Node*)or_rinfo, 0, JOIN_INNER, NULL, false); + if (or_selec > 0 && or_selec < 1) { + orig_selec = clause_selectivity(root, (Node*)bestrinfo, 0, JOIN_INNER, NULL, false); + bestrinfo->norm_selec = orig_selec / or_selec; + /* clamp result to sane range */ + if (bestrinfo->norm_selec > 1) + bestrinfo->norm_selec = 1; + /* It isn't an outer join clause, so no need to adjust outer_selec */ + } + + /* Tell caller to recompute partial index status and rowcount estimate */ + return true; +} + diff --git a/src/gausskernel/optimizer/path/pathkeys.cpp b/src/gausskernel/optimizer/path/pathkeys.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/optimizer/path/pgxcpath_single.cpp b/src/gausskernel/optimizer/path/pgxcpath_single.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/optimizer/path/streampath_base.cpp b/src/gausskernel/optimizer/path/streampath_base.cpp index 7882f7641..9f23b61c3 100644 --- a/src/gausskernel/optimizer/path/streampath_base.cpp +++ b/src/gausskernel/optimizer/path/streampath_base.cpp @@ -55,8 +55,6 @@ #define IS_DUMMY_UNIQUE(path) (T_Unique == (path)->pathtype && UNIQUE_PATH_NOOP == (((UniquePath*)(path))->umethod)) -#define IS_ROUNDROBIN_PATH(path) (LOCATOR_TYPE_RROBIN == (path)->locator_type) - /* * @Description: copy stream info pair to a new one. * @@ -124,7 +122,7 @@ void PathGen::addPath(Path* new_path) * @param[IN] outer_path: the outer subpath for join. * @param[IN] required_outer: the set of required outer rels. */ -JoinPathGen::JoinPathGen(PlannerInfo* root, RelOptInfo* joinrel, JoinType jointype, JoinType save_jointype, +JoinPathGenBase::JoinPathGenBase(PlannerInfo* root, RelOptInfo* joinrel, JoinType jointype, JoinType save_jointype, SpecialJoinInfo* sjinfo, SemiAntiJoinFactors* semifactors, List* joinclauses, List* restrictinfo, Path* outer_path, Path* inner_path, Relids required_outer) : PathGen(root, joinrel), @@ -151,7 +149,6 @@ JoinPathGen::JoinPathGen(PlannerInfo* root, RelOptInfo* joinrel, JoinType jointy m_distributeKeysOuter(NIL), m_streamInfoPair(NULL), m_streamInfoList(NIL), - m_skewInfo(NULL), m_multipleInner(0), m_multipleOuter(0), m_dop(0), @@ -163,9 +160,7 @@ JoinPathGen::JoinPathGen(PlannerInfo* root, RelOptInfo* joinrel, JoinType jointy m_redistributeInner(false), m_redistributeOuter(false), m_canBroadcastInner(false), - m_canBroadcastOuter(false), - m_needShuffleInner(false), - m_needShuffleOuter(false) + m_canBroadcastOuter(false) { init(); } @@ -173,13 +168,8 @@ JoinPathGen::JoinPathGen(PlannerInfo* root, RelOptInfo* joinrel, JoinType jointy /* * @Description: decontructor function for join path generation. */ -JoinPathGen::~JoinPathGen() +JoinPathGenBase::~JoinPathGenBase() { - if (m_skewInfo != NULL) { - delete m_skewInfo; - m_skewInfo = NULL; - } - if (m_resourceOwner != NULL) { ResourceOwnerRelease(m_resourceOwner, RESOURCE_RELEASE_BEFORE_LOCKS, false, false); ResourceOwnerRelease(m_resourceOwner, RESOURCE_RELEASE_LOCKS, false, false); @@ -216,7 +206,7 @@ JoinPathGen::~JoinPathGen() * * @return void */ -void JoinPathGen::init() +void JoinPathGenBase::init() { m_joinmethod = T_HashJoin; m_workspace = NULL; @@ -247,15 +237,7 @@ void JoinPathGen::init() m_streamInfoList = NIL; m_streamInfoPair = NULL; -#ifdef ENABLE_MULTIPLE_NODES - if (u_sess->opt_cxt.skew_strategy_opt == SKEW_OPT_OFF) { - m_skewInfo = NULL; - } else { - m_skewInfo = New(CurrentMemoryContext) JoinSkewInfo(m_root, m_rel, m_joinClauses, m_jointype, m_saveJointype); - } -#else - m_skewInfo = NULL; -#endif + /* * Create a resource owner to keep track of resources * in order to release resources when catch the exception. @@ -269,11 +251,9 @@ void JoinPathGen::init() m_redistributeInner = false; m_redistributeOuter = false; - m_needShuffleInner = false; - m_needShuffleOuter = false; } -void JoinPathGen::initRangeListDistribution() +void JoinPathGenBase::initRangeListDistribution() { m_rangelistOuter = IsLocatorDistributedBySlice(m_outerPath->locator_type); m_rangelistInner = IsLocatorDistributedBySlice(m_innerPath->locator_type); @@ -314,70 +294,12 @@ void JoinPathGen::initRangeListDistribution() } } -/* - * @Description: decide whether we need redistribute inner or outer side - * base on subpath distribute keys, join clauses and target - * node group. - * - * @return void - */ -void JoinPathGen::initDistribution() -{ -#ifdef ENABLE_MULTIPLE_NODES - /* - * Check node group distribution - * If path's distribution is different from target_distribution (computing node group), shuffle is needed - */ - m_needShuffleInner = ng_is_shuffle_needed(m_root, m_innerPath, m_targetDistribution); - m_needShuffleOuter = ng_is_shuffle_needed(m_root, m_outerPath, m_targetDistribution); -#else - /* single node no need to shuffle. */ - m_needShuffleInner = false; - m_needShuffleOuter = false; -#endif - - bool is_single_node_distribution = ng_is_single_node_group_distribution(m_targetDistribution); - if (is_single_node_distribution && !m_needShuffleInner) { - /* For single node distribution, it need't to distribute no matter what the current distribution keys and - * the target distribution keys are compatible. - */ - m_redistributeInner = false; - } else { - /* - * Wheather inner or outer need to be redistributed base on their distribute key and join clauses - * TRUE means need to be redistributed, - * FALSE means do not need to be redistributed - */ - m_redistributeInner = is_distribute_need_on_joinclauses( - m_root, m_innerPath->distribute_keys, m_joinClauses, m_innerRel, m_outerRel, &m_rrinfoInner); - m_redistributeInner = m_redistributeInner || m_needShuffleInner; - } - - if (is_single_node_distribution && !m_needShuffleOuter) { - /* For single node distribution, it need't to distribute no matter what the current distribution keys and - * the target distribution keys are compatible. - */ - m_redistributeOuter = false; - } else { - /* - * Wheather inner or outer need to be redistributed base on their distribute key and join clauses - * TRUE means need to be redistributed, - * FALSE means do not need to be redistributed - */ - m_redistributeOuter = is_distribute_need_on_joinclauses( - m_root, m_outerPath->distribute_keys, m_joinClauses, m_outerRel, m_innerRel, &m_rrinfoOuter); - m_redistributeOuter = m_redistributeOuter || m_needShuffleOuter; - } - - initRangeListDistribution(); -} - /* * @Description: reset info and free memory for next join generation. * * @return void */ -void JoinPathGen::reset() +void JoinPathGenBase::reset() { m_multipleInner = 1.0; m_multipleOuter = 1.0; @@ -398,7 +320,7 @@ void JoinPathGen::reset() * * @return bool: true -- smp is usable for this situation. */ -const bool JoinPathGen::isParallelEnable() +const bool JoinPathGenBase::isParallelEnable() { /* SMP do not support merge join. */ if (m_joinmethod == T_MergeJoin) @@ -411,13 +333,6 @@ const bool JoinPathGen::isParallelEnable() if (m_innerPath->dop <= 1 && m_outerPath->dop <= 1) return false; - /* - * If both sides are replicate which means boths table are small, - * then there is no need to parallel the join. - */ - if (m_replicateInner && m_replicateOuter) - return false; - /* Avoid parameterized path to be parallelized. */ if (m_innerPath->param_info != NULL || m_outerPath->param_info != NULL) return false; @@ -434,7 +349,7 @@ const bool JoinPathGen::isParallelEnable() * @param[IN] stream_outer: true -- the outer side of join. * @return List*: list of distribute keys. */ -List* JoinPathGen::getOthersideKey(bool stream_outer) +List* JoinPathGenBase::getOthersideKey(bool stream_outer) { List* rinfo = stream_outer ? m_rrinfoInner : m_rrinfoOuter; RelOptInfo* otherside_rel = stream_outer ? m_outerRel : m_innerRel; @@ -531,7 +446,7 @@ List* JoinPathGen::getOthersideKey(bool stream_outer) * @param[OUT] distribute_keys_inner: distribute keys for outer side. * @return void. */ -void JoinPathGen::getDistributeKeys( +void JoinPathGenBase::getDistributeKeys( List** distribute_keys_outer, List** distribute_keys_inner, List* desired_keys, bool exact_match) { get_distribute_keys(m_root, @@ -555,7 +470,7 @@ void JoinPathGen::getDistributeKeys( * equivalence relationship between inner_relids and outer_relids. * @return bool: there's alternatives when we disable one or more methods */ -bool JoinPathGen::checkJoinMethodAlternative(bool* try_eq_related_indirectly) +bool JoinPathGenBase::checkJoinMethodAlternative(bool* try_eq_related_indirectly) { bool hasalternative = false; ListCell* l = NULL; @@ -619,7 +534,7 @@ bool JoinPathGen::checkJoinMethodAlternative(bool* try_eq_related_indirectly) * * @return bool: true if a nestloop param path */ -const bool JoinPathGen::is_param_path() +const bool JoinPathGenBase::is_param_path() { /* oops, to ensure the path correct,Currently limited to nestloop path */ if (m_joinmethod != T_NestLoop) @@ -632,15 +547,50 @@ const bool JoinPathGen::is_param_path() /* oops, not a param path */ if (m_innerPath->param_info == NULL) return false; -#ifdef ENABLE_MULTIPLE_NODES + /* oops, the param path seems invalid */ if (!bms_overlap(m_innerPath->param_info->ppi_req_outer, m_outerPath->parent->relids)) return false; -#endif + /* pass all check, we get a nestloop index with param path */ return true; } +/* + * @Description: when subpath is replicate, we need to check if we can use redistribute. + * + * @return bool: true -- redistribution can be used. + */ +bool JoinPathGenBase::isReplicateJoinCanRedistribute() +{ + bool can_redistribute = true; + + /* + * Followed cases can choose local plan: + * 1.Outer is replicate and inner is hash: RHS join or probing side execute on CN, and build side need + * redistribute; 2.Outer is hash and inner is replicate: LHS join or probing side execute on CN, and build side need + * redistribute or is param path; + */ + if (m_replicateOuter && !m_replicateInner) { + if (RHS_join(m_saveJointype) && m_redistributeInner) + can_redistribute = false; + } else if (!m_replicateOuter && m_replicateInner) { + if (LHS_join(m_saveJointype) && (m_redistributeOuter || is_param_path())) + can_redistribute = false; + } else { + can_redistribute = false; + } + + /* Need hash filter for replicate table, so delete this path. */ + if (can_redistribute) { + m_streamInfoList = list_delete(m_streamInfoList, m_streamInfoPair); + pfree_ext(m_streamInfoPair); + m_streamInfoPair = NULL; + } + + return can_redistribute; +} + /* * @Description: add join path to path list. * @@ -649,7 +599,7 @@ const bool JoinPathGen::is_param_path() * @param[IN] exact_match: if there's a desired key, whether we should do exact match. * @return void */ -void JoinPathGen::addJoinPath(Path* path, List* desired_key = NIL, bool exact_match = false) +void JoinPathGenBase::addJoinPath(Path* path, List* desired_key = NIL, bool exact_match = false) { JoinPath* joinpath = (JoinPath*)path; @@ -662,7 +612,7 @@ void JoinPathGen::addJoinPath(Path* path, List* desired_key = NIL, bool exact_ma * * @return void */ -void JoinPathGen::addJoinStreamPath() +void JoinPathGenBase::addJoinStreamPath() { m_innerStreamPath = streamSidePath(false); m_outerStreamPath = streamSidePath(true); @@ -674,25 +624,8 @@ void JoinPathGen::addJoinStreamPath() * * @return void */ -void JoinPathGen::addStreamMppInfo() +void JoinPathGenBase::addStreamMppInfo() { -#ifdef ENABLE_MULTIPLE_NODES - /* - * If either side is replicated, join locally. - */ - if (m_replicateOuter || m_replicateInner) { - setStreamBaseInfo(STREAM_NONE, STREAM_NONE, NIL, NIL); - /* keep broadcast the outer relations */ - if (!isReplicateJoinCanRedistribute()) - return; - } -#else - /* only try stream path when m_dop > 1 */ - if (m_dop <= 1) { - setStreamBaseInfo(STREAM_NONE, STREAM_NONE, NIL, NIL); - return; - } -#endif List *stream_keys_inner = NIL, *stream_keys_outer = NIL; if (!m_redistributeInner && !m_redistributeOuter) { @@ -800,7 +733,7 @@ void JoinPathGen::addStreamMppInfo() * * @return void */ -void JoinPathGen::addStreamParallelInfo() +void JoinPathGenBase::addStreamParallelInfo() { List* tmp_list = m_streamInfoList; ListCell* lc = NULL; @@ -820,130 +753,6 @@ void JoinPathGen::addStreamParallelInfo() list_free(tmp_list); } -/* - * @Description: choose suitable parallel stream(like local stream) - * for parallel plan. - * - * @return void - */ -bool JoinPathGen::addJoinParallelInfo() -{ - StreamType inner_stream = m_streamInfoPair->inner_info.type; - StreamType outer_stream = m_streamInfoPair->outer_info.type; - - bool is_subplan_parallel = (m_innerPath->dop > 1) || (m_outerPath->dop > 1); - bool inner_can_local_distribute = true; - bool outer_can_local_distribute = true; - bool inner_need_local_distribute = true; - bool outer_need_local_distribute = true; - - /* No need to add parallel info, keep origin path. */ - if (!is_subplan_parallel && m_dop <= 1) { -#ifndef ENABLE_MULTIPLE_NODES - m_streamInfoPair->inner_info.type = STREAM_NONE; - m_streamInfoPair->outer_info.type = STREAM_NONE; -#endif - return true; - } - - /* check if we can use local redistribute and if we need local redistribute. */ - parallelLocalRedistribute(&inner_can_local_distribute, - &outer_can_local_distribute, - &inner_need_local_distribute, - &outer_need_local_distribute); - - /* Set unparallel stream info. */ - if (is_subplan_parallel && m_dop <= 1) { - setStreamParallelInfo(false); - setStreamParallelInfo(true); - } else { - if (inner_stream == STREAM_BROADCAST || outer_stream == STREAM_BROADCAST) { - /* Do not support replicate table with broadcast. */ - if (m_replicateInner || m_replicateOuter) { - return false; - } else { - setStreamParallelInfo(false); - setStreamParallelInfo(true); - } - } else if (inner_stream == STREAM_REDISTRIBUTE && outer_stream == STREAM_NONE) { - if (outer_can_local_distribute) { - if (outer_need_local_distribute) - setStreamParallelInfo(true, LOCAL_DISTRIBUTE); - else - setStreamParallelInfo(true); - setStreamParallelInfo(false); - } else { - return false; - } - } else if (inner_stream == STREAM_NONE && outer_stream == STREAM_REDISTRIBUTE) { - if (inner_can_local_distribute) { - if (inner_need_local_distribute) - setStreamParallelInfo(false, LOCAL_DISTRIBUTE); - else - setStreamParallelInfo(false); - setStreamParallelInfo(true); - } else { - return false; - } - } else if (inner_stream == STREAM_REDISTRIBUTE && outer_stream == STREAM_REDISTRIBUTE) { - setStreamParallelInfo(false); - setStreamParallelInfo(true); - } else if (inner_stream == STREAM_NONE && outer_stream == STREAM_NONE) { -#ifdef ENABLE_MULTIPLE_NODES - /* handle replicate table */ - if (m_replicateInner || m_replicateOuter) { - if (m_replicateInner) { - setStreamParallelInfo(false, LOCAL_BROADCAST); - setStreamParallelInfo(true); - } else { - setStreamParallelInfo(false); - setStreamParallelInfo(true, LOCAL_BROADCAST); - } - return true; - } -#endif - /* New stream info is create for this situation. */ - StreamInfoPair* streamInfoPair = m_streamInfoPair; - - /* case 1: local broadcast inner */ - if (can_broadcast_inner(m_jointype, m_saveJointype, m_replicateOuter, NIL, NIL)) { - newStreamInfoPair(streamInfoPair); - setStreamParallelInfo(false, LOCAL_BROADCAST); - setStreamParallelInfo(true); - m_streamInfoList = lappend(m_streamInfoList, (void*)m_streamInfoPair); - } - - /* case 2: local broadcast outer */ - if (can_broadcast_outer(m_jointype, m_saveJointype, m_replicateInner, NIL, NIL)) { - newStreamInfoPair(streamInfoPair); - setStreamParallelInfo(false); - setStreamParallelInfo(true, LOCAL_BROADCAST); - m_streamInfoList = lappend(m_streamInfoList, m_streamInfoPair); - } - - /* case 3: local redistribute inner and outer */ - if (inner_can_local_distribute && outer_can_local_distribute) { - newStreamInfoPair(streamInfoPair); - if (inner_need_local_distribute) - setStreamParallelInfo(false, LOCAL_DISTRIBUTE); - else - setStreamParallelInfo(false); - - if (outer_need_local_distribute) - setStreamParallelInfo(true, LOCAL_DISTRIBUTE); - else - setStreamParallelInfo(true); - m_streamInfoList = lappend(m_streamInfoList, (void*)m_streamInfoPair); - } - - pfree_ext(streamInfoPair); - return false; - } - } - - return true; -} - /* * @Description: create stream info pair and set base stream info. * @@ -953,7 +762,8 @@ bool JoinPathGen::addJoinParallelInfo() * @param[IN] outer_keys: outer distribute keys. * @return void */ -void JoinPathGen::setStreamBaseInfo(StreamType inner_type, StreamType outer_type, List* inner_keys, List* outer_keys) +void JoinPathGenBase::setStreamBaseInfo( + StreamType inner_type, StreamType outer_type, List* inner_keys, List* outer_keys) { StreamInfoPair* sinfopair = NULL; sinfopair = (StreamInfoPair*)palloc0(sizeof(StreamInfoPair)); @@ -986,53 +796,9 @@ void JoinPathGen::setStreamBaseInfo(StreamType inner_type, StreamType outer_type * @param[IN] exact_match: if there's a desired key, whether we should do exact match. * @return bool: if the path is valid. */ -const bool JoinPathGen::setJoinDistributeKeys(JoinPath* joinpath, List* desired_key, bool exact_match) +const bool JoinPathGenBase::setJoinDistributeKeys(JoinPath* joinpath, List* desired_key, bool exact_match) { - Path* inner_path = joinpath->innerjoinpath; - Path* outer_path = joinpath->outerjoinpath; - - bool is_replicate_inner = is_replicated_path(inner_path); - bool is_replicate_outer = is_replicated_path(outer_path); - - bool is_roundrobin_inner = IS_ROUNDROBIN_PATH(inner_path); - bool is_roundrobin_outer = IS_ROUNDROBIN_PATH(outer_path); -#ifdef ENABLE_MULTIPLE_NODES - bool is_slice_inner = IsLocatorDistributedBySlice(inner_path->locator_type); - bool is_slice_outer = IsLocatorDistributedBySlice(outer_path->locator_type); -#endif - bool is_path_valid = true; - bool need_distribute_key = true; - - if (is_roundrobin_inner || is_roundrobin_outer) { - joinpath->path.distribute_keys = NIL; - } else if (is_replicate_outer && is_replicate_inner) { - joinpath->path.distribute_keys = NIL; - } else if (is_replicate_outer || is_replicate_inner) { - if (is_replicate_outer) { - joinpath->path.distribute_keys = inner_path->distribute_keys; - joinpath->path.rangelistOid = inner_path->rangelistOid; - } else { - joinpath->path.distribute_keys = outer_path->distribute_keys; - joinpath->path.rangelistOid = outer_path->rangelistOid; - } - } else { -#ifdef ENABLE_MULTIPLE_NODES - if (is_slice_inner || is_slice_outer) { - need_distribute_key = IsSliceInfoEqualByOid(inner_path->rangelistOid, outer_path->rangelistOid); - if (!need_distribute_key) { - joinpath->path.distribute_keys = NIL; - } - } -#endif - if (need_distribute_key && m_jointype != JOIN_FULL) { - joinpath->path.distribute_keys = locate_distribute_key( - m_jointype, outer_path->distribute_keys, inner_path->distribute_keys, desired_key, exact_match); - if (!joinpath->path.distribute_keys) - is_path_valid = false; - } - } - - return is_path_valid; + return false; } /* @@ -1044,20 +810,16 @@ const bool JoinPathGen::setJoinDistributeKeys(JoinPath* joinpath, List* desired_ * @param[OUT] outer_need_local_distribute: local redistribute is needed in outer side. * @return void */ -void JoinPathGen::parallelLocalRedistribute(bool* inner_can_local_distribute, bool* outer_can_local_distribute, +void JoinPathGenBase::parallelLocalRedistribute(bool* inner_can_local_distribute, bool* outer_can_local_distribute, bool* inner_need_local_distribute, bool* outer_need_local_distribute) { Path* inner_tmp = m_innerPath; Path* outer_tmp = m_outerPath; -#ifdef ENABLE_MULTIPLE_NODES + *inner_can_local_distribute = check_dsitribute_key_in_targetlist(m_root, m_distributeKeysInner, m_innerRel->reltargetlist); *outer_can_local_distribute = check_dsitribute_key_in_targetlist(m_root, m_distributeKeysOuter, m_outerRel->reltargetlist); -#else - *inner_can_local_distribute = true; - *outer_can_local_distribute = true; -#endif if (IS_DUMMY_UNIQUE(inner_tmp)) inner_tmp = ((UniquePath*)inner_tmp)->subpath; @@ -1087,7 +849,7 @@ void JoinPathGen::parallelLocalRedistribute(bool* inner_can_local_distribute, bo * @param[OUT] pathkeys: path sort keys. * @return Path*: unique path. */ -Path* JoinPathGen::makeJoinUniquePath(bool stream_outer, List* pathkeys) +Path* JoinPathGenBase::makeJoinUniquePath(bool stream_outer, List* pathkeys) { StreamInfo* sinfo = stream_outer ? &m_streamInfoPair->outer_info : &m_streamInfoPair->inner_info; double skew = sinfo->multiple; @@ -1144,13 +906,108 @@ Path* JoinPathGen::makeJoinUniquePath(bool stream_outer, List* pathkeys) * @param[IN] streamInfoPair: old stream info pair. * @return void */ -void JoinPathGen::newStreamInfoPair(StreamInfoPair* streamInfoPair) +void JoinPathGenBase::newStreamInfoPair(StreamInfoPair* streamInfoPair) { StreamInfoPair* tmpStreamInfo = (StreamInfoPair*)palloc0(sizeof(StreamInfoPair)); copy_stream_info_pair(tmpStreamInfo, streamInfoPair); m_streamInfoPair = tmpStreamInfo; } +/* + * @Description: create stream path for join. + * + * @param[IN] stream_outer: the stream is at the outer side of join. + * @return Path* + */ +Path* JoinPathGenBase::streamSidePath(bool stream_outer) +{ + StreamInfo* sinfo = stream_outer ? &m_streamInfoPair->outer_info : &m_streamInfoPair->inner_info; + StreamType stream_type = sinfo->type; + List* distribute_key = sinfo->stream_keys; + ParallelDesc* smpDesc = &sinfo->smpDesc; + List* ssinfo = sinfo->ssinfo; + + Path* path = sinfo->subpath; + double skew = sinfo->multiple; + List* pathkeys = NIL; + + if (sinfo->type == STREAM_NONE) + return path; + + /* choose pathkeys for stream */ + if (m_joinmethod == T_MergeJoin) { + pathkeys = stream_outer ? m_outerPath->pathkeys : m_innerPath->pathkeys; + } else if (m_joinmethod == T_NestLoop && m_pathkeys != NIL) { + if (m_dop > 1) + pathkeys = NIL; + else + pathkeys = stream_outer ? m_outerPath->pathkeys : m_innerPath->pathkeys; + } + + if ((m_saveJointype == JOIN_UNIQUE_INNER && stream_outer == false) || + (m_saveJointype == JOIN_UNIQUE_OUTER && stream_outer)) { +#ifdef ENABLE_MULTIPLE_NODES + if (u_sess->opt_cxt.skew_strategy_opt != SKEW_OPT_OFF) { + return makeJoinSkewUniquePath(stream_outer, pathkeys); + } else { + return makeJoinUniquePath(stream_outer, pathkeys); + } +#else + return makeJoinUniquePath(stream_outer, pathkeys); +#endif + } else { + return create_stream_path(m_root, + path->parent, + stream_type, + distribute_key, + pathkeys, + path, + skew, + m_targetDistribution, + smpDesc, + ssinfo); + } + + return NULL; +} + +/* + * @Description: choose suitable parallel stream(like local stream) + * for parallel plan. + * + * @return void + */ +bool JoinPathGenBase::addJoinParallelInfo() +{ + return false; +} + +/* + * @Description: set parallel info include consumer/producer dop and + * parallel stream type. + * + * @param[IN] stream_outer: is outer side of join. + * @param[IN] sstype: smp stream type. + * @return void + */ +void JoinPathGenBase::setStreamParallelInfo(bool stream_outer, SmpStreamType sstype) +{ +} + +/* + * @Description: create a unique path for unique join with + * skewness at the no-unique side. + * + * @param[IN] stream_outer: if it is the outer side of join. + * @param[OUT] pathkeys: path sort keys. + * @return Path*: unique path. + */ +Path* JoinPathGenBase::makeJoinSkewUniquePath(bool stream_outer, List* pathkeys) +{ + return NULL; +} + + /* * @Description: constructor for HashJoinPathGen. * diff --git a/src/gausskernel/optimizer/path/streampath_single.cpp b/src/gausskernel/optimizer/path/streampath_single.cpp old mode 100755 new mode 100644 index a0b62e9ae..c1a17fa55 --- a/src/gausskernel/optimizer/path/streampath_single.cpp +++ b/src/gausskernel/optimizer/path/streampath_single.cpp @@ -54,63 +54,161 @@ #endif /* PGXC */ /* - * @Description: create stream path for join. + * @Description: constructor for JoinPathGen. * - * @param[IN] stream_outer: the stream is at the outer side of join. - * @return Path* + * @param[IN] root: the plannerInfo for this join. + * @param[IN] joinrel: the join relation. + * @param[IN] jointype: join type. + * @param[IN] save_jointype: save join type. + * @param[IN] sjinfo: extra info about the join for selectivity estimation. + * @param[IN] semifactors: contains valid data if jointype is SEMI or ANTI. + * @param[IN] joinclauses: the clauses nodes to do join match. + * @param[IN] restrictlist: all RestrictInfo nodes to apply at the join. + * @param[IN] inner_path: the inner subpath for join. + * @param[IN] outer_path: the outer subpath for join. + * @param[IN] required_outer: the set of required outer rels. */ -Path* JoinPathGen::streamSidePath(bool stream_outer) +JoinPathGen::JoinPathGen(PlannerInfo* root, RelOptInfo* joinrel, JoinType jointype, JoinType save_jointype, + SpecialJoinInfo* sjinfo, SemiAntiJoinFactors* semifactors, List* joinclauses, List* restrictinfo, + Path* outer_path, Path* inner_path, Relids required_outer) + : JoinPathGenBase(root, joinrel, jointype, save_jointype, sjinfo, semifactors, joinclauses, + restrictinfo, outer_path, inner_path, required_outer) +{} + +/* + * @Description: decontructor function for join path generation. + */ +JoinPathGen::~JoinPathGen() +{} + +/* + * @Description: decide whether we need redistribute inner or outer side + * base on subpath distribute keys, join clauses and target + * node group. + * + * @return void + */ +void JoinPathGen::initDistribution() { - StreamInfo* sinfo = stream_outer ? &m_streamInfoPair->outer_info : &m_streamInfoPair->inner_info; - StreamType stream_type = sinfo->type; - List* distribute_key = sinfo->stream_keys; - ParallelDesc* smpDesc = &sinfo->smpDesc; - List* ssinfo = sinfo->ssinfo; + /* + * Wheather inner or outer need to be redistributed base on their distribute key and join clauses + * TRUE means need to be redistributed, + * FALSE means do not need to be redistributed + */ + m_redistributeInner = is_distribute_need_on_joinclauses( + m_root, m_innerPath->distribute_keys, m_joinClauses, m_innerRel, m_outerRel, &m_rrinfoInner); - Path* path = sinfo->subpath; - List* pathkeys = NIL; + /* + * Wheather inner or outer need to be redistributed base on their distribute key and join clauses + * TRUE means need to be redistributed, + * FALSE means do not need to be redistributed + */ + m_redistributeOuter = is_distribute_need_on_joinclauses( + m_root, m_outerPath->distribute_keys, m_joinClauses, m_outerRel, m_innerRel, &m_rrinfoOuter); - if (STREAM_NONE == sinfo->type) - return path; - - /* choose pathkeys for stream */ - if (m_joinmethod == T_MergeJoin) { - pathkeys = stream_outer ? m_outerPath->pathkeys : m_innerPath->pathkeys; - } else if (m_joinmethod == T_NestLoop && m_pathkeys != NIL) { - if (m_dop > 1) - pathkeys = NIL; - else - pathkeys = stream_outer ? m_outerPath->pathkeys : m_innerPath->pathkeys; - } - - if ((JOIN_UNIQUE_INNER == m_saveJointype && stream_outer == false) || - (JOIN_UNIQUE_OUTER == m_saveJointype && stream_outer)) { - return makeJoinUniquePath(stream_outer, pathkeys); - } else { - return create_stream_path(m_root, - path->parent, - stream_type, - distribute_key, - pathkeys, - path, - sinfo->multiple, - m_targetDistribution, - smpDesc, - ssinfo); - } - - return NULL; + initRangeListDistribution(); } /* - * @Description: when subpath is replicate, we need to check if we can use redistribute. + * @Description: choose suitable parallel stream(like local stream) + * for parallel plan. * - * @return bool: true -- redistribution can be used. + * @return void */ -bool JoinPathGen::isReplicateJoinCanRedistribute() +bool JoinPathGen::addJoinParallelInfo() { - DISTRIBUTED_FEATURE_NOT_SUPPORTED(); - return false; + StreamType inner_stream = m_streamInfoPair->inner_info.type; + StreamType outer_stream = m_streamInfoPair->outer_info.type; + + bool is_subplan_parallel = (m_innerPath->dop > 1) || (m_outerPath->dop > 1); + bool inner_can_local_distribute = true; + bool outer_can_local_distribute = true; + bool inner_need_local_distribute = true; + bool outer_need_local_distribute = true; + + /* No need to add parallel info, keep origin path. */ + if (!is_subplan_parallel && m_dop <= 1) { + return true; + } + + /* check if we can use local redistribute and if we need local redistribute. */ + parallelLocalRedistribute(&inner_can_local_distribute, + &outer_can_local_distribute, + &inner_need_local_distribute, + &outer_need_local_distribute); + + /* Set unparallel stream info. */ + if (is_subplan_parallel && m_dop <= 1) { + setStreamParallelInfo(false); + setStreamParallelInfo(true); + } else { + if (inner_stream == STREAM_BROADCAST || outer_stream == STREAM_BROADCAST) { + setStreamParallelInfo(false); + setStreamParallelInfo(true); + } else if (inner_stream == STREAM_REDISTRIBUTE && outer_stream == STREAM_NONE) { + if (outer_can_local_distribute) { + if (outer_need_local_distribute) + setStreamParallelInfo(true, LOCAL_DISTRIBUTE); + else + setStreamParallelInfo(true); + setStreamParallelInfo(false); + } else { + return false; + } + } else if (inner_stream == STREAM_NONE && outer_stream == STREAM_REDISTRIBUTE) { + if (inner_can_local_distribute) { + if (inner_need_local_distribute) + setStreamParallelInfo(false, LOCAL_DISTRIBUTE); + else + setStreamParallelInfo(false); + setStreamParallelInfo(true); + } else { + return false; + } + } else if (inner_stream == STREAM_REDISTRIBUTE && outer_stream == STREAM_REDISTRIBUTE) { + setStreamParallelInfo(false); + setStreamParallelInfo(true); + } else if (inner_stream == STREAM_NONE && outer_stream == STREAM_NONE) { + /* New stream info is create for this situation. */ + StreamInfoPair* streamInfoPair = m_streamInfoPair; + + /* case 1: local broadcast inner */ + if (can_broadcast_inner(m_jointype, m_saveJointype, false, NIL, NIL)) { + newStreamInfoPair(streamInfoPair); + setStreamParallelInfo(false, LOCAL_BROADCAST); + setStreamParallelInfo(true); + m_streamInfoList = lappend(m_streamInfoList, (void*)m_streamInfoPair); + } + + /* case 2: local broadcast outer */ + if (can_broadcast_outer(m_jointype, m_saveJointype, false, NIL, NIL)) { + newStreamInfoPair(streamInfoPair); + setStreamParallelInfo(false); + setStreamParallelInfo(true, LOCAL_BROADCAST); + m_streamInfoList = lappend(m_streamInfoList, m_streamInfoPair); + } + + /* case 3: local redistribute inner and outer */ + if (inner_can_local_distribute && outer_can_local_distribute) { + newStreamInfoPair(streamInfoPair); + if (inner_need_local_distribute) + setStreamParallelInfo(false, LOCAL_DISTRIBUTE); + else + setStreamParallelInfo(false); + + if (outer_need_local_distribute) + setStreamParallelInfo(true, LOCAL_DISTRIBUTE); + else + setStreamParallelInfo(true); + m_streamInfoList = lappend(m_streamInfoList, (void*)m_streamInfoPair); + } + + pfree_ext(streamInfoPair); + return false; + } + } + + return true; } /* @@ -130,61 +228,17 @@ void JoinPathGen::addJoinStreamInfo() initDistribution(); - /* Add stream info base on join clauses and subpath distributions. */ - addStreamMppInfo(); + if (m_dop > 1) { + /* Add stream info base on join clauses and subpath distributions. */ + addStreamMppInfo(); + } else { + setStreamBaseInfo(STREAM_NONE, STREAM_NONE, NIL, NIL); + } /* Add stream info base on parallel degree. */ addStreamParallelInfo(); } -/* - * @Description: Add stream info based on target nodegroup and subpath nodegroup. - * - * @return void - */ -void JoinPathGen::addStreamNodeGroupInfo() -{ - DISTRIBUTED_FEATURE_NOT_SUPPORTED(); -} - -/* - * @Description: Add stream info based on data skew info when we use redistribute. - * - * @return void - */ -void JoinPathGen::addStreamSkewInfo() -{ - DISTRIBUTED_FEATURE_NOT_SUPPORTED(); -} - -/* - * @Description: set stream info for nodegroup. - * - * @param[IN] stream_outer: true -- outer side of join. - * @return bool: not suitable for this target nodegroup. - */ -bool JoinPathGen::setStreamNodeGroupInfo(bool stream_outer) -{ - DISTRIBUTED_FEATURE_NOT_SUPPORTED(); - return false; -} - -/* - * @Description: check data skew info and try to generate a optimize path. - * And we need know where the skew info comes from to decide - * futher option. - * - * @return int: SKEW_RES_NONE -- no skew optimize path is generate. - * SKEW_RES_STATISTIC -- skew info comes from statistic info. - * SKEW_RES_HINT -- skew info comes from plan hint. - * SKEW_RES_RULE -- skew info comes from rules. - */ -uint32 JoinPathGen::setStreamSkewInfo() -{ - DISTRIBUTED_FEATURE_NOT_SUPPORTED(); - return 0; -} - /* * @Description: set parallel info include consumer/producer dop and * parallel stream type. @@ -233,26 +287,34 @@ void JoinPathGen::setStreamParallelInfo(bool stream_outer, SmpStreamType sstype) } /* - * @Description: create a unique path for unique join with - * skewness at the no-unique side. + * @Description: set distribute keys for join path. * - * @param[IN] stream_outer: if it is the outer side of join. - * @param[OUT] pathkeys: path sort keys. - * @return Path*: unique path. + * @param[IN] joinpath: join path. + * @param[IN] desired_key: desired key that try to meet. + * @param[IN] exact_match: if there's a desired key, whether we should do exact match. + * @return bool: if the path is valid. */ -Path* JoinPathGen::makeJoinSkewUniquePath(bool stream_outer, List* pathkeys) +const bool JoinPathGen::setJoinDistributeKeys(JoinPath* joinpath, List* desired_key, bool exact_match) { - DISTRIBUTED_FEATURE_NOT_SUPPORTED(); - return NULL; -} - -/* - * @Description: confirm if we can find distribute keys at subpath's targetlist. - * - * @return void - */ -void JoinPathGen::confirmDistributeKeys(StreamInfo* sinfo) -{ - DISTRIBUTED_FEATURE_NOT_SUPPORTED(); + Path* inner_path = joinpath->innerjoinpath; + Path* outer_path = joinpath->outerjoinpath; + + bool is_roundrobin_inner = (inner_path->locator_type == LOCATOR_TYPE_RROBIN); + bool is_roundrobin_outer = (outer_path->locator_type == LOCATOR_TYPE_RROBIN); + + bool is_path_valid = true; + + if (is_roundrobin_inner || is_roundrobin_outer) { + joinpath->path.distribute_keys = NIL; + } else if (joinpath->path.dop > 1) { + if (m_jointype != JOIN_FULL) { + joinpath->path.distribute_keys = locate_distribute_key( + m_jointype, outer_path->distribute_keys, inner_path->distribute_keys, desired_key, exact_match); + if (!joinpath->path.distribute_keys) + is_path_valid = false; + } + } + + return is_path_valid; } diff --git a/src/gausskernel/optimizer/path/tidpath.cpp b/src/gausskernel/optimizer/path/tidpath.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/optimizer/plan/Makefile b/src/gausskernel/optimizer/plan/Makefile old mode 100644 new mode 100755 diff --git a/src/gausskernel/optimizer/plan/createplan.cpp b/src/gausskernel/optimizer/plan/createplan.cpp index 8f44ba936..670c6e1ec 100644 --- a/src/gausskernel/optimizer/plan/createplan.cpp +++ b/src/gausskernel/optimizer/plan/createplan.cpp @@ -504,12 +504,7 @@ Plan* create_stream_plan(PlannerInfo* root, StreamPath* best_path) stream->smpDesc.producerDop = best_path->smpDesc->producerDop > 1 ? best_path->smpDesc->producerDop : 1; plan->dop = stream->smpDesc.consumerDop; stream->smpDesc.distriType = best_path->smpDesc->distriType; -#ifndef ENABLE_MULTIPLE_NODES - /* single node mode only has LOCAL Stream operator */ - if (stream->type == STREAM_BROADCAST) { - stream->smpDesc.distriType = LOCAL_BROADCAST; - } -#endif + /* * Local roundrobin and local broadcast do not need distribute keys, * so we set to NIL, in case it add extra targetlist. @@ -525,6 +520,11 @@ Plan* create_stream_plan(PlannerInfo* root, StreamPath* best_path) pfree(stream); return subplan; } + + /* single node mode only has LOCAL Stream operator */ + if (stream->type == STREAM_BROADCAST) { + stream->smpDesc.distriType = LOCAL_BROADCAST; + } #endif /* @@ -868,6 +868,13 @@ static Path* wipe_dummy_path(Plan* plan, Path* path) */ void disuse_physical_tlist(Plan* plan, Path* path) { +#ifndef ENABLE_MULTIPLE_NODES + /* StreamPath may not create stream plan, but it already do this step, so just return. */ + if (IsA(path, StreamPath)) { + return; + } +#endif + /* Only need to undo it for path types handled by create_scan_plan() */ switch (nodeTag(plan)) { case T_SubqueryScan: { @@ -8263,6 +8270,12 @@ Plan* make_stream_limit(PlannerInfo* root, Plan* lefttree, Node* limitOffset, No if (is_execute_on_coordinator(lefttree)) return (Plan*)make_limit(root, lefttree, limitOffset, limitCount, offset_est, count_est); +#ifndef ENABLE_MULTIPLE_NODES + if (lefttree->dop == 1) { + return (Plan*)make_limit(root, lefttree, limitOffset, limitCount, offset_est, count_est); + } +#endif + Plan* result_plan = NULL; /* * For a replicate plan such as "scan on replicated table", the result could be random @@ -8270,11 +8283,8 @@ Plan* make_stream_limit(PlannerInfo* root, Plan* lefttree, Node* limitOffset, No * random datanode is picked to evalute the limit clause if not at top level of plan. */ bool need_force_oneDN = is_result_random(root, lefttree); -#ifdef ENABLE_MULTIPLE_NODES bool pick_one_dn = (need_force_oneDN && root->query_level != 1); -#else - bool pick_one_dn = false; -#endif + if (is_replicated_plan(lefttree)) { if (need_force_oneDN && !IsA(lefttree, CteScan)) { @@ -8366,8 +8376,7 @@ Plan* make_stream_limit(PlannerInfo* root, Plan* lefttree, Node* limitOffset, No streamSort->sortCollations = sortPlan->collations; if (IsA(result_plan, RemoteQuery)) ((RemoteQuery*)result_plan)->sort = streamSort; - else { - Assert(IsA(result_plan, Stream)); + else if (IsA(result_plan, Stream)) { ((Stream*)result_plan)->sort = streamSort; } } @@ -9312,12 +9321,17 @@ List* process_agg_targetlist(PlannerInfo* root, List** local_tlist) foreign_qual_context context; #ifndef ENABLE_MULTIPLE_NODES - if (local_tle->resname && strcmp(local_tle->resname, "median") == 0) { - errno_t sprintf_rc = sprintf_s(u_sess->opt_cxt.not_shipping_info->not_shipping_reason, - NOTPLANSHIPPING_LENGTH, - "median aggregate is not supported in stream plan"); - securec_check_ss_c(sprintf_rc, "\0", "\0"); - mark_stream_unsupport(); + /* smp do not support median aggregate */ + if (IsA(expr, Aggref)) { + Aggref* agg_node = (Aggref*)expr; + /* 5556 is median's fn oid */ + if (agg_node->aggfnoid == 5556) { + errno_t sprintf_rc = sprintf_s(u_sess->opt_cxt.not_shipping_info->not_shipping_reason, + NOTPLANSHIPPING_LENGTH, + "median aggregate is not supported in stream plan"); + securec_check_ss_c(sprintf_rc, "\0", "\0"); + mark_stream_unsupport(); + } } #endif @@ -9577,6 +9591,7 @@ Plan* make_stream_plan( Stream* stream = makeNode(Stream); Plan* plan = &stream->scan.plan; + #ifndef ENABLE_MULTIPLE_NODES if (lefttree->dop <= 1) { /* while lefttree's dop is 1, no need to add stream node in single node */ @@ -9637,7 +9652,11 @@ Plan* make_stream_plan( stream->smpDesc.producerDop = 1; stream->smpDesc.consumerDop = 1; +#ifdef ENABLE_MULTIPLE_NODES stream->smpDesc.distriType = REMOTE_DISTRIBUTE; +#else + stream->smpDesc.distriType = LOCAL_DISTRIBUTE; +#endif plan->dop = stream->smpDesc.consumerDop; } @@ -9690,13 +9709,6 @@ Plan* make_redistribute_for_agg(PlannerInfo* root, Plan* lefttree, List* redistr Stream* stream = NULL; Plan* plan = NULL; -#ifndef ENABLE_MULTIPLE_NODES - /* while lefttree's dop is 1, no need to add stream node in single node */ - if (lefttree->dop <= 1) { - return lefttree; - } -#endif - /* For some agg operations (such as grouping sets), we do computing in their original node group */ if (distribution == NULL) { distribution = ng_get_dest_distribution(lefttree); @@ -9733,7 +9745,11 @@ Plan* make_redistribute_for_agg(PlannerInfo* root, Plan* lefttree, List* redistr } else { stream->smpDesc.producerDop = 1; stream->smpDesc.consumerDop = 1; +#ifdef ENABLE_MULTIPLE_NODES stream->smpDesc.distriType = REMOTE_DISTRIBUTE; +#else + stream->smpDesc.distriType = LOCAL_DISTRIBUTE; +#endif plan->dop = 1; } diff --git a/src/gausskernel/optimizer/plan/dynsmp_single.cpp b/src/gausskernel/optimizer/plan/dynsmp_single.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/optimizer/plan/initsplan.cpp b/src/gausskernel/optimizer/plan/initsplan.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/optimizer/plan/pgxcplan_single.cpp b/src/gausskernel/optimizer/plan/pgxcplan_single.cpp old mode 100755 new mode 100644 index 4a2e5c493..c5062ba39 --- a/src/gausskernel/optimizer/plan/pgxcplan_single.cpp +++ b/src/gausskernel/optimizer/plan/pgxcplan_single.cpp @@ -125,6 +125,14 @@ PlannedStmt* pgxc_planner(Query* query, int cursorOptions, ParamListInfo boundPa output_unshipped_log(); set_stream_off(); } + + if (u_sess->SPI_cxt._connected >= 0) { + errno_t sprintf_rc = sprintf_s(u_sess->opt_cxt.not_shipping_info->not_shipping_reason, + NOTPLANSHIPPING_LENGTH, + "queries in procedure and function do not support stream."); + securec_check_ss_c(sprintf_rc, "\0", "\0"); + set_stream_off(); + } #endif /* * we will create plan with stream first, and if it is not support stream, diff --git a/src/gausskernel/optimizer/plan/planagg.cpp b/src/gausskernel/optimizer/plan/planagg.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/optimizer/plan/planmain.cpp b/src/gausskernel/optimizer/plan/planmain.cpp old mode 100755 new mode 100644 index d6e8c63f0..b4d1c5f4f --- a/src/gausskernel/optimizer/plan/planmain.cpp +++ b/src/gausskernel/optimizer/plan/planmain.cpp @@ -27,7 +27,6 @@ #include "parser/parse_hint.h" #include "pgxc/pgxc.h" #include "optimizer/cost.h" -#include "optimizer/orclauses.h" #include "optimizer/pathnode.h" #include "optimizer/paths.h" #include "optimizer/placeholder.h" @@ -240,12 +239,6 @@ void query_planner(PlannerInfo* root, List* tlist, double tuple_fraction, double */ add_placeholders_to_base_rels(root); - /* - * Look for join OR clauses that we can extract single-relation - * restriction OR clauses from. - */ - extract_restriction_or_clauses(root); - /* * We should now have size estimates for every actual table involved in * the query, and we also know which if any have been deleted from the diff --git a/src/gausskernel/optimizer/plan/planner.cpp b/src/gausskernel/optimizer/plan/planner.cpp index a59f6b52b..ab85ed5ca 100644 --- a/src/gausskernel/optimizer/plan/planner.cpp +++ b/src/gausskernel/optimizer/plan/planner.cpp @@ -364,9 +364,8 @@ PlannedStmt* planner(Query* parse, int cursorOptions, ParamListInfo boundParams) * streaming engine hook for agg rewrite. */ if (t_thrd.streaming_cxt.streaming_planner_hook) - result = (*(planner_hook_type) t_thrd.streaming_cxt.streaming_planner_hook)\ + (*(planner_hook_type) t_thrd.streaming_cxt.streaming_planner_hook)\ (parse, cursorOptions, boundParams); - else /* * A Coordinator receiving a query from another Coordinator * is not allowed to go into PGXC planner. @@ -873,10 +872,6 @@ PlannedStmt* standard_planner(Query* parse, int cursorOptions, ParamListInfo bou result->initPlan = init_plan; } pfree_ext(subplan_ids); - -#ifndef ENABLE_MULTIPLE_NODES - (void)InitStreamObject(result); -#endif /* dynamic query dop main entry */ if (IsDynamicSmpEnabled()) { @@ -1803,7 +1798,7 @@ Node* preprocess_expression(PlannerInfo* root, Node* expr, int kind) * If it's a qual or havingQual, canonicalize it. */ if (kind == EXPRKIND_QUAL) { - expr = (Node*)canonicalize_qual((Expr*)expr); + expr = (Node*)canonicalize_qual((Expr*)expr, false); #ifdef OPTIMIZER_DEBUG printf("After canonicalize_qual()\n"); @@ -3201,7 +3196,7 @@ static Plan* grouping_planner(PlannerInfo* root, double tuple_fraction) "while others only support sorting")))); } - if (IS_STREAM_PLAN && is_hashed_plan(result_plan)) { + if (IS_STREAM_PLAN && (is_hashed_plan(result_plan) || is_rangelist_plan(result_plan))) { if (expression_returns_set((Node*)tlist)) { errno_t sprintf_rc = sprintf_s(u_sess->opt_cxt.not_shipping_info->not_shipping_reason, NOTPLANSHIPPING_LENGTH, @@ -4158,7 +4153,8 @@ static Plan* grouping_planner(PlannerInfo* root, double tuple_fraction) * we can deduct that we have already add sort in the data node, so we only need * add a mergesort to remote query if there are multiple dn involved. */ - if (IsA(result_plan, RemoteQuery) && !is_replicated_plan(result_plan->lefttree) && !single_node && + if ((IsA(result_plan, RemoteQuery) || IsA(result_plan, Stream))&& + !is_replicated_plan(result_plan->lefttree) && !single_node && root->sort_pathkeys != NIL && pathkeys_contained_in(root->sort_pathkeys, current_pathkeys)) { Sort* sortPlan = make_sort_from_pathkeys(root, result_plan, current_pathkeys, limit_tuples); @@ -4170,7 +4166,11 @@ static Plan* grouping_planner(PlannerInfo* root, double tuple_fraction) streamSort->sortToStore = false; streamSort->sortCollations = sortPlan->collations; - ((RemoteQuery*)result_plan)->sort = streamSort; + if (IsA(result_plan, RemoteQuery)) { + ((RemoteQuery*)result_plan)->sort = streamSort; + } else if (IsA(result_plan, Stream)) { + ((Stream*)result_plan)->sort = streamSort; + } } } @@ -7894,7 +7894,11 @@ static Plan* mark_windowagg_stream( */ if (pathkeys != NIL) { gatherPlan = make_simple_RemoteQuery((Plan*)sortPlan, root, false); - ((RemoteQuery*)gatherPlan)->sort = streamSort; + if (IsA(gatherPlan, RemoteQuery)) { + ((RemoteQuery*)gatherPlan)->sort = streamSort; + } else if (IsA(gatherPlan, Stream)) { + ((Stream*)gatherPlan)->sort = streamSort; + } } else { gatherPlan = make_simple_RemoteQuery(bottomPlan, root, false); } @@ -7906,6 +7910,9 @@ static Plan* mark_windowagg_stream( gatherPlan = (Plan*)make_sort_from_pathkeys(root, gatherPlan, pathkeys, -1.0); } else { bool single_node = +#ifndef ENABLE_MULTIPLE_NODES + plan->dop <= 1 && +#endif (bottomPlan->exec_nodes != NULL && list_length(bottomPlan->exec_nodes->nodeList) == 1); /* If there's a sort, we need it to do merge sort */ if (IsA(plan->lefttree, Sort)) { @@ -7969,11 +7976,9 @@ static Plan* mark_distinct_stream( if (plan == NULL || !IsA(plan, Unique) || is_execute_on_coordinator(plan) || is_execute_on_allnodes(plan)) return plan; - /** - * if on single-node and smp enabled, do not add a stream operator - */ #ifndef ENABLE_MULTIPLE_NODES - if (u_sess->opt_cxt.query_dop > 1) { + /* if on single-node and dop is 1, no need add a stream operator */ + if (plan->dop == 1) { return plan; } #endif diff --git a/src/gausskernel/optimizer/plan/planrecursive_single.cpp b/src/gausskernel/optimizer/plan/planrecursive_single.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/optimizer/plan/planrewrite.cpp b/src/gausskernel/optimizer/plan/planrewrite.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/optimizer/plan/setrefs.cpp b/src/gausskernel/optimizer/plan/setrefs.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/optimizer/plan/streamplan.cpp b/src/gausskernel/optimizer/plan/streamplan.cpp index 2662d2f70..b8ab217c8 100644 --- a/src/gausskernel/optimizer/plan/streamplan.cpp +++ b/src/gausskernel/optimizer/plan/streamplan.cpp @@ -1020,8 +1020,10 @@ List* distributeKeyIndex(PlannerInfo* root, List* distributed_keys, List* target */ bool* matched_key = (bool*)palloc0(sizeof(bool) * list_length(targetlist)); - if (NIL == distributed_keys) + if (NIL == distributed_keys) { + pfree_ext(matched_key); return NIL; + } foreach (cell, distributed_keys) { int index = 0, matched_index = 0; @@ -1053,12 +1055,14 @@ List* distributeKeyIndex(PlannerInfo* root, List* distributed_keys, List* target if (matched_index != 0) result = lappend_int(result, matched_index); else { + pfree_ext(matched_key); list_free_ext(result); return NULL; } } } + pfree_ext(matched_key); return result; } diff --git a/src/gausskernel/optimizer/plan/streamplan_single.cpp b/src/gausskernel/optimizer/plan/streamplan_single.cpp old mode 100755 new mode 100644 index 0ad6f73eb..a5c8a7d76 --- a/src/gausskernel/optimizer/plan/streamplan_single.cpp +++ b/src/gausskernel/optimizer/plan/streamplan_single.cpp @@ -75,73 +75,55 @@ void set_default_stream() { - u_sess->opt_cxt.is_stream = (u_sess->attr.attr_sql.query_dop_tmp > 1); - u_sess->opt_cxt.is_stream_support = true; + /* initdb could not use smp */ + if (IsInitdb) { + u_sess->opt_cxt.is_stream = false; + u_sess->opt_cxt.is_stream_support = false; + } else { + u_sess->opt_cxt.is_stream = (u_sess->opt_cxt.query_dop > 1); + u_sess->opt_cxt.is_stream_support = (u_sess->opt_cxt.query_dop > 1); + } } int2vector* get_baserel_distributekey_no(Oid relid) { /* while smp is not allowed, no need to generate distribute key */ - if (!check_stream_support() || !(u_sess->attr.attr_sql.query_dop_tmp > 1)) { + if (!check_stream_support()) { return NULL; } - AttrNumber attnum = 1; while (true) { HeapTuple tp; Form_pg_attribute att_tup; - tp = SearchSysCache2(ATTNUM, ObjectIdGetDatum(relid), Int16GetDatum(attnum)); - if (!HeapTupleIsValid(tp)) { attnum = 0; ReleaseSysCache(tp); break; } - att_tup = (Form_pg_attribute)GETSTRUCT(tp); if (!att_tup->attisdropped) { ReleaseSysCache(tp); break; } - ++attnum; ReleaseSysCache(tp); } - if (attnum == 0) return NULL; - int2 col[1] = { attnum }; int2vector* attnumVec = buildint2vector(col, 1); - return attnumVec; } /* in build_simple_rel used. Put it all back. Record it */ List* build_baserel_distributekey(RangeTblEntry* rte, int relindex) { - int2vector* attnum = NULL; - Oid vartypeid; - int32 type_mod; - Oid varcollid; - List* list = NULL; - - if (!rte->relid || - (get_rel_relkind(rte->relid) != RELKIND_RELATION && get_rel_relkind(rte->relid) != RELKIND_MATVIEW)) + if (IS_PGXC_DATANODE || !IS_PGXC_COORDINATOR || !rte->relid || get_rel_relkind(rte->relid) != RELKIND_RELATION) return NIL; - attnum = get_baserel_distributekey_no(rte->relid); - if (attnum == NULL) { - return NIL; - } - - Assert(attnum->dim1 == 1); - int attno = attnum->values[0]; - get_rte_attribute_type(rte, attno, &vartypeid, &type_mod, &varcollid); - Var* colVar = makeVar(relindex, attno, vartypeid, type_mod, varcollid, 0); - list = lappend(list, colVar); - return list; + DISTRIBUTED_FEATURE_NOT_SUPPORTED(); + return NIL; } Plan* make_simple_RemoteQuery(Plan* lefttree, PlannerInfo* root, bool is_subplan, ExecNodes* target_exec_nodes) @@ -196,6 +178,14 @@ bool is_replicated_plan(Plan* plan) bool is_hashed_plan(Plan* plan) { + if (IsA(plan, Stream)) { + if (is_broadcast_stream((Stream*)plan) || is_gather_stream((Stream*)plan)) + return false; + else if (is_redistribute_stream((Stream*)plan)) + return true; + } else if (plan->exec_nodes != NULL) + return IsLocatorDistributedByHash(plan->exec_nodes->baselocatortype); + return false; } @@ -781,6 +771,12 @@ void mark_distribute_setop(PlannerInfo* root, Node* node, bool isunionall, bool if (result) { mark_distribute_setop_distribution( root, node, plan, subPlans, redistributePlanSet, redistributeKey, redistributeDistribution); + } else { + /* + * Add remote query node on top of each subplan if fail + * to get redistribute information + */ + mark_distribute_setop_remotequery(root, node, plan, subPlans); } } diff --git a/src/gausskernel/optimizer/plan/streamplan_utils.cpp b/src/gausskernel/optimizer/plan/streamplan_utils.cpp index 412b56bf7..c1de55d87 100644 --- a/src/gausskernel/optimizer/plan/streamplan_utils.cpp +++ b/src/gausskernel/optimizer/plan/streamplan_utils.cpp @@ -1415,6 +1415,13 @@ bool remove_local_plan(Plan* stream_plan, Plan* parent, ListCell* lc, bool is_le if (stream_plan == NULL || parent == NULL) return false; +#ifndef ENABLE_MULTIPLE_NODES + /* Plan who has initPlan can not be removed. */ + if (stream_plan->initPlan) { + return false; + } +#endif + /* Check the plan type. */ if (IsA(stream_plan, Stream) || IsA(stream_plan, VecStream)) stream = (Stream*)stream_plan; @@ -2006,4 +2013,62 @@ void finalize_node_id(Plan* result_plan, int* plan_node_id, int* parent_node_id, list_free_ext(subplan_list); } } +} + +void mark_distribute_setop_remotequery(PlannerInfo* root, Node* node, Plan* plan, List* subPlans) +{ + Plan* remotePlan = NULL; + Plan* subPlan = NULL; + ListCell* cell = NULL; + List* newSubPlans = NIL; + MergeAppend* mergeAppend = NULL; + Append* append = NULL; + errno_t sprintf_rc = 0; + + if (IsA(node, MergeAppend)) { + mergeAppend = (MergeAppend*)node; + } else if (IsA(node, RecursiveUnion)) { + sprintf_rc = sprintf_s(u_sess->opt_cxt.not_shipping_info->not_shipping_reason, + NOTPLANSHIPPING_LENGTH, + "With-Recursive in subplan which executes on CN is not shippable"); + securec_check_ss_c(sprintf_rc, "\0", "\0"); + mark_stream_unsupport(); + } else { + AssertEreport(IsA(node, Append), MOD_OPT, "The node is NOT a Append"); + + append = (Append*)node; + } + + foreach (cell, subPlans) { + subPlan = (Plan*)lfirst(cell); + remotePlan = make_simple_RemoteQuery(subPlan, root, true); + + if (mergeAppend && is_execute_on_datanodes(subPlan)) { + remotePlan = (Plan*)make_sort(root, + remotePlan, + mergeAppend->numCols, + mergeAppend->sortColIdx, + mergeAppend->sortOperators, + mergeAppend->collations, + mergeAppend->nullsFirst, + -1); + } + + newSubPlans = lappend(newSubPlans, remotePlan); + } + + list_free_ext(subPlans); + + if (PointerIsValid(mergeAppend)) { + mergeAppend->mergeplans = newSubPlans; + } else { + AssertEreport(PointerIsValid(append), MOD_OPT, "The append is NULL"); + + append->appendplans = newSubPlans; + } + + plan->dop = 1; + plan->distributed_keys = NIL; + plan->exec_type = EXEC_ON_COORDS; + plan->exec_nodes = ng_get_single_node_group_exec_node(); } \ No newline at end of file diff --git a/src/gausskernel/optimizer/plan/subselect.cpp b/src/gausskernel/optimizer/plan/subselect.cpp old mode 100755 new mode 100644 index 7be818676..1494177eb --- a/src/gausskernel/optimizer/plan/subselect.cpp +++ b/src/gausskernel/optimizer/plan/subselect.cpp @@ -635,7 +635,7 @@ static Node* make_subplan( * Generate the plan for the subquery. */ /* Set u_sess->opt_cxt.query_dop to forbidden the parallel of subquery. */ - int dop_tmp = u_sess->opt_cxt.query_dop; + int outerDop = u_sess->opt_cxt.query_dop; if (isIntergratedMachine == false) { u_sess->opt_cxt.query_dop = 1; @@ -645,6 +645,7 @@ static Node* make_subplan( u_sess->opt_cxt.query_dop = 1; } } + int dopTmp = u_sess->opt_cxt.query_dop; /* reset u_sess->analyze_cxt.need_autoanalyze */ tmp_need_autoanalyze = u_sess->analyze_cxt.need_autoanalyze; @@ -653,7 +654,7 @@ static Node* make_subplan( u_sess->analyze_cxt.need_autoanalyze = tmp_need_autoanalyze; /* Reset u_sess->opt_cxt.query_dop. */ - u_sess->opt_cxt.query_dop = dop_tmp; + u_sess->opt_cxt.query_dop = outerDop; /* Isolate the params needed by this specific subplan */ plan_params = root->plan_params; root->plan_params = NIL; @@ -692,8 +693,10 @@ static Node* make_subplan( /* See if it can be converted to an ANY query */ subquery = convert_EXISTS_to_ANY(root, subquery, &newtestexpr, ¶mIds); if (subquery != NULL) { + u_sess->opt_cxt.query_dop = dopTmp; /* Generate the plan for the ANY subquery; we'll need all rows */ plan = subquery_planner(root->glob, subquery, root, false, 0.0, &subroot, (SUBQUERY_SUBLINK | SUBQUERY_NORMAL)); + u_sess->opt_cxt.query_dop = outerDop; /* Isolate the params needed by this specific subplan */ plan_params = root->plan_params; @@ -1977,7 +1980,7 @@ static Query* convert_EXISTS_to_ANY(PlannerInfo* root, Query* subselect, Node** * subroot. */ whereClause = eval_const_expressions(root, whereClause); - whereClause = (Node*)canonicalize_qual((Expr*)whereClause); + whereClause = (Node*)canonicalize_qual((Expr*)whereClause, false); whereClause = (Node*)make_ands_implicit((Expr*)whereClause); /* diff --git a/src/gausskernel/optimizer/prep/prepjointree.cpp b/src/gausskernel/optimizer/prep/prepjointree.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/optimizer/prep/prepnonjointree.cpp b/src/gausskernel/optimizer/prep/prepnonjointree.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/optimizer/prep/prepqual.cpp b/src/gausskernel/optimizer/prep/prepqual.cpp old mode 100755 new mode 100644 index e1702eaba..8fb62f09e --- a/src/gausskernel/optimizer/prep/prepqual.cpp +++ b/src/gausskernel/optimizer/prep/prepqual.cpp @@ -40,7 +40,7 @@ static List* pull_ands(List* andlist); static List* pull_ors(List* orlist); -static Expr* find_duplicate_ors(Expr* qual); +static Expr* find_duplicate_ors(Expr* qual, bool is_check); static Expr* process_duplicate_ors(List* orlist); /* @@ -253,7 +253,7 @@ Node* negate_clause(Node* node) * * Returns the modified qualification. */ -Expr* canonicalize_qual(Expr* qual) +Expr* canonicalize_qual(Expr* qual, bool is_check) { Expr* newqual = NULL; /* Quick exit for empty qual */ @@ -265,7 +265,8 @@ Expr* canonicalize_qual(Expr* qual) * within the top-level AND/OR structure; there's no point in looking * deeper. */ - newqual = find_duplicate_ors(qual); + newqual = find_duplicate_ors(qual, is_check); + return newqual; } @@ -326,6 +327,80 @@ static List* pull_ors(List* orlist) } return out_list; } +/** + * call it on in Recurse find_duplicate_ors + * @return NULL or true, + * NULL means continue the loop, true means finish and return the value + */ +static Expr *ReduceConstWithinOr(Const *var, bool is_check) +{ + Assert(var != NULL && IsA(var, Const)); + if (var->constisnull) { + if (is_check) { + /* within OR in CHECK, Constant NULL, reduces to TRUE */ + return (Expr *) makeBoolConst(true, false); + } else { + /* Within OR in WHERE, drop constant NULL */ + return NULL; + } + } + + if (!DatumGetBool(var->constvalue)) { + /* Within OR, drop constant FALSE */ + return NULL; + } + /* Within OR, save Constant TRUE */ + return (Expr *) var; +} + +/** + * call it on in Recurse find_duplicate_ors + * @return NULL or false, + * NULL means continue the loop, false means finish and return the value + */ + +static Expr *ReduceConstWithinAnd(Const *var, bool is_check) +{ + if (var->constisnull) { + if (is_check) { + /* Within AND in CHECK, drop constant NULL */ + return NULL; + } else { + /* Within AND in WHERE, constant NULL, reduces to FALSE */ + return (Expr *) makeBoolConst(false, false); + } + } + + if (DatumGetBool(var->constvalue)) { + /* Within AND, drop constant TRUE */ + return NULL; + } + /* Constant FALSE, save it */ + return (Expr *) var; +} + +/** + * call it on in Recurse find_duplicate_ors + * @return true, false, or the @param var, + * constant NULL:Bool reduces to true iff is_check else false, others return itself + */ +static Expr *ReduceConstWithinOther(Const *var, bool is_check) +{ + if (var == NULL || !IsA(var, Const)) { + return (Expr *)var; + } + if (var->constisnull) { + if (is_check) { + /* in CHECK, constant NULL, reduces to TRUE */ + return (Expr *) makeBoolConst(true, false); + } else { + /* in WHERE, constant NULL, reduces to FALSE */ + return (Expr *) makeBoolConst(false, false); + } + } + /* Constant FALSE or TRUE, save it */ + return (Expr *)var; +} /* -------------------- * The following code attempts to apply the inverse OR distributive law: @@ -355,34 +430,77 @@ static List* pull_ors(List* orlist) * * Returns the modified qualification. AND/OR flatness is preserved. */ -static Expr* find_duplicate_ors(Expr* qual) +static Expr* find_duplicate_ors(Expr* qual, bool is_check) { if (or_clause((Node*)qual)) { List* orlist = NIL; ListCell* temp = NULL; /* Recurse */ - foreach (temp, ((BoolExpr*)qual)->args) - orlist = lappend(orlist, find_duplicate_ors((Expr*)lfirst(temp))); + foreach (temp, ((BoolExpr*)qual)->args) { + Expr *arg = find_duplicate_ors((Expr*)lfirst(temp), is_check); + if (arg && IsA(arg, Const)) { + Expr *res = ReduceConstWithinOr((Const *)arg, is_check); + /* NULL means continue */ + if (res == NULL) { + continue; + } else { + return res; + } + } + orlist = lappend(orlist, arg); + } - /* - * Don't need pull_ors() since this routine will never introduce an OR - * where there wasn't one before. - */ + /* Flatten any ORs pulled up to just below here */ + List* temp_orlist = pull_ors(orlist); + list_free(orlist); + orlist = temp_orlist; + /* OR of no inputs reduces to FALSE */ + if (orlist == NIL) { + return (Expr *) makeBoolConst(false, false); + } + /* Single-expression OR just reduces to that expression */ + if (list_length(orlist) == 1) { + return (Expr*)linitial(orlist); + } + + /* Now we can look for duplicate ORs */ return process_duplicate_ors(orlist); } else if (and_clause((Node*)qual)) { List* andlist = NIL; ListCell* temp = NULL; /* Recurse */ - foreach (temp, ((BoolExpr*)qual)->args) - andlist = lappend(andlist, find_duplicate_ors((Expr*)lfirst(temp))); + foreach (temp, ((BoolExpr*)qual)->args) { + Expr *arg = find_duplicate_ors((Expr*)lfirst(temp), is_check); + if (arg && IsA(arg, Const)) { + Expr *res = ReduceConstWithinAnd((Const *)arg, is_check); + /* NULL means continue */ + if (res == NULL) { + continue; + } else { + return res; + } + } + andlist = lappend(andlist, arg); + } /* Flatten any ANDs introduced just below here */ - andlist = pull_ands(andlist); + List* temp_andlist = pull_ands(andlist); + list_free(andlist); + andlist = temp_andlist; + /* AND of no inputs reduces to TRUE */ + if (andlist == NIL) { + return (Expr *) makeBoolConst(true, false); + } + /* Single-expression AND just reduces to that expression */ + if (list_length(andlist) == 1) { + return (Expr *) linitial(andlist); + } /* The AND list can't get shorter, so result is always an AND */ return make_andclause(andlist); - } else - return qual; + } else { + return ReduceConstWithinOther((Const *)qual, is_check); + } } /* @@ -400,13 +518,8 @@ static Expr* process_duplicate_ors(List* orlist) List* winners = NIL; List* neworlist = NIL; ListCell* temp = NULL; - - if (orlist == NIL) - return NULL; /* probably can't happen */ - if (list_length(orlist) == 1) /* single-expression OR (can this - * happen?) */ - return (Expr*)linitial(orlist); - + + Assert(orlist != NULL && list_length(orlist) > 1); /* * Choose the shortest AND clause as the reference list --- obviously, any * subclause not in this clause isn't in all the clauses. If we find a diff --git a/src/gausskernel/optimizer/prep/preprownum.cpp b/src/gausskernel/optimizer/prep/preprownum.cpp index 431f7332b..83b59d27b 100644 --- a/src/gausskernel/optimizer/prep/preprownum.cpp +++ b/src/gausskernel/optimizer/prep/preprownum.cpp @@ -63,7 +63,7 @@ void preprocess_rownum(PlannerInfo *root, Query *parse) } } - quals = (Node*)canonicalize_qual((Expr*)quals); + quals = (Node*)canonicalize_qual((Expr*)quals, false); switch (nodeTag(quals)) { case T_OpExpr: { quals = preprocess_rownum_opexpr(root, parse, (OpExpr*)quals, false); diff --git a/src/gausskernel/optimizer/prep/prepunion.cpp b/src/gausskernel/optimizer/prep/prepunion.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/optimizer/rewrite/rewriteDefine.cpp b/src/gausskernel/optimizer/rewrite/rewriteDefine.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/optimizer/rewrite/rewriteHandler.cpp b/src/gausskernel/optimizer/rewrite/rewriteHandler.cpp index b3a7a4ad7..35f26087d 100644 --- a/src/gausskernel/optimizer/rewrite/rewriteHandler.cpp +++ b/src/gausskernel/optimizer/rewrite/rewriteHandler.cpp @@ -2741,7 +2741,7 @@ char* GetCreateViewStmt(Query* parsetree, CreateTableAsStmt* stmt) view_stmt->query = stmt->query; view_stmt->view->relpersistence = RELPERSISTENCE_PERMANENT; view_stmt->aliases = stmt->into->colNames; - view_stmt->options = NIL; + view_stmt->options = stmt->into->options; view_stmt->relkind = OBJECT_MATVIEW; view_stmt->ivm = stmt->into->ivm; diff --git a/src/gausskernel/optimizer/rewrite/rewriteManip.cpp b/src/gausskernel/optimizer/rewrite/rewriteManip.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/optimizer/rewrite/rewriteRemove.cpp b/src/gausskernel/optimizer/rewrite/rewriteRemove.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/optimizer/rewrite/rewriteSupport.cpp b/src/gausskernel/optimizer/rewrite/rewriteSupport.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/optimizer/util/Makefile b/src/gausskernel/optimizer/util/Makefile old mode 100644 new mode 100755 index a7abfbea8..c08e349ea --- a/src/gausskernel/optimizer/util/Makefile +++ b/src/gausskernel/optimizer/util/Makefile @@ -19,7 +19,7 @@ endif SUBDIRS = learn -OBJS = clauses.o joininfo.o orclauses.o pathnode.o placeholder.o plancat.o predtest.o \ +OBJS = clauses.o joininfo.o pathnode.o placeholder.o plancat.o predtest.o \ relnode.o restrictinfo.o tlist.o var.o pruningboundary.o pgxcship.o pruning.o randomplan.o optimizerdebug.o planmem_walker.o \ nodegroups.o plananalyzer.o optcommon.o dataskew.o joinskewinfo.o autoanalyzer.o bucketinfo.o bucketpruning.o diff --git a/src/gausskernel/optimizer/util/autoanalyzer.cpp b/src/gausskernel/optimizer/util/autoanalyzer.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/optimizer/util/clauses.cpp b/src/gausskernel/optimizer/util/clauses.cpp index daed09da6..bdb5cff33 100644 --- a/src/gausskernel/optimizer/util/clauses.cpp +++ b/src/gausskernel/optimizer/util/clauses.cpp @@ -2249,108 +2249,6 @@ Node* estimate_expression_value(PlannerInfo* root, Node* node, EState* estate) return eval_const_expressions_mutator(node, &context); } -/** - * only work on oracle database, find string equal or not equal filter condition - * if the expr is string equal or not equal, return true, otherwise return false - */ -static bool is_support_empty_str_optimization(OpExpr *expr) -{ - if (u_sess->attr.attr_sql.sql_compatibility != A_FORMAT) { - return false; - } - const int SUPPORT_EQ_NE = 4; - const Oid TEXTNEOID = 531; - const Oid var_eq_const_op_array[SUPPORT_EQ_NE] = { - BPCHAREQOID, BPCHARNEOID, - TEXTEQOID, TEXTNEOID - }; - bool is_support_optimize = false; - for (int i = 0; i < SUPPORT_EQ_NE; i++) { - if (expr->opno == var_eq_const_op_array[i]) { - is_support_optimize = true; - break; - } - } - return is_support_optimize; -} - -/** - * only work on oracle database, find string equal or not equal filter condition - * if the args has var column element, return true, otherwise return false - */ -static bool contain_var_element(List *args) -{ - ListCell *lc = NULL; - foreach(lc, args) { - Expr *expr = (Expr *)lfirst(lc); - if (IsA(expr, Var)) { - return true; - } else if (IsA(expr, RelabelType) && ((RelabelType *)expr)->relabelformat == COERCE_IMPLICIT_CAST) { - Var *var = (Var *)((RelabelType *)expr)->arg; - if (var != NULL && IsA(var, Var)) { - return true; - } - } - } - return false; -} - -/** - * only work on oracle database, find string equal or not equal filter condition - * if the args has null const element or null param element, return true, otherwise return false - */ -static bool contain_null_element(List *args, const eval_const_expressions_context *context) -{ - ListCell *lc = NULL; - foreach(lc, args) { - Expr *expr = (Expr *)lfirst(lc); - if (IsA(expr, Const)) { - Const *val = (Const *)expr; - if (!val->constisnull) { - return false; - } - return true; - } else if (IsA(expr, Param)) { - Param *param = (Param *)expr; - if (context == NULL || context->boundParams == NULL || context->boundParams->params == NULL) { - return false; - } - if (context->boundParams->numParams < param->paramid) { - return false; - } - ParamExternData *prm = &context->boundParams->params[param->paramid - 1]; - if (!prm->isnull) { - return false; - } - return true; - } - } - return false; -} - -/** - * only work on oracle database, find empty string equal or not equal filter condition - * if the expr has null string (not) equal operator, return true, otherwise return false - */ -static Expr *oracle_emptystr_equal_optimize(OpExpr *expr, eval_const_expressions_context *context) -{ - Assert(IsA(expr, OpExpr)); - if (!is_support_empty_str_optimization(expr)) { - return NULL; - } - List *args = expr->args; - const int EQUAL_OPERATOR_ARGS = 2; - if (list_length(args) != EQUAL_OPERATOR_ARGS) { - return NULL; - } - if (!contain_var_element(args)) { - return NULL; - } - if (!contain_null_element(args, context)) { - return NULL; - } - return (Expr *)makeBoolConst(false, false); -} Node* eval_const_expressions_mutator(Node* node, eval_const_expressions_context* context) { if (node == NULL) @@ -2495,10 +2393,6 @@ Node* eval_const_expressions_mutator(Node* node, eval_const_expressions_context* * on input to this extent. */ set_opfuncid(expr); - simple = oracle_emptystr_equal_optimize(expr, context); - if (simple != NULL) { - return (Node *)simple; - } /* * Code for op/func reduction is pretty bulky, so split it out * as a separate function. diff --git a/src/gausskernel/optimizer/util/dataskew.cpp b/src/gausskernel/optimizer/util/dataskew.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/optimizer/util/joininfo.cpp b/src/gausskernel/optimizer/util/joininfo.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/optimizer/util/learn/comm.cpp b/src/gausskernel/optimizer/util/learn/comm.cpp old mode 100755 new mode 100644 index 4338b73f2..680299eeb --- a/src/gausskernel/optimizer/util/learn/comm.cpp +++ b/src/gausskernel/optimizer/util/learn/comm.cpp @@ -252,7 +252,6 @@ static GS_UCHAR* DecodeClientKey(StringInfo cahome) ClearRandKeyFile(&randFileContent); pfree(plainpwd); ereport(ERROR, (errmodule(MOD_OPT_AI), errmsg("Read from key file failed."))); - return plainpwd; } if (!DecryptInputKey(cipherFileContent.cipherkey, CIPHER_LEN, randFileContent.randkey, @@ -265,14 +264,13 @@ static GS_UCHAR* DecodeClientKey(StringInfo cahome) ClearRandKeyFile(&randFileContent); pfree(plainpwd); ereport(ERROR, (errmodule(MOD_OPT_AI), errmsg("decrypt input key failed."))); - return plainpwd; } ClearCipherKeyFile(&cipherFileContent); ClearRandKeyFile(&randFileContent); return plainpwd; } -static inline void CleanCertInfo(StringInfo str) +static void CleanCertInfo(StringInfo str) { errno_t rc = memset_s(str->data, str->len, 0, str->len); securec_check(rc, "\0", "\0"); diff --git a/src/gausskernel/optimizer/util/learn/encoding.cpp b/src/gausskernel/optimizer/util/learn/encoding.cpp old mode 100755 new mode 100644 index 85b30d4b7..e6db5ff00 --- a/src/gausskernel/optimizer/util/learn/encoding.cpp +++ b/src/gausskernel/optimizer/util/learn/encoding.cpp @@ -171,6 +171,7 @@ Datum encode_plan_node(PG_FUNCTION_ARGS) pfree(strategy); pfree(options); pfree(quals); + pfree(projection); text* res = cstring_to_text(code->data); pfree(code->data); @@ -214,7 +215,7 @@ void SaveDataToFile(const char* filename) } while (HeapTupleIsValid(tuple = systable_getnext(scan))) { ret = memset_s(buf, sizeof(buf), 0, sizeof(buf)); - securec_check_ss(ret, "\0", "\0"); + securec_check(ret, "\0", "\0"); enc = (TreeEncPtr)GETSTRUCT(tuple); str = (char*)(text_to_cstring(enc->encode)); ret = sprintf_s(buf, @@ -497,7 +498,7 @@ static inline bool IsScan(Plan* plan) IsA(plan, IndexOnlyScan) || IsA(plan, BitmapIndexScan) || IsA(plan, VecSubqueryScan) || IsA(plan, BitmapHeapScan) || IsA(plan, TidScan) || IsA(plan, CStoreScan) || IsA(plan, VecForeignScan) || IsA(plan, CStoreIndexScan) || IsA(plan, CStoreIndexCtidScan) || IsA(plan, CStoreIndexHeapScan) || - IsA(plan, FunctionScan) || IsA(plan, VecSubqueryScan) || IsA(plan, ValuesScan) || IsA(plan, CteScan) || + IsA(plan, FunctionScan) || IsA(plan, ValuesScan) || IsA(plan, CteScan) || IsA(plan, WorkTableScan) || IsA(plan, ForeignScan) || IsA(plan, VecScan) || IsA(plan, DfsScan) || IsA(plan, VecIndexScan) || IsA(plan, VecIndexOnlyScan) || IsA(plan, VecBitmapIndexScan) || IsA(plan, VecBitmapHeapScan); diff --git a/src/gausskernel/optimizer/util/learn/ml_model.cpp b/src/gausskernel/optimizer/util/learn/ml_model.cpp old mode 100755 new mode 100644 index 989286be9..5680fb099 --- a/src/gausskernel/optimizer/util/learn/ml_model.cpp +++ b/src/gausskernel/optimizer/util/learn/ml_model.cpp @@ -175,6 +175,7 @@ Datum track_model_train_opt(PG_FUNCTION_ARGS) cJSON* jsonObj = cJSON_CreateObject(); cJSON_AddStringToObject(jsonObj, "modelName", modelName); conninfo->json_string = pstrdup(cJSON_Print(jsonObj)); + cJSON_Delete(jsonObj); if (!TryConnectRemoteServer(conninfo, &buf)) { pfree_ext(buf); ereport(ERROR, @@ -203,6 +204,10 @@ Datum track_model_train_opt(PG_FUNCTION_ARGS) } ereport(INFO, (errmodule(MOD_OPT_AI), errmsg("The training process of %s is recorded in the following file:", modelName))); + + pfree_ext(templateName); + pfree_ext(modelName); + PG_RETURN_TEXT_P(cstring_to_text(buf)); } diff --git a/src/gausskernel/optimizer/util/learn/plan_tree_model.cpp b/src/gausskernel/optimizer/util/learn/plan_tree_model.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/optimizer/util/nodegroups.cpp b/src/gausskernel/optimizer/util/nodegroups.cpp old mode 100755 new mode 100644 index 513545bc7..68f458872 --- a/src/gausskernel/optimizer/util/nodegroups.cpp +++ b/src/gausskernel/optimizer/util/nodegroups.cpp @@ -2809,3 +2809,16 @@ void ngroup_info_hash_delete(Oid ngroup_oid) pfree(bms_ptr); } +void ngroup_info_hash_destory(void) +{ + HASH_SEQ_STATUS hash_seq; + NGroupInfo* entry = NULL; + + hash_seq_init(&hash_seq, g_instance.ngroup_hash_table); + while ((entry = (NGroupInfo*)hash_seq_search(&hash_seq)) != NULL) { + ereport(LOG, (errmsg(" ngroup_info_hash_print ngroup_info_hash__delete_all entry->oid: %d ", entry->oid))); + ngroup_info_hash_delete(entry->oid); + } +} + + diff --git a/src/gausskernel/optimizer/util/optcommon.cpp b/src/gausskernel/optimizer/util/optcommon.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/optimizer/util/optimizerdebug.cpp b/src/gausskernel/optimizer/util/optimizerdebug.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/optimizer/util/orclauses.cpp b/src/gausskernel/optimizer/util/orclauses.cpp deleted file mode 100644 index 1b024b7f7..000000000 --- a/src/gausskernel/optimizer/util/orclauses.cpp +++ /dev/null @@ -1,332 +0,0 @@ -/*------------------------------------------------------------------------- - * - * orclauses.cpp - * Routines to extract restriction OR clauses from join OR clauses - * - * Portions Copyright (c) 1996-2013, PostgreSQL Global Development Group - * Portions Copyright (c) 1994, Regents of the University of California - * Portions Copyright (c) 2020 Huawei Technologies Co.,Ltd. - * - * - * IDENTIFICATION - * src/gausskernel/optimizer/util/orclauses.cpp - * - * ------------------------------------------------------------------------- - */ - -#include "postgres.h" - -#include "optimizer/clauses.h" -#include "optimizer/cost.h" -#include "optimizer/orclauses.h" -#include "optimizer/restrictinfo.h" - -static bool is_safe_restriction_clause_for(RestrictInfo* rinfo, RelOptInfo* rel); -static Expr* extract_or_clause(RestrictInfo* or_rinfo, RelOptInfo* rel); -static void consider_new_or_clause(PlannerInfo* root, RelOptInfo* rel, Expr* orclause, RestrictInfo* join_or_rinfo); - -/* - * extract_restriction_or_clauses - * Examine join OR-of-AND clauses to see if any useful restriction OR - * clauses can be extracted. If so, add them to the query. - * - * Although a join clause must reference multiple relations overall, - * an OR of ANDs clause might contain sub-clauses that reference just one - * relation and can be used to build a restriction clause for that rel. - * For example consider - * WHERE ((a.x = 42 AND b.y = 43) OR (a.x = 44 AND b.z = 45)); - * We can transform this into - * WHERE ((a.x = 42 AND b.y = 43) OR (a.x = 44 AND b.z = 45)) - * AND (a.x = 42 OR a.x = 44) - * AND (b.y = 43 OR b.z = 45); - * which allows the latter clauses to be applied during the scans of a and b, - * perhaps as index qualifications, and in any case reducing the number of - * rows arriving at the join. In essence this is a partial transformation to - * CNF (AND of ORs format). It is not complete, however, because we do not - * unravel the original OR --- doing so would usually bloat the qualification - * expression to little gain. - * - * The added quals are partially redundant with the original OR, and therefore - * would cause the size of the joinrel to be underestimated when it is finally - * formed. (This would be true of a full transformation to CNF as well; the - * fault is not really in the transformation, but in clauselist_selectivity's - * inability to recognize redundant conditions.) We can compensate for this - * redundancy by changing the cached selectivity of the original OR clause, - * cancelling out the (valid) reduction in the estimated sizes of the base - * relations so that the estimated joinrel size remains the same. This is - * a MAJOR HACK: it depends on the fact that clause selectivities are cached - * and on the fact that the same RestrictInfo node will appear in every - * joininfo list that might be used when the joinrel is formed. - * And it doesn't work in cases where the size estimation is nonlinear - * (i.e., outer and IN joins). But it beats not doing anything. - * - * We examine each base relation to see if join clauses associated with it - * contain extractable restriction conditions. If so, add those conditions - * to the rel's baserestrictinfo and update the cached selectivities of the - * join clauses. Note that the same join clause will be examined afresh - * from the point of view of each baserel that participates in it, so its - * cached selectivity may get updated multiple times. - */ -void extract_restriction_or_clauses(PlannerInfo* root) -{ - /* Examine each baserel for potential join OR clauses */ - for (int rti = 1; rti < root->simple_rel_array_size; rti++) { - RelOptInfo* rel = root->simple_rel_array[rti]; - ListCell* lc = NULL; - - /* there may be empty slots corresponding to non-baserel RTEs */ - if (rel == NULL) { - continue; - } - - Assert(rel->relid == (uint)rti); /* sanity check on array */ - - /* ignore RTEs that are "other rels" */ - if (rel->reloptkind != RELOPT_BASEREL) { - continue; - } - - /* - * Find potentially interesting OR joinclauses. We can use any - * joinclause that is considered safe to move to this rel by the - * parameterized-path machinery, even though what we are going to do - * with it is not exactly a parameterized path. - * - * However, it seems best to ignore clauses that have been marked - * redundant (by setting norm_selec > 1). That likely can't happen - * for OR clauses, but let's be safe. - */ - foreach (lc, rel->joininfo) { - RestrictInfo* rinfo = (RestrictInfo*)lfirst(lc); - - if (restriction_is_or_clause(rinfo) && join_clause_is_movable_to(rinfo, rel->relid) && - rinfo->norm_selec <= 1) { - /* Try to extract a qual for this rel only */ - Expr* orclause = extract_or_clause(rinfo, rel); - - /* - * If successful, decide whether we want to use the clause, - * and insert it into the rel's restrictinfo list if so. - */ - if (orclause) { - consider_new_or_clause(root, rel, orclause, rinfo); - } - } - } - } -} - -/* - * Is the given primitive (non-OR) RestrictInfo safe to move to the rel? - */ -static bool is_safe_restriction_clause_for(RestrictInfo* rinfo, RelOptInfo* rel) -{ - /* - * We want clauses that mention the rel, and only the rel. So in - * particular pseudoconstant clauses can be rejected quickly. Then check - * the clause's Var membership. - */ - if (rinfo->pseudoconstant) { - return false; - } - if (!bms_equal(rinfo->clause_relids, rel->relids)) { - return false; - } - - /* We don't want extra evaluations of any volatile functions */ - if (contain_volatile_functions((Node*)rinfo->clause)) { - return false; - } - - return true; -} - -/* - * Try to extract a restriction clause mentioning only "rel" from the given - * join OR-clause. - * - * We must be able to extract at least one qual for this rel from each of - * the arms of the OR, else we can't use it. - * - * Returns an OR clause (not a RestrictInfo!) pertaining to rel, or NULL - * if no OR clause could be extracted. - */ -static Expr* extract_or_clause(RestrictInfo* or_rinfo, RelOptInfo* rel) -{ - List* clauselist = NIL; - ListCell* lc = NULL; - - /* - * Scan each arm of the input OR clause. Notice we descend into - * or_rinfo->orclause, which has RestrictInfo nodes embedded below the - * toplevel OR/AND structure. This is useful because we can use the info - * in those nodes to make is_safe_restriction_clause_for()'s checks - * cheaper. We'll strip those nodes from the returned tree, though, - * meaning that fresh ones will be built if the clause is accepted as a - * restriction clause. This might seem wasteful --- couldn't we re-use - * the existing RestrictInfos? But that'd require assuming that - * selectivity and other cached data is computed exactly the same way for - * a restriction clause as for a join clause, which seems undesirable. - */ - Assert(or_clause((Node*)or_rinfo->orclause)); - foreach (lc, ((BoolExpr*)or_rinfo->orclause)->args) { - Node* orarg = (Node*)lfirst(lc); - List* subclauses = NIL; - Node* subclause = NULL; - - /* OR arguments should be ANDs or sub-RestrictInfos */ - if (and_clause(orarg)) { - List* andargs = ((BoolExpr*)orarg)->args; - ListCell* lc2 = NULL; - - foreach (lc2, andargs) { - RestrictInfo* rinfo = (RestrictInfo*)lfirst(lc2); - - Assert(IsA(rinfo, RestrictInfo)); - if (restriction_is_or_clause(rinfo)) { - /* - * Recurse to deal with nested OR. Note we *must* recurse - * here, this isn't just overly-tense optimization: we - * have to descend far enough to find and strip all - * RestrictInfos in the expression. - */ - Expr* suborclause = NULL; - - suborclause = extract_or_clause(rinfo, rel); - if (suborclause) { - subclauses = lappend(subclauses, suborclause); - } - } else if (is_safe_restriction_clause_for(rinfo, rel)) { - subclauses = lappend(subclauses, rinfo->clause); - } - } - } else { - Assert(IsA(orarg, RestrictInfo)); - Assert(!restriction_is_or_clause((RestrictInfo*)orarg)); - if (is_safe_restriction_clause_for((RestrictInfo*)orarg, rel)) { - subclauses = lappend(subclauses, ((RestrictInfo*)orarg)->clause); - } - } - - /* - * If nothing could be extracted from this arm, we can't do anything - * with this OR clause. - */ - if (subclauses == NIL) { - return NULL; - } - - /* - * OK, add subclause(s) to the result OR. If we found more than one, - * we need an AND node. But if we found only one, and it is itself an - * OR node, add its subclauses to the result instead; this is needed - * to preserve AND/OR flatness (ie, no OR directly underneath OR). - */ - clauselist = lappend(clauselist, make_ands_explicit(subclauses)); - subclause = (Node*)make_ands_explicit(subclauses); - if (or_clause(subclause)) { - clauselist = list_concat(clauselist, list_copy(((BoolExpr*)subclause)->args)); - } else { - clauselist = lappend(clauselist, subclause); - } - } - - /* - * If we got a restriction clause from every arm, wrap them up in an OR - * node. (In theory the OR node might be unnecessary, if there was only - * one arm --- but then the input OR node was also redundant.) - */ - if (clauselist != NIL) { - return make_orclause(clauselist); - } - return NULL; -} - -/* - * Consider whether a successfully-extracted restriction OR clause is - * actually worth using. If so, add it to the planner's data structures, - * and adjust the original join clause (join_or_rinfo) to compensate. - */ -static void consider_new_or_clause(PlannerInfo* root, RelOptInfo* rel, Expr* orclause, RestrictInfo* join_or_rinfo) -{ - RestrictInfo* or_rinfo = NULL; - Selectivity or_selec, orig_selec; - - /* - * Build a RestrictInfo from the new OR clause. We can assume it's valid - * as a base restriction clause. - */ - or_rinfo = make_restrictinfo(orclause, true, false, false, join_or_rinfo->security_level, NULL, NULL, NULL); - - /* - * Estimate its selectivity. (We could have done this earlier, but doing - * it on the RestrictInfo representation allows the result to get cached, - * saving work later.) - */ - or_selec = clause_selectivity(root, (Node*)or_rinfo, 0, JOIN_INNER, NULL); - - /* - * The clause is only worth adding to the query if it rejects a useful - * fraction of the base relation's rows; otherwise, it's just going to - * cause duplicate computation (since we will still have to check the - * original OR clause when the join is formed). Somewhat arbitrarily, we - * set the selectivity threshold at 0.9. - */ - if (or_selec > 0.9) { - return; /* forget it */ - } - /* - * OK, add it to the rel's restriction-clause list. - */ - rel->baserestrictinfo = lappend(rel->baserestrictinfo, or_rinfo); - - /* - * Adjust the original join OR clause's cached selectivity to compensate - * for the selectivity of the added (but redundant) lower-level qual. This - * should result in the join rel getting approximately the same rows - * estimate as it would have gotten without all these shenanigans. - * - * XXX major hack alert: this depends on the assumption that the - * selectivity will stay cached. - * - * XXX another major hack: we adjust only norm_selec, the cached - * selectivity for JOIN_INNER semantics, even though the join clause - * might've been an outer-join clause. This is partly because we can't - * easily identify the relevant SpecialJoinInfo here, and partly because - * the linearity assumption we're making would fail anyway. (If it is an - * outer-join clause, "rel" must be on the nullable side, else we'd not - * have gotten here. So the computation of the join size is going to be - * quite nonlinear with respect to the size of "rel", so it's not clear - * how we ought to adjust outer_selec even if we could compute its - * original value correctly.) - */ - if (or_selec > 0) { - SpecialJoinInfo sjinfo; - - /* - * Make up a SpecialJoinInfo for JOIN_INNER semantics. (Compare - * approx_tuple_count() in costsize.c.) - */ - sjinfo.type = T_SpecialJoinInfo; - sjinfo.min_lefthand = bms_difference(join_or_rinfo->clause_relids, rel->relids); - sjinfo.min_righthand = rel->relids; - sjinfo.syn_lefthand = sjinfo.min_lefthand; - sjinfo.syn_righthand = sjinfo.min_righthand; - sjinfo.jointype = JOIN_INNER; - /* we don't bother trying to make the remaining fields valid */ - sjinfo.lhs_strict = false; - sjinfo.delay_upper_joins = false; - sjinfo.join_quals = NIL; - - /* Compute inner-join size */ - orig_selec = clause_selectivity(root, (Node*)join_or_rinfo, 0, JOIN_INNER, &sjinfo); - - /* And hack cached selectivity so join size remains the same */ - join_or_rinfo->norm_selec = orig_selec / or_selec; - /* ensure result stays in sane range, in particular not "redundant" */ - if (join_or_rinfo->norm_selec > 1) { - join_or_rinfo->norm_selec = 1; - } - /* as explained above, we don't touch outer_selec */ - } -} diff --git a/src/gausskernel/optimizer/util/pathnode.cpp b/src/gausskernel/optimizer/util/pathnode.cpp old mode 100755 new mode 100644 index 61e94a82d..a9817a016 --- a/src/gausskernel/optimizer/util/pathnode.cpp +++ b/src/gausskernel/optimizer/util/pathnode.cpp @@ -2886,7 +2886,11 @@ Plan* create_paritial_push_plan(PlannerInfo* root, RelOptInfo* rel) simple_sort->nullsFirst = ((Sort *) rel->subplan)->nullsFirst; simple_sort->sortToStore = false; simple_sort->sortCollations = ((Sort *) rel->subplan)->collations; - ((RemoteQuery *)remote_query)->sort = simple_sort; + if (IsA(remote_query, RemoteQuery)) + ((RemoteQuery*)remote_query)->sort = simple_sort; + else if (IsA(remote_query, Stream)) { + ((Stream*)remote_query)->sort = simple_sort; + } } rel->subplan = remote_query; return rel->subplan; @@ -2961,7 +2965,6 @@ Path* create_subqueryscan_path(PlannerInfo* root, RelOptInfo* rel, List* pathkey pathnode->dop = 1; if (is_execute_on_datanodes(subplan)) { -#ifdef ENABLE_MULTIPLE_NODES if (is_replicated_plan(subplan)) { rel->distribute_keys = NULL; rel->locator_type = LOCATOR_TYPE_REPLICATED; @@ -3011,10 +3014,6 @@ Path* create_subqueryscan_path(PlannerInfo* root, RelOptInfo* rel, List* pathkey } rel->locator_type = get_locator_type(subplan); } -#else - rel->distribute_keys = subplan->distributed_keys; - rel->locator_type = get_locator_type(subplan); -#endif } else { rel->distribute_keys = NIL; rel->locator_type = LOCATOR_TYPE_REPLICATED; @@ -3489,9 +3488,13 @@ void debug3_print_two_relids(Relids first_relids, Relids second_relids, PlannerI initStringInfo(buf); if (root != NULL && root->parse != NULL) { - appendStringInfoString(buf, debug1_print_relids(first_relids, root->parse->rtable)); + char* relidStr = debug1_print_relids(first_relids, root->parse->rtable); + appendStringInfoString(buf, relidStr); + pfree_ext(relidStr); appendStringInfoString(buf, " || "); - appendStringInfoString(buf, debug1_print_relids(second_relids, root->parse->rtable)); + relidStr = debug1_print_relids(second_relids, root->parse->rtable); + appendStringInfoString(buf, relidStr); + pfree_ext(relidStr); } return; } diff --git a/src/gausskernel/optimizer/util/pgxcship.cpp b/src/gausskernel/optimizer/util/pgxcship.cpp index a44c1c072..e40f31e88 100644 --- a/src/gausskernel/optimizer/util/pgxcship.cpp +++ b/src/gausskernel/optimizer/util/pgxcship.cpp @@ -3561,6 +3561,17 @@ static inline bool trigger_need_compile(int trig_idx, Relation rel) */ static bool pgxc_is_trigger_shippable(int trig_idx, Relation rel) { + /* For ordinary triggers, if enable_trigger_shipping is off, directly return false. + * Notice: We should consider if trigger is internal or not, since internal trigger + * must run on DN. + */ + if (!u_sess->attr.attr_sql.enable_trigger_shipping) { + if (!REL_GET_ITH_TRIG(rel, trig_idx).tgisinternal) + return false; + else + return true; + } + bool res = true; /* We don't check the trigger when it's disabled. */ @@ -4085,13 +4096,18 @@ static void check_insert_subquery_shippability(Query* query, Query* subquery, Sh if (!has_consistent_execnodes(exec_nodes_rte, exec_nodes_qry, &dcnt_all)) { return; } - /* Only Support pure HASH/REPLICATION for now */ - if (exec_nodes_rte->baselocatortype != LOCATOR_TYPE_HASH) { + /* Support HASH/REPLICATION/LIST/RANGE for now */ + bool isDistBySlice = IsLocatorDistributedBySlice(exec_nodes_rte->baselocatortype); + if (exec_nodes_rte->baselocatortype != LOCATOR_TYPE_HASH && !isDistBySlice) { /* Handle REPLICATION statements, all target entries need to be parsable */ sc_context->sc_inselect = IsExecNodesReplicated(exec_nodes_rte) && \ is_insert_subquery_parsable(query->targetList); return; } + /* List/Range tables are shippable iff sliceinfo matches, keys and key order match, and NodeGroup matches. */ + if (isDistBySlice && !PgxcIsDistInfoSame(exec_nodes_rte, exec_nodes_qry)) { + return; + } /* If targets are not consistent throughout the query, drop it */ if (list_length(query->targetList) != list_length(subquery->targetList)) { return; diff --git a/src/gausskernel/optimizer/util/placeholder.cpp b/src/gausskernel/optimizer/util/placeholder.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/optimizer/util/plancat.cpp b/src/gausskernel/optimizer/util/plancat.cpp index 26243baee..a4696b86e 100644 --- a/src/gausskernel/optimizer/util/plancat.cpp +++ b/src/gausskernel/optimizer/util/plancat.cpp @@ -964,7 +964,7 @@ static List* get_relation_constraints(PlannerInfo* root, Oid relationObjectId, R */ cexpr = eval_const_expressions(root, cexpr); - cexpr = (Node*)canonicalize_qual((Expr*)cexpr); + cexpr = (Node*)canonicalize_qual((Expr*)cexpr, true); /* Fix Vars to have the desired varno */ if (varno != 1) diff --git a/src/gausskernel/optimizer/util/predtest.cpp b/src/gausskernel/optimizer/util/predtest.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/optimizer/util/pruning.cpp b/src/gausskernel/optimizer/util/pruning.cpp old mode 100755 new mode 100644 index 0ed506f84..3d929d49b --- a/src/gausskernel/optimizer/util/pruning.cpp +++ b/src/gausskernel/optimizer/util/pruning.cpp @@ -76,8 +76,6 @@ static PruningResult* partitionEqualPruningWalker(PartitionType partType, Expr* ((pruningResult)->boundary->partitionKeyNum > 1 && (topValue) && PointerIsValid((topValue)[0]) && \ !(pruningResult)->boundary->maxClose[0]) -#define IF_OPEN_PARTITION_PRUNING 0 - static PartitionMap* GetRelPartitionMap(Relation relation) { return relation->partMap; @@ -634,17 +632,18 @@ PruningResult* partitionPruningForExpr(PlannerInfo* root, RangeTblEntry* rte, Re else result = partitionPruningWalker(expr, context); if (result->exprPart != NULL || result->paramArg != NULL) { - if (!IF_OPEN_PARTITION_PRUNING) { - destroyPruningResult(result); - result = getFullPruningResult(rel); - return result; - } +#ifndef ENABLE_MULTIPLE_NODES + destroyPruningResult(result); + result = getFullPruningResult(rel); + return result; +#else Param* paramArg = (Param *)copyObject(result->paramArg); destroyPruningResult(result); result = getFullPruningResult(rel); result->expr = expr; result->paramArg = paramArg; return result; +#endif } /* Never happen, just to be self-contained */ if (!PointerIsValid(result)) { diff --git a/src/gausskernel/optimizer/util/randomplan.cpp b/src/gausskernel/optimizer/util/randomplan.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/optimizer/util/relnode.cpp b/src/gausskernel/optimizer/util/relnode.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/optimizer/util/restrictinfo.cpp b/src/gausskernel/optimizer/util/restrictinfo.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/optimizer/util/tlist.cpp b/src/gausskernel/optimizer/util/tlist.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/optimizer/util/var.cpp b/src/gausskernel/optimizer/util/var.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/process/datasource/datasource.cpp b/src/gausskernel/process/datasource/datasource.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/process/globalplancache/Makefile b/src/gausskernel/process/globalplancache/Makefile index 4d7a49409..5362334ac 100644 --- a/src/gausskernel/process/globalplancache/Makefile +++ b/src/gausskernel/process/globalplancache/Makefile @@ -29,6 +29,6 @@ ifneq "$(MAKECMDGOALS)" "clean" endif endif endif -OBJS= globalplancache.o globalpreparestmt.o globalplancache_view.o globalplancache_util.o globalplancache_inval.o +OBJS= globalplancache.o globalplancache_view.o globalplancache_util.o globalplancache_inval.o include $(top_srcdir)/src/gausskernel/common.mk diff --git a/src/gausskernel/process/globalplancache/globalplancache.cpp b/src/gausskernel/process/globalplancache/globalplancache.cpp index 0d0f5ca26..f2a22c503 100644 --- a/src/gausskernel/process/globalplancache/globalplancache.cpp +++ b/src/gausskernel/process/globalplancache/globalplancache.cpp @@ -37,11 +37,17 @@ #include "pgxc/pgxcnode.h" #include "utils/dynahash.h" #include "utils/globalplancache.h" -#include "utils/globalpreparestmt.h" #include "utils/memutils.h" #include "utils/plancache.h" #include "utils/syscache.h" #include "utils/plpgsql.h" +#include "nodes/pg_list.h" + +template void GlobalPlanCache::RemovePlanSource(CachedPlanSource* plansource, const char* stmt_name); + +template void GlobalPlanCache::RemovePlanSource(CachedPlanSource* plansource, const char* stmt_name); + +template void GlobalPlanCache::RemovePlanSource(CachedPlanSource* plansource, const char* stmt_name); static bool CompareSearchPath(struct OverrideSearchPath* path1, struct OverrideSearchPath* path2) @@ -130,6 +136,18 @@ int GPCKeyMatch(const void *left, const void *right, Size keysize) return 0; } +void GPCKeyDeepCopy(const GPCKey *srcGpckey, GPCKey *destGpckey) +{ + *destGpckey = *srcGpckey; + if (srcGpckey->query_string) + destGpckey->query_string = pstrdup(srcGpckey->query_string); + if (destGpckey->env.schema_name) { + destGpckey->env.search_path = (struct OverrideSearchPath *)palloc(sizeof(struct OverrideSearchPath)); + *destGpckey->env.search_path = *srcGpckey->env.search_path; + destGpckey->env.search_path->schemas = list_copy(srcGpckey->env.search_path->schemas); + } +} + /***************** global plan cache *****************/ @@ -156,7 +174,7 @@ void GlobalPlanCache::Init() int flags = HASH_ELEM | HASH_FUNCTION | HASH_CONTEXT | HASH_COMPARE | HASH_EXTERN_CONTEXT | HASH_NOEXCEPT; - m_array = (GPCHashCtl *) MemoryContextAllocZero(g_instance.cache_cxt.global_cache_mem, + m_array = (GPCHashCtl *) MemoryContextAllocZero(GLOBAL_PLANCACHE_MEMCONTEXT, sizeof(GPCHashCtl) * GPC_NUM_OF_BUCKETS); for (uint32 i = 0; i < GPC_NUM_OF_BUCKETS; i++) { @@ -169,7 +187,7 @@ void GlobalPlanCache::Init() * the shared GlobalPlanCacheContext because more threads would need to synchronize everytime it needs a chunk * of memory and that would become a bottleneck. */ - m_array[i].context = AllocSetContextCreate(g_instance.cache_cxt.global_cache_mem, + m_array[i].context = AllocSetContextCreate(GLOBAL_PLANCACHE_MEMCONTEXT, "GPC_Plan_Bucket_Context", ALLOCSET_DEFAULT_MINSIZE, ALLOCSET_DEFAULT_INITSIZE, @@ -226,11 +244,19 @@ bool GlobalPlanCache::TryStore(CachedPlanSource *plansource, PreparedStatement entry->key.query_length = key->query_length; /* Set the magic number. */ entry->val.plansource = plansource; + entry->val.used_count = 0; + INSTR_TIME_SET_CURRENT(entry->val.last_use_time); /* off the link */ plansource->next_saved = NULL; /* initialize the ref count .*/ +#ifdef ENABLE_MULTIPLE_NODES + /* dn only count reference on cur_stmt_psrc, no prepare statement. + cn count reference on prepare statement */ + if (IS_PGXC_COORDINATOR) + plansource->gpc.status.AddRefcount(); +#else plansource->gpc.status.AddRefcount(); - +#endif m_array[bucket_id].count++; Assert(plansource->context->is_shared); MemoryContextSeal(plansource->context); @@ -249,25 +275,32 @@ bool GlobalPlanCache::TryStore(CachedPlanSource *plansource, PreparedStatement } #endif plansource->gpc.status.SetLoc(GPC_SHARE_IN_SHARE_TABLE); + END_CRIT_SECTION(); } else { /* some guys win. */ - CachedPlanSource* newsource = entry->val.plansource; - ps->plansource = newsource; - newsource->gpc.status.AddRefcount(); - u_sess->pcache_cxt.gpc_in_try_store = true; + if (ps == NULL) { + Assert (IS_PGXC_DATANODE); + GPC_LOG("drop cache plan in try store", plansource, 0); + DropCachedPlan(plansource); + } else { + CachedPlanSource* newsource = entry->val.plansource; + ps->plansource = newsource; + newsource->gpc.status.AddRefcount(); + INSTR_TIME_SET_CURRENT(entry->val.last_use_time); + u_sess->pcache_cxt.gpc_in_try_store = true; - /* purge old one. */ - GPC_LOG("drop cache plan in try store", plansource, 0); + /* purge old one. */ + GPC_LOG("drop cache plan in try store", plansource, 0); #ifdef ENABLE_MULTIPLE_NODES - if (IS_PGXC_COORDINATOR) { - GPCDropLPIfNecessary(ps->stmt_name, false, false, newsource); - } + if (IS_PGXC_COORDINATOR) { + GPCDropLPIfNecessary(ps->stmt_name, false, false, newsource); + } #endif - DropCachedPlan(plansource); - u_sess->pcache_cxt.gpc_in_try_store = false; - + DropCachedPlan(plansource); + u_sess->pcache_cxt.gpc_in_try_store = false; + } } MemoryContextSwitchTo(oldcontext); @@ -289,9 +322,7 @@ CachedPlanSource* GlobalPlanCache::Fetch(const char *query_string, uint32 query_ key.spi_signature = *spi_sign_ptr; else key.spi_signature = {(uint32)-1, 0, (uint32)-1, -1}; -#ifdef ENABLE_MULTIPLE_NODES - GPCCheckGuc(); -#endif + uint32 hashCode = GPCHashFunc((const void *) &key, sizeof(key)); uint32 bucket_id = GetBucket(hashCode); @@ -312,12 +343,15 @@ CachedPlanSource* GlobalPlanCache::Fetch(const char *query_string, uint32 query_ MemoryContextSwitchTo(oldcontext); LWLockRelease(GetMainLWLockByIndex(lock_id)); return NULL; - } - else { + } else { entry->val.plansource->gpc.status.AddRefcount(); + if (ENABLE_DN_GPC) + u_sess->pcache_cxt.private_refcount++; + CachedPlanSource* psrc = entry->val.plansource; + pg_atomic_fetch_add_u32(&entry->val.used_count, 1); MemoryContextSwitchTo(oldcontext); LWLockRelease(GetMainLWLockByIndex(lock_id)); - return entry->val.plansource; + return psrc; } return NULL; @@ -326,10 +360,10 @@ CachedPlanSource* GlobalPlanCache::Fetch(const char *query_string, uint32 query_ void GlobalPlanCache::AddInvalidList(CachedPlanSource* plansource) { (void)LWLockAcquire(GPCClearLock, LW_EXCLUSIVE); - MemoryContext oldcontext = MemoryContextSwitchTo(g_instance.cache_cxt.global_cache_mem); + MemoryContext oldcontext = MemoryContextSwitchTo(GLOBAL_PLANCACHE_MEMCONTEXT); START_CRIT_SECTION(); - m_invalid_list = dlappend(m_invalid_list, plansource); plansource->gpc.status.SetLoc(GPC_SHARE_IN_SHARE_TABLE_INVALID_LIST); + m_invalid_list = dlappend(m_invalid_list, plansource); plansource->gpc.status.SetStatus(GPC_INVALID); END_CRIT_SECTION(); MemoryContextSwitchTo(oldcontext); @@ -343,11 +377,6 @@ void GlobalPlanCache::DropInvalid() DListCell *cell = m_invalid_list->head; while (cell != NULL) { CachedPlanSource *curr = (CachedPlanSource *)cell->data.ptr_value; - if (!curr->gpc.status.CheckRefCount()) - ereport(PANIC, - (errmsg("plancache refcount %d less than 0: %s.(%lu,%u,%u)", - curr->gpc.status.GetRefCount(), curr->stmt_name, u_sess->sess_ident.cn_sessid, - u_sess->sess_ident.cn_timeline, u_sess->sess_ident.cn_nodeid))); if (curr->gpc.status.RefCountZero()) { Assert(curr->next_saved == NULL); DListCell *next = cell->next; @@ -368,8 +397,11 @@ void GlobalPlanCache::DropInvalid() LWLockRelease(GPCClearLock); } -void GlobalPlanCache::RemovePlanSourceInRecreate(CachedPlanSource* plansource) +template +void GlobalPlanCache::RemovePlanSource(CachedPlanSource* plansource, const char* stmt_name) { + Assert(plansource->magic == CACHEDPLANSOURCE_MAGIC); + if(plansource->gpc.status.InShareTable()) { GPCKey* key = plansource->gpc.key; uint32 hashCode = GPCHashFunc((const void *) key, sizeof(*key)); @@ -379,80 +411,51 @@ void GlobalPlanCache::RemovePlanSourceInRecreate(CachedPlanSource* plansource) if (plansource->gpc.status.InShareTableInvalidList() == false) { bool found = false; hash_search(m_array[bucket_id].hash_tbl, (void *)key, HASH_REMOVE, &found); + if (unlikely(found == false)) + elog(PANIC, "should found plan in gpc when RemovePlanSource"); m_array[bucket_id].count--; AddInvalidList(plansource); } - plansource->gpc.status.SubRefCount(); + /* Has hold refcount for ACTION_RECREATE */ + if (action_type == ACTION_RECREATE) + plansource->gpc.status.SubRefCount(); DropInvalid(); LWLockRelease(GetMainLWLockByIndex(lock_id)); - } else { - GPC_LOG("remove private plansource", plansource, plansource->stmt_name); - DropCachedPlan(plansource); - } -} -void GlobalPlanCache::InvalidPlanSourceForReload(CachedPlanSource* plansource, const char* stmt_name) -{ - Assert(IS_PGXC_COORDINATOR); - if (plansource->gpc.status.InShareTable()) { - /* Close any active planned Datanode statements */ + if (ENABLE_DN_GPC) { + u_sess->pcache_cxt.private_refcount--; + if (u_sess->pcache_cxt.private_refcount != 0) + elog(PANIC, "wrong refcount in subrefcount"); + } + + if (action_type == ACTION_RELOAD) { + /* clear Datanode statements */ #ifdef ENABLE_MULTIPLE_NODES - if (plansource->gplan != NULL) { - GPCCleanDatanodeStatement(plansource->gplan->dn_stmt_num, stmt_name); - } else - GPCDropLPIfNecessary(stmt_name, true, true, NULL); + if (plansource->gplan != NULL) + GPCCleanDatanodeStatement(plansource->gplan->dn_stmt_num, stmt_name); + else + GPCDropLPIfNecessary(stmt_name, true, true, NULL); #endif - /* add into invalidlist */ - CN_GPC_LOG("invalid global plan for reload ", plansource, stmt_name); - GPCKey* key = plansource->gpc.key; - uint32 hashCode = GPCHashFunc((const void *) key, sizeof(*key)); - uint32 bucket_id = GetBucket(hashCode); - int lock_id = m_array[bucket_id].lockId; - (void)LWLockAcquire(GetMainLWLockByIndex(lock_id), LW_EXCLUSIVE); - if (plansource->gpc.status.InShareTableInvalidList() == false) { - bool found = false; - hash_search(m_array[bucket_id].hash_tbl, (void *)key, HASH_REMOVE, &found); - m_array[bucket_id].count--; - AddInvalidList(plansource); } - LWLockRelease(GetMainLWLockByIndex(lock_id)); + } else { - CN_GPC_LOG("invalid plan for reload ", plansource, stmt_name); - plansource->gpc.status.SetStatus(GPC_INVALID); - plansource->is_valid = false; - if (plansource->gplan == NULL) { - GPCDropLPIfNecessary(stmt_name, true, true, NULL); + if (action_type == ACTION_RECREATE) { + GPC_LOG("remove private plansource", plansource, plansource->stmt_name); + DropCachedPlan(plansource); } else { - plansource->gplan->is_valid = false; - Assert(!plansource->gplan->isShared()); + CN_GPC_LOG("invalid plan", plansource, stmt_name); + plansource->gpc.status.SetStatus(GPC_INVALID); + plansource->is_valid = false; + if (plansource->gplan) { + plansource->gplan->is_valid = false; + Assert(!plansource->gplan->isShared()); + } + if (action_type == ACTION_RELOAD) { + DropCachedPlanInternal(plansource); + if (plansource->gplan == NULL) + GPCDropLPIfNecessary(stmt_name, true, true, NULL); + } } - DropCachedPlanInternal(plansource); - } -} - -void GlobalPlanCache::InvalidPlanSourceForCNretry(CachedPlanSource* plansource) -{ - if (plansource->gpc.status.InShareTable()) { - GPCKey* key = plansource->gpc.key; - uint32 hashCode = GPCHashFunc((const void *) key, sizeof(*key)); - uint32 bucket_id = GetBucket(hashCode); - int lock_id = m_array[bucket_id].lockId; - CN_GPC_LOG("invalid global plan for cnretry ", plansource, 0); - (void)LWLockAcquire(GetMainLWLockByIndex(lock_id), LW_EXCLUSIVE); - if (plansource->gpc.status.InShareTableInvalidList() == false) { - bool found = false; - hash_search(m_array[bucket_id].hash_tbl, (void *)key, HASH_REMOVE, &found); - m_array[bucket_id].count--; - AddInvalidList(plansource); - } - DropInvalid(); - LWLockRelease(GetMainLWLockByIndex(lock_id)); - } else { - CN_GPC_LOG("invalid plan for cnretry ", plansource, 0); - plansource->gpc.status.SetStatus(GPC_INVALID); - plansource->is_valid = false; - if (plansource->gplan) - plansource->gplan->is_valid = false; } } @@ -469,7 +472,7 @@ void GlobalPlanCache::RemoveEntry(uint32 htblIdx, GPCEntry *entry) } -bool GlobalPlanCache::CheckRecreateCachePlan(PreparedStatement *entry) +bool GlobalPlanCache::CheckRecreateCachePlan(CachedPlanSource* psrc) { /* * Start up a transaction command so we can run parse analysis etc. (Note @@ -477,17 +480,14 @@ bool GlobalPlanCache::CheckRecreateCachePlan(PreparedStatement *entry) * if we are already in one. */ start_xact_command(); - Assert(entry->plansource->magic == CACHEDPLANSOURCE_MAGIC); + Assert(psrc->magic == CACHEDPLANSOURCE_MAGIC); - if (entry->plansource->gpc.status.InSavePlanList(GPC_SHARED)) { - return false; - } #ifdef ENABLE_MULTIPLE_NODES - if (IS_PGXC_COORDINATOR && !entry->plansource->gpc.status.InShareTable()) { + if (IS_PGXC_COORDINATOR && !psrc->gpc.status.InShareTable()) { return false; } #else - if (!entry->plansource->gpc.status.InShareTable()) { + if (!psrc->gpc.status.InShareTable()) { return false; } #endif @@ -495,17 +495,17 @@ bool GlobalPlanCache::CheckRecreateCachePlan(PreparedStatement *entry) if (u_sess->pcache_cxt.gpc_in_ddl == true) { return true; } - if (!entry->plansource->gpc.status.IsValid()) { + if (!psrc->gpc.status.IsValid()) { return true; } - if (entry->plansource->dependsOnRole && (entry->plansource->rewriteRoleId != GetUserId())) { + if (psrc->dependsOnRole && (psrc->rewriteRoleId != GetUserId())) { return true; } - if ((entry->plansource->gplan != NULL && TransactionIdIsValid(entry->plansource->gplan->saved_xmin))) { + if ((psrc->gplan != NULL && TransactionIdIsValid(psrc->gplan->saved_xmin))) { return true; } - if (entry->plansource->search_path && !OverrideSearchPathMatchesCurrent(entry->plansource->search_path)) { + if (psrc->search_path && !OverrideSearchPathMatchesCurrent(psrc->search_path)) { return true; } @@ -514,34 +514,14 @@ bool GlobalPlanCache::CheckRecreateCachePlan(PreparedStatement *entry) bool GlobalPlanCache::CheckRecreateSPICachePlan(SPIPlanPtr spi_plan) { - start_xact_command(); ListCell* cell = NULL; Assert(spi_plan->magic == _SPI_PLAN_MAGIC); foreach(cell, spi_plan->plancache_list) { CachedPlanSource* plansource = (CachedPlanSource*)lfirst(cell); - if (!plansource->gpc.status.InShareTable()) { - continue; - } - if (u_sess->pcache_cxt.gpc_in_ddl == true) { - return true; - } - if (!plansource->gpc.status.IsValid()) { - return true; - } - if (plansource->dependsOnRole && (plansource->rewriteRoleId != GetUserId())) { - return true; - } - if ((plansource->gplan != NULL && - TransactionIdIsValid(plansource->gplan->saved_xmin) && - !TransactionIdEquals(plansource->gplan->saved_xmin, u_sess->utils_cxt.TransactionXmin))) { - return true; - } - - if (plansource->search_path && !OverrideSearchPathMatchesCurrent(plansource->search_path)) { + if (CheckRecreateCachePlan(plansource)) { return true; } } - return false; } @@ -560,71 +540,70 @@ void GlobalPlanCache::RecreateSPICachePlan(SPIPlanPtr spiplan) if (!oldsource->gpc.status.InShareTable()) continue; GPC_LOG("recreate spi cachedplan", oldsource, 0); - CachedPlanSource *newsource = CopyCachedPlan(oldsource, true); - spi_err_context.arg = (void *)newsource->query_string; - Assert (u_sess->SPI_cxt._current->spi_hash_key == oldsource->spi_signature.spi_key); - MemoryContext oldcxt = MemoryContextSwitchTo(newsource->context); - newsource->stream_enabled = u_sess->attr.attr_sql.enable_stream_operator; - Assert (oldsource->gpc.status.IsSharePlan()); - newsource->gpc.status.ShareInit(); - newsource->spi_signature = oldsource->spi_signature; - newsource->parserSetup = spiplan->parserSetup; - newsource->parserSetupArg = spiplan->parserSetupArg; - // If the planSource is set to invalid, the AST must be analyzed again - // because the meta has changed. - newsource->is_valid = false; - (void)RevalidateCachedQuery(newsource); - newsource->next_saved = u_sess->pcache_cxt.first_saved_plan; - u_sess->pcache_cxt.first_saved_plan = newsource; - newsource->is_saved = true; - newsource->gpc.status.SetLoc(GPC_SHARE_IN_LOCAL_SAVE_PLAN_LIST); - cell->data.ptr_value = (void*)newsource; - MemoryContextSwitchTo(oldcxt); - RemovePlanSourceInRecreate(oldsource); + RecreateCachePlan(oldsource, NULL, NULL, spiplan, cell); } /* pop error context stack */ t_thrd.log_cxt.error_context_stack = spi_err_context.previous; Assert(SPIPlanCacheTableLookup(u_sess->SPI_cxt._current->spi_hash_key)); } -void GlobalPlanCache::RecreateCachePlan(PreparedStatement *entry, const char* stmt_name) +void GlobalPlanCache::RecreateCachePlan(CachedPlanSource* oldsource, const char* stmt_name, + PreparedStatement *entry, SPIPlanPtr spiplan, ListCell* spiplanCell) { - CachedPlanSource *oldsource = entry->plansource; - GPC_LOG("recreate plan", oldsource, stmt_name); - CachedPlanSource *newsource = CopyCachedPlan(entry->plansource, true); + GPC_LOG("recreate plan", oldsource, oldsource->stmt_name); + CachedPlanSource *newsource = CopyCachedPlan(oldsource, true); MemoryContext oldcxt = MemoryContextSwitchTo(newsource->context); - newsource->stream_enabled = u_sess->attr.attr_sql.enable_stream_operator; - newsource->stmt_name = pstrdup(stmt_name); + newsource->stream_enabled = IsStreamSupport(); + u_sess->exec_cxt.CurrentOpFusionObj = NULL; + Assert (oldsource->gpc.status.IsSharePlan()); + newsource->gpc.status.ShareInit(); // If the planSource is set to invalid, the AST must be analyzed again // because the meta has changed. newsource->is_valid = false; - Assert (oldsource->gpc.status.IsSharePlan()); - newsource->gpc.status.ShareInit(); -#ifdef ENABLE_MULTIPLE_NODES - bool had_lp = (IS_PGXC_COORDINATOR && oldsource->single_exec_node != NULL && - oldsource->gplan == NULL && oldsource->cplan == NULL); - (void)RevalidateCachedQuery(newsource, had_lp); - /* clean session's datanode statment on cn */ - if (had_lp) { - /* no lp in newsource, delete old lp */ - GPCDropLPIfNecessary(entry->stmt_name, false, true, NULL); + bool has_lp = false; + + if (spiplan != NULL) { + t_thrd.log_cxt.error_context_stack->arg = (void *)newsource->query_string; + newsource->spi_signature = oldsource->spi_signature; + newsource->parserSetup = spiplan->parserSetup; + newsource->parserSetupArg = spiplan->parserSetupArg; + } else if (IS_PGXC_DATANODE) { + newsource->stmt_name = pstrdup(stmt_name); } else { - if (IS_PGXC_COORDINATOR && oldsource->gplan != NULL) { + newsource->stmt_name = pstrdup(stmt_name); +#ifdef ENABLE_MULTIPLE_NODES + has_lp = (oldsource->single_exec_node != NULL && oldsource->gplan == NULL && oldsource->cplan == NULL); + /* clean session's datanode statment on cn */ + if (has_lp) { + /* no lp in newsource, delete old lp */ + GPCDropLPIfNecessary(stmt_name, false, true, NULL); + } else if (oldsource->gplan != NULL) { /* Close any active planned Datanode statements, recreate in BuildCachedPlan later */ GPCCleanDatanodeStatement(oldsource->gplan->dn_stmt_num, stmt_name); } - } -#else - (void)RevalidateCachedQuery(newsource); #endif + } + (void)RevalidateCachedQuery(newsource, has_lp); + newsource->next_saved = u_sess->pcache_cxt.first_saved_plan; u_sess->pcache_cxt.first_saved_plan = newsource; newsource->is_saved = true; newsource->gpc.status.SetLoc(GPC_SHARE_IN_LOCAL_SAVE_PLAN_LIST); - u_sess->exec_cxt.CurrentOpFusionObj = NULL; - entry->plansource = newsource; + if (spiplan != NULL) + spiplanCell->data.ptr_value = newsource; + else { +#ifdef ENABLE_MULTIPLE_NODES + if (IS_PGXC_DATANODE) + u_sess->pcache_cxt.cur_stmt_psrc = newsource; + else + entry->plansource = newsource; +#else + entry->plansource = newsource; +#endif + } + MemoryContextSwitchTo(oldcxt); - RemovePlanSourceInRecreate(oldsource); + RemovePlanSource(oldsource, stmt_name); } void GlobalPlanCache::Commit() @@ -653,41 +632,34 @@ void GlobalPlanCache::DNCommit() CachedPlanSource *next_plansource = NULL; CachedPlanSource *plansource = u_sess->pcache_cxt.first_saved_plan; u_sess->pcache_cxt.first_saved_plan = NULL; + CleanSessGPCPtr(u_sess); + if (u_sess->pcache_cxt.private_refcount != 0) { + elog(PANIC, "wrong refcount"); + } while (plansource != NULL) { Assert(plansource->magic == CACHEDPLANSOURCE_MAGIC); Assert(!plansource->gpc.status.InShareTable()); if (unlikely(plansource->magic != CACHEDPLANSOURCE_MAGIC)) { ereport(PANIC, (errcode(ERRCODE_UNDEFINED_PSTATEMENT), - errmsg("In gpc commit stage, plansource has already been freed(%lu,%u,%u)", - u_sess->sess_ident.cn_sessid, u_sess->sess_ident.cn_timeline, u_sess->sess_ident.cn_nodeid))); + errmsg("In gpc commit stage, plansource has already been freed"))); } next_plansource = plansource->next_saved; - - if (!plansource->is_valid || plansource->gpc.status.IsPrivatePlan() || - plansource->gplan == NULL || !plansource->is_support_gplan) { + if (plansource->gpc.status.IsPrivatePlan()) { + /* private plan has reference on pointer like unname_stmt_psrc or spiplan */ GPC_LOG("invalid plan in commit", plansource, plansource->stmt_name); plansource->is_valid = false; plansource->next_saved = NULL; plansource->gpc.status.SetLoc(GPC_SHARE_IN_PREPARE_STATEMENT); plansource->gpc.status.SetStatus(GPC_INVALID); + } else if (!plansource->is_valid || plansource->gplan == NULL || !plansource->is_support_gplan) { + GPC_LOG("drop plan in commit", plansource, plansource->stmt_name); + /* no prepare statement on dn, so we just drop shared plansource if can't save it in gpc, in case leak */ + DropCachedPlan(plansource); } else { - PreparedStatement* ps = g_instance.prepare_cache->Fetch(plansource->stmt_name, true); - - if (unlikely(ps == NULL)) { -#ifdef MEMORY_CONTEXT_CHECKING - ereport(PANIC, -#else - ereport(ERROR, -#endif - (errcode(ERRCODE_UNDEFINED_PSTATEMENT), - errmsg("In gpc commit stage, fail to fetch prepare statement: %s.(%lu,%u,%u)", plansource->stmt_name, - u_sess->sess_ident.cn_sessid, u_sess->sess_ident.cn_timeline, u_sess->sess_ident.cn_nodeid))); - } - TryStore(plansource, ps); + TryStore(plansource, NULL); } - plansource = next_plansource; } } @@ -703,8 +675,7 @@ void GlobalPlanCache::CNCommit() if (unlikely(plansource->magic != CACHEDPLANSOURCE_MAGIC)) { ereport(PANIC, (errcode(ERRCODE_UNDEFINED_PSTATEMENT), - errmsg("In gpc commit stage, plansource has already been freed(%lu,%u,%u)", - u_sess->sess_ident.cn_sessid, u_sess->sess_ident.cn_timeline, u_sess->sess_ident.cn_nodeid))); + errmsg("In gpc commit stage, plansource has already been freed"))); } next_plansource = plansource->next_saved; @@ -755,8 +726,7 @@ void GlobalPlanCache::CNCommit() ereport(ERROR, #endif (errcode(ERRCODE_UNDEFINED_PSTATEMENT), - errmsg("In gpc commit stage, fail to fetch prepare statement: %s.(%lu,%u,%u)", plansource->stmt_name, - u_sess->sess_ident.cn_sessid, u_sess->sess_ident.cn_timeline, u_sess->sess_ident.cn_nodeid))); + errmsg("In gpc commit stage, fail to fetch prepare statement:%s", plansource->stmt_name))); } TryStore(plansource, ps); } @@ -805,6 +775,7 @@ void GlobalPlanCache::SPITryStore(CachedPlanSource* plansource, SPIPlanPtr spipl entry->val.plansource = plansource; //off the link plansource->next_saved = NULL; + INSTR_TIME_SET_CURRENT(entry->val.last_use_time); //initialize the ref count . plansource->gpc.status.AddRefcount(); @@ -918,3 +889,127 @@ void GlobalPlanCache::RemovePlanCacheInSPIPlan(SPIPlanPtr plan) SPIPlanCacheTableDeletePlan(plan->spi_key, plan); } +void GlobalPlanCache::CleanUpByTime() +{ + List *gpckey_list = NULL; + const int maxlen_gpckey_list = 100; + instr_time curTime; + INSTR_TIME_SET_CURRENT(curTime); + for (uint32 bucket_id = 0; bucket_id < GPC_NUM_OF_BUCKETS; bucket_id++) + { + int lock_id = m_array[bucket_id].lockId; + + /* Step 1: Try to find the code plan cache */ + LWLockAcquire(GetMainLWLockByIndex(lock_id), LW_SHARED); + if (m_array[bucket_id].count == 0) { + LWLockRelease(GetMainLWLockByIndex(lock_id)); + continue; + } + HASH_SEQ_STATUS hash_seq; + GPCEntry *entry = NULL; + CachedPlanSource* cur_plansource = NULL; + + hash_seq_init(&hash_seq, m_array[bucket_id].hash_tbl); + while ((entry = (GPCEntry*)hash_seq_search(&hash_seq)) != NULL) { + if (entry->val.used_count > 0) { + entry->val.last_use_time = curTime; + entry->val.used_count = 0; + continue; + } + cur_plansource = entry->val.plansource; + if (cur_plansource->gpc.status.RefCountZero() && + INSTR_TIME_GET_DOUBLE(curTime) - INSTR_TIME_GET_DOUBLE(entry->val.last_use_time) > GPC_CLEAN_WAIT_TIME) { + GPCKey *dest_gpckey = (GPCKey *)palloc(sizeof(GPCKey)); + GPCKeyDeepCopy(&entry->key, dest_gpckey); + gpckey_list = lappend(gpckey_list, dest_gpckey); + + /* should not be long */ + if (gpckey_list->length >= maxlen_gpckey_list) + break; + } + } + LWLockRelease(GetMainLWLockByIndex(lock_id)); + + /* Step 2: Try to remove plan cache */ + if (gpckey_list && list_length(gpckey_list) > 0) { + LWLockAcquire(GetMainLWLockByIndex(lock_id), LW_EXCLUSIVE); + ListCell* l = NULL; + foreach(l, gpckey_list) { + bool found = false; + GPCKey *key = (GPCKey *)lfirst(l); + GPCEntry *entry = NULL; + entry = (GPCEntry *)hash_search(m_array[bucket_id].hash_tbl, (void *)key, HASH_FIND, &found); + if (entry) { + cur_plansource = entry->val.plansource; + if (cur_plansource->gpc.status.RefCountZero() && + INSTR_TIME_GET_DOUBLE(curTime) - INSTR_TIME_GET_DOUBLE(entry->val.last_use_time) > GPC_CLEAN_WAIT_TIME) { + GPC_LOG("drop shared plancache by time", cur_plansource, cur_plansource->stmt_name); + DropCachedPlanInternal(cur_plansource); + hash_search(m_array[bucket_id].hash_tbl, (void *) key, HASH_REMOVE, &found); + cur_plansource->magic = 0; + MemoryContextUnSeal(cur_plansource->context); + MemoryContextUnSeal(cur_plansource->query_context); + MemoryContextDelete(cur_plansource->context); + m_array[bucket_id].count--; + } + } + pfree((void *)key->query_string); + pfree_ext(key->env.search_path->schemas); + pfree_ext(key->env.search_path); + pfree_ext(key); + } + LWLockRelease(GetMainLWLockByIndex(lock_id)); + + list_free_ext(gpckey_list); + } + } +} + +void CleanSessGPCPtr(knl_session_context* currentSession) +{ + CachedPlanSource *psrc = currentSession->pcache_cxt.cur_stmt_psrc; + currentSession->pcache_cxt.cur_stmt_psrc = NULL; + if (psrc && psrc->magic != CACHEDPLANSOURCE_MAGIC) + elog(PANIC, "cur psrc wrong"); + if (psrc && psrc->gpc.status.InShareTable()) { + psrc->gpc.status.SubRefCount(); + currentSession->pcache_cxt.private_refcount--; + } + if (unlikely(currentSession->pcache_cxt.private_refcount != 0)) + elog(PANIC, "wrong refcount"); +} + +void CleanSessionGPCDetach(knl_session_context* currentSession) +{ + if (IS_PGXC_COORDINATOR) + return; + if (currentSession->pcache_cxt.cur_stmt_psrc != NULL) { + elog(PANIC, "session's cur_stmt_psrc should be null when detach"); + } + + CachedPlanSource* plansource = currentSession->pcache_cxt.first_saved_plan; + while (plansource != NULL) { + /* + * When turing on the enable_global_plancache, there are some cases that + * we cannot insert the plancache in the shared HTAB. No Prepare Statement + * on DN, so we can just drop shared plan and wait for next parse message + * to create it again. + */ + CachedPlanSource* next_plansource = plansource->next_saved; + if (plansource->gpc.status.IsPrivatePlan()) { + /* private plan has reference on pointer like unname_stmt_psrc or spiplan */ + GPC_LOG("invalid plan in sess detach", plansource, plansource->stmt_name); + plansource->is_valid = false; + plansource->next_saved = NULL; + plansource->gpc.status.SetLoc(GPC_SHARE_IN_PREPARE_STATEMENT); + plansource->gpc.status.SetStatus(GPC_INVALID); + } else { + DropCachedPlan(plansource); + } + plansource = next_plansource; + } + + currentSession->pcache_cxt.first_saved_plan = NULL; + currentSession->pcache_cxt.gpc_in_ddl = false; +} + diff --git a/src/gausskernel/process/globalplancache/globalplancache_util.cpp b/src/gausskernel/process/globalplancache/globalplancache_util.cpp index e6417752a..e92d49ddd 100644 --- a/src/gausskernel/process/globalplancache/globalplancache_util.cpp +++ b/src/gausskernel/process/globalplancache/globalplancache_util.cpp @@ -38,7 +38,6 @@ #include "utils/memutils.h" #include "utils/plancache.h" #include "utils/syscache.h" -#include "utils/globalpreparestmt.h" void GlobalPlanCache::FillClassicEnvSignatures(GPCEnv *env) { @@ -226,11 +225,14 @@ GlobalPlanCache::GetSchemaName(GPCEnv *env) void GPCResetAll() { pthread_mutex_lock(&g_instance.gpc_reset_lock); - MemoryContextUnSealChildren(g_instance.cache_cxt.global_cache_mem); - MemoryContextReset(g_instance.cache_cxt.global_cache_mem); + + for (int i = 0; i < MAX_GLOBAL_CACHEMEM_NUM; ++i) { + MemoryContextUnSealChildren(g_instance.cache_cxt.global_plancache_mem[i]); + MemoryContextReset(g_instance.cache_cxt.global_plancache_mem[i]); + } g_instance.plan_cache->Init(); - g_instance.prepare_cache->Init(); pthread_mutex_unlock(&g_instance.gpc_reset_lock); + GPC_LOG("gpc reset all", 0, 0); } void GPCCleanDatanodeStatement(int dn_stmt_num, const char* stmt_name) @@ -300,17 +302,18 @@ void CNGPCCleanUpSession() } /* incase change shared plan in execute stage, copy stmt into sess */ -List* CopyLocalStmt(const List* stmt_list) +List* CopyLocalStmt(const List* stmt_list, const MemoryContext parent_cxt, MemoryContext* plan_context) { - MemoryContext plan_context = AllocSetContextCreate(u_sess->temp_mem_cxt, - "CopyedStmt", - ALLOCSET_SMALL_MINSIZE, - ALLOCSET_SMALL_INITSIZE, - ALLOCSET_DEFAULT_MAXSIZE); + *plan_context = AllocSetContextCreate(parent_cxt, + "CopyedStmt", + ALLOCSET_DEFAULT_MINSIZE, + 16 * 1024, + ALLOCSET_DEFAULT_MAXSIZE, + STACK_CONTEXT); /* * Copy plan into the new context. */ - MemoryContext oldcxt = MemoryContextSwitchTo(plan_context); + MemoryContext oldcxt = MemoryContextSwitchTo(*plan_context); List* stmts = (List*)copyObject(stmt_list); (void)MemoryContextSwitchTo(oldcxt); return stmts; @@ -691,3 +694,27 @@ void set_func_expr_unique_id(PLpgSQL_function* func) } } +bool SPIParseEnableGPC(const Node *node) +{ + if (node == NULL) + return false; + switch (nodeTag(node)) { + case T_SelectStmt: + if (((SelectStmt*)node)->intoClause) + return false; + /* fall through */ + case T_MergeStmt: + case T_UpdateStmt: + case T_DeleteStmt: + case T_InsertStmt: + return true; + /* like needRecompilePlan */ + case T_CreateTableAsStmt: + case T_TransactionStmt: + default: + return false; + } + /* keep compiler quite */ + return false; +} + diff --git a/src/gausskernel/process/globalplancache/globalplancache_view.cpp b/src/gausskernel/process/globalplancache/globalplancache_view.cpp index 3e5d04e3c..8c2c3e237 100644 --- a/src/gausskernel/process/globalplancache/globalplancache_view.cpp +++ b/src/gausskernel/process/globalplancache/globalplancache_view.cpp @@ -32,7 +32,9 @@ #include "optimizer/nodegroups.h" #include "pgxc/groupmgr.h" #include "pgxc/pgxcnode.h" +#include "nodes/print.h" #include "utils/dynahash.h" +#include "utils/lsyscache.h" #include "utils/globalplancache.h" #include "utils/memutils.h" #include "utils/plancache.h" @@ -88,14 +90,48 @@ GlobalPlanCache::GetStatus(uint32 *num) stat_array[index].query = (char *)palloc0(sizeof(char) * len); rc = memcpy_s(stat_array[index].query, len, ps->query_string, len); securec_check(rc, "\0", "\0"); + char* maskQuery = maskPassword(stat_array[index].query); + stat_array[index].query = (maskQuery != NULL) ? maskQuery : stat_array[index].query; stat_array[index].refcount = ps->gpc.status.GetRefCount(); stat_array[index].valid = ps->gpc.status.IsValid(); stat_array[index].DatabaseID = entry->key.env.plainenv.database_id; - stat_array[index].schema_name = (char *)palloc0(sizeof(char) * NAMEDATALEN); - rc = memcpy_s(stat_array[index].schema_name, NAMEDATALEN, entry->key.env.schema_name, NAMEDATALEN); - securec_check(rc, "\0", "\0"); + StringInfoData all_schema_name; + ListCell *cell = NULL; + bool has_schema = false; + foreach(cell, entry->key.env.search_path->schemas) { + char* nspname = get_namespace_name(lfirst_oid(cell)); + if (nspname != NULL) { + if (has_schema) + appendStringInfo(&all_schema_name, ", "); + else + initStringInfo(&all_schema_name); + appendStringInfo(&all_schema_name, "%s", nspname); + has_schema = true; + } + pfree_ext(nspname); + } + if (!has_schema) { + stat_array[index].schema_name = (char *)palloc0(sizeof(char) * NAMEDATALEN); + rc = memcpy_s(stat_array[index].schema_name, NAMEDATALEN, entry->key.env.schema_name, NAMEDATALEN); + securec_check(rc, "\0", "\0"); + } else { + stat_array[index].schema_name = all_schema_name.data; + } stat_array[index].params_num = ps->num_params; stat_array[index].func_id = entry->key.spi_signature.func_oid; + bool printPlan = u_sess->attr.attr_sql.Debug_print_plan && entry->val.plansource->gplan && + u_sess->proc_cxt.MyDatabaseId == entry->key.env.plainenv.database_id; + if (printPlan) { + elog(LOG, "gpc query string: %s", stat_array[index].query); + ListCell* lc = NULL; + foreach (lc, entry->val.plansource->gplan->stmt_list) { + Node* st = NULL; + st = (Node*)lfirst(lc); + if (IsA(st, PlannedStmt)) { + elog_node_display(LOG, "gpc gplan", st, u_sess->attr.attr_sql.Debug_pretty_print); + } + } + } index++; } } @@ -107,10 +143,10 @@ GlobalPlanCache::GetStatus(uint32 *num) CachedPlanSource *curr = (CachedPlanSource *)cell->data.ptr_value; int len = strlen(curr->query_string) + 1; stat_array[index].query = (char *)palloc0(sizeof(char) * len); - rc = memcpy_s(stat_array[index].query, len, curr->query_string, len); securec_check(rc, "\0", "\0"); - + char* maskQuery = maskPassword(stat_array[index].query); + stat_array[index].query = (maskQuery != NULL) ? maskQuery : stat_array[index].query; stat_array[index].refcount = curr->gpc.status.GetRefCount(); stat_array[index].valid = curr->gpc.status.IsValid(); stat_array[index].DatabaseID = 0; diff --git a/src/gausskernel/process/globalplancache/globalpreparestmt.cpp b/src/gausskernel/process/globalplancache/globalpreparestmt.cpp deleted file mode 100644 index f01f2a7be..000000000 --- a/src/gausskernel/process/globalplancache/globalpreparestmt.cpp +++ /dev/null @@ -1,620 +0,0 @@ -/* - * Copyright (c) 2020 Huawei Technologies Co.,Ltd. - * - * openGauss is licensed under Mulan PSL v2. - * You can use this software according to the terms and conditions of the Mulan PSL v2. - * You may obtain a copy of Mulan PSL v2 at: - * - * http://license.coscl.org.cn/MulanPSL2 - * - * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, - * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, - * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. - * See the Mulan PSL v2 for more details. - *--------------------------------------------------------------------------------------- - * - * globalpreparestmt.cpp - * - * global prepare statement - * - * IDENTIFICATION - * /src/common/backend/utils/cache/globalpreparestmt.cpp - * - *--------------------------------------------------------------------------------------- - */ - -#include "postgres.h" -#include "knl/knl_variable.h" - -#include "access/hash.h" -#include "access/xact.h" -#include "catalog/pgxc_node.h" -#include "commands/prepare.h" -#include "optimizer/nodegroups.h" -#include "pgxc/groupmgr.h" -#include "pgxc/pgxcnode.h" -#include "utils/dynahash.h" -#include "utils/globalplancache.h" -#include "utils/globalpreparestmt.h" -#include "utils/memutils.h" -#include "utils/plancache.h" -#include "utils/syscache.h" -#include "utils/plancache.h" - - -uint32 GPCPrepareHashFunc(const void *key, Size keysize) -{ - return DatumGetUInt32(hash_any((const unsigned char *)key, keysize)); -} - -int GPCPrepareHashMatch(const void *left, const void *right, Size keysize) -{ - if (((sess_orient *)left)->cn_sessid != ((sess_orient *)right)->cn_sessid) { - return 1; - } else if (((sess_orient *)left)->cn_timeline != ((sess_orient *)right)->cn_timeline){ - return 1; - } else if (((sess_orient *)left)->cn_nodeid != ((sess_orient *)right)->cn_nodeid){ - return 1; - } - - return 0; -} - - -GlobalPrepareStmt::GlobalPrepareStmt() -{ - Init(); -} - -DListCell* GPCFetchStmtInList(DList* target, const char* stmt) { - Assert(target != NULL); - DListCell* iter = target->head; - for (; iter != NULL; iter = iter->next) { - PreparedStatement *prepare_statement = (PreparedStatement *)(iter->data.ptr_value); - if (strcmp(stmt, prepare_statement->stmt_name) == 0) - return iter; - } - return NULL; -} - -/* init the HTAB which stores the prepare statements refer to global plancache */ -void GlobalPrepareStmt::Init() -{ - HASHCTL hash_ctl; - errno_t rc = 0; - - rc = memset_s(&hash_ctl, sizeof(hash_ctl), 0, sizeof(hash_ctl)); - securec_check(rc, "\0", "\0"); - - hash_ctl.keysize = sizeof(sess_orient); - hash_ctl.entrysize = sizeof(GPCPreparedStatement); - hash_ctl.hash = (HashValueFunc)GPCPrepareHashFunc; - hash_ctl.match = (HashCompareFunc)GPCPrepareHashMatch; - - int flags = HASH_ELEM | HASH_CONTEXT | HASH_FUNCTION | HASH_COMPARE | HASH_EXTERN_CONTEXT; - - m_array = (GPCHashCtl *) MemoryContextAllocZero(g_instance.cache_cxt.global_cache_mem, - sizeof(GPCHashCtl) * GPC_NUM_OF_BUCKETS); - - for (uint32 i = 0; i < GPC_NUM_OF_BUCKETS; i++) { - m_array[i].count = 0; - m_array[i].lockId = FirstGPCPrepareMappingLock + i; - - m_array[i].context = AllocSetContextCreate(g_instance.cache_cxt.global_cache_mem, - "GPC_Prepare_Bucket_Context", - ALLOCSET_DEFAULT_MINSIZE, - ALLOCSET_DEFAULT_INITSIZE, - ALLOCSET_DEFAULT_MAXSIZE, - SHARED_CONTEXT); - - hash_ctl.hcxt = m_array[i].context; - m_array[i].hash_tbl = hash_create("Global Prepared Queries", - GPC_HTAB_SIZE, - &hash_ctl, - flags); - } - InitCnTimelineHTAB(); -} - -void GlobalPrepareStmt::InitCnTimelineHTAB() -{ - HASHCTL ctl_func; - errno_t rc; - rc = memset_s(&ctl_func, sizeof(ctl_func), 0, sizeof(ctl_func)); - securec_check_c(rc, "\0", "\0"); - - ctl_func.keysize = sizeof(uint32); - ctl_func.entrysize = sizeof(TimelineEntry); - ctl_func.hcxt = g_instance.cache_cxt.global_cache_mem; - m_cn_timeline = - hash_create("cn_timeline", 64, &ctl_func, HASH_ELEM | HASH_CONTEXT); - -} -void GlobalPrepareStmt::Store(const char *stmt_name, - CachedPlanSource *plansource, - bool from_sql, - bool is_share) -{ - GPC_LOG("store prestmt", plansource, stmt_name); - - GPCPreparedStatement *entry = NULL; - TimestampTz cur_ts = GetCurrentStatementStartTimestamp(); - bool found = false; - - sess_orient* key = &u_sess->sess_ident; - uint32 hashCode = GPCPrepareHashFunc(key, sizeof(sess_orient)); - uint32 bucket_id = GetBucket(hashCode); - Assert (bucket_id >= 0 && bucket_id < GPC_NUM_OF_BUCKETS); - int lock_id = m_array[bucket_id].lockId; - LWLockAcquire(GetMainLWLockByIndex(lock_id), LW_EXCLUSIVE); - MemoryContext old_cxt = MemoryContextSwitchTo(m_array[bucket_id].context); - - /* Add entry to hash table */ - entry = (GPCPreparedStatement *) hash_search(m_array[bucket_id].hash_tbl, - (const void*)(key), - HASH_ENTER, - &found); - - /* Shouldn't get a duplicate entry */ - if (found && entry->prepare_statement_list != NULL) { - DListCell* find = GPCFetchStmtInList(entry->prepare_statement_list, stmt_name); - if (find != NULL) { - PreparedStatement *pstmt = (PreparedStatement *)(find->data.ptr_value); - CachedPlanSource *old_plansource = ((PreparedStatement *)(find->data.ptr_value))->plansource; - if (plansource != old_plansource) { - GPC_LOG("wrong prepare statement", 0, 0); - pstmt->plansource = plansource; - if (old_plansource->gpc.status.InShareTable()) { - old_plansource->gpc.status.SubRefCount(); - } else { - GPC_LOG("Drop plancache when store", plansource, stmt_name); - DropCachedPlan(old_plansource); - } - if (!plansource->gpc.status.InShareTable()) { - Assert (!plansource->is_support_gplan || plansource->gpc.status.IsSharePlan()); - plansource->gpc.status.SetLoc(GPC_SHARE_IN_LOCAL_SAVE_PLAN_LIST); - SaveCachedPlan(plansource); - } - } else if (is_share == true) { - plansource->gpc.status.SubRefCount(); - } - - GPC_LOG("global prestmt already exist", plansource, stmt_name); - - MemoryContextSwitchTo(old_cxt); - LWLockRelease(GetMainLWLockByIndex(lock_id)); - return ; - } - } - if (found == false) { - entry->prepare_statement_list = NULL; - m_array[bucket_id].count++; - entry->sess_detach = false; - INSTR_TIME_SET_CURRENT(entry->last_used_time); - } - PreparedStatement *stmt = (PreparedStatement*)palloc(sizeof(PreparedStatement)); - - stmt->plansource = plansource; - stmt->from_sql = from_sql; - stmt->prepare_time = cur_ts; - int rc = memcpy_s(stmt->stmt_name, NAMEDATALEN, stmt_name, NAMEDATALEN); - securec_check(rc, "", ""); - - entry->prepare_statement_list = dlappend(entry->prepare_statement_list, (void*)stmt); - - if (is_share == false) { - Assert (!plansource->is_support_gplan || plansource->gpc.status.IsSharePlan()); - plansource->gpc.status.SetLoc(GPC_SHARE_IN_LOCAL_SAVE_PLAN_LIST); - SaveCachedPlan(plansource); - } - - MemoryContextSwitchTo(old_cxt); - LWLockRelease(GetMainLWLockByIndex(lock_id)); - GPC_LOG("store prestmt succ ", plansource, stmt_name); -} - -PreparedStatement *GlobalPrepareStmt::Fetch(const char *stmt_name, bool throwError) -{ - GPCPreparedStatement *entry = NULL; - sess_orient* key = &u_sess->sess_ident; - GPCCheckGuc(); - uint32 hashCode = GPCPrepareHashFunc(key, sizeof(sess_orient)); - - uint32 bucket_id = GetBucket(hashCode); - Assert (bucket_id >= 0 && bucket_id < GPC_NUM_OF_BUCKETS); - int lock_id = m_array[bucket_id].lockId; - LWLockAcquire(GetMainLWLockByIndex(lock_id), LW_SHARED); - MemoryContext old_cxt = MemoryContextSwitchTo(m_array[bucket_id].context); - - entry = (GPCPreparedStatement *) hash_search(m_array[bucket_id].hash_tbl, - (const void*)(key), - HASH_FIND, - NULL); - - if (entry == NULL) { - if (throwError == true) { - MemoryContextSwitchTo(old_cxt); - LWLockRelease(GetMainLWLockByIndex(lock_id)); - ereport(ERROR, - (errcode(ERRCODE_UNDEFINED_PSTATEMENT), - errmsg("global prepared statement \"%s\" does not exist in PrepareFetch GPC (%lu,%u,%u) dn session_id:%lu", - stmt_name, u_sess->sess_ident.cn_sessid, u_sess->sess_ident.cn_timeline, u_sess->sess_ident.cn_nodeid, u_sess->session_id))); - } else { - MemoryContextSwitchTo(old_cxt); - LWLockRelease(GetMainLWLockByIndex(lock_id)); - return NULL; - } - } else { - entry->sess_detach = false; - INSTR_TIME_SET_CURRENT(entry->last_used_time); - } - - DListCell* result = GPCFetchStmtInList(entry->prepare_statement_list, stmt_name); - if (result == NULL) { - MemoryContextSwitchTo(old_cxt); - LWLockRelease(GetMainLWLockByIndex(lock_id)); - return NULL; - } - - MemoryContextSwitchTo(old_cxt); - LWLockRelease(GetMainLWLockByIndex(lock_id)); - return (PreparedStatement *)(result->data.ptr_value); -} - -void GlobalPrepareStmt::Drop(const char *stmt_name, bool showError) -{ - - GPC_LOG("prepare remove", 0, stmt_name); - - /* Find the query's hash table entry; raise error if wanted */ - GPCPreparedStatement *entry = NULL; - sess_orient* key = &u_sess->sess_ident; - uint32 hashCode = GPCPrepareHashFunc(key, sizeof(sess_orient)); - uint32 bucket_id = GetBucket(hashCode); - Assert (bucket_id >= 0 && bucket_id < GPC_NUM_OF_BUCKETS); - int lock_id = m_array[bucket_id].lockId; - LWLockAcquire(GetMainLWLockByIndex(lock_id), LW_EXCLUSIVE); - MemoryContext old_cxt = MemoryContextSwitchTo(m_array[bucket_id].context); - - entry = (GPCPreparedStatement *) hash_search(m_array[bucket_id].hash_tbl, - (const void*)(key), - HASH_FIND, - NULL); - if (entry == NULL) { - MemoryContextSwitchTo(old_cxt); - LWLockRelease(GetMainLWLockByIndex(lock_id)); - return; - } - -#ifdef __aarch64__ - if (unlikely(entry->prepare_statement_list == NULL)) { - GPC_LOG("drop remove entry prepare statement list null ", 0, stmt_name); - /* Now we can remove the hash table entry */ - hash_search(m_array[bucket_id].hash_tbl, (const void*)(key), HASH_REMOVE, NULL); - m_array[bucket_id].count--; - MemoryContextSwitchTo(old_cxt); - LWLockRelease(GetMainLWLockByIndex(lock_id)); - return; - } -#endif - - DListCell* result = GPCFetchStmtInList(entry->prepare_statement_list, stmt_name); - - if (result == NULL) { - MemoryContextSwitchTo(old_cxt); - LWLockRelease(GetMainLWLockByIndex(lock_id)); - return; - } - - PreparedStatement *target = (PreparedStatement *)(result->data.ptr_value); - if (target != NULL) { - if (target->plansource->gpc.status.InShareTable()) { - GPC_LOG("prepare remove success", 0, stmt_name); - target->plansource->gpc.status.SubRefCount(); - } else { - Assert (!target->plansource->is_support_gplan || target->plansource->gpc.status.IsSharePlan()); - GPC_LOG("prepare remove private", target->plansource, stmt_name); - DropCachedPlan(target->plansource); - GPC_LOG("prepare remove private succ", 0, stmt_name); - } - entry->prepare_statement_list = dlist_delete_cell(entry->prepare_statement_list, result, true); - } - - if (entry->prepare_statement_list == NULL) { - GPC_LOG("prepare remove entry", 0, stmt_name); - /* Now we can remove the hash table entry */ - hash_search(m_array[bucket_id].hash_tbl, (const void*)(key), HASH_REMOVE, NULL); - m_array[bucket_id].count--; - } - - MemoryContextSwitchTo(old_cxt); - LWLockRelease(GetMainLWLockByIndex(lock_id)); -} -/* - * @Description: Drop ALL global plancaches which belongs to current session. - * This function only be called before the session aborts. - * @in num: uint64 global_sess_id ,boolean need_lock - * @return - void - */ -void GlobalPrepareStmt::DropAll(sess_orient* key, bool need_lock) -{ - /* Find the query's hash table entry; raise error if wanted */ - GPCPreparedStatement *entry = NULL; - MemoryContext old_cxt = NULL; - uint32 hashCode = GPCPrepareHashFunc(key, sizeof(sess_orient)); - uint32 bucket_id = GetBucket(hashCode); - Assert (bucket_id >= 0 && bucket_id < GPC_NUM_OF_BUCKETS); - int lock_id = m_array[bucket_id].lockId; - if (need_lock) { - LWLockAcquire(GetMainLWLockByIndex(lock_id), LW_EXCLUSIVE); - old_cxt = MemoryContextSwitchTo(m_array[bucket_id].context); - } - entry = (GPCPreparedStatement *) hash_search(m_array[bucket_id].hash_tbl, - (const void*)key, - HASH_FIND, - NULL); - if (entry == NULL) { - if (need_lock) { - LWLockRelease(GetMainLWLockByIndex(lock_id)); - MemoryContextSwitchTo(old_cxt); - } - return; - } -#ifdef __aarch64__ - if (unlikely(entry->prepare_statement_list == NULL)) { - GPC_LOG("dropall remove entry prepare statement list null", 0, 0); - hash_search(m_array[bucket_id].hash_tbl, key, HASH_REMOVE, NULL); - m_array[bucket_id].count--; - if (need_lock) { - LWLockRelease(GetMainLWLockByIndex(lock_id)); - MemoryContextSwitchTo(old_cxt); - } - return; - } -#endif - DListCell* iter = entry->prepare_statement_list->head; - for (; iter != NULL; iter = iter->next) { - PreparedStatement * target = (PreparedStatement *)(iter->data.ptr_value); - if (target != NULL) { - if (target->plansource->gpc.status.InShareTable()) { - GPC_LOG("drop prepare key sub refcount", target->plansource, target->plansource->stmt_name); - target->plansource->gpc.status.SubRefCount(); - } else { - Assert (!target->plansource->is_support_gplan || target->plansource->gpc.status.IsSharePlan()); - GPC_LOG("drop prepare key clean private plansource", target->plansource, target->plansource->stmt_name); - DropCachedPlan(target->plansource); - GPC_LOG("drop prepare key clean private plansource succ", target->plansource, 0); - } - } - } - - GPC_LOG("before drop prepare statement list on time", 0, 0); - - dlist_free(entry->prepare_statement_list, true); - hash_search(m_array[bucket_id].hash_tbl, key, HASH_REMOVE, NULL); - m_array[bucket_id].count--; - GPC_LOG("after drop prepare statement list on time", 0, 0); - if (need_lock) { - LWLockRelease(GetMainLWLockByIndex(lock_id)); - MemoryContextSwitchTo(old_cxt); - } - - g_instance.plan_cache->DropInvalid(); -} - -void GlobalPrepareStmt::Clean(uint32 cn_id) -{ - GPCPreparedStatement *entry = NULL; - - for (uint32 bucket_id = 0; bucket_id < GPC_NUM_OF_BUCKETS; bucket_id++) { - int lock_id = m_array[bucket_id].lockId; - LWLockAcquire(GetMainLWLockByIndex(lock_id), LW_EXCLUSIVE); - MemoryContext old_cxt = MemoryContextSwitchTo(m_array[bucket_id].context); - - HASH_SEQ_STATUS hash_seq; - hash_seq_init(&hash_seq, m_array[bucket_id].hash_tbl); - - while ((entry = (GPCPreparedStatement *)hash_seq_search(&hash_seq)) != NULL) { - if (entry->sess_detach == true && cn_id == (uint32)(entry->key.cn_nodeid)) { - DropAll(&(entry->key), false); - } - } - - MemoryContextSwitchTo(old_cxt); - LWLockRelease(GetMainLWLockByIndex(lock_id)); - } -} - -void GlobalPrepareStmt::CheckTimeline() -{ - LWLockAcquire(GPCTimelineLock, LW_SHARED); - TimelineEntry *entry = NULL; - bool found = false; - - GPC_LOG("check time line", 0, 0); - - entry = (TimelineEntry *) hash_search(m_cn_timeline, - &u_sess->sess_ident.cn_nodeid, - HASH_FIND, - &found); - - if (found == false) { - LWLockRelease(GPCTimelineLock); - LWLockAcquire(GPCTimelineLock, LW_EXCLUSIVE); - - entry = (TimelineEntry *) hash_search(m_cn_timeline, - &u_sess->sess_ident.cn_nodeid, - HASH_ENTER, - &found); - if (found == false) { - entry->node_id = u_sess->sess_ident.cn_nodeid; - entry->timeline = u_sess->sess_ident.cn_timeline; - } - } else { - if (entry->timeline != u_sess->sess_ident.cn_timeline) { - LWLockRelease(GPCTimelineLock); - LWLockAcquire(GPCTimelineLock, LW_EXCLUSIVE); - - if (entry->timeline != u_sess->sess_ident.cn_timeline) { - GPC_LOG("check timeline failed, build new one", 0, 0); - Clean(u_sess->sess_ident.cn_nodeid); - entry->timeline = u_sess->sess_ident.cn_timeline; - } - } - } - - LWLockRelease(GPCTimelineLock); -} - -void GlobalPrepareStmt::UpdateUseTime(sess_orient* key, bool sess_detach) -{ - GPCPreparedStatement *entry = NULL; - uint32 hashCode = GPCPrepareHashFunc(key, sizeof(sess_orient)); - uint32 bucket_id = GetBucket(hashCode); - Assert (bucket_id >= 0 && bucket_id < GPC_NUM_OF_BUCKETS); - int lock_id = m_array[bucket_id].lockId; - LWLockAcquire(GetMainLWLockByIndex(lock_id), LW_SHARED); - entry = (GPCPreparedStatement *) hash_search(m_array[bucket_id].hash_tbl, - (const void*)(key), - HASH_FIND, - NULL); - if (entry == NULL) { - LWLockRelease(GetMainLWLockByIndex(lock_id)); - return; - } - entry->sess_detach = sess_detach; - - INSTR_TIME_SET_CURRENT(entry->last_used_time); - LWLockRelease(GetMainLWLockByIndex(lock_id)); -} - -void GlobalPrepareStmt::PrepareCleanUpByTime(bool needCheckTime) -{ - GPCPreparedStatement *entry = NULL; - - - for (uint32 bucket_id = 0; bucket_id < GPC_NUM_OF_BUCKETS; bucket_id++) { - int lock_id = m_array[bucket_id].lockId; - LWLockAcquire(GetMainLWLockByIndex(lock_id), LW_EXCLUSIVE); - MemoryContext old_cxt = MemoryContextSwitchTo(m_array[bucket_id].context); - - HASH_SEQ_STATUS hash_seq; - hash_seq_init(&hash_seq, m_array[bucket_id].hash_tbl); - - instr_time curr_time; - INSTR_TIME_SET_CURRENT(curr_time); - while ((entry = (GPCPreparedStatement *)hash_seq_search(&hash_seq)) != NULL) { - if(!needCheckTime || (entry->sess_detach && (INSTR_TIME_GET_DOUBLE(curr_time) - INSTR_TIME_GET_DOUBLE(entry->last_used_time)) > MAX_PREPARE_WAIING_TIME)) { - DropAll(&(entry->key), false); - } - } - - MemoryContextSwitchTo(old_cxt); - LWLockRelease(GetMainLWLockByIndex(lock_id)); - } - - g_instance.plan_cache->DropInvalid(); - -} - -void GlobalPrepareStmt::CleanSessionGPC(knl_session_context* currentSession) -{ - CachedPlanSource* plansource = currentSession->pcache_cxt.first_saved_plan; - while (plansource != NULL) { - /* - * When turing on the enable_global_plancache, there are some cases that - * we cannot insert the plancache in the shared HTAB. Therefore, we have to - * set the flag in_recreate to true which let the plancache can be recreated next - * time. - */ - CachedPlanSource* next_plansource = plansource->next_saved; - plansource->is_valid = false; - plansource->gpc.status.SetLoc(GPC_SHARE_IN_PREPARE_STATEMENT); - plansource->gpc.status.SetStatus(GPC_INVALID); - plansource->next_saved = NULL; - plansource = next_plansource; - } - - currentSession->pcache_cxt.first_saved_plan = NULL; - currentSession->pcache_cxt.gpc_in_ddl = false; - if (currentSession->sess_ident.cn_sessid != 0 && currentSession->sess_ident.cn_nodeid != 0) { - UpdateUseTime(&u_sess->sess_ident, true); - } - currentSession->sess_ident.cn_sessid = 0; - currentSession->sess_ident.cn_timeline = 0; - currentSession->sess_ident.cn_nodeid = 0; -} - -void* -GlobalPrepareStmt::GetStatus(uint32 *num) -{ - int rc = EOK; - HASH_SEQ_STATUS hash_seq; - - for (int i = 0; i < NUM_GPC_PARTITIONS; i++) { - LWLockAcquire(GetMainLWLockByIndex(FirstGPCPrepareMappingLock + i), LW_SHARED); - } - - GPCPreparedStatement *entry = NULL; - DList *prepare_list = NULL; - - for (uint32 bucket_id = 0; bucket_id < GPC_NUM_OF_BUCKETS; bucket_id++) { - hash_seq_init(&hash_seq, m_array[bucket_id].hash_tbl); - - /*Get the row numbers.*/ - while ((entry = (GPCPreparedStatement*)hash_seq_search(&hash_seq)) != NULL) { - if(entry->prepare_statement_list) { - *num = *num + (uint32)entry->prepare_statement_list->length; - } - } - } - - if ((*num) == 0) { - for (int i = NUM_GPC_PARTITIONS - 1; i >= 0; i--) { - LWLockRelease(GetMainLWLockByIndex(FirstGPCPrepareMappingLock + i)); - } - - return NULL; - } - - uint32 index = 0; - GPCPrepareStatus *stat_array = (GPCPrepareStatus*) palloc0(*num * sizeof(GPCPrepareStatus)); - - for (uint32 bucket_id = 0; bucket_id < GPC_NUM_OF_BUCKETS; bucket_id++) { - hash_seq_init(&hash_seq, m_array[bucket_id].hash_tbl); - - /*Get all real time session statistics from the register info hash table.*/ - while ((entry = (GPCPreparedStatement*)hash_seq_search(&hash_seq)) != NULL) { - prepare_list = (DList *) entry->prepare_statement_list; - if (prepare_list && prepare_list->length != 0) { - DListCell* iter = prepare_list->head; - for (; iter != NULL; iter = iter->next) { - PreparedStatement *prepare_statement = (PreparedStatement *)(iter->data.ptr_value); - uint32 len = (uint32)strlen(prepare_statement->stmt_name) + 1; - stat_array[index].statement_name = (char *)palloc0(sizeof(char) * len); - rc = memcpy_s(stat_array[index].statement_name, len, prepare_statement->stmt_name, len); - securec_check(rc, "\0", "\0"); - len = (uint32)strlen(prepare_statement->plansource->query_string) + 1; - stat_array[index].query = (char *)palloc0(sizeof(char) * len); - rc = memcpy_s(stat_array[index].query, len, prepare_statement->plansource->query_string, len); - securec_check(rc, "\0", "\0"); - stat_array[index].refcount = prepare_statement->plansource->gpc.status.GetRefCount(); - stat_array[index].cn_sessid = entry->key.cn_sessid; - stat_array[index].cn_node_id = entry->key.cn_nodeid; - stat_array[index].cn_time_line = entry->key.cn_timeline; - stat_array[index].is_shared = prepare_statement->plansource->gpc.status.InShareTable(); - index++; - } - } - } - } - Assert (index == *num); - *num = index; - - for (int i = NUM_GPC_PARTITIONS - 1; i >= 0; i--) { - LWLockRelease(GetMainLWLockByIndex(FirstGPCPrepareMappingLock + i)); - } - - return stat_array; -} - diff --git a/src/gausskernel/process/job/job_scheduler.cpp b/src/gausskernel/process/job/job_scheduler.cpp index 5ba711d96..93319abc8 100644 --- a/src/gausskernel/process/job/job_scheduler.cpp +++ b/src/gausskernel/process/job/job_scheduler.cpp @@ -339,6 +339,8 @@ NON_EXEC_STATIC void JobScheduleMain() /* Main loop */ for (;;) { + /* close xlog file fd if any */ + CloseXlogFilesAtThreadExit(); struct timeval nap; TimestampTz current_time = 0; bool can_launch = false; diff --git a/src/gausskernel/process/main/main.cpp b/src/gausskernel/process/main/main.cpp old mode 100755 new mode 100644 index 1629ccb1f..e99587383 --- a/src/gausskernel/process/main/main.cpp +++ b/src/gausskernel/process/main/main.cpp @@ -445,8 +445,12 @@ static void help(const char* progname) printf(_("\nPlease read the documentation for the complete list of run-time\n" "configuration settings and how to set them on the command line or in\n" - "the configuration file.\n\n" - "Report bugs to .\n")); + "the configuration file.\n")); +#if ((defined(ENABLE_MULTIPLE_NODES)) || (defined(ENABLE_PRIVATEGAUSS))) + printf(_("\nReport bugs to GaussDB support.\n")); +#else + printf(_("\nReport bugs to openGauss community by raising an issue.\n")); +#endif } static void check_root(const char* progname) diff --git a/src/gausskernel/process/postmaster/aiocompleter.cpp b/src/gausskernel/process/postmaster/aiocompleter.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/process/postmaster/alarmchecker.cpp b/src/gausskernel/process/postmaster/alarmchecker.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/process/postmaster/autovacuum.cpp b/src/gausskernel/process/postmaster/autovacuum.cpp old mode 100755 new mode 100644 index 8f487af7b..7c72157b8 --- a/src/gausskernel/process/postmaster/autovacuum.cpp +++ b/src/gausskernel/process/postmaster/autovacuum.cpp @@ -1293,7 +1293,7 @@ NON_EXEC_STATIC void AutoVacWorkerMain() t_thrd.proc_cxt.MyStartTime = time(NULL); t_thrd.proc_cxt.MyProgName = "AutoVacWorker"; - u_sess->attr.attr_common.application_name = pstrdup("AutoVacWorker"); + u_sess->attr.attr_common.application_name = pstrdup(AUTO_VACUUM_WORKER); /* Identify myself via ps */ init_ps_display("autovacuum worker process", "", "", ""); @@ -2698,6 +2698,10 @@ static void do_autovacuum(void) if (timeout_flag) pgstat_report_autovac_timeout(vacObj->tab_oid, vacObj->parent_oid, tab->at_sharedrel); + /* for some cases, we could not response any signal here, so we need unblock signals */ + gs_signal_setmask(&t_thrd.libpq_cxt.UnBlockSig, NULL); + (void)gs_signal_unblock_sigusr2(); + /* restart our transaction for the following operations */ StartTransactionCommand(); RESUME_INTERRUPTS(); @@ -3329,10 +3333,12 @@ bool IsAutoVacuumWorkerProcess(void) return t_thrd.role == AUTOVACUUM_WORKER; } +const char* AUTO_VACUUM_WORKER = "AutoVacWorker"; + bool IsFromAutoVacWoker(void) { return (u_sess->attr.attr_common.application_name != NULL && - strcmp(u_sess->attr.attr_common.application_name, "AutoVacWorker") == 0); + strcmp(u_sess->attr.attr_common.application_name, AUTO_VACUUM_WORKER) == 0); } /* diff --git a/src/gausskernel/process/postmaster/barrier_creator.cpp b/src/gausskernel/process/postmaster/barrier_creator.cpp index 37e4a2d0c..e5dff2fba 100644 --- a/src/gausskernel/process/postmaster/barrier_creator.cpp +++ b/src/gausskernel/process/postmaster/barrier_creator.cpp @@ -112,6 +112,25 @@ static uint64_t read_barrier_id_from_obs(const ReplicationSlot *obs_archive_slot return 0; } +static void BarrierPoolerReload(void) +{ + MemoryContext oldContext; + + /* Now session information is reset in correct memory context */ + oldContext = MemoryContextSwitchTo(SESS_GET_MEM_CXT_GROUP(MEMORY_CONTEXT_COMMUNICATION)); + + /* Reinitialize session, while old pooler connection is active */ + InitMultinodeExecutor(true); + /* And reconnect to pool manager */ + PoolManagerReconnect(); + + MemoryContextSwitchTo(oldContext); + ereport(LOG, + (errmsg("[barrierPoolerReload] Reload connections with CN/DN, dn count : %d, cn count : %d", + u_sess->pgxc_cxt.NumDataNodes, + u_sess->pgxc_cxt.NumCoords))); +} + void barrier_creator_main(void) { ReplicationSlot *obs_archive_slot = NULL; @@ -235,6 +254,11 @@ void barrier_creator_main(void) g_instance.barrier_creator_cxt.stop = true; break; } + + if (u_sess->sig_cxt.got_PoolReload) { + BarrierPoolerReload(); + u_sess->sig_cxt.got_PoolReload = false; + } gettimeofday(&tv, NULL); /* create barrier with increasing index */ @@ -243,7 +267,11 @@ void barrier_creator_main(void) TIME_GET_MILLISEC(tv)); securec_check_ss_c(rc, "\0", "\0"); ereport(LOG, (errmsg("[BarrierCreator] creating barrier %s", barrier_name))); +#ifdef ENABLE_MULTIPLE_NODES + RequestBarrier(barrier_name, NULL); +#else DisasterRecoveryRequestBarrier(barrier_name); +#endif write_barrier_id_to_obs(barrier_name); index++; } diff --git a/src/gausskernel/process/postmaster/bgwriter.cpp b/src/gausskernel/process/postmaster/bgwriter.cpp old mode 100755 new mode 100644 index 5ba30c210..f32be1d9c --- a/src/gausskernel/process/postmaster/bgwriter.cpp +++ b/src/gausskernel/process/postmaster/bgwriter.cpp @@ -819,6 +819,7 @@ void incre_ckpt_background_writer_main(void) pgstat_report_appname("IncrBgWriter"); pgstat_report_activity(STATE_IDLE, NULL); + /* Loop forever */ for (;;) { int rc; @@ -852,7 +853,8 @@ void incre_ckpt_background_writer_main(void) proc_exit(0); } } - pgstat_report_activity(STATE_IDLE, NULL); + + pgstat_report_activity(STATE_IDLE, NULL); sleep_time = get_bgwriter_sleep_time(); rc = WaitLatch(&t_thrd.proc->procLatch, WL_LATCH_SET | WL_TIMEOUT | WL_POSTMASTER_DEATH, sleep_time); if (rc & WL_POSTMASTER_DEATH) { @@ -861,8 +863,8 @@ void incre_ckpt_background_writer_main(void) /* Clear any already-pending wakeups */ ResetLatch(&t_thrd.proc->procLatch); - - pgstat_report_activity(STATE_RUNNING, NULL); + + pgstat_report_activity(STATE_RUNNING, NULL); now = get_time_ms(); t_thrd.bgwriter_cxt.next_flush_time = now + u_sess->attr.attr_storage.BgWriterDelay; diff --git a/src/gausskernel/process/postmaster/cbmwriter.cpp b/src/gausskernel/process/postmaster/cbmwriter.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/process/postmaster/checkpointer.cpp b/src/gausskernel/process/postmaster/checkpointer.cpp old mode 100755 new mode 100644 index 994b3a998..df23e5040 --- a/src/gausskernel/process/postmaster/checkpointer.cpp +++ b/src/gausskernel/process/postmaster/checkpointer.cpp @@ -581,6 +581,7 @@ void CheckpointerMain(void) */ now = (pg_time_t)time(NULL); elapsed_secs = now - t_thrd.checkpoint_cxt.last_checkpoint_time; + if (elapsed_secs < 0) { elapsed_secs = 0; } @@ -955,6 +956,17 @@ void set_flag_checkpoint_file_sync(int flags, volatile CheckpointerShmemStruct* } } +/* + * Check wheter checkpoint proc is running while waiting request checkpoint to finish. + */ +static void CheckPointProcRunning(void) +{ + if (g_instance.pid_cxt.CheckpointerPID == 0) { + ereport(FATAL, + (errcode(ERRCODE_WITH_CHECK_OPTION_VIOLATION), + errmsg("could not request checkpoint because checkpointer not running"))); + } +} /* * RequestCheckpoint @@ -1071,6 +1083,7 @@ void RequestCheckpoint(int flags) } CHECK_FOR_INTERRUPTS(); + CheckPointProcRunning(); pg_usleep(100000L); } @@ -1090,6 +1103,7 @@ void RequestCheckpoint(int flags) } CHECK_FOR_INTERRUPTS(); + CheckPointProcRunning(); pg_usleep(100000L); } diff --git a/src/gausskernel/process/postmaster/fencedudf.cpp b/src/gausskernel/process/postmaster/fencedudf.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/process/postmaster/gaussdb_version.cpp b/src/gausskernel/process/postmaster/gaussdb_version.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/process/postmaster/lwlockmonitor.cpp b/src/gausskernel/process/postmaster/lwlockmonitor.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/process/postmaster/pgarch.cpp b/src/gausskernel/process/postmaster/pgarch.cpp old mode 100755 new mode 100644 index 1d037c2e1..b9784c5a8 --- a/src/gausskernel/process/postmaster/pgarch.cpp +++ b/src/gausskernel/process/postmaster/pgarch.cpp @@ -986,6 +986,7 @@ static bool pgarch_archiveRoachForCoordinator(XLogRecPtr targetLsn) archive_xlog_info.targetLsn = targetLsn; archive_xlog_info.term = 0; archive_xlog_info.sub_term = 0; + archive_xlog_info.tli = 0; if (obs_replication_archive(&archive_xlog_info) != 0) { g_instance.archive_obs_cxt.pitr_finish_result = false; ereport(WARNING, @@ -1020,7 +1021,7 @@ static WalSnd* pgarch_chooseWalsnd(XLogRecPtr targetLsn) if (walsnd->pid != 0 && ((walsnd->sendRole & SNDROLE_PRIMARY_STANDBY) == walsnd->sendRole) && !XLogRecPtrIsInvalid(walsnd->flush) && XLByteLE(targetLsn, walsnd->flush)) { walsnd->arch_task_lsn = targetLsn; - walsnd->archive_obs_subterm = t_thrd.arch.sync_walsender_term; + walsnd->archive_obs_subterm = g_instance.archive_obs_cxt.sync_walsender_term; SpinLockRelease(&walsnd->mutex); return (WalSnd*)walsnd; } @@ -1036,13 +1037,13 @@ static WalSnd* pgarch_chooseWalsnd(XLogRecPtr targetLsn) if (walsnd->pid != 0 && ((walsnd->sendRole & SNDROLE_PRIMARY_STANDBY) == walsnd->sendRole)) { if (XLByteLE(targetLsn, walsnd->flush)) { SpinLockRelease(&walsnd->mutex); - ereport(LOG, - (errmsg("pgarch_chooseWalsnd has change from %d to %d , sub_term:%d", - t_thrd.arch.sync_walsender_idx, i, t_thrd.arch.sync_walsender_term))); walsnd->arch_task_lsn = targetLsn; t_thrd.arch.sync_walsender_idx = i; - t_thrd.arch.sync_walsender_term++; - walsnd->archive_obs_subterm = t_thrd.arch.sync_walsender_term; + g_instance.archive_obs_cxt.sync_walsender_term++; + ereport(LOG, + (errmsg("pgarch_chooseWalsnd has change from %d to %d , sub_term:%d", + t_thrd.arch.sync_walsender_idx, i, g_instance.archive_obs_cxt.sync_walsender_term))); + walsnd->archive_obs_subterm = g_instance.archive_obs_cxt.sync_walsender_term; return (WalSnd*)walsnd; } } diff --git a/src/gausskernel/process/postmaster/pgaudit.cpp b/src/gausskernel/process/postmaster/pgaudit.cpp old mode 100755 new mode 100644 index a532920f4..34c1118db --- a/src/gausskernel/process/postmaster/pgaudit.cpp +++ b/src/gausskernel/process/postmaster/pgaudit.cpp @@ -84,6 +84,7 @@ #endif #define MAX_QUEUE_SIZE 100000 +#define MAX_CONNECTION_INFO_SIZE (MAXNUMLEN * 4 + NI_MAXHOST) typedef struct { char nuls[2]; /* always \0\0 */ @@ -358,7 +359,7 @@ struct AuditEventInfo { const char* dbname; const char* appname; const char* remotehost; - char client_info[MAXNUMLEN * 4]; + char client_info[MAX_CONNECTION_INFO_SIZE]; char threadid[MAXNUMLEN * 4]; char localport[MAXNUMLEN]; char remoteport[MAXNUMLEN]; @@ -404,8 +405,7 @@ static void pgaudit_indextbl_init(void); static const char* pgaudit_string_field(AuditData* adata, int num); static void deserialization_to_tuple(Datum (&values)[PGAUDIT_QUERY_COLS], AuditData *adata, - const AuditMsgHdr &header, - const char *field); + const AuditMsgHdr &header); static void pgaudit_query_file(Tuplestorestate *state, TupleDesc tdesc, uint32 fnum, TimestampTz begtime, TimestampTz endtime, const char *audit_directory); @@ -1749,6 +1749,7 @@ static bool audit_type_validcheck(AuditType type) case MASKING_POLICY_EVENT: case SECURITY_EVENT: case AUDIT_INTERNAL_EVENT: + type_status = 1; /* audit these cases by default */ break; case AUDIT_COPY_TO: case AUDIT_COPY_FROM: @@ -1870,8 +1871,8 @@ static bool audit_get_clientinfo(AuditType type, const char* object_name, AuditE *remotehost = _("[unknown]"); errorno = snprintf_s(event_info.client_info, - MAXNUMLEN * 4, - MAXNUMLEN * 4 - 1, + MAX_CONNECTION_INFO_SIZE, + MAX_CONNECTION_INFO_SIZE - 1, "%s@%s", *appname, *remotehost); @@ -2408,63 +2409,49 @@ static void pgaudit_query_file_for_elastic() } /* - * Brief : scan the specified audit file. - * Description : + * Brief : scan the specified audit file into tuple + * Description : Note we use old/new version to differ whether there is user_id field in the file. + * for expanding new field later, maybe we will depend on version id to implement + * backward compatibility but not bool variable */ static void deserialization_to_tuple(Datum (&values)[PGAUDIT_QUERY_COLS], AuditData *adata, - const AuditMsgHdr &header, - const char *field) + const AuditMsgHdr &header) { + /* append timestamp info to data tuple */ int i = 0; values[i++] = TimestampTzGetDatum(time_t_to_timestamptz(adata->header.time)); values[i++] = CStringGetTextDatum(AuditTypeDesc(adata->type)); values[i++] = CStringGetTextDatum(AuditResultDesc(adata->result)); - /* new format of the audit file under correct record */ - if (header.fields == PGAUDIT_QUERY_COLS) { - field = pgaudit_string_field(adata, AUDIT_USER_ID); - values[i++] = CStringGetTextDatum(FILED_NULLABLE(field)); - field = pgaudit_string_field(adata, AUDIT_USER_NAME); - values[i++] = CStringGetTextDatum(FILED_NULLABLE(field)); - field = pgaudit_string_field(adata, AUDIT_DATABASE_NAME); - values[i++] = CStringGetTextDatum(FILED_NULLABLE(field)); - field = pgaudit_string_field(adata, AUDIT_CLIENT_CONNINFO); - values[i++] = CStringGetTextDatum(FILED_NULLABLE(field)); - field = pgaudit_string_field(adata, AUDIT_OBJECT_NAME); - values[i++] = CStringGetTextDatum(FILED_NULLABLE(field)); - field = pgaudit_string_field(adata, AUDIT_DETAIL_INFO); - values[i++] = CStringGetTextDatum(FILED_NULLABLE(field)); - field = pgaudit_string_field(adata, AUDIT_NODENAME_INFO); - values[i++] = CStringGetTextDatum(FILED_NULLABLE(field)); - field = pgaudit_string_field(adata, AUDIT_THREADID_INFO); - values[i++] = CStringGetTextDatum(FILED_NULLABLE(field)); - field = pgaudit_string_field(adata, AUDIT_LOCALPORT_INFO); - values[i++] = CStringGetTextDatum(FILED_NULLABLE(field)); - field = pgaudit_string_field(adata, AUDIT_REMOTEPORT_INFO); - values[i++] = CStringGetTextDatum(FILED_NULLABLE(field)); - } else { - /* the older audit file do not have userid info, so let it to be null */ - field = NULL; - values[i++] = CStringGetTextDatum(FILED_NULLABLE(field)); - field = pgaudit_string_field(adata, AUDIT_USER_NAME - 1); - values[i++] = CStringGetTextDatum(FILED_NULLABLE(field)); - field = pgaudit_string_field(adata, AUDIT_DATABASE_NAME - 1); - values[i++] = CStringGetTextDatum(FILED_NULLABLE(field)); - field = pgaudit_string_field(adata, AUDIT_CLIENT_CONNINFO - 1); - values[i++] = CStringGetTextDatum(FILED_NULLABLE(field)); - field = pgaudit_string_field(adata, AUDIT_OBJECT_NAME - 1); - values[i++] = CStringGetTextDatum(FILED_NULLABLE(field)); - field = pgaudit_string_field(adata, AUDIT_DETAIL_INFO - 1); - values[i++] = CStringGetTextDatum(FILED_NULLABLE(field)); - field = pgaudit_string_field(adata, AUDIT_NODENAME_INFO - 1); - values[i++] = CStringGetTextDatum(FILED_NULLABLE(field)); - field = pgaudit_string_field(adata, AUDIT_THREADID_INFO - 1); - values[i++] = CStringGetTextDatum(FILED_NULLABLE(field)); - field = pgaudit_string_field(adata, AUDIT_LOCALPORT_INFO - 1); - values[i++] = CStringGetTextDatum(FILED_NULLABLE(field)); - field = pgaudit_string_field(adata, AUDIT_REMOTEPORT_INFO - 1); - values[i++] = CStringGetTextDatum(FILED_NULLABLE(field)); - } + + /* + * new format of the audit file under correct record + * the older audit file do not have userid info, so let it to be null + */ + int index_field = 0; + const char* field = NULL; + bool new_version = (header.fields == PGAUDIT_QUERY_COLS); + field = new_version ? pgaudit_string_field(adata, index_field++) : NULL; + values[i++] = CStringGetTextDatum(FILED_NULLABLE(field)); /* user id */ + field = pgaudit_string_field(adata, index_field++); + values[i++] = CStringGetTextDatum(FILED_NULLABLE(field)); /* user name */ + field = pgaudit_string_field(adata, index_field++); + values[i++] = CStringGetTextDatum(FILED_NULLABLE(field)); /* dbname */ + field = pgaudit_string_field(adata, index_field++); + values[i++] = CStringGetTextDatum(FILED_NULLABLE(field)); /* client info */ + field = pgaudit_string_field(adata, index_field++); + values[i++] = CStringGetTextDatum(FILED_NULLABLE(field)); /* object name */ + field = pgaudit_string_field(adata, index_field++); + values[i++] = CStringGetTextDatum(FILED_NULLABLE(field)); /* detail info */ + field = pgaudit_string_field(adata, index_field++); + values[i++] = CStringGetTextDatum(FILED_NULLABLE(field)); /* node name */ + field = pgaudit_string_field(adata, index_field++); + values[i++] = CStringGetTextDatum(FILED_NULLABLE(field)); /* thread id */ + field = pgaudit_string_field(adata, index_field++); + values[i++] = CStringGetTextDatum(FILED_NULLABLE(field)); /* local port */ + field = pgaudit_string_field(adata, index_field++); + values[i++] = CStringGetTextDatum(FILED_NULLABLE(field)); /* remote port */ + Assert(i == PGAUDIT_QUERY_COLS); } static void pgaudit_query_file(Tuplestorestate *state, TupleDesc tdesc, uint32 fnum, TimestampTz begtime, @@ -2475,7 +2462,6 @@ static void pgaudit_query_file(Tuplestorestate *state, TupleDesc tdesc, uint32 f TimestampTz datetime; AuditMsgHdr header; AuditData* adata = NULL; - const char* field = NULL; if (state == NULL || tdesc == NULL) return; @@ -2529,7 +2515,7 @@ static void pgaudit_query_file(Tuplestorestate *state, TupleDesc tdesc, uint32 f /* filt and assemble audit info into tuplestore */ datetime = time_t_to_timestamptz(adata->header.time); if (datetime >= begtime && datetime < endtime && header.flags == AUDIT_TUPLE_NORMAL) { - deserialization_to_tuple(values, adata, header, field); + deserialization_to_tuple(values, adata, header); tuplestore_putvalues(state, tdesc, values, nulls); } @@ -2539,6 +2525,71 @@ static void pgaudit_query_file(Tuplestorestate *state, TupleDesc tdesc, uint32 f pgaudit_close_file(fp, t_thrd.audit.pgaudit_filepath); } +/* + * Brief : scan the specified audit file to delete audit. + * Description : + */ +static void pgaudit_delete_file(uint32 fnum, TimestampTz begtime, TimestampTz endtime) +{ + int fd = -1; + ssize_t nread = 0; + TimestampTz datetime; + AuditMsgHdr header; + + int rc = snprintf_s(t_thrd.audit.pgaudit_filepath, + MAXPGPATH, + MAXPGPATH - 1, + pgaudit_filename, + g_instance.attr.attr_security.Audit_directory, + fnum); + securec_check_intval(rc,,); + + /* Open the audit file to scan the audit record. */ + fd = open(t_thrd.audit.pgaudit_filepath, O_RDWR, pgaudit_filemode); + if (fd < 0) { + ereport(LOG, + (errcode_for_file_access(), errmsg("could not open audit file \"%s\": %m", t_thrd.audit.pgaudit_filepath))); + return; + } + + do { + /* read the audit message header first */ + nread = read(fd, &header, sizeof(AuditMsgHdr)); + if (nread <= 0) + break; + + if (header.signature[0] != 'A' || + header.signature[1] != 'U' || + header.version != 0 || + !(header.fields == (PGAUDIT_QUERY_COLS - 1) || + header.fields == PGAUDIT_QUERY_COLS)) { + /* make sure we are compatible with the older version audit file */ + ereport(LOG, (errmsg("invalid data in audit file \"%s\"", t_thrd.audit.pgaudit_filepath))); + break; + } + + datetime = time_t_to_timestamptz(header.time); + if (datetime >= begtime && datetime < endtime && header.flags == AUDIT_TUPLE_NORMAL) { + long offset = sizeof(AuditMsgHdr); + header.flags = AUDIT_TUPLE_DEAD; + if (lseek(fd, -offset, SEEK_CUR) < 0) { + ereport(WARNING, (errcode_for_file_access(), errmsg("could not seek in audit file: %m"))); + break; + } + if (write(fd, &header, sizeof(AuditMsgHdr)) != sizeof(AuditMsgHdr)) { + ereport(WARNING, (errcode_for_file_access(), errmsg("could not write to audit file: %m"))); + break; + } + } + if (lseek(fd, header.size - sizeof(AuditMsgHdr), SEEK_CUR) < 0) { + ereport(WARNING, (errcode_for_file_access(), errmsg("could not seek in audit file: %m"))); + break; + } + } while (true); + + close(fd); +} + /* check whether system changed when auditor write audit data to current file */ static bool pgaudit_check_system(TimestampTz begtime, TimestampTz endtime, uint32 index) { @@ -2685,7 +2736,55 @@ Datum pg_query_audit(PG_FUNCTION_ARGS) */ Datum pg_delete_audit(PG_FUNCTION_ARGS) { - ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), errmsg("The function of deleting audit logs is not supported."))); + TimestampTz begtime = PG_GETARG_TIMESTAMPTZ(0); + TimestampTz endtime = PG_GETARG_TIMESTAMPTZ(1); + + t_thrd.audit.Audit_delete = true; + + /* Check some permissions first */ + Oid roleid = GetUserId(); + if (!has_auditadmin_privilege(roleid)) { + ereport(ERROR, (errcode(ERRCODE_INSUFFICIENT_PRIVILEGE), errmsg("permission denied to delete audit"))); + } + + /* + * When t_thrd.audit.audit_indextbl is not NULL, + * but its origin memory context is NULL, free it will generate core + */ + t_thrd.audit.audit_indextbl = NULL; + pgaudit_read_indexfile(g_instance.attr.attr_security.Audit_directory); + + if (begtime < endtime && (t_thrd.audit.audit_indextbl != NULL) && t_thrd.audit.audit_indextbl->count > 0) { + bool satisfied = false; + uint32 index; + uint32 fnum; + AuditIndexItem* item = NULL; + + index = t_thrd.audit.audit_indextbl->begidx; + do { + item = t_thrd.audit.audit_indextbl->data + index; + fnum = item->filenum; + + /* check whether system changed when auditor write audit data to current file */ + satisfied = pgaudit_check_system(begtime, endtime, index); + if (satisfied) { + pgaudit_delete_file(fnum, begtime, endtime); + satisfied = false; + } + + if (index == t_thrd.audit.audit_indextbl->curidx) { + break; + } + + index = (index + 1) % t_thrd.audit.audit_indextbl->maxnum; + } while (true); + } + + if (t_thrd.audit.audit_indextbl) { + pfree(t_thrd.audit.audit_indextbl); + t_thrd.audit.audit_indextbl = NULL; + } + PG_RETURN_VOID(); } diff --git a/src/gausskernel/process/postmaster/pgstat.cpp b/src/gausskernel/process/postmaster/pgstat.cpp index 77c5a1a8b..9a0efe0fd 100644 --- a/src/gausskernel/process/postmaster/pgstat.cpp +++ b/src/gausskernel/process/postmaster/pgstat.cpp @@ -1508,8 +1508,7 @@ void pgstat_report_sql_rt(uint64 UniqueSQLId, int64 start_time, int64 rt) if (IS_SINGLE_NODE) { return; /* disable in single node tmp for performance issue */ } - if (g_instance.stat_cxt.pgStatSock == PGINVALID_SOCKET || !u_sess->attr.attr_common.enable_instr_rt_percentile || - strncmp(u_sess->attr.attr_common.application_name, "gs_clean", strlen("gs_clean") == 0)) + if (g_instance.stat_cxt.pgStatSock == PGINVALID_SOCKET || !u_sess->attr.attr_common.enable_instr_rt_percentile) return; pgstat_setheader(&msg.m_hdr, PGSTAT_MTYPE_RESPONSETIME); @@ -3024,7 +3023,6 @@ void pgstat_bestart(void) beentry->st_cgname = u_sess->wlm_cxt->control_group; beentry->st_stmtmem = 0; beentry->st_block_sessionid = 0; - beentry->statement_cxt = bind_statement_context(); beentry->st_connect_info = u_sess->pgxc_cxt.PoolerConnectionInfo; /* @@ -3043,6 +3041,7 @@ void pgstat_bestart(void) beentry->st_lw_is_cleanning_flag = false; pgstat_increment_changecount_after(beentry); + beentry->statement_cxt = bind_statement_context(); /* add remote node info */ if (u_sess->proc_cxt.MyProcPort != NULL) { @@ -3205,6 +3204,8 @@ static void pgstat_beshutdown_hook(int code, Datum arg) beentry->st_procpid = 0; /* mark pid invalid */ beentry->st_sessionid = 0; /* mark sessionid invalid */ + pgstat_increment_changecount_after(beentry); + /* * handle below cases: * if thread pool worker is shuting down, this hook is called previously, @@ -3223,8 +3224,6 @@ static void pgstat_beshutdown_hook(int code, Datum arg) release_statement_context(t_thrd.shemem_ptr_cxt.MyBEEntry, __FUNCTION__, __LINE__); } - pgstat_increment_changecount_after(beentry); - WaitUntilLWLockInfoNeverAccess(beentry); /* @@ -3262,9 +3261,9 @@ void pgstat_beshutdown_session(int ctrl_index) * compiler doesn't try to get cute. */ pgstat_increment_changecount_before(beentry); - beentry->st_procpid = 0; /* mark pid invalid */ beentry->st_sessionid = 0; /* mark sessionid invalid */ + pgstat_increment_changecount_after(beentry); /* * pgstat_beshutdown_session will be called in thread pool mode: @@ -3276,8 +3275,6 @@ void pgstat_beshutdown_session(int ctrl_index) */ release_statement_context(&t_thrd.shemem_ptr_cxt.BackendStatusArray[ctrl_index], __FUNCTION__, __LINE__); - pgstat_increment_changecount_after(beentry); - /* * During process exit, t_thrd.proc may have been cleared, so that * we can no longer hold LWlocks. @@ -3732,7 +3729,15 @@ bool CheckUserExist(Oid userId, bool removeCount) } return isExist; } - +#define UPDATE_SQL_COUNT(count, elapseTime) \ + do { \ + TimestampTz duration = GetCurrentTimestamp() - GetCurrentStatementLocalStartTimestamp(); \ + duration = (duration == 0) ? 1 : duration; \ + pg_atomic_fetch_add_u64(&(count), 1); \ + pg_atomic_fetch_add_u64(&((elapseTime).total_time), duration); \ + updateMaxValueForAtomicType(duration, &((elapseTime).max_time)); \ + updateMinValueForAtomicType(duration, &((elapseTime).min_time)); \ + } while (0) /* * @Description: according to wait_event_info to add sql count for user, * add action realize by pg_atomic_fetch_add_u64 function @@ -3802,60 +3807,20 @@ void pgstat_report_wait_count(unsigned int wait_event_info) WaitEventSQL w = (WaitEventSQL)wait_event_info; switch (w) { case WAIT_EVENT_SQL_SELECT: { - pg_atomic_fetch_add_u64(&(WaitCountStatusCell->WaitCountArray[dataid].wc_cnt.wc_sql_select), 1); - TimestampTz elapse_time = GetCurrentTimestamp() - GetCurrentStatementLocalStartTimestamp(); - pg_atomic_fetch_add_u64( - &(WaitCountStatusCell->WaitCountArray[dataid].wc_cnt.selectElapse.total_time), elapse_time); - int64 avg = - pg_atomic_read_u64(&(WaitCountStatusCell->WaitCountArray[dataid].wc_cnt.selectElapse.total_time)) / - pg_atomic_read_u64(&(WaitCountStatusCell->WaitCountArray[dataid].wc_cnt.wc_sql_select)); - pg_atomic_init_u64(&(WaitCountStatusCell->WaitCountArray[dataid].wc_cnt.selectElapse.avg_time), avg); - updateMaxValueForAtomicType( - elapse_time, &(WaitCountStatusCell->WaitCountArray[dataid].wc_cnt.selectElapse.max_time)); - updateMinValueForAtomicType( - elapse_time, &(WaitCountStatusCell->WaitCountArray[dataid].wc_cnt.selectElapse.min_time)); + UPDATE_SQL_COUNT(WaitCountStatusCell->WaitCountArray[dataid].wc_cnt.wc_sql_select, + WaitCountStatusCell->WaitCountArray[dataid].wc_cnt.selectElapse); } break; case WAIT_EVENT_SQL_UPDATE: { - pg_atomic_fetch_add_u64(&(WaitCountStatusCell->WaitCountArray[dataid].wc_cnt.wc_sql_update), 1); - TimestampTz elapse_time = GetCurrentTimestamp() - GetCurrentStatementLocalStartTimestamp(); - pg_atomic_fetch_add_u64( - &(WaitCountStatusCell->WaitCountArray[dataid].wc_cnt.updateElapse.total_time), elapse_time); - int64 avg = - pg_atomic_read_u64(&(WaitCountStatusCell->WaitCountArray[dataid].wc_cnt.updateElapse.total_time)) / - pg_atomic_read_u64(&(WaitCountStatusCell->WaitCountArray[dataid].wc_cnt.wc_sql_update)); - pg_atomic_init_u64(&(WaitCountStatusCell->WaitCountArray[dataid].wc_cnt.updateElapse.avg_time), avg); - updateMaxValueForAtomicType( - elapse_time, &(WaitCountStatusCell->WaitCountArray[dataid].wc_cnt.updateElapse.max_time)); - updateMinValueForAtomicType( - elapse_time, &(WaitCountStatusCell->WaitCountArray[dataid].wc_cnt.updateElapse.min_time)); + UPDATE_SQL_COUNT(WaitCountStatusCell->WaitCountArray[dataid].wc_cnt.wc_sql_update, + WaitCountStatusCell->WaitCountArray[dataid].wc_cnt.updateElapse); } break; case WAIT_EVENT_SQL_INSERT: { - pg_atomic_fetch_add_u64(&(WaitCountStatusCell->WaitCountArray[dataid].wc_cnt.wc_sql_insert), 1); - TimestampTz elapse_time = GetCurrentTimestamp() - GetCurrentStatementLocalStartTimestamp(); - pg_atomic_fetch_add_u64( - &(WaitCountStatusCell->WaitCountArray[dataid].wc_cnt.insertElapse.total_time), elapse_time); - updateMaxValueForAtomicType( - elapse_time, &(WaitCountStatusCell->WaitCountArray[dataid].wc_cnt.insertElapse.max_time)); - updateMinValueForAtomicType( - elapse_time, &(WaitCountStatusCell->WaitCountArray[dataid].wc_cnt.insertElapse.min_time)); - int64 avg = - pg_atomic_read_u64(&(WaitCountStatusCell->WaitCountArray[dataid].wc_cnt.insertElapse.total_time)) / - pg_atomic_read_u64(&(WaitCountStatusCell->WaitCountArray[dataid].wc_cnt.wc_sql_insert)); - pg_atomic_init_u64(&(WaitCountStatusCell->WaitCountArray[dataid].wc_cnt.insertElapse.avg_time), avg); + UPDATE_SQL_COUNT(WaitCountStatusCell->WaitCountArray[dataid].wc_cnt.wc_sql_insert, + WaitCountStatusCell->WaitCountArray[dataid].wc_cnt.insertElapse); } break; case WAIT_EVENT_SQL_DELETE: { - pg_atomic_fetch_add_u64(&(WaitCountStatusCell->WaitCountArray[dataid].wc_cnt.wc_sql_delete), 1); - TimestampTz elapse_time = GetCurrentTimestamp() - GetCurrentStatementLocalStartTimestamp(); - pg_atomic_fetch_add_u64( - &(WaitCountStatusCell->WaitCountArray[dataid].wc_cnt.deleteElapse.total_time), elapse_time); - updateMaxValueForAtomicType( - elapse_time, &(WaitCountStatusCell->WaitCountArray[dataid].wc_cnt.deleteElapse.max_time)); - updateMinValueForAtomicType( - elapse_time, &(WaitCountStatusCell->WaitCountArray[dataid].wc_cnt.deleteElapse.min_time)); - int64 avg = - pg_atomic_read_u64(&(WaitCountStatusCell->WaitCountArray[dataid].wc_cnt.deleteElapse.total_time)) / - pg_atomic_read_u64(&(WaitCountStatusCell->WaitCountArray[dataid].wc_cnt.wc_sql_delete)); - pg_atomic_init_u64(&(WaitCountStatusCell->WaitCountArray[dataid].wc_cnt.deleteElapse.avg_time), avg); + UPDATE_SQL_COUNT(WaitCountStatusCell->WaitCountArray[dataid].wc_cnt.wc_sql_delete, + WaitCountStatusCell->WaitCountArray[dataid].wc_cnt.deleteElapse); } break; case WAIT_EVENT_SQL_MERGEINTO: pg_atomic_fetch_add_u64(&(WaitCountStatusCell->WaitCountArray[dataid].wc_cnt.wc_sql_mergeinto), 1); @@ -6109,7 +6074,7 @@ done: */ void pgstat_setup_memcxt(void) { - if (!u_sess->stat_cxt.pgStatLocalContext) + if (u_sess->stat_cxt.pgStatLocalContext == NULL) u_sess->stat_cxt.pgStatLocalContext = AllocSetContextCreate(u_sess->top_mem_cxt, "Statistics snapshot", ALLOCSET_SMALL_MINSIZE, @@ -6117,6 +6082,14 @@ void pgstat_setup_memcxt(void) ALLOCSET_SMALL_MAXSIZE); } +void pgstat_clean_memcxt(void) +{ + if (u_sess->stat_cxt.pgStatLocalContext != NULL) { + MemoryContextDelete(u_sess->stat_cxt.pgStatLocalContext); + u_sess->stat_cxt.pgStatLocalContext = NULL; + } +} + static void pgstat_collect_thread_status_setup_memcxt(void) { Assert(u_sess->stat_cxt.pgStatLocalContext); @@ -6909,8 +6882,7 @@ void pgstat_update_responstime_singlenode(uint64 UniqueSQLId, int64 start_time, { int32 sqlRTIndex; - if (!u_sess->attr.attr_common.enable_instr_rt_percentile || - strncmp(u_sess->attr.attr_common.application_name, "gs_clean", strlen("gs_clean") == 0)) + if (!u_sess->attr.attr_common.enable_instr_rt_percentile) return; /* if the percentile thread is memory copying or memory is null, not record */ @@ -8280,6 +8252,7 @@ static void recursiveThreadMemoryContext(const volatile PGPROC* proc, const Memo { MemoryContext child; + bool checkLock = false; PG_TRY(); { /*check for pending interrupts before waiting.*/ @@ -8287,6 +8260,7 @@ static void recursiveThreadMemoryContext(const volatile PGPROC* proc, const Memo if (isShared) { MemoryContextLock(context); + checkLock = true; } /* calculate MemoryContext Stats */ @@ -8301,7 +8275,7 @@ static void recursiveThreadMemoryContext(const volatile PGPROC* proc, const Memo } PG_CATCH(); { - if (isShared) { + if (isShared && checkLock) { MemoryContextUnlock(context); } diff --git a/src/gausskernel/process/postmaster/postmaster.cpp b/src/gausskernel/process/postmaster/postmaster.cpp old mode 100755 new mode 100644 index 2716a6d58..90f44984a --- a/src/gausskernel/process/postmaster/postmaster.cpp +++ b/src/gausskernel/process/postmaster/postmaster.cpp @@ -199,7 +199,6 @@ #include "funcapi.h" #include "utils/memprot.h" #include "pgstat.h" -#include "utils/globalpreparestmt.h" #include "distributelayer/streamMain.h" #include "distributelayer/streamProducer.h" @@ -262,6 +261,7 @@ static bool isNeedGetLCName = true; #define PM_BUSY_ALARM_US 1000000L #define PM_POLL_TIMEOUT_SECOND 20 #define PM_POLL_TIMEOUT_MINUTE 58*SECS_PER_MINUTE*60*1000000L +#define CHECK_TIMES 10 static char gaussdb_state_file[MAXPGPATH] = {0}; @@ -1867,7 +1867,7 @@ int PostmasterMain(int argc, char* argv[]) write_nondefault_variables(PGC_POSTMASTER); #endif } -#ifdef ENABLE_MULTIPLE_NODES +#if defined (ENABLE_MULTIPLE_NODES) || defined (ENABLE_PRIVATEGAUSS) /* init hotpatch */ if (hotpatch_remove_signal_file(t_thrd.proc_cxt.DataDir) == HP_OK) { int ret; @@ -1976,18 +1976,9 @@ int PostmasterMain(int argc, char* argv[]) ALLOCSET_DEFAULT_INITSIZE, ALLOCSET_DEFAULT_MAXSIZE, SHARED_CONTEXT); - - g_instance.cache_cxt.global_cache_mem = AllocSetContextCreate(g_instance.instance_context, - "GlobalCacheMemory", - ALLOCSET_DEFAULT_MINSIZE, - ALLOCSET_DEFAULT_INITSIZE, - ALLOCSET_DEFAULT_MAXSIZE, - SHARED_CONTEXT, - DEFAULT_MEMORY_CONTEXT_MAX_SIZE, - false); - - g_instance.plan_cache = New(INSTANCE_GET_MEM_CXT_GROUP(MEMORY_CONTEXT_EXECUTOR)) GlobalPlanCache(); - g_instance.prepare_cache = New(INSTANCE_GET_MEM_CXT_GROUP(MEMORY_CONTEXT_EXECUTOR)) GlobalPrepareStmt(); + + /* create global cache memory context */ + knl_g_cachemem_create(); /* create node group cache hash table */ ngroup_info_hash_create(); @@ -3291,6 +3282,15 @@ int ProcessStartupPacket(Port* port, bool SSLdone) ereport(elevel, (errcode(ERRCODE_INVALID_PARAMETER_VALUE), errmsg("requested backend version is larger than grand version."))); + } else if (strcmp(nameptr, "enable_full_encryption") == 0) { + bool enable_ce = false; + if (!parse_bool(valptr, &enable_ce)) { + ereport(elevel, + (errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("invalid value for parameter \"enable_full_encryption\""), + errhint("Valid values are: 0, 1."))); + } + u_sess->attr.attr_common.enable_full_encryption = enable_ce; } else if (strcmp(nameptr, "connect_timeout") == 0) { errno = 0; const uint32 poolerConnectTimeoutMaxValue = 7200; /* Max value of pooler_connect_timeout */ @@ -3362,6 +3362,11 @@ int ProcessStartupPacket(Port* port, bool SSLdone) } else { ereport(DEBUG5, (errmsg("application %s connected", valptr))); } + + errno_t ssrc = strncpy_s(u_sess->proc_cxt.applicationName, NAMEDATALEN, valptr, NAMEDATALEN - 1); + if (ssrc != EOK) { + ereport(WARNING, (errmsg("Save app name %s failed in receive startup packet", valptr))); + } } /* Assume it's a generic GUC option */ port->guc_options = lappend(port->guc_options, pstrdup(nameptr)); @@ -3528,22 +3533,23 @@ int ProcessStartupPacket(Port* port, bool SSLdone) if ((!AM_WAL_SENDER && !(isMaintenanceConnection && (clientIsGsql || clientIsCmAgent || t_thrd.postmaster_cxt.senderToBuildStandby))) || t_thrd.postmaster_cxt.senderToDummyStandby) { -#ifdef ENABLE_MULTIPLE_NODES - if (STANDBY_MODE == hashmdata->current_mode) - ereport( - elevel, (errcode(ERRCODE_CANNOT_CONNECT_NOW), errmsg("can not accept connection in standby mode."))); - else if (PENDING_MODE == hashmdata->current_mode && !IS_PGXC_COORDINATOR) - ereport(elevel, (errcode(ERRCODE_CANNOT_CONNECT_NOW), - errmsg("can not accept connection in pending mode."))); -#else + if (PENDING_MODE == hashmdata->current_mode && !IS_PGXC_COORDINATOR) { ereport(elevel, (errcode(ERRCODE_CANNOT_CONNECT_NOW), - errmsg("can not accept connection in pending mode."))); - } else if (hashmdata->current_mode == STANDBY_MODE && !g_instance.attr.attr_storage.EnableHotStandby) { - ereport(elevel, (errcode(ERRCODE_CANNOT_CONNECT_NOW), - errmsg("can not accept connection if hot standby off"))); - } + errmsg("can not accept connection in pending mode."))); + } else { +#ifdef ENABLE_MULTIPLE_NODES + if (STANDBY_MODE == hashmdata->current_mode) { + ereport(elevel, (errcode(ERRCODE_CANNOT_CONNECT_NOW), + errmsg("can not accept connection in standby mode."))); + } +#else + if (hashmdata->current_mode == STANDBY_MODE && !g_instance.attr.attr_storage.EnableHotStandby) { + ereport(elevel, (errcode(ERRCODE_CANNOT_CONNECT_NOW), + errmsg("can not accept connection if hot standby off"))); + } #endif + } } if ((PM_RUN != pmState) && t_thrd.postmaster_cxt.senderToDummyStandby) { @@ -4305,6 +4311,17 @@ static void pmdie(SIGNAL_ARGS) pgaudit_system_stop_ok(FastShutdown); } + if (pmState == PM_STARTUP || pmState == PM_INIT) { + KillGraceThreads(); + WaitGraceThreadsExit(); + + // threading: do not clean sema, maybe other thread is using it. + cancelSemphoreRelease(); + cancelIpcMemoryDetach(); + + ExitPostmaster(0); + } + if (g_instance.pid_cxt.StartupPID != 0) signal_child(g_instance.pid_cxt.StartupPID, SIGTERM); @@ -5338,11 +5355,12 @@ static void reaper(SIGNAL_ARGS) if (XLogArchivingActive()) { if (pmState == PM_RUN) { g_instance.pid_cxt.PgArchPID = pgarch_start(); - }else if (pmState == PM_HOT_STANDBY) + }else if (pmState == PM_HOT_STANDBY) { obs_slot = getObsReplicationSlot(); if (obs_slot != NULL) { g_instance.pid_cxt.PgArchPID = pgarch_start(); } + } } continue; } @@ -6998,12 +7016,6 @@ static void handle_recovery_started() if (IS_PGXC_DATANODE && t_thrd.postmaster_cxt.HaShmData->current_mode != NORMAL_MODE && !IS_DN_WITHOUT_STANDBYS_MODE() && IsRemoteReadModeOn()) g_instance.pid_cxt.RemoteServicePID = initialize_util_thread(RPC_SERVICE); -#ifndef ENABLE_MULTIPLE_NODES - PMUpdateDBState(NORMAL_STATE, get_cur_mode(), get_cur_repl_num()); - ereport(LOG, - (errmsg("update gaussdb state file: db state(NORMAL_STATE), server mode(%s)", - wal_get_role_string(get_cur_mode())))); -#endif pmState = PM_RECOVERY; } } @@ -7017,12 +7029,10 @@ static void handle_begin_hot_standby() Assert(g_instance.pid_cxt.PgStatPID == 0); if (!dummyStandbyMode) g_instance.pid_cxt.PgStatPID = pgstat_start(); -#ifdef ENABLE_MULTIPLE_NODES PMUpdateDBState(NORMAL_STATE, get_cur_mode(), get_cur_repl_num()); ereport(LOG, (errmsg("update gaussdb state file: db state(NORMAL_STATE), server mode(%s)", wal_get_role_string(get_cur_mode())))); -#endif ereport(LOG, (errmsg("database system is ready to accept read only connections"))); @@ -7312,7 +7322,7 @@ static void sigusr1_handler(SIGNAL_ARGS) } } -#ifdef ENABLE_MULTIPLE_NODES +#if defined (ENABLE_MULTIPLE_NODES) || defined (ENABLE_PRIVATEGAUSS) check_and_process_hotpatch(); #endif @@ -9497,12 +9507,14 @@ static void check_and_reset_ha_listen_port(void) ListenSocketRegulation(); - if (t_thrd.postmaster_cxt.HaShmData != NULL && - t_thrd.postmaster_cxt.HaShmData->repl_list_num == 0 && +#ifndef ENABLE_MULTIPLE_NODES + if (t_thrd.postmaster_cxt.HaShmData != NULL && + t_thrd.postmaster_cxt.HaShmData->repl_list_num == 0 && t_thrd.postmaster_cxt.HaShmData->current_mode == PRIMARY_MODE) { t_thrd.postmaster_cxt.HaShmData->current_mode = NORMAL_MODE; SetServerMode(NORMAL_MODE); } +#endif } return; @@ -10170,6 +10182,9 @@ int GaussDbThreadMain(knl_thread_arg* arg) InitShmemAccess(UsedShmemSegAddr); t_thrd.proc_cxt.MyPMChildSlot = AssignPostmasterChildSlot(); + if (t_thrd.proc_cxt.MyPMChildSlot == -1) { + return STATUS_ERROR; + } /* Need a PGPROC to run CreateSharedMemoryAndSemaphores */ InitProcess(); @@ -10187,6 +10202,9 @@ int GaussDbThreadMain(knl_thread_arg* arg) InitShmemAccess(UsedShmemSegAddr); t_thrd.proc_cxt.MyPMChildSlot = AssignPostmasterChildSlot(); + if (t_thrd.proc_cxt.MyPMChildSlot == -1) { + return STATUS_ERROR; + } /* Need a PGPROC to run CreateSharedMemoryAndSemaphores */ InitProcess(); @@ -10209,6 +10227,9 @@ int GaussDbThreadMain(knl_thread_arg* arg) InitShmemAccess(UsedShmemSegAddr); t_thrd.proc_cxt.MyPMChildSlot = AssignPostmasterChildSlot(); + if (t_thrd.proc_cxt.MyPMChildSlot == -1) { + return STATUS_ERROR; + } /* Need a PGPROC to run CreateSharedMemoryAndSemaphores */ InitProcess(); @@ -10230,6 +10251,9 @@ int GaussDbThreadMain(knl_thread_arg* arg) InitShmemAccess(UsedShmemSegAddr); t_thrd.proc_cxt.MyPMChildSlot = AssignPostmasterChildSlot(); + if (t_thrd.proc_cxt.MyPMChildSlot == -1) { + return STATUS_ERROR; + } /* Need a PGPROC to run CreateSharedMemoryAndSemaphores */ InitProcess(); @@ -10289,6 +10313,9 @@ int GaussDbThreadMain(knl_thread_arg* arg) t_thrd.postmaster_cxt.IsRPCWorkerThread = true; t_thrd.proc_cxt.MyPMChildSlot = AssignPostmasterChildSlot(); + if (t_thrd.proc_cxt.MyPMChildSlot == -1) { + return STATUS_ERROR; + } InitProcessAndShareMemory(); @@ -10301,6 +10328,10 @@ int GaussDbThreadMain(knl_thread_arg* arg) InitShmemAccess(UsedShmemSegAddr); t_thrd.proc_cxt.MyPMChildSlot = AssignPostmasterChildSlot(); + if (t_thrd.proc_cxt.MyPMChildSlot == -1) { + return STATUS_ERROR; + } + InitProcess(); CreateSharedMemoryAndSemaphores(false, 0); SnapshotMain(); @@ -10310,6 +10341,10 @@ int GaussDbThreadMain(knl_thread_arg* arg) InitShmemAccess(UsedShmemSegAddr); t_thrd.proc_cxt.MyPMChildSlot = AssignPostmasterChildSlot(); + if (t_thrd.proc_cxt.MyPMChildSlot == -1) { + return STATUS_ERROR; + } + InitProcess(); CreateSharedMemoryAndSemaphores(false, 0); ActiveSessionCollectMain(); @@ -10319,6 +10354,10 @@ int GaussDbThreadMain(knl_thread_arg* arg) InitShmemAccess(UsedShmemSegAddr); t_thrd.proc_cxt.MyPMChildSlot = AssignPostmasterChildSlot(); + if (t_thrd.proc_cxt.MyPMChildSlot == -1) { + return STATUS_ERROR; + } + InitProcess(); CreateSharedMemoryAndSemaphores(false, 0); StatementFlushMain(); @@ -10328,6 +10367,10 @@ int GaussDbThreadMain(knl_thread_arg* arg) InitShmemAccess(UsedShmemSegAddr); t_thrd.proc_cxt.MyPMChildSlot = AssignPostmasterChildSlot(); + if (t_thrd.proc_cxt.MyPMChildSlot == -1) { + return STATUS_ERROR; + } + InitProcess(); CreateSharedMemoryAndSemaphores(false, 0); PercentileMain(); @@ -10356,6 +10399,9 @@ int GaussDbThreadMain(knl_thread_arg* arg) case BARRIER_CREATOR: { if (START_BARRIER_CREATOR) { t_thrd.proc_cxt.MyPMChildSlot = AssignPostmasterChildSlot(); + if (t_thrd.proc_cxt.MyPMChildSlot == -1) { + return STATUS_ERROR; + } InitProcessAndShareMemory(); barrier_creator_main(); proc_exit(0); @@ -10371,6 +10417,10 @@ int GaussDbThreadMain(knl_thread_arg* arg) case STREAMING_BACKEND: { t_thrd.proc_cxt.MyPMChildSlot = AssignPostmasterChildSlot(); + if (t_thrd.proc_cxt.MyPMChildSlot == -1) { + return STATUS_ERROR; + } + InitProcessAndShareMemory(); streaming_backend_main(arg); proc_exit(0); @@ -10379,6 +10429,10 @@ int GaussDbThreadMain(knl_thread_arg* arg) case CSNMIN_SYNC: { if (GTM_LITE_CN) { t_thrd.proc_cxt.MyPMChildSlot = AssignPostmasterChildSlot(); + if (t_thrd.proc_cxt.MyPMChildSlot == -1) { + return STATUS_ERROR; + } + InitProcessAndShareMemory(); csnminsync_main(); proc_exit(0); @@ -10621,6 +10675,8 @@ Datum disable_conn(PG_FUNCTION_ARGS) knl_g_disconn_node_context_data disconn_node; text* arg0 = (text*)PG_GETARG_DATUM(0); text* arg1 = (text*)PG_GETARG_DATUM(1); + bool redoDone = false; + int checkTimes = CHECK_TIMES; if (arg0 == NULL) { ereport( ERROR, (errcode(ERRCODE_INVALID_ATTRIBUTE), errmsg("Invalid null pointer attribute for disable_conn()"))); @@ -10656,7 +10712,16 @@ Datum disable_conn(PG_FUNCTION_ARGS) * Sleep 0.5s is an auxiliary way to check whether all xlog has been redone. */ if (disconn_node.conn_mode == PROHIBIT_CONNECTION) { - if(!knl_g_get_redo_finish_status()) { + while (checkTimes--) { + if (knl_g_get_redo_finish_status()) { + redoDone = true; + break; + } + ereport(LOG, (errmsg("%d redo_done", redoDone))); + sleep(0.01); + } + ereport(LOG, (errmsg("%d redo_done", redoDone))); + if (!redoDone) { g_instance.comm_cxt.localinfo_cxt.need_disable_connection_node = true; ereport(ERROR, (errcode_for_file_access(), errmsg("could not add lock when DN is not redo all xlog, redo done flag is false"))); @@ -10721,6 +10786,7 @@ Datum disable_conn(PG_FUNCTION_ARGS) SpinLockAcquire(&g_instance.comm_cxt.localinfo_cxt.disable_conn_node.info_lck); g_instance.comm_cxt.localinfo_cxt.disable_conn_node.disable_conn_node_data = disconn_node; SpinLockRelease(&g_instance.comm_cxt.localinfo_cxt.disable_conn_node.info_lck); + ereport(LOG, (errcode(ERRCODE_LOG), errmsg("disable_conn set mode to %s", disconn_mode))); PG_RETURN_VOID(); } diff --git a/src/gausskernel/process/postmaster/remoteservice.cpp b/src/gausskernel/process/postmaster/remoteservice.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/process/postmaster/startup.cpp b/src/gausskernel/process/postmaster/startup.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/process/postmaster/syslogger.cpp b/src/gausskernel/process/postmaster/syslogger.cpp old mode 100755 new mode 100644 index 8ac33659c..38e984a6e --- a/src/gausskernel/process/postmaster/syslogger.cpp +++ b/src/gausskernel/process/postmaster/syslogger.cpp @@ -1795,9 +1795,7 @@ static void LogCtlCreateLogParentDirectory(void) */ (void)chmod(logdir, S_IRWXU); } else if (EEXIST != errno) { - ereport(FATAL, - (errmsg( - "could not create log directory \"%s\": %s\n", logdir, gs_strerror(errno)))); + ereport(FATAL, (errmsg("could not create log directory \"%s\": %s\n", logdir, gs_strerror(errno)))); } pfree(logdir); diff --git a/src/gausskernel/process/postmaster/twophasecleaner.cpp b/src/gausskernel/process/postmaster/twophasecleaner.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/process/stream/execStream.cpp b/src/gausskernel/process/stream/execStream.cpp index c685c9937..a78abb25b 100644 --- a/src/gausskernel/process/stream/execStream.cpp +++ b/src/gausskernel/process/stream/execStream.cpp @@ -337,7 +337,7 @@ static StreamSharedContext* buildLocalStreamContext(Stream* streamNode, PlannedS securec_check_ss(rc, "", ""); /* Create a shared memory context for local stream in-memory data exchange. */ - localStreamMemoryCtx = AllocSetContextCreate(t_thrd.mem_cxt.data_exchange_mem_cxt, + localStreamMemoryCtx = AllocSetContextCreate(u_sess->stream_cxt.data_exchange_mem_cxt, context_name, ALLOCSET_DEFAULT_MINSIZE, ALLOCSET_DEFAULT_INITSIZE, @@ -675,7 +675,8 @@ static void InitStream(StreamFlowCtl* ctl, StreamTransType transType) if (ctl->dummyThread == false) { /* Initialize the consumer object. */ for (i = 0; i < streamNode->smpDesc.consumerDop; i++) { - consumer = New(t_thrd.mem_cxt.stream_runtime_mem_cxt) StreamConsumer(t_thrd.mem_cxt.stream_runtime_mem_cxt); + consumer = New(u_sess->stream_cxt.stream_runtime_mem_cxt) StreamConsumer( + u_sess->stream_cxt.stream_runtime_mem_cxt); /* Set smp identifier. */ key.smpIdentifier = i; @@ -714,8 +715,8 @@ static void InitStream(StreamFlowCtl* ctl, StreamTransType transType) for (i = 0; i < streamNode->smpDesc.producerDop; i++) { /* Set smp identifier. */ key.smpIdentifier = i; - producer = New(t_thrd.mem_cxt.stream_runtime_mem_cxt) StreamProducer( - key, pstmt, streamNode, t_thrd.mem_cxt.stream_runtime_mem_cxt, producerConnNum, transType); + producer = New(u_sess->stream_cxt.stream_runtime_mem_cxt) StreamProducer( + key, pstmt, streamNode, u_sess->stream_cxt.stream_runtime_mem_cxt, producerConnNum, transType); producer->setSharedContext(sharedContext); producer->setUniqueSQLKey(u_sess->unique_sql_cxt.unique_sql_id, u_sess->unique_sql_cxt.unique_sql_user_id, u_sess->unique_sql_cxt.unique_sql_cn_id); @@ -733,8 +734,8 @@ static void InitStream(StreamFlowCtl* ctl, StreamTransType transType) } } else { key.smpIdentifier = 0; - producer = New(t_thrd.mem_cxt.stream_runtime_mem_cxt) - StreamProducer(key, pstmt, streamNode, t_thrd.mem_cxt.stream_runtime_mem_cxt, consumerNum, transType); + producer = New(u_sess->stream_cxt.stream_runtime_mem_cxt) + StreamProducer(key, pstmt, streamNode, u_sess->stream_cxt.stream_runtime_mem_cxt, consumerNum, transType); producer->setUniqueSQLKey(u_sess->unique_sql_cxt.unique_sql_id, u_sess->unique_sql_cxt.unique_sql_user_id, u_sess->unique_sql_cxt.unique_sql_cn_id); producerSMPList = lappend(producerSMPList, producer); @@ -925,16 +926,16 @@ static void InitStreamFlow(StreamFlowCtl* ctl) void DeinitStreamContext() { /* Reset the stream runtime context now for next query. */ - if (t_thrd.mem_cxt.stream_runtime_mem_cxt != NULL) { - MemoryContextDelete(t_thrd.mem_cxt.stream_runtime_mem_cxt); - t_thrd.mem_cxt.stream_runtime_mem_cxt = NULL; + if (u_sess->stream_cxt.stream_runtime_mem_cxt != NULL) { + MemoryContextDelete(u_sess->stream_cxt.stream_runtime_mem_cxt); + u_sess->stream_cxt.stream_runtime_mem_cxt = NULL; } if (IS_PGXC_DATANODE) { /* Reset the shared memory context now for next query. */ - if (t_thrd.mem_cxt.data_exchange_mem_cxt != NULL) { - MemoryContextDelete(t_thrd.mem_cxt.data_exchange_mem_cxt); - t_thrd.mem_cxt.data_exchange_mem_cxt = NULL; + if (u_sess->stream_cxt.data_exchange_mem_cxt != NULL) { + MemoryContextDelete(u_sess->stream_cxt.data_exchange_mem_cxt); + u_sess->stream_cxt.data_exchange_mem_cxt = NULL; } } } @@ -952,7 +953,7 @@ void InitStreamContext() /* Append tid to identify each postgres thread. */ rc = snprintf_s(context_name, NAMEDATALEN, NAMEDATALEN - 1, "StreamRuntimeContext__%lu", u_sess->debug_query_id); securec_check_ss(rc, "\0", "\0"); - t_thrd.mem_cxt.stream_runtime_mem_cxt = AllocSetContextCreate(g_instance.instance_context, + u_sess->stream_cxt.stream_runtime_mem_cxt = AllocSetContextCreate(g_instance.instance_context, context_name, ALLOCSET_DEFAULT_MINSIZE, ALLOCSET_DEFAULT_INITSIZE, @@ -964,7 +965,7 @@ void InitStreamContext() rc = snprintf_s( context_name, NAMEDATALEN, NAMEDATALEN - 1, "MemoryDataExchangeContext_%lu", u_sess->debug_query_id); securec_check_ss(rc, "\0", "\0"); - t_thrd.mem_cxt.data_exchange_mem_cxt = AllocSetContextCreate(g_instance.instance_context, + u_sess->stream_cxt.data_exchange_mem_cxt = AllocSetContextCreate(g_instance.instance_context, context_name, ALLOCSET_DEFAULT_MINSIZE, ALLOCSET_DEFAULT_INITSIZE, @@ -990,15 +991,15 @@ void BuildStreamFlow(PlannedStmt* plan) StreamProducer* producer = NULL; if (plan->num_streams > 0 && u_sess->stream_cxt.global_obj == NULL) { - AutoContextSwitch streamCxtGuard(t_thrd.mem_cxt.stream_runtime_mem_cxt); + AutoContextSwitch streamCxtGuard(u_sess->stream_cxt.stream_runtime_mem_cxt); int threadNum = 0; List* topConsumerList = NULL; /* Hold interrupts during stream connection and thread initialization. */ HOLD_INTERRUPTS(); - u_sess->stream_cxt.global_obj = New(t_thrd.mem_cxt.stream_runtime_mem_cxt) StreamNodeGroup(); - u_sess->stream_cxt.global_obj->m_streamRuntimeContext = t_thrd.mem_cxt.stream_runtime_mem_cxt; + u_sess->stream_cxt.global_obj = New(u_sess->stream_cxt.stream_runtime_mem_cxt) StreamNodeGroup(); + u_sess->stream_cxt.global_obj->m_streamRuntimeContext = u_sess->stream_cxt.stream_runtime_mem_cxt; StreamFlowCtl ctl; ctl.pstmt = plan; @@ -2089,10 +2090,6 @@ StreamState* BuildStreamRuntime(Stream* node, EState* estate, int eflags) ExecAssignResultTypeFromTL(&stream_state->ss.ps); } - /* Stream runtime only set up on datanode. */ - if (IS_PGXC_DATANODE) - SetupStreamRuntime(stream_state); - /* Set up underlying execution nodes on coordinator nodes */ #ifdef ENABLE_MULTIPLE_NODES if (IS_PGXC_COORDINATOR) { diff --git a/src/gausskernel/process/stream/streamCore.cpp b/src/gausskernel/process/stream/streamCore.cpp index f873e8fd2..2952d0a80 100644 --- a/src/gausskernel/process/stream/streamCore.cpp +++ b/src/gausskernel/process/stream/streamCore.cpp @@ -346,9 +346,7 @@ StreamNodeGroup::StreamNodeGroup() pthread_mutex_init(&m_mutex, NULL); pthread_mutex_init(&m_recursiveMutex, NULL); pthread_cond_init(&m_cond, NULL); - m_pid = gs_thread_self(); - m_streamPairList = NULL; m_streamConsumerList = NULL; m_streamProducerList = NULL; @@ -358,6 +356,9 @@ StreamNodeGroup::StreamNodeGroup() m_quitWaitCond = 0; m_edataWriteProtect = EDATA_WRITE_ENABLE; m_producerEdata = NULL; +#ifndef ENABLE_MULTIPLE_NODES + m_portal = NULL; +#endif } StreamNodeGroup::~StreamNodeGroup() @@ -371,8 +372,6 @@ StreamNodeGroup::~StreamNodeGroup() */ void StreamNodeGroup::Init(int threadNum) { - bool found = false; - AutoMutexLock streamLock(&m_streamNodeGroupLock); m_size = threadNum + 1; /* all stream thead + top consumer thread */ m_streamArray = (StreamNode*)palloc0(sizeof(StreamNode) * m_size); for (int i = 0; i < m_size; i++) @@ -380,7 +379,9 @@ void StreamNodeGroup::Init(int threadNum) /* all stream thead + top consumer thread. */ m_quitWaitCond = m_size; - +#ifdef ENABLE_MULTIPLE_NODES + bool found = false; + AutoMutexLock streamLock(&m_streamNodeGroupLock); /* register the node group now */ streamLock.lock(); StreamNodeElement* element = (StreamNodeElement*)hash_search(m_streamNodeGroupTbl, &m_pid, HASH_ENTER, &found); @@ -391,6 +392,7 @@ void StreamNodeGroup::Init(int threadNum) element->value = this; element->key = gs_thread_self(); streamLock.unLock(); +#endif } /* @@ -417,10 +419,10 @@ void StreamNodeGroup::StartUp() nodectl.entrysize = sizeof(StreamNodeElement); nodectl.hash = tag_hash; nodectl.hcxt = m_memoryGlobalCxt; - +#ifdef ENABLE_MULTIPLE_NODES m_streamNodeGroupTbl = hash_create("stream node group lookup hash", 256, &nodectl, HASH_ELEM | HASH_FUNCTION | HASH_SHRCTX); - +#endif pthread_mutex_init(&m_streamNodeGroupLock, NULL); /* init the stream connect sync table ctl */ @@ -458,7 +460,7 @@ int StreamNodeGroup::registerStream(StreamObj* obj) Assert(m_streamNum <= m_size); return streamIdx; } else { - AutoContextSwitch streamContext(t_thrd.mem_cxt.stream_runtime_mem_cxt); + AutoContextSwitch streamContext(u_sess->stream_cxt.stream_runtime_mem_cxt); m_streamArray[0].stopFlag = &u_sess->exec_cxt.executor_stop_flag; m_streamArray[0].consumerList = lcons(obj, m_streamArray[0].consumerList); m_streamArray[0].status = STREAM_INPROGRESS; @@ -881,6 +883,11 @@ void StreamNodeGroup::destroy(StreamObjStatus status) /* Destroy the stream node group. */ if (u_sess->stream_cxt.global_obj != NULL) { +#ifndef ENABLE_MULTIPLE_NODES + if (u_sess->stream_cxt.global_obj->m_portal != NULL) { + u_sess->stream_cxt.global_obj->m_portal->streamInfo.streamGroup = NULL; + } +#endif u_sess->stream_cxt.global_obj->deInit(status); delete u_sess->stream_cxt.global_obj; u_sess->stream_cxt.global_obj = NULL; @@ -1035,14 +1042,14 @@ void StreamNodeGroup::deInit(StreamObjStatus status) */ if ((list_length(m_streamPairList) != m_size) || m_needClean) StreamObj::releaseNetPortInHashTable(); - +#ifdef ENABLE_MULTIPLE_NODES ThreadId pid = gs_thread_self(); AutoMutexLock streamLock2(&m_streamNodeGroupLock); streamLock2.lock(); (StreamNodeElement*)hash_search(m_streamNodeGroupTbl, &pid, HASH_REMOVE, NULL); streamLock2.unLock(); - +#endif pthread_cond_destroy(&m_cond); pthread_mutex_destroy(&m_mutex); pthread_mutex_destroy(&m_recursiveMutex); @@ -1795,7 +1802,7 @@ void StreamNodeGroup::MarkRecursiveVfdInvalid() bool InitStreamObject(PlannedStmt* planStmt) { /* if plan contains stream node, shoule initial some object */ - if (planStmt->num_streams > 0 && !StreamTopConsumerAmI()) { + if (planStmt->num_streams > 0 && !StreamTopConsumerAmI() && !StreamThreadAmI()) { /* Set top consumer at the very beginning. */ StreamTopConsumerIam(); /* Build stream context for stream plan. */ diff --git a/src/gausskernel/process/stream/streamMain.cpp b/src/gausskernel/process/stream/streamMain.cpp index f917fa635..2bffd7217 100644 --- a/src/gausskernel/process/stream/streamMain.cpp +++ b/src/gausskernel/process/stream/streamMain.cpp @@ -109,6 +109,7 @@ int StreamMain() while (true) { if (IS_THREAD_POOL_STREAM) { + pgstat_report_activity(STATE_IDLE, NULL); pgstat_report_waitstatus(STATE_WAIT_COMM); t_thrd.threadpool_cxt.stream->WaitMission(); pgstat_report_waitstatus(STATE_WAIT_UNDEFINED); diff --git a/src/gausskernel/process/tcop/auditfuncs.cpp b/src/gausskernel/process/tcop/auditfuncs.cpp index 082fd01b8..840f71124 100644 --- a/src/gausskernel/process/tcop/auditfuncs.cpp +++ b/src/gausskernel/process/tcop/auditfuncs.cpp @@ -728,7 +728,11 @@ static void pgaudit_ddl_full_encryption_key(const char* cmdtext) return; } - pgaudit_ddl_database_object(audit_type, audit_result, "full_encryption_key", cmdtext); + char *making_query = (char *)mask_encrypted_key(cmdtext, strlen(cmdtext)); + pgaudit_ddl_database_object(audit_type, audit_result, "full_encryption_key", making_query); + if (making_query != cmdtext) { + selfpfree(making_query); + } return; } diff --git a/src/gausskernel/process/tcop/autonomoustransaction.cpp b/src/gausskernel/process/tcop/autonomoustransaction.cpp index 2f93032b0..47bec43de 100644 --- a/src/gausskernel/process/tcop/autonomoustransaction.cpp +++ b/src/gausskernel/process/tcop/autonomoustransaction.cpp @@ -41,6 +41,7 @@ bool ATManager::AddSession() SpinLockAcquire(&m_lock); if (m_sessioncnt < (uint32)g_instance.attr.attr_storage.max_concurrent_autonomous_transactions) { ++m_sessioncnt; + ereport(DEBUG2, (errmodule(MOD_PLSQL), errmsg("autonomous transaction inc session : %d", m_sessioncnt))); bok = true; } SpinLockRelease(&m_lock); @@ -53,6 +54,7 @@ void ATManager::RemoveSession() SpinLockAcquire(&m_lock); if (m_sessioncnt > 0) { --m_sessioncnt; + ereport(DEBUG2, (errmodule(MOD_PLSQL), errmsg("autonomous transaction dec session : %d", m_sessioncnt))); } SpinLockRelease(&m_lock); } @@ -112,7 +114,9 @@ void AutonomousSession::CloseSession(void) } m_manager->RemoveSession(); - PQfinish(m_conn); + PGconn* conn = m_conn; + m_conn = NULL; + PQfinish(conn); if (m_res != NULL) { PQclear(m_res); @@ -169,6 +173,27 @@ void AutonomousSession::CreateSession(const char* conninfo) ereport(DEBUG2, (errmodule(MOD_PLSQL), errmsg("autonomous transaction create session : %s", conninfo))); } +void AutonomousSession::Attach(void) +{ + ++m_refcount; + ereport(DEBUG2, (errmodule(MOD_PLSQL), errmsg("autonomous transaction inc ref : %d", m_refcount))); +} + +void AutonomousSession::Detach(void) +{ + if (m_refcount > 0) { + --m_refcount; + ereport(DEBUG2, (errmodule(MOD_PLSQL), errmsg("autonomous transaction dec ref : %d", m_refcount))); + } else { + ereport(DEBUG2, (errmodule(MOD_PLSQL), errmsg("autonomous transaction invalid dec ref"))); + } + + if (m_refcount == 0) { + CloseSession(); + } +} + + ATResult HandlePGResult(PGconn* conn, PGresult* pgresult) { if (unlikely(conn == NULL || pgresult == NULL)) { @@ -233,23 +258,6 @@ ATResult HandlePGResult(PGconn* conn, PGresult* pgresult) return res; } -bool IsValidAutonomousTransaction(const PLpgSQL_execstate* estate, const PLpgSQL_stmt_block* block) -{ - if (unlikely(estate == NULL || block == NULL)) { - return false; - } - if (block->exceptions != NULL) { - ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("Un-support feature : Autonomous transaction don't support exception"))); - } - if (estate->func->fn_is_trigger) { - ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("Un-support feature : Trigger don't support autonomous transaction"))); - } - - return true; -} - void InitPQParamInfo(PQ_ParamInfo* pinfo, int n) { if (pinfo == NULL) { @@ -291,4 +299,84 @@ void FreePQParamInfo(PQ_ParamInfo* pinfo) pfree(pinfo); } +bool IsValidAutonomousTransaction(const PLpgSQL_execstate* estate, const PLpgSQL_stmt_block* block) +{ + if (unlikely(estate == NULL || block == NULL)) { + return false; + } + if (block->exceptions != NULL) { + ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("Un-support feature : Autonomous transaction don't support exception"))); + } + if (estate->func->fn_is_trigger) { + ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("Un-support feature : Trigger don't support autonomous transaction"))); + } + + return true; +} + +bool IsAutonomousTransaction(const PLpgSQL_execstate* estate, const PLpgSQL_stmt_block* block) +{ + /* + * in outer block of plpgsql using block->autonomous to identify autonomus, + * in subblock of plpgsql using estate->autonomous_session. + * ---------------------------------------------------- + CREATE FUNCTION ff_subblock() RETURNS void AS $$ + DECLARE + PRAGMA AUTONOMOUS_TRANSACTION; + BEGIN <> + BEGIN <> + insert into tt01 values(1); + END; + BEGIN <> + insert into tt01 values(2); + END; + END; + $$ LANGUAGE plpgsql; + * ---------------------------------------------------- + */ + return (block->autonomous || estate->autonomous_session); +} + +bool IsValidAutonomousTransactionQuery(PLpgSQL_exectype exectype, const PLpgSQL_expr* stmtexpr, bool isinto) +{ + if (exectype == STMT_UNKNOW) { + return false; + } + if (unlikely(stmtexpr == NULL)) { + ereport(ERROR, (errcode(ERRCODE_PLPGSQL_ERROR), errmsg("null stmt expr in autonomous transactions"))); + } + if (isinto) { + ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("Un-support feature : Autonomous transaction don't support 'into' clause"), + errdetail("%s", stmtexpr->query))); + } + if (stmtexpr->paramnos != NULL && exectype != STMT_DYNAMIC) { + ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("Un-support feature : Autonomous transaction don't support sql command with parameter"), + errdetail("%s", stmtexpr->query))); + } + + return true; +} + +void AttachToAutonomousSession(PLpgSQL_execstate* estate, const PLpgSQL_stmt_block* block) +{ + if (IsValidAutonomousTransaction(estate, block)) { + if (estate->autonomous_session == NULL) { + estate->autonomous_session = (AutonomousSession*)palloc(sizeof(AutonomousSession)); + estate->autonomous_session->Init(&g_atManager); + } + estate->autonomous_session->Attach(); + } +} + +void DetachToAutonomousSession(const PLpgSQL_execstate* estate) +{ + if (estate->autonomous_session) { + estate->autonomous_session->Detach(); + } +} + /* end of file */ diff --git a/src/gausskernel/process/tcop/dest.cpp b/src/gausskernel/process/tcop/dest.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/process/tcop/fastpath.cpp b/src/gausskernel/process/tcop/fastpath.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/process/tcop/postgres.cpp b/src/gausskernel/process/tcop/postgres.cpp old mode 100755 new mode 100644 index 210919526..73d7459a8 --- a/src/gausskernel/process/tcop/postgres.cpp +++ b/src/gausskernel/process/tcop/postgres.cpp @@ -57,6 +57,7 @@ #include "libpq/libpq.h" #include "libpq/pqformat.h" #include "libpq/pqsignal.h" +#include "libpq/crypt.h" #include "miscadmin.h" #include "nodes/print.h" #include "optimizer/planner.h" @@ -165,7 +166,6 @@ extern int optreset; /* might not be declared by system headers */ #include "utils/syscache.h" #include "access/heapam.h" #include "utils/plancache.h" -#include "utils/globalpreparestmt.h" #include "commands/tablecmds.h" #include "catalog/gs_matview.h" #include "streaming/dictcache.h" @@ -253,7 +253,6 @@ static bool IsTransactionExitStmtList(List* parseTrees); static bool IsTransactionStmtList(List* parseTrees); static void drop_unnamed_stmt(void); static void SigHupHandler(SIGNAL_ARGS); -static void log_disconnections(int code, Datum arg); static void ForceModifyInitialPwd(const char* query_string, List* parsetree_list); static void ForceModifyExpiredPwd(const char* queryString, const List* parsetreeList); #ifdef ENABLE_MULTIPLE_NODES @@ -625,6 +624,7 @@ static int SocketBackend(StringInfo inBuf) case 'a': /* Not reach : Trigger shipped to DN */ case 'k': /* Global session ID */ case 'z': /* PBE for DDL */ + case 'y': /* sequence from cn 2 dn */ break; #endif @@ -635,7 +635,7 @@ static int SocketBackend(StringInfo inBuf) * fatal because we have probably lost message boundary sync, and * there's no good way to recover. */ - ereport(FATAL, (errcode(ERRCODE_PROTOCOL_VIOLATION), errmsg("invalid frontend message type %d", qtype))); + ereport(FATAL, (errcode(ERRCODE_PROTOCOL_VIOLATION), errmsg("invalid frontend message type %c", qtype))); break; } @@ -2226,7 +2226,7 @@ static void exec_simple_query(const char* query_string, MessageType messageType, /* * Before executor, check the status of password. */ - if (u_sess->attr.attr_security.Modify_initial_password && !t_thrd.postgres_cxt.password_changed) { + if (!t_thrd.postgres_cxt.password_changed) { ForceModifyInitialPwd((const char*)query_string, parsetree_list); } @@ -2310,6 +2310,10 @@ static void exec_simple_query(const char* query_string, MessageType messageType, if (is_unique_sql_enabled() && !IsConnFromCoord() && query_string_single != NULL) { u_sess->unique_sql_cxt.is_multi_unique_sql = true; u_sess->unique_sql_cxt.curr_single_unique_sql = query_string_single[stmt_num - 1]; + if (stmt_num > 1 && stmt_num <= list_length(query_string_locationlist)) { + u_sess->unique_sql_cxt.multi_sql_offset = + list_nth_int(query_string_locationlist, stmt_num - 2) + 1; + } } } @@ -2492,7 +2496,7 @@ static void exec_simple_query(const char* query_string, MessageType messageType, OpFusion::getFusionType(NULL, NULL, plantree_list), oldcontext, NULL, plantree_list, NULL); if (opFusionObj != NULL) { ((OpFusion*)opFusionObj)->setCurrentOpFusionObj((OpFusion*)opFusionObj); - if (OpFusion::process(FUSION_EXECUTE, NULL, completionTag, isTopLevel)) { + if (OpFusion::process(FUSION_EXECUTE, NULL, completionTag, isTopLevel, NULL)) { CommandCounterIncrement(); finish_xact_command(); EndCommand(completionTag, dest); @@ -2629,11 +2633,6 @@ static void exec_simple_query(const char* query_string, MessageType messageType, * aborted by error will not send an EndCommand report at all.) */ EndCommand(completionTag, dest); -#ifndef ENBALE_MULTIPLE_NODE - /* Set sync point for waiting all stream threads complete. */ - StreamNodeGroup::syncQuit(STREAM_COMPLETE); - UnRegisterStreamSnapshots(); -#endif MemoryContextReset(OptimizerContext); } /* end loop over parsetrees */ @@ -3158,6 +3157,9 @@ static void exec_parse_message(const char* query_string, /* string to execute */ */ start_xact_command(); + if (ENABLE_DN_GPC) + CleanSessGPCPtr(u_sess); + /* * Switch to appropriate context for constructing parsetrees. * @@ -3181,8 +3183,11 @@ static void exec_parse_message(const char* query_string, /* string to execute */ if (plansource != NULL) { if (ENABLE_CN_GPC) StorePreparedStatementCNGPC(stmt_name, plansource, false, true); - else - g_instance.prepare_cache->Store(stmt_name, plansource, false, true); + else { + u_sess->pcache_cxt.cur_stmt_psrc = plansource; + if (g_instance.plan_cache->CheckRecreateCachePlan(plansource)) + g_instance.plan_cache->RecreateCachePlan(plansource, stmt_name, NULL, NULL, NULL); + } goto pass_parsing; } } @@ -3703,9 +3708,7 @@ static int getSingleNodeIdx(StringInfo input_message, CachedPlanSource* psrc, co } /* Make sure the querytree list is valid and we have parse-time locks */ - if (!ENABLE_CN_GPC) { - RevalidateCachedQuery(psrc); - } + RevalidateCachedQuery(psrc); if (!psrc->single_exec_node) { ereport(LOG, (errmsg("[LIGHT PROXY] distribute key of table in cached plan is changed"))); @@ -4054,10 +4057,16 @@ static void exec_bind_message(StringInfo input_message) /* Find prepared statement */ if (stmt_name[0] != '\0') { - PreparedStatement *pstmt = NULL; - - pstmt = FetchPreparedStatement(stmt_name, true, true); - psrc = pstmt->plansource; + if (ENABLE_DN_GPC) { + psrc = u_sess->pcache_cxt.cur_stmt_psrc; + if (SECUREC_UNLIKELY(psrc == NULL)) + ereport(ERROR, (errcode(ERRCODE_UNDEFINED_PSTATEMENT), + errmsg("dn gpc's prepared statement %s does not exist", stmt_name))); + } else { + PreparedStatement *pstmt = NULL; + pstmt = FetchPreparedStatement(stmt_name, true, true); + psrc = pstmt->plansource; + } } else { /* special-case the unnamed statement */ psrc = u_sess->pcache_cxt.unnamed_stmt_psrc; @@ -4122,7 +4131,7 @@ static void exec_bind_message(StringInfo input_message) if (psrc->opFusionObj != NULL) { Assert(psrc->cplan == NULL); - ((OpFusion*)psrc->opFusionObj)->bindClearPosition(); + ((OpFusion*)psrc->opFusionObj)->clean(); ((OpFusion*)psrc->opFusionObj)->updatePreAllocParamter(input_message); ((OpFusion*)psrc->opFusionObj)->setCurrentOpFusionObj((OpFusion*)psrc->opFusionObj); if (portal_name[0] != '\0') @@ -4183,9 +4192,7 @@ static void exec_bind_message(StringInfo input_message) } } else { if (portal_name[0] != '\0') { - MemoryContext old_cxt = MemoryContextSwitchTo(scn->m_context); - scn->storeLightProxy(pstrdup(portal_name)); - MemoryContextSwitchTo(old_cxt); + scn->storeLightProxy(portal_name); } } if (enable_gpc) { @@ -4519,12 +4526,16 @@ static void exec_bind_message(StringInfo input_message) */ PortalDefineQuery(portal, saved_stmt_name, query_string, psrc->commandTag, cplan->stmt_list, cplan); + if (ENABLE_GPC && psrc->gplan) { + portal->stmts = CopyLocalStmt(cplan->stmt_list, u_sess->top_portal_cxt, &portal->copyCxt); + } + if (IS_PGXC_DATANODE && psrc->cplan == NULL && psrc->is_checked_opfusion == false) { psrc->opFusionObj = OpFusion::FusionFactory(OpFusion::getFusionType(cplan, params, NULL), u_sess->cache_mem_cxt, psrc, NULL, params); psrc->is_checked_opfusion = true; if (psrc->opFusionObj != NULL) { - ((OpFusion*)psrc->opFusionObj)->bindClearPosition(); + ((OpFusion*)psrc->opFusionObj)->clean(); ((OpFusion*)psrc->opFusionObj)->useOuterParameter(params); ((OpFusion*)psrc->opFusionObj)->setCurrentOpFusionObj((OpFusion*)psrc->opFusionObj); ((OpFusion*)psrc->opFusionObj)->CopyFormats(rformats, numRFormats); @@ -4660,9 +4671,13 @@ static void exec_execute_message(const char* portal_name, long max_rows) return; } - if (ENABLE_GPC) { - portal->stmts = CopyLocalStmt(portal->cplan->stmt_list); + +#ifndef ENABLE_MULTIPLE_NODES + portal->streamInfo.AttachToSession(); + if (u_sess->stream_cxt.global_obj != NULL) { + StreamTopConsumerIam(); } +#endif /* Does the portal contain a transaction command? */ is_xact_command = IsTransactionStmtList(portal->stmts); @@ -4774,20 +4789,6 @@ static void exec_execute_message(const char* portal_name, long max_rows) bool savedisAllowCommitRollback = false; savedisAllowCommitRollback = stp_enable_and_get_old_xact_stmt_state(); -#ifndef ENABLE_MULTIPLE_NODES - /* check plans contain stream node */ - ListCell* cell_new = NULL; - foreach (cell_new, portal->cplan->stmt_list) { - Node* pstmt = (Node*)lfirst(cell_new); - if (IsA(pstmt, PlannedStmt)) { - PlannedStmt* planEntry = (PlannedStmt*)pstmt; - if (InitStreamObject(planEntry)) { - break; - } - } - } -#endif - completed = PortalRun(portal, max_rows, true, /* always top level */ @@ -4831,10 +4832,12 @@ static void exec_execute_message(const char* portal_name, long max_rows) u_sess->xact_cxt.pbe_execute_complete = false; } -#ifndef ENBALE_MULTIPLE_NODE - /* Set sync point for waiting all stream threads complete. */ - StreamNodeGroup::syncQuit(STREAM_COMPLETE); - UnRegisterStreamSnapshots(); +#ifndef ENABLE_MULTIPLE_NODES + if (u_sess->xact_cxt.pbe_execute_complete == true) { + /* Set sync point for waiting all stream threads complete. */ + StreamNodeGroup::syncQuit(STREAM_COMPLETE); + UnRegisterStreamSnapshots(); + } #endif if (ENABLE_WORKLOAD_CONTROL) { @@ -5124,10 +5127,16 @@ static void exec_describe_statement_message(const char* stmt_name) /* Find prepared statement */ if (stmt_name[0] != '\0') { - PreparedStatement *pstmt = NULL; - - pstmt = FetchPreparedStatement(stmt_name, true, true); - psrc = pstmt->plansource; + if (ENABLE_DN_GPC) { + psrc = u_sess->pcache_cxt.cur_stmt_psrc; + if (SECUREC_UNLIKELY(psrc == NULL)) + ereport(ERROR, (errcode(ERRCODE_UNDEFINED_PSTATEMENT), + errmsg("dn gpc's prepared statement %s does not exist", stmt_name))); + } else { + PreparedStatement *pstmt = NULL; + pstmt = FetchPreparedStatement(stmt_name, true, true); + psrc = pstmt->plansource; + } } else { /* special-case the unnamed statement */ psrc = u_sess->pcache_cxt.unnamed_stmt_psrc; @@ -5362,7 +5371,7 @@ static void drop_unnamed_stmt(void) GPC_LOG("drop private plansource", psrc, psrc->stmt_name); } DropCachedPlan(psrc); - if ((ENABLE_GPC)) { + if (ENABLE_GPC) { GPC_LOG("drop private plansource end", psrc, 0); } } @@ -6806,11 +6815,14 @@ int PostgresMain(int argc, char* argv[], const char* dbname, const char* usernam CommandDest saved_whereToSendOutput = DestNone; gstrace_entry(GS_TRC_ID_PostgresMain); + /* * Initialize globals (already done if under postmaster, but not if * standalone). */ if (!IsUnderPostmaster) { + PostmasterPid = gs_thread_self(); + t_thrd.proc_cxt.MyProcPid = gs_thread_self(); t_thrd.proc_cxt.MyStartTime = time(NULL); @@ -7095,7 +7107,7 @@ int PostgresMain(int argc, char* argv[], const char* dbname, const char* usernam * Also set up handler to log session end; we have to wait till now to be * sure Log_disconnections has its final value. */ - if (IsUnderPostmaster && u_sess->attr.attr_common.Log_disconnections) + if (IsUnderPostmaster && !IS_THREAD_POOL_WORKER && u_sess->attr.attr_common.Log_disconnections) on_proc_exit(log_disconnections, 0); /* Data sender process */ @@ -7212,6 +7224,7 @@ int PostgresMain(int argc, char* argv[], const char* dbname, const char* usernam u_sess->proc_cxt.MyProcPort->sock = PGINVALID_SOCKET; t_thrd.threadpool_cxt.worker->NotifyReady(); } + /* * POSTGRES main processing loop begins here * @@ -7346,6 +7359,9 @@ int PostgresMain(int argc, char* argv[], const char* dbname, const char* usernam /* init pbe execute status when long jump */ u_sess->xact_cxt.pbe_execute_complete = true; + /* init row trigger shipping status when long jump */ + u_sess->tri_cxt.exec_row_trigger_on_datanode = false; + /* release operator-level hash table in memory */ releaseExplainTable(); @@ -7373,6 +7389,7 @@ int PostgresMain(int argc, char* argv[], const char* dbname, const char* usernam RESUME_INTERRUPTS(); StreamNodeGroup::syncQuit(STREAM_ERROR); StreamNodeGroup::destroy(STREAM_ERROR); + HOLD_INTERRUPTS(); ForgetRegisterStreamSnapshots(); @@ -7714,10 +7731,10 @@ int PostgresMain(int argc, char* argv[], const char* dbname, const char* usernam */ if (u_sess->postgres_cxt.ignore_till_sync && firstchar != EOF) continue; - +#ifdef ENABLE_MULTIPLE_NODES // reset some flag related to stream ResetStreamEnv(); - +#endif t_thrd.codegen_cxt.codegen_IRload_thr_count = 0; IsExplainPlanStmt = false; t_thrd.codegen_cxt.g_runningInFmgr = false; @@ -7783,7 +7800,7 @@ int PostgresMain(int argc, char* argv[], const char* dbname, const char* usernam // else, Plan de-serialization code path fails start_xact_command(); - MemoryContext old_cxt = MemoryContextSwitchTo(t_thrd.mem_cxt.stream_runtime_mem_cxt); + MemoryContext old_cxt = MemoryContextSwitchTo(u_sess->stream_cxt.stream_runtime_mem_cxt); planstmt = (PlannedStmt*)stringToNode(plan_string); /* It is safe to free plan_string after deserializing the message */ @@ -7854,10 +7871,6 @@ int PostgresMain(int argc, char* argv[], const char* dbname, const char* usernam } #endif exec_simple_query(query_string, QUERY_MESSAGE, &input_message); /* @hdfs Add the second parameter */ -#ifndef ENBALE_MULTIPLE_NODE - // After query done, producer container is not usable anymore. - StreamNodeGroup::destroy(STREAM_COMPLETE); -#endif u_sess->debug_query_id = 0; send_ready_for_query = true; } break; @@ -8136,7 +8149,6 @@ int PostgresMain(int argc, char* argv[], const char* dbname, const char* usernam int numParams; Oid* paramTypes = NULL; char** paramTypeNames = NULL; - bool save_trigger_shipping_flag = u_sess->attr.attr_sql.enable_trigger_shipping; /* DN: get the node id. */ if (IS_PGXC_DATANODE && IsConnFromCoord()) @@ -8171,21 +8183,9 @@ int PostgresMain(int argc, char* argv[], const char* dbname, const char* usernam if (IsStmtRetryEnabled()) u_sess->exec_cxt.RetryController->stub_.StartOneStubTest(firstchar); #endif - PG_TRY(); - { - /* Disable enable_trigger_shipping for PBE. */ - u_sess->attr.attr_sql.enable_trigger_shipping = false; - statement_init_metric_context(); - exec_parse_message(query_string, stmt_name, paramTypes, paramTypeNames, numParams); - statement_commit_metirc_context(); - } - PG_CATCH(); - { - u_sess->attr.attr_sql.enable_trigger_shipping = save_trigger_shipping_flag; - PG_RE_THROW(); - } - PG_END_TRY(); - u_sess->attr.attr_sql.enable_trigger_shipping = save_trigger_shipping_flag; + statement_init_metric_context(); + exec_parse_message(query_string, stmt_name, paramTypes, paramTypeNames, numParams); + statement_commit_metirc_context(); /* * since AbortTransaction can't clean named prepared statement, we need to @@ -8231,8 +8231,9 @@ int PostgresMain(int argc, char* argv[], const char* dbname, const char* usernam SetIsTopUniqueSQL(true); } } - if (OpFusion::process(FUSION_EXECUTE, &input_message, completionTag, true)) { - if(OpFusion::isQueryCompleted()) { + bool isQueryCompleted = false; + if (OpFusion::process(FUSION_EXECUTE, &input_message, completionTag, true, &isQueryCompleted)) { + if(isQueryCompleted) { CommandCounterIncrement(); EndCommand(completionTag, (CommandDest)t_thrd.postgres_cxt.whereToSendOutput); } else { @@ -8262,6 +8263,7 @@ int PostgresMain(int argc, char* argv[], const char* dbname, const char* usernam #ifdef ENABLE_MULTIPLE_NODES case 'k': { + /* no k msg from cn now, but keep these code for gray upgrade */ if (!ENABLE_DN_GPC) ereport(ERROR, (errmodule(MOD_GPC), errcode(ERRCODE_FEATURE_NOT_SUPPORTED), errmsg("cn has enabled global plan cache but dn %s disabled", g_instance.attr.attr_common.PGXCNodeName))); @@ -8284,10 +8286,6 @@ int PostgresMain(int argc, char* argv[], const char* dbname, const char* usernam securec_check(rc,"",""); u_sess->pgxc_cxt.PGXCNodeId = pq_getmsgint(&input_message, 4); pq_getmsgend(&input_message); - g_instance.prepare_cache->UpdateUseTime(&u_sess->sess_ident, false); - if (handle_type == HANDLE_FIRST_SEND) { - g_instance.prepare_cache->CheckTimeline(); - } } else { uint64 origin_global_session_id; rc = memcpy_s(&origin_global_session_id, sizeof(uint64), pq_getmsgbytes(&input_message, sizeof(uint64)), @@ -8304,10 +8302,6 @@ int PostgresMain(int argc, char* argv[], const char* dbname, const char* usernam sizeof(PGXCNode_HandleGPC)); securec_check(rc,"",""); pq_getmsgend(&input_message); - g_instance.prepare_cache->UpdateUseTime(&u_sess->sess_ident, false); - if (handle_type == HANDLE_FIRST_SEND) { - g_instance.prepare_cache->CheckTimeline(); - } } } break; @@ -8385,7 +8379,11 @@ int PostgresMain(int argc, char* argv[], const char* dbname, const char* usernam } if (IS_PGXC_DATANODE && closeTarget[0] != '\0') { - OpFusion::removeFusionFromHtab(closeTarget); + OpFusion* curr = OpFusion::locateFusion(closeTarget); + if (curr != NULL) { + curr->clean(); + OpFusion::removeFusionFromHtab(closeTarget); + } } portal = GetPortalByName(closeTarget); @@ -8417,7 +8415,7 @@ int PostgresMain(int argc, char* argv[], const char* dbname, const char* usernam break; } - if (OpFusion::process(FUSION_DESCRIB, &input_message, NULL, false)) { + if (OpFusion::process(FUSION_DESCRIB, &input_message, NULL, false, NULL)) { break; } @@ -8952,9 +8950,11 @@ int PostgresMain(int argc, char* argv[], const char* dbname, const char* usernam t_thrd.xact_cxt.ShmemVariableCache->local_csn_min))); send_local_csn_min_to_ccn(); } else { /* get global_csn_min */ + CommitSeqNo currentNextCommitSeqNo = + pg_atomic_read_u64(&t_thrd.xact_cxt.ShmemVariableCache->nextCommitSeqNo); t_thrd.xact_cxt.ShmemVariableCache->cutoff_csn_min = - (csn < t_thrd.xact_cxt.ShmemVariableCache->nextCommitSeqNo) ? - csn : t_thrd.xact_cxt.ShmemVariableCache->nextCommitSeqNo; + (csn < currentNextCommitSeqNo) ? + csn : currentNextCommitSeqNo; ereport(DEBUG1, (errmsg("set the cutoff_csn_min %lu", t_thrd.xact_cxt.ShmemVariableCache->cutoff_csn_min))); forward_recent_global_xmin(); @@ -9035,10 +9035,30 @@ int PostgresMain(int argc, char* argv[], const char* dbname, const char* usernam pq_getmsgend(&input_message); } break; #endif + case 'y': /* sequence from cn 2 dn */ + { + if (!IS_PGXC_DATANODE) + ereport( + ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("Only cn can receive the sequence update"))); + + int64 result; + char* seqname = NULL; + int result_signed; + result_signed = pq_getmsgbyte(&input_message); + result = pq_getmsgint64(&input_message); + if (result_signed == '-') { + result *= -1; + } + seqname = (char*)pq_getmsgstring(&input_message); + pq_getmsgend(&input_message); + processUpdateSequenceMsg(seqname, result); + } + break; default: ereport(FATAL, - (errcode(ERRCODE_PROTOCOL_VIOLATION), errmsg("invalid frontend message type %d", firstchar))); + (errcode(ERRCODE_PROTOCOL_VIOLATION), errmsg("invalid frontend message type %c", firstchar))); break; } } /* end of input-reading loop */ @@ -9188,8 +9208,11 @@ void ShowUsage(const char* title) /* * on_proc_exit handler to log end of session */ -static void log_disconnections(int code, Datum arg) +void log_disconnections(int code, Datum arg) { + if (!u_sess->attr.attr_common.Log_disconnections) { + return; + } Port* port = u_sess->proc_cxt.MyProcPort; long secs; int usecs; @@ -9203,19 +9226,25 @@ static void log_disconnections(int code, Datum arg) secs %= SECS_PER_HOUR; minutes = secs / SECS_PER_MINUTE; seconds = secs % SECS_PER_MINUTE; - - ereport(LOG, - (errmsg("disconnection: session time: %d:%02d:%02d.%03d " + if (port->user_name != NULL && port->database_name != NULL && port->remote_host != NULL && + port->remote_port != NULL) { + ereport(LOG, + (errmsg("disconnection: session time: %d:%02d:%02d.%03d " "user=%s database=%s host=%s%s%s", - hours, - minutes, - seconds, - msecs, - port->user_name, - port->database_name, - port->remote_host, - port->remote_port[0] ? " port=" : "", - port->remote_port))); + hours, + minutes, + seconds, + msecs, + port->user_name, + port->database_name, + port->remote_host, + port->remote_port[0] ? " port=" : "", + port->remote_port))); + } else { + ereport(LOG, + (errmsg("disconnection: session time: %d:%02d:%02d.%03d ", hours, minutes, seconds, msecs))); + } + } /* Aduit user logout */ @@ -9263,8 +9292,19 @@ static void ForceModifyInitialPwd(const char* query_string, List* parsetree_list { Oid current_user = GetUserId(); - if (current_user != BOOTSTRAP_SUPERUSERID || parsetree_list == NIL) + if (current_user != BOOTSTRAP_SUPERUSERID || parsetree_list == NIL) { return; + } + + char* current_user_name = GetUserNameFromId(current_user); + password_info pass_info = {NULL, 0, 0, false, false}; + /* return when the initial user's password is not empty */ + if (get_stored_password(current_user_name, &pass_info)) { + t_thrd.postgres_cxt.password_changed = true; + pfree_ext(pass_info.shadow_pass); + return; + } + pfree_ext(pass_info.shadow_pass); if (IsUnderPostmaster && IsConnFromApp() && strcasecmp(u_sess->attr.attr_common.application_name, "gsql") == 0) { if (strcmp(query_string, "SELECT intervaltonum(gs_password_deadline())") != 0 && @@ -9272,35 +9312,29 @@ static void ForceModifyInitialPwd(const char* query_string, List* parsetree_list strcmp(query_string, "SELECT VERSION()") != 0 && strcasecmp(query_string, "delete from pgxc_node;") != 0 && strcasecmp(query_string, "delete from pgxc_group;") != 0 && strncasecmp(query_string, "CREATE NODE", 11) != 0) { - bool hasmodified = false; - hasmodified = HasModifiedInitPwdByChkAuthHistory(current_user); - if (hasmodified) { - t_thrd.postgres_cxt.password_changed = true; - } else { - /* - * Just focuse on the first parsetree_list element, since before - * each operation, the initial password should be changed. - */ - Node* parsetree = (Node*)linitial(parsetree_list); - char* current_user_name = GetUserNameFromId(current_user); - if (IsA(parsetree, AlterRoleStmt)) { - /* - * Check if the role in "AlterRoleStmt" matches the current_user. - */ - char* alter_name = ((AlterRoleStmt*)parsetree)->role; - if (strcasecmp(current_user_name, alter_name) != 0) - ereport(ERROR, - (errcode(ERRCODE_INITIAL_PASSWORD_NOT_MODIFIED), - errmsg("Please use \"ALTER ROLE user_name IDENTIFIED BY 'password' REPLACE 'old " - "password';\" to modify the initial password of user %s before operation!", - current_user_name))); - } else - ereport(ERROR, - (errcode(ERRCODE_INITIAL_PASSWORD_NOT_MODIFIED), - errmsg("Please use \"ALTER ROLE user_name IDENTIFIED BY 'password' REPLACE 'old " - "password';\" to modify the initial password of user %s before operation!", - current_user_name))); - } + /* + * Just focuse on the first parsetree_list element, since before + * each operation, the initial password should be changed. + */ + Node* parsetree = (Node*)linitial(parsetree_list); + char* current_user_name = GetUserNameFromId(current_user); + if (IsA(parsetree, AlterRoleStmt)) { + /* + * Check if the role in "AlterRoleStmt" matches the current_user. + */ + char* alter_name = ((AlterRoleStmt*)parsetree)->role; + if (strcasecmp(current_user_name, alter_name) != 0) + ereport(ERROR, + (errcode(ERRCODE_INITIAL_PASSWORD_NOT_MODIFIED), + errmsg("Please use \"ALTER ROLE user_name PASSWORD 'password';\" " + "to set the password of user %s before other operation!", + current_user_name))); + } else + ereport(ERROR, + (errcode(ERRCODE_INITIAL_PASSWORD_NOT_MODIFIED), + errmsg("Please use \"ALTER ROLE user_name PASSWORD 'password';\" " + "to set the password of user %s before other operation!", + current_user_name))); } } } @@ -9716,7 +9750,7 @@ void execute_simple_query(const char* query_string) * If query is not SELECT/INSERT/UPDATE/DELETE, return completionTag, else NULL. */ static void exec_one_in_batch(CachedPlanSource* psrc, ParamListInfo params, int numRFormats, int16* rformats, - bool send_DP_msg, CommandDest dest, char* completionTag, const char* stmt_name) + bool send_DP_msg, CommandDest dest, char* completionTag, const char* stmt_name, List* gpcCopyStmts) { CachedPlan* cplan = NULL; Portal portal; @@ -9739,7 +9773,7 @@ static void exec_one_in_batch(CachedPlanSource* psrc, ParamListInfo params, int setCachedPlanBucketId(cps->gplan, params); } - if (OpFusion::process(FUSION_EXECUTE, NULL, completionTag, true)) { + if (OpFusion::process(FUSION_EXECUTE, NULL, completionTag, true, NULL)) { CommandCounterIncrement(); return; } @@ -9778,7 +9812,7 @@ static void exec_one_in_batch(CachedPlanSource* psrc, ParamListInfo params, int cplan = GetCachedPlan(psrc, params, false); t_thrd.postgres_cxt.table_created_in_CTAS = false; - if (cplan != NULL && psrc != NULL) { + if (cplan != NULL) { /* * copy the single_shard info from plan source into plan. * With this, we can determine if we should use global snapshot or local snapshot after. @@ -9799,8 +9833,8 @@ static void exec_one_in_batch(CachedPlanSource* psrc, ParamListInfo params, int cplan->stmt_list, cplan); - if (ENABLE_GPC) { - portal->stmts = CopyLocalStmt(portal->cplan->stmt_list); + if (ENABLE_GPC && gpcCopyStmts != NULL) { + portal->stmts = gpcCopyStmts; } #ifdef ENABLE_MOT @@ -9827,7 +9861,7 @@ static void exec_one_in_batch(CachedPlanSource* psrc, ParamListInfo params, int ((OpFusion*)psrc->opFusionObj)->setCurrentOpFusionObj((OpFusion*)psrc->opFusionObj); ((OpFusion*)psrc->opFusionObj)->CopyFormats(rformats, numRFormats); - if (OpFusion::process(FUSION_EXECUTE, NULL, completionTag, true)) { + if (OpFusion::process(FUSION_EXECUTE, NULL, completionTag, true, NULL)) { CommandCounterIncrement(); return; } @@ -10288,9 +10322,16 @@ static void exec_batch_bind_execute(StringInfo input_message) /* Find prepared statement */ if (stmt_name[0] != '\0') { - PreparedStatement *pstmt = NULL; - pstmt = FetchPreparedStatement(stmt_name, true, true); - psrc = pstmt->plansource; + if (ENABLE_DN_GPC) { + psrc = u_sess->pcache_cxt.cur_stmt_psrc; + if (SECUREC_UNLIKELY(psrc == NULL)) + ereport(ERROR, (errcode(ERRCODE_UNDEFINED_PSTATEMENT), + errmsg("dn gpc's prepared statement %s does not exist", stmt_name))); + } else { + PreparedStatement *pstmt = NULL; + pstmt = FetchPreparedStatement(stmt_name, true, true); + psrc = pstmt->plansource; + } } else { /* special-case the unnamed statement */ psrc = u_sess->pcache_cxt.unnamed_stmt_psrc; @@ -10794,17 +10835,22 @@ static void exec_batch_bind_execute(StringInfo input_message) process_count = light_execute_batchmsg_set(scn, batch_msg_dnset, batch_count_dnset, send_DP_msg); } else { char* completionTag = (char*)palloc0(COMPLETION_TAG_BUFSIZE * sizeof(char)); + List* copyedStmts = NULL; if (u_sess->attr.attr_resource.use_workload_manager && g_instance.wlm_cxt->gscgroup_init_done && !IsAbortedTransactionBlockState()) { u_sess->wlm_cxt->cgroup_last_stmt = u_sess->wlm_cxt->cgroup_stmt; u_sess->wlm_cxt->cgroup_stmt = WLMIsSpecialCommand(psrc->raw_parse_tree, NULL); } + if (ENABLE_GPC && psrc->gplan && psrc->gpc.status.IsSharePlan()) { + MemoryContext tmpCxt = NULL; + copyedStmts = CopyLocalStmt(psrc->gplan->stmt_list, u_sess->temp_mem_cxt, &tmpCxt); + } if (use_original_logic) { for (int i = 0; i < batch_count; i++) { exec_one_in_batch(psrc, params_set[i], numRFormats, rformats, - (i == 0) ? send_DP_msg : false, dest, completionTag, stmt_name); + (i == 0) ? send_DP_msg : false, dest, completionTag, stmt_name, copyedStmts); } /* only send the last commandTag */ @@ -10814,7 +10860,7 @@ static void exec_batch_bind_execute(StringInfo input_message) for (int i = 0; i < batch_count; i++) { exec_one_in_batch(psrc, params_set[i], numRFormats, rformats, - (i == 0) ? send_DP_msg : false, dest, completionTag, stmt_name); + (i == 0) ? send_DP_msg : false, dest, completionTag, stmt_name, copyedStmts); /* Get process_count (X) from completionTag */ if (completionTag[0] == 'I') { diff --git a/src/gausskernel/process/tcop/pquery.cpp b/src/gausskernel/process/tcop/pquery.cpp index 3073747ca..6937ad932 100644 --- a/src/gausskernel/process/tcop/pquery.cpp +++ b/src/gausskernel/process/tcop/pquery.cpp @@ -917,6 +917,13 @@ void PortalSetResultFormat(Portal portal, int nFormats, int16* formats) int natts; int i; +#ifndef ENABLE_MULTIPLE_NODES + if (StreamTopConsumerAmI()) { + portal->streamInfo.RecordSessionInfo(); + u_sess->stream_cxt.global_obj->m_portal = portal; + } +#endif + /* Do nothing if portal won't return tuples */ if (portal->tupDesc == NULL) return; diff --git a/src/gausskernel/process/tcop/stmt_retry.cpp b/src/gausskernel/process/tcop/stmt_retry.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/process/tcop/utility.cpp b/src/gausskernel/process/tcop/utility.cpp index 1a2fcc541..e36a7b12d 100644 --- a/src/gausskernel/process/tcop/utility.cpp +++ b/src/gausskernel/process/tcop/utility.cpp @@ -131,6 +131,7 @@ #include "catalog/pgxc_node.h" #include "workload/workload.h" #include "streaming/init.h" +#include "replication/obswalreceiver.h" static RemoteQueryExecType ExecUtilityFindNodes(ObjectType object_type, Oid rel_id, bool* is_temp); static RemoteQueryExecType exec_utility_find_nodes_relkind(Oid rel_id, bool* is_temp); @@ -145,9 +146,6 @@ static void exec_utility_with_message_parallel_ddl_mode( static bool is_stmt_allowed_in_locked_mode(Node* parse_tree, const char* query_string); static ExecNodes* assign_utility_stmt_exec_nodes(Node* parse_tree); -static void ExecUtilityStmtOnFirstExecCnNode_Barrier(const char* query_string, bool sent_to_remote, - bool force_auto_commit, RemoteQueryExecType exec_type, bool is_temp, const char* first_exec_node, - const Node* parse_tree, char* completionTag); #endif @@ -2371,7 +2369,7 @@ void standard_ProcessUtility(Node* parse_tree, const char* query_string, ParamLi Oid node_oid = get_pgxc_nodeoid(g_instance.attr.attr_common.PGXCNodeName); bool nodeis_active = true; nodeis_active = is_pgxc_nodeactive(node_oid); - if (OidIsValid(node_oid) && nodeis_active == false) + if (OidIsValid(node_oid) && nodeis_active == false && !IS_CNDISASTER_RECOVER_MODE) ereport(ERROR, (errcode(ERRCODE_INVALID_PARAMETER_VALUE), errmsg("Current Node is not active"))); } } @@ -3040,6 +3038,7 @@ void standard_ProcessUtility(Node* parse_tree, const char* query_string, ParamLi /* fall through */ case OBJECT_FOREIGN_TABLE: case OBJECT_STREAM: + case OBJECT_MATVIEW: case OBJECT_TABLE: { #ifdef PGXC /* @@ -3074,7 +3073,6 @@ void standard_ProcessUtility(Node* parse_tree, const char* query_string, ParamLi case OBJECT_SEQUENCE: case OBJECT_VIEW: case OBJECT_CONTQUERY: - case OBJECT_MATVIEW: #ifdef PGXC { if (((DropStmt*)parse_tree)->removeType == OBJECT_FOREIGN_TABLE || @@ -5264,6 +5262,10 @@ void standard_ProcessUtility(Node* parse_tree, const char* query_string, ParamLi /* something happen on datanodes */ if (IS_PGXC_DATANODE) +#else + Relation matview = heap_openrv(stmt->relation, stmt->incremental ? ExclusiveLock : AccessExclusiveLock); + CheckRefreshMatview(matview, is_incremental_matview(matview->rd_id)); + heap_close(matview, NoLock); #endif { if (stmt->incremental) { @@ -5702,15 +5704,6 @@ void standard_ProcessUtility(Node* parse_tree, const char* query_string, ParamLi #ifndef ENABLE_MULTIPLE_NODES DISTRIBUTED_FEATURE_NOT_SUPPORTED(); #endif - if (IS_PGXC_COORDINATOR) { - char* first_exec_node = find_first_exec_cn(); - bool is_first_node = (strcmp(first_exec_node, g_instance.attr.attr_common.PGXCNodeName) == 0); - if (is_first_node == false) { - ExecUtilityStmtOnFirstExecCnNode_Barrier(query_string, sent_to_remote, false, - EXEC_ON_COORDS, false, first_exec_node, parse_tree, completion_tag); - break; - } - } RequestBarrier(((BarrierStmt*)parse_tree)->id, completion_tag); break; @@ -6573,9 +6566,6 @@ void standard_ProcessUtility(Node* parse_tree, const char* query_string, ParamLi break; case T_CleanConnStmt: -#ifndef ENABLE_MULTIPLE_NODES - DISTRIBUTED_FEATURE_NOT_SUPPORTED(); -#endif CleanConnection((CleanConnStmt*)parse_tree); if (IS_PGXC_COORDINATOR) @@ -6968,32 +6958,6 @@ void ExecUtilityStmtOnNodes_ParallelDDLMode(const char* query_string, ExecNodes* } } -static void ExecUtilityStmtOnFirstExecCnNode_Barrier(const char* query_string, bool sent_to_remote, - bool force_auto_commit, RemoteQueryExecType exec_type, bool is_temp, const char* first_exec_node, - const Node* parse_tree, char* completionTag) -{ - int rc = 0; - /* Nothing to be done if this statement has been sent to the nodes */ - if (sent_to_remote) - return; - - if (!IsConnFromCoord()) { - RemoteQuery* step = makeNode(RemoteQuery); - step->combine_type = COMBINE_TYPE_SAME; - step->sql_statement = pstrdup(query_string); - step->force_autocommit = force_auto_commit; - step->exec_type = exec_type; - step->is_temp = is_temp; - ExecRemoteUtilityParallelBarrier(step, first_exec_node); - pfree_ext(step->sql_statement); - pfree_ext(step); - if (completionTag != NULL) { - rc = sprintf_s(completionTag, COMPLETION_TAG_BUFSIZE, "BARRIER %s", ((BarrierStmt*)parse_tree)->id); - securec_check_ss(rc, "\0", "\0"); - } - } -} - static RemoteQueryExecType set_exec_type(Oid object_id, bool* is_temp) { RemoteQueryExecType type; @@ -7351,6 +7315,10 @@ Query* UtilityContainsQuery(Node* parse_tree) static const char* AlterObjectTypeCommandTag(ObjectType obj_type) { const char* tag = NULL; + bool is_multiple_nodes = false; +#ifdef ENABLE_MULTIPLE_NODES + is_multiple_nodes = true; +#endif /* ENABLE_MULTIPLE_NODES */ switch (obj_type) { case OBJECT_AGGREGATE: @@ -7394,6 +7362,12 @@ static const char* AlterObjectTypeCommandTag(ObjectType obj_type) break; case OBJECT_STREAM: tag = "ALTER STREAM"; + if (!is_multiple_nodes) { + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("Not supported for streaming engine in current version"), + errdetail("You should use the multiple nodes version"))); + } break; case OBJECT_FUNCTION: tag = "ALTER FUNCTION"; @@ -7469,6 +7443,12 @@ static const char* AlterObjectTypeCommandTag(ObjectType obj_type) break; case OBJECT_CONTQUERY: tag = "ALTER CONTVIEW"; + if (!is_multiple_nodes) { + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("Not supported for streaming engine in current version"), + errdetail("You should use the multiple nodes version"))); + } break; case OBJECT_MATVIEW: tag = "ALTER MATERIALIZED VIEW"; @@ -7504,6 +7484,10 @@ static const char* AlterObjectTypeCommandTag(ObjectType obj_type) const char* CreateCommandTag(Node* parse_tree) { const char* tag = NULL; + bool is_multiple_nodes = false; +#ifdef ENABLE_MULTIPLE_NODES + is_multiple_nodes = true; +#endif /* ENABLE_MULTIPLE_NODES */ switch (nodeTag(parse_tree)) { /* raw plannable queries */ @@ -7694,6 +7678,12 @@ const char* CreateCommandTag(Node* parse_tree) if (pg_strcasecmp(((CreateForeignTableStmt *)parse_tree)->servername, STREAMING_SERVER) == 0) { tag = "CREATE STREAM"; + if (!is_multiple_nodes) { + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("Not supported for streaming engine in current version"), + errdetail("You should use the multiple nodes version"))); + } } else { tag = "CREATE FOREIGN TABLE"; } @@ -7717,6 +7707,12 @@ const char* CreateCommandTag(Node* parse_tree) break; case OBJECT_CONTQUERY: tag = "DROP CONTVIEW"; + if (!is_multiple_nodes) { + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("Not supported for streaming engine in current version"), + errdetail("You should use the multiple nodes version"))); + } break; case OBJECT_MATVIEW: tag = "DROP MATERIALIZED VIEW"; @@ -7761,6 +7757,12 @@ const char* CreateCommandTag(Node* parse_tree) break; case OBJECT_STREAM: tag = "DROP STREAM"; + if (!is_multiple_nodes) { + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("Not supported for streaming engine in current version"), + errdetail("You should use the multiple nodes version"))); + } break; case OBJECT_EXTENSION: tag = "DROP EXTENSION"; @@ -7807,10 +7809,10 @@ const char* CreateCommandTag(Node* parse_tree) tag = "DROP DATA SOURCE"; break; case OBJECT_GLOBAL_SETTING: - tag = "DROP GLOBAL SETTING"; + tag = "DROP CLIENT MASTER KEY"; break; case OBJECT_COLUMN_SETTING: - tag = "DROP CLIENT LOGIC COLUMN SETTING"; + tag = "DROP COLUMN ENCRYPTION KEY"; break; default: tag = "?\?\?"; @@ -7930,6 +7932,14 @@ const char* CreateCommandTag(Node* parse_tree) else #endif /* ENABLE_MULTIPLE_NODES */ tag = "CREATE VIEW"; + if ((((ViewStmt*)parse_tree)->relkind) == OBJECT_CONTQUERY) { + if (!is_multiple_nodes) { + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("Not supported for streaming engine in current version"), + errdetail("You should use the multiple nodes version"))); + } + } break; case T_CreateFunctionStmt: { @@ -11804,10 +11814,11 @@ bool ObjectsInSameNodeGroup(List* objects, NodeTag stmttype) } /* - * Only check relation, for index, view is not associated with + * Only check relation and materialized view, for index, view is not associated with * nodegroup they belongs to its base table */ - if (get_rel_relkind(table_oid) != RELKIND_RELATION) { + char relkind = get_rel_relkind(table_oid); + if ((relkind != RELKIND_RELATION) && (relkind != RELKIND_MATVIEW)) { continue; } diff --git a/src/gausskernel/process/threadpool/knl_guc.cpp b/src/gausskernel/process/threadpool/knl_guc.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/process/threadpool/knl_instance.cpp b/src/gausskernel/process/threadpool/knl_instance.cpp old mode 100755 new mode 100644 index 02b007b40..738473199 --- a/src/gausskernel/process/threadpool/knl_instance.cpp +++ b/src/gausskernel/process/threadpool/knl_instance.cpp @@ -41,7 +41,6 @@ #include "utils/memutils.h" #include "utils/palloc.h" #include "workload/workload.h" -#include "utils/globalpreparestmt.h" #include "instruments/instr_waitevent.h" #include "pgstat.h" #include "access/multi_redo_api.h" @@ -200,6 +199,10 @@ static void knl_g_parallel_redo_init(knl_g_parallel_redo_context* predo_cxt) } predo_cxt->permitFinishRedo = 0; predo_cxt->hotStdby = 0; + predo_cxt->newestCheckpointLoc = InvalidXLogRecPtr; + errno_t rc = memset_s(const_cast(&predo_cxt->newestCheckpoint), sizeof(CheckPoint), 0, + sizeof(CheckPoint)); + securec_check(rc, "\0", "\0"); predo_cxt->unali_buf = (char*)MemoryContextAllocZero(INSTANCE_GET_MEM_CXT_GROUP(MEMORY_CONTEXT_STORAGE), NUM_MAX_PAGE_FLUSH_LSN_PARTITIONS * BLCKSZ + BLCKSZ); predo_cxt->ali_buf = (char*)TYPEALIGN(BLCKSZ, predo_cxt->unali_buf); @@ -208,8 +211,33 @@ static void knl_g_parallel_redo_init(knl_g_parallel_redo_context* predo_cxt) static void knl_g_cache_init(knl_g_cache_context* cache_cxt) { cache_cxt->global_cache_mem = NULL; + for (int i = 0; i < MAX_GLOBAL_CACHEMEM_NUM; ++i) + cache_cxt->global_plancache_mem[i] = NULL; } +void knl_g_cachemem_create() +{ + g_instance.cache_cxt.global_cache_mem = AllocSetContextCreate(g_instance.instance_context, + "GlobalCacheMemory", + ALLOCSET_DEFAULT_MINSIZE, + ALLOCSET_DEFAULT_INITSIZE, + ALLOCSET_DEFAULT_MAXSIZE, + SHARED_CONTEXT, + DEFAULT_MEMORY_CONTEXT_MAX_SIZE, + false); + + for (int i = 0; i < MAX_GLOBAL_CACHEMEM_NUM; ++i) { + g_instance.cache_cxt.global_plancache_mem[i] = AllocSetContextCreate(g_instance.instance_context, + "GlobalPlanCacheMemory", + ALLOCSET_DEFAULT_MINSIZE, + ALLOCSET_DEFAULT_INITSIZE, + ALLOCSET_DEFAULT_MAXSIZE, + SHARED_CONTEXT, + DEFAULT_MEMORY_CONTEXT_MAX_SIZE, + false); + } + g_instance.plan_cache = New(INSTANCE_GET_MEM_CXT_GROUP(MEMORY_CONTEXT_EXECUTOR)) GlobalPlanCache(); +} static void knl_g_comm_init(knl_g_comm_context* comm_cxt) { Assert(comm_cxt != NULL); @@ -432,6 +460,7 @@ static void knl_g_archive_obs_init(knl_g_archive_obs_context *archive_obs_cxt) archive_obs_cxt->barrierLsn = 0; archive_obs_cxt->obs_slot_idx = -1; archive_obs_cxt->obs_slot_num = 0; + archive_obs_cxt->sync_walsender_term = 0; archive_obs_cxt->archive_slot = (ReplicationSlot*)MemoryContextAllocZero( INSTANCE_GET_MEM_CXT_GROUP(MEMORY_CONTEXT_STORAGE), sizeof(ReplicationSlot)); } @@ -443,6 +472,11 @@ static void knl_g_mot_init(knl_g_mot_context* mot_cxt) } #endif +static void knl_g_hypo_init(knl_g_hypo_context* hypo_cxt) +{ + hypo_cxt->HypopgContext = NULL; + hypo_cxt->hypo_index_list = NULL; +} void knl_instance_init() { @@ -458,6 +492,8 @@ void knl_instance_init() g_instance.codegen_IRload_process_count = 0; g_instance.t_thrd = &t_thrd; g_instance.stat_cxt.track_memory_inited = false; + g_instance.proc_base = NULL; + g_instance.proc_array_idx = NULL; /* * Set up the process wise memory context. The memory allocated from this @@ -512,6 +548,7 @@ void knl_instance_init() knl_g_oid_nodename_cache_init(&g_instance.oid_nodename_cache); knl_g_archive_obs_init(&g_instance.archive_obs_cxt); + knl_g_hypo_init(&g_instance.hypo_cxt); } void add_numa_alloc_info(void* numaAddr, size_t length) @@ -530,15 +567,23 @@ void add_numa_alloc_info(void* numaAddr, size_t length) void knl_g_set_redo_finish_status(uint32 status) { #if defined(__arm__) || defined(__arm) || defined(__aarch64__) || defined(__aarch64) - pg_memory_barrier(); + pg_memory_barrier(); #endif pg_atomic_write_u32(&(g_instance.comm_cxt.predo_cxt.isRedoFinish), status); } +void knl_g_clear_local_redo_finish_status() +{ +#if defined(__arm__) || defined(__arm) || defined(__aarch64__) || defined(__aarch64) + pg_memory_barrier(); +#endif + (void)pg_atomic_fetch_and_u32(&(g_instance.comm_cxt.predo_cxt.isRedoFinish), ~(uint32)REDO_FINISH_STATUS_LOCAL); +} + bool knl_g_get_local_redo_finish_status() { #if defined(__arm__) || defined(__arm) || defined(__aarch64__) || defined(__aarch64) - pg_memory_barrier(); + pg_memory_barrier(); #endif uint32 isRedoFinish = pg_atomic_read_u32(&(g_instance.comm_cxt.predo_cxt.isRedoFinish)); return (isRedoFinish & REDO_FINISH_STATUS_LOCAL) == REDO_FINISH_STATUS_LOCAL; @@ -547,7 +592,7 @@ bool knl_g_get_local_redo_finish_status() bool knl_g_get_redo_finish_status() { #if defined(__arm__) || defined(__arm) || defined(__aarch64__) || defined(__aarch64) - pg_memory_barrier(); + pg_memory_barrier(); #endif uint32 isRedoFinish = pg_atomic_read_u32(&(g_instance.comm_cxt.predo_cxt.isRedoFinish)); return (isRedoFinish & REDO_FINISH_STATUS_CM) == REDO_FINISH_STATUS_CM; diff --git a/src/gausskernel/process/threadpool/knl_session.cpp b/src/gausskernel/process/threadpool/knl_session.cpp index 626b69b92..4242d2bb8 100644 --- a/src/gausskernel/process/threadpool/knl_session.cpp +++ b/src/gausskernel/process/threadpool/knl_session.cpp @@ -48,6 +48,7 @@ #include "utils/inval.h" #include "utils/memutils.h" #include "utils/palloc.h" +#include "utils/pg_locale.h" #include "utils/pg_lzcompress.h" #include "utils/plog.h" #include "utils/portal.h" @@ -80,9 +81,12 @@ static void knl_u_analyze_init(knl_u_analyze_context* anl_cxt) static void knl_u_attr_init(knl_session_attr* attr) { + const int sessionDefaultTimeout = 600; /* 10 * 60 = 10 min */ attr->attr_common.backtrace_min_messages = PANIC; attr->attr_common.log_min_messages = WARNING; attr->attr_common.client_min_messages = NOTICE; + attr->attr_common.SessionTimeout = sessionDefaultTimeout; + attr->attr_common.enable_full_encryption = false; attr->attr_storage.sync_method = DEFAULT_SYNC_METHOD; attr->attr_sql.under_explain = false; attr->attr_resource.enable_auto_explain = false; @@ -246,6 +250,8 @@ static void knl_u_stream_init(knl_u_stream_context* stream_cxt) stream_cxt->stop_mythread = false; stream_cxt->stop_pid = (ThreadId)-1; stream_cxt->stop_query_id = 0; + stream_cxt->stream_runtime_mem_cxt = NULL; + stream_cxt->data_exchange_mem_cxt = NULL; } static void knl_u_sig_init(knl_u_sig_context* sig_cxt) @@ -267,6 +273,7 @@ static void knl_u_SPI_init(knl_u_SPI_context* spi) spi->is_stp = true; spi->is_proconfig_set = false; spi->portal_stp_exception_counter = 0; + spi->current_stp_with_exception = false; } static void knl_u_trigger_init(knl_u_trigger_context* tri_cxt) @@ -421,6 +428,8 @@ static void knl_u_plancache_init(knl_u_plancache_context* pcache_cxt) pcache_cxt->lightproxy_objs = NULL; pcache_cxt->datanode_queries = NULL; pcache_cxt->unnamed_stmt_psrc = NULL; + pcache_cxt->cur_stmt_psrc = NULL; + pcache_cxt->private_refcount = 0; pcache_cxt->cur_stmt_name = NULL; pcache_cxt->gpc_in_ddl = false; @@ -491,10 +500,6 @@ static void knl_u_proc_init(knl_u_proc_context* proc_cxt) proc_cxt->clientIsGsroach = false; proc_cxt->IsBinaryUpgrade = false; proc_cxt->IsWLMWhiteList = false; - proc_cxt->sessionBackupState = SESSION_BACKUP_NONE; - proc_cxt->LabelFile = NULL; - proc_cxt->TblspcMapFile = NULL; - proc_cxt->registerAbortBackupHandlerdone = false; proc_cxt->gsRewindAddCount = false; proc_cxt->PassConnLimit = false; proc_cxt->sessionBackupState = SESSION_BACKUP_NONE; @@ -843,6 +848,7 @@ static void knl_u_libpq_init(knl_u_libpq_context* libpq_cxt) libpq_cxt->ident_line_nums = NIL; libpq_cxt->ident_context = NULL; libpq_cxt->IsConnFromCmAgent = false; + libpq_cxt->HasErrorAccurs = false; #ifdef USE_SSL libpq_cxt->ssl_loaded_verify_locations = false; libpq_cxt->ssl_initialized = false; @@ -886,6 +892,7 @@ static void knl_u_unique_sql_init(knl_u_unique_sql_context* unique_sql_cxt) unique_sql_cxt->current_table_counter = (PgStat_TableCounts*)palloc0(sizeof(PgStat_TableCounts)); unique_sql_cxt->curr_single_unique_sql = NULL; unique_sql_cxt->is_multi_unique_sql = false; + unique_sql_cxt->multi_sql_offset = 0; unique_sql_cxt->is_top_unique_sql = false; unique_sql_cxt->need_update_calls = true; unique_sql_cxt->unique_sql_sort_instr = (unique_sql_sorthash_instr*)palloc0(sizeof(unique_sql_sorthash_instr)); @@ -1046,7 +1053,7 @@ static void knl_u_pgxc_init(knl_u_pgxc_context* pgxc_cxt) pgxc_cxt->NumDataNodes = 0; #else pgxc_cxt->NumDataNodes = 1; -#endif /* ENABLE_MULTIPLE_NODES */ +#endif pgxc_cxt->NumCoords = 0; pgxc_cxt->NumStandbyDataNodes = 0; pgxc_cxt->datanode_count = 0; @@ -1054,7 +1061,11 @@ static void knl_u_pgxc_init(knl_u_pgxc_context* pgxc_cxt) pgxc_cxt->dn_matrics = NULL; pgxc_cxt->dn_handles = NULL; pgxc_cxt->co_handles = NULL; +#ifdef ENABLE_MULTIPLE_NODES pgxc_cxt->PGXCNodeId = -1; +#else + pgxc_cxt->PGXCNodeId = 0; +#endif pgxc_cxt->PGXCNodeIdentifier = 0; pgxc_cxt->remoteXactState = (RemoteXactState*)palloc0(sizeof(RemoteXactState)); @@ -1114,6 +1125,8 @@ static void knl_u_xact_init(knl_u_xact_context* xact_cxt) xact_cxt->savePrepareGID = NULL; xact_cxt->pbe_execute_complete = true; + xact_cxt->send_seqname = NULL; + xact_cxt->send_result = 0; } static void knl_u_ps_init(knl_u_ps_context* ps_cxt) @@ -1258,6 +1271,7 @@ static void alloc_context_from_top(knl_session_context* sess, MemoryContext top_ knl_session_context* create_session_context(MemoryContext parent, uint64 id) { knl_session_context *sess, *old_sess; + const int secondToMilliSecond = 1000; old_sess = u_sess; MemoryContextUnSeal(t_thrd.top_mem_cxt); sess = (knl_session_context*)MemoryContextAllocZero(parent, sizeof(knl_session_context)); @@ -1290,6 +1304,12 @@ knl_session_context* create_session_context(MemoryContext parent, uint64 id) sess->mcxt_group = New(top_mem_cxt) MemoryContextGroup(); sess->mcxt_group->Init(top_mem_cxt); MemoryContextSeal(top_mem_cxt); + /* + * threadpool session, set init timeout to + * avoid user only establish connections but do not send data or SSL shakehands hang + * non-threadpool/fake session will direct call ReadCommand and enable alarm by sig timer + * */ + (void)enable_session_sig_alarm(u_sess->attr.attr_common.SessionTimeout * secondToMilliSecond); } // Switch to context group, in case knl_u_executor_init will alloc memory on CurrentMemoryContext. @@ -1316,6 +1336,9 @@ void free_session_context(knl_session_context* session) { Assert(u_sess == session); + /* free the locale cache */ + freeLocaleCache(false); + /* discard all the data in the channel. */ t_thrd.libpq_cxt.PqSendPointer = 0; t_thrd.libpq_cxt.PqSendStart = 0; diff --git a/src/gausskernel/process/threadpool/knl_thread.cpp b/src/gausskernel/process/threadpool/knl_thread.cpp old mode 100755 new mode 100644 index 0ef8d7ecf..4117c9069 --- a/src/gausskernel/process/threadpool/knl_thread.cpp +++ b/src/gausskernel/process/threadpool/knl_thread.cpp @@ -373,8 +373,6 @@ static void knl_t_mem_init(knl_t_mem_context* mem_cxt) mem_cxt->gs_signal_mem_cxt = NULL; mem_cxt->mask_password_mem_cxt = NULL; mem_cxt->row_desc_mem_cxt = NULL; - mem_cxt->stream_runtime_mem_cxt = NULL; - mem_cxt->data_exchange_mem_cxt = NULL; mem_cxt->portal_mem_cxt = NULL; mem_cxt->mem_track_mem_cxt = NULL; mem_cxt->batch_encode_numeric_mem_cxt = NULL; @@ -629,7 +627,6 @@ static void knl_t_arch_init(knl_t_arch_context* arch) arch->task_wait_interval = 1000; arch->last_arch_time = 0; arch->sync_walsender_idx = -1; - arch->sync_walsender_term = 0; } static void knl_t_logger_init(knl_t_logger_context* logger) diff --git a/src/gausskernel/process/threadpool/threadpool_controler.cpp b/src/gausskernel/process/threadpool/threadpool_controler.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/process/threadpool/threadpool_group.cpp b/src/gausskernel/process/threadpool/threadpool_group.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/process/threadpool/threadpool_listener.cpp b/src/gausskernel/process/threadpool/threadpool_listener.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/process/threadpool/threadpool_scheduler.cpp b/src/gausskernel/process/threadpool/threadpool_scheduler.cpp old mode 100755 new mode 100644 index 290db638a..66a241f0d --- a/src/gausskernel/process/threadpool/threadpool_scheduler.cpp +++ b/src/gausskernel/process/threadpool/threadpool_scheduler.cpp @@ -40,7 +40,6 @@ #include "utils/memutils.h" #include "utils/ps_status.h" #include "utils/guc.h" -#include "utils/globalpreparestmt.h" #define SCHEDULER_TIME_UNIT 1000000 //us #define ENLARGE_THREAD_TIME 5 @@ -57,17 +56,22 @@ static void SchedulerSIGKILLHandler(SIGNAL_ARGS) void TpoolSchedulerMain(ThreadPoolScheduler *scheduler) { int gpc_count = 0; - int cn_gpc_count = 0; (void)gspqsignal(SIGKILL, SchedulerSIGKILLHandler); gs_signal_setmask(&t_thrd.libpq_cxt.UnBlockSig, NULL); (void)gs_signal_unblock_sigusr2(); + if (ENABLE_GPC) { + scheduler->m_gpcContext = AllocSetContextCreate(CurrentMemoryContext, + "GPCScheduler", + ALLOCSET_SMALL_MINSIZE, + ALLOCSET_SMALL_INITSIZE, + ALLOCSET_DEFAULT_MAXSIZE); + } while (true) { pg_usleep(SCHEDULER_TIME_UNIT); scheduler->DynamicAdjustThreadPool(); scheduler->GPCScheduleCleaner(&gpc_count); - scheduler->CNGPCScheduleCleaner(&cn_gpc_count); g_threadPoolControler->GetSessionCtrl()->CheckSessionTimeout(); } proc_exit(0); @@ -80,6 +84,7 @@ ThreadPoolScheduler::ThreadPoolScheduler(int groupNum, ThreadPoolGroup** groups) m_hangTestCount = (uint *)palloc0(sizeof(uint) * groupNum); m_freeTestCount = (uint *)palloc0(sizeof(uint) * groupNum); m_freeStreamCount = (uint *)palloc0(sizeof(uint) * groupNum); + m_gpcContext = NULL; } ThreadPoolScheduler::~ThreadPoolScheduler() @@ -108,24 +113,15 @@ void ThreadPoolScheduler::DynamicAdjustThreadPool() void ThreadPoolScheduler::GPCScheduleCleaner(int* gpc_count) { - if (ENABLE_DN_GPC && *gpc_count == GPC_CLEAN_TIME) { - if (pmState == PM_RUN) { - pthread_mutex_lock(&g_instance.gpc_reset_lock); - g_instance.prepare_cache->PrepareCleanUpByTime(true); - pthread_mutex_unlock(&g_instance.gpc_reset_lock); - } - *gpc_count = 0; - } - (*gpc_count)++; -} - -void ThreadPoolScheduler::CNGPCScheduleCleaner(int* gpc_count) -{ - if (ENABLE_CN_GPC && *gpc_count == GPC_CLEAN_TIME) { + if (ENABLE_GPC && *gpc_count == GPC_CLEAN_TIME) { if (pmState == PM_RUN) { + MemoryContext oldCxt = MemoryContextSwitchTo(m_gpcContext); pthread_mutex_lock(&g_instance.gpc_reset_lock); g_instance.plan_cache->DropInvalid(); + g_instance.plan_cache->CleanUpByTime(); pthread_mutex_unlock(&g_instance.gpc_reset_lock); + (void)MemoryContextSwitchTo(oldCxt); + MemoryContextReset(m_gpcContext); } *gpc_count = 0; } diff --git a/src/gausskernel/process/threadpool/threadpool_sessctl.cpp b/src/gausskernel/process/threadpool/threadpool_sessctl.cpp index 6992e6c11..eb93b152d 100644 --- a/src/gausskernel/process/threadpool/threadpool_sessctl.cpp +++ b/src/gausskernel/process/threadpool/threadpool_sessctl.cpp @@ -222,6 +222,11 @@ int ThreadPoolSessControl::SendSignal(int ctrl_index, int signal) knl_sess_control* ctrl = &m_base[ctrl_index - m_maxReserveSessionCount]; knl_session_context* sess = ctrl->sess; + /* Session may be NULL when the session exits during the clean connection process. + We do nothing if the session is NULL */ + if (sess == NULL) { + return ESRCH; + } /* Check user permission, and we dont have user id for cancel request. */ CheckPermissionForSendSignal(sess); volatile sig_atomic_t* plock = &ctrl->lock; @@ -231,26 +236,24 @@ int ThreadPoolSessControl::SendSignal(int ctrl_index, int signal) /* perform an atomic compare and swap. */ val = __sync_val_compare_and_swap(plock, 0, 1); if (val == 0) { - if (sess != NULL) { - if (sess->status == KNL_SESS_ATTACH) { - t_thrd.sig_cxt.gs_sigale_check_type = SIGNAL_CHECK_SESS_KEY; - t_thrd.sig_cxt.session_id = sess->session_id; - status = gs_signal_send(sess->attachPid, signal); - t_thrd.sig_cxt.gs_sigale_check_type = SIGNAL_CHECK_NONE; - t_thrd.sig_cxt.session_id = 0; - } else if (sess->status == KNL_SESS_DETACH) { - switch (signal) { - case SIGTERM: - sess->status = KNL_SESS_CLOSE; - CloseClientSocket(sess, false); - status = 0; - break; - default: - break; - } - } else { - status = ESRCH; + if (sess->status == KNL_SESS_ATTACH) { + t_thrd.sig_cxt.gs_sigale_check_type = SIGNAL_CHECK_SESS_KEY; + t_thrd.sig_cxt.session_id = sess->session_id; + status = gs_signal_send(sess->attachPid, signal); + t_thrd.sig_cxt.gs_sigale_check_type = SIGNAL_CHECK_NONE; + t_thrd.sig_cxt.session_id = 0; + } else if (sess->status == KNL_SESS_DETACH) { + switch (signal) { + case SIGTERM: + sess->status = KNL_SESS_CLOSE; + CloseClientSocket(sess, false); + status = 0; + break; + default: + break; } + } else { + status = ESRCH; } /* restore the value. */ ctrl->lock = 0; @@ -330,6 +333,80 @@ int ThreadPoolSessControl::CountDBSessions(Oid dbId) return count; } +bool ThreadPoolSessControl::ValidDBoidAndUseroid(Oid dbOid, Oid userOid, knl_sess_control* ctrl) +{ + /* + * Thread are 3 situation in CLEAN CONNECTION: + * 1. Only database, for example: CLEAN CONNECTION TO ALL FORCE FOR DATABASE xxx; + * 2. Only user, for example: CLEAN CONNECTION TO ALL FORCE TO USER xxx; + * 3. Both database and user, for example: CLEAN CONNECTION TO ALL FORCE FOR DATABASE xxx TO USER xxx; + */ + if (((dbOid != InvalidOid) && (userOid == InvalidOid) && (ctrl->sess->proc_cxt.MyDatabaseId == dbOid)) + || ((dbOid == InvalidOid) && (userOid != InvalidOid) && (ctrl->sess->proc_cxt.MyRoleId == userOid)) + || ((ctrl->sess->proc_cxt.MyDatabaseId == dbOid) && (ctrl->sess->proc_cxt.MyRoleId == userOid))) { + return true; + } + return false; +} + +int ThreadPoolSessControl::CountDBSessionsNotCleaned(Oid dbOid, Oid userOid) +{ + if ((dbOid == InvalidOid) && (userOid == InvalidOid)) { + ereport(WARNING, + (errmsg("DB oid and user oid are all Invalid (may be NULL). Shut down clean activite sessions."))); + return 0; + } + AutoMutexLock alock(&m_sessCtrlock); + alock.lock(); + + int count = 0; + knl_sess_control* ctrl = NULL; + Dlelem* elem = DLGetHead(&m_activelist); + + while (elem != NULL) { + ctrl= (knl_sess_control*)DLE_VAL(elem); + if (ValidDBoidAndUseroid(dbOid, userOid, ctrl)) { + int status = ThreadPoolSessControl::SendSignal(ctrl->idx, 0); + if (status == 0) { + /* Termination not done yet */ + count++; + } + } + elem = DLGetSucc(elem); + } + + alock.unLock(); + return count; +} + +int ThreadPoolSessControl::CleanDBSessions(Oid dbOid, Oid userOid) +{ + if ((dbOid == InvalidOid) && (userOid == InvalidOid)) { + ereport(WARNING, + (errmsg("DB oid and user oid are all Invalid (may be NULL). Shut down clean activite sessions."))); + return 0; + } + AutoMutexLock alock(&m_sessCtrlock); + alock.lock(); + + int count = 0; + knl_sess_control* ctrl = NULL; + Dlelem* elem = DLGetHead(&m_activelist); + + while (elem != NULL) { + ctrl= (knl_sess_control*)DLE_VAL(elem); + if (ValidDBoidAndUseroid(dbOid, userOid, ctrl)) { + count++; + ThreadPoolSessControl::SendSignal(ctrl->idx, SIGTERM); + ThreadPoolSessControl::SendSignal(ctrl->idx, SIGUSR2); + } + elem = DLGetSucc(elem); + } + + alock.unLock(); + return count; +} + void ThreadPoolSessControl::SigHupHandler() { AutoMutexLock alock(&m_sessCtrlock); diff --git a/src/gausskernel/process/threadpool/threadpool_worker.cpp b/src/gausskernel/process/threadpool/threadpool_worker.cpp index 2e01a3ea2..4dd620791 100644 --- a/src/gausskernel/process/threadpool/threadpool_worker.cpp +++ b/src/gausskernel/process/threadpool/threadpool_worker.cpp @@ -65,7 +65,6 @@ #include "utils/syscache.h" #include "utils/xml.h" #include "executor/executor.h" -#include "utils/globalpreparestmt.h" /* ===================== Static functions to init session ===================== */ static bool InitSession(knl_session_context* sscxt); @@ -460,11 +459,10 @@ void ThreadPoolWorker::DetachSessionFromThread() t_thrd.pgxact->vacuumFlags &= ~PROC_IS_REDIST; LWLockRelease(ProcArrayLock); } - - if (ENABLE_DN_GPC) { - g_instance.prepare_cache->CleanSessionGPC(m_currentSession); - } - if (ENABLE_CN_GPC) { + if (ENABLE_GPC) { +#ifdef ENABLE_MULTIPLE_NODES + CleanSessionGPCDetach(m_currentSession); +#endif m_currentSession->pcache_cxt.gpc_in_ddl = false; } RestoreSessionVariable(); @@ -614,8 +612,10 @@ void ThreadPoolWorker::CleanUpSession(bool threadexit) pgstat_beshutdown_session(m_currentSession->session_ctr_index); localeconv_deinitialize_session(); - /* clean gpc cn refcount and plancache in shared memory */ + /* clean gpc refcount and plancache in shared memory */ if (!t_thrd.proc_cxt.proc_exit_inprogress) { + if (ENABLE_DN_GPC) + CleanSessGPCPtr(m_currentSession); CNGPCCleanUpSession(); } diff --git a/src/gausskernel/runtime/codegen/codegenutil/bigintegercodegen.cpp b/src/gausskernel/runtime/codegen/codegenutil/bigintegercodegen.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/codegen/codegenutil/boolcodegen.cpp b/src/gausskernel/runtime/codegen/codegenutil/boolcodegen.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/codegen/codegenutil/codegendebuger.cpp b/src/gausskernel/runtime/codegen/codegenutil/codegendebuger.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/codegen/codegenutil/datecodegen.cpp b/src/gausskernel/runtime/codegen/codegenutil/datecodegen.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/codegen/codegenutil/floatcodegen.cpp b/src/gausskernel/runtime/codegen/codegenutil/floatcodegen.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/codegen/codegenutil/intcodegen.cpp b/src/gausskernel/runtime/codegen/codegenutil/intcodegen.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/codegen/codegenutil/numericcodegen.cpp b/src/gausskernel/runtime/codegen/codegenutil/numericcodegen.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/codegen/codegenutil/timestampcodegen.cpp b/src/gausskernel/runtime/codegen/codegenutil/timestampcodegen.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/codegen/codegenutil/varcharcodegen.cpp b/src/gausskernel/runtime/codegen/codegenutil/varcharcodegen.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/codegen/codegenutil/varlenacodegen.cpp b/src/gausskernel/runtime/codegen/codegenutil/varlenacodegen.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/codegen/executor/foreignscancodegen.cpp b/src/gausskernel/runtime/codegen/executor/foreignscancodegen.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/codegen/gscodegen.cpp b/src/gausskernel/runtime/codegen/gscodegen.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/codegen/vecexecutor/vecexprcodegen.cpp b/src/gausskernel/runtime/codegen/vecexecutor/vecexprcodegen.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/codegen/vecexecutor/vechashaggcodegen.cpp b/src/gausskernel/runtime/codegen/vecexecutor/vechashaggcodegen.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/codegen/vecexecutor/vechashjoincodegen.cpp b/src/gausskernel/runtime/codegen/vecexecutor/vechashjoincodegen.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/codegen/vecexecutor/vecsortcodegen.cpp b/src/gausskernel/runtime/codegen/vecexecutor/vecsortcodegen.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/executor/execAmi.cpp b/src/gausskernel/runtime/executor/execAmi.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/executor/execClusterResize.cpp b/src/gausskernel/runtime/executor/execClusterResize.cpp old mode 100755 new mode 100644 index bb864dfc7..92efb73fd --- a/src/gausskernel/runtime/executor/execClusterResize.cpp +++ b/src/gausskernel/runtime/executor/execClusterResize.cpp @@ -394,7 +394,7 @@ Relation GetAndOpenDeleteDeltaRel(const Relation rel, LOCKMODE lockmode, bool is } /* - * To support Update or Delete during extension, we need to add 3 or 4(partitioned table) + * To support Update or Delete during extension, we need to add 2 more columns. * more columns. Limited by MaxHeapAttributeNumber, if the table already contains too many columns, * we don't allow update or delete anymore, but insert statement can still proceed. */ diff --git a/src/gausskernel/runtime/executor/execCurrent.cpp b/src/gausskernel/runtime/executor/execCurrent.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/executor/execGrouping.cpp b/src/gausskernel/runtime/executor/execGrouping.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/executor/execJunk.cpp b/src/gausskernel/runtime/executor/execJunk.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/executor/execMain.cpp b/src/gausskernel/runtime/executor/execMain.cpp index cbeda6b35..6461dc155 100644 --- a/src/gausskernel/runtime/executor/execMain.cpp +++ b/src/gausskernel/runtime/executor/execMain.cpp @@ -275,12 +275,16 @@ void standard_ExecutorStart(QueryDesc *queryDesc, int eflags) t_thrd.utils_cxt.ExecutorMemoryTrack = ((AsanSet)(estate->es_query_cxt))->track; #endif +#ifndef ENABLE_MULTIPLE_NODES + (void)InitStreamObject(queryDesc->plannedstmt); +#endif + if (StreamTopConsumerAmI() && queryDesc->instrument_options != 0 && IS_PGXC_DATANODE) { int dop = queryDesc->plannedstmt->query_dop; if (queryDesc->plannedstmt->in_compute_pool) { dop = 1; } - AutoContextSwitch streamCxtGuard(t_thrd.mem_cxt.stream_runtime_mem_cxt); + AutoContextSwitch streamCxtGuard(u_sess->stream_cxt.stream_runtime_mem_cxt); u_sess->instr_cxt.global_instr = StreamInstrumentation::InitOnDn(queryDesc, dop); // u_sess->instr_cxt.thread_instr in DN @@ -294,7 +298,7 @@ void standard_ExecutorStart(QueryDesc *queryDesc, int eflags) const int dop = 1; /* m_instrDataContext in CN of compute pool is under t_thrd.mem_cxt.stream_runtime_mem_cxt */ - AutoContextSwitch streamCxtGuard(t_thrd.mem_cxt.stream_runtime_mem_cxt); + AutoContextSwitch streamCxtGuard(u_sess->stream_cxt.stream_runtime_mem_cxt); u_sess->instr_cxt.global_instr = StreamInstrumentation::InitOnCP(queryDesc, dop); u_sess->instr_cxt.thread_instr = @@ -367,9 +371,13 @@ void standard_ExecutorStart(QueryDesc *queryDesc, int eflags) estate->es_bloom_filter.array_size = bloom_size; estate->es_bloom_filter.bfarray = (filter::BloomFilter **)palloc0(bloom_size * sizeof(filter::BloomFilter *)); } - +#ifdef ENABLE_MULTIPLE_NODES /* statement always start from CN */ - if (IS_PGXC_COORDINATOR || IS_SINGLE_NODE) { + if (IS_PGXC_COORDINATOR) { +#else + /* statement always start in non-stream thread */ + if (!StreamThreadAmI()) { +#endif SetCurrentStmtTimestamp(); } /* else stmtSystemTimestamp synchronize from CN */ @@ -511,11 +519,7 @@ void ExecutorRun(QueryDesc *queryDesc, ScanDirection direction, long count) u_sess->instr_cxt.can_record_to_table = true; ExplainNodeFinish(queryDesc->planstate, queryDesc->plannedstmt, GetCurrentTimestamp(), false); -#ifdef ENABLE_MULTIPLE_NODES if ((IS_PGXC_COORDINATOR) && u_sess->instr_cxt.global_instr != NULL) { -#else - if (StreamTopConsumerAmI() && u_sess->instr_cxt.global_instr != NULL) { -#endif delete u_sess->instr_cxt.global_instr; u_sess->instr_cxt.thread_instr = NULL; u_sess->instr_cxt.global_instr = NULL; @@ -717,11 +721,10 @@ void ExecutorEnd(QueryDesc *queryDesc) } } -/* function: ExecGetPlanNodeid +/* * description: get the plan node id of stream thread - * return value: - * 0: in postgres thread - * >=1: in stream thread + * return value: 0: in postgres thread + * >=1: in stream thread */ int ExecGetPlanNodeid(void) { @@ -1144,9 +1147,7 @@ void InitPlan(QueryDesc *queryDesc, int eflags) ListCell *l = NULL; int i; bool check = false; -#ifndef ENABLE_MULTIPLE_NODES - plannedstmt->queryId = u_sess->debug_query_id; -#endif + gstrace_entry(GS_TRC_ID_InitPlan); /* * Do permissions checks @@ -1192,10 +1193,10 @@ void InitPlan(QueryDesc *queryDesc, int eflags) * case happens on a target table's node group not matching the nodes that we * are shipping plan to. */ -#ifdef EANBLE_MULTIPLE_NODES +#ifdef ENABLE_MULTIPLE_NODES if (plannedstmt->resultRelations && (!IS_PGXC_DATANODE || NeedExecute(plan))) { #else - if (plannedstmt->resultRelations && (!StreamThreadAmI()|| NeedExecute(plan))) { + if (plannedstmt->resultRelations && (!StreamThreadAmI() || NeedExecute(plan))) { #endif List *resultRelations = plannedstmt->resultRelations; int numResultRelations = list_length(resultRelations); @@ -1361,6 +1362,15 @@ void InitPlan(QueryDesc *queryDesc, int eflags) */ Assert(estate->es_subplanstates == NIL); + /* Only generate one time when u_sess->debug_query_id = 0 in CN */ + if ((IS_SINGLE_NODE || IS_PGXC_COORDINATOR) && u_sess->debug_query_id == 0) { + u_sess->debug_query_id = generate_unique_id64(>_queryId); + pgstat_report_queryid(u_sess->debug_query_id); + } +#ifndef ENABLE_MULTIPLE_NODES + plannedstmt->queryId = u_sess->debug_query_id; +#endif + if (StreamTopConsumerAmI()) { uint64 stream_start_time = time(NULL); BuildStreamFlow(plannedstmt); @@ -1372,12 +1382,6 @@ void InitPlan(QueryDesc *queryDesc, int eflags) } } - /* Only generate one time when u_sess->debug_query_id = 0 in CN */ - if ((IS_SINGLE_NODE || IS_PGXC_COORDINATOR) && u_sess->debug_query_id == 0) { - u_sess->debug_query_id = generate_unique_id64(>_queryId); - pgstat_report_queryid(u_sess->debug_query_id); - } - if (IS_PGXC_DATANODE) { u_sess->instr_cxt.gs_query_id->queryId = u_sess->debug_query_id; } else { @@ -1406,7 +1410,11 @@ void InitPlan(QueryDesc *queryDesc, int eflags) * that executes the subplan */ if (subplan && (plannedstmt->subplan_ids == NIL || +#ifdef ENABLE_MULTIPLE_NODES (IS_PGXC_COORDINATOR && list_nth_int(plannedstmt->subplan_ids, i - 1) != 0) || +#else + (StreamTopConsumerAmI() && list_nth_int(plannedstmt->subplan_ids, i - 1) != 0) || +#endif plannedstmt->planTree->plan_node_id == list_nth_int(plannedstmt->subplan_ids, i - 1))) { estate->es_under_subplan = true; subplanstate = ExecInitNode(subplan, estate, sp_eflags); @@ -1430,7 +1438,11 @@ void InitPlan(QueryDesc *queryDesc, int eflags) * tree. This opens files, allocates storage and leaves us ready to start * processing tuples. */ +#ifdef ENABLE_MULTIPLE_NODES if (!IS_PGXC_COORDINATOR && plannedstmt->initPlan != NIL) { +#else + if (!StreamTopConsumerAmI() && plannedstmt->initPlan != NIL) { +#endif plan->initPlan = plannedstmt->initPlan; estate->es_subplan_ids = plannedstmt->subplan_ids; } @@ -1480,9 +1492,10 @@ void InitPlan(QueryDesc *queryDesc, int eflags) queryDesc->tupDesc = tupType; queryDesc->planstate = planstate; - if (StreamTopConsumerAmI() && !(eflags & EXEC_FLAG_EXPLAIN_ONLY)) { + if (plannedstmt->num_streams > 0 && !StreamThreadAmI() && + !(eflags & EXEC_FLAG_EXPLAIN_ONLY)) { /* init stream thread in parallel */ - StartUpStreamInParallel(plannedstmt, estate); + StartUpStreamInParallel(queryDesc->plannedstmt, queryDesc->estate); } gstrace_exit(GS_TRC_ID_InitPlan); @@ -1632,7 +1645,7 @@ static void CheckValidRowMarkRel(Relation rel, RowMarkType markType) case RELKIND_CONTQUERY: /* Should not get here */ ereport(ERROR, (errcode(ERRCODE_WRONG_OBJECT_TYPE), - errmsg("cannot lock rows in contquery \"%s\"", RelationGetRelationName(rel)))); + errmsg("cannot lock rows in contview \"%s\"", RelationGetRelationName(rel)))); break; case RELKIND_MATVIEW: /* Should not get here */ diff --git a/src/gausskernel/runtime/executor/execMerge.cpp b/src/gausskernel/runtime/executor/execMerge.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/executor/execProcnode.cpp b/src/gausskernel/runtime/executor/execProcnode.cpp old mode 100755 new mode 100644 index f2509639c..5f5baf073 --- a/src/gausskernel/runtime/executor/execProcnode.cpp +++ b/src/gausskernel/runtime/executor/execProcnode.cpp @@ -410,7 +410,11 @@ void ExecInitNodeSubPlan(Plan* node, EState* estate, PlanState* result) if (NULL == sub_plan) continue; Assert(IsA(sub_plan, SubPlan)); +#ifdef ENABLE_MULTIPLE_NODES if (IS_PGXC_COORDINATOR || estate->es_subplan_ids == NIL || +#else + if (StreamTopConsumerAmI() || estate->es_subplan_ids == NIL || +#endif node->plan_node_id == list_nth_int(estate->es_subplan_ids, sub_plan->plan_id - 1)) { s_state = ExecInitSubPlan(sub_plan, result); if (s_state->planstate) @@ -545,11 +549,12 @@ PlanState* ExecInitNode(Plan* node, EState* estate, int e_flags) } #endif if (result->instrument) { - result->instrument->memoryinfo.nodeContext = node_context; + result->instrument->memoryinfo.nodeContext = node_context; - if (u_sess->attr.attr_resource.use_workload_manager && - u_sess->attr.attr_resource.resource_track_level == RESOURCE_TRACK_OPERATOR && - estate->es_can_realtime_statistics && u_sess->exec_cxt.need_track_resource && NeedExecuteActiveSql(node)) { + if (u_sess->attr.attr_resource.use_workload_manager && + u_sess->attr.attr_resource.resource_track_level == RESOURCE_TRACK_OPERATOR && + estate->es_can_realtime_statistics && u_sess->exec_cxt.need_track_resource && + NeedExecuteActiveSql(node)) { Qpid qid; qid.plannodeid = node->plan_node_id; qid.procId = u_sess->instr_cxt.gs_query_id->procId; diff --git a/src/gausskernel/runtime/executor/execQual.cpp b/src/gausskernel/runtime/executor/execQual.cpp old mode 100755 new mode 100644 index 3d49db873..398525264 --- a/src/gausskernel/runtime/executor/execQual.cpp +++ b/src/gausskernel/runtime/executor/execQual.cpp @@ -2043,12 +2043,10 @@ static Datum ExecMakeFunctionResultNoSets( int* var_dno = NULL; FunctionScanState *node = NULL; - HeapTuple tp; FuncExpr *fexpr = NULL; bool savedIsSTP = u_sess->SPI_cxt.is_stp; bool savedProConfigIsSet = u_sess->SPI_cxt.is_proconfig_set; - bool isNullSTP = true; bool proIsProcedure = false; bool supportTranaction = false; @@ -2075,32 +2073,12 @@ static Datum ExecMakeFunctionResultNoSets( stp_set_commit_rollback_err_msg(STP_XACT_AFTER_TRIGGER_BEGIN); } - /* - * If proconfig is set we can't allow transaction commands because of the - * way the GUC stacking works: The transaction boundary would have to pop - * the proconfig setting off the stack. That restriction could be lifted - * by redesigning the GUC nesting mechanism a bit. - */ - Relation relation = heap_open(ProcedureRelationId, AccessShareLock); - tp = SearchSysCache1(PROCOID, ObjectIdGetDatum(fexpr->funcid)); - if (!HeapTupleIsValid(tp)) { - ereport(ERROR, (errcode(ERRCODE_UNDEFINED_OBJECT), - errmsg("cache lookup failed for function %u", fexpr->funcid))); - } - - if (!heap_attisnull(tp, Anum_pg_proc_proconfig, NULL) || u_sess->SPI_cxt.is_proconfig_set) { - u_sess->SPI_cxt.is_proconfig_set = true; + proIsProcedure = PROC_IS_PRO(fcache->prokind); + if (u_sess->SPI_cxt.is_proconfig_set) { node->atomic = true; - stp_set_commit_rollback_err_msg(STP_XACT_GUC_IN_OPT_CLAUSE); } - - Datum datum = heap_getattr(tp, Anum_pg_proc_prokind, RelationGetDescr(relation), &isNullSTP); - proIsProcedure = PROC_IS_PRO(CharGetDatum(datum)); - heap_close(relation, AccessShareLock); - /* if proIsProcedure is ture means it was a stored procedure */ u_sess->SPI_cxt.is_stp = savedIsSTP && proIsProcedure; - ReleaseSysCache(tp); } /* Guard against stack overflow due to overly complex expressions */ @@ -2319,11 +2297,9 @@ Tuplestorestate* ExecMakeTableFunctionResult( int* var_dno = NULL; bool has_refcursor = false; - HeapTuple tp; FuncExpr *fexpr = NULL; bool savedIsSTP = u_sess->SPI_cxt.is_stp; bool savedProConfigIsSet = u_sess->SPI_cxt.is_proconfig_set; - bool isNull = true; bool proIsProcedure = false; bool supportTranaction = false; @@ -2347,30 +2323,13 @@ Tuplestorestate* ExecMakeTableFunctionResult( stp_set_commit_rollback_err_msg(STP_XACT_AFTER_TRIGGER_BEGIN); } - /* - * If proconfig is set we can't allow transaction commands because of the - * way the GUC stacking works: The transaction boundary would have to pop - * the proconfig setting off the stack. That restriction could be lifted - * by redesigning the GUC nesting mechanism a bit. - */ - Relation relation = heap_open(ProcedureRelationId, AccessShareLock); - tp = SearchSysCache1(PROCOID, ObjectIdGetDatum(fexpr->funcid)); - if (!HeapTupleIsValid(tp)) { - elog(ERROR, "cache lookup failed for function %u", fexpr->funcid); + char prokind = (reinterpret_cast(funcexpr))->prokind; + proIsProcedure = PROC_IS_PRO(prokind); + if (u_sess->SPI_cxt.is_proconfig_set) { + node->atomic = true; } - - Datum datum = heap_getattr(tp, Anum_pg_proc_prokind, RelationGetDescr(relation), &isNull); - proIsProcedure = PROC_IS_PRO(CharGetDatum(datum)); - heap_close(relation, AccessShareLock); - /* if proIsProcedure means it was a stored procedure */ u_sess->SPI_cxt.is_stp = savedIsSTP && proIsProcedure; - if (!heap_attisnull(tp, Anum_pg_proc_proconfig, NULL) || u_sess->SPI_cxt.is_proconfig_set) { - u_sess->SPI_cxt.is_proconfig_set = true; - node->atomic = true; - stp_set_commit_rollback_err_msg(STP_XACT_GUC_IN_OPT_CLAUSE); - } - ReleaseSysCache(tp); } callerContext = CurrentMemoryContext; @@ -4919,11 +4878,29 @@ ExprState* ExecInitExpr(Expr* node, PlanState* parent) case T_FuncExpr: { FuncExpr* funcexpr = (FuncExpr*)node; FuncExprState* fstate = makeNode(FuncExprState); - + bool isnull = true; fstate->xprstate.evalfunc = (ExprStateEvalFunc)ExecEvalFunc; fstate->args = (List*)ExecInitExpr((Expr*)funcexpr->args, parent); fstate->func.fn_oid = InvalidOid; /* not initialized */ + HeapTuple proctup = SearchSysCache1(PROCOID, ObjectIdGetDatum(funcexpr->funcid)); + if (!HeapTupleIsValid(proctup)) { + ereport(ERROR, (errcode(ERRCODE_UNDEFINED_OBJECT), + errmsg("cache lookup failed for function %u", funcexpr->funcid))); + } + /* + * If proconfig is set we can't allow transaction commands because of the + * way the GUC stacking works: The transaction boundary would have to pop + * the proconfig setting off the stack. That restriction could be lifted + * by redesigning the GUC nesting mechanism a bit. + */ + if (!heap_attisnull(proctup, Anum_pg_proc_proconfig, NULL) || u_sess->SPI_cxt.is_proconfig_set) { + u_sess->SPI_cxt.is_proconfig_set = true; + stp_set_commit_rollback_err_msg(STP_XACT_GUC_IN_OPT_CLAUSE); + } + Datum datum = SysCacheGetAttr(PROCOID, proctup, Anum_pg_proc_prokind, &isnull); + fstate->prokind = CharGetDatum(datum); + ReleaseSysCache(proctup); state = (ExprState*)fstate; } break; case T_OpExpr: { diff --git a/src/gausskernel/runtime/executor/execScan.cpp b/src/gausskernel/runtime/executor/execScan.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/executor/execTuples.cpp b/src/gausskernel/runtime/executor/execTuples.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/executor/execUtils.cpp b/src/gausskernel/runtime/executor/execUtils.cpp old mode 100755 new mode 100644 index 5aa412561..8c5a00437 --- a/src/gausskernel/runtime/executor/execUtils.cpp +++ b/src/gausskernel/runtime/executor/execUtils.cpp @@ -1480,36 +1480,29 @@ List* ExecInsertIndexTuples(TupleTableSlot* slot, ItemPointer tupleid, EState* e continue; } + /* The GPI index insertion is the same as that of a common table */ if (ispartitionedtable && !RelationIsGlobalIndex(indexRelation)) { - /* The GPI index insertion is the same as that of a common table */ - if (RelationIsGlobalIndex(indexRelation)) { - if (!indexRelation->rd_index->indisusable) { - continue; - } - actualindex = indexRelation; - } else { - partitionedindexid = RelationGetRelid(indexRelation); + partitionedindexid = RelationGetRelid(indexRelation); + if (!PointerIsValid(partitionIndexOidList)) { + partitionIndexOidList = PartitionGetPartIndexList(p); + // no local indexes available if (!PointerIsValid(partitionIndexOidList)) { - partitionIndexOidList = PartitionGetPartIndexList(p); - // no local indexes available - if (!PointerIsValid(partitionIndexOidList)) { - return NIL; - } + return NIL; } + } - indexpartitionid = searchPartitionIndexOid(partitionedindexid, partitionIndexOidList); + indexpartitionid = searchPartitionIndexOid(partitionedindexid, partitionIndexOidList); - searchFakeReationForPartitionOid(estate->esfRelations, - estate->es_query_cxt, - indexRelation, - indexpartitionid, - actualindex, - indexpartition, - RowExclusiveLock); - // skip unusable index - if (!indexpartition->pd_part->indisusable) { - continue; - } + searchFakeReationForPartitionOid(estate->esfRelations, + estate->es_query_cxt, + indexRelation, + indexpartitionid, + actualindex, + indexpartition, + RowExclusiveLock); + // skip unusable index + if (!indexpartition->pd_part->indisusable) { + continue; } } else { actualindex = indexRelation; diff --git a/src/gausskernel/runtime/executor/functions.cpp b/src/gausskernel/runtime/executor/functions.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/executor/instrument.cpp b/src/gausskernel/runtime/executor/instrument.cpp index 5106439c0..ea11573fd 100644 --- a/src/gausskernel/runtime/executor/instrument.cpp +++ b/src/gausskernel/runtime/executor/instrument.cpp @@ -2265,11 +2265,7 @@ Instrumentation* StreamInstrumentation::getInstrSlot(int idx, int plan_node_id) Instrumentation* instr = NULL; ThreadInstrumentation* thread_instr = -#ifdef ENABLE_MULTIPLE_NODES - getThreadInstrumentationCN(idx, plan_node_id, 0); -#else - getThreadInstrumentationDN(plan_node_id, 0); -#endif + getThreadInstrumentation(idx, plan_node_id, 0); /* if threadinstr is not execute ,return NULL */ if (thread_instr == NULL) @@ -2297,11 +2293,7 @@ Instrumentation* StreamInstrumentation::getInstrSlot(int idx, int plan_node_id, Instrumentation* instr = NULL; ThreadInstrumentation* thread_instr = -#ifdef ENABLE_MULTIPLE_NODES - getThreadInstrumentationCN(idx, plan_node_id, smp_id); -#else - getThreadInstrumentationDN(plan_node_id, smp_id); -#endif + getThreadInstrumentation(idx, plan_node_id, smp_id); /* if threadinstr is not execute ,return NULL */ if (thread_instr == NULL) @@ -2534,18 +2526,16 @@ void StreamInstrumentation::SetStreamSend(int plan_node_id, bool send) * @in smp_id - current smp index * @return - is data send CN */ -bool StreamInstrumentation::IsSend(int idx, int plan_id, int smp_id) +bool StreamInstrumentation::IsSend(int idx, int planId, int smpId) { - /* plannode offset in m_threadInstrArray of CN */ - int offset = m_planIdOffsetArray[plan_id - 1] == 0 ? -1 : (m_planIdOffsetArray[plan_id - 1] - 1) * m_query_dop; - int dn_num_streams = DN_NUM_STREAMS_IN_CN(m_num_streams, m_gather_count, m_query_dop); - ThreadInstrumentation* thread_instr = m_threadInstrArray[1 + idx * dn_num_streams + offset + smp_id]; - - if (thread_instr == NULL) + ThreadInstrumentation* thread_instr = getThreadInstrumentation(idx, planId, smpId); + if (thread_instr == NULL) { return false; + } + int* m_instr_array_map = thread_instr->m_instrArrayMap; - InstrStreamPlanData* instr = &thread_instr->m_instrArray[m_instr_array_map[plan_id - 1]].instr; + InstrStreamPlanData* instr = &thread_instr->m_instrArray[m_instr_array_map[planId - 1]].instr; return instr->isSend; } diff --git a/src/gausskernel/runtime/executor/lightProxy.cpp b/src/gausskernel/runtime/executor/lightProxy.cpp old mode 100755 new mode 100644 index a34426953..0c81bf0d8 --- a/src/gausskernel/runtime/executor/lightProxy.cpp +++ b/src/gausskernel/runtime/executor/lightProxy.cpp @@ -319,10 +319,15 @@ lightProxy::lightProxy(MemoryContext context, CachedPlanSource *psrc, const char m_msgctl = (lightProxyMsgCtl *)palloc0(sizeof(lightProxyMsgCtl)); m_msgctl->errData = (lightProxyErrData *)palloc0(sizeof(lightProxyErrData)); - m_isRowTriggerShippable = false; + + if (psrc != NULL && list_length(psrc->query_list) == 1 && linitial(psrc->query_list) != NULL) { + m_isRowTriggerShippable = ((Query*)linitial(psrc->query_list))->isRowTriggerShippable; + } else { + m_isRowTriggerShippable = false; + } if (portalname != NULL && portalname[0] != '\0') { - storeLightProxy(pstrdup(portalname)); + storeLightProxy(portalname); } else { m_portalName = NULL; } @@ -470,28 +475,15 @@ void lightProxy::sendParseIfNecessary() } Assert(m_nodeIdx != -1); bool need_send_again = false; - instr_time cur_time; - INSTR_TIME_SET_CURRENT(cur_time); - if (ENABLE_CN_GPC) { - /* see if statement already active on the node, update used time for using statement */ - for (int i = 0; i < m_entry->current_nodes_number; i++) { - if (m_entry->dns_node_indices[i] == m_nodeIdx) { - if (NEED_SEND_PARSE_AGAIN(m_entry->last_used_time[i], cur_time)) { - need_send_again = true; - m_entry->last_used_time[i] = cur_time; - break; - } else { - m_entry->last_used_time[i] = cur_time; - } + /* see if statement already active on the node */ + for (int i = 0; i < m_entry->current_nodes_number; i++) { + if (m_entry->dns_node_indices[i] == m_nodeIdx) { + if (ENABLE_CN_GPC) { + need_send_again = true; + } else { return; } } - } else { - /* see if statement already active on the node */ - for (int i = 0; i < m_entry->current_nodes_number; i++) { - if (m_entry->dns_node_indices[i] == m_nodeIdx) - return; - } } if (pgxc_node_send_parse( @@ -517,15 +509,6 @@ void lightProxy::sendParseIfNecessary() securec_check(error_no, "\0", "\0"); pfree_ext(m_entry->dns_node_indices); m_entry->dns_node_indices = new_dns_node_indices; - instr_time* new_last_used_time = (instr_time*)MemoryContextAllocZero( - u_sess->pcache_cxt.datanode_queries->hcxt, m_entry->max_nodes_number * 2 * sizeof(instr_time)); - error_no = memcpy_s(new_last_used_time, - m_entry->max_nodes_number * 2 * sizeof(instr_time), - m_entry->last_used_time, - m_entry->max_nodes_number * sizeof(instr_time)); - securec_check(error_no, "\0", "\0"); - pfree_ext(m_entry->last_used_time); - m_entry->last_used_time = new_last_used_time; m_entry->max_nodes_number = m_entry->max_nodes_number * 2; elog(LOG, "expand node ids array for active datanode statements " @@ -534,8 +517,7 @@ void lightProxy::sendParseIfNecessary() } /* statement is not active on the specified node append item to the list */ - m_entry->dns_node_indices[m_entry->current_nodes_number] = m_nodeIdx; - m_entry->last_used_time[m_entry->current_nodes_number++] = cur_time; + m_entry->dns_node_indices[m_entry->current_nodes_number++] = m_nodeIdx; } /* @@ -801,14 +783,16 @@ void lightProxy::storeLpByStmtName(const char *stmtname) void lightProxy::storeLightProxy(const char* portalname) { - lightProxyNamedObj* entry = NULL; - if(!u_sess->pcache_cxt.lightproxy_objs) - initlightProxyTable(); + lightProxyNamedObj* entry = NULL; + if(!u_sess->pcache_cxt.lightproxy_objs) + initlightProxyTable(); - entry = (lightProxyNamedObj*)hash_search(u_sess->pcache_cxt.lightproxy_objs, portalname, HASH_ENTER, NULL); - entry->proxy = this; + entry = (lightProxyNamedObj*)hash_search(u_sess->pcache_cxt.lightproxy_objs, portalname, HASH_ENTER, NULL); + entry->proxy = this; pfree_ext(m_portalName); - m_portalName = portalname; + MemoryContext old_context = MemoryContextSwitchTo(m_context); + m_portalName = pstrdup(portalname); + (void)MemoryContextSwitchTo(old_context); } lightProxy *lightProxy::locateLpByStmtName(const char *stmtname) @@ -945,7 +929,9 @@ void lightProxy::handleResponse() if (res) { ereport(ERROR, (errcode(ERRCODE_CONNECTION_FAILURE), - errmsg("[LIGHT PROXY] Failed to fetch from Datanode %u", m_handle->nodeoid))); + errmsg("[LIGHT PROXY] Failed to fetch from Datanode %s[%u]", + m_handle->remoteNodeName, + m_handle->nodeoid))); } res = light_handle_response(m_handle, m_msgctl, this); @@ -1061,12 +1047,6 @@ int lightProxy::runBatchMsg(StringInfo batch_message, bool sendDMsg, int batch_c proxyNodeBegin(m_cplan->is_read_only); - if (ENABLE_CN_GPC) { - if (pgxc_node_send_cn_identifier(m_handle, HANDLE_RUN)) - ereport(ERROR, - (errcode(ERRCODE_CANNOT_CONNECT_NOW), - errmsg("[LIGHT PROXY] Failed to send global sess id to Datanode %u", m_handle->nodeoid))); - } /* check if we need to send parse or not */ sendParseIfNecessary(); @@ -1143,6 +1123,10 @@ void lightProxy::runMsg(StringInfo exec_message) m_stmtName, m_cplan->query_string)); + bool trigger_ship = false; + if (u_sess->attr.attr_sql.enable_trigger_shipping && m_isRowTriggerShippable) + trigger_ship = true; + /* * Ensure we are in a transaction command (this should normally be the * case already due to prior BIND). @@ -1162,14 +1146,6 @@ void lightProxy::runMsg(StringInfo exec_message) #endif proxyNodeBegin(m_cplan->is_read_only); - - if (ENABLE_CN_GPC) { - if (pgxc_node_send_cn_identifier(m_handle, HANDLE_RUN)) { - ereport(ERROR, - (errcode(ERRCODE_CANNOT_CONNECT_NOW), - errmsg("[LIGHT PROXY] Failed to send global sess id to Datanode %u", m_handle->nodeoid))); - } - } /* check if we need to send parse or not */ sendParseIfNecessary(); @@ -1186,7 +1162,7 @@ void lightProxy::runMsg(StringInfo exec_message) m_msgctl->sendDMsg = false; } - assemableMsg('E', exec_message); + assemableMsg('E', exec_message, trigger_ship); /* send sync message and flush */ if (pgxc_node_send_sync(m_handle)) { @@ -1247,12 +1223,7 @@ void lightProxy::runMsg(StringInfo exec_message) UpdateUniqueSQLStat(NULL, NULL, GetCurrentStatementLocalStartTimestamp()); } pgstate_update_percentile_responsetime(); - - (void)pq_getmsgstring(exec_message); - unsigned int max_rows = pq_getmsgint(exec_message, 4); - if (max_rows == 0) - /* finish with this proxy */ - setCurrentProxy(NULL); + setCurrentProxy(NULL); } bool lightProxy::isDeleteLimit(const Query* query) @@ -1415,6 +1386,7 @@ void GPCFillMsgForLp(CachedPlanSource* psrc) Assert(psrc != NULL); Assert(psrc->gpc.status.IsSharePlan()); if (psrc->gpc.status.InSavePlanList(GPC_SHARED)) { + pfree_ext(psrc->gpc.key); MemoryContext oldcxt = MemoryContextSwitchTo(psrc->context); psrc->gpc.key = (GPCKey*)palloc0(sizeof(GPCKey)); psrc->gpc.key->query_string = psrc->query_string; diff --git a/src/gausskernel/runtime/executor/nodeAgg.cpp b/src/gausskernel/runtime/executor/nodeAgg.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/executor/nodeAppend.cpp b/src/gausskernel/runtime/executor/nodeAppend.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/executor/nodeBitmapAnd.cpp b/src/gausskernel/runtime/executor/nodeBitmapAnd.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/executor/nodeBitmapHeapscan.cpp b/src/gausskernel/runtime/executor/nodeBitmapHeapscan.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/executor/nodeBitmapIndexscan.cpp b/src/gausskernel/runtime/executor/nodeBitmapIndexscan.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/executor/nodeBitmapOr.cpp b/src/gausskernel/runtime/executor/nodeBitmapOr.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/executor/nodeCtescan.cpp b/src/gausskernel/runtime/executor/nodeCtescan.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/executor/nodeExtensible.cpp b/src/gausskernel/runtime/executor/nodeExtensible.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/executor/nodeFunctionscan.cpp b/src/gausskernel/runtime/executor/nodeFunctionscan.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/executor/nodeGroup.cpp b/src/gausskernel/runtime/executor/nodeGroup.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/executor/nodeHash.cpp b/src/gausskernel/runtime/executor/nodeHash.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/executor/nodeHashjoin.cpp b/src/gausskernel/runtime/executor/nodeHashjoin.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/executor/nodeIndexonlyscan.cpp b/src/gausskernel/runtime/executor/nodeIndexonlyscan.cpp old mode 100755 new mode 100644 index 124274b4e..de6f5c8a4 --- a/src/gausskernel/runtime/executor/nodeIndexonlyscan.cpp +++ b/src/gausskernel/runtime/executor/nodeIndexonlyscan.cpp @@ -44,6 +44,39 @@ static TupleTableSlot* IndexOnlyNext(IndexOnlyScanState* node); static void ExecInitNextIndexPartitionForIndexScanOnly(IndexOnlyScanState* node); +/* ---------------------------------------------------------------- + * ReleaseNodeVMBuffer + * + * Release VM buffer pin, if any. + * ---------------------------------------------------------------- + */ +static void ReleaseNodeVMBuffer(IndexOnlyScanState* node) +{ + if (node->ioss_VMBuffer != InvalidBuffer) { + ReleaseBuffer(node->ioss_VMBuffer); + node->ioss_VMBuffer = InvalidBuffer; + } +} + +/* ---------------------------------------------------------------- + * ExecGPIGetNextPartRelation + * ---------------------------------------------------------------- + */ +static bool ExecGPIGetNextPartRelation(IndexOnlyScanState* node, IndexScanDesc indexScan) +{ + if (IndexScanNeedSwitchPartRel(indexScan)) { + /* Release VM buffer pin, if any. */ + ReleaseNodeVMBuffer(node); + /* Change the heapRelation in indexScanDesc to Partition Relation of current index */ + if (!GPIGetNextPartRelation(indexScan->xs_gpi_scan, CurrentMemoryContext, AccessShareLock)) { + return false; + } + indexScan->heapRelation = indexScan->xs_gpi_scan->fakePartRelation; + } + + return true; +} + /* ---------------------------------------------------------------- * IndexOnlyNext * @@ -100,14 +133,8 @@ static TupleTableSlot* IndexOnlyNext(IndexOnlyScanState* node) * reading the TID; and (2) is satisfied by the acquisition of the * buffer content lock in order to insert the TID. */ - if (IndexScanNeedSwitchPartRel(indexScan)) { - /* - * Change the heapRelation in indexScanDesc to Partition Relation of current index - */ - if (!GPIGetNextPartRelation(indexScan->xs_gpi_scan, CurrentMemoryContext, AccessShareLock)) { - continue; - } - indexScan->heapRelation = indexScan->xs_gpi_scan->fakePartRelation; + if (!ExecGPIGetNextPartRelation(node, indexScan)) { + continue; } if (!visibilitymap_test(indexScan->heapRelation, ItemPointerGetBlockNumber(tid), &node->ioss_VMBuffer)) { /* diff --git a/src/gausskernel/runtime/executor/nodeIndexscan.cpp b/src/gausskernel/runtime/executor/nodeIndexscan.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/executor/nodeLimit.cpp b/src/gausskernel/runtime/executor/nodeLimit.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/executor/nodeLockRows.cpp b/src/gausskernel/runtime/executor/nodeLockRows.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/executor/nodeMaterial.cpp b/src/gausskernel/runtime/executor/nodeMaterial.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/executor/nodeMergeAppend.cpp b/src/gausskernel/runtime/executor/nodeMergeAppend.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/executor/nodeMergejoin.cpp b/src/gausskernel/runtime/executor/nodeMergejoin.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/executor/nodeModifyTable.cpp b/src/gausskernel/runtime/executor/nodeModifyTable.cpp index 667616200..76cc934c7 100644 --- a/src/gausskernel/runtime/executor/nodeModifyTable.cpp +++ b/src/gausskernel/runtime/executor/nodeModifyTable.cpp @@ -603,9 +603,9 @@ TupleTableSlot* ExecInsertT(ModifyTableState* state, TupleTableSlot* slot, Tuple * Note: We fire BEFORE ROW TRIGGERS for every attempted insertion in an except * for a MERGE or INSERT ... ON DUPLICATE KEY UPDATE statement. */ - if (state->operation != CMD_MERGE && + if ( #ifdef ENABLE_MULTIPLE_NODES - state->mt_upsert->us_action == UPSERT_NONE && + state->operation != CMD_MERGE && state->mt_upsert->us_action == UPSERT_NONE && #endif result_rel_info->ri_TrigDesc && result_rel_info->ri_TrigDesc->trig_insert_before_row) { slot = ExecBRInsertTriggers(estate, result_rel_info, slot); @@ -620,9 +620,9 @@ TupleTableSlot* ExecInsertT(ModifyTableState* state, TupleTableSlot* slot, Tuple * Note: We fire INSREAD OF ROW TRIGGERS for every attempted insertion except * for a MERGE or INSERT ... ON DUPLICATE KEY UPDATE statement. */ - if (state->operation != CMD_MERGE && + if ( #ifdef ENABLE_MULTIPLE_NODES - state->mt_upsert->us_action == UPSERT_NONE && + state->operation != CMD_MERGE && state->mt_upsert->us_action == UPSERT_NONE && #endif result_rel_info->ri_TrigDesc && result_rel_info->ri_TrigDesc->trig_insert_instead_row) { slot = ExecIRInsertTriggers(estate, result_rel_info, slot); @@ -826,8 +826,13 @@ TupleTableSlot* ExecInsertT(ModifyTableState* state, TupleTableSlot* slot, Tuple /* AFTER ROW INSERT Triggers * Note: We fire AFTER ROW TRIGGERS for every attempted insertion except * for a MERGE or INSERT ... ON DUPLICATE KEY UPDATE statement. + * But in openGauss, we verify foreign key validity by AFTER ROW TRIGGERS, + * so we can not fire it. */ - if (state->operation != CMD_MERGE && state->mt_upsert->us_action == UPSERT_NONE && + if ( +#ifdef ENABLE_MULTIPLE_NODES + state->operation != CMD_MERGE && state->mt_upsert->us_action == UPSERT_NONE && +#endif !useHeapMultiInsert) ExecARInsertTriggers(estate, result_rel_info, partition_id, bucket_id, tuple, recheck_indexes); @@ -1302,8 +1307,11 @@ TupleTableSlot* ExecUpdate(ItemPointer tupleid, result_relation_desc = result_rel_info->ri_RelationDesc; /* BEFORE ROW UPDATE Triggers */ - if (node->operation != CMD_MERGE && result_rel_info->ri_TrigDesc && - result_rel_info->ri_TrigDesc->trig_update_before_row) { + if ( +#ifdef ENABLE_MULTIPLE_NODES + node->operation != CMD_MERGE && +#endif + result_rel_info->ri_TrigDesc && result_rel_info->ri_TrigDesc->trig_update_before_row) { #ifdef PGXC slot = ExecBRUpdateTriggers(estate, epqstate, result_rel_info, oldPartitionOid, @@ -1322,8 +1330,11 @@ TupleTableSlot* ExecUpdate(ItemPointer tupleid, } /* INSTEAD OF ROW UPDATE Triggers */ - if (node->operation != CMD_MERGE && result_rel_info->ri_TrigDesc && - result_rel_info->ri_TrigDesc->trig_update_instead_row) { + if ( +#ifdef ENABLE_MULTIPLE_NODES + node->operation != CMD_MERGE && +#endif + result_rel_info->ri_TrigDesc && result_rel_info->ri_TrigDesc->trig_update_instead_row) { HeapTupleData oldtup; Assert(oldtuple != NULL); @@ -1975,7 +1986,9 @@ TupleTableSlot* ExecUpdate(ItemPointer tupleid, #endif /* AFTER ROW UPDATE Triggers */ +#ifdef ENABLE_MULTIPLE_NODES if (node->operation != CMD_MERGE) +#endif ExecARUpdateTriggers(estate, result_rel_info, oldPartitionOid, @@ -2064,6 +2077,51 @@ static void fireASTriggers(ModifyTableState* node) } } +/* + * Check limit plan can be changed for delete limit + */ +bool IsLimitDML(const Limit *limitPlan) +{ + if (limitPlan->limitCount == NULL) { + return false; + } + if (limitPlan->limitOffset != NULL && IsA(limitPlan->limitOffset, Const)) { + const Const *flag = (Const*)limitPlan->limitOffset; + if (flag->ismaxvalue) { + return true; + } else { + return false; + } + } + return false; +} + +/* + * Get limit boundary + */ +uint64 GetDeleteLimitCount(ExprContext* econtext, PlanState* scan, Limit *limitPlan) +{ + ExprState* limitExpr = ExecInitExpr((Expr*)limitPlan->limitCount, scan); + Datum val; + bool isNull = false; + int64 iCount = 0; + val = ExecEvalExprSwitchContext(limitExpr, econtext, &isNull, NULL); + if (isNull) { + ereport(ERROR, + (errcode(ERRCODE_INVALID_ROW_COUNT_IN_LIMIT_CLAUSE), + errmodule(MOD_EXECUTOR), + errmsg("LIMIT must not be null for delete."))); + } + iCount = DatumGetInt64(val); + if (iCount <= 0) { + ereport(ERROR, + (errcode(ERRCODE_INVALID_ROW_COUNT_IN_LIMIT_CLAUSE), + errmodule(MOD_EXECUTOR), + errmsg("LIMIT must not be less than 0 for delete."))); + } + return (uint64)iCount; +} + /* ---------------------------------------------------------------- * ExecModifyTable * @@ -2209,6 +2267,9 @@ TupleTableSlot* ExecModifyTable(ModifyTableState* node) * for each row. */ for (;;) { + if (estate->deleteLimitCount != 0 && estate->es_processed == estate->deleteLimitCount) { + break; + } /* * Reset the per-output-tuple exprcontext. This is needed because * triggers expect to use that context as workspace. It's a bit ugly @@ -2391,7 +2452,6 @@ TupleTableSlot* ExecModifyTable(ModifyTableState* node) estate->es_result_update_remoterel = update_remote_rel_state; estate->es_result_delete_remoterel = delete_remote_rel_state; #endif - switch (operation) { case CMD_INSERT: slot = ExecInsert(node, slot, plan_slot, estate, node->canSetTag, hi_options, &partition_list); @@ -2454,9 +2514,8 @@ TupleTableSlot* ExecModifyTable(ModifyTableState* node) node->mt_done = true; - /* reset row trigger shipping flag before exiting */ - u_sess->tri_cxt.exec_row_trigger_on_datanode = false; - + ResetTrigShipFlag(); + return NULL; } @@ -2491,6 +2550,8 @@ ModifyTableState* ExecInitModifyTable(ModifyTable* node, EState* estate, int efl else mt_state = makeNode(ModifyTableState); + estate->deleteLimitCount = 0; + if (node->cacheEnt != NULL) { ErrorCacheEntry* entry = node->cacheEnt; @@ -2535,6 +2596,7 @@ ModifyTableState* ExecInitModifyTable(ModifyTable* node, EState* estate, int efl mt_state->resultRelInfo = estate->es_result_relations + node->resultRelIndex; mt_state->mt_arowmarks = (List**)palloc0(sizeof(List*) * nplans); mt_state->mt_nplans = nplans; + mt_state->limitExprContext = NULL; upsertState = (UpsertState*)palloc0(sizeof(UpsertState)); upsertState->us_action = node->upsertAction; @@ -2603,7 +2665,17 @@ ModifyTableState* ExecInitModifyTable(ModifyTable* node, EState* estate, int efl init_gtt_storage(operation, result_rel_info); /* Now init the plan for this result rel */ estate->es_result_relation_info = result_rel_info; - mt_state->mt_plans[i] = ExecInitNode(sub_plan, estate, eflags); + if (sub_plan->type == T_Limit && operation == CMD_DELETE && IsLimitDML((Limit*)sub_plan)) { + /* remove limit plan for delete limit */ + if (mt_state->limitExprContext == NULL) { + mt_state->limitExprContext = CreateExprContext(estate); + } + mt_state->mt_plans[i] = ExecInitNode(outerPlan(sub_plan), estate, eflags); + estate->deleteLimitCount = GetDeleteLimitCount(mt_state->limitExprContext, + mt_state->mt_plans[i], (Limit*)sub_plan); + } else { + mt_state->mt_plans[i] = ExecInitNode(sub_plan, estate, eflags); + } if (operation == CMD_MERGE && RelationInClusterResizing(estate->es_result_relation_info->ri_RelationDesc)) { ereport(ERROR, @@ -2613,10 +2685,10 @@ ModifyTableState* ExecInitModifyTable(ModifyTable* node, EState* estate, int efl } /* - * For update/delete case, we need further check if it is in cluster resizing, then + * For update/delete/upsert case, we need further check if it is in cluster resizing, then * we need open delete_delta rel for this target relation. */ - if (operation == CMD_UPDATE || operation == CMD_DELETE) { + if (operation == CMD_UPDATE || operation == CMD_DELETE || node->upsertAction == UPSERT_UPDATE) { Relation target_rel = estate->es_result_relation_info->ri_RelationDesc; Assert(target_rel != NULL && mt_state->delete_delta_rel == NULL); if (RelationInClusterResizing(target_rel) && !RelationInClusterResizingReadOnly(target_rel)) { @@ -3045,7 +3117,6 @@ void ExecEndModifyTable(ModifyTableState* node) /* clean up relation handler of delete delta table */ if (node->delete_delta_rel != NULL) { - Assert(node->operation == CMD_UPDATE || node->operation == CMD_DELETE); relation_close(node->delete_delta_rel, RowExclusiveLock); node->delete_delta_rel = NULL; } diff --git a/src/gausskernel/runtime/executor/nodeNestloop.cpp b/src/gausskernel/runtime/executor/nodeNestloop.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/executor/nodePartIterator.cpp b/src/gausskernel/runtime/executor/nodePartIterator.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/executor/nodeRecursiveunion.cpp b/src/gausskernel/runtime/executor/nodeRecursiveunion.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/executor/nodeResult.cpp b/src/gausskernel/runtime/executor/nodeResult.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/executor/nodeSamplescan.cpp b/src/gausskernel/runtime/executor/nodeSamplescan.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/executor/nodeSeqscan.cpp b/src/gausskernel/runtime/executor/nodeSeqscan.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/executor/nodeSetOp.cpp b/src/gausskernel/runtime/executor/nodeSetOp.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/executor/nodeSort.cpp b/src/gausskernel/runtime/executor/nodeSort.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/executor/nodeStub.cpp b/src/gausskernel/runtime/executor/nodeStub.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/executor/nodeSubplan.cpp b/src/gausskernel/runtime/executor/nodeSubplan.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/executor/nodeSubqueryscan.cpp b/src/gausskernel/runtime/executor/nodeSubqueryscan.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/executor/nodeTidscan.cpp b/src/gausskernel/runtime/executor/nodeTidscan.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/executor/nodeUnique.cpp b/src/gausskernel/runtime/executor/nodeUnique.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/executor/nodeValuesscan.cpp b/src/gausskernel/runtime/executor/nodeValuesscan.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/executor/nodeWindowAgg.cpp b/src/gausskernel/runtime/executor/nodeWindowAgg.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/executor/nodeWorktablescan.cpp b/src/gausskernel/runtime/executor/nodeWorktablescan.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/executor/opfusion.cpp b/src/gausskernel/runtime/executor/opfusion.cpp index 662e6bdd0..d45acc71b 100644 --- a/src/gausskernel/runtime/executor/opfusion.cpp +++ b/src/gausskernel/runtime/executor/opfusion.cpp @@ -42,6 +42,7 @@ #include "nodes/makefuncs.h" #include "optimizer/clauses.h" #include "parser/parsetree.h" +#include "parser/parse_coerce.h" #include "utils/lsyscache.h" #include "utils/snapmgr.h" #include "tcop/tcopprot.h" @@ -273,7 +274,7 @@ void OpFusion::auditRecord() } } -void OpFusion::executeEnd(const char* portal_name) +void OpFusion::executeEnd(const char* portal_name, bool* isQueryCompleted) { #ifdef ENABLE_MOT if (!(u_sess->exec_cxt.CurrentOpFusionObj->m_cacheplan && @@ -297,16 +298,23 @@ void OpFusion::executeEnd(const char* portal_name) /* reset the context. */ if (m_isCompleted) { UnregisterSnapshot(m_snapshot); + m_snapshot = NULL; MemoryContextDeleteChildren(m_tmpContext); /* reset the context. */ MemoryContextReset(m_tmpContext); /* clear hash table */ removeFusionFromHtab(portal_name); - u_sess->exec_cxt.CurrentOpFusionObj = NULL; m_outParams = NULL; m_isCompleted = false; - m_snapshot = NULL; + if (isQueryCompleted) + *isQueryCompleted = true; + u_sess->xact_cxt.pbe_execute_complete = true; + } else { + if (isQueryCompleted) + *isQueryCompleted = false; + u_sess->xact_cxt.pbe_execute_complete = false; } + u_sess->exec_cxt.CurrentOpFusionObj = NULL; m_isFirst = false; auditRecord(); @@ -316,7 +324,7 @@ void OpFusion::executeEnd(const char* portal_name) } } -bool OpFusion::process(int op, StringInfo msg, char* completionTag, bool isTopLevel) +bool OpFusion::process(int op, StringInfo msg, char* completionTag, bool isTopLevel, bool* isQueryCompleted) { if (op == FUSION_EXECUTE && msg != NULL) refreshCurFusion(msg); @@ -347,13 +355,13 @@ bool OpFusion::process(int op, StringInfo msg, char* completionTag, bool isTopLe u_sess->exec_cxt.CurrentOpFusionObj->execute(max_rows, completionTag); u_sess->exec_cxt.need_track_resource = old_status; gstrace_exit(GS_TRC_ID_BypassExecutor); - u_sess->exec_cxt.CurrentOpFusionObj->executeEnd(portal_name); + u_sess->exec_cxt.CurrentOpFusionObj->executeEnd(portal_name, isQueryCompleted); UpdateSingleNodeByPassUniqueSQLStat(isTopLevel); break; } case FUSION_DESCRIB: { - u_sess->exec_cxt.CurrentOpFusionObj->decribe(msg); + u_sess->exec_cxt.CurrentOpFusionObj->describe(msg); break; } @@ -661,13 +669,15 @@ void OpFusion::updatePreAllocParamter(StringInfo input_message) MemoryContextSwitchTo(old_context); } -void OpFusion::decribe(StringInfo msg) +void OpFusion::describe(StringInfo msg) { if (m_psrc->resultDesc != NULL) { StringInfoData buf; initStringInfo(&buf); SendRowDescriptionMessage(&buf, m_tupDesc, m_planstmt->planTree->targetlist, m_rformats); pfree_ext(buf.data); + } else { + pq_putemptymessage('n'); } } @@ -911,8 +921,10 @@ void OpFusion::clean() { UnregisterSnapshot(m_snapshot); m_snapshot = NULL; + m_position = 0; m_outParams = NULL; - m_scan->End(true); + if (m_scan) + m_scan->End(true); m_isCompleted = false; MemoryContextDeleteChildren(m_tmpContext); /* reset the context. */ @@ -925,6 +937,7 @@ void OpFusion::storeFusion(const char *portalname) if (!u_sess->pcache_cxt.pn_fusion_htab) initFusionHtab(); + removeFusionFromHtab(m_portalName); entry = (pnFusionObj *)(hash_search(u_sess->pcache_cxt.pn_fusion_htab, portalname, HASH_ENTER, NULL)); entry->opfusion = this; @@ -1253,6 +1266,7 @@ InsertFusion::InsertFusion(MemoryContext context, CachedPlanSource* psrc, List* func = (FuncExpr*)expr; m_targetFuncNodes[m_targetFuncNum].resno = res->resno; + m_targetFuncNodes[m_targetFuncNum].resname = res->resname; m_targetFuncNodes[m_targetFuncNum].funcid = func->funcid; m_targetFuncNodes[m_targetFuncNum].args = func->args; ++m_targetFuncNum; @@ -1268,6 +1282,7 @@ InsertFusion::InsertFusion(MemoryContext context, CachedPlanSource* psrc, List* opexpr = (OpExpr*)expr; m_targetFuncNodes[m_targetFuncNum].resno = res->resno; + m_targetFuncNodes[m_targetFuncNum].resname = res->resname; m_targetFuncNodes[m_targetFuncNum].funcid = opexpr->opfuncid; m_targetFuncNodes[m_targetFuncNum].args = opexpr->args; ++m_targetFuncNum; @@ -1296,12 +1311,14 @@ void InsertFusion::refreshParameterIfNecessary() /* calculate func result */ for (int i = 0; i < m_targetFuncNum; ++i) { + ELOG_FIELD_NAME_START(m_targetFuncNodes[i].resname); if (m_targetFuncNodes[i].funcid != InvalidOid) { func_isnull = false; m_values[m_targetFuncNodes[i].resno - 1] = CalFuncNodeVal( m_targetFuncNodes[i].funcid, m_targetFuncNodes[i].args, &func_isnull, m_curVarValue, m_curVarIsnull); m_isnull[m_targetFuncNodes[i].resno - 1] = func_isnull; } + ELOG_FIELD_NAME_END; } /* mapping params */ if (m_targetParamNum > 0) { @@ -1597,6 +1614,7 @@ UpdateFusion::UpdateFusion(MemoryContext context, CachedPlanSource* psrc, List* opexpr = (OpExpr*)expr; m_targetFuncNodes[m_targetFuncNum].resno = res->resno; + m_targetFuncNodes[m_targetFuncNum].resname = res->resname; m_targetFuncNodes[m_targetFuncNum].funcid = opexpr->opfuncid; m_targetFuncNodes[m_targetFuncNum].args = opexpr->args; ++m_targetFuncNum; @@ -1604,6 +1622,7 @@ UpdateFusion::UpdateFusion(MemoryContext context, CachedPlanSource* psrc, List* func = (FuncExpr*)expr; m_targetFuncNodes[m_targetFuncNum].resno = res->resno; + m_targetFuncNodes[m_targetFuncNum].resname = res->resname; m_targetFuncNodes[m_targetFuncNum].funcid = func->funcid; m_targetFuncNodes[m_targetFuncNum].args = func->args; ++m_targetFuncNum; @@ -1654,6 +1673,7 @@ void UpdateFusion::refreshTargetParameterIfNecessary() } /* calculate func result */ for (int i = 0; i < m_targetFuncNum; ++i) { + ELOG_FIELD_NAME_START(m_targetFuncNodes[i].resname); if (m_targetFuncNodes[i].funcid != InvalidOid) { bool func_isnull = false; m_values[m_targetFuncNodes[i].resno - 1] = @@ -1661,6 +1681,7 @@ void UpdateFusion::refreshTargetParameterIfNecessary() m_curVarValue, m_curVarIsnull); m_isnull[m_targetFuncNodes[i].resno - 1] = func_isnull; } + ELOG_FIELD_NAME_END; } } diff --git a/src/gausskernel/runtime/executor/opfusion_scan.cpp b/src/gausskernel/runtime/executor/opfusion_scan.cpp index 2aaf0713a..05b3d2e62 100644 --- a/src/gausskernel/runtime/executor/opfusion_scan.cpp +++ b/src/gausskernel/runtime/executor/opfusion_scan.cpp @@ -94,6 +94,8 @@ IndexFusion::IndexFusion(ParamListInfo params, PlannedStmt* planstmt) : ScanFusi m_index = NULL; m_parentRel = NULL; m_partRel = NULL; + m_parentIndex = NULL; + m_partIndex = NULL; m_keyInit = false; } @@ -351,14 +353,12 @@ Oid GetRelOidForPartitionTable(Scan scan, const Relation rel, ParamListInfo para } /* init the index in construct */ -Relation InitPartitionIndexInFusion(Oid parentIndexOid, Oid partOid, Relation rel) +Relation InitPartitionIndexInFusion(Oid parentIndexOid, Oid partOid, Partition* partIndex, Relation* parentIndex) { - Relation parentIndex = relation_open(parentIndexOid, AccessShareLock); + *parentIndex = relation_open(parentIndexOid, AccessShareLock); Oid partIndexOid = getPartitionIndexOid(parentIndexOid, partOid); - Partition partIndex = partitionOpen(parentIndex, partIndexOid, AccessShareLock); - Relation index = partitionGetRelation(parentIndex, partIndex); - partitionClose(parentIndex, partIndex, AccessShareLock); - relation_close(parentIndex, AccessShareLock); + *partIndex = partitionOpen(*parentIndex, partIndexOid, AccessShareLock); + Relation index = partitionGetRelation(*parentIndex, *partIndex); return index; } @@ -371,23 +371,24 @@ void InitPartitionRelationInFusion(Oid partOid, Relation parentRel, Partition* p } /* execute the process of done in construct */ -void ExeceDoneInIndexFusionConstruct(bool isPartTbl, Relation parentRel, Partition part, Relation index, Relation rel) +static void ExeceDoneInIndexFusionConstruct(bool isPartTbl, Relation* parentRel, Partition* part, + Relation* index, Relation* rel) { if (isPartTbl) { - partitionClose(parentRel, part, AccessShareLock); - part = NULL; - if (index != NULL) { - releaseDummyRelation(&index); - index = NULL; + partitionClose(*parentRel, *part, AccessShareLock); + *part = NULL; + if (*index != NULL) { + releaseDummyRelation(index); + *index = NULL; } - releaseDummyRelation(&rel); - heap_close(parentRel, AccessShareLock); - parentRel = NULL; - rel = NULL; + releaseDummyRelation(rel); + heap_close(*parentRel, AccessShareLock); + *parentRel = NULL; + *rel = NULL; } else { - heap_close((index == NULL) ? rel : index, AccessShareLock); - index = NULL; - rel = NULL; + heap_close((*index == NULL) ? *rel : *index, AccessShareLock); + *index = NULL; + *rel = NULL; } } @@ -462,7 +463,8 @@ IndexScanFusion::IndexScanFusion(IndexScan* node, PlannedStmt* planstmt, ParamLi m_isnull = (bool*)palloc(RelationGetDescr(rel)->natts * sizeof(bool)); m_tmpisnull = (bool*)palloc(m_tupDesc->natts * sizeof(bool)); setAttrNo(); - ExeceDoneInIndexFusionConstruct(m_node->scan.isPartTbl, m_parentRel, m_partRel, NULL, m_rel); + Relation dummyIndex = NULL; + ExeceDoneInIndexFusionConstruct(m_node->scan.isPartTbl, &m_parentRel, &m_partRel, &dummyIndex, &m_rel); } @@ -479,7 +481,7 @@ void IndexScanFusion::Init(long max_rows) /* get partition index */ Oid parentIndexOid = m_node->indexid; - m_index = InitPartitionIndexInFusion(parentIndexOid, m_reloid, m_rel); + m_index = InitPartitionIndexInFusion(parentIndexOid, m_reloid, &m_partIndex, &m_parentIndex); } else { m_rel = heap_open(m_reloid, AccessShareLock); m_index = index_open(m_node->indexid, AccessShareLock); @@ -591,16 +593,21 @@ void IndexScanFusion::End(bool isCompleted) if (m_reslot != NULL) { (void)ExecClearTuple(m_reslot); + m_reslot = NULL; } if (m_scandesc != NULL) { scan_handler_idx_endscan(m_scandesc); + m_scandesc = NULL; } if (m_index != NULL) { if (m_node->scan.isPartTbl) { + partitionClose(m_parentIndex, m_partIndex, AccessShareLock); releaseDummyRelation(&m_index); + index_close(m_parentIndex, AccessShareLock); } else { index_close(m_index, AccessShareLock); } + m_index = NULL; } if (m_rel != NULL) { if (m_node->scan.isPartTbl) { @@ -610,6 +617,7 @@ void IndexScanFusion::End(bool isCompleted) } else { heap_close(m_rel, AccessShareLock); } + m_rel = NULL; } } @@ -674,7 +682,7 @@ IndexOnlyScanFusion::IndexOnlyScanFusion(IndexOnlyScan* node, PlannedStmt* plans /* get Partition index */ Oid parentIndexOid = m_node->indexid; - m_index = InitPartitionIndexInFusion(parentIndexOid, m_reloid, m_rel); + m_index = InitPartitionIndexInFusion(parentIndexOid, m_reloid, &m_partIndex, &m_parentIndex); } else { m_reloid = getrelid(m_node->scan.scanrelid, planstmt->rtable); m_index = index_open(m_node->indexid, AccessShareLock); @@ -692,7 +700,11 @@ IndexOnlyScanFusion::IndexOnlyScanFusion(IndexOnlyScan* node, PlannedStmt* plans m_isnull = (bool*)palloc(RelationGetDescr(rel)->natts * sizeof(bool)); m_tmpisnull = (bool*)palloc(m_tupDesc->natts * sizeof(bool)); setAttrNo(); - ExeceDoneInIndexFusionConstruct(m_node->scan.isPartTbl, m_parentRel, m_partRel, m_index, m_rel); + ExeceDoneInIndexFusionConstruct(m_node->scan.isPartTbl, &m_parentRel, &m_partRel, &m_index, &m_rel); + if (m_node->scan.isPartTbl) { + partitionClose(m_parentIndex, m_partIndex, AccessShareLock); + index_close(m_parentIndex, AccessShareLock); + } } @@ -709,7 +721,7 @@ void IndexOnlyScanFusion::Init(long max_rows) /* get partition index */ Oid parentIndexOid = m_node->indexid; - m_index = InitPartitionIndexInFusion(parentIndexOid, m_reloid, m_rel); + m_index = InitPartitionIndexInFusion(parentIndexOid, m_reloid, &m_partIndex, &m_parentIndex); } else { m_rel = heap_open(m_reloid, AccessShareLock); m_index = index_open(m_node->indexid, AccessShareLock); @@ -844,13 +856,17 @@ void IndexOnlyScanFusion::End(bool isCompleted) if (m_scandesc != NULL) { scan_handler_idx_endscan(m_scandesc); + m_scandesc = NULL; } if (m_index != NULL) { if (m_node->scan.isPartTbl) { + partitionClose(m_parentIndex, m_partIndex, AccessShareLock); releaseDummyRelation(&m_index); + index_close(m_parentIndex, AccessShareLock); } else { index_close(m_index, AccessShareLock); } + m_index = NULL; } if (m_rel != NULL) { if (m_node->scan.isPartTbl) { @@ -860,9 +876,11 @@ void IndexOnlyScanFusion::End(bool isCompleted) } else { heap_close(m_rel, AccessShareLock); } + m_rel = NULL; } if (m_reslot != NULL) { (void)ExecClearTuple(m_reslot); + m_reslot = NULL; } } diff --git a/src/gausskernel/runtime/executor/opfusion_util.cpp b/src/gausskernel/runtime/executor/opfusion_util.cpp old mode 100755 new mode 100644 index a83ef3f59..431842637 --- a/src/gausskernel/runtime/executor/opfusion_util.cpp +++ b/src/gausskernel/runtime/executor/opfusion_util.cpp @@ -687,7 +687,7 @@ bool checkDMLRelation(const Relation rel, const PlannedStmt *plannedstmt, bool i bool result = false; if (rel->rd_rel->relkind != RELKIND_RELATION || rel->rd_rel->relhasrules || rel->rd_rel->relhastriggers || rel->rd_rel->relhasoids || rel->rd_rel->relhassubclass || RelationIsColStore(rel) || - RelationInRedistribute(rel) || plannedstmt->hasReturning) { + RelationIsTsStore(rel) || RelationInRedistribute(rel) || plannedstmt->hasReturning) { result = true; } if (isInsert) { diff --git a/src/gausskernel/runtime/executor/spi.cpp b/src/gausskernel/runtime/executor/spi.cpp old mode 100755 new mode 100644 index f1cd85378..cf6332483 --- a/src/gausskernel/runtime/executor/spi.cpp +++ b/src/gausskernel/runtime/executor/spi.cpp @@ -35,6 +35,7 @@ #include "utils/builtins.h" #include "utils/datum.h" #include "utils/dynahash.h" +#include "utils/globalplancore.h" #include "utils/lsyscache.h" #include "utils/memutils.h" #include "utils/rel.h" @@ -73,12 +74,10 @@ static SPIPlanPtr _SPI_make_plan_non_temp(SPIPlanPtr plan); static SPIPlanPtr _SPI_save_plan(SPIPlanPtr plan); static int _SPI_begin_call(bool execmem); -static MemoryContext _SPI_execmem(void); static MemoryContext _SPI_procmem(void); static bool _SPI_checktuples(void); extern void ClearVacuumStmt(VacuumStmt *stmt); static void CopySPI_Plan(SPIPlanPtr newplan, SPIPlanPtr plan, MemoryContext plancxt); -static bool spi_parse_enable_gpc(const Node *node); /* =================== interface functions =================== */ int SPI_connect(CommandDest dest, void (*spiCallbackfn)(void *), void *clientData) @@ -235,38 +234,33 @@ void SPI_stp_transaction_check(bool read_only) { /* Can not commit/rollback if it's atomic is true */ if (u_sess->SPI_cxt._current->atomic) { - ereport(ERROR, - (errcode(ERRCODE_INVALID_TRANSACTION_TERMINATION), - errmsg("%s", u_sess->SPI_cxt.forbidden_commit_rollback_err_msg))); + ereport(ERROR, (errcode(ERRCODE_INVALID_TRANSACTION_TERMINATION), + errmsg("%s", u_sess->SPI_cxt.forbidden_commit_rollback_err_msg))); } /* If commit/rollback is not within store procedure report error */ if (!u_sess->SPI_cxt.is_stp) { - ereport(ERROR, - (errcode(ERRCODE_INVALID_TRANSACTION_TERMINATION), - errmsg("cannot commit/rollback within function or procedure started by trigger"))); + ereport(ERROR, (errcode(ERRCODE_INVALID_TRANSACTION_TERMINATION), + errmsg("cannot commit/rollback within function or procedure started by trigger"))); } #ifdef ENABLE_MULTIPLE_NODES /* Can not commit/rollback at non-CN nodes */ if (!IS_PGXC_COORDINATOR || IsConnFromCoord()) { - ereport(ERROR, - (errcode(ERRCODE_INVALID_TRANSACTION_TERMINATION), - errmsg("cannot commit/rollback at non-CN node"))); + ereport(ERROR, (errcode(ERRCODE_INVALID_TRANSACTION_TERMINATION), + errmsg("cannot commit/rollback at non-CN node"))); } #endif if (read_only) { - ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - /* translator: %s is a SQL statement name */ - errmsg("commit/rollback is not allowed in a non-volatile function"))); + ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("commit/rollback is not allowed in a non-volatile function"))); + /* translator: %s is a SQL statement name */ } if (IsStpInOuterSubTransaction()) { - ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("commit/rollback is not allowed in outer sub transaction block."))); + ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("commit/rollback is not allowed in outer sub transaction block."))); } @@ -513,6 +507,7 @@ int SPI_execute_direct(const char *remote_sql, char *nodename) securec_check(errorno, "\0", "\0"); plan.magic = _SPI_PLAN_MAGIC; plan.cursor_options = 0; + plan.spi_key = INVALID_SPI_KEY; /* Now pass the ExecDirectStmt parsetree node */ _SPI_pgxc_prepare_plan(execdirect.data, list_make1(stmt), &plan); @@ -542,6 +537,7 @@ int SPI_execute(const char *src, bool read_only, long tcount) securec_check(errorno, "\0", "\0"); plan.magic = _SPI_PLAN_MAGIC; plan.cursor_options = 0; + plan.spi_key = INVALID_SPI_KEY; _SPI_prepare_oneshot_plan(src, &plan); @@ -721,7 +717,16 @@ SPIPlanPtr SPI_prepare_cursor(const char *src, int nargs, Oid *argtypes, int cur so this plancache can't share into gpc, set spi_hash_key to invalid when call _SPI_prepare_plan. */ uint32 old_key = u_sess->SPI_cxt._current->spi_hash_key; u_sess->SPI_cxt._current->spi_hash_key = INVALID_SPI_KEY; - _SPI_prepare_plan(src, &plan); + PG_TRY(); + { + _SPI_prepare_plan(src, &plan); + } + PG_CATCH(); + { + u_sess->SPI_cxt._current->spi_hash_key = old_key; + PG_RE_THROW(); + } + PG_END_TRY(); u_sess->SPI_cxt._current->spi_hash_key = old_key; /* copy plan to procedure context */ @@ -1237,15 +1242,15 @@ Portal SPI_cursor_open_with_args(const char *name, const char *src, int nargs, O errno_t errorno = EOK; if (src == NULL || nargs < 0) { - ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), errmsg("open cursor with args has invalid arguments, %s", - (src == NULL) ? "query string is NULL" : "argument number is less than zero."))); + ereport(ERROR, (errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("open cursor with args has invalid arguments,%s", + (src == NULL) ? "query string is NULL" : "argument number is less than zero."))); } if (nargs > 0 && (argtypes == NULL || Values == NULL)) { - ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), errmsg("open cursor with args has invalid arguments, %s", - (argtypes == NULL) ? "argument type is NULL" : "value is NULL"))); + ereport(ERROR, (errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("open cursor with args has invalid arguments,%s", + (argtypes == NULL) ? "argument type is NULL" : "value is NULL"))); } SPI_result = _SPI_begin_call(true); @@ -1273,7 +1278,16 @@ Portal SPI_cursor_open_with_args(const char *name, const char *src, int nargs, O so this plancache can't share into gpc, set spi_hash_key to invalid when call _SPI_prepare_plan. */ uint32 old_key = u_sess->SPI_cxt._current->spi_hash_key; u_sess->SPI_cxt._current->spi_hash_key = INVALID_SPI_KEY; - _SPI_prepare_plan(src, &plan); + PG_TRY(); + { + _SPI_prepare_plan(src, &plan); + } + PG_CATCH(); + { + u_sess->SPI_cxt._current->spi_hash_key = old_key; + PG_RE_THROW(); + } + PG_END_TRY(); u_sess->SPI_cxt._current->spi_hash_key = old_key; /* We needn't copy the plan; SPI_cursor_open_internal will do so */ @@ -1378,10 +1392,9 @@ static Portal SPI_cursor_open_internal(const char *name, SPIPlanPtr plan, ParamL /* Replan if needed, and increment plan refcount for portal */ cplan = GetCachedPlan(plansource, paramLI, false); - if (ENABLE_GPC && plan->saved) { - MemoryContext oldcxt = MemoryContextSwitchTo(PortalGetHeapMemory(portal)); - stmt_list = (List*)copyObject(cplan->stmt_list); - (void)MemoryContextSwitchTo(oldcxt); + if (ENABLE_GPC && plan->saved && plansource->gplan) { + MemoryContext tmpCxt = NULL; + stmt_list = CopyLocalStmt(cplan->stmt_list, PortalGetHeapMemory(portal), &tmpCxt); } else { stmt_list = cplan->stmt_list; } @@ -1952,8 +1965,9 @@ static void _SPI_pgxc_prepare_plan(const char *src, List *src_parsetree, SPIPlan enable_spi_gpc = false; if (ENABLE_CN_GPC && u_sess->SPI_cxt._current->spi_hash_key != INVALID_SPI_KEY && u_sess->SPI_cxt._current->visit_id != (uint32)-1) { - enable_spi_gpc = spi_parse_enable_gpc(parsetree); + enable_spi_gpc = SPIParseEnableGPC(parsetree); } + enable_spi_gpc = false; if (enable_spi_gpc) { Assert(src_parsetree == NIL); Assert(plan->oneshot == false); @@ -2153,6 +2167,7 @@ static int _SPI_execute_plan(SPIPlanPtr plan, ParamListInfo paramLI, Snapshot sn int my_res = 0; uint32 my_processed = 0; Oid my_lastoid = InvalidOid; + MemoryContext tmp_cxt = NULL; SPITupleTable *my_tuptable = NULL; int res = 0; bool pushed_active_snap = false; @@ -2226,11 +2241,10 @@ static int _SPI_execute_plan(SPIPlanPtr plan, ParamListInfo paramLI, Snapshot sn if (cplan->isShared()) (void)pg_atomic_fetch_add_u32((volatile uint32*)&cplan->global_refcount, 1); - if (ENABLE_GPC) { - stmt_list = CopyLocalStmt(cplan->stmt_list); - } else { + if (ENABLE_GPC && plansource->gplan) + stmt_list = CopyLocalStmt(cplan->stmt_list, u_sess->SPI_cxt._current->execCxt, &tmp_cxt); + else stmt_list = cplan->stmt_list; - } /* * In the default non-read-only case, get a new snapshot, replacing @@ -2285,9 +2299,13 @@ static int _SPI_execute_plan(SPIPlanPtr plan, ParamListInfo paramLI, Snapshot sn } else if (IsA(stmt, TransactionStmt)) { my_res = SPI_ERROR_TRANSACTION; goto fail; - } + } } + if (reinterpret_cast(stmt)->commandType != CMD_SELECT) { + SPI_forbid_exec_push_down_with_exception(); + } + if (read_only && !CommandIsReadOnly(stmt)) { ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), /* translator: %s is a SQL statement name */ @@ -2415,6 +2433,8 @@ static int _SPI_execute_plan(SPIPlanPtr plan, ParamListInfo paramLI, Snapshot sn /* Done with this plan, so release refcount */ ReleaseCachedPlan(cplan, plan->saved); cplan = NULL; + if (ENABLE_GPC && tmp_cxt) + MemoryContextDelete(tmp_cxt); /* * If not read-only mode, advance the command counter after the last @@ -2641,8 +2661,7 @@ static int _SPI_pquery(QueryDesc *queryDesc, bool fire_triggers, long tcount, bo if (_SPI_checktuples()) { ereport(ERROR, (errcode(ERRCODE_DATA_CORRUPTED), errmsg("consistency check on SPI tuple count failed when execute plan, %s", - (u_sess->SPI_cxt._current->tuptable == NULL) ? "tupletable is NULL." : - "processed tuples is not matched."))); + (u_sess->SPI_cxt._current->tuptable == NULL) ? "tupletable is NULL." : "processed tuples is not matched."))); } } @@ -2786,11 +2805,6 @@ void _SPI_hold_cursor() _SPI_end_call(true); } -static MemoryContext _SPI_execmem(void) -{ - return MemoryContextSwitchTo(u_sess->SPI_cxt._current->execCxt); -} - static MemoryContext _SPI_procmem(void) { return MemoryContextSwitchTo(u_sess->SPI_cxt._current->procCxt); @@ -2809,7 +2823,7 @@ static int _SPI_begin_call(bool execmem) } if (execmem) { /* switch to the Executor memory context */ - _SPI_execmem(); + MemoryContextSwitchTo(u_sess->SPI_cxt._current->execCxt); } return 0; @@ -3153,29 +3167,18 @@ void spi_exec_with_callback(CommandDest dest, const char *src, bool read_only, l } PG_END_TRY(); } - -static bool spi_parse_enable_gpc(const Node *node) +/* + * SPI_forbid_exec_push_down_with_exception + * Function with exception can't be pushed down,because the + * exception start a subtransaction in DN Node,it will cause the result + * incorrect + * Returns: Void + */ +void SPI_forbid_exec_push_down_with_exception() { - if (node == NULL) - return false; - switch (nodeTag(node)) { - case T_SelectStmt: - if (((SelectStmt*)node)->intoClause) - return false; - /* fall through */ - case T_MergeStmt: - case T_UpdateStmt: - case T_DeleteStmt: - case T_InsertStmt: - return true; - /* like needRecompilePlan */ - case T_CreateTableAsStmt: - case T_TransactionStmt: - default: - return false; + if (u_sess->SPI_cxt.current_stp_with_exception && IS_PGXC_DATANODE && IsConnFromCoord()) { + ereport(FATAL, (errmsg("the function or procedure with exception can't be pushed down for execution"))); } - /* keep compiler quite */ - return false; } /* diff --git a/src/gausskernel/runtime/executor/tstoreReceiver.cpp b/src/gausskernel/runtime/executor/tstoreReceiver.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/vecexecutor/vecexecutor.cpp b/src/gausskernel/runtime/vecexecutor/vecexecutor.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/vecexecutor/vecexpression.cpp b/src/gausskernel/runtime/vecexecutor/vecexpression.cpp old mode 100755 new mode 100644 index 0cd7b9919..4ce0a80ea --- a/src/gausskernel/runtime/vecexecutor/vecexpression.cpp +++ b/src/gausskernel/runtime/vecexecutor/vecexpression.cpp @@ -859,7 +859,7 @@ static ScalarVector* ExecEvalVecParamExec( Assert(prm->execPlan == NULL); } paramVec->m_desc.typeId = prm->valueType; - paramVec->m_desc.encoded = COL_IS_ENCODE(desc.typeId); + paramVec->m_desc.encoded = COL_IS_ENCODE(paramVec->m_desc.typeId); /* * Extend the result to a const vector and return. @@ -3200,10 +3200,8 @@ ScalarVector* ExecVecQual(List* qual, ExprContext* econtext, bool resultForNull, uint8* pFlag = NULL; bool res = false; ScalarVector* qual_result = NULL; - ScalarDesc unknownDesc; int rows = 0; ScalarVector* pVector = econtext->boolVector; - errno_t rc; bool savedUseSelection = econtext->m_fUseSelection; @@ -3242,10 +3240,13 @@ ScalarVector* ExecVecQual(List* qual, ExprContext* econtext, bool resultForNull, // Reset null flag to avoid influence from each qual. // no need to reset m_vals because it will be overwritten. - rc = memset_s(pVector->m_flag, sizeof(uint8) * BatchMaxSize, 0, sizeof(uint8) * econtext->align_rows); + errno_t rc = memset_s(pVector->m_flag, sizeof(uint8) * BatchMaxSize, 0, sizeof(uint8) * econtext->align_rows); securec_check(rc, "\0", "\0"); pVector->m_rows = 0; + if (!PointerIsValid(clause)) + ereport(ERROR, (errcode(ERRCODE_UNDEFINED_OBJECT), errmsg("Invalid clause in qual"))); + qual_result = VectorExprEngine(clause, econtext, econtext->ecxt_scanbatch->m_sel, pVector, NULL); rows = qual_result->m_rows; diff --git a/src/gausskernel/runtime/vecexecutor/vecfuncache.cpp b/src/gausskernel/runtime/vecexecutor/vecfuncache.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/vecexecutor/vecnode/dfsscan.cpp b/src/gausskernel/runtime/vecexecutor/vecnode/dfsscan.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/vecexecutor/vecnode/vecagg.cpp b/src/gausskernel/runtime/vecexecutor/vecnode/vecagg.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/vecexecutor/vecnode/vecconstraints.cpp b/src/gausskernel/runtime/vecexecutor/vecnode/vecconstraints.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/vecexecutor/vecnode/veccstore.cpp b/src/gausskernel/runtime/vecexecutor/vecnode/veccstore.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/vecexecutor/vecnode/veccstoreindexand.cpp b/src/gausskernel/runtime/vecexecutor/vecnode/veccstoreindexand.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/vecexecutor/vecnode/veccstoreindexctidscan.cpp b/src/gausskernel/runtime/vecexecutor/vecnode/veccstoreindexctidscan.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/vecexecutor/vecnode/veccstoreindexheapscan.cpp b/src/gausskernel/runtime/vecexecutor/vecnode/veccstoreindexheapscan.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/vecexecutor/vecnode/veccstoreindexor.cpp b/src/gausskernel/runtime/vecexecutor/vecnode/veccstoreindexor.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/vecexecutor/vecnode/veccstoreindexscan.cpp b/src/gausskernel/runtime/vecexecutor/vecnode/veccstoreindexscan.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/vecexecutor/vecnode/vecdfsindexscan.cpp b/src/gausskernel/runtime/vecexecutor/vecnode/vecdfsindexscan.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/vecexecutor/vecnode/vecforeignscan.cpp b/src/gausskernel/runtime/vecexecutor/vecnode/vecforeignscan.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/vecexecutor/vecnode/vecgroup.cpp b/src/gausskernel/runtime/vecexecutor/vecnode/vecgroup.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/vecexecutor/vecnode/vechashagg.cpp b/src/gausskernel/runtime/vecexecutor/vecnode/vechashagg.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/vecexecutor/vecnode/vechashjoin.cpp b/src/gausskernel/runtime/vecexecutor/vecnode/vechashjoin.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/vecexecutor/vecnode/vechashtable.cpp b/src/gausskernel/runtime/vecexecutor/vecnode/vechashtable.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/vecexecutor/vecnode/veclimit.cpp b/src/gausskernel/runtime/vecexecutor/vecnode/veclimit.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/vecexecutor/vecnode/vecmaterial.cpp b/src/gausskernel/runtime/vecexecutor/vecnode/vecmaterial.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/vecexecutor/vecnode/vecmergeinto.cpp b/src/gausskernel/runtime/vecexecutor/vecnode/vecmergeinto.cpp old mode 100755 new mode 100644 index 90fdf9445..3200bd10f --- a/src/gausskernel/runtime/vecexecutor/vecnode/vecmergeinto.cpp +++ b/src/gausskernel/runtime/vecexecutor/vecnode/vecmergeinto.cpp @@ -89,11 +89,11 @@ static VectorBatch* extract_scan_batch( * Build dummy junkfilter for cstore update */ static JunkFilter* build_dummy_junk_filter( - ModifyTableState* mtstate, MergeAction* action, EState* estate, ResultRelInfo* result_rel_info) + ModifyTableState* mtstate, List* new_targetlist, EState* estate, ResultRelInfo* result_rel_info) { JunkFilter* junk_filter = NULL; ListCell* cell = NULL; - Index new_index = list_length(action->targetList); + Index new_index = list_length(new_targetlist); List* target_list = mtstate->mt_plans[0]->plan->targetlist; foreach (cell, target_list) { @@ -105,12 +105,12 @@ static JunkFilter* build_dummy_junk_filter( new_index++; ((Var*)res_tle->expr)->varno = 1; ((Var*)res_tle->expr)->varattno = new_index; - action->targetList = lappend(action->targetList, res_tle); + new_targetlist = lappend(new_targetlist, res_tle); res_tle->resno = new_index; } } - junk_filter = ExecInitJunkFilter(action->targetList, false, ExecInitExtraTupleSlot(estate)); + junk_filter = ExecInitJunkFilter(new_targetlist, false, ExecInitExtraTupleSlot(estate)); junk_filter->jf_junkAttNo = ExecFindJunkAttribute(junk_filter, "ctid"); if (!AttributeNumberIsValid(junk_filter->jf_junkAttNo)) { @@ -445,16 +445,18 @@ void ExecInitVecMerge(ModifyTableState* mtstate, EState* estate, ResultRelInfo* MergeActionState* action_state = makeNode(MergeActionState); TupleDesc tup_desc; List* target_list = NULL; + List* new_targetlist = NULL; + new_targetlist = (List*)copyObject(action->targetList); action_state->matched = action->matched; action_state->commandType = action->commandType; action_state->whenqual = ExecInitVecExpr((Expr*)action->qual, &mtstate->ps); if (IS_PGXC_DATANODE && CMD_UPDATE == action->commandType) { - action_state->junkfilter = build_dummy_junk_filter(mtstate, action, estate, resultRelInfo); + action_state->junkfilter = build_dummy_junk_filter(mtstate, new_targetlist, estate, resultRelInfo); /* create target slot for this action's projection */ - tup_desc = ExecTypeFromTL((List*)action->targetList, false, true); + tup_desc = ExecTypeFromTL((List*)new_targetlist, false, true); action_state->tupDesc = tup_desc; action_state->scanBatch = New(CurrentMemoryContext) VectorBatch(CurrentMemoryContext, tup_desc); @@ -462,14 +464,14 @@ void ExecInitVecMerge(ModifyTableState* mtstate, EState* estate, ResultRelInfo* ExecSetSlotDescriptor(mtstate->mt_mergeproj, tup_desc); } else { /* create target slot for this action's projection */ - tup_desc = ExecTypeFromTL((List*)action->targetList, false, true); + tup_desc = ExecTypeFromTL((List*)new_targetlist, false, true); action_state->tupDesc = tup_desc; ExecSetSlotDescriptor(mtstate->mt_mergeproj, relation_desc); } /* build action projection state */ - target_list = (List*)ExecInitVecExpr((Expr*)action->targetList, &mtstate->ps); + target_list = (List*)ExecInitVecExpr((Expr*)new_targetlist, &mtstate->ps); action_state->proj = ExecBuildVecProjectionInfo(target_list, NULL, econtext, mtstate->mt_mergeproj, tup_desc); /* @@ -484,11 +486,11 @@ void ExecInitVecMerge(ModifyTableState* mtstate, EState* estate, ResultRelInfo* switch (action->commandType) { case CMD_INSERT: - ExecCheckPlanOutput(resultRelInfo->ri_RelationDesc, action->targetList); + ExecCheckPlanOutput(resultRelInfo->ri_RelationDesc, new_targetlist); mtstate->mt_merge_subcommands |= MERGE_INSERT; break; case CMD_UPDATE: - ExecCheckPlanOutput(resultRelInfo->ri_RelationDesc, action->targetList); + ExecCheckPlanOutput(resultRelInfo->ri_RelationDesc, new_targetlist); mtstate->mt_merge_subcommands |= MERGE_UPDATE; break; default: diff --git a/src/gausskernel/runtime/vecexecutor/vecnode/vecmergejoin.cpp b/src/gausskernel/runtime/vecexecutor/vecnode/vecmergejoin.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/vecexecutor/vecnode/vecmodifytable.cpp b/src/gausskernel/runtime/vecexecutor/vecnode/vecmodifytable.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/vecexecutor/vecnode/vecnestloop.cpp b/src/gausskernel/runtime/vecexecutor/vecnode/vecnestloop.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/vecexecutor/vecnode/vecpartiterator.cpp b/src/gausskernel/runtime/vecexecutor/vecnode/vecpartiterator.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/vecexecutor/vecnode/vecplainagg.cpp b/src/gausskernel/runtime/vecexecutor/vecnode/vecplainagg.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/vecexecutor/vecnode/vecremotequery.cpp b/src/gausskernel/runtime/vecexecutor/vecnode/vecremotequery.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/vecexecutor/vecnode/vecrescan.cpp b/src/gausskernel/runtime/vecexecutor/vecnode/vecrescan.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/vecexecutor/vecnode/vecresult.cpp b/src/gausskernel/runtime/vecexecutor/vecnode/vecresult.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/vecexecutor/vecnode/vecrowtovector.cpp b/src/gausskernel/runtime/vecexecutor/vecnode/vecrowtovector.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/vecexecutor/vecnode/vecscan.cpp b/src/gausskernel/runtime/vecexecutor/vecnode/vecscan.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/vecexecutor/vecnode/vecsetop.cpp b/src/gausskernel/runtime/vecexecutor/vecnode/vecsetop.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/vecexecutor/vecnode/vecsort.cpp b/src/gausskernel/runtime/vecexecutor/vecnode/vecsort.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/vecexecutor/vecnode/vecsortagg.cpp b/src/gausskernel/runtime/vecexecutor/vecnode/vecsortagg.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/vecexecutor/vecnode/vecstore.cpp b/src/gausskernel/runtime/vecexecutor/vecnode/vecstore.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/vecexecutor/vecnode/vecstream.cpp b/src/gausskernel/runtime/vecexecutor/vecnode/vecstream.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/vecexecutor/vecnode/vecsubplan.cpp b/src/gausskernel/runtime/vecexecutor/vecnode/vecsubplan.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/vecexecutor/vecnode/vecsubqueryscan.cpp b/src/gausskernel/runtime/vecexecutor/vecnode/vecsubqueryscan.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/vecexecutor/vecnode/vectortorow.cpp b/src/gausskernel/runtime/vecexecutor/vecnode/vectortorow.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/vecexecutor/vecnode/vecunique.cpp b/src/gausskernel/runtime/vecexecutor/vecnode/vecunique.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/vecexecutor/vecnode/vecwindowagg.cpp b/src/gausskernel/runtime/vecexecutor/vecnode/vecwindowagg.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/vecexecutor/vectorbatch.cpp b/src/gausskernel/runtime/vecexecutor/vectorbatch.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/vecexecutor/vectorsonic/sonicarray/vsonicarray.cpp b/src/gausskernel/runtime/vecexecutor/vectorsonic/sonicarray/vsonicarray.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/vecexecutor/vectorsonic/sonicarray/vsonicchar.cpp b/src/gausskernel/runtime/vecexecutor/vectorsonic/sonicarray/vsonicchar.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/vecexecutor/vectorsonic/sonicarray/vsonicencodingchar.cpp b/src/gausskernel/runtime/vecexecutor/vectorsonic/sonicarray/vsonicencodingchar.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/vecexecutor/vectorsonic/sonicarray/vsonicfixlen.cpp b/src/gausskernel/runtime/vecexecutor/vectorsonic/sonicarray/vsonicfixlen.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/vecexecutor/vectorsonic/sonicarray/vsonicint.cpp b/src/gausskernel/runtime/vecexecutor/vectorsonic/sonicarray/vsonicint.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/vecexecutor/vectorsonic/sonicarray/vsonicnumeric.cpp b/src/gausskernel/runtime/vecexecutor/vectorsonic/sonicarray/vsonicnumeric.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/vecexecutor/vectorsonic/vsonicfilesource.cpp b/src/gausskernel/runtime/vecexecutor/vectorsonic/vsonicfilesource.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/vecexecutor/vectorsonic/vsonichash.cpp b/src/gausskernel/runtime/vecexecutor/vectorsonic/vsonichash.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/vecexecutor/vectorsonic/vsonichashagg.cpp b/src/gausskernel/runtime/vecexecutor/vectorsonic/vsonichashagg.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/vecexecutor/vectorsonic/vsonichashjoin.cpp b/src/gausskernel/runtime/vecexecutor/vectorsonic/vsonichashjoin.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/vecexecutor/vectorsonic/vsonicpartition.cpp b/src/gausskernel/runtime/vecexecutor/vectorsonic/vsonicpartition.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/runtime/vecexecutor/vecvar.cpp b/src/gausskernel/runtime/vecexecutor/vecvar.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/security/gs_policy/policy_common.cpp b/src/gausskernel/security/gs_policy/policy_common.cpp index 3f1f246ff..9b519aa07 100644 --- a/src/gausskernel/security/gs_policy/policy_common.cpp +++ b/src/gausskernel/security/gs_policy/policy_common.cpp @@ -282,18 +282,22 @@ static bool verify_column_name(Oid relid, const char *colname) * * walk through all the rules for relid to check whether contain relname */ -static void verify_temp_table(Oid relid, const char *relname) +static void verify_temp_table(Oid relid, const char *relname, Relation relation, bool ignore = false) { HeapTuple tuple = SearchSysCache1(RELOID, relid); if (!HeapTupleIsValid(tuple)) { + heap_close(relation, RowExclusiveLock); ereport(ERROR, (errcode(ERRCODE_CACHE_LOOKUP_FAILED), errmsg("Cache lookup failed for relation %u", relid))); } Form_pg_class reltup = (Form_pg_class) GETSTRUCT(tuple); - /* Current object must be a normal table */ - if (reltup->relkind != RELKIND_RELATION) { + /* Current object must be a normal table. + * 'ignore' means whether report error when resource type is not TABLE. + */ + if (reltup->relkind != RELKIND_RELATION && !ignore) { ReleaseSysCache(tuple); + heap_close(relation, RowExclusiveLock); ereport(ERROR, (errcode(ERRCODE_WRONG_OBJECT_TYPE), errmsg("\"%s\" is not a normal table", relname))); @@ -302,6 +306,7 @@ static void verify_temp_table(Oid relid, const char *relname) /* Check temp table or not */ if (reltup->relpersistence == RELPERSISTENCE_TEMP) { ReleaseSysCache(tuple); + heap_close(relation, RowExclusiveLock); ereport(ERROR, (errcode(ERRCODE_WRONG_OBJECT_TYPE), errmsg("Do not support policy label on temp table \"%s\"", relname))); @@ -362,7 +367,7 @@ static void check_table_type_exists(RangeVar *rel, Relation relation) errmsg("[%s.%s] no such relation found", schemaname, rel->relname))); } } else { - verify_temp_table(relid, rel->relname); + verify_temp_table(relid, rel->relname, relation); } } @@ -382,6 +387,11 @@ static void check_view_type_exists(RangeVar *rel, Relation relation) static void check_column_type_exists(RangeVar *rel, Relation relation) { Oid relid = get_relation_id(rel, true); + /* Create resource label on temp table is not allowed. */ + if (g_instance.role != VDATANODE) { + verify_temp_table(relid, rel->schemaname, relation, true); + } + if ((IS_PGXC_COORDINATOR || IS_SINGLE_NODE) && !OidIsValid(relid)) { /* return error */ heap_close(relation, RowExclusiveLock); diff --git a/src/gausskernel/security/keymanagement/FIKMSmessage.cpp b/src/gausskernel/security/keymanagement/FIKMSmessage.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/security/keymanagement/HttpRestfulClient.cpp b/src/gausskernel/security/keymanagement/HttpRestfulClient.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/security/keymanagement/KeyManager.cpp b/src/gausskernel/security/keymanagement/KeyManager.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/security/keymanagement/KeyRecord.cpp b/src/gausskernel/security/keymanagement/KeyRecord.cpp old mode 100755 new mode 100644 index 4d38ccced..ab22d2d6f --- a/src/gausskernel/security/keymanagement/KeyRecord.cpp +++ b/src/gausskernel/security/keymanagement/KeyRecord.cpp @@ -50,7 +50,7 @@ bool KeyRecord::create_encrypted_sample_string(std::string dek_b64) unsigned char dek[DEK_LEN] = {}; ret = EVP_DecodeBlock(dek, (unsigned char*)dek_b64.c_str(), dek_b64.length()); if (ret < 0) { - std::cout << "keymanagement DEK is wrrong,base64 decode fail." << std::endl; + std::cout << "keymanagement DEK is wrong, base64 decode failed." << std::endl; return false; } @@ -60,14 +60,14 @@ bool KeyRecord::create_encrypted_sample_string(std::string dek_b64) /* new cipher ctx */ ctx = EVP_CIPHER_CTX_new(); if (ctx == NULL) { - std::cout << "keymanagement create encrypted_sample_string fail,cannot new ctx." << std::endl; + std::cout << "keymanagement create encrypted sample string failed, cannot new cipher ctx." << std::endl; return false; } /* get aes cipher address */ cipher = EVP_aes_128_ctr(); if (cipher == NULL) { - std::cout << "keymanagement create encrypted_sample_string fail,cannot new aes128 cipher." << std::endl; + std::cout << "keymanagement create encrypted sample string failed, cannot get aes128 cipher." << std::endl; EVP_CIPHER_CTX_free(ctx); return false; } @@ -76,7 +76,7 @@ bool KeyRecord::create_encrypted_sample_string(std::string dek_b64) /* init ctx */ ret = EVP_EncryptInit(ctx, cipher, dek, iv); if (ret == 0) { - std::cout << "keymanagement create encrypted_sample_string fail,cannot init cipher." << std::endl; + std::cout << "keymanagement create encrypted sample string failed, cannot init cipher." << std::endl; EVP_CIPHER_CTX_free(ctx); return false; } @@ -88,7 +88,7 @@ bool KeyRecord::create_encrypted_sample_string(std::string dek_b64) /* Perform encryption operations */ ret = EVP_EncryptUpdate(ctx, ciphertext, &ciphertextlen, plaintext, sizeof(plaintext)); if (ret == 0) { - std::cout << "keymanagement create encrypted_sample_string fail,cannot encrypt.Plaintext length:" + std::cout << "keymanagement create encrypted sample string failed, cannot encrypt. Plaintext length:" << sizeof(plaintext) << std::endl; EVP_CIPHER_CTX_free(ctx); @@ -101,13 +101,13 @@ bool KeyRecord::create_encrypted_sample_string(std::string dek_b64) memset_s(ciphertext_base64, sizeof(ciphertext_base64), 0, sizeof(ciphertext_base64)); ret = EVP_EncodeBlock(ciphertext_base64, ciphertext, ciphertextlen); if (ret < 0) { - std::cout << "keymanagement create encrypted_sample_string fail,cannot base64 encoding." << std::endl; + std::cout << "keymanagement create encrypted sample string failed, cannot base64 encoding." << std::endl; EVP_CIPHER_CTX_free(ctx); return false; } encrypted_sample_string = std::string((char*)ciphertext_base64); - std::cout << "keymanagement create encrypted_sample_string:" << encrypted_sample_string << std::endl; + std::cout << "keymanagement create encrypted sample string ok." << std::endl; EVP_CIPHER_CTX_free(ctx); return true; } @@ -127,7 +127,7 @@ bool KeyRecord::check_encrypted_sample_string(unsigned char* dek) (unsigned char*)encrypted_sample_string.c_str(), encrypted_sample_string.length()); if (encrypted_sample_string_orign_length <= 0) { - std::cout << "keymanagement encrypted_sample_string is wrong, base64 decode fail." << std::endl; + std::cout << "keymanagement check encrypted sample string failed, base64 decode fail." << std::endl; return false; } @@ -137,14 +137,14 @@ bool KeyRecord::check_encrypted_sample_string(unsigned char* dek) /* new cipher ctx */ ctx = EVP_CIPHER_CTX_new(); if (ctx == NULL) { - std::cout << "keymanagement check encrypted_sample_string fail,cannot new ctx." << std::endl; + std::cout << "keymanagement check encrypted sample string failed, cannot new ctx." << std::endl; return false; } /* get aes cipher address */ cipher = EVP_aes_128_ctr(); if (cipher == NULL) { - std::cout << "keymanagement check encrypted_sample_string fail,cannot new aes128 cipher." << std::endl; + std::cout << "keymanagement check encrypted sample string failed, cannot get aes128 cipher." << std::endl; EVP_CIPHER_CTX_free(ctx); return false; } @@ -153,7 +153,7 @@ bool KeyRecord::check_encrypted_sample_string(unsigned char* dek) /* init ctx */ ret = EVP_DecryptInit(ctx, cipher, dek, iv); if (ret == 0) { - std::cout << "keymanagement check encrypted_sample_string fail,cannot init cipher." << std::endl; + std::cout << "keymanagement check encrypted sample string failed, cannot init cipher." << std::endl; EVP_CIPHER_CTX_free(ctx); return false; } @@ -165,7 +165,7 @@ bool KeyRecord::check_encrypted_sample_string(unsigned char* dek) ret = EVP_DecryptUpdate( ctx, out_plain_text, &out_plain_text_len, encrypted_sample_string_orign, encrypted_sample_string_orign_length); if (ret == 0) { - std::cout << "keymanagement check encrypted_sample_string fail,decrypt fail." << std::endl; + std::cout << "keymanagement check encrypted sample string failed, decrypt failed." << std::endl; EVP_CIPHER_CTX_free(ctx); return false; } @@ -173,7 +173,7 @@ bool KeyRecord::check_encrypted_sample_string(unsigned char* dek) /* Comparing value */ if (strlen((const char*)out_plain_text) != strlen(TRANS_ENCRYPT_SAMPLE_STRING) || strncmp((const char*)out_plain_text, TRANS_ENCRYPT_SAMPLE_STRING, strlen(TRANS_ENCRYPT_SAMPLE_STRING)) != 0) { - std::cout << "keymanagement check encrypted_sample_string fail." << std::endl; + std::cout << "keymanagement check encrypted sample string failed." << std::endl; EVP_CIPHER_CTX_free(ctx); return false; } @@ -185,7 +185,7 @@ bool KeyRecord::check_encrypted_sample_string(unsigned char* dek) std::string KeyRecord::getEncryptedSampleStr() { if (encrypted_sample_string.empty()) { - std::cout << "keymanagement encrypted_sample_string is empty." << std::endl; + std::cout << "keymanagement encrypted sample string is empty." << std::endl; } return encrypted_sample_string; @@ -209,7 +209,7 @@ bool KeyRecord::create_dek_iv() bool KeyRecord::getIV(unsigned char* out_iv) { if (out_iv == NULL) { - std::cout << "keymanagement out_iv is empty." << std::endl; + std::cout << "keymanagement out_iv is NULL." << std::endl; return false; } diff --git a/src/gausskernel/security/keymanagement/TDEKeysFile.cpp b/src/gausskernel/security/keymanagement/TDEKeysFile.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/security/keymanagement/TDEKeysRecords.pb.h b/src/gausskernel/security/keymanagement/TDEKeysRecords.pb.h old mode 100755 new mode 100644 diff --git a/src/gausskernel/security/keymanagement/TDEKeysRecords.proto b/src/gausskernel/security/keymanagement/TDEKeysRecords.proto old mode 100644 new mode 100755 diff --git a/src/gausskernel/storage/access/cbtree/cbtree.cpp b/src/gausskernel/storage/access/cbtree/cbtree.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/access/common/heaptuple.cpp b/src/gausskernel/storage/access/common/heaptuple.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/access/common/printtup.cpp b/src/gausskernel/storage/access/common/printtup.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/access/common/reloptions.cpp b/src/gausskernel/storage/access/common/reloptions.cpp index 80f682539..13c172c29 100644 --- a/src/gausskernel/storage/access/common/reloptions.cpp +++ b/src/gausskernel/storage/access/common/reloptions.cpp @@ -66,6 +66,7 @@ static void ValidateStrOptPartitionInterval(const char *val); static void ValidateStrOptTimeColumn(const char *val); static void ValidateStrOptTTLInterval(const char *val); static void ValidateStrOptGatherInterval(const char *val); +static void ValidateStrOptSwInterval(const char *val); static void ValidateStrOptVersion(const char *val); static void ValidateStrOptSpcFileSystem(const char *val); static void ValidateStrOptSpcAddress(const char *val); @@ -308,33 +309,40 @@ static relopt_string stringRelOpts[] = { TIME_UNDEFINED, }, { - { "partition_interval", "partition interval for streaming contquery table", RELOPT_KIND_HEAP }, + { "partition_interval", "partition interval for streaming contview table", RELOPT_KIND_HEAP }, 9, false, ValidateStrOptPartitionInterval, TIME_UNDEFINED, }, { - { "time_column", "time column for streaming contquery table", RELOPT_KIND_HEAP }, + { "time_column", "time column for streaming contview table", RELOPT_KIND_HEAP }, 9, false, ValidateStrOptTimeColumn, COLUMN_UNDEFINED, }, { - { "ttl_interval", "ttl interval for streaming contquery table", RELOPT_KIND_HEAP }, + { "ttl_interval", "ttl interval for streaming contview table", RELOPT_KIND_HEAP }, 9, false, ValidateStrOptTTLInterval, TIME_UNDEFINED, }, { - { "gather_interval", "gather interval for streaming contquery table", RELOPT_KIND_HEAP }, + { "gather_interval", "gather interval for streaming contview table", RELOPT_KIND_HEAP }, 9, false, ValidateStrOptGatherInterval, TIME_UNDEFINED, }, + { + { "sw_interval", "sliding window interval for streaming contquery table", RELOPT_KIND_HEAP }, + 9, + false, + ValidateStrOptSwInterval, + TIME_UNDEFINED, + }, { { "version", "store version", RELOPT_KIND_HEAP }, 4, @@ -342,7 +350,6 @@ static relopt_string stringRelOpts[] = { ValidateStrOptVersion, ORC_VERSION_012, }, - { { "compression", "which compression level applied to, or not compressed", RELOPT_KIND_HEAP }, 6, @@ -424,7 +431,7 @@ static relopt_string stringRelOpts[] = { "n", }, { - { "string_optimize", "string optimize for streaming contquery table", RELOPT_KIND_HEAP }, + { "string_optimize", "string optimize for streaming contview table", RELOPT_KIND_HEAP }, 9, false, ValidateStrOptStringOptimize, @@ -1582,6 +1589,7 @@ bytea *default_reloptions(Datum reloptions, bool validate, relopt_kind kind) { "time_column", RELOPT_TYPE_STRING, offsetof(StdRdOptions, time_column) }, { "ttl_interval", RELOPT_TYPE_STRING, offsetof(StdRdOptions, ttl_interval) }, { "gather_interval", RELOPT_TYPE_STRING, offsetof(StdRdOptions, gather_interval) }, + { "sw_interval", RELOPT_TYPE_STRING, offsetof(StdRdOptions, sw_interval) }, { "version", RELOPT_TYPE_STRING, offsetof(StdRdOptions, version) }, { "compresslevel", RELOPT_TYPE_INT, offsetof(StdRdOptions, compresslevel) }, { "ignore_enable_hadoop_env", RELOPT_TYPE_BOOL, offsetof(StdRdOptions, ignore_enable_hadoop_env) }, @@ -1635,10 +1643,10 @@ bytea *heap_reloptions(char relkind, Datum reloptions, bool validate) } return (bytea *)rdopts; case RELKIND_RELATION: + case RELKIND_MATVIEW: return default_reloptions(reloptions, validate, RELOPT_KIND_HEAP); case RELKIND_VIEW: case RELKIND_CONTQUERY: - case RELKIND_MATVIEW: return default_reloptions(reloptions, validate, RELOPT_KIND_VIEW); default: /* other relkinds are not supported */ @@ -1866,7 +1874,7 @@ static void ValidateStrOptTimeColumn(const char *val) ereport(ERROR, (errcode(ERRCODE_INVALID_PARAMETER_VALUE), errmsg("Invalid interval string for \"time_column\" option"), - errdetail("Valid time_column string in contquery."))); + errdetail("Valid time_column string in contview."))); } } @@ -1883,7 +1891,7 @@ static void ValidateStrOptTTLInterval(const char *val) ereport(ERROR, (errcode(ERRCODE_INVALID_PARAMETER_VALUE), errmsg("Invalid interval string for \"ttl_interval\" option"), - errdetail("Valid ttl_interval string in contquery."))); + errdetail("Valid ttl_interval string in contview."))); } } @@ -1900,7 +1908,24 @@ static void ValidateStrOptGatherInterval(const char *val) ereport(ERROR, (errcode(ERRCODE_INVALID_PARAMETER_VALUE), errmsg("Invalid interval string for \"gather_interval\" option"), - errdetail("Valid gather_interval string in contquery."))); + errdetail("Valid gather_interval string in contview."))); + } +} + +/* + * Brief : Check the sw_interval Validity. + * Input : val, the sw_interval option value. + * Output : None. + * Return Value : None. + * Notes : None. + */ +static void ValidateStrOptSwInterval(const char *val) +{ + if (val == NULL) { + ereport(ERROR, + (errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("Invalid interval string for \"sw_interval\" option"), + errdetail("Valid sw_interval string in contquery."))); } } @@ -2056,7 +2081,7 @@ static void ValidateStrOptStringOptimize(const char *val) if (val == NULL) { ereport(ERROR, (errcode(ERRCODE_INVALID_PARAMETER_VALUE), errmsg("Invalid interval string for \"string_optimize\" option"), - errdetail("Valid string_optimize string in contquery."))); + errdetail("Valid string_optimize string in contview."))); } } diff --git a/src/gausskernel/storage/access/common/scankey.cpp b/src/gausskernel/storage/access/common/scankey.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/access/common/tupdesc.cpp b/src/gausskernel/storage/access/common/tupdesc.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/access/dfs/common_parser.h b/src/gausskernel/storage/access/dfs/common_parser.h old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/access/dfs/dfs_am.cpp b/src/gausskernel/storage/access/dfs/dfs_am.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/access/dfs/dfs_parinsert.cpp b/src/gausskernel/storage/access/dfs/dfs_parinsert.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/access/dfs/dfs_query.cpp b/src/gausskernel/storage/access/dfs/dfs_query.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/access/dfs/dfs_stream_factory.cpp b/src/gausskernel/storage/access/dfs/dfs_stream_factory.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/access/dfs/dfsdesc.cpp b/src/gausskernel/storage/access/dfs/dfsdesc.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/access/dfs/orc/OrcObsFile.cpp b/src/gausskernel/storage/access/dfs/orc/OrcObsFile.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/access/dfs/orc/orc_reader.cpp b/src/gausskernel/storage/access/dfs/orc/orc_reader.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/access/dfs/orc/orc_rw.h b/src/gausskernel/storage/access/dfs/orc/orc_rw.h old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/access/dfs/orc/orc_writer.cpp b/src/gausskernel/storage/access/dfs/orc/orc_writer.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/access/dfs/parquet/parquet_file_reader.cpp b/src/gausskernel/storage/access/dfs/parquet/parquet_file_reader.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/access/dfs/parquet/parquet_file_reader.h b/src/gausskernel/storage/access/dfs/parquet/parquet_file_reader.h old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/access/dfs/parquet/parquet_input_stream_adapter.cpp b/src/gausskernel/storage/access/dfs/parquet/parquet_input_stream_adapter.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/access/dfs/parquet/parquet_input_stream_adapter.h b/src/gausskernel/storage/access/dfs/parquet/parquet_input_stream_adapter.h old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/access/dfs/parquet/parquet_reader.cpp b/src/gausskernel/storage/access/dfs/parquet/parquet_reader.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/access/dfs/parquet/parquet_reader.h b/src/gausskernel/storage/access/dfs/parquet/parquet_reader.h old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/access/gin/gindatapage.cpp b/src/gausskernel/storage/access/gin/gindatapage.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/access/gin/ginentrypage.cpp b/src/gausskernel/storage/access/gin/ginentrypage.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/access/gin/ginfast.cpp b/src/gausskernel/storage/access/gin/ginfast.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/access/gin/ginget.cpp b/src/gausskernel/storage/access/gin/ginget.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/access/gin/gininsert.cpp b/src/gausskernel/storage/access/gin/gininsert.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/access/gin/ginpostinglist.cpp b/src/gausskernel/storage/access/gin/ginpostinglist.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/access/gin/ginvacuum.cpp b/src/gausskernel/storage/access/gin/ginvacuum.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/access/gin/ginxlog.cpp b/src/gausskernel/storage/access/gin/ginxlog.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/access/gist/gistbuild.cpp b/src/gausskernel/storage/access/gist/gistbuild.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/access/gist/gistxlog.cpp b/src/gausskernel/storage/access/gist/gistxlog.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/access/hash/hashfunc.cpp b/src/gausskernel/storage/access/hash/hashfunc.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/access/hash/hashscan.cpp b/src/gausskernel/storage/access/hash/hashscan.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/access/hash/hashsort.cpp b/src/gausskernel/storage/access/hash/hashsort.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/access/hbstore/hbucket_am.cpp b/src/gausskernel/storage/access/hbstore/hbucket_am.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/access/heap/heapam.cpp b/src/gausskernel/storage/access/heap/heapam.cpp index 05146a538..1ee0ab5b4 100644 --- a/src/gausskernel/storage/access/heap/heapam.cpp +++ b/src/gausskernel/storage/access/heap/heapam.cpp @@ -2438,7 +2438,7 @@ void HeapInsertTsStore(Relation relation, ResultRelInfo *resultRelInfo, HeapTupl bool *null = (bool *)palloc(sizeof(bool) * tupDesc->natts); heap_deform_tuple(tup, tupDesc, val, null); - tsstoreInsert->batch_insert(val, null, option); + tsstoreInsert->batch_insert(val, null, option, true); tsstoreInsert->end_batch_insert(); pfree(val); @@ -6313,12 +6313,6 @@ static XLogRecPtr log_heap_update(Relation reln, Buffer oldbuf, const ItemPointe ItemPointerGetBlockNumber(&newtup->t_self), ItemPointerGetOffsetNumber(&newtup->t_self), xlhdr.t_infomask2, xlhdr.t_infomask, xlhdr.t_hoff, xlrec.flags, bufflags, newtup->t_len))); - if (old_key_tuple != NULL) { - ereport(DEBUG4, (errmodule(MOD_REDO), errcode(ERRCODE_LOG), - errmsg("[REDO_LOG_TRACE]log_heap_update: oldBlkNum:%u, oldOffsetNum:%hu", - ItemPointerGetBlockNumber(&old_key_tuple->t_self), - ItemPointerGetOffsetNumber(&old_key_tuple->t_self)))); - } return recptr; } diff --git a/src/gausskernel/storage/access/heap/heapam_visibility.cpp b/src/gausskernel/storage/access/heap/heapam_visibility.cpp index 4653ba27d..c2026e8f5 100644 --- a/src/gausskernel/storage/access/heap/heapam_visibility.cpp +++ b/src/gausskernel/storage/access/heap/heapam_visibility.cpp @@ -337,7 +337,12 @@ bool HeapTupleSatisfiesSelf(HeapTuple htup, Snapshot snapshot, Buffer buffer) return false; } - +/* Don't sync pgxc node table, it will hold NodeTableLock to read tuple and it's only useful in local node */ +static inline bool NeedSyncXact(uint32 syncFlag, Oid tableOid) +{ + return ((syncFlag & SNAPSHOT_NOW_NEED_SYNC) && IsNormalProcessingMode()) && (tableOid != PgxcNodeRelationId) && + !u_sess->attr.attr_common.xc_maintenance_mode && !t_thrd.xact_cxt.bInAbortTransaction; +} /* * HeapTupleSatisfiesNow * True iff heap tuple is valid "now". @@ -417,8 +422,7 @@ restart: else return false; /* deleted before scan started */ } else if (TransactionIdIsInProgress(HeapTupleHeaderGetXmin(page, tuple), &needSync, false, false)) { - if (((needSync & SNAPSHOT_NOW_NEED_SYNC) && IsNormalProcessingMode()) && - !u_sess->attr.attr_common.xc_maintenance_mode && !t_thrd.xact_cxt.bInAbortTransaction) { + if (NeedSyncXact(needSync, htup->t_tableOid)) { needSync = 0; SyncWaitXidEnd(HeapTupleHeaderGetXmin(page, tuple), buffer); goto restart; @@ -466,8 +470,7 @@ restart: needSync = 0; if (TransactionIdIsInProgress(HeapTupleHeaderGetXmax(page, tuple), &needSync, false, false)) { - if ((needSync & SNAPSHOT_NOW_NEED_SYNC) && IsNormalProcessingMode() && - !u_sess->attr.attr_common.xc_maintenance_mode && !t_thrd.xact_cxt.bInAbortTransaction) { + if (NeedSyncXact(needSync, htup->t_tableOid)) { needSync = 0; SyncWaitXidEnd(HeapTupleHeaderGetXmax(page, tuple), buffer); goto restart; @@ -1172,13 +1175,27 @@ HTSV_Result HeapTupleSatisfiesVacuum(HeapTuple htup, TransactionId OldestXmin, B if (HeapTupleHeaderXminInvalid(tuple)) return HEAPTUPLE_DEAD; xidstatus = TransactionIdGetStatus(HeapTupleGetRawXmin(htup)); - if (xidstatus == XID_INPROGRESS && TransactionIdIsInProgress(HeapTupleGetRawXmin(htup))) { + if (TransactionIdIsCurrentTransactionId(HeapTupleGetRawXmin(htup))) { if (tuple->t_infomask & HEAP_XMAX_INVALID) /* xid invalid */ return HEAPTUPLE_INSERT_IN_PROGRESS; if (tuple->t_infomask & HEAP_IS_LOCKED) return HEAPTUPLE_INSERT_IN_PROGRESS; /* inserted and then deleted by same xact */ - return HEAPTUPLE_DELETE_IN_PROGRESS; + if (TransactionIdIsCurrentTransactionId(HeapTupleGetRawXmax(htup))) { + return HEAPTUPLE_DELETE_IN_PROGRESS; + } + /* deleting subtransaction must have aborted */ + return HEAPTUPLE_INSERT_IN_PROGRESS; + } else if (xidstatus == XID_INPROGRESS && TransactionIdIsInProgress(HeapTupleGetRawXmin(htup))) { + /* + * It'd be possible to discern between INSERT/DELETE in progress + * here by looking at xmax - but that doesn't seem beneficial for + * the majority of callers and even detrimental for some. We'd + * rather have callers look at/wait for xmin than xmax. It's + * always correct to return INSERT_IN_PROGRESS because that's + * what's happening from the view of other backends. + */ + return HEAPTUPLE_INSERT_IN_PROGRESS; } else if (xidstatus == XID_COMMITTED || (xidstatus == XID_INPROGRESS && TransactionIdDidCommit(HeapTupleGetRawXmin(htup)))) { /* must recheck clog again, since csn could be commit in progress before check TransactionIdIsInProgress */ diff --git a/src/gausskernel/storage/access/heap/pruneheap.cpp b/src/gausskernel/storage/access/heap/pruneheap.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/access/heap/syncscan.cpp b/src/gausskernel/storage/access/heap/syncscan.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/access/heap/visibilitymap.cpp b/src/gausskernel/storage/access/heap/visibilitymap.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/access/index/genam.cpp b/src/gausskernel/storage/access/index/genam.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/access/index/indexam.cpp b/src/gausskernel/storage/access/index/indexam.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/access/nbtree/nbtree.cpp b/src/gausskernel/storage/access/nbtree/nbtree.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/access/nbtree/nbtsearch.cpp b/src/gausskernel/storage/access/nbtree/nbtsearch.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/access/nbtree/nbtsort.cpp b/src/gausskernel/storage/access/nbtree/nbtsort.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/access/nbtree/nbtutils.cpp b/src/gausskernel/storage/access/nbtree/nbtutils.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/access/nbtree/nbtxlog.cpp b/src/gausskernel/storage/access/nbtree/nbtxlog.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/access/obs/obs_am.cpp b/src/gausskernel/storage/access/obs/obs_am.cpp old mode 100755 new mode 100644 index ccb9bedc3..9b646316d --- a/src/gausskernel/storage/access/obs/obs_am.cpp +++ b/src/gausskernel/storage/access/obs/obs_am.cpp @@ -48,6 +48,20 @@ #define ERROR_MESSAGE_LEN 1024 #define ERROR_DETAIL_LEN 4096 #define MAX_PATH_LEN 1024 + +#define OBS_CIPHER_LIST "DHE-RSA-AES128-GCM-SHA256:" \ + "DHE-RSA-AES256-GCM-SHA384:" \ + "DHE-DSS-AES128-GCM-SHA256:" \ + "DHE-DSS-AES256-GCM-SHA384:" \ + "ECDHE-ECDSA-AES128-GCM-SHA256:" \ + "ECDHE-ECDSA-AES256-GCM-SHA384:" \ + "ECDHE-RSA-AES128-GCM-SHA256:" \ + "ECDHE-RSA-AES256-GCM-SHA384:" \ + "DHE-RSA-AES128-CCM:" \ + "DHE-RSA-AES256-CCM:" \ + "ECDHE-ECDSA-AES128-CCM:" \ + "ECDHE-ECDSA-AES256-CCM" + using namespace std; extern void decryptKeyString(const char *keyStr, char destplainStr[], uint32 destplainLength, const char *obskey); @@ -639,6 +653,7 @@ List *list_bucket_objects_analyze(const char *uri, bool encrypt, const char *acc option.bucket_options.access_key = (char *)access_key; option.bucket_options.secret_access_key = (char *)secret_access_key; option.bucket_options.certificate_info = encrypt ? t_thrd.obs_cxt.pCAInfo : NULL; + option.request_options.ssl_cipher_list = OBS_CIPHER_LIST; obs_list_objects_handler listBucketHandler = {{ &responsePropertiesCallback, &responseCompleteCallback }, &listBucketObjectCallbackForAnalyze }; @@ -712,6 +727,7 @@ List *list_obs_bucket_objects(const char *uri, bool encrypt, const char *access_ option.bucket_options.access_key = (char *)access_key; option.bucket_options.secret_access_key = (char *)secret_access_key; option.bucket_options.certificate_info = encrypt ? t_thrd.obs_cxt.pCAInfo : NULL; + option.request_options.ssl_cipher_list = OBS_CIPHER_LIST; obs_list_objects_handler listBucketHandler = {{ &responsePropertiesCallback, &responseCompleteCallback }, &listBucketObjectCallback }; @@ -1237,6 +1253,7 @@ OBSReadWriteHandler *CreateObsReadWriteHandler(const char *object_url, OBSHandle handler->m_option.bucket_options.access_key = options->access_key; handler->m_option.bucket_options.secret_access_key = options->secret_access_key; handler->m_option.bucket_options.certificate_info = options->encrypt ? t_thrd.obs_cxt.pCAInfo : NULL; + handler->m_option.request_options.ssl_cipher_list = OBS_CIPHER_LIST; handler->m_object_info.version_id = NULL; @@ -1282,6 +1299,7 @@ OBSReadWriteHandler *CreateObsReadWriteHandlerForQuery(ObsOptions *options) handler->m_option.bucket_options.access_key = options->access_key; handler->m_option.bucket_options.secret_access_key = options->secret_access_key; handler->m_option.bucket_options.certificate_info = options->encrypt ? t_thrd.obs_cxt.pCAInfo : NULL; + handler->m_option.request_options.ssl_cipher_list = OBS_CIPHER_LIST; handler->m_object_info.key = NULL; handler->m_object_info.version_id = NULL; @@ -1586,6 +1604,7 @@ void checkOBSServerValidity(char *hostName, char *ak, char *sk, bool encrypt) option.bucket_options.access_key = ak; option.bucket_options.secret_access_key = sk; option.bucket_options.certificate_info = encrypt ? t_thrd.obs_cxt.pCAInfo : NULL; + option.request_options.ssl_cipher_list = OBS_CIPHER_LIST; obs_list_service_obs_handler listServiceHandle = {{ &responsePropertiesCallback, &responseCompleteCallback }, &listServiceCallback }; @@ -1767,6 +1786,7 @@ static void fillBucketContext(OBSReadWriteHandler *handler, const char* key, Obs t_thrd.obs_cxt.pCAInfo = getCAInfo(); handler->m_option.bucket_options.certificate_info = t_thrd.obs_cxt.pCAInfo; + handler->m_option.request_options.ssl_cipher_list = OBS_CIPHER_LIST; /* Fill in obs full file path */ rc = snprintf_s(xlogfpath, MAXPGPATH, MAXPGPATH - 1, "%s/%s", archive_obs->obs_prefix, key); diff --git a/src/gausskernel/storage/access/rmgrdesc/standbydesc.cpp b/src/gausskernel/storage/access/rmgrdesc/standbydesc.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/access/rmgrdesc/xactdesc.cpp b/src/gausskernel/storage/access/rmgrdesc/xactdesc.cpp index c7c85ddfc..ac1c47266 100644 --- a/src/gausskernel/storage/access/rmgrdesc/xactdesc.cpp +++ b/src/gausskernel/storage/access/rmgrdesc/xactdesc.cpp @@ -134,7 +134,7 @@ static void xact_desc_commit(StringInfo buf, xl_xact_commit *xlrec, bool hasbuck #ifndef ENABLE_MULTIPLE_NODES SharedInvalidationMessage* msgs = (SharedInvalidationMessage*)&subxacts[xlrec->nsubxacts]; TransactionId* recentXmin = (TransactionId *)&(msgs[xlrec->nmsgs]); - appendStringInfo(buf, "; RecentXmin:%ld", *recentXmin); + appendStringInfo(buf, "; RecentXmin:%lu", *recentXmin); #endif if (xlrec->nlibrary > 0) { @@ -161,7 +161,7 @@ static void xact_desc_commit_compact(StringInfo buf, xl_xact_commit_compact *xlr } #ifndef ENABLE_MULTIPLE_NODES - appendStringInfo(buf, "; RecentXmin:%ld", xlrec->subxacts[xlrec->nsubxacts]); + appendStringInfo(buf, "; RecentXmin:%lu", xlrec->subxacts[xlrec->nsubxacts]); #endif } diff --git a/src/gausskernel/storage/access/rmgrdesc/xlogdesc.cpp b/src/gausskernel/storage/access/rmgrdesc/xlogdesc.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/access/spgist/spgkdtreeproc.cpp b/src/gausskernel/storage/access/spgist/spgkdtreeproc.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/access/spgist/spgxlog.cpp b/src/gausskernel/storage/access/spgist/spgxlog.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/access/transam/cbmfuncs.cpp b/src/gausskernel/storage/access/transam/cbmfuncs.cpp old mode 100755 new mode 100644 index eef0f30e7..5fee403b9 --- a/src/gausskernel/storage/access/transam/cbmfuncs.cpp +++ b/src/gausskernel/storage/access/transam/cbmfuncs.cpp @@ -156,13 +156,11 @@ Datum pg_cbm_get_changed_block(PG_FUNCTION_ARGS) text *start_lsn_arg = PG_GETARG_TEXT_P(0); text *end_lsn_arg = PG_GETARG_TEXT_P(1); -#ifdef ENABLE_MULTIPLE_NODES /* At present, we only allow merging CBM files on master */ if (RecoveryInProgress()) ereport(ERROR, (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("recovery is in progress"), errhint("pg_cbm_get_changed_block() cannot be executed" "during recovery."))); -#endif char *start_lsn_str = text_to_cstring(start_lsn_arg); char *end_lsn_str = text_to_cstring(end_lsn_arg); diff --git a/src/gausskernel/storage/access/transam/cbmparsexlog.cpp b/src/gausskernel/storage/access/transam/cbmparsexlog.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/access/transam/clog.cpp b/src/gausskernel/storage/access/transam/clog.cpp old mode 100755 new mode 100644 index 18bb88628..51dbac3db --- a/src/gausskernel/storage/access/transam/clog.cpp +++ b/src/gausskernel/storage/access/transam/clog.cpp @@ -1050,7 +1050,7 @@ void TruncateCLOG(TransactionId oldestXact) WriteTruncateXlogRec(cutoffPage); /* Now we can remove the old CLOG segment(s) */ - SimpleLruTruncate(ClogCtl(cutoffPage), cutoffPage); + SimpleLruTruncate(ClogCtl(0), cutoffPage, true, NUM_CLOG_PARTITIONS); ereport(LOG, (errmsg("Truncate CLOG at xid %lu", oldestXact))); } @@ -1118,7 +1118,7 @@ void clog_redo(XLogReaderState *record) */ ClogCtl(pageno)->shared->latest_page_number = pageno; - SimpleLruTruncate(ClogCtl(pageno), pageno); + SimpleLruTruncate(ClogCtl(0), pageno, true, NUM_CLOG_PARTITIONS); } else ereport(PANIC, (errmsg("clog_redo: unknown op code %u", (uint32)info))); } diff --git a/src/gausskernel/storage/access/transam/csnlog.cpp b/src/gausskernel/storage/access/transam/csnlog.cpp old mode 100755 new mode 100644 index cfc763140..2d88c8d31 --- a/src/gausskernel/storage/access/transam/csnlog.cpp +++ b/src/gausskernel/storage/access/transam/csnlog.cpp @@ -876,7 +876,6 @@ void ExtendCSNLOG(TransactionId newestXact) void TruncateCSNLOG(TransactionId oldestXact) { int64 cutoffPage; - int i; /* * The cutoff point is the start of the segment containing oldestXact. We @@ -884,59 +883,7 @@ void TruncateCSNLOG(TransactionId oldestXact) */ cutoffPage = TransactionIdToCSNPage(oldestXact); - /* - * The cutoff point is the start of the segment containing cutoffPage. - */ - cutoffPage -= cutoffPage % SLRU_PAGES_PER_SEGMENT; - - for (i = 0; i < NUM_CSNLOG_PARTITIONS; i++) { - SlruCtl ctl = CsnlogCtl(i); - SlruShared shared = ctl->shared; - int slotno; - - /* - * Scan shared memory and remove any pages preceding the cutoff page, to - * ensure we won't rewrite them later. (Since this is normally called in - * or just after a checkpoint, any dirty pages should have been flushed - * already ... we're just being extra careful here.) - */ - (void)LWLockAcquire(shared->control_lock, LW_EXCLUSIVE); - - restart: - - for (slotno = 0; slotno < shared->num_slots; slotno++) { - if (shared->page_status[slotno] == SLRU_PAGE_EMPTY) - continue; - if (shared->page_number[slotno] >= cutoffPage) - continue; - - /* - * If page is clean, just change state to EMPTY (expected case). - */ - if (shared->page_status[slotno] == SLRU_PAGE_VALID && !shared->page_dirty[slotno]) { - shared->page_status[slotno] = SLRU_PAGE_EMPTY; - continue; - } - - /* - * Hmm, we have (or may have) I/O operations acting on the page, so - * we've got to wait for them to finish and then start again. This is - * the same logic as in SlruSelectLRUPage. If page is dirty, - * just discard it without writing it - */ - if (shared->page_status[slotno] == SLRU_PAGE_VALID) { - shared->page_status[slotno] = SLRU_PAGE_EMPTY; - } else { - SimpleLruWaitIO(ctl, slotno); - goto restart; - } - } - - LWLockRelease(shared->control_lock); - } - - /* Now we can remove the old segment(s) */ - (void)SlruScanDirectory(CsnlogCtl(0), SlruScanDirCbDeleteCutoff, &cutoffPage); + SimpleLruTruncate(CsnlogCtl(0), cutoffPage, true, NUM_CSNLOG_PARTITIONS); elog(LOG, "truncate CSN log oldestXact %lu, next xid %lu", oldestXact, t_thrd.xact_cxt.ShmemVariableCache->nextXid); } diff --git a/src/gausskernel/storage/access/transam/double_write.cpp b/src/gausskernel/storage/access/transam/double_write.cpp index 909fd1f74..279f0a566 100644 --- a/src/gausskernel/storage/access/transam/double_write.cpp +++ b/src/gausskernel/storage/access/transam/double_write.cpp @@ -264,13 +264,14 @@ static bool dw_verify_pg_checksum(PageHeader page_header, BlockNumber blockNum) { /* new page donot have crc and lsn, we donot recovery it */ if (PageIsNew(page_header)) { + ereport(WARNING, (errmodule(MOD_DW), errmsg("DW verify checksum: new page"))); return false; } if (PageIsChecksumByFNV1A(page_header)) { uint16 checksum = pg_checksum_page((char *)page_header, blockNum); return checksum == page_header->pd_checksum; } else { - ereport(FATAL, (errmodule(MOD_DW), errmsg("DW verify checksum: page checksum flag is wrong"))); + ereport(WARNING, (errmodule(MOD_DW), errmsg("DW verify checksum: page checksum flag is wrong"))); return false; } } diff --git a/src/gausskernel/storage/access/transam/extreme_rto/dispatcher.cpp b/src/gausskernel/storage/access/transam/extreme_rto/dispatcher.cpp index ce6ec5ce7..a59e65d4e 100644 --- a/src/gausskernel/storage/access/transam/extreme_rto/dispatcher.cpp +++ b/src/gausskernel/storage/access/transam/extreme_rto/dispatcher.cpp @@ -429,6 +429,7 @@ static LogDispatcher *CreateDispatcher() newDispatcher->needImmediateCheckpoint = false; newDispatcher->needFullSyncCheckpoint = false; newDispatcher->smartShutdown = false; + newDispatcher->recoveryStop = false; return newDispatcher; } @@ -1832,6 +1833,7 @@ void SendRecoveryEndMarkToWorkersAndWaitForFinish(int code) errmsg("[REDO_LOG_TRACE]SendRecoveryEndMarkToWorkersAndWaitForFinish, ready to stop redo workers, code: %d", code))); if ((get_real_recovery_parallelism() > 1) && (GetBatchCount() > 0)) { + WaitPageRedoWorkerReachLastMark(g_dispatcher->readLine.readPageThd); PageRedoPipeline *pl = g_dispatcher->pageLines; /* send end mark */ for (uint32 i = 0; i < g_dispatcher->pageLineNum; i++) { @@ -1847,7 +1849,6 @@ void SendRecoveryEndMarkToWorkersAndWaitForFinish(int code) WaitPageRedoWorkerReachLastMark(g_dispatcher->readLine.managerThd); WaitPageRedoWorkerReachLastMark(g_dispatcher->readLine.readThd); - WaitPageRedoWorkerReachLastMark(g_dispatcher->readLine.readPageThd); WaitPageRedoWorkerReachLastMark(g_dispatcher->trxnLine.managerThd); LsnUpdate(); #ifdef USE_ASSERT_CHECKING @@ -2070,4 +2071,14 @@ void redo_get_wroker_statistic(uint32 *realNum, RedoWorkerStatsData *worker, uin SpinLockRelease(&(g_instance.comm_cxt.predo_cxt.destroy_lock)); } +#ifndef ENABLE_MULTIPLE_NODES + +void CheckCommittingCsnList() +{ + for (uint32 i = 0; i < g_dispatcher->allWorkersCnt; ++i) { + CleanUpMakeCommitAbort(reinterpret_cast(g_dispatcher->allWorkers[i]->committingCsnList)); + g_dispatcher->allWorkers[i]->committingCsnList = NULL; + } +} +#endif } // namespace extreme_rto diff --git a/src/gausskernel/storage/access/transam/extreme_rto/page_redo.cpp b/src/gausskernel/storage/access/transam/extreme_rto/page_redo.cpp index 811847a26..4f7423fa9 100644 --- a/src/gausskernel/storage/access/transam/extreme_rto/page_redo.cpp +++ b/src/gausskernel/storage/access/transam/extreme_rto/page_redo.cpp @@ -48,8 +48,8 @@ #include "storage/ipc.h" #include "storage/freespace.h" #include "storage/smgr.h" +#include "storage/standby.h" #include "storage/pmsignal.h" - #include "utils/guc.h" #include "utils/palloc.h" #include "portability/instr_time.h" @@ -1240,6 +1240,7 @@ inline void InitXLogRecordReadBuffer(XLogReaderState **initreader) newxlogreader = NewReaderState(readstate); g_dispatcher->rtoXlogBufState.initreader = NULL; PutRecordToReadQueue(readstate); + SetCompletedReadEndPtr(g_redoWorker, readstate->ReadRecPtr, readstate->EndRecPtr); *initreader = newxlogreader; } @@ -1254,11 +1255,10 @@ void StartupSendFowarder(RedoItem *item) void SendLsnFowarder() { - g_GlobalLsnForwarder.record.ReadRecPtr = t_thrd.xlog_cxt.ReadRecPtr; - g_GlobalLsnForwarder.record.EndRecPtr = t_thrd.xlog_cxt.EndRecPtr; + GetCompletedReadEndPtr(g_redoWorker, &g_GlobalLsnForwarder.record.ReadRecPtr, + &g_GlobalLsnForwarder.record.EndRecPtr); g_GlobalLsnForwarder.record.refcount = get_real_recovery_parallelism() - XLOG_READER_NUM; g_GlobalLsnForwarder.record.isDecode = true; - PutRecordToReadQueue(&g_GlobalLsnForwarder.record); } @@ -1546,6 +1546,52 @@ void XLogForceFinish(XLogReaderState *xlogreader, TermFileData *term_file) (errcode(ERRCODE_LOG), errmsg("[ForceFinish]ArchiveXlogForForceFinishRedo in extremeRTO is over"))); } + + +static inline bool ReadPageWorkerStop() +{ + return g_dispatcher->recoveryStop; +} + +void CleanUpReadPageWorkerQueue() +{ + SPSCBlockingQueue *queue = g_dispatcher->readLine.readPageThd->queue; + while (!SPSCBlockingQueueIsEmpty(queue)) { + XLogReaderState *xlogreader = reinterpret_cast(SPSCBlockingQueueTake(queue)); + if (xlogreader == reinterpret_cast(&(g_redoEndMark.record)) || + xlogreader == reinterpret_cast(&(g_GlobalLsnForwarder.record)) || + xlogreader == reinterpret_cast(&(g_cleanupMark.record))) { + if (xlogreader == reinterpret_cast(&(g_GlobalLsnForwarder.record))) { + pg_atomic_write_u32(&g_GlobalLsnForwarder.record.refcount, 0); + } + continue; + } + + RedoItem *item = GetRedoItemPtr(xlogreader); + FreeRedoItem(item); + } +} + +void ExtremeRtoStopHere() +{ + if ((get_real_recovery_parallelism() > 1) && (GetBatchCount() > 0)) { + g_dispatcher->recoveryStop = true; + CleanUpReadPageWorkerQueue(); + } +} + +void CheckToForcePushLsn(const XLogRecord *record) +{ + if (record == NULL) { + return; + } + if (record->xl_rmid == RM_BARRIER_ID && ((record->xl_info & ~XLR_INFO_MASK) == XLOG_BARRIER_CREATE)) { + PushToWorkerLsn(true); + } else { + PushToWorkerLsn(false); + } +} + /* read xlog for parellel */ void XLogReadPageWorkerMain() { @@ -1569,6 +1615,9 @@ void XLogReadPageWorkerMain() XLogRecord *record = XLogParallelReadNextRecord(xlogreader); while (record != NULL) { TermFileData term_file; + if (ReadPageWorkerStop()) { + break; + } newxlogreader = NewReaderState(xlogreader); PutRecordToReadQueue(xlogreader); xlogreader = newxlogreader; @@ -1586,7 +1635,7 @@ void XLogReadPageWorkerMain() XLogForceFinish(xlogreader, &term_file); } record = XLogParallelReadNextRecord(xlogreader); - PushToWorkerLsn(false); + CheckToForcePushLsn(record); ADD_ABNORMAL_POSITION(8); } @@ -1921,6 +1970,9 @@ int RedoMainLoop() */ int exitCode = GetDispatcherExitCode(); g_redoWorker->xlogInvalidPages = XLogGetInvalidPages(); +#ifndef ENABLE_MULTIPLE_NODES + g_redoWorker->committingCsnList = XLogReleaseAdnGetCommittingCsnList(); +#endif ereport(LOG, (errmodule(MOD_REDO), errcode(ERRCODE_LOG), errmsg("worker[%d]: exitcode = %d, total elapsed = %ld", g_redoWorker->id, exitCode, diff --git a/src/gausskernel/storage/access/transam/gtm_single.cpp b/src/gausskernel/storage/access/transam/gtm_single.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/access/transam/multixact.cpp b/src/gausskernel/storage/access/transam/multixact.cpp index 6c06bf7bf..06188df17 100644 --- a/src/gausskernel/storage/access/transam/multixact.cpp +++ b/src/gausskernel/storage/access/transam/multixact.cpp @@ -1738,14 +1738,14 @@ static void TruncateMultiXact(void) */ cutoffPage = (int)MultiXactIdToOffsetPage(oldestMXact); - SimpleLruTruncate(t_thrd.shemem_ptr_cxt.MultiXactOffsetCtl, cutoffPage); + SimpleLruTruncate(t_thrd.shemem_ptr_cxt.MultiXactOffsetCtl, cutoffPage, false, NUM_SLRU_DEFAULT_PARTITION); /* * Also truncate MultiXactMember at the previously determined offset. */ cutoffPage = (int)MXOffsetToMemberPage(oldestOffset); - SimpleLruTruncate(t_thrd.shemem_ptr_cxt.MultiXactMemberCtl, cutoffPage); + SimpleLruTruncate(t_thrd.shemem_ptr_cxt.MultiXactMemberCtl, cutoffPage, false, NUM_SLRU_DEFAULT_PARTITION); /* * Set the last known truncation point. We don't need a lock for this diff --git a/src/gausskernel/storage/access/transam/parallel_recovery/dispatcher.cpp b/src/gausskernel/storage/access/transam/parallel_recovery/dispatcher.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/access/transam/parallel_recovery/page_redo.cpp b/src/gausskernel/storage/access/transam/parallel_recovery/page_redo.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/access/transam/parallel_recovery/posix_semaphore.cpp b/src/gausskernel/storage/access/transam/parallel_recovery/posix_semaphore.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/access/transam/parallel_recovery/redo_item.cpp b/src/gausskernel/storage/access/transam/parallel_recovery/redo_item.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/access/transam/slru.cpp b/src/gausskernel/storage/access/transam/slru.cpp old mode 100755 new mode 100644 index 6ea896971..c3cb995b0 --- a/src/gausskernel/storage/access/transam/slru.cpp +++ b/src/gausskernel/storage/access/transam/slru.cpp @@ -1076,10 +1076,11 @@ int SimpleLruFlush(SlruCtl ctl, bool checkpoint) /* * Remove all segments before the one holding the passed page number */ -void SimpleLruTruncate(SlruCtl ctl, int64 cutoffPage) +void SimpleLruTruncate(SlruCtl ctl, int64 cutoffPage, bool isPart, int partitionNum) { - SlruShared shared = ctl->shared; + SlruShared shared = NULL; int64 slotno; + bool isCsnLogCtl = strcmp(ctl->dir, "pg_csnlog") == 0; /* * The cutoff point is the start of the segment containing cutoffPage. @@ -1092,53 +1093,61 @@ void SimpleLruTruncate(SlruCtl ctl, int64 cutoffPage) * or just after a checkpoint, any dirty pages should have been flushed * already ... we're just being extra careful here.) */ - (void)LWLockAcquire(shared->control_lock, LW_EXCLUSIVE); - + for (int i = 0; i < partitionNum; i++) { + shared = (ctl + i)->shared; + (void)LWLockAcquire(shared->control_lock, LW_EXCLUSIVE); + restart:; - /* - * While we are holding the lock, make an important safety check: the - * planned cutoff point must be <= the current endpoint page. Otherwise we - * have already wrapped around, and proceeding with the truncation would - * risk removing the current segment. - */ - if (shared->latest_page_number < cutoffPage) { - LWLockRelease(shared->control_lock); - ereport(LOG, - (errmodule(MOD_SLRU), errmsg("could not truncate directory \"%s\": apparent wraparound", ctl->dir))); - return; - } - - for (slotno = 0; slotno < shared->num_slots; slotno++) { - if (shared->page_status[slotno] == SLRU_PAGE_EMPTY) - continue; - if (shared->page_number[slotno] >= cutoffPage) - continue; - /* - * If page is clean, just change state to EMPTY (expected case). + * While we are holding the lock, make an important safety check: the + * planned cutoff point must be <= the current endpoint page. Otherwise we + * have already wrapped around, and proceeding with the truncation would + * risk removing the current segment. If we use partitioned slru ctl, no need + * to check the lateset_page_number. */ - if (shared->page_status[slotno] == SLRU_PAGE_VALID && !shared->page_dirty[slotno]) { - shared->page_status[slotno] = SLRU_PAGE_EMPTY; - continue; + if (shared->latest_page_number < cutoffPage && !isPart) { + LWLockRelease(shared->control_lock); + ereport(LOG, (errmodule(MOD_SLRU), + errmsg("could not truncate directory \"%s\": apparent wraparound", ctl->dir))); + return; } - /* - * Hmm, we have (or may have) I/O operations acting on the page, so - * we've got to wait for them to finish and then start again. This is - * the same logic as in SlruSelectLRUPage. (XXX if page is dirty, - * wouldn't it be OK to just discard it without writing it? For now, - * keep the logic the same as it was.) - */ - if (shared->page_status[slotno] == SLRU_PAGE_VALID) - SlruInternalWritePage(ctl, slotno, NULL); - else - SimpleLruWaitIO(ctl, slotno); - goto restart; + for (slotno = 0; slotno < shared->num_slots; slotno++) { + if (shared->page_status[slotno] == SLRU_PAGE_EMPTY) + continue; + if (shared->page_number[slotno] >= cutoffPage) + continue; + + /* + * If page is clean, just change state to EMPTY (expected case). + */ + if (shared->page_status[slotno] == SLRU_PAGE_VALID && !shared->page_dirty[slotno]) { + shared->page_status[slotno] = SLRU_PAGE_EMPTY; + continue; + } + + /* + * Hmm, we have (or may have) I/O operations acting on the page, so + * we've got to wait for them to finish and then start again. This is + * the same logic as in SlruSelectLRUPage. (XXX if page is dirty, + * wouldn't it be OK to just discard it without writing it? For now, + * keep the logic the same as it was.) Csnlog just discard it without writing it. + */ + if (shared->page_status[slotno] == SLRU_PAGE_VALID) { + if (isCsnLogCtl) { + shared->page_status[slotno] = SLRU_PAGE_EMPTY; + continue; + } + SlruInternalWritePage((ctl + i), slotno, NULL); + } else { + SimpleLruWaitIO((ctl + i), slotno); + } + goto restart; + } + + LWLockRelease(shared->control_lock); } - - LWLockRelease(shared->control_lock); - ereport(LOG, (errmodule(MOD_SLRU), errmsg("remove old segments(<%ld) under %s", cutoffPage, ctl->dir))); /* Now we can remove the old segment(s) */ diff --git a/src/gausskernel/storage/access/transam/transam.cpp b/src/gausskernel/storage/access/transam/transam.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/access/transam/twophase.cpp b/src/gausskernel/storage/access/transam/twophase.cpp old mode 100755 new mode 100644 index 532164b6b..a869c8a61 --- a/src/gausskernel/storage/access/transam/twophase.cpp +++ b/src/gausskernel/storage/access/transam/twophase.cpp @@ -1027,33 +1027,29 @@ void SetLocalSnapshotPreparedArray(Snapshot snapshot) * since we use static snapshot, don't palloc each time, * just free if it exceed defalut bound 128, see AtEOXact_Snapshot */ - PG_TRY(); - { - MemoryContext oldContext = - MemoryContextSwitchTo(SESS_GET_MEM_CXT_GROUP(MEMORY_CONTEXT_STORAGE)); - int upper_bound = nextPowerOf2(numPrepXid); - int newCapacity = (upper_bound > defualt_prepared_num) ? upper_bound : defualt_prepared_num; - if (newCapacity > snapshot->prepared_array_capacity) { - pfree_ext(snapshot->prepared_array); - snapshot->prepared_array_capacity = 0; - snapshot->prepared_count = 0; - } + MemoryContext oldContext = + MemoryContextSwitchTo(SESS_GET_MEM_CXT_GROUP(MEMORY_CONTEXT_STORAGE)); + int upper_bound = nextPowerOf2(numPrepXid); + int newCapacity = (upper_bound > defualt_prepared_num) ? upper_bound : defualt_prepared_num; + if (newCapacity > snapshot->prepared_array_capacity) { + pfree_ext(snapshot->prepared_array); + snapshot->prepared_array_capacity = 0; + snapshot->prepared_count = 0; + } + if (snapshot->prepared_array == NULL) { + snapshot->prepared_array = (TransactionId *)palloc0_noexcept(sizeof(TransactionId) * newCapacity); if (snapshot->prepared_array == NULL) { - snapshot->prepared_array = (TransactionId *)palloc0(sizeof(TransactionId) * newCapacity); - snapshot->prepared_array_capacity = newCapacity; + /* release the refcount */ + ReleasePrepXid(prepXid); + ereport(ERROR, (errcode(ERRCODE_OUT_OF_MEMORY), errmsg("out of memory"))); } - MemoryContextSwitchTo(oldContext); - Size size = mul_size(numPrepXid, sizeof(TransactionId)); - errno_t rc = memcpy_s(snapshot->prepared_array, size, prepXid->validPrepXid, size); - securec_check(rc, "", ""); + snapshot->prepared_array_capacity = newCapacity; } - PG_CATCH(); - { - /* release the refcount */ - ReleasePrepXid(prepXid); - PG_RE_THROW(); - } - PG_END_TRY(); + MemoryContextSwitchTo(oldContext); + Size size = mul_size(numPrepXid, sizeof(TransactionId)); + errno_t rc = memcpy_s(snapshot->prepared_array, size, prepXid->validPrepXid, size); + securec_check(rc, "", ""); + /* update prepare list count */ snapshot->prepared_count = numPrepXid; ReleasePrepXid(prepXid); @@ -2309,17 +2305,6 @@ void FinishPreparedTransaction(const char *gid, bool isCommit) /* compute latestXid among all children */ latestXid = TransactionIdLatest(xid, hdr->nsubxacts, children); -#ifdef ENABLE_MOT - if (u_sess->attr.attr_common.xc_maintenance_mode) { - /* - * Check if this transaction is a MOT engine one. - * Do it only in maintenance mode since gs_clean will only be called - * in this state. - */ - MOTProcessRecoveredTransaction(xid, isCommit); - } -#endif - /* * The order of operations here is critical: make the XLOG entry for * commit or abort, then mark the transaction committed or aborted in @@ -3336,6 +3321,7 @@ static void RecordTransactionCommitPrepared(TransactionId xid, int nchildren, Tr /* See notes in RecordTransactionCommit */ t_thrd.pgxact->delayChkpt = true; + UpdateNextMaxKnownCSN(GetCommitCsn()); /* Emit the XLOG commit record */ xlrec.crec.csn = GetCommitCsn(); @@ -3374,6 +3360,10 @@ static void RecordTransactionCommitPrepared(TransactionId xid, int nchildren, Tr XLogRegisterData((char *)invalmsgs, ninvalmsgs * sizeof(SharedInvalidationMessage)); } +#ifndef ENABLE_MULTIPLE_NODES + XLogRegisterData((char *) &u_sess->utils_cxt.RecentXmin, sizeof(TransactionId)); +#endif + if (nlibrary > 0) { XLogRegisterData((char *)librarys, libraryLen); } @@ -3632,7 +3622,7 @@ void RecoverPrepareTransactionCSNLog(char *buf) TransactionId *sub_xids = (TransactionId *)(buf + MAXALIGN(sizeof(TwoPhaseFileHeader))); ExtendCsnlogForSubtrans(hdr->xid, hdr->nsubxacts, sub_xids); CSNLogSetCommitSeqNo(hdr->xid, hdr->nsubxacts, sub_xids, - COMMITSEQNO_COMMIT_INPROGRESS | t_thrd.xact_cxt.ShmemVariableCache->nextCommitSeqNo); + COMMITSEQNO_COMMIT_INPROGRESS); } } diff --git a/src/gausskernel/storage/access/transam/varsup.cpp b/src/gausskernel/storage/access/transam/varsup.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/access/transam/xact.cpp b/src/gausskernel/storage/access/transam/xact.cpp index 760117e65..c5ccd34f1 100644 --- a/src/gausskernel/storage/access/transam/xact.cpp +++ b/src/gausskernel/storage/access/transam/xact.cpp @@ -91,6 +91,7 @@ #include "gstrace/gstrace_infra.h" #include "gstrace/access_gstrace.h" #include "instruments/instr_statement.h" +#include "commands/sequence.h" #ifdef ENABLE_MULTIPLE_NODES #include "tsdb/cache/queryid_cachemgr.h" #include "tsdb/cache/part_cachemgr.h" @@ -1496,6 +1497,29 @@ CommitSeqNo getLocalNextCSN() return pg_atomic_fetch_add_u64(&t_thrd.xact_cxt.ShmemVariableCache->nextCommitSeqNo, 1); } +void UpdateNextMaxKnownCSN(CommitSeqNo csn) +{ + /* + * GTM-Free mode use getLocalNextCSN to update nextCommitSeqNo, + * GTM mode update nextCommitSeqNo in UpdateCSNAtTransactionCommit. + * GTM-Lite mode update nextCommitSeqNo in this function. + */ + if (!GTM_LITE_MODE) { + return; + } + CommitSeqNo currentNextCommitSeqNo; + CommitSeqNo nextMaxKnownCommitSeqNo = csn + 1; + loop: + currentNextCommitSeqNo = pg_atomic_read_u64(&t_thrd.xact_cxt.ShmemVariableCache->nextCommitSeqNo); + if (nextMaxKnownCommitSeqNo <= currentNextCommitSeqNo) { + return; + } + if (!pg_atomic_compare_exchange_u64(&t_thrd.xact_cxt.ShmemVariableCache->nextCommitSeqNo, + ¤tNextCommitSeqNo, nextMaxKnownCommitSeqNo)) { + goto loop; + } +} + /* ---------------------------------------------------------------- * CommitTransaction stuff * ---------------------------------------------------------------- @@ -1670,6 +1694,7 @@ static TransactionId RecordTransactionCommit(void) */ START_CRIT_SECTION(); t_thrd.pgxact->delayChkpt = true; + UpdateNextMaxKnownCSN(GetCommitCsn()); SetCurrentTransactionStopTimestamp(); @@ -2305,7 +2330,6 @@ static void AtCleanup_Memory(void) t_thrd.asy_cxt.upperPendingNotifies = NULL; CurrentTransactionState->curTransactionContext = NULL; - t_thrd.xact_cxt.PGXCBucketMap = NULL; t_thrd.xact_cxt.PGXCNodeId = -1; t_thrd.xact_cxt.inheritFileNode = false; @@ -2560,6 +2584,10 @@ static void StartTransaction(bool begin_on_gtm) void ThreadLocalFlagCleanUp() { + if (ENABLE_DN_GPC) { + CleanSessGPCPtr(u_sess); + } + /* clean hash table in opfusion */ if (IS_PGXC_DATANODE) { OpFusion::ClearInUnexpectSituation(); @@ -2592,6 +2620,9 @@ static void CommitTransaction(bool STP_commit) TransactionId latestXid; bool barrierLockHeld = false; bool use_old_version_gid = GTM_MODE || (t_thrd.proc->workingVersionNum <= GTM_OLD_VERSION_NUM); +#ifdef ENABLE_MULTIPLE_NODES + checkAndDoUpdateSequence(); +#endif ShowTransactionState("CommitTransaction"); @@ -3416,6 +3447,9 @@ static void PrepareTransaction(bool STP_commit) * triggers could open cursors, etc, we have to keep looping until there's * nothing left to do. */ + if (IS_PGXC_DATANODE) { + OpFusion::ClearInUnexpectSituation(); + } for (;;) { /* * Fire all currently pending deferred triggers. @@ -4112,7 +4146,7 @@ static void CleanupTransaction(void) /* do abort cleanup processing */ AtCleanup_Portals(); /* now safe to release portal memory */ AtEOXact_Snapshot(false); /* and release the transaction's snapshots */ - + pfree_ext(u_sess->xact_cxt.send_seqname); t_thrd.utils_cxt.CurrentResourceOwner = NULL; /* and resource owner */ if (t_thrd.utils_cxt.TopTransactionResourceOwner) ResourceOwnerDelete(t_thrd.utils_cxt.TopTransactionResourceOwner); @@ -4228,7 +4262,6 @@ void CommitTransactionCommand(bool STP_commit) { TransactionState s = CurrentTransactionState; TBlockState oldstate = s->blockState; - switch (s->blockState) { /* * This shouldn't happen, because it means the previous @@ -4266,9 +4299,6 @@ void CommitTransactionCommand(bool STP_commit) * counter and return. */ case TBLOCK_INPROGRESS: - if ((ENABLE_CN_GPC && !STP_commit) || ENABLE_DN_GPC) { - g_instance.plan_cache->Commit(); - } CommandCounterIncrement(); if (STP_commit) { @@ -4278,9 +4308,6 @@ void CommitTransactionCommand(bool STP_commit) break; case TBLOCK_SUBINPROGRESS: - if ((ENABLE_CN_GPC && !STP_commit) || ENABLE_DN_GPC) { - g_instance.plan_cache->Commit(); - } CommandCounterIncrement(); if (u_sess->SPI_cxt.portal_stp_exception_counter > 0) { @@ -6968,7 +6995,7 @@ static void unlink_relfiles(_in_ ColFileNodeRel *xnodes, _in_ int nrels, bool ha static void xact_redo_commit_internal(TransactionId xid, XLogRecPtr lsn, TransactionId* sub_xids, int nsubxacts, SharedInvalidationMessage* inval_msgs, int nmsgs, ColFileNodeRel* xnodes, bool hasbucket, int nrels, int nlibrary, Oid dbId, Oid tsId, uint32 xinfo, - uint64 csn, TransactionId newGlobalXmin) + uint64 csn, TransactionId newStandbyXmin) { TransactionId max_xid; XLogRecPtr globalDelayDDLLSN; @@ -7076,8 +7103,8 @@ static void xact_redo_commit_internal(TransactionId xid, XLogRecPtr lsn, Transac errmsg("xact_redo_commit_internal: unknown csn state %lu", (uint64)csn))); } - if (TransactionIdPrecedes(t_thrd.xact_cxt.ShmemVariableCache->recentGlobalXmin, newGlobalXmin)) { - t_thrd.xact_cxt.ShmemVariableCache->recentGlobalXmin = newGlobalXmin; + if (TransactionIdPrecedes(t_thrd.xact_cxt.ShmemVariableCache->standbyXmin, newStandbyXmin)) { + t_thrd.xact_cxt.ShmemVariableCache->standbyXmin = newStandbyXmin; } #endif @@ -7179,7 +7206,7 @@ static void xact_redo_commit(xl_xact_commit *xlrec, TransactionId xid, XLogRecPt { TransactionId* subxacts = NULL; SharedInvalidationMessage* inval_msgs = NULL; - TransactionId globalXmin = InvalidTransactionId; + TransactionId newStandbyXmin = InvalidTransactionId; Assert(TransactionIdIsValid(xid)); @@ -7191,7 +7218,7 @@ static void xact_redo_commit(xl_xact_commit *xlrec, TransactionId xid, XLogRecPt #ifndef ENABLE_MULTIPLE_NODES /* recent_xmin follows inval_msgs */ - globalXmin = *((TransactionId *)&(inval_msgs[xlrec->nmsgs])); + newStandbyXmin = *((TransactionId *)&(inval_msgs[xlrec->nmsgs])); #endif xact_redo_commit_internal(xid, lsn, @@ -7207,7 +7234,7 @@ static void xact_redo_commit(xl_xact_commit *xlrec, TransactionId xid, XLogRecPt xlrec->tsId, xlrec->xinfo, xlrec->csn, - globalXmin); + newStandbyXmin); } /* diff --git a/src/gausskernel/storage/access/transam/xlog.cpp b/src/gausskernel/storage/access/transam/xlog.cpp old mode 100755 new mode 100644 index 55c014417..bd8a54781 --- a/src/gausskernel/storage/access/transam/xlog.cpp +++ b/src/gausskernel/storage/access/transam/xlog.cpp @@ -160,7 +160,7 @@ const int XLOG_LSN_SWAP = 32; const char *DemoteModeDescs[] = { "unknown", "smart", "fast", "immediate" }; const int DemoteModeNum = sizeof(DemoteModeDescs) / sizeof(char *); -static const uint64 REDO_SPEED_LOG_LEN = (XLogSegSize * 16); /* 16 segs */ +static const uint64 REDO_SPEED_LOG_LEN = (XLogSegSize * 64); /* 64 segs */ static const int PG_TBLSPCS = 10; /* strlen(pg_tblspcs/) */ /* MAX_PAGE_FLUSH_LSN_FILE SIZE : 1024 pages, 8k each, file size 8M in total */ @@ -5099,9 +5099,6 @@ static XLogRecord *ReadRecord(XLogReaderState *xlogreader, XLogRecPtr RecPtr, in } pg_usleep(XLOG_STREAM_READREC_INTERVAL); ProcTxnWorkLoad(true); - if (IsExtremeRtoRunning()) { - extreme_rto::PushToWorkerLsn(true); - } } else { t_thrd.xlog_cxt.failedSources |= t_thrd.xlog_cxt.readSource; if (u_sess->attr.attr_storage.HaModuleDebug) { @@ -5130,9 +5127,6 @@ static XLogRecord *ReadRecord(XLogReaderState *xlogreader, XLogRecPtr RecPtr, in */ if (!t_thrd.xlog_cxt.InArchiveRecovery && t_thrd.xlog_cxt.ArchiveRecoveryRequested && !fetching_ckpt) { ProcTxnWorkLoad(false); - if (IsExtremeRtoRunning()) { - extreme_rto::PushToWorkerLsn(false); - } volatile XLogCtlData *xlogctl = t_thrd.shemem_ptr_cxt.XLogCtl; XLogRecPtr newMinRecoveryPoint; ereport(DEBUG1, (errmsg_internal("reached end of WAL in pg_xlog, entering archive recovery"))); @@ -7659,7 +7653,7 @@ static bool RecoveryApplyDelay(const XLogReaderState *record) TimestampDifference(GetCurrentTimestamp(), t_thrd.xlog_cxt.recoveryDelayUntilTime, &secs, µsecs); - /* To clear LSNMarker item that has not been processed in pageworker*/ + /* To clear LSNMarker item that has not been processed in pageworker */ ProcTxnWorkLoad(false); /* NB: We're ignoring waits below min_apply_delay's resolution. */ @@ -7950,6 +7944,12 @@ void ResourceManagerStop(void) static void EndRedoXlog() { +#ifndef ENABLE_MULTIPLE_NODES + if (IsExtremeRtoRunning()) { + extreme_rto::CheckCommittingCsnList(); + } +#endif + if ((get_real_recovery_parallelism() > 1) && (!parallel_recovery::DispatchPtrIsNull())) { SwitchToDispatcherContext(); t_thrd.xlog_cxt.incomplete_actions = @@ -7958,6 +7958,7 @@ static void EndRedoXlog() EndDispatcherContext(); } ResourceManagerStop(); + XLogFlush(t_thrd.xlog_cxt.LogwrtResult->Write); } /* @@ -7974,6 +7975,52 @@ inline void PrintCkpXctlControlFile(XLogRecPtr oldCkpLoc, CheckPoint *oldCkp, XL (uint32)newCkp->redo, (uint32)(preCkpLoc >> 32), (uint32)preCkpLoc))); } +void CheckForRestartPoint() +{ + XLogCtlData *xlogctl = t_thrd.shemem_ptr_cxt.XLogCtl; + + if (XLByteLT(xlogctl->lastCheckPointRecPtr, g_instance.comm_cxt.predo_cxt.newestCheckpointLoc)) { + Assert(XLByteLT(xlogctl->lastCheckPoint.redo, g_instance.comm_cxt.predo_cxt.newestCheckpoint.redo)); + Assert(g_instance.comm_cxt.predo_cxt.newestCheckpoint.nextXid >= xlogctl->lastCheckPoint.nextXid); + Assert(g_instance.comm_cxt.predo_cxt.newestCheckpoint.nextOid >= xlogctl->lastCheckPoint.nextOid); + + SpinLockAcquire(&xlogctl->info_lck); + xlogctl->lastCheckPointRecPtr = g_instance.comm_cxt.predo_cxt.newestCheckpointLoc; + xlogctl->lastCheckPoint = const_cast(g_instance.comm_cxt.predo_cxt.newestCheckpoint); + SpinLockRelease(&xlogctl->info_lck); + } + + /* + * Perform a checkpoint to update all our recovery activity to disk. + * + * Note that we write a shutdown checkpoint rather than an on-line + * one. This is not particularly critical, but since we may be + * assigning a new TLI, using a shutdown checkpoint allows us to have + * the rule that TLI only changes in shutdown checkpoints, which + * allows some extra error checking in xlog_redo. + * + * In most scenarios (except new timeline switch), the checkpoint + * seems unnecessary 'cause we need to improve the performance of + * switchover. We transfer the checkpoint to the checkpoint process + * which seems effective. However this would lead to new issue + * about dirty pages without checkpoint before we do the first + * checkpoint. So we temporarily switch to full-page write mode, + * and turn it off after the first checkpoint. + */ + if (t_thrd.xlog_cxt.ArchiveRestoreRequested) { + if (t_thrd.xlog_cxt.bgwriterLaunched || t_thrd.xlog_cxt.pagewriter_launched) { + RequestCheckpoint(CHECKPOINT_END_OF_RECOVERY | CHECKPOINT_IMMEDIATE | CHECKPOINT_WAIT); + } else { + CreateCheckPoint(CHECKPOINT_END_OF_RECOVERY | CHECKPOINT_IMMEDIATE); + } + } else { + t_thrd.shemem_ptr_cxt.XLogCtl->FpwBeforeFirstCkpt = true; + if (t_thrd.xlog_cxt.bgwriterLaunched || t_thrd.xlog_cxt.pagewriter_launched) { + RequestCheckpoint(CHECKPOINT_IMMEDIATE | CHECKPOINT_FORCE); + } + } +} + /* * This must be called ONCE during postmaster or standalone-backend startup */ @@ -8535,6 +8582,8 @@ void StartupXLOG(void) ereport(LOG, (errmsg("%s Mode: start local next csn from 4", "GTM"))); t_thrd.xact_cxt.ShmemVariableCache->nextCommitSeqNo = COMMITSEQNO_FIRST_NORMAL + 1; } else { + /* Init nextCommitSeqNo in GTM-Lite Mode */ + t_thrd.xact_cxt.ShmemVariableCache->nextCommitSeqNo = COMMITSEQNO_FIRST_NORMAL + 1; if (recordLen == CHECKPOINTNEW_LEN) { ereport(LOG, (errmsg("%s Mode: start local next csn from checkpoint %lu", "GTM-Lite", (checkPointNew.next_csn)))); @@ -8547,6 +8596,7 @@ void StartupXLOG(void) } t_thrd.xact_cxt.ShmemVariableCache->recentGlobalXmin = InvalidTransactionId; + t_thrd.xact_cxt.ShmemVariableCache->standbyXmin = InvalidTransactionId; /* * Initialize replication slots, before there's a chance to remove @@ -8997,7 +9047,7 @@ void StartupXLOG(void) if (recoveryStopsHere(xlogreader, &recoveryApply)) { reachedStopPoint = true; /* see below */ recoveryContinue = false; - + extreme_rto::ExtremeRtoStopHere(); /* Exit loop if we reached non-inclusive recovery target */ if (!recoveryApply && (t_thrd.xlog_cxt.server_mode == PRIMARY_MODE || t_thrd.xlog_cxt.server_mode == NORMAL_MODE @@ -9340,36 +9390,8 @@ void StartupXLOG(void) EndRedoXlog(); /* Disallow XLogInsert again */ t_thrd.xlog_cxt.LocalXLogInsertAllowed = -1; - - /* - * Perform a checkpoint to update all our recovery activity to disk. - * - * Note that we write a shutdown checkpoint rather than an on-line - * one. This is not particularly critical, but since we may be - * assigning a new TLI, using a shutdown checkpoint allows us to have - * the rule that TLI only changes in shutdown checkpoints, which - * allows some extra error checking in xlog_redo. - * - * In most scenarios (except new timeline switch), the checkpoint - * seems unnecessary 'cause we need to improve the performance of - * switchover. We transfer the checkpoint to the checkpoint process - * which seems effective. However this would lead to new issue - * about dirty pages without checkpoint before we do the first - * checkpoint. So we temporarily switch to full-page write mode, - * and turn it off after the first checkpoint. - */ - if (t_thrd.xlog_cxt.ArchiveRestoreRequested) { - if (t_thrd.xlog_cxt.bgwriterLaunched || t_thrd.xlog_cxt.pagewriter_launched) { - RequestCheckpoint(CHECKPOINT_END_OF_RECOVERY | CHECKPOINT_IMMEDIATE | CHECKPOINT_WAIT); - } else { - CreateCheckPoint(CHECKPOINT_END_OF_RECOVERY | CHECKPOINT_IMMEDIATE); - } - } else { - t_thrd.shemem_ptr_cxt.XLogCtl->FpwBeforeFirstCkpt = true; - if (t_thrd.xlog_cxt.bgwriterLaunched || t_thrd.xlog_cxt.pagewriter_launched) { - RequestCheckpoint(CHECKPOINT_IMMEDIATE | CHECKPOINT_FORCE); - } - } + CheckForRestartPoint(); + /* * And finally, execute the recovery_end_command, if any. @@ -9758,7 +9780,7 @@ static void sendPMBeginHotStby() bool xminValid = true; XLogRecPtr lastReplayedEndRecPtr = t_thrd.shemem_ptr_cxt.XLogCtl->lastReplayedEndRecPtr; #ifndef ENABLE_MULTIPLE_NODES - xminValid = TransactionIdIsValid(t_thrd.xact_cxt.ShmemVariableCache->recentGlobalXmin) || + xminValid = TransactionIdIsValid(t_thrd.xact_cxt.ShmemVariableCache->standbyXmin) || !g_instance.attr.attr_storage.EnableHotStandby; #endif @@ -11068,8 +11090,8 @@ void PushRestartPointToQueue(XLogRecPtr recordReadRecPtr, const CheckPoint check static void RecoveryRestartPoint(const CheckPoint checkPoint, XLogRecPtr recordReadRecPtr) { const uint32 shitRightLength = 32; - /* use volatile pointer to prevent code rearrangement */ - volatile XLogCtlData *xlogctl = t_thrd.shemem_ptr_cxt.XLogCtl; + g_instance.comm_cxt.predo_cxt.newestCheckpointLoc = recordReadRecPtr; + const_cast(g_instance.comm_cxt.predo_cxt.newestCheckpoint) = const_cast(checkPoint); if (!IsRestartPointSafe(checkPoint.redo)) { return; } @@ -11095,9 +11117,10 @@ static void RecoveryRestartPoint(const CheckPoint checkPoint, XLogRecPtr recordR * Copy the checkpoint record to shared memory, so that checkpointer can * work out the next time it wants to perform a restartpoint. */ + XLogCtlData *xlogctl = t_thrd.shemem_ptr_cxt.XLogCtl; SpinLockAcquire(&xlogctl->info_lck); xlogctl->lastCheckPointRecPtr = recordReadRecPtr; - const_cast(xlogctl->lastCheckPoint) = const_cast(checkPoint); + xlogctl->lastCheckPoint = checkPoint; SpinLockRelease(&xlogctl->info_lck); if (t_thrd.xlog_cxt.needImmediateCkp) { @@ -11290,8 +11313,7 @@ bool CreateRestartPoint(int flags) bool recoveryInProgress = true; bool doFullCkpt = !ENABLE_INCRE_CKPT; - /* use volatile pointer to prevent code rearrangement */ - volatile XLogCtlData *xlogctl = t_thrd.shemem_ptr_cxt.XLogCtl; + XLogCtlData *xlogctl = t_thrd.shemem_ptr_cxt.XLogCtl; /* * Acquire CheckpointLock to ensure only one restartpoint or checkpoint @@ -11324,7 +11346,7 @@ bool CreateRestartPoint(int flags) } SpinLockAcquire(&xlogctl->info_lck); lastCheckPointRecPtr = xlogctl->lastCheckPointRecPtr; - lastCheckPoint = const_cast(xlogctl->lastCheckPoint); + lastCheckPoint = xlogctl->lastCheckPoint; SpinLockRelease(&xlogctl->info_lck); } else { lastCheckPointRecPtr = GetRestartPointInRecovery(&lastCheckPoint); @@ -11607,7 +11629,10 @@ static void KeepLogSeg(XLogRecPtr recptr, XLogSegNo *logSegNo, XLogRecPtr curIns /* avoid underflow, don't go below 1 */ if (segno <= (uint64)(uint32)u_sess->attr.attr_storage.wal_keep_segments) { /* segno = 1 show all file should be keep */ + ereport(LOG, (errmsg("keep all the xlog segments, because current segno = %lu, " + "less than wal_keep_segments = %d", segno, u_sess->attr.attr_storage.wal_keep_segments))); segno = 1; + } else { segno = segno - (uint32)u_sess->attr.attr_storage.wal_keep_segments; } @@ -11625,6 +11650,8 @@ static void KeepLogSeg(XLogRecPtr recptr, XLogSegNo *logSegNo, XLogRecPtr curIns if (slotSegNo <= 0) { /* segno = 1 show all file should be keep */ segno = 1; + ereport(LOG, (errmsg("keep all the xlog segments, because the minimal replication slot segno " + "is less than or equal to zero"))); } else if (slotSegNo < segno) { segno = slotSegNo; } @@ -11641,6 +11668,8 @@ static void KeepLogSeg(XLogRecPtr recptr, XLogSegNo *logSegNo, XLogRecPtr curIns if (slotSegNo <= 0) { /* segno = 1 show all file should be keep */ segno = 1; + ereport(LOG, (errmsg("keep all the xlog segments, because there is a full-build task in the backend, " + "and start segno is less than or equal to zero"))); } else if (slotSegNo < segno) { segno = slotSegNo; } @@ -11664,22 +11693,31 @@ static void KeepLogSeg(XLogRecPtr recptr, XLogSegNo *logSegNo, XLogRecPtr curIns pg_atomic_read_u32(&g_instance.comm_cxt.current_gsrewind_count) > 0) { /* segno = 1 show all file should be keep */ segno = 1; + ereport(LOG, (errmsg("keep all the xlog segments, because there is a build task in the backend, " + "and gs_rewind count is more than zero"))); } else if (IS_DN_MULTI_STANDYS_MODE() && !WalSndAllInProgress((SNDROLE_PRIMARY_STANDBY))) { /* wal size can be approximated as two parts: wal not recycled and wal preallocated */ uint64 walSize = (curInsert - xlogctl->lastRemovedSegNo * XLOG_SEG_SIZE) + (uint64)XLOGfileslop * XLOG_SEG_SIZE; /* the unit of max_size_for_xlog_prune is KB */ - bool isWalSizeLTConfig = walSize < ((uint64)u_sess->attr.attr_storage.max_size_for_xlog_prune << 10); + uint64 maxKeepSize = ((uint64)u_sess->attr.attr_storage.max_size_for_xlog_prune << 10); + bool isWalSizeLTConfig = walSize < maxKeepSize; if (!u_sess->attr.attr_storage.enable_xlog_prune) { /* segno = 1 show all file should be keep */ segno = 1; + ereport(LOG, (errmsg("keep all the xlog segments, because the value of enable_xlog_prune(GUC) " + "is false"))); } else if (isWalSizeLTConfig) { /* segno = 1 show all file should be keep */ segno = 1; + ereport(LOG, (errmsg("keep all the xlog segments, because current wal size = %lu(KB), " + "less than max_size_for_xlog_prune = %lu(KB)", walSize, maxKeepSize))); } } else if (IS_DN_DUMMY_STANDYS_MODE() && !WalSndInProgress(SNDROLE_PRIMARY_STANDBY)) { /* segno = 1 show all file should be keep */ segno = 1; + ereport(LOG, (errmsg("keep all the xlog segments, because not all the wal senders are " + "in the role PRIMARY_STANDBY"))); } if (XLByteEQ(keep, InvalidXLogRecPtr) && repl_slot_state.exist_in_use) { /* there are slots and lsn is invalid, we keep it */ @@ -13032,17 +13070,6 @@ XLogRecPtr do_pg_stop_backup(char *labelfile, bool waitforarchive) } u_sess->proc_cxt.sessionBackupState = SESSION_BACKUP_NONE; WALInsertLockRelease(); - - /* - * Clean up session-level lock. - * - * You might think that WALInsertLockRelease() can be called before - * cleaning up session-level lock because session-level lock doesn't need - * to be protected with WAL insertion lock. But since - * CHECK_FOR_INTERRUPTS() can occur in it, session-level lock must be - * cleaned up before it. - */ - u_sess->proc_cxt.sessionBackupState = SESSION_BACKUP_NONE; if (exclusive) { /* @@ -13349,12 +13376,6 @@ void do_pg_abort_backup(void) return; WALInsertLockAcquireExclusive(); - /* - * Quick exit if session is not keeping around a non-exclusive backup - * already started. - */ - if (u_sess->proc_cxt.sessionBackupState != SESSION_BACKUP_NON_EXCLUSIVE) - return; Assert(t_thrd.shemem_ptr_cxt.XLogCtl->Insert.nonExclusiveBackups > 0); t_thrd.shemem_ptr_cxt.XLogCtl->Insert.nonExclusiveBackups--; @@ -13365,7 +13386,6 @@ void do_pg_abort_backup(void) u_sess->proc_cxt.sessionBackupState = SESSION_BACKUP_NONE; WALInsertLockRelease(); - u_sess->proc_cxt.sessionBackupState = SESSION_BACKUP_NONE; } /* @@ -14308,13 +14328,14 @@ void RedoSpeedDiag(XLogRecPtr readPtr, XLogRecPtr endPtr) INSTR_TIME_SET_CURRENT(g_instance.comm_cxt.predo_cxt.redoPf.preTime); } - if ((uint64)(endPtr - g_instance.comm_cxt.predo_cxt.redoPf.preEndPtr) >= REDO_SPEED_LOG_LEN) { - instr_time newTime; - INSTR_TIME_SET_CURRENT(newTime); - instr_time tmpTime = newTime; - INSTR_TIME_SUBTRACT(tmpTime, g_instance.comm_cxt.predo_cxt.redoPf.preTime); - uint64 redoBytes = endPtr - g_instance.comm_cxt.predo_cxt.redoPf.preEndPtr; - uint64 totalTime = INSTR_TIME_GET_MICROSEC(tmpTime); + uint64 redoBytes = (uint64)(endPtr - g_instance.comm_cxt.predo_cxt.redoPf.preEndPtr); + instr_time newTime; + INSTR_TIME_SET_CURRENT(newTime); + instr_time tmpTime = newTime; + INSTR_TIME_SUBTRACT(tmpTime, g_instance.comm_cxt.predo_cxt.redoPf.preTime); + + uint64 totalTime = INSTR_TIME_GET_MICROSEC(tmpTime); + if (redoBytes >= REDO_SPEED_LOG_LEN || (redoBytes > 0 && totalTime >= MAX_OUT_INTERVAL)) { uint32 speed = 0; /* KB/s */ uint32 speed_raw = 0; /* B/s */ if (totalTime > 0) { @@ -14375,7 +14396,7 @@ void SetXLogReplayRecPtr(XLogRecPtr readRecPtr, XLogRecPtr endRecPtr) isUpdated = true; } SpinLockRelease(&xlogctl->info_lck); - if (isUpdated && !IsExtremeRedo()) { + if (isUpdated) { RedoSpeedDiag(readRecPtr, endRecPtr); } update_dirty_page_queue_rec_lsn(readRecPtr); @@ -14871,7 +14892,7 @@ void SwitchToReadXlogFromFile(XLogRecPtr pageptr) } } -inline XLogRecPtr CalcExpectLsn(XLogRecPtr recPtr) +static inline XLogRecPtr CalcExpectLsn(XLogRecPtr recPtr) { XLogRecPtr expectedRecPtr = recPtr; if (recPtr % XLogSegSize == 0) { @@ -14882,6 +14903,28 @@ inline XLogRecPtr CalcExpectLsn(XLogRecPtr recPtr) return expectedRecPtr; } +bool HasReceivedTrigger() +{ + uint32 trigger = pg_atomic_read_u32(&extreme_rto::g_readManagerTriggerFlag); + if (trigger > 0) { + pg_atomic_write_u32(&extreme_rto::g_dispatcher->rtoXlogBufState.readSource, XLOG_FROM_PG_XLOG); + pg_atomic_write_u32(&(extreme_rto::g_recordbuffer->readWorkerState), extreme_rto::WORKER_STATE_STOPPING); + return true; + } + return false; +} + +// receivedUpto indicate received new datas, but can not read,we should check +bool IsReceivingStatusOk() +{ + WalRcvCtlBlock *walrcb = getCurrentWalRcvCtlBlock(); + uint32 startreadworker = pg_atomic_read_u32(&(extreme_rto::g_recordbuffer->readWorkerState)); + if (startreadworker == extreme_rto::WORKER_STATE_STOP && walrcb == NULL) { + return false; + } + return true; +} + int ParallelXLogReadWorkBufRead(XLogReaderState *xlogreader, XLogRecPtr targetPagePtr, int reqLen, XLogRecPtr targetRecPtr, TimeLineID *readTLI) { @@ -14945,13 +14988,14 @@ int ParallelXLogReadWorkBufRead(XLogReaderState *xlogreader, XLogRecPtr targetPa if (readflag) { *readTLI = t_thrd.xlog_cxt.curFileTLI; return t_thrd.xlog_cxt.readLen; + } else { + if (!IsReceivingStatusOk()) { + SwitchToReadXlogFromFile(targetPagePtr); + return -1; + } } } else { - uint32 trigger = pg_atomic_read_u32(&extreme_rto::g_readManagerTriggerFlag); - if (trigger > 0) { - pg_atomic_write_u32(&extreme_rto::g_dispatcher->rtoXlogBufState.readSource, XLOG_FROM_PG_XLOG); - pg_atomic_write_u32(&(extreme_rto::g_recordbuffer->readWorkerState), - extreme_rto::WORKER_STATE_STOPPING); + if (HasReceivedTrigger()) { return -1; } @@ -15064,18 +15108,20 @@ retry: if (!xlogctl->IsRecoveryDone) { g_instance.comm_cxt.predo_cxt.redoPf.redo_done_time = GetCurrentTimestamp(); g_instance.comm_cxt.predo_cxt.redoPf.recovery_done_ptr = t_thrd.xlog_cxt.ReadRecPtr; - XLogRecPtr lastReplayedLsn = GetXLogReplayRecPtr(NULL); - ereport(LOG, (errmodule(MOD_REDO), errcode(ERRCODE_LOG), - errmsg("ParallelXLogPageReadFile IsRecoveryDone is set true," - "ReadRecPtr:%X/%X, EndRecPtr:%X/%X, lastreplayed:%X/%X", - (uint32)(t_thrd.xlog_cxt.ReadRecPtr >> 32), - (uint32)(t_thrd.xlog_cxt.ReadRecPtr), - (uint32)(t_thrd.xlog_cxt.EndRecPtr >> 32), - (uint32)(t_thrd.xlog_cxt.EndRecPtr), - (uint32)(lastReplayedLsn >> 32), - (uint32)(lastReplayedLsn)))); } + XLogRecPtr lastReplayedLsn = GetXLogReplayRecPtr(NULL); + ereport(LOG, (errmodule(MOD_REDO), errcode(ERRCODE_LOG), + errmsg("ParallelXLogPageReadFile IsRecoveryDone is %s set true," + "ReadRecPtr:%X/%X, EndRecPtr:%X/%X, lastreplayed:%X/%X", + xlogctl->IsRecoveryDone ? "next" : "first", + (uint32)(t_thrd.xlog_cxt.ReadRecPtr >> 32), + (uint32)(t_thrd.xlog_cxt.ReadRecPtr), + (uint32)(t_thrd.xlog_cxt.EndRecPtr >> 32), + (uint32)(t_thrd.xlog_cxt.EndRecPtr), + (uint32)(lastReplayedLsn >> 32), + (uint32)(lastReplayedLsn)))); + /* * signal postmaster to update local redo end * point to gaussdb state file. @@ -15620,9 +15666,6 @@ retry: } if (!processtrxn) { ProcTxnWorkLoad(true); - if (IsExtremeRtoRunning()) { - extreme_rto::PushToWorkerLsn(true); - } processtrxn = true; goto retry; } @@ -15721,9 +15764,6 @@ retry: ProcTxnWorkLoad(true); if (!xlogctl->IsRecoveryDone) { SendPostmasterSignal(PMSIGNAL_LOCAL_RECOVERY_DONE); - if (IsExtremeRtoRunning()) { - extreme_rto::PushToWorkerLsn(true); - } } SpinLockAcquire(&xlogctl->info_lck); @@ -15776,11 +15816,7 @@ retry: SpinLockAcquire(&walrcv->mutex); walrcv->receivedUpto = 0; SpinLockRelease(&walrcv->mutex); - if (IsExtremeRtoRunning()) { - /* restart from recvbuffer */ - pg_atomic_write_u32(&(extreme_rto::g_recordbuffer->readWorkerState), - extreme_rto::WORKER_STATE_STOP); - } + RequestXLogStreaming(fetching_ckpt ? &t_thrd.xlog_cxt.RedoStartLSN : &targetRecPtr, t_thrd.xlog_cxt.PrimaryConnInfo, REPCONNTARGET_DUMMYSTANDBY, u_sess->attr.attr_storage.PrimarySlotName); @@ -15827,11 +15863,7 @@ retry: SpinLockAcquire(&walrcv->mutex); walrcv->receivedUpto = 0; SpinLockRelease(&walrcv->mutex); - if (IsExtremeRtoRunning()) { - /* restart from recvbuffer */ - pg_atomic_write_u32(&(extreme_rto::g_recordbuffer->readWorkerState), - extreme_rto::WORKER_STATE_STOP); - } + RequestXLogStreaming(fetching_ckpt ? &t_thrd.xlog_cxt.RedoStartLSN : &targetRecPtr, t_thrd.xlog_cxt.PrimaryConnInfo, REPCONNTARGET_PRIMARY, u_sess->attr.attr_storage.PrimarySlotName); diff --git a/src/gausskernel/storage/access/transam/xlogfuncs.cpp b/src/gausskernel/storage/access/transam/xlogfuncs.cpp old mode 100755 new mode 100644 index 8139537b7..24e95026b --- a/src/gausskernel/storage/access/transam/xlogfuncs.cpp +++ b/src/gausskernel/storage/access/transam/xlogfuncs.cpp @@ -75,13 +75,6 @@ Datum pg_start_backup(PG_FUNCTION_ARGS) char startxlogstr[MAXFNAMELEN]; errno_t errorno = EOK; - SessionBackupState status = u_sess->proc_cxt.sessionBackupState; - - if (status == SESSION_BACKUP_NON_EXCLUSIVE) - ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("a non-exclusive backup is already in progress in this session"))); - backupidstr = text_to_cstring(backupid); dir = AllocateDir("pg_tblspc"); if (!dir) { @@ -121,13 +114,6 @@ Datum pg_stop_backup(PG_FUNCTION_ARGS) char stopxlogstr[MAXFNAMELEN]; errno_t errorno = EOK; - SessionBackupState status = u_sess->proc_cxt.sessionBackupState; - - if (status == SESSION_BACKUP_NON_EXCLUSIVE) - ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("a non-exclusive backup is already in progress in this session"))); - /* when delay xlog recycle is true, we do not copy xlog from archive */ stoppoint = do_pg_stop_backup(NULL, !GetDelayXlogRecycle()); @@ -138,156 +124,6 @@ Datum pg_stop_backup(PG_FUNCTION_ARGS) PG_RETURN_TEXT_P(cstring_to_text(stopxlogstr)); } -/* - * pg_start_backup_v2: set up for taking an on-line backup dump - * - */ -Datum pg_start_backup_v2(PG_FUNCTION_ARGS) -{ - text* backupid = PG_GETARG_TEXT_P(0); - bool fast = PG_GETARG_BOOL(1); - bool exclusive = PG_GETARG_BOOL(2); - char* backupidstr = NULL; - char* labelfile = NULL; - char* tblspcmapfile = NULL; - XLogRecPtr startpoint; - DIR *dir; - char startxlogstr[MAXFNAMELEN]; - errno_t errorno = EOK; - MemoryContext oldContext; - - u_sess->probackup_context = AllocSetContextCreate(u_sess->top_mem_cxt, "probackup context", - ALLOCSET_DEFAULT_MINSIZE, ALLOCSET_DEFAULT_INITSIZE, - ALLOCSET_DEFAULT_MAXSIZE); - oldContext = MemoryContextSwitchTo(u_sess->probackup_context); - - SessionBackupState status = u_sess->proc_cxt.sessionBackupState; - - if (status == SESSION_BACKUP_NON_EXCLUSIVE) - ereport(ERROR, (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("a non-exclusive backup is already in progress in this session"))); - - backupidstr = text_to_cstring(backupid); - dir = AllocateDir("pg_tblspc"); - if (!dir) { - ereport(ERROR, (errmsg("could not open directory \"%s\": %m", "pg_tblspc"))); - } - - if (exclusive) { - startpoint = do_pg_start_backup(backupidstr, fast, NULL, dir, NULL, NULL, false, true); - } else { - if (status == SESSION_BACKUP_EXCLUSIVE) - ereport(ERROR, (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("a backup is already in progress in this session"))); - - startpoint = do_pg_start_backup(backupidstr, fast, &labelfile,dir, &tblspcmapfile, NULL,false,true); - u_sess->proc_cxt.LabelFile = MemoryContextStrdup(u_sess->probackup_context, labelfile); - if (tblspcmapfile != NULL) { - u_sess->proc_cxt.TblspcMapFile = MemoryContextStrdup(u_sess->probackup_context, tblspcmapfile); - } else { - u_sess->proc_cxt.TblspcMapFile = NULL; - } - } - - errorno = snprintf_s(startxlogstr, sizeof(startxlogstr), sizeof(startxlogstr) - 1, "%X/%X", - (uint32)(startpoint >> 32), (uint32)startpoint); - securec_check_ss(errorno, "", ""); - - PG_RETURN_TEXT_P(cstring_to_text(startxlogstr)); - - MemoryContextSwitchTo(oldContext); -} - -/* - * pg_stop_backup_v2: finish taking an on-line backup dump - * - */ -Datum pg_stop_backup_v2(PG_FUNCTION_ARGS) -{ - ReturnSetInfo *rsinfo = (ReturnSetInfo *)fcinfo->resultinfo; - TupleDesc tupdesc; - Tuplestorestate *tupstore; - MemoryContext perqueryctx, oldcontext, oldcontext2; - Datum values[3]; - bool nulls[3]; - XLogRecPtr stoppoint; - char stopxlogstr[MAXFNAMELEN]; - errno_t errorno = EOK; - bool exclusive = PG_GETARG_BOOL(0); - errno_t rc; - - SessionBackupState status = u_sess->proc_cxt.sessionBackupState; - - oldcontext2 = MemoryContextSwitchTo(u_sess->probackup_context); - - /* check to see if caller supports us returning a tuplestore */ - if (rsinfo == NULL || !IsA(rsinfo, ReturnSetInfo)) - ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("set-valued function called in context that cannot accept a set"))); - if (!(rsinfo->allowedModes & SFRM_Materialize)) - ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("materialize mode required, but it is not allowed in this context"))); - - /* Build a tuple descriptor for our result type */ - if (get_call_result_type(fcinfo, NULL, &tupdesc) != TYPEFUNC_COMPOSITE) - ereport(ERROR, (errcode(ERRCODE_DATATYPE_MISMATCH), errmsg("return type must be a row type"))); - - perqueryctx = rsinfo->econtext->ecxt_per_query_memory; - oldcontext = MemoryContextSwitchTo(perqueryctx); - - tupstore = tuplestore_begin_heap(true, false, u_sess->attr.attr_memory.work_mem); - rsinfo->returnMode = SFRM_Materialize; - rsinfo->setResult = tupstore; - rsinfo->setDesc = tupdesc; - - MemoryContextSwitchTo(oldcontext); - - rc = memset_s(values, sizeof(values), 0, sizeof(values)); - securec_check(rc, "\0", "\0"); - rc = memset_s(nulls, sizeof(nulls), false, sizeof(nulls)); - securec_check(rc, "\0", "\0"); - - if (exclusive) { - if (status == SESSION_BACKUP_NON_EXCLUSIVE) - ereport(ERROR, (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("non-exclusive backup in progress"), errhint("Did you mean to use pg_stop_backup('f')?"))); - /* when delay xlog recycle is true, we do not copy xlog from archive */ - stoppoint = do_pg_stop_backup(NULL, !GetDelayXlogRecycle()); - nulls[1] = true; - nulls[2] = true; - } else { - if (status != SESSION_BACKUP_NON_EXCLUSIVE) - ereport(ERROR, (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("non-exclusive backup is not in progress"))); - - stoppoint = do_pg_stop_backup(u_sess->proc_cxt.LabelFile, !GetDelayXlogRecycle()); - - values[1] = CStringGetTextDatum(u_sess->proc_cxt.LabelFile); - pfree(u_sess->proc_cxt.LabelFile); - u_sess->proc_cxt.LabelFile = NULL; - - if (u_sess->proc_cxt.TblspcMapFile) { - values[2] = CStringGetTextDatum(u_sess->proc_cxt.TblspcMapFile); - pfree(u_sess->proc_cxt.TblspcMapFile); - u_sess->proc_cxt.TblspcMapFile = NULL; - } else { - nulls[2] = true; - } - } - - errorno = snprintf_s(stopxlogstr, sizeof(stopxlogstr), sizeof(stopxlogstr) - 1, "%X/%X", - (uint32)(stoppoint >> 32), (uint32)stoppoint); - securec_check_ss(errorno, "", ""); - values[0] = CStringGetTextDatum(stopxlogstr); - - tuplestore_putvalues(tupstore, tupdesc, values, nulls); - tuplestore_donestoring(tupstore); - - MemoryContextSwitchTo(oldcontext2); - - return (Datum) 0; -} - /* * gs_roach_stop_backup: stop roach backup with passed-in backup name * @@ -1124,6 +960,11 @@ Datum gs_set_obs_delete_location(PG_FUNCTION_ARGS) char xlogfilename[MAXFNAMELEN]; errno_t errorno = EOK; + if (!superuser() && !(isOperatoradmin(GetUserId()) && u_sess->attr.attr_security.operation_mode)) { + ereport(ERROR, (errcode(ERRCODE_INSUFFICIENT_PRIVILEGE), + (errmsg("Must be system admin or operator admin in operation mode to gs_set_obs_delete_location.")))); + } + locationstr = text_to_cstring(location); validate_xlog_location(locationstr); diff --git a/src/gausskernel/storage/access/transam/xloginsert.cpp b/src/gausskernel/storage/access/transam/xloginsert.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/buffer/buf_init.cpp b/src/gausskernel/storage/buffer/buf_init.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/buffer/bufmgr.cpp b/src/gausskernel/storage/buffer/bufmgr.cpp index d8bbace7f..fca2cc8ff 100644 --- a/src/gausskernel/storage/buffer/bufmgr.cpp +++ b/src/gausskernel/storage/buffer/bufmgr.cpp @@ -3038,7 +3038,7 @@ static void BufferSync(int flags) * Unless this is a shutdown checkpoint, we write only permanent, dirty * buffers. But at shutdown or end of recovery, we write all dirty buffers. */ - if (!(((uint32)flags & CHECKPOINT_IS_SHUTDOWN) || ((uint32)flags & CHECKPOINT_END_OF_RECOVERY))) { + if (!((uint32)flags & (CHECKPOINT_IS_SHUTDOWN | CHECKPOINT_END_OF_RECOVERY))) { mask |= BM_PERMANENT; } @@ -3128,11 +3128,8 @@ static void BufferSync(int flags) */ sz = sizeof(CkptTsStatus) * num_spaces; - if (per_ts_stat == NULL) { - per_ts_stat = (CkptTsStatus *)palloc(sz); - } else { - per_ts_stat = (CkptTsStatus *)repalloc(per_ts_stat, sz); - } + per_ts_stat = (per_ts_stat == NULL) ? (CkptTsStatus *)palloc(sz) : + (CkptTsStatus *)repalloc(per_ts_stat, sz); s = &per_ts_stat[num_spaces - 1]; rc = memset_s(s, sizeof(*s), 0, sizeof(*s)); @@ -5163,6 +5160,21 @@ void LockBufferForCleanup(Buffer buffer) ProcWaitForSignal(); } + /* + * Remove flag marking us as waiter. Normally this will not be set + * anymore, but ProcWaitForSignal() can return for other signals as + * well. We take care to only reset the flag if we're the waiter, as + * theoretically another backend could have started waiting. That's + * impossible with the current usages due to table level locking, but + * better be safe. + */ + buf_state = LockBufHdr(buf_desc); + if ((buf_state & BM_PIN_COUNT_WAITER) != 0 && + buf_desc->wait_backend_pid == t_thrd.proc_cxt.MyProcPid) { + buf_state &= ~BM_PIN_COUNT_WAITER; + } + UnlockBufHdr(buf_desc, buf_state); + t_thrd.storage_cxt.PinCountWaitBuf = NULL; /* Loop back and try again */ } diff --git a/src/gausskernel/storage/buffer/localbuf.cpp b/src/gausskernel/storage/buffer/localbuf.cpp index 53ce68b99..34f0e6152 100644 --- a/src/gausskernel/storage/buffer/localbuf.cpp +++ b/src/gausskernel/storage/buffer/localbuf.cpp @@ -437,9 +437,10 @@ static void InitLocalBuffers(void) info.keysize = sizeof(BufferTag); info.entrysize = sizeof(LocalBufferLookupEnt); info.hash = tag_hash; + info.hcxt = SESS_GET_MEM_CXT_GROUP(MEMORY_CONTEXT_STORAGE); u_sess->storage_cxt.LocalBufHash = hash_create( - "Local Buffer Lookup Table", nbufs, &info, HASH_ELEM | HASH_FUNCTION); + "Local Buffer Lookup Table", nbufs, &info, HASH_ELEM | HASH_CONTEXT | HASH_FUNCTION); if (!u_sess->storage_cxt.LocalBufHash) { ereport(ERROR, (errcode(ERRCODE_INITIALIZE_FAILED), diff --git a/src/gausskernel/storage/bulkload/dist_fdw.cpp b/src/gausskernel/storage/bulkload/dist_fdw.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/bulkload/foreignroutine.cpp b/src/gausskernel/storage/bulkload/foreignroutine.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/bulkload/importerror.cpp b/src/gausskernel/storage/bulkload/importerror.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/bulkload/parser.cpp b/src/gausskernel/storage/bulkload/parser.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/bulkload/roach_adpter.cpp b/src/gausskernel/storage/bulkload/roach_adpter.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/cstore/compression/compress_kits.cpp b/src/gausskernel/storage/cstore/compression/compress_kits.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/cstore/compression/cstore_compress.cpp b/src/gausskernel/storage/cstore/compression/cstore_compress.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/cstore/compression/time_series_compress.cpp b/src/gausskernel/storage/cstore/compression/time_series_compress.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/cstore/cstore_allocspace.cpp b/src/gausskernel/storage/cstore/cstore_allocspace.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/cstore/cstore_am.cpp b/src/gausskernel/storage/cstore/cstore_am.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/cstore/cstore_delete.cpp b/src/gausskernel/storage/cstore/cstore_delete.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/cstore/cstore_insert.cpp b/src/gausskernel/storage/cstore/cstore_insert.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/cstore/cstore_rewrite.cpp b/src/gausskernel/storage/cstore/cstore_rewrite.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/cstore/cstore_update.cpp b/src/gausskernel/storage/cstore/cstore_update.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/cstore/cstore_vector.cpp b/src/gausskernel/storage/cstore/cstore_vector.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/cstore/cu.cpp b/src/gausskernel/storage/cstore/cu.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/cstore/cucache_mgr.cpp b/src/gausskernel/storage/cstore/cucache_mgr.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/cstore/custorage.cpp b/src/gausskernel/storage/cstore/custorage.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/dfs/dfs_connector.cpp b/src/gausskernel/storage/dfs/dfs_connector.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/dfs/dfscache_mgr.cpp b/src/gausskernel/storage/dfs/dfscache_mgr.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/dfs/obs/obs_connector.cpp b/src/gausskernel/storage/dfs/obs/obs_connector.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/file/copydir.cpp b/src/gausskernel/storage/file/copydir.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/file/fd.cpp b/src/gausskernel/storage/file/fd.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/file/lz4_file.cpp b/src/gausskernel/storage/file/lz4_file.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/freespace/freespace.cpp b/src/gausskernel/storage/freespace/freespace.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/ipc/ipc.cpp b/src/gausskernel/storage/ipc/ipc.cpp index e7acded2f..57adbffed 100644 --- a/src/gausskernel/storage/ipc/ipc.cpp +++ b/src/gausskernel/storage/ipc/ipc.cpp @@ -90,7 +90,8 @@ static const pg_on_exit_callback on_sess_exit_list[] = { #endif pq_close, AtProcExit_Files, - audit_processlogout + audit_processlogout, + log_disconnections }; static const int on_sess_exit_size = lengthof(on_sess_exit_list); diff --git a/src/gausskernel/storage/ipc/ipci.cpp b/src/gausskernel/storage/ipc/ipci.cpp old mode 100755 new mode 100644 index de6db9320..02f1cc716 --- a/src/gausskernel/storage/ipc/ipci.cpp +++ b/src/gausskernel/storage/ipc/ipci.cpp @@ -366,7 +366,6 @@ void CreateSharedMemoryAndSemaphores(bool makePrivate, int port) if (g_instance.ckpt_cxt_ctl->prune_queue_lock == NULL) { g_instance.ckpt_cxt_ctl->prune_queue_lock = LWLockAssign(LWTRANCHE_PRUNE_DIRTY_QUEUE); } - if (g_instance.pid_cxt.PageWriterPID == NULL) { MemoryContext oldcontext = MemoryContextSwitchTo(g_instance.increCheckPoint_context); g_instance.pid_cxt.PageWriterPID = diff --git a/src/gausskernel/storage/ipc/pmsignal.cpp b/src/gausskernel/storage/ipc/pmsignal.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/ipc/procarray.cpp b/src/gausskernel/storage/ipc/procarray.cpp index 93d7524cf..2250a1d7b 100644 --- a/src/gausskernel/storage/ipc/procarray.cpp +++ b/src/gausskernel/storage/ipc/procarray.cpp @@ -192,10 +192,10 @@ static TransactionId GetMultiSnapshotOldestXmin(); static TransactionId FixSnapshotXminByLocal(TransactionId xid); #endif static inline void ProcArrayEndTransactionInternal(PGPROC* proc, PGXACT* pgxact, TransactionId latestXid, - TransactionId* xid, uint32* nsubxids, CommitSeqNo* csn, bool isCommit); + TransactionId* xid, uint32* nsubxids, bool isCommit); static void ProcArrayGroupClearXid(PGPROC* proc, TransactionId latestXid); -static CommitSeqNo UpdateCSNAtTransactionCommit(CommitSeqNo maxCommitCSN); +static void UpdateCSNAtTransactionCommit(CommitSeqNo maxCommitCSN); extern bool StreamTopConsumerAmI(); @@ -243,8 +243,9 @@ void CreateSharedProcArray(void) /* Create or attach to the ProcArray shared structure */ MemoryContext oldcontext = MemoryContextSwitchTo(INSTANCE_GET_MEM_CXT_GROUP(MEMORY_CONTEXT_CBB)); size_t array_size = offsetof(ProcArrayStruct, pgprocnos) + PROCARRAY_MAXPROCS * sizeof(int) + PG_CACHE_LINE_SIZE; - g_instance.proc_array_idx = (ProcArrayStruct*)CACHELINEALIGN(palloc(array_size)); - + if (g_instance.proc_array_idx == NULL) { + g_instance.proc_array_idx = (ProcArrayStruct*)CACHELINEALIGN(palloc(array_size)); + } { /* We're the first - initialize. */ g_instance.proc_array_idx->numProcs = 0; @@ -432,9 +433,8 @@ void ProcArrayEndTransaction(PGPROC* proc, TransactionId latestXid, bool isCommi if (LWLockConditionalAcquire(ProcArrayLock, LW_EXCLUSIVE)) { TransactionId xid; uint32 nsubxids; - CommitSeqNo csn; - ProcArrayEndTransactionInternal(proc, pgxact, latestXid, &xid, &nsubxids, &csn, isCommit); + ProcArrayEndTransactionInternal(proc, pgxact, latestXid, &xid, &nsubxids, isCommit); CalculateLocalLatestSnapshot(false); LWLockRelease(ProcArrayLock); } else @@ -476,10 +476,8 @@ void ProcArrayEndTransaction(PGPROC* proc, TransactionId latestXid, bool isCommi * We don't do any locking here; caller must handle that. */ static inline void ProcArrayEndTransactionInternal(PGPROC* proc, PGXACT* pgxact, TransactionId latestXid, - TransactionId* xid, uint32* nsubxids, CommitSeqNo* csn, bool isCommit) + TransactionId* xid, uint32* nsubxids, bool isCommit) { - CommitSeqNo result = 0; - /* Store xid and nsubxids to update csnlog */ *xid = pgxact->xid; *nsubxids = pgxact->nxids; @@ -504,16 +502,13 @@ static inline void ProcArrayEndTransactionInternal(PGPROC* proc, PGXACT* pgxact, t_thrd.xact_cxt.ShmemVariableCache->latestCompletedXid = latestXid; if (TransactionIdIsNormal(latestXid) && isCommit) - result = UpdateCSNAtTransactionCommit(0); + UpdateCSNAtTransactionCommit(0); /* Clear commit csn after csn update */ proc->commitCSN = 0; pgxact->needToSyncXid = 0; ResetProcXidCache(proc, true); - - if (csn != NULL) - *csn = result; } /* @@ -537,7 +532,6 @@ static void ProcArrayGroupClearXid(PGPROC* proc, TransactionId latestXid) uint32 index = 0; uint32 commitcsn[PROCARRAY_MAXPROCS]; CommitSeqNo maxcsn = 0; - CommitSeqNo csn; /* We should definitely have an XID to clear. */ /* Add ourselves to the list of processes needing a group XID clear. */ @@ -605,14 +599,14 @@ static void ProcArrayGroupClearXid(PGPROC* proc, TransactionId latestXid) if (proc_member->commitCSN > maxcsn) maxcsn = proc_member->commitCSN; ProcArrayEndTransactionInternal( - proc_member, pgxact, proc_member->procArrayGroupMemberXid, &xid[index], &nsubxids[index], NULL, false); + proc_member, pgxact, proc_member->procArrayGroupMemberXid, &xid[index], &nsubxids[index], false); /* Move to next proc in list. */ nextidx = pg_atomic_read_u32(&proc_member->procArrayGroupNext); index++; } /* Update CSN only once after loop. */ - csn = UpdateCSNAtTransactionCommit(maxcsn); + UpdateCSNAtTransactionCommit(maxcsn); /* already hold lock, caculate snapshot after last invocation */ CalculateLocalLatestSnapshot(false); @@ -691,10 +685,14 @@ void ProcArrayClearTransaction(PGPROC* proc) * it's the max commit csn of group commit transactions, * else 0. */ -static CommitSeqNo UpdateCSNAtTransactionCommit(CommitSeqNo maxCommitCSN) +static void UpdateCSNAtTransactionCommit(CommitSeqNo maxCommitCSN) { CommitSeqNo result = 0; + /* under following condition, nextCSN has already been updated, just return */ + if (useLocalXid || !IsPostmasterEnvironment || GTM_FREE_MODE || GTM_LITE_MODE) { + return; + } /* Get CSN and update nextCommitSeqNo to csn+1 */ if (maxCommitCSN) result = maxCommitCSN; @@ -704,7 +702,7 @@ static CommitSeqNo UpdateCSNAtTransactionCommit(CommitSeqNo maxCommitCSN) if (t_thrd.xact_cxt.ShmemVariableCache->nextCommitSeqNo < result + 1) t_thrd.xact_cxt.ShmemVariableCache->nextCommitSeqNo = result + 1; - return result; + return; } void UpdateCSNLogAtTransactionEND( @@ -1587,11 +1585,16 @@ Snapshot GetSnapshotData(Snapshot snapshot, bool force_local_snapshot) if (t_thrd.postmaster_cxt.HaShmData->current_mode == PRIMARY_MODE || t_thrd.postmaster_cxt.HaShmData->current_mode == NORMAL_MODE) { RETRY: + if (GTM_LITE_MODE) { + /* local snapshot, setup preplist array, must construct preplist before getting local snapshot */ + SetLocalSnapshotPreparedArray(snapshot); + snapshot->gtm_snapshot_type = GTM_SNAPSHOT_TYPE_LOCAL; + } Snapshot result = GetLocalSnapshotData(snapshot); if (result) { if (GTM_LITE_MODE) { - snapshot->gtm_snapshot_type = GTM_SNAPSHOT_TYPE_LOCAL; /* gtm lite check csn, if not pass, try to get local snapshot form multiversion again */ + snapshot->snapshotcsn = pg_atomic_read_u64(&t_thrd.xact_cxt.ShmemVariableCache->nextCommitSeqNo); CommitSeqNo return_csn = set_proc_csn_and_check("GetLocalSnapshotData", snapshot->snapshotcsn, snapshot->gtm_snapshot_type, SNAPSHOT_DATANODE); if (!COMMITSEQNO_IS_COMMITTED(return_csn)) { @@ -1599,8 +1602,6 @@ RETRY: (errcode(ERRCODE_SNAPSHOT_INVALID), errmsg("Retry to get local multiversion snapshot"))); goto RETRY; } - /* local snapshot, setup preplist array */ - SetLocalSnapshotPreparedArray(snapshot); u_sess->utils_cxt.RecentGlobalXmin = GetOldestXmin(NULL, true); } return result; @@ -1715,15 +1716,15 @@ RETRY: } #ifndef ENABLE_MULTIPLE_NODES - if (snapshot->takenDuringRecovery && TransactionIdIsValid(t_thrd.xact_cxt.ShmemVariableCache->recentGlobalXmin)) { - if (TransactionIdPrecedes(t_thrd.xact_cxt.ShmemVariableCache->recentGlobalXmin, xmin)) { - xmin = t_thrd.xact_cxt.ShmemVariableCache->recentGlobalXmin; + if (snapshot->takenDuringRecovery && TransactionIdIsValid(t_thrd.xact_cxt.ShmemVariableCache->standbyXmin)) { + if (TransactionIdPrecedes(t_thrd.xact_cxt.ShmemVariableCache->standbyXmin, xmin)) { + xmin = t_thrd.xact_cxt.ShmemVariableCache->standbyXmin; } t_thrd.pgxact->xmin = u_sess->utils_cxt.TransactionXmin = xmin; } #endif - snapshot->snapshotcsn = t_thrd.xact_cxt.ShmemVariableCache->nextCommitSeqNo; + snapshot->snapshotcsn = pg_atomic_read_u64(&t_thrd.xact_cxt.ShmemVariableCache->nextCommitSeqNo); if (GTM_LITE_MODE) { /* gtm lite check csn, should always pass the check */ (void)set_proc_csn_and_check("GetLocalSnapshotDataFromProc", snapshot->snapshotcsn, @@ -2749,6 +2750,94 @@ void CancelDBBackends(Oid databaseid, ProcSignalReason sigmode, bool conflictPen LWLockRelease(ProcArrayLock); } +static bool ValidDBoidAndUseroid(Oid databaseOid, Oid userOid, volatile PGPROC* proc) +{ + /* + * Thread are 3 situation in CLEAN CONNECTION: + * 1. Only database, for example: CLEAN CONNECTION TO ALL FORCE FOR DATABASE xxx; + * 2. Only user, for example: CLEAN CONNECTION TO ALL FORCE TO USER xxx; + * 3. Both database and user, for example: CLEAN CONNECTION TO ALL FORCE FOR DATABASE xxx TO USER xxx; + */ + if (((databaseOid != InvalidOid) && (userOid == InvalidOid) && (proc->databaseId == databaseOid)) + || ((databaseOid == InvalidOid) && (userOid != InvalidOid) && (proc->roleId == userOid)) + || ((proc->databaseId == databaseOid) && (proc->roleId == userOid))) { + return true; + } + return false; +} + +int CountSingleNodeActiveBackends(Oid databaseOid, Oid userOid) +{ + if ((databaseOid == InvalidOid) && (userOid == InvalidOid)) { + ereport(WARNING, + (errmsg("DB oid and user oid are all Invalid (may be NULL). Shut down clean activite sessions."))); + return 0; + } + ProcArrayStruct* arrayP = g_instance.proc_array_idx; + int count = 0; + + LWLockAcquire(ProcArrayLock, LW_SHARED); + + for (int index = 0; index < arrayP->numProcs; index++) { + int pgprocno = arrayP->pgprocnos[index]; + volatile PGPROC* proc = g_instance.proc_base_all_procs[pgprocno]; + + if (proc->pid == 0) + continue; /* do not count prepared xacts */ + + if (ValidDBoidAndUseroid(databaseOid, userOid, proc)) { + count++; + } + } + + LWLockRelease(ProcArrayLock); + + return count; +} + +/* + * CancelSingleNodeBackends --- cancel backends in single node by database oid or user oid + */ +void CancelSingleNodeBackends(Oid databaseOid, Oid userOid, ProcSignalReason sigmode, bool conflictPending) +{ + if ((databaseOid == InvalidOid) && (userOid == InvalidOid)) { + ereport(WARNING, + (errmsg("DB oid and user oid are all Invalid (may be NULL). Shut down clean activite sessions."))); + return; + } + ProcArrayStruct* arrayP = g_instance.proc_array_idx; + int index; + ThreadId pid = 0; + + /* tell all backends to die */ + LWLockAcquire(ProcArrayLock, LW_EXCLUSIVE); + + for (index = 0; index < arrayP->numProcs; index++) { + int pgprocno = arrayP->pgprocnos[index]; + volatile PGPROC* proc = g_instance.proc_base_all_procs[pgprocno]; + + if (ValidDBoidAndUseroid(databaseOid, userOid, proc)) { + VirtualTransactionId procvxid; + + GET_VXID_FROM_PGPROC(procvxid, *proc); + + proc->recoveryConflictPending = conflictPending; + pid = proc->pid; + + if (pid != 0) { + /* + * Kill the pid if it's still here. If not, that's what we + * wanted so ignore any errors. + */ + (void)SendProcSignal(pid, sigmode, procvxid.backendId); + } + } + } + + LWLockRelease(ProcArrayLock); +} + + /* * CountUserBackends --- count backends that are used by specified user */ @@ -4195,13 +4284,16 @@ void CalculateLocalLatestSnapshot(bool forceCalc) /* * Update globalxmin to include actual process xids. This is a slightly * different way of computing it than GetOldestXmin uses, but should give - * the same result. + * the same result. GTM-FREE-MODE always use recentLocalXmin. */ if (TransactionIdPrecedes(xmin, globalxmin)) globalxmin = xmin; t_thrd.xact_cxt.ShmemVariableCache->xmin = xmin; t_thrd.xact_cxt.ShmemVariableCache->recentLocalXmin = globalxmin; + if (GTM_FREE_MODE) { + t_thrd.xact_cxt.ShmemVariableCache->recentGlobalXmin = globalxmin; + } } if (GTM_LITE_MODE) { @@ -4218,6 +4310,7 @@ void CalculateLocalLatestSnapshot(bool forceCalc) snapxid->snapshotcsn = t_thrd.xact_cxt.ShmemVariableCache->nextCommitSeqNo; snapxid->takenDuringRecovery = RecoveryInProgress(); + pg_write_barrier(); ereport(DEBUG1, (errmsg("Generated snapshot in ring buffer slot %lu\n", SNAPXID_INDEX(snapxid)))); SetNextSnapXid(); } @@ -4521,6 +4614,8 @@ Datum pgxc_gtm_snapshot_status(PG_FUNCTION_ARGS) SRF_RETURN_NEXT(funcctx, result); } + /* free memory */ + pfree(xids); SRF_RETURN_DONE(funcctx); #endif } diff --git a/src/gausskernel/storage/ipc/shmem.cpp b/src/gausskernel/storage/ipc/shmem.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/ipc/sinval.cpp b/src/gausskernel/storage/ipc/sinval.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/ipc/sinvaladt.cpp b/src/gausskernel/storage/ipc/sinvaladt.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/ipc/standby.cpp b/src/gausskernel/storage/ipc/standby.cpp old mode 100755 new mode 100644 index 4ed54129f..31db10c57 --- a/src/gausskernel/storage/ipc/standby.cpp +++ b/src/gausskernel/storage/ipc/standby.cpp @@ -776,6 +776,9 @@ void standby_redo(XLogReaderState* record) ProcArrayApplyRecoveryInfo(&running); } else if (info == XLOG_STANDBY_CSN) { TransactionId new_global_xmin = *((TransactionId*)XLogRecGetData(record)); + if (!TransactionIdIsValid(t_thrd.xact_cxt.ShmemVariableCache->standbyXmin)) { + t_thrd.xact_cxt.ShmemVariableCache->standbyXmin = new_global_xmin; + } if (TransactionIdPrecedes(t_thrd.xact_cxt.ShmemVariableCache->recentGlobalXmin, new_global_xmin)) { t_thrd.xact_cxt.ShmemVariableCache->recentGlobalXmin = new_global_xmin; } @@ -1069,6 +1072,48 @@ void StandbyXlogStartup(void) t_thrd.xlog_cxt.committing_csn_list = NIL; } +void *XLogReleaseAdnGetCommittingCsnList() +{ + ListCell* l = NULL; + foreach (l, t_thrd.xlog_cxt.committing_csn_list) { + TransactionId* action = (TransactionId*)lfirst(l); + if (log_min_messages <= DEBUG4) { + ereport(LOG, (errmsg("XLogReleaseAdnGetCommittingCsnList: action xid:%lu", *action))); + } + CSNLogSetCommitSeqNo(*action, 0, NULL, COMMITSEQNO_ABORTED); + XactLockTableDelete(*action); + } + + List* committingCsnList = t_thrd.xlog_cxt.committing_csn_list; + t_thrd.xlog_cxt.committing_csn_list = NIL; + return committingCsnList; +} + +void CleanUpMakeCommitAbort(List* committingCsnList) +{ + ListCell* l = NULL; + foreach (l, committingCsnList) { + TransactionId* action = (TransactionId*)lfirst(l); + if (log_min_messages <= DEBUG4) { + ereport(LOG, (errmsg("CleanUpMakeCommitAbort: action xid:%lu", *action))); + } + XLogBeginInsert(); + XLogRegisterData((char *)action, sizeof(TransactionId)); + XLogInsert(RM_STANDBY_ID, XLOG_STANDBY_CSN_ABORTED); + } + + MemoryContext oldCtx = NULL; + if (IsExtremeRtoRunning()) { + oldCtx = MemoryContextSwitchTo(g_instance.comm_cxt.predo_cxt.parallelRedoCtx); + } + list_free(committingCsnList); + if (IsExtremeRtoRunning()) { + (void)MemoryContextSwitchTo(oldCtx); + } +} + + + void StandbyXlogCleanup(void) { ListCell* l = NULL; @@ -1087,14 +1132,19 @@ void StandbyXlogCleanup(void) } CSNLogSetCommitSeqNo(*action, 0, NULL, COMMITSEQNO_ABORTED); XactLockTableDelete(*action); - if (g_supportHotStandby) { - XLogBeginInsert(); - XLogRegisterData((char *)action, sizeof(TransactionId)); - XLogInsert(RM_STANDBY_ID, XLOG_STANDBY_CSN_ABORTED); - } - } + XLogBeginInsert(); + XLogRegisterData((char *)action, sizeof(TransactionId)); + XLogInsert(RM_STANDBY_ID, XLOG_STANDBY_CSN_ABORTED); + } + MemoryContext oldCtx = NULL; + if (IsExtremeRtoRunning()) { + oldCtx = MemoryContextSwitchTo(g_instance.comm_cxt.predo_cxt.parallelRedoCtx); + } list_free(t_thrd.xlog_cxt.committing_csn_list); + if (IsExtremeRtoRunning()) { + (void)MemoryContextSwitchTo(oldCtx); + } t_thrd.xlog_cxt.committing_csn_list = NIL; } @@ -1107,6 +1157,10 @@ bool StandbySafeRestartpoint(void) static void RecordCommittingCsnInfo(TransactionId xid) { + MemoryContext oldCtx = NULL; + if (IsExtremeRtoRunning()) { + oldCtx = MemoryContextSwitchTo(g_instance.comm_cxt.predo_cxt.parallelRedoCtx); + } TransactionId* action = (TransactionId*)palloc(sizeof(TransactionId)); if (log_min_messages <= DEBUG4) { ereport(LOG, @@ -1117,12 +1171,15 @@ static void RecordCommittingCsnInfo(TransactionId xid) *action = xid; t_thrd.xlog_cxt.committing_csn_list = lappend(t_thrd.xlog_cxt.committing_csn_list, action); + if (IsExtremeRtoRunning()) { + (void)MemoryContextSwitchTo(oldCtx); + } } bool RemoveCommittedCsnInfo(TransactionId xid) { ListCell* l = NULL; - + foreach (l, t_thrd.xlog_cxt.committing_csn_list) { TransactionId* action = (TransactionId*)lfirst(l); @@ -1132,9 +1189,15 @@ bool RemoveCommittedCsnInfo(TransactionId xid) (errmsg("RemoveCommittedCsnInfo successfully: input xid:%lu, action xid:%lu", xid, *action))); } - + MemoryContext oldCtx = NULL; + if (IsExtremeRtoRunning()) { + oldCtx = MemoryContextSwitchTo(g_instance.comm_cxt.predo_cxt.parallelRedoCtx); + } t_thrd.xlog_cxt.committing_csn_list = list_delete_ptr(t_thrd.xlog_cxt.committing_csn_list, action); pfree(action); + if (IsExtremeRtoRunning()) { + (void)MemoryContextSwitchTo(oldCtx); + } return true; /* need not look further */ } } diff --git a/src/gausskernel/storage/large_object/inv_api.cpp b/src/gausskernel/storage/large_object/inv_api.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/lmgr/deadlock.cpp b/src/gausskernel/storage/lmgr/deadlock.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/lmgr/lmgr.cpp b/src/gausskernel/storage/lmgr/lmgr.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/lmgr/lock.cpp b/src/gausskernel/storage/lmgr/lock.cpp old mode 100755 new mode 100644 index f6fdc7fac..3a3077ea2 --- a/src/gausskernel/storage/lmgr/lock.cpp +++ b/src/gausskernel/storage/lmgr/lock.cpp @@ -675,7 +675,7 @@ static LockAcquireResult LockAcquireExtendedXC(const LOCKTAG *locktag, LOCKMODE ereport(LOG, (errmsg("LockAcquire: lock [%u,%u] %s", locktag->locktag_field1, locktag->locktag_field2, lockMethodTable->lockModeNames[lockmode]))); #endif - statement_full_info_record(LOCK_START, lockmode, locktag); + instr_stmt_report_lock(LOCK_START, lockmode, locktag); /* Identify owner for lock */ if (sessionLock) @@ -729,11 +729,11 @@ static LockAcquireResult LockAcquireExtendedXC(const LOCKTAG *locktag, LOCKMODE */ if (locallock->nLocks > 0) { GrantLockLocal(locallock, owner); - statement_full_info_record(LOCK_END, lockmode); + instr_stmt_report_lock(LOCK_END, lockmode); return LOCKACQUIRE_ALREADY_HELD; #ifdef PGXC } else if (only_increment) { - statement_full_info_record(LOCK_END, NoLock); + instr_stmt_report_lock(LOCK_END, NoLock); /* User does not want to create new lock if it does not already exist */ return LOCKACQUIRE_NOT_AVAIL; #endif @@ -814,7 +814,7 @@ static LockAcquireResult LockAcquireExtendedXC(const LOCKTAG *locktag, LOCKMODE locallock->lock = NULL; locallock->proclock = NULL; GrantLockLocal(locallock, owner); - statement_full_info_record(LOCK_END, lockmode); + instr_stmt_report_lock(LOCK_END, lockmode); return LOCKACQUIRE_OK; } } @@ -831,7 +831,7 @@ static LockAcquireResult LockAcquireExtendedXC(const LOCKTAG *locktag, LOCKMODE BeginStrongLockAcquire(locallock, fasthashcode); if (!FastPathTransferRelationLocks(lockMethodTable, locktag, hashcode)) { AbortStrongLockAcquire(); - statement_full_info_record(LOCK_END, NoLock); + instr_stmt_report_lock(LOCK_END, NoLock); if (reportMemoryError) ereport(ERROR, (errcode(ERRCODE_OUT_OF_MEMORY), errmsg("out of shared memory"), errhint("You might need to increase max_locks_per_transaction."))); @@ -862,7 +862,7 @@ static LockAcquireResult LockAcquireExtendedXC(const LOCKTAG *locktag, LOCKMODE if (proclock == NULL) { AbortStrongLockAcquire(); LWLockRelease(partitionLock); - statement_full_info_record(LOCK_END, NoLock); + instr_stmt_report_lock(LOCK_END, NoLock); if (reportMemoryError) ereport(ERROR, (errcode(ERRCODE_OUT_OF_MEMORY), errmsg("out of shared memory"), errhint("You might need to increase max_locks_per_transaction."))); @@ -887,23 +887,22 @@ static LockAcquireResult LockAcquireExtendedXC(const LOCKTAG *locktag, LOCKMODE * Notice: Lock we requesetd may conflict many locks requested by waiters, we just choice one * for report. */ - t_thrd.storage_cxt.conflicting_lock_by_holdlock = false; PGPROC *proc = NULL; PROC_QUEUE *waitQueue = &(lock->waitProcs); int j; proc = (PGPROC *)waitQueue->links.prev; for (j = 0; j < waitQueue->size; j++) { if (lockMethodTable->conflictTab[lockmode] & LOCKBIT_ON((unsigned int)proc->waitLockMode)) { - t_thrd.storage_cxt.conflicting_lock_mode_name = lockMethodTable->lockModeNames[proc->waitLockMode]; - t_thrd.storage_cxt.conflicting_lock_thread_id = proc->pid; - - /* Record block proc */ - proclock->tag.myProc->blockProcLock = proc->waitProcLock; + ProcBlockerUpdate(proclock->tag.myProc, + proc->waitProcLock, lockMethodTable->lockModeNames[proc->waitLockMode], false); break; } proc = (PGPROC *)proc->links.prev; } + /* above must be a normal break. */ + Assert(!t_thrd.storage_cxt.conflicting_lock_by_holdlock); + /* * Before we give up we have to check a special case. * In the event of drop/truncate table acquiring exclusive lock @@ -974,7 +973,7 @@ static LockAcquireResult LockAcquireExtendedXC(const LOCKTAG *locktag, LOCKMODE if (locallock->nLocks == 0) { RemoveLocalLock(locallock); } - statement_full_info_record(LOCK_END, NoLock); + instr_stmt_report_lock(LOCK_END, NoLock); return LOCKACQUIRE_NOT_AVAIL; } @@ -1013,7 +1012,7 @@ static LockAcquireResult LockAcquireExtendedXC(const LOCKTAG *locktag, LOCKMODE LOCK_PRINT("LockAcquire: INCONSISTENT", lock, lockmode); /* Should we retry ? */ LWLockRelease(partitionLock); - statement_full_info_record(LOCK_END, NoLock); + instr_stmt_report_lock(LOCK_END, NoLock); ereport(ERROR, (errcode(ERRCODE_LOCK_NOT_AVAILABLE), errmsg("LockAcquire failed"))); } PROCLOCK_PRINT("LockAcquire: granted", proclock); @@ -1041,7 +1040,7 @@ static LockAcquireResult LockAcquireExtendedXC(const LOCKTAG *locktag, LOCKMODE LogAccessExclusiveLock(locktag->locktag_field1, locktag->locktag_field2); } - statement_full_info_record(LOCK_END, lockmode); + instr_stmt_report_lock(LOCK_END, lockmode); return LOCKACQUIRE_OK; } @@ -1315,13 +1314,9 @@ int LockCheckConflicts(LockMethod lockMethodTable, LOCKMODE lockmode, LOCK *lock } /* must be normal break; */ Assert(lock_idx <= numLockModes); - /* remember the conficting thread, for output by ProcSleep when DS_LOCK_TIMEOUT. */ - t_thrd.storage_cxt.conflicting_lock_by_holdlock = true; - t_thrd.storage_cxt.conflicting_lock_mode_name = lockMethodTable->lockModeNames[lock_idx]; - t_thrd.storage_cxt.conflicting_lock_thread_id = otherProcLock->tag.myProc->pid; - /* Record block proc */ - proc->blockProcLock = otherProcLock; + /* remember the conficting thread, for output by ProcSleep when DS_LOCK_TIMEOUT. */ + ProcBlockerUpdate(proc, otherProcLock, lockMethodTable->lockModeNames[lock_idx], true); /* just find one, and stop. */ break; @@ -1657,7 +1652,7 @@ static void WaitOnLock(LOCALLOCK *locallock, ResourceOwner owner, bool allow_con char *volatile new_status = NULL; LOCK_PRINT("WaitOnLock: sleeping on lock", locallock->lock, locallock->tag.mode); - statement_full_info_record(LOCK_WAIT_START, locallock->tag.mode, (const LOCKTAG *)(&locallock->tag.lock)); + instr_stmt_report_lock(LOCK_WAIT_START, locallock->tag.mode, &locallock->tag.lock); /* Report change to waiting status */ if (u_sess->attr.attr_common.update_process_title) { @@ -1733,8 +1728,8 @@ static void WaitOnLock(LOCALLOCK *locallock, ResourceOwner owner, bool allow_con set_ps_display(new_status, false); pfree(new_status); } - statement_full_info_record(LOCK_WAIT_END); - statement_full_info_record(LOCK_END, NoLock); + instr_stmt_report_lock(LOCK_WAIT_END); + instr_stmt_report_lock(LOCK_END, NoLock); /* and propagate the error */ PG_RE_THROW(); @@ -1751,7 +1746,7 @@ static void WaitOnLock(LOCALLOCK *locallock, ResourceOwner owner, bool allow_con pfree(new_status); } - statement_full_info_record(LOCK_WAIT_END); + instr_stmt_report_lock(LOCK_WAIT_END); LOCK_PRINT("WaitOnLock: wakeup on lock", locallock->lock, locallock->tag.mode); } @@ -1897,7 +1892,7 @@ bool LockRelease(const LOCKTAG *locktag, LOCKMODE lockmode, bool sessionLock) locallock->nLocks--; if (locallock->nLocks > 0) { - statement_full_info_record(LOCK_RELEASE, lockmode, locktag); + instr_stmt_report_lock(LOCK_RELEASE, lockmode, locktag); return TRUE; } @@ -1915,7 +1910,7 @@ bool LockRelease(const LOCKTAG *locktag, LOCKMODE lockmode, bool sessionLock) LWLockRelease(t_thrd.proc->backendLock); if (released) { RemoveLocalLock(locallock); - statement_full_info_record(LOCK_RELEASE, lockmode, locktag); + instr_stmt_report_lock(LOCK_RELEASE, lockmode, locktag); return TRUE; } } @@ -1979,7 +1974,7 @@ bool LockRelease(const LOCKTAG *locktag, LOCKMODE lockmode, bool sessionLock) CleanUpLock(lock, proclock, lockMethodTable, locallock->hashcode, wakeupNeeded); LWLockRelease(partitionLock); - statement_full_info_record(LOCK_RELEASE, lockmode, locktag); + instr_stmt_report_lock(LOCK_RELEASE, lockmode, locktag); RemoveLocalLock(locallock); @@ -2106,7 +2101,7 @@ void LockReleaseAll(LOCKMETHODID lockmethodid, bool allLocks) /* Attempt fast-path release. */ if (FastPathUnGrantRelationLock(tag, lockmode)) { - statement_full_info_record(LOCK_RELEASE, lockmode, &locallock->tag.lock); + instr_stmt_report_lock(LOCK_RELEASE, lockmode, &locallock->tag.lock); RemoveLocalLock(locallock); continue; } @@ -2201,7 +2196,7 @@ void LockReleaseAll(LOCKMETHODID lockmethodid, bool allLocks) for (i = 1; i <= numLockModes; i++) { if (proclock->releaseMask & LOCKBIT_ON((unsigned int)i)) { wakeupNeeded |= UnGrantLock(lock, i, proclock, lockMethodTable); - statement_full_info_record(LOCK_RELEASE, i, &lock->tag); + instr_stmt_report_lock(LOCK_RELEASE, i, &lock->tag); } } Assert((lock->nRequested >= 0) && (lock->nGranted >= 0)); @@ -2825,7 +2820,7 @@ static void LockRefindAndRelease(LockMethod lockMethodTable, PGPROC *proc, LOCKT CleanUpLock(lock, proclock, lockMethodTable, hashcode, wakeupNeeded); LWLockRelease(partitionLock); - statement_full_info_record(LOCK_RELEASE, lockmode, locktag); + instr_stmt_report_lock(LOCK_RELEASE, lockmode, locktag); /* * Decrement strong lock count. This logic is needed only for 2PC. diff --git a/src/gausskernel/storage/lmgr/lwlock.cpp b/src/gausskernel/storage/lmgr/lwlock.cpp old mode 100755 new mode 100644 index b3a338856..73a3e0222 --- a/src/gausskernel/storage/lmgr/lwlock.cpp +++ b/src/gausskernel/storage/lmgr/lwlock.cpp @@ -728,7 +728,7 @@ static void LWThreadSuicide(PGPROC *proc, int extraWaits, LWLock *lock, LWLockMo while (extraWaits-- > 0) { PGSemaphoreUnlock(&proc->sem); } - statement_full_info_record(LWLOCK_WAIT_END); + instr_stmt_report_lock(LWLOCK_WAIT_END); LWLockReportWaitFailed(lock); ereport(FATAL, (errmsg("force thread %lu to exit because of lwlock deadlock", proc->pid), errdetail("Lock Info: (%s), mode %d", T_NAME(lock), mode))); @@ -1293,7 +1293,7 @@ bool LWLockAcquire(LWLock *lock, LWLockMode mode, bool need_update_lockid) #ifdef LWLOCK_STATS lwstats->block_count++; #endif - statement_full_info_record(LWLOCK_WAIT_START, mode, NULL, lock->tranche); + instr_stmt_report_lock(LWLOCK_WAIT_START, mode, NULL, lock->tranche); LWLockReportWaitStart(lock); TRACE_POSTGRESQL_LWLOCK_WAIT_START(T_NAME(lock), mode); for (;;) { @@ -1320,10 +1320,9 @@ bool LWLockAcquire(LWLock *lock, LWLockMode mode, bool need_update_lockid) Assert(nwaiters < MAX_BACKENDS); } #endif - statement_full_info_record(LWLOCK_WAIT_END); - TRACE_POSTGRESQL_LWLOCK_WAIT_DONE(T_NAME(lock), mode); LWLockReportWaitEnd(); + instr_stmt_report_lock(LWLOCK_WAIT_END); LOG_LWDEBUG("LWLockAcquire", lock, "awakened"); @@ -1447,7 +1446,7 @@ bool LWLockAcquireOrWait(LWLock *lock, LWLockMode mode) #ifdef LWLOCK_STATS lwstats->block_count++; #endif - statement_full_info_record(LWLOCK_WAIT_START, mode, NULL, lock->tranche); + instr_stmt_report_lock(LWLOCK_WAIT_START, mode, NULL, lock->tranche); LWLockReportWaitStart(lock); TRACE_POSTGRESQL_LWLOCK_WAIT_START(T_NAME(lock), mode); @@ -1474,9 +1473,9 @@ bool LWLockAcquireOrWait(LWLock *lock, LWLockMode mode) Assert(nwaiters < MAX_BACKENDS); } #endif - statement_full_info_record(LWLOCK_WAIT_END); TRACE_POSTGRESQL_LWLOCK_WAIT_DONE(T_NAME(lock), mode); LWLockReportWaitEnd(); + instr_stmt_report_lock(LWLOCK_WAIT_END); LOG_LWDEBUG("LWLockAcquireOrWait", lock, "awakened"); } else { diff --git a/src/gausskernel/storage/lmgr/lwlocknames.txt b/src/gausskernel/storage/lmgr/lwlocknames.txt index f8a8b6b22..9a2916afe 100644 --- a/src/gausskernel/storage/lmgr/lwlocknames.txt +++ b/src/gausskernel/storage/lmgr/lwlocknames.txt @@ -105,3 +105,4 @@ PartOidCacheLock 97 DeleteCompactionLock 98 DeleteConsumerLock 99 ConsumerStateLock 100 +HypoIndexLock 101 diff --git a/src/gausskernel/storage/lmgr/predicate.cpp b/src/gausskernel/storage/lmgr/predicate.cpp old mode 100755 new mode 100644 index 0c7db17fd..5d6e82094 --- a/src/gausskernel/storage/lmgr/predicate.cpp +++ b/src/gausskernel/storage/lmgr/predicate.cpp @@ -891,7 +891,7 @@ void CheckPointPredicate(void) LWLockRelease(OldSerXidLock); /* Truncate away pages that are no longer required */ - SimpleLruTruncate(t_thrd.shemem_ptr_cxt.OldSerXidSlruCtl, tailPage); + SimpleLruTruncate(t_thrd.shemem_ptr_cxt.OldSerXidSlruCtl, tailPage, false, NUM_SLRU_DEFAULT_PARTITION); /* * Flush dirty SLRU pages to disk diff --git a/src/gausskernel/storage/lmgr/proc.cpp b/src/gausskernel/storage/lmgr/proc.cpp old mode 100755 new mode 100644 index a8e7d4e2e..150d93b52 --- a/src/gausskernel/storage/lmgr/proc.cpp +++ b/src/gausskernel/storage/lmgr/proc.cpp @@ -233,10 +233,19 @@ void InitProcGlobal(void) PGPROC **procs = NULL; int i, j; uint32 TotalProcs = (uint32)(GLOBAL_ALL_PROCS); + bool needPalloc = false; MemoryContext oldContext = MemoryContextSwitchTo(INSTANCE_GET_MEM_CXT_GROUP(MEMORY_CONTEXT_CBB)); - /* Create the g_instance.proc_base shared structure */ - g_instance.proc_base = (PROC_HDR *)CACHELINEALIGN(palloc(sizeof(PROC_HDR) + PG_CACHE_LINE_SIZE)); + if (g_instance.proc_base == NULL) { + /* Create the g_instance.proc_base shared structure */ + g_instance.proc_base = (PROC_HDR *)CACHELINEALIGN(palloc(sizeof(PROC_HDR) + PG_CACHE_LINE_SIZE)); + needPalloc = true; + } else { + Assert(g_instance.proc_base != NULL); + Assert(g_instance.proc_base->allProcs != NULL); + Assert(g_instance.proc_base->allPgXact != NULL); + Assert(g_instance.proc_base->allProcs[0] != NULL); + } /* * Initialize the data structures. @@ -287,15 +296,29 @@ void InitProcGlobal(void) } } else { #endif - initProcs[0] = (PGPROC *)CACHELINEALIGN(palloc0(TotalProcs * sizeof(PGPROC) + PG_CACHE_LINE_SIZE)); + if (needPalloc) { + initProcs[0] = (PGPROC *)CACHELINEALIGN(palloc0(TotalProcs * sizeof(PGPROC) + PG_CACHE_LINE_SIZE)); + } else { + initProcs[0] = g_instance.proc_base->allProcs[0]; + errno_t rc = memset_s(initProcs[0], TotalProcs * sizeof(PGPROC), 0, TotalProcs * sizeof(PGPROC)); + securec_check(rc, "", ""); + } if (!initProcs[0]) { ereport(FATAL, (errcode(ERRCODE_OUT_OF_MEMORY), errmsg("out of shared memory"))); } #ifdef __USE_NUMA } #endif - procs = (PGPROC **)CACHELINEALIGN(palloc0(TotalProcs * sizeof(PGPROC *) + PG_CACHE_LINE_SIZE)); - g_instance.proc_base->allProcs = procs; + if (needPalloc) { + procs = (PGPROC **)CACHELINEALIGN(palloc0(TotalProcs * sizeof(PGPROC *) + PG_CACHE_LINE_SIZE)); + g_instance.proc_base->allProcs = procs; + } else { + errno_t rc = memset_s(g_instance.proc_base->allProcs, TotalProcs * sizeof(PGPROC *), 0, + TotalProcs * sizeof(PGPROC *)); + securec_check(rc, "", ""); + procs = g_instance.proc_base->allProcs; + } + g_instance.proc_base->allProcCount = TotalProcs; g_instance.proc_base->allNonPreparedProcCount = g_instance.shmem_cxt.MaxBackends + NUM_CMAGENT_PROCS + NUM_AUXILIARY_PROCS; @@ -306,16 +329,22 @@ void InitProcGlobal(void) procs[i] = &initProcs[i % nNumaNodes][i / nNumaNodes]; } - /* - * Also allocate a separate array of PGXACT structures. This is separate - * from the main PGPROC array so that the most heavily accessed data is - * stored contiguously in memory in as few cache lines as possible. This - * provides significant performance benefits, especially on a - * multiprocessor system. There is one PGXACT structure for every PGPROC - * structure. - */ - g_instance.proc_base->allPgXact = - (PGXACT *)CACHELINEALIGN(palloc0(TotalProcs * sizeof(PGXACT) + PG_CACHE_LINE_SIZE)); + if (needPalloc) { + /* + * Also allocate a separate array of PGXACT structures. This is separate + * from the main PGPROC array so that the most heavily accessed data is + * stored contiguously in memory in as few cache lines as possible. This + * provides significant performance benefits, especially on a + * multiprocessor system. There is one PGXACT structure for every PGPROC + * structure. + */ + g_instance.proc_base->allPgXact = + (PGXACT *)CACHELINEALIGN(palloc0(TotalProcs * sizeof(PGXACT) + PG_CACHE_LINE_SIZE)); + } else { + errno_t rc = memset_s(g_instance.proc_base->allPgXact, TotalProcs * sizeof(PGXACT), 0, + TotalProcs * sizeof(PGXACT)); + securec_check(rc, "", ""); + } for (i = 0; (unsigned int)(i) < TotalProcs; i++) { /* Common initialization for all PGPROCs, regardless of type. @@ -446,7 +475,7 @@ static inline void ReleaseChildSlot(void) t_thrd.role == WLM_CPMONITOR) || IsJobAspProcess() || t_thrd.role == STREAMING_BACKEND || IsStatementFlushProcess() || IsJobSnapshotProcess() || t_thrd.postmaster_cxt.IsRPCWorkerThread || IsJobPercentileProcess() || t_thrd.role == ARCH)) { - (void)ReleasePostmasterChildSlot(t_thrd.proc_cxt.MyPMChildSlot); + (void)ReleasePostmasterChildSlot(t_thrd.proc_cxt.MyPMChildSlot); } } @@ -539,7 +568,9 @@ void InitProcess(void) ereport(FATAL, (errcode(ERRCODE_TOO_MANY_CONNECTIONS), - errmsg("No free proc new connection."))); + errmsg("No free proc is available to create a new connection for %s. Please check whether the IP " + "address and port are available, and the CN/DN process can be connected", + u_sess->proc_cxt.applicationName))); } #ifdef __USE_NUMA @@ -613,7 +644,7 @@ void InitProcess(void) t_thrd.proc->waitLock = NULL; t_thrd.proc->waitProcLock = NULL; t_thrd.proc->blockProcLock = NULL; - t_thrd.proc->waitLockThrd = NULL; + t_thrd.proc->waitLockThrd = &t_thrd; init_proc_dw_buf(); #ifdef USE_ASSERT_CHECKING if (assert_enabled) { @@ -826,6 +857,8 @@ void InitAuxiliaryProcess(void) t_thrd.proc->lwIsVictim = false; t_thrd.proc->waitLock = NULL; t_thrd.proc->waitProcLock = NULL; + t_thrd.proc->blockProcLock = NULL; + t_thrd.proc->waitLockThrd = &t_thrd; t_thrd.proc->workingVersionNum = pg_atomic_read_u32(&WorkingGrandVersionNum); t_thrd.myLogicTid = t_thrd.proc->logictid; init_proc_dw_buf(); @@ -1481,7 +1514,6 @@ int ProcSleep(LOCALLOCK* locallock, LockMethod lockMethodTable, bool allow_con_u t_thrd.proc->waitLock = lock; t_thrd.proc->waitProcLock = proclock; t_thrd.proc->waitLockMode = lockmode; - t_thrd.proc->waitLockThrd = &t_thrd; t_thrd.proc->waitStatus = STATUS_WAITING; @@ -1565,14 +1597,16 @@ int ProcSleep(LOCALLOCK* locallock, LockMethod lockMethodTable, bool allow_con_u /* * If we are not deadlocked, but are waiting on an autovacuum-induced - * task, send a signal to interrupt it. + * task, send a signal to interrupt it. If I am an autovacuum worker, don't + * send a signal to inerrutpt. * * If we are not deadlocked, but are waiting on a data redistribution * -induced task, send a signal to interrupt it. No extra enable_cluster_resize * check is needed, since DS_BLOCKED_BY_REDISTRIBUTION can only be set * by blocking proc with enable_cluster_resize on. */ - if (t_thrd.storage_cxt.deadlock_state == DS_BLOCKED_BY_AUTOVACUUM && allow_autovacuum_cancel) { + if (t_thrd.storage_cxt.deadlock_state == DS_BLOCKED_BY_AUTOVACUUM && allow_autovacuum_cancel && + !IsAutoVacuumWorkerProcess()) { /* cancle all existing blockers */ CancelAllBlockedAutovacWorkers(lock, lockmode); @@ -1800,6 +1834,27 @@ PGPROC* ProcWakeup(PGPROC* proc, int waitStatus) return retProc; } +/* + * ProcBlockerUpdate - udpate lock waiter's block information + * + * waiterProc: the lock appliant's PGPROC + * blockerProcLock: the blocker's PROCLOCK + * lockMode: lockmode of the lock held by blocker + * isLockHolder: blocker is holder or waiter. + */ +void ProcBlockerUpdate(PGPROC *waiterProc, + PROCLOCK *blockerProcLock, const char* lockMode, bool isLockHolder) +{ + knl_thrd_context *pThrd = (knl_thrd_context*)waiterProc->waitLockThrd; + + Assert(pThrd != NULL); + pThrd->storage_cxt.conflicting_lock_by_holdlock = isLockHolder; + pThrd->storage_cxt.conflicting_lock_mode_name = lockMode; + pThrd->storage_cxt.conflicting_lock_thread_id = blockerProcLock->tag.myProc->pid; + + waiterProc->blockProcLock = blockerProcLock; +} + /* * ProcLockWakeup -- routine for waking up processes when a lock is * released (or a prior waiter is aborted). Scan all waiters @@ -1843,24 +1898,34 @@ void ProcLockWakeup(LockMethod lockMethodTable, LOCK* lock, const PROCLOCK* proc * because it's been cleared. */ } else { - /* Update block session for proc which block proc is will be cleanup */ - if (status == STATUS_OK && proclock != NULL && proclock == proc->blockProcLock && - !(proclock->holdMask & lockMethodTable->conflictTab[lockmode])) { // need update block proc - - // deadlockcheck may change order of wait queue, so travel whole queue + /* + * When status is STATUS_OK, it means there are some conflict between this lock waiter + * with ahead ones. If it was related to the released PROCLOCK, or the whole wait queue + * was rearranged by dead lock checker, try to find out this waiter's new blocker. + */ + if (status == STATUS_OK && (proclock == NULL || (proclock == proc->blockProcLock && + !(proclock->holdMask & lockMethodTable->conflictTab[lockmode])))) { PGPROC* curProc = (PGPROC*)waitQueue->links.next; + + /* traverse the whole queue to find the first conflicter who blocks this proc. */ for (int j = 0; j < waitQueue->size; j++) { if (lockMethodTable->conflictTab[lockmode] & LOCKBIT_ON((unsigned int)curProc->waitLockMode)) { break; } curProc = (PGPROC*)curProc->links.next; } - proc->blockProcLock = curProc->waitProcLock; + + /* above must be a normal break. */ + Assert(curProc != NULL); + + /* refresh waiter's with new blocker information. */ + ProcBlockerUpdate(proc, curProc->waitProcLock, + lockMethodTable->lockModeNames[curProc->waitLockMode], false); status = STATUS_FOUND; } if (status == STATUS_FOUND && oldBlockProcLock != proc->blockProcLock) { - /* refresh proc's blocking session id. */ + /* report new blocking session id into PgBackendStatus. */ pgstat_report_blocksid(proc->waitLockThrd, proc->blockProcLock->tag.myProc->sessionid); } @@ -2170,9 +2235,10 @@ bool enable_session_sig_alarm(int delayms) struct itimerval timeval; errno_t rc = EOK; - /* Session timer only work when app connect coordinator ,not work for inner conncection. */ - if (!((IS_PGXC_COORDINATOR || IS_SINGLE_NODE) && IsConnFromApp())) + /* Session timer only work when connect form app, not work for inner conncection. */ + if (!IsConnFromApp() || IS_THREAD_POOL_STREAM) { return true; + } /* disable session timeout */ if (u_sess->attr.attr_common.SessionTimeout == 0 && IS_SINGLE_NODE) { return true; @@ -2187,7 +2253,15 @@ bool enable_session_sig_alarm(int delayms) fin_time = TimestampTzPlusMilliseconds(fin_time, delay_time_ms); u_sess->storage_cxt.session_fin_time = fin_time; - if (IS_THREAD_POOL_WORKER) { + /* + * threadpool session status must be UNINIT,ATTACH,DEATCH... + * KNL_SESS_FAKE only use in thread preinit + * if a new session is UNINIT + * if attached, t_thrd is valid. + * if not attach, t_thrd is invalid + * so we user USESS_STATUS to check again + * */ + if (IS_THREAD_POOL_WORKER || u_sess->status != KNL_SESS_FAKE) { return true; } /* Now we set the timer to interrupt. */ @@ -2208,9 +2282,10 @@ bool disable_session_sig_alarm(void) u_sess->storage_cxt.session_timeout_active = false; return true; } - /* Session timer only work when app connect coordinator ,not work for inner conncection. */ - if (!((IS_PGXC_COORDINATOR || IS_SINGLE_NODE) && IsConnFromApp())) + /* Session timer only work when connect from app, not work for inner conncection. */ + if (!IsConnFromApp()) { return true; + } /* already disable */ if (!u_sess->attr.attr_common.SessionTimeout && \ @@ -2221,7 +2296,6 @@ bool disable_session_sig_alarm(void) */ ereport(LOG, (errmsg("reset handle xmin."))); #endif - return true; return true; } /* diff --git a/src/gausskernel/storage/lmgr/s_lock.cpp b/src/gausskernel/storage/lmgr/s_lock.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/mot/core/src/infra/config/props_config_file_loader.h b/src/gausskernel/storage/mot/core/src/infra/config/props_config_file_loader.h old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/mot/core/src/infra/config/typed_config_value.cpp b/src/gausskernel/storage/mot/core/src/infra/config/typed_config_value.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/mot/core/src/infra/containers/concurrent_map.h b/src/gausskernel/storage/mot/core/src/infra/containers/concurrent_map.h old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/mot/core/src/infra/containers/mot_map.h b/src/gausskernel/storage/mot/core/src/infra/containers/mot_map.h old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/mot/core/src/infra/containers/mot_set.h b/src/gausskernel/storage/mot/core/src/infra/containers/mot_set.h old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/mot/core/src/infra/containers/mot_string.cpp b/src/gausskernel/storage/mot/core/src/infra/containers/mot_string.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/mot/core/src/infra/infra.cpp b/src/gausskernel/storage/mot/core/src/infra/infra.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/mot/core/src/infra/infra.h b/src/gausskernel/storage/mot/core/src/infra/infra.h old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/mot/core/src/infra/stats/boolean_statistic_variable.cpp b/src/gausskernel/storage/mot/core/src/infra/stats/boolean_statistic_variable.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/mot/core/src/infra/stats/boolean_statistic_variable.h b/src/gausskernel/storage/mot/core/src/infra/stats/boolean_statistic_variable.h old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/mot/core/src/infra/stats/discrete_statistic_variable.h b/src/gausskernel/storage/mot/core/src/infra/stats/discrete_statistic_variable.h deleted file mode 100755 index 8ab651c16..000000000 --- a/src/gausskernel/storage/mot/core/src/infra/stats/discrete_statistic_variable.h +++ /dev/null @@ -1,215 +0,0 @@ -/* - * Copyright (c) 2020 Huawei Technologies Co.,Ltd. - * - * openGauss is licensed under Mulan PSL v2. - * You can use this software according to the terms and conditions of the Mulan PSL v2. - * You may obtain a copy of Mulan PSL v2 at: - * - * http://license.coscl.org.cn/MulanPSL2 - * - * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, - * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, - * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. - * See the Mulan PSL v2 for more details. - * ------------------------------------------------------------------------- - * - * discrete_statistic_variable.h - * A statistic variable used to collect statistics for a discrete value. - * - * IDENTIFICATION - * src/gausskernel/storage/mot/core/src/infra/stats/discrete_statistic_variable.h - * - * ------------------------------------------------------------------------- - */ - -#ifndef DISCRETE_STATISTIC_VARIABLE_H -#define DISCRETE_STATISTIC_VARIABLE_H - -#include "statistic_variable.h" -#include "mot_string.h" - -#include - -namespace MOT { -/** - * @class DiscreteStatisticVariable - * @tparam ItemCount The number of items in the discrete value. - * @brief A statistic variable used to collect statistics for a discrete value. In particular the - * occurrence percentage of each value in the range [0, ItemCount) is computed. - */ -template -class DiscreteStatisticVariable : public StatisticVariable { -public: - /** - * @brief COnstructor. - * @param name The statistic variable name. - */ - DiscreteStatisticVariable(const char* name) : StatisticVariable(name) - { - for (uint32_t i = 0; i < ItemCount; ++i) { - m_sum[i] = 0; - m_percentage[i] = 0.0f; - MOT_SNPRINTF(m_names[i], STAT_VAR_MAX_NAME_LEN, "%u", i); - } - } - - /** @brief Destructor. */ - virtual ~DiscreteStatisticVariable() - {} - - /** - * @brief Summarizes statistics for printing. - * @param updateTstamp Specifies whether to update last time stamp (only for statistic - * variables that provide time-based statistics, such as rate, frequency and level). - */ - virtual void Summarize(bool updateTstamp) - { - (void)updateTstamp; - for (uint32_t i = 0; i < ItemCount; ++i) { - m_countSaved = m_count; - m_percentage[i] = ((double)m_sum[i]) / ((double)m_countSaved); - } - } - - /** - * @brief Prints statistics to log file using the given log level. - * @param logLevel The log level to use. - */ - virtual void Print(LogLevel logLevel) const - { - const unsigned int bufferSize = 256; - mot_stirng str; - char buf[bufferSize]; - MOT_SNPRINTF(buf, bufferSize, "%-20s ", LOGGER_FULL_NAME); - str.append("%-20s %s={ samples: ", LOGGER_FULL_NAME, _name, m_countSaved); - for (uint32_t i = 0; i < ItemCount; ++i) { - if (m_sum[i] > 0) { - str.append(", %s: %" PRIu64 " (%0.4f%%)", m_names[i], m_sum[i], m_percentage[i] * 100.0f); - } - } - str.append(" }"); - MOTLog(logLevel, LOGGER_FULL_NAME, str.c_str()); - } - - /** - * @brief Copies statistics from another object into this object. - * @param rhs The right-hand-side object to copy from. - */ - virtual void Assign(const StatisticVariable& rhs) - { - const DiscreteStatisticVariable& disRhs = static_cast(rhs); - m_count = disRhs.m_count; - for (uint32_t i = 0; i < ItemCount; ++i) { - m_sum[i] = disRhs.m_sum[i]; - } - } - - /** - * @brief Adds statistics of another object to this object. - * @param rhs The right-hand-side object to add from. - */ - virtual void Add(const StatisticVariable& rhs) - { - const DiscreteStatisticVariable& disRhs = static_cast(rhs); - m_count += disRhs.m_count; - for (uint32_t i = 0; i < ItemCount; ++i) { - m_sum[i] += disRhs.m_sum[i]; - } - } - - /** - * @brief Subtracts statistics of another object from this object. - * @param rhs The right-hand-side subtrahend object. - */ - virtual void Subtract(const StatisticVariable& rhs) - { - const DiscreteStatisticVariable& disRhs = static_cast(rhs); - m_count -= disRhs.m_count; - for (uint32_t i = 0; i < ItemCount; ++i) { - m_sum[i] -= disRhs.m_sum[i]; - } - } - - /** - * @brief Divides the statistics of this object by a given factor. - * @param factor The division factor. - */ - virtual void Divide(uint32_t factor) - { - if (factor > 0) { - m_count /= factor; - for (uint32_t i = 0; i < ItemCount; ++i) { - m_sum[i] /= factor; - } - } - } - - /** - * @brief Resets all statistic values to zero. - */ - virtual void Reset() - { - m_count = 0; - for (uint32_t i = 0; i < ItemCount; ++i) { - m_sum[i] = 0; - } - } - - /** - * @brief Adds a sample. - * @param item_id The item identifier. Must be in the range []0, ItemCount). - */ - inline void AddSample(uint32_t item_id) - { - MOT_ASSERT(item_id < ItemCount); - ++m_sum[item_id]; - ++m_count; - } - - /** - * @brief Retrieves the sample count for an item. - * @param item_id The item identifier. - * @return The sample count. - */ - inline uint64_t getItemSampleCount(uint32_t item_id) const - { - return m_sum[item_id]; - } - - /** - * @brief Retrieves the last seen occurrence percentage of an item. - * @param item_id The item identifier. - * @return The occurrence percentage. - */ - inline double getPercentage(uint32_t item_id) const - { - return m_percentage[item_id]; - } - -protected: - /** - * @brief Sets the name of an item. - * @param item_id The item identifier. - * @param name The item name. - */ - inline void setName(uint32_t item_id, const char* name) - { - MOT_SNPRINTF(m_names[item_id], STAT_VAR_MAX_NAME_LEN, "%s", name); - } - -private: - /** @var Number of times each discrete value was reported. */ - uint64_t m_sum[ItemCount]; - - /** @var Last computed percentage of each discrete value. */ - double m_percentage[ItemCount]; - - /** @var Last seen sample count. */ - uint64_t m_countSaved; - - /** @var Discrete value names. */ - char m_names[ItemCount][STAT_VAR_MAX_NAME_LEN]; -}; -} // namespace MOT - -#endif /* DISCRETE_STATISTIC_VARIABLE_H */ diff --git a/src/gausskernel/storage/mot/core/src/infra/stats/enumerated_statistic_variable.h b/src/gausskernel/storage/mot/core/src/infra/stats/enumerated_statistic_variable.h deleted file mode 100755 index 84dd08641..000000000 --- a/src/gausskernel/storage/mot/core/src/infra/stats/enumerated_statistic_variable.h +++ /dev/null @@ -1,93 +0,0 @@ -/* - * Copyright (c) 2020 Huawei Technologies Co.,Ltd. - * - * openGauss is licensed under Mulan PSL v2. - * You can use this software according to the terms and conditions of the Mulan PSL v2. - * You may obtain a copy of Mulan PSL v2 at: - * - * http://license.coscl.org.cn/MulanPSL2 - * - * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, - * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, - * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. - * See the Mulan PSL v2 for more details. - * ------------------------------------------------------------------------- - * - * enumerated_statistic_variable.h - * A statistic variable used to collect statistics for an enumerated value. - * - * IDENTIFICATION - * src/gausskernel/storage/mot/core/src/infra/stats/enumerated_statistic_variable.h - * - * ------------------------------------------------------------------------- - */ - -#ifndef ENUMERATED_STATISTIC_VARIABLE_H -#define ENUMERATED_STATISTIC_VARIABLE_H - -#include "discrete_statistic_variable.h" -#include "type_formatter.h" - -namespace MOT { -/** - * @class EnumeratedStatisticVariable - * @tparam EnumType The enumeration type. The enumeration must contain a special member ITEM_COUNT, - * which specifies the number of items (in the semi-closed range [0, ItemCount)) used by the - * enumeration. - * @tparam ItemCount The number of items in the enumeration type. - * @brief A statistic variable used to collect statistics for an enumerated value. In particular the - * occurrence percentage of each enumeration value in the type EnumType is computed. - */ -template -class EnumeratedStatisticVariable : public DiscreteStatisticVariable { -public: - /** @typedef The base class. */ - typedef DiscreteStatisticVariable BaseType; - - /** - * @brief Constructor. - * @param name The statistic variable name. - */ - EnumeratedStatisticVariable(const char* name) : BaseType(name) - { - for (uint32_t i = 0; i < ItemCount; ++i) { - BaseType::setName(i, TypeFormatter::ToString((EnumType)i)); - } - } - - /** @brief Destructor. */ - virtual ~EnumeratedStatisticVariable() - {} - - /** - * @brief Adds a sample. - * @param enum_id The enumeration value for which a sample is added. - */ - inline void AddSample(EnumType enum_id) - { - BaseType::AddSample((uint32_t)enum_id); - } - - /** - * @brief Retrieves the sample count for an enumeration item. - * @param enum_id The enumeration value. - * @return The sample count. - */ - inline uint64_t GetItemSampleCount(EnumType enum_id) const - { - return BaseType::GetItemSampleCount((uint32_t)enum_id); - } - - /** - * @brief Retrieves the last seen occurrence percentage of an enumeration item. - * @param enum_id The enumeration value. - * @return The occurrence percentage. - */ - inline double getPercentage(EnumType enum_id) const - { - return BaseType::getPercentage((uint32_t)enum_id); - } -}; -} // namespace MOT - -#endif /* ENUMERATEDSTATISTICVARIABLE_H */ diff --git a/src/gausskernel/storage/mot/core/src/infra/stats/frequency_statistic_variable.cpp b/src/gausskernel/storage/mot/core/src/infra/stats/frequency_statistic_variable.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/mot/core/src/infra/stats/frequency_statistic_variable.h b/src/gausskernel/storage/mot/core/src/infra/stats/frequency_statistic_variable.h old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/mot/core/src/infra/stats/global_statistics.cpp b/src/gausskernel/storage/mot/core/src/infra/stats/global_statistics.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/mot/core/src/infra/stats/global_statistics.h b/src/gausskernel/storage/mot/core/src/infra/stats/global_statistics.h old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/mot/core/src/infra/stats/level_statistic_variable.cpp b/src/gausskernel/storage/mot/core/src/infra/stats/level_statistic_variable.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/mot/core/src/memory/object_pool.h b/src/gausskernel/storage/mot/core/src/memory/object_pool.h index ed2e39e1a..a0696786c 100644 --- a/src/gausskernel/storage/mot/core/src/memory/object_pool.h +++ b/src/gausskernel/storage/mot/core/src/memory/object_pool.h @@ -136,7 +136,7 @@ typedef struct PACKED __ThreadAOP { class GlobalObjPool : public ObjAllocInterface { public: - ThreadAOP m_threadAOP[MAX_THR_NUM]; + ThreadAOP m_threadAOP[MAX_THREAD_COUNT]; GlobalObjPool(uint16_t sz, uint8_t align) : ObjAllocInterface(true) { @@ -145,7 +145,8 @@ public: m_size = ALIGN_N(sz + OBJ_INDEX_SIZE, align); m_oixOffset = m_size - 1; m_type = ObjAllocInterface::CalcBufferClass(sz); - errno_t erc = memset_s(m_threadAOP, MAX_THR_NUM * sizeof(ThreadAOP), 0, MAX_THR_NUM * sizeof(ThreadAOP)); + errno_t erc = memset_s( + m_threadAOP, MAX_THREAD_COUNT * sizeof(ThreadAOP), 0, MAX_THREAD_COUNT * sizeof(ThreadAOP)); securec_check(erc, "\0", "\0"); }; diff --git a/src/gausskernel/storage/mot/core/src/memory/object_pool_impl.h b/src/gausskernel/storage/mot/core/src/memory/object_pool_impl.h index d34891251..d068fe48f 100644 --- a/src/gausskernel/storage/mot/core/src/memory/object_pool_impl.h +++ b/src/gausskernel/storage/mot/core/src/memory/object_pool_impl.h @@ -45,7 +45,6 @@ #include "spin_lock.h" namespace MOT { -#define MAX_THR_NUM 4096 #define INITIAL_NUM_OBJPOOL 1 #define NUM_OBJS (uint8_t)(255) #define NOT_VALID (uint8_t)(-1) diff --git a/src/gausskernel/storage/mot/core/src/storage/table.cpp b/src/gausskernel/storage/mot/core/src/storage/table.cpp index 01114fb24..8e8b789cb 100644 --- a/src/gausskernel/storage/mot/core/src/storage/table.cpp +++ b/src/gausskernel/storage/mot/core/src/storage/table.cpp @@ -833,7 +833,7 @@ char* Table::SerializeItem(char* dataOut, Column* column) return dataOut; } -char* Table::DesrializeMeta(char* dataIn, CommonColumnMeta& meta) +char* Table::DeserializeMeta(char* dataIn, CommonColumnMeta& meta) { dataIn = SerializableARR::Deserialize(dataIn, meta.m_name); dataIn = SerializablePOD::Deserialize(dataIn, meta.m_size); @@ -928,7 +928,7 @@ RC Table::RemoveSecondaryIndex(MOT::Index* index, TxnManager* txn) return res; } -char* Table::DesrializeMeta(char* dataIn, CommonIndexMeta& meta) +char* Table::DeserializeMeta(char* dataIn, CommonIndexMeta& meta) { uint32_t order, method, constr; dataIn = SerializableSTR::Deserialize(dataIn, meta.m_name); @@ -1109,7 +1109,7 @@ void Table::Deserialize(const char* in) /* deserialize the columns */ CommonColumnMeta col; for (uint32_t i = 0; i < saveFieldCount; i++) { - dataIn = DesrializeMeta(dataIn, col); + dataIn = DeserializeMeta(dataIn, col); if (AddColumn(col.m_name, col.m_size, col.m_type, col.m_isNotNull) != RC_OK) { MOT_LOG_ERROR("Table::deserialize - failed to add column %u", i); return; @@ -1121,21 +1121,23 @@ void Table::Deserialize(const char* in) return; } - CommonIndexMeta idx; - /* primary key */ - dataIn = DesrializeMeta(dataIn, idx); - if (CreateIndexFromMeta(idx, true, MOTCurrThreadId) != RC_OK) { - MOT_LOG_ERROR("Table::deserialize - failed to create primary index"); - return; - } - - /* secondaries */ - for (uint16_t i = 2; i <= savedNumIndexes; i++) { - dataIn = DesrializeMeta(dataIn, idx); - if (CreateIndexFromMeta(idx, false, MOTCurrThreadId) != RC_OK) { - MOT_LOG_ERROR("Table::deserialize - failed to create secondary index [%u]", (i - 2)); + if (savedNumIndexes > 0) { + CommonIndexMeta idx; + /* primary key */ + dataIn = DeserializeMeta(dataIn, idx); + if (CreateIndexFromMeta(idx, true, MOTCurrThreadId) != RC_OK) { + MOT_LOG_ERROR("Table::deserialize - failed to create primary index"); return; } + + /* secondaries */ + for (uint16_t i = 2; i <= savedNumIndexes; i++) { + dataIn = DeserializeMeta(dataIn, idx); + if (CreateIndexFromMeta(idx, false, MOTCurrThreadId) != RC_OK) { + MOT_LOG_ERROR("Table::deserialize - failed to create secondary index [%u]", (i - 2)); + return; + } + } } MOT_ASSERT(m_numIndexes == savedNumIndexes); SetDeserialized(true); @@ -1215,4 +1217,52 @@ void Table::DeserializeNameAndIds(const char* data, uint32_t& intId, uint64_t& e dataIn = SerializablePOD::Deserialize(dataIn, extId); } +size_t Table::SerializeRedoSize() +{ + size_t colsSize = 0; + for (uint32_t i = 0; i < m_fieldCnt; i++) { + colsSize += SerializeItemSize(m_columns[i]); + } + + /* + * This method is just for serializing the table meta data for CreateTable Redo, without any indexes. + * For all the indexes (including primary index), there will be separate redo entry. So we serialize with number of + * indexes as 0. + */ + uint16_t numIndexes = 0; + + size_t ret = + SerializableSTR::SerializeSize(m_tableName) + SerializableSTR::SerializeSize(m_longTableName) + + SerializablePOD::SerializeSize(numIndexes) + SerializablePOD::SerializeSize(m_tableId) + + SerializablePOD::SerializeSize(m_tableExId) + + SerializablePOD::SerializeSize(m_fixedLengthRows) + SerializablePOD::SerializeSize(m_fieldCnt) + + SerializablePOD::SerializeSize(m_tupleSize) + SerializablePOD::SerializeSize(m_maxFields) + + colsSize; + return ret; +} + +void Table::SerializeRedo(char* dataOut) +{ + /* + * This method is just for serializing the table meta data for CreateTable Redo, without any indexes. + * For all the indexes (including primary index), there will be separate redo entry. So we serialize with number of + * indexes as 0. + */ + uint16_t numIndexes = 0; + char* savedDO = dataOut; + dataOut = SerializableSTR::Serialize(dataOut, m_tableName); + dataOut = SerializableSTR::Serialize(dataOut, m_longTableName); + dataOut = SerializablePOD::Serialize(dataOut, numIndexes); + dataOut = SerializablePOD::Serialize(dataOut, m_tableId); + dataOut = SerializablePOD::Serialize(dataOut, m_tableExId); + dataOut = SerializablePOD::Serialize(dataOut, m_fixedLengthRows); + dataOut = SerializablePOD::Serialize(dataOut, m_fieldCnt); + dataOut = SerializablePOD::Serialize(dataOut, m_tupleSize); + dataOut = SerializablePOD::Serialize(dataOut, m_maxFields); + + /* serialize the columns */ + for (uint32_t i = 0; i < m_fieldCnt; i++) { + dataOut = SerializeItem(dataOut, GetField(i)); + } +} } // namespace MOT diff --git a/src/gausskernel/storage/mot/core/src/storage/table.h b/src/gausskernel/storage/mot/core/src/storage/table.h index ca69a6edb..8e7dae8cc 100644 --- a/src/gausskernel/storage/mot/core/src/storage/table.h +++ b/src/gausskernel/storage/mot/core/src/storage/table.h @@ -1003,7 +1003,7 @@ public: * @param meta the metadata struct to fill. * @return Char* the buffer pointer. */ - char* DesrializeMeta(char* dataIn, CommonColumnMeta& meta); + char* DeserializeMeta(char* dataIn, CommonColumnMeta& meta); /** * @brief returns the serialized size of an index @@ -1026,7 +1026,7 @@ public: * @param meta the metadata struct to fill. * @return Char* the buffer pointer. */ - char* DesrializeMeta(char* dataIn, CommonIndexMeta& meta); + char* DeserializeMeta(char* dataIn, CommonIndexMeta& meta); /** * @brief creates and index from a metadata struct @@ -1066,6 +1066,19 @@ public: */ static void DeserializeNameAndIds( const char* dataIn, uint32_t& intId, uint64_t& extId, string& name, string& longName); + + /** + * @brief Gets the serialized size of a table excluding the indexes. + * @return Serialized size. + */ + size_t SerializeRedoSize(); + + /** + * @brief Serializes a table into a buffer for redo. + * Indexes are excluded, i.e., m_numIndexes will be 0. + * @param dataOut The output buffer + */ + void SerializeRedo(char* dataOut); }; /** @typedef internal table identifier. */ diff --git a/src/gausskernel/storage/mot/core/src/system/checkpoint/checkpoint_manager.cpp b/src/gausskernel/storage/mot/core/src/system/checkpoint/checkpoint_manager.cpp index 8d8b9e06b..526a53572 100644 --- a/src/gausskernel/storage/mot/core/src/system/checkpoint/checkpoint_manager.cpp +++ b/src/gausskernel/storage/mot/core/src/system/checkpoint/checkpoint_manager.cpp @@ -822,12 +822,14 @@ bool CheckpointManager::CreateTpcRecoveryFile() // checkpoint. It prevents gs_clean removing entries from the in-process map // while they are serialized MOTEngine::GetInstance()->GetInProcessTransactions().Lock(); + CheckpointUtils::TpcFileHeader tpcFileHeader; tpcFileHeader.m_magic = CP_MGR_MAGIC; tpcFileHeader.m_numEntries = MOTEngine::GetInstance()->GetInProcessTransactions().GetNumTxns(); size_t wrStat = CheckpointUtils::WriteFile(fd, (char*)&tpcFileHeader, sizeof(CheckpointUtils::TpcFileHeader)); if (wrStat != sizeof(CheckpointUtils::TpcFileHeader)) { + MOTEngine::GetInstance()->GetInProcessTransactions().Unlock(); MOT_LOG_ERROR("create2PCRecoveryFile: failed to write 2pc file's header (%d) [%d %s]", wrStat, errno, @@ -836,22 +838,26 @@ bool CheckpointManager::CreateTpcRecoveryFile() } if (tpcFileHeader.m_numEntries > 0 && SerializeInProcessTxns(fd) != RC_OK) { + MOTEngine::GetInstance()->GetInProcessTransactions().Unlock(); MOT_LOG_ERROR("create2PCRecoveryFile: failed to serialize transactions [%d %s]", errno, gs_strerror(errno)); break; } if (CheckpointUtils::FlushFile(fd)) { + MOTEngine::GetInstance()->GetInProcessTransactions().Unlock(); MOT_LOG_ERROR("create2PCRecoveryFile: failed to flush map file"); break; } if (CheckpointUtils::CloseFile(fd)) { + MOTEngine::GetInstance()->GetInProcessTransactions().Unlock(); MOT_LOG_ERROR("create2PCRecoveryFile: failed to close map file"); break; } + + MOTEngine::GetInstance()->GetInProcessTransactions().Unlock(); ret = true; } while (0); - MOTEngine::GetInstance()->GetInProcessTransactions().Unlock(); return ret; } @@ -928,7 +934,7 @@ RC CheckpointManager::SerializeInProcessTxns(int fd) return RC_OK; }; - return MOTEngine::GetInstance()->GetInProcessTransactions().ForEachTransaction(serializeLambda, false); + return MOTEngine::GetInstance()->GetInProcessTransactions().ForEachTransactionNoLock(serializeLambda); } bool CheckpointManager::CreateEndFile() diff --git a/src/gausskernel/storage/mot/core/src/system/mot_engine.h b/src/gausskernel/storage/mot/core/src/system/mot_engine.h index c73148a92..108f96321 100644 --- a/src/gausskernel/storage/mot/core/src/system/mot_engine.h +++ b/src/gausskernel/storage/mot/core/src/system/mot_engine.h @@ -361,18 +361,6 @@ public: return status; } - inline bool IsInProcessTx(uint64_t id) - { - uint64_t intId; - return m_inProcessTransactions.FindTransactionId(id, intId, false); - } - - inline uint64_t PerformInProcessTx(uint64_t id, bool isCommit) - { - MOT_ASSERT(m_recoveryManager); - return m_recoveryManager->PerformInProcessTx(id, isCommit); - } - bool IsRecovering() const { return m_recovering; diff --git a/src/gausskernel/storage/mot/core/src/system/recovery/checkpoint_recovery.cpp b/src/gausskernel/storage/mot/core/src/system/recovery/checkpoint_recovery.cpp index 48cfcb583..e4739029f 100644 --- a/src/gausskernel/storage/mot/core/src/system/recovery/checkpoint_recovery.cpp +++ b/src/gausskernel/storage/mot/core/src/system/recovery/checkpoint_recovery.cpp @@ -669,7 +669,7 @@ bool CheckpointRecovery::DeserializeInProcessTxns(int fd, uint64_t numEntries) break; } - if (header.m_magic != CP_MGR_MAGIC || header.m_len > REDO_DEFAULT_BUFFER_SIZE) { + if (header.m_magic != CP_MGR_MAGIC || header.m_len > RedoLogBuffer::REDO_DEFAULT_BUFFER_SIZE) { MOT_LOG_ERROR("DeserializeInProcessTxns: bad entry %lu - %lu", header.m_magic, header.m_len); break; } diff --git a/src/gausskernel/storage/mot/core/src/system/recovery/inprocess_transactions.cpp b/src/gausskernel/storage/mot/core/src/system/recovery/inprocess_transactions.cpp index 977cda33b..8913ad96c 100644 --- a/src/gausskernel/storage/mot/core/src/system/recovery/inprocess_transactions.cpp +++ b/src/gausskernel/storage/mot/core/src/system/recovery/inprocess_transactions.cpp @@ -29,20 +29,15 @@ DECLARE_LOGGER(RecoveryManager, InProcessTransactions); InProcessTransactions::~InProcessTransactions() { - if (m_numEntries) { - auto destroyLambda = [](RedoLogTransactionSegments* s, uint64_t) -> RC { - delete s; - return RC_OK; - }; - - ForEachTransaction(destroyLambda, true); - } + Clear(); } bool InProcessTransactions::InsertLogSegment(LogSegment* segment) { uint64_t transactionId = segment->m_controlBlock.m_internalTransactionId; RedoLogTransactionSegments* transactionLogEntries = nullptr; + + const std::lock_guard lock(m_lock); auto it = m_map.find(transactionId); if (it == m_map.end()) { // this is a new transaction. Not found in the map. @@ -70,15 +65,13 @@ bool InProcessTransactions::InsertLogSegment(LogSegment* segment) return true; } -bool InProcessTransactions::FindTransactionId(uint64_t externalId, uint64_t& internalId, bool pop) +bool InProcessTransactions::FindTransactionId(uint64_t externalId, uint64_t& internalId) { internalId = 0; + const std::lock_guard lock(m_lock); auto it = m_extToInt.find(externalId); if (it != m_extToInt.end()) { internalId = it->second; - if (pop) { - m_extToInt.erase(it); - } return true; } return false; diff --git a/src/gausskernel/storage/mot/core/src/system/recovery/inprocess_transactions.h b/src/gausskernel/storage/mot/core/src/system/recovery/inprocess_transactions.h index 2d772cb6a..ec492a604 100644 --- a/src/gausskernel/storage/mot/core/src/system/recovery/inprocess_transactions.h +++ b/src/gausskernel/storage/mot/core/src/system/recovery/inprocess_transactions.h @@ -40,23 +40,39 @@ public: bool InsertLogSegment(LogSegment* segment); - bool FindTransactionId(uint64_t externalId, uint64_t& internalId, bool pop = true); + bool FindTransactionId(uint64_t externalId, uint64_t& internalId); template - RC ForUniqueTransaction(uint64_t id, const T& func) + RC ForUniqueTransaction(uint64_t internalId, uint64_t externalId, const T& func) { - return OperateOnTransactionsMap(id, func, true, true); + const std::lock_guard lock(m_lock); + auto it = m_map.find(internalId); + if (it != m_map.end()) { + RedoLogTransactionSegments* segments = it->second; + RC status = func(segments, it->first); + m_map.erase(it); + m_extToInt.erase(externalId); + m_numEntries--; + delete segments; + return status; + } + return RC_ERROR; } + /* Attention: Caller's should acquire the lock by calling Lock() method, before calling this method. */ template - RC ForEachTransaction(const T& func, bool pop) + RC ForEachTransactionNoLock(const T& func) { - return OperateOnTransactionsMap(0, func, pop, false); - } - - bool IsInProcessTx(uint64_t id) - { - return (m_extToInt.find(id) != m_extToInt.end()); + auto it = m_map.begin(); + while (it != m_map.end()) { + RedoLogTransactionSegments* segments = it->second; + RC status = func(segments, it->first); + if (status != RC_OK) { + return status; + } + ++it; + } + return RC_OK; } void Lock() @@ -69,59 +85,35 @@ public: m_lock.unlock(); } - void UpdateTxIdMap(uint64_t intTx, uint64_t extTx) + uint64_t GetNumTxns() const { - m_extToInt[extTx] = intTx; + return m_numEntries; } - size_t GetNumTxns() const + void Clear() { - return m_map.size(); + const std::lock_guard lock(m_lock); + if (m_numEntries > 0) { + auto it = m_map.begin(); + while (it != m_map.end()) { + RedoLogTransactionSegments* segments = it->second; + delete segments; + ++it; + } + m_map.clear(); + m_extToInt.clear(); + m_numEntries = 0; + } } private: - template - RC OperateOnTransactionsMap(uint64_t id, const T& func, bool pop, bool lock) - { - RC status = RC_OK; - if (lock) { - m_lock.lock(); - } - auto it = id ? m_map.find(id) : m_map.begin(); - while (it != m_map.end()) { - RedoLogTransactionSegments* segments = it->second; - if (pop) { - m_map.erase(it); - m_numEntries--; - } - if (lock) { - m_lock.unlock(); - } - status = func(segments, it->first); - if (pop) { - delete segments; - } - if (id || status != RC_OK) { - return status; - } else { - ++it; - } - if (lock) { - m_lock.lock(); - } - } - if (lock) { - m_lock.unlock(); - } - return RC_OK; - } std::mutex m_lock; std::map m_map; std::map m_extToInt; - uint64_t m_numEntries; + volatile uint64_t m_numEntries; }; } // namespace MOT diff --git a/src/gausskernel/storage/mot/core/src/system/recovery/irecovery_manager.h b/src/gausskernel/storage/mot/core/src/system/recovery/irecovery_manager.h index 4b9dc783e..d01251278 100644 --- a/src/gausskernel/storage/mot/core/src/system/recovery/irecovery_manager.h +++ b/src/gausskernel/storage/mot/core/src/system/recovery/irecovery_manager.h @@ -82,22 +82,6 @@ public: */ virtual bool CommitRecoveredTransaction(uint64_t externalTransactionId) = 0; - /** - * @brief performs a commit or abort on an in-process transaction - * @param id the transaction id. - * @param isCommit specifies commit or abort. - * @return Int indicates the internal transaction id or 0 in case - * the transaction id was not found - */ - virtual uint64_t PerformInProcessTx(uint64_t id, bool isCommit) = 0; - - /** - * @brief applies a failed 2pc transaction according to its type. - * a detailed info is described in the function's implementation. - * @param internalTransactionId the transaction id to apply - * @return RC value denoting the operation's status - */ - virtual RC ApplyInProcessTransaction(uint64_t internalTransactionId) = 0; virtual void SetLastReplayLsn(uint64_t lastReplayLsn) = 0; virtual uint64_t GetLastReplayLsn() const = 0; diff --git a/src/gausskernel/storage/mot/core/src/system/recovery/recovery_manager.cpp b/src/gausskernel/storage/mot/core/src/system/recovery/recovery_manager.cpp index df0237e6c..607e0e8c5 100644 --- a/src/gausskernel/storage/mot/core/src/system/recovery/recovery_manager.cpp +++ b/src/gausskernel/storage/mot/core/src/system/recovery/recovery_manager.cpp @@ -95,9 +95,10 @@ bool RecoveryManager::RecoverDbStart() bool RecoveryManager::RecoverDbEnd() { - if (ApplyInProcessTransactions() != RC_OK) { - MOT_LOG_ERROR("applyInProcessTransactions failed!"); - return false; + if (MOTEngine::GetInstance()->GetInProcessTransactions().GetNumTxns() != 0) { + MOT_LOG_ERROR("MOT recovery: There are uncommitted or incomplete transactions, " + "ignoring and clearing those log segments."); + MOTEngine::GetInstance()->GetInProcessTransactions().Clear(); } if (m_sState.IsEmpty() == false) { @@ -109,6 +110,7 @@ bool RecoveryManager::RecoverDbEnd() // merge and apply all SurrogateState maps SurrogateState::Merge(m_surrogateList, m_surrogateState); + m_surrogateList.clear(); ApplySurrogate(); if (m_enableLogStats && m_logStats != nullptr) { @@ -212,8 +214,7 @@ bool RecoveryManager::ApplyLogSegmentFromData(char* data, size_t len, uint64_t r bool RecoveryManager::CommitRecoveredTransaction(uint64_t externalTransactionId) { uint64_t internalId = 0; - if (MOTEngine::GetInstance()->GetInProcessTransactions().FindTransactionId( - externalTransactionId, internalId, false)) { + if (MOTEngine::GetInstance()->GetInProcessTransactions().FindTransactionId(externalTransactionId, internalId)) { return OperateOnRecoveredTransaction(internalId, externalTransactionId, RecoveryOps::RecoveryOpState::COMMIT); } return true; @@ -240,7 +241,7 @@ bool RecoveryManager::OperateOnRecoveredTransaction( }; status = MOTEngine::GetInstance()->GetInProcessTransactions().ForUniqueTransaction( - internalTransactionId, operateLambda); + internalTransactionId, externalTransactionId, operateLambda); } if (status != RC_OK) { MOT_LOG_ERROR("OperateOnRecoveredTransaction: wal recovery failed"); @@ -253,7 +254,6 @@ RC RecoveryManager::RedoSegment( LogSegment* segment, uint64_t csn, uint64_t transactionId, RecoveryOps::RecoveryOpState rState) { RC status = RC_OK; - bool is2pcRecovery = !MOTEngine::GetInstance()->IsRecovering(); uint8_t* endPosition = (uint8_t*)(segment->m_data + segment->m_len); uint8_t* operationData = (uint8_t*)(segment->m_data); bool txnStarted = false; @@ -278,29 +278,23 @@ RC RecoveryManager::RedoSegment( txnStarted = true; } - if (!is2pcRecovery) { - operationData += RecoveryOps::RecoverLogOperation( - MOTCurrTxn, operationData, csn, transactionId, MOTCurrThreadId, m_sState, status, wasCommit); - // check operation result status - if (status != RC_OK) { - MOT_REPORT_ERROR(MOT_ERROR_RESOURCE_LIMIT, "Recover Redo Segment", "Failed to recover redo segment"); - break; - } - // update transactional state - if (wasCommit) { - txnStarted = false; - } - } else { - operationData += RecoveryOps::TwoPhaseRecoverOp( - MOTCurrTxn, rState, operationData, csn, transactionId, MOTCurrThreadId, m_sState, status); - } + operationData += RecoveryOps::RecoverLogOperation( + MOTCurrTxn, operationData, csn, transactionId, MOTCurrThreadId, m_sState, status, wasCommit); + + // check operation result status if (status != RC_OK) { + MOT_REPORT_ERROR(MOT_ERROR_RESOURCE_LIMIT, "Recover Redo Segment", "Failed to recover redo segment"); break; } + + // update transactional state + if (wasCommit) { + txnStarted = false; + } } // single threaded, no need for locking or CAS - if (!is2pcRecovery && csn > m_maxRecoveredCsn) { + if (csn > m_maxRecoveredCsn) { m_maxRecoveredCsn = csn; } if (status != RC_OK) { @@ -380,97 +374,6 @@ void RecoveryManager::ApplySurrogate() } } -// in-process (2pc) transactions recovery -RC RecoveryManager::ApplyInProcessTransactions() -{ - auto applyLambda = [this](RedoLogTransactionSegments* segments, uint64_t id) -> RC { - RC status = RC_OK; - LogSegment* segment = segments->GetSegment(segments->GetCount() - 1); - uint64_t csn = segment->m_controlBlock.m_csn; - MOT_LOG_INFO("applyInProcessTransactions: tx %lu is %u", - segment->m_controlBlock.m_externalTransactionId, - segment->m_controlBlock.m_opCode); - if (segment->IsTwoPhase()) { - for (uint32_t i = 0; i < segments->GetCount(); i++) { - segment = segments->GetSegment(i); - status = ApplyInProcessSegment(segment, csn, id); - if (status != RC_OK) { - MOT_LOG_ERROR( - "applyInProcessTransactions: an error occured while applying in-process transactions"); - return status; - } - } - } else { - MOT_LOG_ERROR("applyInProcessTransactions: tx %lu is not two-phase commit. ignore", - segment->m_controlBlock.m_externalTransactionId); - } - return status; - }; - - return MOTEngine::GetInstance()->GetInProcessTransactions().ForEachTransaction(applyLambda, false); -} - -RC RecoveryManager::ApplyInProcessTransaction(uint64_t internalTransactionId) -{ - auto applyLambda = [this](RedoLogTransactionSegments* segments, uint64_t id) -> RC { - RC status = RC_OK; - LogSegment* segment = segments->GetSegment(segments->GetCount() - 1); - uint64_t csn = segment->m_controlBlock.m_csn; - if (segment->IsTwoPhase()) { - for (uint32_t i = 0; i < segments->GetCount(); i++) { - segment = segments->GetSegment(i); - status = ApplyInProcessSegment(segment, csn, id); - if (status != RC_OK) { - MOT_LOG_ERROR("applyInProcessTransaction: an error occured while applying in-process transactions"); - return status; - } - } - } else { - MOT_LOG_ERROR("applyInProcessTransaction: tx %lu is not two-phase commit. ignore", - segment->m_controlBlock.m_externalTransactionId); - } - return status; - }; - - return MOTEngine::GetInstance()->GetInProcessTransactions().ForUniqueTransaction( - internalTransactionId, applyLambda); -} - -RC RecoveryManager::ApplyInProcessSegment(LogSegment* segment, uint64_t csn, uint64_t transactionId) -{ - RC status = RC_OK; - uint8_t* endPosition = (uint8_t*)(segment->m_data + segment->m_len); - uint8_t* operationData = (uint8_t*)(segment->m_data); - while (operationData < endPosition) { - operationData += RecoveryOps::TwoPhaseRecoverOp(MOTCurrTxn, - RecoveryOps::RecoveryOpState::TPC_APPLY, - operationData, - csn, - transactionId, - MOTCurrThreadId, - m_sState, - status); - if (status != RC_OK) { - MOT_LOG_ERROR("applyInProcessSegment: failed seg %p, txnid %lu", segment, transactionId); - return status; - } - } - return status; -} - -uint64_t RecoveryManager::PerformInProcessTx(uint64_t id, bool isCommit) -{ - uint64_t internalId = 0; - if (MOTEngine::GetInstance()->GetInProcessTransactions().FindTransactionId(id, internalId, false)) { - if (OperateOnRecoveredTransaction(internalId, - INVALID_TRANSACTION_ID, - isCommit ? RecoveryOps::RecoveryOpState::TPC_COMMIT : RecoveryOps::RecoveryOpState::TPC_ABORT)) { - return internalId; - } - } - return 0; -} - bool RecoveryManager::IsMotTransactionId(LogSegment* segment) { MOT_ASSERT(segment); diff --git a/src/gausskernel/storage/mot/core/src/system/recovery/recovery_manager.h b/src/gausskernel/storage/mot/core/src/system/recovery/recovery_manager.h index d2aa433cb..642132928 100644 --- a/src/gausskernel/storage/mot/core/src/system/recovery/recovery_manager.h +++ b/src/gausskernel/storage/mot/core/src/system/recovery/recovery_manager.h @@ -126,23 +126,6 @@ public: return m_errorSet; } - /** - * @brief performs a commit or abort on an in-process transaction - * @param id the transaction id. - * @param isCommit specifies commit or abort. - * @return Int indicates the internal transaction id or 0 in case - * the transaction id was not found - */ - uint64_t PerformInProcessTx(uint64_t id, bool isCommit) override; - - /** - * @brief applies a failed 2pc transaction according to its type. - * a detailed info is described in the function's implementation. - * @param internalTransactionId the transaction id to apply - * @return RC value denoting the operation's status - */ - RC ApplyInProcessTransaction(uint64_t internalTransactionId) override; - inline void SetLastReplayLsn(uint64_t replayLsn) override { if (m_lastReplayLsn < replayLsn) { @@ -291,22 +274,6 @@ private: bool OperateOnRecoveredTransaction( uint64_t internalTransactionId, uint64_t externalTransactionId, RecoveryOps::RecoveryOpState rState); - /** - * @brief performs 'apply' on the in-process transactions map in the - * post recovery stage. - * @return RC value denoting the operation's status - */ - RC ApplyInProcessTransactions(); - - /** - * @brief performs 'apply' on a specific segment - * @param segment the log segment to appy - * @param csn the segment's csn - * @param transactionId the transaction id - * @return RC value denoting the operation's status - */ - RC ApplyInProcessSegment(LogSegment* segment, uint64_t csn, uint64_t transactionId); - /** * @brief checks if a transaction id specified in the log segment is an mot * only one. diff --git a/src/gausskernel/storage/mot/core/src/system/recovery/recovery_ops.cpp b/src/gausskernel/storage/mot/core/src/system/recovery/recovery_ops.cpp index db4192ffa..23739cef3 100644 --- a/src/gausskernel/storage/mot/core/src/system/recovery/recovery_ops.cpp +++ b/src/gausskernel/storage/mot/core/src/system/recovery/recovery_ops.cpp @@ -764,7 +764,7 @@ void RecoveryOps::CreateIndex(TxnManager* txn, char* data, uint32_t tid, RC& sta return; } - in = table->DesrializeMeta(in, idx); + in = table->DeserializeMeta(in, idx); bool primary = idx.m_indexOrder == IndexOrder::INDEX_ORDER_PRIMARY; MOT_LOG_DEBUG("createIndex: creating %s Index, %s %lu", primary ? "Primary" : "Secondary", @@ -779,8 +779,7 @@ void RecoveryOps::CreateIndex(TxnManager* txn, char* data, uint32_t tid, RC& sta externalTableId, RcToString(status), status); - } - if (status == RC_OK) { + } else { status = txn->CreateIndex(table, index, primary); if (status != RC_OK) { MOT_REPORT_ERROR(MOT_ERROR_INTERNAL, @@ -846,271 +845,6 @@ void RecoveryOps::TruncateTable(TxnManager* txn, char* data, RC& status) table->Unlock(); } -// in-process (2pc) transactions recovery -uint32_t RecoveryOps::TwoPhaseRecoverOp(TxnManager* txn, RecoveryOpState state, uint8_t* data, uint64_t csn, - uint64_t transactionId, uint32_t tid, SurrogateState& sState, RC& status) -{ - if (txn == nullptr) { - MOT_REPORT_ERROR(MOT_ERROR_INTERNAL, "%s: invalid TxnManager object", __FUNCTION__); - status = RC_ERROR; - return 0; - } - - OperationCode opCode = *static_cast((void*)data); - uint64_t tableId; - uint64_t rowLength = 0; - uint64_t exId; - uint16_t keyLength; - uint64_t rowId = 0; - uint8_t* keyData = nullptr; - uint8_t* rowData = nullptr; - - if (IsSupportedOp(opCode) == false) { - MOT_REPORT_ERROR(MOT_ERROR_INVALID_ARG, - "Recovery Manager 2PC Op", - "applyInProcessOperation: op %u is not supported!", - opCode); - status = RC_ERROR; - return 0; - } - - // DDLs - if (opCode == CREATE_TABLE) - return RecoverLogOperationCreateTable(txn, data, status, state, transactionId); - - if (opCode == DROP_TABLE) - return RecoverLogOperationDropTable(txn, data, status, state); - - if (opCode == CREATE_INDEX) - return RecoverLogOperationCreateIndex(txn, data, tid, status, state); - - if (opCode == DROP_INDEX) - return RecoverLogOperationDropIndex(txn, data, status, state); - - if (opCode == TRUNCATE_TABLE) - return RecoverLogOperationTruncateTable(txn, data, status, state); - - if (opCode == PREPARE_TX || opCode == COMMIT_PREPARED_TX) - return sizeof(EndSegmentBlock); - - // DMLs - data += sizeof(OperationCode); - Extract(data, tableId); - Extract(data, exId); - if (opCode == CREATE_ROW) - Extract(data, rowId); - Extract(data, keyLength); - keyData = ExtractPtr(data, keyLength); - if (opCode != REMOVE_ROW) { - Extract(data, rowLength); - rowData = ExtractPtr(data, rowLength); - } - - size_t ret = (opCode == REMOVE_ROW) - ? sizeof(OperationCode) + sizeof(tableId) + sizeof(exId) + sizeof(keyLength) + keyLength - : sizeof(OperationCode) + sizeof(tableId) + sizeof(exId) + sizeof(keyLength) + keyLength + - sizeof(rowLength) + rowLength; - if (opCode == CREATE_ROW) - ret += sizeof(uint64_t); // rowId - - Table* table = txn->GetTableByExternalId(exId); - if (table == nullptr) { - status = RC_ERROR; - MOT_LOG_ERROR("applyInProcessInsert: fetch table failed (id %lu)", tableId); - return ret; - } - - uint64_t tableExId = table->GetTableExId(); - if (tableExId == exId) { - Index* index = table->GetPrimaryIndex(); - Key* key = index->CreateNewKey(); - if (key == nullptr) { - MOT_REPORT_ERROR(MOT_ERROR_OOM, "Recovery Manager 2PC Op", "failed to create key"); - status = RC_ERROR; - return 0; - } - key->CpKey((const uint8_t*)keyData, keyLength); - Row* row = index->IndexRead(key, tid); - - switch (state) { - case RecoveryOpState::TPC_APPLY: - RecoverTwoPhaseApply(txn, - opCode, - tableId, - exId, - csn, - keyData, - keyLength, - rowData, - rowLength, - transactionId, - tid, - row, - rowId, - sState, - status); - break; - - case RecoveryOpState::TPC_COMMIT: - RecoverTwoPhaseCommit(table, opCode, csn, rowData, rowLength, transactionId, tid, row, status); - break; - - case RecoveryOpState::TPC_ABORT: - RecoverTwoPhaseAbort(table, opCode, csn, transactionId, tid, row, status); - break; - - default: - MOT_REPORT_ERROR(MOT_ERROR_INTERNAL, "Recovery Manager 2PC Op", "bad state"); - break; - } - index->DestroyKey(key); - } else { - status = RC_ERROR; - MOT_REPORT_ERROR(MOT_ERROR_INTERNAL, - "Recovery Manager 2PC Op", - "meta-data error for table %lu:%lu --> %p:%lu", - tableId, - exId, - table, - tableExId); - } - return ret; -} - -/* - * +-----------+-----------------+---------------+ - * | Operation | Found | Not Found | - * +-----------+-----------------+---------------+ - * | INSERT | Replace Locked | Insert locked | - * | UPDATE | Lock | ERROR | - * | DELETE | Lock | ERROR | - * +-----------+-----------------+---------------+ - */ -void RecoveryOps::RecoverTwoPhaseApply(TxnManager* txn, OperationCode opCode, uint64_t tableId, uint64_t exId, - uint64_t csn, uint8_t* keyData, uint64_t keyLength, uint8_t* rowData, uint64_t rowLength, uint64_t transactionId, - uint32_t tid, Row* row, uint64_t rowId, SurrogateState& sState, RC& status) -{ - if (row == nullptr) { - if (opCode == UPDATE_ROW || opCode == OVERWRITE_ROW || opCode == REMOVE_ROW) { - MOT_REPORT_ERROR( - MOT_ERROR_INVALID_ARG, "Recovery Manager 2PC Apply", "got op %u but row does not exist!", opCode); - } else { - MOT_LOG_DEBUG("recoverTwoPhaseApply: insert row [%lu]", transactionId); - InsertRow(txn, - tableId, - exId, - (char*)keyData, - keyLength, - (char*)rowData, - rowLength, - csn, - tid, - sState, - status, - rowId, - true); - } - } else { - row->SetTwoPhaseMode(true); // set 2pc recovery mode indication - row->m_rowHeader.TryLock(); - if (opCode == CREATE_ROW) { - MOT_LOG_DEBUG("recoverTwoPhaseApply: insert - updating row [%lu]", transactionId); - row->CopyData((const uint8_t*)rowData, rowLength); - row->SetCommitSequenceNumber(csn); - } else - MOT_LOG_DEBUG("recoverTwoPhaseApply: update / delete [%lu]", transactionId); - } -} - -/* - * +-----------+---------------------+-----------+ - * | Operation | Found | Not Found | - * +-----------+---------------------+-----------+ - * | INSERT | Unlock | ERROR | - * | UPDATE | Replace row, unlock | ERROR | - * | DELETE | Delete row | ERROR | - * +-----------+---------------------+-----------+ - */ -void RecoveryOps::RecoverTwoPhaseCommit(Table* table, OperationCode opCode, uint64_t csn, uint8_t* rowData, - uint64_t rowLength, uint64_t transactionId, uint32_t tid, Row* row, RC& status) -{ - if (row == nullptr) { - MOT_REPORT_ERROR( - MOT_ERROR_INVALID_ARG, "Recovery Manager 2PC Commit", "row does not exist! [%lu]", transactionId); - } else { - if (opCode == CREATE_ROW) { - MOT_LOG_DEBUG("recoverTwoPhaseCommit: - insert row [%lu]", transactionId); - row->GetPrimarySentinel()->TryLock(tid); - row->m_rowHeader.TryLock(); - row->SetTwoPhaseMode(false); - row->GetPrimarySentinel()->Release(); - row->m_rowHeader.Release(); - } else if (opCode == REMOVE_ROW) { - MOT_LOG_DEBUG("recoverTwoPhaseCommit: - remove row [%lu]", transactionId); - if (!table->RemoveRow(row, tid)) { - if (MOT_IS_OOM()) { - // report error if remove row failed due to OOM (what about other errors?) - MOT_REPORT_ERROR( - MOT_ERROR_OOM, "Recovery Manager 2PC Commit", "failed to remove row due to lack of memory"); - status = RC_MEMORY_ALLOCATION_ERROR; - } else { - status = RC_ERROR; - } - } - } else { - MOT_LOG_DEBUG("recoverTwoPhaseCommit: - update row [%lu]", transactionId); - row->GetPrimarySentinel()->TryLock(tid); - row->m_rowHeader.TryLock(); - row->CopyData((const uint8_t*)rowData, rowLength); - row->SetCommitSequenceNumber(csn); - if (row->IsAbsentRow()) - row->UnsetAbsentRow(); - row->SetTwoPhaseMode(false); - row->GetPrimarySentinel()->Release(); - row->m_rowHeader.Release(); - } - } -} - -/* - * +-----------+---------+-----------+ - * | Operation | Found | Not Found | - * +-----------+---------+-----------+ - * | INSERT | Del row | ignore | - * | UPDATE | unlock | ignore | - * | DELETE | unlock | ignore | - * +-----------+---------+-----------+ - */ -void RecoveryOps::RecoverTwoPhaseAbort( - Table* table, OperationCode opCode, uint64_t csn, uint64_t transactionId, uint32_t tid, Row* row, RC& status) -{ - if (row == nullptr) { - MOT_REPORT_ERROR( - MOT_ERROR_INVALID_ARG, "Recovery Manager 2PC Abort", "row does not exist! [%lu]", transactionId); - } else { - if (opCode == CREATE_ROW) { - MOT_LOG_DEBUG("recoverTwoPhaseAbort - insert row [%lu]", transactionId); - if (!table->RemoveRow(row, tid)) { - if (MOT_IS_OOM()) { - // report error if remove row failed due to OOM (what about other errors?) - MOT_REPORT_ERROR( - MOT_ERROR_OOM, "Recovery Manager 2PC Abort", "failed to remove row due to lack of memory"); - status = RC_MEMORY_ALLOCATION_ERROR; - } else { - status = RC_ERROR; - } - } - } else { - MOT_LOG_DEBUG("recoverTwoPhaseAbort - remove / update row [%lu]", transactionId); - row->GetPrimarySentinel()->TryLock(tid); - row->m_rowHeader.TryLock(); - row->SetTwoPhaseMode(false); - row->GetPrimarySentinel()->Release(); - row->m_rowHeader.Release(); - } - } -} - RC RecoveryOps::BeginTransaction(TxnManager* txn, uint64_t replayLsn) { if (txn == nullptr) { @@ -1144,25 +878,4 @@ void RecoveryOps::RollbackTransaction(TxnManager* txn) { txn->Rollback(); } - -bool RecoveryOps::IsSupportedOp(OperationCode op) -{ - switch (op) { - case CREATE_ROW: - case UPDATE_ROW: - case UPDATE_ROW_VARIABLE: - case OVERWRITE_ROW: - case REMOVE_ROW: - case PREPARE_TX: - case COMMIT_PREPARED_TX: - case CREATE_TABLE: - case DROP_TABLE: - case CREATE_INDEX: - case DROP_INDEX: - case TRUNCATE_TABLE: - return true; - default: - return false; - } -} } // namespace MOT diff --git a/src/gausskernel/storage/mot/core/src/system/recovery/recovery_ops.h b/src/gausskernel/storage/mot/core/src/system/recovery/recovery_ops.h index 75dca6aab..48931478e 100644 --- a/src/gausskernel/storage/mot/core/src/system/recovery/recovery_ops.h +++ b/src/gausskernel/storage/mot/core/src/system/recovery/recovery_ops.h @@ -97,21 +97,6 @@ public: static uint32_t RecoverLogOperation(TxnManager* txn, uint8_t* data, uint64_t csn, uint64_t transactionId, uint32_t tid, SurrogateState& sState, RC& status, bool& wasCommit); - /** - * @brief attempts to recover a 2pc operation. - * @param transaction manager object. - * @param state the state of the operation. - * @param data buffer to operate on. - * @param csn the operation's csn. - * @param transactionId the transaction's id. - * @param tid the thread id of the recovering thread. - * @param sState the returned surrugate state. - * @param status the returned status of the operation. - * @return Int value denoting the number of bytes recovered. - */ - static uint32_t TwoPhaseRecoverOp(TxnManager* txn, RecoveryOpState state, uint8_t* data, uint64_t csn, - uint64_t transactionId, uint32_t tid, SurrogateState& sState, RC& status); - /** * @brief Starts a new transaction for recovery operations. * @param transaction manager object. @@ -346,64 +331,6 @@ private: * @param transaction manager object. */ static void RollbackTransaction(TxnManager* txn); - - /** - * @brief attempts to apply a 2pc operation. - * @param transaction manager object. - * @param transaction manager object. - * @param opCode the operation code. - * @param tableId the table id that the recovered op belongs to. - * @param exId the external table id that the recovered op belongs to. - * @param csn the operation's csn. - * @param keyData key's data buffer. - * @param keyLen key's data buffer len. - * @param rowData row's data buffer. - * @param rowLen row's data buffer len. - * @param transactionId the transaction's id. - * @param tid the thread id of the recovering thread. - * @param row a row pointer (if exists). - * @param rowId the row id. - * @param sState the returned surrugate state. - * @param status the returned status of the operation. - */ - static void RecoverTwoPhaseApply(TxnManager* txn, OperationCode opCode, uint64_t tableId, uint64_t exId, - uint64_t csn, uint8_t* keyData, uint64_t keyLength, uint8_t* rowData, uint64_t rowLength, - uint64_t transactionId, uint32_t tid, Row* row, uint64_t rowId, SurrogateState& sState, RC& status); - - /** - * @brief attempts to commit a 2pc operation - * @param table a pointer to the table object that the op belongs to. - * @param opCode the operation code. - * @param csn the operation's csn. - * @param rowData row's data buffer. - * @param rowLen row's data buffer len. - * @param transactionId the transaction's id - * @param tid the thread id of the recovering thread. - * @param row a row pointer (if exists) - * @param status the returned status of the operation - */ - static void RecoverTwoPhaseCommit(Table* table, OperationCode opCode, uint64_t csn, uint8_t* rowData, - uint64_t rowLength, uint64_t transactionId, uint32_t tid, Row* row, RC& status); - - /** - * @brief attempts to abort a 2pc operation - * @param table a pointer to the table object that the op belongs to. - * @param opCode the operation code. - * @param csn the operation's csn. - * @param transactionId the transaction's id. - * @param tid the thread id of the recovering thread. - * @param row a row pointer (if exists) - * @param status the returned status of the operation - */ - static void RecoverTwoPhaseAbort( - Table* table, OperationCode opCode, uint64_t csn, uint64_t transactionId, uint32_t tid, Row* row, RC& status); - - /** - * @brief checks if an operation is supported by the recovery. - * @param op the operation code to check. - * @return Boolean value denoting if the op is supported. - */ - static bool IsSupportedOp(OperationCode op); }; // class RecoveryOps } // namespace MOT diff --git a/src/gausskernel/storage/mot/core/src/system/transaction/txn.cpp b/src/gausskernel/storage/mot/core/src/system/transaction/txn.cpp index b7d7d6d8f..3edd97398 100644 --- a/src/gausskernel/storage/mot/core/src/system/transaction/txn.cpp +++ b/src/gausskernel/storage/mot/core/src/system/transaction/txn.cpp @@ -317,8 +317,7 @@ void TxnManager::LiteCommitPrepared() void TxnManager::EndTransaction() { - if (GetGlobalConfiguration().m_enableRedoLog && - IsFailedCommitPrepared() == false) { + if (GetGlobalConfiguration().m_enableRedoLog) { m_occManager.ReleaseLocks(this); } CleanDDLChanges(); @@ -334,33 +333,6 @@ void TxnManager::RedoWriteAction(bool isCommit) m_redoLog.Rollback(); } -RC TxnManager::FailedCommitPrepared() -{ - if (m_isLightSession && m_txnDdlAccess->Size() == 0) { - return RC_OK; - } - - if (m_csn == CSNManager::INVALID_CSN) { - SetCommitSequenceNumber(GetCSNManager().GetNextCSN()); - } - - if (m_isLightSession == false) { - // Row already Locked! - m_occManager.WriteChanges(this); - } - - if (GetGlobalConfiguration().m_enableCheckpoint) { - GetCheckpointManager()->EndCommit(this); - } - - if (SavePreparedData() != RC_OK) { - return RC_PANIC; - } - - Cleanup(); - return RC_OK; -} - void TxnManager::Cleanup() { if (m_isLightSession == false) { @@ -376,7 +348,6 @@ void TxnManager::Cleanup() m_internalTransactionId++; m_internalStmtCount = 0; m_redoLog.Reset(); - SetFailedCommitPrepared(false); GcSessionEnd(); ClearErrorStack(); m_accessMgr->ClearTableCache(); @@ -668,7 +639,6 @@ TxnManager::TxnManager(SessionContext* session_context) m_internalTransactionId(((uint64_t)m_sessionContext->GetSessionId()) << SESSION_ID_BITS), m_internalStmtCount(0), m_isolationLevel(READ_COMMITED), - m_failedCommitPrepared(false), m_isLightSession(false), m_errIx(nullptr), m_err(RC_OK) @@ -683,13 +653,6 @@ TxnManager::~TxnManager() GetCheckpointManager()->EndCommit(this); } - if (m_state == MOT::TxnState::TXN_PREPARE) { - if (SavePreparedData() != RC_OK) { - MOT_LOG_ERROR("savePreparedData failed"); - } - Cleanup(); - } - MOT_LOG_DEBUG("txn_man::~txn_man - memory pools released for thread_id=%lu", m_threadId); if (m_gcSession != nullptr) { @@ -1032,6 +995,16 @@ Index* TxnManager::GetIndexByExternalId(uint64_t table_id, uint64_t index_id) RC TxnManager::CreateTable(Table* table) { + size_t serializeRedoSize = table->SerializeRedoSize(); + if (serializeRedoSize > RedoLogWriter::REDO_MAX_TABLE_SERIALIZE_SIZE) { + MOT_REPORT_ERROR(MOT_ERROR_RESOURCE_LIMIT, + "Create Table", + "Table Serialize size %zu exceeds the maximum allowed limit %u", + serializeRedoSize, + RedoLogWriter::REDO_MAX_TABLE_SERIALIZE_SIZE); + return RC_ERROR; + } + TxnDDLAccess::DDLAccess* ddl_access = new (std::nothrow) TxnDDLAccess::DDLAccess(table->GetTableExId(), DDL_ACCESS_CREATE_TABLE, (void*)table); if (ddl_access == nullptr) { @@ -1170,6 +1143,15 @@ RC TxnManager::TruncateTable(Table* table) RC TxnManager::CreateIndex(Table* table, MOT::Index* index, bool is_primary) { + size_t serializeRedoSize = table->SerializeItemSize(index); + if (serializeRedoSize > RedoLogWriter::REDO_MAX_INDEX_SERIALIZE_SIZE) { + MOT_REPORT_ERROR(MOT_ERROR_RESOURCE_LIMIT, + "Create Index", + "Index Serialize size %zu exceeds the maximum allowed limit %u", + serializeRedoSize, + RedoLogWriter::REDO_MAX_INDEX_SERIALIZE_SIZE); + return RC_ERROR; + } // allocate DDL before work and fail immediately if required TxnDDLAccess::DDLAccess* ddl_access = @@ -1255,27 +1237,4 @@ RC TxnManager::DropIndex(MOT::Index* index) m_txnDdlAccess->Add(new_ddl_access); return res; } - -RC TxnManager::SavePreparedData() -{ - m_redoLog.Reset(); - SetFailedCommitPrepared(true); - - if (m_redoLog.PrepareToInProcessTxns() != RC_OK) { - MOT_LOG_ERROR("PrepareToInProcessTxns failed [%lu]", m_transactionId); - return RC_ERROR; - } - - if (MOT::GetRecoveryManager()->ApplyInProcessTransaction(m_internalTransactionId) != RC_OK) { - MOT_LOG_ERROR("ApplyInProcessTransaction failed [%lu]", m_transactionId); - return RC_ERROR; - } - - if (m_transactionId != INVALID_TRANSACTION_ID) { - MOT_LOG_DEBUG("mapping ext txid %lu to %lu", m_transactionId, m_internalTransactionId); - MOTEngine::GetInstance()->GetInProcessTransactions().UpdateTxIdMap(m_internalTransactionId, m_transactionId); - } - - return RC_OK; -} } // namespace MOT diff --git a/src/gausskernel/storage/mot/core/src/system/transaction/txn.h b/src/gausskernel/storage/mot/core/src/system/transaction/txn.h index 5abda1872..8dbb0b52f 100644 --- a/src/gausskernel/storage/mot/core/src/system/transaction/txn.h +++ b/src/gausskernel/storage/mot/core/src/system/transaction/txn.h @@ -219,12 +219,6 @@ public: void LiteRollbackPrepared(); - /** - * @brief Handle CommitPrepared failure - keep the rows locked until gs_clean releases them. - * @return Result code denoting success or failure. - */ - RC FailedCommitPrepared(); - /** * @brief Rolls back the transaction. No changes are propagated to the logs. */ @@ -436,16 +430,6 @@ public: return m_gcSession; } - inline bool IsFailedCommitPrepared() const - { - return m_failedCommitPrepared; - } - - inline void SetFailedCommitPrepared(bool value) - { - m_failedCommitPrepared = value; - } - /** * @brief Sets or clears the validate-no-wait flag in OccTransactionManager. * @detail Determines whether to call Access::lock() or @@ -492,13 +476,6 @@ private: void* operator new(std::size_t size, const std::nothrow_t& tag) = delete; /** @endcond */ - /** - * @brief Enqueues prepared rows/ddls to be later release by gs_clean - * @param none - * @return Boolean value denoting success or failure. - */ - RC SavePreparedData(); - // allow privileged access friend TxnInsertAction; friend TxnAccess; @@ -574,8 +551,6 @@ private: int m_isolationLevel; - bool m_failedCommitPrepared; - public: /** @var Transaction cache (OCC optimization). */ MemSessionPtr m_accessMgr; diff --git a/src/gausskernel/storage/mot/core/src/system/transaction_logger/redo_log.cpp b/src/gausskernel/storage/mot/core/src/system/transaction_logger/redo_log.cpp index 4edf55100..54b01eea7 100644 --- a/src/gausskernel/storage/mot/core/src/system/transaction_logger/redo_log.cpp +++ b/src/gausskernel/storage/mot/core/src/system/transaction_logger/redo_log.cpp @@ -301,7 +301,7 @@ RC RedoLog::SerializeDropIndex(TxnDDLAccess::DDLAccess* ddlAccess, bool hasDML, return status; } -RC RedoLog::SerializeTransactionDDLs(IdxDDLAccessMap& idxDDLMap) +RC RedoLog::SerializeDDLs(IdxDDLAccessMap& idxDDLMap) { MOT::Index* index = nullptr; bool hasDML = (m_txn->m_accessMgr->m_rowCnt > 0 && !m_txn->m_isLightSession); @@ -366,7 +366,7 @@ RC RedoLog::SerializeTransactionDDLs(IdxDDLAccessMap& idxDDLMap) return RC_OK; } -RC RedoLog::SerializeTransactionDMLs() +RC RedoLog::SerializeDMLs() { RC status = RC_OK; TxnOrderedSet_t& orderedSet = m_txn->m_accessMgr->GetOrderedRowSet(); @@ -411,7 +411,7 @@ RC RedoLog::SerializeTransactionDMLs() RC RedoLog::SerializeTransaction() { IdxDDLAccessMap idxDDLMap; - RC status = SerializeTransactionDDLs(idxDDLMap); + RC status = SerializeDDLs(idxDDLMap); if (status != RC_OK) { MOT_LOG_ERROR("Failed to serialize DDLs: %d", status); return status; @@ -422,7 +422,7 @@ RC RedoLog::SerializeTransaction() return RC_OK; } - status = SerializeTransactionDMLs(); + status = SerializeDMLs(); if (status != RC_OK) { MOT_LOG_ERROR("Failed to serialize DMLs: %d", status); return status; @@ -464,23 +464,4 @@ void RedoLog::ResetBuffer() } } } - -void RedoLog::WriteToInProcessTxns() -{ - uint32_t len = 0; - uint8_t* data = m_redoBuffer->Serialize(&len); - GetRecoveryManager()->ApplyLogSegmentFromData((char*)data, (size_t)len); - ResetBuffer(); - m_flushed = true; -} - -RC RedoLog::PrepareToInProcessTxns() -{ - RC status = SerializeTransaction(); - if (status == RC_OK && (m_flushed || !m_redoBuffer->Empty())) { - RedoLogWriter::AppendPrepare(*m_redoBuffer, m_txn); - WriteToInProcessTxns(); - } - return status; -} } // namespace MOT diff --git a/src/gausskernel/storage/mot/core/src/system/transaction_logger/redo_log.h b/src/gausskernel/storage/mot/core/src/system/transaction_logger/redo_log.h index c999fed3f..8e846e0c9 100644 --- a/src/gausskernel/storage/mot/core/src/system/transaction_logger/redo_log.h +++ b/src/gausskernel/storage/mot/core/src/system/transaction_logger/redo_log.h @@ -165,18 +165,6 @@ public: */ void WriteToLog(); - /** - * @brief Writes buffer data to the in-process txns map - */ - void WriteToInProcessTxns(); - - /** - * @brief Serializes the transaction, appends a prepare op to it - * and adds it to the in process txns map - * @return The status of the operation. - */ - RC PrepareToInProcessTxns(); - inline RedoLogBuffer& GetBuffer() { return *m_redoBuffer; @@ -201,7 +189,7 @@ private: * @param[out] idxDDLMap Map of Index ID to DDLAccess. * @return The status of the operation. */ - RC SerializeTransactionDDLs(IdxDDLAccessMap& idxDDLMap); + RC SerializeDDLs(IdxDDLAccessMap& idxDDLMap); RC SerializeDropIndex(TxnDDLAccess::DDLAccess* ddlAccess, bool hasDML, IdxDDLAccessMap& idxDDLMap); @@ -209,7 +197,7 @@ private: * @brief Writes the whole transaction's DMLs into the redo buffer * @return The status of the operation. */ - RC SerializeTransactionDMLs(); + RC SerializeDMLs(); /* Member variables */ RedoLogHandler* m_redoLogHandler; diff --git a/src/gausskernel/storage/mot/core/src/system/transaction_logger/redo_log_buffer.h b/src/gausskernel/storage/mot/core/src/system/transaction_logger/redo_log_buffer.h index f639b4098..85b8ed51c 100644 --- a/src/gausskernel/storage/mot/core/src/system/transaction_logger/redo_log_buffer.h +++ b/src/gausskernel/storage/mot/core/src/system/transaction_logger/redo_log_buffer.h @@ -35,30 +35,19 @@ #include "buffer.h" namespace MOT { -/** @define By default use 1 MB buffers for redo log. */ -#define REDO_DEFAULT_BUFFER_SIZE (1024 * 1024) - /** * @brief Class for managing a single redo log buffer. */ class RedoLogBuffer { public: - inline RedoLogBuffer() : RedoLogBuffer(REDO_DEFAULT_BUFFER_SIZE) + inline RedoLogBuffer() + : m_bufferSize(REDO_DEFAULT_BUFFER_SIZE), + m_nextFree(sizeof(uint32_t)), + m_buffer(nullptr), + m_allocated(false), + m_next(nullptr) {} - inline RedoLogBuffer(uint8_t* buffer, uint32_t size) - : m_bufferSize(size), m_nextFree(sizeof(uint32_t)), m_buffer(buffer), m_allocated(true), m_next(nullptr) - {} - - inline RedoLogBuffer(uint32_t size) - : m_bufferSize(size), m_nextFree(sizeof(uint32_t)), m_buffer(nullptr), m_allocated(false), m_next(nullptr) - { - if (size == 0) { - size = REDO_DEFAULT_BUFFER_SIZE; - m_bufferSize = size; - } - } - inline bool Initialize() { if (!m_allocated) { @@ -102,23 +91,20 @@ public: RedoLogBuffer& operator=(const RedoLogBuffer& other) = delete; - inline uint32_t AllocAppend(uint32_t size) + /** + * @brief Reserves space in the redo buffer for the given size. + * @param size The size to be reserved. + * @return The pointer to the start of the reserved space. + */ + inline void* AllocAppend(size_t size) { - uint32_t offset = __atomic_fetch_add(&m_nextFree, size, __ATOMIC_RELAXED); - if (offset + size <= m_bufferSize) { - return offset; - } else { - // back off - __atomic_fetch_add(&m_nextFree, -((int32_t)size), __ATOMIC_RELAXED); - return (uint32_t)-1; + if (m_nextFree + size <= m_bufferSize) { + uint32_t offset = m_nextFree; + m_nextFree += size; + return &m_buffer[offset]; } - } - inline void AppendAt(const void* data, uint32_t size, uint32_t offset) - { - MOT_ASSERT(offset + size < m_bufferSize); - errno_t erc = memcpy_s(&m_buffer[offset], m_bufferSize - offset, data, size); - securec_check(erc, "\0", "\0"); + return nullptr; } /** @@ -128,7 +114,7 @@ public: template inline void Append(const T& x) { - MOT_ASSERT(m_nextFree + sizeof(T) < m_bufferSize); + MOT_ASSERT(m_nextFree + sizeof(T) <= m_bufferSize); T* ptr = (T*)&m_buffer[m_nextFree]; *ptr = x; m_nextFree += sizeof(T); @@ -141,7 +127,7 @@ public: */ inline void Append(const void* data, uint32_t size) { - MOT_ASSERT(m_nextFree + size < m_bufferSize); + MOT_ASSERT(m_nextFree + size <= m_bufferSize); errno_t erc = memcpy_s(&m_buffer[m_nextFree], m_bufferSize - m_nextFree, data, size); securec_check(erc, "\0", "\0"); m_nextFree += size; @@ -154,7 +140,7 @@ public: */ void Append(std::istream& is, uint32_t size) { - MOT_ASSERT(m_nextFree + size < m_bufferSize); + MOT_ASSERT(m_nextFree + size <= m_bufferSize); char* ptr = (char*)&m_buffer[m_nextFree]; is.read(ptr, size); m_nextFree += size; @@ -170,7 +156,7 @@ public: template inline void Append(const T1& x1, const T2& x2, const T3& x3, const T4& x4) { - MOT_ASSERT(m_nextFree + (sizeof(T1) + sizeof(T2) + sizeof(T3) + sizeof(T4)) < m_bufferSize); + MOT_ASSERT(m_nextFree + (sizeof(T1) + sizeof(T2) + sizeof(T3) + sizeof(T4)) <= m_bufferSize); uint8_t* ptr = &m_buffer[m_nextFree]; *(reinterpret_cast(ptr)) = x1; *(reinterpret_cast(ptr + sizeof(T1))) = x2; @@ -190,7 +176,7 @@ public: template inline void Append(const T1& x1, const T2& x2, const T3& x3, const T4& x4, const T5& x5) { - MOT_ASSERT(m_nextFree + (sizeof(T1) + sizeof(T2) + sizeof(T3) + sizeof(T4) + sizeof(T5)) < m_bufferSize); + MOT_ASSERT(m_nextFree + (sizeof(T1) + sizeof(T2) + sizeof(T3) + sizeof(T4) + sizeof(T5)) <= m_bufferSize); uint8_t* ptr = &m_buffer[m_nextFree]; *(reinterpret_cast(ptr)) = x1; *(reinterpret_cast(ptr + sizeof(T1))) = x2; @@ -213,7 +199,7 @@ public: inline void Append(const T1& x1, const T2& x2, const T3& x3, const T4& x4, const T5& x5, const T6& x6) { MOT_ASSERT( - m_nextFree + (sizeof(T1) + sizeof(T2) + sizeof(T3) + sizeof(T4) + sizeof(T5) + sizeof(T6)) < m_bufferSize); + m_nextFree + (sizeof(T1) + sizeof(T2) + sizeof(T3) + sizeof(T4) + sizeof(T5) + sizeof(T6)) <= m_bufferSize); uint8_t* ptr = &m_buffer[m_nextFree]; *(reinterpret_cast(ptr)) = x1; *(reinterpret_cast(ptr + sizeof(T1))) = x2; @@ -308,23 +294,6 @@ public: return ss.str(); } - uint8_t* Detach() - { - uint8_t* buffer = m_buffer; - m_buffer = nullptr; - return buffer; - } - - void Attach(uint8_t* buffer, uint32_t size) - { - if (m_buffer != nullptr) { - delete[] m_buffer; - } - m_buffer = buffer; - m_bufferSize = size; - m_nextFree = 0; - } - inline void SetNext(RedoLogBuffer* nextBuffer) { m_next = nextBuffer; @@ -335,6 +304,9 @@ public: return m_next; } + /** @define By default use 1 MB buffers for redo log. */ + static constexpr uint32_t REDO_DEFAULT_BUFFER_SIZE = 1024 * 1024; + private: /** @var Buffer size. */ uint32_t m_bufferSize; diff --git a/src/gausskernel/storage/mot/core/src/system/transaction_logger/redo_log_writer.cpp b/src/gausskernel/storage/mot/core/src/system/transaction_logger/redo_log_writer.cpp index a1b6f7339..e549c327b 100644 --- a/src/gausskernel/storage/mot/core/src/system/transaction_logger/redo_log_writer.cpp +++ b/src/gausskernel/storage/mot/core/src/system/transaction_logger/redo_log_writer.cpp @@ -39,11 +39,13 @@ DECLARE_LOGGER(RedoLog, TxnLogger); bool RedoLogWriter::AppendUpdate(RedoLogBuffer& redoLogBuffer, uint64_t table, Key* primaryKey, uint64_t attr, uint64_t attrSize, const void* newValue, uint64_t externalId) { - uint16_t entrySize = sizeof(OperationCode) + sizeof(table) + sizeof(externalId) + primaryKey->GetKeyLength() + + uint64_t entrySize = sizeof(OperationCode) + sizeof(table) + sizeof(externalId) + primaryKey->GetKeyLength() + sizeof(attr) + sizeof(attrSize) + attrSize; entrySize += sizeof(EndSegmentBlock); - if (redoLogBuffer.FreeSize() < entrySize) + if (redoLogBuffer.FreeSize() < entrySize) { return false; + } + redoLogBuffer.Append(OperationCode::UPDATE_ROW_VARIABLE); redoLogBuffer.Append(table); redoLogBuffer.Append(externalId); @@ -54,35 +56,6 @@ bool RedoLogWriter::AppendUpdate(RedoLogBuffer& redoLogBuffer, uint64_t table, K return true; } -bool RedoLogWriter::AppendUpdate(RedoLogBuffer& redoLogBuffer, uint64_t table, uint64_t primaryKey, uint64_t attr, - uint64_t attrSize, uint64_t newValue, uint64_t externalId) -{ - uint16_t entrySize = sizeof(OperationCode) + sizeof(table) + sizeof(externalId) + sizeof(primaryKey) + - sizeof(attr) + sizeof(newValue); - entrySize += sizeof(EndSegmentBlock); - if (redoLogBuffer.FreeSize() < entrySize) - return false; - redoLogBuffer.Append(OperationCode::UPDATE_ROW, table, externalId, primaryKey, attr, newValue); - return true; -} - -bool RedoLogWriter::AppendUpdate(RedoLogBuffer& redoLogBuffer, uint64_t table, Key* primaryKey, uint64_t attr, - uint64_t attrSize, uint64_t newValue, uint64_t externalId) -{ - uint16_t entrySize = sizeof(OperationCode) + sizeof(table) + sizeof(externalId) + primaryKey->GetKeyLength() + - sizeof(attr) + sizeof(newValue); - entrySize += sizeof(EndSegmentBlock); - if (redoLogBuffer.FreeSize() < entrySize) - return false; - redoLogBuffer.Append(OperationCode::UPDATE_ROW); - redoLogBuffer.Append(table); - redoLogBuffer.Append(externalId); - redoLogBuffer.Append(primaryKey->GetKeyBuf(), primaryKey->GetKeyLength()); - redoLogBuffer.Append(attr); - redoLogBuffer.Append(newValue); - return true; -} - bool RedoLogWriter::AppendUpdate(RedoLogBuffer& redoLogBuffer, Row* row, BitmapSet* modifiedColumns) { MaxKey maxKey; @@ -92,14 +65,15 @@ bool RedoLogWriter::AppendUpdate(RedoLogBuffer& redoLogBuffer, Row* row, BitmapS Table* table = row->GetTable(); uint64_t tableId = table->GetTableId(); uint64_t externalId = table->GetTableExId(); - uint16_t entrySize = sizeof(OperationCode) + sizeof(tableId) + sizeof(externalId) + + uint64_t entrySize = sizeof(OperationCode) + sizeof(tableId) + sizeof(externalId) + sizeof(uint16_t) /* key_length */ + index->GetKeyLength() + modifiedColumns->GetLength() /* updated columns bitmap */ + modifiedColumns->GetLength() /* null fields bitmap (should be the same length) */ + row->GetTupleSize(); /* not accurate, avoid double looping on updated column */ entrySize += sizeof(EndSegmentBlock); - if (redoLogBuffer.FreeSize() < entrySize) + if (redoLogBuffer.FreeSize() < entrySize) { return false; + } const Key* key = &maxKey; uint8_t* rowData = const_cast(row->GetData()); @@ -128,12 +102,14 @@ bool RedoLogWriter::AppendUpdate(RedoLogBuffer& redoLogBuffer, Row* row, BitmapS bool RedoLogWriter::AppendOverwriteRow(RedoLogBuffer& redoLogBuffer, uint64_t table, Key* primaryKey, const void* rowData, uint64_t rowDataSize, uint64_t externalId) { - uint16_t entrySize = sizeof(OperationCode) + sizeof(table) + sizeof(externalId) + + uint64_t entrySize = sizeof(OperationCode) + sizeof(table) + sizeof(externalId) + sizeof(uint16_t) /* key_length */ + primaryKey->GetKeyLength() + sizeof(rowDataSize) + rowDataSize; entrySize += sizeof(EndSegmentBlock); - if (redoLogBuffer.FreeSize() < entrySize) + if (redoLogBuffer.FreeSize() < entrySize) { return false; + } + redoLogBuffer.Append(OperationCode::OVERWRITE_ROW); redoLogBuffer.Append(table); redoLogBuffer.Append(externalId); @@ -147,12 +123,14 @@ bool RedoLogWriter::AppendOverwriteRow(RedoLogBuffer& redoLogBuffer, uint64_t ta bool RedoLogWriter::AppendCreateRow(RedoLogBuffer& redoLogBuffer, uint64_t table, Key* primaryKey, const void* rowData, uint64_t rowDataSize, uint64_t externalId, uint64_t rowId) { - uint16_t entrySize = sizeof(OperationCode) + sizeof(table) + sizeof(externalId) + sizeof(rowId) + + uint64_t entrySize = sizeof(OperationCode) + sizeof(table) + sizeof(externalId) + sizeof(rowId) + sizeof(uint16_t) /* key_length */ + primaryKey->GetKeyLength() + sizeof(rowDataSize) + rowDataSize; entrySize += sizeof(EndSegmentBlock); - if (redoLogBuffer.FreeSize() < entrySize) + if (redoLogBuffer.FreeSize() < entrySize) { return false; + } + redoLogBuffer.Append(OperationCode::CREATE_ROW); redoLogBuffer.Append(table); redoLogBuffer.Append(externalId); @@ -167,11 +145,13 @@ bool RedoLogWriter::AppendCreateRow(RedoLogBuffer& redoLogBuffer, uint64_t table bool RedoLogWriter::AppendRemove( RedoLogBuffer& redoLogBuffer, uint64_t table, const Key* primaryKey, uint64_t externalId) { - uint16_t entrySize = sizeof(OperationCode) + sizeof(table) + sizeof(externalId) + + uint64_t entrySize = sizeof(OperationCode) + sizeof(table) + sizeof(externalId) + sizeof(uint16_t) /* key_length */ + primaryKey->GetKeyLength(); entrySize += sizeof(EndSegmentBlock); - if (redoLogBuffer.FreeSize() < entrySize) + if (redoLogBuffer.FreeSize() < entrySize) { return false; + } + redoLogBuffer.Append(OperationCode::REMOVE_ROW); redoLogBuffer.Append(table); redoLogBuffer.Append(externalId); @@ -237,34 +217,31 @@ bool RedoLogWriter::AppendPartial(RedoLogBuffer& redoLogBuffer, TxnManager* txn) bool RedoLogWriter::AppendIndex(RedoLogBuffer& buffer, Table* table, Index* index) { - size_t bufSize = table->SerializeItemSize(index); - uint16_t entrySize = sizeof(OperationCode) + sizeof(size_t) + sizeof(uint64_t) + bufSize + sizeof(EndSegmentBlock); - if (buffer.FreeSize() < entrySize) - return false; - - char* buf = new (std::nothrow) char[bufSize]; - if (buf == nullptr) { - MOT_LOG_ERROR("Failed to allocate buffer"); + size_t serializeSize = table->SerializeItemSize(index); + uint64_t entrySize = REDO_CREATE_INDEX_FORMAT_OVERHEAD + serializeSize; + if (buffer.FreeSize() < entrySize) { return false; } uint64_t tableId = table->GetTableExId(); - table->SerializeItem(buf, index); buffer.Append(OperationCode::CREATE_INDEX); - buffer.Append(bufSize); + buffer.Append(serializeSize); buffer.Append(tableId); - buffer.Append(buf, bufSize); + char* serializeBuf = (char*)buffer.AllocAppend(serializeSize); + MOT_ASSERT(serializeBuf != nullptr); + table->SerializeItem(serializeBuf, index); - delete[] buf; return true; } bool RedoLogWriter::AppendDropIndex(RedoLogBuffer& buffer, Table* table, Index* index) { - uint16_t entrySize = + uint64_t entrySize = sizeof(OperationCode) + sizeof(uint64_t) + sizeof(size_t) + index->GetName().length() + sizeof(EndSegmentBlock); - if (buffer.FreeSize() < entrySize) + if (buffer.FreeSize() < entrySize) { return false; + } + uint64_t tableId = table->GetTableExId(); buffer.Append(OperationCode::DROP_INDEX); buffer.Append(tableId); @@ -275,31 +252,27 @@ bool RedoLogWriter::AppendDropIndex(RedoLogBuffer& buffer, Table* table, Index* bool RedoLogWriter::AppendTable(RedoLogBuffer& buffer, Table* table) { - size_t bufSize = table->SerializeSize(); - uint16_t entrySize = sizeof(OperationCode) + sizeof(size_t) + bufSize + sizeof(EndSegmentBlock); - if (buffer.FreeSize() < entrySize) - return false; - - char* buf = new (std::nothrow) char[bufSize]; - if (buf == nullptr) { - MOT_LOG_ERROR("Failed to allocate buffer"); + size_t serializeSize = table->SerializeRedoSize(); + uint64_t entrySize = REDO_CREATE_TABLE_FORMAT_OVERHEAD + serializeSize; + if (buffer.FreeSize() < entrySize) { return false; } - table->Serialize(buf); buffer.Append(OperationCode::CREATE_TABLE); - buffer.Append(bufSize); - buffer.Append(buf, bufSize); + buffer.Append(serializeSize); + char* serializeBuf = (char*)buffer.AllocAppend(serializeSize); + MOT_ASSERT(serializeBuf != nullptr); + table->SerializeRedo(serializeBuf); - delete[] buf; return true; } bool RedoLogWriter::AppendDropTable(RedoLogBuffer& buffer, Table* table) { - uint16_t entrySize = sizeof(OperationCode) + sizeof(uint64_t) + sizeof(EndSegmentBlock); - if (buffer.FreeSize() < entrySize) + uint64_t entrySize = sizeof(OperationCode) + sizeof(uint64_t) + sizeof(EndSegmentBlock); + if (buffer.FreeSize() < entrySize) { return false; + } uint64_t tableId = table->GetTableExId(); buffer.Append(OperationCode::DROP_TABLE); @@ -309,9 +282,10 @@ bool RedoLogWriter::AppendDropTable(RedoLogBuffer& buffer, Table* table) bool RedoLogWriter::AppendTruncateTable(RedoLogBuffer& buffer, Table* table) { - uint16_t entrySize = sizeof(OperationCode) + sizeof(uint64_t) + sizeof(EndSegmentBlock); - if (buffer.FreeSize() < entrySize) + uint64_t entrySize = sizeof(OperationCode) + sizeof(uint64_t) + sizeof(EndSegmentBlock); + if (buffer.FreeSize() < entrySize) { return false; + } uint64_t tableId = table->GetTableExId(); buffer.Append(OperationCode::TRUNCATE_TABLE); diff --git a/src/gausskernel/storage/mot/core/src/system/transaction_logger/redo_log_writer.h b/src/gausskernel/storage/mot/core/src/system/transaction_logger/redo_log_writer.h index 2faa37325..72d200f37 100644 --- a/src/gausskernel/storage/mot/core/src/system/transaction_logger/redo_log_writer.h +++ b/src/gausskernel/storage/mot/core/src/system/transaction_logger/redo_log_writer.h @@ -113,27 +113,9 @@ public: /** * @brief Appends update row redo log entry. * @param redoLogBuffer The redo buffer of the transaction. - * @param table The table identifier. - * @param primaryKey The primary key. - * @param attr The field. - * @param attrSize The field size. - * @param newValue Unused. + * @param row The row. + * @param modifiedColumns Bitmap set of modified columns. */ - static bool AppendUpdate(RedoLogBuffer& redoLogBuffer, uint64_t table, uint64_t primaryKey, uint64_t attr, - uint64_t attrSize, uint64_t newValue, uint64_t externalId); - - /** - * @brief Appends update row redo log entry. - * @param redoLogBuffer The redo buffer of the transaction. - * @param table The table identifier. - * @param primaryKey The primary key. - * @param attr The field. - * @param attrSize The field size. - * @param newValue Unused. - */ - static bool AppendUpdate(RedoLogBuffer& redoLogBuffer, uint64_t table, Key* primaryKey, uint64_t attr, - uint64_t attrSize, uint64_t newValue, uint64_t externalId); - static bool AppendUpdate(RedoLogBuffer& redoLogBuffer, Row* row, BitmapSet* modifiedColumns); /** @@ -242,6 +224,22 @@ public: * @param len The data buffer length. */ static void ApplyData(const void* data, size_t len); + + /* @def Create Table redo format overhead. */ + static constexpr uint32_t REDO_CREATE_TABLE_FORMAT_OVERHEAD = + sizeof(OperationCode) + sizeof(size_t) + sizeof(EndSegmentBlock); + + /* @def Max limit of table serialize size. */ + static constexpr uint32_t REDO_MAX_TABLE_SERIALIZE_SIZE = + RedoLogBuffer::REDO_DEFAULT_BUFFER_SIZE - REDO_CREATE_TABLE_FORMAT_OVERHEAD; + + /* @def Create Index redo format overhead. */ + static constexpr uint32_t REDO_CREATE_INDEX_FORMAT_OVERHEAD = + sizeof(OperationCode) + sizeof(size_t) + sizeof(uint64_t) + sizeof(EndSegmentBlock); + + /* @def Max limit of index serialize size. */ + static constexpr uint32_t REDO_MAX_INDEX_SERIALIZE_SIZE = + RedoLogBuffer::REDO_DEFAULT_BUFFER_SIZE - REDO_CREATE_INDEX_FORMAT_OVERHEAD; }; } // End of namespace MOT diff --git a/src/gausskernel/storage/mot/fdw_adapter/src/mot_fdw.cpp b/src/gausskernel/storage/mot/fdw_adapter/src/mot_fdw.cpp index 41fa20f9b..986256183 100644 --- a/src/gausskernel/storage/mot/fdw_adapter/src/mot_fdw.cpp +++ b/src/gausskernel/storage/mot/fdw_adapter/src/mot_fdw.cpp @@ -281,28 +281,6 @@ void TermMOT() MOTAdaptor::Destroy(); } -void MOTProcessRecoveredTransaction(uint64_t txid, bool isCommit) -{ - if (!MOTAdaptor::m_initialized) { - return; - } - - if (MOT::MOTEngine::GetInstance()->IsInProcessTx(txid)) { - elog(LOG, "MOTProcessRecoveredTransaction: %lu - %s", txid, isCommit ? "commit" : "abort"); - MOT::TxnManager* mgr = GetSafeTxn(__FUNCTION__); - uint64_t inTxId = MOT::MOTEngine::GetInstance()->PerformInProcessTx(txid, isCommit); - if (inTxId == INVALID_TRANSACTION_ID) { - ereport(ERROR, - (errcode(ERRCODE_INVALID_TRANSACTION_STATE), - errmsg("Memory engine: failed to perform commit prepared."))); - } - mgr->SetInternalTransactionId(inTxId); - mgr->SetTransactionId(txid); - mgr->RedoWriteAction(isCommit); - mgr->SetTxnState(isCommit ? MOT::TxnState::TXN_COMMIT : MOT::TxnState::TXN_ROLLBACK); - } -} - /* * Foreign-data wrapper handler function: return a struct with pointers * to my callback routines. @@ -1666,24 +1644,8 @@ static void MOTXactCallback(XactEvent event, void* arg) } txn->SetTxnState(MOT::TxnState::TXN_PREPARE); } else if (event == XACT_EVENT_ABORT) { - if (txnState == MOT::TxnState::TXN_PREPARE) { - elog(DEBUG2, "XACT_EVENT_ABORT in prepare, tid %lu", tid); - // Need to get the envelope CSN for cross transaction support. - // Envelope is using a special CSN (COMMITSEQNO_ABORTED) for this case. - // Need to consider this and adapt to this when we support 2pc. - if (MOTAdaptor::FailedCommitPrepared(MOT::CSNManager::INVALID_CSN) != MOT::RC_OK) { - // This is the case where ABORT is done for a prepared transaction in one of the DN, but CN may still - // commit this transaction. So we need to save the prepared transaction for further instructions from - // CN or gs_clean. If we failed to save it, it's a panic situation. - report_pg_error( - MOT::RC_PANIC, (char*)"Failed to save prepared transaction data (FailedCommitPrepared)"); - } - return; - } else { - elog(DEBUG2, "XACT_EVENT_ABORT, tid %lu", tid); - MOTAdaptor::Rollback(); - } - + elog(DEBUG2, "XACT_EVENT_ABORT, tid %lu", tid); + MOTAdaptor::Rollback(); txn->SetTxnState(MOT::TxnState::TXN_ROLLBACK); } else if (event == XACT_EVENT_COMMIT_PREPARED) { if (txnState == MOT::TxnState::TXN_PREPARE) { @@ -1700,8 +1662,9 @@ static void MOTXactCallback(XactEvent event, void* arg) elog(DEBUG2, "XACT_EVENT_COMMIT_PREPARED, tid %lu", tid); abortParentTransactionParamsNoDetail( ERRCODE_T_R_SERIALIZATION_FAILURE, "Commit Prepared: commit prepared without prepare (%u)", txnState); - } else + } else { rc = MOT::RC_OK; + } if (rc != MOT::RC_OK) { elog(DEBUG2, "commit prepared failed"); elog(DEBUG2, "Abort parent transaction from MOT commit prepared, tid %lu", tid); diff --git a/src/gausskernel/storage/mot/fdw_adapter/src/mot_internal.cpp b/src/gausskernel/storage/mot/fdw_adapter/src/mot_internal.cpp index f83bb594a..8a423779e 100644 --- a/src/gausskernel/storage/mot/fdw_adapter/src/mot_internal.cpp +++ b/src/gausskernel/storage/mot/fdw_adapter/src/mot_internal.cpp @@ -624,14 +624,6 @@ void MOTAdaptor::RollbackPrepared() } } -MOT::RC MOTAdaptor::FailedCommitPrepared(uint64_t csn) -{ - EnsureSafeThreadAccessInline(); - MOT::TxnManager* txn = GetSafeTxn(__FUNCTION__); - txn->SetCommitSequenceNumber(csn); - return txn->FailedCommitPrepared(); -} - MOT::RC MOTAdaptor::InsertRow(MOTFdwStateSt* fdwState, TupleTableSlot* slot) { EnsureSafeThreadAccessInline(); @@ -1398,8 +1390,7 @@ MOT::RC MOTAdaptor::CreateTable(CreateForeignTableStmt* stmt, ::TransactionId ti res, nullptr); if (res != MOT::RC_OK) { - delete table; - table = nullptr; + txn->DropTable(table); report_pg_error(res); break; } diff --git a/src/gausskernel/storage/mot/fdw_adapter/src/mot_internal.h b/src/gausskernel/storage/mot/fdw_adapter/src/mot_internal.h index 89fccb5d5..85b6d8315 100644 --- a/src/gausskernel/storage/mot/fdw_adapter/src/mot_internal.h +++ b/src/gausskernel/storage/mot/fdw_adapter/src/mot_internal.h @@ -216,7 +216,6 @@ public: static MOT::RC Prepare(); static void CommitPrepared(uint64_t csn); static void RollbackPrepared(); - static MOT::RC FailedCommitPrepared(uint64_t csn); static MOT::RC InsertRow(MOTFdwStateSt* fdwState, TupleTableSlot* slot); static MOT::RC UpdateRow(MOTFdwStateSt* fdwState, TupleTableSlot* slot, MOT::Row* currRow); static MOT::RC DeleteRow(MOTFdwStateSt* fdwState, TupleTableSlot* slot); diff --git a/src/gausskernel/storage/mot/jit_exec/src/jit_context_pool.cpp b/src/gausskernel/storage/mot/jit_exec/src/jit_context_pool.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/mot/jit_exec/src/jit_llvm_funcs.h b/src/gausskernel/storage/mot/jit_exec/src/jit_llvm_funcs.h index f7c7a888f..dc5545e92 100644 --- a/src/gausskernel/storage/mot/jit_exec/src/jit_llvm_funcs.h +++ b/src/gausskernel/storage/mot/jit_exec/src/jit_llvm_funcs.h @@ -724,13 +724,12 @@ inline llvm::Value* AddReadDatumColumn( } /** @brief Adds a call to writeDatumColumn(table_colid, value). */ -inline llvm::Value* AddWriteDatumColumn( - JitLlvmCodeGenContext* ctx, int table_colid, llvm::Value* row, llvm::Value* value) +inline void AddWriteDatumColumn(JitLlvmCodeGenContext* ctx, int table_colid, llvm::Value* row, llvm::Value* value) { // make sure we have a column before issuing the call // we always write to a main table row (whether UPDATE or range UPDATE, so inner_scan value below is false) llvm::Value* column = AddGetColumnAt(ctx, table_colid, JIT_RANGE_SCAN_MAIN); - return AddFunctionCall(ctx, ctx->writeDatumColumnFunc, row, column, value, nullptr); + AddFunctionCall(ctx, ctx->writeDatumColumnFunc, row, column, value, nullptr); } /** @brief Adds a call to buildDatumKey(column, key, value, index_colid, offset, value). */ diff --git a/src/gausskernel/storage/mot/jit_exec/src/jit_llvm_query_codegen.cpp b/src/gausskernel/storage/mot/jit_exec/src/jit_llvm_query_codegen.cpp index 71c15a370..dfa62dc88 100644 --- a/src/gausskernel/storage/mot/jit_exec/src/jit_llvm_query_codegen.cpp +++ b/src/gausskernel/storage/mot/jit_exec/src/jit_llvm_query_codegen.cpp @@ -918,7 +918,12 @@ static JitContext* JitAggregateRangeSelectCodegen( AddExecClearTuple(ctx); // prepare for aggregation - prepareAggregate(ctx, &plan->_aggregate); + if (!prepareAggregate(ctx, &plan->_aggregate)) { + MOT_LOG_TRACE("Failed to generate jitted code for aggregate range SELECT query: failed to prepare aggregate"); + DestroyCodeGenContext(ctx); + return nullptr; + } + AddResetStateLimitCounter(ctx); // pay attention: aggregated range scan is not stateful, since we scan all tuples in one call @@ -953,7 +958,11 @@ static JitContext* JitAggregateRangeSelectCodegen( // aggregate into tuple (we use tuple's resno column as aggregated sum instead of defining local variable) // if row disqualified due to DISTINCT operator then go back to loop test block - buildAggregateRow(ctx, &plan->_aggregate, row, JIT_WHILE_COND_BLOCK()); + if (!buildAggregateRow(ctx, &plan->_aggregate, row, JIT_WHILE_COND_BLOCK())) { + MOT_LOG_TRACE("Failed to generate jitted code for aggregate range SELECT query: unsupported aggregate"); + DestroyCodeGenContext(ctx); + return nullptr; + } // if a limit clause exists, then increment limit counter and check if reached limit if (plan->_limit_count > 0) { @@ -1437,7 +1446,12 @@ static JitContext* JitAggregateRangeJoinCodegen(Query* query, const char* query_ AddExecClearTuple(ctx); // prepare for aggregation - prepareAggregate(ctx, &plan->_aggregate); + if (!prepareAggregate(ctx, &plan->_aggregate)) { + MOT_LOG_TRACE("Failed to generate jitted code for aggregate range JOIN query: failed to prepare aggregate"); + DestroyCodeGenContext(ctx); + return nullptr; + } + AddResetStateLimitCounter(ctx); // pay attention: aggregated range scan is not stateful, since we scan all tuples in one call @@ -1503,12 +1517,19 @@ static JitContext* JitAggregateRangeJoinCodegen(Query* query, const char* query_ // aggregate into tuple (we use tuple's resno column as aggregated sum instead of defining local variable) // find out to which table the aggreate expression refers, and aggregate it // if row disqualified due to DISTINCT operator then go back to inner loop test block + bool aggRes = false; if (plan->_aggregate._table == ctx->_inner_table_info.m_table) { - buildAggregateRow(ctx, &plan->_aggregate, inner_row, JIT_WHILE_COND_BLOCK()); + aggRes = buildAggregateRow(ctx, &plan->_aggregate, inner_row, JIT_WHILE_COND_BLOCK()); } else { // retrieve the safe copy of the outer row llvm::Value* outer_row_copy = AddGetOuterStateRowCopy(ctx); - buildAggregateRow(ctx, &plan->_aggregate, outer_row_copy, JIT_WHILE_COND_BLOCK()); + aggRes = buildAggregateRow(ctx, &plan->_aggregate, outer_row_copy, JIT_WHILE_COND_BLOCK()); + } + + if (!aggRes) { + MOT_LOG_TRACE("Failed to generate jitted code for aggregate range JOIN query: unsupported aggregate"); + DestroyCodeGenContext(ctx); + return nullptr; } // if a limit clause exists, then increment limit counter and check if reached limit @@ -1641,7 +1662,12 @@ static bool JitSubAggregateRangeSelectCodegen(JitLlvmCodeGenContext* ctx, JitCom JitRangeSelectPlan* subPlan = (JitRangeSelectPlan*)plan->_sub_query_plans[subQueryIndex]; // prepare for aggregation - prepareAggregate(ctx, &subPlan->_aggregate); + if (!prepareAggregate(ctx, &subPlan->_aggregate)) { + MOT_LOG_TRACE( + "Failed to generate jitted code for aggregate range SELECT sub-query: failed to prepare aggregate"); + return false; + } + AddResetStateLimitCounter(ctx); // pay attention: aggregated range scan is not stateful, since we scan all tuples in one call @@ -1675,13 +1701,15 @@ static bool JitSubAggregateRangeSelectCodegen(JitLlvmCodeGenContext* ctx, JitCom // check for additional filters, if not try to fetch next row if (!buildFilterRow(ctx, row, &subPlan->_index_scan._filters, &max_arg, JIT_WHILE_COND_BLOCK())) { MOT_LOG_TRACE("Failed to generate jitted code for aggregate range SELECT sub-query: unsupported filter"); - DestroyCodeGenContext(ctx); return false; } // aggregate into tuple (we use tuple's resno column as aggregated sum instead of defining local variable) // if row disqualified due to DISTINCT operator then go back to loop test block - buildAggregateRow(ctx, &subPlan->_aggregate, row, JIT_WHILE_COND_BLOCK()); + if (!buildAggregateRow(ctx, &subPlan->_aggregate, row, JIT_WHILE_COND_BLOCK())) { + MOT_LOG_TRACE("Failed to generate jitted code for aggregate range SELECT sub-query: unsupported aggregate"); + return false; + } // if a limit clause exists, then increment limit counter and check if reached limit if (subPlan->_limit_count > 0) { diff --git a/src/gausskernel/storage/mot/jit_exec/src/jit_source_map.cpp b/src/gausskernel/storage/mot/jit_exec/src/jit_source_map.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/mot/jit_exec/src/jit_tvm_funcs.h b/src/gausskernel/storage/mot/jit_exec/src/jit_tvm_funcs.h index 3d3e3f2ed..832b770ee 100644 --- a/src/gausskernel/storage/mot/jit_exec/src/jit_tvm_funcs.h +++ b/src/gausskernel/storage/mot/jit_exec/src/jit_tvm_funcs.h @@ -2799,13 +2799,13 @@ inline tvm::Expression* AddReadDatumColumn( return new (std::nothrow) VarExpression(table, row_inst, table_colid, arg_pos); } -inline tvm::Instruction* AddWriteDatumColumn( +inline void AddWriteDatumColumn( JitTvmCodeGenContext* ctx, int table_colid, tvm::Instruction* row_inst, tvm::Instruction* sub_expr) { // make sure we have a column before issuing the call // we always write to a main table row (whether UPDATE or range UPDATE, so inner_scan value below is false) tvm::Instruction* column = AddGetColumnAt(ctx, table_colid, JIT_RANGE_SCAN_MAIN); - return ctx->_builder->addInstruction(new (std::nothrow) WriteDatumColumnInstruction(row_inst, column, sub_expr)); + ctx->_builder->addInstruction(new (std::nothrow) WriteDatumColumnInstruction(row_inst, column, sub_expr)); } inline void AddBuildDatumKey(JitTvmCodeGenContext* ctx, tvm::Instruction* column_inst, int index_colid, diff --git a/src/gausskernel/storage/mot/jit_exec/src/jit_tvm_query_codegen.cpp b/src/gausskernel/storage/mot/jit_exec/src/jit_tvm_query_codegen.cpp old mode 100755 new mode 100644 index d90ffad40..ae190708c --- a/src/gausskernel/storage/mot/jit_exec/src/jit_tvm_query_codegen.cpp +++ b/src/gausskernel/storage/mot/jit_exec/src/jit_tvm_query_codegen.cpp @@ -660,7 +660,12 @@ static JitContext* JitAggregateRangeSelectCodegen( AddExecClearTuple(ctx); // prepare for aggregation - prepareAggregate(ctx, &plan->_aggregate); + if (!prepareAggregate(ctx, &plan->_aggregate)) { + MOT_LOG_TRACE("Failed to generate jitted code for aggregate range SELECT query: failed to prepare aggregate"); + DestroyCodeGenContext(ctx); + return nullptr; + } + AddResetStateLimitCounter(ctx); // pay attention: aggregated range scan is not stateful, since we scan all tuples in one call @@ -695,7 +700,11 @@ static JitContext* JitAggregateRangeSelectCodegen( // aggregate into tuple (we use tuple's resno column as aggregated sum instead of defining local variable) // if row disqualified due to DISTINCT operator then go back to loop test block - buildAggregateRow(ctx, &plan->_aggregate, row, JIT_WHILE_COND_BLOCK()); + if (!buildAggregateRow(ctx, &plan->_aggregate, row, JIT_WHILE_COND_BLOCK())) { + MOT_LOG_TRACE("Failed to generate jitted code for aggregate range SELECT query: unsupported aggregate"); + DestroyCodeGenContext(ctx); + return nullptr; + } // if a limit clause exists, then increment limit counter and check if reached limit if (plan->_limit_count > 0) { @@ -1159,7 +1168,12 @@ static JitContext* JitAggregateRangeJoinCodegen(const Query* query, const char* AddExecClearTuple(ctx); // prepare for aggregation - prepareAggregate(ctx, &plan->_aggregate); + if (!prepareAggregate(ctx, &plan->_aggregate)) { + MOT_LOG_TRACE("Failed to generate jitted code for aggregate range JOIN query: failed to prepare aggregate"); + DestroyCodeGenContext(ctx); + return nullptr; + } + AddResetStateLimitCounter(ctx); // pay attention: aggregated range scan is not stateful, since we scan all tuples in one call @@ -1225,12 +1239,19 @@ static JitContext* JitAggregateRangeJoinCodegen(const Query* query, const char* // aggregate into tuple (we use tuple's resno column as aggregated sum instead of defining local variable) // find out to which table the aggreate expression refers, and aggregate it // if row disqualified due to DISTINCT operator then go back to inner loop test block + bool aggRes = false; if (plan->_aggregate._table == ctx->m_innerTable_info.m_table) { - buildAggregateRow(ctx, &plan->_aggregate, inner_row, JIT_WHILE_COND_BLOCK()); + aggRes = buildAggregateRow(ctx, &plan->_aggregate, inner_row, JIT_WHILE_COND_BLOCK()); } else { // retrieve the safe copy of the outer row Instruction* outer_row_copy = AddGetOuterStateRowCopy(ctx); - buildAggregateRow(ctx, &plan->_aggregate, outer_row_copy, JIT_WHILE_COND_BLOCK()); + aggRes = buildAggregateRow(ctx, &plan->_aggregate, outer_row_copy, JIT_WHILE_COND_BLOCK()); + } + + if (!aggRes) { + MOT_LOG_TRACE("Failed to generate jitted code for aggregate range JOIN query: unsupported aggregate"); + DestroyCodeGenContext(ctx); + return nullptr; } // if a limit clause exists, then increment limit counter and check if reached limit @@ -1363,7 +1384,12 @@ static bool JitSubAggregateRangeSelectCodegen(JitTvmCodeGenContext* ctx, JitComp JitRangeSelectPlan* subPlan = (JitRangeSelectPlan*)plan->_sub_query_plans[subQueryIndex]; // prepare for aggregation - prepareAggregate(ctx, &subPlan->_aggregate); + if (!prepareAggregate(ctx, &subPlan->_aggregate)) { + MOT_LOG_TRACE( + "Failed to generate jitted code for aggregate range SELECT sub-query: failed to prepare aggregate"); + return false; + } + AddResetStateLimitCounter(ctx); // pay attention: aggregated range scan is not stateful, since we scan all tuples in one call @@ -1402,7 +1428,10 @@ static bool JitSubAggregateRangeSelectCodegen(JitTvmCodeGenContext* ctx, JitComp // aggregate into tuple (we use tuple's resno column as aggregated sum instead of defining local variable) // if row disqualified due to DISTINCT operator then go back to loop test block - buildAggregateRow(ctx, &subPlan->_aggregate, row, JIT_WHILE_COND_BLOCK()); + if (!buildAggregateRow(ctx, &subPlan->_aggregate, row, JIT_WHILE_COND_BLOCK())) { + MOT_LOG_TRACE("Failed to generate jitted code for aggregate range SELECT sub-query: unsupported aggregate"); + return false; + } // if a limit clause exists, then increment limit counter and check if reached limit if (subPlan->_limit_count > 0) { diff --git a/src/gausskernel/storage/mot/jit_exec/src/jit_tvm_util.cpp b/src/gausskernel/storage/mot/jit_exec/src/jit_tvm_util.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/page/pagecompress.cpp b/src/gausskernel/storage/page/pagecompress.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/remote/remote_adapter.cpp b/src/gausskernel/storage/remote/remote_adapter.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/replication/Makefile b/src/gausskernel/storage/replication/Makefile index dcca1b57f..af7866e84 100755 --- a/src/gausskernel/storage/replication/Makefile +++ b/src/gausskernel/storage/replication/Makefile @@ -22,7 +22,7 @@ SUBDIRS = logical heartbeat include $(top_srcdir)/src/gausskernel/common.mk # repl_scanner is compiled as part of repl_gram -repl_gram.o: repl_scanner.cpp +repl_gram.o: repl_scanner.inc # See notes in src/common/parser/Makefile about the following two rules repl_gram.hpp: repl_gram.y repl_gram.cpp @@ -39,21 +39,21 @@ else @$(missing) bison $< $@ endif -repl_scanner.cpp: repl_scanner.l +repl_scanner.inc: repl_scanner.l ifdef FLEX $(FLEX) $(FLEXFLAGS) -o'$@' $< - sed -i "s/YY_NULL/YY_ZERO/g" repl_scanner.cpp + sed -i "s/YY_NULL/YY_ZERO/g" repl_scanner.inc @rm -f lex.backup else @$(missing) flex $< $@ - sed -i 's/YY_NULL/YY_ZERO/g' repl_scanner.cpp + sed -i 's/YY_NULL/YY_ZERO/g' repl_scanner.inc endif -# repl_gram.cpp and repl_scanner.cpp are in the distribution tarball, so +# repl_gram.cpp and repl_scanner.inc are in the distribution tarball, so # they are not cleaned here. # scan is compiled as part of gram -syncrep_gram.o: syncrep_scanner.cpp +syncrep_gram.o: syncrep_scanner.inc # Latest flex causes warnings in this file. ifeq ($(GCC),yes) @@ -74,12 +74,12 @@ else @$(missing) bison $< $@ endif -syncrep_scanner.cpp: syncrep_scanner.l +syncrep_scanner.inc: syncrep_scanner.l ifdef FLEX $(FLEX) $(FLEXFLAGS) -o'$@' $< @if [ `wc -l replication_slots[i]; - if (s->in_use && s->data.database == InvalidOid && strcmp(de->d_name, NameStr(s->data.name)) == 0) { + if (s->in_use && s->data.database == InvalidOid && strcmp(de->d_name, NameStr(s->data.name)) == 0 && + GET_SLOT_PERSISTENCY(s->data) != RS_BACKUP && GET_SLOT_EXTRA_DATA_LENGTH(s->data) == 0) { isphysicalslot = true; break; } diff --git a/src/gausskernel/storage/replication/bcm.cpp b/src/gausskernel/storage/replication/bcm.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/replication/catchup.cpp b/src/gausskernel/storage/replication/catchup.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/replication/dataqueue.cpp b/src/gausskernel/storage/replication/dataqueue.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/replication/datarcvwriter.cpp b/src/gausskernel/storage/replication/datarcvwriter.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/replication/datareceiver.cpp b/src/gausskernel/storage/replication/datareceiver.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/replication/datasender.cpp b/src/gausskernel/storage/replication/datasender.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/replication/datasyncrep.cpp b/src/gausskernel/storage/replication/datasyncrep.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/replication/heartbeat.cpp b/src/gausskernel/storage/replication/heartbeat.cpp index 2ad795956..c6f410fc9 100644 --- a/src/gausskernel/storage/replication/heartbeat.cpp +++ b/src/gausskernel/storage/replication/heartbeat.cpp @@ -419,6 +419,24 @@ Size heartbeat_shmem_size(void) return size; } +/* + * Reset heartbeat timestamp. + */ +void InitHeartbeatTimestamp() +{ + volatile heartbeat_state *stat = t_thrd.heartbeat_cxt.state; + + SpinLockAcquire(&stat->mutex); + for (int i = 1; i < MAX_REPLNODE_NUM; i++) { + ReplConnInfo* replconninfo = t_thrd.postmaster_cxt.ReplConnArray[i]; + if (replconninfo == NULL) { + continue; + } + stat->channel_array[i].last_reply_timestamp = 0; + } + SpinLockRelease(&stat->mutex); +} + /* Allocate and initialize heartbeat shared memory */ void heartbeat_shmem_init(void) { diff --git a/src/gausskernel/storage/replication/libpqwalreceiver.cpp b/src/gausskernel/storage/replication/libpqwalreceiver.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/replication/logical/logical.cpp b/src/gausskernel/storage/replication/logical/logical.cpp old mode 100755 new mode 100644 index 34745d89c..7fb2bf757 --- a/src/gausskernel/storage/replication/logical/logical.cpp +++ b/src/gausskernel/storage/replication/logical/logical.cpp @@ -959,8 +959,8 @@ retry: } ereport(FATAL, (errmsg("pg_recvlogical_sender could not connect to the remote server, " - "we have tried %d times, the connection info :%s : %s", - count, conninfo, PQerrorMessage(t_thrd.walsender_cxt.advancePrimaryConn)))); + "we have tried %d times, the connection info :%s : %s", + count, conninfo, PQerrorMessage(t_thrd.walsender_cxt.advancePrimaryConn)))); } /* 2. identify version */ diff --git a/src/gausskernel/storage/replication/logical/logicalfuncs.cpp b/src/gausskernel/storage/replication/logical/logicalfuncs.cpp old mode 100755 new mode 100644 index 943a333db..f1726f28a --- a/src/gausskernel/storage/replication/logical/logicalfuncs.cpp +++ b/src/gausskernel/storage/replication/logical/logicalfuncs.cpp @@ -485,6 +485,11 @@ static Datum pg_logical_slot_get_changes_guts(FunctionCallInfo fcinfo, bool conf log_slot_advance(&t_thrd.slot_cxt.MyReplicationSlot->data); } + if (t_thrd.logical_cxt.sendFd >= 0) { + (void)close(t_thrd.logical_cxt.sendFd); + t_thrd.logical_cxt.sendFd = -1; + } + /* free context, call shutdown callback */ FreeDecodingContext(ctx); diff --git a/src/gausskernel/storage/replication/logical/reorderbuffer.cpp b/src/gausskernel/storage/replication/logical/reorderbuffer.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/replication/logical/snapbuild.cpp b/src/gausskernel/storage/replication/logical/snapbuild.cpp old mode 100755 new mode 100644 index 115f29fc6..8c1b1e24f --- a/src/gausskernel/storage/replication/logical/snapbuild.cpp +++ b/src/gausskernel/storage/replication/logical/snapbuild.cpp @@ -1566,7 +1566,7 @@ static bool SnapBuildRestore(SnapBuild *builder, XLogRecPtr lsn) COMP_CRC32(checksum, ondisk.builder.was_running.was_xip, sz); /* restore committed xacts information */ - if (MAX_SIZE_T_NUM / sizeof(TransactionId) < ondisk.builder.committed.xcnt_space) { + if (MAX_SIZE_T_NUM / sizeof(TransactionId) < ondisk.builder.committed.xcnt) { (void)CloseTransientFile(fd); ereport(ERROR, (errcode_for_file_access(), errmsg("could not read file \"%s\", size overflow", path))); } diff --git a/src/gausskernel/storage/replication/obswalreceiver.cpp b/src/gausskernel/storage/replication/obswalreceiver.cpp index d66ed415b..399e5b8b0 100644 --- a/src/gausskernel/storage/replication/obswalreceiver.cpp +++ b/src/gausskernel/storage/replication/obswalreceiver.cpp @@ -33,6 +33,7 @@ #include "storage/proc.h" #include "utils/guc.h" #include "pgxc/pgxc.h" +#define CUR_OBS_FILE_VERSION 1 #ifdef ENABLE_MULTIPLE_NODES static void convert_dn_barrierid_path(const char *dn_path, char *cn_path) @@ -447,8 +448,9 @@ int obs_replication_archive(const ArchiveXlogMessage *xlogInfo) fileNamePrefix = obs_replication_get_xlog_prefix(xlogInfo->targetLsn, false); fileName = (char*)palloc0(MAX_PATH_LEN); - /* {xlog_name}_{sliece_num}_00000001{term}_00000001{subTerm} */ - rc = sprintf_s(fileName, MAX_PATH_LEN, "%s_%08u_%08d", fileNamePrefix, xlogInfo->term, xlogInfo->sub_term); + /* {xlog_name}_{sliece_num}_01(version_num)_00000001{tli}_00000001{subTerm} */ + rc = sprintf_s(fileName, MAX_PATH_LEN, "%s_%02d_%08u_%08u_%08d", fileNamePrefix, + CUR_OBS_FILE_VERSION, xlogInfo->term, xlogInfo->tli, xlogInfo->sub_term); securec_check_ss(rc, "\0", "\0"); /* Upload xlog slice file to OBS */ @@ -540,7 +542,7 @@ int obs_replication_get_last_xlog(ArchiveXlogMessage *xlogInfo) TimeLineID timeLine; int xlogSegId; int xlogSegOffset; - + int version = 0; if (xlogInfo == NULL) { return -1; } @@ -554,12 +556,12 @@ int obs_replication_get_last_xlog(ArchiveXlogMessage *xlogInfo) fileBaseName = basename(filePath); ereport(DEBUG1, (errmsg("The last xlog on OBS: %s", filePath))); - rc = sscanf_s(fileBaseName, "%8X%8X%8X_%2u_%8u_%8d", &timeLine, &xlogSegId, - &xlogSegOffset, &xlogInfo->slice, &xlogInfo->term, &xlogInfo->sub_term); + rc = sscanf_s(fileBaseName, "%8X%8X%8X_%2u_%02d_%08u_%08u_%08d", &timeLine, &xlogSegId, + &xlogSegOffset, &xlogInfo->slice, &version, &xlogInfo->term, &xlogInfo->tli, &xlogInfo->sub_term); securec_check_for_sscanf_s(rc, 6, "\0", "\0"); - ereport(DEBUG1, (errmsg("Parse xlog filename is %8X%8X%8X_%2u_%8u_%8d", timeLine, xlogSegId, - xlogSegOffset, xlogInfo->slice, xlogInfo->term, xlogInfo->sub_term))); + ereport(DEBUG1, (errmsg("Parse xlog filename is %8X%8X%8X_%2u_%02d_%08u_%08u_%08d", timeLine, xlogSegId, + xlogSegOffset, xlogInfo->slice, version, xlogInfo->term, xlogInfo->tli, xlogInfo->sub_term))); XLogSegNoOffsetToRecPtr(xlogSegId * XLogSegmentsPerXLogId + xlogSegOffset, 0, xlogInfo->targetLsn); diff --git a/src/gausskernel/storage/replication/repl_gram.y b/src/gausskernel/storage/replication/repl_gram.y index 66c50ded2..1045b72e6 100755 --- a/src/gausskernel/storage/replication/repl_gram.y +++ b/src/gausskernel/storage/replication/repl_gram.y @@ -317,7 +317,7 @@ start_logical_replication: } ; -/* ADVANCE_REPLICATION SLOT slot LOGICAL %X/%X */ +/* ADVANCE_REPLICATION SLOT slot LOGICAL %X/%X options */ advance_logical_replication: K_ADVANCE_REPLICATION K_SLOT IDENT K_LOGICAL RECPTR { @@ -419,4 +419,4 @@ replication_yylex(YYSTYPE *lvalp, YYLTYPE *llocp, return replication_scanner_yylex(&(lvalp->yy_core), llocp, yyscanner); } -#include "repl_scanner.cpp" +#include "repl_scanner.inc" diff --git a/src/gausskernel/storage/replication/slot.cpp b/src/gausskernel/storage/replication/slot.cpp index 0a650bd9c..910eab635 100644 --- a/src/gausskernel/storage/replication/slot.cpp +++ b/src/gausskernel/storage/replication/slot.cpp @@ -313,6 +313,7 @@ void ReplicationSlotCreate(const char *name, ReplicationSlotPersistency persiste } LWLockRelease(ReplicationSlotControlLock); + LWLockRelease(ReplicationSlotAllocationLock); ereport(ERROR, (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), errmsg("all replication slots are in use"), errhint("Free one or increase max_replication_slots."))); } @@ -1757,6 +1758,7 @@ char *formObsConfigStringFromStruct(ObsArchiveConfig *obs_config) ObsArchiveConfig* formObsConfigFromStr(char *content, bool encrypted) { ObsArchiveConfig* obs_config = NULL; + errno_t rc = EOK; /* SplitIdentifierString will change origin string */ char *content_copy = pstrdup(content); List* elemlist = NIL; @@ -1780,6 +1782,8 @@ ObsArchiveConfig* formObsConfigFromStr(char *content, bool encrypted) } else { decryptKeyString((char*)list_nth(elemlist, 3), decryptSecretAccessKeyStr, DEST_CIPHER_LENGTH, NULL); obs_config->obs_sk = pstrdup(decryptSecretAccessKeyStr); + rc = memset_s(decryptSecretAccessKeyStr, DEST_CIPHER_LENGTH, 0, DEST_CIPHER_LENGTH); + securec_check(rc, "\0", "\0"); } obs_config->obs_prefix = pstrdup((char*)list_nth(elemlist, 4)); pfree_ext(content_copy); @@ -1816,10 +1820,6 @@ ReplicationSlot *getObsReplicationSlot() // avoid concurrent update g_instance.archive_obs_cxt.archive_slot SpinLockAcquire(&g_instance.archive_obs_cxt.mutex); - if (*slot_idx != -1) { - // recheck global archive slot is updated - return g_instance.archive_obs_cxt.archive_slot; - } for (int slotno = 0; slotno < g_instance.attr.attr_storage.max_replication_slots; slotno++) { ReplicationSlot *slot = &t_thrd.slot_cxt.ReplicationSlotCtl->replication_slots[slotno]; SpinLockAcquire(&slot->mutex); @@ -2038,4 +2038,3 @@ void markObsSlotOperate(int p_slot_num) pfree_ext(g_instance.archive_obs_cxt.archive_slot->archive_obs); } } - diff --git a/src/gausskernel/storage/replication/slotfuncs.cpp b/src/gausskernel/storage/replication/slotfuncs.cpp index 3f353fc56..82e4f07af 100644 --- a/src/gausskernel/storage/replication/slotfuncs.cpp +++ b/src/gausskernel/storage/replication/slotfuncs.cpp @@ -203,6 +203,8 @@ Datum pg_create_physical_replication_slot(PG_FUNCTION_ARGS) HeapTuple tuple; Datum result; + ValidateName(NameStr(*name)); + check_permissions(); CheckSlotRequirements(); @@ -335,6 +337,11 @@ void create_logical_replication_slot(const Name name, Name plugin, bool isDummyS securec_check_ss(rc, "", ""); } + if (t_thrd.logical_cxt.sendFd >= 0) { + (void)close(t_thrd.logical_cxt.sendFd); + t_thrd.logical_cxt.sendFd = -1; + } + /* don't need the decoding context anymore */ if (ctx != NULL) { FreeDecodingContext(ctx); @@ -788,9 +795,12 @@ Datum pg_replication_slot_advance(PG_FUNCTION_ARGS) Datum result; NameData database; char EndLsn[NAMEDATALEN]; - bool for_backup = (strncmp(NameStr(*slotname), "gs_roach", strlen("gs_roach")) == 0); + bool for_backup = false; ValidateName(NameStr(*slotname)); + + for_backup = (strncmp(NameStr(*slotname), "gs_roach", strlen("gs_roach")) == 0); + if (RecoveryInProgress()) { ereport(ERROR, (errcode(ERRCODE_INVALID_OPERATION), errmsg("couldn't advance in recovery"))); } diff --git a/src/gausskernel/storage/replication/syncrep.cpp b/src/gausskernel/storage/replication/syncrep.cpp old mode 100755 new mode 100644 index 940c74e2f..912c826ce --- a/src/gausskernel/storage/replication/syncrep.cpp +++ b/src/gausskernel/storage/replication/syncrep.cpp @@ -646,7 +646,7 @@ bool SyncRepGetSyncRecPtr(XLogRecPtr *receivePtr, XLogRecPtr *writePtr, XLogRecP * or there are not enough synchronous standbys. * but in a particular scenario, when most_available_sync is true, primary only wait the alive sync standbys * if list_length(sync_standbys) doesn't satisfy t_thrd.syncrep_cxt.SyncRepConfig->num_sync. - */ + */ if ((!(*am_sync) && check_am_sync) || t_thrd.syncrep_cxt.SyncRepConfig == NULL || (!t_thrd.walsender_cxt.WalSndCtl->most_available_sync && list_length(sync_standbys) < t_thrd.syncrep_cxt.SyncRepConfig->num_sync)) { @@ -1457,6 +1457,11 @@ bool check_synchronous_standby_names(char **newval, void **extra, GucSource sour securec_check(rc, "", ""); *extra = (void *)pconf; + if (t_thrd.syncrepgram_cxt.syncrep_parse_result) { + pfree(t_thrd.syncrepgram_cxt.syncrep_parse_result); + t_thrd.syncrepgram_cxt.syncrep_parse_result = NULL; + } + /* * We need not explicitly clean up syncrep_parse_result. It, and any * other cruft generated during parsing, will be freed when the diff --git a/src/gausskernel/storage/replication/syncrep_gram.y b/src/gausskernel/storage/replication/syncrep_gram.y index a96c32159..04cf902e1 100644 --- a/src/gausskernel/storage/replication/syncrep_gram.y +++ b/src/gausskernel/storage/replication/syncrep_gram.y @@ -79,9 +79,9 @@ result: standby_config: standby_list { $$ = create_syncrep_config("1", $1, SYNC_REP_PRIORITY); } - | NUM '(' standby_list ')' { $$ = create_syncrep_config($1, $3, SYNC_REP_PRIORITY); } - | ANY NUM '(' standby_list ')' { $$ = create_syncrep_config($2, $4, SYNC_REP_QUORUM); } - | FIRST NUM '(' standby_list ')' { $$ = create_syncrep_config($2, $4, SYNC_REP_PRIORITY); } + | NUM '(' standby_list ')' { $$ = create_syncrep_config($1, $3, SYNC_REP_PRIORITY); pfree($1); } + | ANY NUM '(' standby_list ')' { $$ = create_syncrep_config($2, $4, SYNC_REP_QUORUM); pfree($2); } + | FIRST NUM '(' standby_list ')' { $$ = create_syncrep_config($2, $4, SYNC_REP_PRIORITY); pfree($2); } ; standby_list: @@ -148,6 +148,21 @@ create_syncrep_config(const char *num_sync, List *members, uint8 syncrep_method) ptr += strlen(standby_name) + 1; used_size += strlen(standby_name) + 1; } + lc = list_head(members); + while (lc != NULL) + { + ListCell *tmp = lc; + char *standbyName = (char *) lfirst(lc); + lc = lnext(lc); + /* we do not need free "*" because it is not from palloc */ + if (strcmp(standbyName, "*") != 0) { + pfree(lfirst(tmp)); + pfree(tmp); + } + } + if (members != NULL) { + pfree(members); + } return config; } @@ -156,4 +171,4 @@ create_syncrep_config(const char *num_sync, List *members, uint8 syncrep_method) #undef yylval #undef yylloc -#include "syncrep_scanner.cpp" +#include "syncrep_scanner.inc" diff --git a/src/gausskernel/storage/replication/syncrep_scanner.l b/src/gausskernel/storage/replication/syncrep_scanner.l index 9f5e5760c..cefd461de 100755 --- a/src/gausskernel/storage/replication/syncrep_scanner.l +++ b/src/gausskernel/storage/replication/syncrep_scanner.l @@ -176,6 +176,8 @@ syncrep_scanner_init(const char *query_string) void syncrep_scanner_finish(syncrep_scanner_yyscan_t yyscanner) { + if ((YY_BUFFER_STATE*)t_thrd.syncrepscanner_cxt.scanbufhandle->yy_ch_buf) + yyfree((YY_BUFFER_STATE*)t_thrd.syncrepscanner_cxt.scanbufhandle->yy_ch_buf ,yyscanner ); yy_delete_buffer(t_thrd.syncrepscanner_cxt.scanbufhandle, yyscanner); t_thrd.syncrepscanner_cxt.scanbufhandle = NULL; yylex_destroy(yyscanner); diff --git a/src/gausskernel/storage/replication/walrcvwriter.cpp b/src/gausskernel/storage/replication/walrcvwriter.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/replication/walreceiver.cpp b/src/gausskernel/storage/replication/walreceiver.cpp old mode 100755 new mode 100644 index 712436ef4..f07fda4fa --- a/src/gausskernel/storage/replication/walreceiver.cpp +++ b/src/gausskernel/storage/replication/walreceiver.cpp @@ -313,12 +313,13 @@ static void wakeupObsArchLatch() void RefuseConnect() { WalRcvData *walrcv = t_thrd.walreceiverfuncs_cxt.WalRcv; - knl_g_disconn_node_context_data disconn_node = g_instance.comm_cxt.localinfo_cxt.disable_conn_node.disable_conn_node_data; + if (disconn_node.conn_mode == POLLING_CONNECTION) { return; } + if (disconn_node.conn_mode == SPECIFY_CONNECTION && strcmp(disconn_node.disable_conn_node_host, (char *)walrcv->conn_channel.remotehost) == 0 && disconn_node.disable_conn_node_port == walrcv->conn_channel.remoteport) { @@ -437,9 +438,13 @@ void WalReceiverMain(void) int channel_identifier = 0; int nRet = 0; errno_t rc = 0; + uint32 isRedoFinish; t_thrd.walreceiver_cxt.last_sendfilereply_timestamp = GetCurrentTimestamp(); t_thrd.walreceiver_cxt.standby_config_modify_time = time(NULL); + isRedoFinish = pg_atomic_read_u32(&(g_instance.comm_cxt.predo_cxt.isRedoFinish)); + knl_g_set_redo_finish_status(isRedoFinish | REDO_FINISH_STATUS_CM); + ereport(LOG, (errmsg("set knl_g_set_redo_finish_status_CM to true when connecting to the primary"))); /* * WalRcv should be set up already (if we are a backend, we inherit this @@ -573,6 +578,7 @@ void WalReceiverMain(void) t_thrd.xlog_cxt.ThisTimeLineID = GetRecoveryTargetTLI(); /* Establish the connection to the primary for XLOG streaming */ EnableWalRcvImmediateExit(); + WalReceiverFuncTable[GET_FUNC_IDX].walrcv_connect(conninfo, &startpoint, slotname[0] != '\0' ? slotname : NULL, channel_identifier); DisableWalRcvImmediateExit(); @@ -636,6 +642,10 @@ void WalReceiverMain(void) knl_g_set_redo_finish_status(REDO_FINISH_STATUS_LOCAL); ereport(LOG, (errmsg("set knl_g_set_redo_finish_status to false when connecting to the primary"))); + /* + * Prevent the effect of the last wallreceiver connection. + */ + InitHeartbeatTimestamp(); /* Loop until end-of-streaming or error */ for (;;) { @@ -671,7 +681,24 @@ static inline TimestampTz CalculateTimeout(TimestampTz last_reply_time) static bool WalRecCheckTimeOut(TimestampTz nowtime, TimestampTz last_recv_timestamp, bool ping_sent) { bool requestReply = false; - TimestampTz timeout; + TimestampTz heartbeat = GetHeartbeatLastReplyTimestamp(); + TimestampTz calculateTime = CalculateTimeout(heartbeat); + TimestampTz hbValid = TimestampTzPlusMilliseconds(heartbeat, u_sess->attr.attr_storage.wal_receiver_timeout * 2); + /* + * The host locally records the last communication time of the standby, + * when the time exceeds heartbeat_ Timeout: if the heartbeat message is not received, + * the heartbeat timeout will be triggered and walsender will exit. + * In switchover scenario, if the host exits the heartbeat thread, + * the standby will exit the walkreceiver thread. This causes switchover to fail, + * so heartbeat timeout is not judged during switchover. + */ + if (timestamptz_cmp_internal(nowtime, calculateTime) >= 0 && timestamptz_cmp_internal(hbValid, nowtime) >= 0 && + (t_thrd.walreceiverfuncs_cxt.WalRcv != NULL && + t_thrd.walreceiverfuncs_cxt.WalRcv->node_state != NODESTATE_STANDBY_WAITING)) { + ereport(ERROR, (errmsg( + "terminating walreceiver due to heartbeat timeout,now time(%s) last heartbeat time(%s) calculateTime(%s)", + timestamptz_to_str(nowtime), timestamptz_to_str(heartbeat), timestamptz_to_str(calculateTime)))); + } /* don't bail out if we're doing something that doesn't require timeouts */ if (u_sess->attr.attr_storage.wal_receiver_timeout <= 0) { @@ -688,12 +715,11 @@ static bool WalRecCheckTimeOut(TimestampTz nowtime, TimestampTz last_recv_timest last_reply_time = last_recv_timestamp; } - timeout = CalculateTimeout(last_reply_time); + TimestampTz timeout = CalculateTimeout(last_reply_time); if (nowtime < timeout) { return requestReply; } - TimestampTz heartbeat = GetHeartbeatLastReplyTimestamp(); /* If heartbeat newer, use heartbeat to recalculate timeout. */ if (timestamptz_cmp_internal(heartbeat, last_reply_time) > 0) { last_reply_time = heartbeat; @@ -705,17 +731,12 @@ static bool WalRecCheckTimeOut(TimestampTz nowtime, TimestampTz last_recv_timest * replication timeout. Ping the server. */ if (nowtime >= timeout) { - WalReplicationTimestampInfo timeStampInfo; - timeStampInfo.timeout = timeout; - timeStampInfo.nowtime = nowtime; - timeStampInfo.last_timestamp = last_reply_time; - timeStampInfo.heartbeat = heartbeat; + WalReplicationTimestampInfo tpInfo; if (log_min_messages <= DEBUG2 || client_min_messages <= DEBUG2) { - WalReplicationTimestampToString(&timeStampInfo); + WalReplicationTimestampToString(&tpInfo, nowtime, timeout, last_recv_timestamp, heartbeat); ereport(DEBUG2, - (errmsg("now time(%s) timeout time(%s) last recv time(%s), heartbeat time(%s), ping_sent(%d)", - timeStampInfo.nowTimeStamp, timeStampInfo.timeoutStamp, timeStampInfo.lastRecStamp, - timeStampInfo.heartbeatStamp, ping_sent))); + (errmsg("now time(%s) timeout time(%s) last recv time(%s), heartbeat time(%s), ping_sent(%d)", + tpInfo.nowTimeStamp, tpInfo.timeoutStamp, tpInfo.lastRecStamp, tpInfo.heartbeatStamp, ping_sent))); } if (!ping_sent) { requestReply = true; @@ -723,13 +744,10 @@ static bool WalRecCheckTimeOut(TimestampTz nowtime, TimestampTz last_recv_timest knl_g_set_redo_finish_status(0); ereport(LOG, (errmsg("set knl_g_set_redo_finish_status to false in WalRecCheckTimeOut"))); if (log_min_messages <= ERROR || client_min_messages <= ERROR) { - timeStampInfo.last_timestamp = last_recv_timestamp; - WalReplicationTimestampToString(&timeStampInfo); - ereport(ERROR, (errcode(ERRCODE_CONNECTION_TIMED_OUT), - errmsg("terminating walreceiver due to timeout " - "now time(%s) timeout time(%s) last recv time(%s) heartbeat time(%s)", - timeStampInfo.nowTimeStamp, timeStampInfo.timeoutStamp, timeStampInfo.lastRecStamp, - timeStampInfo.heartbeatStamp))); + WalReplicationTimestampToString(&tpInfo, nowtime, timeout, last_recv_timestamp, heartbeat); + ereport(ERROR, (errcode(ERRCODE_CONNECTION_TIMED_OUT), errmsg("terminating walreceiver due to timeout " + "now time(%s) timeout time(%s) last recv time(%s) heartbeat time(%s)", + tpInfo.nowTimeStamp, tpInfo.timeoutStamp, tpInfo.lastRecStamp, tpInfo.heartbeatStamp))); } } } @@ -779,8 +797,8 @@ static void WalRcvDie(int code, Datum arg) extremRTO is on, and DN received force finish signal, if cleanup is blocked, the force finish signal will be ignored! */ - knl_g_set_redo_finish_status(0); - ereport(LOG, (errmsg("set knl_g_set_redo_finish_status to false in WalRcvDie"))); + knl_g_clear_local_redo_finish_status(); + ereport(LOG, (errmsg("set local_redo_finish_status to false in WalRcvDie"))); walRcvDataCleanup(); diff --git a/src/gausskernel/storage/replication/walreceiverfuncs.cpp b/src/gausskernel/storage/replication/walreceiverfuncs.cpp old mode 100755 new mode 100644 index d7ab4cb57..78672a4b7 --- a/src/gausskernel/storage/replication/walreceiverfuncs.cpp +++ b/src/gausskernel/storage/replication/walreceiverfuncs.cpp @@ -122,6 +122,7 @@ static void SetWalRcvConninfo(ReplConnTarget conn_target) volatile WalRcvData *walrcv = t_thrd.walreceiverfuncs_cxt.WalRcv; volatile HaShmemData *hashmdata = t_thrd.postmaster_cxt.HaShmData; ReplConnInfo *conninfo = NULL; + int checknum = MAX_REPLNODE_NUM; if (IS_DN_DUMMY_STANDYS_MODE()) { if (conn_target == REPCONNTARGET_PRIMARY) { @@ -143,8 +144,30 @@ static void SetWalRcvConninfo(ReplConnTarget conn_target) t_thrd.walreceiverfuncs_cxt.WalReplIndex = REPL_IDX_STANDBY; } } + SpinLockAcquire(&g_instance.comm_cxt.localinfo_cxt.disable_conn_node.info_lck); + knl_g_disconn_node_context_data connNode = + g_instance.comm_cxt.localinfo_cxt.disable_conn_node.disable_conn_node_data; + SpinLockRelease(&g_instance.comm_cxt.localinfo_cxt.disable_conn_node.info_lck); + + /* + * Skip other connections if you specify a connection host. + */ + while (checknum--) { + conninfo = GetRepConnArray(&t_thrd.walreceiverfuncs_cxt.WalReplIndex); + if (connNode.conn_mode == SPECIFY_CONNECTION && + (conninfo != NULL && + strcmp(connNode.disable_conn_node_host, (char *)conninfo->remotehost) == 0) && + connNode.disable_conn_node_port == conninfo->remoteport) { + break; + } + + if (connNode.conn_mode != SPECIFY_CONNECTION) { + break; + } + + t_thrd.walreceiverfuncs_cxt.WalReplIndex++; + } - conninfo = GetRepConnArray(&t_thrd.walreceiverfuncs_cxt.WalReplIndex); if (conninfo != NULL) { int rcs = 0; @@ -388,11 +411,6 @@ void RequestXLogStreaming(XLogRecPtr *recptr, const char *conninfo, ReplConnTarg Lcrecptr = *recptr; - /* - * Enter this function means redo done, set redo finish to true. - */ - knl_g_set_redo_finish_status(REDO_FINISH_STATUS_LOCAL | REDO_FINISH_STATUS_CM); - ereport(LOG, (errmsg("knl_g_set_redo_finish_status true in RequestXLogStreaming"))); /* * We always start at the beginning of the segment. That prevents a broken * segment (i.e., with no records in the first half of a segment) from diff --git a/src/gausskernel/storage/replication/walsender.cpp b/src/gausskernel/storage/replication/walsender.cpp old mode 100755 new mode 100644 index 298666868..ddd048819 --- a/src/gausskernel/storage/replication/walsender.cpp +++ b/src/gausskernel/storage/replication/walsender.cpp @@ -167,7 +167,7 @@ static void ProcessStandbyHSFeedbackMessage(void); static void ProcessStandbySwitchRequestMessage(void); static void ProcessRepliesIfAny(void); static bool LogicalSlotSleepFlag(void); -static void do_actual_sleep(volatile WalSnd *walsnd); +static void do_actual_sleep(volatile WalSnd *walsnd, bool forceUpdate); static void LogCtrlCountSleepLimit(void); static void LogCtrlSleep(void); static void LogCtrlCalculateCurrentRTO(StandbyReplyMessage *reply); @@ -348,12 +348,10 @@ int WalSenderMain(void) /* check PMstate and RecoveryInProgress */ void CheckPMstateAndRecoveryInProgress(void) { -#ifdef ENABLE_MULTIPLE_NODES if (!PMstateIsRun() || RecoveryInProgress()) { ereport(ERROR, (errcode(ERRCODE_LOGICAL_DECODE_ERROR), errmsg("can't decode in pmState is not run or recovery in progress."))); } -#endif } /* @@ -1883,7 +1881,9 @@ static void IdentifyCommand(Node* cmd_node, bool* replication_started, const cha /* break out of the loop */ *replication_started = true; } else { +#ifdef ENABLE_MULTIPLE_NODES CheckPMstateAndRecoveryInProgress(); +#endif StartLogicalReplication(cmd); } break; @@ -2195,19 +2195,22 @@ static bool LogicalSlotSleepFlag(void) return false; } -static void do_actual_sleep(volatile WalSnd *walsnd) +static void do_actual_sleep(volatile WalSnd *walsnd, bool forceUpdate) { bool logical_slot_sleep_flag = LogicalSlotSleepFlag(); /* try to control log sent rate so that standby can flush and apply log under RTO seconds */ if (walsnd->state == WALSNDSTATE_STREAMING && IS_PGXC_DATANODE) { if (u_sess->attr.attr_storage.target_rto > 0 || u_sess->attr.attr_storage.time_to_target_rpo > 0) { - if (walsnd->log_ctrl.sleep_count % walsnd->log_ctrl.sleep_count_limit == 0) { + if (walsnd->log_ctrl.sleep_count % walsnd->log_ctrl.sleep_count_limit == 0 + || walsnd->log_ctrl.just_keep_alive || forceUpdate) { LogCtrlCalculateSleepTime(); LogCtrlCountSleepLimit(); } - pgstat_report_waitevent(WAIT_EVENT_LOGCTRL_SLEEP); - LogCtrlSleep(); - pgstat_report_waitevent(WAIT_EVENT_END); + if (!walsnd->log_ctrl.just_keep_alive) { + pgstat_report_waitevent(WAIT_EVENT_LOGCTRL_SLEEP); + LogCtrlSleep(); + pgstat_report_waitevent(WAIT_EVENT_END); + } if (logical_slot_sleep_flag && g_logical_slot_sleep_time > t_thrd.walsender_cxt.MyWalSnd->log_ctrl.sleep_time) { pg_usleep(g_logical_slot_sleep_time - t_thrd.walsender_cxt.MyWalSnd->log_ctrl.sleep_time); @@ -2221,6 +2224,21 @@ static void do_actual_sleep(volatile WalSnd *walsnd) walsnd->log_ctrl.sleep_count++; } +static void AdvanceReplicationSlot(XLogRecPtr flush) +{ + if (t_thrd.slot_cxt.MyReplicationSlot && (!XLByteEQ(flush, InvalidXLogRecPtr))) { + if (t_thrd.slot_cxt.MyReplicationSlot->data.database != InvalidOid) { + LogicalConfirmReceivedLocation(flush); + if (RecoveryInProgress() && OidIsValid(t_thrd.slot_cxt.MyReplicationSlot->data.database)) { + /* Notify the primary to advance logical slot location */ + NotifyPrimaryAdvance(flush); + } + } else { + PhysicalConfirmReceivedLocation(flush); + } + } +} + /* * Regular reply from standby advising of WAL positions on standby server. */ @@ -2242,6 +2260,50 @@ static void ProcessStandbyReplyMessage(void) } /* use volatile pointer to prevent code rearrangement */ volatile WalSnd *walsnd = t_thrd.walsender_cxt.MyWalSnd; + + /* + * Update shared state for this WalSender process based on reply data from + * standby. + */ + { + SpinLockAcquire(&walsnd->mutex); + walsnd->receive = reply.receive; + walsnd->write = reply.write; + walsnd->flush = reply.flush; + walsnd->apply = reply.apply; + walsnd->peer_role = reply.peer_role; + walsnd->peer_state = reply.peer_state; + SpinLockRelease(&walsnd->mutex); + } + + /* + * Only sleep when local role is not WAL_DB_SENDER. + */ + if (!AM_WAL_DB_SENDER) { + bool forceUpdate = false; + long millisec_time_diff = 0; + if (walsnd->log_ctrl.prev_reply_time > 0) { + long sec_to_time; + int microsec_to_time; + TimestampDifference(walsnd->log_ctrl.prev_reply_time, reply.sendTime, &sec_to_time, µsec_to_time); + millisec_time_diff = sec_to_time * MILLISECONDS_PER_SECONDS + + microsec_to_time / MILLISECONDS_PER_MICROSECONDS; + forceUpdate = millisec_time_diff > MILLISECONDS_PER_SECONDS; + } + + if (IS_PGXC_DATANODE && ((walsnd->log_ctrl.sleep_count % walsnd->log_ctrl.sleep_count_limit) == 0 + || walsnd->log_ctrl.just_keep_alive || forceUpdate)) { + LogCtrlCalculateCurrentRTO(&reply); + if (getObsReplicationSlot() && (u_sess->attr.attr_storage.time_to_target_rpo > 0)) { + LogCtrlCalculateCurrentRPO(); + } + walsnd->log_ctrl.prev_reply_time = reply.sendTime; + walsnd->log_ctrl.prev_flush = reply.flush; + walsnd->log_ctrl.prev_apply = reply.apply; + } + do_actual_sleep(walsnd, forceUpdate); + } + if (IS_PGXC_DATANODE) { char *standby_name = (char *)(g_instance.rto_cxt.rto_standby_data[walsnd->index].id); rc = strncpy_s(standby_name, NODENAMELEN, u_sess->attr.attr_common.application_name, @@ -2263,34 +2325,6 @@ static void ProcessStandbyReplyMessage(void) } } - /* - * Update shared state for this WalSender process based on reply data from - * standby. - */ - { - SpinLockAcquire(&walsnd->mutex); - walsnd->receive = reply.receive; - walsnd->write = reply.write; - walsnd->flush = reply.flush; - walsnd->apply = reply.apply; - walsnd->peer_role = reply.peer_role; - walsnd->peer_state = reply.peer_state; - SpinLockRelease(&walsnd->mutex); - } - - /* - * Only sleep when local role is not WAL_DB_SENDER. - */ - if (!AM_WAL_DB_SENDER) { - if (IS_PGXC_DATANODE && walsnd->log_ctrl.sleep_count % walsnd->log_ctrl.sleep_count_limit == 0) { - LogCtrlCalculateCurrentRTO(&reply); - LogCtrlCalculateCurrentRPO(); - walsnd->log_ctrl.prev_reply_time = reply.sendTime; - walsnd->log_ctrl.prev_flush = reply.flush; - walsnd->log_ctrl.prev_apply = reply.apply; - } - do_actual_sleep(walsnd); - } if (!AM_WAL_STANDBY_SENDER) { SyncRepReleaseWaiters(); } @@ -2298,17 +2332,7 @@ static void ProcessStandbyReplyMessage(void) /* * Advance our local xmin horizon when the client confirmed a flush. */ - if (t_thrd.slot_cxt.MyReplicationSlot && (!XLByteEQ(reply.flush, InvalidXLogRecPtr))) { - if (t_thrd.slot_cxt.MyReplicationSlot->data.database != InvalidOid) { - LogicalConfirmReceivedLocation(reply.flush); - if (RecoveryInProgress() && OidIsValid(t_thrd.slot_cxt.MyReplicationSlot->data.database)) { - /* Notify the primary to advance logical slot location */ - NotifyPrimaryAdvance(reply.flush); - } - } else { - PhysicalConfirmReceivedLocation(reply.flush); - } - } + AdvanceReplicationSlot(reply.flush); if (AM_WAL_STANDBY_SENDER) { sndFlush = GetFlushRecPtr(); @@ -2489,7 +2513,16 @@ static void ProcessArchiveFeedbackMessage(void) (uint32)(reply.targetLsn >> 32), (uint32)(reply.targetLsn)))); g_instance.archive_obs_cxt.pitr_finish_result = reply.pitr_result; g_instance.archive_obs_cxt.archive_task.targetLsn = reply.targetLsn; - Assert(walsnd->arch_latch != NULL); + if (walsnd->arch_latch == NULL) { + /* + * slave send feedback message for the arch request that sent during last restart, + * and arch thread is not start yet, so we ignore this message unti arch thread is normal + */ + ereport(WARNING, + (errmsg("master received archive feedback message, but arch not work yet %d %X/%X", reply.pitr_result, + (uint32)(reply.targetLsn >> 32), (uint32)(reply.targetLsn)))); + return ; + } SetLatch(walsnd->arch_latch); } @@ -2546,7 +2579,11 @@ static void LogCtrlCalculateCurrentRTO(StandbyReplyMessage *reply) XLByteLT(reply->flush, walsnd->log_ctrl.prev_flush) || XLByteLT(reply->apply, walsnd->log_ctrl.prev_apply)) { return; } - + if (XLByteEQ(reply->receive, reply->apply)) { + walsnd->log_ctrl.prev_RTO = walsnd->log_ctrl.current_RTO; + walsnd->log_ctrl.current_RTO = 0; + return; + } uint64 part1 = reply->receive - reply->flush; uint64 part2 = reply->flush - reply->apply; uint64 part1_diff = reply->flush - walsnd->log_ctrl.prev_flush; @@ -2581,8 +2618,12 @@ static void LogCtrlCalculateCurrentRTO(StandbyReplyMessage *reply) uint64 consumeRatePart1 = (walsnd->log_ctrl.pre_rate1 >> SHIFT_SPEED); uint64 consumeRatePart2 = (walsnd->log_ctrl.pre_rate2 >> SHIFT_SPEED); - if (consumeRatePart1 == 0 || consumeRatePart2 == 0) { - return; + if (consumeRatePart1 == 0) { + consumeRatePart1 = 1; + } + + if (consumeRatePart2 == 0) { + consumeRatePart2 = 1; } uint64 sec_RTO_part1 = (part1 / consumeRatePart1) / MILLISECONDS_PER_SECONDS; @@ -2660,13 +2701,18 @@ static void LogCtrlCalculateSleepTime(void) volatile WalSnd *walsnd = t_thrd.walsender_cxt.MyWalSnd; int64 gapDiff; int64 gap; - - LogCtrlCalculateIndicatorChange(&gapDiff, &gap); - /* If gap_diff is 0, the gap of the RPO and RTO remains unchanged. */ - if (gapDiff == 0) { + if (walsnd->log_ctrl.just_keep_alive) { + if (walsnd->log_ctrl.current_RTO == 0) + walsnd->log_ctrl.sleep_time = 0; + else + walsnd->log_ctrl.sleep_time -= (SLEEP_LESS * 10); + if (walsnd->log_ctrl.sleep_time < 0) + walsnd->log_ctrl.sleep_time = 0; return; } + LogCtrlCalculateIndicatorChange(&gapDiff, &gap); + int64 sleepTime = walsnd->log_ctrl.sleep_time; /* use for rto log */ int64 pre_time = walsnd->log_ctrl.sleep_time; @@ -3177,10 +3223,11 @@ static int WalSndLoop(WalSndSendDataCallback send_data) } else { ChooseStartPointForDummyStandby(); - if (!pq_is_send_pending()) + if (!pq_is_send_pending()) { send_data(); - else + } else { t_thrd.walsender_cxt.walSndCaughtUp = false; + } /* Send DummyStandby end message */ if (t_thrd.walsender_cxt.walSndCaughtUp) { @@ -3471,16 +3518,12 @@ static void WalSndCheckTimeOut(TimestampTz now) */ if (log_min_messages <= ERROR || client_min_messages <= ERROR) { WalReplicationTimestampInfo timeStampInfo; - timeStampInfo.timeout = timeout; - timeStampInfo.nowtime = now; - timeStampInfo.last_timestamp = last_reply_time; - timeStampInfo.heartbeat = heartbeat; - WalReplicationTimestampToString(&timeStampInfo); + WalReplicationTimestampToString(&timeStampInfo, now, timeout, last_reply_time, heartbeat); ereport(ERROR, (errmsg("terminating Walsender process due to replication timeout." "now time(%s) timeout time(%s) last recv time(%s) heartbeat time(%s)", timeStampInfo.nowTimeStamp, timeStampInfo.timeoutStamp, timeStampInfo.lastRecStamp, timeStampInfo.heartbeatStamp))); - } + } WalSndShutdown(); } } @@ -3562,6 +3605,7 @@ static void InitWalSnd(void) walsnd->log_ctrl.pre_rate2 = 0; walsnd->log_ctrl.prev_RPO = -1; walsnd->log_ctrl.current_RPO = -1; + walsnd->log_ctrl.just_keep_alive = false; SpinLockRelease(&walsnd->mutex); /* don't need the lock anymore */ OwnLatch((Latch *)&walsnd->latch); @@ -3827,7 +3871,9 @@ retry: */ static void XLogSendLogical(void) { +#ifdef ENABLE_MULTIPLE_NODES CheckPMstateAndRecoveryInProgress(); +#endif XLogRecord *record = NULL; char *errm = NULL; @@ -3992,7 +4038,7 @@ static void XLogSendPhysical(void) msghdr.sendTime = GetCurrentTimestamp(); msghdr.sender_sent_location = endptr; msghdr.catchup = (t_thrd.walsender_cxt.MyWalSnd->state == WALSNDSTATE_CATCHUP && - !t_thrd.walsender_cxt.walSndCaughtUp); + !t_thrd.walsender_cxt.walSndCaughtUp); SpinLockAcquire(&hashmdata->mutex); local_role = hashmdata->current_mode; SpinLockRelease(&hashmdata->mutex); @@ -4025,6 +4071,7 @@ static void XLogSendPhysical(void) SpinLockAcquire(&walsnd->mutex); walsnd->sentPtr = t_thrd.walsender_cxt.sentPtr; SpinLockRelease(&walsnd->mutex); + walsnd->log_ctrl.just_keep_alive = false; } /* Report progress of XLOG streaming in PS display */ @@ -4751,7 +4798,8 @@ static void WalSndKeepalive(bool requestReply) PrimaryKeepaliveMessage keepalive_message; volatile HaShmemData *hashmdata = t_thrd.postmaster_cxt.HaShmData; errno_t errorno = EOK; - + /* use volatile pointer to prevent code rearrangement */ + volatile WalSnd *walsnd = t_thrd.walsender_cxt.MyWalSnd; /* Construct a new message */ SpinLockAcquire(&hashmdata->mutex); keepalive_message.peer_role = hashmdata->current_mode; @@ -4775,6 +4823,7 @@ static void WalSndKeepalive(bool requestReply) /* Flush the keepalive message to standby immediately. */ if (pq_flush_if_writable() != 0) WalSndShutdown(); + walsnd->log_ctrl.just_keep_alive = true; } /* @@ -4918,6 +4967,7 @@ static void WalSndArchiveXlog(XLogRecPtr targetLsn, int sub_term) (errmsg("WalSndArchiveXlog %X/%X", (uint32)(targetLsn >> 32), (uint32)(targetLsn)))); archive_message.targetLsn = targetLsn; + archive_message.tli = get_controlfile_timeline(); archive_message.term = Max(g_instance.comm_cxt.localinfo_cxt.term_from_file, g_instance.comm_cxt.localinfo_cxt.term_from_xlog); archive_message.sub_term = sub_term; diff --git a/src/gausskernel/storage/smgr/md.cpp b/src/gausskernel/storage/smgr/md.cpp old mode 100755 new mode 100644 diff --git a/src/gausskernel/storage/smgr/smgr.cpp b/src/gausskernel/storage/smgr/smgr.cpp old mode 100755 new mode 100644 diff --git a/src/get_PlatForm_str.sh b/src/get_PlatForm_str.sh old mode 100644 new mode 100755 diff --git a/src/include/Makefile b/src/include/Makefile old mode 100755 new mode 100644 diff --git a/src/include/access/cbmparsexlog.h b/src/include/access/cbmparsexlog.h old mode 100755 new mode 100644 diff --git a/src/include/access/cstore_am.h b/src/include/access/cstore_am.h old mode 100755 new mode 100644 diff --git a/src/include/access/cstore_delete.h b/src/include/access/cstore_delete.h old mode 100755 new mode 100644 diff --git a/src/include/access/cstore_insert.h b/src/include/access/cstore_insert.h old mode 100755 new mode 100644 diff --git a/src/include/access/cstore_psort.h b/src/include/access/cstore_psort.h old mode 100755 new mode 100644 diff --git a/src/include/access/cstore_update.h b/src/include/access/cstore_update.h old mode 100755 new mode 100644 diff --git a/src/include/access/cstore_vector.h b/src/include/access/cstore_vector.h old mode 100755 new mode 100644 diff --git a/src/include/access/dfs/dfs_am.h b/src/include/access/dfs/dfs_am.h old mode 100755 new mode 100644 diff --git a/src/include/access/dfs/dfs_query.h b/src/include/access/dfs/dfs_query.h old mode 100755 new mode 100644 diff --git a/src/include/access/extreme_rto/dispatcher.h b/src/include/access/extreme_rto/dispatcher.h index 74ecc76cc..4156b5332 100644 --- a/src/include/access/extreme_rto/dispatcher.h +++ b/src/include/access/extreme_rto/dispatcher.h @@ -168,6 +168,7 @@ typedef struct { slock_t updateLck; #endif RedoInterruptCallBackFunc oldStartupIntrruptFunc; + volatile bool recoveryStop; } LogDispatcher; typedef struct { @@ -247,6 +248,9 @@ void StartupSendFowarder(RedoItem *item); XLogRecPtr GetSafeMinCheckPoint(); RedoWaitInfo redo_get_io_event(int32 event_id); void redo_get_wroker_statistic(uint32 *realNum, RedoWorkerStatsData *worker, uint32 workerLen); +#ifndef ENABLE_MULTIPLE_NODES +void CheckCommittingCsnList(); +#endif } // namespace extreme_rto diff --git a/src/include/access/extreme_rto/page_redo.h b/src/include/access/extreme_rto/page_redo.h index 5095d07ea..e789c4751 100644 --- a/src/include/access/extreme_rto/page_redo.h +++ b/src/include/access/extreme_rto/page_redo.h @@ -144,7 +144,9 @@ struct PageRedoWorker { */ /* XLog invalid pages. */ void *xlogInvalidPages; - +#ifndef ENABLE_MULTIPLE_NODES + void *committingCsnList; +#endif /* --------------------------------------------- * Phase barrier. * @@ -219,6 +221,7 @@ void PutRecordToReadQueue(XLogReaderState *recordreader); bool LsnUpdate(); void ResetRtoXlogReadBuf(XLogRecPtr targetPagePtr); bool XLogPageReadForExtRto(XLogReaderState *xlogreader, XLogRecPtr targetPagePtr, int reqLen); +void ExtremeRtoStopHere(); } // namespace extreme_rto #endif diff --git a/src/include/access/gin_private.h b/src/include/access/gin_private.h old mode 100755 new mode 100644 diff --git a/src/include/access/gist_private.h b/src/include/access/gist_private.h old mode 100755 new mode 100644 diff --git a/src/include/access/gtm.h b/src/include/access/gtm.h old mode 100755 new mode 100644 diff --git a/src/include/access/hash.h b/src/include/access/hash.h old mode 100755 new mode 100644 diff --git a/src/include/access/hbucket_am.h b/src/include/access/hbucket_am.h old mode 100755 new mode 100644 diff --git a/src/include/access/htup.h b/src/include/access/htup.h old mode 100755 new mode 100644 index 2fb9de1ab..058712960 --- a/src/include/access/htup.h +++ b/src/include/access/htup.h @@ -588,9 +588,9 @@ typedef MinimalTupleData* MinimalTuple; * should be explicitly set invalid in manufactured tuples. */ typedef struct HeapTupleData { + uint32 t_len; /* length of *t_data */ uint1 tupTableType = HEAP_TUPLE; int2 t_bucketId; - uint32 t_len; /* length of *t_data */ ItemPointerData t_self; /* SelfItemPointer */ Oid t_tableOid; /* table the tuple came from */ TransactionId t_xid_base; diff --git a/src/include/access/multixact.h b/src/include/access/multixact.h old mode 100755 new mode 100644 diff --git a/src/include/access/nbtree.h b/src/include/access/nbtree.h old mode 100755 new mode 100644 diff --git a/src/include/access/obs/obs_am.h b/src/include/access/obs/obs_am.h old mode 100755 new mode 100644 diff --git a/src/include/access/redo_statistic.h b/src/include/access/redo_statistic.h index ef6495ed6..bb0228c3b 100644 --- a/src/include/access/redo_statistic.h +++ b/src/include/access/redo_statistic.h @@ -67,6 +67,8 @@ extern void redo_unlink_stats_file(); static const uint64 US_TRANSFER_TO_S = (1000000); static const uint64 BYTES_TRANSFER_KBYTES = (1024); +static const uint64 MAX_OUT_INTERVAL = (30 * 1000000); + WaitEventIO redo_get_event_type_by_wait_type(uint32 type); char* redo_get_name_by_wait_type(uint32 type); diff --git a/src/include/access/reloptions.h b/src/include/access/reloptions.h old mode 100755 new mode 100644 diff --git a/src/include/access/relscan.h b/src/include/access/relscan.h old mode 100755 new mode 100644 diff --git a/src/include/access/rmgrlist.h b/src/include/access/rmgrlist.h old mode 100755 new mode 100644 diff --git a/src/include/access/skey.h b/src/include/access/skey.h old mode 100755 new mode 100644 diff --git a/src/include/access/slru.h b/src/include/access/slru.h old mode 100755 new mode 100644 index 01bc3113a..bbf0175b0 --- a/src/include/access/slru.h +++ b/src/include/access/slru.h @@ -32,6 +32,7 @@ /* Maximum length of an SLRU name */ #define SLRU_MAX_NAME_LENGTH 64 +#define NUM_SLRU_DEFAULT_PARTITION 1 /* * Page status codes. Note that these do not include the "dirty" bit. * page_dirty can be TRUE only in the VALID or WRITE_IN_PROGRESS states; @@ -153,7 +154,7 @@ extern int SimpleLruReadPage_ReadOnly(SlruCtl ctl, int64 pageno, TransactionId x extern int SimpleLruReadPage_ReadOnly_Locked(SlruCtl ctl, int64 pageno, TransactionId xid); extern void SimpleLruWritePage(SlruCtl ctl, int slotno); extern int SimpleLruFlush(SlruCtl ctl, bool checkpoint); -extern void SimpleLruTruncate(SlruCtl ctl, int64 cutoffPage); +extern void SimpleLruTruncate(SlruCtl ctl, int64 cutoffPage, bool isPart, int partitionNum); typedef bool (*SlruScanCallback)(SlruCtl ctl, const char* filename, int64 segpage, const void* data); extern bool SlruScanDirectory(SlruCtl ctl, SlruScanCallback callback, const void* data); diff --git a/src/include/access/spgist_private.h b/src/include/access/spgist_private.h old mode 100755 new mode 100644 diff --git a/src/include/access/transam.h b/src/include/access/transam.h old mode 100755 new mode 100644 index 8a9a7f488..9127942a7 --- a/src/include/access/transam.h +++ b/src/include/access/transam.h @@ -152,7 +152,7 @@ typedef struct VariableCacheData { * transactions; it's not necessarily the one that started first). * Must hold ProcArrayLock in shared mode, and use atomic ops, to update. */ - CommitSeqNo nextCommitSeqNo; + pg_atomic_uint64 nextCommitSeqNo; TransactionId latestCompletedXid; /* newest XID that has committed or * aborted */ /* @@ -162,6 +162,7 @@ typedef struct VariableCacheData { TransactionId xmin; TransactionId recentLocalXmin; /* the lastest xmin in local node */ pg_atomic_uint64 recentGlobalXmin; /* the lastest xmin in global */ + pg_atomic_uint64 standbyXmin; /* the xmin for read snapshot on standby */ pg_atomic_uint32 CriticalCacheBuildLock; /* lock of create relcache init file */ pg_atomic_uint64 cutoff_csn_min; diff --git a/src/include/access/tupdesc.h b/src/include/access/tupdesc.h old mode 100755 new mode 100644 diff --git a/src/include/access/twophase.h b/src/include/access/twophase.h old mode 100755 new mode 100644 diff --git a/src/include/access/visibilitymap.h b/src/include/access/visibilitymap.h old mode 100755 new mode 100644 diff --git a/src/include/access/xact.h b/src/include/access/xact.h old mode 100755 new mode 100644 index d38afb9b1..33a4f6d2d --- a/src/include/access/xact.h +++ b/src/include/access/xact.h @@ -419,6 +419,7 @@ extern CommitSeqNo SetXact2CommitInProgress(TransactionId xid, CommitSeqNo csn); extern void XactGetRelFiles(XLogReaderState* record, ColFileNodeRel** xnodesPtr, int* nrelsPtr); extern HTAB* relfilenode_hashtbl_create(); extern CommitSeqNo getLocalNextCSN(); +extern void UpdateNextMaxKnownCSN(CommitSeqNo csn); #ifdef ENABLE_MOT extern bool IsMOTEngineUsed(); extern bool IsMOTEngineUsedInParentTransaction(); diff --git a/src/include/access/xlog_internal.h b/src/include/access/xlog_internal.h old mode 100755 new mode 100644 diff --git a/src/include/access/xlogrecord.h b/src/include/access/xlogrecord.h old mode 100755 new mode 100644 diff --git a/src/include/alarm/alarm.h b/src/include/alarm/alarm.h old mode 100755 new mode 100644 diff --git a/src/include/bootstrap/bootstrap.h b/src/include/bootstrap/bootstrap.h old mode 100755 new mode 100644 diff --git a/src/include/bulkload/utils.h b/src/include/bulkload/utils.h old mode 100755 new mode 100644 diff --git a/src/include/catalog/catalog.h b/src/include/catalog/catalog.h old mode 100755 new mode 100644 index 7a7803db3..c7e469377 --- a/src/include/catalog/catalog.h +++ b/src/include/catalog/catalog.h @@ -68,6 +68,7 @@ extern bool IsCStoreNamespace(Oid namespaceId); extern bool IsPerformanceNamespace(Oid namespaceId); extern bool IsSnapshotNamespace(Oid namespaceId); +extern bool IsMonitorSpace(Oid namespaceId); extern bool IsReservedName(const char *name); diff --git a/src/include/catalog/catversion.h b/src/include/catalog/catversion.h old mode 100755 new mode 100644 diff --git a/src/include/catalog/genbki.h b/src/include/catalog/genbki.h old mode 100755 new mode 100644 diff --git a/src/include/catalog/gs_matview.h b/src/include/catalog/gs_matview.h index 7c9ade07e..d871e5560 100644 --- a/src/include/catalog/gs_matview.h +++ b/src/include/catalog/gs_matview.h @@ -81,5 +81,6 @@ extern Oid MatviewRelationGetBaseid(Oid relOid, MvRelationType matviewRelationTy extern Query *get_matview_query(Relation matviewRel); extern bool CheckPermissionForBasetable(const RangeTblEntry *rte); extern void CheckRefreshMatview(Relation matviewRel, bool isIncremental); +extern void acquire_mativew_tables_lock(Query *query, bool incremental); #endif /* GS_MATVIEW_H */ diff --git a/src/include/catalog/gs_opt_model.h b/src/include/catalog/gs_opt_model.h old mode 100755 new mode 100644 diff --git a/src/include/catalog/heap.h b/src/include/catalog/heap.h old mode 100755 new mode 100644 diff --git a/src/include/catalog/index.h b/src/include/catalog/index.h old mode 100755 new mode 100644 diff --git a/src/include/catalog/indexing.h b/src/include/catalog/indexing.h old mode 100755 new mode 100644 diff --git a/src/include/catalog/namespace.h b/src/include/catalog/namespace.h old mode 100755 new mode 100644 index 6ba730c70..718a33403 --- a/src/include/catalog/namespace.h +++ b/src/include/catalog/namespace.h @@ -114,6 +114,7 @@ extern char* RelnameGetRelidExtended(const char *relname, Oid *relOid, Oid *refS extern bool RelationIsVisible(Oid relid); extern Oid TypenameGetTypid(const char *typname); +extern Oid TypenameGetTypidExtended(const char *typname, bool temp_ok); extern bool TypeIsVisible(Oid typid); extern void SetTempFromSearchPath(List* namelist); diff --git a/src/include/catalog/pg_aggregate.h b/src/include/catalog/pg_aggregate.h old mode 100755 new mode 100644 diff --git a/src/include/catalog/pg_am.h b/src/include/catalog/pg_am.h old mode 100755 new mode 100644 diff --git a/src/include/catalog/pg_amop.h b/src/include/catalog/pg_amop.h old mode 100755 new mode 100644 diff --git a/src/include/catalog/pg_amproc.h b/src/include/catalog/pg_amproc.h old mode 100755 new mode 100644 diff --git a/src/include/catalog/pg_authid.h b/src/include/catalog/pg_authid.h old mode 100755 new mode 100644 diff --git a/src/include/catalog/pg_cast.h b/src/include/catalog/pg_cast.h old mode 100755 new mode 100644 diff --git a/src/include/catalog/pg_constraint.h b/src/include/catalog/pg_constraint.h old mode 100755 new mode 100644 diff --git a/src/include/catalog/pg_control.h b/src/include/catalog/pg_control.h old mode 100755 new mode 100644 diff --git a/src/include/catalog/pg_database.h b/src/include/catalog/pg_database.h old mode 100755 new mode 100644 diff --git a/src/include/catalog/pg_db_role_setting.h b/src/include/catalog/pg_db_role_setting.h index 0d9bf8d81..5ddac9e1c 100644 --- a/src/include/catalog/pg_db_role_setting.h +++ b/src/include/catalog/pg_db_role_setting.h @@ -64,6 +64,9 @@ typedef FormData_pg_db_role_setting *Form_pg_db_role_setting; extern void AlterSetting(Oid databaseid, Oid roleid, VariableSetStmt *setstmt); extern void DropSetting(Oid databaseid, Oid roleid); extern void ApplySetting(Oid databaseid, Oid roleid, Relation relsetting, GucSource source); +#ifdef ENABLE_MULTIPLE_NODES +extern void printHintInfo(const char* dbName, const char* userName); +#endif #endif /* PG_DB_ROLE_SETTING_H */ diff --git a/src/include/catalog/pg_directory.h b/src/include/catalog/pg_directory.h old mode 100755 new mode 100644 diff --git a/src/include/catalog/pg_enum.h b/src/include/catalog/pg_enum.h old mode 100755 new mode 100644 diff --git a/src/include/catalog/pg_job.h b/src/include/catalog/pg_job.h old mode 100755 new mode 100644 diff --git a/src/include/catalog/pg_namespace.h b/src/include/catalog/pg_namespace.h old mode 100755 new mode 100644 diff --git a/src/include/catalog/pg_object.h b/src/include/catalog/pg_object.h old mode 100755 new mode 100644 diff --git a/src/include/catalog/pg_opclass.h b/src/include/catalog/pg_opclass.h old mode 100755 new mode 100644 diff --git a/src/include/catalog/pg_operator.h b/src/include/catalog/pg_operator.h old mode 100755 new mode 100644 diff --git a/src/include/catalog/pg_opfamily.h b/src/include/catalog/pg_opfamily.h old mode 100755 new mode 100644 diff --git a/src/include/catalog/pg_partition.h b/src/include/catalog/pg_partition.h old mode 100755 new mode 100644 diff --git a/src/include/catalog/pg_proc.h b/src/include/catalog/pg_proc.h old mode 100755 new mode 100644 diff --git a/src/include/catalog/pg_proc_fn.h b/src/include/catalog/pg_proc_fn.h old mode 100755 new mode 100644 diff --git a/src/include/catalog/pg_resource_pool.h b/src/include/catalog/pg_resource_pool.h old mode 100755 new mode 100644 diff --git a/src/include/catalog/pg_statistic.h b/src/include/catalog/pg_statistic.h old mode 100755 new mode 100644 diff --git a/src/include/catalog/pg_statistic_ext.h b/src/include/catalog/pg_statistic_ext.h old mode 100755 new mode 100644 diff --git a/src/include/catalog/pg_synonym.h b/src/include/catalog/pg_synonym.h old mode 100755 new mode 100644 diff --git a/src/include/catalog/pg_type.h b/src/include/catalog/pg_type.h old mode 100755 new mode 100644 diff --git a/src/include/catalog/pg_user_status.h b/src/include/catalog/pg_user_status.h old mode 100755 new mode 100644 diff --git a/src/include/catalog/pgxc_class.h b/src/include/catalog/pgxc_class.h old mode 100755 new mode 100644 diff --git a/src/include/catalog/pgxc_group.h b/src/include/catalog/pgxc_group.h old mode 100755 new mode 100644 diff --git a/src/include/catalog/toasting.h b/src/include/catalog/toasting.h old mode 100755 new mode 100644 diff --git a/src/include/catalog/upgrade_sql/open_gauss/check_upgrade/.gitkeep b/src/include/catalog/upgrade_sql/check_upgrade/.gitkeep similarity index 100% rename from src/include/catalog/upgrade_sql/open_gauss/check_upgrade/.gitkeep rename to src/include/catalog/upgrade_sql/check_upgrade/.gitkeep diff --git a/src/include/catalog/upgrade_sql/open_gauss/rollback_catalog_maindb/rollback-post_catalog_maindb_92_200.sql b/src/include/catalog/upgrade_sql/rollback_catalog_maindb/rollback-post_catalog_maindb_92_200.sql similarity index 100% rename from src/include/catalog/upgrade_sql/open_gauss/rollback_catalog_maindb/rollback-post_catalog_maindb_92_200.sql rename to src/include/catalog/upgrade_sql/rollback_catalog_maindb/rollback-post_catalog_maindb_92_200.sql diff --git a/src/include/catalog/upgrade_sql/open_gauss/rollback_catalog_maindb/rollback_catalog_maindb_92_200.sql b/src/include/catalog/upgrade_sql/rollback_catalog_maindb/rollback_catalog_maindb_92_200.sql similarity index 100% rename from src/include/catalog/upgrade_sql/open_gauss/rollback_catalog_maindb/rollback_catalog_maindb_92_200.sql rename to src/include/catalog/upgrade_sql/rollback_catalog_maindb/rollback_catalog_maindb_92_200.sql diff --git a/src/include/catalog/upgrade_sql/open_gauss/rollback_catalog_otherdb/rollback-post_catalog_otherdb_92_200.sql b/src/include/catalog/upgrade_sql/rollback_catalog_otherdb/rollback-post_catalog_otherdb_92_200.sql similarity index 100% rename from src/include/catalog/upgrade_sql/open_gauss/rollback_catalog_otherdb/rollback-post_catalog_otherdb_92_200.sql rename to src/include/catalog/upgrade_sql/rollback_catalog_otherdb/rollback-post_catalog_otherdb_92_200.sql diff --git a/src/include/catalog/upgrade_sql/open_gauss/rollback_catalog_otherdb/rollback_catalog_otherdb_92_200.sql b/src/include/catalog/upgrade_sql/rollback_catalog_otherdb/rollback_catalog_otherdb_92_200.sql similarity index 100% rename from src/include/catalog/upgrade_sql/open_gauss/rollback_catalog_otherdb/rollback_catalog_otherdb_92_200.sql rename to src/include/catalog/upgrade_sql/rollback_catalog_otherdb/rollback_catalog_otherdb_92_200.sql diff --git a/src/include/catalog/upgrade_sql/open_gauss/set_guc/.gitkeep b/src/include/catalog/upgrade_sql/set_guc/.gitkeep similarity index 100% rename from src/include/catalog/upgrade_sql/open_gauss/set_guc/.gitkeep rename to src/include/catalog/upgrade_sql/set_guc/.gitkeep diff --git a/src/include/catalog/upgrade_sql/open_gauss/upgrade_catalog_maindb/upgrade-post_catalog_maindb_92_200.sql b/src/include/catalog/upgrade_sql/upgrade_catalog_maindb/upgrade-post_catalog_maindb_92_200.sql similarity index 97% rename from src/include/catalog/upgrade_sql/open_gauss/upgrade_catalog_maindb/upgrade-post_catalog_maindb_92_200.sql rename to src/include/catalog/upgrade_sql/upgrade_catalog_maindb/upgrade-post_catalog_maindb_92_200.sql index 3ae865996..ca49b36a8 100644 --- a/src/include/catalog/upgrade_sql/open_gauss/upgrade_catalog_maindb/upgrade-post_catalog_maindb_92_200.sql +++ b/src/include/catalog/upgrade_sql/upgrade_catalog_maindb/upgrade-post_catalog_maindb_92_200.sql @@ -8781,8 +8781,7 @@ DECLARE query_str_do_revoke text; BEGIN query_str_create_table := 'CREATE TABLE public.pgxc_copy_error_log - (relname varchar, begintime timestamptz, filename varchar, lineno int8, rawrecord text, detail text) - DISTRIBUTE BY hash(begintime)'; + (relname varchar, begintime timestamptz, filename varchar, lineno int8, rawrecord text, detail text)'; EXECUTE query_str_create_table; query_str_create_index := 'CREATE INDEX copy_error_log_relname_idx ON public.pgxc_copy_error_log(relname)'; @@ -11476,4 +11475,4 @@ SELECT l.provider, l.label FROM pg_shseclabel l - JOIN pg_authid rol ON l.classoid = rol.tableoid AND l.objoid = rol.oid; \ No newline at end of file + JOIN pg_authid rol ON l.classoid = rol.tableoid AND l.objoid = rol.oid; diff --git a/src/include/catalog/upgrade_sql/open_gauss/upgrade_catalog_maindb/upgrade_catalog_maindb_92_200.sql b/src/include/catalog/upgrade_sql/upgrade_catalog_maindb/upgrade_catalog_maindb_92_200.sql similarity index 93% rename from src/include/catalog/upgrade_sql/open_gauss/upgrade_catalog_maindb/upgrade_catalog_maindb_92_200.sql rename to src/include/catalog/upgrade_sql/upgrade_catalog_maindb/upgrade_catalog_maindb_92_200.sql index f4f95a3e9..cd0dbd303 100644 --- a/src/include/catalog/upgrade_sql/open_gauss/upgrade_catalog_maindb/upgrade_catalog_maindb_92_200.sql +++ b/src/include/catalog/upgrade_sql/upgrade_catalog_maindb/upgrade_catalog_maindb_92_200.sql @@ -1582,6 +1582,7 @@ CREATE OR REPLACE VIEW pg_catalog.DV_SESSION_LONGOPS AS REVOKE ALL on PG_CATALOG.DV_SESSIONS FROM public; REVOKE ALL on PG_CATALOG.DV_SESSION_LONGOPS FROM public; + CREATE OR REPLACE FUNCTION pg_catalog.proc_add_partition( IN relationname name, IN boundaries_interval INTERVAL @@ -1590,42 +1591,19 @@ RETURNS void AS $$ DECLARE - pgclass_rec pg_class%rowtype; - row_name record; sql text; part_relname text; check_count int; rel_oid int; - job_id int; time_interval int; - part_boundarie timestamptz; + part_boundary timestamptz; partition_tmp timestamptz; - username name; + database name; now_timestamp timestamptz; namespace name; table_name name; pos integer; BEGIN - /* check tsdb_enable */ - IF check_engine_enable() = false - THEN - RAISE EXCEPTION 'tsdb engine is not exist'; - END IF; - /* check tsdb_enable end */ - - /* skip for cluster unstable */ - IF (SELECT count(*) FROM pg_settings WHERE name='enable_prevent_job_task_startup' AND setting='on') > 0 - THEN - RAISE WARNING 'skip proc_add_partition() when enable_prevent_job_task_startup = on'; - RETURN; - END IF; - IF (SELECT count(*) FROM pg_settings WHERE name='enable_online_ddl_waitlock' AND setting='on') > 0 - THEN - RAISE WARNING 'skip proc_add_partition() when enable_online_ddl_waitlock = on'; - RETURN; - END IF; - /* skip for cluster unstable */ - /* check parameter */ IF relationname is null THEN RAISE EXCEPTION 'parameter ''relationname'' cannot be null'; @@ -1637,80 +1615,45 @@ BEGIN RAISE EXCEPTION 'boundaries_interval must be greater than 0'; END IF; pos = is_contain_namespace(relationname); - IF pos != 0 THEN - namespace = substring(relationname from 1 for pos -1); - table_name = substring(relationname from pos+1 for char_length(relationname) - pos); + IF pos = 0 THEN + RAISE EXCEPTION 'parameter ''relationname'' must be format namespace.relname'; END IF; + namespace = substring(relationname from 1 for pos - 1); + table_name = substring(relationname from pos + 1 for char_length(relationname) - pos); /* check parameter end */ + sql = 'select current_database();'; + EXECUTE sql INTO database; /* check table exist */ - sql := 'select current_user'; - EXECUTE(sql) into username; - IF pos = 0 THEN - sql := 'SELECT count(*) FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace WHERE c.relname = ''' || relationname || ''' - AND pg_catalog.pg_table_is_visible(c.oid) ;'; - ELSE - sql := 'SELECT count(*) FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace WHERE c.relname = ''' || table_name || ''' - AND n.nspname = ''' || namespace || ''';'; - END IF; - EXECUTE sql INTO check_count; + sql := 'SELECT count(*) FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace + WHERE c.relname = $1 AND n.nspname = $2 and c.relkind = ''r'' and c.parttype = ''p'';'; + EXECUTE sql INTO check_count USING table_name, namespace; IF check_count = 0 THEN - RAISE EXCEPTION 'please input the correct relation name!'; + RAISE EXCEPTION 'please input the correct relation name, relation kind should be r and be a partition table!'; END IF; /* check table exist end */ - /* check table owner privilege */ - IF pos = 0 THEN - sql := 'SELECT count(*) FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace WHERE c.relname = ''' || relationname || ''' - AND pg_catalog.pg_table_is_visible(c.oid) and pg_catalog.pg_get_userbyid(c.relowner) = ''' || username || ''';'; - ELSE - sql := 'SELECT count(*) FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace WHERE c.relname = ''' || table_name || ''' - AND n.nspname = ''' || namespace || ''' and pg_catalog.pg_get_userbyid(c.relowner) = ''' || username || ''';'; - END IF; - EXECUTE sql INTO check_count; - IF check_count = 0 THEN - RAISE EXCEPTION 'permission denied for relation %', relationname - USING HINT = 'please assure you have the privilege'; - END IF; - /* check table owner privilege end */ - - /* check partition table */ - IF pos = 0 THEN - sql := 'SELECT c.oid FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace WHERE c.relname = ''' || relationname || ''' - AND pg_catalog.pg_table_is_visible(c.oid) and pg_catalog.pg_get_userbyid(c.relowner) = ''' || username || ''';'; - ELSE - sql := 'SELECT c.oid FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace WHERE c.relname = ''' || table_name || ''' - AND n.nspname = ''' || namespace || ''' and pg_catalog.pg_get_userbyid(c.relowner) = ''' || username || ''';'; - END IF; - EXECUTE sql into rel_oid; - sql := 'SELECT relkind,parttype FROM pg_class WHERE oid = ''' || rel_oid ||''''; - EXECUTE sql into pgclass_rec.relkind, pgclass_rec.parttype; - IF pgclass_rec.relkind != 'r' THEN - RAISE EXCEPTION ' % is not a table !',relationname; - END IF; - IF pgclass_rec.parttype != 'p' THEN - RAISE EXCEPTION ' % does not have partition !',relationname; - END IF; + sql := 'SELECT c.oid FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace WHERE c.relname = $1 AND n.nspname = $2;'; + EXECUTE sql into rel_oid USING table_name, namespace; /* check partition table end */ /* iteratively checking time range for every partition*/ sql := 'SELECT boundaries[1] FROM pg_partition WHERE parentid = ' || rel_oid ||' AND boundaries IS NOT NULL ORDER BY - EXTRACT(epoch FROM CAST(boundaries[1] as timestamptz)) DESC LIMIT 1'; - EXECUTE sql INTO part_boundarie; + EXTRACT(epoch FROM CAST(boundaries[1] as timestamptz)) DESC LIMIT 1'; + EXECUTE sql INTO part_boundary; /* reinforce the job failed to throw error when inserting data */ sql := 'select current_timestamp(0)'; - EXECUTE(sql) into now_timestamp; - WHILE part_boundarie - 20 * boundaries_interval < now_timestamp LOOP - part_boundarie = part_boundarie + boundaries_interval; - sql = 'select proc_add_partition_by_boundary(''' || relationname || ''', ' || '''' || part_boundarie || ''');'; - EXECUTE(sql); + EXECUTE sql into now_timestamp; + WHILE part_boundary - 20 * boundaries_interval < now_timestamp LOOP + part_boundary = part_boundary + boundaries_interval; + partition_tmp = date_trunc('second', part_boundary); + EXECUTE format('ALTER TABLE '||relationname||' ADD PARTITION p'||EXTRACT(epoch FROM CAST(partition_tmp AS TIMESTAMPTZ))||' values less than (%L);', part_boundary); END LOOP; - part_boundarie := part_boundarie + boundaries_interval; - partition_tmp = date_trunc('second', part_boundarie); - sql :='ALTER TABLE '||relationname||' ADD PARTITION p'||EXTRACT(epoch FROM CAST(partition_tmp AS TIMESTAMPTZ))||' values less than ('''||part_boundarie||''');'; - EXECUTE (sql); + part_boundary := part_boundary + boundaries_interval; + partition_tmp = date_trunc('second', part_boundary); + EXECUTE 'ALTER TABLE '||relationname||' ADD PARTITION p'||EXTRACT(epoch FROM CAST(partition_tmp AS TIMESTAMPTZ))||' values less than ('''||part_boundary||''');'; END; $$ diff --git a/src/include/catalog/upgrade_sql/open_gauss/upgrade_catalog_otherdb/upgrade-post_catalog_otherdb_92_200.sql b/src/include/catalog/upgrade_sql/upgrade_catalog_otherdb/upgrade-post_catalog_otherdb_92_200.sql similarity index 97% rename from src/include/catalog/upgrade_sql/open_gauss/upgrade_catalog_otherdb/upgrade-post_catalog_otherdb_92_200.sql rename to src/include/catalog/upgrade_sql/upgrade_catalog_otherdb/upgrade-post_catalog_otherdb_92_200.sql index 3ae865996..ca49b36a8 100644 --- a/src/include/catalog/upgrade_sql/open_gauss/upgrade_catalog_otherdb/upgrade-post_catalog_otherdb_92_200.sql +++ b/src/include/catalog/upgrade_sql/upgrade_catalog_otherdb/upgrade-post_catalog_otherdb_92_200.sql @@ -8781,8 +8781,7 @@ DECLARE query_str_do_revoke text; BEGIN query_str_create_table := 'CREATE TABLE public.pgxc_copy_error_log - (relname varchar, begintime timestamptz, filename varchar, lineno int8, rawrecord text, detail text) - DISTRIBUTE BY hash(begintime)'; + (relname varchar, begintime timestamptz, filename varchar, lineno int8, rawrecord text, detail text)'; EXECUTE query_str_create_table; query_str_create_index := 'CREATE INDEX copy_error_log_relname_idx ON public.pgxc_copy_error_log(relname)'; @@ -11476,4 +11475,4 @@ SELECT l.provider, l.label FROM pg_shseclabel l - JOIN pg_authid rol ON l.classoid = rol.tableoid AND l.objoid = rol.oid; \ No newline at end of file + JOIN pg_authid rol ON l.classoid = rol.tableoid AND l.objoid = rol.oid; diff --git a/src/include/catalog/upgrade_sql/open_gauss/upgrade_catalog_otherdb/upgrade_catalog_otherdb_92_200.sql b/src/include/catalog/upgrade_sql/upgrade_catalog_otherdb/upgrade_catalog_otherdb_92_200.sql similarity index 93% rename from src/include/catalog/upgrade_sql/open_gauss/upgrade_catalog_otherdb/upgrade_catalog_otherdb_92_200.sql rename to src/include/catalog/upgrade_sql/upgrade_catalog_otherdb/upgrade_catalog_otherdb_92_200.sql index db77b8725..6cbc6ee63 100644 --- a/src/include/catalog/upgrade_sql/open_gauss/upgrade_catalog_otherdb/upgrade_catalog_otherdb_92_200.sql +++ b/src/include/catalog/upgrade_sql/upgrade_catalog_otherdb/upgrade_catalog_otherdb_92_200.sql @@ -1621,42 +1621,19 @@ RETURNS void AS $$ DECLARE - pgclass_rec pg_class%rowtype; - row_name record; sql text; part_relname text; check_count int; rel_oid int; - job_id int; time_interval int; - part_boundarie timestamptz; + part_boundary timestamptz; partition_tmp timestamptz; - username name; + database name; now_timestamp timestamptz; namespace name; table_name name; pos integer; BEGIN - /* check tsdb_enable */ - IF check_engine_enable() = false - THEN - RAISE EXCEPTION 'tsdb engine is not exist'; - END IF; - /* check tsdb_enable end */ - - /* skip for cluster unstable */ - IF (SELECT count(*) FROM pg_settings WHERE name='enable_prevent_job_task_startup' AND setting='on') > 0 - THEN - RAISE WARNING 'skip proc_add_partition() when enable_prevent_job_task_startup = on'; - RETURN; - END IF; - IF (SELECT count(*) FROM pg_settings WHERE name='enable_online_ddl_waitlock' AND setting='on') > 0 - THEN - RAISE WARNING 'skip proc_add_partition() when enable_online_ddl_waitlock = on'; - RETURN; - END IF; - /* skip for cluster unstable */ - /* check parameter */ IF relationname is null THEN RAISE EXCEPTION 'parameter ''relationname'' cannot be null'; @@ -1668,80 +1645,45 @@ BEGIN RAISE EXCEPTION 'boundaries_interval must be greater than 0'; END IF; pos = is_contain_namespace(relationname); - IF pos != 0 THEN - namespace = substring(relationname from 1 for pos -1); - table_name = substring(relationname from pos+1 for char_length(relationname) - pos); + IF pos = 0 THEN + RAISE EXCEPTION 'parameter ''relationname'' must be format namespace.relname'; END IF; + namespace = substring(relationname from 1 for pos - 1); + table_name = substring(relationname from pos + 1 for char_length(relationname) - pos); /* check parameter end */ + sql = 'select current_database();'; + EXECUTE sql INTO database; /* check table exist */ - sql := 'select current_user'; - EXECUTE(sql) into username; - IF pos = 0 THEN - sql := 'SELECT count(*) FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace WHERE c.relname = ''' || relationname || ''' - AND pg_catalog.pg_table_is_visible(c.oid) ;'; - ELSE - sql := 'SELECT count(*) FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace WHERE c.relname = ''' || table_name || ''' - AND n.nspname = ''' || namespace || ''';'; - END IF; - EXECUTE sql INTO check_count; + sql := 'SELECT count(*) FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace + WHERE c.relname = $1 AND n.nspname = $2 and c.relkind = ''r'' and c.parttype = ''p'';'; + EXECUTE sql INTO check_count USING table_name, namespace; IF check_count = 0 THEN - RAISE EXCEPTION 'please input the correct relation name!'; + RAISE EXCEPTION 'please input the correct relation name, relation kind should be r and be a partition table!'; END IF; /* check table exist end */ - /* check table owner privilege */ - IF pos = 0 THEN - sql := 'SELECT count(*) FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace WHERE c.relname = ''' || relationname || ''' - AND pg_catalog.pg_table_is_visible(c.oid) and pg_catalog.pg_get_userbyid(c.relowner) = ''' || username || ''';'; - ELSE - sql := 'SELECT count(*) FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace WHERE c.relname = ''' || table_name || ''' - AND n.nspname = ''' || namespace || ''' and pg_catalog.pg_get_userbyid(c.relowner) = ''' || username || ''';'; - END IF; - EXECUTE sql INTO check_count; - IF check_count = 0 THEN - RAISE EXCEPTION 'permission denied for relation %', relationname - USING HINT = 'please assure you have the privilege'; - END IF; - /* check table owner privilege end */ - - /* check partition table */ - IF pos = 0 THEN - sql := 'SELECT c.oid FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace WHERE c.relname = ''' || relationname || ''' - AND pg_catalog.pg_table_is_visible(c.oid) and pg_catalog.pg_get_userbyid(c.relowner) = ''' || username || ''';'; - ELSE - sql := 'SELECT c.oid FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace WHERE c.relname = ''' || table_name || ''' - AND n.nspname = ''' || namespace || ''' and pg_catalog.pg_get_userbyid(c.relowner) = ''' || username || ''';'; - END IF; - EXECUTE sql into rel_oid; - sql := 'SELECT relkind,parttype FROM pg_class WHERE oid = ''' || rel_oid ||''''; - EXECUTE sql into pgclass_rec.relkind, pgclass_rec.parttype; - IF pgclass_rec.relkind != 'r' THEN - RAISE EXCEPTION ' % is not a table !',relationname; - END IF; - IF pgclass_rec.parttype != 'p' THEN - RAISE EXCEPTION ' % does not have partition !',relationname; - END IF; + sql := 'SELECT c.oid FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace WHERE c.relname = $1 AND n.nspname = $2;'; + EXECUTE sql into rel_oid USING table_name, namespace; /* check partition table end */ /* iteratively checking time range for every partition*/ sql := 'SELECT boundaries[1] FROM pg_partition WHERE parentid = ' || rel_oid ||' AND boundaries IS NOT NULL ORDER BY - EXTRACT(epoch FROM CAST(boundaries[1] as timestamptz)) DESC LIMIT 1'; - EXECUTE sql INTO part_boundarie; + EXTRACT(epoch FROM CAST(boundaries[1] as timestamptz)) DESC LIMIT 1'; + EXECUTE sql INTO part_boundary; /* reinforce the job failed to throw error when inserting data */ sql := 'select current_timestamp(0)'; - EXECUTE(sql) into now_timestamp; - WHILE part_boundarie - 20 * boundaries_interval < now_timestamp LOOP - part_boundarie = part_boundarie + boundaries_interval; - sql = 'select proc_add_partition_by_boundary(''' || relationname || ''', ' || '''' || part_boundarie || ''');'; - EXECUTE(sql); + EXECUTE sql into now_timestamp; + WHILE part_boundary - 20 * boundaries_interval < now_timestamp LOOP + part_boundary = part_boundary + boundaries_interval; + partition_tmp = date_trunc('second', part_boundary); + EXECUTE format('ALTER TABLE '||relationname||' ADD PARTITION p'||EXTRACT(epoch FROM CAST(partition_tmp AS TIMESTAMPTZ))||' values less than (%L);', part_boundary); END LOOP; - part_boundarie := part_boundarie + boundaries_interval; - partition_tmp = date_trunc('second', part_boundarie); - sql :='ALTER TABLE '||relationname||' ADD PARTITION p'||EXTRACT(epoch FROM CAST(partition_tmp AS TIMESTAMPTZ))||' values less than ('''||part_boundarie||''');'; - EXECUTE (sql); + part_boundary := part_boundary + boundaries_interval; + partition_tmp = date_trunc('second', part_boundary); + EXECUTE 'ALTER TABLE '||relationname||' ADD PARTITION p'||EXTRACT(epoch FROM CAST(partition_tmp AS TIMESTAMPTZ))||' values less than ('''||part_boundary||''');'; END; $$ diff --git a/src/include/cipher.h b/src/include/cipher.h old mode 100755 new mode 100644 diff --git a/src/include/client_logic/client_logic.h b/src/include/client_logic/client_logic.h index 03cb045af..f9f2e3789 100644 --- a/src/include/client_logic/client_logic.h +++ b/src/include/client_logic/client_logic.h @@ -30,7 +30,6 @@ #include "catalog/gs_column_keys.h" #include "catalog/gs_column_keys_args.h" #include "catalog/gs_encrypted_columns.h" -#include "client_logic_common.h" #include "lib/stringinfo.h" int set_column_encryption(const ColumnDef *def, CeHeapInfo *ce_heap_info); diff --git a/src/include/client_logic/client_logic_common.h b/src/include/client_logic/client_logic_common.h deleted file mode 100644 index 8f9c672b0..000000000 --- a/src/include/client_logic/client_logic_common.h +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright (c) 2020 Huawei Technologies Co.,Ltd. - * - * openGauss is licensed under Mulan PSL v2. - * You can use this software according to the terms and conditions of the Mulan PSL v2. - * You may obtain a copy of Mulan PSL v2 at: - * - * http://license.coscl.org.cn/MulanPSL2 - * - * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, - * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, - * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. - * See the Mulan PSL v2 for more details. - * ------------------------------------------------------------------------- - * - * client_logic_common.h - * - * IDENTIFICATION - * src\include\client_logic\client_logic_common.h - * - * ------------------------------------------------------------------------- - */ - -#ifndef GS_CL_COMMON_H -#define GS_CL_COMMON_H - -#include -#include "cstrings_map.h" - -enum class ArgsParseState { - KEY, - VALUE, - FLUSH -}; - -typedef CStringsMap StringArgsVec; -#endif diff --git a/src/include/client_logic/client_logic_enums.h b/src/include/client_logic/client_logic_enums.h index 56759ed60..a1afe5aa7 100644 --- a/src/include/client_logic/client_logic_enums.h +++ b/src/include/client_logic/client_logic_enums.h @@ -53,6 +53,15 @@ typedef enum ColumnEncryptionAlgorithm { AEAD_AES_128_CBC_HMAC_SHA256 } ColumnEncryptionAlgorithm; +#if ((!defined(ENABLE_MULTIPLE_NODES)) && (!defined(ENABLE_PRIVATEGAUSS))) +const int MAX_KEY_PATH_VALUE_LEN = 64; + +typedef enum { + CE_IGNORE, + CE_CREATE_CMK, + CE_DROP_CMK, +} CEQueryType; +#endif inline ColumnEncryptionAlgorithm get_cek_algorithm_from_string(const char *alg) { diff --git a/src/include/client_logic/cstrings_map.h b/src/include/client_logic/cstrings_map.h index d8a798e05..abf70879b 100644 --- a/src/include/client_logic/cstrings_map.h +++ b/src/include/client_logic/cstrings_map.h @@ -65,4 +65,6 @@ private: size_t size; const size_t index(const char *key) const; }; + +typedef CStringsMap StringArgsVec; #endif /* C_STRINGS_MAP_H */ diff --git a/src/include/cm/cm_agent/cma_datanode.h b/src/include/cm/cm_agent/cma_datanode.h index 9402ff58b..9b2311e6a 100644 --- a/src/include/cm/cm_agent/cma_datanode.h +++ b/src/include/cm/cm_agent/cma_datanode.h @@ -13,9 +13,9 @@ #define CMA_DATANODE_H #include "cma_main.h" - +#ifdef ENABLE_MULTIPLE_NODES void* DNStorageScalingCheckMain(void * const arg); - +#endif bool is_process_alive(pgpid_t pid); pgpid_t get_pgpid(char* pid_path); diff --git a/src/include/cm/cm_agent/cma_datanode_utils.h b/src/include/cm/cm_agent/cma_datanode_utils.h index 9202fd5bc..e0de357bc 100644 --- a/src/include/cm/cm_agent/cma_datanode_utils.h +++ b/src/include/cm/cm_agent/cma_datanode_utils.h @@ -39,10 +39,11 @@ return -1; \ } while (0) - +#ifdef ENABLE_MULTIPLE_NODES int GetAllDatabaseInfo(int index, DNDatabaseInfo **dnDatabaseInfo, int *dnDatabaseCount); int GetDBTableFromSQL(int index, uint32 databaseId, uint32 tableId, uint32 tableIdSize, DNDatabaseInfo *dnDatabaseInfo, int dnDatabaseCount, char* databaseName, char* tableName); +#endif int cmagent_execute_query_and_check_result(PGconn* db_connection, const char* run_command); int cmagent_execute_query(PGconn* db_connection, const char* run_command); @@ -62,9 +63,12 @@ extern int check_datanode_status_by_SQL6( agent_to_cm_datanode_status_report* report_msg, uint32 ii, const char* data_path); extern int check_datanode_status_by_SQL7(agent_to_cm_datanode_status_report* report_msg, - uint32 ii, agent_to_cm_datanode_barrier_status_report* barrier_info); + uint32 ii, agent_to_cm_coordinate_barrier_status_report* barrier_info); extern int check_datanode_status_by_SQL8(agent_to_cm_datanode_status_report* report_msg, - uint32 ii, agent_to_cm_datanode_barrier_status_report* barrier_info); + uint32 ii, agent_to_cm_coordinate_barrier_status_report* barrier_info); +extern int CheckDatanodeStatusBySqL9(agent_to_cm_datanode_status_report* report_msg, + uint32 ii, agent_to_cm_coordinate_barrier_status_report* barrier_info); +extern int CheckDatanodeSyncList(AgentToCmserverDnSyncList *syncListMsg, uint32 ii); extern int cmagent_execute_query(PGconn* db_connection, const char* run_command); extern int cmagent_execute_query_and_check_result(PGconn* db_connection, const char* run_command); diff --git a/src/include/cm/cm_agent/cma_global_params.h b/src/include/cm/cm_agent/cma_global_params.h index addc7ff80..6a50a269a 100644 --- a/src/include/cm/cm_agent/cma_global_params.h +++ b/src/include/cm/cm_agent/cma_global_params.h @@ -202,7 +202,7 @@ extern int g_clean_drop_cn_flag; extern int g_cm_server_instance_status; extern int g_dn_role_for_phony_dead[CM_MAX_DATANODE_PER_NODE]; extern int g_gtm_role_for_phony_dead; -extern int g_cn_state_for_phony_dead; +extern int g_localCnStatus; extern int g_dn_phony_dead_times[CM_MAX_DATANODE_PER_NODE]; extern int g_gtm_phony_dead_times; extern int g_cn_phony_dead_times; diff --git a/src/include/cm/cm_agent/cma_instance_management.h b/src/include/cm/cm_agent/cma_instance_management.h index 7cf748aac..b305c39d8 100644 --- a/src/include/cm/cm_agent/cma_instance_management.h +++ b/src/include/cm/cm_agent/cma_instance_management.h @@ -24,14 +24,11 @@ void kill_instance_force(const char* data_path, InstanceTypes ins_type); void immediate_stop_one_instance(const char* instance_data_path, InstanceTypes instance_type); void immediate_shutdown_nodes(bool kill_cmserver, bool kill_cn); void* agentStartAndStopMain(void* arg); - bool ExecuteCmdWithResult(char* cmd, char* result); bool getnicstatus(uint32 listen_ip_count, char ips[][CM_IP_LENGTH]); bool Is_cluster_replacing(void); bool Is_cluster_resizing(void); - int agentCheckPort(uint32 port); - uint32 GetLibcommPort(const char* file_path, uint32 base_port, int port_type); - +extern bool UpdateLibcommConfig(); #endif \ No newline at end of file diff --git a/src/include/cm/cm_agent/cma_main.h b/src/include/cm/cm_agent/cma_main.h index bd1ea37bb..abd761d0f 100644 --- a/src/include/cm/cm_agent/cma_main.h +++ b/src/include/cm/cm_agent/cma_main.h @@ -210,10 +210,11 @@ extern pthread_rwlock_t g_datanodes_failover_lock; extern pthread_rwlock_t g_gtms_failover_lock; extern int g_gtmMode; -extern int datanode_status_check_and_report_wrapper(agent_to_cm_datanode_status_report* report_msg, uint32 ii, - char* data_path, bool do_build, uint32 check_dn_sql5_timer, agent_to_cm_datanode_barrier_status_report* barrier_info); -extern int node_match_find(char* node_type, const char* node_port, const char* node_host, char* node_port1, - char* node_host1, int* node_index, int* instance_index, int* inode_type); +extern int datanode_status_check_and_report_wrapper(agent_to_cm_datanode_status_report *report_msg, uint32 ii, + char *data_path, bool do_build, uint32 check_dn_sql5_timer, + agent_to_cm_coordinate_barrier_status_report* barrier, AgentToCmserverDnSyncList *syncListMsg); +extern int node_match_find(char *node_type, const char *node_port, const char *node_host, char *node_port1, + char *node_host1, int *node_index, int *instance_index, int *inode_type); extern int check_one_instance_status(const char *process_name, const char *cmd_line, int *isPhonyDead); extern void report_conn_fail_alarm(AlarmType alarmType, InstanceTypes instance_type, uint32 instanceId); extern int get_connection_to_coordinator(); diff --git a/src/include/cm/cm_agent/cma_threads.h b/src/include/cm/cm_agent/cma_threads.h index a4e9a6d45..6593dd0fa 100644 --- a/src/include/cm/cm_agent/cma_threads.h +++ b/src/include/cm/cm_agent/cma_threads.h @@ -20,7 +20,9 @@ void CreateCNStatusCheckThread(); void CreateCCNStatusCheckThread(void); void CreateDNStatusCheckThread(int* i); void CreateDNXlogCheckThread(int* i); +#ifdef ENABLE_MULTIPLE_NODES void CreateDNStorageScalingAlarmThread(int* i); +#endif void CreateFaultDetectThread(); void CreateGtmModeThread(); void CreateConnCmsPThread(); diff --git a/src/include/cm/cm_msg.h b/src/include/cm/cm_msg.h old mode 100755 new mode 100644 index f88566c46..534601be8 --- a/src/include/cm/cm_msg.h +++ b/src/include/cm/cm_msg.h @@ -29,6 +29,7 @@ #define CN_INFO_NUM 8 #define RESERVE_NUM 160 #define RESERVE_NUM_USED 4 +#define MAX_SYNC_STANDBY_LIST 1024 using std::string; using std::vector; @@ -161,7 +162,9 @@ typedef enum CM_MessageType { MSG_CM_CTL_GLOBAL_BARRIER_DATA = 106, MSG_CM_CTL_GLOBAL_BARRIER_DATA_BEGIN = 107, MSG_CM_CTL_BARRIER_DATA_END = 108, - MSG_CM_CTL_BACKUP_OPEN = 109 + MSG_CM_CTL_BACKUP_OPEN = 109, + MSG_CM_AGENT_DN_SYNC_LIST = 110, + MSG_AGENT_CM_DN_SYNC_LIST = 111, } CM_MessageType; #define UNDEFINED_LOCKMODE 0 @@ -262,6 +265,16 @@ extern int g_dn_phony_dead_times[CM_MAX_DATANODE_PER_NODE]; extern int g_cn_phony_dead_times; typedef enum {DN, CN} GetinstanceType; + +typedef struct DatanodeSyncList { + int count; + uint32 dnSyncList[CM_PRIMARY_STANDBY_NUM]; + int syncStandbyNum; + // remain + int remain; + char remainStr[DN_SYNC_LEN]; +} DatanodeSyncList; + typedef struct cm_msg_type { int msg_type; } cm_msg_type; @@ -479,6 +492,15 @@ typedef struct agent_to_cm_gs_guc_feedback { bool status; /* gs guc command exec status */ } agent_to_cm_gs_guc_feedback; +typedef struct CmToAgentGsGucSyncList { + int msgType; + uint32 node; + uint32 instanceId; + uint32 groupIndex; + DatanodeSyncList dnSyncList; + int instanceNum; +} CmToAgentGsGucSyncList; + typedef struct cm_to_agent_notify { int msg_type; uint32 node; @@ -806,7 +828,7 @@ typedef struct agent_to_cm_coordinate_status_report { cm_coordinate_group_mode group_mode; bool cleanDropCnFlag; bool isCnDnDisconnected; - int cn_active_info[CN_INFO_NUM]; + uint32 cn_active_info[CN_INFO_NUM]; char resevered[RESERVE_NUM]; int cn_restart_counts; int phony_dead_times; @@ -827,7 +849,7 @@ typedef struct agent_to_cm_coordinate_status_report_v1 { cm_coordinate_group_mode group_mode; bool cleanDropCnFlag; bool isCnDnDisconnected; - int cn_active_info[CN_INFO_NUM]; + uint32 cn_active_info[CN_INFO_NUM]; int cn_dn_disconnect_times; char resevered[RESERVE_NUM - RESERVE_NUM_USED]; int cn_restart_counts; @@ -856,9 +878,18 @@ typedef struct agent_to_cm_datanode_status_report { int dn_restart_counts; int phony_dead_times; int dn_restart_counts_in_hour; - } agent_to_cm_datanode_status_report; +typedef struct AgentToCmserverDnSyncList { + int msg_type; + uint32 node; + uint32 instanceId; + int instanceType; + char dnSynLists[DN_SYNC_LEN]; + // remain + char remainStr[DN_SYNC_LEN]; +} AgentToCmserverDnSyncList; + typedef struct agent_to_cm_gtm_status_report { int msg_type; uint32 node; @@ -900,7 +931,8 @@ typedef struct coordinate_status_info { typedef struct datanode_status_info { pthread_rwlock_t lk_lock; agent_to_cm_datanode_status_report report_msg; - agent_to_cm_datanode_barrier_status_report barrier_msg; + agent_to_cm_coordinate_barrier_status_report barrier_msg; + AgentToCmserverDnSyncList dnSyncListMsg; } datanode_status_info; typedef struct gtm_status_info { @@ -1022,6 +1054,8 @@ typedef struct cm_instance_datanode_report_status { uint64 barrierLSN; uint64 archive_LSN; uint64 flush_LSN; + DatanodeSyncList dnSyncList; + uint32 arbiTime; } cm_instance_datanode_report_status; typedef struct cm_instance_gtm_report_status { diff --git a/src/include/cm/cm_server/cm_server.h b/src/include/cm/cm_server/cm_server.h index e18bfd213..600cce5f8 100644 --- a/src/include/cm/cm_server/cm_server.h +++ b/src/include/cm/cm_server/cm_server.h @@ -195,6 +195,11 @@ typedef struct cm_instance_report_status { uint32 obs_delete_xlog_time; struct timeval finishredo_time; bool finish_redo; + DatanodeSyncList currentSyncList; + DatanodeSyncList exceptSyncList; + int waitReduceTimes; + int waitIncreaseTimes; + int waitSyncTime; } cm_instance_report_status; typedef struct cm_instance_group_report_status { @@ -231,8 +236,10 @@ typedef enum ProcessingMode { extern volatile sig_atomic_t got_stop; extern volatile sig_atomic_t got_parameter_reload; +extern volatile sig_atomic_t g_SetReplaceCnStatus; extern volatile sig_atomic_t ha_connection_closed; extern THR_LOCAL volatile sig_atomic_t got_conns_close; +extern char g_replaceCnStatusFile[MAX_PATH_LEN]; extern void ProcessStartupPacket(int epollFd, int events, void* arg); extern int cm_server_process_ha_startuppacket(CM_Connection* con, CM_StringInfo msg); diff --git a/src/include/cm/cm_server/cms_az.h b/src/include/cm/cm_server/cms_az.h index 9a3db2da5..7e7ec6f86 100644 --- a/src/include/cm/cm_server/cms_az.h +++ b/src/include/cm/cm_server/cms_az.h @@ -42,4 +42,11 @@ extern void getAZDyanmicStatus( int azCount, int* statusOnline, int* statusPrimary, int* statusFail, int* statusDnFail, char azArray[][CM_AZ_NAME]); extern void* AZStatusCheckAndArbitrate(void* arg); +extern void *DnGroupStatusCheckAndArbitrateMain(void *arg); +extern bool CompareCurWithExceptSyncList(uint32 groupIndex); +extern void GetSyncListString(DatanodeSyncList syncList, char *syncListString, size_t len); +extern bool IsInstanceIdInSyncList(uint32 instanceId, const DatanodeSyncList *syncList); +extern int getDnCountOfAZ(int* azDnCount, bool inCurSyncList); +extern int GetAzDeploymentType(); +extern bool IsDnSyncListVaild(uint32 groupIndex, uint32 *instanceId); #endif \ No newline at end of file diff --git a/src/include/cm/cm_server/cms_cn.h b/src/include/cm/cm_server/cms_cn.h index a1fc15384..51e9463b2 100644 --- a/src/include/cm/cm_server/cms_cn.h +++ b/src/include/cm/cm_server/cms_cn.h @@ -34,6 +34,6 @@ void process_ctl_to_cm_disable_cn(CM_Connection* con, ctl_to_cm_disable_cn* ctl_ void process_agent_to_central_coordinate_status( CM_Connection* con, const agent_to_cm_coordinate_status_report* report_msg, int group_index, uint32 count); #endif -void set_cn_barrier_info (agent_to_cm_coordinate_barrier_status_report* barrier_info); +void SetBarrierInfo(agent_to_cm_coordinate_barrier_status_report* barrier_info); #endif diff --git a/src/include/cm/cm_server/cms_etcd.h b/src/include/cm/cm_server/cms_etcd.h index ff52d2a93..834ca833f 100644 --- a/src/include/cm/cm_server/cms_etcd.h +++ b/src/include/cm/cm_server/cms_etcd.h @@ -49,15 +49,18 @@ void get_datanode_dynamic_config_change_from_etcd(uint32 group_index); void GetDatanodeDynamicConfigChangeFromEtcdNew(uint32 group_index); void get_gtm_dynamic_config_change_from_etcd(uint32 group_index); void SetStaticPrimaryRole(uint32 group_index, int static_primary__index); - +int SetReplaceCnStatusToEtcd(); void GetNodeReadOnlyStatusFromEtcd(); errno_t SetNodeReadOnlyStatusToEtcd(const char* bitsString); int try_etcd_get(char* key, char* value, int max_size, int tryTimes); -long GetTimeMinus(struct timeval checkEnd, struct timeval checkBegin); +uint64 GetTimeMinus(struct timeval checkEnd, struct timeval checkBegin); int GetInstanceKeyValueFromEtcd(const char *key, InstanceStatusKeyValue *keyValue, const int length); void server_etcd_init(); +int GetHistoryClusterCurSyncListFromEtcd(); +int GetHistoryClusterExceptSyncListFromEtcd(); +bool SetGroupExpectSyncList(uint32 index, const DatanodeDynamicStatus *statusDnOnline); void CloseAllEtcdSession(); EtcdSession GetNextEtcdSession(); diff --git a/src/include/cm/cm_server/cms_global_params.h b/src/include/cm/cm_server/cms_global_params.h index c136663f8..35071da86 100644 --- a/src/include/cm/cm_server/cms_global_params.h +++ b/src/include/cm/cm_server/cms_global_params.h @@ -56,6 +56,7 @@ typedef enum MAINTENANCE_MODE_ { MAINTENANCE_MODE_UPGRADE, MAINTENANCE_MODE_UPGRADE_OBSERVATION, MAINTENANCE_MODE_DILATATION, + MAINTENANCE_NODE_UPGRADED_GRAYSCALE } maintenance_mode; /* data structures to record instances that are in switchover procedure */ @@ -90,6 +91,11 @@ typedef struct DynamicNodeReadOnlyInfo { uint32 logDiskUsage; } DynamicNodeReadOnlyInfo; +typedef struct DatanodeDynamicStatus { + int count; + uint32 dnStatus[CM_PRIMARY_STANDBY_NUM]; +} DatanodeDynamicStatus; + #define ELASTICGROUP "elastic_group" #define PROCESS_NOT_EXIST 0 @@ -135,6 +141,7 @@ typedef struct DynamicNodeReadOnlyInfo { #define SWITCHOVER_SEND_CHECK_NUM 3 #define MAX_VALUE_OF_CM_PRIMARY_HEARTBEAT 86400 #define MAX_COUNT_OF_NOTIFY_CN 86400 +#define MAX_VALUE_OF_PRINT 86400 #define CM_MAX_AUTH_TOKEN_LENGTH 65535 #define INSTANCE_ID_LEN 5 #define CM_GS_GUC_SEND_INTERVAL 3 @@ -142,6 +149,13 @@ typedef struct DynamicNodeReadOnlyInfo { #define CN_DELETE_DELAY_SECONDS 10 #define MAX_QUERY_DOWN_COUNTS 30 +#define INSTANCE_DATA_NO_REDUCED 0 // no reduce shard instanceId +#define INSTANCE_DATA_REDUCED 1 // reduce shard instanceId + +#define SUCCESS_GET_VALUE 1 +#define CAN_NOT_FIND_THE_KEY 2 +#define FAILED_GET_VALUE 3 + #define AZ1_INDEX 0 // for the index flag, az1 #define AZ2_INDEX 1 // for the index flag, az2 #define AZ3_INDEX 2 // for the index flag, az3 @@ -174,6 +188,9 @@ typedef struct DynamicNodeReadOnlyInfo { #define AUTHENTICATION_TIMEOUT 60 +#define CAN_NOT_SEND_SYNC_lIST 1 +#define NOT_NEED_TO_SEND_SYNC_LIST 2 +#define NEED_TO_SEND_SYNC_LIST 3 #define IS_CN_INSTANCEID(instanceId) \ ((instanceId) > 5000 && (instanceId) < 6000) @@ -268,6 +285,7 @@ extern int g_monitor_thread_check_invalid_times; extern int cm_server_current_role; extern int ccn_change_delay_time; extern int* cn_dn_disconnect_times; +extern int* g_lastCnDnDisconnectTimes; extern int g_cms_ha_heartbeat_timeout[CM_PRIMARY_STANDBY_NUM]; extern int g_cms_ha_heartbeat_from_etcd[CM_PRIMARY_STANDBY_NUM]; extern int HAListenSocket[MAXLISTEN]; diff --git a/src/include/cm/cm_server/cms_process_messages.h b/src/include/cm/cm_server/cms_process_messages.h index c22a3142f..af4eff6ca 100644 --- a/src/include/cm/cm_server/cms_process_messages.h +++ b/src/include/cm/cm_server/cms_process_messages.h @@ -94,5 +94,6 @@ void process_ctl_to_cm_query_global_barrier_msg(CM_Connection* con); void process_ctl_to_cm_query_barrier_msg(CM_Connection* con, ctl_to_cm_global_barrier_query* ctl_to_cm_global_barrier_query_ptr); void process_ctl_to_cm_one_instance_barrier_query_msg(CM_Connection* con, uint32 node, uint32 instanceId, int instanceType); +void ProcessGetDnSyncListMsg(CM_Connection *con, AgentToCmserverDnSyncList *agentToCmserverDnSyncList); #endif diff --git a/src/include/cm/cm_server/cms_threads.h b/src/include/cm/cm_server/cms_threads.h index 1533f5c41..0c06ffe5d 100644 --- a/src/include/cm/cm_server/cms_threads.h +++ b/src/include/cm/cm_server/cms_threads.h @@ -35,6 +35,7 @@ extern void CreateStorageThresholdCheckThread(); extern void create_deal_phony_alarm_thread(); extern void CreateAzStatusCheckForAzThread(); extern void CreateAz1Az2ConnectStateCheckThread(); +extern void CreateDnGroupStatusCheckAndArbitrateThread(); extern void Init_cluster_to_switchover(); extern void CreateSyncDynamicInfoThread(); extern void CreateMultiAzConnectStateCheckThread(); diff --git a/src/include/cm/elog.h b/src/include/cm/elog.h old mode 100755 new mode 100644 diff --git a/src/include/codegen/builtinscodegen.h b/src/include/codegen/builtinscodegen.h old mode 100755 new mode 100644 diff --git a/src/include/codegen/codegendebuger.h b/src/include/codegen/codegendebuger.h old mode 100755 new mode 100644 diff --git a/src/include/codegen/gscodegen.h b/src/include/codegen/gscodegen.h old mode 100755 new mode 100644 diff --git a/src/include/codegen/vecexprcodegen.h b/src/include/codegen/vecexprcodegen.h old mode 100755 new mode 100644 diff --git a/src/include/codegen/vechashaggcodegen.h b/src/include/codegen/vechashaggcodegen.h old mode 100755 new mode 100644 diff --git a/src/include/codegen/vechashjoincodegen.h b/src/include/codegen/vechashjoincodegen.h old mode 100755 new mode 100644 diff --git a/src/include/codegen/vecsortcodegen.h b/src/include/codegen/vecsortcodegen.h old mode 100755 new mode 100644 diff --git a/src/include/commands/async.h b/src/include/commands/async.h old mode 100755 new mode 100644 diff --git a/src/include/commands/cluster.h b/src/include/commands/cluster.h old mode 100755 new mode 100644 diff --git a/src/include/commands/copy.h b/src/include/commands/copy.h old mode 100755 new mode 100644 diff --git a/src/include/commands/dbcommands.h b/src/include/commands/dbcommands.h old mode 100755 new mode 100644 diff --git a/src/include/commands/directory.h b/src/include/commands/directory.h old mode 100755 new mode 100644 diff --git a/src/include/commands/formatter.h b/src/include/commands/formatter.h old mode 100755 new mode 100644 diff --git a/src/include/commands/matview.h b/src/include/commands/matview.h index 8cc53610b..36584519f 100644 --- a/src/include/commands/matview.h +++ b/src/include/commands/matview.h @@ -75,7 +75,6 @@ extern DistributeBy *infer_incmatview_distkey(CreateTableAsStmt *stmt); extern void check_basetable_permission(Query *query); extern bool isIncMatView(RangeVar *rv); extern void MatviewShmemSetInvalid(); -extern void acquire_mativew_tables_lock(Query *query, bool incremental); extern void check_basetable(Query *query, bool isCreateMatview, bool isIncremental); extern List *pull_up_rels_recursive(Node *node); diff --git a/src/include/commands/prepare.h b/src/include/commands/prepare.h old mode 100755 new mode 100644 index 1d9544f9d..e5362a73f --- a/src/include/commands/prepare.h +++ b/src/include/commands/prepare.h @@ -24,13 +24,9 @@ typedef struct DatanodeStatement { int current_nodes_number; /* number of nodes where statement is active */ int max_nodes_number; /* maximum number of nodes where statement is active */ int* dns_node_indices; /* node ids where statement is active */ - instr_time* last_used_time; /* for gpc, save time when use this statement to send msg to dn */ } DatanodeStatement; #endif -#define NEED_SEND_PARSE_AGAIN(last_used_time, cur_time) \ - (INSTR_TIME_GET_DOUBLE(cur_time) - INSTR_TIME_GET_DOUBLE(last_used_time)) > ((double)MAX_PREPARE_WAIING_TIME / 2) - /* Utility statements PREPARE, EXECUTE, DEALLOCATE, EXPLAIN EXECUTE */ extern void PrepareQuery(PrepareStmt* stmt, const char* queryString); extern void ExecuteQuery(ExecuteStmt* stmt, IntoClause* intoClause, const char* queryString, ParamListInfo params, diff --git a/src/include/commands/sequence.h b/src/include/commands/sequence.h index 61d092b34..940263034 100644 --- a/src/include/commands/sequence.h +++ b/src/include/commands/sequence.h @@ -160,6 +160,8 @@ extern int64 gen_uuid(List* uuids); extern char* gen_hybirdmsg_for_CreateSchemaStmt(CreateSchemaStmt* stmt, const char* queryString); extern void gen_uuid_for_CreateStmt(CreateStmt* stmt, List* uuids); extern void gen_uuid_for_CreateSchemaStmt(List* stmts, List* uuids); +extern void processUpdateSequenceMsg(const char* seqname, int64 lastvalue); +extern void checkAndDoUpdateSequence(); #endif diff --git a/src/include/commands/tablecmds.h b/src/include/commands/tablecmds.h old mode 100755 new mode 100644 diff --git a/src/include/commands/tablespace.h b/src/include/commands/tablespace.h old mode 100755 new mode 100644 diff --git a/src/include/commands/trigger.h b/src/include/commands/trigger.h old mode 100755 new mode 100644 index 6b1ef0188..cd6975388 --- a/src/include/commands/trigger.h +++ b/src/include/commands/trigger.h @@ -194,4 +194,8 @@ extern bool pgxc_should_exec_br_trigger(Relation rel, int16 trigevent, EState* e extern bool pgxc_has_trigger_for_event(int16 tg_event, TriggerDesc* trigdesc); #endif +extern void InvalidRelcacheForTriggerFunction(Oid funcoid, Oid returnType); + +extern void ResetTrigShipFlag(); + #endif /* TRIGGER_H */ diff --git a/src/include/commands/user.h b/src/include/commands/user.h old mode 100755 new mode 100644 index c820ac802..6ea9d197a --- a/src/include/commands/user.h +++ b/src/include/commands/user.h @@ -59,7 +59,6 @@ extern USER_STATUS GetAccountLockedStatus(Oid roleID); extern void DropUserStatus(Oid roleID); extern Oid GetRoleOid(const char* username); extern bool IsRoleExist(const char* username); -bool HasModifiedInitPwdByChkAuthHistory(Oid roleID); void CheckLockPrivilege(Oid roleID, HeapTuple tuple, bool is_opradmin); extern bool is_role_persistence(Oid roleid); void CheckAlterAuditadminPrivilege(Oid roleid, bool isOnlyAlterPassword); diff --git a/src/include/commands/vacuum.h b/src/include/commands/vacuum.h old mode 100755 new mode 100644 diff --git a/src/include/commands/variable.h b/src/include/commands/variable.h old mode 100755 new mode 100644 diff --git a/src/include/common/build_query/build_query.h b/src/include/common/build_query/build_query.h old mode 100755 new mode 100644 diff --git a/src/include/common/config/cm_config.h b/src/include/common/config/cm_config.h old mode 100755 new mode 100644 index 6455c42ee..beb5c1fa1 --- a/src/include/common/config/cm_config.h +++ b/src/include/common/config/cm_config.h @@ -49,6 +49,7 @@ #define CM_MAX_COMMAND_LEN 1024 #define CM_MAX_COMMAND_LONG_LEN 2048 #define CONNSTR_LEN 256 +#define DN_SYNC_LEN (256) // A logic datanode number in a node, The logic datanode can be include the primary, standby and dummystandby DN. #define LOGIC_DN_PER_NODE 32 diff --git a/src/include/connector.h b/src/include/connector.h old mode 100755 new mode 100644 diff --git a/src/include/dfs_config.h b/src/include/dfs_config.h old mode 100755 new mode 100644 diff --git a/src/include/dfsdesc.h b/src/include/dfsdesc.h old mode 100755 new mode 100644 diff --git a/src/include/distributelayer/streamConsumer.h b/src/include/distributelayer/streamConsumer.h old mode 100755 new mode 100644 diff --git a/src/include/distributelayer/streamCore.h b/src/include/distributelayer/streamCore.h old mode 100755 new mode 100644 index fdb85b10f..71ee6bbc9 --- a/src/include/distributelayer/streamCore.h +++ b/src/include/distributelayer/streamCore.h @@ -426,6 +426,10 @@ public: /* Mark recursive vfd is invalid before aborting transaction. */ static void MarkRecursiveVfdInvalid(); +#ifndef ENABLE_MULTIPLE_NODES + struct PortalData *m_portal; +#endif + private: /* Set the executor stop flag to true. */ void stopThread(); diff --git a/src/include/distributelayer/streamProducer.h b/src/include/distributelayer/streamProducer.h old mode 100755 new mode 100644 diff --git a/src/include/distributelayer/streamTransportCore.h b/src/include/distributelayer/streamTransportCore.h old mode 100755 new mode 100644 diff --git a/src/include/executor/execMerge.h b/src/include/executor/execMerge.h old mode 100755 new mode 100644 diff --git a/src/include/executor/execStream.h b/src/include/executor/execStream.h old mode 100755 new mode 100644 diff --git a/src/include/executor/execdesc.h b/src/include/executor/execdesc.h old mode 100755 new mode 100644 diff --git a/src/include/executor/executor.h b/src/include/executor/executor.h old mode 100755 new mode 100644 diff --git a/src/include/executor/hashjoin.h b/src/include/executor/hashjoin.h old mode 100755 new mode 100644 diff --git a/src/include/executor/instrument.h b/src/include/executor/instrument.h old mode 100755 new mode 100644 index c6a340ef5..32805acf0 --- a/src/include/executor/instrument.h +++ b/src/include/executor/instrument.h @@ -689,8 +689,8 @@ public: return m_threadInstrArray[1 + idx * dn_num_streams]; } - /* get threadinstrArray in idx(DN) and planNodeId */ - ThreadInstrumentation* getThreadInstrumentationCN(int idx, int planNodeId, int smp) + /* get ThreadInstrumentation in CN */ + ThreadInstrumentation* getThreadInstrumentationCN(int idx, int planNodeId, int smpId) { Assert(planNodeId >= 1 && planNodeId <= m_plannodes_num); int offset = @@ -700,7 +700,7 @@ public: if (offset == -1) return m_threadInstrArray[0]; else - return m_threadInstrArray[1 + idx * dn_num_streams + offset + smp]; + return m_threadInstrArray[1 + idx * dn_num_streams + offset + smpId]; } /* get ThreadInstrumentation in DN */ @@ -711,6 +711,18 @@ public: return m_threadInstrArray[offset + smpId]; } + /* get ThreadInstrumentation */ + ThreadInstrumentation *getThreadInstrumentation(int idx, int planNodeId, int smpId) + { + ThreadInstrumentation *threadInstr = +#ifdef ENABLE_MULTIPLE_NODES + getThreadInstrumentationCN(idx, planNodeId, smpId); +#else + getThreadInstrumentationDN(planNodeId, smpId); +#endif /* ENABLE_MULTIPLE_NODES */ + return threadInstr; + } + /* get threadinstrumentation of current CN */ ThreadInstrumentation* get_cnthreadinstrumentation(int index) { diff --git a/src/include/executor/lightProxy.h b/src/include/executor/lightProxy.h old mode 100755 new mode 100644 diff --git a/src/include/executor/nodeAgg.h b/src/include/executor/nodeAgg.h old mode 100755 new mode 100644 diff --git a/src/include/executor/nodeBitmapIndexscan.h b/src/include/executor/nodeBitmapIndexscan.h old mode 100755 new mode 100644 diff --git a/src/include/executor/nodeExtensible.h b/src/include/executor/nodeExtensible.h old mode 100755 new mode 100644 diff --git a/src/include/executor/nodeFunctionscan.h b/src/include/executor/nodeFunctionscan.h old mode 100755 new mode 100644 diff --git a/src/include/executor/nodeHash.h b/src/include/executor/nodeHash.h old mode 100755 new mode 100644 diff --git a/src/include/executor/nodeRecursiveunion.h b/src/include/executor/nodeRecursiveunion.h old mode 100755 new mode 100644 diff --git a/src/include/executor/nodeSamplescan.h b/src/include/executor/nodeSamplescan.h old mode 100755 new mode 100644 diff --git a/src/include/executor/spi.h b/src/include/executor/spi.h old mode 100755 new mode 100644 index cac256a04..62b761327 --- a/src/include/executor/spi.h +++ b/src/include/executor/spi.h @@ -133,6 +133,7 @@ extern void SPI_save_current_stp_transaction_state(); extern void SPI_restore_current_stp_transaction_state(); extern TransactionId SPI_get_top_transaction_id(); +extern void SPI_forbid_exec_push_down_with_exception(); extern void SPICleanup(void); extern void AtEOXact_SPI(bool isCommit, bool STP_rollback, bool STP_commit); extern void AtEOSubXact_SPI(bool isCommit, SubTransactionId mySubid, bool STP_rollback, bool STP_commit); diff --git a/src/include/executor/spi_priv.h b/src/include/executor/spi_priv.h old mode 100755 new mode 100644 diff --git a/src/include/executor/tuptable.h b/src/include/executor/tuptable.h old mode 100755 new mode 100644 diff --git a/src/include/fmgr.h b/src/include/fmgr.h old mode 100755 new mode 100644 diff --git a/src/include/foreign/fdwapi.h b/src/include/foreign/fdwapi.h old mode 100755 new mode 100644 diff --git a/src/include/funcapi.h b/src/include/funcapi.h old mode 100755 new mode 100644 diff --git a/src/include/gen_alloc.h b/src/include/gen_alloc.h old mode 100755 new mode 100644 diff --git a/src/include/getaddrinfo.h b/src/include/getaddrinfo.h old mode 100755 new mode 100644 diff --git a/src/include/gs_ktool/kt_interface.h b/src/include/gs_ktool/kt_interface.h index 60c11c7d5..5f8ea3299 100644 --- a/src/include/gs_ktool/kt_interface.h +++ b/src/include/gs_ktool/kt_interface.h @@ -17,7 +17,7 @@ * APIs for Encrypted Database. * * IDENTIFICATION - * src/distribute/bin/gs_ktool/kt_interface.cpp + * src/bin/gs_ktool/kt_interface.cpp * *------------------------------------------------------------------------- */ @@ -26,7 +26,6 @@ #define KT_INTERFACE_H extern bool get_cmk_len(unsigned int cmk_id, unsigned int *cmk_len); -extern bool get_cmk_plain(unsigned int cmk_id, unsigned char *cmk_plain_buffer, unsigned int *cmk_len, - bool is_report_err); +extern bool get_cmk_plain(unsigned int cmk_id, unsigned char *cmk_plain_buffer, unsigned int *cmk_len); #endif diff --git a/src/include/gs_thread.h b/src/include/gs_thread.h old mode 100755 new mode 100644 diff --git a/src/include/gssignal/gs_signal.h b/src/include/gssignal/gs_signal.h old mode 100755 new mode 100644 diff --git a/src/include/gstrace/gstrace_infra_int.h b/src/include/gstrace/gstrace_infra_int.h old mode 100755 new mode 100644 index 50bf1bbd7..bf2e50adb --- a/src/include/gstrace/gstrace_infra_int.h +++ b/src/include/gstrace/gstrace_infra_int.h @@ -42,8 +42,8 @@ #define SLOT_AREAD_HEADER_MAGIC_NO 0xBCD7BCD7 #define GS_TRC_CFG_MAGIC_N 0xABCDABCE -#define MIN_BUF_SIZE 128 // The buffer size when it's tracing to file -#define DFT_BUF_SIZE 1073741824 // Default trace buffer size. 1GB. must be a power of 2 +#define MIN_BUF_SIZE MAX_TRC_RC_SZ // The buffer size when it's tracing to file +#define DFT_BUF_SIZE 1073741824 // Default trace buffer size. 1GB. must be a power of 2 #define CACHE_LINE_SIZE 64 @@ -144,8 +144,8 @@ typedef struct trace_infra { /* the number of used slots since startup */ volatile uint64_t g_slot_count; - /* ensure the previous one field in an sepreate cacheline */ - char pad[CACHE_LINE_SIZE - sizeof(uint64_t)]; + /* ensure the previous two field in an sepreate cacheline */ + char pad[CACHE_LINE_SIZE - 2 * sizeof(uint64_t)]; /* buffer size + size of this struct */ uint64_t total_size; diff --git a/src/include/gtm/gtm.h b/src/include/gtm/gtm.h old mode 100755 new mode 100644 diff --git a/src/include/gtm/gtm_backup.h b/src/include/gtm/gtm_backup.h old mode 100755 new mode 100644 diff --git a/src/include/gtm/gtm_c.h b/src/include/gtm/gtm_c.h old mode 100755 new mode 100644 diff --git a/src/include/gtm/gtm_client.h b/src/include/gtm/gtm_client.h old mode 100755 new mode 100644 diff --git a/src/include/gtm/gtm_csnsync.h b/src/include/gtm/gtm_csnsync.h old mode 100755 new mode 100644 diff --git a/src/include/gtm/gtm_lock.h b/src/include/gtm/gtm_lock.h old mode 100755 new mode 100644 diff --git a/src/include/gtm/gtm_msg.h b/src/include/gtm/gtm_msg.h old mode 100755 new mode 100644 diff --git a/src/include/gtm/gtm_opt.h b/src/include/gtm/gtm_opt.h old mode 100755 new mode 100644 diff --git a/src/include/gtm/gtm_proxy.h b/src/include/gtm/gtm_proxy.h old mode 100755 new mode 100644 diff --git a/src/include/gtm/gtm_seq.h b/src/include/gtm/gtm_seq.h old mode 100755 new mode 100644 diff --git a/src/include/gtm/gtm_test_framework.h b/src/include/gtm/gtm_test_framework.h old mode 100755 new mode 100644 diff --git a/src/include/gtm/gtm_txn.h b/src/include/gtm/gtm_txn.h old mode 100755 new mode 100644 diff --git a/src/include/hotpatch/hotpatch_client.h b/src/include/hotpatch/hotpatch_client.h old mode 100755 new mode 100644 diff --git a/src/include/instruments/dblink_query.h b/src/include/instruments/dblink_query.h old mode 100755 new mode 100644 diff --git a/src/include/instruments/generate_report.h b/src/include/instruments/generate_report.h old mode 100755 new mode 100644 diff --git a/src/include/instruments/gs_stat.h b/src/include/instruments/gs_stat.h index c220ab645..f24978b09 100644 --- a/src/include/instruments/gs_stat.h +++ b/src/include/instruments/gs_stat.h @@ -25,7 +25,9 @@ #include "c.h" #include "funcapi.h" #include "gs_thread.h" +#include "pgstat.h" extern void gs_stat_get_timeout_beentry(int timeout_threshold, Tuplestorestate* tupStore, TupleDesc tupDesc, FuncType insert); +extern bool gs_stat_encap_status_info(PgBackendStatus* localentry, PgBackendStatus* beentry); #endif diff --git a/src/include/instruments/instr_statement.h b/src/include/instruments/instr_statement.h index 264611196..415d63f4f 100644 --- a/src/include/instruments/instr_statement.h +++ b/src/include/instruments/instr_statement.h @@ -96,7 +96,7 @@ typedef enum { LWLOCK_WAIT_END, LWLOCK_RELEASE, TYPE_INVALID -} StatementDetailType; +} StmtDetailType; // type(1 byte), timestamp(8 bytes), locktag(20 bytes), lockmode(4 bytes) #define LOCK_START_DETAIL_BUFSIZE 33 @@ -134,13 +134,19 @@ struct StatementDetailItem { struct StatementDetail { int n_items; /* how many of detail items */ uint32 cur_pos; /* the write position of the last item */ + bool oom; /* whether OutOfMemory happened. */ StatementDetailItem *head; /* the first detail item. */ StatementDetailItem *tail; /* the last detail item. */ }; +/* increment this version if more detail is supported. */ #define STATEMENT_DETAIL_VERSION 1 + +/* flag for detail content's integrity, CAUTION: modify is_valid_detail_record() if add new flag */ #define STATEMENT_DETAIL_NOT_TRUNCATED 0 #define STATEMENT_DETAIL_TRUNCATED 1 +#define STATEMENT_DETAIL_MISSING_OOM 2 + #define STATEMENT_DETAIL_FORMAT_STRING "plaintext" #define STATEMENT_DETAIL_FORMAT_JSON "json" #define STATEMENT_DETAIL_TYPE_PRETTY "pretty" @@ -187,8 +193,8 @@ extern void assign_statement_stat_level(const char* newval, void* extra); extern bool check_statement_retention_time(char** newval, void** extra, GucSource source); extern void assign_statement_retention_time(const char* newval, void* extra); -extern void statement_full_info_record( - StatementDetailType type, int lockmode = -1, const LOCKTAG *locktag = NULL, uint16 lwlockId = 0); +extern void instr_stmt_report_lock( + StmtDetailType type, int lockmode = -1, const LOCKTAG *locktag = NULL, uint16 lwlockId = 0); extern void instr_stmt_report_stat_at_handle_init(); extern void instr_stmt_report_stat_at_handle_commit(); @@ -200,8 +206,6 @@ extern void instr_stmt_report_query_plan(QueryDesc *queryDesc); extern void instr_stmt_report_debug_query_id(uint64 debug_query_id); extern void instr_stmt_report_start_time(); extern void instr_stmt_report_finish_time(); -extern text *get_statement_detail(StatementDetail *text); -extern char *decode_statement_detail_text(text *details, const char *format, bool pretty); extern bool instr_stmt_need_track_plan(); extern void instr_stmt_report_returned_rows(uint64 returned_rows); extern void instr_stmt_report_soft_parse(uint64 soft_parse); diff --git a/src/include/instruments/instr_unique_sql.h b/src/include/instruments/instr_unique_sql.h old mode 100755 new mode 100644 index 22e4b3b00..9b58a5de0 --- a/src/include/instruments/instr_unique_sql.h +++ b/src/include/instruments/instr_unique_sql.h @@ -155,21 +155,36 @@ extern int GetUniqueSQLTrackType(); #define IS_UNIQUE_SQL_TRACK_TOP ((IS_PGXC_COORDINATOR || IS_SINGLE_NODE) && GetUniqueSQLTrackType() == UNIQUE_SQL_TRACK_TOP) -#define INIT_UNIQUE_SQL_CXT() \ - bool old_is_top_unique_sql = false; \ - uint64 old_unique_sql_id = 0; +#define INIT_UNIQUE_SQL_CXT() \ + bool old_is_top_unique_sql = false; \ + uint64 old_unique_sql_id = 0; \ + bool old_is_multi_unique_sql = false; \ + char *old_curr_single_unique_sql = NULL; \ + int32 old_multi_sql_offset = 0; -#define BACKUP_UNIQUE_SQL_CXT() \ - old_is_top_unique_sql = IsTopUniqueSQL(); \ - if (old_is_top_unique_sql) { \ - SetIsTopUniqueSQL(false); \ - old_unique_sql_id = u_sess->unique_sql_cxt.unique_sql_id; \ +#define BACKUP_UNIQUE_SQL_CXT() \ + old_is_top_unique_sql = IsTopUniqueSQL(); \ + if (old_is_top_unique_sql) { \ + SetIsTopUniqueSQL(false); \ + old_unique_sql_id = u_sess->unique_sql_cxt.unique_sql_id; \ + } \ + if (u_sess->unique_sql_cxt.is_multi_unique_sql) { \ + u_sess->unique_sql_cxt.is_multi_unique_sql = false; \ + old_is_multi_unique_sql = true; \ + old_curr_single_unique_sql = u_sess->unique_sql_cxt.curr_single_unique_sql; \ + old_multi_sql_offset = u_sess->unique_sql_cxt.multi_sql_offset; \ + u_sess->unique_sql_cxt.multi_sql_offset = 0; \ } -#define RESTORE_UNIQUE_SQL_CXT() \ - if (old_is_top_unique_sql) { \ - SetIsTopUniqueSQL(true); \ - u_sess->unique_sql_cxt.unique_sql_id = old_unique_sql_id; \ +#define RESTORE_UNIQUE_SQL_CXT() \ + if (old_is_top_unique_sql) { \ + SetIsTopUniqueSQL(true); \ + u_sess->unique_sql_cxt.unique_sql_id = old_unique_sql_id; \ + } \ + if (old_is_multi_unique_sql) { \ + u_sess->unique_sql_cxt.is_multi_unique_sql = true; \ + u_sess->unique_sql_cxt.curr_single_unique_sql = old_curr_single_unique_sql; \ + u_sess->unique_sql_cxt.multi_sql_offset = old_multi_sql_offset; \ } #define START_TRX_UNIQUE_SQL_ID 2718638560 diff --git a/src/include/instruments/percentile.h b/src/include/instruments/percentile.h old mode 100755 new mode 100644 diff --git a/src/include/instruments/snapshot.h b/src/include/instruments/snapshot.h old mode 100755 new mode 100644 diff --git a/src/include/instruments/unique_query.h b/src/include/instruments/unique_query.h old mode 100755 new mode 100644 index 5fb44e74c..51464a712 --- a/src/include/instruments/unique_query.h +++ b/src/include/instruments/unique_query.h @@ -30,6 +30,7 @@ #include "c.h" extern uint32 generate_unique_queryid(Query* query, const char* query_string); -extern bool normalized_unique_querystring(Query* query, const char* query_string, char* unique_string, int len); +extern bool normalized_unique_querystring(Query* query, const char* query_string, char* unique_string, int len, + uint32 multi_sql_offset); #endif diff --git a/src/include/keymanagement/FIKMSmessage.h b/src/include/keymanagement/FIKMSmessage.h old mode 100755 new mode 100644 diff --git a/src/include/keymanagement/HttpRestfulClient.h b/src/include/keymanagement/HttpRestfulClient.h old mode 100755 new mode 100644 diff --git a/src/include/keymanagement/KeyManager.h b/src/include/keymanagement/KeyManager.h old mode 100755 new mode 100644 diff --git a/src/include/keymanagement/KeyRecord.h b/src/include/keymanagement/KeyRecord.h old mode 100755 new mode 100644 diff --git a/src/include/keymanagement/TDEKeysFile.h b/src/include/keymanagement/TDEKeysFile.h old mode 100755 new mode 100644 diff --git a/src/include/knl/knl_guc.h b/src/include/knl/knl_guc.h old mode 100755 new mode 100644 diff --git a/src/include/knl/knl_guc/knl_guc_common.h b/src/include/knl/knl_guc/knl_guc_common.h old mode 100755 new mode 100644 diff --git a/src/include/knl/knl_guc/knl_instance_attr_common.h b/src/include/knl/knl_guc/knl_instance_attr_common.h old mode 100755 new mode 100644 diff --git a/src/include/knl/knl_guc/knl_instance_attr_resource.h b/src/include/knl/knl_guc/knl_instance_attr_resource.h old mode 100755 new mode 100644 diff --git a/src/include/knl/knl_guc/knl_instance_attr_security.h b/src/include/knl/knl_guc/knl_instance_attr_security.h old mode 100755 new mode 100644 diff --git a/src/include/knl/knl_guc/knl_instance_attr_storage.h b/src/include/knl/knl_guc/knl_instance_attr_storage.h old mode 100755 new mode 100644 diff --git a/src/include/knl/knl_guc/knl_session_attr_common.h b/src/include/knl/knl_guc/knl_session_attr_common.h old mode 100755 new mode 100644 diff --git a/src/include/knl/knl_guc/knl_session_attr_resource.h b/src/include/knl/knl_guc/knl_session_attr_resource.h old mode 100755 new mode 100644 diff --git a/src/include/knl/knl_guc/knl_session_attr_storage.h b/src/include/knl/knl_guc/knl_session_attr_storage.h old mode 100755 new mode 100644 diff --git a/src/include/knl/knl_instance.h b/src/include/knl/knl_instance.h index 87ba38847..c64ada3dc 100644 --- a/src/include/knl/knl_instance.h +++ b/src/include/knl/knl_instance.h @@ -69,6 +69,7 @@ const int NUM_PERCENTILE_COUNT = 2; const int INIT_NUMA_ALLOC_COUNT = 32; const int HOTKEY_ABANDON_LENGTH = 100; +const int MAX_GLOBAL_CACHEMEM_NUM = 8; enum knl_virtual_role { VUNKNOWN = 0, @@ -107,6 +108,7 @@ typedef struct knl_instance_attr { typedef struct knl_g_cache_context { MemoryContext global_cache_mem; + MemoryContext global_plancache_mem[MAX_GLOBAL_CACHEMEM_NUM]; } knl_g_cache_context; typedef struct knl_g_cost_context { @@ -193,9 +195,6 @@ typedef struct knl_g_stat_context { MemoryContext UniqueSqlContext; HTAB* volatile UniqueSQLHashtbl; - /* hypothetical index */ - MemoryContext HypopgContext; - /* user logon/logout stat */ MemoryContext InstrUserContext; HTAB* InstrUserHTAB; @@ -513,6 +512,8 @@ typedef struct knl_g_parallel_redo_context { pg_atomic_uint64 max_page_flush_lsn[NUM_MAX_PAGE_FLUSH_LSN_PARTITIONS]; pg_atomic_uint32 permitFinishRedo; pg_atomic_uint32 hotStdby; + volatile XLogRecPtr newestCheckpointLoc; + volatile CheckPoint newestCheckpoint; char* unali_buf; /* unaligned_buf */ char* ali_buf; } knl_g_parallel_redo_context; @@ -539,6 +540,7 @@ typedef struct knl_g_comm_context { /* connection handles at senders, for sending data through logic connection */ struct local_senders* g_senders; bool g_delay_survey_switch; + uint64 g_delay_survey_start_time; /* the unix path to send startuppacket to postmaster */ char* g_unix_path; HaShmemData* g_ha_shm_data; @@ -700,6 +702,7 @@ typedef struct knl_g_archive_obs_context { volatile int obs_slot_idx; struct ReplicationSlot* archive_slot; volatile int obs_slot_num; + int sync_walsender_term; } knl_g_archive_obs_context; #ifdef ENABLE_MOT @@ -708,6 +711,11 @@ typedef struct knl_g_mot_context { } knl_g_mot_context; #endif +typedef struct knl_g_hypo_context { + MemoryContext HypopgContext; + List* hypo_index_list; +} knl_g_hypo_context; + typedef struct knl_instance_context { knl_virtual_role role; volatile int status; @@ -742,7 +750,6 @@ typedef struct knl_instance_context { struct GlobalSeqInfoHashBucket global_seq[NUM_GS_PARTITIONS]; struct GlobalPlanCache* plan_cache; - struct GlobalPrepareStmt* prepare_cache; struct PROC_HDR* proc_base; slock_t proc_base_lock; @@ -802,12 +809,16 @@ typedef struct knl_instance_context { knl_g_oid_nodename_mapping_cache oid_nodename_cache; knl_g_archive_obs_context archive_obs_cxt; struct HTAB* ngroup_hash_table; + knl_g_hypo_context hypo_cxt; } knl_instance_context; +extern long random(); extern void knl_instance_init(); extern void knl_g_set_redo_finish_status(uint32 status); +extern void knl_g_clear_local_redo_finish_status(); extern bool knl_g_get_local_redo_finish_status(); extern bool knl_g_get_redo_finish_status(); +extern void knl_g_cachemem_create(); extern knl_instance_context g_instance; extern void add_numa_alloc_info(void* numaAddr, size_t length); @@ -825,5 +836,7 @@ extern void add_numa_alloc_info(void* numaAddr, size_t length); #define ATOMIC_TRUE 1 #define ATOMIC_FALSE 0 +#define GLOBAL_PLANCACHE_MEMCONTEXT (g_instance.cache_cxt.global_plancache_mem[random() % MAX_GLOBAL_CACHEMEM_NUM]) + #endif /* SRC_INCLUDE_KNL_KNL_INSTANCE_H_ */ diff --git a/src/include/knl/knl_session.h b/src/include/knl/knl_session.h index 30c4dd0da..024ec4ced 100644 --- a/src/include/knl/knl_session.h +++ b/src/include/knl/knl_session.h @@ -98,6 +98,11 @@ typedef struct knl_u_stream_context { class StreamNodeGroup* global_obj; class StreamProducer* producer_obj; + + MemoryContext stream_runtime_mem_cxt; + + /* Shared memory context for in-memory data exchange. */ + MemoryContext data_exchange_mem_cxt; } knl_u_stream_context; typedef struct knl_u_executor_context { @@ -209,6 +214,12 @@ typedef struct knl_u_SPI_context { /* Recording the nested exception counts for commit/rollback statement after. */ int portal_stp_exception_counter; + /* + * Recording the current execute procedure or function is with a exception declare + * or not, if it called by a procedure or function with exception,it's value still + * be true + */ + bool current_stp_with_exception; } knl_u_SPI_context; typedef struct knl_u_index_context { @@ -743,6 +754,10 @@ typedef struct knl_u_plancache_context { * in order to reduce overhead for short-lived queries. */ struct CachedPlanSource* unnamed_stmt_psrc; + /* current plancache pointer for pbe in dn gpc */ + struct CachedPlanSource* cur_stmt_psrc; + /* plancache pointer count in dn gpc for dfx, always be 0 or 1 */ + int private_refcount; /* recode if the query contains params, used in pgxc_shippability_walker */ bool query_has_params; @@ -971,18 +986,15 @@ typedef struct knl_u_proc_context { bool gsRewindAddCount; bool PassConnLimit; + char applicationName[NAMEDATALEN]; /* receive application name in ProcessStartupPacket */ + /* * * Session status of running backup, used for sanity checks in SQL-callable * * functions to start and stop backups. * */ enum SessionBackupState sessionBackupState; bool registerExclusiveHandlerdone; - /* - * Store label file and tablespace map during non-exclusive backups. - */ - char* LabelFile; - char* TblspcMapFile; - bool registerAbortBackupHandlerdone; /* unterminated backups handler flag */ + } knl_u_proc_context; /* maximum possible number of fields in a date string */ @@ -1221,6 +1233,8 @@ typedef struct knl_u_xact_context { char* savePrepareGID; bool pbe_execute_complete; + char *send_seqname; + int64 send_result; } knl_u_xact_context; typedef struct knl_u_plpgsql_context { @@ -1554,6 +1568,7 @@ typedef struct knl_u_libpq_context { List* ident_line_nums; MemoryContext ident_context; bool IsConnFromCmAgent; + bool HasErrorAccurs; /* error accurs, need destory handle */ #ifdef USE_SSL bool ssl_loaded_verify_locations; bool ssl_initialized; @@ -1789,6 +1804,8 @@ typedef struct knl_u_unique_sql_context { * # call PortalRun -> update unique sql stat */ bool is_multi_unique_sql; + /* for each sql in multi queries, remember the offset location */ + int32 multi_sql_offset; char* curr_single_unique_sql; /* @@ -2261,7 +2278,6 @@ typedef struct knl_session_context { MemoryContext top_transaction_mem_cxt; MemoryContext self_mem_cxt; MemoryContext top_portal_cxt; - MemoryContext probackup_context; MemoryContextGroup* mcxt_group; /* temp_mem_cxt is a context which will be reset when the session attach to a thread */ MemoryContext temp_mem_cxt; diff --git a/src/include/knl/knl_thread.h b/src/include/knl/knl_thread.h index 952e099c1..862074628 100644 --- a/src/include/knl/knl_thread.h +++ b/src/include/knl/knl_thread.h @@ -107,11 +107,6 @@ typedef struct knl_t_mem_context { MemoryContext row_desc_mem_cxt; - MemoryContext stream_runtime_mem_cxt; - - /* Shared memory context for in-memory data exchange. */ - MemoryContext data_exchange_mem_cxt; - /* This is a transient link to the active portal's memory context: */ MemoryContext portal_mem_cxt; @@ -1198,7 +1193,6 @@ typedef struct knl_t_arch_context { /* millsecond */ int task_wait_interval; int sync_walsender_idx; - int sync_walsender_term; /* for standby millsecond*/ long last_arch_time; } knl_t_arch_context; diff --git a/src/include/lib/dllist.h b/src/include/lib/dllist.h old mode 100755 new mode 100644 diff --git a/src/include/lib/stringinfo.h b/src/include/lib/stringinfo.h old mode 100755 new mode 100644 diff --git a/src/include/libcomm/libcomm.h b/src/include/libcomm/libcomm.h old mode 100755 new mode 100644 diff --git a/src/include/libpq/auth.h b/src/include/libpq/auth.h old mode 100755 new mode 100644 index bd4e376c4..876a43af8 --- a/src/include/libpq/auth.h +++ b/src/include/libpq/auth.h @@ -19,7 +19,7 @@ #include "gssapi/gssapi_krb5.h" #define INITIAL_USER_ID 10 -#define PREFIX_LENGTH 8 +#define POSTFIX_LENGTH 8 /* The struct for gss kerberos authentication. */ typedef struct GssConn { diff --git a/src/include/libpq/cl_state.h b/src/include/libpq/cl_state.h index 7b7456bb5..e3299b8d1 100644 --- a/src/include/libpq/cl_state.h +++ b/src/include/libpq/cl_state.h @@ -32,6 +32,9 @@ #include "libpq-fe.h" #include "postgres_fe.h" #include "client_logic_processor/raw_values_list.h" +#if ((!defined(ENABLE_MULTIPLE_NODES)) && (!defined(ENABLE_PRIVATEGAUSS))) +#include "client_logic/client_logic_enums.h" +#endif typedef struct pg_conn PGconn; @@ -62,6 +65,16 @@ public: PreparedStatementsList *pendingStatements; char lastStmtName[NAMEDATALEN]; +#if ((!defined(ENABLE_MULTIPLE_NODES)) && (!defined(ENABLE_PRIVATEGAUSS))) + /* + * while create cmk, we will do : + * (1) client : generate cmk key store files + * (2) server : check operation is allowed, return result + * (3) client : if server check failed, we will delete the cmk store files generated in step (1) + */ + CEQueryType query_type; + char query_args[MAX_KEY_PATH_VALUE_LEN]; +#endif ObjectFqdn *droppedSchemas; size_t droppedSchemas_size; size_t droppedSchemas_allocated; @@ -72,8 +85,6 @@ public: size_t droppedColumnSettings_size; size_t droppedColumnSettings_allocated; ExecStatusType m_lastResultStatus; - bool isInvalidOperationOnColumn; - bool isDuringRefreshCacheOnError; CacheRefreshType cacheRefreshType; std::unordered_map m_hookResources; diff --git a/src/include/libpq/crypt.h b/src/include/libpq/crypt.h old mode 100755 new mode 100644 index ad16ceeac..2baf08b8f --- a/src/include/libpq/crypt.h +++ b/src/include/libpq/crypt.h @@ -26,7 +26,16 @@ typedef struct iam_token { char* tenant_id; } iam_token; +typedef struct password_info { + char* shadow_pass; + TimestampTz vbegin; + TimestampTz vuntil; + bool isnull_begin; + bool isnull_until; +} password_info; + extern int32 get_password_stored_method(const char* role, char* encrypted_string, int len); +extern bool get_stored_password(const char *role, password_info *pass_info); extern int CheckUserValid(Port* port, const char* role); extern int crypt_verify(const Port* port, const char* user, char* client_pass); extern int get_stored_iteration(const char* role); diff --git a/src/include/libpq/hba.h b/src/include/libpq/hba.h old mode 100755 new mode 100644 diff --git a/src/include/libpq/libpq-be.h b/src/include/libpq/libpq-be.h old mode 100755 new mode 100644 diff --git a/src/include/libpq/libpq-fe.h b/src/include/libpq/libpq-fe.h old mode 100755 new mode 100644 index d1152fb3e..928d1e89d --- a/src/include/libpq/libpq-fe.h +++ b/src/include/libpq/libpq-fe.h @@ -505,9 +505,6 @@ extern unsigned char* PQunescapeBytea(const unsigned char* strtext, size_t* retb /* These forms are deprecated! */ extern size_t PQescapeString(char* to, const char* from, size_t length); extern unsigned char* PQescapeBytea(const unsigned char* from, size_t from_length, size_t* to_length); -#ifdef HAVE_CE -extern void checkRefreshCacheOnError(PGconn* conn); -#endif /* === in fe-print.c === */ diff --git a/src/include/libpq/libpq-int.h b/src/include/libpq/libpq-int.h old mode 100755 new mode 100644 diff --git a/src/include/libpq/libpq.h b/src/include/libpq/libpq.h old mode 100755 new mode 100644 diff --git a/src/include/libpq/md5.h b/src/include/libpq/md5.h old mode 100755 new mode 100644 diff --git a/src/include/libpq/pqcomm.h b/src/include/libpq/pqcomm.h old mode 100755 new mode 100644 diff --git a/src/include/libpq/pqformat.h b/src/include/libpq/pqformat.h old mode 100755 new mode 100644 diff --git a/src/include/libpq/pqsignal.h b/src/include/libpq/pqsignal.h old mode 100755 new mode 100644 diff --git a/src/include/libpq/sha2.h b/src/include/libpq/sha2.h old mode 100755 new mode 100644 diff --git a/src/include/mb/pg_wchar.h b/src/include/mb/pg_wchar.h old mode 100755 new mode 100644 diff --git a/src/include/miscadmin.h b/src/include/miscadmin.h old mode 100755 new mode 100644 diff --git a/src/include/nodes/bitmapset.h b/src/include/nodes/bitmapset.h old mode 100755 new mode 100644 diff --git a/src/include/nodes/execnodes.h b/src/include/nodes/execnodes.h index c8602d3ef..b512cd095 100644 --- a/src/include/nodes/execnodes.h +++ b/src/include/nodes/execnodes.h @@ -512,6 +512,8 @@ typedef struct EState { uint64 es_processed; /* # of tuples processed */ + uint64 deleteLimitCount; /* delete Limit */ + uint64 es_last_processed; /* last value of es_processed for ModifyTable plan*/ Oid es_lastoid; /* last oid processed (by INSERT) */ @@ -806,7 +808,7 @@ typedef struct ArrayRefExprState { typedef struct FuncExprState { ExprState xprstate; List* args; /* states of argument expressions */ - + char prokind; /* * Function manager's lookup info for the target function. If func.fn_oid * is InvalidOid, we haven't initialized it yet (nor any of the following @@ -1354,6 +1356,7 @@ typedef struct ModifyTableState { uint32 mt_merge_subcommands; /* Flags showing which subcommands are present INS/UPD/DEL/DO NOTHING */ UpsertState* mt_upsert; /* DUPLICATE KEY UPDATE evaluation state */ instr_time first_tuple_modified; /* record the end time for the first tuple inserted, deleted, or updated */ + ExprContext* limitExprContext; /* for limit expresssion */ } ModifyTableState; typedef struct CopyFromManagerData* CopyFromManager; diff --git a/src/include/nodes/makefuncs.h b/src/include/nodes/makefuncs.h old mode 100755 new mode 100644 diff --git a/src/include/nodes/nodeFuncs.h b/src/include/nodes/nodeFuncs.h old mode 100755 new mode 100644 diff --git a/src/include/nodes/params.h b/src/include/nodes/params.h old mode 100755 new mode 100644 diff --git a/src/include/nodes/parsenodes.h b/src/include/nodes/parsenodes.h old mode 100755 new mode 100644 index 65d864cc1..481bdde3b --- a/src/include/nodes/parsenodes.h +++ b/src/include/nodes/parsenodes.h @@ -1301,24 +1301,6 @@ typedef struct CallContext bool atomic; /* Atomic execution context, does not allow transactions */ } CallContext; -/* ---------------------- - * Alter Object Rename Statement - * ---------------------- - */ -typedef struct RenameStmt { - NodeTag type; - ObjectType renameType; /* OBJECT_TABLE, OBJECT_COLUMN, etc */ - ObjectType relationType; /* if column name, associated relation type */ - RangeVar* relation; /* in case it's a table */ - List* object; /* in case it's some other object */ - List* objarg; /* argument types, if applicable */ - char* subname; /* name of contained object (column, rule, - * trigger, etc) */ - char* newname; /* the new name */ - DropBehavior behavior; /* RESTRICT or CASCADE behavior */ - bool missing_ok; /* skip error if missing? */ -} RenameStmt; - /* ---------------------- * ALTER object SET SCHEMA Statement * ---------------------- diff --git a/src/include/nodes/parsenodes_common.h b/src/include/nodes/parsenodes_common.h index 45fad66ca..40cdd58a0 100644 --- a/src/include/nodes/parsenodes_common.h +++ b/src/include/nodes/parsenodes_common.h @@ -1750,4 +1750,22 @@ typedef struct CreateFunctionStmt { bool isProcedure; /* true if it is a procedure */ } CreateFunctionStmt; +/* ---------------------- + * Alter Object Rename Statement + * ---------------------- + */ +typedef struct RenameStmt { + NodeTag type; + ObjectType renameType; /* OBJECT_TABLE, OBJECT_COLUMN, etc */ + ObjectType relationType; /* if column name, associated relation type */ + RangeVar* relation; /* in case it's a table */ + List* object; /* in case it's some other object */ + List* objarg; /* argument types, if applicable */ + char* subname; /* name of contained object (column, rule, + * trigger, etc) */ + char* newname; /* the new name */ + DropBehavior behavior; /* RESTRICT or CASCADE behavior */ + bool missing_ok; /* skip error if missing? */ +} RenameStmt; + #endif /* PARSENODES_COMMONH */ diff --git a/src/include/nodes/pg_list.h b/src/include/nodes/pg_list.h old mode 100755 new mode 100644 diff --git a/src/include/nodes/plannodes.h b/src/include/nodes/plannodes.h old mode 100755 new mode 100644 diff --git a/src/include/nodes/primnodes.h b/src/include/nodes/primnodes.h old mode 100755 new mode 100644 diff --git a/src/include/nodes/print.h b/src/include/nodes/print.h old mode 100755 new mode 100644 index a44d093cc..5aea9b384 --- a/src/include/nodes/print.h +++ b/src/include/nodes/print.h @@ -23,6 +23,10 @@ extern void pprint(const void* obj); extern void elog_node_display(int lev, const char* title, const void* obj, bool pretty); extern char* format_node_dump(const char* dump); extern char* pretty_format_node_dump(const char* dump); +void format_debug_print_plan(char *force_line, int index, int length); +void mask_position(char *cmp_line, int index, int length, const char* cmp_str); +void add_mask_policy(char *cmp_line, int scan_index, int length); +void tolower(char *tolower_query); extern void print_rt(const List* rtable); extern void print_expr(const Node* expr, const List* rtable); extern void print_pathkeys(const List* pathkeys, const List* rtable); diff --git a/src/include/nodes/readfuncs.h b/src/include/nodes/readfuncs.h old mode 100755 new mode 100644 diff --git a/src/include/nodes/relation.h b/src/include/nodes/relation.h old mode 100755 new mode 100644 diff --git a/src/include/nodes/replnodes.h b/src/include/nodes/replnodes.h old mode 100755 new mode 100644 diff --git a/src/include/nodes/tidbitmap.h b/src/include/nodes/tidbitmap.h old mode 100755 new mode 100644 diff --git a/src/include/opfusion/opfusion.h b/src/include/opfusion/opfusion.h index b011240d0..3ed0c7594 100644 --- a/src/include/opfusion/opfusion.h +++ b/src/include/opfusion/opfusion.h @@ -58,7 +58,7 @@ public: static void setCurrentOpFusionObj(OpFusion* obj); - static bool process(int op, StringInfo msg, char* completionTag, bool isTopLevel); + static bool process(int op, StringInfo msg, char* completionTag, bool isTopLevel, bool* isQueryCompleted); void CopyFormats(int16* formats, int numRFormats); @@ -66,7 +66,7 @@ public: void useOuterParameter(ParamListInfo params); - void decribe(StringInfo msg); + void describe(StringInfo msg); virtual bool execute(long max_rows, char* completionTag) { @@ -98,7 +98,7 @@ public: void executeInit(); - void executeEnd(const char* portal_name); + void executeEnd(const char* portal_name, bool* completionTag); void auditRecord(); diff --git a/src/include/opfusion/opfusion_scan.h b/src/include/opfusion/opfusion_scan.h index 48271cdfe..eaab59123 100644 --- a/src/include/opfusion/opfusion_scan.h +++ b/src/include/opfusion/opfusion_scan.h @@ -108,6 +108,10 @@ public: Relation m_index; /* index relation */ + Relation m_parentIndex; /* index parent relation in partiton */ + + Partition m_partIndex; + Oid m_reloid; /* relation oid of range table */ IndexScanDesc m_scandesc; diff --git a/src/include/opfusion/opfusion_util.h b/src/include/opfusion/opfusion_util.h index fdfe1490f..77e8a4eb6 100644 --- a/src/include/opfusion/opfusion_util.h +++ b/src/include/opfusion/opfusion_util.h @@ -121,6 +121,7 @@ typedef struct FuncExprInfo { AttrNumber resno; Oid funcid; List* args; + char* resname; } FuncExprInfo; const int OPFUSION_FUNCTION_ID_MAX_HASH_SIZE = 200; diff --git a/src/include/optimizer/autoanalyzer.h b/src/include/optimizer/autoanalyzer.h old mode 100755 new mode 100644 diff --git a/src/include/optimizer/bucketinfo.h b/src/include/optimizer/bucketinfo.h old mode 100755 new mode 100644 diff --git a/src/include/optimizer/bucketpruning.h b/src/include/optimizer/bucketpruning.h old mode 100755 new mode 100644 diff --git a/src/include/optimizer/clauses.h b/src/include/optimizer/clauses.h old mode 100755 new mode 100644 diff --git a/src/include/optimizer/cost.h b/src/include/optimizer/cost.h old mode 100755 new mode 100644 diff --git a/src/include/optimizer/dataskew.h b/src/include/optimizer/dataskew.h old mode 100755 new mode 100644 diff --git a/src/include/optimizer/dynsmp.h b/src/include/optimizer/dynsmp.h old mode 100755 new mode 100644 diff --git a/src/include/optimizer/nodegroups.h b/src/include/optimizer/nodegroups.h old mode 100755 new mode 100644 index 3c1a270b9..43ff1e775 --- a/src/include/optimizer/nodegroups.h +++ b/src/include/optimizer/nodegroups.h @@ -281,6 +281,8 @@ extern void ngroup_info_hash_create(); extern Bitmapset* ngroup_info_hash_search(Oid ngroup_oid); extern void ngroup_info_hash_insert(Oid ngroup_oid, Bitmapset * bms_node_ids); extern void ngroup_info_hash_delete(Oid ngroup_oid); +extern void ngroup_info_hash_destory(void); + /* * Other functions diff --git a/src/include/optimizer/optimizerdebug.h b/src/include/optimizer/optimizerdebug.h old mode 100755 new mode 100644 diff --git a/src/include/optimizer/orclauses.h b/src/include/optimizer/orclauses.h deleted file mode 100644 index dd8d35a6a..000000000 --- a/src/include/optimizer/orclauses.h +++ /dev/null @@ -1,21 +0,0 @@ -/*------------------------------------------------------------------------- - * - * orclauses.h - * prototypes for orclauses.cpp. - * - * - * Portions Copyright (c) 1996-2013, PostgreSQL Global Development Group - * Portions Copyright (c) 1994, Regents of the University of California - * - * src/include/optimizer/orclauses.h - * - *------------------------------------------------------------------------- - */ -#ifndef ORCLAUSES_H -#define ORCLAUSES_H - -#include "nodes/relation.h" - -extern void extract_restriction_or_clauses(PlannerInfo *root); - -#endif /* ORCLAUSES_H */ diff --git a/src/include/optimizer/pathnode.h b/src/include/optimizer/pathnode.h old mode 100755 new mode 100644 diff --git a/src/include/optimizer/paths.h b/src/include/optimizer/paths.h old mode 100755 new mode 100644 diff --git a/src/include/optimizer/pgxcplan.h b/src/include/optimizer/pgxcplan.h old mode 100755 new mode 100644 diff --git a/src/include/optimizer/pgxcship.h b/src/include/optimizer/pgxcship.h old mode 100755 new mode 100644 diff --git a/src/include/optimizer/plancat.h b/src/include/optimizer/plancat.h old mode 100755 new mode 100644 diff --git a/src/include/optimizer/planmain.h b/src/include/optimizer/planmain.h old mode 100755 new mode 100644 diff --git a/src/include/optimizer/planmem_walker.h b/src/include/optimizer/planmem_walker.h old mode 100755 new mode 100644 diff --git a/src/include/optimizer/planner.h b/src/include/optimizer/planner.h old mode 100755 new mode 100644 index 19cbee3ee..bc67a120e --- a/src/include/optimizer/planner.h +++ b/src/include/optimizer/planner.h @@ -51,7 +51,7 @@ extern ExecNodes* getExecNodesByGroupName(const char* gname); extern PlannedStmt* planner(Query* parse, int cursorOptions, ParamListInfo boundParams); extern PlannedStmt* standard_planner(Query* parse, int cursorOptions, ParamListInfo boundParams); -typedef PlannedStmt *(*planner_hook_type) (Query* parse, int cursorOptions, ParamListInfo boundParams); +typedef void (*planner_hook_type) (Query* parse, int cursorOptions, ParamListInfo boundParams); extern Plan* subquery_planner(PlannerGlobal* glob, Query* parse, PlannerInfo* parent_root, bool hasRecursion, double tuple_fraction, PlannerInfo** subroot, int options = SUBQUERY_NORMAL, ItstDisKey* diskeys = NULL, diff --git a/src/include/optimizer/prep.h b/src/include/optimizer/prep.h old mode 100755 new mode 100644 index 6cc1c1929..accbb04cc --- a/src/include/optimizer/prep.h +++ b/src/include/optimizer/prep.h @@ -63,7 +63,7 @@ extern Node* get_real_rte_varno_attno_or_node(Query* parse, Index* varno, AttrNu * prototypes for prepqual.c */ extern Node* negate_clause(Node* node); -extern Expr* canonicalize_qual(Expr* qual); +extern Expr* canonicalize_qual(Expr* qual, bool is_check); /* * prototypes for preptlist.c diff --git a/src/include/optimizer/pruning.h b/src/include/optimizer/pruning.h old mode 100755 new mode 100644 diff --git a/src/include/optimizer/stream_util.h b/src/include/optimizer/stream_util.h index feeb5e841..dc59a7fad 100644 --- a/src/include/optimizer/stream_util.h +++ b/src/include/optimizer/stream_util.h @@ -82,5 +82,5 @@ extern bool is_type_cast_hash_compatible(FuncExpr* func); extern Plan* update_plan_refs(PlannerInfo* root, Plan* plan, Index* fromRTI, Index* toRTI, int rtiSize); extern void set_node_ref_subplan_walker(Plan* result_plan, set_node_ref_subplan_context* context); extern void StreamPlanWalker(PlannedStmt *pstmt, Plan *plan, bool *need); - +extern void mark_distribute_setop_remotequery(PlannerInfo* root, Node* node, Plan* plan, List* subPlans); #endif /* STREAM_UTIL_H */ \ No newline at end of file diff --git a/src/include/optimizer/streampath.h b/src/include/optimizer/streampath.h old mode 100755 new mode 100644 index bc70b66b8..0a9366aee --- a/src/include/optimizer/streampath.h +++ b/src/include/optimizer/streampath.h @@ -46,21 +46,18 @@ protected: RelOptInfo* m_rel; }; -class JoinPathGen : public PathGen { +class JoinPathGenBase : public PathGen { public: - JoinPathGen(PlannerInfo* root, RelOptInfo* joinrel, JoinType jointype, JoinType save_jointype, + JoinPathGenBase(PlannerInfo* root, RelOptInfo* joinrel, JoinType jointype, JoinType save_jointype, SpecialJoinInfo* sjinfo, SemiAntiJoinFactors* semifactors, List* joinclauses, List* restrictinfo, Path* outer_path, Path* inner_path, Relids required_outer); - virtual ~JoinPathGen(); + virtual ~JoinPathGenBase(); protected: /* Init member variable. */ void init(); - /* Init if we need stream. */ - void initDistribution(); - /* special process for list/range distributed table */ void initRangeListDistribution(); @@ -74,41 +71,23 @@ protected: const bool is_param_path(); /* Add join path to path list. */ - void addJoinPath(Path* path, List* desired_key, bool exact_match); + virtual void addJoinPath(Path* path, List* desired_key, bool exact_match); /* Create stream path for join. */ void addJoinStreamPath(); - /* Add stream info for join. */ - void addJoinStreamInfo(); - /* Add stream info for MPP structure. */ void addStreamMppInfo(); - /* Add stream info for multi node group execution. */ - void addStreamNodeGroupInfo(); - /* Add stream info for parallel execution. */ void addStreamParallelInfo(); - /* Add stream info for skew optimization. */ - void addStreamSkewInfo(); - /* Add parallel info for join. */ - bool addJoinParallelInfo(); + virtual bool addJoinParallelInfo(); /* Set base stream info. */ void setStreamBaseInfo(StreamType inner_type, StreamType outer_type, List* inner_keys, List* outer_keys); - /* Set stream info for multi nodegroup. */ - bool setStreamNodeGroupInfo(bool stream_outer); - - /* Set stream skew optimization info. */ - uint32 setStreamSkewInfo(); - - /* Set stream parallel execution info. */ - void setStreamParallelInfo(bool stream_outer, SmpStreamType sstype = PARALLEL_NONE); - /* Check if we need local redistribute, */ void parallelLocalRedistribute(bool* inner_can_local_distribute, bool* outer_can_local_distribute, bool* inner_need_local_distribute, bool* outer_need_local_distribute); @@ -126,23 +105,23 @@ protected: /* Check if the replicate path can do redistribute. */ bool isReplicateJoinCanRedistribute(); - /* Create stream path for join. */ - Path* streamSidePath(bool stream_outer); - /* Create unique join path. */ Path* makeJoinUniquePath(bool stream_outer, List* pathkeys); /* create a unique path for unique join with skewness at the no-unique side */ - Path* makeJoinSkewUniquePath(bool stream_outer, List* pathkeys); + virtual Path* makeJoinSkewUniquePath(bool stream_outer, List* pathkeys); /* set distribute keys for join path. */ - const bool setJoinDistributeKeys(JoinPath* joinpath, List* desired_key = NIL, bool exact_match = false); + virtual const bool setJoinDistributeKeys(JoinPath* joinpath, List* desired_key = NIL, bool exact_match = false); /* create a new stream info pair from the old one. */ void newStreamInfoPair(StreamInfoPair* streamInfoPair); - /* Confirm the distribute keys in the target list of subpath. */ - void confirmDistributeKeys(StreamInfo* sinfo); + /* Create stream path for join. */ + virtual Path* streamSidePath(bool stream_outer); + + /* Set stream parallel execution info. */ + virtual void setStreamParallelInfo(bool stream_outer, SmpStreamType sstype = PARALLEL_NONE); protected: /* Join method. */ @@ -217,9 +196,6 @@ protected: /* Stream info list for the join. */ List* m_streamInfoList; - /* Skew optimization info for join. */ - JoinSkewInfo* m_skewInfo; - /* Skew mutiple for inner redistribute. */ double m_multipleInner; @@ -255,12 +231,71 @@ protected: /* If we can broadcast the outer side. */ bool m_canBroadcastOuter; +}; + +class JoinPathGen : public JoinPathGenBase { +public: + JoinPathGen(PlannerInfo* root, RelOptInfo* joinrel, JoinType jointype, JoinType save_jointype, + SpecialJoinInfo* sjinfo, SemiAntiJoinFactors* semifactors, List* joinclauses, List* restrictinfo, + Path* outer_path, Path* inner_path, Relids required_outer); + + virtual ~JoinPathGen(); + +protected: + /* Init if we need stream. */ + void initDistribution(); + + /* Add stream info for join. */ + void addJoinStreamInfo(); + + /* Set stream parallel execution info. */ + void setStreamParallelInfo(bool stream_outer, SmpStreamType sstype = PARALLEL_NONE); + + /* Add parallel info for join. */ + bool addJoinParallelInfo(); + + /* set distribute keys for join path. */ + const bool setJoinDistributeKeys(JoinPath* joinpath, List* desired_key = NIL, bool exact_match = false); +#ifdef ENABLE_MULTIPLE_NODES + /* Init member variable. */ + void init(); + + /* Check if we can create parallel join path. */ + const bool isParallelEnable(); + + /* Add stream info for multi node group execution. */ + void addStreamNodeGroupInfo(); + + /* Add stream info for MPP structure. */ + void addStreamMppInfo(); + + /* Add stream info for skew optimization. */ + void addStreamSkewInfo(); + + /* Set stream info for multi nodegroup. */ + bool setStreamNodeGroupInfo(bool stream_outer); + + /* Set stream skew optimization info. */ + uint32 setStreamSkewInfo(); + + /* Confirm the distribute keys in the target list of subpath. */ + void confirmDistributeKeys(StreamInfo* sinfo); + + /* create a unique path for unique join with skewness at the no-unique side */ + Path* makeJoinSkewUniquePath(bool stream_outer, List* pathkeys); + + /* Create stream path for join. */ + virtual Path* streamSidePath(bool stream_outer); +protected: + /* Skew optimization info for join. */ + JoinSkewInfo* m_skewInfo; /* If we need shuffle the inner side. */ bool m_needShuffleInner; /* If we need shuffle the outer side. */ bool m_needShuffleOuter; +#endif }; class HashJoinPathGen : public JoinPathGen { diff --git a/src/include/optimizer/streamplan.h b/src/include/optimizer/streamplan.h index 1d7daebba..ceefee892 100644 --- a/src/include/optimizer/streamplan.h +++ b/src/include/optimizer/streamplan.h @@ -45,7 +45,7 @@ typedef struct ShippingInfo { #ifdef ENABLE_MULTIPLE_NODES #define IS_STREAM_PLAN (IS_PGXC_COORDINATOR && IS_STREAM && check_stream_support()) #else -#define IS_STREAM_PLAN (IS_STREAM && check_stream_support() && u_sess->attr.attr_sql.query_dop_tmp > 1) +#define IS_STREAM_PLAN (IS_STREAM && check_stream_support()) #endif #define STREAM_IS_LOCAL_NODE(type) (type == LOCAL_DISTRIBUTE || type == LOCAL_ROUNDROBIN || type == LOCAL_BROADCAST) #define SET_DOP(dop) (dop > 1 ? dop : 1) diff --git a/src/include/optimizer/subselect.h b/src/include/optimizer/subselect.h old mode 100755 new mode 100644 diff --git a/src/include/optimizer/tlist.h b/src/include/optimizer/tlist.h old mode 100755 new mode 100644 diff --git a/src/include/optimizer/var.h b/src/include/optimizer/var.h old mode 100755 new mode 100644 diff --git a/src/include/parser/analyze.h b/src/include/parser/analyze.h old mode 100755 new mode 100644 diff --git a/src/include/parser/gramparse.h b/src/include/parser/gramparse.h old mode 100755 new mode 100644 diff --git a/src/include/parser/kwlist.h b/src/include/parser/kwlist.h old mode 100755 new mode 100644 index c2821bc39..080ce9143 --- a/src/include/parser/kwlist.h +++ b/src/include/parser/kwlist.h @@ -127,7 +127,7 @@ PG_KEYWORD("constraint", CONSTRAINT, RESERVED_KEYWORD) PG_KEYWORD("constraints", CONSTRAINTS, UNRESERVED_KEYWORD) PG_KEYWORD("content", CONTENT_P, UNRESERVED_KEYWORD) PG_KEYWORD("continue", CONTINUE_P, UNRESERVED_KEYWORD) -PG_KEYWORD("contview", CONTVIEW, RESERVED_KEYWORD) +PG_KEYWORD("contview", CONTVIEW, UNRESERVED_KEYWORD) PG_KEYWORD("conversion", CONVERSION_P, UNRESERVED_KEYWORD) PG_KEYWORD("coordinator", COORDINATOR, UNRESERVED_KEYWORD) PG_KEYWORD("coordinators", COORDINATORS, UNRESERVED_KEYWORD) @@ -526,7 +526,7 @@ PG_KEYWORD("stdin", STDIN, UNRESERVED_KEYWORD) PG_KEYWORD("stdout", STDOUT, UNRESERVED_KEYWORD) PG_KEYWORD("storage", STORAGE, UNRESERVED_KEYWORD) PG_KEYWORD("store", STORE_P, UNRESERVED_KEYWORD) -PG_KEYWORD("stream", STREAM, RESERVED_KEYWORD) +PG_KEYWORD("stream", STREAM, UNRESERVED_KEYWORD) PG_KEYWORD("strict", STRICT_P, UNRESERVED_KEYWORD) PG_KEYWORD("strip", STRIP_P, UNRESERVED_KEYWORD) PG_KEYWORD("substring", SUBSTRING, COL_NAME_KEYWORD) diff --git a/src/include/parser/parse_agg.h b/src/include/parser/parse_agg.h old mode 100755 new mode 100644 diff --git a/src/include/parser/parse_clause.h b/src/include/parser/parse_clause.h old mode 100755 new mode 100644 diff --git a/src/include/parser/parse_coerce.h b/src/include/parser/parse_coerce.h old mode 100755 new mode 100644 diff --git a/src/include/parser/parse_expr.h b/src/include/parser/parse_expr.h old mode 100755 new mode 100644 diff --git a/src/include/parser/parse_func.h b/src/include/parser/parse_func.h old mode 100755 new mode 100644 diff --git a/src/include/parser/parse_hint.h b/src/include/parser/parse_hint.h old mode 100755 new mode 100644 diff --git a/src/include/parser/parse_merge.h b/src/include/parser/parse_merge.h old mode 100755 new mode 100644 diff --git a/src/include/parser/parse_node.h b/src/include/parser/parse_node.h old mode 100755 new mode 100644 diff --git a/src/include/parser/parse_relation.h b/src/include/parser/parse_relation.h old mode 100755 new mode 100644 diff --git a/src/include/parser/parse_target.h b/src/include/parser/parse_target.h old mode 100755 new mode 100644 diff --git a/src/include/parser/parse_type.h b/src/include/parser/parse_type.h old mode 100755 new mode 100644 index 1192dd833..679b4370f --- a/src/include/parser/parse_type.h +++ b/src/include/parser/parse_type.h @@ -19,6 +19,8 @@ typedef HeapTuple Type; extern Type LookupTypeName(ParseState* pstate, const TypeName* typname, int32* typmod_p, bool print_notice = true); +extern Type LookupTypeNameExtended(ParseState* pstate, const TypeName* typname, int32* typmod_p, bool temp_ok, + bool print_notice = true); extern Type typenameType(ParseState* pstate, const TypeName* typname, int32* typmod_p); extern Oid typenameTypeId(ParseState* pstate, const TypeName* typname); extern void typenameTypeIdAndMod(ParseState* pstate, const TypeName* typname, Oid* typeid_p, int32* typmod_p); diff --git a/src/include/parser/parse_utilcmd.h b/src/include/parser/parse_utilcmd.h old mode 100755 new mode 100644 index bf5991204..2ae60d8f0 --- a/src/include/parser/parse_utilcmd.h +++ b/src/include/parser/parse_utilcmd.h @@ -45,5 +45,6 @@ extern List* transformRangePartStartEndStmt(ParseState* pstate, List* partitionL bool isPartition = true); extern bool check_contains_tbllike_in_multi_nodegroup(CreateStmt* stmt); extern bool is_multi_nodegroup_createtbllike(PGXCSubCluster* subcluster, Oid oid); +extern char* getTmptableIndexName(const char* srcSchema, const char* srcIndex); #endif /* PARSE_UTILCMD_H */ diff --git a/src/include/parser/parsetree.h b/src/include/parser/parsetree.h old mode 100755 new mode 100644 diff --git a/src/include/parser/scanner.h b/src/include/parser/scanner.h old mode 100755 new mode 100644 diff --git a/src/include/pg_config_manual.h b/src/include/pg_config_manual.h old mode 100755 new mode 100644 diff --git a/src/include/pgaudit.h b/src/include/pgaudit.h old mode 100755 new mode 100644 diff --git a/src/include/pgstat.h b/src/include/pgstat.h old mode 100755 new mode 100644 index f5412b180..24efbca95 --- a/src/include/pgstat.h +++ b/src/include/pgstat.h @@ -1005,7 +1005,6 @@ typedef enum WaitEventSQL { typedef struct { uint64 total_time; /* total time for sql */ - uint64 avg_time; /* avg time for sql */ uint64 min_time; /* min time for sql */ uint64 max_time; /* max time for sql */ } ElapseTime; @@ -2449,6 +2448,7 @@ extern PgBackendStatusNode* gs_stat_read_current_status(uint32* maxCalls); extern uint32 gs_stat_read_current_status(Tuplestorestate *tupStore, TupleDesc tupDesc, FuncType insert, bool hasTID = false, ThreadId threadId = 0); extern void pgstat_setup_memcxt(void); +extern void pgstat_clean_memcxt(void); extern PgBackendStatus* gs_stat_fetch_stat_beentry(int32 beid); extern void pgstat_send(void* msg, int len); diff --git a/src/include/pgxc/barrier.h b/src/include/pgxc/barrier.h index b72ef9fab..0c81ee328 100644 --- a/src/include/pgxc/barrier.h +++ b/src/include/pgxc/barrier.h @@ -33,6 +33,8 @@ #define HADR_BARRIER_ID_HEAD "hadr" #define BARRIER_LSN_FILE_LENGTH 17 #define MAX_BARRIER_ID_LENGTH 40 +#define WAIT_ARCHIVE_TIMEOUT 6000 +#define MAX_BARRIER_SQL_LENGTH 60 #define XLOG_BARRIER_CREATE 0x00 diff --git a/src/include/pgxc/execRemote.h b/src/include/pgxc/execRemote.h old mode 100755 new mode 100644 index b8bfffc05..c2735c174 --- a/src/include/pgxc/execRemote.h +++ b/src/include/pgxc/execRemote.h @@ -46,6 +46,8 @@ #define RESPONSE_BARRIER_OK 5 #define RESPONSE_PLANID_OK 6 #define RESPONSE_ANALYZE_ROWCNT 7 +#define RESPONSE_SEQUENCE_OK 8 + #define REMOTE_CHECKMSG_LEN 8 /* it equals to the count of bytes added in AddCheckMessage when is_stream is false */ #define STREAM_CHECKMSG_LEN 20 /* it equals to the count of bytes added in AddCheckMessage when is_stream is true */ @@ -258,6 +260,7 @@ extern void sendQuery(const char* sql, const PGXCNodeAllHandles* pgxc_handles, StringInfo* SendExplainToDNs(ExplainState*, RemoteQuery*, int*, const char*); bool CheckPrepared(RemoteQuery* rq, Oid nodeoid); void FindExecNodesInPBE(RemoteQueryState* planstate, ExecNodes* exec_nodes, RemoteQueryExecType exec_type); +extern PGXCNodeHandle* GetRegisteredTransactionNodes(bool write); #endif #ifdef ENABLE_UT @@ -268,4 +271,5 @@ extern PGXCNodeAllHandles* connect_compute_pool_for_HDFS(); extern PGXCNodeAllHandles* make_cp_conn(ComputePoolConfig** configs, int cnum, int srvtype, const char* dbname); extern List* get_dnlist_for_hdfs(int fnum); extern void ReloadTransactionNodes(void); + #endif diff --git a/src/include/pgxc/groupmgr.h b/src/include/pgxc/groupmgr.h old mode 100755 new mode 100644 diff --git a/src/include/pgxc/locator.h b/src/include/pgxc/locator.h index 111d07823..09ac5ac34 100644 --- a/src/include/pgxc/locator.h +++ b/src/include/pgxc/locator.h @@ -209,6 +209,7 @@ typedef struct { /* Function for RelationLocInfo building and management */ extern void RelationBuildLocator(Relation rel); extern RelationLocInfo* GetRelationLocInfo(Oid relid); +extern RelationLocInfo* TsGetRelationLocInfo(Oid relid); extern RelationLocInfo* GetRelationLocInfoDN(Oid relid); extern RelationLocInfo* CopyRelationLocInfo(RelationLocInfo* srcInfo); extern void FreeRelationLocInfo(RelationLocInfo* relationLocInfo); diff --git a/src/include/pgxc/nodemgr.h b/src/include/pgxc/nodemgr.h old mode 100755 new mode 100644 diff --git a/src/include/pgxc/pgxc.h b/src/include/pgxc/pgxc.h old mode 100755 new mode 100644 diff --git a/src/include/pgxc/pgxcnode.h b/src/include/pgxc/pgxcnode.h old mode 100755 new mode 100644 index 661bb4f2b..31ac2f478 --- a/src/include/pgxc/pgxcnode.h +++ b/src/include/pgxc/pgxcnode.h @@ -263,7 +263,6 @@ extern void ensure_in_buffer_capacity(size_t bytes_needed, PGXCNodeHandle* handl extern void ensure_out_buffer_capacity(size_t bytes_needed, PGXCNodeHandle* handle); extern int pgxc_node_send_threadid(PGXCNodeHandle* handle, uint32 threadid); extern int pgxc_node_send_queryid(PGXCNodeHandle* handle, uint64 queryid); -extern int pgxc_node_send_cn_identifier(PGXCNodeHandle *handle, PGXCNode_HandleGPC handle_type); extern int pgxc_node_send_unique_sql_id(PGXCNodeHandle* handle); extern int pgxc_node_send_query(PGXCNodeHandle* handle, const char* query, bool isPush = false, bool trigger_ship = false, bool check_gtm_mode = false, const char *compressPlan = NULL, int cLen = 0); @@ -271,16 +270,20 @@ extern void pgxc_node_send_gtm_mode(PGXCNodeHandle* handle); extern int pgxc_node_send_plan_with_params(PGXCNodeHandle* handle, const char* query, short num_params, Oid* param_types, int paramlen, const char* params, int fetch_size); extern int pgxc_node_send_describe(PGXCNodeHandle* handle, bool is_statement, const char* name); +#ifndef ENABLE_MULTIPLE_NODES extern int pgxc_node_send_execute(PGXCNodeHandle* handle, const char* portal, int fetch); +#endif extern int pgxc_node_send_close(PGXCNodeHandle* handle, bool is_statement, const char* name); extern int pgxc_node_send_sync(PGXCNodeHandle* handle); extern int pgxc_node_send_bind( PGXCNodeHandle* handle, const char* portal, const char* statement, int paramlen, const char* params); extern int pgxc_node_send_parse( PGXCNodeHandle* handle, const char* statement, const char* query, short num_params, Oid* param_types); +#ifndef ENABLE_MULTIPLE_NODES extern int pgxc_node_send_query_extended(PGXCNodeHandle* handle, const char* query, const char* statement, const char* portal, int num_params, Oid* param_types, int paramlen, const char* params, bool send_describe, int fetch_size); +#endif extern int pgxc_node_send_gxid(PGXCNodeHandle* handle, GlobalTransactionId gxid, bool isforcheck); extern int pgxc_node_send_commit_csn(PGXCNodeHandle* handle, uint64 commit_csn); extern int pgxc_node_send_csn(PGXCNodeHandle* handle, uint64 commit_csn, CsnType csn_type); @@ -338,6 +341,10 @@ extern GlobalNodeDefinition *global_node_definition; extern bool IsAutoVacuumWorkerProcess(); extern char *format_type_with_nspname(Oid type_oid); extern void pgxc_node_all_free(void); +extern int pgxc_node_send_execute(PGXCNodeHandle* handle, const char* portal, int fetch, bool trigger_ship = false); +extern int pgxc_node_send_query_extended(PGXCNodeHandle* handle, const char* query, const char* statement, + const char* portal, int num_params, Oid* param_types, int paramlen, const char* params, bool send_describe, + int fetch_size, bool trigger_ship = false); extern void FreePgxcNodehandles(PGXCNodeHandleGroup* handleGroup); extern void FreePgxcNodehandlesWithStatus(PGXCNodeHandleGroup* handleGroup, char *statusArray, bool *hasError); extern void LibcommFinish(NODE_CONNECTION *conn); diff --git a/src/include/pgxc/poolmgr.h b/src/include/pgxc/poolmgr.h old mode 100755 new mode 100644 index c8b0668d1..db91c6282 --- a/src/include/pgxc/poolmgr.h +++ b/src/include/pgxc/poolmgr.h @@ -389,12 +389,13 @@ extern void agent_acquire_connections_parallel( PoolAgent* agent, PoolConnDef* result, List* datanodelist, List* coordlist); extern void agent_acquire_connections_start(PoolAgent* agent, List* datanodelist, List* coordlist); extern void agent_acquire_connections_end(PoolAgent* agent); -extern bool is_current_node_during_connecting(PoolAgent* agent, Oid node_oid, char node_type); +extern bool is_current_node_during_connecting( + PoolAgent* agent, const NodeRelationInfo *needClearNodeArray, int waitClearCnt, char node_type); extern void reset_params_htab(HTAB* htab, bool); extern int PGXCNodeSendSetParallel(PoolAgent* agent, const char* set_command); extern char* MakePoolerSessionParams(PoolCommandType commandType); extern int get_nodeinfo_from_matric( - PoolGeneralInfo *info, int needCreateArrayLen, NodeRelationInfo *needCreateNodeArray); + char nodeType, int needCreateArrayLen, NodeRelationInfo *needCreateNodeArray); extern void pooler_sleep_interval_time(bool *poolValidateCancel); extern HTAB* create_user_slothash(const char* tabname, long nelem); extern void agent_verify_node_size(PGXCNodePool* nodePool); diff --git a/src/include/pgxc/pruningslice.h b/src/include/pgxc/pruningslice.h index e5fc04a8f..8638f270c 100644 --- a/src/include/pgxc/pruningslice.h +++ b/src/include/pgxc/pruningslice.h @@ -30,7 +30,7 @@ void PruningSliceForExecNodes(ExecNodes* exec_nodes, ParamListInfo boundParams); void PruningSliceForQuals(ExecNodes* execNodes, Index varno, Node* quals, ParamListInfo boundParams); -void InitDistColIndexMap(int* colMap, List* distColIdxList); +void InitDistColIndexMap(int* colMap, int size, List* distColIdxList); Oid GetRangeNodeFromValue(RelationLocInfo* relLocInfo, Datum* datums, const bool* nulls, Oid* attrs, int* colMap, int len); Oid GetListNodeFromValue(RelationLocInfo* relLocInfo, Datum* datums, const bool* nulls, Oid* attrs, diff --git a/src/include/pgxc/redistrib.h b/src/include/pgxc/redistrib.h old mode 100755 new mode 100644 diff --git a/src/include/port/win32.h b/src/include/port/win32.h old mode 100755 new mode 100644 diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h old mode 100755 new mode 100644 diff --git a/src/include/postgres.h b/src/include/postgres.h index 2ad182cf0..7f14dd180 100644 --- a/src/include/postgres.h +++ b/src/include/postgres.h @@ -921,6 +921,8 @@ extern void RemoveTempNamespace(); extern int errdetail_abort(void); +void log_disconnections(int code, Datum arg); + #define MSG_A_REPEAT_NUM_MAX 1024 #define OVERRIDE_STACK_LENGTH_MAX 1024 #endif /* POSTGRES_H */ diff --git a/src/include/postgres_ext.h b/src/include/postgres_ext.h old mode 100755 new mode 100644 diff --git a/src/include/postmaster/autovacuum.h b/src/include/postmaster/autovacuum.h old mode 100755 new mode 100644 index 6161471d8..24f700931 --- a/src/include/postmaster/autovacuum.h +++ b/src/include/postmaster/autovacuum.h @@ -41,6 +41,8 @@ typedef enum { #endif +extern const char* AUTO_VACUUM_WORKER; + /* Status inquiry functions */ extern bool AutoVacuumingActive(void); extern bool IsAutoVacuumLauncherProcess(void); diff --git a/src/include/postmaster/bgwriter.h b/src/include/postmaster/bgwriter.h old mode 100755 new mode 100644 diff --git a/src/include/postmaster/cbmwriter.h b/src/include/postmaster/cbmwriter.h old mode 100755 new mode 100644 diff --git a/src/include/postmaster/fencedudf.h b/src/include/postmaster/fencedudf.h old mode 100755 new mode 100644 diff --git a/src/include/postmaster/startup.h b/src/include/postmaster/startup.h old mode 100755 new mode 100644 diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h old mode 100755 new mode 100644 diff --git a/src/include/regex/regcustom.h b/src/include/regex/regcustom.h old mode 100755 new mode 100644 diff --git a/src/include/regex/regex.h b/src/include/regex/regex.h old mode 100755 new mode 100644 diff --git a/src/include/regex/regguts.h b/src/include/regex/regguts.h old mode 100755 new mode 100644 diff --git a/src/include/replication/basebackup.h b/src/include/replication/basebackup.h old mode 100755 new mode 100644 diff --git a/src/include/replication/dataqueue.h b/src/include/replication/dataqueue.h old mode 100755 new mode 100644 diff --git a/src/include/replication/datareceiver.h b/src/include/replication/datareceiver.h old mode 100755 new mode 100644 diff --git a/src/include/replication/datasender_private.h b/src/include/replication/datasender_private.h old mode 100755 new mode 100644 diff --git a/src/include/replication/heartbeat.h b/src/include/replication/heartbeat.h index 1c4c7bb0e..37bebf3fb 100644 --- a/src/include/replication/heartbeat.h +++ b/src/include/replication/heartbeat.h @@ -47,6 +47,7 @@ typedef struct heartbeat_state { extern void heartbeat_main(void); extern TimestampTz get_last_reply_timestamp(int replindex); +extern void InitHeartbeatTimestamp(); void heartbeat_shmem_init(void); Size heartbeat_shmem_size(void); diff --git a/src/include/replication/libpqwalreceiver.h b/src/include/replication/libpqwalreceiver.h old mode 100755 new mode 100644 diff --git a/src/include/replication/obswalreceiver.h b/src/include/replication/obswalreceiver.h index 9f2828bec..dcb3fd615 100644 --- a/src/include/replication/obswalreceiver.h +++ b/src/include/replication/obswalreceiver.h @@ -48,6 +48,8 @@ extern void obs_disconnect(void); #define OBS_XLOG_SAVED_FILES_NUM 25600 /* 100G*1024*1024*1024/OBS_XLOG_SLICE_BLOCK_SIZE */ #define IS_DISASTER_RECOVER_MODE \ (t_thrd.xlog_cxt.server_mode == STANDBY_MODE && !XLogArchivingActive() && getObsReplicationSlot()) +#define IS_CNDISASTER_RECOVER_MODE \ + (IS_PGXC_COORDINATOR && !XLogArchivingActive() && getObsReplicationSlot()) extern int obs_replication_receive(XLogRecPtr startPtr, char **buffer, diff --git a/src/include/replication/output_plugin.h b/src/include/replication/output_plugin.h old mode 100755 new mode 100644 diff --git a/src/include/replication/replicainternal.h b/src/include/replication/replicainternal.h old mode 100755 new mode 100644 diff --git a/src/include/replication/slot.h b/src/include/replication/slot.h old mode 100755 new mode 100644 diff --git a/src/include/replication/walprotocol.h b/src/include/replication/walprotocol.h old mode 100755 new mode 100644 index d4dd63b46..a5dcc70f1 --- a/src/include/replication/walprotocol.h +++ b/src/include/replication/walprotocol.h @@ -138,6 +138,7 @@ typedef struct ArchiveXlogMessage { uint term; int sub_term; uint slice; + uint32 tli; } ArchiveXlogMessage; /* diff --git a/src/include/replication/walreceiver.h b/src/include/replication/walreceiver.h old mode 100755 new mode 100644 diff --git a/src/include/replication/walsender.h b/src/include/replication/walsender.h old mode 100755 new mode 100644 diff --git a/src/include/replication/walsender_private.h b/src/include/replication/walsender_private.h old mode 100755 new mode 100644 index 3461db4c4..feba21b35 --- a/src/include/replication/walsender_private.h +++ b/src/include/replication/walsender_private.h @@ -58,6 +58,7 @@ typedef struct LogCtrlData { uint64 pre_rate2; int64 prev_RPO; int64 current_RPO; + bool just_keep_alive; } LogCtrlData; /* diff --git a/src/include/rewrite/rewriteManip.h b/src/include/rewrite/rewriteManip.h old mode 100755 new mode 100644 diff --git a/src/include/securec.h b/src/include/securec.h old mode 100755 new mode 100644 diff --git a/src/include/securec_check.h b/src/include/securec_check.h old mode 100755 new mode 100644 diff --git a/src/include/ssl/openssl_etcd.cnf b/src/include/ssl/openssl_etcd.cnf deleted file mode 100644 index c5ee574d7..000000000 --- a/src/include/ssl/openssl_etcd.cnf +++ /dev/null @@ -1,72 +0,0 @@ -# etcd OpenSSL configuration file. -SAN = "IP:127.0.0.1" -dir = . - -[ ca ] -default_ca = etcd_ca - -[ etcd_ca ] -certs = $dir/certs -certificate = $dir/certs/etcd-ca.crt -crl = $dir/crl.pem -crl_dir = $dir/crl -crlnumber = $dir/crlnumber -database = $dir/index.txt -email_in_dn = no -new_certs_dir = $dir/newcerts -private_key = $dir/private/etcd-ca.key -serial = $dir/serial -RANDFILE = $dir/private/.rand -name_opt = ca_default -cert_opt = ca_default -default_days = 7300 -default_crl_days = 30 -default_md = sha512 -preserve = no -policy = policy_etcd - -[ policy_etcd ] -organizationName = optional -commonName = supplied - -[ req ] -default_bits = 4096 -default_keyfile = privkey.pem -distinguished_name = req_distinguished_name -attributes = req_attributes -x509_extensions = v3_ca -string_mask = utf8only -req_extensions = etcd_client - -[ req_distinguished_name ] -countryName = Country Name (2 letter code) -countryName_default = US -countryName_min = 2 -countryName_max = 2 -commonName = Common Name (FQDN) -0.organizationName = Organization Name (eg, company) -0.organizationName_default = etcd-ca - -[ req_attributes ] - -[ v3_ca ] -basicConstraints = CA:true -keyUsage = keyCertSign,cRLSign -subjectKeyIdentifier = hash - -[ etcd_client ] -basicConstraints = CA:FALSE -extendedKeyUsage = clientAuth -keyUsage = digitalSignature, keyEncipherment - -[ etcd_peer ] -basicConstraints = CA:FALSE -extendedKeyUsage = clientAuth, serverAuth -keyUsage = digitalSignature, keyEncipherment -subjectAltName = ${ENV::SAN} - -[ etcd_server ] -basicConstraints = CA:FALSE -extendedKeyUsage = clientAuth, serverAuth -keyUsage = digitalSignature, keyEncipherment -subjectAltName = ${ENV::SAN} diff --git a/src/include/storage/backendid.h b/src/include/storage/backendid.h old mode 100755 new mode 100644 diff --git a/src/include/storage/barrier.h b/src/include/storage/barrier.h old mode 100755 new mode 100644 diff --git a/src/include/storage/compress_kits.h b/src/include/storage/compress_kits.h old mode 100755 new mode 100644 diff --git a/src/include/storage/cu.h b/src/include/storage/cu.h old mode 100755 new mode 100644 diff --git a/src/include/storage/cucache_mgr.h b/src/include/storage/cucache_mgr.h old mode 100755 new mode 100644 diff --git a/src/include/storage/custorage.h b/src/include/storage/custorage.h old mode 100755 new mode 100644 diff --git a/src/include/storage/dfs/dfscache_mgr.h b/src/include/storage/dfs/dfscache_mgr.h old mode 100755 new mode 100644 diff --git a/src/include/storage/fd.h b/src/include/storage/fd.h old mode 100755 new mode 100644 diff --git a/src/include/storage/freespace.h b/src/include/storage/freespace.h old mode 100755 new mode 100644 diff --git a/src/include/storage/fsm_internals.h b/src/include/storage/fsm_internals.h old mode 100755 new mode 100644 diff --git a/src/include/storage/gds_utils.h b/src/include/storage/gds_utils.h old mode 100755 new mode 100644 diff --git a/src/include/storage/ipc.h b/src/include/storage/ipc.h old mode 100755 new mode 100644 index 002803a5b..318afeaed --- a/src/include/storage/ipc.h +++ b/src/include/storage/ipc.h @@ -73,7 +73,6 @@ extern void proc_exit(int code); extern void sess_exit(int code); extern void shmem_exit(int code); extern void on_proc_exit(pg_on_exit_callback function, Datum arg); -extern void before_shmem_exit(pg_on_exit_callback function, Datum arg); extern void on_shmem_exit(pg_on_exit_callback function, Datum arg); extern void cancel_shmem_exit(pg_on_exit_callback function, Datum arg); extern void on_exit_reset(void); diff --git a/src/include/storage/lmgr.h b/src/include/storage/lmgr.h old mode 100755 new mode 100644 diff --git a/src/include/storage/lz4_file.h b/src/include/storage/lz4_file.h old mode 100755 new mode 100644 diff --git a/src/include/storage/mot/mot_fdw.h b/src/include/storage/mot/mot_fdw.h index abd1bede5..b928d84d7 100644 --- a/src/include/storage/mot/mot_fdw.h +++ b/src/include/storage/mot/mot_fdw.h @@ -59,13 +59,6 @@ extern void MOTBeginRedoRecovery(); */ extern void MOTEndRedoRecovery(); -/** - * @brief Performs a commit or abort on an in-process two-phase transaction. Invoked from gs_clean. - * @param txid Transaction ID - * @param isCommit Specifies to commit or abort the transaction. - */ -extern void MOTProcessRecoveredTransaction(uint64_t txid, bool isCommit); - /** * @brief Notification from thread pool that a session ended (only when thread pool is ENABLED). */ diff --git a/src/include/storage/parser.h b/src/include/storage/parser.h old mode 100755 new mode 100644 index 0cad7f789..49f65d115 --- a/src/include/storage/parser.h +++ b/src/include/storage/parser.h @@ -28,7 +28,9 @@ #include #include +#ifdef GDS_SERVER #include "event.h" +#endif #include "bulkload/utils.h" #ifdef OBS_SERVER #include "access/obs/obs_am.h" diff --git a/src/include/storage/pmsignal.h b/src/include/storage/pmsignal.h old mode 100755 new mode 100644 diff --git a/src/include/storage/proc.h b/src/include/storage/proc.h index dc8166820..e9b0ab08b 100644 --- a/src/include/storage/proc.h +++ b/src/include/storage/proc.h @@ -251,8 +251,16 @@ struct PGPROC { /* The proc which block cur proc */ PROCLOCK* blockProcLock; - /* knl_thrd_context who is waiting for lock. Only valid when itself is in ProcSleep() now. */ + /* + * A knl_thrd_context pointer to find this proc's t_thrd. + * + * NOTE: Only be valid/used for lock waiter now. There is no concurrency risk for other lock + * releaser, who must be holding the sepcified partition lock of lockmgr's shared hash table + * to traverse the lock wait queue, to visit this thread since the lock wait queue would be + * destoryed before thread exits. + */ void *waitLockThrd; + char *dw_unaligned_buf; char *dw_buf; volatile int32 dw_pos; @@ -408,6 +416,7 @@ extern void ProcQueueInit(PROC_QUEUE* queue); extern int ProcSleep(LOCALLOCK* locallock, LockMethod lockMethodTable, bool allow_con_update); extern PGPROC* ProcWakeup(PGPROC* proc, int waitStatus); extern void ProcLockWakeup(LockMethod lockMethodTable, LOCK* lock, const PROCLOCK* proclock = NULL); +extern void ProcBlockerUpdate(PGPROC *waiterProc, PROCLOCK *blockerProcLock, const char* lockMode, bool isLockHolder); extern bool IsWaitingForLock(void); extern void LockErrorCleanup(void); diff --git a/src/include/storage/procarray.h b/src/include/storage/procarray.h index 6ac8f188d..e6028c691 100644 --- a/src/include/storage/procarray.h +++ b/src/include/storage/procarray.h @@ -85,7 +85,9 @@ extern ThreadId CancelVirtualTransaction(const VirtualTransactionId& vxid, ProcS extern bool MinimumActiveBackends(int min); extern int CountDBBackends(Oid database_oid); extern int CountDBActiveBackends(Oid database_oid); +extern int CountSingleNodeActiveBackends(Oid databaseOid, Oid userOid); extern void CancelDBBackends(Oid databaseid, ProcSignalReason sigmode, bool conflictPending); +extern void CancelSingleNodeBackends(Oid databaseOid, Oid userOid, ProcSignalReason sigmode, bool conflictPending); extern int CountUserBackends(Oid roleid); extern bool CountOtherDBBackends(Oid databaseId, int* nbackends, int* nprepared); diff --git a/src/include/storage/relfilenode.h b/src/include/storage/relfilenode.h old mode 100755 new mode 100644 diff --git a/src/include/storage/sinval.h b/src/include/storage/sinval.h old mode 100755 new mode 100644 diff --git a/src/include/storage/standby.h b/src/include/storage/standby.h index bf8ee8d84..340d1d4aa 100644 --- a/src/include/storage/standby.h +++ b/src/include/storage/standby.h @@ -90,6 +90,9 @@ extern void StandbyXlogStartup(void); extern void StandbyXlogCleanup(void); extern bool StandbySafeRestartpoint(void); extern bool RemoveCommittedCsnInfo(TransactionId xid); +extern void *XLogReleaseAdnGetCommittingCsnList(); +extern void CleanUpMakeCommitAbort(List* committingCsnList); + #endif typedef struct xl_running_xacts_old { int xcnt; /* # of xact ids in xids[] */ diff --git a/src/include/storage/time_series_compress.h b/src/include/storage/time_series_compress.h old mode 100755 new mode 100644 diff --git a/src/include/streaming/streaming_catalog.h b/src/include/streaming/streaming_catalog.h index 4020ba7db..c0e8b7dc5 100644 --- a/src/include/streaming/streaming_catalog.h +++ b/src/include/streaming/streaming_catalog.h @@ -120,6 +120,7 @@ bool range_var_is_cont_view(RangeVar *name); bool relid_is_cv_tab(Oid relid); bool view_stmt_has_stream(ViewStmt *view_stmt); bool range_var_list_include_streaming_object(List *objects); +bool range_var_is_cv_tab(RangeVar *name); char *cv_name_to_mrel_name(const char *cvname); #endif diff --git a/src/include/tcop/autonomoustransaction.h b/src/include/tcop/autonomoustransaction.h index 2519b2d4e..3de10f011 100644 --- a/src/include/tcop/autonomoustransaction.h +++ b/src/include/tcop/autonomoustransaction.h @@ -81,22 +81,25 @@ class AutonomousSession : public BaseObject { public: AutonomousSession(ATManager* manager) : m_conn(NULL), m_manager(&g_atManager), m_res(NULL) {} - ~AutonomousSession(void) - { - CloseSession(); // RAII to ensure session closing. - } - /* disallow copy */ AutonomousSession(const AutonomousSession&); AutonomousSession& operator=(const AutonomousSession&); public: + void Init(ATManager* manager) + { + m_conn = NULL; + m_manager = manager; + m_res = NULL; + m_refcount = 0; + } ATResult ExecSimpleQuery(const char* query); ATResult ExecQueryWithParams(const char* query, PQ_ParamInfo* pinfo); - - void PrepareQuery(void) {} - void ExecPreparedQuery(void) {} + // attach with a plpgsql block, call this before using AutonomousSession object. + void Attach(void); + // detach with a plpgsql block, call this before quiting block. + void Detach(void); void CloseSession(void); @@ -109,15 +112,30 @@ private: PGconn* m_conn; ATManager* m_manager; PGresult* m_res; + uint32 m_refcount; }; ATResult HandlePGResult(PGconn* conn, PGresult* pgresult); +enum PLpgSQL_exectype { + STMT_SQL, + STMT_PERFORM, + STMT_DYNAMIC, + STMT_UNKNOW +}; struct PLpgSQL_execstate; struct PLpgSQL_stmt_block; +struct PLpgSQL_expr; + +bool IsAutonomousTransaction(const PLpgSQL_execstate* estate, const PLpgSQL_stmt_block* block); bool IsValidAutonomousTransaction(const PLpgSQL_execstate* estate, const PLpgSQL_stmt_block* block); +bool IsValidAutonomousTransactionQuery(PLpgSQL_exectype exectype, const PLpgSQL_expr* stmtexpr, bool isinto); + +void AttachToAutonomousSession(PLpgSQL_execstate* estate, const PLpgSQL_stmt_block* block); +void DetachToAutonomousSession(const PLpgSQL_execstate* estate); void InitPQParamInfo(PQ_ParamInfo* pinfo, int n); void FreePQParamInfo(PQ_ParamInfo* pinfo); + #endif /* AUTONOMOUSTRANSACTION_H */ diff --git a/src/include/tcop/dest.h b/src/include/tcop/dest.h old mode 100755 new mode 100644 diff --git a/src/include/tcop/stmt_retry.h b/src/include/tcop/stmt_retry.h old mode 100755 new mode 100644 diff --git a/src/include/tcop/tcopprot.h b/src/include/tcop/tcopprot.h old mode 100755 new mode 100644 diff --git a/src/include/tcop/utility.h b/src/include/tcop/utility.h old mode 100755 new mode 100644 diff --git a/src/include/threadpool/threadpool.h b/src/include/threadpool/threadpool.h old mode 100755 new mode 100644 diff --git a/src/include/threadpool/threadpool_controler.h b/src/include/threadpool/threadpool_controler.h old mode 100755 new mode 100644 diff --git a/src/include/threadpool/threadpool_group.h b/src/include/threadpool/threadpool_group.h old mode 100755 new mode 100644 diff --git a/src/include/threadpool/threadpool_listener.h b/src/include/threadpool/threadpool_listener.h old mode 100755 new mode 100644 diff --git a/src/include/threadpool/threadpool_scheduler.h b/src/include/threadpool/threadpool_scheduler.h old mode 100755 new mode 100644 index 87db4cf87..d36d9d7be --- a/src/include/threadpool/threadpool_scheduler.h +++ b/src/include/threadpool/threadpool_scheduler.h @@ -32,7 +32,6 @@ public: int StartUp(); void DynamicAdjustThreadPool(); void GPCScheduleCleaner(int* gpc_count); - void CNGPCScheduleCleaner(int* gpc_count); void ShutDown() const; inline ThreadId GetThreadId() { @@ -46,6 +45,7 @@ public: { return m_has_shutdown; } + MemoryContext m_gpcContext; private: void AdjustWorkerPool(int idx); void AdjustStreamPool(int idx); diff --git a/src/include/threadpool/threadpool_sessctl.h b/src/include/threadpool/threadpool_sessctl.h index a9a5271fb..91f9d91d2 100644 --- a/src/include/threadpool/threadpool_sessctl.h +++ b/src/include/threadpool/threadpool_sessctl.h @@ -54,6 +54,9 @@ public: int SendSignal(int ctrl_index, int signal); void SendProcSignal(int ctrl_index, ProcSignalReason reason, uint64 query_id); int CountDBSessions(Oid dbId); + int CountDBSessionsNotCleaned(Oid dbOid, Oid userOid); + int CleanDBSessions(Oid dbOid, Oid userOid); + bool ValidDBoidAndUseroid(Oid dbOid, Oid userOid, knl_sess_control* ctrl); void SigHupHandler(); void HandlePoolerReload(); void CheckSessionTimeout(); diff --git a/src/include/threadpool/threadpool_worker.h b/src/include/threadpool/threadpool_worker.h old mode 100755 new mode 100644 diff --git a/src/include/tsearch/ts_cache.h b/src/include/tsearch/ts_cache.h old mode 100755 new mode 100644 diff --git a/src/include/tsearch/ts_utils.h b/src/include/tsearch/ts_utils.h old mode 100755 new mode 100644 diff --git a/src/include/tsearch/ts_zh_ngram.h b/src/include/tsearch/ts_zh_ngram.h old mode 100755 new mode 100644 diff --git a/src/include/utils/acl.h b/src/include/utils/acl.h old mode 100755 new mode 100644 diff --git a/src/include/utils/aes.h b/src/include/utils/aes.h old mode 100755 new mode 100644 diff --git a/src/include/utils/anls_opt.h b/src/include/utils/anls_opt.h old mode 100755 new mode 100644 diff --git a/src/include/utils/array.h b/src/include/utils/array.h old mode 100755 new mode 100644 diff --git a/src/include/utils/aset.h b/src/include/utils/aset.h old mode 100755 new mode 100644 diff --git a/src/include/utils/batchsort.h b/src/include/utils/batchsort.h old mode 100755 new mode 100644 diff --git a/src/include/utils/batchstore.h b/src/include/utils/batchstore.h old mode 100755 new mode 100644 diff --git a/src/include/utils/biginteger.h b/src/include/utils/biginteger.h old mode 100755 new mode 100644 diff --git a/src/include/utils/bloom_filter.h b/src/include/utils/bloom_filter.h old mode 100755 new mode 100644 diff --git a/src/include/utils/builtins.h b/src/include/utils/builtins.h old mode 100755 new mode 100644 diff --git a/src/include/utils/cash.h b/src/include/utils/cash.h old mode 100755 new mode 100644 diff --git a/src/include/utils/catcache.h b/src/include/utils/catcache.h old mode 100755 new mode 100644 diff --git a/src/include/utils/datetime.h b/src/include/utils/datetime.h old mode 100755 new mode 100644 diff --git a/src/include/utils/distribute_test.h b/src/include/utils/distribute_test.h old mode 100755 new mode 100644 diff --git a/src/include/utils/elf_parser.h b/src/include/utils/elf_parser.h index c8a8202aa..70f5189ab 100644 --- a/src/include/utils/elf_parser.h +++ b/src/include/utils/elf_parser.h @@ -40,6 +40,10 @@ public: bool reset(const char *filename); bool is_same_file(const char *filename); bool resolve_addr(uintptr_t addr, char *buf, size_t len, uint *offset); + inline bool isdyn() + { + return dyn; + } private: const char *fname; /* file name */ @@ -47,6 +51,7 @@ private: Elf64_Ehdr ehdr; /* elf header */ Elf64_Shdr symhdr[SYMHDR_NUM]; /* there are at most two symbol tables in an elf file */ int sym_count; /* number of symbol tables found */ + bool dyn; /* wether a shared object file is opened */ void init(); bool load(const char *name); diff --git a/src/include/utils/elog.h b/src/include/utils/elog.h old mode 100755 new mode 100644 index d25944505..520625a19 --- a/src/include/utils/elog.h +++ b/src/include/utils/elog.h @@ -150,7 +150,7 @@ extern int errcode_for_socket_access(void); /* set error module */ extern int errmodule(ModuleId id); - +extern const char* mask_encrypted_key(const char* query_string, int str_len); extern char* maskPassword(const char* query_string); #define MASK_PASSWORD_START(mask_string, query_string) \ @@ -276,7 +276,7 @@ typedef struct ErrorContextCallback { #define securec_check(errno, charList, ...) \ { \ if (EOK != errno) { \ - freeSecurityFuncSpace((char*)charList, ##__VA_ARGS__); \ + freeSecurityFuncSpace(static_cast(charList), ##__VA_ARGS__); \ switch (errno) { \ case EINVAL: \ elog(ERROR, \ @@ -321,7 +321,7 @@ typedef struct ErrorContextCallback { #define securec_check(errno, charList, ...) \ { \ if (errno == -1) { \ - freeSecurityFuncSpace_c((char*)charList, ##__VA_ARGS__); \ + freeSecurityFuncSpace_c(static_cast(charList), ##__VA_ARGS__); \ printf("ERROR at %s : %d : The destination buffer or format is a NULL pointer or the invalid parameter " \ "handle is invoked..\n", \ __FILE__, \ @@ -336,7 +336,7 @@ typedef struct ErrorContextCallback { #define securec_check_ss(errno, charList, ...) \ { \ if (errno == -1) { \ - freeSecurityFuncSpace((char*)charList, ##__VA_ARGS__); \ + freeSecurityFuncSpace(static_cast(charList), ##__VA_ARGS__); \ elog(ERROR, \ "%s : %d : The destination buffer or format is a NULL pointer or the invalid parameter handle is " \ "invoked.", \ diff --git a/src/include/utils/evp_cipher.h b/src/include/utils/evp_cipher.h old mode 100755 new mode 100644 diff --git a/src/include/utils/extended_statistics.h b/src/include/utils/extended_statistics.h old mode 100755 new mode 100644 diff --git a/src/include/utils/formatting.h b/src/include/utils/formatting.h old mode 100755 new mode 100644 diff --git a/src/include/utils/globalplancache.h b/src/include/utils/globalplancache.h index 77851c4c4..2749fbf4f 100644 --- a/src/include/utils/globalplancache.h +++ b/src/include/utils/globalplancache.h @@ -31,6 +31,12 @@ #include "utils/globalplancore.h" #include "executor/spi.h" +enum PlansourceInvalidAction +{ + ACTION_RECREATE, + ACTION_RELOAD, + ACTION_CN_RETRY +}; class GlobalPlanCache : public BaseObject { @@ -44,20 +50,22 @@ public: void DropInvalid(); void AddInvalidList(CachedPlanSource* plansource); void RemoveEntry(uint32 htblIdx, GPCEntry *entry); - void RemovePlanSourceInRecreate(CachedPlanSource* plansource); + template + void RemovePlanSource(CachedPlanSource* plansource, const char* stmt_name); bool TryStore(CachedPlanSource *plansource, PreparedStatement *ps); Datum PlanClean(); + void CleanUpByTime(); /* cnretry and pool reload invalid */ - void InvalidPlanSourceForCNretry(CachedPlanSource* plansource); - void InvalidPlanSourceForReload(CachedPlanSource* plansource, const char* stmt_name); + void InvalidPlanSource(CachedPlanSource* plansource, const char* stmt_name, bool clear_dnstmt); /* cache invalid */ void InvalMsg(const SharedInvalidationMessage *msgs, int n); /* transaction */ - void RecreateCachePlan(PreparedStatement *entry, const char* stmt_name); + void RecreateCachePlan(CachedPlanSource* oldsource, const char* stmt_name, + PreparedStatement *entry, SPIPlanPtr spiplan, ListCell* spiplanCell); void Commit(); - bool CheckRecreateCachePlan(PreparedStatement *entry); + bool CheckRecreateCachePlan(CachedPlanSource* psrc); void CNCommit(); void DNCommit(); @@ -85,4 +93,7 @@ private: DList *m_invalid_list; }; + + + #endif /* PLANCACHE_H */ diff --git a/src/include/utils/globalplancore.h b/src/include/utils/globalplancore.h index 64a7f39c0..7d836f5e2 100644 --- a/src/include/utils/globalplancore.h +++ b/src/include/utils/globalplancore.h @@ -36,8 +36,7 @@ #define GPC_HTAB_SIZE (128) #define GLOBALPLANCACHEKEY_MAGIC (953717831) #define CAS_SLEEP_DURATION (2) -#define MAX_PREPARE_WAIING_TIME \ - (u_sess->attr.attr_common.SessionTimeout > 1200 ? u_sess->attr.attr_common.SessionTimeout * 2 : 1200 * 2) +#define GPC_CLEAN_WAIT_TIME (3600) #define ENABLE_GPC (g_instance.attr.attr_common.enable_global_plancache == true && \ g_instance.attr.attr_common.enable_thread_pool == true) @@ -62,7 +61,6 @@ typedef enum PGXCNode_HandleGPC HANDLE_FIRST_SEND } PGXCNode_HandleGPC; - typedef struct GPCHashCtl { int count; @@ -136,6 +134,7 @@ typedef struct GPCEnv typedef struct GPCKey { uint32 query_length; + /* query_string is plansource->querystring */ const char *query_string; GPCEnv env; SPISign spi_signature; @@ -144,7 +143,9 @@ typedef struct GPCKey typedef struct GPCVal { CachedPlanSource* plansource; -}GPCVal; + instr_time last_use_time; + volatile uint32 used_count; /* fetched times */ +} GPCVal; typedef struct GPCEntry { @@ -186,34 +187,6 @@ typedef struct PreparedStatement bool has_prepare_dn_stmt; /* datanode statment has prepared or not */ } PreparedStatement; -typedef struct GPCPreparedStatement -{ - sess_orient key; - instr_time last_used_time; - bool sess_detach; - DList* prepare_statement_list; /*the list of the prepare statements of the different queries with the same gid, - *we assume the amount of different prepare statements wont be huge, so we chose - *linked list instead of HTAB*/ -} GPCPreparedStatement; - - -typedef struct GPCPrepareStatus -{ - char *statement_name; - char *query; - int refcount; - uint64 cn_sessid; - uint32 cn_node_id; - uint32 cn_time_line; - bool is_shared; -} GPCPrepareStatus; - -typedef struct TimelineEntry -{ - uint32 node_id; //CN index - uint32 timeline; -} TimelineEntry; - /* for gpc, help to locate plancache and spiplan */ typedef struct SPIPlanCacheEnt { uint32 key; @@ -231,7 +204,10 @@ extern void GPCResetAll(); void GPCCleanDatanodeStatement(int dn_stmt_num, const char* stmt_name); void GPCReGplan(CachedPlanSource* plansource); void CNGPCCleanUpSession(); -List* CopyLocalStmt(const List* stmt_list); +List* CopyLocalStmt(const List* stmt_list, const MemoryContext parent_cxt, MemoryContext* plan_context); +bool SPIParseEnableGPC(const Node *node); +void CleanSessGPCPtr(knl_session_context* currentSession); +void CleanSessionGPCDetach(knl_session_context* currentSession); /* for HTAB SPICacheTable, global procedure plancache */ extern SPIPlanCacheEnt* SPIPlanCacheTableLookup(uint32 key); @@ -250,8 +226,7 @@ inline void gpc_record_log(const char* action, const char* filename, int lineno, CachedPlanSource* plansource, const char* stmtname) { ereport(DEBUG3, (errmodule(MOD_GPC), errcode(ERRCODE_LOG), - errmsg("GPC (%lu,%u,%u), (Action:%s, Location %s,%d), (dn_session:%lu), plansource %p, stmt: %s ", - u_sess->sess_ident.cn_sessid, u_sess->sess_ident.cn_timeline, u_sess->sess_ident.cn_nodeid, + errmsg("GPC (Action:%s, Location %s,%d), (dn_session:%lu), plansource %p, stmt: %s ", action, filename, lineno, u_sess->session_id, plansource, stmtname))); } @@ -282,12 +257,4 @@ inline void cn_gpc_record_log(const char* action, const char* filename, int line #define CN_GPC_LOG(action, plansource, stmt) \ (cn_gpc_record_log(action, __FILE__, __LINE__, plansource, stmt)) -inline void GPCCheckGuc() -{ - if (unlikely((u_sess->sess_ident.cn_sessid == 0 && u_sess->sess_ident.cn_timeline == 0 && - u_sess->sess_ident.cn_nodeid == 0 && !IS_PGXC_COORDINATOR))) - ereport(ERROR, (errmodule(MOD_GPC), errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cn does not set enable_global_plancache but %s set", g_instance.attr.attr_common.PGXCNodeName))); -} - #endif /* GLOBALPLANCORE_H */ diff --git a/src/include/utils/globalpreparestmt.h b/src/include/utils/globalpreparestmt.h deleted file mode 100644 index bb23d384c..000000000 --- a/src/include/utils/globalpreparestmt.h +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Copyright (c) 2020 Huawei Technologies Co.,Ltd. - * - * openGauss is licensed under Mulan PSL v2. - * You can use this software according to the terms and conditions of the Mulan PSL v2. - * You may obtain a copy of Mulan PSL v2 at: - * - * http://license.coscl.org.cn/MulanPSL2 - * - * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, - * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, - * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. - * See the Mulan PSL v2 for more details. - * -------------------------------------------------------------------------------------- - * - * globalplancache.h - * - * global plan cache - * - * IDENTIFICATION - * src/include/utils/globalplancache.h - * - *--------------------------------------------------------------------------------------- - */ -#ifndef GLOBALPRESTMT_H -#define GLOBALPRESTMT_H - -#include "knl/knl_variable.h" - -#include "pgxc/pgxc.h" -#include "storage/sinval.h" -#include "utils/globalplancore.h" - -class GlobalPrepareStmt : public BaseObject -{ -public: - GlobalPrepareStmt(); - ~GlobalPrepareStmt(); - - /* cache invalid */ - - void Init(); - void InitCnTimelineHTAB(); - void Store(const char *stmt_name,CachedPlanSource *plansource, bool from_sql, bool is_share); - PreparedStatement *Fetch(const char *stmt_name, bool throwError); - void Drop(const char *stmt_name, bool showError); - void DropAll(sess_orient* key, bool need_lock); - void Clean(uint32 cn_id); - - /* transaction */ - void PrepareCleanUpByTime(bool needCheckTime); - void CleanSessionGPC(knl_session_context* currentSession); - void UpdateUseTime(sess_orient* key, bool sess_detach); - - - void CheckTimeline(); - - /* system function */ - - void* GetStatus(uint32 *num); - -private: - - GPCHashCtl *m_array; - HTAB* m_cn_timeline; -}; - - -#endif /* PLANCACHE_H */ diff --git a/src/include/utils/guc.h b/src/include/utils/guc.h old mode 100755 new mode 100644 index cf9d30ded..b63b5d43b --- a/src/include/utils/guc.h +++ b/src/include/utils/guc.h @@ -245,8 +245,8 @@ extern void ParseLongOption(const char* string, char** name, char** value); extern bool parse_int(const char* value, int* result, int flags, const char** hintmsg); extern bool parse_int64(const char* value, int64* result, const char** hintmsg); extern bool parse_real(const char* value, double* result, int flags = 0, const char** hintmsg = NULL); -double time_unit_convert(char** endptr, double value, int flags, const char** hintmsg); -double memory_unit_convert(char** endptr, double value, int flags, const char** hintmsg); +double TimeUnitConvert(char** endptr, double value, int flags, const char** hintmsg); +double MemoryUnitConvert(char** endptr, double value, int flags, const char** hintmsg); extern int set_config_option(const char* name, const char* value, GucContext context, GucSource source, GucAction action, bool changeVal, int elevel, bool isReload = false); #ifndef ENABLE_MULTIPLE_NODES diff --git a/src/include/utils/guc_tables.h b/src/include/utils/guc_tables.h old mode 100755 new mode 100644 diff --git a/src/include/utils/hsearch.h b/src/include/utils/hsearch.h old mode 100755 new mode 100644 diff --git a/src/include/utils/inval.h b/src/include/utils/inval.h old mode 100755 new mode 100644 diff --git a/src/include/utils/memprot.h b/src/include/utils/memprot.h old mode 100755 new mode 100644 diff --git a/src/include/utils/memutils.h b/src/include/utils/memutils.h old mode 100755 new mode 100644 diff --git a/src/include/utils/numeric.h b/src/include/utils/numeric.h old mode 100755 new mode 100644 diff --git a/src/include/utils/numeric_gs.h b/src/include/utils/numeric_gs.h old mode 100755 new mode 100644 diff --git a/src/include/utils/palloc.h b/src/include/utils/palloc.h old mode 100755 new mode 100644 diff --git a/src/include/utils/partcache.h b/src/include/utils/partcache.h old mode 100755 new mode 100644 diff --git a/src/include/utils/partitionkey.h b/src/include/utils/partitionkey.h old mode 100755 new mode 100644 diff --git a/src/include/utils/partitionmap.h b/src/include/utils/partitionmap.h old mode 100755 new mode 100644 diff --git a/src/include/utils/partitionmap_gs.h b/src/include/utils/partitionmap_gs.h old mode 100755 new mode 100644 diff --git a/src/include/utils/pg_locale.h b/src/include/utils/pg_locale.h old mode 100755 new mode 100644 index 61f30a66c..a6b302cc5 --- a/src/include/utils/pg_locale.h +++ b/src/include/utils/pg_locale.h @@ -52,7 +52,7 @@ extern void localeconv_deinitialize_session(void); extern void cache_locale_time(void); -void freeLocaleCacheAtThreadExit(void); +void freeLocaleCache(bool threadExit); /* * We define our own wrapper around locale_t so we can keep the same diff --git a/src/include/utils/pg_lzcompress.h b/src/include/utils/pg_lzcompress.h old mode 100755 new mode 100644 diff --git a/src/include/utils/plancache.h b/src/include/utils/plancache.h old mode 100755 new mode 100644 index fd80a2d3a..aa725a3b6 --- a/src/include/utils/plancache.h +++ b/src/include/utils/plancache.h @@ -184,6 +184,7 @@ public: pg_atomic_fetch_sub_u32((volatile uint32*)&m_refcount, 1); } + /* this check function can only be used to change gpc table when has write lock */ inline bool RefCountZero() { /* if is same as 0 then set 0 and return true, if is different then do nothing and return false */ @@ -193,14 +194,7 @@ public: inline int GetRefCount() { - return m_refcount; - } - - inline bool CheckRefCount() - { - /* m_refcount can not less than 0 */ - int val = (int)pg_atomic_fetch_add_u32((volatile uint32*)&m_refcount, 0); - return val >= 0; + return m_refcount; } private: @@ -420,5 +414,6 @@ extern void ResetPlanCache(CachedPlanSource *plansource); extern void PlanCacheRelCallback(Datum arg, Oid relid); extern void PlanCacheFuncCallback(Datum arg, int cacheid, uint32 hashvalue); extern void PlanCacheSysCallback(Datum arg, int cacheid, uint32 hashvalue); +extern bool IsStreamSupport(); #endif /* PLANCACHE_H */ diff --git a/src/include/utils/plog.h b/src/include/utils/plog.h old mode 100755 new mode 100644 diff --git a/src/include/utils/plpgsql.h b/src/include/utils/plpgsql.h old mode 100755 new mode 100644 diff --git a/src/include/utils/portal.h b/src/include/utils/portal.h old mode 100755 new mode 100644 index 90ac48a0f..5715b255e --- a/src/include/utils/portal.h +++ b/src/include/utils/portal.h @@ -109,7 +109,44 @@ typedef enum PortalStatus { PORTAL_DONE, /* portal is finished (don't re-run it) */ PORTAL_FAILED /* portal got error (can't re-run it) */ } PortalStatus; +#ifndef ENABLE_MULTIPLE_NODES +typedef struct PortalStream { + class StreamNodeGroup* streamGroup; + MemoryContext stream_runtime_mem_cxt; + MemoryContext data_exchange_mem_cxt; + uint64 query_id; + void Reset() + { + streamGroup = NULL; + stream_runtime_mem_cxt = NULL; + data_exchange_mem_cxt = NULL; + query_id = 0; + } + + void RecordSessionInfo() + { + streamGroup = u_sess->stream_cxt.global_obj; + stream_runtime_mem_cxt = u_sess->stream_cxt.stream_runtime_mem_cxt; + data_exchange_mem_cxt = u_sess->stream_cxt.data_exchange_mem_cxt; + query_id = u_sess->debug_query_id; + } + + void AttachToSession() + { + if (streamGroup != NULL || u_sess->stream_cxt.global_obj != NULL) { + u_sess->stream_cxt.global_obj = streamGroup ? + streamGroup : u_sess->stream_cxt.global_obj; + u_sess->stream_cxt.stream_runtime_mem_cxt = stream_runtime_mem_cxt ? + stream_runtime_mem_cxt : u_sess->stream_cxt.stream_runtime_mem_cxt; + u_sess->stream_cxt.data_exchange_mem_cxt = data_exchange_mem_cxt ? + data_exchange_mem_cxt : u_sess->stream_cxt.data_exchange_mem_cxt; + u_sess->debug_query_id = query_id ? + query_id : u_sess->debug_query_id; + } + } +} PortalStream; +#endif typedef struct PortalData* Portal; typedef struct PortalData { @@ -141,7 +178,9 @@ typedef struct PortalData { /* Features/options */ PortalStrategy strategy; /* see above */ int cursorOptions; /* DECLARE CURSOR option bits */ - + Oid cursorHoldUserId; /* Record UserId when cursor with hold */ + int cursorHoldSecRestrictionCxt; + /* Status data */ PortalStatus status; /* see above */ bool portalPinned; /* a pinned portal can't be dropped */ @@ -190,7 +229,11 @@ typedef struct PortalData { void* cursorAttribute[CURSOR_ATTRIBUTE_NUMBER]; Oid funcOid; /* function oid */ int funcUseCount; + MemoryContext copyCxt; /* memory for gpc copy plan */ bool is_from_spi; +#ifndef ENABLE_MULTIPLE_NODES + PortalStream streamInfo; +#endif } PortalData; /* diff --git a/src/include/utils/postinit.h b/src/include/utils/postinit.h old mode 100755 new mode 100644 diff --git a/src/include/utils/rangetypes.h b/src/include/utils/rangetypes.h old mode 100755 new mode 100644 diff --git a/src/include/utils/rel.h b/src/include/utils/rel.h old mode 100755 new mode 100644 index 57a1a3f0d..b499bec31 --- a/src/include/utils/rel.h +++ b/src/include/utils/rel.h @@ -322,6 +322,7 @@ typedef struct StdRdOptions { char* ttl_interval; /* ttl interval for streaming contquery table */ char* gather_interval; /* gather interval for streaming contquery table */ char* string_optimize; /* string optimize for streaming contquery table */ + char* sw_interval; /* sliding window interval for streaming contquery table */ char* version; char* wait_clean_gpi; /* pg_partition system catalog wait gpi-clean or not */ /* item for online expand */ diff --git a/src/include/utils/rel_gs.h b/src/include/utils/rel_gs.h old mode 100755 new mode 100644 diff --git a/src/include/utils/relcache.h b/src/include/utils/relcache.h old mode 100755 new mode 100644 diff --git a/src/include/utils/relmapper.h b/src/include/utils/relmapper.h old mode 100755 new mode 100644 diff --git a/src/include/utils/resowner.h b/src/include/utils/resowner.h index ae852d91a..4388b4474 100644 --- a/src/include/utils/resowner.h +++ b/src/include/utils/resowner.h @@ -153,4 +153,9 @@ extern void ResourceOwnerEnlargePartitionMapRefs(ResourceOwner owner); extern void ResourceOwnerRememberPartitionMapRef(ResourceOwner owner, PartitionMap* partmap); extern void ResourceOwnerForgetPartitionMapRef(ResourceOwner owner, PartitionMap* partmap); +extern void ResourceOwnerEnlargeGMemContext(ResourceOwner owner); +extern void ResourceOwnerRememberGMemContext(ResourceOwner owner, MemoryContext memcontext); +extern void ResourceOwnerForgetGMemContext(ResourceOwner owner, MemoryContext memcontext); +extern void PrintGMemContextLeakWarning(MemoryContext memcontext); + #endif /* RESOWNER_H */ diff --git a/src/include/utils/rowstore.h b/src/include/utils/rowstore.h old mode 100755 new mode 100644 diff --git a/src/include/utils/selfuncs.h b/src/include/utils/selfuncs.h old mode 100755 new mode 100644 index 8f0a017a7..a94eda8ac --- a/src/include/utils/selfuncs.h +++ b/src/include/utils/selfuncs.h @@ -99,6 +99,7 @@ typedef struct VariableStatData { int32 atttypmod; /* typmod to pass to get_attstatsslot */ bool isunique; /* matches unique index or DISTINCT clause */ bool enablePossion; /* indentify we can use possion or not */ + bool acl_ok; /* result of ACL check on table or column */ } VariableStatData; #define ReleaseVariableStats(vardata) \ @@ -161,6 +162,7 @@ extern double get_global_rows(double local_rows, double multiple, unsigned int n /* Functions in selfuncs.c */ extern void examine_variable(PlannerInfo* root, Node* node, int varRelid, VariableStatData* vardata); +extern bool statistic_proc_security_check(const VariableStatData *vardata, Oid func_oid); extern bool get_restriction_variable( PlannerInfo* root, List* args, int varRelid, VariableStatData* vardata, Node** other, bool* varonleft); extern void get_join_variables(PlannerInfo* root, List* args, SpecialJoinInfo* sjinfo, VariableStatData* vardata1, diff --git a/src/include/utils/snapmgr.h b/src/include/utils/snapmgr.h old mode 100755 new mode 100644 diff --git a/src/include/utils/snapshot.h b/src/include/utils/snapshot.h old mode 100755 new mode 100644 diff --git a/src/include/utils/sortsupport.h b/src/include/utils/sortsupport.h old mode 100755 new mode 100644 diff --git a/src/include/utils/sortsupport_gs.h b/src/include/utils/sortsupport_gs.h old mode 100755 new mode 100644 diff --git a/src/include/utils/syscache.h b/src/include/utils/syscache.h old mode 100755 new mode 100644 diff --git a/src/include/utils/syscall_lock.h b/src/include/utils/syscall_lock.h old mode 100755 new mode 100644 diff --git a/src/include/utils/timestamp.h b/src/include/utils/timestamp.h old mode 100755 new mode 100644 index e760209c3..e66a910d0 --- a/src/include/utils/timestamp.h +++ b/src/include/utils/timestamp.h @@ -28,7 +28,7 @@ do { \ errno_t rc = memcpy_s(targetTimestamp, size, timestamptz_to_str(convertTimeStamp), size); \ securec_check(rc, "\0", "\0"); \ -} while(0) +} while (0) #ifndef FRONTEND_PARSER @@ -104,13 +104,10 @@ typedef struct WalReplicationTimestampInfo { char timeoutStamp[MAXTIMESTAMPLEN + 1]; char lastRecStamp[MAXTIMESTAMPLEN + 1]; char heartbeatStamp[MAXTIMESTAMPLEN + 1]; - TimestampTz timeout; - TimestampTz nowtime; - TimestampTz last_timestamp; - TimestampTz heartbeat; } WalReplicationTimestampInfo; -void WalReplicationTimestampToString(WalReplicationTimestampInfo *timeStampInfo); +void WalReplicationTimestampToString(WalReplicationTimestampInfo *timeStampInfo, TimestampTz nowtime, + TimestampTz timeout, TimestampTz lastTimestamp, TimestampTz heartbeat); /* * timestamp.c prototypes diff --git a/src/include/utils/tuplesort.h b/src/include/utils/tuplesort.h old mode 100755 new mode 100644 diff --git a/src/include/utils/tuplestore.h b/src/include/utils/tuplestore.h old mode 100755 new mode 100644 diff --git a/src/include/utils/uuid.h b/src/include/utils/uuid.h old mode 100755 new mode 100644 diff --git a/src/include/vecexecutor/vecagg.h b/src/include/vecexecutor/vecagg.h old mode 100755 new mode 100644 diff --git a/src/include/vecexecutor/vecfunc.h b/src/include/vecexecutor/vecfunc.h old mode 100755 new mode 100644 diff --git a/src/include/vecexecutor/vechashagg.h b/src/include/vecexecutor/vechashagg.h old mode 100755 new mode 100644 diff --git a/src/include/vecexecutor/vechashjoin.h b/src/include/vecexecutor/vechashjoin.h old mode 100755 new mode 100644 diff --git a/src/include/vecexecutor/vechashtable.h b/src/include/vecexecutor/vechashtable.h old mode 100755 new mode 100644 diff --git a/src/include/vecexecutor/vecnodes.h b/src/include/vecexecutor/vecnodes.h old mode 100755 new mode 100644 diff --git a/src/include/vecexecutor/vecsetop.h b/src/include/vecexecutor/vecsetop.h old mode 100755 new mode 100644 diff --git a/src/include/vecexecutor/vecstore.h b/src/include/vecexecutor/vecstore.h old mode 100755 new mode 100644 diff --git a/src/include/vecexecutor/vecstream.h b/src/include/vecexecutor/vecstream.h old mode 100755 new mode 100644 diff --git a/src/include/vecexecutor/vectorbatch.h b/src/include/vecexecutor/vectorbatch.h old mode 100755 new mode 100644 diff --git a/src/include/vecexecutor/vecwindowagg.h b/src/include/vecexecutor/vecwindowagg.h old mode 100755 new mode 100644 diff --git a/src/include/vectorsonic/vsonicarray.h b/src/include/vectorsonic/vsonicarray.h old mode 100755 new mode 100644 diff --git a/src/include/vectorsonic/vsonicchar.h b/src/include/vectorsonic/vsonicchar.h old mode 100755 new mode 100644 diff --git a/src/include/vectorsonic/vsonicencodingchar.h b/src/include/vectorsonic/vsonicencodingchar.h old mode 100755 new mode 100644 diff --git a/src/include/vectorsonic/vsonicfilesource.h b/src/include/vectorsonic/vsonicfilesource.h old mode 100755 new mode 100644 diff --git a/src/include/vectorsonic/vsonicfixlen.h b/src/include/vectorsonic/vsonicfixlen.h old mode 100755 new mode 100644 diff --git a/src/include/vectorsonic/vsonichash.h b/src/include/vectorsonic/vsonichash.h old mode 100755 new mode 100644 diff --git a/src/include/vectorsonic/vsonichashagg.h b/src/include/vectorsonic/vsonichashagg.h old mode 100755 new mode 100644 diff --git a/src/include/vectorsonic/vsonichashjoin.h b/src/include/vectorsonic/vsonichashjoin.h old mode 100755 new mode 100644 diff --git a/src/include/vectorsonic/vsonicint.h b/src/include/vectorsonic/vsonicint.h old mode 100755 new mode 100644 diff --git a/src/include/vectorsonic/vsonicnumeric.h b/src/include/vectorsonic/vsonicnumeric.h old mode 100755 new mode 100644 diff --git a/src/include/vectorsonic/vsonicpartition.h b/src/include/vectorsonic/vsonicpartition.h old mode 100755 new mode 100644 diff --git a/src/include/workload/commgr.h b/src/include/workload/commgr.h old mode 100755 new mode 100644 diff --git a/src/include/workload/cpwlm.h b/src/include/workload/cpwlm.h old mode 100755 new mode 100644 diff --git a/src/include/workload/dywlm_client.h b/src/include/workload/dywlm_client.h old mode 100755 new mode 100644 diff --git a/src/include/workload/dywlm_server.h b/src/include/workload/dywlm_server.h old mode 100755 new mode 100644 diff --git a/src/include/workload/gscgroup.h b/src/include/workload/gscgroup.h old mode 100755 new mode 100644 diff --git a/src/include/workload/ioschdl.h b/src/include/workload/ioschdl.h old mode 100755 new mode 100644 diff --git a/src/include/workload/memctl.h b/src/include/workload/memctl.h old mode 100755 new mode 100644 diff --git a/src/include/workload/parctl.h b/src/include/workload/parctl.h old mode 100755 new mode 100644 diff --git a/src/include/workload/statctl.h b/src/include/workload/statctl.h old mode 100755 new mode 100644 diff --git a/src/include/workload/workload.h b/src/include/workload/workload.h old mode 100755 new mode 100644 diff --git a/src/lib/alarm/alarm.cpp b/src/lib/alarm/alarm.cpp old mode 100755 new mode 100644 diff --git a/src/lib/build_query/build_query.cpp b/src/lib/build_query/build_query.cpp old mode 100755 new mode 100644 index 21b1e7dc4..b2556b68e --- a/src/lib/build_query/build_query.cpp +++ b/src/lib/build_query/build_query.cpp @@ -112,7 +112,16 @@ void UpdateDBStateFile(char* path, GaussState* state) if (statef == NULL) { return; } + if (chmod(temppath, S_IRUSR | S_IWUSR) == -1) { + /* Close file and Nullify the pointer for retry */ + fclose(statef); + statef = NULL; + return; + } if (0 == (fwrite(state, 1, sizeof(GaussState), statef))) { + fclose(statef); + statef = NULL; + return; } fclose(statef); diff --git a/src/lib/config/cm_config.cpp b/src/lib/config/cm_config.cpp old mode 100755 new mode 100644 index 42a5991e5..330f1c52c --- a/src/lib/config/cm_config.cpp +++ b/src/lib/config/cm_config.cpp @@ -513,113 +513,114 @@ int read_config_file(const char* file_path, int* err_no) /* read DNs info */ FREAD(&g_node[ii].datanodeCount, 1, sizeof(uint32), fd); /* check datacodeCount not overflow */ - if (g_node[ii].datanodeCount < CM_MAX_DATANODE_PER_NODE) { - for (kk = 0; kk < g_node[ii].datanodeCount; kk++) { - uint32 nn = 0; + if (g_node[ii].datanodeCount > CM_MAX_DATANODE_PER_NODE) { + goto read_failed; + } + for (kk = 0; kk < g_node[ii].datanodeCount; kk++) { + uint32 nn = 0; - /* calculate datanode group number */ - if (g_node[ii].datanode[kk].datanodeRole == PRIMARY_DN) { - g_cluster_total_instance_group_num++; - } + /* calculate datanode group number */ + if (g_node[ii].datanode[kk].datanodeRole == PRIMARY_DN) { + g_cluster_total_instance_group_num++; + } - FREAD(&g_node[ii].datanode[kk].datanodeId, 1, sizeof(uint32), fd); - FREAD(&g_node[ii].datanode[kk].datanodeMirrorId, 1, sizeof(uint32), fd); - if (!datanodeMirrorIDInit) { - datanodeMirrorIDInit = true; - datanodeMirrorID = g_node[ii].datanode[kk].datanodeMirrorId; - g_dn_replication_num++; - } else if (datanodeMirrorID == g_node[ii].datanode[kk].datanodeMirrorId) { - g_dn_replication_num++; - } - FREAD(g_node[ii].datanode[kk].datanodeLocalDataPath, 1, CM_PATH_LENGTH, fd); - g_node[ii].datanode[kk].datanodeLocalDataPath[CM_PATH_LENGTH - 1] = '\0'; - check_input_for_security(g_node[ii].datanode[kk].datanodeLocalDataPath); + FREAD(&g_node[ii].datanode[kk].datanodeId, 1, sizeof(uint32), fd); + FREAD(&g_node[ii].datanode[kk].datanodeMirrorId, 1, sizeof(uint32), fd); + if (!datanodeMirrorIDInit) { + datanodeMirrorIDInit = true; + datanodeMirrorID = g_node[ii].datanode[kk].datanodeMirrorId; + g_dn_replication_num++; + } else if (datanodeMirrorID == g_node[ii].datanode[kk].datanodeMirrorId) { + g_dn_replication_num++; + } + FREAD(g_node[ii].datanode[kk].datanodeLocalDataPath, 1, CM_PATH_LENGTH, fd); + g_node[ii].datanode[kk].datanodeLocalDataPath[CM_PATH_LENGTH - 1] = '\0'; + check_input_for_security(g_node[ii].datanode[kk].datanodeLocalDataPath); - FREAD(g_node[ii].datanode[kk].datanodeXlogPath, 1, CM_PATH_LENGTH, fd); - g_node[ii].datanode[kk].datanodeXlogPath[CM_PATH_LENGTH - 1] = '\0'; - check_input_for_security(g_node[ii].datanode[kk].datanodeXlogPath); + FREAD(g_node[ii].datanode[kk].datanodeXlogPath, 1, CM_PATH_LENGTH, fd); + g_node[ii].datanode[kk].datanodeXlogPath[CM_PATH_LENGTH - 1] = '\0'; + check_input_for_security(g_node[ii].datanode[kk].datanodeXlogPath); - FREAD(g_node[ii].datanode[kk].datanodeSSDDataPath, 1, CM_PATH_LENGTH, fd); - g_node[ii].datanode[kk].datanodeSSDDataPath[CM_PATH_LENGTH - 1] = '\0'; - check_input_for_security(g_node[ii].datanode[kk].datanodeSSDDataPath); + FREAD(g_node[ii].datanode[kk].datanodeSSDDataPath, 1, CM_PATH_LENGTH, fd); + g_node[ii].datanode[kk].datanodeSSDDataPath[CM_PATH_LENGTH - 1] = '\0'; + check_input_for_security(g_node[ii].datanode[kk].datanodeSSDDataPath); - max_datapath_len = (max_datapath_len < strlen(g_node[ii].datanode[kk].datanodeLocalDataPath)) - ? strlen(g_node[ii].datanode[kk].datanodeLocalDataPath) - : max_datapath_len; + max_datapath_len = (max_datapath_len < strlen(g_node[ii].datanode[kk].datanodeLocalDataPath)) + ? strlen(g_node[ii].datanode[kk].datanodeLocalDataPath) + : max_datapath_len; - FREAD(&g_node[ii].datanode[kk].datanodeListenCount, 1, sizeof(uint32), fd); - if (g_node[ii].datanode[kk].datanodeListenCount > CM_IP_NUM) { - goto read_failed; - } - for (nn = 0; nn < CM_IP_NUM; nn++) { - FREAD(g_node[ii].datanode[kk].datanodeListenIP[nn], 1, CM_IP_LENGTH, fd); - g_node[ii].datanode[kk].datanodeListenIP[nn][CM_IP_LENGTH - 1] = '\0'; - check_input_for_security(g_node[ii].datanode[kk].datanodeListenIP[nn]); - } - FREAD(&g_node[ii].datanode[kk].datanodePort, 1, sizeof(uint32), fd); - FREAD(&g_node[ii].datanode[kk].datanodeRole, 1, sizeof(uint32), fd); - FREAD(&g_node[ii].datanode[kk].datanodeLocalHAListenCount, 1, sizeof(uint32), fd); - if (g_node[ii].datanode[kk].datanodeLocalHAListenCount > CM_IP_NUM) { - goto read_failed; - } - for (nn = 0; nn < CM_IP_NUM; nn++) { - FREAD(g_node[ii].datanode[kk].datanodeLocalHAIP[nn], 1, CM_IP_LENGTH, fd); - g_node[ii].datanode[kk].datanodeLocalHAIP[nn][CM_IP_LENGTH - 1] = '\0'; - check_input_for_security(g_node[ii].datanode[kk].datanodeLocalHAIP[nn]); - } - FREAD(&g_node[ii].datanode[kk].datanodeLocalHAPort, 1, sizeof(uint32), fd); - if (g_multi_az_cluster) { - for (uint32 dnId = 0; dnId < CM_MAX_DATANODE_STANDBY_NUM; dnId++) { - FREAD(g_node[ii].datanode[kk].peerDatanodes[dnId].datanodePeerDataPath, 1, CM_PATH_LENGTH, fd); - g_node[ii].datanode[kk].peerDatanodes[dnId].datanodePeerDataPath[CM_PATH_LENGTH - 1] = '\0'; - check_input_for_security(g_node[ii].datanode[kk].peerDatanodes[dnId].datanodePeerDataPath); + FREAD(&g_node[ii].datanode[kk].datanodeListenCount, 1, sizeof(uint32), fd); + if (g_node[ii].datanode[kk].datanodeListenCount > CM_IP_NUM) { + goto read_failed; + } + for (nn = 0; nn < CM_IP_NUM; nn++) { + FREAD(g_node[ii].datanode[kk].datanodeListenIP[nn], 1, CM_IP_LENGTH, fd); + g_node[ii].datanode[kk].datanodeListenIP[nn][CM_IP_LENGTH - 1] = '\0'; + check_input_for_security(g_node[ii].datanode[kk].datanodeListenIP[nn]); + } + FREAD(&g_node[ii].datanode[kk].datanodePort, 1, sizeof(uint32), fd); + FREAD(&g_node[ii].datanode[kk].datanodeRole, 1, sizeof(uint32), fd); + FREAD(&g_node[ii].datanode[kk].datanodeLocalHAListenCount, 1, sizeof(uint32), fd); + if (g_node[ii].datanode[kk].datanodeLocalHAListenCount > CM_IP_NUM) { + goto read_failed; + } + for (nn = 0; nn < CM_IP_NUM; nn++) { + FREAD(g_node[ii].datanode[kk].datanodeLocalHAIP[nn], 1, CM_IP_LENGTH, fd); + g_node[ii].datanode[kk].datanodeLocalHAIP[nn][CM_IP_LENGTH - 1] = '\0'; + check_input_for_security(g_node[ii].datanode[kk].datanodeLocalHAIP[nn]); + } + FREAD(&g_node[ii].datanode[kk].datanodeLocalHAPort, 1, sizeof(uint32), fd); + if (g_multi_az_cluster) { + for (uint32 dnId = 0; dnId < CM_MAX_DATANODE_STANDBY_NUM; dnId++) { + FREAD(g_node[ii].datanode[kk].peerDatanodes[dnId].datanodePeerDataPath, 1, CM_PATH_LENGTH, fd); + g_node[ii].datanode[kk].peerDatanodes[dnId].datanodePeerDataPath[CM_PATH_LENGTH - 1] = '\0'; + check_input_for_security(g_node[ii].datanode[kk].peerDatanodes[dnId].datanodePeerDataPath); - FREAD(&g_node[ii].datanode[kk].peerDatanodes[dnId].datanodePeerHAListenCount, - 1, sizeof(uint32), fd); - if (g_node[ii].datanode[kk].peerDatanodes[dnId].datanodePeerHAListenCount > CM_IP_NUM) { - goto read_failed; - } - for (nn = 0; nn < CM_IP_NUM; nn++) { - FREAD(g_node[ii].datanode[kk].peerDatanodes[dnId].datanodePeerHAIP[nn], 1, CM_IP_LENGTH, fd); - g_node[ii].datanode[kk].peerDatanodes[dnId].datanodePeerHAIP[nn][CM_IP_LENGTH - 1] = '\0'; - check_input_for_security(g_node[ii].datanode[kk].peerDatanodes[dnId].datanodePeerHAIP[nn]); - } - FREAD(&g_node[ii].datanode[kk].peerDatanodes[dnId].datanodePeerHAPort, 1, sizeof(uint32), fd); - FREAD(&g_node[ii].datanode[kk].peerDatanodes[dnId].datanodePeerRole, 1, sizeof(uint32), fd); - } - } else { - /* former cluster: single primary, single standby and single dummy standby */ - FREAD(g_node[ii].datanode[kk].datanodePeerDataPath, 1, CM_PATH_LENGTH, fd); - g_node[ii].datanode[kk].datanodePeerDataPath[CM_PATH_LENGTH - 1] = '\0'; - check_input_for_security(g_node[ii].datanode[kk].datanodePeerDataPath); - - FREAD(&g_node[ii].datanode[kk].datanodePeerHAListenCount, 1, sizeof(uint32), fd); - if (g_node[ii].datanode[kk].datanodePeerHAListenCount > CM_IP_NUM) { - goto read_failed; + FREAD(&g_node[ii].datanode[kk].peerDatanodes[dnId].datanodePeerHAListenCount, + 1, sizeof(uint32), fd); + if (g_node[ii].datanode[kk].peerDatanodes[dnId].datanodePeerHAListenCount > CM_IP_NUM) { + goto read_failed; } for (nn = 0; nn < CM_IP_NUM; nn++) { - FREAD(g_node[ii].datanode[kk].datanodePeerHAIP[nn], 1, CM_IP_LENGTH, fd); - g_node[ii].datanode[kk].datanodePeerHAIP[nn][CM_IP_LENGTH - 1] = '\0'; - check_input_for_security(g_node[ii].datanode[kk].datanodePeerHAIP[nn]); + FREAD(g_node[ii].datanode[kk].peerDatanodes[dnId].datanodePeerHAIP[nn], 1, CM_IP_LENGTH, fd); + g_node[ii].datanode[kk].peerDatanodes[dnId].datanodePeerHAIP[nn][CM_IP_LENGTH - 1] = '\0'; + check_input_for_security(g_node[ii].datanode[kk].peerDatanodes[dnId].datanodePeerHAIP[nn]); } - FREAD(&g_node[ii].datanode[kk].datanodePeerHAPort, 1, sizeof(uint32), fd); - FREAD(&g_node[ii].datanode[kk].datanodePeerRole, 1, sizeof(uint32), fd); - FREAD(g_node[ii].datanode[kk].datanodePeer2DataPath, 1, CM_PATH_LENGTH, fd); - g_node[ii].datanode[kk].datanodePeer2DataPath[CM_PATH_LENGTH - 1] = '\0'; - check_input_for_security(g_node[ii].datanode[kk].datanodePeer2DataPath); - - FREAD(&g_node[ii].datanode[kk].datanodePeer2HAListenCount, 1, sizeof(uint32), fd); - if (g_node[ii].datanode[kk].datanodePeer2HAListenCount > CM_IP_NUM) { - goto read_failed; - } - for (nn = 0; nn < CM_IP_NUM; nn++) { - FREAD(g_node[ii].datanode[kk].datanodePeer2HAIP[nn], 1, CM_IP_LENGTH, fd); - g_node[ii].datanode[kk].datanodePeer2HAIP[nn][CM_IP_LENGTH - 1] = '\0'; - check_input_for_security(g_node[ii].datanode[kk].datanodePeer2HAIP[nn]); - } - FREAD(&g_node[ii].datanode[kk].datanodePeer2HAPort, 1, sizeof(uint32), fd); - FREAD(&g_node[ii].datanode[kk].datanodePeer2Role, 1, sizeof(uint32), fd); + FREAD(&g_node[ii].datanode[kk].peerDatanodes[dnId].datanodePeerHAPort, 1, sizeof(uint32), fd); + FREAD(&g_node[ii].datanode[kk].peerDatanodes[dnId].datanodePeerRole, 1, sizeof(uint32), fd); } + } else { + /* former cluster: single primary, single standby and single dummy standby */ + FREAD(g_node[ii].datanode[kk].datanodePeerDataPath, 1, CM_PATH_LENGTH, fd); + g_node[ii].datanode[kk].datanodePeerDataPath[CM_PATH_LENGTH - 1] = '\0'; + check_input_for_security(g_node[ii].datanode[kk].datanodePeerDataPath); + + FREAD(&g_node[ii].datanode[kk].datanodePeerHAListenCount, 1, sizeof(uint32), fd); + if (g_node[ii].datanode[kk].datanodePeerHAListenCount > CM_IP_NUM) { + goto read_failed; + } + for (nn = 0; nn < CM_IP_NUM; nn++) { + FREAD(g_node[ii].datanode[kk].datanodePeerHAIP[nn], 1, CM_IP_LENGTH, fd); + g_node[ii].datanode[kk].datanodePeerHAIP[nn][CM_IP_LENGTH - 1] = '\0'; + check_input_for_security(g_node[ii].datanode[kk].datanodePeerHAIP[nn]); + } + FREAD(&g_node[ii].datanode[kk].datanodePeerHAPort, 1, sizeof(uint32), fd); + FREAD(&g_node[ii].datanode[kk].datanodePeerRole, 1, sizeof(uint32), fd); + FREAD(g_node[ii].datanode[kk].datanodePeer2DataPath, 1, CM_PATH_LENGTH, fd); + g_node[ii].datanode[kk].datanodePeer2DataPath[CM_PATH_LENGTH - 1] = '\0'; + check_input_for_security(g_node[ii].datanode[kk].datanodePeer2DataPath); + + FREAD(&g_node[ii].datanode[kk].datanodePeer2HAListenCount, 1, sizeof(uint32), fd); + if (g_node[ii].datanode[kk].datanodePeer2HAListenCount > CM_IP_NUM) { + goto read_failed; + } + for (nn = 0; nn < CM_IP_NUM; nn++) { + FREAD(g_node[ii].datanode[kk].datanodePeer2HAIP[nn], 1, CM_IP_LENGTH, fd); + g_node[ii].datanode[kk].datanodePeer2HAIP[nn][CM_IP_LENGTH - 1] = '\0'; + check_input_for_security(g_node[ii].datanode[kk].datanodePeer2HAIP[nn]); + } + FREAD(&g_node[ii].datanode[kk].datanodePeer2HAPort, 1, sizeof(uint32), fd); + FREAD(&g_node[ii].datanode[kk].datanodePeer2Role, 1, sizeof(uint32), fd); } } FREAD(&g_node[ii].etcd, 1, sizeof(uint32), fd); diff --git a/src/lib/elog/elog.cpp b/src/lib/elog/elog.cpp old mode 100755 new mode 100644 diff --git a/src/lib/gstrace/common/gstrace_infra.cpp b/src/lib/gstrace/common/gstrace_infra.cpp index 2f7c6debd..9b76e0fd6 100644 --- a/src/lib/gstrace/common/gstrace_infra.cpp +++ b/src/lib/gstrace/common/gstrace_infra.cpp @@ -501,6 +501,9 @@ trace_msg_code gstrace_start(int key, const char* mask, uint64_t bufferSize, con /* Buffer size of Shared memory should be greater than 0. */ return TRACE_BUFFER_SIZE_ERR; } + + /* align with slot size, and the buffer is expected to fill one trace record at least. */ + bufferSize = gsAlign(((bufferSize > MIN_BUF_SIZE) ? bufferSize : MIN_BUF_SIZE), SLOT_SIZE); bufferSize = bTrcToFile ? MIN_BUF_SIZE : roundToNearestPowerOfTwo(bufferSize); if (attachTraceCfgSharedMem(key) != TRACE_OK) { diff --git a/src/test/ha/GNUmakefile b/src/test/ha/GNUmakefile index f72529741..5ce91f126 100644 --- a/src/test/ha/GNUmakefile +++ b/src/test/ha/GNUmakefile @@ -27,14 +27,12 @@ REG_CONF = --regconf=regress.conf hacheck_all: all export prefix=$(prefix) && sh $(CURDIR)/run_ha_single.sh export prefix=$(prefix) && sh $(CURDIR)/run_ha_multi_single.sh - export prefix=$(prefix) && sh $(CURDIR)/run_ha_multi_cascade.sh hacheck_single: all export prefix=$(prefix) && sh $(CURDIR)/run_ha_single.sh 1 $(PART) hacheck_multi_single: all export prefix=$(prefix) && sh $(CURDIR)/run_ha_multi_single.sh 1 $(PART) - export prefix=$(prefix) && sh $(CURDIR)/run_ha_multi_cascade.sh hacheck_multi_single_mot: all export prefix=$(prefix) && sh $(CURDIR)/run_ha_multi_single_mot.sh 1 $(PART) diff --git a/src/test/ha/standby_env.sh b/src/test/ha/standby_env.sh index c626538fc..ebbd8f643 100644 --- a/src/test/ha/standby_env.sh +++ b/src/test/ha/standby_env.sh @@ -584,103 +584,3 @@ check_primary_setup_for_multi_standby echo query datanode1_standby check_replication_setup } - -################################################################################# -#cascade standby -#hacheck -#cascade_data_dir=$standby2_data_dir - -function query_cascade_standby() -{ - echo query cascade standby - gs_ctl query -D $data_dir/datanode2_standby -} - -function check_cascade_standby_startup() -{ -echo checking cascade standby startup -for i in $(seq 1 30) -do - if [ $(query_cascade_standby | grep -E $startup_keyword | wc -l) -eq 0 -o $(query_cascade_standby | grep $startup_keyword1 | wc -l) -gt 0 ]; then - sleep 2 - else - sleep 5 - return 0 - fi -done -echo "$failed_keyword when check_cascade_standby_startup" -exit 1 -} - -function check_cascade_primary_setup() -{ -echo checking primary setup for cascade -for i in $(seq 1 30) -do - if [ $(query_primary | grep -E $setup_keyword | wc -l) -eq 1 ]; then - return 0 - else - sleep 2 - fi -done - -echo "$failed_keyword when check_cascade_primary_setup" -exit 1 -} - -function check_cascade_replication_setup() -{ -echo checking replication setup for cascade -for i in $(seq 1 30) -do - if [ $(query_standby | grep -E $setup_keyword | wc -l) -eq 2 ]; then - return 0 - else - sleep 2 - fi -done -echo "$failed_keyword when check_cascade_replication_setup" -exit 1 -} - -function kill_cascade_standby() -{ - echo "kill cascade standby $standby2_data_dir" - ps -ef | grep -w $standby2_data_dir | grep -v grep | awk '{print $2}' | xargs kill -9 - sleep 3 -} - -function stop_cascade_standby() -{ -echo "stop cascade_standby $standby2_data_dir" -$bin_dir/gs_ctl stop -D $standby2_data_dir -m fast > ./results/gs_ctl.log 2>&1 -sleep 3 -} - -function start_cascade_standby() -{ -echo "start cascade standby $standby2_data_dir" -$bin_dir/gaussdb --single_node -M cascade_standby -p $standby2_port -D $standby2_data_dir > ./results/gaussdb.log 2>&1 & -check_cascade_standby_startup -} - -function start_primary_as_cascade_standby() -{ -echo "start primary $primary_data_dir as cascade standby" -$bin_dir/gaussdb --single_node -M cascade_standby -p $dn1_primary_port -D $primary_data_dir > ./results/gaussdb.log 2>&1 & -check_primary_startup -} - -function check_instance_cascade_standby() -{ -sleep 2 -date -#can grep datanode1 datanode1_standby datanode1_dummystandby gtm -ps -ef | grep $data_dir | grep -v grep - -echo query datanode1 -check_cascade_primary_setup - -echo query datanode1_standby -check_cascade_replication_setup -} diff --git a/src/test/ha/util.sh b/src/test/ha/util.sh index 799cc13fd..3a60ddd70 100644 --- a/src/test/ha/util.sh +++ b/src/test/ha/util.sh @@ -347,105 +347,3 @@ function wait_recovery_done() { #check_synchronous_commit "datanode1" 1 #check_detailed_instance #check_primary "datanode1" 2 - - -################################################################################################################### -#cascade standby -#hacheck -#cascade_data_dir=$standby2_data_dir - -function build_cascade_standby_as_cascade_standby() { - echo "start building cascade standby as cascade standby" - gs_ctl build -D $data_dir/datanode2_standby -Z single_node -M cascade_standby - if [ $? -eq 0 ]; then - echo "cascade standby built" - else - echo "$failed_keyword, build cascade standby as cascade_standby failed" - exit 1 - fi -} - -function build_cascade_standbys() { - build_standby_as_standby - build_cascade_standby_as_cascade_standby -} - -function kill_cascade_cluster() { - kill_primary - kill_standby - kill_cascade_standby -} - -function start_cascade_cluster() { - start_primary - start_standby - start_cascade_standby -} - -function set_cascade_default() { - kill_cascade_cluster - set_cascade_default_helper - start_cascade_cluster - switchover_to_primary - build_cascade_standbys -} - -function set_cascade_default_helper() { - cluster_dns=($primary_data_dir $standby_data_dir $standby2_data_dir) - for element in ${cluster_dns[@]} - do - gs_guc set -Z datanode -D $element -c "synchronous_commit = on" - gs_guc set -Z datanode -D $element -c "synchronous_standby_names = '*'" - gs_guc set -Z datanode -D $element -c "most_available_sync = on" - #gs_guc set -Z datanode -D $element -c "enable_mix_replication = off" - done -} - -function failover_to_cascade_standby() { - gs_ctl failover -w -t $gsctl_wait_time -D $data_dir/datanode2_standby - if [ $? -eq 0 ]; then - echo "failover to cascade standby success!" - else - echo "$failed_keyword, failover to cascade standby fail!" - exit 1 - fi -} - -function switchover_to_cascade_standby() { - gs_ctl switchover -w -t $gsctl_wait_time -D $data_dir/datanode2_standby - if [ $? -eq 0 ]; then - echo "switchover to cascade standby success!" - else - echo "$failed_keyword, switchover to cascade standby fail!" - exit 1 - fi -} - -function check_cascade_detailed_instance(){ - sleep 2 - #date - #can grep datanode1 datanode1_standby datanode1_dummystandby gtm - #ps -ef | grep $data_dir | grep -v grep - echo query ps check cascade - if [ $(ps -ef | grep $data_dir | grep -v grep | wc -l) -eq 3 ]; then - echo "ps check cascade process success!" - else - sleep 2 - if [ $(ps -ef | grep $data_dir | grep -v grep | wc -l) -eq 5 ]; then - echo "ps check cascade process success!" - else - echo "$failed_keyword, ps check cascade process failure, process info is displayed as: " - ps -ef | grep $data_dir | grep -v grep - exit 1 - fi - fi - sleep 1 - - check_dn_no_need_repair "datanode1" - check_dn_no_need_repair "datanode1_standby" - check_dn_no_need_repair "datanode2_standby" - - check_dn_state "datanode1" "db_state" "Normal" 1 - check_dn_state "datanode1_standby" "db_state" "Normal" 1 - check_dn_state "datanode2_standby" "db_state" "Normal" 1 -} diff --git a/src/test/regress/GNUmakefile b/src/test/regress/GNUmakefile index 353bf2b7d..81babaf0b 100644 --- a/src/test/regress/GNUmakefile +++ b/src/test/regress/GNUmakefile @@ -78,7 +78,8 @@ endif ifeq ($(SUPPORT_HOTPATCH), yes) define hotpatch_setup_func - export CODE_BASE=$(realpath $(top_builddir)/../) + export CODE_BASE=$(realpath $(top_builddir)) && \ + export PATCHLIB_HOME=$(realpath $(LIBHOTPATCH_HOME)) endef else define hotpatch_setup_func @@ -262,7 +263,8 @@ fastcheck_inplace: all tablespace-setup fastcheck_single: all tablespace-setup export LD_LIBRARY_PATH=$(SSL_LIB_PATH):$(LD_LIBRARY_PATH) && \ - $(pg_regress_check) $(REGRESS_OPTS) -d 1 -c 0 -p $(p) -r $(runtest) -b $(dir) -n $(n) --abs_gausshome=$(abs_gausshome) --single_node --schedule=$(srcdir)/parallel_schedule0 -w --keep_last_data=${keep_last_data} $(MAXCONNOPT) --temp-config=$(srcdir)/make_fastcheck_postgresql.conf $(EXTRA_TESTS) $(REG_CONF) + $(call hotpatch_setup_func) && \ + $(pg_regress_check) $(REGRESS_OPTS) -d 1 -c 0 -p $(p) -r $(runtest) -b $(dir) -n $(n) --abs_gausshome=$(abs_gausshome) --single_node --schedule=$(srcdir)/parallel_schedule0$(PART) -w --keep_last_data=${keep_last_data} $(MAXCONNOPT) --temp-config=$(srcdir)/make_fastcheck_postgresql.conf $(EXTRA_TESTS) $(REG_CONF) fastcheck_single_mot: all tablespace-setup export LD_LIBRARY_PATH=$(SSL_LIB_PATH):$(LD_LIBRARY_PATH) && \ diff --git a/src/test/regress/expected/aggregates_part2.out b/src/test/regress/expected/aggregates_part2.out index 738714543..cf9c6156c 100644 --- a/src/test/regress/expected/aggregates_part2.out +++ b/src/test/regress/expected/aggregates_part2.out @@ -457,37 +457,6 @@ select count(*) from (select distinct(c*d) from t_agg1); 343 (1 row) --- test agg with gs_index_advise -select gs_index_advise('SELECT max(a), min(a), max(b), min(b) FROM t_agg1 order by 1, 2, 3, 4;'); - gs_index_advise ------------------ - (t_agg1,"") -(1 row) - -select gs_index_advise('SELECT a, b, c FROM t_agg1 order by 1 ;'); - gs_index_advise ------------------ - (t_agg1,"(a)") -(1 row) - -select gs_index_advise('SELECT a, b, c FROM t_agg1 order by 1, 2;'); - gs_index_advise ------------------- - (t_agg1,"(a,b)") -(1 row) - -select gs_index_advise('SELECT a, max(b) FROM t_agg1 group by 1;'); - gs_index_advise ------------------ - (t_agg1,"(a)") -(1 row) - -select gs_index_advise('SELECT a, b, max(c) FROM t_agg1 group by 1, 2;'); - gs_index_advise ------------------- - (t_agg1,"(a,b)") -(1 row) - reset current_schema; drop schema if exists distribute_aggregates_part2 cascade; NOTICE: drop cascades to 3 other objects diff --git a/src/test/regress/expected/alter_table_000.out b/src/test/regress/expected/alter_table_000.out index 963f23a95..82264ed0c 100644 --- a/src/test/regress/expected/alter_table_000.out +++ b/src/test/regress/expected/alter_table_000.out @@ -41,15 +41,10 @@ column_clause | ENABLE TRIGGER [ trigger_name | ALL | USER ] | ENABLE REPLICA TRIGGER trigger_name | ENABLE ALWAYS TRIGGER trigger_name - | DISABLE RULE rewrite_rule_name - | ENABLE RULE rewrite_rule_name - | ENABLE REPLICA RULE rewrite_rule_name - | ENABLE ALWAYS RULE rewrite_rule_name | ENABLE ROW LEVEL SECURITY | DISABLE ROW LEVEL SECURITY | FORCE ROW LEVEL SECURITY | NO FORCE ROW LEVEL SECURITY - | REPLICA IDENTITY {DEFAULT | USING INDEX index_name | FULL | NOTHING} where column_clause can be: ADD [ COLUMN ] column_name data_type [ compress_mode ] [ COLLATE collation ] [ column_constraint [ ... ] ] | MODIFY column_name data_type diff --git a/src/test/regress/expected/autonomous_transaction.out b/src/test/regress/expected/autonomous_transaction.out old mode 100755 new mode 100644 index c34c4b2b4..edd537482 --- a/src/test/regress/expected/autonomous_transaction.out +++ b/src/test/regress/expected/autonomous_transaction.out @@ -347,4 +347,199 @@ EXECUTE PROCEDURE tri_insert_test2_func(); insert into tg_test1 values(1,'a','2020-08-13 09:00:00', 1); ERROR: Un-support feature : Trigger don't support autonomous transaction CONTEXT: PL/pgSQL function tri_insert_test2_func() line 4 at statement block - +--- prepare +drop table if exists tt_in; +NOTICE: table "tt_in" does not exist, skipping +drop table if exists tt_main; +NOTICE: table "tt_main" does not exist, skipping +drop table if exists tt01; +NOTICE: table "tt01" does not exist, skipping +drop table if exists tt02; +NOTICE: table "tt02" does not exist, skipping +drop table if exists tt_sess; +NOTICE: table "tt_sess" does not exist, skipping +create table tt_in (id int,a date); +create table tt_main (id int,a date); +create table tt01(c1 int); +create table tt02(c1 int, c2 int); +create table tt_sess (id int,a date); +--- case 1 +CREATE OR REPLACE PROCEDURE autonomous_tt_in_p_062(num1 int,num2 int) AS + DECLARE num3 int := 4; + PRAGMA AUTONOMOUS_TRANSACTION; + BEGIN + START TRANSACTION; + SET local TRANSACTION ISOLATION LEVEL REPEATABLE READ; + insert into tt_in select id,a from tt_main; + commit; + END; + / + SET SESSION CHARACTERISTICS AS TRANSACTION ISOLATION LEVEL REPEATABLE READ; +start transaction ; +insert into tt_main values(35,sysdate); +select autonomous_tt_in_p_062(1,35); + autonomous_tt_in_p_062 +------------------------ + +(1 row) + +COMMIT; + + +--- case 2 + CREATE FUNCTION ff2(v int, v2 int) RETURNS void AS $$ + DECLARE +PRAGMA AUTONOMOUS_TRANSACTION; + BEGIN + INSERT INTO tt02 VALUES (v, v2); + END; +$$ LANGUAGE plpgsql; +select ff2(1,1); +ERROR: Un-support feature : Autonomous transaction don't support sql command with parameter +DETAIL: INSERT INTO tt02 VALUES (v, v2) +CONTEXT: PL/pgSQL function ff2(integer,integer) line 5 at SQL statement +referenced column: ff2 +create or replace function perform_select(i int) returns integer +LANGUAGE plpgsql +as $$ +declare +PRAGMA AUTONOMOUS_TRANSACTION; +begin + +perform *from tt01 where c1=i; +return i; +end; +$$; +select perform_select(1); +ERROR: Un-support feature : Autonomous transaction don't support sql command with parameter +DETAIL: SELECT *from tt01 where c1=i +CONTEXT: PL/pgSQL function perform_select(integer) line 6 at PERFORM +referenced column: perform_select +--- case 3 +CREATE FUNCTION ff_into1(v int) RETURNS void AS $$ +DECLARE +num int; +PRAGMA AUTONOMOUS_TRANSACTION; + BEGIN + select *from tt01 limit 1 into num; + END; +$$ LANGUAGE plpgsql; +select ff_into1(1); +ERROR: Un-support feature : Autonomous transaction don't support 'into' clause +DETAIL: select *from tt01 limit 1 +CONTEXT: PL/pgSQL function ff_into1(integer) line 6 at SQL statement +referenced column: ff_into1 +CREATE FUNCTION ff_into2(v int) RETURNS void AS $$ +DECLARE +num int; +PRAGMA AUTONOMOUS_TRANSACTION; + BEGIN + execute 'select *from tt01 limit 1' into num; +END; +$$ LANGUAGE plpgsql; +select ff_into2(1); +ERROR: Un-support feature : Autonomous transaction don't support 'into' clause +DETAIL: SELECT 'select *from tt01 limit 1' +CONTEXT: PL/pgSQL function ff_into2(integer) line 6 at EXECUTE statement +referenced column: ff_into2 +--- case 4 +CREATE OR REPLACE FUNCTION autonomous_f_test(num1 int) RETURNS integer LANGUAGE plpgsql AS $$ +DECLARE PRAGMA AUTONOMOUS_TRANSACTION; +BEGIN +START TRANSACTION; +insert into tt_sess values(1,2,3); +commit; +RETURN 42; +END; +$$; +select autonomous_f_test(1); +ERROR: INSERT has more expressions than target columns +LINE 1: insert into tt_sess values(1,2,3) + ^ +QUERY: insert into tt_sess values(1,2,3) +CONTEXT: PL/pgSQL function autonomous_f_test(integer) line 5 at SQL statement +referenced column: autonomous_f_test +CREATE OR REPLACE FUNCTION autonomous_tt_sess_f_107(num1 int,num2 int) RETURNS integer LANGUAGE plpgsql AS $$ +DECLARE +num3 int := 4; +PRAGMA AUTONOMOUS_TRANSACTION; +BEGIN + FOR i IN 0..9 LOOP + START TRANSACTION; + insert into tt_sess values (1,sysdate); + EXECUTE 'INSERT INTO tt_sess VALUES (' || num3+i::text || ',sysdate)'; + IF i % 2 = 0 THEN + COMMIT; + ELSE + ROLLBACK; + END IF; + END LOOP; + RETURN num1+num2+num3; +END; +$$; +select autonomous_tt_sess_f_107(1,2); +ERROR: autonomous transaction failed in query execution. +HINT: ERROR: syntax error at or near ",sysdate" +LINE 1: INSERT INTO tt_sess VALUES (4,sysdate) + ^ + +CONTEXT: PL/pgSQL function autonomous_tt_sess_f_107(integer,integer) line 9 at EXECUTE statement +referenced column: autonomous_tt_sess_f_107 +CREATE OR REPLACE FUNCTION autonomous_e_test(num1 int) RETURNS integer LANGUAGE plpgsql AS $$ +DECLARE PRAGMA AUTONOMOUS_TRANSACTION; +BEGIN +BEGIN +START TRANSACTION; +insert into tt_sess values(1,2,3); +commit; +RETURN 42; +EXCEPTION + WHEN OTHERS THEN + RAISE NOTICE 'exception happens'; + return -1; +END; +END; +$$; +select autonomous_e_test(1); +NOTICE: exception happens +CONTEXT: referenced column: autonomous_e_test + autonomous_e_test +------------------- + -1 +(1 row) + +CREATE FUNCTION ff_subblock() RETURNS void AS $$ +DECLARE +num int; +PRAGMA AUTONOMOUS_TRANSACTION; +BEGIN + BEGIN + insert into tt01 values(1); + END; + BEGIN + insert into tt01 values(2); + END; +END; +$$ LANGUAGE plpgsql; +begin; +insert into tt01 values(3); +select ff_subblock(); + ff_subblock +------------- + +(1 row) + +rollback; +select* from tt01; + c1 +---- + 1 + 2 +(2 rows) + +--- clean +drop table if exists tt_in; +drop table if exists tt_main; +drop table if exists tt01; +drop table if exists tt02; +drop table if exists tt_sess; diff --git a/src/test/regress/expected/ce_cmk_cek_test.out b/src/test/regress/expected/ce_cmk_cek_test.out index 94bf9876d..0e739ee36 100644 --- a/src/test/regress/expected/ce_cmk_cek_test.out +++ b/src/test/regress/expected/ce_cmk_cek_test.out @@ -30,16 +30,16 @@ ERROR: duplicate key value violates unique constraint "gs_client_global_keys_na DETAIL: Key (global_key_name, key_namespace)=(imgcmk, 2200) already exists. -- fail didn't support RSA_2048 algorithm CREATE CLIENT MASTER KEY ImgCMK1 WITH (KEY_STORE = gs_ktool, KEY_PATH = "gs_ktool/2" , ALGORITHM = RSA_2048); -ERROR(CLIENT): unsupported global setting algorithm +ERROR(CLIENT): unsupported client master key algorithm -- fail ALGORITHM is missing or invalid CREATE CLIENT MASTER KEY ImgCMK1 WITH (KEY_STORE = gs_ktool, KEY_PATH = "gs_ktool/2"); -ERROR(CLIENT): unsupported global setting algorithm +ERROR(CLIENT): unsupported client master key algorithm -- fail KEY_PATHis missing or invalid CREATE CLIENT MASTER KEY ImgCMK1 WITH (KEY_STORE = gs_ktool, ALGORITHM = AES_256_CBC); -ERROR(CLIENT): key path are mandatory +ERROR(CLIENT): invalid key path -- fail KEY_STORE is missing or invalid CREATE CLIENT MASTER KEY ImgCMK1 WITH (KEY_PATH = "gs_ktool/2", ALGORITHM = AES_256_CBC); -ERROR(CLIENT): key store are mandatory +ERROR(CLIENT): invalid key store -- fail duplicate KEY_PATHargs CREATE CLIENT MASTER KEY ImgCMK1 WITH (KEY_STORE = gs_ktool, KEY_PATH = "gs_ktool/2", KEY_PATH = "gs_ktool/3", ALGORITHM = AES_256_CBC); ERROR(CLIENT): duplicate keyPath args @@ -57,23 +57,23 @@ CREATE COLUMN ENCRYPTION KEY ImgCEK2 WITH VALUES (CLIENT_MASTER_KEY = ImgCMK, AL ERROR(CLIENT): encryption key too short --fail object does not exist CREATE COLUMN ENCRYPTION KEY ImgCEK2 WITH VALUES (CLIENT_MASTER_KEY = ImgCMK2, ALGORITHM = AEAD_AES_256_CBC_HMAC_SHA256); -ERROR(CLIENT): failed to get global setting imgcmk2 from cache +ERROR(CLIENT): failed to get client master key imgcmk2 from cache -- fail duplicate key value CREATE COLUMN ENCRYPTION KEY ImgCEK WITH VALUES (CLIENT_MASTER_KEY = ImgCMK, ALGORITHM = AEAD_AES_256_CBC_HMAC_SHA256); ERROR: duplicate key value violates unique constraint "gs_column_keys_name_index" DETAIL: Key (column_key_name, key_namespace)=(imgcek, 2200) already exists. --fail ImgCMK1 dose not exist CREATE COLUMN ENCRYPTION KEY ImgCEK2 WITH VALUES (CLIENT_MASTER_KEY = ImgCMK1, ALGORITHM = AEAD_AES_256_CBC_HMAC_SHA256); -ERROR(CLIENT): failed to get global setting imgcmk1 from cache +ERROR(CLIENT): failed to get client master key imgcmk1 from cache -- fail didn't support AES_128_CBC algorithm CREATE COLUMN ENCRYPTION KEY ImgCEK2 WITH VALUES (CLIENT_MASTER_KEY = ImgCMK, ALGORITHM = AES_128_CBC); -ERROR(CLIENT): syntax error parsing cek creation query. +ERROR(CLIENT): invalid algorithm. -- fail syntax error parsing cek creation query CREATE COLUMN ENCRYPTION KEY ImgCEK2 WITH VALUES (CLIENT_MASTER_KEY = ImgCMK); -ERROR(CLIENT): syntax error parsing cek creation query. +ERROR(CLIENT): invalid algorithm. -- fail syntax error parsing cek creation query CREATE COLUMN ENCRYPTION KEY ImgCEK2 WITH VALUES (ALGORITHM = AEAD_AES_128_CBC_HMAC_SHA256); -ERROR(CLIENT): failed to get global setting from cache +ERROR(CLIENT): failed to get client master key from cache select count(*), 'count' from gs_client_global_keys; count | ?column? -------+---------- @@ -89,11 +89,11 @@ select count(*), 'count' from gs_column_keys; --cek dose not exist CREATE TABLE account(user_id INT, username VARCHAR (50) ENCRYPTED WITH (COLUMN_ENCRYPTION_KEY = ImgCEK3, ENCRYPTION_TYPE = DETERMINISTIC) ); -ERROR(CLIENT):error while trying to retrieve column setting from cache +ERROR(CLIENT):error while trying to retrieve column encryption key from cache DROP CLIENT MASTER KEY ImgCMK CASCADE; NOTICE: drop cascades to 2 other objects -DETAIL: drop cascades to column setting: imgcek -drop cascades to column setting: imgcek1 +DETAIL: drop cascades to column encryption key: imgcek +drop cascades to column encryption key: imgcek1 \! gs_ktool -d all DELETE ALL 1 2 3 diff --git a/src/test/regress/expected/ce_cmk_search_path.out b/src/test/regress/expected/ce_cmk_search_path.out index 174ecc9c6..d4b65a905 100644 --- a/src/test/regress/expected/ce_cmk_search_path.out +++ b/src/test/regress/expected/ce_cmk_search_path.out @@ -33,7 +33,7 @@ show search_path; -- CREATE CEK CREATE COLUMN ENCRYPTION KEY MyCEK1 WITH VALUES (CLIENT_MASTER_KEY = public.MyCMK1, ALGORITHM = AEAD_AES_256_CBC_HMAC_SHA256); -ERROR(CLIENT): failed to get global setting public.mycmk1 from cache +ERROR(CLIENT): failed to get client master key public.mycmk1 from cache select count(*), 'count' from gs_client_global_keys; count | ?column? -------+---------- diff --git a/src/test/regress/expected/ce_column_constraint.out b/src/test/regress/expected/ce_column_constraint.out index b1b0b7292..3234b99b3 100644 --- a/src/test/regress/expected/ce_column_constraint.out +++ b/src/test/regress/expected/ce_column_constraint.out @@ -5,7 +5,7 @@ DELETE ALL GENERATE 1 DROP CLIENT MASTER KEY IF EXISTS colConstraintCMK CASCADE; -NOTICE: global setting "colconstraintcmk" does not exist +NOTICE: client master key "colconstraintcmk" does not exist CREATE CLIENT MASTER KEY colConstraintCMK WITH ( KEY_STORE = gs_ktool , KEY_PATH = "gs_ktool/1" , ALGORITHM = AES_256_CBC); CREATE COLUMN ENCRYPTION KEY colConstraintCEK WITH VALUES (CLIENT_MASTER_KEY = colConstraintCMK, ALGORITHM = AEAD_AES_256_CBC_HMAC_SHA256); CREATE TABLE IF NOT EXISTS columns_constraint ( diff --git a/src/test/regress/expected/ce_copy.out b/src/test/regress/expected/ce_copy.out index 32065a245..c94131830 100644 --- a/src/test/regress/expected/ce_copy.out +++ b/src/test/regress/expected/ce_copy.out @@ -5,7 +5,7 @@ DELETE ALL GENERATE 1 DROP CLIENT MASTER KEY IF EXISTS copyCMK CASCADE; -NOTICE: global setting "copycmk" does not exist +NOTICE: client master key "copycmk" does not exist CREATE CLIENT MASTER KEY copyCMK WITH ( KEY_STORE = gs_ktool , KEY_PATH = "gs_ktool/1" , ALGORITHM = AES_256_CBC); CREATE COLUMN ENCRYPTION KEY copyCEK WITH VALUES (CLIENT_MASTER_KEY = copyCMK, ALGORITHM = AEAD_AES_256_CBC_HMAC_SHA256); CREATE TABLE IF NOT EXISTS CopyFromTbl(i0 INT, i1 INT ENCRYPTED WITH (COLUMN_ENCRYPTION_KEY = copyCEK, ENCRYPTION_TYPE = DETERMINISTIC) , i2 INT); @@ -97,7 +97,7 @@ COPY (SELECT * FROM CopyFromTbl ORDER BY i0) TO stdout; DROP TABLE CopyFromTbl; DROP TABLE CopyToTbl; DROP CLIENT MASTER KEY copyCMK CASCADE; -NOTICE: drop cascades to column setting: copycek +NOTICE: drop cascades to column encryption key: copycek \! gs_ktool -d all DELETE ALL 1 diff --git a/src/test/regress/expected/ce_cursor_crud_all_types_test.out b/src/test/regress/expected/ce_cursor_crud_all_types_test.out index 019aa8c68..274ad3990 100644 --- a/src/test/regress/expected/ce_cursor_crud_all_types_test.out +++ b/src/test/regress/expected/ce_cursor_crud_all_types_test.out @@ -223,7 +223,7 @@ END; DROP TABLE tr1; DROP TABLE tr2; DROP CLIENT MASTER KEY mycmk CASCADE; -NOTICE: drop cascades to column setting: mycek770 +NOTICE: drop cascades to column encryption key: mycek770 \! gs_ktool -d all DELETE ALL 1 diff --git a/src/test/regress/expected/ce_default_values.out b/src/test/regress/expected/ce_default_values.out index 8a2c18633..ee9aea7dc 100644 --- a/src/test/regress/expected/ce_default_values.out +++ b/src/test/regress/expected/ce_default_values.out @@ -5,7 +5,7 @@ DELETE ALL GENERATE 1 DROP CLIENT MASTER KEY IF EXISTS defaultcmk CASCADE; -NOTICE: global setting "defaultcmk" does not exist +NOTICE: client master key "defaultcmk" does not exist CREATE CLIENT MASTER KEY defaultcmk WITH ( KEY_STORE = gs_ktool , KEY_PATH = "gs_ktool/1" , ALGORITHM = AES_256_CBC); CREATE COLUMN ENCRYPTION KEY defaultcek WITH VALUES (CLIENT_MASTER_KEY = defaultcmk, ALGORITHM = AEAD_AES_256_CBC_HMAC_SHA256); CREATE TABLE products ( @@ -63,7 +63,7 @@ SELECT * FROM products; DROP TABLE products; DROP CLIENT MASTER KEY defaultcmk CASCADE; -NOTICE: drop cascades to column setting: defaultcek +NOTICE: drop cascades to column encryption key: defaultcek \! gs_ktool -d all DELETE ALL 1 diff --git a/src/test/regress/expected/ce_describe.out b/src/test/regress/expected/ce_describe.out index d854a33d9..94a6248b6 100644 --- a/src/test/regress/expected/ce_describe.out +++ b/src/test/regress/expected/ce_describe.out @@ -5,7 +5,7 @@ DELETE ALL GENERATE 1 DROP CLIENT MASTER KEY IF EXISTS cmk1 CASCADE; -NOTICE: global setting "cmk1" does not exist +NOTICE: client master key "cmk1" does not exist CREATE CLIENT MASTER KEY cmk1 WITH ( KEY_STORE = gs_ktool , KEY_PATH = "gs_ktool/1" , ALGORITHM = AES_256_CBC); CREATE COLUMN ENCRYPTION KEY cek1 WITH VALUES (CLIENT_MASTER_KEY = cmk1, ALGORITHM = AEAD_AES_256_CBC_HMAC_SHA256); CREATE TABLE IF NOT EXISTS t_varchar diff --git a/src/test/regress/expected/ce_distinct.out b/src/test/regress/expected/ce_distinct.out index 23fe8536a..56b2caacb 100644 --- a/src/test/regress/expected/ce_distinct.out +++ b/src/test/regress/expected/ce_distinct.out @@ -34,7 +34,7 @@ LINE 1: SELECT id, distinct name FROM t_distinct order by id; ^ DROP TABLE t_distinct; DROP CLIENT MASTER KEY MyCMK CASCADE; -NOTICE: drop cascades to column setting: mycek +NOTICE: drop cascades to column encryption key: mycek \! gs_ktool -d all DELETE ALL 1 diff --git a/src/test/regress/expected/ce_drop_cek.out b/src/test/regress/expected/ce_drop_cek.out index 746a62c5b..bc18b8834 100644 --- a/src/test/regress/expected/ce_drop_cek.out +++ b/src/test/regress/expected/ce_drop_cek.out @@ -19,13 +19,13 @@ CREATE COLUMN ENCRYPTION KEY test_drop_cek2 WITH VALUES (CLIENT_MASTER_KEY = tes SELECT count(*), 'count' FROM gs_client_global_keys; count | ?column? -------+---------- - 2 | count + 1 | count (1 row) SELECT count(*), 'count' FROM gs_column_keys; count | ?column? -------+---------- - 2 | count + 1 | count (1 row) SET ROLE test1 PASSWORD "Gauss@123"; @@ -34,7 +34,7 @@ ERROR: permission denied for schema test2 SELECT count(*), 'count' FROM gs_column_keys; count | ?column? -------+---------- - 2 | count + 1 | count (1 row) SET ROLE test2 PASSWORD "Gauss@123"; @@ -42,7 +42,7 @@ DROP column encryption key test2.test_drop_cek2; SELECT count(*), 'count' FROM gs_column_keys; count | ?column? -------+---------- - 1 | count + 0 | count (1 row) SET ROLE test_security_admin PASSWORD "Gauss@123"; @@ -51,7 +51,7 @@ ERROR: permission denied for schema test1 SELECT count(*), 'count' FROM gs_column_keys; count | ?column? -------+---------- - 1 | count + 0 | count (1 row) RESET ROLE; diff --git a/src/test/regress/expected/ce_drop_cek_depend.out b/src/test/regress/expected/ce_drop_cek_depend.out index 127ac6c6f..4f483ffb4 100644 --- a/src/test/regress/expected/ce_drop_cek_depend.out +++ b/src/test/regress/expected/ce_drop_cek_depend.out @@ -18,17 +18,17 @@ CREATE TABLE IF NOT EXISTS tr2(i1 INT ENCRYPTED WITH (COLUMN_ENCRYPTION_KEY = My i2 | integer | DROP COLUMN ENCRYPTION KEY MyCEK770; -ERROR: cannot drop column setting: mycek770 because other objects depend on it -DETAIL: encrypted column: i1 depends on column setting: mycek770 +ERROR: cannot drop column encryption key: mycek770 because other objects depend on it +DETAIL: encrypted column: i1 depends on column encryption key: mycek770 HINT: Use DROP ... CASCADE to drop the dependent objects too. DROP CLIENT MASTER KEY MyCMK; -ERROR: cannot drop global setting: mycmk because other objects depend on it -DETAIL: column setting: mycek770 depends on global setting: mycmk -encrypted column: i1 depends on column setting: mycek770 +ERROR: cannot drop client master key: mycmk because other objects depend on it +DETAIL: column encryption key: mycek770 depends on client master key: mycmk +encrypted column: i1 depends on column encryption key: mycek770 HINT: Use DROP ... CASCADE to drop the dependent objects too. DROP COLUMN ENCRYPTION KEY MyCEK770 CASCADE; -ERROR: cannot drop column setting: mycek770 cascadely because encrypted column depend on it. -HINT: we have to drop encrypted column: i1, ... before drop column setting: mycek770 cascadely. +ERROR: cannot drop column encryption key: mycek770 cascadely because encrypted column depend on it. +HINT: we have to drop encrypted column: i1, ... before drop column encryption key: mycek770 cascadely. DROP TABLE tr2; DROP COLUMN ENCRYPTION KEY MyCEK770 CASCADE; \d tr2 @@ -48,11 +48,11 @@ ERROR(CLIENT): duplicate expected value args DROP COLUMN ENCRYPTION KEY IF EXISTS MyCEK; DROP COLUMN ENCRYPTION KEY IF EXISTS MyCEK1; DROP COLUMN ENCRYPTION KEY IF EXISTS MyCEK2; -NOTICE: column setting "mycek2" does not exist +NOTICE: column encryption key "mycek2" does not exist DROP COLUMN ENCRYPTION KEY IF EXISTS MyCEK3; -NOTICE: column setting "mycek3" does not exist +NOTICE: column encryption key "mycek3" does not exist DROP COLUMN ENCRYPTION KEY IF EXISTS MyCEK4; -NOTICE: column setting "mycek4" does not exist +NOTICE: column encryption key "mycek4" does not exist DROP CLIENT MASTER KEY MyCMK CASCADE; DROP CLIENT MASTER KEY MyCMK1 CASCADE; \! gs_ktool -d all diff --git a/src/test/regress/expected/ce_drop_cek_schema.out b/src/test/regress/expected/ce_drop_cek_schema.out index ab32b96ce..9eea14d25 100644 --- a/src/test/regress/expected/ce_drop_cek_schema.out +++ b/src/test/regress/expected/ce_drop_cek_schema.out @@ -20,7 +20,7 @@ SELECT COUNT(*) FROM gs_column_keys; (1 row) DROP COLUMN ENCRYPTION KEY test_drop_cek2; -ERROR: column setting "test_drop_cek2" does not exist +ERROR: column encryption key "test_drop_cek2" does not exist SELECT COUNT(*) FROM gs_column_keys; count ------- @@ -42,7 +42,7 @@ SELECT COUNT(*) FROM gs_client_global_keys; (1 row) DROP CLIENT MASTER KEY test_drop_cmk2; -ERROR: global setting "test_drop_cmk2" does not exist +ERROR: client master key "test_drop_cmk2" does not exist SELECT COUNT(*) FROM gs_client_global_keys; count ------- diff --git a/src/test/regress/expected/ce_drop_cmk.out b/src/test/regress/expected/ce_drop_cmk.out index 39bbcabc3..234b457d6 100644 --- a/src/test/regress/expected/ce_drop_cmk.out +++ b/src/test/regress/expected/ce_drop_cmk.out @@ -23,16 +23,16 @@ CREATE CLIENT MASTER KEY test_drop_cmk2 WITH ( KEY_STORE = gs_ktool , KEY_PATH = SELECT count(*), 'count' FROM gs_client_global_keys; count | ?column? -------+---------- - 2 | count + 1 | count (1 row) SET ROLE test1 PASSWORD "Gauss@123"; DROP CLIENT MASTER KEY test_drop_cmk2; -ERROR: global setting "test_drop_cmk2" does not exist +ERROR: client master key "test_drop_cmk2" does not exist SELECT count(*), 'count' FROM gs_client_global_keys; count | ?column? -------+---------- - 2 | count + 1 | count (1 row) DROP CLIENT MASTER KEY test2.test_drop_cmk2; @@ -40,7 +40,7 @@ ERROR: permission denied for schema test2 SELECT count(*), 'count' FROM gs_client_global_keys; count | ?column? -------+---------- - 2 | count + 1 | count (1 row) SET ROLE test2 PASSWORD "Gauss@123"; @@ -48,7 +48,7 @@ DROP CLIENT MASTER KEY test2.test_drop_cmk2; SELECT count(*), 'count' FROM gs_client_global_keys; count | ?column? -------+---------- - 1 | count + 0 | count (1 row) SET ROLE test_security_admin PASSWORD "Gauss@123"; @@ -57,15 +57,15 @@ ERROR: permission denied for schema test1 SELECT count(*), 'count' FROM gs_client_global_keys; count | ?column? -------+---------- - 1 | count + 0 | count (1 row) RESET ROLE; DROP CLIENT MASTER KEY test1.test_drop_cmk1; DROP CLIENT MASTER KEY IF EXISTS test1.test_drop_cmk1 CASCADE; -NOTICE: global setting "test_drop_cmk1" does not exist +NOTICE: client master key "test_drop_cmk1" does not exist DROP CLIENT MASTER KEY IF EXISTS test2.test_drop_cmk2 CASCADE; -NOTICE: global setting "test_drop_cmk2" does not exist +NOTICE: client master key "test_drop_cmk2" does not exist DROP USER test1,test2,test_security_admin; SELECT count(*), 'count' FROM gs_client_global_keys; count | ?column? diff --git a/src/test/regress/expected/ce_drop_cmk_schema.out b/src/test/regress/expected/ce_drop_cmk_schema.out index a4f320c24..5a566a275 100644 --- a/src/test/regress/expected/ce_drop_cmk_schema.out +++ b/src/test/regress/expected/ce_drop_cmk_schema.out @@ -18,7 +18,7 @@ SELECT COUNT(*) FROM gs_client_global_keys; (1 row) DROP CLIENT MASTER KEY test_drop_cmk2; -ERROR: global setting "test_drop_cmk2" does not exist +ERROR: client master key "test_drop_cmk2" does not exist SELECT COUNT(*) FROM gs_client_global_keys; count ------- diff --git a/src/test/regress/expected/ce_drop_schema.out b/src/test/regress/expected/ce_drop_schema.out index 8981f15b5..51d46a86f 100644 --- a/src/test/regress/expected/ce_drop_schema.out +++ b/src/test/regress/expected/ce_drop_schema.out @@ -10,8 +10,8 @@ CREATE CLIENT MASTER KEY cmk1 WITH ( KEY_STORE = gs_ktool , KEY_PATH = "gs_ktool CREATE COLUMN ENCRYPTION KEY cek1 WITH VALUES (CLIENT_MASTER_KEY = cmk1, ALGORITHM = AEAD_AES_256_CBC_HMAC_SHA256); DROP SCHEMA ce_drop_schema CASCADE; NOTICE: drop cascades to 2 other objects -DETAIL: drop cascades to global setting: cmk1 -drop cascades to column setting: cek1 +DETAIL: drop cascades to client master key: cmk1 +drop cascades to column encryption key: cek1 SHOW SEARCH_PATH; search_path ---------------- @@ -19,7 +19,7 @@ SHOW SEARCH_PATH; (1 row) DROP CLIENT MASTER KEY cmk1 CASCADE; -ERROR: schema "ce_drop_schema" does not exist +ERROR: client master key "cmk1" does not exist RESET search_path; SHOW SEARCH_PATH; search_path diff --git a/src/test/regress/expected/ce_encoding_test.out b/src/test/regress/expected/ce_encoding_test.out index 59f217e5d..92afb73f1 100644 --- a/src/test/regress/expected/ce_encoding_test.out +++ b/src/test/regress/expected/ce_encoding_test.out @@ -23,7 +23,7 @@ SELECT * FROM 信息; DROP TABLE 信息; DROP CLIENT MASTER KEY mycmk CASCADE; -NOTICE: drop cascades to column setting: mycek +NOTICE: drop cascades to column encryption key: mycek \! gs_ktool -d all DELETE ALL 1 diff --git a/src/test/regress/expected/ce_escaping.out b/src/test/regress/expected/ce_escaping.out index 98475afdf..d9a738324 100644 --- a/src/test/regress/expected/ce_escaping.out +++ b/src/test/regress/expected/ce_escaping.out @@ -29,7 +29,7 @@ select * from ce_customer where first_name = 'Ido''s'; drop table ce_customer; DROP CLIENT MASTER KEY mycmk CASCADE; -NOTICE: drop cascades to column setting: mycek +NOTICE: drop cascades to column encryption key: mycek \! gs_ktool -d all DELETE ALL 1 diff --git a/src/test/regress/expected/ce_foreign_key.out b/src/test/regress/expected/ce_foreign_key.out index 7859a0e05..b032e98f9 100644 --- a/src/test/regress/expected/ce_foreign_key.out +++ b/src/test/regress/expected/ce_foreign_key.out @@ -5,7 +5,7 @@ DELETE ALL GENERATE 1 DROP CLIENT MASTER KEY MyCMK CASCADE; -ERROR: global setting "mycmk" does not exist +ERROR: client master key "mycmk" does not exist CREATE CLIENT MASTER KEY MyCMK WITH ( KEY_STORE = gs_ktool , KEY_PATH = "gs_ktool/1" , ALGORITHM = AES_256_CBC); CREATE COLUMN ENCRYPTION KEY MyCEK WITH VALUES (CLIENT_MASTER_KEY = MyCMK, ALGORITHM = AEAD_AES_256_CBC_HMAC_SHA256); CREATE COLUMN ENCRYPTION KEY MyCEK2 WITH VALUES (CLIENT_MASTER_KEY = MyCMK, ALGORITHM = AEAD_AES_256_CBC_HMAC_SHA256); @@ -88,7 +88,7 @@ INSERT INTO so_items_a VALUES (10001, 1, 1001, 100, 37.28); INSERT INTO so_items_a VALUES (10002, 6, 1001, 100, 37.28); INSERT INTO so_items_a VALUES (10001, 1, 1001, 110, 36.28); ERROR: duplicate key value violates unique constraint "so_items_a_pkey" -DETAIL: Key (item_id, so_id)=(10001, \x01958779ab9b626f212ebc5d9241d04f0c88005c6cbf99564bddca989a38d1adab506fdb2931000000582af1fa29678ee3a030e0a5ab415d696c2a3f8e309926305ca283a28658d6ad) already exists. +--?.* SELECT * from so_items_a ORDER BY item_id; item_id | so_id | product_id | qty | net_price ---------+-------+------------+-----+----------- @@ -102,7 +102,7 @@ ERROR: insert or update on table "so_items_c" violates foreign key constraint " DETAIL: Key (so_id)=(6) is not present in table "so_headers". INSERT INTO so_items_c VALUES (10001, 1, 1011, 101, 36.28); ERROR: duplicate key value violates unique constraint "so_items_c_pkey" -DETAIL: Key (item_id, so_id)=(10001, \x01958779ab9b626f212ebc5d9241d04f0c88005c6cbf99564bddca989a38d1adab506fdb2931000000582af1fa29678ee3a030e0a5ab415d696c2a3f8e309926305ca283a28658d6ad) already exists. +--?.* SELECT * from so_items_c ORDER BY item_id; item_id | so_id | product_id | qty | net_price ---------+-------+------------+-----+----------- @@ -156,8 +156,8 @@ DROP TABLE payments; DROP TABLE so_headers; DROP CLIENT MASTER KEY MyCMK CASCADE; NOTICE: drop cascades to 2 other objects -DETAIL: drop cascades to column setting: mycek -drop cascades to column setting: mycek2 +DETAIL: drop cascades to column encryption key: mycek +drop cascades to column encryption key: mycek2 \! gs_ktool -d all DELETE ALL 1 diff --git a/src/test/regress/expected/ce_insert_columnstore.out b/src/test/regress/expected/ce_insert_columnstore.out index e6ae3fdcb..a037b09dc 100644 --- a/src/test/regress/expected/ce_insert_columnstore.out +++ b/src/test/regress/expected/ce_insert_columnstore.out @@ -5,7 +5,7 @@ DELETE ALL GENERATE 1 DROP CLIENT MASTER KEY IF EXISTS MyCMK CASCADE; -NOTICE: global setting "mycmk" does not exist +NOTICE: client master key "mycmk" does not exist CREATE CLIENT MASTER KEY MyCMK WITH ( KEY_STORE = gs_ktool , KEY_PATH = "gs_ktool/1" , ALGORITHM = AES_256_CBC); CREATE COLUMN ENCRYPTION KEY MyCEK WITH VALUES (CLIENT_MASTER_KEY = MyCMK, ALGORITHM = AEAD_AES_256_CBC_HMAC_SHA256); CREATE TABLE IF NOT EXISTS t_varchar(id INT, name varchar(50) ENCRYPTED WITH (COLUMN_ENCRYPTION_KEY = MyCEK, ENCRYPTION_TYPE = DETERMINISTIC)) with (orientation=column); diff --git a/src/test/regress/expected/ce_join.out b/src/test/regress/expected/ce_join.out index d26ac7359..cb30df5d1 100644 --- a/src/test/regress/expected/ce_join.out +++ b/src/test/regress/expected/ce_join.out @@ -415,8 +415,8 @@ DROP TABLE basket_c; DROP TABLE basket_d; DROP CLIENT MASTER KEY MyCMK CASCADE; NOTICE: drop cascades to 2 other objects -DETAIL: drop cascades to column setting: mycek -drop cascades to column setting: mycek1 +DETAIL: drop cascades to column encryption key: mycek +drop cascades to column encryption key: mycek1 \! gs_ktool -d all DELETE ALL 1 diff --git a/src/test/regress/expected/ce_kt_invalid_input.out b/src/test/regress/expected/ce_kt_invalid_input.out index a4c75f6c1..dceb7f78d 100644 --- a/src/test/regress/expected/ce_kt_invalid_input.out +++ b/src/test/regress/expected/ce_kt_invalid_input.out @@ -5,85 +5,84 @@ DELETE ALL \! rm -rf export_import_ksf && mkdir export_import_ksf -- genereate with set invalid len (support [1, 112]) \! gs_ktool -g -l -1 -ERROR: the key len -1 should be in range [1, 112]. +ERROR: failed to check user input, this input '-1' is expected to be an positive integer. \! gs_ktool -g -l 0 -ERROR: the key len 0 should be in range [1, 112]. +ERROR: failed to check user input, the key len '0' should be in range [16, 112]. +\! gs_ktool -g -l 15 +ERROR: failed to check user input, the key len '15' should be in range [16, 112]. \! gs_ktool -g -l 113 -ERROR: the key len 113 should be in range [1, 112]. +ERROR: failed to check user input, the key len '113' should be in range [16, 112]. \! gs_ktool -g -l 999999999 -ERROR: the key len 999999999 should be in range [1, 112]. +ERROR: failed to check user input, the key len '999999999' should be in range [16, 112]. \! gs_ktool -g -l . -ERROR: the key len . should be in range [1, 112]. +ERROR: failed to check user input, this input '.' is expected to be an positive integer. \! gs_ktool -g -l g -ERROR: the key len g should be in range [1, 112]. +ERROR: failed to check user input, this input 'g' is expected to be an positive integer. \! gs_ktool -g -l gs_ktool -ERROR: the key len gs_ktool should be in range [1, 112]. +ERROR: failed to check user input, this input 'gs_ktool' is expected to be an positive integer. \! gs_ktool -g -l 32g -GENERATE -1 +ERROR: failed to check user input, this input '32g' is expected to be an positive integer. \! gs_ktool -g -l gs_ktool... -ERROR: the key len gs_ktool... should be in range [1, 112]. +ERROR: failed to check user input, this input 'gs_ktool...' is expected to be an positive integer. \! gs_ktool -g -l gs_ktool: option requires an argument -- 'l' -HINT: failed to parse command, you can use "-h" or "-?" to get help info. +HINT: try '-h' or '-?' for more infromation. \! gs_ktool -g 32 -ERROR: unknown option "32". -HINT: failed to parse command, you can use "-h" or "-?" to get help info. +HINT: try '-h' or '-?' for more infromation. \! gs_ktool -g -l -l 32 -ERROR: the key len -l should be in range [1, 112]. +ERROR: failed to check user input, this input '-l' is expected to be an positive integer. \! gs_ktool -g -d gs_ktool: option requires an argument -- 'd' -HINT: failed to parse command, you can use "-h" or "-?" to get help info. +HINT: try '-h' or '-?' for more infromation. \! gs_ktool -g -s all -ERROR: unrecognized option combination. -HINT: failed to parse command, you can use "-h" or "-?" to get help info. +ERROR: failed to parse user input, unrecognized option combination. +HINT: try '-h' or '-?' for more infromation. \! gs_ktool -d all && gs_ktool -g && gs_ktool -g DELETE ALL - 1 + GENERATE 1 GENERATE 2 -- delete nonexistent cmk \! gs_ktool -d 0 -ERROR: the key id 0 should be in range [1, 4095]. +ERROR: failed to check user input, the key id '0' should be in range [1, 4095]. \! gs_ktool -d -1 -ERROR: the key id -1 should be in range [1, 4095]. +ERROR: failed to check user input, this input '-1' is expected to be an positive integer. \! gs_ktool -d 3 -ERROR: failed to delete the CMK which id = 3. +ERROR: failed to delete cmk, which id is '3'. \! gs_ktool -d 100 -ERROR: failed to delete the CMK which id = 100. +ERROR: failed to delete cmk, which id is '100'. \! gs_ktool -d 1g -DELETE -1 +ERROR: failed to check user input, this input '1g' is expected to be an positive integer. \! gs_ktool -d gs_ktool -ERROR: the key id gs_ktool should be in range [1, 4095]. +ERROR: failed to check user input, this input 'gs_ktool' is expected to be an positive integer. \! gs_ktool -d .. -ERROR: the key id .. should be in range [1, 4095]. +ERROR: failed to check user input, this input '..' is expected to be an positive integer. \! gs_ktool -d 1. -ERROR: failed to delete the CMK which id = 1.. +ERROR: failed to check user input, this input '1.' is expected to be an positive integer. \! gs_ktool -d -d -ERROR: the key id -d should be in range [1, 4095]. +ERROR: failed to check user input, this input '-d' is expected to be an positive integer. \! gs_ktool -d -g -ERROR: the key id -g should be in range [1, 4095]. +ERROR: failed to check user input, this input '-g' is expected to be an positive integer. \! gs_ktool -d 1 -g -ERROR: unrecognized option combination. -HINT: failed to parse command, you can use "-h" or "-?" to get help info. +ERROR: failed to parse user input, unrecognized option combination. +HINT: try '-h' or '-?' for more infromation. \! gs_ktool -d -s 1 -ERROR: the key id -s should be in range [1, 4095]. +ERROR: failed to check user input, this input '-s' is expected to be an positive integer. \! gs_ktool -d all0 -ERROR: the key id all0 should be in range [1, 4095]. +ERROR: failed to check user input, this input 'all0' is expected to be an positive integer. \! gs_ktool -d al -ERROR: the key id al should be in range [1, 4095]. +ERROR: failed to check user input, this input 'al' is expected to be an positive integer. \! gs_ktool -d gs_ktool: option requires an argument -- 'd' -HINT: failed to parse command, you can use "-h" or "-?" to get help info. +HINT: try '-h' or '-?' for more infromation. \! gs_ktool -d all && gs_ktool -d 1 DELETE ALL - 2 -ERROR: failed to delete the CMK which id = 1. + 1 2 +ERROR: failed to delete cmk, which id is '1'. \! gs_ktool -d 0 -ERROR: the key id 0 should be in range [1, 4095]. +ERROR: failed to check user input, the key id '0' should be in range [1, 4095]. \! gs_ktool -d all && gs_ktool -g && gs_ktool -g DELETE ALL @@ -94,40 +93,35 @@ GENERATE -- select nonexistent cmk \! gs_ktool -s gs_ktool: option requires an argument -- 's' -HINT: failed to parse command, you can use "-h" or "-?" to get help info. +HINT: try '-h' or '-?' for more infromation. \! gs_ktool -s -1 -ERROR: the key id -1 should be in range [1, 4095]. +ERROR: failed to check user input, this input '-1' is expected to be an positive integer. \! gs_ktool -s 0 -ERROR: the key id 0 should be in range [1, 4095]. +ERROR: failed to check user input, the key id '0' should be in range [1, 4095]. \! gs_ktool -s 3 -ERROR: failed to select CMK info which id = 3. -\! gs_ktool -s 9999999 -ERROR: the key id 9999999 should be in range [1, 4095]. -\! gs_ktool -s 1. SELECT - cmk id | cmk length | create date UTC | create time UTC | expired date UTC - -----------+------------+-----------------+-----------------+---------------- ---? 1 | 32 |.* -(1 Rows) +no cmk found. +\! gs_ktool -s 9999999 +ERROR: failed to check user input, the key id '9999999' should be in range [1, 4095]. +\! gs_ktool -s 1. +ERROR: failed to check user input, this input '1.' is expected to be an positive integer. \! gs_ktool -s @ -ERROR: the key id @ should be in range [1, 4095]. +ERROR: failed to check user input, this input '@' is expected to be an positive integer. \! gs_ktool -s gs_ktool -ERROR: the key id gs_ktool should be in range [1, 4095]. +ERROR: failed to check user input, this input 'gs_ktool' is expected to be an positive integer. \! gs_ktool -s all1 -ERROR: the key id all1 should be in range [1, 4095]. +ERROR: failed to check user input, this input 'all1' is expected to be an positive integer. \! gs_ktool -s all_ -ERROR: the key id all_ should be in range [1, 4095]. +ERROR: failed to check user input, this input 'all_' is expected to be an positive integer. \! gs_ktool -s -g -ERROR: the key id -g should be in range [1, 4095]. +ERROR: failed to check user input, this input '-g' is expected to be an positive integer. \! gs_ktool -s -s -ERROR: the key id -s should be in range [1, 4095]. +ERROR: failed to check user input, this input '-s' is expected to be an positive integer. \! gs_ktool -s 1 -s 1 -ERROR: too many args : "-s". - -->ERROR: unrecognized option combination. -HINT: failed to parse command, you can use "-h" or "-?" to get help info. +ERROR: failed to parse user input, too many options : '-s'. \! gs_ktool -s all -g -ERROR: unrecognized option combination. -HINT: failed to parse command, you can use "-h" or "-?" to get help info. +ERROR: failed to parse user input, unrecognized option combination. +HINT: try '-h' or '-?' for more infromation. \! rm -f ./export_import_ksf/export_ksf.dat && gs_ktool -d all && gs_ktool -g && gs_ktool -g DELETE ALL 1 2 @@ -138,26 +132,26 @@ GENERATE -- exprot cmk err \! gs_ktool -e -f ./export_import_ksf/export_ksf_1.dat -p gs_ktool: option requires an argument -- 'p' -HINT: failed to parse command, you can use "-h" or "-?" to get help info. +HINT: try '-h' or '-?' for more infromation. \! gs_ktool -e -f ./export_import_ksf/export_ksf_2.dat -p shrot_1 -WARNING:it is safer to enter password interactively than use '-p'. -ERROR: the password length should be in range [8, 256]. +WARNING:it is safer to enter password interactively than use '-p' +ERROR: failed to check user input, the password length should be in range [8, 256). \! gs_ktool -e -f ./export_import_ksf/export_ksf_3.dat -p only_two_type -WARNING:it is safer to enter password interactively than use '-p'. -ERROR: the password should contain 3 types of characters. +WARNING:it is safer to enter password interactively than use '-p' +ERROR: failed to check user input, the password should contain 3 types of characters. \! gs_ktool -e -f ./export_import_ksf/export_ksf_4.dat -p only2type -WARNING:it is safer to enter password interactively than use '-p'. -ERROR: the password should contain 3 types of characters. +WARNING:it is safer to enter password interactively than use '-p' +ERROR: failed to check user input, the password should contain 3 types of characters. \! gs_ktool -e -p loss_para_f_1 -WARNING:it is safer to enter password interactively than use '-p'. +WARNING:it is safer to enter password interactively than use '-p' SAFE EXPORT ---?.* +path configured in gs_ktool_conf.ini \! gs_ktool -e -f ./export_import_ksf/export_ksf_5.dat -p unexpected_para_1 -g -ERROR: the number of parameters exceeds the upper limit. +ERROR: failed to parse user input, the number of parameters exceeds the upper limit. \! gs_ktool -e -f ./export_import_ksf/export_ksf_6.dat -p -p two_para_p_1 -ERROR: the number of parameters exceeds the upper limit. +ERROR: failed to parse user input, the number of parameters exceeds the upper limit. \! gs_ktool -e -f ./export_import_ksf/export_ksf_7.dat -p two_para_p_1 -p two_para_p_1 -ERROR: the number of parameters exceeds the upper limit. +ERROR: failed to parse user input, the number of parameters exceeds the upper limit. \! ls ./export_import_ksf/ \! rm -f ./export_import_ksf/export_ksf.dat && gs_ktool -d all DELETE ALL @@ -165,125 +159,130 @@ DELETE ALL \! gs_ktool -g && gs_ktool -e -f ./export_import_ksf/import_ksf.dat -p gauss_1234 GENERATE 1 -WARNING:it is safer to enter password interactively than use '-p'. +WARNING:it is safer to enter password interactively than use '-p' SAFE EXPORT ./export_import_ksf/import_ksf.dat -- import cmk err \! gs_ktool -i -f ./export_import_ksf/import_ksf.dat -p gs_ktool: option requires an argument -- 'p' -HINT: failed to parse command, you can use "-h" or "-?" to get help info. +HINT: try '-h' or '-?' for more infromation. \! gs_ktool -i -f ./export_import_ksf/import_ksf.dat -p err_passwd_1234 -WARNING:it is safer to enter password interactively than use '-p'. -ERROR: failed to import CMKs from "./export_import_ksf/import_ksf.dat". +WARNING:it is safer to enter password interactively than use '-p' +ERROR: failed to import cmk, please make sure the key store file './export_import_ksf/import_ksf.dat' is legal and the password is correct. \! gs_ktool -i -f ./export_import_ksf/import_ksf.dat -p gauss_1234_ -WARNING:it is safer to enter password interactively than use '-p'. -ERROR: failed to import CMKs from "./export_import_ksf/import_ksf.dat". +WARNING:it is safer to enter password interactively than use '-p' +ERROR: failed to import cmk, please make sure the key store file './export_import_ksf/import_ksf.dat' is legal and the password is correct. \! gs_ktool -i -f ./export_import_ksf/import_ksf.dat -p gauss_12 -WARNING:it is safer to enter password interactively than use '-p'. -ERROR: failed to import CMKs from "./export_import_ksf/import_ksf.dat". +WARNING:it is safer to enter password interactively than use '-p' +ERROR: failed to import cmk, please make sure the key store file './export_import_ksf/import_ksf.dat' is legal and the password is correct. \! gs_ktool -i -f ./export_import_ksf/import_ksf.dat -p short_1 -WARNING:it is safer to enter password interactively than use '-p'. -ERROR: the password length should be in range [8, 256]. +WARNING:it is safer to enter password interactively than use '-p' +ERROR: failed to import cmk, please make sure the key store file './export_import_ksf/import_ksf.dat' is legal and the password is correct. \! gs_ktool -i -f -p gauss_1234 -ERROR: unknown option "-p". -HINT: failed to parse command, you can use "-h" or "-?" to get help info. +HINT: try '-h' or '-?' for more infromation. \! gs_ktool -i -f ./export_import_ksf/import_ksf.dat -p gauss_1234 -g -ERROR: the number of parameters exceeds the upper limit. +ERROR: failed to parse user input, the number of parameters exceeds the upper limit. \! gs_ktool -d all DELETE ALL 1 -- select rk err \! gs_ktool -s -R -ERROR: the key id -R should be in range [1, 4095]. +ERROR: failed to check user input, this input '-R' is expected to be an positive integer. \! gs_ktool -R -s 0 -HINT: failed to parse command, you can use "-h" or "-?" to get help info. +ERROR: failed to parse user input, unrecognized root key management option combination. +HINT: try '-h' or '-?' for more infromation. \! gs_ktool -R -s 1 -HINT: failed to parse command, you can use "-h" or "-?" to get help info. +ERROR: failed to parse user input, unrecognized root key management option combination. +HINT: try '-h' or '-?' for more infromation. \! gs_ktool -R -s -s -HINT: failed to parse command, you can use "-h" or "-?" to get help info. +ERROR: failed to parse user input, unrecognized root key management option combination. +HINT: try '-h' or '-?' for more infromation. \! gs_ktool -R -g gs_ktool: invalid option -- 'g' -HINT: failed to parse command, you can use "-h" or "-?" to get help info. +HINT: try '-h' or '-?' for more infromation. -- update rk err \! gs_ktool -R -u 0 -HINT: failed to parse command, you can use "-h" or "-?" to get help info. +ERROR: failed to parse user input, unrecognized root key management option combination. +HINT: try '-h' or '-?' for more infromation. \! gs_ktool -R -u -u -HINT: failed to parse command, you can use "-h" or "-?" to get help info. +ERROR: failed to parse user input, unrecognized root key management option combination. +HINT: try '-h' or '-?' for more infromation. \! gs_ktool -R -R -u -HINT: failed to parse command, you can use "-h" or "-?" to get help info. +ERROR: failed to parse user input, unrecognized root key management option combination. +HINT: try '-h' or '-?' for more infromation. -- print help \! gs_ktool -h -g HELP -Description gs_ktool is a CMK(Client Master Key) & RK(Root Key) management tool. +Description: gs_ktool is a CMK(Client Master Key) & RK(Root Key) management tool. Usage: - ./gs_ktool [OPTION] [[CMK_ID] "all" [FILE] [FILE_PASSWD] ...] + gs_ktool [OPTION] [[CMK_ID] "all" [FILE] [FILE_PASSWD] ...] General options: - -v --version Select gs_ktool version. - -h --help Select help info. - -u --uninstall Uninstall gs_ktool and delete all keys and files. + -v Select gs_ktool version. + -h/-? Select help info. CMK management options: - -g --generateCMK Generate a CMK. - -d --deleteCMK Delete a CMK or delete all. - -s --selectCMK Select a CMK info or select all. - -e --exportCMK Export all CMKs to ksf, use '-f' to set export file, use '-p' to set password. - -i --importCMK Import all CMKs from ksf, use '-f' to specify import file, use '-p' to specify password. - -f --file Set or specify key store file while exporting or importing all keys. - -p --password Set or specify the passwd of key store file while exporting or importing all keys. + -g Generate a CMK, can use '-l' to set key length. + -l Set the key length while generating CMK. + -d Delete specified CMK or delete all. + -s Select specified CMK info or select all. + -e Export all CMKs to ksf, can use '-f' to set export file, can use '-p' to set password. + -i Import all CMKs from ksf, should use '-f' to specify import file, can use '-p' to specify password. + -f Set or specify key store file while exporting or importing all keys. + -p Set or specify the password of key store file while exporting or importing all keys. RK management options: - -R -s --selectRK Select RK info. - -R -u --updateRK Update RK. + -R -s Select RK info. + -R -u Update RK. \! gs_ktool -h -h HELP -Description gs_ktool is a CMK(Client Master Key) & RK(Root Key) management tool. +Description: gs_ktool is a CMK(Client Master Key) & RK(Root Key) management tool. Usage: - ./gs_ktool [OPTION] [[CMK_ID] "all" [FILE] [FILE_PASSWD] ...] + gs_ktool [OPTION] [[CMK_ID] "all" [FILE] [FILE_PASSWD] ...] General options: - -v --version Select gs_ktool version. - -h --help Select help info. - -u --uninstall Uninstall gs_ktool and delete all keys and files. + -v Select gs_ktool version. + -h/-? Select help info. CMK management options: - -g --generateCMK Generate a CMK. - -d --deleteCMK Delete a CMK or delete all. - -s --selectCMK Select a CMK info or select all. - -e --exportCMK Export all CMKs to ksf, use '-f' to set export file, use '-p' to set password. - -i --importCMK Import all CMKs from ksf, use '-f' to specify import file, use '-p' to specify password. - -f --file Set or specify key store file while exporting or importing all keys. - -p --password Set or specify the passwd of key store file while exporting or importing all keys. + -g Generate a CMK, can use '-l' to set key length. + -l Set the key length while generating CMK. + -d Delete specified CMK or delete all. + -s Select specified CMK info or select all. + -e Export all CMKs to ksf, can use '-f' to set export file, can use '-p' to set password. + -i Import all CMKs from ksf, should use '-f' to specify import file, can use '-p' to specify password. + -f Set or specify key store file while exporting or importing all keys. + -p Set or specify the password of key store file while exporting or importing all keys. RK management options: - -R -s --selectRK Select RK info. - -R -u --updateRK Update RK. + -R -s Select RK info. + -R -u Update RK. \! gs_ktool -h 0 HELP -Description gs_ktool is a CMK(Client Master Key) & RK(Root Key) management tool. +Description: gs_ktool is a CMK(Client Master Key) & RK(Root Key) management tool. Usage: - ./gs_ktool [OPTION] [[CMK_ID] "all" [FILE] [FILE_PASSWD] ...] + gs_ktool [OPTION] [[CMK_ID] "all" [FILE] [FILE_PASSWD] ...] General options: - -v --version Select gs_ktool version. - -h --help Select help info. - -u --uninstall Uninstall gs_ktool and delete all keys and files. + -v Select gs_ktool version. + -h/-? Select help info. CMK management options: - -g --generateCMK Generate a CMK. - -d --deleteCMK Delete a CMK or delete all. - -s --selectCMK Select a CMK info or select all. - -e --exportCMK Export all CMKs to ksf, use '-f' to set export file, use '-p' to set password. - -i --importCMK Import all CMKs from ksf, use '-f' to specify import file, use '-p' to specify password. - -f --file Set or specify key store file while exporting or importing all keys. - -p --password Set or specify the passwd of key store file while exporting or importing all keys. + -g Generate a CMK, can use '-l' to set key length. + -l Set the key length while generating CMK. + -d Delete specified CMK or delete all. + -s Select specified CMK info or select all. + -e Export all CMKs to ksf, can use '-f' to set export file, can use '-p' to set password. + -i Import all CMKs from ksf, should use '-f' to specify import file, can use '-p' to specify password. + -f Set or specify key store file while exporting or importing all keys. + -p Set or specify the password of key store file while exporting or importing all keys. RK management options: - -R -s --selectRK Select RK info. - -R -u --updateRK Update RK. + -R -s Select RK info. + -R -u Update RK. -- print version \! gs_ktool -v -v VERSION @@ -293,7 +292,7 @@ VERSION gs_ktool V1.0.0 || KMC V3.0.0.SPC005 \! gs_ktool -V gs_ktool: invalid option -- 'V' -HINT: failed to parse command, you can use "-h" or "-?" to get help info. +HINT: try '-h' or '-?' for more infromation. -- uninstall gs_ktool (cannot support to test this command) -- \! gs_ktool -u -u -- clean after test diff --git a/src/test/regress/expected/ce_kt_key_manage.out b/src/test/regress/expected/ce_kt_key_manage.out index 1f80010aa..a67100ffe 100644 --- a/src/test/regress/expected/ce_kt_key_manage.out +++ b/src/test/regress/expected/ce_kt_key_manage.out @@ -1,7 +1,7 @@ -- clean before test \! gs_ktool -d all -NOTICE: failed to find existed log file, so we will create it. -NOTICE: failed to find existed key store file, so we will create it. +--?NOTICE: created new log file :.* +--?NOTICE: created new key store file :.* DELETE ALL \! rm -rf export_import_ksf && mkdir export_import_ksf @@ -17,17 +17,16 @@ GENERATE 3 -- generate cmk with set len \! gs_ktool -g -l 1 -GENERATE -4 +ERROR: failed to check user input, the key len '1' should be in range [16, 112]. \! gs_ktool -g -l 32 GENERATE -5 +4 \! gs_ktool -g -l 99 GENERATE -6 +5 \! gs_ktool -g -l 112 GENERATE -7 +6 -- select cmk \! gs_ktool -s 1 SELECT @@ -41,11 +40,11 @@ SELECT -----------+------------+-----------------+-----------------+---------------- --? 2 | 32 |.* (1 Rows) -\! gs_ktool -s 7 +\! gs_ktool -s 6 SELECT cmk id | cmk length | create date UTC | create time UTC | expired date UTC -----------+------------+-----------------+-----------------+---------------- ---? 7 | 112 |.* +--? 6 | 112 |.* (1 Rows) \! gs_ktool -s all SELECT ALL @@ -54,23 +53,22 @@ SELECT ALL --? 1 | 32 |.* --? 2 | 32 |.* --? 3 | 32 |.* ---? 4 | 1 |.* ---? 5 | 32 |.* ---? 6 | 99 |.* ---? 7 | 112 |.* -(7 Rows) +--? 4 | 32 |.* +--? 5 | 99 |.* +--? 6 | 112 |.* +(6 Rows) -- delete cmk (&& generate to be deleted) \! gs_ktool -d 3 DELETE 3 -\! gs_ktool -d 7 +\! gs_ktool -d 6 DELETE -7 +6 \! gs_ktool -g && gs_ktool -d all GENERATE -7 +6 DELETE ALL - 1 2 4 5 6 7 + 1 2 4 5 6 \! gs_ktool -g && gs_ktool -d all && gs_ktool -d all GENERATE 1 @@ -91,36 +89,34 @@ GENERATE 3 -- export cmk \! gs_ktool -e -p gs_ktool_123 -WARNING:it is safer to enter password interactively than use '-p'. +WARNING:it is safer to enter password interactively than use '-p' SAFE EXPORT ---?.* +path configured in gs_ktool_conf.ini \! gs_ktool -e -f ./export_import_ksf/export_ksf_1.dat -p g...123.. -WARNING:it is safer to enter password interactively than use '-p'. +WARNING:it is safer to enter password interactively than use '-p' SAFE EXPORT ./export_import_ksf/export_ksf_1.dat \! gs_ktool -e -f ./export_import_ksf/export_ksf_2.dat -p GGGGG...1 -WARNING:it is safer to enter password interactively than use '-p'. +WARNING:it is safer to enter password interactively than use '-p' SAFE EXPORT ./export_import_ksf/export_ksf_2.dat -- import cmk \! gs_ktool -i -f ./export_import_ksf/export_ksf_2.dat -p GGGGG...1 -WARNING:it is safer to enter password interactively than use '-p'. +WARNING:it is safer to enter password interactively than use '-p' SAFE IMPORT ./export_import_ksf/export_ksf_2.dat cmk id | cmk length | create date UTC | create time UTC | expired date UTC -----------+------------+-----------------+-----------------+---------------- ---? 1 | 32 | .* +--? 1 | 32 |.* --? 2 | 32 |.* --? 3 | 32 |.* (3 Rows) -- select rk \! gs_ktool -R -s -SELECT ROOTKEY create date UTC | create time UTC | expired date UTC ----------------+-----------------+---------------- --?.* \! gs_ktool -R -s -SELECT ROOTKEY create date UTC | create time UTC | expired date UTC ----------------+-----------------+---------------- --?.* @@ -136,52 +132,51 @@ gs_ktool V1.0.0 || KMC V3.0.0.SPC005 -- print help \! gs_ktool -h HELP -Description gs_ktool is a CMK(Client Master Key) & RK(Root Key) management tool. +Description: gs_ktool is a CMK(Client Master Key) & RK(Root Key) management tool. Usage: - ./gs_ktool [OPTION] [[CMK_ID] "all" [FILE] [FILE_PASSWD] ...] + gs_ktool [OPTION] [[CMK_ID] "all" [FILE] [FILE_PASSWD] ...] General options: - -v --version Select gs_ktool version. - -h --help Select help info. - -u --uninstall Uninstall gs_ktool and delete all keys and files. + -v Select gs_ktool version. + -h/-? Select help info. CMK management options: - -g --generateCMK Generate a CMK. - -d --deleteCMK Delete a CMK or delete all. - -s --selectCMK Select a CMK info or select all. - -e --exportCMK Export all CMKs to ksf, use '-f' to set export file, use '-p' to set password. - -i --importCMK Import all CMKs from ksf, use '-f' to specify import file, use '-p' to specify password. - -f --file Set or specify key store file while exporting or importing all keys. - -p --password Set or specify the passwd of key store file while exporting or importing all keys. + -g Generate a CMK, can use '-l' to set key length. + -l Set the key length while generating CMK. + -d Delete specified CMK or delete all. + -s Select specified CMK info or select all. + -e Export all CMKs to ksf, can use '-f' to set export file, can use '-p' to set password. + -i Import all CMKs from ksf, should use '-f' to specify import file, can use '-p' to specify password. + -f Set or specify key store file while exporting or importing all keys. + -p Set or specify the password of key store file while exporting or importing all keys. RK management options: - -R -s --selectRK Select RK info. - -R -u --updateRK Update RK. + -R -s Select RK info. + -R -u Update RK. \! gs_ktool -? -HELP -Description gs_ktool is a CMK(Client Master Key) & RK(Root Key) management tool. +Description: gs_ktool is a CMK(Client Master Key) & RK(Root Key) management tool. Usage: - ./gs_ktool [OPTION] [[CMK_ID] "all" [FILE] [FILE_PASSWD] ...] + gs_ktool [OPTION] [[CMK_ID] "all" [FILE] [FILE_PASSWD] ...] General options: - -v --version Select gs_ktool version. - -h --help Select help info. - -u --uninstall Uninstall gs_ktool and delete all keys and files. + -v Select gs_ktool version. + -h/-? Select help info. CMK management options: - -g --generateCMK Generate a CMK. - -d --deleteCMK Delete a CMK or delete all. - -s --selectCMK Select a CMK info or select all. - -e --exportCMK Export all CMKs to ksf, use '-f' to set export file, use '-p' to set password. - -i --importCMK Import all CMKs from ksf, use '-f' to specify import file, use '-p' to specify password. - -f --file Set or specify key store file while exporting or importing all keys. - -p --password Set or specify the passwd of key store file while exporting or importing all keys. + -g Generate a CMK, can use '-l' to set key length. + -l Set the key length while generating CMK. + -d Delete specified CMK or delete all. + -s Select specified CMK info or select all. + -e Export all CMKs to ksf, can use '-f' to set export file, can use '-p' to set password. + -i Import all CMKs from ksf, should use '-f' to specify import file, can use '-p' to specify password. + -f Set or specify key store file while exporting or importing all keys. + -p Set or specify the password of key store file while exporting or importing all keys. RK management options: - -R -s --selectRK Select RK info. - -R -u --updateRK Update RK. + -R -s Select RK info. + -R -u Update RK. -- uninstall gs_ktool (cannot support to test this command) -- \! gs_ktool -u -- clean after test diff --git a/src/test/regress/expected/ce_limit.out b/src/test/regress/expected/ce_limit.out index db07ee42e..6e76b0788 100644 --- a/src/test/regress/expected/ce_limit.out +++ b/src/test/regress/expected/ce_limit.out @@ -48,7 +48,7 @@ SELECT * from t_num order by id limit 5 offset 3; DROP TABLE t_num; DROP CLIENT MASTER KEY MyCMK CASCADE; -NOTICE: drop cascades to column setting: mycek +NOTICE: drop cascades to column encryption key: mycek \! gs_ktool -d all DELETE ALL 1 diff --git a/src/test/regress/expected/ce_merge_into.out b/src/test/regress/expected/ce_merge_into.out index 44ab1a767..783b8fe1c 100644 --- a/src/test/regress/expected/ce_merge_into.out +++ b/src/test/regress/expected/ce_merge_into.out @@ -5,7 +5,7 @@ DELETE ALL GENERATE 1 DROP CLIENT MASTER KEY IF EXISTS MergeIntoCMK CASCADE; -NOTICE: global setting "mergeintocmk" does not exist +NOTICE: client master key "mergeintocmk" does not exist CREATE CLIENT MASTER KEY MergeIntoCMK WITH ( KEY_STORE = gs_ktool , KEY_PATH = "gs_ktool/1" , ALGORITHM = AES_256_CBC); CREATE COLUMN ENCRYPTION KEY MergeIntoCEK WITH VALUES (CLIENT_MASTER_KEY = MergeIntoCMK, ALGORITHM = AEAD_AES_256_CBC_HMAC_SHA256); CREATE COLUMN ENCRYPTION KEY MergeIntoCEK1 WITH VALUES (CLIENT_MASTER_KEY = MergeIntoCMK, ALGORITHM = AEAD_AES_256_CBC_HMAC_SHA256); diff --git a/src/test/regress/expected/ce_no_premissions_on_schema.out b/src/test/regress/expected/ce_no_premissions_on_schema.out index aafad9523..bd7d012c0 100644 --- a/src/test/regress/expected/ce_no_premissions_on_schema.out +++ b/src/test/regress/expected/ce_no_premissions_on_schema.out @@ -6,7 +6,7 @@ GENERATE 1 --this test check that user that don't have premission cannot create encryted column on the schema DROP CLIENT MASTER KEY IF EXISTS MyCMK1 CASCADE; -NOTICE: global setting "mycmk1" does not exist +NOTICE: client master key "mycmk1" does not exist -- create another user DROP ROLE IF EXISTS newuser; NOTICE: role "newuser" does not exist, skipping diff --git a/src/test/regress/expected/ce_orderby.out b/src/test/regress/expected/ce_orderby.out index a876f5252..50de6cccf 100644 --- a/src/test/regress/expected/ce_orderby.out +++ b/src/test/regress/expected/ce_orderby.out @@ -8,7 +8,7 @@ GENERATE GENERATE 2 DROP CLIENT MASTER KEY IF EXISTS UnsupportCMK CASCADE; -NOTICE: global setting "unsupportcmk" does not exist +NOTICE: client master key "unsupportcmk" does not exist CREATE CLIENT MASTER KEY UnsupportCMK WITH ( KEY_STORE = gs_ktool , KEY_PATH = "gs_ktool/1" , ALGORITHM = AES_256_CBC); CREATE COLUMN ENCRYPTION KEY UnsupportCEK WITH VALUES (CLIENT_MASTER_KEY = UnsupportCMK, ALGORITHM = AEAD_AES_256_CBC_HMAC_SHA256); CREATE TABLE IF NOT EXISTS table_unsupport(id INT, num int ENCRYPTED WITH (COLUMN_ENCRYPTION_KEY = UnsupportCEK, ENCRYPTION_TYPE = DETERMINISTIC)); @@ -70,6 +70,7 @@ DROP COLUMN ENCRYPTION KEY testns.UnsupportCEK; DROP COLUMN ENCRYPTION KEY public.UnsupportCEK; DROP CLIENT MASTER KEY testns.UnsupportCMK; DROP CLIENT MASTER KEY public.UnsupportCMK; +DROP SCHEMA testns CASCADE; \! gs_ktool -d all DELETE ALL 1 2 diff --git a/src/test/regress/expected/ce_permission_on_keys_schema.out b/src/test/regress/expected/ce_permission_on_keys_schema.out new file mode 100644 index 000000000..b9152a915 --- /dev/null +++ b/src/test/regress/expected/ce_permission_on_keys_schema.out @@ -0,0 +1,203 @@ +\! gs_ktool -d all +DELETE ALL + +\! gs_ktool -g +GENERATE +1 +DROP CLIENT MASTER KEY IF EXISTS MyCMK1 CASCADE; +NOTICE: client master key "mycmk1" does not exist +-- create another user +DROP ROLE IF EXISTS newuser; +NOTICE: role "newuser" does not exist, skipping +CREATE USER newuser PASSWORD 'gauss@123'; +-- create schema +DROP SCHEMA IF EXISTS testns CASCADE; +NOTICE: schema "testns" does not exist, skipping +CREATE SCHEMA testns; +SET search_path to testns; +-- grant privileges on schema (ALL = USAGE, CREATE) +GRANT ALL ON SCHEMA testns TO newuser; +-- CREATE CMK +CREATE CLIENT MASTER KEY MyCMK1 WITH ( KEY_STORE = gs_ktool , KEY_PATH = "gs_ktool/1" , ALGORITHM = AES_256_CBC); +-- CREATE CEK +CREATE COLUMN ENCRYPTION KEY MyCEK1 WITH VALUES (CLIENT_MASTER_KEY = MyCMK1, ALGORITHM = AEAD_AES_256_CBC_HMAC_SHA256); +SET SESSION AUTHORIZATION newuser PASSWORD 'gauss@123'; +SET search_path to testns; +-- SHOULD FAILL - create TABLE using existing MyCEK1 (missing permissions to both MyCEK1 and MyCMK1) +CREATE TABLE acltest1 (x int, x2 varchar(50) ENCRYPTED WITH (COLUMN_ENCRYPTION_KEY = MyCEK1, ENCRYPTION_TYPE = DETERMINISTIC)); +ERROR: permission denied for column encryption key mycek1 +RESET SESSION AUTHORIZATION; +-- add permission to the keys to newuser (ALL = USAGE, DROP) +GRANT USAGE ON COLUMN_ENCRYPTION_KEY MyCEK1 to newuser; +GRANT USAGE ON CLIENT_MASTER_KEY MyCMK1 to newuser; +------------------------- +-- change to new user +------------------------- +SET SESSION AUTHORIZATION newuser PASSWORD 'gauss@123'; +SET search_path to testns; +-- create TABLE +CREATE TABLE acltest1 (x int, x2 varchar(50) ENCRYPTED WITH (COLUMN_ENCRYPTION_KEY = MyCEK1, ENCRYPTION_TYPE = DETERMINISTIC)); +SELECT has_cmk_privilege('newuser', 'testns.MyCMK1', 'USAGE'); + has_cmk_privilege +------------------- + t +(1 row) + +SELECT has_cek_privilege('newuser', 'testns.MyCEK1', 'USAGE'); + has_cek_privilege +------------------- + t +(1 row) + +SELECT has_cmk_privilege('newuser', 'testns.MyCMK1', 'DROP'); + has_cmk_privilege +------------------- + f +(1 row) + +SELECT has_cek_privilege('newuser', 'testns.MyCEK1', 'DROP'); + has_cek_privilege +------------------- + f +(1 row) + +SELECT has_schema_privilege('newuser', 'testns', 'USAGE'); + has_schema_privilege +---------------------- + t +(1 row) + +SELECT has_schema_privilege('newuser', 'testns', 'CREATE'); + has_schema_privilege +---------------------- + t +(1 row) + +SELECT has_table_privilege('newuser', 'acltest1', 'INSERT, SELECT, UPDATE, DELETE, TRUNCATE, TRIGGER'); + has_table_privilege +--------------------- + t +(1 row) + +--check key namespace +SELECT nspname FROM pg_namespace JOIN gs_client_global_keys on pg_namespace.Oid = key_namespace; + nspname +--------- + testns +(1 row) + +SELECT nspname FROM pg_namespace JOIN gs_column_keys on pg_namespace.Oid = key_namespace; + nspname +--------- + testns +(1 row) + +RESET SESSION AUTHORIZATION; +--check key owner +SELECT count(usename) FROM pg_user JOIN gs_client_global_keys on usesysid = key_owner; + count +------- + 1 +(1 row) + +SELECT count(usename) FROM pg_user JOIN gs_column_keys on usesysid = key_owner; + count +------- + 1 +(1 row) + +--check drop cek/cmk if encrypted table exist(false) +DROP COLUMN ENCRYPTION KEY MyCEK1; +ERROR: cannot drop column encryption key: mycek1 because other objects depend on it +DETAIL: encrypted column: x2 depends on column encryption key: mycek1 +HINT: Use DROP ... CASCADE to drop the dependent objects too. +DROP CLIENT MASTER KEY MyCMK1; +ERROR: cannot drop client master key: mycmk1 because other objects depend on it +DETAIL: column encryption key: mycek1 depends on client master key: mycmk1 +encrypted column: x2 depends on column encryption key: mycek1 +HINT: Use DROP ... CASCADE to drop the dependent objects too. +--check drop cek/cmk cascade if encrypted table exist(false) +DROP COLUMN ENCRYPTION KEY MyCEK1 CASCADE; +ERROR: cannot drop column encryption key: mycek1 cascadely because encrypted column depend on it. +HINT: we have to drop encrypted column: x2, ... before drop column encryption key: mycek1 cascadely. +DROP CLIENT MASTER KEY MyCMK1 CASCADE; +ERROR: cannot drop client master key: mycmk1 cascadely because encrypted column depend on it. +HINT: we have to drop encrypted column: x2, ... before drop client master key: mycmk1 cascadely. +--check drop table(success) +DROP TABLE acltest1; +SET SESSION AUTHORIZATION newuser PASSWORD 'gauss@123'; +SET search_path to testns; +--check DROP KEY WITHOUT PREMISSION(false) +DROP COLUMN ENCRYPTION KEY MyCEK1; +ERROR: permission denied for column encryption key mycek1 +DROP CLIENT MASTER KEY MyCMK1; +ERROR: cannot drop client master key: mycmk1 because other objects depend on it +DETAIL: column encryption key: mycek1 depends on client master key: mycmk1 +HINT: Use DROP ... CASCADE to drop the dependent objects too. +--check DELETE KEYS(false) +delete from gs_client_global_keys; +ERROR: permission denied for relation gs_client_global_keys +delete from gs_column_keys; +ERROR: permission denied for relation gs_column_keys +RESET SESSION AUTHORIZATION; +REVOKE USAGE ON COLUMN_ENCRYPTION_KEY MyCEK1 FROM newuser; +REVOKE USAGE ON CLIENT_MASTER_KEY MyCMK1 FROM newuser; +GRANT DROP ON COLUMN_ENCRYPTION_KEY MyCEK1 to newuser; +GRANT DROP ON CLIENT_MASTER_KEY MyCMK1 to newuser; +SELECT has_cmk_privilege('newuser', 'testns.MyCMK1', 'USAGE'); + has_cmk_privilege +------------------- + f +(1 row) + +SELECT has_cek_privilege('newuser', 'testns.MyCEK1', 'USAGE'); + has_cek_privilege +------------------- + f +(1 row) + +SELECT has_cmk_privilege('newuser', 'testns.MyCMK1', 'DROP'); + has_cmk_privilege +------------------- + t +(1 row) + +SELECT has_cek_privilege('newuser', 'testns.MyCEK1', 'DROP'); + has_cek_privilege +------------------- + t +(1 row) + +SET SESSION AUTHORIZATION newuser PASSWORD 'gauss@123'; +SET search_path to testns; +--check DROP KEY WITH PREMISSION(success) +DROP COLUMN ENCRYPTION KEY MyCEK1; +DROP CLIENT MASTER KEY MyCMK1; +RESET SESSION AUTHORIZATION; +--check pg_depend(false) +SELECT exists (SELECT refobjid FROM pg_depend JOIN gs_client_global_keys on gs_client_global_keys.key_namespace = refobjid); + exists +-------- + f +(1 row) + +SET search_path to testns; +CREATE CLIENT MASTER KEY MyCMK1 WITH ( KEY_STORE = gs_ktool , KEY_PATH = "gs_ktool/1" , ALGORITHM = AES_256_CBC); +CREATE COLUMN ENCRYPTION KEY MyCEK1 WITH VALUES (CLIENT_MASTER_KEY = MyCMK1, ALGORITHM = AEAD_AES_256_CBC_HMAC_SHA256); +--check pg_depend(true) +SELECT exists (SELECT refobjid FROM pg_depend JOIN gs_client_global_keys on gs_client_global_keys.key_namespace = refobjid); + exists +-------- + t +(1 row) + +--check drop schema cascade if cek/cmk exist(success) +DROP SCHEMA IF EXISTS testns CASCADE; +NOTICE: drop cascades to 2 other objects +DETAIL: drop cascades to client master key: mycmk1 +drop cascades to column encryption key: mycek1 +DROP SCHEMA IF EXISTS newuser CASCADE; +DROP ROLE IF EXISTS newuser; +\! gs_ktool -d all +DELETE ALL + 1 diff --git a/src/test/regress/expected/ce_premission_on_schema.out b/src/test/regress/expected/ce_premission_on_schema.out index 539ba9ffd..26fdfb6e6 100644 --- a/src/test/regress/expected/ce_premission_on_schema.out +++ b/src/test/regress/expected/ce_premission_on_schema.out @@ -5,7 +5,7 @@ DELETE ALL GENERATE 1 DROP CLIENT MASTER KEY IF EXISTS MyCMK1 CASCADE; -NOTICE: global setting "mycmk1" does not exist +NOTICE: client master key "mycmk1" does not exist -- create another user DROP ROLE IF EXISTS newuser; NOTICE: role "newuser" does not exist, skipping @@ -42,10 +42,10 @@ ERROR: Permission denied to create role. -- create schema DROP SCHEMA IF EXISTS testns CASCADE; NOTICE: drop cascades to 3 other objects -DETAIL: drop cascades to global setting: mycmk1 -drop cascades to column setting: mycek1 +DETAIL: drop cascades to client master key: mycmk1 +drop cascades to column encryption key: mycek1 drop cascades to table acltest1 -ERROR: permission denied for column setting mycek1 +ERROR: permission denied for column encryption key mycek1 CREATE SCHEMA testns; ERROR: permission denied for database regression SET search_path to testns; diff --git a/src/test/regress/expected/ce_premission_on_schema_delete.out b/src/test/regress/expected/ce_premission_on_schema_delete.out index 9cbbf6916..aa731f119 100644 --- a/src/test/regress/expected/ce_premission_on_schema_delete.out +++ b/src/test/regress/expected/ce_premission_on_schema_delete.out @@ -5,14 +5,13 @@ DELETE ALL GENERATE 1 DROP CLIENT MASTER KEY IF EXISTS MyCMK1 CASCADE; -NOTICE: global setting "mycmk1" does not exist +NOTICE: client master key "mycmk1" does not exist -- create another user DROP ROLE IF EXISTS newuser; NOTICE: role "newuser" does not exist, skipping CREATE USER newuser PASSWORD 'gauss@123'; -- create schema DROP SCHEMA IF EXISTS testns CASCADE; -NOTICE: schema "testns" does not exist, skipping CREATE SCHEMA testns; SET search_path to testns; -- grant privileges on schema (ALL = USAGE, CREATE) diff --git a/src/test/regress/expected/ce_premission_on_schema_drop_check_catalogtable.out b/src/test/regress/expected/ce_premission_on_schema_drop_check_catalogtable.out index 89ef49bb0..df4c70a23 100644 --- a/src/test/regress/expected/ce_premission_on_schema_drop_check_catalogtable.out +++ b/src/test/regress/expected/ce_premission_on_schema_drop_check_catalogtable.out @@ -5,7 +5,7 @@ DELETE ALL GENERATE 1 DROP CLIENT MASTER KEY IF EXISTS MyCMK1 CASCADE; -NOTICE: global setting "mycmk1" does not exist +NOTICE: client master key "mycmk1" does not exist -- create another user DROP ROLE IF EXISTS newuser; ERROR: role "newuser" cannot be dropped because some objects depend on it diff --git a/src/test/regress/expected/ce_premission_on_schema_drop_failed.out b/src/test/regress/expected/ce_premission_on_schema_drop_failed.out index 70dd94ad6..5f84d2393 100644 --- a/src/test/regress/expected/ce_premission_on_schema_drop_failed.out +++ b/src/test/regress/expected/ce_premission_on_schema_drop_failed.out @@ -5,7 +5,7 @@ DELETE ALL GENERATE 1 DROP CLIENT MASTER KEY IF EXISTS MyCMK1 CASCADE; -NOTICE: global setting "mycmk1" does not exist +NOTICE: client master key "mycmk1" does not exist -- create another user DROP SCHEMA IF EXISTS newuser CASCADE; NOTICE: schema "newuser" does not exist, skipping @@ -36,7 +36,7 @@ SET SESSION AUTHORIZATION newuser PASSWORD 'gauss@123'; SET search_path to testns; --DROP KEY WITHOUT PREMISSION DROP COLUMN ENCRYPTION KEY MyCEK1; -ERROR: permission denied for column setting mycek1 +ERROR: permission denied for column encryption key mycek1 RESET SESSION AUTHORIZATION; DROP COLUMN ENCRYPTION KEY MyCEK1; DROP CLIENT MASTER KEY MyCMK1; diff --git a/src/test/regress/expected/ce_premission_on_schema_drop_failed_table_exist.out b/src/test/regress/expected/ce_premission_on_schema_drop_failed_table_exist.out index cdb489a71..95ab9b86b 100644 --- a/src/test/regress/expected/ce_premission_on_schema_drop_failed_table_exist.out +++ b/src/test/regress/expected/ce_premission_on_schema_drop_failed_table_exist.out @@ -5,7 +5,7 @@ DELETE ALL GENERATE 1 DROP CLIENT MASTER KEY IF EXISTS MyCMK1 CASCADE; -NOTICE: global setting "mycmk1" does not exist +NOTICE: client master key "mycmk1" does not exist -- create another user DROP ROLE IF EXISTS newuser1; NOTICE: role "newuser1" does not exist, skipping @@ -66,13 +66,13 @@ SELECT has_table_privilege('newuser1', 'acltest1', 'INSERT, SELECT, UPDATE, DELE RESET SESSION AUTHORIZATION; DROP COLUMN ENCRYPTION KEY MyCEK1; -ERROR: cannot drop column setting: mycek1 because other objects depend on it -DETAIL: encrypted column: x2 depends on column setting: mycek1 +ERROR: cannot drop column encryption key: mycek1 because other objects depend on it +DETAIL: encrypted column: x2 depends on column encryption key: mycek1 HINT: Use DROP ... CASCADE to drop the dependent objects too. DROP CLIENT MASTER KEY MyCMK1; -ERROR: cannot drop global setting: mycmk1 because other objects depend on it -DETAIL: column setting: mycek1 depends on global setting: mycmk1 -encrypted column: x2 depends on column setting: mycek1 +ERROR: cannot drop client master key: mycmk1 because other objects depend on it +DETAIL: column encryption key: mycek1 depends on client master key: mycmk1 +encrypted column: x2 depends on column encryption key: mycek1 HINT: Use DROP ... CASCADE to drop the dependent objects too. DROP TABLE acltest1; REVOKE USAGE ON COLUMN_ENCRYPTION_KEY MyCEK1 FROM newuser1; diff --git a/src/test/regress/expected/ce_premission_on_schema_drop_keys_table_exist_casade.out b/src/test/regress/expected/ce_premission_on_schema_drop_keys_table_exist_casade.out index 4572c421d..ef5122c99 100644 --- a/src/test/regress/expected/ce_premission_on_schema_drop_keys_table_exist_casade.out +++ b/src/test/regress/expected/ce_premission_on_schema_drop_keys_table_exist_casade.out @@ -5,7 +5,7 @@ DELETE ALL GENERATE 1 DROP CLIENT MASTER KEY IF EXISTS MyCMK1 CASCADE; -NOTICE: global setting "mycmk1" does not exist +NOTICE: client master key "mycmk1" does not exist -- create another user DROP ROLE IF EXISTS newusr1; NOTICE: role "newusr1" does not exist, skipping @@ -67,23 +67,23 @@ SELECT has_table_privilege('newusr1', 'acltest1', 'INSERT, SELECT, UPDATE, DELET RESET SESSION AUTHORIZATION; DROP COLUMN ENCRYPTION KEY MyCEK1 CASCADE; -ERROR: cannot drop column setting: mycek1 cascadely because encrypted column depend on it. -HINT: we have to drop encrypted column: x2, ... before drop column setting: mycek1 cascadely. +ERROR: cannot drop column encryption key: mycek1 cascadely because encrypted column depend on it. +HINT: we have to drop encrypted column: x2, ... before drop column encryption key: mycek1 cascadely. DROP CLIENT MASTER KEY MyCMK1 CASCADE; -ERROR: cannot drop global setting: mycmk1 cascadely because encrypted column depend on it. -HINT: we have to drop encrypted column: x2, ... before drop global setting: mycmk1 cascadely. +ERROR: cannot drop client master key: mycmk1 cascadely because encrypted column depend on it. +HINT: we have to drop encrypted column: x2, ... before drop client master key: mycmk1 cascadely. DROP TABLE acltest1; DROP CLIENT MASTER KEY MyCMK1 CASCADE; -NOTICE: drop cascades to column setting: mycek1 +NOTICE: drop cascades to column encryption key: mycek1 REVOKE USAGE ON COLUMN_ENCRYPTION_KEY MyCEK1 FROM newusr1; -ERROR: column setting "mycek1" does not exist +ERROR: column encryption key "mycek1" does not exist REVOKE USAGE ON CLIENT_MASTER_KEY MyCMK1 FROM newusr1; -ERROR: global setting "mycmk1" does not exist +ERROR: client master key "mycmk1" does not exist SELECT has_cmk_privilege('newusr1', 'testns.MyCMK1', 'USAGE'); -ERROR: global setting "testns.MyCMK1" does not exist +ERROR: client master key "testns.MyCMK1" does not exist CONTEXT: referenced column: has_cmk_privilege SELECT has_cek_privilege('newusr1', 'testns.MyCEK1', 'USAGE'); -ERROR: column setting "testns.MyCEK1" does not exist +ERROR: column encryption key "testns.MyCEK1" does not exist CONTEXT: referenced column: has_cek_privilege SELECT has_schema_privilege('newusr1', 'testns', 'USAGE'); has_schema_privilege @@ -101,16 +101,16 @@ SELECT has_table_privilege('newusr1', 'acltest1', 'INSERT, SELECT, UPDATE, DELET ERROR: relation "acltest1" does not exist CONTEXT: referenced column: has_table_privilege DROP COLUMN ENCRYPTION KEY IF EXISTS MyCEK1; -NOTICE: column setting "mycek1" does not exist +NOTICE: column encryption key "mycek1" does not exist DROP CLIENT MASTER KEY IF EXISTS MyCMK1; -NOTICE: global setting "mycmk1" does not exist +NOTICE: client master key "mycmk1" does not exist DROP SCHEMA IF EXISTS newusr1 CASCADE; DROP SCHEMA IF EXISTS testns CASCADE; DROP ROLE IF EXISTS newusr1; DROP COLUMN ENCRYPTION KEY MyCEK1 CASCADE; -ERROR: schema "testns" does not exist +ERROR: column encryption key "mycek1" does not exist DROP CLIENT MASTER KEY MyCMK1 CASCADE; -ERROR: schema "testns" does not exist +ERROR: client master key "mycmk1" does not exist \! gs_ktool -d all DELETE ALL 1 diff --git a/src/test/regress/expected/ce_premission_on_schema_drop_remove_key.out b/src/test/regress/expected/ce_premission_on_schema_drop_remove_key.out index e8880c24f..d0e465f33 100644 --- a/src/test/regress/expected/ce_premission_on_schema_drop_remove_key.out +++ b/src/test/regress/expected/ce_premission_on_schema_drop_remove_key.out @@ -5,7 +5,7 @@ DELETE ALL GENERATE 1 DROP CLIENT MASTER KEY IF EXISTS MyCMK1 CASCADE; -NOTICE: global setting "mycmk1" does not exist +NOTICE: client master key "mycmk1" does not exist -- create another user DROP ROLE IF EXISTS newuser; NOTICE: role "newuser" does not exist, skipping @@ -99,8 +99,8 @@ CONTEXT: referenced column: has_table_privilege --DROP CLIENT MASTER KEY MyCMK1; DROP SCHEMA IF EXISTS testns CASCADE; NOTICE: drop cascades to 2 other objects -DETAIL: drop cascades to global setting: mycmk1 -drop cascades to column setting: mycek1 +DETAIL: drop cascades to client master key: mycmk1 +drop cascades to column encryption key: mycek1 select * from gs_client_global_keys; global_key_name | key_namespace | key_owner | key_acl | create_date -----------------+---------------+-----------+---------+------------- diff --git a/src/test/regress/expected/ce_premission_on_schema_namespece.out b/src/test/regress/expected/ce_premission_on_schema_namespece.out index f74ef294d..c21ebff80 100644 --- a/src/test/regress/expected/ce_premission_on_schema_namespece.out +++ b/src/test/regress/expected/ce_premission_on_schema_namespece.out @@ -5,7 +5,7 @@ DELETE ALL GENERATE 1 DROP CLIENT MASTER KEY IF EXISTS MyCMK1 CASCADE; -NOTICE: global setting "mycmk1" does not exist +NOTICE: client master key "mycmk1" does not exist -- create another user DROP ROLE IF EXISTS newuser; NOTICE: role "newuser" does not exist, skipping @@ -72,10 +72,10 @@ ERROR: Permission denied to create role. -- create schema DROP SCHEMA IF EXISTS testns CASCADE; NOTICE: drop cascades to 3 other objects -DETAIL: drop cascades to global setting: mycmk1 -drop cascades to column setting: mycek1 +DETAIL: drop cascades to client master key: mycmk1 +drop cascades to column encryption key: mycek1 drop cascades to table acltest1 -ERROR: permission denied for column setting mycek1 +ERROR: permission denied for column encryption key mycek1 CREATE SCHEMA testns; ERROR: permission denied for database regression SET search_path to testns; diff --git a/src/test/regress/expected/ce_premission_on_schema_owner.out b/src/test/regress/expected/ce_premission_on_schema_owner.out index 76d4d750e..505ff01e7 100644 --- a/src/test/regress/expected/ce_premission_on_schema_owner.out +++ b/src/test/regress/expected/ce_premission_on_schema_owner.out @@ -5,7 +5,7 @@ DELETE ALL GENERATE 1 DROP CLIENT MASTER KEY IF EXISTS MyCMK1 CASCADE; -NOTICE: global setting "mycmk1" does not exist +NOTICE: client master key "mycmk1" does not exist -- create another user DROP ROLE IF EXISTS newuser; NOTICE: role "newuser" does not exist, skipping @@ -72,10 +72,10 @@ ERROR: Permission denied to create role. -- create schema DROP SCHEMA IF EXISTS testns CASCADE; NOTICE: drop cascades to 3 other objects -DETAIL: drop cascades to global setting: mycmk1 -drop cascades to column setting: mycek1 +DETAIL: drop cascades to client master key: mycmk1 +drop cascades to column encryption key: mycek1 drop cascades to table acltest1 -ERROR: permission denied for column setting mycek1 +ERROR: permission denied for column encryption key mycek1 CREATE SCHEMA testns; ERROR: permission denied for database regression SET search_path to testns; diff --git a/src/test/regress/expected/ce_premission_on_schema_pgdepend.out b/src/test/regress/expected/ce_premission_on_schema_pgdepend.out index 5c9e4962f..021c20646 100644 --- a/src/test/regress/expected/ce_premission_on_schema_pgdepend.out +++ b/src/test/regress/expected/ce_premission_on_schema_pgdepend.out @@ -5,7 +5,7 @@ DELETE ALL GENERATE 1 DROP CLIENT MASTER KEY IF EXISTS MyCMK1 CASCADE; -NOTICE: global setting "mycmk1" does not exist +NOTICE: client master key "mycmk1" does not exist -- create another user DROP ROLE IF EXISTS newuser; ERROR: role "newuser" cannot be dropped because some objects depend on it @@ -74,10 +74,10 @@ ERROR: Permission denied to create role. -- create schema DROP SCHEMA IF EXISTS testns CASCADE; NOTICE: drop cascades to 3 other objects -DETAIL: drop cascades to global setting: mycmk1 -drop cascades to column setting: mycek1 +DETAIL: drop cascades to client master key: mycmk1 +drop cascades to column encryption key: mycek1 drop cascades to table acltest1 -ERROR: permission denied for column setting mycek1 +ERROR: permission denied for column encryption key mycek1 CREATE SCHEMA testns; ERROR: permission denied for database regression SET search_path to testns; diff --git a/src/test/regress/expected/ce_premission_on_schema_pgdepend_check.out b/src/test/regress/expected/ce_premission_on_schema_pgdepend_check.out index be8beeec4..8f522f70f 100644 --- a/src/test/regress/expected/ce_premission_on_schema_pgdepend_check.out +++ b/src/test/regress/expected/ce_premission_on_schema_pgdepend_check.out @@ -5,7 +5,7 @@ DELETE ALL GENERATE 1 DROP CLIENT MASTER KEY IF EXISTS MyCMK1 CASCADE; -NOTICE: global setting "mycmk1" does not exist +NOTICE: client master key "mycmk1" does not exist -- create another user DROP ROLE IF EXISTS newuser; NOTICE: role "newuser" does not exist, skipping @@ -72,10 +72,10 @@ ERROR: Permission denied to create role. -- create schema DROP SCHEMA IF EXISTS testns CASCADE; NOTICE: drop cascades to 3 other objects -DETAIL: drop cascades to global setting: mycmk1 -drop cascades to column setting: mycek1 +DETAIL: drop cascades to client master key: mycmk1 +drop cascades to column encryption key: mycek1 drop cascades to table acltest1 -ERROR: permission denied for column setting mycek1 +ERROR: permission denied for column encryption key mycek1 CREATE SCHEMA testns; ERROR: permission denied for database regression SET search_path to testns; @@ -114,8 +114,8 @@ RESET SESSION AUTHORIZATION; DROP TABLE acltest1; DROP SCHEMA IF EXISTS testns; ERROR: cannot drop schema testns because other objects depend on it -DETAIL: global setting: mycmk1 depends on schema testns -column setting: mycek1 depends on schema testns +DETAIL: client master key: mycmk1 depends on schema testns +column encryption key: mycek1 depends on schema testns HINT: Use DROP ... CASCADE to drop the dependent objects too. REVOKE USAGE ON COLUMN_ENCRYPTION_KEY MyCEK1 FROM newuser1; REVOKE USAGE ON CLIENT_MASTER_KEY MyCMK1 FROM newuser1; diff --git a/src/test/regress/expected/ce_premission_on_schema_purge_premission.out b/src/test/regress/expected/ce_premission_on_schema_purge_premission.out index 707cfd389..9ff8e1d9c 100644 --- a/src/test/regress/expected/ce_premission_on_schema_purge_premission.out +++ b/src/test/regress/expected/ce_premission_on_schema_purge_premission.out @@ -5,7 +5,7 @@ DELETE ALL GENERATE 1 DROP CLIENT MASTER KEY IF EXISTS MyCMK1 CASCADE; -NOTICE: global setting "mycmk1" does not exist +NOTICE: client master key "mycmk1" does not exist -- create another user DROP ROLE IF EXISTS newuser; ERROR: role "newuser" cannot be dropped because some objects depend on it @@ -74,10 +74,10 @@ ERROR: Permission denied to create role. -- create schema DROP SCHEMA IF EXISTS testns CASCADE; NOTICE: drop cascades to 3 other objects -DETAIL: drop cascades to global setting: mycmk1 -drop cascades to column setting: mycek1 +DETAIL: drop cascades to client master key: mycmk1 +drop cascades to column encryption key: mycek1 drop cascades to table acltest1 -ERROR: permission denied for column setting mycek1 +ERROR: permission denied for column encryption key mycek1 CREATE SCHEMA testns; ERROR: permission denied for database regression SET search_path to testns; @@ -117,8 +117,8 @@ DROP TABLE acltest1; --DROP CLIENT MASTER KEY MyCMK1; DROP SCHEMA IF EXISTS testns CASCADE; NOTICE: drop cascades to 2 other objects -DETAIL: drop cascades to global setting: mycmk1 -drop cascades to column setting: mycek1 +DETAIL: drop cascades to client master key: mycmk1 +drop cascades to column encryption key: mycek1 --check pg_depend SELECT exists (SELECT refobjid FROM pg_depend JOIN gs_client_global_keys on gs_client_global_keys.key_namespace = refobjid); exists diff --git a/src/test/regress/expected/ce_premission_on_schema_revoke.out b/src/test/regress/expected/ce_premission_on_schema_revoke.out index a0a540826..912c69be0 100644 --- a/src/test/regress/expected/ce_premission_on_schema_revoke.out +++ b/src/test/regress/expected/ce_premission_on_schema_revoke.out @@ -5,7 +5,7 @@ DELETE ALL GENERATE 1 DROP CLIENT MASTER KEY IF EXISTS MyCMK1 CASCADE; -NOTICE: global setting "mycmk1" does not exist +NOTICE: client master key "mycmk1" does not exist -- create another user DROP ROLE IF EXISTS newuser; ERROR: role "newuser" cannot be dropped because some objects depend on it @@ -44,10 +44,10 @@ ERROR: Permission denied to create role. -- create schema DROP SCHEMA IF EXISTS testns CASCADE; NOTICE: drop cascades to 3 other objects -DETAIL: drop cascades to global setting: mycmk1 -drop cascades to column setting: mycek1 +DETAIL: drop cascades to client master key: mycmk1 +drop cascades to column encryption key: mycek1 drop cascades to table acltest1 -ERROR: permission denied for column setting mycek1 +ERROR: permission denied for column encryption key mycek1 CREATE SCHEMA testns; ERROR: permission denied for database regression SET search_path to testns; @@ -139,16 +139,16 @@ CONTEXT: referenced column: has_table_privilege -- check user is not able to drop keys SET SESSION AUTHORIZATION newuser PASSWORD 'gauss@123'; DROP COLUMN ENCRYPTION KEY MyCEK1; -ERROR: permission denied for column setting mycek1 +ERROR: permission denied for column encryption key mycek1 DROP CLIENT MASTER KEY MyCMK1; -ERROR: cannot drop global setting: mycmk1 because other objects depend on it -DETAIL: column setting: mycek1 depends on global setting: mycmk1 +ERROR: cannot drop client master key: mycmk1 because other objects depend on it +DETAIL: column encryption key: mycek1 depends on client master key: mycmk1 HINT: Use DROP ... CASCADE to drop the dependent objects too. DROP SCHEMA IF EXISTS testns CASCADE; NOTICE: drop cascades to 2 other objects -DETAIL: drop cascades to global setting: mycmk1 -drop cascades to column setting: mycek1 -ERROR: permission denied for column setting mycek1 +DETAIL: drop cascades to client master key: mycmk1 +drop cascades to column encryption key: mycek1 +ERROR: permission denied for column encryption key mycek1 DROP ROLE IF EXISTS newuser; ERROR: Permission denied to drop role. delete from gs_client_global_keys; diff --git a/src/test/regress/expected/ce_privileges_dba.out b/src/test/regress/expected/ce_privileges_dba.out index 727577f5c..d850cef0f 100644 --- a/src/test/regress/expected/ce_privileges_dba.out +++ b/src/test/regress/expected/ce_privileges_dba.out @@ -5,7 +5,7 @@ DELETE ALL GENERATE 1 DROP CLIENT MASTER KEY IF EXISTS MyCMK CASCADE; -NOTICE: global setting "mycmk" does not exist +NOTICE: client master key "mycmk" does not exist -- CHECK SCHEMA PRIVILEGES SELECT has_schema_privilege(session_user, current_schema, 'CREATE'); has_schema_privilege @@ -21,10 +21,12 @@ SELECT has_schema_privilege(session_user, current_schema, 'USAGE'); -- CHECK CMK PRIVILEGES CREATE CLIENT MASTER KEY MyCMK WITH ( KEY_STORE = gs_ktool , KEY_PATH = "gs_ktool/1" , ALGORITHM = AES_256_CBC); -SELECT session_user, rolname from pg_roles join gs_client_global_keys on pg_roles.Oid = gs_client_global_keys.key_owner where gs_client_global_keys.client_master_key_name = 'mycmk'; -ERROR: column gs_client_global_keys.client_master_key_name does not exist -LINE 1: ...roles.Oid = gs_client_global_keys.key_owner where gs_client_... - ^ +SELECT count(session_user) from pg_roles join gs_client_global_keys on pg_roles.Oid = gs_client_global_keys.key_owner where gs_client_global_keys.global_key_name = 'mycmk'; + count +------- + 1 +(1 row) + SELECT has_cmk_privilege(session_user, 'MyCMK', 'USAGE'); has_cmk_privilege ------------------- @@ -33,10 +35,12 @@ SELECT has_cmk_privilege(session_user, 'MyCMK', 'USAGE'); -- CHECK CEK PRIVILEGES CREATE COLUMN ENCRYPTION KEY MyCEK WITH VALUES (CLIENT_MASTER_KEY = MyCMK, ALGORITHM = AEAD_AES_256_CBC_HMAC_SHA256); -SELECT session_user, rolname from pg_roles join gs_column_keys on pg_roles.Oid = gs_column_keys.key_owner where gs_column_keys.column_encryption_key_name = 'mycek'; -ERROR: column gs_column_keys.column_encryption_key_name does not exist -LINE 1: ... on pg_roles.Oid = gs_column_keys.key_owner where gs_column_... - ^ +SELECT count(session_user) from pg_roles join gs_column_keys on pg_roles.Oid = gs_column_keys.key_owner where gs_column_keys.column_key_name = 'mycek'; + count +------- + 1 +(1 row) + SELECT has_cek_privilege(session_user, 'MyCEK', 'USAGE'); has_cek_privilege ------------------- @@ -48,7 +52,7 @@ NOTICE: table "acltest1" does not exist, skipping CREATE TABLE acltest1 (x int, x2 varchar(50) ENCRYPTED WITH (COLUMN_ENCRYPTION_KEY = MyCEK, ENCRYPTION_TYPE = DETERMINISTIC)); DROP TABLE acltest1; DROP CLIENT MASTER KEY IF EXISTS MyCMK CASCADE; -NOTICE: drop cascades to column setting: mycek +NOTICE: drop cascades to column encryption key: mycek \! gs_ktool -d all DELETE ALL 1 diff --git a/src/test/regress/expected/ce_privileges_on_schema.out b/src/test/regress/expected/ce_privileges_on_schema.out index aa3105c26..22a960c97 100644 --- a/src/test/regress/expected/ce_privileges_on_schema.out +++ b/src/test/regress/expected/ce_privileges_on_schema.out @@ -11,15 +11,13 @@ GENERATE GENERATE 3 DROP CLIENT MASTER KEY IF EXISTS MyCMK1 CASCADE; -NOTICE: global setting "mycmk1" does not exist +NOTICE: client master key "mycmk1" does not exist DROP CLIENT MASTER KEY IF EXISTS MyCMK2 CASCADE; -NOTICE: global setting "mycmk2" does not exist +NOTICE: client master key "mycmk2" does not exist -- create another user DROP ROLE IF EXISTS newuser; -ERROR: role "newuser" cannot be dropped because some objects depend on it -DETAIL: owner of schema newuser +NOTICE: role "newuser" does not exist, skipping CREATE USER newuser PASSWORD 'gauss@123'; -ERROR: role "newuser" already exists -- create schema DROP SCHEMA IF EXISTS testns CASCADE; NOTICE: schema "testns" does not exist, skipping @@ -36,72 +34,29 @@ CREATE COLUMN ENCRYPTION KEY MyCEK1 WITH VALUES (CLIENT_MASTER_KEY = MyCMK1, ALG ------------------------- SET SESSION AUTHORIZATION newuser PASSWORD 'gauss@123'; SET search_path to testns; --- add permission to the keys to newuser -RESET SESSION AUTHORIZATION; -GRANT USAGE ON COLUMN_ENCRYPTION_KEY MyCEK1 to newuser; -GRANT USAGE ON CLIENT_MASTER_KEY MyCMK1 to newuser; -SET SESSION AUTHORIZATION newuser PASSWORD 'gauss@123'; -SET search_path to testns; --- create TABLE -CREATE TABLE acltest1 (x int, x2 varchar(50) ENCRYPTED WITH (COLUMN_ENCRYPTION_KEY = MyCEK1, ENCRYPTION_TYPE = DETERMINISTIC)); --- create another user -DROP ROLE IF EXISTS newuser; -ERROR: Permission denied to drop role. -CREATE USER newuser PASSWORD 'gauss@123'; -ERROR: Permission denied to create role. --- create schema -DROP SCHEMA IF EXISTS testns CASCADE; -NOTICE: drop cascades to 3 other objects -DETAIL: drop cascades to global setting: mycmk1 -drop cascades to column setting: mycek1 -drop cascades to table acltest1 -ERROR: permission denied for column setting mycek1 -CREATE SCHEMA testns; -ERROR: permission denied for database regression -SET search_path to testns; --- grant privileges on schema (ALL = USAGE, CREATE) -GRANT ALL ON SCHEMA testns TO newuser; -WARNING: no privileges were granted for "testns" --- CREATE CMK -CREATE CLIENT MASTER KEY MyCMK1 WITH ( KEY_STORE = gs_ktool , KEY_PATH = "gs_ktool/2" , ALGORITHM = AES_256_CBC); -ERROR: duplicate key value violates unique constraint "gs_client_global_keys_name_index" ---?.* --- CREATE CEK -CREATE COLUMN ENCRYPTION KEY MyCEK1 WITH VALUES (CLIENT_MASTER_KEY = MyCMK1, ALGORITHM = AEAD_AES_256_CBC_HMAC_SHA256); -ERROR: duplicate key value violates unique constraint "gs_column_keys_name_index" ---?.* -------------------------- --- change to new user -------------------------- -SET SESSION AUTHORIZATION newuser PASSWORD 'gauss@123'; -SET search_path to testns; --- SHOULD FAIL - check CANNOT drop existiing objects +-- SHOULD FAIL - check CANNOT drop existing objects DROP COLUMN ENCRYPTION KEY MyCEK1; -ERROR: cannot drop column setting: mycek1 because other objects depend on it -DETAIL: encrypted column: x2 depends on column setting: mycek1 -HINT: Use DROP ... CASCADE to drop the dependent objects too. +ERROR: permission denied for column encryption key mycek1 DROP CLIENT MASTER KEY MyCMK1; -ERROR: cannot drop global setting: mycmk1 because other objects depend on it -DETAIL: column setting: mycek1 depends on global setting: mycmk1 -encrypted column: x2 depends on column setting: mycek1 +ERROR: cannot drop client master key: mycmk1 because other objects depend on it +DETAIL: column encryption key: mycek1 depends on client master key: mycmk1 HINT: Use DROP ... CASCADE to drop the dependent objects too. -- SHOULD FAIL - create TABLE using existing MyCEK1 (missing permissions to both MyCEK1 and MyCMK1) CREATE TABLE acltest1 (x int, x2 varchar(50) ENCRYPTED WITH (COLUMN_ENCRYPTION_KEY = MyCEK1, ENCRYPTION_TYPE = DETERMINISTIC)); -ERROR: relation "acltest1" already exists +ERROR: permission denied for column encryption key mycek1 -- add speciifc permission to MyCEK1 and retry (should still fail - missing permission to MyCMK1) RESET SESSION AUTHORIZATION; GRANT USAGE ON COLUMN_ENCRYPTION_KEY MyCEK1 to newuser; SET SESSION AUTHORIZATION newuser PASSWORD 'gauss@123'; SET search_path to testns; CREATE TABLE acltest1 (x int, x2 varchar(50) ENCRYPTED WITH (COLUMN_ENCRYPTION_KEY = MyCEK1, ENCRYPTION_TYPE = DETERMINISTIC)); -ERROR: relation "acltest1" already exists +ERROR: permission denied for client master key mycmk1 -- SUCCEED - - create TABLE using existing MyCEK1 (now has permission on SCHEMA, CEK and CMK) RESET SESSION AUTHORIZATION; GRANT USAGE ON CLIENT_MASTER_KEY MyCMK1 to newuser; SET SESSION AUTHORIZATION newuser PASSWORD 'gauss@123'; SET search_path to testns; CREATE TABLE acltest1 (x int, x2 varchar(50) ENCRYPTED WITH (COLUMN_ENCRYPTION_KEY = MyCEK1, ENCRYPTION_TYPE = DETERMINISTIC)); -ERROR: relation "acltest1" already exists -- create TABLE using new CEK and existing CMK CREATE COLUMN ENCRYPTION KEY MyCEK2 WITH VALUES (CLIENT_MASTER_KEY = MyCMK1, ALGORITHM = AEAD_AES_256_CBC_HMAC_SHA256); CREATE TABLE acltest2 (x int, x2 varchar(50) ENCRYPTED WITH (COLUMN_ENCRYPTION_KEY = MyCEK2, ENCRYPTION_TYPE = DETERMINISTIC)); @@ -171,15 +126,15 @@ SELECT has_table_privilege('newuser', 'acltest3', 'INSERT, SELECT, UPDATE, DELET DROP SCHEMA IF EXISTS testns CASCADE; NOTICE: drop cascades to 8 other objects -DETAIL: drop cascades to global setting: mycmk1 -drop cascades to column setting: mycek1 +DETAIL: drop cascades to client master key: mycmk1 +drop cascades to column encryption key: mycek1 drop cascades to table acltest1 -drop cascades to column setting: mycek2 +drop cascades to column encryption key: mycek2 drop cascades to table acltest2 -drop cascades to global setting: mycmk2 -drop cascades to column setting: mycek3 +drop cascades to client master key: mycmk2 +drop cascades to column encryption key: mycek3 drop cascades to table acltest3 -ERROR: permission denied for column setting mycek1 +ERROR: permission denied for column encryption key mycek1 DROP ROLE IF EXISTS newuser; ERROR: Permission denied to drop role. RESET SESSION AUTHORIZATION; diff --git a/src/test/regress/expected/ce_procedure.out b/src/test/regress/expected/ce_procedure.out index 2de08f5f1..76b91d5fc 100644 --- a/src/test/regress/expected/ce_procedure.out +++ b/src/test/regress/expected/ce_procedure.out @@ -1,12 +1,18 @@ ------------------------- -- unsupport procedure -- ------------------------- -set enable_stream_operator = on; +--set enable_stream_operator = on; ---------------------forall------------------------ SET CHECK_FUNCTION_BODIES TO ON; +\! gs_ktool -d all +DELETE ALL + +\! gs_ktool -g +GENERATE +1 DROP CLIENT MASTER KEY prodedureCMK CASCADE; -NOTICE: global setting "prodedurecmk" does not exist -CREATE CLIENT MASTER KEY prodedureCMK WITH ( KEY_STORE = localkms , KEY_PATH = "/colConstraintCMK" , ALGORITHM = RSA_2048); +ERROR: client master key "prodedurecmk" does not exist +CREATE CLIENT MASTER KEY prodedureCMK WITH ( KEY_STORE = gs_ktool , KEY_PATH = "gs_ktool/1" , ALGORITHM = AES_256_CBC); CREATE COLUMN ENCRYPTION KEY prodedureCEK WITH VALUES (CLIENT_MASTER_KEY = prodedureCMK, ALGORITHM = AEAD_AES_256_CBC_HMAC_SHA256); CREATE TABLE IF NOT EXISTS Image( id INT, @@ -22,16 +28,36 @@ Alititude INT ENCRYPTED WITH (COLUMN_EN Latitude FLOAT4 ENCRYPTED WITH (COLUMN_ENCRYPTION_KEY = prodedureCEK , ENCRYPTION_TYPE = DETERMINISTIC), Longitude FLOAT4 ENCRYPTED WITH (COLUMN_ENCRYPTION_KEY = prodedureCEK , ENCRYPTION_TYPE = DETERMINISTIC), ImagePath VARCHAR(100) ENCRYPTED WITH (COLUMN_ENCRYPTION_KEY = prodedureCEK , ENCRYPTION_TYPE = DETERMINISTIC) -); -NOTICE: The 'DISTRIBUTE BY' clause is not specified. Using 'id' as the distribution column by default. -HINT: Please use 'DISTRIBUTE BY' clause to specify suitable data distribution column. +) DISTRIBUTE BY HASH(id); +ERROR(CLIENT): encrypted date column is not implemented INSERT INTO Image VALUES ( 1, 'img4214189','IDO', 'it is a flower in roadsize', '2019-11-07', 1080, 1440, 'px', 776, 108, 23.45, 120.24, '/DCIM/Camera/img4214189'); +ERROR: relation "image" does not exist on datanode1 +LINE 1: INSERT INTO Image VALUES ( 1, 'img4214189','IDO', 'it is a f... + ^ INSERT INTO Image VALUES ( 2, 'img4214190','IDO', 'the park', '2019-11-10', 1080, 1920, 'px', 187, 292, 45.28, 102.24, '/DCIM/Camera/img4214190'); +ERROR: relation "image" does not exist on datanode1 +LINE 1: INSERT INTO Image VALUES ( 2, 'img4214190','IDO', 'the park'... + ^ INSERT INTO Image VALUES ( 3, 'img4214191','ZAVIER', 'the mountain','2019-11-30', 1080, 1920, 'px', 793, 686, 28.86, 108.76, '/DCIM/Camera/img4214191'); +ERROR: relation "image" does not exist on datanode1 +LINE 1: INSERT INTO Image VALUES ( 3, 'img4214191','ZAVIER', 'the mo... + ^ INSERT INTO Image VALUES ( 4, 'img4214192','AVI', 'a dog', '2019-11-26 16:10:22', 1920, 1080, 'px', 184, 949, 30.67, 109.01, '/DCIM/Camera/img4214192'); +ERROR: relation "image" does not exist on datanode1 +LINE 1: INSERT INTO Image VALUES ( 4, 'img4214192','AVI', 'a dog', '... + ^ INSERT INTO Image VALUES ( 5, 'img4214193','AVI', 'a cat', '2019-11-27', 720, 240, 'px', 805, 292, 45.26, 102.24, '/DCIM/Camera/img4214193'); +ERROR: relation "image" does not exist on datanode1 +LINE 1: INSERT INTO Image VALUES ( 5, 'img4214193','AVI', 'a cat', '... + ^ INSERT INTO Image VALUES ( 6, 'img4214194','ELI', 'a beautiful girl', '2019-11-25', 480, 1024, 'px', 1058, 40, 34.71, 116.72, '/DCIM/Camera/img4214194'); +ERROR: relation "image" does not exist on datanode1 +LINE 1: INSERT INTO Image VALUES ( 6, 'img4214194','ELI', 'a beautif... + ^ INSERT INTO Image VALUES ( 7, 'img4214195','ELI', 'home', '2019-11-20 10:45:10', 360, 360, 'px', 773, 1320, 28.62, 106.39, '/DCIM/Camera/img4214195'); +ERROR: relation "image" does not exist on datanode1 +LINE 1: INSERT INTO Image VALUES ( 7, 'img4214195','ELI', 'home', '2... + ^ CREATE OR REPLACE PROCEDURE INSERT_IMAGE ( id_param IN INTEGER, @@ -54,13 +80,11 @@ BEGIN END; / CALL INSERT_IMAGE(8, 'img4214196','ZAVIER', 'a river', '2019-11-22 12:45:26', 720, 720, 'px', 1244, 510, 29.75, 105.79, '/DCIM/Camera/img4214196'); -ERROR: column "title" is of type byteawithoutorderwithequalcol but expression is of type text +ERROR: relation "image" does not exist on datanode1 LINE 1: INSERT INTO Image VALUES ( id_param, artist_param, artist_pa... - ^ -HINT: You will need to rewrite or cast the expression. + ^ QUERY: INSERT INTO Image VALUES ( id_param, artist_param, artist_param, description_param, dataTime_param, xresolution_param, yresolution_param, resolution_unit_param, imageSize_param, alititude_param, latitude_param, longitude_param, imagePath_param) -CONTEXT: referenced column: title -PL/pgSQL function insert_image(integer,character varying,text,text,date,integer,integer,character varying,integer,integer,real,real,character varying) line 3 at SQL statement +CONTEXT: PL/pgSQL function insert_image(integer,character varying,text,text,timestamp without time zone,integer,integer,character varying,integer,integer,real,real,character varying) line 3 at SQL statement CREATE OR REPLACE PROCEDURE UPDATE_DESCRIPTION ( title_param IN VARCHAR(30), @@ -74,13 +98,14 @@ BEGIN dbe_output.print_line(result); END; / +ERROR: schema "dbe_output" does not exist +CONTEXT: compilation of PL/pgSQL function "update_description" near line 4 CALL UPDATE_DESCRIPTION('img4214189','the description is update',''); -ERROR: operator does not exist: byteawithoutorderwithequalcol = character varying -LINE 1: ...e SET description = description_param WHERE title = title_pa... - ^ -HINT: No operator matches the given name and argument type(s). You might need to add explicit type casts. -QUERY: UPDATE Image SET description = description_param WHERE title = title_param -CONTEXT: PL/pgSQL function update_description(character varying,text) line 3 at SQL statement +ERROR: function "update_description" doesn't exist DROP TABLE IF EXISTS Image; +NOTICE: table "image" does not exist, skipping DROP COLUMN ENCRYPTION KEY prodedureCEK; DROP CLIENT MASTER KEY prodedureCMK; +\! gs_ktool -d all +DELETE ALL + 1 diff --git a/src/test/regress/expected/ce_random.out b/src/test/regress/expected/ce_random.out index 70c9af09a..63f1d96c9 100644 --- a/src/test/regress/expected/ce_random.out +++ b/src/test/regress/expected/ce_random.out @@ -5,7 +5,7 @@ DELETE ALL GENERATE 1 DROP CLIENT MASTER KEY MyCMK CASCADE; -ERROR: global setting "mycmk" does not exist +ERROR: client master key "mycmk" does not exist CREATE CLIENT MASTER KEY MyCMK WITH ( KEY_STORE = gs_ktool , KEY_PATH = "gs_ktool/1" , ALGORITHM = AES_256_CBC); CREATE COLUMN ENCRYPTION KEY MyCEK770 WITH VALUES (CLIENT_MASTER_KEY = MyCMK, ALGORITHM = AEAD_AES_256_CBC_HMAC_SHA256); CREATE TABLE IF NOT EXISTS tr2(i1 INT ENCRYPTED WITH (COLUMN_ENCRYPTION_KEY = MyCEK770, ENCRYPTION_TYPE = RANDOMIZED) , i2 INT); @@ -141,7 +141,7 @@ SELECT * FROM products; DROP TABLE products; DROP CLIENT MASTER KEY MyCMK CASCADE; -NOTICE: drop cascades to column setting: mycek770 +NOTICE: drop cascades to column encryption key: mycek770 \! gs_ktool -d all DELETE ALL 1 diff --git a/src/test/regress/expected/ce_rlspolicy.out b/src/test/regress/expected/ce_rlspolicy.out index 7c6fa1ac3..4ea161e7e 100644 --- a/src/test/regress/expected/ce_rlspolicy.out +++ b/src/test/regress/expected/ce_rlspolicy.out @@ -5,14 +5,12 @@ DELETE ALL GENERATE 1 DROP CLIENT MASTER KEY IF EXISTS rlspolicy_cmk CASCADE; -NOTICE: global setting "rlspolicy_cmk" does not exist +NOTICE: client master key "rlspolicy_cmk" does not exist CREATE CLIENT MASTER KEY rlspolicy_cmk WITH ( KEY_STORE = gs_ktool , KEY_PATH = "gs_ktool/1" , ALGORITHM = AES_256_CBC); CREATE COLUMN ENCRYPTION KEY rlspolicy_cek WITH VALUES (CLIENT_MASTER_KEY = rlspolicy_cmk, ALGORITHM = AEAD_AES_256_CBC_HMAC_SHA256); CREATE ROLE alice PASSWORD 'Gauss@123'; CREATE ROLE bob PASSWORD 'Gauss@123'; CREATE TABLE all_data(id int, role varchar(100) ENCRYPTED WITH (COLUMN_ENCRYPTION_KEY = rlspolicy_cek, ENCRYPTION_TYPE = DETERMINISTIC), data varchar(100)); -NOTICE: The 'DISTRIBUTE BY' clause is not specified. Using 'id' as the distribution column by default. -HINT: Please use 'DISTRIBUTE BY' clause to specify suitable data distribution column. INSERT INTO all_data VALUES(1, 'alice', 'alice data'); INSERT INTO all_data VALUES(2, 'bob', 'bob data'); INSERT INTO all_data VALUES(3, 'peter', 'peter data'); @@ -42,6 +40,97 @@ DROP ROLE alice; DROP ROLE bob; DROP COLUMN ENCRYPTION KEY rlspolicy_cek; DROP CLIENT MASTER KEY rlspolicy_cmk; +CREATE USER rlspolicy_user1 PASSWORD 'gauss@123'; +CREATE USER rlspolicy_user2 PASSWORD 'gauss@123'; +SET ROLE rlspolicy_user1 PASSWORD 'gauss@123'; +CREATE CLIENT MASTER KEY rlspolicy_cmk1 WITH ( KEY_STORE = gs_ktool , KEY_PATH = "gs_ktool/1" , ALGORITHM = AES_256_CBC); +CREATE COLUMN ENCRYPTION KEY rlspolicy_cek1 WITH VALUES (CLIENT_MASTER_KEY = rlspolicy_cmk1, ALGORITHM = AEAD_AES_256_CBC_HMAC_SHA256); +SET ROLE rlspolicy_user2 PASSWORD 'gauss@123'; +SELECT count(*) FROM gs_client_global_keys; + count +------- + 0 +(1 row) + +SELECT count(*) FROM gs_client_global_keys_args; + count +------- + 0 +(1 row) + +SELECT count(*) FROM gs_column_keys; + count +------- + 0 +(1 row) + +SELECT count(*) FROM gs_column_keys_args; + count +------- + 0 +(1 row) + +SET ROLE rlspolicy_user1 PASSWORD 'gauss@123'; +GRANT USAGE ON COLUMN_ENCRYPTION_KEY rlspolicy_cek1 to rlspolicy_user2; +GRANT USAGE ON CLIENT_MASTER_KEY rlspolicy_cmk1 to rlspolicy_user2; +SET ROLE rlspolicy_user2 PASSWORD 'gauss@123'; +SELECT count(*) FROM gs_client_global_keys; + count +------- + 1 +(1 row) + +SELECT count(*) FROM gs_client_global_keys_args; + count +------- + 3 +(1 row) + +SELECT count(*) FROM gs_column_keys; + count +------- + 1 +(1 row) + +SELECT count(*) FROM gs_column_keys_args; + count +------- + 2 +(1 row) + +RESET ROLE; +SELECT count(*) FROM gs_client_global_keys; + count +------- + 1 +(1 row) + +SELECT count(*) FROM gs_client_global_keys_args; + count +------- + 3 +(1 row) + +SELECT count(*) FROM gs_column_keys; + count +------- + 1 +(1 row) + +SELECT count(*) FROM gs_column_keys_args; + count +------- + 2 +(1 row) + +SET ROLE rlspolicy_user1 PASSWORD 'gauss@123'; +DROP COLUMN ENCRYPTION KEY rlspolicy_cek1; +DROP CLIENT MASTER KEY rlspolicy_cmk1; +RESET ROLE; +DROP SCHEMA IF EXISTS rlspolicy_user1 CASCADE; +DROP SCHEMA IF EXISTS rlspolicy_user2 CASCADE; +DROP ROLE rlspolicy_user1; +DROP ROLE rlspolicy_user2; \! gs_ktool -d all DELETE ALL 1 diff --git a/src/test/regress/expected/ce_searchpath.out b/src/test/regress/expected/ce_searchpath.out index 8d97ec672..f87669612 100644 --- a/src/test/regress/expected/ce_searchpath.out +++ b/src/test/regress/expected/ce_searchpath.out @@ -8,7 +8,7 @@ GENERATE GENERATE 2 DROP CLIENT MASTER KEY IF EXISTS MyCMK CASCADE; -NOTICE: global setting "mycmk" does not exist +NOTICE: client master key "mycmk" does not exist DROP CLIENT MASTER KEY testns.MyCMKt CASCADE; ERROR: schema "testns" does not exist CREATE CLIENT MASTER KEY MyCMK WITH ( KEY_STORE = gs_ktool , KEY_PATH = "gs_ktool/1" , ALGORITHM = AES_256_CBC); @@ -30,20 +30,20 @@ SELECT d FROM tbl2 WHERE c = 1; DROP TABLE tbl2; DROP SCHEMA testns; ERROR: cannot drop schema testns because other objects depend on it -DETAIL: global setting: mycmkt depends on schema testns -column setting: mycek depends on schema testns -column setting: mycek2 depends on schema testns -column setting: mycek3 depends on schema testns +DETAIL: client master key: mycmkt depends on schema testns +column encryption key: mycek depends on schema testns +column encryption key: mycek2 depends on schema testns +column encryption key: mycek3 depends on schema testns HINT: Use DROP ... CASCADE to drop the dependent objects too. DROP SCHEMA testns CASCADE; NOTICE: drop cascades to 4 other objects -DETAIL: drop cascades to global setting: mycmkt -drop cascades to column setting: mycek -drop cascades to column setting: mycek2 -drop cascades to column setting: mycek3 +DETAIL: drop cascades to client master key: mycmkt +drop cascades to column encryption key: mycek +drop cascades to column encryption key: mycek2 +drop cascades to column encryption key: mycek3 DROP TABLE tbl2; DROP CLIENT MASTER KEY MyCMK CASCADE; -NOTICE: drop cascades to column setting: mycek +NOTICE: drop cascades to column encryption key: mycek \! gs_ktool -d all DELETE ALL 1 2 diff --git a/src/test/regress/expected/ce_select_operators.out b/src/test/regress/expected/ce_select_operators.out index d5b94f1cb..bea5b9df0 100644 --- a/src/test/regress/expected/ce_select_operators.out +++ b/src/test/regress/expected/ce_select_operators.out @@ -147,8 +147,8 @@ drop table sales2007q4; drop table sales2007q6; DROP CLIENT MASTER KEY cmk1 CASCADE; NOTICE: drop cascades to 2 other objects -DETAIL: drop cascades to column setting: cek1 -drop cascades to column setting: cek2 +DETAIL: drop cascades to column encryption key: cek1 +drop cascades to column encryption key: cek2 \! gs_ktool -d all DELETE ALL 1 diff --git a/src/test/regress/expected/char_truncation_common.out b/src/test/regress/expected/char_truncation_common.out index 665fec006..4384c94dc 100644 --- a/src/test/regress/expected/char_truncation_common.out +++ b/src/test/regress/expected/char_truncation_common.out @@ -381,6 +381,7 @@ show td_compatible_truncation; prepare insert1(char(6), varchar(6)) as insert into pre_table values($1,$2); execute insert1('aaaaaaaaaaaaaaaa', 'bbbbbbbbbbbbbbbb'); ERROR: value too long for type character(6) +CONTEXT: referenced column: a set td_compatible_truncation=on; show td_compatible_truncation; td_compatible_truncation @@ -398,6 +399,7 @@ show td_compatible_truncation; execute insert1('aaaaaaaaaaaaaaaa', 'bbbbbbbbbbbbbbbb'); ERROR: value too long for type character(6) +CONTEXT: referenced column: a drop table if exists pre_table; drop table testtd; drop table testtdn; diff --git a/src/test/regress/expected/create_schema.out b/src/test/regress/expected/create_schema.out index 99e8bb049..c6bb2acce 100644 --- a/src/test/regress/expected/create_schema.out +++ b/src/test/regress/expected/create_schema.out @@ -26,22 +26,6 @@ create user pg_error_username password 'test-1234'; ERROR: unacceptable user name: fail to create same name schema for user "pg_error_username" DETAIL: The prefix "pg_" is reserved for system schemas. drop role samedb_schema_cn_role_02_001; -create user grant_user_test password 'test-1234'; -select rolsystemadmin from pg_roles where rolname='grant_user_test'; - rolsystemadmin ----------------- - f -(1 row) - -create schema schema_with_grant_test grant all privileges to grant_user_test; -select rolsystemadmin from pg_roles where rolname='grant_user_test'; - rolsystemadmin ----------------- - t -(1 row) - -drop user grant_user_test; -drop schema schema_with_grant_test; drop schema test_ns_schema_1 cascade; NOTICE: drop cascades to 2 other objects DETAIL: drop cascades to table test_ns_schema_1.abc diff --git a/src/test/regress/expected/create_type.out b/src/test/regress/expected/create_type.out index 29a802237..c0aeb3a72 100644 --- a/src/test/regress/expected/create_type.out +++ b/src/test/regress/expected/create_type.out @@ -155,4 +155,4 @@ ALTER TYPE test_type OWNER TO test_role; ALTER TYPE test_type OWNER TO CURRENT_USER; ALTER TYPE test_type OWNER TO SESSION_USER; DROP TYPE test_type; -DROP ROLE test_role; +DROP ROLE test_role; \ No newline at end of file diff --git a/src/test/regress/expected/delete_limit.out b/src/test/regress/expected/delete_limit.out index 49563f75d..1f28c4b4f 100644 --- a/src/test/regress/expected/delete_limit.out +++ b/src/test/regress/expected/delete_limit.out @@ -14,15 +14,48 @@ insert into t_d_limit values(3,4); insert into t_d_limit values(3,4); insert into t_d_limit values(3,4); insert into t_d_limit values(3,4); +delete from t_d_limit where a < 2 limit 1; prepare stmt(INTEGER) as delete from t_d_limit where a = $1 limit 1; execute stmt(1); +delete from t_d_limit where a = 3 limit 1; select a from t_d_limit where a=1; a --- 1 1 1 - 1 -(4 rows) +(3 rows) +CREATE TABLE t_d_limit_2(a int, b int) partition by hash(a)( partition h1_p_1,partition h2_p_2); +insert into t_d_limit_2 values(generate_series(1,20,1), generate_series(1,20,1)); +CREATE TABLE t_d_limit_3(a int, b int) partition by hash(a)( partition h1_p_1,partition h2_p_2); +create index t_d_limit_inx_3 on t_d_limit_3(a) local; +insert into t_d_limit_3 values(generate_series(1,20,1), generate_series(1,20,1)); +CREATE TABLE t_d_limit_4(a int, b int) partition by hash(a)( partition h1_p_1,partition h2_p_2); +create index t_d_limit_inx_4 on t_d_limit_4(a); +insert into t_d_limit_4 values(generate_series(1,20,1), generate_series(1,20,1)); +CREATE TABLE t_d_limit_5(a int, b int) partition by hash(a)( partition h1_p_1,partition h2_p_2); +create index t_d_limit_inx_5_1 on t_d_limit_5(b) local; +create index t_d_limit_inx_5_12 on t_d_limit_5(a); +insert into t_d_limit_5 values(generate_series(1,20,1), generate_series(1,20,1)); +prepare stmt_d_hash2_1 as delete from t_d_limit_2 where a=$1+1 limit $2*10; +prepare stmt_d_hash2_2 as delete from t_d_limit_2 where a>$1+1 limit $2*10; +prepare stmt_d_hash3_1 as delete from t_d_limit_3 where a=$1+1 limit $2*10; +prepare stmt_d_hash3_2 as delete from t_d_limit_3 where a>$1+1 limit $2*10; +prepare stmt_d_hash4_1 as delete from t_d_limit_4 where a=$1+1 limit $2*10; +prepare stmt_d_hash4_2 as delete from t_d_limit_4 where a>$1+1 limit $2*10; +prepare stmt_d_hash5_1 as delete from t_d_limit_5 where b=$1+1 limit $2*10; +prepare stmt_d_hash5_2 as delete from t_d_limit_5 where b>$1+1 limit $2*10; +execute stmt_d_hash2_1(1,1); +execute stmt_d_hash2_2(1,1); +execute stmt_d_hash3_1(1,1); +execute stmt_d_hash3_2(1,1); +execute stmt_d_hash4_1(1,1); +execute stmt_d_hash4_2(1,1); +execute stmt_d_hash5_1(1,1); +execute stmt_d_hash5_2(1,1); +DROP TABLE t_d_limit_2; +DROP TABLE t_d_limit_3; +DROP TABLE t_d_limit_4; +DROP TABLE t_d_limit_5; DROP TABLE t_d_limit; diff --git a/src/test/regress/expected/encode_tpch.out b/src/test/regress/expected/encode_tpch.out old mode 100755 new mode 100644 diff --git a/src/test/regress/expected/explain_pbe.out b/src/test/regress/expected/explain_pbe.out index 34d4e6e3e..65556bb2c 100644 --- a/src/test/regress/expected/explain_pbe.out +++ b/src/test/regress/expected/explain_pbe.out @@ -22,10 +22,11 @@ explain (costs off, verbose on) execute s (1,1); explain (costs off, verbose on) execute i (6,6,6); QUERY PLAN ---------------------------- + [Bypass] Insert on public.t1_xc_fqs -> Result Output: 6, 6, 6 -(3 rows) +(4 rows) explain (costs off, verbose on) execute u (2,2); QUERY PLAN @@ -188,10 +189,11 @@ explain (costs off, verbose on) execute s (1); explain (costs off, verbose on) execute i (6); QUERY PLAN ---------------------------- + [Bypass] Insert on public.t1_xc_fqs -> Result Output: 6, 2, 3 -(3 rows) +(4 rows) explain (costs off, verbose on) execute u (2); QUERY PLAN @@ -2556,10 +2558,11 @@ explain (costs off, verbose on) execute s (1); explain (costs off, verbose on) execute i (6); QUERY PLAN ---------------------------- + [Bypass] Insert on public.t1_xc_fqs -> Result Output: 6, 2, 3 -(3 rows) +(4 rows) explain (costs off, verbose on) execute u (2); QUERY PLAN @@ -3641,16 +3644,15 @@ INSERT INTO pbe_prunning_002 values (1, 1, 1); SET enable_pbe_optimization to false; PREPARE pa AS SELECT * FROM pbe_prunning_001 pp1 RIGHT OUTER JOIN pbe_prunning_002 pp2 ON pp1.c_int=pp2.c_int WHERE (pp1.c_int=$1 AND pp1.c_numeric=$2 AND pp2.c_int=$3 AND pp2.c_numeric=$4) or pp1.id=$5; EXPLAIN(COSTS FALSE) EXECUTE pa(10,10,10,10,11); - QUERY PLAN ------------------------------------------------------------------------------------------------------------------------------------------------- + QUERY PLAN +----------------------------------------------------------------------------------------------------------------------------------------------- Hash Join - Hash Cond: (pp2.c_int = pp1.c_int) + Hash Cond: (pp1.c_int = pp2.c_int) Join Filter: (((pp1.c_int = 10) AND (pp1.c_numeric = 10::numeric) AND (pp2.c_int = 10) AND (pp2.c_numeric = 10::numeric)) OR (pp1.id = 11)) - -> Seq Scan on pbe_prunning_002 pp2 + -> Seq Scan on pbe_prunning_001 pp1 -> Hash - -> Seq Scan on pbe_prunning_001 pp1 - Filter: (((c_int = 10) AND (c_numeric = 10::numeric)) OR ((c_int = 10) AND (c_numeric = 10::numeric)) OR (id = 11) OR (id = 11)) -(7 rows) + -> Seq Scan on pbe_prunning_002 pp2 +(6 rows) DEALLOCATE PREPARE pa; DROP TABLE pbe_prunning_001; diff --git a/src/test/regress/expected/gpi_clean_wait.out b/src/test/regress/expected/gpi_clean_wait.out index 3b3156a3a..a7ac796a2 100644 --- a/src/test/regress/expected/gpi_clean_wait.out +++ b/src/test/regress/expected/gpi_clean_wait.out @@ -348,9 +348,11 @@ select a.relname,a.parttype,a.reloptions from pg_partition a, pg_class b where a abort; --failed +set xc_maintenance_mode = on; vacuum full pg_partition; WARNING: system table pg_partition contain relation test_gpi_more_invalid have reloptions wait_clean_gpi=y,must run the vacuum (full) test_gpi_more_invalid first WARNING: skipping "pg_partition" --- only table or database can vacuum it +set xc_maintenance_mode = off; -- test_gpi_more_invalid have wait_clean_gpi=y select a.relname,a.parttype,a.reloptions from pg_partition a, pg_class b where a.parentid = b.oid and b.relname = 'test_gpi_more_invalid' and a.reloptions[3] like '%wait_clean_gpi=y%' order by 1,2,3; relname | parttype | reloptions @@ -366,7 +368,9 @@ select a.relname,a.parttype,a.reloptions from pg_partition a, pg_class b where a (0 rows) -- success +set xc_maintenance_mode = on; vacuum full pg_partition; +set xc_maintenance_mode = off; set force_bitmapand = on; -- partition 1 explain (costs off) select * from test_gpi_more_invalid where b = 100000 and c = 100; diff --git a/src/test/regress/expected/gpi_set_index_unusable.out b/src/test/regress/expected/gpi_set_index_unusable.out index 282829e13..81d368c34 100644 --- a/src/test/regress/expected/gpi_set_index_unusable.out +++ b/src/test/regress/expected/gpi_set_index_unusable.out @@ -279,18 +279,21 @@ reindex table test_exchange_llt; select c.relname, i.indisusable from pg_index i join pg_class c on i.indexrelid = c.oid where i.indrelid = 'test_exchange_llt'::regclass ORDER BY c.relname; relname | indisusable -----------------------+------------- - test_exchange_llt_idx | t + test_exchange_llt_idx | f (1 row) set enable_bitmapscan=on; set enable_seqscan=on; -- indexscan explain (costs false) select * from test_exchange_llt where a=40; - QUERY PLAN -------------------------------------------------------------- - Index Scan using test_exchange_llt_idx on test_exchange_llt - Index Cond: (a = 40) -(2 rows) + QUERY PLAN +------------------------------------------------- + Partition Iterator + Iterations: 1 + -> Partitioned Seq Scan on test_exchange_llt + Filter: (a = 40) + Selected Partitions: 4 +(5 rows) select * from test_exchange_llt where a=40; a | b diff --git a/src/test/regress/expected/hw_pbe.out b/src/test/regress/expected/hw_pbe.out index 95f80ab66..c590f3551 100644 --- a/src/test/regress/expected/hw_pbe.out +++ b/src/test/regress/expected/hw_pbe.out @@ -21,10 +21,11 @@ explain (costs off, verbose on) execute s (1,1); explain (costs off, verbose on) execute i (6,6,6); QUERY PLAN ---------------------------- + [Bypass] Insert on public.t1_xc_fqs -> Result Output: 6, 6, 6 -(3 rows) +(4 rows) explain (costs off, verbose on) execute u (2,2); QUERY PLAN @@ -187,10 +188,11 @@ explain (costs off, verbose on) execute s (1); explain (costs off, verbose on) execute i (6); QUERY PLAN ---------------------------- + [Bypass] Insert on public.t1_xc_fqs -> Result Output: 6, 2, 3 -(3 rows) +(4 rows) explain (costs off, verbose on) execute u (2); QUERY PLAN @@ -2555,10 +2557,11 @@ explain (costs off, verbose on) execute s (1); explain (costs off, verbose on) execute i (6); QUERY PLAN ---------------------------- + [Bypass] Insert on public.t1_xc_fqs -> Result Output: 6, 2, 3 -(3 rows) +(4 rows) explain (costs off, verbose on) execute u (2); QUERY PLAN @@ -3639,16 +3642,15 @@ INSERT INTO pbe_prunning_001 values (1, 1, 1); INSERT INTO pbe_prunning_002 values (1, 1, 1); PREPARE pa AS SELECT * FROM pbe_prunning_001 pp1 RIGHT OUTER JOIN pbe_prunning_002 pp2 ON pp1.c_int=pp2.c_int WHERE (pp1.c_int=$1 AND pp1.c_numeric=$2 AND pp2.c_int=$3 AND pp2.c_numeric=$4) or pp1.id=$5; EXPLAIN(COSTS FALSE) EXECUTE pa(10,10,10,10,11); - QUERY PLAN ------------------------------------------------------------------------------------------------------------------------------- + QUERY PLAN +----------------------------------------------------------------------------------------------------------------------------- Hash Join - Hash Cond: (pp2.c_int = pp1.c_int) + Hash Cond: (pp1.c_int = pp2.c_int) Join Filter: (((pp1.c_int = $1) AND (pp1.c_numeric = $2) AND (pp2.c_int = $3) AND (pp2.c_numeric = $4)) OR (pp1.id = $5)) - -> Seq Scan on pbe_prunning_002 pp2 + -> Seq Scan on pbe_prunning_001 pp1 -> Hash - -> Seq Scan on pbe_prunning_001 pp1 - Filter: (((c_int = $1) AND (c_numeric = $2)) OR ((c_int = $1) AND (c_numeric = $2)) OR (id = $5) OR (id = $5)) -(7 rows) + -> Seq Scan on pbe_prunning_002 pp2 +(6 rows) DEALLOCATE PREPARE pa; DROP TABLE pbe_prunning_001; diff --git a/src/test/regress/expected/inplace_upgrade.out b/src/test/regress/expected/inplace_upgrade.out index 55aaa4d22..3d066d7a5 100644 --- a/src/test/regress/expected/inplace_upgrade.out +++ b/src/test/regress/expected/inplace_upgrade.out @@ -237,7 +237,9 @@ set local inplace_upgrade_next_system_object_oids = IUO_CATALOG,false,true,20,0, create table pg_catalog.pg_inplace_table2 (a int); set isinplaceupgrade=off; commit; -vacuum full pg_inplace_table2; +set xc_maintenance_mode = on; +vacuum full pg_inplace_table2 +set xc_maintenance_mode = off;; begin; set isinplaceupgrade=on; drop type if exists pg_catalog.pg_inplace_table2; diff --git a/src/test/regress/expected/join.out b/src/test/regress/expected/join.out index 47f41ac1c..e5facfc7b 100644 --- a/src/test/regress/expected/join.out +++ b/src/test/regress/expected/join.out @@ -3775,4 +3775,4 @@ select * from t_a a, t_b b where a.id(+) = b.id and rownum = 1; (1 row) drop table t_a; -drop table t_b; +drop table t_b; \ No newline at end of file diff --git a/src/test/regress/expected/leaky_function_operator.out b/src/test/regress/expected/leaky_function_operator.out new file mode 100644 index 000000000..3579630ce --- /dev/null +++ b/src/test/regress/expected/leaky_function_operator.out @@ -0,0 +1,20 @@ +-- test leaky-function protections in selfuncs +-- regress_user1 will own a table and provide a view for it. +grant all on schema public to public; +create user regress_user1 password 'gauss@123'; +create user regress_user2 password 'gauss@123'; +SET SESSION AUTHORIZATION regress_user1 password 'gauss@123'; +CREATE TABLE public.atest12 as SELECT x AS a, 10001 - x AS b FROM generate_series(1,10000) x; +CREATE INDEX ON public.atest12 (a); +CREATE INDEX ON public.atest12 (abs(a)); +VACUUM ANALYZE public.atest12; +-- Check if regress_user2 can break security. +SET SESSION AUTHORIZATION regress_user2 password 'gauss@123'; +CREATE FUNCTION public.leak20(integer,integer) RETURNS boolean AS $$begin raise notice 'leak % %', $1, $2; return $1 > $2; end$$ LANGUAGE plpgsql immutable; +CREATE OPERATOR >>>> (procedure = public.leak20, leftarg = integer, rightarg = integer,restrict = scalargtsel); +-- This should not show any "leak" notices before failing. +EXPLAIN (COSTS OFF) SELECT * FROM public.atest12 ; +ERROR: permission denied for relation atest12 +-- This should not show any "leak" notices before failing.(After Patch) +EXPLAIN (COSTS OFF) SELECT * FROM public.atest12 WHERE a >>>> 99; +ERROR: permission denied for relation atest12 diff --git a/src/test/regress/expected/merge_ng.out b/src/test/regress/expected/merge_ng.out index 295a1d39b..3fc6dec48 100644 --- a/src/test/regress/expected/merge_ng.out +++ b/src/test/regress/expected/merge_ng.out @@ -11,6 +11,8 @@ product_name VARCHAR(60) DEFAULT 'null', category VARCHAR(60) DEFAULT 'unknown', total INTEGER DEFAULT '0' ); +NOTICE: The 'DISTRIBUTE BY' clause is not specified. Using 'product_id' as the distribution column by default. +HINT: Please use 'DISTRIBUTE BY' clause to specify suitable data distribution column. INSERT INTO products_base VALUES (1501, 'vivitar 35mm', 'electrncs', 100); INSERT INTO products_base VALUES (1502, 'olympus is50', 'electrncs', 100); INSERT INTO products_base VALUES (1600, 'play gym', 'toys', 100); @@ -23,14 +25,16 @@ product_name VARCHAR(60) DEFAULT 'null', category VARCHAR(60) DEFAULT 'unknown', total INTEGER DEFAULT '0' ); +NOTICE: The 'DISTRIBUTE BY' clause is not specified. Using 'product_id' as the distribution column by default. +HINT: Please use 'DISTRIBUTE BY' clause to specify suitable data distribution column. INSERT INTO newproducts_base VALUES (1502, 'olympus camera', 'electrncs', 200); INSERT INTO newproducts_base VALUES (1601, 'lamaze', 'toys', 200); INSERT INTO newproducts_base VALUES (1666, 'harry potter', 'toys', 200); INSERT INTO newproducts_base VALUES (1700, 'wait interface', 'books', 200); ANALYZE products_base; ANALYZE newproducts_base; -create node group mergegroup1 with (datanode1, datanode3, datanode5, datanode7); -create node group mergegroup2 with (datanode2, datanode4, datanode6, datanode8, datanode10, datanode12); +create node group mergegroup1 with (datanode1, datanode3, datanode5); +create node group mergegroup2 with (datanode2, datanode4, datanode6); create node group mergegroup3 with (datanode1, datanode2, datanode3, datanode4, datanode5, datanode6); -- -- stream mode(MERGE can be pushed down), row table @@ -42,6 +46,8 @@ product_name VARCHAR(60) DEFAULT 'null', category VARCHAR(60) DEFAULT 'unknown', total INTEGER DEFAULT '0' ) to group mergegroup1; +NOTICE: The 'DISTRIBUTE BY' clause is not specified. Using 'product_id' as the distribution column by default. +HINT: Please use 'DISTRIBUTE BY' clause to specify suitable data distribution column. CREATE TABLE newproducts_row ( product_id INTEGER DEFAULT 0, @@ -49,6 +55,8 @@ product_name VARCHAR(60) DEFAULT 'null', category VARCHAR(60) DEFAULT 'unknown', total INTEGER DEFAULT '0' ) to group mergegroup2; +NOTICE: The 'DISTRIBUTE BY' clause is not specified. Using 'product_id' as the distribution column by default. +HINT: Please use 'DISTRIBUTE BY' clause to specify suitable data distribution column. INSERT INTO products_row SELECT * FROM products_base; INSERT INTO newproducts_row SELECT * FROM newproducts_base; ANALYZE products_row; @@ -65,33 +73,33 @@ WHEN NOT MATCHED THEN QUERY PLAN ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Streaming (type: GATHER) - Node/s: (GenGroup) datanode1, datanode3, datanode5, datanode7, datanode10, datanode12, datanode2, datanode4, datanode6, datanode8 + Node/s: All datanodes -> Merge on mergeinto_ng.products_row p -> Streaming(type: REDISTRIBUTE) Output: np.product_id, np.product_name, np.category, np.total, p.product_id, p.product_name, p.category, p.total, p.ctid, p.xc_node_id, np.ctid, (CASE WHEN (p.ctid IS NULL) THEN np.product_id ELSE p.product_id END) Distribute Key: (CASE WHEN (p.ctid IS NULL) THEN np.product_id ELSE p.product_id END) - Spawn on: (mergegroup1) datanode1, datanode3, datanode5, datanode7 - Consumer Nodes: (mergegroup1) datanode1, datanode3, datanode5, datanode7 + Spawn on: (mergegroup1) datanode1, datanode3, datanode5 + Consumer Nodes: (mergegroup1) datanode1, datanode3, datanode5 -> Hash Left Join Output: np.product_id, np.product_name, np.category, np.total, p.product_id, p.product_name, p.category, p.total, p.ctid, p.xc_node_id, np.ctid, CASE WHEN (p.ctid IS NULL) THEN np.product_id ELSE p.product_id END - Exec Nodes: (mergegroup1) datanode1, datanode3, datanode5, datanode7 + Exec Nodes: (mergegroup1) datanode1, datanode3, datanode5 Hash Cond: (np.product_id = p.product_id) -> Streaming(type: REDISTRIBUTE ng: mergegroup2->mergegroup1) Output: np.product_id, np.product_name, np.category, np.total, np.ctid Distribute Key: np.product_id - Spawn on: (mergegroup2) datanode10, datanode12, datanode2, datanode4, datanode6, datanode8 - Consumer Nodes: (mergegroup1) datanode1, datanode3, datanode5, datanode7 + Spawn on: (mergegroup2) datanode2, datanode4, datanode6 + Consumer Nodes: (mergegroup1) datanode1, datanode3, datanode5 -> Seq Scan on mergeinto_ng.newproducts_row np Output: np.product_id, np.product_name, np.category, np.total, np.ctid Distribute Key: np.product_id - Exec Nodes: (mergegroup2) datanode10, datanode12, datanode2, datanode4, datanode6, datanode8 + Exec Nodes: (mergegroup2) datanode2, datanode4, datanode6 -> Hash Output: p.product_id, p.product_name, p.category, p.total, p.ctid, p.xc_node_id - Exec Nodes: (mergegroup1) datanode1, datanode3, datanode5, datanode7 + Exec Nodes: (mergegroup1) datanode1, datanode3, datanode5 -> Seq Scan on mergeinto_ng.products_row p Output: p.product_id, p.product_name, p.category, p.total, p.ctid, p.xc_node_id Distribute Key: p.product_id - Exec Nodes: (mergegroup1) datanode1, datanode3, datanode5, datanode7 + Exec Nodes: (mergegroup1) datanode1, datanode3, datanode5 (28 rows) -- only MATCHED clause @@ -439,6 +447,8 @@ PARTITION BY RANGE (product_id) PARTITION P2 VALUES LESS THAN (1700), PARTITION P3 VALUES LESS THAN (1800) ) ENABLE ROW MOVEMENT; +NOTICE: The 'DISTRIBUTE BY' clause is not specified. Using 'product_id' as the distribution column by default. +HINT: Please use 'DISTRIBUTE BY' clause to specify suitable data distribution column. INSERT INTO products_part SELECT * FROM products_base; ANALYZE products_part; MERGE INTO products_part p @@ -799,6 +809,8 @@ SELECT * FROM products_row ORDER BY 1; ROLLBACK; -- Function scans CREATE TABLE fs_target (a int, b int, c text); +NOTICE: The 'DISTRIBUTE BY' clause is not specified. Using 'a' as the distribution column by default. +HINT: Please use 'DISTRIBUTE BY' clause to specify suitable data distribution column. MERGE INTO fs_target t USING generate_series(1,100,1) AS id ON t.a = id diff --git a/src/test/regress/expected/nodegroup_subplan_smp_test.out b/src/test/regress/expected/nodegroup_subplan_smp_test.out index 8b29653e7..b06fb8795 100644 --- a/src/test/regress/expected/nodegroup_subplan_smp_test.out +++ b/src/test/regress/expected/nodegroup_subplan_smp_test.out @@ -4154,7 +4154,7 @@ HINT: Do analyze for them in order to generate optimized plan. Distribute Key: nodegroup_subplan_test.t_subplan1.a1, nodegroup_subplan_test.t_subplan1.b1 -> Vector Nest Loop Left Join Output: nodegroup_subplan_test.t_subplan1.a1, nodegroup_subplan_test.t_subplan1.b1, nodegroup_subplan_test.t_subplan1.c1, nodegroup_subplan_test.t_subplan1.d1, t_subplan2.a2, t_subplan2.b2, ($0) - Join Filter: (NULL::boolean AND (t_subplan2.b2 = nodegroup_subplan_test.t_subplan1.b1)) + Join Filter: false -> Vector Streaming(type: REDISTRIBUTE dop: 1/2 ng: ng0->group1) Output: nodegroup_subplan_test.t_subplan1.a1, nodegroup_subplan_test.t_subplan1.b1, nodegroup_subplan_test.t_subplan1.c1, nodegroup_subplan_test.t_subplan1.d1 Distribute Key: nodegroup_subplan_test.t_subplan1.a1, nodegroup_subplan_test.t_subplan1.b1 diff --git a/src/test/regress/expected/nodegroup_utility_test.out b/src/test/regress/expected/nodegroup_utility_test.out index 818b2b6bd..d85e46436 100644 --- a/src/test/regress/expected/nodegroup_utility_test.out +++ b/src/test/regress/expected/nodegroup_utility_test.out @@ -51,10 +51,12 @@ truncate t1ng5678; -- #1 grant tables under schema GRANT ALL ON ALL TABLES IN SCHEMA public TO public; -- #2. vacuum catalog table +set xc_maintenance_mode = on; vacuum full pg_class; vacuum pg_class; vacuum; vacuum full; +set xc_maintenance_mode = off; -- will fail as we don't allow drop tables from different node group drop table t1ng1234, t1ng5678; ERROR: NOT-SUPPORT: Not support DROP multiple objects different nodegroup diff --git a/src/test/regress/expected/opr_sanity.out b/src/test/regress/expected/opr_sanity.out index 49eb15196..937f46b2a 100644 --- a/src/test/regress/expected/opr_sanity.out +++ b/src/test/regress/expected/opr_sanity.out @@ -2686,8 +2686,6 @@ WHERE d.classoid IS NULL AND p1.oid <= 9999 order by 1; 6116 | int1smaller 6117 | int1inc 6118 | set_hashbucket_info - 6203 | pg_start_backup - 6204 | pg_stop_backup 6224 | gs_get_next_xid_csn 6321 | pg_stat_file_recursive 7777 | sysdate diff --git a/src/test/regress/expected/plan_table04.out b/src/test/regress/expected/plan_table04.out old mode 100755 new mode 100644 diff --git a/src/test/regress/expected/rangefuncs.out b/src/test/regress/expected/rangefuncs.out index fdca275aa..dcf069261 100644 --- a/src/test/regress/expected/rangefuncs.out +++ b/src/test/regress/expected/rangefuncs.out @@ -825,11 +825,9 @@ select * from tt order by 1, 2; -- note that nextval() gets executed a second time in the rule expansion, -- which is expected. select * from tt_log order by 1, 2; - f1 | data -----+--------- - | barlog - | foollog -(2 rows) + f1 | data +----+------ +(0 rows) -- test case for a whole-row-variable bug create function foo1(n integer, out a text, out b text) diff --git a/src/test/regress/expected/rangefuncs_1.out b/src/test/regress/expected/rangefuncs_1.out index 393705bd4..8198aa748 100644 --- a/src/test/regress/expected/rangefuncs_1.out +++ b/src/test/regress/expected/rangefuncs_1.out @@ -11,6 +11,7 @@ SELECT name, setting FROM pg_settings WHERE name LIKE 'enable%' ORDER BY name; enable_backend_control | on enable_bbox_dump | off enable_beta_features | off + enable_beta_opfusion | off enable_bitmapscan | on enable_bloom_filter | on enable_broadcast | on @@ -88,7 +89,7 @@ SELECT name, setting FROM pg_settings WHERE name LIKE 'enable%' ORDER BY name; enable_vector_engine | on enable_wdr_snapshot | off enable_xlog_prune | on -(114 rows) +(115 rows) CREATE TABLE foo2(fooid int, f2 int); INSERT INTO foo2 VALUES(1, 11); diff --git a/src/test/regress/expected/rewrite.out b/src/test/regress/expected/rewrite.out index db782597e..e9b3a1483 100644 --- a/src/test/regress/expected/rewrite.out +++ b/src/test/regress/expected/rewrite.out @@ -30,6 +30,7 @@ INSERT INTO replication_example(somedata) VALUES (3); ALTER TABLE replication_example ADD COLUMN testcolumn2 int; INSERT INTO replication_example(somedata, testcolumn1, testcolumn2) VALUES (4, 2, 1); COMMIT; +set xc_maintenance_mode = on; VACUUM FULL pg_am; VACUUM FULL pg_amop; VACUUM FULL pg_proc; @@ -44,6 +45,7 @@ CLUSTER pg_class USING pg_class_oid_index; -- repeated rewrites in different transactions VACUUM FULL pg_class; VACUUM FULL pg_class; +set xc_maintenance_mode = off; INSERT INTO replication_example(somedata, testcolumn1) VALUES (5, 3); START TRANSACTION; INSERT INTO replication_example(somedata, testcolumn1) VALUES (6, 4); diff --git a/src/test/regress/expected/select.out b/src/test/regress/expected/select.out index aa0ee75aa..ffed06212 100644 --- a/src/test/regress/expected/select.out +++ b/src/test/regress/expected/select.out @@ -909,4 +909,4 @@ select 1 ^= 2; ?column? ---------- t -(1 row) +(1 row) \ No newline at end of file diff --git a/src/test/regress/expected/single_node_ddl.out b/src/test/regress/expected/single_node_ddl.out index c9f64b886..d1b18dfc9 100644 --- a/src/test/regress/expected/single_node_ddl.out +++ b/src/test/regress/expected/single_node_ddl.out @@ -36,9 +36,8 @@ drop table table1; create barrier; ERROR: Un-support feature DETAIL: The distributed capability is not supported currently. -clean connection to node (dn2); -ERROR: Un-support feature -DETAIL: The distributed capability is not supported currently. +clean connection to node (dn2) for database regression; +ERROR: Node dn2: object not defined execute direct on (dn2) 'select * from table1'; ERROR: Un-support feature DETAIL: The distributed capability is not supported currently. diff --git a/src/test/regress/expected/single_node_mergeinto.out b/src/test/regress/expected/single_node_mergeinto.out index d582595f7..16a79c192 100644 --- a/src/test/regress/expected/single_node_mergeinto.out +++ b/src/test/regress/expected/single_node_mergeinto.out @@ -112,3 +112,112 @@ on ( t1.c1=t2.c5+50 ) when matched then update set t1.c6 = t2.c6 when not matched then insert values(t2.c5, t2.c6, t2.c2); ERROR: unable to get a stable set of rows in the source tables +------------------------------------------------------- +-- Verify foreign key validity +-- Notice: merge into when matched then update [FK] when not matched then insert values(value, [FK]); +-- we must take attention about column in "[]"; +------------------------------------------------------- +create table pkt(a int primary key); +NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "pkt_pkey" for table "pkt" +create table fkt(a int primary key, b int references pkt); +NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "fkt_pkey" for table "fkt" +create table dtt(a int, b int); +insert into pkt values(1),(2),(3); +insert into dtt values(1,1),(2,2); +merge into fkt using dtt on (dtt.a=fkt.a) when matched then update set fkt.b = 3 when not matched then insert values(dtt.a, dtt.b); +select * from fkt; + a | b +---+--- + 1 | 1 + 2 | 2 +(2 rows) + +merge into fkt using dtt on (dtt.a=fkt.a) when matched then update set fkt.b = 3 when not matched then insert values(dtt.a, dtt.b); +select * from fkt; + a | b +---+--- + 1 | 3 + 2 | 3 +(2 rows) + +merge into fkt using dtt on (dtt.a=fkt.a) when matched then update set fkt.b = 5 when not matched then insert values(dtt.a, dtt.b); +ERROR: insert or update on table "fkt" violates foreign key constraint "fkt_b_fkey" +DETAIL: Key (b)=(5) is not present in table "pkt". +select * from fkt; + a | b +---+--- + 1 | 3 + 2 | 3 +(2 rows) + +truncate fkt; +insert into dtt values(5,5); +merge into fkt using dtt on (dtt.a=fkt.a) when matched then update set fkt.b = 3 when not matched then insert values(dtt.a, dtt.b); +ERROR: insert or update on table "fkt" violates foreign key constraint "fkt_b_fkey" +DETAIL: Key (b)=(5) is not present in table "pkt". +select * from fkt; + a | b +---+--- +(0 rows) + +---------------------------------------------------- +-- trigger +---------------------------------------------------- +CREATE FUNCTION mgit_before_func() + RETURNS TRIGGER language plpgsql AS +$$ +BEGIN + IF (TG_OP = 'UPDATE') THEN + RAISE warning 'before update (old): %', old.*::TEXT; + RAISE warning 'before update (new): %', new.*::TEXT; + elsIF (TG_OP = 'INSERT') THEN + RAISE warning 'before insert (new): %', new.*::TEXT; + END IF; + RETURN new; +END; +$$; +CREATE TRIGGER mgit_before_trig BEFORE INSERT OR UPDATE ON fkt + FOR EACH ROW EXECUTE procedure mgit_before_func(); +CREATE FUNCTION mgit_after_func() + RETURNS TRIGGER language plpgsql AS +$$ +BEGIN + IF (TG_OP = 'UPDATE') THEN + RAISE warning 'after update (old): %', old.*::TEXT; + RAISE warning 'after update (new): %', new.*::TEXT; + elsIF (TG_OP = 'INSERT') THEN + RAISE warning 'after insert (new): %', new.*::TEXT; + END IF; + RETURN null; +END; +$$; +CREATE TRIGGER mgit_after_trig AFTER INSERT OR UPDATE ON fkt + FOR EACH ROW EXECUTE procedure mgit_after_func(); +insert into fkt values(1,1); +WARNING: before insert (new): (1,1) +WARNING: after insert (new): (1,1) +delete from dtt where a = 5; -- now dtt: (1,1),(2,2) fkt:(1,1) +merge into fkt using dtt on (dtt.a=fkt.a) when matched then update set fkt.b = 3 when not matched then insert values(dtt.a, dtt.b); +WARNING: before update (old): (1,1) +WARNING: before update (new): (1,3) +WARNING: before insert (new): (2,2) +WARNING: after update (old): (1,1) +WARNING: after update (new): (1,3) +WARNING: after insert (new): (2,2) +select * from fkt; + a | b +---+--- + 1 | 3 + 2 | 2 +(2 rows) + +------------------------------------------------ +-- clean up +------------------------------------------------ +drop trigger mgit_after_trig on fkt; +drop trigger mgit_before_trig on fkt; +drop function mgit_before_func; +drop function mgit_after_func; +drop table dtt; +drop table fkt; +drop table pkt; diff --git a/src/test/regress/expected/single_node_opr_sanity.out b/src/test/regress/expected/single_node_opr_sanity.out old mode 100755 new mode 100644 index a35bd49d5..7c9f3d78d --- a/src/test/regress/expected/single_node_opr_sanity.out +++ b/src/test/regress/expected/single_node_opr_sanity.out @@ -2773,8 +2773,6 @@ WHERE d.classoid IS NULL AND p1.oid <= 9999 order by 1; 6200 | mot_session_memory_detail 6201 | mot_global_memory_detail 6202 | mot_local_memory_detail - 6203 | pg_start_backup - 6204 | pg_stop_backup 6224 | gs_get_next_xid_csn 6321 | pg_stat_file_recursive 7777 | sysdate diff --git a/src/test/regress/expected/single_node_vacuum.out b/src/test/regress/expected/single_node_vacuum.out index 6d6b11f91..262843422 100644 --- a/src/test/regress/expected/single_node_vacuum.out +++ b/src/test/regress/expected/single_node_vacuum.out @@ -72,9 +72,11 @@ ERROR: ANALYZE cannot be executed from a function or multi-command string CONTEXT: SQL function "do_analyze" statement 1 SQL function "wrap_do_analyze" statement 1 ANALYZE vaccluster; +set xc_maintenance_mode = on; VACUUM FULL pg_am; VACUUM FULL pg_class; VACUUM FULL pg_database; +set xc_maintenance_mode = off; VACUUM FULL vaccluster; VACUUM FULL vactst; -- check behavior with duplicate column mentions diff --git a/src/test/regress/expected/subselect_part1.out b/src/test/regress/expected/subselect_part1.out index a7851dbc9..962329715 100644 --- a/src/test/regress/expected/subselect_part1.out +++ b/src/test/regress/expected/subselect_part1.out @@ -422,11 +422,12 @@ create rule shipped_view_insert as on insert to shipped_view do instead insert into parts (partnum, cost) values (1, 1234.56); insert into shipped_view (ordnum, partnum, value) values (0, 1, (select cost from parts where partnum = '1')); +ERROR: cannot insert into view "shipped_view" +HINT: You need an unconditional ON INSERT DO INSTEAD rule or an INSTEAD OF INSERT trigger. select * from shipped_view; - ttype | ordnum | partnum | value --------+--------+---------+--------- - wt | 0 | 1 | 1234.56 -(1 row) + ttype | ordnum | partnum | value +-------+--------+---------+------- +(0 rows) create rule shipped_view_update as on update to shipped_view do instead update shipped set partnum = new.partnum, value = new.value @@ -435,11 +436,12 @@ update shipped_view set value = 11 from int4_tbl a join int4_tbl b on (a.f1 = (select f1 from int4_tbl c where c.f1=b.f1)) where ordnum = a.f1; +ERROR: cannot update view "shipped_view" +HINT: You need an unconditional ON UPDATE DO INSTEAD rule or an INSTEAD OF UPDATE trigger. select * from shipped_view; ttype | ordnum | partnum | value -------+--------+---------+------- - wt | 0 | 1 | 11 -(1 row) +(0 rows) select f1, ss1 as relabel from (select *, (select sum(f1) from int4_tbl b where f1 >= a.f1) as ss1 diff --git a/src/test/regress/expected/temp.out b/src/test/regress/expected/temp.out index 053f17487..c3c29536c 100644 --- a/src/test/regress/expected/temp.out +++ b/src/test/regress/expected/temp.out @@ -846,3 +846,27 @@ Drop table test_temp1, test_ordinary; Drop table test_temp1, test_temp2; ERROR: table "test_temp1" does not exist Drop table temp_col1, temp_col2; +-- Test types in temp schema +set search_path = pg_temp, public; +create domain pg_temp.nonempty as text check (value <> ''); +-- function-syntax invocation of types matches rules for functions +select nonempty(''); +ERROR: function nonempty(unknown) does not exist +LINE 1: select nonempty(''); + ^ +HINT: No function matches the given name and argument types. You might need to add explicit type casts. +CONTEXT: referenced column: nonempty +select pg_temp.nonempty(''); + nonempty +---------- + +(1 row) + +-- other syntax matches rules for tables +select ''::nonempty; + nonempty +---------- + +(1 row) + +reset search_path; diff --git a/src/test/regress/expected/tpch_disablevec07.out b/src/test/regress/expected/tpch_disablevec07.out index f09cdb630..1da4618e6 100644 --- a/src/test/regress/expected/tpch_disablevec07.out +++ b/src/test/regress/expected/tpch_disablevec07.out @@ -67,15 +67,13 @@ order by Join Filter: (((n1.n_name = 'FRANCE '::bpchar) AND (n2.n_name = 'GERMANY'::bpchar)) OR ((n1.n_name = 'GERMANY'::bpchar) AND (n2.n_name = 'FRANCE'::bpchar))) -> Row Adapter -> CStore Scan on nation n1 - Filter: ((n_name = 'FRANCE '::bpchar) OR (n_name = 'FRANCE '::bpchar) OR (n_name = 'GERMANY'::bpchar) OR (n_name = 'GERMANY'::bpchar)) -> Materialize -> Row Adapter -> CStore Scan on nation n2 - Filter: ((n_name = 'GERMANY'::bpchar) OR (n_name = 'GERMANY'::bpchar) OR (n_name = 'FRANCE'::bpchar) OR (n_name = 'FRANCE'::bpchar)) -> Hash -> Row Adapter -> CStore Scan on supplier -(34 rows) +(32 rows) select supp_nation, diff --git a/src/test/regress/expected/tpchcol07.out b/src/test/regress/expected/tpchcol07.out index 69222e384..60c9b821e 100644 --- a/src/test/regress/expected/tpchcol07.out +++ b/src/test/regress/expected/tpchcol07.out @@ -61,12 +61,10 @@ order by -> Vector Nest Loop Join Filter: (((n1.n_name = 'FRANCE '::bpchar) AND (n2.n_name = 'GERMANY'::bpchar)) OR ((n1.n_name = 'GERMANY'::bpchar) AND (n2.n_name = 'FRANCE'::bpchar))) -> CStore Scan on nation n1 - Filter: ((n_name = 'FRANCE '::bpchar) OR (n_name = 'FRANCE '::bpchar) OR (n_name = 'GERMANY'::bpchar) OR (n_name = 'GERMANY'::bpchar)) -> Vector Materialize -> CStore Scan on nation n2 - Filter: ((n_name = 'GERMANY'::bpchar) OR (n_name = 'GERMANY'::bpchar) OR (n_name = 'FRANCE'::bpchar) OR (n_name = 'FRANCE'::bpchar)) -> CStore Scan on supplier -(25 rows) +(23 rows) select supp_nation, diff --git a/src/test/regress/expected/upsert_001.out b/src/test/regress/expected/upsert_001.out index 3b3625c2f..975a80a6e 100644 --- a/src/test/regress/expected/upsert_001.out +++ b/src/test/regress/expected/upsert_001.out @@ -2,8 +2,6 @@ DROP SCHEMA test_upsert_001 CASCADE; ERROR: schema "test_upsert_001" does not exist CREATE SCHEMA test_upsert_001; SET CURRENT_SCHEMA TO test_upsert_001; --- enable_upsert_to_merge must is off, or upsert will be translated to merge. -SET enable_upsert_to_merge TO OFF; -- test description \h INSERT Command: INSERT @@ -12,7 +10,7 @@ Syntax: [ WITH [ RECURSIVE ] with_query [, ...] ] INSERT INTO table_name [ ( column_name [, ...] ) ] { DEFAULT VALUES | VALUES {( { expression | DEFAULT } [, ...] ) }[, ...] | query } - [ ON DUPLICATE KEY UPDATE { column_name = { expression | DEFAULT } } [, ...] ] + [ ON DUPLICATE KEY UPDATE { NOTHING | { column_name = { expression | DEFAULT } } [, ...] } ] [ RETURNING {* | {output_expression [ [ AS ] output_name ] }[, ...]} ]; -- test permission diff --git a/src/test/regress/expected/upsert_002.out b/src/test/regress/expected/upsert_002.out index 7701d4384..2109fef81 100644 --- a/src/test/regress/expected/upsert_002.out +++ b/src/test/regress/expected/upsert_002.out @@ -2,8 +2,6 @@ DROP SCHEMA test_upsert_002 CASCADE; ERROR: schema "test_upsert_002" does not exist CREATE SCHEMA test_upsert_002; SET CURRENT_SCHEMA TO test_upsert_002; --- enable_upsert_to_merge must is off, or upsert will be translated to merge. -SET enable_upsert_to_merge TO OFF; -- test t1 with no index CREATE TABLE t1 ( col1 INT, diff --git a/src/test/regress/expected/upsert_003.out b/src/test/regress/expected/upsert_003.out index 6b2e90ad6..988bd549f 100644 --- a/src/test/regress/expected/upsert_003.out +++ b/src/test/regress/expected/upsert_003.out @@ -2,8 +2,6 @@ DROP SCHEMA test_insert_update_003 CASCADE; ERROR: schema "test_insert_update_003" does not exist CREATE SCHEMA test_insert_update_003; SET CURRENT_SCHEMA TO test_insert_update_003; --- enable_upsert_to_merge must is off, or upsert will be translated to merge. -SET enable_upsert_to_merge TO OFF; -- test t4 with one primary key with three columns CREATE TABLE t4 ( col1 INT, diff --git a/src/test/regress/expected/upsert_008.out b/src/test/regress/expected/upsert_008.out index 1d241be3b..6fd16af16 100644 --- a/src/test/regress/expected/upsert_008.out +++ b/src/test/regress/expected/upsert_008.out @@ -4,8 +4,6 @@ -- initial CREATE SCHEMA test_insert_update_008; SET current_schema = test_insert_update_008; --- enable_upsert_to_merge must is off, or upsert will be translated to merge. -SET enable_upsert_to_merge TO OFF; CREATE TABLE products_base ( product_id INTEGER DEFAULT 0, diff --git a/src/test/regress/expected/upsert_009.out b/src/test/regress/expected/upsert_009.out index ab5bad7ad..0d0d34fa6 100644 --- a/src/test/regress/expected/upsert_009.out +++ b/src/test/regress/expected/upsert_009.out @@ -3,8 +3,6 @@ ERROR: schema "test_insert_update_009" does not exist CREATE SCHEMA test_insert_update_009; SET CURRENT_SCHEMA TO test_insert_update_009; SET enable_light_proxy=off; --- enable_upsert_to_merge must is off, or upsert will be translated to merge. -SET enable_upsert_to_merge TO OFF; -- test t1 with no index CREATE TABLE t1 ( col1 INT, diff --git a/src/test/regress/expected/upsert_010.out b/src/test/regress/expected/upsert_010.out index 4c506f245..caff8257c 100644 --- a/src/test/regress/expected/upsert_010.out +++ b/src/test/regress/expected/upsert_010.out @@ -2,8 +2,6 @@ DROP SCHEMA test_insert_update_010 CASCADE; ERROR: schema "test_insert_update_010" does not exist CREATE SCHEMA test_insert_update_010; SET CURRENT_SCHEMA TO test_insert_update_010; --- enable_upsert_to_merge must is off, or upsert will be translated to merge. -SET enable_upsert_to_merge TO OFF; -- test t4 with one primary key with three columns CREATE TABLE t4 ( col1 INT, diff --git a/src/test/regress/expected/upsert_composite.out b/src/test/regress/expected/upsert_composite.out index 648d22c9e..3ee8c6734 100644 --- a/src/test/regress/expected/upsert_composite.out +++ b/src/test/regress/expected/upsert_composite.out @@ -5,14 +5,6 @@ -------------------------------------------------------------------------------------------- \c upsert; SET CURRENT_SCHEMA TO upsert_test_procedure; --- enable_upsert_to_merge must be off, or upsert will be translated to merge. -SET enable_upsert_to_merge TO OFF; -SHOW enable_upsert_to_merge; - enable_upsert_to_merge ------------------------- - off -(1 row) - drop table IF EXISTS t_proc; NOTICE: table "t_proc" does not exist, skipping create table t_proc(c1 int, c2 int, c3 int unique); diff --git a/src/test/regress/expected/upsert_explain.out b/src/test/regress/expected/upsert_explain.out index 7aa99f20c..450a2ebcd 100644 --- a/src/test/regress/expected/upsert_explain.out +++ b/src/test/regress/expected/upsert_explain.out @@ -5,14 +5,6 @@ -------------------------------------------------------------------------------------------- \c upsert; SET CURRENT_SCHEMA TO upsert_test_explain; --- enable_upsert_to_merge must be off, or upsert will be translated to merge. -SET enable_upsert_to_merge TO OFF; -SHOW enable_upsert_to_merge; - enable_upsert_to_merge ------------------------- - off -(1 row) - create temp table up_expl_temp(c1 int, c2 int, c3 int unique) ; NOTICE: CREATE TABLE / UNIQUE will create implicit index "up_expl_temp_c3_key" for table "up_expl_temp" insert into up_expl_hash select a,a,a from generate_series(1,20) as a; diff --git a/src/test/regress/expected/upsert_grammer_test_01.out b/src/test/regress/expected/upsert_grammer_test_01.out index ce10511d8..e362bf852 100644 --- a/src/test/regress/expected/upsert_grammer_test_01.out +++ b/src/test/regress/expected/upsert_grammer_test_01.out @@ -1,13 +1,5 @@ \c upsert SET CURRENT_SCHEMA TO upsert_test; --- enable_upsert_to_merge must be off, or upsert will be translated to merge. -SET enable_upsert_to_merge TO OFF; -SHOW enable_upsert_to_merge; - enable_upsert_to_merge ------------------------- - off -(1 row) - -- support multiple set INSERT INTO t_grammer VALUES(11, 1) ON DUPLICATE KEY UPDATE c2 = 2, c4 = ROW(10, 20), c3 = '{10, 20, 30}'; INSERT INTO t_grammer VALUES(12, 2) ON DUPLICATE KEY UPDATE c2 = 2, c3[1] = 3; diff --git a/src/test/regress/expected/upsert_grammer_test_02.out b/src/test/regress/expected/upsert_grammer_test_02.out index 0b12c39a4..9f3d1d576 100644 --- a/src/test/regress/expected/upsert_grammer_test_02.out +++ b/src/test/regress/expected/upsert_grammer_test_02.out @@ -1,13 +1,5 @@ \c upsert SET CURRENT_SCHEMA TO upsert_test; --- enable_upsert_to_merge must be off, or upsert will be translated to merge. -SET enable_upsert_to_merge TO OFF; -SHOW enable_upsert_to_merge; - enable_upsert_to_merge ------------------------- - off -(1 row) - -- support multiple set INSERT INTO t_grammer VALUES(11, 1) ON DUPLICATE KEY UPDATE c2 = 2, c4 = ROW(10, 20), c3 = '{10, 20, 30}'; INSERT INTO t_grammer VALUES(12, 2) ON DUPLICATE KEY UPDATE c2 = 2, c3[1] = 3; diff --git a/src/test/regress/expected/upsert_restriction.out b/src/test/regress/expected/upsert_restriction.out index 7180de575..5d64ea9c8 100644 --- a/src/test/regress/expected/upsert_restriction.out +++ b/src/test/regress/expected/upsert_restriction.out @@ -25,14 +25,6 @@ -------------------------------------------------------------------------------------------- \c upsert SET CURRENT_SCHEMA TO upsert_test_etc; --- enable_upsert_to_merge must be off, or upsert will be translated to merge. -SET enable_upsert_to_merge TO OFF; -SHOW enable_upsert_to_merge; - enable_upsert_to_merge ------------------------- - off -(1 row) - insert into up_neg_04 select a,a,a from generate_series(1,20) as a; insert into up_neg_05 select a,a,a,a,a from generate_series(1,20) as a; insert into up_neg_06 select a,a,a from generate_series(1,20) as a; @@ -53,7 +45,8 @@ ERROR: INSERT ON DUPLICATE KEY UPDATE is not supported on VIEW. -- matview refresh materialized view mat_view; insert into mat_view values(1) on duplicate key update c3 = 1; -ERROR: cannot change materialized view "mat_view" +ERROR: Unsupported feature +DETAIL: Materialized view doesn't allow INSERT -- index ---- DEFERABLE index insert into up_neg_03 values(1,2,3) on duplicate key update c1 = 1; @@ -227,3 +220,6 @@ insert into fkt values(1,1,1),(2,2,2),(3,3,3) on duplicate key update b=excluded insert into fkt values(1,1,1),(2,2,2),(3,3,3) on duplicate key update b=excluded.b+3, c=-1; ERROR: insert or update on table "fkt" violates foreign key constraint "fkt_b_fkey" DETAIL: Key (b)=(6) is not present in table "pkt". +insert into fkt values(1,8,1),(2,9,2),(3,3,3),(4,9,4) on duplicate key update b=excluded.b+3, c=-1; +ERROR: insert or update on table "fkt" violates foreign key constraint "fkt_b_fkey" +DETAIL: Key (b)=(11) is not present in table "pkt". diff --git a/src/test/regress/expected/upsert_tmp_test.out b/src/test/regress/expected/upsert_tmp_test.out index c78457643..66f6083f1 100644 --- a/src/test/regress/expected/upsert_tmp_test.out +++ b/src/test/regress/expected/upsert_tmp_test.out @@ -9,14 +9,6 @@ NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "t_hash_tmp_1_pke CREATE TEMP TABLE t_rep_tmp_0 (c1 INT, c2 INT, c3 VARCHAR, c4 INT[3], c5 INT[5], c6 atype, c7 btype) ; CREATE TEMP TABLE t_rep_tmp_1 (c1 INT, c2 INT PRIMARY KEY, c3 VARCHAR, c4 INT[3], c5 INT[5], c6 atype, c7 btype) ; NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "t_rep_tmp_1_pkey" for table "t_rep_tmp_1" --- enable_upsert_to_merge must be off, or upsert will be translated to merge. -SET enable_upsert_to_merge TO OFF; -SHOW enable_upsert_to_merge; - enable_upsert_to_merge ------------------------- - off -(1 row) - -- hash table -- tmp table without primary key INSERT INTO t_hash_tmp_0 VALUES(1, 1, 'C3', '{1,2,3}', '{10,20,30,40,50}', ROW(10,20), ROW(100, ROW(10,20), '{100,200}')), diff --git a/src/test/regress/expected/upsert_trigger_test.out b/src/test/regress/expected/upsert_trigger_test.out index b0c3acaa6..593e40d12 100644 --- a/src/test/regress/expected/upsert_trigger_test.out +++ b/src/test/regress/expected/upsert_trigger_test.out @@ -1,13 +1,5 @@ \c upsert SET CURRENT_SCHEMA TO upsert_test; --- enable_upsert_to_merge must be off, or upsert will be translated to merge. -SET enable_upsert_to_merge TO OFF; -SHOW enable_upsert_to_merge; - enable_upsert_to_merge ------------------------- - off -(1 row) - CREATE FUNCTION upsert_before_func() RETURNS TRIGGER language plpgsql AS $$ diff --git a/src/test/regress/expected/upsert_unlog_test.out b/src/test/regress/expected/upsert_unlog_test.out index 3d6c69ea9..d2dd11368 100644 --- a/src/test/regress/expected/upsert_unlog_test.out +++ b/src/test/regress/expected/upsert_unlog_test.out @@ -1,13 +1,5 @@ \c upsert SET CURRENT_SCHEMA TO upsert_test_unlog; --- enable_upsert_to_merge must be off, or upsert will be translated to merge. -SET enable_upsert_to_merge TO OFF; -SHOW enable_upsert_to_merge; - enable_upsert_to_merge ------------------------- - off -(1 row) - -- hash table -- unlogged table without primary key INSERT INTO t_hash_unlog_0 VALUES(1, 1, 'C3', '{1,2,3}', '{10,20,30,40,50}', ROW(10,20), ROW(100, ROW(10,20), '{100,200}')), diff --git a/src/test/regress/expected/vacuum.out b/src/test/regress/expected/vacuum.out index 25c9264bd..4f330b008 100644 --- a/src/test/regress/expected/vacuum.out +++ b/src/test/regress/expected/vacuum.out @@ -63,9 +63,11 @@ NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "vaccluster_pkey" ALTER TABLE vaccluster CLUSTER ON vaccluster_pkey; INSERT INTO vaccluster SELECT * FROM vactst; CLUSTER vaccluster; +set xc_maintenance_mode = on; VACUUM FULL pg_am; VACUUM FULL pg_class; VACUUM FULL pg_database; +set xc_maintenance_mode = off; VACUUM FULL vaccluster; VACUUM FULL vactst; DROP TABLE vaccluster; diff --git a/src/test/regress/expected/with.out b/src/test/regress/expected/with.out index 3d94e5814..d30060329 100644 --- a/src/test/regress/expected/with.out +++ b/src/test/regress/expected/with.out @@ -1462,12 +1462,6 @@ WITH t AS ( ) SELECT * FROM t; a ----- - 42 -(1 row) - -SELECT * FROM y order by 1; - a ---- 0 1 @@ -1476,15 +1470,19 @@ SELECT * FROM y order by 1; 4 5 6 - 7 - 8 - 9 11 + 7 12 + 8 13 + 9 14 - 42 -(15 rows) +(14 rows) + +SELECT * FROM y order by 1; + a +--- +(0 rows) DROP RULE y_rule ON y; -- check merging of outer CTE with CTE in a rule action @@ -1516,21 +1514,18 @@ WITH t1 AS ( DELETE FROM bug6051 RETURNING * ) INSERT INTO bug6051 SELECT * FROM t1; SELECT * FROM bug6051 ORDER BY 1; i ---- -(0 rows) - -SELECT * FROM bug6051_2 ORDER BY 1; - i --- 1 2 3 (3 rows) +SELECT * FROM bug6051_2 ORDER BY 1; + i +--- +(0 rows) + -- a truly recursive CTE in the same list -DROP TABLE y; -CREATE TABLE y (a INTEGER PRIMARY KEY INITIALLY DEFERRED); -NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "y_pkey" for table "y" WITH RECURSIVE t(a) AS ( SELECT 0 UNION ALL @@ -1895,7 +1890,11 @@ WITH t AS ( INSERT INTO y VALUES(0) ) VALUES(FALSE); -ERROR: conditional DO INSTEAD rules are not supported for data-modifying statements in WITH + column1 +--------- + f +(1 row) + DROP RULE y_rule ON y; -- check cte replace when pulling up -- case 1: exists/any sublink diff --git a/src/test/regress/expected/wlm_plan_encoding.out b/src/test/regress/expected/wlm_plan_encoding.out old mode 100755 new mode 100644 diff --git a/src/test/regress/expected/xc_alter_table.out b/src/test/regress/expected/xc_alter_table.out index 506930fe1..0d4d889f4 100644 --- a/src/test/regress/expected/xc_alter_table.out +++ b/src/test/regress/expected/xc_alter_table.out @@ -228,10 +228,9 @@ SELECT b FROM xc_alter_table_3 WHERE a = 11; EXECUTE xc_alter_table_delete(11); SELECT b FROM xc_alter_table_3 WHERE a = 11 or a = 12; - b ------ - nnn -(1 row) + b +--- +(0 rows) EXECUTE xc_alter_table_delete(12); SELECT count(*), sum(a), avg(a) FROM xc_alter_table_3; -- Check on tuple presence @@ -262,10 +261,9 @@ SELECT b FROM xc_alter_table_3 WHERE a = 11; EXECUTE xc_alter_table_delete(11); SELECT b FROM xc_alter_table_3 WHERE a = 11 or a = 12; - b ------ - nnn -(1 row) + b +--- +(0 rows) EXECUTE xc_alter_table_delete(12); SELECT count(*), sum(a), avg(a) FROM xc_alter_table_3; -- Check on tuple presence @@ -296,10 +294,9 @@ SELECT b FROM xc_alter_table_3 WHERE a = 11; EXECUTE xc_alter_table_delete(11); SELECT b FROM xc_alter_table_3 WHERE a = 11 or a = 12; - b ------ - nnn -(1 row) + b +--- +(0 rows) EXECUTE xc_alter_table_delete(12); SELECT count(*), sum(a), avg(a) FROM xc_alter_table_3; -- Check on tuple presence @@ -330,10 +327,9 @@ SELECT b FROM xc_alter_table_3 WHERE a = 11; EXECUTE xc_alter_table_delete(11); SELECT b FROM xc_alter_table_3 WHERE a = 11 or a = 12; - b ------ - nnn -(1 row) + b +--- +(0 rows) EXECUTE xc_alter_table_delete(12); SELECT count(*), sum(a), avg(a) FROM xc_alter_table_3; -- Check on tuple presence @@ -364,10 +360,9 @@ SELECT b FROM xc_alter_table_3 WHERE a = 11; EXECUTE xc_alter_table_delete(11); SELECT b FROM xc_alter_table_3 WHERE a = 11 or a = 12; - b ------ - nnn -(1 row) + b +--- +(0 rows) EXECUTE xc_alter_table_delete(12); -- Index and redistribution @@ -400,10 +395,9 @@ SELECT b FROM xc_alter_table_3 WHERE a = 11; EXECUTE xc_alter_table_delete(11); SELECT b FROM xc_alter_table_3 WHERE a = 11 or a = 12; - b ------ - nnn -(1 row) + b +--- +(0 rows) EXECUTE xc_alter_table_delete(12); -- Add column on table diff --git a/src/test/regress/expected/xc_triggers_1.out b/src/test/regress/expected/xc_triggers_1.out index 69dc5f9b4..4b565d0da 100644 --- a/src/test/regress/expected/xc_triggers_1.out +++ b/src/test/regress/expected/xc_triggers_1.out @@ -696,7 +696,9 @@ where column_constraint can be: CHECK ( expression ) | DEFAULT default_expr | UNIQUE index_parameters | - PRIMARY KEY index_parameters } + PRIMARY KEY index_parameters | + REFERENCES reftable [ ( refcolumn ) ] [ MATCH FULL | MATCH PARTIAL | MATCH SIMPLE ] + [ ON DELETE action ] [ ON UPDATE action ] } [ DEFERRABLE | NOT DEFERRABLE | INITIALLY DEFERRED | INITIALLY IMMEDIATE ] where compress_mode can be: { DELTA | PREFIX | DICTIONARY | NUMSTR | NOCOMPRESS } diff --git a/src/test/regress/input/alter_set_same_parameter.source b/src/test/regress/input/alter_set_same_parameter.source index 6b28f9bfb..96cd64f90 100644 --- a/src/test/regress/input/alter_set_same_parameter.source +++ b/src/test/regress/input/alter_set_same_parameter.source @@ -31,4 +31,4 @@ show enable_resource_track; --restart database \! @abs_bindir@/gs_ctl restart -D @abs_srcdir@/tmp_check/datanode1/ > /dev/null 2>&1 --show new value of the parameter with postmaster level -\! @abs_bindir@/gsql -d postgres -p 54323 -c 'show memorypool_size' +\! @abs_bindir@/gsql -d postgres -p @portstring@ -c 'show memorypool_size' \ No newline at end of file diff --git a/src/test/regress/input/bypass_pbe.source b/src/test/regress/input/bypass_pbe.source index 96b30ae24..89195ea9e 100644 --- a/src/test/regress/input/bypass_pbe.source +++ b/src/test/regress/input/bypass_pbe.source @@ -1,6 +1,7 @@ DROP USER IF EXISTS tom CASCADE; CREATE USER tom WITH PASSWORD "tom@1234"; SET ROLE tom PASSWORD 'tom@1234'; +\! chmod -R 700 @abs_bindir@/../jre \! @abs_bindir@/../jre/bin/java -cp $CLASSPATH:@abs_builddir@/jdbc_test/gsjdbc400.jar:@abs_builddir@/jdbc_test/bypass_pbe/. BypassPbe @portstring@ 2>&1 DROP TABLE IF EXISTS jdbcpbebypass CASCADE; RESET ROLE; diff --git a/src/test/regress/input/dfs_orc_hw_cstore_vacuum.source b/src/test/regress/input/dfs_orc_hw_cstore_vacuum.source index 8bba89f93..92cfc4d9a 100644 --- a/src/test/regress/input/dfs_orc_hw_cstore_vacuum.source +++ b/src/test/regress/input/dfs_orc_hw_cstore_vacuum.source @@ -185,7 +185,9 @@ COPY LINEITEM FROM '@abs_srcdir@/data/lineitem_cstore.data' delimiter '|'; VACUUM FULL LINEITEM; EXECUTE DIRECT ON ( datanode1 ) ' SELECT check_xmin_xmax(CAST (varchar ''lineitem'' AS text)) '; EXECUTE DIRECT ON ( datanode2 ) ' SELECT check_xmin_xmax(CAST (varchar ''lineitem'' AS text)) '; +set xc_maintenance_mode = on; VACUUM FULL; +set xc_maintenance_mode = off; EXECUTE DIRECT ON ( datanode1 ) ' SELECT check_xmin_xmax(CAST (varchar ''lineitem'' AS text)) '; EXECUTE DIRECT ON ( datanode2 ) ' SELECT check_xmin_xmax(CAST (varchar ''lineitem'' AS text)) '; DROP TABLE LINEITEM; diff --git a/src/test/regress/input/dfs_orc_hw_vacuum_compact.source b/src/test/regress/input/dfs_orc_hw_vacuum_compact.source index ced5a6815..9934dfbaf 100644 --- a/src/test/regress/input/dfs_orc_hw_vacuum_compact.source +++ b/src/test/regress/input/dfs_orc_hw_vacuum_compact.source @@ -16,7 +16,9 @@ vacuum compact full verbose freeze; vacuum; vacuum t1; +set xc_maintenance_mode = on; vacuum full; +set xc_maintenance_mode = off; vacuum full t1; -- start ... diff --git a/src/test/regress/input/dfs_orc_hw_vacuum_full.source b/src/test/regress/input/dfs_orc_hw_vacuum_full.source index 46d38c0b9..015f57eb1 100644 --- a/src/test/regress/input/dfs_orc_hw_vacuum_full.source +++ b/src/test/regress/input/dfs_orc_hw_vacuum_full.source @@ -436,7 +436,9 @@ execute direct on(datanode1) 'select print_desc_t2()'; delete from t1 where c4=1; delete from t2 where c2=2; +set xc_maintenance_mode = on; vacuum full; +set xc_maintenance_mode = off; execute direct on(datanode1) 'select public.print_desc()'; execute direct on(datanode1) 'select print_desc_t2()'; diff --git a/src/test/regress/input/enum_empty_test.source b/src/test/regress/input/enum_empty_test.source index a5f529b6a..6de4bf2a9 100644 --- a/src/test/regress/input/enum_empty_test.source +++ b/src/test/regress/input/enum_empty_test.source @@ -1,3 +1,3 @@ \! @abs_bindir@/gs_guc set -D @abs_srcdir@/tmp_check/datanode1/ -c "wal_level=hot_standby" \! @abs_bindir@/gs_guc set -D @abs_srcdir@/tmp_check/datanode1/ -c "wal_level=on" -\! @abs_bindir@/gs_guc set -D @abs_srcdir@/tmp_check/datanode1/ -c "wal_level=''" +\! @abs_bindir@/gs_guc set -D @abs_srcdir@/tmp_check/datanode1/ -c "wal_level=''" \ No newline at end of file diff --git a/src/test/regress/input/gs_guc.source b/src/test/regress/input/gs_guc.source index 0a1a7b34c..18a852774 100644 --- a/src/test/regress/input/gs_guc.source +++ b/src/test/regress/input/gs_guc.source @@ -10,4 +10,3 @@ \! @abs_bindir@/gs_guc set -D @abs_srcdir@/tmp_check/datanode1/ -c "enable_beta_nestloop_fusion=on" -----Reload(GUC) \! @abs_bindir@/gs_guc reload -D @abs_srcdir@/tmp_check/datanode1/ -c "cstore_buffers=10GB" - diff --git a/src/test/regress/input/gs_guc_value_range.source b/src/test/regress/input/gs_guc_value_range.source index aeab68267..5db1bbe31 100644 --- a/src/test/regress/input/gs_guc_value_range.source +++ b/src/test/regress/input/gs_guc_value_range.source @@ -23,5 +23,5 @@ \! @abs_bindir@/gs_guc set -D @abs_srcdir@/tmp_check/datanode1/ -c "autovacuum_naptime=256d" \! @abs_bindir@/gs_guc set -D @abs_srcdir@/tmp_check/datanode1/ -c "autovacuum_naptime=114841866167300d" -\! @abs_bindir@/gs_guc set -D @abs_srcdir@/tmp_check/datanode1/ -c "bgwriter_lru_multiplier=6.6" +\! @abs_bindir@/gs_guc set -D @abs_srcdir@/tmp_check/datanode1/ -c "bgwriter_lru_multiplier=6.6" \! @abs_bindir@/gs_guc set -D @abs_srcdir@/tmp_check/datanode1/ -c "bgwriter_lru_multiplier=11.2" \ No newline at end of file diff --git a/src/test/regress/input/gs_initdb.source b/src/test/regress/input/gs_initdb.source index c33d47bee..5b8c9b3c9 100644 --- a/src/test/regress/input/gs_initdb.source +++ b/src/test/regress/input/gs_initdb.source @@ -30,4 +30,4 @@ \! export PGDATA=@testtablespace@/test9 && ( @abs_bindir@/gs_initdb -w test@123 --nodename coorn9 >> @abs_bindir@/test_initdb9.log 2>&1 ) \! cat @abs_bindir@/test_initdb9.log | grep Success \! rm -f @abs_bindir@/test_initdb9.log -\! rm -rf @testtablespace@/test9 +\! rm -rf @testtablespace@/test9 \ No newline at end of file diff --git a/src/test/regress/input/gsqlerr.source b/src/test/regress/input/gsqlerr.source index f902f182d..a2608236f 100644 --- a/src/test/regress/input/gsqlerr.source +++ b/src/test/regress/input/gsqlerr.source @@ -1,10 +1,10 @@ --for LLT --test call scanEreport and generate errmsg.h -\! @abs_srcdir@/../../../src/bin/gsqlerr/scanEreport -\! @abs_srcdir@/../../../src/bin/gsqlerr/scanEreport 0 -\! @abs_srcdir@/../../../src/bin/gsqlerr/scanEreport src/ src/errcodes.txt -\! @abs_srcdir@/../../../src/bin/gsqlerr/scanEreport @abs_srcdir@/../../../src/common/backend/ @abs_srcdir@/../../../src/gausskernel/ src/errcodes.txt -\! @abs_srcdir@/../../../src/bin/gsqlerr/scanEreport @abs_srcdir@/../../../src/common/backend/ @abs_srcdir@/../../../src/gausskernel/ @abs_srcdir@/../../../src/common/backend/utils/errcodes.txt +\! @abs_srcdir@/../../../../src/bin/gsqlerr/scanEreport +\! @abs_srcdir@/../../../../src/bin/gsqlerr/scanEreport 0 +\! @abs_srcdir@/../../../../src/bin/gsqlerr/scanEreport src/ src/errcodes.txt escan.txt +\! @abs_srcdir@/../../../../src/bin/gsqlerr/scanEreport @abs_srcdir@/../../../.. ereport.txt src/errcodes.txt escan.txt +\! @abs_srcdir@/../../../../src/bin/gsqlerr/scanEreport @abs_srcdir@/../../../.. ereport.txt @abs_srcdir@/../../../../src/common/backend/utils/errcodes.txt escan.txt --test gsqlerr error \! @abs_bindir@/gsqlerr \! @abs_bindir@/gsqlerr -a 11 diff --git a/src/test/regress/input/hotpatch.source b/src/test/regress/input/hotpatch.source index 168146961..747e8c999 100644 --- a/src/test/regress/input/hotpatch.source +++ b/src/test/regress/input/hotpatch.source @@ -1,30 +1,30 @@ --remove patchfile -\! rm -rf @abs_gausshome@/hotpatch/pat/* > /dev/null 2>&1 +\! rm -rf @abs_bindir@/..//hotpatch/pat/* > /dev/null 2>&1 --no patch file ,load failed -\! @abs_bindir@/gs_ctl hotpatch -D @abs_srcdir@/tmp_check/coordinator1 -a load -n @abs_gausshome@/hotpatch/pat/GAUSSDBV300R002C00KERNELHP0001.pat -\! $CODE_BASE/Code/src/distribute/lib/hotpatch/tool/fastcheck/patch_tool_llt.sh @abs_gausshome@/hotpatch/pat/ > /dev/null 2>&1 +\! @abs_bindir@/gs_ctl hotpatch -D @abs_srcdir@/tmp_check/datanode1 -a load -n @abs_bindir@/..//hotpatch/pat/GAUSSDBV500R001C10KERNELHP0001.pat +\! $CODE_BASE/src/distribute/lib/hotpatch/tool/fastcheck/patch_tool_llt.sh @abs_bindir@/..//hotpatch/pat/ > /dev/null 2>&1 --generate patch file, load succeed -\! @abs_bindir@/gs_ctl hotpatch -D @abs_srcdir@/tmp_check/coordinator1 -a load -n @abs_gausshome@/hotpatch/pat/GAUSSDBV300R002C00KERNELHP0001.pat +\! @abs_bindir@/gs_ctl hotpatch -D @abs_srcdir@/tmp_check/datanode1 -a load -n @abs_bindir@/..//hotpatch/pat/GAUSSDBV500R001C10KERNELHP0001.pat --info, should show info, status is deactive -\! @abs_bindir@/gs_ctl hotpatch -D @abs_srcdir@/tmp_check/coordinator1 -a info -n @abs_gausshome@/hotpatch/pat/GAUSSDBV300R002C00KERNELHP0001.pat -\! @abs_bindir@/gs_ctl hotpatch -D @abs_srcdir@/tmp_check/coordinator1 -a list -n @abs_gausshome@/hotpatch/pat/GAUSSDBV300R002C00KERNELHP0001.pat +\! @abs_bindir@/gs_ctl hotpatch -D @abs_srcdir@/tmp_check/datanode1 -a info -n @abs_bindir@/..//hotpatch/pat/GAUSSDBV500R001C10KERNELHP0001.pat +\! @abs_bindir@/gs_ctl hotpatch -D @abs_srcdir@/tmp_check/datanode1 -a list -n @abs_bindir@/..//hotpatch/pat/GAUSSDBV500R001C10KERNELHP0001.pat --load twice, return already loaded -\! @abs_bindir@/gs_ctl hotpatch -D @abs_srcdir@/tmp_check/coordinator1 -a load -n @abs_gausshome@/hotpatch/pat/GAUSSDBV300R002C00KERNELHP0001.pat +\! @abs_bindir@/gs_ctl hotpatch -D @abs_srcdir@/tmp_check/datanode1 -a load -n @abs_bindir@/..//hotpatch/pat/GAUSSDBV500R001C10KERNELHP0001.pat --active succeed -\! @abs_bindir@/gs_ctl hotpatch -D @abs_srcdir@/tmp_check/coordinator1 -a active -n @abs_gausshome@/hotpatch/pat/GAUSSDBV300R002C00KERNELHP0001.pat +\! @abs_bindir@/gs_ctl hotpatch -D @abs_srcdir@/tmp_check/datanode1 -a active -n @abs_bindir@/..//hotpatch/pat/GAUSSDBV500R001C10KERNELHP0001.pat --info, should show info, status is active -\! @abs_bindir@/gs_ctl hotpatch -D @abs_srcdir@/tmp_check/coordinator1 -a info -n @abs_gausshome@/hotpatch/pat/GAUSSDBV300R002C00KERNELHP0001.pat -\! @abs_bindir@/gs_ctl hotpatch -D @abs_srcdir@/tmp_check/coordinator1 -a list -n @abs_gausshome@/hotpatch/pat/GAUSSDBV300R002C00KERNELHP0001.pat +\! @abs_bindir@/gs_ctl hotpatch -D @abs_srcdir@/tmp_check/datanode1 -a info -n @abs_bindir@/..//hotpatch/pat/GAUSSDBV500R001C10KERNELHP0001.pat +\! @abs_bindir@/gs_ctl hotpatch -D @abs_srcdir@/tmp_check/datanode1 -a list -n @abs_bindir@/..//hotpatch/pat/GAUSSDBV500R001C10KERNELHP0001.pat --active twice, return already active -\! @abs_bindir@/gs_ctl hotpatch -D @abs_srcdir@/tmp_check/coordinator1 -a active -n @abs_gausshome@/hotpatch/pat/GAUSSDBV300R002C00KERNELHP0001.pat +\! @abs_bindir@/gs_ctl hotpatch -D @abs_srcdir@/tmp_check/datanode1 -a active -n @abs_bindir@/..//hotpatch/pat/GAUSSDBV500R001C10KERNELHP0001.pat --unload when active, return status not correct -\! @abs_bindir@/gs_ctl hotpatch -D @abs_srcdir@/tmp_check/coordinator1 -a unload -n @abs_gausshome@/hotpatch/pat/GAUSSDBV300R002C00KERNELHP0001.pat +\! @abs_bindir@/gs_ctl hotpatch -D @abs_srcdir@/tmp_check/datanode1 -a unload -n @abs_bindir@/..//hotpatch/pat/GAUSSDBV500R001C10KERNELHP0001.pat --deactive -\! @abs_bindir@/gs_ctl hotpatch -D @abs_srcdir@/tmp_check/coordinator1 -a deactive -n @abs_gausshome@/hotpatch/pat/GAUSSDBV300R002C00KERNELHP0001.pat +\! @abs_bindir@/gs_ctl hotpatch -D @abs_srcdir@/tmp_check/datanode1 -a deactive -n @abs_bindir@/..//hotpatch/pat/GAUSSDBV500R001C10KERNELHP0001.pat --info, should show info, status is deactive -\! @abs_bindir@/gs_ctl hotpatch -D @abs_srcdir@/tmp_check/coordinator1 -a info -n @abs_gausshome@/hotpatch/pat/GAUSSDBV300R002C00KERNELHP0001.pat -\! @abs_bindir@/gs_ctl hotpatch -D @abs_srcdir@/tmp_check/coordinator1 -a list -n @abs_gausshome@/hotpatch/pat/GAUSSDBV300R002C00KERNELHP0001.pat +\! @abs_bindir@/gs_ctl hotpatch -D @abs_srcdir@/tmp_check/datanode1 -a info -n @abs_bindir@/..//hotpatch/pat/GAUSSDBV500R001C10KERNELHP0001.pat +\! @abs_bindir@/gs_ctl hotpatch -D @abs_srcdir@/tmp_check/datanode1 -a list -n @abs_bindir@/..//hotpatch/pat/GAUSSDBV500R001C10KERNELHP0001.pat --unload when deactive -\! @abs_bindir@/gs_ctl hotpatch -D @abs_srcdir@/tmp_check/coordinator1 -a unload -n @abs_gausshome@/hotpatch/pat/GAUSSDBV300R002C00KERNELHP0001.pat +\! @abs_bindir@/gs_ctl hotpatch -D @abs_srcdir@/tmp_check/datanode1 -a unload -n @abs_bindir@/..//hotpatch/pat/GAUSSDBV500R001C10KERNELHP0001.pat --remove patchfile -\! rm -rf @abs_gausshome@/hotpatch/pat/* > /dev/null 2>&1 +\! rm -rf @abs_bindir@/..//hotpatch/pat/* > /dev/null 2>&1 diff --git a/src/test/regress/input/hw_cstore_vacuum.source b/src/test/regress/input/hw_cstore_vacuum.source index 63c42c6e3..c3bcd1697 100644 --- a/src/test/regress/input/hw_cstore_vacuum.source +++ b/src/test/regress/input/hw_cstore_vacuum.source @@ -181,7 +181,9 @@ COPY LINEITEM FROM '@abs_srcdir@/data/lineitem_cstore.data' delimiter '|'; VACUUM FULL LINEITEM; +set xc_maintenance_mode = on; VACUUM FULL; +set xc_maintenance_mode = off; DROP TABLE LINEITEM; diff --git a/src/test/regress/input/rlstm.source b/src/test/regress/input/rlstm.source old mode 100755 new mode 100644 diff --git a/src/test/regress/input/unify_superuser_definition.source b/src/test/regress/input/unify_superuser_definition.source index d2d8e2e75..932da20ca 100644 --- a/src/test/regress/input/unify_superuser_definition.source +++ b/src/test/regress/input/unify_superuser_definition.source @@ -32,4 +32,4 @@ alter system set password_reuse_max=0; show pljava_vmoptions; set pljava_vmoptions='aaa'; show pljava_vmoptions; -set pljava_vmoptions=''; +set pljava_vmoptions=''; \ No newline at end of file diff --git a/src/test/regress/output/alter_set_same_parameter.source b/src/test/regress/output/alter_set_same_parameter.source index 3dc314b30..5d51b01dd 100644 --- a/src/test/regress/output/alter_set_same_parameter.source +++ b/src/test/regress/output/alter_set_same_parameter.source @@ -3,19 +3,19 @@ -- --show previous value of the parameter show autovacuum_naptime; - autovacuum_naptime + autovacuum_naptime -------------------- 10min (1 row) show enable_resource_track; - enable_resource_track + enable_resource_track ----------------------- on (1 row) show memorypool_size; - memorypool_size + memorypool_size ----------------- 512MB (1 row) @@ -30,21 +30,21 @@ show memorypool_size; \! echo 'memorypool_size = 600MB' >> @abs_srcdir@/tmp_check/datanode1/postgresql.conf --reset value of the parameter alter system set autovacuum_naptime to '3min'; -NOTICE: There are 3 'autovacuum_naptime' not commented in "postgresql.conf", and only the last one in 815th line will be set and used. +NOTICE: There are 4 "autovacuum_naptime" not commented in "postgresql.conf", and only the last one in 912th line will be set and used. alter system set enable_resource_track to 'off'; -NOTICE: There are 2 'enable_resource_track' not commented in "postgresql.conf", and only the last one in 817th line will be set and used. +NOTICE: There are 2 "enable_resource_track" not commented in "postgresql.conf", and only the last one in 914th line will be set and used. alter system set memorypool_size to '550MB'; -NOTICE: There are 2 'memorypool_size' not commented in "postgresql.conf", and only the last one in 819th line will be set and used. +NOTICE: There are 2 "memorypool_size" not commented in "postgresql.conf", and only the last one in 916th line will be set and used. NOTICE: please restart the database for the POSTMASTER level parameter to take effect. --show new value of the parameter show autovacuum_naptime; - autovacuum_naptime + autovacuum_naptime -------------------- 3min (1 row) show enable_resource_track; - enable_resource_track + enable_resource_track ----------------------- off (1 row) @@ -52,8 +52,8 @@ show enable_resource_track; --restart database \! @abs_bindir@/gs_ctl restart -D @abs_srcdir@/tmp_check/datanode1/ > /dev/null 2>&1 --show new value of the parameter with postmaster level -\! @abs_bindir@/gsql -d postgres -p 54323 -c 'show memorypool_size' - memorypool_size +\! @abs_bindir@/gsql -d postgres -p @portstring@ -c 'show memorypool_size' + memorypool_size ----------------- 550MB (1 row) diff --git a/src/test/regress/output/bypass_pbe.source b/src/test/regress/output/bypass_pbe.source index fd2ab64ec..b2be0970b 100644 --- a/src/test/regress/output/bypass_pbe.source +++ b/src/test/regress/output/bypass_pbe.source @@ -2,6 +2,7 @@ DROP USER IF EXISTS tom CASCADE; NOTICE: role "tom" does not exist, skipping CREATE USER tom WITH PASSWORD "tom@1234"; SET ROLE tom PASSWORD 'tom@1234'; +\! chmod -R 700 @abs_bindir@/../jre \! @abs_bindir@/../jre/bin/java -cp $CLASSPATH:@abs_builddir@/jdbc_test/gsjdbc400.jar:@abs_builddir@/jdbc_test/bypass_pbe/. BypassPbe @portstring@ 2>&1 Connection succeed! name=name20 diff --git a/src/test/regress/output/dfs_orc_hw_cstore_vacuum.source b/src/test/regress/output/dfs_orc_hw_cstore_vacuum.source index 9f626bf5b..cef47c587 100644 --- a/src/test/regress/output/dfs_orc_hw_cstore_vacuum.source +++ b/src/test/regress/output/dfs_orc_hw_cstore_vacuum.source @@ -262,7 +262,9 @@ EXECUTE DIRECT ON ( datanode2 ) ' SELECT check_xmin_xmax(CAST (varchar ''lineite 1 (1 row) +set xc_maintenance_mode = on; VACUUM FULL; +set xc_maintenance_mode = off; EXECUTE DIRECT ON ( datanode1 ) ' SELECT check_xmin_xmax(CAST (varchar ''lineitem'' AS text)) '; check_xmin_xmax ----------------- diff --git a/src/test/regress/output/dfs_orc_hw_vacuum_compact.source b/src/test/regress/output/dfs_orc_hw_vacuum_compact.source index 662ee0b73..b7c489ff8 100644 --- a/src/test/regress/output/dfs_orc_hw_vacuum_compact.source +++ b/src/test/regress/output/dfs_orc_hw_vacuum_compact.source @@ -26,7 +26,9 @@ ERROR: COMPACT can only be used with VACUUM FULL vacuum; vacuum t1; ERROR: relation "t1" does not exist +set xc_maintenance_mode = on; vacuum full; +set xc_maintenance_mode = off; vacuum full t1; ERROR: relation "t1" does not exist -- start ... diff --git a/src/test/regress/output/dfs_orc_hw_vacuum_full.source b/src/test/regress/output/dfs_orc_hw_vacuum_full.source index b6bad39ef..bc6e20a0a 100644 --- a/src/test/regress/output/dfs_orc_hw_vacuum_full.source +++ b/src/test/regress/output/dfs_orc_hw_vacuum_full.source @@ -583,7 +583,9 @@ execute direct on(datanode1) 'select print_desc_t2()'; delete from t1 where c4=1; delete from t2 where c2=2; +set xc_maintenance_mode = on; vacuum full; +set xc_maintenance_mode = off; execute direct on(datanode1) 'select public.print_desc()'; print_desc ------------ diff --git a/src/test/regress/output/disable_dbeperf_and_snapshot.source b/src/test/regress/output/disable_dbeperf_and_snapshot.source index 0a5f1ec19..787028ab3 100644 --- a/src/test/regress/output/disable_dbeperf_and_snapshot.source +++ b/src/test/regress/output/disable_dbeperf_and_snapshot.source @@ -47,9 +47,9 @@ select snapshot_id from snapshot.snapshot limit 4; 4 (4 rows) -\! mkdir /data/archclean/openGauss-server/src/test/regress/temp -\a \t \o /data/archclean/openGauss-server/src/test/regress/temp/wdrTestNode.html -\! test -f /data/archclean/openGauss-server/src/test/regress/temp/wdrTestNode.html && echo "found" || echo "not found" +\! mkdir @abs_srcdir@/temp +\a \t \o @abs_srcdir@/temp/wdrTestNode.html +\! test -f @abs_srcdir@/temp/wdrTestNode.html && echo "found" || echo "not found" found \o \a \t -\! rm /data/archclean/openGauss-server/src/test/regress/temp -rf \ No newline at end of file +\! rm @abs_srcdir@/temp -rf diff --git a/src/test/regress/output/enum_empty_test.source b/src/test/regress/output/enum_empty_test.source index 50428ceef..e79a8bd4c 100644 --- a/src/test/regress/output/enum_empty_test.source +++ b/src/test/regress/output/enum_empty_test.source @@ -1,5 +1,6 @@ \! @abs_bindir@/gs_guc set -D @abs_srcdir@/tmp_check/datanode1/ -c "wal_level=hot_standby" NOTICE: If you need to copy the data stream for WAL log archiving and standby machine. You must be set to the parameter with archive or hot_standby. If this parameter is setted to archive. The hot_standby must be setted to off, otherwise it will cause the database can not be started, at the same time the max_wal_senders must be set at least 1. +--?realpath.* expected instance path: [@abs_srcdir@/tmp_check/datanode1/postgresql.conf] gs_guc set: wal_level=hot_standby: [@abs_srcdir@/tmp_check/datanode1/postgresql.conf] diff --git a/src/test/regress/output/gs_guc.source b/src/test/regress/output/gs_guc.source index 9baa9a28a..d8ce8c87e 100644 --- a/src/test/regress/output/gs_guc.source +++ b/src/test/regress/output/gs_guc.source @@ -131,5 +131,4 @@ expected instance path: [@abs_srcdir@/tmp_check/datanode1/postgresql.conf] gs_guc set: intervalstyle=a: [@abs_srcdir@/tmp_check/datanode1/postgresql.conf] Total instances: 1. Failed instances: 0. -Success to perform gs_guc! - +Success to perform gs_guc! \ No newline at end of file diff --git a/src/test/regress/output/gs_guc_value_range.source b/src/test/regress/output/gs_guc_value_range.source index 4772af335..e3b4ec37f 100644 --- a/src/test/regress/output/gs_guc_value_range.source +++ b/src/test/regress/output/gs_guc_value_range.source @@ -3,6 +3,7 @@ ERROR: The value 8888 is outside the valid range for parameter "autovacuum_freez ERROR: The value "8888" for parameter "autovacuum_freeze_max_age" is incorrect. Try "gs_guc --help" for more information. \! @abs_bindir@/gs_guc set -D @abs_srcdir@/tmp_check/datanode1/ -c "autovacuum_freeze_max_age=8000000" +--?realpath.* expected instance path: [@abs_srcdir@/tmp_check/datanode1/postgresql.conf] gs_guc set: autovacuum_freeze_max_age=8000000: [@abs_srcdir@/tmp_check/datanode1/postgresql.conf] @@ -14,6 +15,7 @@ ERROR: The value 576460752303423488 is outside the valid range for parameter "au ERROR: The value "576460752303423488" for parameter "autovacuum_freeze_max_age" is incorrect. Try "gs_guc --help" for more information. \! @abs_bindir@/gs_guc set -D @abs_srcdir@/tmp_check/datanode1/ -c "bulk_write_ring_size=254789435kB" +--?realpath.* expected instance path: [@abs_srcdir@/tmp_check/datanode1/postgresql.conf] gs_guc set: bulk_write_ring_size=254789435kB: [@abs_srcdir@/tmp_check/datanode1/postgresql.conf] @@ -26,6 +28,7 @@ ERROR: The parameter "bulk_write_ring_size" requires an integer value. ERROR: The value "23546435kN" for parameter "bulk_write_ring_size" is incorrect. Try "gs_guc --help" for more information. \! @abs_bindir@/gs_guc set -D @abs_srcdir@/tmp_check/datanode1/ -c "bulk_write_ring_size=900MB" +--?realpath.* expected instance path: [@abs_srcdir@/tmp_check/datanode1/postgresql.conf] gs_guc set: bulk_write_ring_size=900MB: [@abs_srcdir@/tmp_check/datanode1/postgresql.conf] @@ -37,11 +40,11 @@ ERROR: The value 2858345472 is outside the valid range for parameter "bulk_write ERROR: The value "2791353MB" for parameter "bulk_write_ring_size" is incorrect. Try "gs_guc --help" for more information. \! @abs_bindir@/gs_guc set -D @abs_srcdir@/tmp_check/datanode1/ -c "bulk_write_ring_size=9007199254900000MB" -ERROR: An overflow occurs for this parameter "bulk_write_ring_size". ERROR: The parameter "bulk_write_ring_size" requires an integer value. ERROR: The value "9007199254900000MB" for parameter "bulk_write_ring_size" is incorrect. Try "gs_guc --help" for more information. \! @abs_bindir@/gs_guc set -D @abs_srcdir@/tmp_check/datanode1/ -c "bulk_write_ring_size=87GB" +--?realpath.* expected instance path: [@abs_srcdir@/tmp_check/datanode1/postgresql.conf] gs_guc set: bulk_write_ring_size=87GB: [@abs_srcdir@/tmp_check/datanode1/postgresql.conf] @@ -53,7 +56,6 @@ ERROR: The value 9218031616 is outside the valid range for parameter "bulk_write ERROR: The value "8791GB" for parameter "bulk_write_ring_size" is incorrect. Try "gs_guc --help" for more information. \! @abs_bindir@/gs_guc set -D @abs_srcdir@/tmp_check/datanode1/ -c "bulk_write_ring_size=8796093022900GB" -ERROR: An overflow occurs for this parameter "bulk_write_ring_size". ERROR: The parameter "bulk_write_ring_size" requires an integer value. ERROR: The value "8796093022900GB" for parameter "bulk_write_ring_size" is incorrect. Try "gs_guc --help" for more information. @@ -67,6 +69,7 @@ ERROR: The parameter "autovacuum_naptime" requires an integer value. ERROR: The value "254mi" for parameter "autovacuum_naptime" is incorrect. Try "gs_guc --help" for more information. \! @abs_bindir@/gs_guc set -D @abs_srcdir@/tmp_check/datanode1/ -c "autovacuum_naptime=153min" +--?realpath.* expected instance path: [@abs_srcdir@/tmp_check/datanode1/postgresql.conf] gs_guc set: autovacuum_naptime=153min: [@abs_srcdir@/tmp_check/datanode1/postgresql.conf] @@ -78,11 +81,11 @@ ERROR: The value 15291420 is outside the valid range for parameter "autovacuum_n ERROR: The value "254857min" for parameter "autovacuum_naptime" is incorrect. Try "gs_guc --help" for more information. \! @abs_bindir@/gs_guc set -D @abs_srcdir@/tmp_check/datanode1/ -c "autovacuum_naptime=1537228672000000000min" -ERROR: An overflow occurs for this parameter "autovacuum_naptime". ERROR: The parameter "autovacuum_naptime" requires an integer value. ERROR: The value "1537228672000000000min" for parameter "autovacuum_naptime" is incorrect. Try "gs_guc --help" for more information. \! @abs_bindir@/gs_guc set -D @abs_srcdir@/tmp_check/datanode1/ -c "autovacuum_naptime=65h" +--?realpath.* expected instance path: [@abs_srcdir@/tmp_check/datanode1/postgresql.conf] gs_guc set: autovacuum_naptime=65h: [@abs_srcdir@/tmp_check/datanode1/postgresql.conf] @@ -94,11 +97,11 @@ ERROR: The value 92322000 is outside the valid range for parameter "autovacuum_n ERROR: The value "25645h" for parameter "autovacuum_naptime" is incorrect. Try "gs_guc --help" for more information. \! @abs_bindir@/gs_guc set -D @abs_srcdir@/tmp_check/datanode1/ -c "autovacuum_naptime=2562047788015216h" -ERROR: An overflow occurs for this parameter "autovacuum_naptime". ERROR: The parameter "autovacuum_naptime" requires an integer value. ERROR: The value "2562047788015216h" for parameter "autovacuum_naptime" is incorrect. Try "gs_guc --help" for more information. \! @abs_bindir@/gs_guc set -D @abs_srcdir@/tmp_check/datanode1/ -c "autovacuum_naptime=5d" +--?realpath.* expected instance path: [@abs_srcdir@/tmp_check/datanode1/postgresql.conf] gs_guc set: autovacuum_naptime=5d: [@abs_srcdir@/tmp_check/datanode1/postgresql.conf] @@ -110,11 +113,11 @@ ERROR: The value 22118400 is outside the valid range for parameter "autovacuum_n ERROR: The value "256d" for parameter "autovacuum_naptime" is incorrect. Try "gs_guc --help" for more information. \! @abs_bindir@/gs_guc set -D @abs_srcdir@/tmp_check/datanode1/ -c "autovacuum_naptime=114841866167300d" -ERROR: An overflow occurs for this parameter "autovacuum_naptime". ERROR: The parameter "autovacuum_naptime" requires an integer value. ERROR: The value "114841866167300d" for parameter "autovacuum_naptime" is incorrect. Try "gs_guc --help" for more information. \! @abs_bindir@/gs_guc set -D @abs_srcdir@/tmp_check/datanode1/ -c "bgwriter_lru_multiplier=6.6" +--?realpath.* expected instance path: [@abs_srcdir@/tmp_check/datanode1/postgresql.conf] gs_guc set: bgwriter_lru_multiplier=6.6: [@abs_srcdir@/tmp_check/datanode1/postgresql.conf] @@ -124,4 +127,4 @@ Success to perform gs_guc! \! @abs_bindir@/gs_guc set -D @abs_srcdir@/tmp_check/datanode1/ -c "bgwriter_lru_multiplier=11.2" ERROR: The value 11.2 is outside the valid range for parameter "bgwriter_lru_multiplier" (0 .. 10). ERROR: The value "11.2" for parameter "bgwriter_lru_multiplier" is incorrect. -Try "gs_guc --help" for more information. \ No newline at end of file +Try "gs_guc --help" for more information. diff --git a/src/test/regress/output/gs_initdb.source b/src/test/regress/output/gs_initdb.source index 5019ee37b..c62459b95 100644 --- a/src/test/regress/output/gs_initdb.source +++ b/src/test/regress/output/gs_initdb.source @@ -108,4 +108,4 @@ freezing database postgres ... ok \! cat @abs_bindir@/test_initdb9.log | grep Success Success. You can now start the database server of single node using: \! rm -f @abs_bindir@/test_initdb9.log -\! rm -rf @testtablespace@/test9 +\! rm -rf @testtablespace@/test9 \ No newline at end of file diff --git a/src/test/regress/output/gsqlerr.source b/src/test/regress/output/gsqlerr.source index 0361cd179..3695fc854 100644 --- a/src/test/regress/output/gsqlerr.source +++ b/src/test/regress/output/gsqlerr.source @@ -1,14 +1,14 @@ --for LLT --test call scanEreport and generate errmsg.h -\! @abs_srcdir@/../../../src/bin/gsqlerr/scanEreport +\! @abs_srcdir@/../../../../src/bin/gsqlerr/scanEreport argc error. -\! @abs_srcdir@/../../../src/bin/gsqlerr/scanEreport 0 -argv[1] or argv[2] is null. -\! @abs_srcdir@/../../../src/bin/gsqlerr/scanEreport src/ src/errcodes.txt -call resolved_path:src/ get resolved_name error. -\! @abs_srcdir@/../../../src/bin/gsqlerr/scanEreport @abs_srcdir@/../../../src/common/backend/ @abs_srcdir@/../../../src/gausskernel/ src/errcodes.txt +\! @abs_srcdir@/../../../../src/bin/gsqlerr/scanEreport 0 +argv[1] or argv[2] or argv[4] is null. +\! @abs_srcdir@/../../../../src/bin/gsqlerr/scanEreport src/ src/errcodes.txt escan.txt +argv[1] or argv[2] or argv[4] is null. +\! @abs_srcdir@/../../../../src/bin/gsqlerr/scanEreport @abs_srcdir@/../../../.. ereport.txt src/errcodes.txt escan.txt call resolved_path:src/errcodes.txt get resolved_name error. -\! @abs_srcdir@/../../../src/bin/gsqlerr/scanEreport @abs_srcdir@/../../../src/common/backend/ @abs_srcdir@/../../../src/gausskernel/ @abs_srcdir@/../../../src/common/backend/utils/errcodes.txt +\! @abs_srcdir@/../../../../src/bin/gsqlerr/scanEreport @abs_srcdir@/../../../.. ereport.txt @abs_srcdir@/../../../../src/common/backend/utils/errcodes.txt escan.txt --test gsqlerr error \! @abs_bindir@/gsqlerr Invalid option, please use 'gsqlerr -h' for more information. diff --git a/src/test/regress/output/hotpatch.source b/src/test/regress/output/hotpatch.source index d2f3eb250..d49d56d09 100644 --- a/src/test/regress/output/hotpatch.source +++ b/src/test/regress/output/hotpatch.source @@ -16,11 +16,11 @@ PATCH STATE:DEACTIVE PATCH COMMIT NUMBER :b4a4e2e7da3e9be0b59027ff6ed9bf1 PATCH COMMIT COMMENTS: modification for improve performance --?.* -PATCH BIN VERSION:GAUSSDBV300R002C00 +PATCH BIN VERSION:GAUSSDBV500R001C10 [PATCH-SUCCESS] INFO PATCH --?.* -PATCH: GAUSSDBV300R002C00KERNELHP0001.pat STATE: DEACTIVE +PATCH: GAUSSDBV500R001C10KERNELHP0001.pat STATE: DEACTIVE [PATCH-SUCCESS] LIST PATCH --load twice, return already loaded --?.* @@ -37,11 +37,11 @@ PATCH STATE:ACTIVE PATCH COMMIT NUMBER :b4a4e2e7da3e9be0b59027ff6ed9bf1 PATCH COMMIT COMMENTS: modification for improve performance --?.* -PATCH BIN VERSION:GAUSSDBV300R002C00 +PATCH BIN VERSION:GAUSSDBV500R001C10 [PATCH-SUCCESS] INFO PATCH --?.* -PATCH: GAUSSDBV300R002C00KERNELHP0001.pat STATE: ACTIVE +PATCH: GAUSSDBV500R001C10KERNELHP0001.pat STATE: ACTIVE [PATCH-SUCCESS] LIST PATCH --active twice, return already active --?.* @@ -62,11 +62,11 @@ PATCH STATE:DEACTIVE PATCH COMMIT NUMBER :b4a4e2e7da3e9be0b59027ff6ed9bf1 PATCH COMMIT COMMENTS: modification for improve performance --?.* -PATCH BIN VERSION:GAUSSDBV300R002C00 +PATCH BIN VERSION:GAUSSDBV500R001C10 [PATCH-SUCCESS] INFO PATCH --?.* -PATCH: GAUSSDBV300R002C00KERNELHP0001.pat STATE: DEACTIVE +PATCH: GAUSSDBV500R001C10KERNELHP0001.pat STATE: DEACTIVE [PATCH-SUCCESS] LIST PATCH --unload when deactive --?.* diff --git a/src/test/regress/output/hw_cstore_vacuum.source b/src/test/regress/output/hw_cstore_vacuum.source index 82a21a944..e231a6aec 100644 --- a/src/test/regress/output/hw_cstore_vacuum.source +++ b/src/test/regress/output/hw_cstore_vacuum.source @@ -245,7 +245,9 @@ BEGIN END $$ LANGUAGE plpgsql; COPY LINEITEM FROM '@abs_srcdir@/data/lineitem_cstore.data' delimiter '|'; VACUUM FULL LINEITEM; +set xc_maintenance_mode = on; VACUUM FULL; +set xc_maintenance_mode = off; DROP TABLE LINEITEM; \c regression -- fix bug: table desc diff --git a/src/test/regress/output/hw_partition_start_end.source b/src/test/regress/output/hw_partition_start_end.source index bedadeef9..9df96cd5a 100644 --- a/src/test/regress/output/hw_partition_start_end.source +++ b/src/test/regress/output/hw_partition_start_end.source @@ -2587,7 +2587,9 @@ where column_constraint can be: CHECK ( expression ) | DEFAULT default_expr | UNIQUE index_parameters | - PRIMARY KEY index_parameters } + PRIMARY KEY index_parameters | + REFERENCES reftable [ ( refcolumn ) ] [ MATCH FULL | MATCH PARTIAL | MATCH SIMPLE ] + [ ON DELETE action ] [ ON UPDATE action ] } [ DEFERRABLE | NOT DEFERRABLE | INITIALLY DEFERRED | INITIALLY IMMEDIATE ] where table_constraint can be: [ CONSTRAINT constraint_name ] diff --git a/src/test/regress/output/nodegroup_subplan_test.source b/src/test/regress/output/nodegroup_subplan_test.source index a0a645d64..ab2971299 100644 --- a/src/test/regress/output/nodegroup_subplan_test.source +++ b/src/test/regress/output/nodegroup_subplan_test.source @@ -2788,7 +2788,7 @@ HINT: Do analyze for them in order to generate optimized plan. Distribute Key: nodegroup_subplan_test.t_subplan1.a1, nodegroup_subplan_test.t_subplan1.b1 -> Vector Nest Loop Left Join Output: nodegroup_subplan_test.t_subplan1.a1, nodegroup_subplan_test.t_subplan1.b1, nodegroup_subplan_test.t_subplan1.c1, nodegroup_subplan_test.t_subplan1.d1, t_subplan2.a2, t_subplan2.b2, ($0) - Join Filter: (NULL::boolean AND (t_subplan2.b2 = nodegroup_subplan_test.t_subplan1.b1)) + Join Filter: false -> Vector Streaming(type: REDISTRIBUTE ng: ng0->group1) Output: nodegroup_subplan_test.t_subplan1.a1, nodegroup_subplan_test.t_subplan1.b1, nodegroup_subplan_test.t_subplan1.c1, nodegroup_subplan_test.t_subplan1.d1 Distribute Key: nodegroup_subplan_test.t_subplan1.a1, nodegroup_subplan_test.t_subplan1.b1 diff --git a/src/test/regress/output/recovery_2pc_tools.source b/src/test/regress/output/recovery_2pc_tools.source index b5c4497d5..fd9e0ae60 100644 --- a/src/test/regress/output/recovery_2pc_tools.source +++ b/src/test/regress/output/recovery_2pc_tools.source @@ -98,7 +98,7 @@ select name,vartype,unit,min_val,max_val from pg_settings where name <> 'qunit_c cn_send_buffer_size | integer | kB | 8 | 128 codegen_cost_threshold | integer | | 0 | 2147483647 codegen_strategy | enum | | | - comm_ackchk_time | integer | | 0 | 20000 + comm_ackchk_time | integer | ms | 0 | 20000 comm_control_port | integer | | 0 | 65535 comm_debug_mode | bool | | | commit_delay | integer | | 0 | 100000 @@ -166,6 +166,7 @@ select name,vartype,unit,min_val,max_val from pg_settings where name <> 'qunit_c enable_backend_control | bool | | | enable_bbox_dump | bool | | | enable_beta_features | bool | | | + enable_beta_opfusion | bool | | | enable_bitmapscan | bool | | | enable_bloom_filter | bool | | | enable_broadcast | bool | | | diff --git a/src/test/regress/output/rlstm.source b/src/test/regress/output/rlstm.source old mode 100755 new mode 100644 diff --git a/src/test/regress/output/unify_superuser_definition.source b/src/test/regress/output/unify_superuser_definition.source index 4ba379321..b0f630c69 100644 --- a/src/test/regress/output/unify_superuser_definition.source +++ b/src/test/regress/output/unify_superuser_definition.source @@ -2,29 +2,29 @@ create user grant_all with password 'openGauss@123'; grant all privileges to grant_all; create user standard_user with password 'openGauss@123'; -- sighup -\! @gsqldir@/gsql -d postgres -p 25632 -U grant_all -W openGauss@123 -c "show password_reuse_max;"; +\! @gsqldir@/gsql -d postgres -p @portstring@ -U grant_all -W openGauss@123 -c "show password_reuse_max;"; password_reuse_max -------------------- 0 (1 row) -\! @gsqldir@/gsql -d postgres -p 25632 -U grant_all -W openGauss@123 -c "alter system set password_reuse_max=1;"; +\! @gsqldir@/gsql -d postgres -p @portstring@ -U grant_all -W openGauss@123 -c "alter system set password_reuse_max=1;"; ALTER SYSTEM SET -\! @gsqldir@/gsql -d postgres -p 25632 -U grant_all -W openGauss@123 -c "show password_reuse_max;"; +\! @gsqldir@/gsql -d postgres -p @portstring@ -U grant_all -W openGauss@123 -c "show password_reuse_max;"; password_reuse_max -------------------- 1 (1 row) -\! @gsqldir@/gsql -d postgres -p 25632 -U grant_all -W openGauss@123 -c "alter system set password_reuse_max=0;" +\! @gsqldir@/gsql -d postgres -p @portstring@ -U grant_all -W openGauss@123 -c "alter system set password_reuse_max=0;" ALTER SYSTEM SET -\! @gsqldir@/gsql -d postgres -p 25632 -U standard_user -W openGauss@123 -c "show password_reuse_max;"; +\! @gsqldir@/gsql -d postgres -p @portstring@ -U standard_user -W openGauss@123 -c "show password_reuse_max;"; ERROR: must be superuser to examine "password_reuse_max" -\! @gsqldir@/gsql -d postgres -p 25632 -U standard_user -W openGauss@123 -c "alter system set password_reuse_max=1;"; +\! @gsqldir@/gsql -d postgres -p @portstring@ -U standard_user -W openGauss@123 -c "alter system set password_reuse_max=1;"; ERROR: must be superuser to execute ALTER SYSTEM SET command -\! @gsqldir@/gsql -d postgres -p 25632 -U standard_user -W openGauss@123 -c "show password_reuse_max;"; +\! @gsqldir@/gsql -d postgres -p @portstring@ -U standard_user -W openGauss@123 -c "show password_reuse_max;"; ERROR: must be superuser to examine "password_reuse_max" -\! @gsqldir@/gsql -d postgres -p 25632 -U standard_user -W openGauss@123 -c "alter system set password_reuse_max=0;" +\! @gsqldir@/gsql -d postgres -p @portstring@ -U standard_user -W openGauss@123 -c "alter system set password_reuse_max=0;" ERROR: must be superuser to execute ALTER SYSTEM SET command show password_reuse_max; password_reuse_max @@ -41,29 +41,29 @@ show password_reuse_max; alter system set password_reuse_max=0; -- suset -\! @gsqldir@/gsql -d postgres -p 25632 -U grant_all -W openGauss@123 -c "show pljava_vmoptions;"; +\! @gsqldir@/gsql -d postgres -p @portstring@ -U grant_all -W openGauss@123 -c "show pljava_vmoptions;"; pljava_vmoptions ------------------ (1 row) -\! @gsqldir@/gsql -d postgres -p 25632 -U grant_all -W openGauss@123 -c "set pljava_vmoptions='aaa';"; +\! @gsqldir@/gsql -d postgres -p @portstring@ -U grant_all -W openGauss@123 -c "set pljava_vmoptions='aaa';"; SET -\! @gsqldir@/gsql -d postgres -p 25632 -U grant_all -W openGauss@123 -c "show pljava_vmoptions;"; +\! @gsqldir@/gsql -d postgres -p @portstring@ -U grant_all -W openGauss@123 -c "show pljava_vmoptions;"; pljava_vmoptions ------------------ (1 row) -\! @gsqldir@/gsql -d postgres -p 25632 -U grant_all -W openGauss@123 -c "set pljava_vmoptions='';" +\! @gsqldir@/gsql -d postgres -p @portstring@ -U grant_all -W openGauss@123 -c "set pljava_vmoptions='';" SET -\! @gsqldir@/gsql -d postgres -p 25632 -U standard_user -W openGauss@123 -c "show pljava_vmoptions;"; +\! @gsqldir@/gsql -d postgres -p @portstring@ -U standard_user -W openGauss@123 -c "show pljava_vmoptions;"; ERROR: must be superuser to examine "pljava_vmoptions" -\! @gsqldir@/gsql -d postgres -p 25632 -U standard_user -W openGauss@123 -c "set pljava_vmoptions='aaa';"; +\! @gsqldir@/gsql -d postgres -p @portstring@ -U standard_user -W openGauss@123 -c "set pljava_vmoptions='aaa';"; ERROR: permission denied to set parameter "pljava_vmoptions" -\! @gsqldir@/gsql -d postgres -p 25632 -U standard_user -W openGauss@123 -c "show pljava_vmoptions;"; +\! @gsqldir@/gsql -d postgres -p @portstring@ -U standard_user -W openGauss@123 -c "show pljava_vmoptions;"; ERROR: must be superuser to examine "pljava_vmoptions" -\! @gsqldir@/gsql -d postgres -p 25632 -U standard_user -W openGauss@123 -c "set pljava_vmoptions='';" +\! @gsqldir@/gsql -d postgres -p @portstring@ -U standard_user -W openGauss@123 -c "set pljava_vmoptions='';" ERROR: permission denied to set parameter "pljava_vmoptions" show pljava_vmoptions; pljava_vmoptions diff --git a/src/test/regress/parallel_schedule0 b/src/test/regress/parallel_schedule0 index fdfa3b726..c3692402b 100644 --- a/src/test/regress/parallel_schedule0 +++ b/src/test/regress/parallel_schedule0 @@ -307,12 +307,12 @@ test: hw_createtbl_llt test: sqlLLT #test: hw_sql_llt# -#test: upsert_prepare -#test: upsert_001 upsert_002 upsert_003 upsert_008 upsert_009 upsert_010 -#test: upsert_grammer_test_01 upsert_unlog_test upsert_tmp_test -#test: upsert_grammer_test_02 upsert_restriction upsert_composite -#test: upsert_trigger_test upsert_explain -#test: upsert_clean +test: upsert_prepare +test: upsert_001 upsert_002 upsert_003 upsert_008 upsert_009 upsert_010 +test: upsert_grammer_test_01 upsert_unlog_test upsert_tmp_test +test: upsert_grammer_test_02 upsert_restriction upsert_composite +test: upsert_trigger_test upsert_explain +test: upsert_clean # all pass # run tablespace by itself, and first, because it forces a checkpoint; @@ -387,8 +387,7 @@ test: xc_groupby xc_distkey xc_having #test: hw_rewrite_lazyagg hw_light test: xc_temp xc_FQS #test: xc_remote hw_pbe -test: hw_pbe -test: xc_FQS_join xc_copy +test: xc_FQS_join xc_copy #test: xc_alter_table test: xc_constraints xc_limit xc_sort #test: xc_params xc_returning_step1 @@ -559,7 +558,7 @@ test: hw_pwd_reuse test: performance_enhance test: explain_fqs -test: explain_pbe +#test: explain_pbe # temp__3 create_table copy vec_prepare_001 vec_prepare_002 vec_prepare_003 int4 int8 are duplicated test: temp__3 # ---------- @@ -745,8 +744,17 @@ test: hw_partition_list_dql test: rule_test +#delete limit +test: delete_limit + +test: hotpatch + +#-------------------------- +# AI test case +#-------------------------- +test: leaky_function_operator + # ---------- # gs_guc test # ---------- #test: gs_guc -test: gs_guc_reload diff --git a/src/test/regress/parallel_schedule0A b/src/test/regress/parallel_schedule0A new file mode 100644 index 000000000..c00ad6b70 --- /dev/null +++ b/src/test/regress/parallel_schedule0A @@ -0,0 +1,524 @@ +# ---------- +# src/test/regress/parallel_schedule0A +# +# By convention, we put no more than twenty tests in any one parallel group; +# this limits the number of connections needed to run the tests. +# ---------- + +test: analyze_commands +#test: single_node_job +test: single_node_ddl +test: single_node_sqlbypass +test: median + + +# run tablespace by itself, and first, because it forces a checkpoint; +# we'd prefer not to have checkpoints later in the tests because that +# interferes with crash-recovery testing. +test: single_node_tablespace + +# ---------- +# The first group of parallel tests +# ---------- +test: single_node_boolean single_node_char single_node_name single_node_varchar single_node_text single_node_int2 single_node_int4 single_node_int8 single_node_oid single_node_float4 single_node_float8 single_node_bit single_node_numeric single_node_txid single_node_uuid single_node_enum single_node_money + +# Depends on things setup during char, varchar and text +#test: single_node_strings +# Depends on int2, int4, int8, float4, float8 +test: single_node_numerology + +# ---------- +# The second group of parallel tests +# ---------- +test: single_node_point single_node_lseg single_node_box single_node_path single_node_polygon single_node_circle single_node_date single_node_time single_node_timetz single_node_timestamp single_node_timestamptz +#test: single_node_interval +test: single_node_abstime single_node_reltime +#test: single_node_tinterval +test: single_node_inet single_node_macaddr single_node_tstypes single_node_comments + +# ---------- +# Another group of parallel tests +# geometry depends on point, lseg, box, path, polygon and circle +# horology depends on interval, timetz, timestamp, timestamptz, reltime and abstime +# ---------- +#test: single_node_geometry single_node_horology +#test: single_node_regex +test: single_node_regex_temp +test: single_node_oidjoins single_node_type_sanity single_node_opr_sanity + +# ---------- +# These four each depend on the previous one +# ---------- +test: single_node_insert xc_rownum +test: single_node_temple +test: single_node_create_function_1 +#test: single_node_create_type +#test: single_node_create_table +#test: single_node_create_function_2 + +# ---------- +# Load huge amounts of data +# We should split the data files into single files and then +# execute two copy tests parallel, to check that copy itself +# is concurrent safe. +# ---------- +#test: single_node_copy single_node_copyselect + +# ---------- +# More groups of parallel tests +# ---------- +#test: single_node_create_misc +#test: single_node_create_operator +# These depend on the above two +#test: single_node_create_index +#test: single_node_create_view + +# ---------- +# Another group of parallel tests +# ---------- +test: single_node_create_aggregate +#test: single_node_create_function_3 single_node_create_cast +#test: single_node_constraints single_node_triggers single_node_inherit single_node_create_table_like single_node_typed_table +test: single_node_vacuum +#test: single_node_drop_if_exists + +# ---------- +# sanity_check does a vacuum, affecting the sort order of SELECT * +# results. So it should not run parallel to other tests. +# ---------- +#test: single_node_sanity_check + +# ---------- +# Believe it or not, select creates a table, subsequent +# tests need. +# ---------- +test: single_node_errors +#test: single_node_select +ignore: single_node_random + +# ---------- +# Another group of parallel tests +# ---------- +#test: single_node_select_into single_node_select_distinct +#test: single_node_select_distinct_on single_node_select_implicit single_node_select_having +test: single_node_select_implicit single_node_select_having +#test: single_node_subselect +test: single_node_union +#test: single_node_case single_node_join single_node_aggregates +#test: single_node_transactions +test: single_node_random +#test: single_node_portals +#test: single_node_arrays +#test: single_node_btree_index single_node_hash_index single_node_update +test: single_node_update +#test single_node_namespace +#test: single_node_prepared_xacts +#test: single_node_delete + +# ---------- +# Another group of parallel tests +# ---------- +#test: single_node_privileges +#test: single_node_security_label single_node_collate + +#test: single_node_misc +# rules cannot run concurrently with any test that creates a view +#test: single_node_rules + +# ---------- +# Another group of parallel tests +# ---------- +#test: single_node_select_views +#test: single_node_portals_p2 +test: single_node_foreign_key +#test: single_node_foreign_key single_node_cluster single_node_dependency +#test: single_node_guc +test: single_node_bitmapops single_node_combocid +#test: single_node_tsearch +#test: single_node_tsdicts +#test: single_node_foreign_data +#single_node_window +#test: single_node_xmlmap +#test: single_node_functional_deps single_node_advisory_lock single_node_json single_node_equivclass + +# ---------- +# Another group of parallel tests +# NB: temp.sql does a reconnect which transiently uses 2 connections, +# so keep this parallel group to at most 19 tests +# ---------- +test: single_node_sequence +#test: single_node_plancache single_node_limit single_node_plpgsql single_node_copy2 single_node_temp single_node_domain single_node_rangefuncs single_node_prepare single_node_without_oid single_node_conversion single_node_truncate single_node_alter_table single_node_sequence single_node_polymorphism +#test: single_node_rowtypes +#test: single_node_returning single_node_largeobject single_node_with single_node_xml + +# run stats by itself because its delay may be insufficient under heavy load +#test: single_node_stats + +# run and check forbidden functions are still forbidden to use in single node +test: single_node_forbidden +test: single_node_mergeinto + +# Trigger tests +test: single_node_triggers +test: single_node_xc_trigship + +# Synonym tests +#test: single_node_synonym + +# unsupported view tests +test: single_node_unsupported_view +#test: hw_cstore + +# ---------- +# single_node_commit/rollback tests +# ---------- +# interval partition +test: hw_partition_interval_index +test: hw_partition_interval_select +test: hw_partition_interval_compatibility +#openGauss synchronization test cases +test: partiton_pathkey_col_plan partiton_pathkey_col_randomexec partiton_pathkey_row_plan partiton_pathkey_row_randomexec +#test the locales setting expect not affacted each other +#test: pg_session_locale +# ---------- +# These four each depend on the previous one(duplicate) +# duplicated create_function_1 create_type create_table copy +# ---------- +#test: type_sanity +#test: create_function_1 +test: create_table +test: temp__4 +#test: copy# + +# ---------- +# More groups of parallel tests +# duplicated create_misc +# ---------- +#test: hw_hashagg_start +test: create_misc +test: create_view1 create_view2 create_view3 create_view4 create_view5 +#test: int8# + +#dupliacated select int8 +#test: select +#test: misc +#test: stats +#test: alter_system_set + +#dispatch from 13 +test: function +test: aggregates_part1 aggregates_part2 aggregates_part3 count_distinct_part1 count_distinct_part2 count_distinct_part4 +#test: count_distinct_part3# + +test: hw_dfx_thread_status + +test: stable_function_shippable +# ---------- +# data partition +# ---------- +test: physical_slot + +test: hw_smp + +# test MERGE INTO + +# test INSERT UPDATE UPSERT +#test: insert_update_002 insert_update_003 insert_update_008 insert_update_009 insert_update_010 +#test: insert_update_001# +test: delete update namespace case select_having select_implicit +test: hw_test_operate_user +test: hw_createtbl_llt +#test: gsqlerr# +test: sqlLLT +#test: hw_sql_llt# + +#test: upsert_prepare +#test: upsert_001 upsert_002 upsert_003 upsert_008 upsert_009 upsert_010 +#test: upsert_grammer_test_01 upsert_unlog_test upsert_tmp_test +#test: upsert_grammer_test_02 upsert_restriction upsert_composite +#test: upsert_trigger_test upsert_explain +#test: upsert_clean + +# all pass +# run tablespace by itself, and first, because it forces a checkpoint; +# we'd prefer not to have checkpoints later in the tests because that +# interferes with crash-recovery testing. +test: hw_alter_session +test: tablespace +test: hw_account_lock + +# ---------- +# Another group of parallel tests +# ---------- +#test: hw_independent_user hw_user_basic hw_user_revoke hw_user_privilege hw_user_pguser hw_user_namespace +test: hw_interval_format hw_function_p_3 hw_function_p_4 hw_current_schema hw_functions +#test: hw_function_p_1 hw_function_p_2# +test: hw_dba_enable_partition hw_tablespace +test: hw_procedure_define +#test: hw_anonymous_block +#test: hw_procedure# +test: hw_grant_all hw_dynamic_sql hw_func_return_out +test: hw_package_function + +#show plan +#test: plan_hint + +###split from parallel_schedule4### + +# ---------- +# Another group of parallel tests +# ---------- +# plsql_packages tests + +test: hw_empty_str_to_null +test: hw_schema + +test: tpchrush +test: tpch01 tpch03 tpch04 libcomm_check_status tpch03_querymem +test: tpch05 tpch06 tpch07 tpch08 +test: tpch09 tpch10 tpch11 tpch12 +test: tpch13 tpch14 tpch15 tpch16 +test: tpch18 tpch19 tpch20 tpch18_querymem +test: tpch21 tpch22 tpch11_pretty_performance +#test: tpch02 tpch17 + +#test export +test: temp__2 + +test: vec_prepare_001 vec_prepare_002 +test: vec_prepare_003 + +#test sort optimize +test: sort_optimize_row sort_optimize_column sort_optimize_001 +#test early free +test: early_free +#test for col tpch with vector engine disabled +test: tpch_disablevec01 tpch_disablevec03 tpch_disablevec04 +test: tpch_disablevec05 tpch_disablevec06 tpch_disablevec07 +test: tpch_disablevec08 tpch_disablevec09 tpch_disablevec12 +test: tpch_disablevec13 tpch_disablevec14 tpch_disablevec16 +test: tpch_disablevec18 tpch_disablevec19 tpch_disablevec21 + +# ---------- +# Postgres-XC additional tests +# ---------- + +# This was used by triggers +test: xc_create_function +# Now xc_misc is used by xc_returning_step1 and xc_returning_step2 +test: xc_misc +# Those ones can be run in parallel +test: xc_groupby xc_distkey xc_having +#test: hw_rewrite_lazyagg hw_light +test: xc_temp xc_FQS +#test: xc_remote hw_pbe +test: xc_FQS_join xc_copy +#test: xc_alter_table +test: xc_constraints xc_limit xc_sort +#test: xc_params xc_returning_step1 +test: xc_params +test: xc_returning_step2 + +#test row compress +#test: compress compress01 compress02 cmpr_toast_000 cmpr_toast_update cmpr_index_00 cmpr_6bytes cmpr_int cmpr_datetime cmpr_numstr cmpr_numstr01 cmpr_float cmpr_nulls_delta cmpr_nulls_prefix cmpr_copyto cmpr_mode_none00 cmpr_mode_none01 cmpr_references_00 cmpr_references_01 +#test: cmpr_rollback cmpr_drop_column cmpr_drop_column_01 cmpr_drop_column_02 cmpr_drop_column_03 cmpr_dead_loop_00 cmpr_timewithzone cmpr_cluster_00 + +# Cluster setting related test is independant + + +test: xc_dml + +# Postgres-XC : Removed this test from the parallel group of tests since it used to give inconsistent plan outputs. +#test: inherit +# ---------- +# Another group of parallel tests +# ---------- +test: create_function_3 vacuum +#test: constraints drop_if_exists + +#test: errors subplan_base +test: subplan_new +#test: select +test: col_subplan_new +#test: col_subplan_base_1 +#test: join +test: select_into subselect_part2 gs_aggregate +#test: select_distinct subselect_part1 transactions btree_index select_distinct_on arrays hash_index +#test: transactions_control random union +#test: aggregates +test: holdable_cursor +#test: portals_p2 window tsearch temp__6 col_subplan_base_2 + +test: alter_table_000 alter_table_002 alter_table_003 +#test: alter_table_001 + +#test: with + +# ---------- +# Database security +# ---------- +test: hw_pwd_reuse +#test: hw_auditadmin + +test: performance_enhance +test: explain_fqs +#test: explain_pbe +# temp__3 create_table copy vec_prepare_001 vec_prepare_002 vec_prepare_003 int4 int8 are duplicated +test: temp__3 +# ---------- +# Another group of parallel tests +# NB: temp.sql does a reconnect which transiently uses 2 connections, +# so keep this parallel group to at most 19 tests +# ---------- +#test: plpgsql +#test: plancache limit rangefuncs prepare +test: returning largeobject +test: hw_explain_pretty1 hw_explain_pretty2 hw_explain_pretty3 +test: goto +test: equivalence_class +test: tsdb_delta2_compress +test: tsdb_xor_compress +#test: tsdb_aggregate + +test: readline +test: hw_to_timestamp hw_view_privilege + +test: hw_identifier +#test: hw_hashint1 hw_smalldatetime_hash hw_rawtype_hash +#test: hw_nvarchar2_hash cmpr_smallint cmpr_prefix_150left cmpr_uint32_oid +test: oidjoins opr_sanity_2 regex +#test: opr_sanity_1 + +test: pmk +# Cluster setting related test is independant +# ---------- +# Test of changed data type compatible with Oracle + +test: hw_datatype_2 hw_datatype_3 +test: hw_datatype +test: test_regex llt_atc + +# ---------- +# test for set operations +# ---------- +test: select_nest_views +#test: enum +#show plan +test: col_joinplan col_joinnew +test: col_limit col_distinct col_prepare +test: col_function_1 col_function_2 col_count_distinct_1 col_count_distinct_2 col_count_distinct_3 col_count_distinct_4 +test: directory_test +test: analyse_verify +test: create_compositetype +#test: create_basetype +#test: tabletype +#test with recursive +test: recursive_ref_recursive +#test: recursive_prepare +#test: recursive_cte +#test: recursive_cte_col +#test: nohashjoin_recursive_cte +#test: nohashjoin_recursive_cte_col +#test: others +#test: icbc_customer +#test: recursive_unshippable +#test: recursive_finalize +#test: recursive_cte_1 +test: test_relpages + +test: temp__3 +test: vec_window_pre +test: gin_test_2 +#test: window1 +test: vec_window_001 +#test: vec_window_002 +test: vec_numeric_sop_1 vec_numeric_sop_2 vec_numeric_sop_3 vec_numeric_sop_4 vec_numeric_sop_5 +#test: vec_window_end + +test: vec_unique_pre vec_bitmap_prepare +test: vec_unique vec_setop_001 vec_setop_002 vec_setop_003 vec_setop_004 hw_vec_int4 hw_vec_int8 hw_vec_float4 hw_vec_float8 +#test: vec_setop_005 +test: hw_vec_constrainst vec_numeric vec_numeric_1 vec_numeric_2 vec_bitmap_1 vec_bitmap_2 +test: disable_vector_engine +test: hybrid_row_column +test: retry +test: hw_replication_slots +test: insert +test: copy2 temp +test: truncate +#test: temp_table + +#test: b_compatibility +test: hw_compatibility +test: hw_groupingsets hw_row_grouping_set +test: char_truncation_common char_truncation_cast + +#this case is dispatched from schedule10(gin_test) +test: gin_test1 gin_test2 gin_test3 + +#the fallowing part is dispatched from schedule15 + +# FIXME: move me back to the parallel test when the refcnt issue is fixed +# Below two teste are unstable, temporarily ignoring. This is same to distribute_dattistic, relallvisible, Dongwang will solve the problem. + +#test: hw_expression_alias + + +#========================================================================================================================================== + + +# ---------- +# src/test/regress/parallel_schedule.33 +# +# By convention, we put no more than twenty tests in any one parallel group; +# this limits the number of connections needed to run the tests. +# ---------- + + +test: udf_crem + +test: create_c_function + +#---1. Drop-Column test +test: cstore_drop_column_replicated +#test: cstore_drop_column + +#split from parallel_schedule2 + +# ---------- +# Advisory lock need to be tested in series in Postgres-XC +# --------- +test: advisory_lock + +# ---------- +# Another group of parallel tests +# ---------- +test: cluster dependency bitmapops tsdicts functional_deps json +#test: guc + +# test for vec sonic hash +test: vec_sonic_hashjoin_number_prepare +test: vec_sonic_hashjoin_number_nospill + +test: dml +test: hashfilter hashfilter_1 +test: reduce_orderby +#test: backtrace_log +#test: bulkload_start +test: bulkload_parallel_test_2 bulkload_parallel_test_3 +#test: bulkload_parallel_test_1 bulkload_parallel_test_4 + +test: tpchcol05 tpchcol07 tpchcol08 tpchcol09 + +test: tpchcol01 +test: tpchcol06 +test: tpchcol03 tpchcol04 +test: tpchcol12 tpchcol13 tpchcol14 tpchcol16 tpchcol18 tpchcol19 tpchcol21 + +test: vec_partition vec_partition_1 vec_material_001 + +test: llvm_vecsort llvm_vecsort2 + +test: udf_crem create_c_function + + diff --git a/src/test/regress/parallel_schedule0B b/src/test/regress/parallel_schedule0B new file mode 100644 index 000000000..3ad7bf211 --- /dev/null +++ b/src/test/regress/parallel_schedule0B @@ -0,0 +1,238 @@ +# ---------- +# src/test/regress/parallel_schedule0B +# +# By convention, we put no more than twenty tests in any one parallel group; +# this limits the number of connections needed to run the tests. +# ---------- + +###split from parallel_schedule0### + +# ---------- +# single_node_commit/rollback tests +# ---------- +test: single_node_produce_commit_rollback + +test: instr_unique_sql +test: shutdown + +# interval partition +test: hw_partition_interval +test: hw_partition_interval_exchange +test: hw_partition_interval_unusable_index +test: hw_partition_interval_reindex +test: hw_partition_interval_movement +# To check create interval partition parallel +test: hw_partition_interval_parallel_prepare +test: hw_partition_interval_parallel_insert hw_partition_interval_parallel_insert_01 hw_partition_interval_parallel_insert_02 +test: hw_partition_interval_parallel_end +test: hw_partition_interval_check_syntax +test: hw_partition_interval_split +test: hw_partition_interval_merge +test: hw_partition_interval_dump_restore + +# Global Partition Index feature testcase +# gpi create +test: gpi_build_index + +# gpi check +test: gpi_create_constraint +test: gpi_unique_check + +# gpi index scan +test: gpi_index + +# gpi index only scan +test: gpi_index_only + +# gpi bitmap +test: gpi_bitmapscan + +# gpi pwj +test: gpi_pwj + +# gpi set unusable +test: gpi_set_index_unusable + +# gpi rebuild +#test: gpi_rebuild_index + +# gpi cluster +test: gpi_cluster_01 gpi_cluster_02 gpi_cluster_03 + +# gpi interval +test: gpi_interval + +# gpi range +test: gpi_range + +# gpi invliad part +test: gpi_invalid_part +test: gpi_clean_wait + +# gpi vacuum +test: gpi_vacuum_lazy +test: gpi_hw_partition_vacuum_full +test: gpi_hw_partition_vacuum_full_01 + +# gpi alter +test: gpi_alter_partition +test: gpi_alter_partition_with_update +# test: gpi_merge_partitions + +# global temporary table tests +test: gtt_stats +test: gtt_function +test: gtt_prepare +test: gtt_parallel_1 gtt_parallel_2 +test: gtt_clean + +# --------------------------- +# test cases for CStore +# --------------------------- +#test: hw_cstore_alter cstore_alter_table2 cstore_alter_table3 cstore_alter_table4 cstore_alter_table5 cstore_alter_table6 cstore_alter_table8 cstore_alter_table9 cstore_alter_table10 hw_cstore_copy hw_alter_table_instant hw_cstore_copy1 +#test: cstore_alter_table cstore_alter_table1 cstore_alter_table7 + +test: hw_cstore_tablespace hw_cstore_truncate hw_cstore_update +#test: hw_cstore_roughcheck +test: hw_cstore_partition_update hw_cstore_partition_update1 hw_cstore_partition_update2 + +#------------------------------ +# CStore compression test cases +#----------------------------- +test: cstore_cmpr_delta cstore_cmpr_date cstore_cmpr_timestamp_with_timezone cstore_cmpr_time_with_timezone cstore_cmpr_delta_nbits cstore_cmpr_delta_int cstore_cmpr_str cstore_cmpr_dict_00 cstore_cmpr_rle_2byte_runs +test: cstore_cmpr_every_datatype cstore_cmpr_zlib cstore_unsupported_feature cstore_unsupported_feature1 cstore_cmpr_rle_bound cstore_cmpr_rle_bound1 cstore_nan cstore_infinity cstore_log2_error cstore_create_clause cstore_create_clause1 cstore_nulls_00 cstore_partial_cluster_info +test: cstore_replication_table_delete + +test: hw_cstore_index hw_cstore_index1 hw_cstore_index2 +test: hw_cstore_vacuum +test: hw_cstore_insert hw_cstore_delete hw_cstore_unsupport + +# test on extended statistics +test: hw_es_multi_column_stats_prepare +test: hw_es_multi_column_stats_1 hw_es_multi_column_stats_1_1 hw_es_multi_column_stats_1_2 hw_es_multi_column_stats_1_3 hw_es_multi_column_stats_1_4 hw_es_multi_column_stats_1_5 hw_es_multi_column_stats_1_6 hw_es_multi_column_stats_2_1 hw_es_multi_column_stats_2_2 hw_es_multi_column_stats_2_3 hw_es_multi_column_stats_3 hw_es_multi_column_stats_3_1 hw_es_multi_column_stats_3_2 +test: hw_es_multi_column_stats_end + +test: limit1 setop setop_1 setop_2 +#test: checksum +test: distinct prepare1 +test: unsupported_features statistic statistic_2 + +test: hw_setop_writefile + +test: vec_nestloop_pre vec_mergejoin_prepare vec_result vec_limit vec_mergejoin_1 vec_mergejoin_2 vec_stream +test: vec_mergejoin_inner vec_mergejoin_left vec_mergejoin_semi vec_mergejoin_anti llvm_vecexpr1 llvm_vecexpr2 llvm_vecexpr3 llvm_target_expr llvm_target_expr2 llvm_target_expr3 llvm_vecexpr_td +#test: vec_nestloop1 +test: vec_mergejoin_aggregation llvm_vecagg llvm_vecagg2 llvm_vecagg3 llvm_vechashjoin +#test: vec_nestloop_end + +# ----------$ +# The first group of parallel tests$ +# ----------$ +test: boolean name oid bit txid uuid +#test: float8 numeric char varchar text int2 int4 float4 numeric_2 money + +# Depends on things setup during char, varchar and text +# Depends on int2, int4, int8, float4, float8 +#test: strings numerology + +# ---------- +# The second group of parallel tests +# ---------- +#test: lseg box path polygon circle date time timetz timestamptz abstime reltime inet +test: interval tinterval macaddr tstypes comments +#test: point timestamp + +# ---------- +# Another group of parallel tests +# geometry depends on point, lseg, box, path, polygon and circle +# horology depends on interval, timetz, timestamp, timestamptz, reltime and abstime +# ---------- +#test: geometry horology + +# ---------- +# Load huge amounts of data +# We should split the data files into single files and then +# execute two copy tests parallel, to check that copy itself +# is concurrent safe.(duplicate) +# ---------- +test: copyselect copy_error_log +#test: copy_eol + +# ---------- +# More groups of parallel tests +# ---------- +#test: create_index + +###split from parallel_schedule2### +#test: hw_sec_account_lock_unlock rowlevelsecurity +test: resolve_unknown +test: query_rewrite +test: create_schema +#test: view_dump +test: hw_function_p_3 hw_function_p_4 +#test: hw_function_p_2 +#test: hw_function_p_1 +test: create_c_function +test: cstore_replication_table_delete + +test: hw_cursor_part1 hw_cursor_part2 hw_cursor_part3 hw_cursor_part4 hw_cursor_part5 hw_cursor_part6 hw_cursor_part7 hw_cursor_part8 +test: vec_append_part1 vec_append_part2 vec_append_part3 +test: vec_cursor_part1 vec_cursor_part2 +test: vec_delete_part1 vec_delete_part2 + +test: alter_schema_db_rename_seq + +test: a_outerjoin_conversion + +# test on plan_table +#test: plan_table04 + +test: setrefs +test: agg + +# test sql by pass +test: bypass_simplequery_support +test: bypass_preparedexecute_support +test: sqlbypass_partition +#test: sqlbypass_partition_prepare + +test: string_digit_to_numeric +# Another group of parallel tests +# ---------- +#test: collate tablesample tablesample_1 tablesample_2 matview +test: matview_single + +# ---------- +# Another group of parallel tests +# ---------- +test: hw_order + +# ---------- +# Another group of parallel tests +# ---------- +test: timeout + +# procedure, Function Test +#test: create_procedure postgres_fdw +test: create_function +test: pg_compatibility +# gs_basebackup +# test: gs_basebackup + +# autonomous transaction Test +#test: autonomous_transaction + +#test jdbc pbe for bypass +test: bypass_pbe +#test: partition for hash list +test: pbe_hash_list_partition +test: hw_partition_list_insert +test: hw_partition_list_ddl +test: hw_partition_hash_insert +test: hw_partition_hash_ddl +test: hw_partition_hash_dml +test: hw_partition_hash_dql +test: hw_partition_list_dml +test: hw_partition_list_dql + +test: rule_test diff --git a/src/test/regress/parallel_schedule10 b/src/test/regress/parallel_schedule10 index 9e5eef9e8..cc111dee5 100644 --- a/src/test/regress/parallel_schedule10 +++ b/src/test/regress/parallel_schedule10 @@ -1,89 +1,89 @@ -# ---------- - # The first group of parallel tests - # ---------- - test: boolean char name varchar text int2 int4 int8 oid float4 float8 bit numeric numeric_2 txid uuid money - - # Depends on things setup during char, varchar and text - # Depends on int2, int4, int8, float4, float8 - test: strings numerology - - # ---------- - # The second group of parallel tests - # ---------- - test: point lseg box path polygon circle date time timetz timestamp timestamptz interval abstime reltime tinterval inet macaddr tstypes comments - - # ---------- - # Another group of parallel tests - # geometry depends on point, lseg, box, path, polygon and circle - # horology depends on interval, timetz, timestamp, timestamptz, reltime and abstime - # ---------- - test: geometry horology type_sanity - - # ---------- - # These four each depend on the previous one(duplicate) - # ---------- - test: create_function_1 - #test: create_type - test: create_table - - # ---------- - # Load huge amounts of data - # We should split the data files into single files and then - # execute two copy tests parallel, to check that copy itself - # is concurrent safe.(duplicate) - # ---------- - test: copy copyselect copy_error_log copy_eol - - # ---------- - # More groups of parallel tests - # ---------- - test: create_misc - # These depend on the above two - test: create_index - - #this case of gin_test is dispatched, for more details u can look for schedule23 - #test: gin_test - - # Postgres-XC : Removed this test from the parallel group of tests since it used to give inconsistent plan outputs. - #test: inherit - # ---------- - # Another group of parallel tests - # ---------- - test: create_function_3 constraints vacuum drop_if_exists - #test: create_table_like - - # ---------- - # sanity_check does a vacuum, affecting the sort order of SELECT * - # results. So it should not run parallel to other tests. - # ---------- - test: sanity_check - - test: errors subplan_base - test: subplan_new - test: select - test: col_subplan_base_1 col_subplan_new - #test: join - test: select_into select_distinct subselect_part1 subselect_part2 transactions random btree_index select_distinct_on union gs_aggregate arrays hash_index - test: aggregates - test: portals_p2 window tsearch temp__6 holdable_cursor col_subplan_base_2 - - test: alter_table_000 alter_table_001 alter_table_002 alter_table_003 - - test: with - #test: col_subplan_extend - - # run alter object to test pg_object - #test: pg_object_test - test: partition_foreign_key - test: partition_trigger - test: duplicate_column_index - test:initdb - test: not_support_nodegroup - test: double_support_unit - test: gs_guc_value_range - test: alter_set_same_parameter - test: enum_empty_test - test: alarm_component_test - test: unify_definition_superuser - test: global_temporary_table_get_table_def - test: disable_dbeperf_and_snapshot +# ---------- +# The first group of parallel tests +# ---------- +test: boolean char name varchar text int2 int4 int8 oid float4 float8 bit numeric numeric_2 txid uuid money + +# Depends on things setup during char, varchar and text +# Depends on int2, int4, int8, float4, float8 +test: strings numerology + +# ---------- +# The second group of parallel tests +# ---------- +test: point lseg box path polygon circle date time timetz timestamp timestamptz interval abstime reltime tinterval inet macaddr tstypes comments + +# ---------- +# Another group of parallel tests +# geometry depends on point, lseg, box, path, polygon and circle +# horology depends on interval, timetz, timestamp, timestamptz, reltime and abstime +# ---------- +test: geometry horology type_sanity + +# ---------- +# These four each depend on the previous one(duplicate) +# ---------- +test: create_function_1 +#test: create_type +test: create_table + +# ---------- +# Load huge amounts of data +# We should split the data files into single files and then +# execute two copy tests parallel, to check that copy itself +# is concurrent safe.(duplicate) +# ---------- +test: copy copyselect copy_error_log copy_eol + +# ---------- +# More groups of parallel tests +# ---------- +test: create_misc +# These depend on the above two +test: create_index + +#this case of gin_test is dispatched, for more details u can look for schedule23 +#test: gin_test + +# Postgres-XC : Removed this test from the parallel group of tests since it used to give inconsistent plan outputs. +#test: inherit +# ---------- +# Another group of parallel tests +# ---------- +test: create_function_3 constraints vacuum drop_if_exists +#test: create_table_like + +# ---------- +# sanity_check does a vacuum, affecting the sort order of SELECT * +# results. So it should not run parallel to other tests. +# ---------- +test: sanity_check + +test: errors subplan_base +test: subplan_new +test: select +test: col_subplan_base_1 col_subplan_new +#test: join +test: select_into select_distinct subselect_part1 subselect_part2 transactions random btree_index select_distinct_on union gs_aggregate arrays hash_index +test: aggregates +test: portals_p2 window tsearch temp__6 holdable_cursor col_subplan_base_2 + +test: alter_table_000 alter_table_001 alter_table_002 alter_table_003 + +test: with +#test: col_subplan_extend + +# run alter object to test pg_object +#test: pg_object_test +test: partition_foreign_key +test: partition_trigger +test: duplicate_column_index +test: initdb +test: not_support_nodegroup +test: gs_guc_value_range +test: alter_set_same_parameter +test: enum_empty_test +test: alarm_component_test +test: unify_superuser_definition +test: global_temporary_table_get_table_def +test: disable_dbeperf_and_snapshot +test: double_support_unit diff --git a/src/test/regress/parallel_schedule19 b/src/test/regress/parallel_schedule19 new file mode 100644 index 000000000..c0073270e --- /dev/null +++ b/src/test/regress/parallel_schedule19 @@ -0,0 +1,35 @@ +test: ce_kt_key_manage +test: ce_kt_invalid_input +test: ce_cmk_cek_test +test: ce_cmk_search_path +test: ce_column_constraint +test: ce_copy +test: ce_cursor_crud_all_types_test +test: ce_default_values +test: ce_depend +test: ce_describe +test: ce_distinct +test: ce_drop_cek_depend +test: ce_drop_cek_schema +test: ce_drop_cek +test: ce_drop_cmk_schema +test: ce_drop_cmk +test: ce_drop_schema +test: ce_encoding_test +test: ce_escaping +test: ce_foreign_key +test: ce_insert_columnstore +test: ce_insert_from_select_test +test: ce_join +test: ce_limit +test: ce_merge_into +test: ce_orderby +test: ce_permission_on_keys_schema +test: ce_privileges_dba +test: ce_privileges_on_schema +test: ce_procedure +test: ce_random +test: ce_rlspolicy +test: ce_same_column_name_different_schemas +test: ce_searchpath +test: ce_select_operators diff --git a/src/test/regress/pg_regress.cpp b/src/test/regress/pg_regress.cpp index 621dab91f..eefce9eaf 100644 --- a/src/test/regress/pg_regress.cpp +++ b/src/test/regress/pg_regress.cpp @@ -35,6 +35,35 @@ #define GTM 3 #define SHELL 4 +//#define BUILD_BY_CMAKE +#ifdef BUILD_BY_CMAKE +char* code_base_src = NULL; +char* current_exe_dir = NULL; +char* CMAKE_PGBINDIR = NULL; +char* CMAKE_LIBDIR = NULL; +char* CMAKE_PGSHAREDIR = NULL; + +void get_value_from_env(char** out_dir, char* env_name) +{ + char *p; + if ((p = getenv(env_name))) { + *out_dir = strdup(p); + } else { + fprintf(stderr, _("\nERROR: could not get %s env\n"), env_name); + exit_nicely(2); + } +} + +void get_value_from_cwd(char** out_dir) +{ + if ((*out_dir = getcwd(NULL, 0)) == NULL) + { + fprintf(stderr, _("\n: could not get value from getcwd")); + exit_nicely(2); + } +} +#endif + #ifdef PGXC /* * In Postgres-XC, a regression test check is run on 2 Coordinators @@ -540,7 +569,8 @@ static void regrConvertSizeInBytesToReadableForm(unsigned long int ulValue, char * Gets the process id of the GAUSS Server process and the result will be * stored in g_iPostmasterPid */ -static int regrGetServPid(char* pcBuff, unsigned int uiBuffLen, unsigned int* puiPidChanged) +static int regrGetServPid(char* pcBuff, unsigned int uiBuffLen, + unsigned int* puiPidChanged) { PID_TYPE iPid = INVALID_PID; int iIter = REGR_NUM_OF_RETRY_FOR_PID_FILE_OPEN; @@ -549,11 +579,28 @@ static int regrGetServPid(char* pcBuff, unsigned int uiBuffLen, unsigned int* pu const char* data_folder = get_node_info_name(0, type, false); char cwd[MAXPGPATH] = {0}; +#ifdef BUILD_BY_CMAKE // temp_install + if (!snprintf(cwd, MAXPGPATH, "%s", temp_install)) { + fprintf(stderr, _("\n Get temp_install dir fail.\n")); + return -1; + } + if (strlen(cwd) + strlen(data_folder) + strlen("/postmaster.pid") >= uiBuffLen) { + fprintf(stderr, + _("\n Buffer space not enough for holding the path of " + "the \'postmaster.pid\' file. Buffer Len: %u. Buffer " + "length needed: %lu.\n"), + uiBuffLen, + (strlen(cwd) + strlen(data_folder) + strlen("/postmaster.pid") + 1)); + return REGR_ERRCODE_BUFF_NOT_ENOUGH; + } + + (void)memset(pcBuff, '\0', uiBuffLen); + (void)snprintf(pcBuff, uiBuffLen, SYSTEMQUOTE "%s/%s/postmaster.pid" SYSTEMQUOTE, cwd, data_folder); +#else if (!getcwd(cwd, MAXPGPATH)) { fprintf(stderr, _("\n Get current dir fail.\n")); return -1; } - if (strlen(cwd) + strlen("/tmp_check/") + strlen(data_folder) + strlen("/postmaster.pid") >= uiBuffLen) { fprintf(stderr, _("\n Buffer space not enough for holding the path of " @@ -561,14 +608,12 @@ static int regrGetServPid(char* pcBuff, unsigned int uiBuffLen, unsigned int* pu "length needed: %lu.\n"), uiBuffLen, (strlen(cwd) + strlen("/") + strlen("tmp_check/") + strlen(data_folder) + strlen("/postmaster.pid") + 1)); - return REGR_ERRCODE_BUFF_NOT_ENOUGH; + return REGR_ERRCODE_BUFF_NOT_ENOUGH; } (void)memset(pcBuff, '\0', uiBuffLen); - /*(void)strncpy(pcBuff, pcDataPath, uiBuffLen - 1); - (void)strncat(pcBuff, "/postmaster.pid", - (uiBuffLen - strlen(pcDataPath) - 1));*/ (void)snprintf(pcBuff, uiBuffLen, SYSTEMQUOTE "%s/tmp_check/%s/postmaster.pid" SYSTEMQUOTE, cwd, data_folder); +#endif do { fpPMPid = fopen(pcBuff, "r"); @@ -1361,11 +1406,22 @@ static void start_my_node(int i, int type, bool is_main, bool standby, int upgra while (result != 1) { count++; char cmd[MAXPGPATH] = {'\0'}; +#ifdef BUILD_BY_CMAKE + (void)snprintf(cmd, + sizeof(cmd), + "find %s/%s/ -name \"postgresql.conf\" | xargs grep \"upgrade_mode = %s\" | wc -l", + temp_install, + data_folder, + upgrade_from == 0 ? "0" : grayscale_upgrade == -1 ? "1" : "2"); + +#else (void)snprintf(cmd, sizeof(cmd), "find ./tmp_check/%s/ -name \"postgresql.conf\" | xargs grep \"upgrade_mode = %s\" | wc -l", data_folder, upgrade_from == 0 ? "0" : grayscale_upgrade == -1 ? "1" : "2"); +#endif + FILE* fstream = NULL; char buf[50]; memset(buf, 0, sizeof(buf)); @@ -1377,7 +1433,7 @@ static void start_my_node(int i, int type, bool is_main, bool standby, int upgra sleep(1); } if (count > 180) { - fprintf(stderr, _("\n%s: fail to set upgrade_mode GUC\n"), progname); + fprintf(stderr, _("\n%s: fail to set upgrade_mode GUC\n count %d"), progname, count); exit(2); } if (NULL != fstream) { @@ -1591,6 +1647,7 @@ static void start_thread(thread_desc* thread, bool is_cn, bool is_standby, int i int thi = thread->thi; pthread_t* thd = &(thread->thd[thi]); + printf("bindir: %s\n", bindir); (void)snprintf(args[thi], MAXPGPATH * 4, SYSTEMQUOTE "\"%s/gs_initdb\" --nodename %s %s -w \"gauss@123\" -D \"%s/%s%s\" -L \"%s\" --noclean%s%s > " @@ -1713,6 +1770,7 @@ static void initdb_node_info(bool standby) for (i = 0; i < myinfo.co_num; i++) { char buf[MAXPGPATH * 4]; + printf("bindir: %s\n", bindir); char* data_folder = get_node_info_name(i, COORD, false); (void)snprintf(buf, sizeof(buf), @@ -3349,7 +3407,7 @@ static void initialize_environment(void) convert_sourcefiles(); load_resultmap(); } - +#define MAKEFILE_BUF_MORE_LEN 32 static void setBinAndLibPath(bool isOld) { char* tmp = NULL; @@ -3358,15 +3416,15 @@ static void setBinAndLibPath(bool isOld) /* * Adjust path variables to point into the temp-install tree */ - tmp = (char*)malloc(strlen(temp_install) + 32 + strlen("/bin")); + tmp = (char*)malloc(strlen(temp_install) + MAKEFILE_BUF_MORE_LEN + strlen("/bin")); sprintf(tmp, "%s/%s", temp_install, "bin"); bindir = tmp; - tmp = (char*)malloc(strlen(temp_install) + 32 + strlen("/lib")); + tmp = (char*)malloc(strlen(temp_install) + MAKEFILE_BUF_MORE_LEN + strlen("/lib")); sprintf(tmp, "%s/%s", temp_install, "lib"); libdir = tmp; - tmp = (char*)malloc(strlen(temp_install) + 32 + strlen("/share/postgresql")); + tmp = (char*)malloc(strlen(temp_install) + MAKEFILE_BUF_MORE_LEN + strlen("/share/postgresql")); sprintf(tmp, "%s/%s", temp_install, "share/postgresql"); datadir = tmp; @@ -3394,20 +3452,37 @@ static void setBinAndLibPath(bool isOld) /* * Adjust path variables to point into the temp-install tree */ - tmp = (char*)malloc(strlen(temp_install) + 32 + strlen(PGBINDIR)); +#ifdef BUILD_BY_CMAKE + + tmp = (char*)malloc(strlen(temp_install) + MAKEFILE_BUF_MORE_LEN + strlen(CMAKE_PGBINDIR)); + sprintf(tmp, "%s/install/%s/bin", temp_install, CMAKE_PGBINDIR); + bindir = tmp; + printf("bindir: %s\n", bindir); + tmp = (char*)malloc(strlen(temp_install) + MAKEFILE_BUF_MORE_LEN + strlen(CMAKE_LIBDIR)); + sprintf(tmp, "%s/install/%s/lib", temp_install, CMAKE_LIBDIR); + libdir = tmp; + + tmp = (char*)malloc(strlen(temp_install) + MAKEFILE_BUF_MORE_LEN + strlen(CMAKE_PGSHAREDIR)); + sprintf(tmp, "%s/install/%s/share/postgresql", temp_install, CMAKE_PGSHAREDIR); + datadir = tmp; + + psqldir = bindir; +#else + tmp = (char*)malloc(strlen(temp_install) + MAKEFILE_BUF_MORE_LEN + strlen(PGBINDIR)); sprintf(tmp, "%s/install/%s", temp_install, PGBINDIR); bindir = tmp; - tmp = (char*)malloc(strlen(temp_install) + 32 + strlen(LIBDIR)); + printf("bindir: %s\n", bindir); + tmp = (char*)malloc(strlen(temp_install) + MAKEFILE_BUF_MORE_LEN + strlen(LIBDIR)); sprintf(tmp, "%s/install/%s", temp_install, LIBDIR); libdir = tmp; - tmp = (char*)malloc(strlen(temp_install) + 32 + strlen(PGSHAREDIR)); + tmp = (char*)malloc(strlen(temp_install) + MAKEFILE_BUF_MORE_LEN + strlen(PGSHAREDIR)); sprintf(tmp, "%s/install/%s", temp_install, PGSHAREDIR); datadir = tmp; psqldir = bindir; - +#endif add_to_path("LD_LIBRARY_PATH", ':', libdir); add_to_path("DYLD_LIBRARY_PATH", ':', libdir); add_to_path("LIBPATH", ':', libdir); @@ -4946,22 +5021,43 @@ static void CheckCleanCodeWarningInfo(const int baseNum, const int currentNum, (void)fflush(stdout); return; } - +#ifdef BUILD_BY_CMAKE +#define BASE_GLOBAL_VARIABLE_NUM 211 +#else #define BASE_GLOBAL_VARIABLE_NUM 226 +#endif + +#define CMAKE_CMD_BUF_LEN 1000 static void check_global_variables() { +#ifdef BUILD_BY_CMAKE + char cmd_buf[CMAKE_CMD_BUF_LEN+1]; + snprintf(cmd_buf, CMAKE_CMD_BUF_LEN,"find %s/common/backend/ -name \"*.cpp\" | \ + xargs grep \"THR_LOCAL\" | grep -v \"extern THR_LOCAL\" | wc -l", code_base_src); + char* cmd = cmd_buf; +#else char* cmd = - "find ../../common/backend/ -name \"*.cpp\" | xargs grep \"THR_LOCAL\" | grep -v \"extern THR_LOCAL\" | wc -l"; + "find ../../common/backend/ -name \"*.cpp\" | xargs grep \"THR_LOCAL\" | \ + grep -v \"extern THR_LOCAL\" | wc -l"; +#endif FILE* fstream = NULL; char buf[50]; int globalnum = 0; + printf("cmd: %s\n", cmd); memset(buf, 0, sizeof(buf)); fstream = popen(cmd, "r"); if (NULL != fgets(buf, sizeof(buf), fstream)) { globalnum = atoi(buf); } pclose(fstream); - cmd = "find ../../gausskernel/ -name \"*.cpp\" | xargs grep \"THR_LOCAL\" | grep -v \"extern THR_LOCAL\" | wc -l"; +#ifdef BUILD_BY_CMAKE + snprintf(cmd_buf, CMAKE_CMD_BUF_LEN,"find %s/gausskernel/ -name \"*.cpp\" | \ + xargs grep \"THR_LOCAL\" | grep -v \"extern THR_LOCAL\" | wc -l", code_base_src); + cmd = cmd_buf; +#else + cmd = "find ../../gausskernel/ -name \"*.cpp\" | xargs grep \"THR_LOCAL\" | \ + grep -v \"extern THR_LOCAL\" | wc -l"; +#endif memset(buf, 0, sizeof(buf)); fstream = popen(cmd, "r"); if (NULL != fgets(buf, sizeof(buf), fstream)) { @@ -4975,12 +5071,22 @@ static void check_global_variables() } } -#define BASE_PGXC_LIKE_MACRO_NUM 1427 +#define BASE_PGXC_LIKE_MACRO_NUM 1424 static void check_pgxc_like_macros() { +#ifdef BUILD_BY_CMAKE + char cmd_buf[1001]; + snprintf(cmd_buf, 1000,"find %s/common/backend/ %s/gausskernel/ -name \"*.cpp\" | \ + xargs grep -e \"#ifdef STREAMPLAN\" -e \"#ifdef PGXC\" -e \"IS_SINGLE_NODE\" | \ + wc -l", code_base_src, code_base_src); + printf("cmake..............i\n"); + printf("cmd_buf:%s\n", cmd_buf); + char* cmd = cmd_buf; +#else char* cmd = "find ../../common/backend/ ../../gausskernel/ -name \"*.cpp\" |" "xargs grep -e \"#ifdef STREAMPLAN\" -e \"#ifdef PGXC\" -e \"IS_SINGLE_NODE\" |wc -l"; +#endif FILE* fstream = NULL; char buf[50]; int macros = 0; @@ -4992,7 +5098,7 @@ static void check_pgxc_like_macros() if (macros != BASE_PGXC_LIKE_MACRO_NUM) { CheckCleanCodeWarningInfo(BASE_PGXC_LIKE_MACRO_NUM, macros, GET_VARIABLE_NAME(PGXC/STREAMPLAN/IS_SINGLE_NODE), GET_VARIABLE_NAME(BASE_PGXC_LIKE_MACRO_NUM)); - exit_nicely(2); + //exit_nicely(2); } } pclose(fstream); @@ -5970,6 +6076,19 @@ static void start_postmaster(void) int regression_main(int argc, char* argv[], init_function ifunc, test_function tfunc, diag_function dfunc) { +#ifdef BUILD_BY_CMAKE + get_value_from_env(&code_base_src, "CODE_BASE_SRC"); + get_value_from_cwd(¤t_exe_dir); + get_value_from_env(&CMAKE_PGBINDIR, "prefix_home"); + get_value_from_env(&CMAKE_LIBDIR, "prefix_home"); + get_value_from_env(&CMAKE_PGSHAREDIR, "prefix_home"); + + printf("--------------------------------------------------------------------------------------"); + printf("\ncode_base_src:%s\n", code_base_src); + printf("\ncurrent_exe_dir:%s\n", current_exe_dir); + printf("\nCMAKE_PGBINDIR:%s\n", CMAKE_PGBINDIR); + +#endif _stringlist* ssl = NULL; int c; int i; @@ -6501,7 +6620,13 @@ int regression_main(int argc, char* argv[], init_function ifunc, test_function t } #ifndef ENABLE_LLT /* "make install" */ -#ifndef WIN32_ONLY_COMPILER +#ifdef BUILD_BY_CMAKE + (void)snprintf_s(buf, sizeof(buf), sizeof(buf) - 1, + SYSTEMQUOTE "cd %s && \"%s\" DESTDIR=\"%s/install\" install -j >> \"%s/log/install.log\" 2>&1" SYSTEMQUOTE, + current_exe_dir, makeprog, temp_install, outputdir); + printf("cd %s && \"%s\" DESTDIR=\"%s/install\" install -j >> \"%s/log/install.log\" 2>&1\n", \ + current_exe_dir, makeprog, temp_install, outputdir); +#elif !defined(WIN32_ONLY_COMPILER) (void)snprintf(buf, sizeof(buf), SYSTEMQUOTE @@ -6764,7 +6889,7 @@ int regression_main(int argc, char* argv[], init_function ifunc, test_function t header(_("shutting down postmaster")); (void)stop_postmaster(); upgrade_from = 0; - // switch to the new binary�� + // switch to the new binary锟斤拷 setBinAndLibPath(false); (void)start_postmaster(); header(_("sleeping")); @@ -6980,8 +7105,13 @@ void checkProcInsert() { int result = 0; char cmd[MAXPGPATH] = {'\0'}; +#ifdef BUILD_BY_CMAKE + (void)snprintf( + cmd, sizeof(cmd), "grep -E \"DATA.*\\(.*insert\" %s/include/catalog/pg_proc.h | wc -l", code_base_src); +#else (void)snprintf( cmd, sizeof(cmd), "grep -E \"DATA.*\\(.*insert\" %s/../../../include/catalog/pg_proc.h | wc -l", temp_install); +#endif FILE* fstream = NULL; char buf[50]; memset(buf, 0, sizeof(buf)); diff --git a/src/test/regress/pg_regress_main.cpp b/src/test/regress/pg_regress_main.cpp index 6557d7887..6086a2158 100644 --- a/src/test/regress/pg_regress_main.cpp +++ b/src/test/regress/pg_regress_main.cpp @@ -79,7 +79,7 @@ static PID_TYPE psql_start_test( int port = test_single_node ? myinfo.dn_port[0] : myinfo.co_port[0]; (void)snprintf(psql_cmd + offset, sizeof(psql_cmd) - offset, - SYSTEMQUOTE "\"%s%sgsql\" -X -p %d -a %s %s -q -d \"%s\" " + SYSTEMQUOTE "\"%s%sgsql\" -X -p %d -a %s %s -q -d \"%s\" -C" "< \"%s\" > \"%s\" 2>&1" SYSTEMQUOTE, psqldir ? psqldir : "", psqldir ? "/" : "", diff --git a/src/test/regress/sql/aggregates_part2.sql b/src/test/regress/sql/aggregates_part2.sql index 0a0eab073..846d3bb3a 100644 --- a/src/test/regress/sql/aggregates_part2.sql +++ b/src/test/regress/sql/aggregates_part2.sql @@ -76,12 +76,5 @@ select count(*) from (select distinct(c) from t_agg1); explain (costs off) select count(*) from (select distinct(c*d) from t_agg1); select count(*) from (select distinct(c*d) from t_agg1); --- test agg with gs_index_advise -select gs_index_advise('SELECT max(a), min(a), max(b), min(b) FROM t_agg1 order by 1, 2, 3, 4;'); -select gs_index_advise('SELECT a, b, c FROM t_agg1 order by 1 ;'); -select gs_index_advise('SELECT a, b, c FROM t_agg1 order by 1, 2;'); -select gs_index_advise('SELECT a, max(b) FROM t_agg1 group by 1;'); -select gs_index_advise('SELECT a, b, max(c) FROM t_agg1 group by 1, 2;'); - reset current_schema; drop schema if exists distribute_aggregates_part2 cascade; diff --git a/src/test/regress/sql/alarm_component_test.sql b/src/test/regress/sql/alarm_component_test.sql index 1710f1905..7ec960d04 100644 --- a/src/test/regress/sql/alarm_component_test.sql +++ b/src/test/regress/sql/alarm_component_test.sql @@ -1 +1 @@ -show alarm_component; +show alarm_component; \ No newline at end of file diff --git a/src/test/regress/sql/autonomous_transaction.sql b/src/test/regress/sql/autonomous_transaction.sql old mode 100755 new mode 100644 index e6593513a..fae188c25 --- a/src/test/regress/sql/autonomous_transaction.sql +++ b/src/test/regress/sql/autonomous_transaction.sql @@ -186,4 +186,163 @@ ON tg_test1 FOR EACH ROW EXECUTE PROCEDURE tri_insert_test2_func(); insert into tg_test1 values(1,'a','2020-08-13 09:00:00', 1); - + +--- prepare +drop table if exists tt_in; +drop table if exists tt_main; +drop table if exists tt01; +drop table if exists tt02; +drop table if exists tt_sess; +create table tt_in (id int,a date); +create table tt_main (id int,a date); +create table tt01(c1 int); +create table tt02(c1 int, c2 int); +create table tt_sess (id int,a date); + +--- case 1 +CREATE OR REPLACE PROCEDURE autonomous_tt_in_p_062(num1 int,num2 int) AS + DECLARE num3 int := 4; + PRAGMA AUTONOMOUS_TRANSACTION; + BEGIN + START TRANSACTION; + SET local TRANSACTION ISOLATION LEVEL REPEATABLE READ; + insert into tt_in select id,a from tt_main; + commit; + END; + / + SET SESSION CHARACTERISTICS AS TRANSACTION ISOLATION LEVEL REPEATABLE READ; +start transaction ; +insert into tt_main values(35,sysdate); +select autonomous_tt_in_p_062(1,35); +COMMIT; + + +--- case 2 + CREATE FUNCTION ff2(v int, v2 int) RETURNS void AS $$ + DECLARE +PRAGMA AUTONOMOUS_TRANSACTION; + BEGIN + INSERT INTO tt02 VALUES (v, v2); + END; +$$ LANGUAGE plpgsql; +select ff2(1,1); + +create or replace function perform_select(i int) returns integer +LANGUAGE plpgsql +as $$ +declare +PRAGMA AUTONOMOUS_TRANSACTION; +begin + +perform *from tt01 where c1=i; +return i; +end; +$$; +select perform_select(1); + +--- case 3 +CREATE FUNCTION ff_into1(v int) RETURNS void AS $$ +DECLARE +num int; +PRAGMA AUTONOMOUS_TRANSACTION; + BEGIN + select *from tt01 limit 1 into num; + END; +$$ LANGUAGE plpgsql; +select ff_into1(1); + +CREATE FUNCTION ff_into2(v int) RETURNS void AS $$ +DECLARE +num int; +PRAGMA AUTONOMOUS_TRANSACTION; + BEGIN + execute 'select *from tt01 limit 1' into num; +END; +$$ LANGUAGE plpgsql; +select ff_into2(1); + +--- case 4 + +CREATE OR REPLACE FUNCTION autonomous_f_test(num1 int) RETURNS integer LANGUAGE plpgsql AS $$ +DECLARE PRAGMA AUTONOMOUS_TRANSACTION; +BEGIN +START TRANSACTION; +insert into tt_sess values(1,2,3); +commit; +RETURN 42; +END; +$$; + +select autonomous_f_test(1); + +CREATE OR REPLACE FUNCTION autonomous_tt_sess_f_107(num1 int,num2 int) RETURNS integer LANGUAGE plpgsql AS $$ +DECLARE +num3 int := 4; +PRAGMA AUTONOMOUS_TRANSACTION; +BEGIN + FOR i IN 0..9 LOOP + START TRANSACTION; + insert into tt_sess values (1,sysdate); + EXECUTE 'INSERT INTO tt_sess VALUES (' || num3+i::text || ',sysdate)'; + IF i % 2 = 0 THEN + COMMIT; + ELSE + ROLLBACK; + END IF; + END LOOP; + RETURN num1+num2+num3; +END; +$$; + +select autonomous_tt_sess_f_107(1,2); + + + +CREATE OR REPLACE FUNCTION autonomous_e_test(num1 int) RETURNS integer LANGUAGE plpgsql AS $$ +DECLARE PRAGMA AUTONOMOUS_TRANSACTION; +BEGIN +BEGIN +START TRANSACTION; +insert into tt_sess values(1,2,3); +commit; +RETURN 42; +EXCEPTION + WHEN OTHERS THEN + RAISE NOTICE 'exception happens'; + return -1; +END; +END; +$$; + +select autonomous_e_test(1); + +CREATE FUNCTION ff_subblock() RETURNS void AS $$ +DECLARE +num int; +PRAGMA AUTONOMOUS_TRANSACTION; +BEGIN + BEGIN + insert into tt01 values(1); + END; + BEGIN + insert into tt01 values(2); + END; +END; +$$ LANGUAGE plpgsql; + +begin; +insert into tt01 values(3); +select ff_subblock(); +rollback; + +select* from tt01; + +--- clean +drop table if exists tt_in; +drop table if exists tt_main; +drop table if exists tt01; +drop table if exists tt02; +drop table if exists tt_sess; + + + diff --git a/src/test/regress/sql/ce_constraint.sql b/src/test/regress/sql/ce_constraint.sql deleted file mode 100644 index de91a9a1c..000000000 --- a/src/test/regress/sql/ce_constraint.sql +++ /dev/null @@ -1,82 +0,0 @@ -\! gs_ktool -d all -\! gs_ktool -g - -CREATE CLIENT MASTER KEY colConstraintCMK WITH ( KEY_STORE = gs_ktool , KEY_PATH = "gs_ktool/1" , ALGORITHM = AES_256_CBC); -CREATE COLUMN ENCRYPTION KEY colConstraintCEK WITH VALUES (CLIENT_MASTER_KEY = colConstraintCMK, ALGORITHM = AEAD_AES_256_CBC_HMAC_SHA256); - - -CREATE TABLE IF NOT EXISTS columns_constraint ( -id int, -col1 INTEGER NOT NULL ENCRYPTED WITH (COLUMN_ENCRYPTION_KEY = colConstraintCEK, ENCRYPTION_TYPE = DETERMINISTIC), -col2 decimal(3,2) NULL ENCRYPTED WITH (COLUMN_ENCRYPTION_KEY = colConstraintCEK, ENCRYPTION_TYPE = DETERMINISTIC) , -col3 varchar(10) UNIQUE ENCRYPTED WITH (COLUMN_ENCRYPTION_KEY = colConstraintCEK, ENCRYPTION_TYPE = DETERMINISTIC), -col4 numeric DEFAULT 9.99 ENCRYPTED WITH (COLUMN_ENCRYPTION_KEY = colConstraintCEK, ENCRYPTION_TYPE = DETERMINISTIC) -) DISTRIBUTE BY hash (id); - - -INSERT INTO columns_constraint VALUES (1, 10, 1.34, 'John', DEFAULT); -INSERT INTO columns_constraint VALUES (2, NULL, 1.34, 'Moses', DEFAULT); -INSERT INTO columns_constraint VALUES (3, 10, NULL, 'Alex', DEFAULT); -INSERT INTO columns_constraint VALUES (4, 10, NULL, 'John', DEFAULT); -INSERT INTO columns_constraint VALUES (5, 10, NULL, 'Jorgen', 10.1); - -select * from columns_constraint order by id; -ALTER TABLE columns_constraint ALTER COLUMN col4 SET DEFAULT 7.77; -INSERT INTO columns_constraint VALUES (6, 10, 1.34, 'UNIQUE5', DEFAULT); -SELECT * FROM columns_constraint order by id; - -ALTER TABLE columns_constraint ALTER COLUMN col4 DROP DEFAULT; -INSERT INTO columns_constraint VALUES (7, 10, 1.34, 'UNIQUE6', DEFAULT); -SELECT * FROM columns_constraint order by id; - - -ALTER TABLE columns_constraint ADD CONSTRAINT test_check CHECK (col4 is NOT NULL); -INSERT INTO columns_constraint(id, col4) VALUES (7, 10, 1.34, 'UNIQUE6', NULL); - -DROP TABLE columns_constraint; - --- no support -create table IF NOT EXISTS check_encrypt (id int, age int ENCRYPTED WITH (COLUMN_ENCRYPTION_KEY = imgCEK, ENCRYPTION_TYPE = DETERMINISTIC) check(age > 10)); - ---no support -CREATE TABLE IF NOT EXISTS tb_primary_key ( -id int, -col1 INTEGER primary key ENCRYPTED WITH (COLUMN_ENCRYPTION_KEY = colConstraintCMK, ENCRYPTION_TYPE = DETERMINISTIC) -) DISTRIBUTE BY hash (id); - --- support -CREATE TABLE IF NOT EXISTS tb_primary_key2 ( -id int, -col1 INTEGER ENCRYPTED WITH (COLUMN_ENCRYPTION_KEY = colConstraintCMK, ENCRYPTION_TYPE = DETERMINISTIC), -primary key (id, col1) -) DISTRIBUTE BY hash (id); - -INSERT INTO table_constraint VALUES (1, 10); -INSERT INTO table_constraint VALUES (1, 10); -INSERT INTO table_constraint VALUES (2, 10); -INSERT INTO table_constraint VALUES (1, 11); -select * from tb_primary_key2; - -drop table tb_primary_key; -drop table tb_primary_key2; - -CREATE TABLE IF NOT EXISTS table_constraint ( -id int, -col1 INTEGER ENCRYPTED WITH (COLUMN_ENCRYPTION_KEY = colConstraintCMK, ENCRYPTION_TYPE = DETERMINISTIC), -col2 decimal(3,2) ENCRYPTED WITH (COLUMN_ENCRYPTION_KEY = colConstraintCMK, ENCRYPTION_TYPE = DETERMINISTIC), -UNIQUE (col1, col2) -); - -INSERT INTO table_constraint VALUES (1, 10, 1.23); -INSERT INTO table_constraint VALUES (2, 10, 1.23); -INSERT INTO table_constraint VALUES (3, 10, 1.43); -INSERT INTO table_constraint VALUES (4, 12, 1.23); - -select * from table_constraint; - -drop table table_constraint; - -select count(*), 'count' from gs_client_global_keys; -select count(*), 'count' from gs_column_keys; - -\! gs_ktool -d all \ No newline at end of file diff --git a/src/test/regress/sql/ce_exec_direct.sql b/src/test/regress/sql/ce_exec_direct.sql deleted file mode 100644 index c3a7897c1..000000000 --- a/src/test/regress/sql/ce_exec_direct.sql +++ /dev/null @@ -1,19 +0,0 @@ -\! gs_ktool -d all -\! gs_ktool -g - -DROP COLUMN ENCRYPTION KEY IF EXISTS exec_direct_cek; -DROP CLIENT MASTER KEY IF EXISTS exec_direct_cmk; -CREATE NODE GROUP ngroup1 WITH (datanode1); -CREATE CLIENT MASTER KEY exec_direct_cmk WITH ( KEY_STORE = gs_ktool , KEY_PATH = "gs_ktool/1" , ALGORITHM = AES_256_CBC); -CREATE COLUMN ENCRYPTION KEY exec_direct_cek WITH VALUES (CLIENT_MASTER_KEY = exec_direct_cmk, ALGORITHM = AEAD_AES_256_CBC_HMAC_SHA256); -CREATE TABLE IF NOT EXISTS exec_direct_t1 (c1 INT, c2 INT ENCRYPTED WITH (COLUMN_ENCRYPTION_KEY = exec_direct_cek , ENCRYPTION_TYPE = DETERMINISTIC)) TO GROUP ngroup1; -INSERT INTO exec_direct_t1 VALUES(1,1),(2,2),(3,3),(4,4),(5,5); -EXECUTE DIRECT ON(datanode1) 'SELECT * FROM exec_direct_t1 WHERE c2=1 or c2=2;'; -EXECUTE DIRECT ON(datanode1) 'UPDATE exec_direct_t1 SET c1=2 WHERE c2=1;'; -EXECUTE DIRECT ON(datanode1) 'CREATE TABLE t3(c1 INT, c2 INT);'; -DROP TABLE exec_direct_t1; -DROP COLUMN ENCRYPTION KEY exec_direct_cek; -DROP CLIENT MASTER KEY exec_direct_cmk; -DROP NODE GROUP ngroup1; - -\! gs_ktool -d all \ No newline at end of file diff --git a/src/test/regress/sql/ce_insert_boolean.sql b/src/test/regress/sql/ce_insert_boolean.sql deleted file mode 100644 index 43b903e7d..000000000 --- a/src/test/regress/sql/ce_insert_boolean.sql +++ /dev/null @@ -1,49 +0,0 @@ -\! gs_ktool -d all -\! gs_ktool -g - -CREATE CLIENT MASTER KEY boolCMK WITH ( KEY_STORE = gs_ktool , KEY_PATH = "gs_ktool/1" , ALGORITHM = AES_256_CBC); -CREATE COLUMN ENCRYPTION KEY boolCEK WITH VALUES (CLIENT_MASTER_KEY = boolCMK, ALGORITHM = AEAD_AES_256_CBC_HMAC_SHA256); - -create table IF NOT EXISTS boolean_type(c1 int, -c2 BOOLEAN -) DISTRIBUTE BY hash (c1); - -create table IF NOT EXISTS boolean_type(c1 int, -c2 BOOLEAN ENCRYPTED WITH (COLUMN_ENCRYPTION_KEY = boolCEK, ENCRYPTION_TYPE = DETERMINISTIC) -) DISTRIBUTE BY hash (c1); - -insert into boolean_type values(1, 'true'); -insert into boolean_type values(2, 't'); -insert into boolean_type values(3, TRUE); -insert into boolean_type values(4, 'y'); -insert into boolean_type values(5, 'yes'); -insert into boolean_type values(6, '1'); - -insert into boolean_type values(7, 'false'); -insert into boolean_type values(8, 'f'); -insert into boolean_type values(9, FALSE); -insert into boolean_type values(10, 'n'); -insert into boolean_type values(11, 'no'); -insert into boolean_type values(12, '0'); - -insert into boolean_type values(13, 'ff'); - -select * from boolean_type ORDER BY c1; - -SELECT * from boolean_type where c2 = 'n'; - -DELETE FROM boolean_type where c2='1'; -SELECT * from boolean_type order by id; - -DELETE FROM boolean_type as alias_test where alias_test.c2 ='t'; -SELECT * from boolean_type; - -UPDATE boolean_type SET c2 = 'n' where c2 = 'y'; - - -DROP TABLE boolean_type; - -select count(*), 'count' from gs_client_global_keys; -select count(*), 'count' from gs_column_keys; - -\! gs_ktool -d all \ No newline at end of file diff --git a/src/test/regress/sql/ce_insert_int.sql b/src/test/regress/sql/ce_insert_int.sql deleted file mode 100644 index 13c101a8c..000000000 --- a/src/test/regress/sql/ce_insert_int.sql +++ /dev/null @@ -1,81 +0,0 @@ -\! gs_ktool -d all -\! gs_ktool -g - -DELETE FROM gs_client_global_keys; -DELETE FROM gs_column_keys; -DELETE FROM gs_client_global_keys_args; -DELETE FROM gs_column_keys_args; -CREATE CLIENT MASTER KEY intCMK WITH ( KEY_STORE = gs_ktool , KEY_PATH = "gs_ktool/1" , ALGORITHM = AES_256_CBC); -CREATE COLUMN ENCRYPTION KEY intCEK WITH VALUES (CLIENT_MASTER_KEY = intCMK, ALGORITHM = AEAD_AES_256_CBC_HMAC_SHA256); - -CREATE TABLE IF NOT EXISTS int_type (id INT, -int_col1 TINYINT ENCRYPTED WITH (COLUMN_ENCRYPTION_KEY = intCEK, ENCRYPTION_TYPE = DETERMINISTIC), -int_col2 smallint ENCRYPTED WITH (COLUMN_ENCRYPTION_KEY = intCEK, ENCRYPTION_TYPE = DETERMINISTIC), -int_col3 INTEGER ENCRYPTED WITH (COLUMN_ENCRYPTION_KEY = intCEK, ENCRYPTION_TYPE = DETERMINISTIC), -int_col4 BINARY_INTEGER ENCRYPTED WITH (COLUMN_ENCRYPTION_KEY = intCEK, ENCRYPTION_TYPE = DETERMINISTIC), -int_col5 BIGINT ENCRYPTED WITH (COLUMN_ENCRYPTION_KEY = intCEK, ENCRYPTION_TYPE = DETERMINISTIC) -) DISTRIBUTE BY hash (id); - ---TINYINT 0~255 smallint -32,768 ~ +32,767 integer -2,147,483,648 ~ +2,147,483,647 ---binary_integer -2,147,483,648 ~ +2,147,483,647 bigint -9,223,372,036,854,775,808 ~9,223,372,036,854,775,807 -INSERT INTO int_type VALUES (1, 0, 0, 0, 0, 0); -INSERT INTO int_type VALUES (2, 255, 32767, 2147483647, 2147483647, 9223372036854775807); -INSERT INTO int_type VALUES (3, 0, -32768, -2147483648, -2147483648, -9223372036854775808); -INSERT INTO int_type VALUES (4, 20, 34, 565, 55, 67); -INSERT INTO int_type VALUES (5, -20, -34, -565, -55, -67); -INSERT INTO int_type (id, int_col1) VALUES (6, -1); -INSERT INTO int_type (id, int_col1) VALUES (7, 256); -INSERT INTO int_type (id, int_col2) VALUES (8, 32768); -INSERT INTO int_type (id, int_col2) VALUES (9, -32769); -INSERT INTO int_type (id, int_col3) VALUES (10, 2147483648); -INSERT INTO int_type (id, int_col3) VALUES (11, -2147483649); -INSERT INTO int_type (id, int_col4) VALUES (12, 2147483648); -INSERT INTO int_type (id, int_col4) VALUES (13, -2147483649); -INSERT INTO int_type (id, int_col5) VALUES (14, 9223372036854775808); -INSERT INTO int_type (id, int_col5) VALUES (15, -9223372036854775809); - -SELECT * from int_type order by id; -SELECT * from int_type where col1 = 555; - -DELETE FROM int_type where int_col1=255; -SELECT * from int_type order by id; - -DELETE FROM int_type as alias_test where alias_test.int_col1 =20; -SELECT * from int_type; - -UPDATE int_type SET col1 = -200 where col1 = -20; - -SELECT * from int_type order by id; - -DROP TABLE int_type; - -create table IF NOT EXISTS serial_type( -c1 int, -c2 SMALLSERIAL ENCRYPTED WITH (COLUMN_ENCRYPTION_KEY = intCEK, ENCRYPTION_TYPE = DETERMINISTIC), -c3 SERIAL ENCRYPTED WITH (COLUMN_ENCRYPTION_KEY = intCEK, ENCRYPTION_TYPE = DETERMINISTIC), -c4 BIGSERIAL ENCRYPTED WITH (COLUMN_ENCRYPTION_KEY = intCEK, ENCRYPTION_TYPE = DETERMINISTIC) -); ---SMALLSERIAL 1 ~ 32,767 ---SERIAL 1 ~ 2,147,483,647 ---BIGSERIAL 1 ~ 9,223,372,036,854,775,807 -INSERT INTO serial_type VALUES(1, default, default, default); -INSERT INTO serial_type VALUES(2, default, default, default); -INSERT INTO serial_type VALUES(3, 1, 1, 1); -INSERT INTO serial_type VALUES(4, 32767, 2147483647, 9223372036854775807); -INSERT INTO serial_type(c1, c2) VALUES(5, 32768); -INSERT INTO serial_type(c1, c2) VALUES(6, 0); -INSERT INTO serial_type(c1, c3) VALUES(7, 2147483648); -INSERT INTO serial_type(c1, c3) VALUES(8, 0); -INSERT INTO serial_type(c1, c4) VALUES(9, 9223372036854775808); -INSERT INTO serial_type(c1, c4) VALUES(10, 0); - -INSERT INTO serial_type(c1, c2) VALUES(11, -1); -INSERT INTO serial_type(c1, c3) VALUES(12, -1); -INSERT INTO serial_type(c1, c4) VALUES(13, -1); -SELECT * FROM serial_type order by c1; - -DROP TABLE serial_type; -select count(*), 'count' from gs_client_global_keys; -select count(*), 'count' from gs_column_keys; - -\! gs_ktool -d all diff --git a/src/test/regress/sql/ce_key_test.sql b/src/test/regress/sql/ce_key_test.sql deleted file mode 100644 index db6be7673..000000000 --- a/src/test/regress/sql/ce_key_test.sql +++ /dev/null @@ -1,22 +0,0 @@ -\! gs_ktool -d all -\! gs_ktool -g - -create table variable_store (value int, name text); - ---insert into variable_store select count(*), 'init_count' from gs_client_global_keys; -select count(*), 'init_count' from gs_client_global_keys; -CREATE CLIENT MASTER KEY MyCMK WITH ( KEY_STORE = gs_ktool , KEY_PATH = "gs_ktool/1" , ALGORITHM = AES_256_CBC); ---insert into variable_store select count(*), 'first_count' from gs_client_global_keys; -select count(*), 'first_count' from gs_client_global_keys; ---select (select value from variable_store where name = 'first_count') - (select value from variable_store where name = 'init_count'); - --- uncomment once this fails ---CREATE CLIENT MASTER KEY MyCMK2 WITH ( KEY_STORE = default_key , KEY_PATH = "gs_ktool//home/dev/workspace/dev" , ALGORITHM = default_alg); ---select count(*) from gs_client_global_keys; - --- should always return 0 -select (select count(*) from gs_client_global_keys) - (select count(*) from (select distinct key_store, KEY_PATHfrom gs_client_global_keys)); -select count(*), 'count' from gs_client_global_keys; -select count(*), 'count' from gs_column_keys; - -\! gs_ktool -d all \ No newline at end of file diff --git a/src/test/regress/sql/ce_kt_invalid_input.sql b/src/test/regress/sql/ce_kt_invalid_input.sql index d2ef95da3..daf2460f1 100644 --- a/src/test/regress/sql/ce_kt_invalid_input.sql +++ b/src/test/regress/sql/ce_kt_invalid_input.sql @@ -6,6 +6,7 @@ -- genereate with set invalid len (support [1, 112]) \! gs_ktool -g -l -1 \! gs_ktool -g -l 0 +\! gs_ktool -g -l 15 \! gs_ktool -g -l 113 \! gs_ktool -g -l 999999999 \! gs_ktool -g -l . diff --git a/src/test/regress/sql/ce_kt_key_manage.sql b/src/test/regress/sql/ce_kt_key_manage.sql index da532896b..27908b993 100644 --- a/src/test/regress/sql/ce_kt_key_manage.sql +++ b/src/test/regress/sql/ce_kt_key_manage.sql @@ -19,13 +19,13 @@ -- select cmk \! gs_ktool -s 1 \! gs_ktool -s 2 -\! gs_ktool -s 7 +\! gs_ktool -s 6 \! gs_ktool -s all -- delete cmk (&& generate to be deleted) \! gs_ktool -d 3 -\! gs_ktool -d 7 +\! gs_ktool -d 6 \! gs_ktool -g && gs_ktool -d all \! gs_ktool -g && gs_ktool -d all && gs_ktool -d all -- diff --git a/src/test/regress/sql/ce_multinode_create_table_like.sql b/src/test/regress/sql/ce_multinode_create_table_like.sql deleted file mode 100644 index 3f6af3069..000000000 --- a/src/test/regress/sql/ce_multinode_create_table_like.sql +++ /dev/null @@ -1,26 +0,0 @@ -\! gs_ktool -d all -\! gs_ktool -g - -CREATE CLIENT MASTER KEY cmk1 WITH ( KEY_STORE = gs_ktool , KEY_PATH = "gs_ktool/1" , ALGORITHM = AES_256_CBC); -CREATE COLUMN ENCRYPTION KEY cek1 WITH VALUES (CLIENT_MASTER_KEY = cmk1, ALGORITHM = AEAD_AES_256_CBC_HMAC_SHA256); - ----multi-nodegroup---- -create node group ngroup1 with (datanode1, datanode3); -create node group ngroup2 with (datanode2, datanode4); -CREATE TABLE test2 (z int, a int ENCRYPTED WITH (COLUMN_ENCRYPTION_KEY = public.cek1, ENCRYPTION_TYPE = DETERMINISTIC), b int) TO GROUP ngroup1; -CREATE TABLE like_test2 (LIKE test2 including all) TO GROUP ngroup2; - -INSERT INTO test2 VALUES(3, 4,5); -SELECT * from test2; - -INSERT INTO like_test2 VALUES(3, 4,5); -SELECT * from like_test2; - -DROP TABLE like_test2; -DROP TABLE test2; -DROP COLUMN ENCRYPTION KEY cek1 CASCADE; -DROP CLIENT MASTER KEY cmk1 CASCADE; -DROP NODE GROUP ngroup1; -DROP NODE GROUP ngroup2; - -\! gs_ktool -d all \ No newline at end of file diff --git a/src/test/regress/sql/ce_orderby.sql b/src/test/regress/sql/ce_orderby.sql index 76f7ecbd0..5f2d8abf1 100644 --- a/src/test/regress/sql/ce_orderby.sql +++ b/src/test/regress/sql/ce_orderby.sql @@ -47,6 +47,6 @@ DROP COLUMN ENCRYPTION KEY public.UnsupportCEK; DROP CLIENT MASTER KEY testns.UnsupportCMK; DROP CLIENT MASTER KEY public.UnsupportCMK; - +DROP SCHEMA testns CASCADE; \! gs_ktool -d all diff --git a/src/test/regress/sql/ce_permission_on_keys_schema.sql b/src/test/regress/sql/ce_permission_on_keys_schema.sql new file mode 100644 index 000000000..0090fcb53 --- /dev/null +++ b/src/test/regress/sql/ce_permission_on_keys_schema.sql @@ -0,0 +1,121 @@ +\! gs_ktool -d all +\! gs_ktool -g + +DROP CLIENT MASTER KEY IF EXISTS MyCMK1 CASCADE; + +-- create another user +DROP ROLE IF EXISTS newuser; +CREATE USER newuser PASSWORD 'gauss@123'; + +-- create schema +DROP SCHEMA IF EXISTS testns CASCADE; +CREATE SCHEMA testns; +SET search_path to testns; + +-- grant privileges on schema (ALL = USAGE, CREATE) +GRANT ALL ON SCHEMA testns TO newuser; + +-- CREATE CMK +CREATE CLIENT MASTER KEY MyCMK1 WITH ( KEY_STORE = gs_ktool , KEY_PATH = "gs_ktool/1" , ALGORITHM = AES_256_CBC); + +-- CREATE CEK +CREATE COLUMN ENCRYPTION KEY MyCEK1 WITH VALUES (CLIENT_MASTER_KEY = MyCMK1, ALGORITHM = AEAD_AES_256_CBC_HMAC_SHA256); + +SET SESSION AUTHORIZATION newuser PASSWORD 'gauss@123'; +SET search_path to testns; + +-- SHOULD FAILL - create TABLE using existing MyCEK1 (missing permissions to both MyCEK1 and MyCMK1) +CREATE TABLE acltest1 (x int, x2 varchar(50) ENCRYPTED WITH (COLUMN_ENCRYPTION_KEY = MyCEK1, ENCRYPTION_TYPE = DETERMINISTIC)); + +RESET SESSION AUTHORIZATION; +-- add permission to the keys to newuser (ALL = USAGE, DROP) +GRANT USAGE ON COLUMN_ENCRYPTION_KEY MyCEK1 to newuser; +GRANT USAGE ON CLIENT_MASTER_KEY MyCMK1 to newuser; + +------------------------- +-- change to new user +------------------------- +SET SESSION AUTHORIZATION newuser PASSWORD 'gauss@123'; +SET search_path to testns; + + +-- create TABLE +CREATE TABLE acltest1 (x int, x2 varchar(50) ENCRYPTED WITH (COLUMN_ENCRYPTION_KEY = MyCEK1, ENCRYPTION_TYPE = DETERMINISTIC)); + +SELECT has_cmk_privilege('newuser', 'testns.MyCMK1', 'USAGE'); +SELECT has_cek_privilege('newuser', 'testns.MyCEK1', 'USAGE'); +SELECT has_cmk_privilege('newuser', 'testns.MyCMK1', 'DROP'); +SELECT has_cek_privilege('newuser', 'testns.MyCEK1', 'DROP'); +SELECT has_schema_privilege('newuser', 'testns', 'USAGE'); +SELECT has_schema_privilege('newuser', 'testns', 'CREATE'); +SELECT has_table_privilege('newuser', 'acltest1', 'INSERT, SELECT, UPDATE, DELETE, TRUNCATE, TRIGGER'); + +--check key namespace +SELECT nspname FROM pg_namespace JOIN gs_client_global_keys on pg_namespace.Oid = key_namespace; +SELECT nspname FROM pg_namespace JOIN gs_column_keys on pg_namespace.Oid = key_namespace; + +RESET SESSION AUTHORIZATION; + +--check key owner +SELECT count(usename) FROM pg_user JOIN gs_client_global_keys on usesysid = key_owner; +SELECT count(usename) FROM pg_user JOIN gs_column_keys on usesysid = key_owner; + +--check drop cek/cmk if encrypted table exist(false) +DROP COLUMN ENCRYPTION KEY MyCEK1; +DROP CLIENT MASTER KEY MyCMK1; + +--check drop cek/cmk cascade if encrypted table exist(false) +DROP COLUMN ENCRYPTION KEY MyCEK1 CASCADE; +DROP CLIENT MASTER KEY MyCMK1 CASCADE; + +--check drop table(success) +DROP TABLE acltest1; + +SET SESSION AUTHORIZATION newuser PASSWORD 'gauss@123'; +SET search_path to testns; + +--check DROP KEY WITHOUT PREMISSION(false) +DROP COLUMN ENCRYPTION KEY MyCEK1; +DROP CLIENT MASTER KEY MyCMK1; + +--check DELETE KEYS(false) +delete from gs_client_global_keys; +delete from gs_column_keys; + + +RESET SESSION AUTHORIZATION; +REVOKE USAGE ON COLUMN_ENCRYPTION_KEY MyCEK1 FROM newuser; +REVOKE USAGE ON CLIENT_MASTER_KEY MyCMK1 FROM newuser; +GRANT DROP ON COLUMN_ENCRYPTION_KEY MyCEK1 to newuser; +GRANT DROP ON CLIENT_MASTER_KEY MyCMK1 to newuser; + +SELECT has_cmk_privilege('newuser', 'testns.MyCMK1', 'USAGE'); +SELECT has_cek_privilege('newuser', 'testns.MyCEK1', 'USAGE'); +SELECT has_cmk_privilege('newuser', 'testns.MyCMK1', 'DROP'); +SELECT has_cek_privilege('newuser', 'testns.MyCEK1', 'DROP'); + +SET SESSION AUTHORIZATION newuser PASSWORD 'gauss@123'; +SET search_path to testns; + +--check DROP KEY WITH PREMISSION(success) +DROP COLUMN ENCRYPTION KEY MyCEK1; +DROP CLIENT MASTER KEY MyCMK1; + +RESET SESSION AUTHORIZATION; + +--check pg_depend(false) +SELECT exists (SELECT refobjid FROM pg_depend JOIN gs_client_global_keys on gs_client_global_keys.key_namespace = refobjid); + +SET search_path to testns; +CREATE CLIENT MASTER KEY MyCMK1 WITH ( KEY_STORE = gs_ktool , KEY_PATH = "gs_ktool/1" , ALGORITHM = AES_256_CBC); +CREATE COLUMN ENCRYPTION KEY MyCEK1 WITH VALUES (CLIENT_MASTER_KEY = MyCMK1, ALGORITHM = AEAD_AES_256_CBC_HMAC_SHA256); + +--check pg_depend(true) +SELECT exists (SELECT refobjid FROM pg_depend JOIN gs_client_global_keys on gs_client_global_keys.key_namespace = refobjid); + +--check drop schema cascade if cek/cmk exist(success) +DROP SCHEMA IF EXISTS testns CASCADE; +DROP SCHEMA IF EXISTS newuser CASCADE; +DROP ROLE IF EXISTS newuser; + +\! gs_ktool -d all \ No newline at end of file diff --git a/src/test/regress/sql/ce_privileges_dba.sql b/src/test/regress/sql/ce_privileges_dba.sql index bc5133ca2..5eb7b5d61 100644 --- a/src/test/regress/sql/ce_privileges_dba.sql +++ b/src/test/regress/sql/ce_privileges_dba.sql @@ -9,12 +9,12 @@ SELECT has_schema_privilege(session_user, current_schema, 'USAGE'); -- CHECK CMK PRIVILEGES CREATE CLIENT MASTER KEY MyCMK WITH ( KEY_STORE = gs_ktool , KEY_PATH = "gs_ktool/1" , ALGORITHM = AES_256_CBC); -SELECT session_user, rolname from pg_roles join gs_client_global_keys on pg_roles.Oid = gs_client_global_keys.key_owner where gs_client_global_keys.client_master_key_name = 'mycmk'; +SELECT count(session_user) from pg_roles join gs_client_global_keys on pg_roles.Oid = gs_client_global_keys.key_owner where gs_client_global_keys.global_key_name = 'mycmk'; SELECT has_cmk_privilege(session_user, 'MyCMK', 'USAGE'); -- CHECK CEK PRIVILEGES CREATE COLUMN ENCRYPTION KEY MyCEK WITH VALUES (CLIENT_MASTER_KEY = MyCMK, ALGORITHM = AEAD_AES_256_CBC_HMAC_SHA256); -SELECT session_user, rolname from pg_roles join gs_column_keys on pg_roles.Oid = gs_column_keys.key_owner where gs_column_keys.column_encryption_key_name = 'mycek'; +SELECT count(session_user) from pg_roles join gs_column_keys on pg_roles.Oid = gs_column_keys.key_owner where gs_column_keys.column_key_name = 'mycek'; SELECT has_cek_privilege(session_user, 'MyCEK', 'USAGE'); DROP TABLE IF EXISTS acltest1; diff --git a/src/test/regress/sql/ce_privileges_on_schema.sql b/src/test/regress/sql/ce_privileges_on_schema.sql index e271e5bce..4ffbb900a 100644 --- a/src/test/regress/sql/ce_privileges_on_schema.sql +++ b/src/test/regress/sql/ce_privileges_on_schema.sql @@ -31,44 +31,7 @@ CREATE COLUMN ENCRYPTION KEY MyCEK1 WITH VALUES (CLIENT_MASTER_KEY = MyCMK1, ALG SET SESSION AUTHORIZATION newuser PASSWORD 'gauss@123'; SET search_path to testns; - --- add permission to the keys to newuser -RESET SESSION AUTHORIZATION; -GRANT USAGE ON COLUMN_ENCRYPTION_KEY MyCEK1 to newuser; -GRANT USAGE ON CLIENT_MASTER_KEY MyCMK1 to newuser; -SET SESSION AUTHORIZATION newuser PASSWORD 'gauss@123'; -SET search_path to testns; - - --- create TABLE -CREATE TABLE acltest1 (x int, x2 varchar(50) ENCRYPTED WITH (COLUMN_ENCRYPTION_KEY = MyCEK1, ENCRYPTION_TYPE = DETERMINISTIC)); - --- create another user -DROP ROLE IF EXISTS newuser; -CREATE USER newuser PASSWORD 'gauss@123'; - --- create schema -DROP SCHEMA IF EXISTS testns CASCADE; -CREATE SCHEMA testns; -SET search_path to testns; - --- grant privileges on schema (ALL = USAGE, CREATE) -GRANT ALL ON SCHEMA testns TO newuser; - - --- CREATE CMK -CREATE CLIENT MASTER KEY MyCMK1 WITH ( KEY_STORE = gs_ktool , KEY_PATH = "gs_ktool/2" , ALGORITHM = AES_256_CBC); - --- CREATE CEK -CREATE COLUMN ENCRYPTION KEY MyCEK1 WITH VALUES (CLIENT_MASTER_KEY = MyCMK1, ALGORITHM = AEAD_AES_256_CBC_HMAC_SHA256); - -------------------------- --- change to new user -------------------------- -SET SESSION AUTHORIZATION newuser PASSWORD 'gauss@123'; -SET search_path to testns; - --- SHOULD FAIL - check CANNOT drop existiing objects +-- SHOULD FAIL - check CANNOT drop existing objects DROP COLUMN ENCRYPTION KEY MyCEK1; DROP CLIENT MASTER KEY MyCMK1; diff --git a/src/test/regress/sql/ce_procedure.sql b/src/test/regress/sql/ce_procedure.sql index 4e47c0fae..02b30b930 100644 --- a/src/test/regress/sql/ce_procedure.sql +++ b/src/test/regress/sql/ce_procedure.sql @@ -2,7 +2,7 @@ -- unsupport procedure -- ------------------------- -set enable_stream_operator = on; +--set enable_stream_operator = on; ---------------------forall------------------------ SET CHECK_FUNCTION_BODIES TO ON; @@ -27,7 +27,7 @@ Alititude INT ENCRYPTED WITH (COLUMN_EN Latitude FLOAT4 ENCRYPTED WITH (COLUMN_ENCRYPTION_KEY = prodedureCEK , ENCRYPTION_TYPE = DETERMINISTIC), Longitude FLOAT4 ENCRYPTED WITH (COLUMN_ENCRYPTION_KEY = prodedureCEK , ENCRYPTION_TYPE = DETERMINISTIC), ImagePath VARCHAR(100) ENCRYPTED WITH (COLUMN_ENCRYPTION_KEY = prodedureCEK , ENCRYPTION_TYPE = DETERMINISTIC) -); +) DISTRIBUTE BY HASH(id); INSERT INTO Image VALUES ( 1, 'img4214189','IDO', 'it is a flower in roadsize', '2019-11-07', 1080, 1440, 'px', 776, 108, 23.45, 120.24, '/DCIM/Camera/img4214189'); INSERT INTO Image VALUES ( 2, 'img4214190','IDO', 'the park', '2019-11-10', 1080, 1920, 'px', 187, 292, 45.28, 102.24, '/DCIM/Camera/img4214190'); @@ -81,4 +81,4 @@ DROP TABLE IF EXISTS Image; DROP COLUMN ENCRYPTION KEY prodedureCEK; DROP CLIENT MASTER KEY prodedureCMK; -\! gs_ktool -d all \ No newline at end of file +\! gs_ktool -d all diff --git a/src/test/regress/sql/ce_rlspolicy.sql b/src/test/regress/sql/ce_rlspolicy.sql index 3b87d290e..b5603523d 100644 --- a/src/test/regress/sql/ce_rlspolicy.sql +++ b/src/test/regress/sql/ce_rlspolicy.sql @@ -27,4 +27,36 @@ DROP ROLE bob; DROP COLUMN ENCRYPTION KEY rlspolicy_cek; DROP CLIENT MASTER KEY rlspolicy_cmk; +CREATE USER rlspolicy_user1 PASSWORD 'gauss@123'; +CREATE USER rlspolicy_user2 PASSWORD 'gauss@123'; +SET ROLE rlspolicy_user1 PASSWORD 'gauss@123'; +CREATE CLIENT MASTER KEY rlspolicy_cmk1 WITH ( KEY_STORE = gs_ktool , KEY_PATH = "gs_ktool/1" , ALGORITHM = AES_256_CBC); +CREATE COLUMN ENCRYPTION KEY rlspolicy_cek1 WITH VALUES (CLIENT_MASTER_KEY = rlspolicy_cmk1, ALGORITHM = AEAD_AES_256_CBC_HMAC_SHA256); +SET ROLE rlspolicy_user2 PASSWORD 'gauss@123'; +SELECT count(*) FROM gs_client_global_keys; +SELECT count(*) FROM gs_client_global_keys_args; +SELECT count(*) FROM gs_column_keys; +SELECT count(*) FROM gs_column_keys_args; +SET ROLE rlspolicy_user1 PASSWORD 'gauss@123'; +GRANT USAGE ON COLUMN_ENCRYPTION_KEY rlspolicy_cek1 to rlspolicy_user2; +GRANT USAGE ON CLIENT_MASTER_KEY rlspolicy_cmk1 to rlspolicy_user2; +SET ROLE rlspolicy_user2 PASSWORD 'gauss@123'; +SELECT count(*) FROM gs_client_global_keys; +SELECT count(*) FROM gs_client_global_keys_args; +SELECT count(*) FROM gs_column_keys; +SELECT count(*) FROM gs_column_keys_args; +RESET ROLE; +SELECT count(*) FROM gs_client_global_keys; +SELECT count(*) FROM gs_client_global_keys_args; +SELECT count(*) FROM gs_column_keys; +SELECT count(*) FROM gs_column_keys_args; +SET ROLE rlspolicy_user1 PASSWORD 'gauss@123'; +DROP COLUMN ENCRYPTION KEY rlspolicy_cek1; +DROP CLIENT MASTER KEY rlspolicy_cmk1; +RESET ROLE; +DROP SCHEMA IF EXISTS rlspolicy_user1 CASCADE; +DROP SCHEMA IF EXISTS rlspolicy_user2 CASCADE; +DROP ROLE rlspolicy_user1; +DROP ROLE rlspolicy_user2; + \! gs_ktool -d all \ No newline at end of file diff --git a/src/test/regress/sql/create_schema.sql b/src/test/regress/sql/create_schema.sql index cd8c76a65..7b22d8011 100644 --- a/src/test/regress/sql/create_schema.sql +++ b/src/test/regress/sql/create_schema.sql @@ -28,16 +28,6 @@ create table abc( create schema pg_error_schema; --create user will create a schema which name is same as username, so it is also illegal. create user pg_error_username password 'test-1234'; - drop role samedb_schema_cn_role_02_001; -create user grant_user_test password 'test-1234'; -select rolsystemadmin from pg_roles where rolname='grant_user_test'; - -create schema schema_with_grant_test grant all privileges to grant_user_test; -select rolsystemadmin from pg_roles where rolname='grant_user_test'; - -drop user grant_user_test; -drop schema schema_with_grant_test; - drop schema test_ns_schema_1 cascade; diff --git a/src/test/regress/sql/create_type.sql b/src/test/regress/sql/create_type.sql index 524aefd3c..c99e6d9a0 100644 --- a/src/test/regress/sql/create_type.sql +++ b/src/test/regress/sql/create_type.sql @@ -136,4 +136,4 @@ ALTER TYPE test_type OWNER TO test_role; ALTER TYPE test_type OWNER TO CURRENT_USER; ALTER TYPE test_type OWNER TO SESSION_USER; DROP TYPE test_type; -DROP ROLE test_role; +DROP ROLE test_role; \ No newline at end of file diff --git a/src/test/regress/sql/delete_limit.sql b/src/test/regress/sql/delete_limit.sql index eab695917..6cdc33b80 100644 --- a/src/test/regress/sql/delete_limit.sql +++ b/src/test/regress/sql/delete_limit.sql @@ -14,7 +14,41 @@ insert into t_d_limit values(3,4); insert into t_d_limit values(3,4); insert into t_d_limit values(3,4); insert into t_d_limit values(3,4); +delete from t_d_limit where a < 2 limit 1; prepare stmt(INTEGER) as delete from t_d_limit where a = $1 limit 1; execute stmt(1); +delete from t_d_limit where a = 3 limit 1; select a from t_d_limit where a=1; +CREATE TABLE t_d_limit_2(a int, b int) partition by hash(a)( partition h1_p_1,partition h2_p_2); +insert into t_d_limit_2 values(generate_series(1,20,1), generate_series(1,20,1)); +CREATE TABLE t_d_limit_3(a int, b int) partition by hash(a)( partition h1_p_1,partition h2_p_2); +create index t_d_limit_inx_3 on t_d_limit_3(a) local; +insert into t_d_limit_3 values(generate_series(1,20,1), generate_series(1,20,1)); +CREATE TABLE t_d_limit_4(a int, b int) partition by hash(a)( partition h1_p_1,partition h2_p_2); +create index t_d_limit_inx_4 on t_d_limit_4(a); +insert into t_d_limit_4 values(generate_series(1,20,1), generate_series(1,20,1)); +CREATE TABLE t_d_limit_5(a int, b int) partition by hash(a)( partition h1_p_1,partition h2_p_2); +create index t_d_limit_inx_5_1 on t_d_limit_5(b) local; +create index t_d_limit_inx_5_12 on t_d_limit_5(a); +insert into t_d_limit_5 values(generate_series(1,20,1), generate_series(1,20,1)); +prepare stmt_d_hash2_1 as delete from t_d_limit_2 where a=$1+1 limit $2*10; +prepare stmt_d_hash2_2 as delete from t_d_limit_2 where a>$1+1 limit $2*10; +prepare stmt_d_hash3_1 as delete from t_d_limit_3 where a=$1+1 limit $2*10; +prepare stmt_d_hash3_2 as delete from t_d_limit_3 where a>$1+1 limit $2*10; +prepare stmt_d_hash4_1 as delete from t_d_limit_4 where a=$1+1 limit $2*10; +prepare stmt_d_hash4_2 as delete from t_d_limit_4 where a>$1+1 limit $2*10; +prepare stmt_d_hash5_1 as delete from t_d_limit_5 where b=$1+1 limit $2*10; +prepare stmt_d_hash5_2 as delete from t_d_limit_5 where b>$1+1 limit $2*10; +execute stmt_d_hash2_1(1,1); +execute stmt_d_hash2_2(1,1); +execute stmt_d_hash3_1(1,1); +execute stmt_d_hash3_2(1,1); +execute stmt_d_hash4_1(1,1); +execute stmt_d_hash4_2(1,1); +execute stmt_d_hash5_1(1,1); +execute stmt_d_hash5_2(1,1); +DROP TABLE t_d_limit_2; +DROP TABLE t_d_limit_3; +DROP TABLE t_d_limit_4; +DROP TABLE t_d_limit_5; DROP TABLE t_d_limit; diff --git a/src/test/regress/sql/gpi_clean_wait.sql b/src/test/regress/sql/gpi_clean_wait.sql index 2b854eacd..f3379e7a3 100644 --- a/src/test/regress/sql/gpi_clean_wait.sql +++ b/src/test/regress/sql/gpi_clean_wait.sql @@ -125,7 +125,9 @@ select a.relname,a.parttype,a.reloptions from pg_partition a, pg_class b where a abort; --failed +set xc_maintenance_mode = on; vacuum full pg_partition; +set xc_maintenance_mode = off; -- test_gpi_more_invalid have wait_clean_gpi=y select a.relname,a.parttype,a.reloptions from pg_partition a, pg_class b where a.parentid = b.oid and b.relname = 'test_gpi_more_invalid' and a.reloptions[3] like '%wait_clean_gpi=y%' order by 1,2,3; @@ -134,7 +136,9 @@ vacuum analyze test_gpi_more_invalid; select a.relname,a.parttype,a.reloptions from pg_partition a, pg_class b where a.parentid = b.oid and b.relname = 'test_gpi_more_invalid' and a.reloptions[3] like '%wait_clean_gpi=y%' order by 1,2,3; -- success +set xc_maintenance_mode = on; vacuum full pg_partition; +set xc_maintenance_mode = off; set force_bitmapand = on; -- partition 1 diff --git a/src/test/regress/sql/hw_procedure_define.sql b/src/test/regress/sql/hw_procedure_define.sql index 3576177c8..26730c2b1 100644 --- a/src/test/regress/sql/hw_procedure_define.sql +++ b/src/test/regress/sql/hw_procedure_define.sql @@ -586,7 +586,6 @@ END; CALL PRO_NO_EXP_001_1(); CALL PRO_NO_EXP_001_1(); - create table test_emp_001(name varchar(10)); create or replace procedure test_proc_using_001(a int) SHIPPABLE LEAKPROOF CALLED ON NULL INPUT external security invoker cost 0.000056 as @@ -601,4 +600,4 @@ select * from test_emp_001; select prosecdef,procost,proleakproof,proisstrict,proshippable,prokind from pg_proc where proname='test_proc_using_001'; drop table test_emp_001; -drop procedure test_proc_using_001; +drop procedure test_proc_using_001; \ No newline at end of file diff --git a/src/test/regress/sql/inplace_upgrade.sql b/src/test/regress/sql/inplace_upgrade.sql index 951499108..2672cf128 100644 --- a/src/test/regress/sql/inplace_upgrade.sql +++ b/src/test/regress/sql/inplace_upgrade.sql @@ -145,7 +145,9 @@ create table pg_catalog.pg_inplace_table2 (a int); set isinplaceupgrade=off; commit; +set xc_maintenance_mode = on; vacuum full pg_inplace_table2; +set xc_maintenance_mode = off; begin; set isinplaceupgrade=on; diff --git a/src/test/regress/sql/join.sql b/src/test/regress/sql/join.sql index 7c3202593..00c46365b 100644 --- a/src/test/regress/sql/join.sql +++ b/src/test/regress/sql/join.sql @@ -1216,4 +1216,4 @@ insert into t_a values (1, 'tom', 3); insert into t_b values (1, 'bat', 6); select * from t_a a, t_b b where a.id(+) = b.id and rownum = 1; drop table t_a; -drop table t_b; +drop table t_b; \ No newline at end of file diff --git a/src/test/regress/sql/leaky_function_operator.sql b/src/test/regress/sql/leaky_function_operator.sql new file mode 100644 index 000000000..5223f2ecc --- /dev/null +++ b/src/test/regress/sql/leaky_function_operator.sql @@ -0,0 +1,22 @@ +-- test leaky-function protections in selfuncs +-- regress_user1 will own a table and provide a view for it. +grant all on schema public to public; +create user regress_user1 password 'gauss@123'; +create user regress_user2 password 'gauss@123'; +SET SESSION AUTHORIZATION regress_user1 password 'gauss@123'; + +CREATE TABLE public.atest12 as SELECT x AS a, 10001 - x AS b FROM generate_series(1,10000) x; +CREATE INDEX ON public.atest12 (a); +CREATE INDEX ON public.atest12 (abs(a)); +VACUUM ANALYZE public.atest12; + +-- Check if regress_user2 can break security. +SET SESSION AUTHORIZATION regress_user2 password 'gauss@123'; + +CREATE FUNCTION public.leak20(integer,integer) RETURNS boolean AS $$begin raise notice 'leak % %', $1, $2; return $1 > $2; end$$ LANGUAGE plpgsql immutable; +CREATE OPERATOR >>>> (procedure = public.leak20, leftarg = integer, rightarg = integer,restrict = scalargtsel); + +-- This should not show any "leak" notices before failing. +EXPLAIN (COSTS OFF) SELECT * FROM public.atest12 ; +-- This should not show any "leak" notices before failing.(After Patch) +EXPLAIN (COSTS OFF) SELECT * FROM public.atest12 WHERE a >>>> 99; diff --git a/src/test/regress/sql/locktag_decode.sql b/src/test/regress/sql/locktag_decode.sql index d9e922e12..d1d5aa36a 100644 --- a/src/test/regress/sql/locktag_decode.sql +++ b/src/test/regress/sql/locktag_decode.sql @@ -1,5 +1,4 @@ ---atomic ops tests -\df locktag_decode(); select locktag_decode(''); select locktag_decode('271b:0:0:0:6'); select locktag_decode('271b:0:0:0:0:6'); diff --git a/src/test/regress/sql/nodegroup_utility_test.sql b/src/test/regress/sql/nodegroup_utility_test.sql index 3de5138c1..ec39583ca 100644 --- a/src/test/regress/sql/nodegroup_utility_test.sql +++ b/src/test/regress/sql/nodegroup_utility_test.sql @@ -67,10 +67,12 @@ truncate t1ng5678; GRANT ALL ON ALL TABLES IN SCHEMA public TO public; -- #2. vacuum catalog table +set xc_maintenance_mode = on; vacuum full pg_class; vacuum pg_class; vacuum; vacuum full; +set xc_maintenance_mode = off; -- will fail as we don't allow drop tables from different node group drop table t1ng1234, t1ng5678; diff --git a/src/test/regress/sql/rewrite.sql b/src/test/regress/sql/rewrite.sql index 3f3c2ad16..2f63f291d 100644 --- a/src/test/regress/sql/rewrite.sql +++ b/src/test/regress/sql/rewrite.sql @@ -21,6 +21,7 @@ ALTER TABLE replication_example ADD COLUMN testcolumn2 int; INSERT INTO replication_example(somedata, testcolumn1, testcolumn2) VALUES (4, 2, 1); COMMIT; +set xc_maintenance_mode = on; VACUUM FULL pg_am; VACUUM FULL pg_amop; VACUUM FULL pg_proc; @@ -38,6 +39,7 @@ CLUSTER pg_class USING pg_class_oid_index; -- repeated rewrites in different transactions VACUUM FULL pg_class; VACUUM FULL pg_class; +set xc_maintenance_mode = off; INSERT INTO replication_example(somedata, testcolumn1) VALUES (5, 3); diff --git a/src/test/regress/sql/select.sql b/src/test/regress/sql/select.sql index 0248d204c..331984a06 100644 --- a/src/test/regress/sql/select.sql +++ b/src/test/regress/sql/select.sql @@ -272,4 +272,4 @@ select xmin from t, ft1 where t.a=ft1.a; drop schema syscolofforeign cascade; -- test ^= -select 1 ^= 2; +select 1 ^= 2; \ No newline at end of file diff --git a/src/test/regress/sql/single_node_ddl.sql b/src/test/regress/sql/single_node_ddl.sql index e9008d659..b3df03bd6 100644 --- a/src/test/regress/sql/single_node_ddl.sql +++ b/src/test/regress/sql/single_node_ddl.sql @@ -12,7 +12,7 @@ create table table1 (id int); select /*+ redistribute(table1) +*/ * from table1; drop table table1; create barrier; -clean connection to node (dn2); +clean connection to node (dn2) for database regression; execute direct on (dn2) 'select * from table1'; create table table_neg_tmp (id int); create table table1 (id int) to node (dn2); diff --git a/src/test/regress/sql/single_node_mergeinto.sql b/src/test/regress/sql/single_node_mergeinto.sql index 0351a4cc0..8235d28ef 100644 --- a/src/test/regress/sql/single_node_mergeinto.sql +++ b/src/test/regress/sql/single_node_mergeinto.sql @@ -183,3 +183,78 @@ from web_page ) t2 on ( t1.c1=t2.c5+50 ) when matched then update set t1.c6 = t2.c6 when not matched then insert values(t2.c5, t2.c6, t2.c2); + +------------------------------------------------------- +-- Verify foreign key validity +-- Notice: merge into when matched then update [FK] when not matched then insert values(value, [FK]); +-- we must take attention about column in "[]"; +------------------------------------------------------- +create table pkt(a int primary key); +create table fkt(a int primary key, b int references pkt); +create table dtt(a int, b int); +insert into pkt values(1),(2),(3); +insert into dtt values(1,1),(2,2); +merge into fkt using dtt on (dtt.a=fkt.a) when matched then update set fkt.b = 3 when not matched then insert values(dtt.a, dtt.b); +select * from fkt; +merge into fkt using dtt on (dtt.a=fkt.a) when matched then update set fkt.b = 3 when not matched then insert values(dtt.a, dtt.b); +select * from fkt; +merge into fkt using dtt on (dtt.a=fkt.a) when matched then update set fkt.b = 5 when not matched then insert values(dtt.a, dtt.b); +select * from fkt; +truncate fkt; +insert into dtt values(5,5); +merge into fkt using dtt on (dtt.a=fkt.a) when matched then update set fkt.b = 3 when not matched then insert values(dtt.a, dtt.b); +select * from fkt; + + +---------------------------------------------------- +-- trigger +---------------------------------------------------- +CREATE FUNCTION mgit_before_func() + RETURNS TRIGGER language plpgsql AS +$$ +BEGIN + IF (TG_OP = 'UPDATE') THEN + RAISE warning 'before update (old): %', old.*::TEXT; + RAISE warning 'before update (new): %', new.*::TEXT; + elsIF (TG_OP = 'INSERT') THEN + RAISE warning 'before insert (new): %', new.*::TEXT; + END IF; + RETURN new; +END; +$$; +CREATE TRIGGER mgit_before_trig BEFORE INSERT OR UPDATE ON fkt + FOR EACH ROW EXECUTE procedure mgit_before_func(); + +CREATE FUNCTION mgit_after_func() + RETURNS TRIGGER language plpgsql AS +$$ +BEGIN + IF (TG_OP = 'UPDATE') THEN + RAISE warning 'after update (old): %', old.*::TEXT; + RAISE warning 'after update (new): %', new.*::TEXT; + elsIF (TG_OP = 'INSERT') THEN + RAISE warning 'after insert (new): %', new.*::TEXT; + END IF; + RETURN null; +END; +$$; +CREATE TRIGGER mgit_after_trig AFTER INSERT OR UPDATE ON fkt + FOR EACH ROW EXECUTE procedure mgit_after_func(); + +insert into fkt values(1,1); +delete from dtt where a = 5; -- now dtt: (1,1),(2,2) fkt:(1,1) +merge into fkt using dtt on (dtt.a=fkt.a) when matched then update set fkt.b = 3 when not matched then insert values(dtt.a, dtt.b); +select * from fkt; + + +------------------------------------------------ +-- clean up +------------------------------------------------ +drop trigger mgit_after_trig on fkt; +drop trigger mgit_before_trig on fkt; +drop function mgit_before_func; +drop function mgit_after_func; +drop table dtt; +drop table fkt; +drop table pkt; + diff --git a/src/test/regress/sql/single_node_vacuum.sql b/src/test/regress/sql/single_node_vacuum.sql index 0d58376b9..b2f35804b 100644 --- a/src/test/regress/sql/single_node_vacuum.sql +++ b/src/test/regress/sql/single_node_vacuum.sql @@ -54,9 +54,11 @@ CREATE INDEX ON vaccluster(wrap_do_analyze(i)); INSERT INTO vaccluster VALUES (1), (2); ANALYZE vaccluster; +set xc_maintenance_mode = on; VACUUM FULL pg_am; VACUUM FULL pg_class; VACUUM FULL pg_database; +set xc_maintenance_mode = off; VACUUM FULL vaccluster; VACUUM FULL vactst; diff --git a/src/test/regress/sql/temp.sql b/src/test/regress/sql/temp.sql index cae2972a6..806cec15e 100644 --- a/src/test/regress/sql/temp.sql +++ b/src/test/regress/sql/temp.sql @@ -322,3 +322,14 @@ Drop table test_base; Drop table test_temp1, test_ordinary; Drop table test_temp1, test_temp2; Drop table temp_col1, temp_col2; + +-- Test types in temp schema +set search_path = pg_temp, public; +create domain pg_temp.nonempty as text check (value <> ''); +-- function-syntax invocation of types matches rules for functions +select nonempty(''); +select pg_temp.nonempty(''); +-- other syntax matches rules for tables +select ''::nonempty; + +reset search_path; diff --git a/src/test/regress/sql/upsert_001.sql b/src/test/regress/sql/upsert_001.sql index dc39b4c39..0205e4b8a 100644 --- a/src/test/regress/sql/upsert_001.sql +++ b/src/test/regress/sql/upsert_001.sql @@ -2,9 +2,6 @@ DROP SCHEMA test_upsert_001 CASCADE; CREATE SCHEMA test_upsert_001; SET CURRENT_SCHEMA TO test_upsert_001; --- enable_upsert_to_merge must is off, or upsert will be translated to merge. -SET enable_upsert_to_merge TO OFF; - -- test description \h INSERT diff --git a/src/test/regress/sql/upsert_002.sql b/src/test/regress/sql/upsert_002.sql index 66cd71825..54af6d3b4 100644 --- a/src/test/regress/sql/upsert_002.sql +++ b/src/test/regress/sql/upsert_002.sql @@ -2,9 +2,6 @@ DROP SCHEMA test_upsert_002 CASCADE; CREATE SCHEMA test_upsert_002; SET CURRENT_SCHEMA TO test_upsert_002; --- enable_upsert_to_merge must is off, or upsert will be translated to merge. -SET enable_upsert_to_merge TO OFF; - -- test t1 with no index CREATE TABLE t1 ( col1 INT, diff --git a/src/test/regress/sql/upsert_003.sql b/src/test/regress/sql/upsert_003.sql index 9e11df7c5..936c50fbb 100644 --- a/src/test/regress/sql/upsert_003.sql +++ b/src/test/regress/sql/upsert_003.sql @@ -2,9 +2,6 @@ DROP SCHEMA test_insert_update_003 CASCADE; CREATE SCHEMA test_insert_update_003; SET CURRENT_SCHEMA TO test_insert_update_003; --- enable_upsert_to_merge must is off, or upsert will be translated to merge. -SET enable_upsert_to_merge TO OFF; - -- test t4 with one primary key with three columns CREATE TABLE t4 ( col1 INT, diff --git a/src/test/regress/sql/upsert_008.sql b/src/test/regress/sql/upsert_008.sql index 79b3563ef..2b27397a5 100644 --- a/src/test/regress/sql/upsert_008.sql +++ b/src/test/regress/sql/upsert_008.sql @@ -6,9 +6,6 @@ CREATE SCHEMA test_insert_update_008; SET current_schema = test_insert_update_008; --- enable_upsert_to_merge must is off, or upsert will be translated to merge. -SET enable_upsert_to_merge TO OFF; - CREATE TABLE products_base ( product_id INTEGER DEFAULT 0, diff --git a/src/test/regress/sql/upsert_009.sql b/src/test/regress/sql/upsert_009.sql index f6b68d3c7..bd0142019 100644 --- a/src/test/regress/sql/upsert_009.sql +++ b/src/test/regress/sql/upsert_009.sql @@ -3,9 +3,6 @@ CREATE SCHEMA test_insert_update_009; SET CURRENT_SCHEMA TO test_insert_update_009; SET enable_light_proxy=off; --- enable_upsert_to_merge must is off, or upsert will be translated to merge. -SET enable_upsert_to_merge TO OFF; - -- test t1 with no index CREATE TABLE t1 ( col1 INT, diff --git a/src/test/regress/sql/upsert_010.sql b/src/test/regress/sql/upsert_010.sql index 0838b836c..a34a9634f 100644 --- a/src/test/regress/sql/upsert_010.sql +++ b/src/test/regress/sql/upsert_010.sql @@ -2,9 +2,6 @@ DROP SCHEMA test_insert_update_010 CASCADE; CREATE SCHEMA test_insert_update_010; SET CURRENT_SCHEMA TO test_insert_update_010; --- enable_upsert_to_merge must is off, or upsert will be translated to merge. -SET enable_upsert_to_merge TO OFF; - -- test t4 with one primary key with three columns CREATE TABLE t4 ( col1 INT, diff --git a/src/test/regress/sql/upsert_composite.sql b/src/test/regress/sql/upsert_composite.sql index 57ce939df..af3d17797 100644 --- a/src/test/regress/sql/upsert_composite.sql +++ b/src/test/regress/sql/upsert_composite.sql @@ -5,9 +5,6 @@ -------------------------------------------------------------------------------------------- \c upsert; SET CURRENT_SCHEMA TO upsert_test_procedure; --- enable_upsert_to_merge must be off, or upsert will be translated to merge. -SET enable_upsert_to_merge TO OFF; -SHOW enable_upsert_to_merge; drop table IF EXISTS t_proc; create table t_proc(c1 int, c2 int, c3 int unique); diff --git a/src/test/regress/sql/upsert_explain.sql b/src/test/regress/sql/upsert_explain.sql index 6408507c9..8a41f2106 100644 --- a/src/test/regress/sql/upsert_explain.sql +++ b/src/test/regress/sql/upsert_explain.sql @@ -5,9 +5,6 @@ -------------------------------------------------------------------------------------------- \c upsert; SET CURRENT_SCHEMA TO upsert_test_explain; --- enable_upsert_to_merge must be off, or upsert will be translated to merge. -SET enable_upsert_to_merge TO OFF; -SHOW enable_upsert_to_merge; create temp table up_expl_temp(c1 int, c2 int, c3 int unique) ; diff --git a/src/test/regress/sql/upsert_grammer_test_01.sql b/src/test/regress/sql/upsert_grammer_test_01.sql index 385ca8382..b0f4727ab 100644 --- a/src/test/regress/sql/upsert_grammer_test_01.sql +++ b/src/test/regress/sql/upsert_grammer_test_01.sql @@ -1,8 +1,5 @@ \c upsert SET CURRENT_SCHEMA TO upsert_test; --- enable_upsert_to_merge must be off, or upsert will be translated to merge. -SET enable_upsert_to_merge TO OFF; -SHOW enable_upsert_to_merge; -- support multiple set INSERT INTO t_grammer VALUES(11, 1) ON DUPLICATE KEY UPDATE c2 = 2, c4 = ROW(10, 20), c3 = '{10, 20, 30}'; diff --git a/src/test/regress/sql/upsert_grammer_test_02.sql b/src/test/regress/sql/upsert_grammer_test_02.sql index ecdaf5d28..09ffc2587 100644 --- a/src/test/regress/sql/upsert_grammer_test_02.sql +++ b/src/test/regress/sql/upsert_grammer_test_02.sql @@ -1,8 +1,5 @@ \c upsert SET CURRENT_SCHEMA TO upsert_test; --- enable_upsert_to_merge must be off, or upsert will be translated to merge. -SET enable_upsert_to_merge TO OFF; -SHOW enable_upsert_to_merge; -- support multiple set INSERT INTO t_grammer VALUES(11, 1) ON DUPLICATE KEY UPDATE c2 = 2, c4 = ROW(10, 20), c3 = '{10, 20, 30}'; diff --git a/src/test/regress/sql/upsert_restriction.sql b/src/test/regress/sql/upsert_restriction.sql index 65e714d41..14a362f4c 100644 --- a/src/test/regress/sql/upsert_restriction.sql +++ b/src/test/regress/sql/upsert_restriction.sql @@ -25,9 +25,6 @@ -------------------------------------------------------------------------------------------- \c upsert SET CURRENT_SCHEMA TO upsert_test_etc; --- enable_upsert_to_merge must be off, or upsert will be translated to merge. -SET enable_upsert_to_merge TO OFF; -SHOW enable_upsert_to_merge; insert into up_neg_04 select a,a,a from generate_series(1,20) as a; insert into up_neg_05 select a,a,a,a,a from generate_series(1,20) as a; @@ -167,4 +164,4 @@ insert into fkt values(1,1,1),(2,2,2),(3,3,3); insert into fkt values(1,1,1),(2,2,2),(3,3,3) on duplicate key update b=excluded.b+1, c=0; insert into fkt values(1,1,1),(2,2,2),(3,3,3) on duplicate key update b=excluded.b+3, c=-1; - +insert into fkt values(1,8,1),(2,9,2),(3,3,3),(4,9,4) on duplicate key update b=excluded.b+3, c=-1; diff --git a/src/test/regress/sql/upsert_tmp_test.sql b/src/test/regress/sql/upsert_tmp_test.sql index 62795fc47..f04f23335 100644 --- a/src/test/regress/sql/upsert_tmp_test.sql +++ b/src/test/regress/sql/upsert_tmp_test.sql @@ -8,10 +8,6 @@ CREATE TEMP TABLE t_hash_tmp_1 (c1 INT, c2 INT PRIMARY KEY, c3 VARCHAR, c4 INT[3 CREATE TEMP TABLE t_rep_tmp_0 (c1 INT, c2 INT, c3 VARCHAR, c4 INT[3], c5 INT[5], c6 atype, c7 btype) ; CREATE TEMP TABLE t_rep_tmp_1 (c1 INT, c2 INT PRIMARY KEY, c3 VARCHAR, c4 INT[3], c5 INT[5], c6 atype, c7 btype) ; --- enable_upsert_to_merge must be off, or upsert will be translated to merge. -SET enable_upsert_to_merge TO OFF; -SHOW enable_upsert_to_merge; - -- hash table -- tmp table without primary key INSERT INTO t_hash_tmp_0 VALUES(1, 1, 'C3', '{1,2,3}', '{10,20,30,40,50}', ROW(10,20), ROW(100, ROW(10,20), '{100,200}')), diff --git a/src/test/regress/sql/upsert_trigger_test.sql b/src/test/regress/sql/upsert_trigger_test.sql index b731ad50e..bd69d4f18 100644 --- a/src/test/regress/sql/upsert_trigger_test.sql +++ b/src/test/regress/sql/upsert_trigger_test.sql @@ -1,8 +1,5 @@ \c upsert SET CURRENT_SCHEMA TO upsert_test; --- enable_upsert_to_merge must be off, or upsert will be translated to merge. -SET enable_upsert_to_merge TO OFF; -SHOW enable_upsert_to_merge; CREATE FUNCTION upsert_before_func() RETURNS TRIGGER language plpgsql AS diff --git a/src/test/regress/sql/upsert_unlog_test.sql b/src/test/regress/sql/upsert_unlog_test.sql index 22036601f..861ba2a8b 100644 --- a/src/test/regress/sql/upsert_unlog_test.sql +++ b/src/test/regress/sql/upsert_unlog_test.sql @@ -1,8 +1,5 @@ \c upsert SET CURRENT_SCHEMA TO upsert_test_unlog; --- enable_upsert_to_merge must be off, or upsert will be translated to merge. -SET enable_upsert_to_merge TO OFF; -SHOW enable_upsert_to_merge; -- hash table -- unlogged table without primary key diff --git a/src/test/regress/sql/vacuum.sql b/src/test/regress/sql/vacuum.sql index f9b27287f..b4aaf2511 100644 --- a/src/test/regress/sql/vacuum.sql +++ b/src/test/regress/sql/vacuum.sql @@ -46,9 +46,11 @@ ALTER TABLE vaccluster CLUSTER ON vaccluster_pkey; INSERT INTO vaccluster SELECT * FROM vactst; CLUSTER vaccluster; +set xc_maintenance_mode = on; VACUUM FULL pg_am; VACUUM FULL pg_class; VACUUM FULL pg_database; +set xc_maintenance_mode = off; VACUUM FULL vaccluster; VACUUM FULL vactst; @@ -57,4 +59,4 @@ DROP TABLE vactst; CREATE TABLE "~!@#$%^&*+-=`,./\';:{}[]|0(>_<)0"(A TEXT); VACUUM "~!@#$%^&*+-=`,./\';:{}[]|0(>_<)0"; -DROP TABLE "~!@#$%^&*+-=`,./\';:{}[]|0(>_<)0"; \ No newline at end of file +DROP TABLE "~!@#$%^&*+-=`,./\';:{}[]|0(>_<)0"; diff --git a/src/test/regress/sql/with.sql b/src/test/regress/sql/with.sql index d75994044..99ef63b92 100644 --- a/src/test/regress/sql/with.sql +++ b/src/test/regress/sql/with.sql @@ -748,8 +748,6 @@ SELECT * FROM bug6051 ORDER BY 1; SELECT * FROM bug6051_2 ORDER BY 1; -- a truly recursive CTE in the same list -DROP TABLE y; -CREATE TABLE y (a INTEGER PRIMARY KEY INITIALLY DEFERRED); WITH RECURSIVE t(a) AS ( SELECT 0 UNION ALL