pg_query 4.2.3 → 5.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +15 -0
- data/README.md +6 -8
- data/Rakefile +3 -4
- data/ext/pg_query/extconf.rb +14 -6
- data/ext/pg_query/include/pg_query.h +27 -3
- data/ext/pg_query/include/pg_query_enum_defs.c +311 -149
- data/ext/pg_query/include/pg_query_fingerprint_conds.c +545 -489
- data/ext/pg_query/include/pg_query_fingerprint_defs.c +5092 -4432
- data/ext/pg_query/include/pg_query_outfuncs_conds.c +385 -343
- data/ext/pg_query/include/pg_query_outfuncs_defs.c +1294 -1161
- data/ext/pg_query/include/pg_query_readfuncs_conds.c +137 -123
- data/ext/pg_query/include/pg_query_readfuncs_defs.c +1657 -1496
- data/ext/pg_query/include/{access → postgres/access}/amapi.h +3 -1
- data/ext/pg_query/include/{access → postgres/access}/attmap.h +5 -3
- data/ext/pg_query/include/{access → postgres/access}/attnum.h +1 -1
- data/ext/pg_query/include/{access → postgres/access}/clog.h +1 -1
- data/ext/pg_query/include/{access → postgres/access}/commit_ts.h +1 -1
- data/ext/pg_query/include/{access → postgres/access}/detoast.h +1 -1
- data/ext/pg_query/include/{access → postgres/access}/genam.h +7 -5
- data/ext/pg_query/include/{access → postgres/access}/gin.h +16 -3
- data/ext/pg_query/include/{access → postgres/access}/htup.h +1 -1
- data/ext/pg_query/include/{access → postgres/access}/htup_details.h +6 -2
- data/ext/pg_query/include/{access → postgres/access}/itup.h +61 -58
- data/ext/pg_query/include/{access → postgres/access}/parallel.h +2 -2
- data/ext/pg_query/include/{access → postgres/access}/printtup.h +1 -1
- data/ext/pg_query/include/{access → postgres/access}/relation.h +1 -1
- data/ext/pg_query/include/{access → postgres/access}/relscan.h +1 -1
- data/ext/pg_query/include/{access → postgres/access}/rmgrlist.h +2 -2
- data/ext/pg_query/include/{access → postgres/access}/sdir.h +12 -3
- data/ext/pg_query/include/{access → postgres/access}/skey.h +1 -1
- data/ext/pg_query/include/{access → postgres/access}/stratnum.h +1 -1
- data/ext/pg_query/include/{access → postgres/access}/sysattr.h +1 -1
- data/ext/pg_query/include/{access → postgres/access}/table.h +1 -1
- data/ext/pg_query/include/{access → postgres/access}/tableam.h +68 -45
- data/ext/pg_query/include/{access → postgres/access}/toast_compression.h +1 -1
- data/ext/pg_query/include/{access → postgres/access}/transam.h +1 -1
- data/ext/pg_query/include/postgres/access/tsmapi.h +82 -0
- data/ext/pg_query/include/{access → postgres/access}/tupconvert.h +5 -2
- data/ext/pg_query/include/{access → postgres/access}/tupdesc.h +2 -2
- data/ext/pg_query/include/{access → postgres/access}/tupmacs.h +58 -98
- data/ext/pg_query/include/{access → postgres/access}/twophase.h +2 -2
- data/ext/pg_query/include/{access → postgres/access}/xact.h +25 -18
- data/ext/pg_query/include/{access → postgres/access}/xlog.h +15 -16
- data/ext/pg_query/include/{access → postgres/access}/xlog_internal.h +100 -62
- data/ext/pg_query/include/postgres/access/xlogbackup.h +41 -0
- data/ext/pg_query/include/{access → postgres/access}/xlogdefs.h +6 -25
- data/ext/pg_query/include/{access → postgres/access}/xlogprefetcher.h +1 -1
- data/ext/pg_query/include/{access → postgres/access}/xlogreader.h +7 -6
- data/ext/pg_query/include/{access → postgres/access}/xlogrecord.h +17 -5
- data/ext/pg_query/include/{access → postgres/access}/xlogrecovery.h +4 -3
- data/ext/pg_query/include/postgres/archive/archive_module.h +59 -0
- data/ext/pg_query/include/{c.h → postgres/c.h} +144 -156
- data/ext/pg_query/include/{catalog → postgres/catalog}/catalog.h +4 -3
- data/ext/pg_query/include/{catalog → postgres/catalog}/catversion.h +6 -2
- data/ext/pg_query/include/{catalog → postgres/catalog}/dependency.h +5 -4
- data/ext/pg_query/include/{catalog → postgres/catalog}/genbki.h +7 -6
- data/ext/pg_query/include/{catalog → postgres/catalog}/index.h +4 -4
- data/ext/pg_query/include/{catalog → postgres/catalog}/indexing.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/namespace.h +2 -2
- data/ext/pg_query/include/{catalog → postgres/catalog}/objectaccess.h +10 -8
- data/ext/pg_query/include/{catalog → postgres/catalog}/objectaddress.h +3 -3
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_aggregate.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_aggregate_d.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_am.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_am_d.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_attribute.h +19 -17
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_attribute_d.h +19 -19
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_authid.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_authid_d.h +3 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_class.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_class_d.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_collation.h +3 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_collation_d.h +4 -3
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_constraint.h +2 -2
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_constraint_d.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_control.h +9 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_conversion.h +2 -2
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_conversion_d.h +1 -1
- data/ext/pg_query/include/postgres/catalog/pg_database.h +124 -0
- data/ext/pg_query/include/postgres/catalog/pg_database_d.h +52 -0
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_depend.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_depend_d.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_event_trigger.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_event_trigger_d.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_index.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_index_d.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_language.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_language_d.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_namespace.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_namespace_d.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_opclass.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_opclass_d.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_operator.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_operator_d.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_opfamily.h +3 -2
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_opfamily_d.h +4 -2
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_partitioned_table.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_partitioned_table_d.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_proc.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_proc_d.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_publication.h +2 -5
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_publication_d.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_replication_origin.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_replication_origin_d.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_statistic.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_statistic_d.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_statistic_ext.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_statistic_ext_d.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_transform.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_transform_d.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_trigger.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_trigger_d.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_config.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_config_d.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_dict.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_dict_d.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_parser.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_parser_d.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_template.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_template_d.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_type.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_type_d.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/storage.h +6 -6
- data/ext/pg_query/include/{commands → postgres/commands}/async.h +1 -1
- data/ext/pg_query/include/{commands → postgres/commands}/dbcommands.h +2 -1
- data/ext/pg_query/include/{commands → postgres/commands}/defrem.h +2 -1
- data/ext/pg_query/include/{commands → postgres/commands}/event_trigger.h +1 -1
- data/ext/pg_query/include/{commands → postgres/commands}/explain.h +3 -1
- data/ext/pg_query/include/{commands → postgres/commands}/prepare.h +1 -1
- data/ext/pg_query/include/{commands → postgres/commands}/tablespace.h +4 -4
- data/ext/pg_query/include/{commands → postgres/commands}/trigger.h +15 -14
- data/ext/pg_query/include/{commands → postgres/commands}/user.h +9 -3
- data/ext/pg_query/include/{commands → postgres/commands}/vacuum.h +60 -14
- data/ext/pg_query/include/postgres/common/cryptohash.h +39 -0
- data/ext/pg_query/include/{common → postgres/common}/file_perm.h +1 -1
- data/ext/pg_query/include/{common → postgres/common}/hashfn.h +1 -1
- data/ext/pg_query/include/postgres/common/int.h +437 -0
- data/ext/pg_query/include/{common → postgres/common}/keywords.h +1 -1
- data/ext/pg_query/include/{common → postgres/common}/kwlookup.h +2 -2
- data/ext/pg_query/include/{common → postgres/common}/pg_prng.h +3 -2
- data/ext/pg_query/include/{common → postgres/common}/relpath.h +20 -13
- data/ext/pg_query/include/postgres/common/scram-common.h +70 -0
- data/ext/pg_query/include/postgres/common/sha2.h +32 -0
- data/ext/pg_query/include/{common → postgres/common}/string.h +5 -3
- data/ext/pg_query/include/{common → postgres/common}/unicode_east_asian_fw_table.h +10 -10
- data/ext/pg_query/include/{common/unicode_combining_table.h → postgres/common/unicode_nonspacing_table.h} +31 -13
- data/ext/pg_query/include/postgres/copyfuncs.funcs.c +5013 -0
- data/ext/pg_query/include/postgres/copyfuncs.switch.c +938 -0
- data/ext/pg_query/include/{datatype → postgres/datatype}/timestamp.h +11 -4
- data/ext/pg_query/include/postgres/equalfuncs.funcs.c +3097 -0
- data/ext/pg_query/include/postgres/equalfuncs.switch.c +785 -0
- data/ext/pg_query/include/{executor → postgres/executor}/execdesc.h +1 -1
- data/ext/pg_query/include/{executor → postgres/executor}/executor.h +34 -17
- data/ext/pg_query/include/{executor → postgres/executor}/functions.h +1 -1
- data/ext/pg_query/include/{executor → postgres/executor}/instrument.h +1 -1
- data/ext/pg_query/include/{executor → postgres/executor}/spi.h +2 -2
- data/ext/pg_query/include/{executor → postgres/executor}/tablefunc.h +1 -1
- data/ext/pg_query/include/{executor → postgres/executor}/tuptable.h +18 -11
- data/ext/pg_query/include/{fmgr.h → postgres/fmgr.h} +21 -2
- data/ext/pg_query/include/postgres/foreign/fdwapi.h +294 -0
- data/ext/pg_query/include/{funcapi.h → postgres/funcapi.h} +12 -12
- data/ext/pg_query/include/postgres/gram.h +1127 -0
- data/ext/pg_query/include/{parser → postgres}/gramparse.h +4 -4
- data/ext/pg_query/include/{jit → postgres/jit}/jit.h +2 -2
- data/ext/pg_query/include/postgres/kwlist_d.h +1119 -0
- data/ext/pg_query/include/{lib → postgres/lib}/dshash.h +4 -1
- data/ext/pg_query/include/{lib → postgres/lib}/ilist.h +435 -22
- data/ext/pg_query/include/{lib → postgres/lib}/pairingheap.h +1 -1
- data/ext/pg_query/include/{lib → postgres/lib}/simplehash.h +9 -9
- data/ext/pg_query/include/{lib → postgres/lib}/sort_template.h +1 -1
- data/ext/pg_query/include/{lib → postgres/lib}/stringinfo.h +3 -3
- data/ext/pg_query/include/{libpq → postgres/libpq}/auth.h +8 -2
- data/ext/pg_query/include/{libpq → postgres/libpq}/crypt.h +1 -1
- data/ext/pg_query/include/{libpq → postgres/libpq}/hba.h +24 -17
- data/ext/pg_query/include/{libpq → postgres/libpq}/libpq-be.h +36 -25
- data/ext/pg_query/include/{libpq → postgres/libpq}/libpq.h +1 -1
- data/ext/pg_query/include/{libpq → postgres/libpq}/pqcomm.h +10 -41
- data/ext/pg_query/include/{libpq → postgres/libpq}/pqformat.h +2 -2
- data/ext/pg_query/include/{libpq → postgres/libpq}/pqsignal.h +22 -10
- data/ext/pg_query/include/postgres/libpq/sasl.h +136 -0
- data/ext/pg_query/include/postgres/libpq/scram.h +37 -0
- data/ext/pg_query/include/{mb → postgres/mb}/pg_wchar.h +35 -18
- data/ext/pg_query/include/{mb → postgres/mb}/stringinfo_mb.h +1 -1
- data/ext/pg_query/include/{miscadmin.h → postgres/miscadmin.h} +27 -15
- data/ext/pg_query/include/{nodes → postgres/nodes}/bitmapset.h +11 -7
- data/ext/pg_query/include/{nodes → postgres/nodes}/execnodes.h +83 -30
- data/ext/pg_query/include/{nodes → postgres/nodes}/extensible.h +5 -3
- data/ext/pg_query/include/{nodes → postgres/nodes}/lockoptions.h +1 -1
- data/ext/pg_query/include/{nodes → postgres/nodes}/makefuncs.h +14 -2
- data/ext/pg_query/include/{nodes → postgres/nodes}/memnodes.h +7 -4
- data/ext/pg_query/include/postgres/nodes/miscnodes.h +56 -0
- data/ext/pg_query/include/{nodes → postgres/nodes}/nodeFuncs.h +89 -29
- data/ext/pg_query/include/{nodes → postgres/nodes}/nodes.h +96 -511
- data/ext/pg_query/include/postgres/nodes/nodetags.h +471 -0
- data/ext/pg_query/include/{nodes → postgres/nodes}/params.h +3 -3
- data/ext/pg_query/include/{nodes → postgres/nodes}/parsenodes.h +377 -139
- data/ext/pg_query/include/{nodes → postgres/nodes}/pathnodes.h +1090 -440
- data/ext/pg_query/include/{nodes → postgres/nodes}/pg_list.h +30 -7
- data/ext/pg_query/include/{nodes → postgres/nodes}/plannodes.h +367 -124
- data/ext/pg_query/include/{nodes → postgres/nodes}/primnodes.h +670 -222
- data/ext/pg_query/include/{nodes → postgres/nodes}/print.h +1 -1
- data/ext/pg_query/include/{utils → postgres/nodes}/queryjumble.h +5 -7
- data/ext/pg_query/include/postgres/nodes/replnodes.h +111 -0
- data/ext/pg_query/include/postgres/nodes/supportnodes.h +346 -0
- data/ext/pg_query/include/{nodes → postgres/nodes}/tidbitmap.h +1 -1
- data/ext/pg_query/include/{nodes → postgres/nodes}/value.h +12 -2
- data/ext/pg_query/include/{optimizer → postgres/optimizer}/cost.h +6 -4
- data/ext/pg_query/include/{optimizer → postgres/optimizer}/geqo.h +1 -1
- data/ext/pg_query/include/{optimizer → postgres/optimizer}/geqo_gene.h +1 -1
- data/ext/pg_query/include/{optimizer → postgres/optimizer}/optimizer.h +8 -8
- data/ext/pg_query/include/{optimizer → postgres/optimizer}/paths.h +16 -7
- data/ext/pg_query/include/{optimizer → postgres/optimizer}/planmain.h +3 -6
- data/ext/pg_query/include/{parser → postgres/parser}/analyze.h +4 -3
- data/ext/pg_query/include/{parser → postgres/parser}/kwlist.h +12 -1
- data/ext/pg_query/include/{parser → postgres/parser}/parse_agg.h +4 -2
- data/ext/pg_query/include/{parser → postgres/parser}/parse_coerce.h +3 -1
- data/ext/pg_query/include/{parser → postgres/parser}/parse_expr.h +1 -1
- data/ext/pg_query/include/{parser → postgres/parser}/parse_func.h +1 -1
- data/ext/pg_query/include/{parser → postgres/parser}/parse_node.h +22 -4
- data/ext/pg_query/include/{parser → postgres/parser}/parse_oper.h +3 -3
- data/ext/pg_query/include/{parser → postgres/parser}/parse_relation.h +8 -3
- data/ext/pg_query/include/{parser → postgres/parser}/parse_type.h +4 -3
- data/ext/pg_query/include/{parser → postgres/parser}/parser.h +4 -4
- data/ext/pg_query/include/{parser → postgres/parser}/parsetree.h +1 -1
- data/ext/pg_query/include/{parser → postgres/parser}/scanner.h +2 -2
- data/ext/pg_query/include/{parser → postgres/parser}/scansup.h +1 -1
- data/ext/pg_query/include/{partitioning → postgres/partitioning}/partdefs.h +1 -1
- data/ext/pg_query/include/{pg_config.h → postgres/pg_config.h} +156 -217
- data/ext/pg_query/include/{pg_config_manual.h → postgres/pg_config_manual.h} +8 -46
- data/ext/pg_query/include/postgres/pg_config_os.h +8 -0
- data/ext/pg_query/include/{pg_getopt.h → postgres/pg_getopt.h} +1 -1
- data/ext/pg_query/include/{pg_trace.h → postgres/pg_trace.h} +1 -1
- data/ext/pg_query/include/{pgstat.h → postgres/pgstat.h} +173 -94
- data/ext/pg_query/include/{pgtime.h → postgres/pgtime.h} +3 -3
- data/ext/pg_query/include/{pl_gram.h → postgres/pl_gram.h} +66 -64
- data/ext/pg_query/include/{pl_reserved_kwlist.h → postgres/pl_reserved_kwlist.h} +1 -1
- data/ext/pg_query/include/{pl_reserved_kwlist_d.h → postgres/pl_reserved_kwlist_d.h} +1 -1
- data/ext/pg_query/include/{pl_unreserved_kwlist.h → postgres/pl_unreserved_kwlist.h} +2 -1
- data/ext/pg_query/include/{pl_unreserved_kwlist_d.h → postgres/pl_unreserved_kwlist_d.h} +48 -46
- data/ext/pg_query/include/{plpgsql.h → postgres/plpgsql.h} +28 -33
- data/ext/pg_query/include/{port → postgres/port}/atomics/arch-arm.h +3 -3
- data/ext/pg_query/include/postgres/port/atomics/arch-hppa.h +17 -0
- data/ext/pg_query/include/{port → postgres/port}/atomics/arch-ppc.h +21 -21
- data/ext/pg_query/include/{port → postgres/port}/atomics/arch-x86.h +2 -2
- data/ext/pg_query/include/{port → postgres/port}/atomics/fallback.h +3 -3
- data/ext/pg_query/include/{port → postgres/port}/atomics/generic-gcc.h +1 -1
- data/ext/pg_query/include/postgres/port/atomics/generic-msvc.h +101 -0
- data/ext/pg_query/include/postgres/port/atomics/generic-sunpro.h +106 -0
- data/ext/pg_query/include/{port → postgres/port}/atomics/generic.h +1 -1
- data/ext/pg_query/include/{port → postgres/port}/atomics.h +2 -7
- data/ext/pg_query/include/{port → postgres/port}/pg_bitutils.h +62 -25
- data/ext/pg_query/include/{port → postgres/port}/pg_bswap.h +1 -1
- data/ext/pg_query/include/{port → postgres/port}/pg_crc32c.h +1 -1
- data/ext/pg_query/include/postgres/port/simd.h +375 -0
- data/ext/pg_query/include/postgres/port/win32/arpa/inet.h +3 -0
- data/ext/pg_query/include/postgres/port/win32/dlfcn.h +1 -0
- data/ext/pg_query/include/postgres/port/win32/grp.h +1 -0
- data/ext/pg_query/include/postgres/port/win32/netdb.h +7 -0
- data/ext/pg_query/include/postgres/port/win32/netinet/in.h +3 -0
- data/ext/pg_query/include/postgres/port/win32/netinet/tcp.h +7 -0
- data/ext/pg_query/include/postgres/port/win32/pwd.h +3 -0
- data/ext/pg_query/include/postgres/port/win32/sys/resource.h +20 -0
- data/ext/pg_query/include/postgres/port/win32/sys/select.h +3 -0
- data/ext/pg_query/include/postgres/port/win32/sys/socket.h +26 -0
- data/ext/pg_query/include/postgres/port/win32/sys/un.h +17 -0
- data/ext/pg_query/include/postgres/port/win32/sys/wait.h +3 -0
- data/ext/pg_query/include/postgres/port/win32.h +59 -0
- data/ext/pg_query/include/postgres/port/win32_msvc/dirent.h +34 -0
- data/ext/pg_query/include/postgres/port/win32_msvc/sys/file.h +1 -0
- data/ext/pg_query/include/postgres/port/win32_msvc/sys/param.h +1 -0
- data/ext/pg_query/include/postgres/port/win32_msvc/sys/time.h +1 -0
- data/ext/pg_query/include/postgres/port/win32_msvc/unistd.h +9 -0
- data/ext/pg_query/include/postgres/port/win32_msvc/utime.h +3 -0
- data/ext/pg_query/include/postgres/port/win32_port.h +594 -0
- data/ext/pg_query/include/{port.h → postgres/port.h} +42 -75
- data/ext/pg_query/include/postgres/portability/instr_time.h +197 -0
- data/ext/pg_query/include/postgres/postgres.h +579 -0
- data/ext/pg_query/include/{postgres_ext.h → postgres/postgres_ext.h} +0 -1
- data/ext/pg_query/include/{postmaster → postgres/postmaster}/autovacuum.h +1 -4
- data/ext/pg_query/include/{postmaster → postgres/postmaster}/bgworker.h +2 -2
- data/ext/pg_query/include/{postmaster → postgres/postmaster}/bgworker_internals.h +1 -1
- data/ext/pg_query/include/{postmaster → postgres/postmaster}/bgwriter.h +2 -2
- data/ext/pg_query/include/{postmaster → postgres/postmaster}/interrupt.h +1 -1
- data/ext/pg_query/include/postgres/postmaster/pgarch.h +36 -0
- data/ext/pg_query/include/{postmaster → postgres/postmaster}/postmaster.h +6 -3
- data/ext/pg_query/include/{postmaster → postgres/postmaster}/startup.h +3 -1
- data/ext/pg_query/include/{postmaster → postgres/postmaster}/syslogger.h +2 -2
- data/ext/pg_query/include/{postmaster → postgres/postmaster}/walwriter.h +3 -1
- data/ext/pg_query/include/{regex → postgres/regex}/regex.h +9 -6
- data/ext/pg_query/include/{replication → postgres/replication}/logicallauncher.h +6 -1
- data/ext/pg_query/include/{replication → postgres/replication}/logicalproto.h +30 -10
- data/ext/pg_query/include/postgres/replication/logicalworker.h +32 -0
- data/ext/pg_query/include/{replication → postgres/replication}/origin.h +4 -4
- data/ext/pg_query/include/{replication → postgres/replication}/reorderbuffer.h +113 -45
- data/ext/pg_query/include/{replication → postgres/replication}/slot.h +25 -6
- data/ext/pg_query/include/{replication → postgres/replication}/syncrep.h +2 -8
- data/ext/pg_query/include/{replication → postgres/replication}/walreceiver.h +15 -9
- data/ext/pg_query/include/{replication → postgres/replication}/walsender.h +13 -13
- data/ext/pg_query/include/{rewrite → postgres/rewrite}/prs2lock.h +1 -1
- data/ext/pg_query/include/{rewrite → postgres/rewrite}/rewriteHandler.h +1 -4
- data/ext/pg_query/include/{rewrite → postgres/rewrite}/rewriteManip.h +11 -2
- data/ext/pg_query/include/{rewrite → postgres/rewrite}/rewriteSupport.h +1 -1
- data/ext/pg_query/include/{storage → postgres/storage}/backendid.h +1 -1
- data/ext/pg_query/include/{storage → postgres/storage}/block.h +24 -31
- data/ext/pg_query/include/{storage → postgres/storage}/buf.h +1 -1
- data/ext/pg_query/include/{storage → postgres/storage}/bufmgr.h +183 -87
- data/ext/pg_query/include/{storage → postgres/storage}/bufpage.h +146 -93
- data/ext/pg_query/include/{storage → postgres/storage}/condition_variable.h +2 -2
- data/ext/pg_query/include/{storage → postgres/storage}/dsm.h +3 -6
- data/ext/pg_query/include/{storage → postgres/storage}/dsm_impl.h +4 -1
- data/ext/pg_query/include/{storage → postgres/storage}/fd.h +24 -20
- data/ext/pg_query/include/{storage → postgres/storage}/fileset.h +1 -1
- data/ext/pg_query/include/{storage → postgres/storage}/ipc.h +2 -2
- data/ext/pg_query/include/{storage → postgres/storage}/item.h +1 -1
- data/ext/pg_query/include/{storage → postgres/storage}/itemid.h +1 -1
- data/ext/pg_query/include/{storage → postgres/storage}/itemptr.h +94 -57
- data/ext/pg_query/include/{storage → postgres/storage}/large_object.h +1 -1
- data/ext/pg_query/include/{storage → postgres/storage}/latch.h +9 -1
- data/ext/pg_query/include/{storage → postgres/storage}/lmgr.h +6 -1
- data/ext/pg_query/include/{storage → postgres/storage}/lock.h +21 -13
- data/ext/pg_query/include/{storage → postgres/storage}/lockdefs.h +3 -3
- data/ext/pg_query/include/{storage → postgres/storage}/lwlock.h +16 -2
- data/ext/pg_query/include/{storage → postgres/storage}/off.h +1 -1
- data/ext/pg_query/include/{storage → postgres/storage}/pg_sema.h +1 -1
- data/ext/pg_query/include/{storage → postgres/storage}/pg_shmem.h +1 -1
- data/ext/pg_query/include/{storage → postgres/storage}/pmsignal.h +1 -1
- data/ext/pg_query/include/{storage → postgres/storage}/predicate.h +2 -2
- data/ext/pg_query/include/{storage → postgres/storage}/proc.h +22 -17
- data/ext/pg_query/include/{storage → postgres/storage}/procarray.h +3 -2
- data/ext/pg_query/include/{storage → postgres/storage}/proclist_types.h +1 -1
- data/ext/pg_query/include/{storage → postgres/storage}/procsignal.h +3 -1
- data/ext/pg_query/include/postgres/storage/relfilelocator.h +99 -0
- data/ext/pg_query/include/{storage → postgres/storage}/s_lock.h +66 -309
- data/ext/pg_query/include/{storage → postgres/storage}/sharedfileset.h +1 -1
- data/ext/pg_query/include/{storage → postgres/storage}/shm_mq.h +1 -1
- data/ext/pg_query/include/{storage → postgres/storage}/shm_toc.h +1 -1
- data/ext/pg_query/include/{storage → postgres/storage}/shmem.h +1 -23
- data/ext/pg_query/include/{storage → postgres/storage}/sinval.h +3 -3
- data/ext/pg_query/include/{storage → postgres/storage}/sinvaladt.h +4 -2
- data/ext/pg_query/include/{storage → postgres/storage}/smgr.h +12 -10
- data/ext/pg_query/include/{storage → postgres/storage}/spin.h +1 -1
- data/ext/pg_query/include/{storage → postgres/storage}/standby.h +9 -8
- data/ext/pg_query/include/{storage → postgres/storage}/standbydefs.h +1 -1
- data/ext/pg_query/include/{storage → postgres/storage}/sync.h +3 -3
- data/ext/pg_query/include/{tcop → postgres/tcop}/cmdtag.h +7 -2
- data/ext/pg_query/include/{tcop → postgres/tcop}/cmdtaglist.h +1 -1
- data/ext/pg_query/include/{tcop → postgres/tcop}/deparse_utility.h +1 -1
- data/ext/pg_query/include/{tcop → postgres/tcop}/dest.h +1 -3
- data/ext/pg_query/include/{tcop → postgres/tcop}/fastpath.h +1 -1
- data/ext/pg_query/include/{tcop → postgres/tcop}/pquery.h +1 -1
- data/ext/pg_query/include/{tcop → postgres/tcop}/tcopprot.h +3 -6
- data/ext/pg_query/include/{tcop → postgres/tcop}/utility.h +1 -1
- data/ext/pg_query/include/{tsearch → postgres/tsearch}/ts_cache.h +2 -4
- data/ext/pg_query/include/{utils → postgres/utils}/acl.h +26 -81
- data/ext/pg_query/include/{utils → postgres/utils}/aclchk_internal.h +1 -1
- data/ext/pg_query/include/{utils → postgres/utils}/array.h +19 -1
- data/ext/pg_query/include/{utils → postgres/utils}/backend_progress.h +2 -1
- data/ext/pg_query/include/{utils → postgres/utils}/backend_status.h +24 -3
- data/ext/pg_query/include/{utils → postgres/utils}/builtins.h +15 -6
- data/ext/pg_query/include/{utils → postgres/utils}/bytea.h +1 -1
- data/ext/pg_query/include/{utils → postgres/utils}/catcache.h +1 -1
- data/ext/pg_query/include/{utils → postgres/utils}/date.h +37 -9
- data/ext/pg_query/include/{utils → postgres/utils}/datetime.h +41 -21
- data/ext/pg_query/include/{utils → postgres/utils}/datum.h +1 -1
- data/ext/pg_query/include/{utils → postgres/utils}/dsa.h +5 -1
- data/ext/pg_query/include/{utils → postgres/utils}/elog.h +104 -29
- data/ext/pg_query/include/{utils → postgres/utils}/expandeddatum.h +14 -3
- data/ext/pg_query/include/{utils → postgres/utils}/expandedrecord.h +14 -4
- data/ext/pg_query/include/{utils → postgres/utils}/float.h +7 -6
- data/ext/pg_query/include/{utils → postgres/utils}/fmgroids.h +54 -1
- data/ext/pg_query/include/{utils → postgres/utils}/fmgrprotos.h +45 -3
- data/ext/pg_query/include/{utils → postgres/utils}/fmgrtab.h +1 -1
- data/ext/pg_query/include/{utils → postgres/utils}/guc.h +59 -86
- data/ext/pg_query/include/postgres/utils/guc_hooks.h +163 -0
- data/ext/pg_query/include/{utils → postgres/utils}/guc_tables.h +49 -3
- data/ext/pg_query/include/{utils → postgres/utils}/hsearch.h +1 -1
- data/ext/pg_query/include/{utils → postgres/utils}/inval.h +3 -3
- data/ext/pg_query/include/postgres/utils/logtape.h +77 -0
- data/ext/pg_query/include/{utils → postgres/utils}/lsyscache.h +5 -1
- data/ext/pg_query/include/{utils → postgres/utils}/memdebug.h +1 -1
- data/ext/pg_query/include/{utils → postgres/utils}/memutils.h +7 -51
- data/ext/pg_query/include/postgres/utils/memutils_internal.h +136 -0
- data/ext/pg_query/include/postgres/utils/memutils_memorychunk.h +237 -0
- data/ext/pg_query/include/{utils → postgres/utils}/numeric.h +20 -5
- data/ext/pg_query/include/{utils → postgres/utils}/palloc.h +9 -2
- data/ext/pg_query/include/{utils → postgres/utils}/partcache.h +3 -2
- data/ext/pg_query/include/{utils → postgres/utils}/pg_locale.h +22 -14
- data/ext/pg_query/include/{utils → postgres/utils}/pgstat_internal.h +37 -7
- data/ext/pg_query/include/{utils → postgres/utils}/plancache.h +1 -1
- data/ext/pg_query/include/{utils → postgres/utils}/portal.h +1 -1
- data/ext/pg_query/include/{utils → postgres/utils}/probes.h +6 -6
- data/ext/pg_query/include/postgres/utils/ps_status.h +47 -0
- data/ext/pg_query/include/{utils → postgres/utils}/queryenvironment.h +1 -1
- data/ext/pg_query/include/{utils → postgres/utils}/regproc.h +3 -3
- data/ext/pg_query/include/{utils → postgres/utils}/rel.h +60 -43
- data/ext/pg_query/include/{utils → postgres/utils}/relcache.h +13 -8
- data/ext/pg_query/include/{utils → postgres/utils}/reltrigger.h +1 -1
- data/ext/pg_query/include/{utils → postgres/utils}/resowner.h +1 -1
- data/ext/pg_query/include/{utils → postgres/utils}/ruleutils.h +6 -1
- data/ext/pg_query/include/{utils → postgres/utils}/sharedtuplestore.h +1 -1
- data/ext/pg_query/include/{utils → postgres/utils}/snapmgr.h +4 -2
- data/ext/pg_query/include/{utils → postgres/utils}/snapshot.h +1 -1
- data/ext/pg_query/include/{utils → postgres/utils}/sortsupport.h +2 -2
- data/ext/pg_query/include/{utils → postgres/utils}/syscache.h +4 -1
- data/ext/pg_query/include/{utils → postgres/utils}/timeout.h +1 -1
- data/ext/pg_query/include/{utils → postgres/utils}/timestamp.h +41 -11
- data/ext/pg_query/include/{utils → postgres/utils}/tuplesort.h +189 -35
- data/ext/pg_query/include/{utils → postgres/utils}/tuplestore.h +1 -1
- data/ext/pg_query/include/{utils → postgres/utils}/typcache.h +1 -1
- data/ext/pg_query/include/{utils → postgres/utils}/varlena.h +13 -1
- data/ext/pg_query/include/{utils → postgres/utils}/wait_event.h +9 -4
- data/ext/pg_query/include/{utils → postgres/utils}/xml.h +15 -5
- data/ext/pg_query/include/{postgres.h → postgres/varatt.h} +7 -457
- data/ext/pg_query/include/protobuf/pg_query.pb-c.h +6186 -5585
- data/ext/pg_query/include/protobuf/pg_query.pb.h +112443 -91222
- data/ext/pg_query/pg_query.c +10 -1
- data/ext/pg_query/pg_query.pb-c.c +19755 -17757
- data/ext/pg_query/pg_query_fingerprint.c +12 -8
- data/ext/pg_query/pg_query_fingerprint.h +1 -1
- data/ext/pg_query/pg_query_internal.h +1 -1
- data/ext/pg_query/pg_query_json_plpgsql.c +1 -0
- data/ext/pg_query/pg_query_normalize.c +1 -1
- data/ext/pg_query/pg_query_outfuncs_json.c +6 -0
- data/ext/pg_query/pg_query_outfuncs_protobuf.c +3 -2
- data/ext/pg_query/pg_query_parse.c +47 -5
- data/ext/pg_query/pg_query_parse_plpgsql.c +7 -5
- data/ext/pg_query/pg_query_readfuncs_protobuf.c +1 -0
- data/ext/pg_query/pg_query_ruby.c +5 -0
- data/ext/pg_query/pg_query_scan.c +1 -1
- data/ext/pg_query/pg_query_split.c +3 -3
- data/ext/pg_query/postgres_deparse.c +503 -105
- data/ext/pg_query/src_backend_catalog_namespace.c +7 -2
- data/ext/pg_query/src_backend_catalog_pg_proc.c +1 -1
- data/ext/pg_query/src_backend_commands_define.c +1 -1
- data/ext/pg_query/src_backend_nodes_bitmapset.c +11 -70
- data/ext/pg_query/src_backend_nodes_copyfuncs.c +96 -6202
- data/ext/pg_query/src_backend_nodes_equalfuncs.c +95 -4068
- data/ext/pg_query/src_backend_nodes_extensible.c +6 -29
- data/ext/pg_query/src_backend_nodes_list.c +14 -2
- data/ext/pg_query/src_backend_nodes_makefuncs.c +95 -1
- data/ext/pg_query/src_backend_nodes_nodeFuncs.c +283 -132
- data/ext/pg_query/src_backend_nodes_nodes.c +38 -0
- data/ext/pg_query/src_backend_nodes_value.c +1 -1
- data/ext/pg_query/src_backend_parser_gram.c +33208 -31806
- data/ext/pg_query/src_backend_parser_parser.c +28 -2
- data/ext/pg_query/src_backend_parser_scan.c +4318 -3329
- data/ext/pg_query/src_backend_parser_scansup.c +1 -1
- data/ext/pg_query/src_backend_storage_ipc_ipc.c +1 -1
- data/ext/pg_query/src_backend_tcop_postgres.c +66 -87
- data/ext/pg_query/src_backend_utils_activity_pgstat_database.c +1 -1
- data/ext/pg_query/src_backend_utils_adt_datum.c +5 -7
- data/ext/pg_query/src_backend_utils_adt_expandeddatum.c +1 -1
- data/ext/pg_query/src_backend_utils_adt_format_type.c +1 -1
- data/ext/pg_query/src_backend_utils_adt_numutils.c +489 -0
- data/ext/pg_query/src_backend_utils_adt_ruleutils.c +79 -5
- data/ext/pg_query/src_backend_utils_error_assert.c +4 -7
- data/ext/pg_query/src_backend_utils_error_elog.c +371 -249
- data/ext/pg_query/src_backend_utils_fmgr_fmgr.c +33 -1
- data/ext/pg_query/src_backend_utils_init_globals.c +6 -3
- data/ext/pg_query/src_backend_utils_mb_mbutils.c +21 -67
- data/ext/pg_query/src_backend_utils_misc_guc_tables.c +492 -0
- data/ext/pg_query/src_backend_utils_mmgr_alignedalloc.c +163 -0
- data/ext/pg_query/src_backend_utils_mmgr_aset.c +449 -312
- data/ext/pg_query/src_backend_utils_mmgr_generation.c +1039 -0
- data/ext/pg_query/src_backend_utils_mmgr_mcxt.c +398 -49
- data/ext/pg_query/src_backend_utils_mmgr_slab.c +1021 -0
- data/ext/pg_query/src_common_encnames.c +4 -1
- data/ext/pg_query/src_common_hashfn.c +1 -1
- data/ext/pg_query/src_common_keywords.c +1 -1
- data/ext/pg_query/src_common_kwlist_d.h +534 -510
- data/ext/pg_query/src_common_kwlookup.c +1 -1
- data/ext/pg_query/src_common_psprintf.c +1 -1
- data/ext/pg_query/src_common_stringinfo.c +4 -4
- data/ext/pg_query/src_common_wchar.c +9 -8
- data/ext/pg_query/src_pl_plpgsql_src_pl_comp.c +1 -1
- data/ext/pg_query/src_pl_plpgsql_src_pl_funcs.c +3 -1
- data/ext/pg_query/src_pl_plpgsql_src_pl_gram.c +661 -694
- data/ext/pg_query/src_pl_plpgsql_src_pl_handler.c +1 -1
- data/ext/pg_query/src_pl_plpgsql_src_pl_reserved_kwlist_d.h +1 -1
- data/ext/pg_query/src_pl_plpgsql_src_pl_scanner.c +1 -1
- data/ext/pg_query/src_pl_plpgsql_src_pl_unreserved_kwlist_d.h +48 -46
- data/ext/pg_query/src_port_pg_bitutils.c +79 -5
- data/ext/pg_query/src_port_pgstrcasecmp.c +29 -1
- data/ext/pg_query/src_port_snprintf.c +6 -10
- data/ext/pg_query/src_port_strerror.c +1 -1
- data/ext/pg_query/src_port_strlcpy.c +79 -0
- data/lib/pg_query/fingerprint.rb +2 -3
- data/lib/pg_query/node.rb +16 -11
- data/lib/pg_query/parse.rb +1 -1
- data/lib/pg_query/pg_query_pb.rb +166 -3191
- data/lib/pg_query/treewalker.rb +23 -5
- data/lib/pg_query/version.rb +1 -1
- metadata +432 -383
- data/ext/pg_query/guc-file.c +0 -0
- data/ext/pg_query/include/catalog/pg_parameter_acl.h +0 -60
- data/ext/pg_query/include/catalog/pg_parameter_acl_d.h +0 -34
- data/ext/pg_query/include/commands/variable.h +0 -38
- data/ext/pg_query/include/common/ip.h +0 -31
- data/ext/pg_query/include/getaddrinfo.h +0 -162
- data/ext/pg_query/include/kwlist_d.h +0 -1095
- data/ext/pg_query/include/parser/gram.h +0 -1101
- data/ext/pg_query/include/pg_config_os.h +0 -8
- data/ext/pg_query/include/portability/instr_time.h +0 -256
- data/ext/pg_query/include/postmaster/auxprocess.h +0 -20
- data/ext/pg_query/include/postmaster/fork_process.h +0 -17
- data/ext/pg_query/include/postmaster/pgarch.h +0 -73
- data/ext/pg_query/include/replication/logicalworker.h +0 -19
- data/ext/pg_query/include/storage/relfilenode.h +0 -99
- data/ext/pg_query/include/utils/dynahash.h +0 -20
- data/ext/pg_query/include/utils/pg_lsn.h +0 -29
- data/ext/pg_query/include/utils/pidfile.h +0 -56
- data/ext/pg_query/include/utils/ps_status.h +0 -25
- data/ext/pg_query/include/utils/rls.h +0 -50
- data/ext/pg_query/include/utils/tzparser.h +0 -39
- data/ext/pg_query/src_backend_postmaster_postmaster.c +0 -2201
- data/ext/pg_query/src_backend_storage_lmgr_s_lock.c +0 -371
- data/ext/pg_query/src_backend_utils_hash_dynahash.c +0 -1116
- data/ext/pg_query/src_backend_utils_misc_guc.c +0 -1993
- data/ext/pg_query/src_common_pg_prng.c +0 -152
- data/ext/pg_query/src_common_string.c +0 -92
- data/ext/pg_query/src_port_pgsleep.c +0 -69
- data/ext/pg_query/src_port_strnlen.c +0 -39
- /data/ext/pg_query/include/{access → postgres/access}/rmgr.h +0 -0
- /data/ext/pg_query/include/{pg_config_ext.h → postgres/pg_config_ext.h} +0 -0
- /data/ext/pg_query/include/{plerrcodes.h → postgres/plerrcodes.h} +0 -0
- /data/ext/pg_query/include/{storage → postgres/storage}/lwlocknames.h +0 -0
- /data/ext/pg_query/include/{utils → postgres/utils}/errcodes.h +0 -0
|
@@ -1,256 +0,0 @@
|
|
|
1
|
-
/*-------------------------------------------------------------------------
|
|
2
|
-
*
|
|
3
|
-
* instr_time.h
|
|
4
|
-
* portable high-precision interval timing
|
|
5
|
-
*
|
|
6
|
-
* This file provides an abstraction layer to hide portability issues in
|
|
7
|
-
* interval timing. On Unix we use clock_gettime() if available, else
|
|
8
|
-
* gettimeofday(). On Windows, gettimeofday() gives a low-precision result
|
|
9
|
-
* so we must use QueryPerformanceCounter() instead. These macros also give
|
|
10
|
-
* some breathing room to use other high-precision-timing APIs.
|
|
11
|
-
*
|
|
12
|
-
* The basic data type is instr_time, which all callers should treat as an
|
|
13
|
-
* opaque typedef. instr_time can store either an absolute time (of
|
|
14
|
-
* unspecified reference time) or an interval. The operations provided
|
|
15
|
-
* for it are:
|
|
16
|
-
*
|
|
17
|
-
* INSTR_TIME_IS_ZERO(t) is t equal to zero?
|
|
18
|
-
*
|
|
19
|
-
* INSTR_TIME_SET_ZERO(t) set t to zero (memset is acceptable too)
|
|
20
|
-
*
|
|
21
|
-
* INSTR_TIME_SET_CURRENT(t) set t to current time
|
|
22
|
-
*
|
|
23
|
-
* INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero,
|
|
24
|
-
* evaluates to whether t changed
|
|
25
|
-
*
|
|
26
|
-
* INSTR_TIME_ADD(x, y) x += y
|
|
27
|
-
*
|
|
28
|
-
* INSTR_TIME_SUBTRACT(x, y) x -= y
|
|
29
|
-
*
|
|
30
|
-
* INSTR_TIME_ACCUM_DIFF(x, y, z) x += (y - z)
|
|
31
|
-
*
|
|
32
|
-
* INSTR_TIME_GET_DOUBLE(t) convert t to double (in seconds)
|
|
33
|
-
*
|
|
34
|
-
* INSTR_TIME_GET_MILLISEC(t) convert t to double (in milliseconds)
|
|
35
|
-
*
|
|
36
|
-
* INSTR_TIME_GET_MICROSEC(t) convert t to uint64 (in microseconds)
|
|
37
|
-
*
|
|
38
|
-
* Note that INSTR_TIME_SUBTRACT and INSTR_TIME_ACCUM_DIFF convert
|
|
39
|
-
* absolute times to intervals. The INSTR_TIME_GET_xxx operations are
|
|
40
|
-
* only useful on intervals.
|
|
41
|
-
*
|
|
42
|
-
* When summing multiple measurements, it's recommended to leave the
|
|
43
|
-
* running sum in instr_time form (ie, use INSTR_TIME_ADD or
|
|
44
|
-
* INSTR_TIME_ACCUM_DIFF) and convert to a result format only at the end.
|
|
45
|
-
*
|
|
46
|
-
* Beware of multiple evaluations of the macro arguments.
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
* Copyright (c) 2001-2022, PostgreSQL Global Development Group
|
|
50
|
-
*
|
|
51
|
-
* src/include/portability/instr_time.h
|
|
52
|
-
*
|
|
53
|
-
*-------------------------------------------------------------------------
|
|
54
|
-
*/
|
|
55
|
-
#ifndef INSTR_TIME_H
|
|
56
|
-
#define INSTR_TIME_H
|
|
57
|
-
|
|
58
|
-
#ifndef WIN32
|
|
59
|
-
|
|
60
|
-
#ifdef HAVE_CLOCK_GETTIME
|
|
61
|
-
|
|
62
|
-
/* Use clock_gettime() */
|
|
63
|
-
|
|
64
|
-
#include <time.h>
|
|
65
|
-
|
|
66
|
-
/*
|
|
67
|
-
* The best clockid to use according to the POSIX spec is CLOCK_MONOTONIC,
|
|
68
|
-
* since that will give reliable interval timing even in the face of changes
|
|
69
|
-
* to the system clock. However, POSIX doesn't require implementations to
|
|
70
|
-
* provide anything except CLOCK_REALTIME, so fall back to that if we don't
|
|
71
|
-
* find CLOCK_MONOTONIC.
|
|
72
|
-
*
|
|
73
|
-
* Also, some implementations have nonstandard clockids with better properties
|
|
74
|
-
* than CLOCK_MONOTONIC. In particular, as of macOS 10.12, Apple provides
|
|
75
|
-
* CLOCK_MONOTONIC_RAW which is both faster to read and higher resolution than
|
|
76
|
-
* their version of CLOCK_MONOTONIC.
|
|
77
|
-
*/
|
|
78
|
-
#if defined(__darwin__) && defined(CLOCK_MONOTONIC_RAW)
|
|
79
|
-
#define PG_INSTR_CLOCK CLOCK_MONOTONIC_RAW
|
|
80
|
-
#elif defined(CLOCK_MONOTONIC)
|
|
81
|
-
#define PG_INSTR_CLOCK CLOCK_MONOTONIC
|
|
82
|
-
#else
|
|
83
|
-
#define PG_INSTR_CLOCK CLOCK_REALTIME
|
|
84
|
-
#endif
|
|
85
|
-
|
|
86
|
-
typedef struct timespec instr_time;
|
|
87
|
-
|
|
88
|
-
#define INSTR_TIME_IS_ZERO(t) ((t).tv_nsec == 0 && (t).tv_sec == 0)
|
|
89
|
-
|
|
90
|
-
#define INSTR_TIME_SET_ZERO(t) ((t).tv_sec = 0, (t).tv_nsec = 0)
|
|
91
|
-
|
|
92
|
-
#define INSTR_TIME_SET_CURRENT(t) ((void) clock_gettime(PG_INSTR_CLOCK, &(t)))
|
|
93
|
-
|
|
94
|
-
#define INSTR_TIME_ADD(x,y) \
|
|
95
|
-
do { \
|
|
96
|
-
(x).tv_sec += (y).tv_sec; \
|
|
97
|
-
(x).tv_nsec += (y).tv_nsec; \
|
|
98
|
-
/* Normalize */ \
|
|
99
|
-
while ((x).tv_nsec >= 1000000000) \
|
|
100
|
-
{ \
|
|
101
|
-
(x).tv_nsec -= 1000000000; \
|
|
102
|
-
(x).tv_sec++; \
|
|
103
|
-
} \
|
|
104
|
-
} while (0)
|
|
105
|
-
|
|
106
|
-
#define INSTR_TIME_SUBTRACT(x,y) \
|
|
107
|
-
do { \
|
|
108
|
-
(x).tv_sec -= (y).tv_sec; \
|
|
109
|
-
(x).tv_nsec -= (y).tv_nsec; \
|
|
110
|
-
/* Normalize */ \
|
|
111
|
-
while ((x).tv_nsec < 0) \
|
|
112
|
-
{ \
|
|
113
|
-
(x).tv_nsec += 1000000000; \
|
|
114
|
-
(x).tv_sec--; \
|
|
115
|
-
} \
|
|
116
|
-
} while (0)
|
|
117
|
-
|
|
118
|
-
#define INSTR_TIME_ACCUM_DIFF(x,y,z) \
|
|
119
|
-
do { \
|
|
120
|
-
(x).tv_sec += (y).tv_sec - (z).tv_sec; \
|
|
121
|
-
(x).tv_nsec += (y).tv_nsec - (z).tv_nsec; \
|
|
122
|
-
/* Normalize after each add to avoid overflow/underflow of tv_nsec */ \
|
|
123
|
-
while ((x).tv_nsec < 0) \
|
|
124
|
-
{ \
|
|
125
|
-
(x).tv_nsec += 1000000000; \
|
|
126
|
-
(x).tv_sec--; \
|
|
127
|
-
} \
|
|
128
|
-
while ((x).tv_nsec >= 1000000000) \
|
|
129
|
-
{ \
|
|
130
|
-
(x).tv_nsec -= 1000000000; \
|
|
131
|
-
(x).tv_sec++; \
|
|
132
|
-
} \
|
|
133
|
-
} while (0)
|
|
134
|
-
|
|
135
|
-
#define INSTR_TIME_GET_DOUBLE(t) \
|
|
136
|
-
(((double) (t).tv_sec) + ((double) (t).tv_nsec) / 1000000000.0)
|
|
137
|
-
|
|
138
|
-
#define INSTR_TIME_GET_MILLISEC(t) \
|
|
139
|
-
(((double) (t).tv_sec * 1000.0) + ((double) (t).tv_nsec) / 1000000.0)
|
|
140
|
-
|
|
141
|
-
#define INSTR_TIME_GET_MICROSEC(t) \
|
|
142
|
-
(((uint64) (t).tv_sec * (uint64) 1000000) + (uint64) ((t).tv_nsec / 1000))
|
|
143
|
-
|
|
144
|
-
#else /* !HAVE_CLOCK_GETTIME */
|
|
145
|
-
|
|
146
|
-
/* Use gettimeofday() */
|
|
147
|
-
|
|
148
|
-
#include <sys/time.h>
|
|
149
|
-
|
|
150
|
-
typedef struct timeval instr_time;
|
|
151
|
-
|
|
152
|
-
#define INSTR_TIME_IS_ZERO(t) ((t).tv_usec == 0 && (t).tv_sec == 0)
|
|
153
|
-
|
|
154
|
-
#define INSTR_TIME_SET_ZERO(t) ((t).tv_sec = 0, (t).tv_usec = 0)
|
|
155
|
-
|
|
156
|
-
#define INSTR_TIME_SET_CURRENT(t) gettimeofday(&(t), NULL)
|
|
157
|
-
|
|
158
|
-
#define INSTR_TIME_ADD(x,y) \
|
|
159
|
-
do { \
|
|
160
|
-
(x).tv_sec += (y).tv_sec; \
|
|
161
|
-
(x).tv_usec += (y).tv_usec; \
|
|
162
|
-
/* Normalize */ \
|
|
163
|
-
while ((x).tv_usec >= 1000000) \
|
|
164
|
-
{ \
|
|
165
|
-
(x).tv_usec -= 1000000; \
|
|
166
|
-
(x).tv_sec++; \
|
|
167
|
-
} \
|
|
168
|
-
} while (0)
|
|
169
|
-
|
|
170
|
-
#define INSTR_TIME_SUBTRACT(x,y) \
|
|
171
|
-
do { \
|
|
172
|
-
(x).tv_sec -= (y).tv_sec; \
|
|
173
|
-
(x).tv_usec -= (y).tv_usec; \
|
|
174
|
-
/* Normalize */ \
|
|
175
|
-
while ((x).tv_usec < 0) \
|
|
176
|
-
{ \
|
|
177
|
-
(x).tv_usec += 1000000; \
|
|
178
|
-
(x).tv_sec--; \
|
|
179
|
-
} \
|
|
180
|
-
} while (0)
|
|
181
|
-
|
|
182
|
-
#define INSTR_TIME_ACCUM_DIFF(x,y,z) \
|
|
183
|
-
do { \
|
|
184
|
-
(x).tv_sec += (y).tv_sec - (z).tv_sec; \
|
|
185
|
-
(x).tv_usec += (y).tv_usec - (z).tv_usec; \
|
|
186
|
-
/* Normalize after each add to avoid overflow/underflow of tv_usec */ \
|
|
187
|
-
while ((x).tv_usec < 0) \
|
|
188
|
-
{ \
|
|
189
|
-
(x).tv_usec += 1000000; \
|
|
190
|
-
(x).tv_sec--; \
|
|
191
|
-
} \
|
|
192
|
-
while ((x).tv_usec >= 1000000) \
|
|
193
|
-
{ \
|
|
194
|
-
(x).tv_usec -= 1000000; \
|
|
195
|
-
(x).tv_sec++; \
|
|
196
|
-
} \
|
|
197
|
-
} while (0)
|
|
198
|
-
|
|
199
|
-
#define INSTR_TIME_GET_DOUBLE(t) \
|
|
200
|
-
(((double) (t).tv_sec) + ((double) (t).tv_usec) / 1000000.0)
|
|
201
|
-
|
|
202
|
-
#define INSTR_TIME_GET_MILLISEC(t) \
|
|
203
|
-
(((double) (t).tv_sec * 1000.0) + ((double) (t).tv_usec) / 1000.0)
|
|
204
|
-
|
|
205
|
-
#define INSTR_TIME_GET_MICROSEC(t) \
|
|
206
|
-
(((uint64) (t).tv_sec * (uint64) 1000000) + (uint64) (t).tv_usec)
|
|
207
|
-
|
|
208
|
-
#endif /* HAVE_CLOCK_GETTIME */
|
|
209
|
-
|
|
210
|
-
#else /* WIN32 */
|
|
211
|
-
|
|
212
|
-
/* Use QueryPerformanceCounter() */
|
|
213
|
-
|
|
214
|
-
typedef LARGE_INTEGER instr_time;
|
|
215
|
-
|
|
216
|
-
#define INSTR_TIME_IS_ZERO(t) ((t).QuadPart == 0)
|
|
217
|
-
|
|
218
|
-
#define INSTR_TIME_SET_ZERO(t) ((t).QuadPart = 0)
|
|
219
|
-
|
|
220
|
-
#define INSTR_TIME_SET_CURRENT(t) QueryPerformanceCounter(&(t))
|
|
221
|
-
|
|
222
|
-
#define INSTR_TIME_ADD(x,y) \
|
|
223
|
-
((x).QuadPart += (y).QuadPart)
|
|
224
|
-
|
|
225
|
-
#define INSTR_TIME_SUBTRACT(x,y) \
|
|
226
|
-
((x).QuadPart -= (y).QuadPart)
|
|
227
|
-
|
|
228
|
-
#define INSTR_TIME_ACCUM_DIFF(x,y,z) \
|
|
229
|
-
((x).QuadPart += (y).QuadPart - (z).QuadPart)
|
|
230
|
-
|
|
231
|
-
#define INSTR_TIME_GET_DOUBLE(t) \
|
|
232
|
-
(((double) (t).QuadPart) / GetTimerFrequency())
|
|
233
|
-
|
|
234
|
-
#define INSTR_TIME_GET_MILLISEC(t) \
|
|
235
|
-
(((double) (t).QuadPart * 1000.0) / GetTimerFrequency())
|
|
236
|
-
|
|
237
|
-
#define INSTR_TIME_GET_MICROSEC(t) \
|
|
238
|
-
((uint64) (((double) (t).QuadPart * 1000000.0) / GetTimerFrequency()))
|
|
239
|
-
|
|
240
|
-
static inline double
|
|
241
|
-
GetTimerFrequency(void)
|
|
242
|
-
{
|
|
243
|
-
LARGE_INTEGER f;
|
|
244
|
-
|
|
245
|
-
QueryPerformanceFrequency(&f);
|
|
246
|
-
return (double) f.QuadPart;
|
|
247
|
-
}
|
|
248
|
-
|
|
249
|
-
#endif /* WIN32 */
|
|
250
|
-
|
|
251
|
-
/* same macro on all platforms */
|
|
252
|
-
|
|
253
|
-
#define INSTR_TIME_SET_CURRENT_LAZY(t) \
|
|
254
|
-
(INSTR_TIME_IS_ZERO(t) ? INSTR_TIME_SET_CURRENT(t), true : false)
|
|
255
|
-
|
|
256
|
-
#endif /* INSTR_TIME_H */
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/*-------------------------------------------------------------------------
|
|
2
|
-
* auxprocess.h
|
|
3
|
-
* include file for functions related to auxiliary processes.
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
|
|
7
|
-
* Portions Copyright (c) 1994, Regents of the University of California
|
|
8
|
-
*
|
|
9
|
-
* IDENTIFICATION
|
|
10
|
-
* src/include/postmaster/auxprocess.h
|
|
11
|
-
*-------------------------------------------------------------------------
|
|
12
|
-
*/
|
|
13
|
-
#ifndef AUXPROCESS_H
|
|
14
|
-
#define AUXPROCESS_H
|
|
15
|
-
|
|
16
|
-
#include "miscadmin.h"
|
|
17
|
-
|
|
18
|
-
extern void AuxiliaryProcessMain(AuxProcType auxtype) pg_attribute_noreturn();
|
|
19
|
-
|
|
20
|
-
#endif /* AUXPROCESS_H */
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/*-------------------------------------------------------------------------
|
|
2
|
-
*
|
|
3
|
-
* fork_process.h
|
|
4
|
-
* Exports from postmaster/fork_process.c.
|
|
5
|
-
*
|
|
6
|
-
* Copyright (c) 1996-2022, PostgreSQL Global Development Group
|
|
7
|
-
*
|
|
8
|
-
* src/include/postmaster/fork_process.h
|
|
9
|
-
*
|
|
10
|
-
*-------------------------------------------------------------------------
|
|
11
|
-
*/
|
|
12
|
-
#ifndef FORK_PROCESS_H
|
|
13
|
-
#define FORK_PROCESS_H
|
|
14
|
-
|
|
15
|
-
extern pid_t fork_process(void);
|
|
16
|
-
|
|
17
|
-
#endif /* FORK_PROCESS_H */
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
/*-------------------------------------------------------------------------
|
|
2
|
-
*
|
|
3
|
-
* pgarch.h
|
|
4
|
-
* Exports from postmaster/pgarch.c.
|
|
5
|
-
*
|
|
6
|
-
* Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
|
|
7
|
-
* Portions Copyright (c) 1994, Regents of the University of California
|
|
8
|
-
*
|
|
9
|
-
* src/include/postmaster/pgarch.h
|
|
10
|
-
*
|
|
11
|
-
*-------------------------------------------------------------------------
|
|
12
|
-
*/
|
|
13
|
-
#ifndef _PGARCH_H
|
|
14
|
-
#define _PGARCH_H
|
|
15
|
-
|
|
16
|
-
/* ----------
|
|
17
|
-
* Archiver control info.
|
|
18
|
-
*
|
|
19
|
-
* We expect that archivable files within pg_wal will have names between
|
|
20
|
-
* MIN_XFN_CHARS and MAX_XFN_CHARS in length, consisting only of characters
|
|
21
|
-
* appearing in VALID_XFN_CHARS. The status files in archive_status have
|
|
22
|
-
* corresponding names with ".ready" or ".done" appended.
|
|
23
|
-
* ----------
|
|
24
|
-
*/
|
|
25
|
-
#define MIN_XFN_CHARS 16
|
|
26
|
-
#define MAX_XFN_CHARS 40
|
|
27
|
-
#define VALID_XFN_CHARS "0123456789ABCDEF.history.backup.partial"
|
|
28
|
-
|
|
29
|
-
extern Size PgArchShmemSize(void);
|
|
30
|
-
extern void PgArchShmemInit(void);
|
|
31
|
-
extern bool PgArchCanRestart(void);
|
|
32
|
-
extern void PgArchiverMain(void) pg_attribute_noreturn();
|
|
33
|
-
extern void PgArchWakeup(void);
|
|
34
|
-
extern void PgArchForceDirScan(void);
|
|
35
|
-
|
|
36
|
-
/*
|
|
37
|
-
* The value of the archive_library GUC.
|
|
38
|
-
*/
|
|
39
|
-
extern PGDLLIMPORT char *XLogArchiveLibrary;
|
|
40
|
-
|
|
41
|
-
/*
|
|
42
|
-
* Archive module callbacks
|
|
43
|
-
*
|
|
44
|
-
* These callback functions should be defined by archive libraries and returned
|
|
45
|
-
* via _PG_archive_module_init(). ArchiveFileCB is the only required callback.
|
|
46
|
-
* For more information about the purpose of each callback, refer to the
|
|
47
|
-
* archive modules documentation.
|
|
48
|
-
*/
|
|
49
|
-
typedef bool (*ArchiveCheckConfiguredCB) (void);
|
|
50
|
-
typedef bool (*ArchiveFileCB) (const char *file, const char *path);
|
|
51
|
-
typedef void (*ArchiveShutdownCB) (void);
|
|
52
|
-
|
|
53
|
-
typedef struct ArchiveModuleCallbacks
|
|
54
|
-
{
|
|
55
|
-
ArchiveCheckConfiguredCB check_configured_cb;
|
|
56
|
-
ArchiveFileCB archive_file_cb;
|
|
57
|
-
ArchiveShutdownCB shutdown_cb;
|
|
58
|
-
} ArchiveModuleCallbacks;
|
|
59
|
-
|
|
60
|
-
/*
|
|
61
|
-
* Type of the shared library symbol _PG_archive_module_init that is looked
|
|
62
|
-
* up when loading an archive library.
|
|
63
|
-
*/
|
|
64
|
-
typedef void (*ArchiveModuleInit) (ArchiveModuleCallbacks *cb);
|
|
65
|
-
|
|
66
|
-
/*
|
|
67
|
-
* Since the logic for archiving via a shell command is in the core server
|
|
68
|
-
* and does not need to be loaded via a shared library, it has a special
|
|
69
|
-
* initialization function.
|
|
70
|
-
*/
|
|
71
|
-
extern void shell_archive_init(ArchiveModuleCallbacks *cb);
|
|
72
|
-
|
|
73
|
-
#endif /* _PGARCH_H */
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/*-------------------------------------------------------------------------
|
|
2
|
-
*
|
|
3
|
-
* logicalworker.h
|
|
4
|
-
* Exports for logical replication workers.
|
|
5
|
-
*
|
|
6
|
-
* Portions Copyright (c) 2016-2022, PostgreSQL Global Development Group
|
|
7
|
-
*
|
|
8
|
-
* src/include/replication/logicalworker.h
|
|
9
|
-
*
|
|
10
|
-
*-------------------------------------------------------------------------
|
|
11
|
-
*/
|
|
12
|
-
#ifndef LOGICALWORKER_H
|
|
13
|
-
#define LOGICALWORKER_H
|
|
14
|
-
|
|
15
|
-
extern void ApplyWorkerMain(Datum main_arg);
|
|
16
|
-
|
|
17
|
-
extern bool IsLogicalWorker(void);
|
|
18
|
-
|
|
19
|
-
#endif /* LOGICALWORKER_H */
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
/*-------------------------------------------------------------------------
|
|
2
|
-
*
|
|
3
|
-
* relfilenode.h
|
|
4
|
-
* Physical access information for relations.
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
|
|
8
|
-
* Portions Copyright (c) 1994, Regents of the University of California
|
|
9
|
-
*
|
|
10
|
-
* src/include/storage/relfilenode.h
|
|
11
|
-
*
|
|
12
|
-
*-------------------------------------------------------------------------
|
|
13
|
-
*/
|
|
14
|
-
#ifndef RELFILENODE_H
|
|
15
|
-
#define RELFILENODE_H
|
|
16
|
-
|
|
17
|
-
#include "common/relpath.h"
|
|
18
|
-
#include "storage/backendid.h"
|
|
19
|
-
|
|
20
|
-
/*
|
|
21
|
-
* RelFileNode must provide all that we need to know to physically access
|
|
22
|
-
* a relation, with the exception of the backend ID, which can be provided
|
|
23
|
-
* separately. Note, however, that a "physical" relation is comprised of
|
|
24
|
-
* multiple files on the filesystem, as each fork is stored as a separate
|
|
25
|
-
* file, and each fork can be divided into multiple segments. See md.c.
|
|
26
|
-
*
|
|
27
|
-
* spcNode identifies the tablespace of the relation. It corresponds to
|
|
28
|
-
* pg_tablespace.oid.
|
|
29
|
-
*
|
|
30
|
-
* dbNode identifies the database of the relation. It is zero for
|
|
31
|
-
* "shared" relations (those common to all databases of a cluster).
|
|
32
|
-
* Nonzero dbNode values correspond to pg_database.oid.
|
|
33
|
-
*
|
|
34
|
-
* relNode identifies the specific relation. relNode corresponds to
|
|
35
|
-
* pg_class.relfilenode (NOT pg_class.oid, because we need to be able
|
|
36
|
-
* to assign new physical files to relations in some situations).
|
|
37
|
-
* Notice that relNode is only unique within a database in a particular
|
|
38
|
-
* tablespace.
|
|
39
|
-
*
|
|
40
|
-
* Note: spcNode must be GLOBALTABLESPACE_OID if and only if dbNode is
|
|
41
|
-
* zero. We support shared relations only in the "global" tablespace.
|
|
42
|
-
*
|
|
43
|
-
* Note: in pg_class we allow reltablespace == 0 to denote that the
|
|
44
|
-
* relation is stored in its database's "default" tablespace (as
|
|
45
|
-
* identified by pg_database.dattablespace). However this shorthand
|
|
46
|
-
* is NOT allowed in RelFileNode structs --- the real tablespace ID
|
|
47
|
-
* must be supplied when setting spcNode.
|
|
48
|
-
*
|
|
49
|
-
* Note: in pg_class, relfilenode can be zero to denote that the relation
|
|
50
|
-
* is a "mapped" relation, whose current true filenode number is available
|
|
51
|
-
* from relmapper.c. Again, this case is NOT allowed in RelFileNodes.
|
|
52
|
-
*
|
|
53
|
-
* Note: various places use RelFileNode in hashtable keys. Therefore,
|
|
54
|
-
* there *must not* be any unused padding bytes in this struct. That
|
|
55
|
-
* should be safe as long as all the fields are of type Oid.
|
|
56
|
-
*/
|
|
57
|
-
typedef struct RelFileNode
|
|
58
|
-
{
|
|
59
|
-
Oid spcNode; /* tablespace */
|
|
60
|
-
Oid dbNode; /* database */
|
|
61
|
-
Oid relNode; /* relation */
|
|
62
|
-
} RelFileNode;
|
|
63
|
-
|
|
64
|
-
/*
|
|
65
|
-
* Augmenting a relfilenode with the backend ID provides all the information
|
|
66
|
-
* we need to locate the physical storage. The backend ID is InvalidBackendId
|
|
67
|
-
* for regular relations (those accessible to more than one backend), or the
|
|
68
|
-
* owning backend's ID for backend-local relations. Backend-local relations
|
|
69
|
-
* are always transient and removed in case of a database crash; they are
|
|
70
|
-
* never WAL-logged or fsync'd.
|
|
71
|
-
*/
|
|
72
|
-
typedef struct RelFileNodeBackend
|
|
73
|
-
{
|
|
74
|
-
RelFileNode node;
|
|
75
|
-
BackendId backend;
|
|
76
|
-
} RelFileNodeBackend;
|
|
77
|
-
|
|
78
|
-
#define RelFileNodeBackendIsTemp(rnode) \
|
|
79
|
-
((rnode).backend != InvalidBackendId)
|
|
80
|
-
|
|
81
|
-
/*
|
|
82
|
-
* Note: RelFileNodeEquals and RelFileNodeBackendEquals compare relNode first
|
|
83
|
-
* since that is most likely to be different in two unequal RelFileNodes. It
|
|
84
|
-
* is probably redundant to compare spcNode if the other fields are found equal,
|
|
85
|
-
* but do it anyway to be sure. Likewise for checking the backend ID in
|
|
86
|
-
* RelFileNodeBackendEquals.
|
|
87
|
-
*/
|
|
88
|
-
#define RelFileNodeEquals(node1, node2) \
|
|
89
|
-
((node1).relNode == (node2).relNode && \
|
|
90
|
-
(node1).dbNode == (node2).dbNode && \
|
|
91
|
-
(node1).spcNode == (node2).spcNode)
|
|
92
|
-
|
|
93
|
-
#define RelFileNodeBackendEquals(node1, node2) \
|
|
94
|
-
((node1).node.relNode == (node2).node.relNode && \
|
|
95
|
-
(node1).node.dbNode == (node2).node.dbNode && \
|
|
96
|
-
(node1).backend == (node2).backend && \
|
|
97
|
-
(node1).node.spcNode == (node2).node.spcNode)
|
|
98
|
-
|
|
99
|
-
#endif /* RELFILENODE_H */
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/*-------------------------------------------------------------------------
|
|
2
|
-
*
|
|
3
|
-
* dynahash.h
|
|
4
|
-
* POSTGRES dynahash.h file definitions
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
|
|
8
|
-
* Portions Copyright (c) 1994, Regents of the University of California
|
|
9
|
-
*
|
|
10
|
-
* IDENTIFICATION
|
|
11
|
-
* src/include/utils/dynahash.h
|
|
12
|
-
*
|
|
13
|
-
*-------------------------------------------------------------------------
|
|
14
|
-
*/
|
|
15
|
-
#ifndef DYNAHASH_H
|
|
16
|
-
#define DYNAHASH_H
|
|
17
|
-
|
|
18
|
-
extern int my_log2(long num);
|
|
19
|
-
|
|
20
|
-
#endif /* DYNAHASH_H */
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/*-------------------------------------------------------------------------
|
|
2
|
-
*
|
|
3
|
-
* pg_lsn.h
|
|
4
|
-
* Declarations for operations on log sequence numbers (LSNs) of
|
|
5
|
-
* PostgreSQL.
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
|
|
9
|
-
* Portions Copyright (c) 1994, Regents of the University of California
|
|
10
|
-
*
|
|
11
|
-
* src/include/utils/pg_lsn.h
|
|
12
|
-
*
|
|
13
|
-
*-------------------------------------------------------------------------
|
|
14
|
-
*/
|
|
15
|
-
#ifndef PG_LSN_H
|
|
16
|
-
#define PG_LSN_H
|
|
17
|
-
|
|
18
|
-
#include "access/xlogdefs.h"
|
|
19
|
-
#include "fmgr.h"
|
|
20
|
-
|
|
21
|
-
#define DatumGetLSN(X) ((XLogRecPtr) DatumGetInt64(X))
|
|
22
|
-
#define LSNGetDatum(X) (Int64GetDatum((int64) (X)))
|
|
23
|
-
|
|
24
|
-
#define PG_GETARG_LSN(n) DatumGetLSN(PG_GETARG_DATUM(n))
|
|
25
|
-
#define PG_RETURN_LSN(x) return LSNGetDatum(x)
|
|
26
|
-
|
|
27
|
-
extern XLogRecPtr pg_lsn_in_internal(const char *str, bool *have_error);
|
|
28
|
-
|
|
29
|
-
#endif /* PG_LSN_H */
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
/*-------------------------------------------------------------------------
|
|
2
|
-
*
|
|
3
|
-
* pidfile.h
|
|
4
|
-
* Declarations describing the data directory lock file (postmaster.pid)
|
|
5
|
-
*
|
|
6
|
-
* Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
|
|
7
|
-
* Portions Copyright (c) 1994, Regents of the University of California
|
|
8
|
-
*
|
|
9
|
-
* src/include/utils/pidfile.h
|
|
10
|
-
*
|
|
11
|
-
*-------------------------------------------------------------------------
|
|
12
|
-
*/
|
|
13
|
-
#ifndef UTILS_PIDFILE_H
|
|
14
|
-
#define UTILS_PIDFILE_H
|
|
15
|
-
|
|
16
|
-
/*
|
|
17
|
-
* As of Postgres 10, the contents of the data-directory lock file are:
|
|
18
|
-
*
|
|
19
|
-
* line #
|
|
20
|
-
* 1 postmaster PID (or negative of a standalone backend's PID)
|
|
21
|
-
* 2 data directory path
|
|
22
|
-
* 3 postmaster start timestamp (time_t representation)
|
|
23
|
-
* 4 port number
|
|
24
|
-
* 5 first Unix socket directory path (empty if none)
|
|
25
|
-
* 6 first listen_address (IP address or "*"; empty if no TCP port)
|
|
26
|
-
* 7 shared memory key (empty on Windows)
|
|
27
|
-
* 8 postmaster status (see values below)
|
|
28
|
-
*
|
|
29
|
-
* Lines 6 and up are added via AddToDataDirLockFile() after initial file
|
|
30
|
-
* creation; also, line 5 is initially empty and is changed after the first
|
|
31
|
-
* Unix socket is opened. Onlookers should not assume that lines 4 and up
|
|
32
|
-
* are filled in any particular order.
|
|
33
|
-
*
|
|
34
|
-
* Socket lock file(s), if used, have the same contents as lines 1-5, with
|
|
35
|
-
* line 5 being their own directory.
|
|
36
|
-
*/
|
|
37
|
-
#define LOCK_FILE_LINE_PID 1
|
|
38
|
-
#define LOCK_FILE_LINE_DATA_DIR 2
|
|
39
|
-
#define LOCK_FILE_LINE_START_TIME 3
|
|
40
|
-
#define LOCK_FILE_LINE_PORT 4
|
|
41
|
-
#define LOCK_FILE_LINE_SOCKET_DIR 5
|
|
42
|
-
#define LOCK_FILE_LINE_LISTEN_ADDR 6
|
|
43
|
-
#define LOCK_FILE_LINE_SHMEM_KEY 7
|
|
44
|
-
#define LOCK_FILE_LINE_PM_STATUS 8
|
|
45
|
-
|
|
46
|
-
/*
|
|
47
|
-
* The PM_STATUS line may contain one of these values. All these strings
|
|
48
|
-
* must be the same length, per comments for AddToDataDirLockFile().
|
|
49
|
-
* We pad with spaces as needed to make that true.
|
|
50
|
-
*/
|
|
51
|
-
#define PM_STATUS_STARTING "starting" /* still starting up */
|
|
52
|
-
#define PM_STATUS_STOPPING "stopping" /* in shutdown sequence */
|
|
53
|
-
#define PM_STATUS_READY "ready " /* ready for connections */
|
|
54
|
-
#define PM_STATUS_STANDBY "standby " /* up, won't accept connections */
|
|
55
|
-
|
|
56
|
-
#endif /* UTILS_PIDFILE_H */
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
/*-------------------------------------------------------------------------
|
|
2
|
-
*
|
|
3
|
-
* ps_status.h
|
|
4
|
-
*
|
|
5
|
-
* Declarations for backend/utils/misc/ps_status.c
|
|
6
|
-
*
|
|
7
|
-
* src/include/utils/ps_status.h
|
|
8
|
-
*
|
|
9
|
-
*-------------------------------------------------------------------------
|
|
10
|
-
*/
|
|
11
|
-
|
|
12
|
-
#ifndef PS_STATUS_H
|
|
13
|
-
#define PS_STATUS_H
|
|
14
|
-
|
|
15
|
-
extern PGDLLIMPORT bool update_process_title;
|
|
16
|
-
|
|
17
|
-
extern char **save_ps_display_args(int argc, char **argv);
|
|
18
|
-
|
|
19
|
-
extern void init_ps_display(const char *fixed_part);
|
|
20
|
-
|
|
21
|
-
extern void set_ps_display(const char *activity);
|
|
22
|
-
|
|
23
|
-
extern const char *get_ps_display(int *displen);
|
|
24
|
-
|
|
25
|
-
#endif /* PS_STATUS_H */
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
/*-------------------------------------------------------------------------
|
|
2
|
-
*
|
|
3
|
-
* rls.h
|
|
4
|
-
* Header file for Row Level Security (RLS) utility commands to be used
|
|
5
|
-
* with the rowsecurity feature.
|
|
6
|
-
*
|
|
7
|
-
* Copyright (c) 2007-2022, PostgreSQL Global Development Group
|
|
8
|
-
*
|
|
9
|
-
* src/include/utils/rls.h
|
|
10
|
-
*
|
|
11
|
-
*-------------------------------------------------------------------------
|
|
12
|
-
*/
|
|
13
|
-
#ifndef RLS_H
|
|
14
|
-
#define RLS_H
|
|
15
|
-
|
|
16
|
-
/* GUC variable */
|
|
17
|
-
extern PGDLLIMPORT bool row_security;
|
|
18
|
-
|
|
19
|
-
/*
|
|
20
|
-
* Used by callers of check_enable_rls.
|
|
21
|
-
*
|
|
22
|
-
* RLS could be completely disabled on the tables involved in the query,
|
|
23
|
-
* which is the simple case, or it may depend on the current environment
|
|
24
|
-
* (the role which is running the query or the value of the row_security
|
|
25
|
-
* GUC), or it might be simply enabled as usual.
|
|
26
|
-
*
|
|
27
|
-
* If RLS isn't on the table involved then RLS_NONE is returned to indicate
|
|
28
|
-
* that we don't need to worry about invalidating the query plan for RLS
|
|
29
|
-
* reasons. If RLS is on the table, but we are bypassing it for now, then
|
|
30
|
-
* we return RLS_NONE_ENV to indicate that, if the environment changes,
|
|
31
|
-
* we need to invalidate and replan. Finally, if RLS should be turned on
|
|
32
|
-
* for the query, then we return RLS_ENABLED, which means we also need to
|
|
33
|
-
* invalidate if the environment changes.
|
|
34
|
-
*
|
|
35
|
-
* Note that RLS_ENABLED will also be returned if noError is true
|
|
36
|
-
* (indicating that the caller simply want to know if RLS should be applied
|
|
37
|
-
* for this user but doesn't want an error thrown if it is; this is used
|
|
38
|
-
* by other error cases where we're just trying to decide if data from the
|
|
39
|
-
* table should be passed back to the user or not).
|
|
40
|
-
*/
|
|
41
|
-
enum CheckEnableRlsResult
|
|
42
|
-
{
|
|
43
|
-
RLS_NONE,
|
|
44
|
-
RLS_NONE_ENV,
|
|
45
|
-
RLS_ENABLED
|
|
46
|
-
};
|
|
47
|
-
|
|
48
|
-
extern int check_enable_rls(Oid relid, Oid checkAsUser, bool noError);
|
|
49
|
-
|
|
50
|
-
#endif /* RLS_H */
|