pg_query 2.0.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 +165 -0
- data/README.md +67 -29
- data/Rakefile +8 -23
- data/ext/pg_query/extconf.rb +21 -3
- data/ext/pg_query/include/pg_query.h +29 -4
- data/ext/pg_query/include/pg_query_enum_defs.c +551 -272
- data/ext/pg_query/include/pg_query_fingerprint_conds.c +563 -470
- data/ext/pg_query/include/pg_query_fingerprint_defs.c +5403 -3945
- data/ext/pg_query/include/pg_query_outfuncs_conds.c +402 -330
- data/ext/pg_query/include/pg_query_outfuncs_defs.c +1319 -1059
- data/ext/pg_query/include/pg_query_readfuncs_conds.c +141 -118
- data/ext/pg_query/include/pg_query_readfuncs_defs.c +1685 -1379
- data/ext/pg_query/include/{access → postgres/access}/amapi.h +47 -1
- data/ext/pg_query/include/{access → postgres/access}/attmap.h +5 -3
- data/ext/pg_query/include/{access → postgres/access}/attnum.h +2 -2
- data/ext/pg_query/include/{access → postgres/access}/clog.h +4 -2
- data/ext/pg_query/include/{access → postgres/access}/commit_ts.h +6 -9
- data/ext/pg_query/include/{access → postgres/access}/detoast.h +1 -11
- data/ext/pg_query/include/{access → postgres/access}/genam.h +21 -16
- data/ext/pg_query/include/{access → postgres/access}/gin.h +17 -4
- data/ext/pg_query/include/{access → postgres/access}/htup.h +1 -1
- data/ext/pg_query/include/{access → postgres/access}/htup_details.h +80 -88
- data/ext/pg_query/include/{access → postgres/access}/itup.h +61 -52
- 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 +17 -2
- data/ext/pg_query/include/postgres/access/rmgr.h +62 -0
- data/ext/pg_query/include/{access → postgres/access}/rmgrlist.h +24 -24
- 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 +4 -2
- data/ext/pg_query/include/{access → postgres/access}/sysattr.h +1 -1
- data/ext/pg_query/include/{access → postgres/access}/table.h +2 -1
- data/ext/pg_query/include/{access → postgres/access}/tableam.h +337 -62
- data/ext/pg_query/include/postgres/access/toast_compression.h +73 -0
- data/ext/pg_query/include/{access → postgres/access}/transam.h +123 -13
- 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 +60 -100
- data/ext/pg_query/include/{access → postgres/access}/twophase.h +5 -1
- data/ext/pg_query/include/{access → postgres/access}/xact.h +99 -32
- data/ext/pg_query/include/{access → postgres/access}/xlog.h +69 -165
- data/ext/pg_query/include/{access → postgres/access}/xlog_internal.h +147 -73
- data/ext/pg_query/include/postgres/access/xlogbackup.h +41 -0
- data/ext/pg_query/include/{access → postgres/access}/xlogdefs.h +13 -40
- data/ext/pg_query/include/postgres/access/xlogprefetcher.h +55 -0
- data/ext/pg_query/include/{access → postgres/access}/xlogreader.h +154 -37
- data/ext/pg_query/include/{access → postgres/access}/xlogrecord.h +34 -13
- data/ext/pg_query/include/postgres/access/xlogrecovery.h +158 -0
- data/ext/pg_query/include/postgres/archive/archive_module.h +59 -0
- data/ext/pg_query/include/{c.h → postgres/c.h} +245 -188
- data/ext/pg_query/include/{catalog → postgres/catalog}/catalog.h +6 -3
- data/ext/pg_query/include/{catalog → postgres/catalog}/catversion.h +6 -2
- data/ext/pg_query/include/{catalog → postgres/catalog}/dependency.h +14 -19
- data/ext/pg_query/include/postgres/catalog/genbki.h +143 -0
- data/ext/pg_query/include/{catalog → postgres/catalog}/index.h +20 -5
- data/ext/pg_query/include/postgres/catalog/indexing.h +54 -0
- data/ext/pg_query/include/{catalog → postgres/catalog}/namespace.h +5 -3
- data/ext/pg_query/include/{catalog → postgres/catalog}/objectaccess.h +73 -3
- data/ext/pg_query/include/{catalog → postgres/catalog}/objectaddress.h +12 -7
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_aggregate.h +14 -10
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_aggregate_d.h +2 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_am.h +4 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_am_d.h +3 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_attribute.h +45 -26
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_attribute_d.h +19 -16
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_authid.h +7 -2
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_authid_d.h +19 -9
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_class.h +45 -15
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_class_d.h +31 -2
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_collation.h +35 -8
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_collation_d.h +21 -3
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_constraint.h +39 -13
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_constraint_d.h +10 -4
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_control.h +13 -5
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_conversion.h +8 -5
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_conversion_d.h +4 -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 +11 -7
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_depend_d.h +3 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_event_trigger.h +9 -3
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_event_trigger_d.h +3 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_index.h +17 -7
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_index_d.h +20 -17
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_language.h +10 -5
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_language_d.h +3 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_namespace.h +7 -2
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_namespace_d.h +3 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_opclass.h +8 -5
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_opclass_d.h +3 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_operator.h +21 -16
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_operator_d.h +37 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_opfamily.h +8 -4
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_opfamily_d.h +6 -2
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_partitioned_table.h +20 -9
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_partitioned_table_d.h +2 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_proc.h +20 -11
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_proc_d.h +10 -8
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_publication.h +49 -6
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_publication_d.h +3 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_replication_origin.h +6 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_replication_origin_d.h +5 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_statistic.h +19 -12
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_statistic_d.h +2 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_statistic_ext.h +19 -5
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_statistic_ext_d.h +7 -2
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_transform.h +8 -5
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_transform_d.h +3 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_trigger.h +24 -8
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_trigger_d.h +4 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_config.h +6 -3
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_config_d.h +3 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_dict.h +8 -3
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_dict_d.h +3 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_parser.h +6 -3
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_parser_d.h +3 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_template.h +6 -3
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_template_d.h +3 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_type.h +56 -24
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_type_d.h +70 -31
- data/ext/pg_query/include/{catalog → postgres/catalog}/storage.h +9 -7
- data/ext/pg_query/include/{commands → postgres/commands}/async.h +4 -5
- data/ext/pg_query/include/{commands → postgres/commands}/dbcommands.h +3 -1
- data/ext/pg_query/include/{commands → postgres/commands}/defrem.h +12 -24
- data/ext/pg_query/include/{commands → postgres/commands}/event_trigger.h +2 -2
- 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 +6 -4
- data/ext/pg_query/include/{commands → postgres/commands}/trigger.h +36 -25
- data/ext/pg_query/include/{commands → postgres/commands}/user.h +10 -4
- data/ext/pg_query/include/{commands → postgres/commands}/vacuum.h +140 -47
- data/ext/pg_query/include/postgres/common/cryptohash.h +39 -0
- data/ext/pg_query/include/{common → postgres/common}/file_perm.h +4 -4
- 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 +2 -6
- data/ext/pg_query/include/{common → postgres/common}/kwlookup.h +2 -2
- data/ext/pg_query/include/postgres/common/pg_prng.h +61 -0
- data/ext/pg_query/include/{common → postgres/common}/relpath.h +21 -14
- 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/postgres/common/string.h +44 -0
- data/ext/pg_query/include/postgres/common/unicode_east_asian_fw_table.h +125 -0
- data/ext/pg_query/include/{common/unicode_combining_table.h → postgres/common/unicode_nonspacing_table.h} +138 -8
- 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 +50 -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 +98 -32
- data/ext/pg_query/include/{executor → postgres/executor}/functions.h +17 -3
- data/ext/pg_query/include/{executor → postgres/executor}/instrument.h +33 -16
- data/ext/pg_query/include/{executor → postgres/executor}/spi.h +42 -4
- 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} +33 -8
- data/ext/pg_query/include/postgres/foreign/fdwapi.h +294 -0
- data/ext/pg_query/include/{funcapi.h → postgres/funcapi.h} +22 -10
- 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 +12 -12
- data/ext/pg_query/include/postgres/kwlist_d.h +1119 -0
- data/ext/pg_query/include/postgres/lib/dshash.h +115 -0
- data/ext/pg_query/include/{lib → postgres/lib}/ilist.h +454 -22
- data/ext/pg_query/include/{lib → postgres/lib}/pairingheap.h +1 -1
- data/ext/pg_query/include/{lib → postgres/lib}/simplehash.h +158 -33
- data/ext/pg_query/include/postgres/lib/sort_template.h +432 -0
- data/ext/pg_query/include/{lib → postgres/lib}/stringinfo.h +3 -3
- data/ext/pg_query/include/{libpq → postgres/libpq}/auth.h +12 -4
- data/ext/pg_query/include/{libpq → postgres/libpq}/crypt.h +5 -4
- data/ext/pg_query/include/{libpq → postgres/libpq}/hba.h +54 -8
- data/ext/pg_query/include/{libpq → postgres/libpq}/libpq-be.h +45 -17
- data/ext/pg_query/include/{libpq → postgres/libpq}/libpq.h +31 -20
- data/ext/pg_query/include/{libpq → postgres/libpq}/pqcomm.h +26 -71
- data/ext/pg_query/include/{libpq → postgres/libpq}/pqformat.h +2 -2
- data/ext/pg_query/include/{libpq → postgres/libpq}/pqsignal.h +25 -13
- 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 +125 -25
- data/ext/pg_query/include/{mb → postgres/mb}/stringinfo_mb.h +1 -1
- data/ext/pg_query/include/{miscadmin.h → postgres/miscadmin.h} +96 -65
- data/ext/pg_query/include/{nodes → postgres/nodes}/bitmapset.h +11 -7
- data/ext/pg_query/include/{nodes → postgres/nodes}/execnodes.h +351 -103
- data/ext/pg_query/include/{nodes → postgres/nodes}/extensible.h +8 -4
- data/ext/pg_query/include/{nodes → postgres/nodes}/lockoptions.h +1 -1
- data/ext/pg_query/include/{nodes → postgres/nodes}/makefuncs.h +19 -6
- data/ext/pg_query/include/{nodes → postgres/nodes}/memnodes.h +11 -6
- 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 +100 -496
- 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 +678 -207
- data/ext/pg_query/include/{nodes → postgres/nodes}/pathnodes.h +1282 -454
- data/ext/pg_query/include/{nodes → postgres/nodes}/pg_list.h +103 -73
- data/ext/pg_query/include/{nodes → postgres/nodes}/plannodes.h +474 -133
- data/ext/pg_query/include/{nodes → postgres/nodes}/primnodes.h +754 -254
- data/ext/pg_query/include/{nodes → postgres/nodes}/print.h +1 -1
- data/ext/pg_query/include/postgres/nodes/queryjumble.h +86 -0
- 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/postgres/nodes/value.h +90 -0
- data/ext/pg_query/include/{optimizer → postgres/optimizer}/cost.h +14 -5
- data/ext/pg_query/include/{optimizer → postgres/optimizer}/geqo.h +9 -7
- data/ext/pg_query/include/{optimizer → postgres/optimizer}/geqo_gene.h +1 -1
- data/ext/pg_query/include/{optimizer → postgres/optimizer}/optimizer.h +31 -28
- data/ext/pg_query/include/{optimizer → postgres/optimizer}/paths.h +29 -12
- data/ext/pg_query/include/{optimizer → postgres/optimizer}/planmain.h +15 -17
- data/ext/pg_query/include/{parser → postgres/parser}/analyze.h +20 -5
- data/ext/pg_query/include/postgres/parser/kwlist.h +498 -0
- data/ext/pg_query/include/{parser → postgres/parser}/parse_agg.h +5 -8
- data/ext/pg_query/include/{parser → postgres/parser}/parse_coerce.h +6 -1
- data/ext/pg_query/include/{parser → postgres/parser}/parse_expr.h +2 -3
- data/ext/pg_query/include/{parser → postgres/parser}/parse_func.h +2 -1
- data/ext/pg_query/include/{parser → postgres/parser}/parse_node.h +41 -11
- data/ext/pg_query/include/{parser → postgres/parser}/parse_oper.h +3 -5
- data/ext/pg_query/include/{parser → postgres/parser}/parse_relation.h +11 -5
- data/ext/pg_query/include/{parser → postgres/parser}/parse_type.h +4 -3
- data/ext/pg_query/include/postgres/parser/parser.h +68 -0
- 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 +2 -5
- data/ext/pg_query/include/{partitioning → postgres/partitioning}/partdefs.h +1 -1
- data/ext/pg_query/include/{pg_config.h → postgres/pg_config.h} +216 -228
- data/ext/pg_query/include/{pg_config_manual.h → postgres/pg_config_manual.h} +80 -58
- data/ext/pg_query/include/postgres/pg_config_os.h +8 -0
- data/ext/pg_query/include/{pg_getopt.h → postgres/pg_getopt.h} +6 -6
- data/ext/pg_query/include/{pg_trace.h → postgres/pg_trace.h} +1 -1
- data/ext/pg_query/include/postgres/pgstat.h +778 -0
- data/ext/pg_query/include/{pgtime.h → postgres/pgtime.h} +16 -6
- data/ext/pg_query/include/{pl_gram.h → postgres/pl_gram.h} +116 -116
- 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} +10 -10
- data/ext/pg_query/include/{pl_unreserved_kwlist.h → postgres/pl_unreserved_kwlist.h} +3 -3
- data/ext/pg_query/include/{pl_unreserved_kwlist_d.h → postgres/pl_unreserved_kwlist_d.h} +60 -60
- data/ext/pg_query/include/{plerrcodes.h → postgres/plerrcodes.h} +9 -1
- data/ext/pg_query/include/{plpgsql.h → postgres/plpgsql.h} +79 -86
- data/ext/pg_query/include/{port → postgres/port}/atomics/arch-arm.h +9 -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 +3 -3
- 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 +129 -16
- 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} +107 -111
- 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 +17 -20
- data/ext/pg_query/include/{postmaster → postgres/postmaster}/bgworker.h +3 -2
- data/ext/pg_query/include/{postmaster → postgres/postmaster}/bgworker_internals.h +2 -2
- data/ext/pg_query/include/{postmaster → postgres/postmaster}/bgwriter.h +6 -6
- data/ext/pg_query/include/{postmaster → postgres/postmaster}/interrupt.h +1 -1
- data/ext/pg_query/include/{postmaster → postgres/postmaster}/pgarch.h +7 -10
- data/ext/pg_query/include/{postmaster → postgres/postmaster}/postmaster.h +21 -17
- data/ext/pg_query/include/postgres/postmaster/startup.h +41 -0
- data/ext/pg_query/include/{postmaster → postgres/postmaster}/syslogger.h +16 -11
- data/ext/pg_query/include/{postmaster → postgres/postmaster}/walwriter.h +5 -3
- data/ext/pg_query/include/{regex → postgres/regex}/regex.h +27 -22
- data/ext/pg_query/include/{replication → postgres/replication}/logicallauncher.h +8 -5
- data/ext/pg_query/include/postgres/replication/logicalproto.h +274 -0
- data/ext/pg_query/include/postgres/replication/logicalworker.h +32 -0
- data/ext/pg_query/include/{replication → postgres/replication}/origin.h +8 -8
- data/ext/pg_query/include/postgres/replication/reorderbuffer.h +753 -0
- data/ext/pg_query/include/{replication → postgres/replication}/slot.h +42 -12
- data/ext/pg_query/include/{replication → postgres/replication}/syncrep.h +6 -12
- data/ext/pg_query/include/{replication → postgres/replication}/walreceiver.h +158 -20
- data/ext/pg_query/include/{replication → postgres/replication}/walsender.h +20 -20
- data/ext/pg_query/include/{rewrite → postgres/rewrite}/prs2lock.h +1 -1
- data/ext/pg_query/include/{rewrite → postgres/rewrite}/rewriteHandler.h +1 -6
- 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 +3 -3
- data/ext/pg_query/include/{storage → postgres/storage}/block.h +24 -37
- data/ext/pg_query/include/{storage → postgres/storage}/buf.h +1 -1
- data/ext/pg_query/include/{storage → postgres/storage}/bufmgr.h +196 -95
- data/ext/pg_query/include/{storage → postgres/storage}/bufpage.h +152 -101
- data/ext/pg_query/include/{storage → postgres/storage}/condition_variable.h +14 -3
- data/ext/pg_query/include/{storage → postgres/storage}/dsm.h +6 -6
- data/ext/pg_query/include/{storage → postgres/storage}/dsm_impl.h +6 -2
- data/ext/pg_query/include/{storage → postgres/storage}/fd.h +48 -14
- data/ext/pg_query/include/postgres/storage/fileset.h +40 -0
- data/ext/pg_query/include/{storage → postgres/storage}/ipc.h +5 -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 +96 -57
- data/ext/pg_query/include/{storage → postgres/storage}/large_object.h +2 -2
- data/ext/pg_query/include/{storage → postgres/storage}/latch.h +17 -13
- data/ext/pg_query/include/{storage → postgres/storage}/lmgr.h +7 -1
- data/ext/pg_query/include/{storage → postgres/storage}/lock.h +37 -25
- data/ext/pg_query/include/{storage → postgres/storage}/lockdefs.h +4 -4
- data/ext/pg_query/include/{storage → postgres/storage}/lwlock.h +21 -33
- data/ext/pg_query/include/{storage → postgres/storage}/lwlocknames.h +0 -1
- 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 +9 -7
- data/ext/pg_query/include/{storage → postgres/storage}/pmsignal.h +15 -4
- data/ext/pg_query/include/{storage → postgres/storage}/predicate.h +5 -5
- data/ext/pg_query/include/{storage → postgres/storage}/proc.h +200 -67
- data/ext/pg_query/include/postgres/storage/procarray.h +99 -0
- data/ext/pg_query/include/{storage → postgres/storage}/proclist_types.h +1 -1
- data/ext/pg_query/include/{storage → postgres/storage}/procsignal.h +5 -7
- data/ext/pg_query/include/postgres/storage/relfilelocator.h +99 -0
- data/ext/pg_query/include/{storage → postgres/storage}/s_lock.h +118 -298
- data/ext/pg_query/include/{storage → postgres/storage}/sharedfileset.h +3 -11
- data/ext/pg_query/include/{storage → postgres/storage}/shm_mq.h +5 -4
- 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 +5 -5
- data/ext/pg_query/include/{storage → postgres/storage}/sinvaladt.h +4 -2
- data/ext/pg_query/include/{storage → postgres/storage}/smgr.h +21 -17
- data/ext/pg_query/include/{storage → postgres/storage}/spin.h +2 -2
- data/ext/pg_query/include/{storage → postgres/storage}/standby.h +17 -9
- data/ext/pg_query/include/{storage → postgres/storage}/standbydefs.h +2 -2
- data/ext/pg_query/include/{storage → postgres/storage}/sync.h +9 -5
- data/ext/pg_query/include/{tcop → postgres/tcop}/cmdtag.h +7 -2
- data/ext/pg_query/include/{tcop → postgres/tcop}/cmdtaglist.h +3 -2
- 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 -2
- data/ext/pg_query/include/{tcop → postgres/tcop}/pquery.h +7 -1
- data/ext/pg_query/include/{tcop → postgres/tcop}/tcopprot.h +19 -14
- data/ext/pg_query/include/{tcop → postgres/tcop}/utility.h +7 -3
- data/ext/pg_query/include/{tsearch → postgres/tsearch}/ts_cache.h +3 -5
- data/ext/pg_query/include/{utils → postgres/utils}/acl.h +37 -71
- data/ext/pg_query/include/{utils → postgres/utils}/aclchk_internal.h +1 -1
- data/ext/pg_query/include/{utils → postgres/utils}/array.h +26 -2
- data/ext/pg_query/include/postgres/utils/backend_progress.h +45 -0
- data/ext/pg_query/include/postgres/utils/backend_status.h +342 -0
- data/ext/pg_query/include/{utils → postgres/utils}/builtins.h +20 -11
- data/ext/pg_query/include/{utils → postgres/utils}/bytea.h +3 -2
- 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 +48 -27
- data/ext/pg_query/include/{utils → postgres/utils}/datum.h +9 -1
- data/ext/pg_query/include/{utils → postgres/utils}/dsa.h +5 -1
- data/ext/pg_query/include/{utils → postgres/utils}/elog.h +154 -48
- data/ext/pg_query/include/{utils → postgres/utils}/errcodes.h +2 -0
- 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 +13 -12
- data/ext/pg_query/include/{utils → postgres/utils}/fmgroids.h +1353 -696
- data/ext/pg_query/include/{utils → postgres/utils}/fmgrprotos.h +243 -18
- data/ext/pg_query/include/{utils → postgres/utils}/fmgrtab.h +6 -5
- data/ext/pg_query/include/{utils → postgres/utils}/guc.h +120 -121
- data/ext/pg_query/include/postgres/utils/guc_hooks.h +163 -0
- data/ext/pg_query/include/{utils → postgres/utils}/guc_tables.h +71 -21
- data/ext/pg_query/include/{utils → postgres/utils}/hsearch.h +15 -11
- data/ext/pg_query/include/{utils → postgres/utils}/inval.h +7 -3
- data/ext/pg_query/include/postgres/utils/logtape.h +77 -0
- data/ext/pg_query/include/{utils → postgres/utils}/lsyscache.h +16 -1
- data/ext/pg_query/include/{utils → postgres/utils}/memdebug.h +1 -1
- data/ext/pg_query/include/{utils → postgres/utils}/memutils.h +14 -53
- 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 +38 -9
- data/ext/pg_query/include/{utils → postgres/utils}/palloc.h +33 -4
- data/ext/pg_query/include/{utils → postgres/utils}/partcache.h +3 -2
- data/ext/pg_query/include/{utils → postgres/utils}/pg_locale.h +37 -21
- data/ext/pg_query/include/postgres/utils/pgstat_internal.h +814 -0
- data/ext/pg_query/include/{utils → postgres/utils}/plancache.h +6 -5
- data/ext/pg_query/include/{utils → postgres/utils}/portal.h +12 -1
- data/ext/pg_query/include/{utils → postgres/utils}/probes.h +59 -59
- 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/postgres/utils/regproc.h +39 -0
- data/ext/pg_query/include/{utils → postgres/utils}/rel.h +129 -61
- data/ext/pg_query/include/{utils → postgres/utils}/relcache.h +21 -14
- 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 +9 -1
- data/ext/pg_query/include/{utils → postgres/utils}/sharedtuplestore.h +1 -1
- data/ext/pg_query/include/{utils → postgres/utils}/snapmgr.h +38 -15
- data/ext/pg_query/include/{utils → postgres/utils}/snapshot.h +14 -1
- data/ext/pg_query/include/{utils → postgres/utils}/sortsupport.h +117 -2
- data/ext/pg_query/include/{utils → postgres/utils}/syscache.h +9 -1
- data/ext/pg_query/include/{utils → postgres/utils}/timeout.h +11 -4
- data/ext/pg_query/include/{utils → postgres/utils}/timestamp.h +46 -15
- data/ext/pg_query/include/{utils → postgres/utils}/tuplesort.h +209 -41
- data/ext/pg_query/include/{utils → postgres/utils}/tuplestore.h +2 -2
- data/ext/pg_query/include/{utils → postgres/utils}/typcache.h +24 -17
- data/ext/pg_query/include/{utils → postgres/utils}/varlena.h +17 -3
- data/ext/pg_query/include/postgres/utils/wait_event.h +294 -0
- data/ext/pg_query/include/{utils → postgres/utils}/xml.h +18 -8
- data/ext/pg_query/include/{postgres.h → postgres/varatt.h} +65 -471
- data/ext/pg_query/include/protobuf/pg_query.pb-c.h +7494 -6382
- data/ext/pg_query/include/protobuf/pg_query.pb.h +116922 -84792
- data/ext/pg_query/include/protobuf-c/protobuf-c.h +7 -3
- data/ext/pg_query/include/protobuf-c.h +7 -3
- data/ext/pg_query/pg_query.c +10 -1
- data/ext/pg_query/pg_query.pb-c.c +21026 -17002
- data/ext/pg_query/pg_query_deparse.c +1 -9896
- data/ext/pg_query/pg_query_fingerprint.c +162 -50
- data/ext/pg_query/pg_query_fingerprint.h +3 -1
- data/ext/pg_query/pg_query_internal.h +1 -1
- data/ext/pg_query/pg_query_json_plpgsql.c +56 -12
- data/ext/pg_query/pg_query_normalize.c +259 -64
- data/ext/pg_query/pg_query_outfuncs.h +1 -0
- data/ext/pg_query/pg_query_outfuncs_json.c +71 -16
- data/ext/pg_query/pg_query_outfuncs_protobuf.c +73 -12
- data/ext/pg_query/pg_query_parse.c +47 -5
- data/ext/pg_query/pg_query_parse_plpgsql.c +86 -21
- data/ext/pg_query/pg_query_readfuncs_protobuf.c +43 -8
- data/ext/pg_query/pg_query_ruby.c +6 -1
- data/ext/pg_query/pg_query_ruby_freebsd.sym +2 -0
- data/ext/pg_query/pg_query_scan.c +3 -2
- data/ext/pg_query/pg_query_split.c +6 -5
- data/ext/pg_query/postgres_deparse.c +11067 -0
- data/ext/pg_query/postgres_deparse.h +9 -0
- data/ext/pg_query/protobuf-c.c +34 -27
- data/ext/pg_query/src_backend_catalog_namespace.c +27 -10
- data/ext/pg_query/src_backend_catalog_pg_proc.c +4 -1
- data/ext/pg_query/src_backend_commands_define.c +11 -1
- data/ext/pg_query/src_backend_nodes_bitmapset.c +13 -70
- data/ext/pg_query/src_backend_nodes_copyfuncs.c +103 -5894
- data/ext/pg_query/src_backend_nodes_equalfuncs.c +102 -3830
- data/ext/pg_query/src_backend_nodes_extensible.c +6 -29
- data/ext/pg_query/src_backend_nodes_list.c +99 -12
- data/ext/pg_query/src_backend_nodes_makefuncs.c +99 -4
- data/ext/pg_query/src_backend_nodes_nodeFuncs.c +325 -131
- data/ext/pg_query/src_backend_nodes_nodes.c +38 -0
- data/ext/pg_query/src_backend_nodes_value.c +28 -19
- data/ext/pg_query/src_backend_parser_gram.c +36104 -32074
- data/ext/pg_query/src_backend_parser_parser.c +53 -8
- data/ext/pg_query/src_backend_parser_scan.c +4893 -3701
- data/ext/pg_query/src_backend_parser_scansup.c +4 -28
- data/ext/pg_query/src_backend_storage_ipc_ipc.c +13 -4
- data/ext/pg_query/src_backend_tcop_postgres.c +133 -105
- data/ext/pg_query/src_backend_utils_activity_pgstat_database.c +140 -0
- data/ext/pg_query/src_backend_utils_adt_datum.c +17 -7
- data/ext/pg_query/src_backend_utils_adt_expandeddatum.c +1 -1
- data/ext/pg_query/src_backend_utils_adt_format_type.c +6 -2
- data/ext/pg_query/src_backend_utils_adt_numutils.c +489 -0
- data/ext/pg_query/src_backend_utils_adt_ruleutils.c +187 -19
- data/ext/pg_query/src_backend_utils_error_assert.c +17 -18
- data/ext/pg_query/src_backend_utils_error_elog.c +513 -318
- data/ext/pg_query/src_backend_utils_fmgr_fmgr.c +44 -17
- data/ext/pg_query/src_backend_utils_init_globals.c +9 -6
- data/ext/pg_query/src_backend_utils_mb_mbutils.c +74 -131
- 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 +453 -314
- data/ext/pg_query/src_backend_utils_mmgr_generation.c +1039 -0
- data/ext/pg_query/src_backend_utils_mmgr_mcxt.c +549 -76
- 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 +420 -0
- data/ext/pg_query/src_common_keywords.c +15 -2
- data/ext/pg_query/src_common_kwlist_d.h +545 -498
- 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 +717 -113
- data/ext/pg_query/src_pl_plpgsql_src_pl_comp.c +49 -22
- data/ext/pg_query/src_pl_plpgsql_src_pl_funcs.c +3 -18
- data/ext/pg_query/src_pl_plpgsql_src_pl_gram.c +1136 -1195
- 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 +10 -10
- data/ext/pg_query/src_pl_plpgsql_src_pl_scanner.c +2 -2
- data/ext/pg_query/src_pl_plpgsql_src_pl_unreserved_kwlist_d.h +60 -60
- data/ext/pg_query/src_port_pg_bitutils.c +103 -40
- data/ext/pg_query/src_port_pgstrcasecmp.c +29 -1
- data/ext/pg_query/src_port_qsort.c +12 -224
- data/ext/pg_query/src_port_snprintf.c +51 -29
- data/ext/pg_query/src_port_strerror.c +9 -19
- data/ext/pg_query/src_port_strlcpy.c +79 -0
- data/lib/pg_query/deparse.rb +7 -1
- data/lib/pg_query/filter_columns.rb +7 -5
- data/lib/pg_query/fingerprint.rb +21 -9
- data/lib/pg_query/node.rb +18 -13
- data/lib/pg_query/param_refs.rb +1 -1
- data/lib/pg_query/parse.rb +141 -50
- data/lib/pg_query/pg_query_pb.rb +175 -3031
- data/lib/pg_query/treewalker.rb +26 -2
- data/lib/pg_query/truncate.rb +54 -8
- data/lib/pg_query/version.rb +1 -1
- data/lib/pg_query.rb +0 -1
- metadata +443 -380
- data/ext/pg_query/guc-file.c +0 -0
- data/ext/pg_query/include/access/rmgr.h +0 -35
- data/ext/pg_query/include/access/xloginsert.h +0 -64
- data/ext/pg_query/include/bootstrap/bootstrap.h +0 -62
- data/ext/pg_query/include/catalog/genbki.h +0 -64
- data/ext/pg_query/include/catalog/indexing.h +0 -366
- data/ext/pg_query/include/commands/variable.h +0 -38
- data/ext/pg_query/include/common/ip.h +0 -37
- data/ext/pg_query/include/common/string.h +0 -19
- data/ext/pg_query/include/getaddrinfo.h +0 -162
- data/ext/pg_query/include/kwlist_d.h +0 -1072
- data/ext/pg_query/include/nodes/value.h +0 -61
- data/ext/pg_query/include/parser/gram.h +0 -1067
- data/ext/pg_query/include/parser/kwlist.h +0 -477
- data/ext/pg_query/include/parser/parse_clause.h +0 -54
- data/ext/pg_query/include/parser/parse_collate.h +0 -27
- data/ext/pg_query/include/parser/parse_target.h +0 -46
- data/ext/pg_query/include/parser/parser.h +0 -41
- data/ext/pg_query/include/pg_config_os.h +0 -8
- data/ext/pg_query/include/pgstat.h +0 -1487
- data/ext/pg_query/include/portability/instr_time.h +0 -256
- data/ext/pg_query/include/postmaster/fork_process.h +0 -17
- data/ext/pg_query/include/replication/logicalproto.h +0 -110
- data/ext/pg_query/include/replication/logicalworker.h +0 -19
- data/ext/pg_query/include/replication/reorderbuffer.h +0 -467
- data/ext/pg_query/include/storage/relfilenode.h +0 -99
- data/ext/pg_query/include/utils/dynahash.h +0 -19
- 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/regproc.h +0 -28
- 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_libpq_pqcomm.c +0 -651
- data/ext/pg_query/src_backend_parser_parse_expr.c +0 -313
- data/ext/pg_query/src_backend_postmaster_postmaster.c +0 -2230
- data/ext/pg_query/src_backend_storage_lmgr_s_lock.c +0 -370
- data/ext/pg_query/src_backend_utils_hash_dynahash.c +0 -1086
- data/ext/pg_query/src_backend_utils_misc_guc.c +0 -1831
- data/ext/pg_query/src_common_string.c +0 -86
- data/ext/pg_query/src_port_erand48.c +0 -127
- data/ext/pg_query/src_port_pgsleep.c +0 -69
- data/ext/pg_query/src_port_random.c +0 -31
- data/ext/pg_query/src_port_strnlen.c +0 -39
- data/lib/pg_query/json_field_names.rb +0 -1402
- /data/ext/pg_query/include/{pg_config_ext.h → postgres/pg_config_ext.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-2020, 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,17 +0,0 @@
|
|
|
1
|
-
/*-------------------------------------------------------------------------
|
|
2
|
-
*
|
|
3
|
-
* fork_process.h
|
|
4
|
-
* Exports from postmaster/fork_process.c.
|
|
5
|
-
*
|
|
6
|
-
* Copyright (c) 1996-2020, 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,110 +0,0 @@
|
|
|
1
|
-
/*-------------------------------------------------------------------------
|
|
2
|
-
*
|
|
3
|
-
* logicalproto.h
|
|
4
|
-
* logical replication protocol
|
|
5
|
-
*
|
|
6
|
-
* Copyright (c) 2015-2020, PostgreSQL Global Development Group
|
|
7
|
-
*
|
|
8
|
-
* IDENTIFICATION
|
|
9
|
-
* src/include/replication/logicalproto.h
|
|
10
|
-
*
|
|
11
|
-
*-------------------------------------------------------------------------
|
|
12
|
-
*/
|
|
13
|
-
#ifndef LOGICAL_PROTO_H
|
|
14
|
-
#define LOGICAL_PROTO_H
|
|
15
|
-
|
|
16
|
-
#include "replication/reorderbuffer.h"
|
|
17
|
-
#include "utils/rel.h"
|
|
18
|
-
|
|
19
|
-
/*
|
|
20
|
-
* Protocol capabilities
|
|
21
|
-
*
|
|
22
|
-
* LOGICALREP_PROTO_VERSION_NUM is our native protocol and the greatest version
|
|
23
|
-
* we can support. LOGICALREP_PROTO_MIN_VERSION_NUM is the oldest version we
|
|
24
|
-
* have backwards compatibility for. The client requests protocol version at
|
|
25
|
-
* connect time.
|
|
26
|
-
*/
|
|
27
|
-
#define LOGICALREP_PROTO_MIN_VERSION_NUM 1
|
|
28
|
-
#define LOGICALREP_PROTO_VERSION_NUM 1
|
|
29
|
-
|
|
30
|
-
/* Tuple coming via logical replication. */
|
|
31
|
-
typedef struct LogicalRepTupleData
|
|
32
|
-
{
|
|
33
|
-
/* column values in text format, or NULL for a null value: */
|
|
34
|
-
char *values[MaxTupleAttributeNumber];
|
|
35
|
-
/* markers for changed/unchanged column values: */
|
|
36
|
-
bool changed[MaxTupleAttributeNumber];
|
|
37
|
-
} LogicalRepTupleData;
|
|
38
|
-
|
|
39
|
-
typedef uint32 LogicalRepRelId;
|
|
40
|
-
|
|
41
|
-
/* Relation information */
|
|
42
|
-
typedef struct LogicalRepRelation
|
|
43
|
-
{
|
|
44
|
-
/* Info coming from the remote side. */
|
|
45
|
-
LogicalRepRelId remoteid; /* unique id of the relation */
|
|
46
|
-
char *nspname; /* schema name */
|
|
47
|
-
char *relname; /* relation name */
|
|
48
|
-
int natts; /* number of columns */
|
|
49
|
-
char **attnames; /* column names */
|
|
50
|
-
Oid *atttyps; /* column types */
|
|
51
|
-
char replident; /* replica identity */
|
|
52
|
-
char relkind; /* remote relation kind */
|
|
53
|
-
Bitmapset *attkeys; /* Bitmap of key columns */
|
|
54
|
-
} LogicalRepRelation;
|
|
55
|
-
|
|
56
|
-
/* Type mapping info */
|
|
57
|
-
typedef struct LogicalRepTyp
|
|
58
|
-
{
|
|
59
|
-
Oid remoteid; /* unique id of the remote type */
|
|
60
|
-
char *nspname; /* schema name of remote type */
|
|
61
|
-
char *typname; /* name of the remote type */
|
|
62
|
-
} LogicalRepTyp;
|
|
63
|
-
|
|
64
|
-
/* Transaction info */
|
|
65
|
-
typedef struct LogicalRepBeginData
|
|
66
|
-
{
|
|
67
|
-
XLogRecPtr final_lsn;
|
|
68
|
-
TimestampTz committime;
|
|
69
|
-
TransactionId xid;
|
|
70
|
-
} LogicalRepBeginData;
|
|
71
|
-
|
|
72
|
-
typedef struct LogicalRepCommitData
|
|
73
|
-
{
|
|
74
|
-
XLogRecPtr commit_lsn;
|
|
75
|
-
XLogRecPtr end_lsn;
|
|
76
|
-
TimestampTz committime;
|
|
77
|
-
} LogicalRepCommitData;
|
|
78
|
-
|
|
79
|
-
extern void logicalrep_write_begin(StringInfo out, ReorderBufferTXN *txn);
|
|
80
|
-
extern void logicalrep_read_begin(StringInfo in,
|
|
81
|
-
LogicalRepBeginData *begin_data);
|
|
82
|
-
extern void logicalrep_write_commit(StringInfo out, ReorderBufferTXN *txn,
|
|
83
|
-
XLogRecPtr commit_lsn);
|
|
84
|
-
extern void logicalrep_read_commit(StringInfo in,
|
|
85
|
-
LogicalRepCommitData *commit_data);
|
|
86
|
-
extern void logicalrep_write_origin(StringInfo out, const char *origin,
|
|
87
|
-
XLogRecPtr origin_lsn);
|
|
88
|
-
extern char *logicalrep_read_origin(StringInfo in, XLogRecPtr *origin_lsn);
|
|
89
|
-
extern void logicalrep_write_insert(StringInfo out, Relation rel,
|
|
90
|
-
HeapTuple newtuple);
|
|
91
|
-
extern LogicalRepRelId logicalrep_read_insert(StringInfo in, LogicalRepTupleData *newtup);
|
|
92
|
-
extern void logicalrep_write_update(StringInfo out, Relation rel, HeapTuple oldtuple,
|
|
93
|
-
HeapTuple newtuple);
|
|
94
|
-
extern LogicalRepRelId logicalrep_read_update(StringInfo in,
|
|
95
|
-
bool *has_oldtuple, LogicalRepTupleData *oldtup,
|
|
96
|
-
LogicalRepTupleData *newtup);
|
|
97
|
-
extern void logicalrep_write_delete(StringInfo out, Relation rel,
|
|
98
|
-
HeapTuple oldtuple);
|
|
99
|
-
extern LogicalRepRelId logicalrep_read_delete(StringInfo in,
|
|
100
|
-
LogicalRepTupleData *oldtup);
|
|
101
|
-
extern void logicalrep_write_truncate(StringInfo out, int nrelids, Oid relids[],
|
|
102
|
-
bool cascade, bool restart_seqs);
|
|
103
|
-
extern List *logicalrep_read_truncate(StringInfo in,
|
|
104
|
-
bool *cascade, bool *restart_seqs);
|
|
105
|
-
extern void logicalrep_write_rel(StringInfo out, Relation rel);
|
|
106
|
-
extern LogicalRepRelation *logicalrep_read_rel(StringInfo in);
|
|
107
|
-
extern void logicalrep_write_typ(StringInfo out, Oid typoid);
|
|
108
|
-
extern void logicalrep_read_typ(StringInfo out, LogicalRepTyp *ltyp);
|
|
109
|
-
|
|
110
|
-
#endif /* LOGICAL_PROTO_H */
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/*-------------------------------------------------------------------------
|
|
2
|
-
*
|
|
3
|
-
* logicalworker.h
|
|
4
|
-
* Exports for logical replication workers.
|
|
5
|
-
*
|
|
6
|
-
* Portions Copyright (c) 2016-2020, 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 */
|