pg_query 1.3.0 → 2.0.3
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 +207 -117
- data/README.md +72 -65
- data/Rakefile +85 -5
- data/ext/pg_query/extconf.rb +3 -39
- data/ext/pg_query/guc-file.c +0 -0
- data/ext/pg_query/include/access/amapi.h +246 -0
- data/ext/pg_query/include/access/attmap.h +52 -0
- data/ext/pg_query/include/access/attnum.h +64 -0
- data/ext/pg_query/include/access/clog.h +61 -0
- data/ext/pg_query/include/access/commit_ts.h +77 -0
- data/ext/pg_query/include/access/detoast.h +92 -0
- data/ext/pg_query/include/access/genam.h +228 -0
- data/ext/pg_query/include/access/gin.h +78 -0
- data/ext/pg_query/include/access/htup.h +89 -0
- data/ext/pg_query/include/access/htup_details.h +819 -0
- data/ext/pg_query/include/access/itup.h +161 -0
- data/ext/pg_query/include/access/parallel.h +82 -0
- data/ext/pg_query/include/access/printtup.h +35 -0
- data/ext/pg_query/include/access/relation.h +28 -0
- data/ext/pg_query/include/access/relscan.h +176 -0
- data/ext/pg_query/include/access/rmgr.h +35 -0
- data/ext/pg_query/include/access/rmgrlist.h +49 -0
- data/ext/pg_query/include/access/sdir.h +58 -0
- data/ext/pg_query/include/access/skey.h +151 -0
- data/ext/pg_query/include/access/stratnum.h +83 -0
- data/ext/pg_query/include/access/sysattr.h +29 -0
- data/ext/pg_query/include/access/table.h +27 -0
- data/ext/pg_query/include/access/tableam.h +1825 -0
- data/ext/pg_query/include/access/transam.h +265 -0
- data/ext/pg_query/include/access/tupconvert.h +51 -0
- data/ext/pg_query/include/access/tupdesc.h +154 -0
- data/ext/pg_query/include/access/tupmacs.h +247 -0
- data/ext/pg_query/include/access/twophase.h +61 -0
- data/ext/pg_query/include/access/xact.h +463 -0
- data/ext/pg_query/include/access/xlog.h +398 -0
- data/ext/pg_query/include/access/xlog_internal.h +330 -0
- data/ext/pg_query/include/access/xlogdefs.h +109 -0
- data/ext/pg_query/include/access/xloginsert.h +64 -0
- data/ext/pg_query/include/access/xlogreader.h +327 -0
- data/ext/pg_query/include/access/xlogrecord.h +227 -0
- data/ext/pg_query/include/bootstrap/bootstrap.h +62 -0
- data/ext/pg_query/include/c.h +1322 -0
- data/ext/pg_query/include/catalog/catalog.h +42 -0
- data/ext/pg_query/include/catalog/catversion.h +58 -0
- data/ext/pg_query/include/catalog/dependency.h +275 -0
- data/ext/pg_query/include/catalog/genbki.h +64 -0
- data/ext/pg_query/include/catalog/index.h +199 -0
- data/ext/pg_query/include/catalog/indexing.h +366 -0
- data/ext/pg_query/include/catalog/namespace.h +188 -0
- data/ext/pg_query/include/catalog/objectaccess.h +197 -0
- data/ext/pg_query/include/catalog/objectaddress.h +84 -0
- data/ext/pg_query/include/catalog/pg_aggregate.h +176 -0
- data/ext/pg_query/include/catalog/pg_aggregate_d.h +77 -0
- data/ext/pg_query/include/catalog/pg_am.h +60 -0
- data/ext/pg_query/include/catalog/pg_am_d.h +45 -0
- data/ext/pg_query/include/catalog/pg_attribute.h +204 -0
- data/ext/pg_query/include/catalog/pg_attribute_d.h +59 -0
- data/ext/pg_query/include/catalog/pg_authid.h +58 -0
- data/ext/pg_query/include/catalog/pg_authid_d.h +49 -0
- data/ext/pg_query/include/catalog/pg_class.h +200 -0
- data/ext/pg_query/include/catalog/pg_class_d.h +103 -0
- data/ext/pg_query/include/catalog/pg_collation.h +73 -0
- data/ext/pg_query/include/catalog/pg_collation_d.h +45 -0
- data/ext/pg_query/include/catalog/pg_constraint.h +247 -0
- data/ext/pg_query/include/catalog/pg_constraint_d.h +67 -0
- data/ext/pg_query/include/catalog/pg_control.h +250 -0
- data/ext/pg_query/include/catalog/pg_conversion.h +72 -0
- data/ext/pg_query/include/catalog/pg_conversion_d.h +35 -0
- data/ext/pg_query/include/catalog/pg_depend.h +73 -0
- data/ext/pg_query/include/catalog/pg_depend_d.h +34 -0
- data/ext/pg_query/include/catalog/pg_event_trigger.h +51 -0
- data/ext/pg_query/include/catalog/pg_event_trigger_d.h +34 -0
- data/ext/pg_query/include/catalog/pg_index.h +80 -0
- data/ext/pg_query/include/catalog/pg_index_d.h +56 -0
- data/ext/pg_query/include/catalog/pg_language.h +67 -0
- data/ext/pg_query/include/catalog/pg_language_d.h +39 -0
- data/ext/pg_query/include/catalog/pg_namespace.h +59 -0
- data/ext/pg_query/include/catalog/pg_namespace_d.h +34 -0
- data/ext/pg_query/include/catalog/pg_opclass.h +85 -0
- data/ext/pg_query/include/catalog/pg_opclass_d.h +49 -0
- data/ext/pg_query/include/catalog/pg_operator.h +102 -0
- data/ext/pg_query/include/catalog/pg_operator_d.h +106 -0
- data/ext/pg_query/include/catalog/pg_opfamily.h +60 -0
- data/ext/pg_query/include/catalog/pg_opfamily_d.h +47 -0
- data/ext/pg_query/include/catalog/pg_partitioned_table.h +63 -0
- data/ext/pg_query/include/catalog/pg_partitioned_table_d.h +35 -0
- data/ext/pg_query/include/catalog/pg_proc.h +211 -0
- data/ext/pg_query/include/catalog/pg_proc_d.h +99 -0
- data/ext/pg_query/include/catalog/pg_publication.h +115 -0
- data/ext/pg_query/include/catalog/pg_publication_d.h +36 -0
- data/ext/pg_query/include/catalog/pg_replication_origin.h +57 -0
- data/ext/pg_query/include/catalog/pg_replication_origin_d.h +29 -0
- data/ext/pg_query/include/catalog/pg_statistic.h +275 -0
- data/ext/pg_query/include/catalog/pg_statistic_d.h +194 -0
- data/ext/pg_query/include/catalog/pg_statistic_ext.h +74 -0
- data/ext/pg_query/include/catalog/pg_statistic_ext_d.h +40 -0
- data/ext/pg_query/include/catalog/pg_transform.h +45 -0
- data/ext/pg_query/include/catalog/pg_transform_d.h +32 -0
- data/ext/pg_query/include/catalog/pg_trigger.h +137 -0
- data/ext/pg_query/include/catalog/pg_trigger_d.h +106 -0
- data/ext/pg_query/include/catalog/pg_ts_config.h +50 -0
- data/ext/pg_query/include/catalog/pg_ts_config_d.h +32 -0
- data/ext/pg_query/include/catalog/pg_ts_dict.h +54 -0
- data/ext/pg_query/include/catalog/pg_ts_dict_d.h +33 -0
- data/ext/pg_query/include/catalog/pg_ts_parser.h +57 -0
- data/ext/pg_query/include/catalog/pg_ts_parser_d.h +35 -0
- data/ext/pg_query/include/catalog/pg_ts_template.h +48 -0
- data/ext/pg_query/include/catalog/pg_ts_template_d.h +32 -0
- data/ext/pg_query/include/catalog/pg_type.h +372 -0
- data/ext/pg_query/include/catalog/pg_type_d.h +285 -0
- data/ext/pg_query/include/catalog/storage.h +48 -0
- data/ext/pg_query/include/commands/async.h +54 -0
- data/ext/pg_query/include/commands/dbcommands.h +35 -0
- data/ext/pg_query/include/commands/defrem.h +173 -0
- data/ext/pg_query/include/commands/event_trigger.h +88 -0
- data/ext/pg_query/include/commands/explain.h +127 -0
- data/ext/pg_query/include/commands/prepare.h +61 -0
- data/ext/pg_query/include/commands/tablespace.h +67 -0
- data/ext/pg_query/include/commands/trigger.h +277 -0
- data/ext/pg_query/include/commands/user.h +37 -0
- data/ext/pg_query/include/commands/vacuum.h +293 -0
- data/ext/pg_query/include/commands/variable.h +38 -0
- data/ext/pg_query/include/common/file_perm.h +56 -0
- data/ext/pg_query/include/common/hashfn.h +104 -0
- data/ext/pg_query/include/common/ip.h +37 -0
- data/ext/pg_query/include/common/keywords.h +33 -0
- data/ext/pg_query/include/common/kwlookup.h +44 -0
- data/ext/pg_query/include/common/relpath.h +90 -0
- data/ext/pg_query/include/common/string.h +19 -0
- data/ext/pg_query/include/common/unicode_combining_table.h +196 -0
- data/ext/pg_query/include/datatype/timestamp.h +197 -0
- data/ext/pg_query/include/executor/execdesc.h +70 -0
- data/ext/pg_query/include/executor/executor.h +614 -0
- data/ext/pg_query/include/executor/functions.h +41 -0
- data/ext/pg_query/include/executor/instrument.h +101 -0
- data/ext/pg_query/include/executor/spi.h +175 -0
- data/ext/pg_query/include/executor/tablefunc.h +67 -0
- data/ext/pg_query/include/executor/tuptable.h +487 -0
- data/ext/pg_query/include/fmgr.h +775 -0
- data/ext/pg_query/include/funcapi.h +348 -0
- data/ext/pg_query/include/getaddrinfo.h +162 -0
- data/ext/pg_query/include/jit/jit.h +105 -0
- data/ext/pg_query/include/kwlist_d.h +1072 -0
- data/ext/pg_query/include/lib/ilist.h +727 -0
- data/ext/pg_query/include/lib/pairingheap.h +102 -0
- data/ext/pg_query/include/lib/simplehash.h +1059 -0
- data/ext/pg_query/include/lib/stringinfo.h +161 -0
- data/ext/pg_query/include/libpq/auth.h +29 -0
- data/ext/pg_query/include/libpq/crypt.h +46 -0
- data/ext/pg_query/include/libpq/hba.h +140 -0
- data/ext/pg_query/include/libpq/libpq-be.h +326 -0
- data/ext/pg_query/include/libpq/libpq.h +133 -0
- data/ext/pg_query/include/libpq/pqcomm.h +208 -0
- data/ext/pg_query/include/libpq/pqformat.h +210 -0
- data/ext/pg_query/include/libpq/pqsignal.h +42 -0
- data/ext/pg_query/include/mb/pg_wchar.h +672 -0
- data/ext/pg_query/include/mb/stringinfo_mb.h +24 -0
- data/ext/pg_query/include/miscadmin.h +476 -0
- data/ext/pg_query/include/nodes/bitmapset.h +122 -0
- data/ext/pg_query/include/nodes/execnodes.h +2520 -0
- data/ext/pg_query/include/nodes/extensible.h +160 -0
- data/ext/pg_query/include/nodes/lockoptions.h +61 -0
- data/ext/pg_query/include/nodes/makefuncs.h +108 -0
- data/ext/pg_query/include/nodes/memnodes.h +108 -0
- data/ext/pg_query/include/nodes/nodeFuncs.h +162 -0
- data/ext/pg_query/include/nodes/nodes.h +842 -0
- data/ext/pg_query/include/nodes/params.h +170 -0
- data/ext/pg_query/include/nodes/parsenodes.h +3579 -0
- data/ext/pg_query/include/nodes/pathnodes.h +2556 -0
- data/ext/pg_query/include/nodes/pg_list.h +605 -0
- data/ext/pg_query/include/nodes/plannodes.h +1251 -0
- data/ext/pg_query/include/nodes/primnodes.h +1541 -0
- data/ext/pg_query/include/nodes/print.h +34 -0
- data/ext/pg_query/include/nodes/tidbitmap.h +75 -0
- data/ext/pg_query/include/nodes/value.h +61 -0
- data/ext/pg_query/include/optimizer/cost.h +206 -0
- data/ext/pg_query/include/optimizer/geqo.h +88 -0
- data/ext/pg_query/include/optimizer/geqo_gene.h +45 -0
- data/ext/pg_query/include/optimizer/optimizer.h +199 -0
- data/ext/pg_query/include/optimizer/paths.h +249 -0
- data/ext/pg_query/include/optimizer/planmain.h +119 -0
- data/ext/pg_query/include/parser/analyze.h +49 -0
- data/ext/pg_query/include/parser/gram.h +1067 -0
- data/ext/pg_query/include/parser/gramparse.h +75 -0
- data/ext/pg_query/include/parser/kwlist.h +477 -0
- data/ext/pg_query/include/parser/parse_agg.h +68 -0
- data/ext/pg_query/include/parser/parse_clause.h +54 -0
- data/ext/pg_query/include/parser/parse_coerce.h +97 -0
- data/ext/pg_query/include/parser/parse_collate.h +27 -0
- data/ext/pg_query/include/parser/parse_expr.h +26 -0
- data/ext/pg_query/include/parser/parse_func.h +73 -0
- data/ext/pg_query/include/parser/parse_node.h +327 -0
- data/ext/pg_query/include/parser/parse_oper.h +67 -0
- data/ext/pg_query/include/parser/parse_relation.h +123 -0
- data/ext/pg_query/include/parser/parse_target.h +46 -0
- data/ext/pg_query/include/parser/parse_type.h +60 -0
- data/ext/pg_query/include/parser/parser.h +41 -0
- data/ext/pg_query/include/parser/parsetree.h +61 -0
- data/ext/pg_query/include/parser/scanner.h +152 -0
- data/ext/pg_query/include/parser/scansup.h +30 -0
- data/ext/pg_query/include/partitioning/partdefs.h +26 -0
- data/ext/pg_query/include/pg_config.h +989 -0
- data/ext/pg_query/include/pg_config_ext.h +8 -0
- data/ext/pg_query/include/pg_config_manual.h +350 -0
- data/ext/pg_query/include/pg_config_os.h +8 -0
- data/ext/pg_query/include/pg_getopt.h +56 -0
- data/ext/pg_query/include/pg_query.h +121 -0
- data/ext/pg_query/include/pg_query_enum_defs.c +2454 -0
- data/ext/pg_query/include/pg_query_fingerprint_conds.c +875 -0
- data/ext/pg_query/include/pg_query_fingerprint_defs.c +12413 -0
- data/ext/pg_query/include/pg_query_json_helper.c +61 -0
- data/ext/pg_query/include/pg_query_outfuncs_conds.c +686 -0
- data/ext/pg_query/include/pg_query_outfuncs_defs.c +2437 -0
- data/ext/pg_query/include/pg_query_readfuncs_conds.c +222 -0
- data/ext/pg_query/include/pg_query_readfuncs_defs.c +2878 -0
- data/ext/pg_query/include/pg_trace.h +17 -0
- data/ext/pg_query/include/pgstat.h +1487 -0
- data/ext/pg_query/include/pgtime.h +84 -0
- data/ext/pg_query/include/pl_gram.h +385 -0
- data/ext/pg_query/include/pl_reserved_kwlist.h +52 -0
- data/ext/pg_query/include/pl_reserved_kwlist_d.h +114 -0
- data/ext/pg_query/include/pl_unreserved_kwlist.h +112 -0
- data/ext/pg_query/include/pl_unreserved_kwlist_d.h +246 -0
- data/ext/pg_query/include/plerrcodes.h +990 -0
- data/ext/pg_query/include/plpgsql.h +1347 -0
- data/ext/pg_query/include/port.h +524 -0
- data/ext/pg_query/include/port/atomics.h +524 -0
- data/ext/pg_query/include/port/atomics/arch-arm.h +26 -0
- data/ext/pg_query/include/port/atomics/arch-ppc.h +254 -0
- data/ext/pg_query/include/port/atomics/arch-x86.h +252 -0
- data/ext/pg_query/include/port/atomics/fallback.h +170 -0
- data/ext/pg_query/include/port/atomics/generic-gcc.h +286 -0
- data/ext/pg_query/include/port/atomics/generic.h +401 -0
- data/ext/pg_query/include/port/pg_bitutils.h +226 -0
- data/ext/pg_query/include/port/pg_bswap.h +161 -0
- data/ext/pg_query/include/port/pg_crc32c.h +101 -0
- data/ext/pg_query/include/portability/instr_time.h +256 -0
- data/ext/pg_query/include/postgres.h +764 -0
- data/ext/pg_query/include/postgres_ext.h +74 -0
- data/ext/pg_query/include/postmaster/autovacuum.h +83 -0
- data/ext/pg_query/include/postmaster/bgworker.h +161 -0
- data/ext/pg_query/include/postmaster/bgworker_internals.h +64 -0
- data/ext/pg_query/include/postmaster/bgwriter.h +45 -0
- data/ext/pg_query/include/postmaster/fork_process.h +17 -0
- data/ext/pg_query/include/postmaster/interrupt.h +32 -0
- data/ext/pg_query/include/postmaster/pgarch.h +39 -0
- data/ext/pg_query/include/postmaster/postmaster.h +77 -0
- data/ext/pg_query/include/postmaster/syslogger.h +98 -0
- data/ext/pg_query/include/postmaster/walwriter.h +21 -0
- data/ext/pg_query/include/protobuf-c.h +1106 -0
- data/ext/pg_query/include/protobuf-c/protobuf-c.h +1106 -0
- data/ext/pg_query/include/protobuf/pg_query.pb-c.h +10846 -0
- data/ext/pg_query/include/protobuf/pg_query.pb.h +124718 -0
- data/ext/pg_query/include/regex/regex.h +184 -0
- data/ext/pg_query/include/replication/logicallauncher.h +31 -0
- data/ext/pg_query/include/replication/logicalproto.h +110 -0
- data/ext/pg_query/include/replication/logicalworker.h +19 -0
- data/ext/pg_query/include/replication/origin.h +73 -0
- data/ext/pg_query/include/replication/reorderbuffer.h +467 -0
- data/ext/pg_query/include/replication/slot.h +219 -0
- data/ext/pg_query/include/replication/syncrep.h +115 -0
- data/ext/pg_query/include/replication/walreceiver.h +340 -0
- data/ext/pg_query/include/replication/walsender.h +74 -0
- data/ext/pg_query/include/rewrite/prs2lock.h +46 -0
- data/ext/pg_query/include/rewrite/rewriteHandler.h +40 -0
- data/ext/pg_query/include/rewrite/rewriteManip.h +87 -0
- data/ext/pg_query/include/rewrite/rewriteSupport.h +26 -0
- data/ext/pg_query/include/storage/backendid.h +37 -0
- data/ext/pg_query/include/storage/block.h +121 -0
- data/ext/pg_query/include/storage/buf.h +46 -0
- data/ext/pg_query/include/storage/bufmgr.h +292 -0
- data/ext/pg_query/include/storage/bufpage.h +459 -0
- data/ext/pg_query/include/storage/condition_variable.h +62 -0
- data/ext/pg_query/include/storage/dsm.h +61 -0
- data/ext/pg_query/include/storage/dsm_impl.h +75 -0
- data/ext/pg_query/include/storage/fd.h +168 -0
- data/ext/pg_query/include/storage/ipc.h +81 -0
- data/ext/pg_query/include/storage/item.h +19 -0
- data/ext/pg_query/include/storage/itemid.h +184 -0
- data/ext/pg_query/include/storage/itemptr.h +206 -0
- data/ext/pg_query/include/storage/large_object.h +100 -0
- data/ext/pg_query/include/storage/latch.h +190 -0
- data/ext/pg_query/include/storage/lmgr.h +114 -0
- data/ext/pg_query/include/storage/lock.h +612 -0
- data/ext/pg_query/include/storage/lockdefs.h +59 -0
- data/ext/pg_query/include/storage/lwlock.h +232 -0
- data/ext/pg_query/include/storage/lwlocknames.h +51 -0
- data/ext/pg_query/include/storage/off.h +57 -0
- data/ext/pg_query/include/storage/pg_sema.h +61 -0
- data/ext/pg_query/include/storage/pg_shmem.h +90 -0
- data/ext/pg_query/include/storage/pmsignal.h +94 -0
- data/ext/pg_query/include/storage/predicate.h +87 -0
- data/ext/pg_query/include/storage/proc.h +333 -0
- data/ext/pg_query/include/storage/proclist_types.h +51 -0
- data/ext/pg_query/include/storage/procsignal.h +75 -0
- data/ext/pg_query/include/storage/relfilenode.h +99 -0
- data/ext/pg_query/include/storage/s_lock.h +1047 -0
- data/ext/pg_query/include/storage/sharedfileset.h +45 -0
- data/ext/pg_query/include/storage/shm_mq.h +85 -0
- data/ext/pg_query/include/storage/shm_toc.h +58 -0
- data/ext/pg_query/include/storage/shmem.h +81 -0
- data/ext/pg_query/include/storage/sinval.h +153 -0
- data/ext/pg_query/include/storage/sinvaladt.h +43 -0
- data/ext/pg_query/include/storage/smgr.h +109 -0
- data/ext/pg_query/include/storage/spin.h +77 -0
- data/ext/pg_query/include/storage/standby.h +91 -0
- data/ext/pg_query/include/storage/standbydefs.h +74 -0
- data/ext/pg_query/include/storage/sync.h +62 -0
- data/ext/pg_query/include/tcop/cmdtag.h +58 -0
- data/ext/pg_query/include/tcop/cmdtaglist.h +217 -0
- data/ext/pg_query/include/tcop/deparse_utility.h +108 -0
- data/ext/pg_query/include/tcop/dest.h +149 -0
- data/ext/pg_query/include/tcop/fastpath.h +21 -0
- data/ext/pg_query/include/tcop/pquery.h +45 -0
- data/ext/pg_query/include/tcop/tcopprot.h +89 -0
- data/ext/pg_query/include/tcop/utility.h +108 -0
- data/ext/pg_query/include/tsearch/ts_cache.h +98 -0
- data/ext/pg_query/include/utils/acl.h +312 -0
- data/ext/pg_query/include/utils/aclchk_internal.h +45 -0
- data/ext/pg_query/include/utils/array.h +458 -0
- data/ext/pg_query/include/utils/builtins.h +127 -0
- data/ext/pg_query/include/utils/bytea.h +27 -0
- data/ext/pg_query/include/utils/catcache.h +231 -0
- data/ext/pg_query/include/utils/date.h +90 -0
- data/ext/pg_query/include/utils/datetime.h +343 -0
- data/ext/pg_query/include/utils/datum.h +68 -0
- data/ext/pg_query/include/utils/dsa.h +123 -0
- data/ext/pg_query/include/utils/dynahash.h +19 -0
- data/ext/pg_query/include/utils/elog.h +439 -0
- data/ext/pg_query/include/utils/errcodes.h +352 -0
- data/ext/pg_query/include/utils/expandeddatum.h +159 -0
- data/ext/pg_query/include/utils/expandedrecord.h +231 -0
- data/ext/pg_query/include/utils/float.h +356 -0
- data/ext/pg_query/include/utils/fmgroids.h +2657 -0
- data/ext/pg_query/include/utils/fmgrprotos.h +2646 -0
- data/ext/pg_query/include/utils/fmgrtab.h +48 -0
- data/ext/pg_query/include/utils/guc.h +443 -0
- data/ext/pg_query/include/utils/guc_tables.h +272 -0
- data/ext/pg_query/include/utils/hsearch.h +149 -0
- data/ext/pg_query/include/utils/inval.h +64 -0
- data/ext/pg_query/include/utils/lsyscache.h +197 -0
- data/ext/pg_query/include/utils/memdebug.h +82 -0
- data/ext/pg_query/include/utils/memutils.h +225 -0
- data/ext/pg_query/include/utils/numeric.h +76 -0
- data/ext/pg_query/include/utils/palloc.h +136 -0
- data/ext/pg_query/include/utils/partcache.h +102 -0
- data/ext/pg_query/include/utils/pg_locale.h +119 -0
- data/ext/pg_query/include/utils/pg_lsn.h +29 -0
- data/ext/pg_query/include/utils/pidfile.h +56 -0
- data/ext/pg_query/include/utils/plancache.h +235 -0
- data/ext/pg_query/include/utils/portal.h +241 -0
- data/ext/pg_query/include/utils/probes.h +114 -0
- data/ext/pg_query/include/utils/ps_status.h +25 -0
- data/ext/pg_query/include/utils/queryenvironment.h +74 -0
- data/ext/pg_query/include/utils/regproc.h +28 -0
- data/ext/pg_query/include/utils/rel.h +644 -0
- data/ext/pg_query/include/utils/relcache.h +151 -0
- data/ext/pg_query/include/utils/reltrigger.h +81 -0
- data/ext/pg_query/include/utils/resowner.h +86 -0
- data/ext/pg_query/include/utils/rls.h +50 -0
- data/ext/pg_query/include/utils/ruleutils.h +44 -0
- data/ext/pg_query/include/utils/sharedtuplestore.h +61 -0
- data/ext/pg_query/include/utils/snapmgr.h +158 -0
- data/ext/pg_query/include/utils/snapshot.h +206 -0
- data/ext/pg_query/include/utils/sortsupport.h +276 -0
- data/ext/pg_query/include/utils/syscache.h +219 -0
- data/ext/pg_query/include/utils/timeout.h +88 -0
- data/ext/pg_query/include/utils/timestamp.h +116 -0
- data/ext/pg_query/include/utils/tuplesort.h +277 -0
- data/ext/pg_query/include/utils/tuplestore.h +91 -0
- data/ext/pg_query/include/utils/typcache.h +202 -0
- data/ext/pg_query/include/utils/tzparser.h +39 -0
- data/ext/pg_query/include/utils/varlena.h +39 -0
- data/ext/pg_query/include/utils/xml.h +84 -0
- data/ext/pg_query/include/xxhash.h +5445 -0
- data/ext/pg_query/include/xxhash/xxhash.h +5445 -0
- data/ext/pg_query/pg_query.c +104 -0
- data/ext/pg_query/pg_query.pb-c.c +37628 -0
- data/ext/pg_query/pg_query_deparse.c +9959 -0
- data/ext/pg_query/pg_query_fingerprint.c +295 -0
- data/ext/pg_query/pg_query_fingerprint.h +8 -0
- data/ext/pg_query/pg_query_internal.h +24 -0
- data/ext/pg_query/pg_query_json_plpgsql.c +738 -0
- data/ext/pg_query/pg_query_json_plpgsql.h +9 -0
- data/ext/pg_query/pg_query_normalize.c +439 -0
- data/ext/pg_query/pg_query_outfuncs.h +10 -0
- data/ext/pg_query/pg_query_outfuncs_json.c +297 -0
- data/ext/pg_query/pg_query_outfuncs_protobuf.c +237 -0
- data/ext/pg_query/pg_query_parse.c +148 -0
- data/ext/pg_query/pg_query_parse_plpgsql.c +460 -0
- data/ext/pg_query/pg_query_readfuncs.h +11 -0
- data/ext/pg_query/pg_query_readfuncs_protobuf.c +142 -0
- data/ext/pg_query/pg_query_ruby.c +108 -12
- data/ext/pg_query/pg_query_scan.c +173 -0
- data/ext/pg_query/pg_query_split.c +221 -0
- data/ext/pg_query/protobuf-c.c +3660 -0
- data/ext/pg_query/src_backend_catalog_namespace.c +1051 -0
- data/ext/pg_query/src_backend_catalog_pg_proc.c +142 -0
- data/ext/pg_query/src_backend_commands_define.c +117 -0
- data/ext/pg_query/src_backend_libpq_pqcomm.c +651 -0
- data/ext/pg_query/src_backend_nodes_bitmapset.c +513 -0
- data/ext/pg_query/src_backend_nodes_copyfuncs.c +6013 -0
- data/ext/pg_query/src_backend_nodes_equalfuncs.c +4003 -0
- data/ext/pg_query/src_backend_nodes_extensible.c +99 -0
- data/ext/pg_query/src_backend_nodes_list.c +922 -0
- data/ext/pg_query/src_backend_nodes_makefuncs.c +417 -0
- data/ext/pg_query/src_backend_nodes_nodeFuncs.c +1363 -0
- data/ext/pg_query/src_backend_nodes_value.c +84 -0
- data/ext/pg_query/src_backend_parser_gram.c +47456 -0
- data/ext/pg_query/src_backend_parser_parse_expr.c +313 -0
- data/ext/pg_query/src_backend_parser_parser.c +497 -0
- data/ext/pg_query/src_backend_parser_scan.c +7091 -0
- data/ext/pg_query/src_backend_parser_scansup.c +160 -0
- data/ext/pg_query/src_backend_postmaster_postmaster.c +2230 -0
- data/ext/pg_query/src_backend_storage_ipc_ipc.c +192 -0
- data/ext/pg_query/src_backend_storage_lmgr_s_lock.c +370 -0
- data/ext/pg_query/src_backend_tcop_postgres.c +776 -0
- data/ext/pg_query/src_backend_utils_adt_datum.c +326 -0
- data/ext/pg_query/src_backend_utils_adt_expandeddatum.c +98 -0
- data/ext/pg_query/src_backend_utils_adt_format_type.c +136 -0
- data/ext/pg_query/src_backend_utils_adt_ruleutils.c +1683 -0
- data/ext/pg_query/src_backend_utils_error_assert.c +74 -0
- data/ext/pg_query/src_backend_utils_error_elog.c +1748 -0
- data/ext/pg_query/src_backend_utils_fmgr_fmgr.c +570 -0
- data/ext/pg_query/src_backend_utils_hash_dynahash.c +1086 -0
- data/ext/pg_query/src_backend_utils_init_globals.c +168 -0
- data/ext/pg_query/src_backend_utils_mb_mbutils.c +839 -0
- data/ext/pg_query/src_backend_utils_misc_guc.c +1831 -0
- data/ext/pg_query/src_backend_utils_mmgr_aset.c +1560 -0
- data/ext/pg_query/src_backend_utils_mmgr_mcxt.c +1006 -0
- data/ext/pg_query/src_common_encnames.c +158 -0
- data/ext/pg_query/src_common_keywords.c +39 -0
- data/ext/pg_query/src_common_kwlist_d.h +1081 -0
- data/ext/pg_query/src_common_kwlookup.c +91 -0
- data/ext/pg_query/src_common_psprintf.c +158 -0
- data/ext/pg_query/src_common_string.c +86 -0
- data/ext/pg_query/src_common_stringinfo.c +336 -0
- data/ext/pg_query/src_common_wchar.c +1651 -0
- data/ext/pg_query/src_pl_plpgsql_src_pl_comp.c +1133 -0
- data/ext/pg_query/src_pl_plpgsql_src_pl_funcs.c +877 -0
- data/ext/pg_query/src_pl_plpgsql_src_pl_gram.c +6533 -0
- data/ext/pg_query/src_pl_plpgsql_src_pl_handler.c +107 -0
- data/ext/pg_query/src_pl_plpgsql_src_pl_reserved_kwlist_d.h +123 -0
- data/ext/pg_query/src_pl_plpgsql_src_pl_scanner.c +671 -0
- data/ext/pg_query/src_pl_plpgsql_src_pl_unreserved_kwlist_d.h +255 -0
- data/ext/pg_query/src_port_erand48.c +127 -0
- data/ext/pg_query/src_port_pg_bitutils.c +246 -0
- data/ext/pg_query/src_port_pgsleep.c +69 -0
- data/ext/pg_query/src_port_pgstrcasecmp.c +83 -0
- data/ext/pg_query/src_port_qsort.c +240 -0
- data/ext/pg_query/src_port_random.c +31 -0
- data/ext/pg_query/src_port_snprintf.c +1449 -0
- data/ext/pg_query/src_port_strerror.c +324 -0
- data/ext/pg_query/src_port_strnlen.c +39 -0
- data/ext/pg_query/xxhash.c +43 -0
- data/lib/pg_query.rb +7 -4
- data/lib/pg_query/constants.rb +21 -0
- data/lib/pg_query/deparse.rb +15 -1673
- data/lib/pg_query/filter_columns.rb +88 -85
- data/lib/pg_query/fingerprint.rb +122 -87
- data/lib/pg_query/json_field_names.rb +1402 -0
- data/lib/pg_query/node.rb +31 -0
- data/lib/pg_query/param_refs.rb +42 -37
- data/lib/pg_query/parse.rb +220 -203
- data/lib/pg_query/parse_error.rb +1 -1
- data/lib/pg_query/pg_query_pb.rb +3211 -0
- data/lib/pg_query/scan.rb +23 -0
- data/lib/pg_query/treewalker.rb +24 -40
- data/lib/pg_query/truncate.rb +71 -42
- data/lib/pg_query/version.rb +2 -2
- metadata +472 -11
- data/ext/pg_query/pg_query_ruby.h +0 -10
- data/lib/pg_query/deep_dup.rb +0 -16
- data/lib/pg_query/deparse/alter_table.rb +0 -42
- data/lib/pg_query/deparse/interval.rb +0 -105
- data/lib/pg_query/deparse/keywords.rb +0 -159
- data/lib/pg_query/deparse/rename.rb +0 -41
- data/lib/pg_query/legacy_parsetree.rb +0 -109
- data/lib/pg_query/node_types.rb +0 -297
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: f19538f4d41c891a9b7704cd56becd762e44f5f766fba06c07f89b2e1d61b69f
|
|
4
|
+
data.tar.gz: df5a48fd5582bacd09098a5d37c21794a6f1caff82b16fe4597be2257bb0eaa1
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 0326c810f5589b03d3a1809e98c199984c6bc013dfd93228cb6e35e5378cf39421ff0690c5dc67431f4b1501815fa80245d5e0cfcb1c75186054aa5d1300d684
|
|
7
|
+
data.tar.gz: 476514b25750f97ab9f27c55ccf6c221b6ab16687677178adc9f2ed219a85286dca983a36b25e703a3f0e9f080268ce6e82b69fbb932d4e50195bc711f434530
|
data/CHANGELOG.md
CHANGED
|
@@ -1,28 +1,93 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## Unreleased
|
|
4
|
+
|
|
5
|
+
* ...
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
## 2.0.3 2021-04-05
|
|
9
|
+
|
|
10
|
+
* Update to libpg_query 13-2.0.4
|
|
11
|
+
- Normalize: Fix handling of two subsequent DefElem elements (avoids crash)
|
|
12
|
+
- Deparser: Fix crash in CopyStmt with HEADER or FREEZE inside WITH parens
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
## 2.0.2 2021-03-31
|
|
16
|
+
|
|
17
|
+
* `COALESCE` arguments are now included in `#filter_columns`
|
|
18
|
+
* Improve error message for protobuf parse failures
|
|
19
|
+
* Extconf: Fix object path regexp
|
|
20
|
+
- This accidentally replaced `.c` in the wrong parts of the path in some cases,
|
|
21
|
+
causing build failures
|
|
22
|
+
* Update to libpg_query 13-2.0.2
|
|
23
|
+
- Fix ARM builds: Avoid dependency on cpuid.h header
|
|
24
|
+
- Simplify deparser of TableLikeClause
|
|
25
|
+
- Fix asprintf warnings by ensuring _GNU_SOURCE is set early enough
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
## 2.0.1 2021-03-18
|
|
29
|
+
|
|
30
|
+
* Fix gemspec to correctly reference include files
|
|
31
|
+
- This would have shown as a build failure when using the published `2.0.0` gem
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
## 2.0.0 2021-03-18
|
|
35
|
+
|
|
36
|
+
* Update to PostgreSQL 13 parser
|
|
37
|
+
* Update to libpg_query v2, and new Protobuf-based format
|
|
38
|
+
* WARNING: This is a breaking change if you are directly interacting with the
|
|
39
|
+
parsetree (helpers like `table` and such still work the same way)
|
|
40
|
+
* Use actual Ruby classes for parser result, instead of decoded JSON
|
|
41
|
+
* This is essentialy to enable easy and fast two-way communication with
|
|
42
|
+
the C library, and as a bonus makes for a better interaction on the Ruby
|
|
43
|
+
side, as we are handling actual objects instead of hashes and arrays.
|
|
44
|
+
* Use new deparser maintained directly in libpg_query
|
|
45
|
+
* This replaces the complete Ruby deparser with a new, more complete deparser
|
|
46
|
+
that is directly maintained in libpg_query. Further deparser improvements
|
|
47
|
+
should be directly contributed to [libpg_query]
|
|
48
|
+
* Tables helper: Return more details through `#tables_with_details` method
|
|
49
|
+
* This is renamed from the previously badly named `#tables_with_types`
|
|
50
|
+
method. Note that this change should not affect the output of the
|
|
51
|
+
primary `tables` helper.
|
|
52
|
+
* Replace on-demand libpg_query source download with bundled source code
|
|
53
|
+
* Its unnecessary to download the source on-demand, and makes this more
|
|
54
|
+
complex than it needs to be. Instead, introduce a new "update_source" rake
|
|
55
|
+
task that can be called to refresh the source for a specified revision.
|
|
56
|
+
* Re-implement smart truncation without requiring a special node type
|
|
57
|
+
* This ensures the `#truncate` method works with the new deparser, without
|
|
58
|
+
the C level code needing to know about it. We may add it in the C library
|
|
59
|
+
in the future for edge cases that can't be covered by this slightly
|
|
60
|
+
hack-ish approach, but for now this avoids unnecessary C library
|
|
61
|
+
deparser modifications with non-standard node types.
|
|
62
|
+
* Update Ruby fingerprinting to new fingerprint format and XXH3 hash
|
|
63
|
+
* Note that its recommended to use `PgQuery.fingerprint` for performance
|
|
64
|
+
reasons, but when the tree has been modified, it can be convenient to
|
|
65
|
+
run a Ruby-side fingerprint instead of the C-based one that is faster.
|
|
66
|
+
|
|
67
|
+
|
|
3
68
|
## 1.3.0 2020-12-28
|
|
4
69
|
|
|
5
70
|
* Incorporate newer libpg_query updates in 10-1.0.3 and 10-1.0.4
|
|
6
71
|
* Adds support for running on ARM
|
|
7
|
-
* Fixes asprintf warning during builds
|
|
72
|
+
* Fixes an asprintf warning during builds
|
|
8
73
|
* Updates to newer Postgres 10 patch release (10.15)
|
|
9
|
-
* Deparsing improvements by [@emin100]
|
|
10
|
-
* Add support for additional DROP statements (#147)
|
|
11
|
-
* Fix CREATE TABLE AS - Support without TEMP
|
|
12
|
-
* Empty target list support (#156)
|
|
13
|
-
* UNION parentheses (#158)
|
|
14
|
-
* OVERLAY keyword function (#161)
|
|
15
|
-
* Array indirection (#162)
|
|
16
|
-
* ARRAY functions (#163)
|
|
17
|
-
* Correctly handle column names that need escaping in INSERT and UPDATE statements (#164)
|
|
18
|
-
* INSERT INTO ON CONFLICT (#166)
|
|
19
|
-
* LATERAL JOIN (#168)
|
|
20
|
-
* UPDATE FROM clause (#170)
|
|
21
|
-
* SELECT aggregate FILTER (#175)
|
|
22
|
-
* INTERSECT operator (#176)
|
|
23
|
-
* Deparsing: Improve handling of boolean type casts [@himanshu-pro]
|
|
24
|
-
* `tables` method: Find tables in the subquery of CREATE TABLE AS (#172
|
|
25
|
-
* Support Ruby 3.0, verify SHA256 checksum of downloaded libpg_query (#178
|
|
74
|
+
* Deparsing improvements by [@emin100]
|
|
75
|
+
* Add support for additional DROP statements ([#147](https://github.com/pganalyze/pg_query/pull/147))
|
|
76
|
+
* Fix `CREATE TABLE AS` - Support without `TEMP`, Add `ON COMMIT` ([#149](https://github.com/pganalyze/pg_query/pull/149))
|
|
77
|
+
* Empty target list support ([#156](https://github.com/pganalyze/pg_query/pull/156))
|
|
78
|
+
* `UNION` parentheses ([#158](https://github.com/pganalyze/pg_query/pull/158))
|
|
79
|
+
* `OVERLAY` keyword function ([#161](https://github.com/pganalyze/pg_query/pull/161))
|
|
80
|
+
* Array indirection ([#162](https://github.com/pganalyze/pg_query/pull/162))
|
|
81
|
+
* `ARRAY` functions ([#163](https://github.com/pganalyze/pg_query/pull/163))
|
|
82
|
+
* Correctly handle column names that need escaping in `INSERT` and `UPDATE` statements ([#164](https://github.com/pganalyze/pg_query/pull/164))
|
|
83
|
+
* `INSERT INTO ON CONFLICT` ([#166](https://github.com/pganalyze/pg_query/pull/166))
|
|
84
|
+
* `LATERAL JOIN` ([#168](https://github.com/pganalyze/pg_query/pull/168))
|
|
85
|
+
* `UPDATE FROM` clause ([#170](https://github.com/pganalyze/pg_query/pull/170))
|
|
86
|
+
* `SELECT` aggregate `FILTER` ([#175](https://github.com/pganalyze/pg_query/pull/175))
|
|
87
|
+
* `INTERSECT` operator ([#176](https://github.com/pganalyze/pg_query/pull/176))
|
|
88
|
+
* Deparsing: Improve handling of boolean type casts [@himanshu-pro] & [@emin100]
|
|
89
|
+
* `tables` method: Find tables in the subquery of `CREATE TABLE AS` ([#172](https://github.com/pganalyze/pg_query/pull/172)) [@Tassosb]
|
|
90
|
+
* Support Ruby 3.0, verify SHA256 checksum of downloaded libpg_query ([#178](https://github.com/pganalyze/pg_query/pull/178)) [@stanhu]
|
|
26
91
|
* Verify SHA256 checksum to guard against any malicious attempts to change the archive
|
|
27
92
|
* Use `URI.open` to fix Ruby 3.0 support
|
|
28
93
|
|
|
@@ -38,69 +103,69 @@
|
|
|
38
103
|
|
|
39
104
|
## 1.1.1 2019-11-10
|
|
40
105
|
|
|
41
|
-
* Deparsing improvements by [@emin100]
|
|
42
|
-
* Deparse ILIKE
|
|
43
|
-
* CREATE CAST (#136)
|
|
44
|
-
* CREATE SCHEMA (#136)
|
|
45
|
-
* UNION
|
|
46
|
-
* CREATE DOMAIN (#145)
|
|
47
|
-
* Subquery indirection (#157)
|
|
48
|
-
* Fix Type Cast Parentheses Problem (#152)
|
|
49
|
-
* SELECT INTO (#151)
|
|
50
|
-
* SET DEFAULT in INSERT INTO (#154)
|
|
51
|
-
* REVOKE (#155)
|
|
52
|
-
* PREPARE and EXECUTE (#148)
|
|
53
|
-
* INSERT INTO ... RETURNING (#153)
|
|
54
|
-
* Fix Alter .. RENAME SQL (#146)
|
|
55
|
-
* Deparsing improvements by [@herwinw]
|
|
56
|
-
* Fix subquery in COPY in deparse (#112)
|
|
57
|
-
* Function call indirection (#116)
|
|
58
|
-
* Function without parameters (#117)
|
|
59
|
-
* CREATE AGGREGATE
|
|
60
|
-
* CREATE OPERATOR
|
|
61
|
-
* CREATE TYPE
|
|
62
|
-
* GRANT statements
|
|
63
|
-
* DROP SCHEMA
|
|
64
|
-
* Deparsing improvements by [@akiellor]
|
|
65
|
-
* Named window functions (#150)
|
|
66
|
-
* Deparsing improvements by [@himanshu]
|
|
67
|
-
* Arguments in custom types (#143)
|
|
68
|
-
* Use "double precision" instead of "double" type name (#139)
|
|
69
|
-
* Use explicit -z flag to support OpenBSD tar (#134
|
|
106
|
+
* Deparsing improvements by [@emin100]
|
|
107
|
+
* Deparse `ILIKE`, `COLLATE` and `DISCARD` ([#133](https://github.com/pganalyze/pg_query/pull/133))
|
|
108
|
+
* `CREATE CAST` ([#136](https://github.com/pganalyze/pg_query/pull/136))
|
|
109
|
+
* `CREATE SCHEMA` ([#136](https://github.com/pganalyze/pg_query/pull/136))
|
|
110
|
+
* `UNION`, `UNION ALL` and `EXCEPT` in `SELECT` queries ([#136](https://github.com/pganalyze/pg_query/pull/136))
|
|
111
|
+
* `CREATE DOMAIN` ([#145](https://github.com/pganalyze/pg_query/pull/145))
|
|
112
|
+
* Subquery indirection ([#157](https://github.com/pganalyze/pg_query/pull/157))
|
|
113
|
+
* Fix Type Cast Parentheses Problem ([#152](https://github.com/pganalyze/pg_query/pull/152))
|
|
114
|
+
* `SELECT INTO` ([#151](https://github.com/pganalyze/pg_query/pull/151))
|
|
115
|
+
* `SET DEFAULT` in `INSERT INTO` ([#154](https://github.com/pganalyze/pg_query/pull/154))
|
|
116
|
+
* `REVOKE` ([#155](https://github.com/pganalyze/pg_query/pull/155))
|
|
117
|
+
* `PREPARE` and `EXECUTE` ([#148](https://github.com/pganalyze/pg_query/pull/148))
|
|
118
|
+
* `INSERT INTO ... RETURNING` ([#153](https://github.com/pganalyze/pg_query/pull/153))
|
|
119
|
+
* Fix Alter .. `RENAME SQL` ([#146](https://github.com/pganalyze/pg_query/pull/146))
|
|
120
|
+
* Deparsing improvements by [@herwinw]
|
|
121
|
+
* Fix subquery in `COPY` in deparse ([#112](https://github.com/pganalyze/pg_query/pull/112))
|
|
122
|
+
* Function call indirection ([#116](https://github.com/pganalyze/pg_query/pull/116))
|
|
123
|
+
* Function without parameters ([#117](https://github.com/pganalyze/pg_query/pull/117))
|
|
124
|
+
* `CREATE AGGREGATE`
|
|
125
|
+
* `CREATE OPERATOR`
|
|
126
|
+
* `CREATE TYPE`
|
|
127
|
+
* `GRANT` statements
|
|
128
|
+
* `DROP SCHEMA`
|
|
129
|
+
* Deparsing improvements by [@akiellor]
|
|
130
|
+
* Named window functions ([#150](https://github.com/pganalyze/pg_query/pull/150))
|
|
131
|
+
* Deparsing improvements by [@himanshu]
|
|
132
|
+
* Arguments in custom types ([#143](https://github.com/pganalyze/pg_query/pull/143))
|
|
133
|
+
* Use "double precision" instead of "double" type name ([#139](https://github.com/pganalyze/pg_query/pull/139))
|
|
134
|
+
* Use explicit -z flag to support OpenBSD tar ([#134](https://github.com/pganalyze/pg_query/pull/134)) [@sirn]
|
|
70
135
|
* Add Ruby 2.6 to Travis tests
|
|
71
136
|
* Escape identifiers in more cases, if necessary
|
|
72
137
|
|
|
73
138
|
|
|
74
139
|
## 1.1.0 2018-10-04
|
|
75
140
|
|
|
76
|
-
* Deparsing improvements by [@herwinw]
|
|
77
|
-
* Add NULLS FIRST
|
|
78
|
-
* VACUUM [#97](https://github.com/
|
|
79
|
-
* UPDATE with multiple columns [#99](https://github.com/
|
|
80
|
-
* DISTINCT ON [#101](https://github.com/
|
|
81
|
-
* CREATE TABLE AS [#102](https://github.com/
|
|
82
|
-
* SQL value functions [#103](https://github.com/
|
|
83
|
-
* LOCK [#105](https://github.com/
|
|
84
|
-
* EXPLAIN [#107](https://github.com/
|
|
85
|
-
* COPY [#108](https://github.com/
|
|
86
|
-
* DO [#109](https://github.com/
|
|
87
|
-
* Ignore pg_query.so in git checkout [#110](https://github.com/
|
|
88
|
-
* Prefer __dir__ over File.dirname(__FILE__) [#110](https://github.com/
|
|
141
|
+
* Deparsing improvements by [@herwinw]
|
|
142
|
+
* Add `NULLS FIRST`/`LAST` to `ORDER BY` [#95](https://github.com/pganalyze/pg_query/pull/95)
|
|
143
|
+
* `VACUUM` [#97](https://github.com/pganalyze/pg_query/pull/97)
|
|
144
|
+
* `UPDATE` with multiple columns [#99](https://github.com/pganalyze/pg_query/pull/99)
|
|
145
|
+
* `DISTINCT ON` [#101](https://github.com/pganalyze/pg_query/pull/101)
|
|
146
|
+
* `CREATE TABLE AS` [#102](https://github.com/pganalyze/pg_query/pull/102)
|
|
147
|
+
* SQL value functions [#103](https://github.com/pganalyze/pg_query/pull/103)
|
|
148
|
+
* `LOCK` [#105](https://github.com/pganalyze/pg_query/pull/105)
|
|
149
|
+
* `EXPLAIN` [#107](https://github.com/pganalyze/pg_query/pull/107)
|
|
150
|
+
* `COPY` [#108](https://github.com/pganalyze/pg_query/pull/108)
|
|
151
|
+
* `DO` [#109](https://github.com/pganalyze/pg_query/pull/109)
|
|
152
|
+
* Ignore pg_query.so in git checkout [#110](https://github.com/pganalyze/pg_query/pull/110) [@herwinw]
|
|
153
|
+
* Prefer `__dir__` over `File.dirname(__FILE__)` [#110](https://github.com/pganalyze/pg_query/pull/104) [@herwinw]
|
|
89
154
|
|
|
90
155
|
|
|
91
156
|
## 1.0.2 2018-04-11
|
|
92
157
|
|
|
93
158
|
* Deparsing improvements
|
|
94
|
-
* SELECT DISTINCT clause [#77](https://github.com/
|
|
95
|
-
* "CASE expr WHEN ... END" clause [#78](https://github.com/
|
|
96
|
-
* LEFT
|
|
97
|
-
* SELECT that includes schema name [#80](https://github.com/
|
|
159
|
+
* `SELECT DISTINCT` clause [#77](https://github.com/pganalyze/pg_query/pull/77) [@Papierkorb]
|
|
160
|
+
* "`CASE expr WHEN ... END`" clause [#78](https://github.com/pganalyze/pg_query/pull/78) [@Papierkorb]
|
|
161
|
+
* `LEFT`/`RIGHT`/`FULL`/`NATURAL JOIN` [#79](https://github.com/pganalyze/pg_query/pull/79) [@Papierkorb]
|
|
162
|
+
* `SELECT` that includes schema name [#80](https://github.com/pganalyze/pg_query/pull/80) [@jcsjcs]
|
|
98
163
|
|
|
99
164
|
|
|
100
165
|
## 1.0.1 2018-02-02
|
|
101
166
|
|
|
102
|
-
* Parse CTEs and nested selects in INSERT/UPDATE [#76](https://github.com/
|
|
103
|
-
* Drop explicit json dependency [#74](https://github.com/
|
|
167
|
+
* Parse CTEs and nested selects in INSERT/UPDATE [#76](https://github.com/pganalyze/pg_query/pull/76) [@jcoleman]
|
|
168
|
+
* Drop explicit json dependency [#74](https://github.com/pganalyze/pg_query/pull/74) [@yuki24]
|
|
104
169
|
|
|
105
170
|
|
|
106
171
|
## 1.0.0 2017-10-31
|
|
@@ -115,37 +180,37 @@
|
|
|
115
180
|
## 0.13.5 2017-10-26
|
|
116
181
|
|
|
117
182
|
* Update to libpg_query 9.5-1.7.1
|
|
118
|
-
- Allow "
|
|
183
|
+
- Allow "`$1 FROM $2`" to be parsed (new with pg_stat_statements in Postgres 10)
|
|
119
184
|
|
|
120
185
|
|
|
121
186
|
## 0.13.4 2017-10-20
|
|
122
187
|
|
|
123
188
|
* Update to libpg_query 9.5-1.7.0
|
|
124
|
-
- Fixes compilation old gcc before 4.6.0 [#73](https://github.com/
|
|
189
|
+
- Fixes compilation old gcc before 4.6.0 [#73](https://github.com/pganalyze/pg_query/issues/73)
|
|
125
190
|
|
|
126
191
|
|
|
127
192
|
## 0.13.3 2017-09-04
|
|
128
193
|
|
|
129
|
-
* Fix table detection for SELECTs that have sub-SELECTs without FROM clause [#69](https://github.com/
|
|
194
|
+
* Fix table detection for SELECTs that have sub-SELECTs without `FROM` clause [#69](https://github.com/pganalyze/pg_query/issues/69)
|
|
130
195
|
|
|
131
196
|
|
|
132
197
|
## 0.13.2 2017-08-10
|
|
133
198
|
|
|
134
|
-
* Support table detection in sub-SELECTs in
|
|
135
|
-
* Legacy ".parsetree" helper: Fix "Between" and "In" operator does not have "AEXPR" [#66](https://github.com/
|
|
199
|
+
* Support table detection in sub-SELECTs in `JOIN`s [#68](https://github.com/pganalyze/pg_query/pull/65) [@seanmdick]
|
|
200
|
+
* Legacy ".parsetree" helper: Fix "Between" and "In" operator does not have "AEXPR" [#66](https://github.com/pganalyze/pg_query/issues/66)
|
|
136
201
|
* For new applications please use ".tree" method which uses the native structure
|
|
137
202
|
returned from libpg_query which resembles Postgres node names more closely
|
|
138
203
|
|
|
139
204
|
|
|
140
205
|
## 0.13.1 2017-08-03
|
|
141
206
|
|
|
142
|
-
* Fix regression in 0.13.1 that broke ".tables" logic for COPY statements that
|
|
207
|
+
* Fix regression in 0.13.1 that broke ".tables" logic for `COPY` statements that
|
|
143
208
|
don't have a target table (i.e. are reading out data vs copying in)
|
|
144
209
|
|
|
145
210
|
|
|
146
211
|
## 0.13.0 2017-07-30
|
|
147
212
|
|
|
148
|
-
* Introduce split between SELECT/DML/DDL for tables method [#65](https://github.com/
|
|
213
|
+
* Introduce split between SELECT/DML/DDL for tables method [#65](https://github.com/pganalyze/pg_query/pull/65) [@chrisfrommann]
|
|
149
214
|
* Backwards compatible, use the new select_tables/dml_tables/ddl_tables to
|
|
150
215
|
access the categorized table references
|
|
151
216
|
* Update libpg_query to 9.5-1.6.2
|
|
@@ -173,14 +238,14 @@
|
|
|
173
238
|
|
|
174
239
|
## 0.11.5 2017-07-09
|
|
175
240
|
|
|
176
|
-
* Deparse coldeflist [#64](https://github.com/
|
|
177
|
-
* Use Integer class for checking integer instead of Fixnum [#62](https://github.com/
|
|
241
|
+
* Deparse coldeflist [#64](https://github.com/pganalyze/pg_query/pull/64) [@jcsjcs]
|
|
242
|
+
* Use Integer class for checking integer instead of Fixnum [#62](https://github.com/pganalyze/pg_query/pull/62) [@makimoto]
|
|
178
243
|
|
|
179
244
|
|
|
180
245
|
## 0.11.4 2017-01-18
|
|
181
246
|
|
|
182
|
-
* Compatibility with Ruby 2.4 [#59](https://github.com/
|
|
183
|
-
* Deparse varchar and numeric casts without arguments [#61](https://github.com/
|
|
247
|
+
* Compatibility with Ruby 2.4 [#59](https://github.com/pganalyze/pg_query/pull/59) [@merqlove]
|
|
248
|
+
* Deparse varchar and numeric casts without arguments [#61](https://github.com/pganalyze/pg_query/pull/61) [@jcsjcs]
|
|
184
249
|
|
|
185
250
|
|
|
186
251
|
## 0.11.3 2016-12-06
|
|
@@ -188,12 +253,12 @@
|
|
|
188
253
|
* Update to newest libpg_query version (9.5-1.4.2)
|
|
189
254
|
* Cut off fingerprints at 100 nodes deep to avoid excessive runtimes/memory
|
|
190
255
|
* Fix warning on Linux due to missing asprintf include
|
|
191
|
-
* Improved deparsing [@jcsjcs]
|
|
192
|
-
* Float [#54](https://github.com/
|
|
193
|
-
* BETWEEN [#55](https://github.com/
|
|
194
|
-
* NULLIF [#56](https://github.com/
|
|
195
|
-
* SELECT NULL and BooleanTest [#57](https://github.com/
|
|
196
|
-
* Fix build on BSD systems [#58](https://github.com/
|
|
256
|
+
* Improved deparsing [@jcsjcs]
|
|
257
|
+
* Float [#54](https://github.com/pganalyze/pg_query/pull/54)
|
|
258
|
+
* `BETWEEN` [#55](https://github.com/pganalyze/pg_query/pull/55)
|
|
259
|
+
* `NULLIF` [#56](https://github.com/pganalyze/pg_query/pull/56)
|
|
260
|
+
* `SELECT NULL` and BooleanTest [#57](https://github.com/pganalyze/pg_query/pull/57)
|
|
261
|
+
* Fix build on BSD systems [#58](https://github.com/pganalyze/pg_query/pull/58) [@myfreeweb]
|
|
197
262
|
|
|
198
263
|
|
|
199
264
|
## 0.11.2 2016-06-27
|
|
@@ -211,11 +276,11 @@
|
|
|
211
276
|
|
|
212
277
|
## 0.11.0 2016-06-22
|
|
213
278
|
|
|
214
|
-
* Improved table name analysis (
|
|
215
|
-
* Don't include CTE names, make them accessible as
|
|
216
|
-
* Include table names in target list sub selects [#38](https://github.com/
|
|
217
|
-
* Add support for ORDER
|
|
218
|
-
* Fix parsing of DROP TYPE statements
|
|
279
|
+
* Improved table name analysis (`#tables` method)
|
|
280
|
+
* Don't include CTE names, make them accessible as `#cte_names` instead [#52](https://github.com/pganalyze/pg_query/issues/52)
|
|
281
|
+
* Include table names in target list sub selects [#38](https://github.com/pganalyze/pg_query/issues/38)
|
|
282
|
+
* Add support for `ORDER`/`GROUP BY`, `HAVING`, and booleans in `WHERE` [#53](https://github.com/pganalyze/pg_query/pull/53) [@jcoleman]
|
|
283
|
+
* Fix parsing of `DROP TYPE` statements
|
|
219
284
|
|
|
220
285
|
|
|
221
286
|
## 0.10.0 2016-05-31
|
|
@@ -223,19 +288,19 @@
|
|
|
223
288
|
* Based on PostgreSQL 9.5.3
|
|
224
289
|
* Use LLVM extracted parser for significantly improved build times (via libpg_query)
|
|
225
290
|
* Deparsing Improvements
|
|
226
|
-
* SET statements [#48](https://github.com/
|
|
227
|
-
* LIKE
|
|
228
|
-
* CREATE FUNCTION improvements [#50](https://github.com/
|
|
291
|
+
* `SET` statements [#48](https://github.com/pganalyze/pg_query/pull/48) [@Winslett]
|
|
292
|
+
* `LIKE`/`NOT LIKE` [#49](https://github.com/pganalyze/pg_query/pull/49) [@Winslett]
|
|
293
|
+
* `CREATE FUNCTION` improvements [#50](https://github.com/pganalyze/pg_query/pull/50) [@Winslett]
|
|
229
294
|
|
|
230
295
|
|
|
231
296
|
## 0.9.2 2016-05-03
|
|
232
297
|
|
|
233
|
-
* Fix issue with A_CONST string values in `.parsetree` compatibility layer (Fixes [#47](https://github.com/
|
|
298
|
+
* Fix issue with A_CONST string values in `.parsetree` compatibility layer (Fixes [#47](https://github.com/pganalyze/pg_query/issues/47))
|
|
234
299
|
|
|
235
300
|
|
|
236
301
|
## 0.9.1 2016-04-20
|
|
237
302
|
|
|
238
|
-
* Add support for Ruby 1.9 (Fixes [#44](https://github.com/
|
|
303
|
+
* Add support for Ruby 1.9 (Fixes [#44](https://github.com/pganalyze/pg_query/issues/44))
|
|
239
304
|
|
|
240
305
|
|
|
241
306
|
## 0.9.0 2016-04-17
|
|
@@ -261,44 +326,44 @@
|
|
|
261
326
|
## 0.7.2 2015-12-20
|
|
262
327
|
|
|
263
328
|
* Deparsing
|
|
264
|
-
* Quote all column refs [#40](https://github.com/
|
|
265
|
-
* Quote all range vars [#43](https://github.com/
|
|
266
|
-
* Support for COUNT(DISTINCT ...) [#42](https://github.com/
|
|
329
|
+
* Quote all column refs [#40](https://github.com/pganalyze/pg_query/pull/40) [@avinoamr]
|
|
330
|
+
* Quote all range vars [#43](https://github.com/pganalyze/pg_query/pull/43) [@avinoamr]
|
|
331
|
+
* Support for `COUNT(DISTINCT ...)` [#42](https://github.com/pganalyze/pg_query/pull/42) [@avinoamr]
|
|
267
332
|
|
|
268
333
|
|
|
269
334
|
## 0.7.1 2015-11-17
|
|
270
335
|
|
|
271
|
-
* Abstracted parser access into libpg_query [#24](https://github.com/
|
|
336
|
+
* Abstracted parser access into libpg_query [#24](https://github.com/pganalyze/pg_query/pull/35)
|
|
272
337
|
* libpg_query
|
|
273
|
-
* Use UTF-8 encoding for parsing [#4](https://github.com/lfittl/libpg_query/pull/4) [@zhm]
|
|
274
|
-
* Add type to A_CONST nodes[#5](https://github.com/lfittl/libpg_query/pull/5) [@zhm]
|
|
338
|
+
* Use UTF-8 encoding for parsing [#4](https://github.com/lfittl/libpg_query/pull/4) [@zhm]
|
|
339
|
+
* Add type to A_CONST nodes[#5](https://github.com/lfittl/libpg_query/pull/5) [@zhm]
|
|
275
340
|
|
|
276
341
|
|
|
277
342
|
## 0.7.0 2015-10-17
|
|
278
343
|
|
|
279
|
-
* Restructure build process to use upstream tarballs [#35](https://github.com/
|
|
280
|
-
* Avoid bison/flex dependency to make deployment easier [#31](https://github.com/
|
|
281
|
-
* Solve issues with deployments to Heroku [#32](https://github.com/
|
|
344
|
+
* Restructure build process to use upstream tarballs [#35](https://github.com/pganalyze/pg_query/pull/35)
|
|
345
|
+
* Avoid bison/flex dependency to make deployment easier [#31](https://github.com/pganalyze/pg_query/issues/31)
|
|
346
|
+
* Solve issues with deployments to Heroku [#32](https://github.com/pganalyze/pg_query/issues/32)
|
|
282
347
|
* Deparsing
|
|
283
|
-
* HAVING and FOR UPDATE [#36](https://github.com/
|
|
348
|
+
* `HAVING` and `FOR UPDATE` [#36](https://github.com/pganalyze/pg_query/pull/36) [@JackDanger]
|
|
284
349
|
|
|
285
350
|
|
|
286
351
|
## 0.6.4 2015-10-01
|
|
287
352
|
|
|
288
353
|
* Deparsing
|
|
289
|
-
* Constraints & Interval Types [#28](https://github.com/
|
|
290
|
-
* Cross joins [#29](https://github.com/
|
|
291
|
-
* ALTER TABLE [#30](https://github.com/
|
|
292
|
-
* LIMIT and OFFSET [#33](https://github.com/
|
|
354
|
+
* Constraints & Interval Types [#28](https://github.com/pganalyze/pg_query/pull/28) [@JackDanger]
|
|
355
|
+
* Cross joins [#29](https://github.com/pganalyze/pg_query/pull/29) [@mme]
|
|
356
|
+
* `ALTER TABLE` [#30](https://github.com/pganalyze/pg_query/pull/30) [@JackDanger]
|
|
357
|
+
* `LIMIT and OFFSET` [#33](https://github.com/pganalyze/pg_query/pull/33) [@jcsjcs]
|
|
293
358
|
|
|
294
359
|
|
|
295
360
|
## 0.6.3 2015-08-20
|
|
296
361
|
|
|
297
362
|
* Deparsing
|
|
298
|
-
* COUNT(*) [@JackDanger]
|
|
299
|
-
* Window clauses [Chris Martin]
|
|
300
|
-
* CREATE TABLE
|
|
301
|
-
* Return exact location for parser errors [@JackDanger]
|
|
363
|
+
* `COUNT(*)` [@JackDanger]
|
|
364
|
+
* Window clauses [Chris Martin]
|
|
365
|
+
* `CREATE TABLE`/`VIEW/FUNCTION` [@JackDanger]
|
|
366
|
+
* Return exact location for parser errors [@JackDanger]
|
|
302
367
|
|
|
303
368
|
|
|
304
369
|
## 0.6.2 2015-08-06
|
|
@@ -308,7 +373,7 @@
|
|
|
308
373
|
|
|
309
374
|
## 0.6.1 2015-08-06
|
|
310
375
|
|
|
311
|
-
* Deparsing: Support WITH clauses in INSERT
|
|
376
|
+
* Deparsing: Support `WITH` clauses in `INSERT`/`UPDATE`/`DELETE` [@JackDanger]
|
|
312
377
|
* Make sure gemspec includes all necessary files
|
|
313
378
|
|
|
314
379
|
|
|
@@ -317,20 +382,20 @@
|
|
|
317
382
|
* Deparsing (experimental)
|
|
318
383
|
* Turns parse trees into SQL again
|
|
319
384
|
* New truncate method to smartly truncate based on less important query parts
|
|
320
|
-
* Thanks to [@mme]
|
|
385
|
+
* Thanks to [@mme] & [@JackDanger] for their contributions
|
|
321
386
|
* Restructure extension C code
|
|
322
387
|
* Add table/filter columns support for CTEs
|
|
323
|
-
* Extract views as tables from CREATE
|
|
388
|
+
* Extract views as tables from `CREATE`/`REFRESH VIEW`
|
|
324
389
|
* Refactor code using generic treewalker
|
|
325
|
-
* fingerprint: Normalize IN lists
|
|
390
|
+
* fingerprint: Normalize `IN` lists
|
|
326
391
|
* param_refs: Fix length attribute in result
|
|
327
392
|
|
|
328
393
|
|
|
329
394
|
## 0.5.0 2015-03-26
|
|
330
395
|
|
|
331
396
|
* Query fingerprinting
|
|
332
|
-
* Filter columns (aka columns referenced in a query's WHERE clause)
|
|
333
|
-
* Parameter references: Returns all
|
|
397
|
+
* Filter columns (aka columns referenced in a query's `WHERE` clause)
|
|
398
|
+
* Parameter references: Returns all `$1`/`$2`/etc like references in the query with their location
|
|
334
399
|
* Remove dependency on active_support
|
|
335
400
|
|
|
336
401
|
|
|
@@ -347,3 +412,28 @@
|
|
|
347
412
|
|
|
348
413
|
|
|
349
414
|
See git commit log for previous releases.
|
|
415
|
+
|
|
416
|
+
[libpg_query]: https://github.com/pganalyze/libpg_query
|
|
417
|
+
[@emin100]: https://github.com/emin100
|
|
418
|
+
[@akiellor]: https://github.com/akiellor
|
|
419
|
+
[@himanshu-pro]: https://github.com/himanshu-pro
|
|
420
|
+
[@himanshu]: https://github.com/himanshu
|
|
421
|
+
[@Tassosb]: https://github.com/Tassosb
|
|
422
|
+
[@herwinw]: https://github.com/herwinw
|
|
423
|
+
[@stanhu]: https://github.com/stanhu
|
|
424
|
+
[@Papierkorb]: https://github.com/Papierkorb
|
|
425
|
+
[@jcsjcs]: https://github.com/jcsjcs
|
|
426
|
+
[@jcoleman]: https://github.com/jcoleman
|
|
427
|
+
[@yuki24]: https://github.com/yuki24
|
|
428
|
+
[@seanmdick]: https://github.com/seanmdick
|
|
429
|
+
[@chrisfrommann]: https://github.com/chrisfrommann
|
|
430
|
+
[@makimoto]: https://github.com/makimoto
|
|
431
|
+
[@merqlove]: https://github.com/merqlove
|
|
432
|
+
[@myfreeweb]: https://github.com/myfreeweb
|
|
433
|
+
[@Winslett]: https://github.com/Winslett
|
|
434
|
+
[@avinoamr]: https://github.com/avinoamr
|
|
435
|
+
[@zhm]: https://github.com/zhm
|
|
436
|
+
[@mme]: https://github.com/mme
|
|
437
|
+
[@JackDanger]: https://github.com/JackDanger
|
|
438
|
+
[Chris Martin]: https://github.com/cmrtn
|
|
439
|
+
[@sirn]: https://github.com/sirn
|