Releases: pganalyze/libpg_query
Releases · pganalyze/libpg_query
15-4.0.0
- Update to Postgres 15.1
- Add support for
MERGE
statements - Add support for
ALTER TABLE ALL IN TABLESPACE ...
statements - Add support for publication objects
CREATE PUBLICATION foo FOR TABLES IN SCHEMA CURRENT_SCHEMA
- Deparser now attempts to deparse
COPY
statements first using the old Postgres 8.4-style syntax (e.g.COPY foo FROM STDIN FREEZE CSV
).
❯ shasum -a 256 libpg_query-15-4.0.0.*
1d8a9057b34faed5fa272c6fad8fc706d494b5a877cbe2b582f546660329883d libpg_query-15-4.0.0.tar.gz
63f88c157db79a58e2b01b0adbd7eecf5181f84f8995a00de21d59d4359831a4 libpg_query-15-4.0.0.zip
14-3.0.0
Special thanks to @wolfgangwalther and @tlisanti for most of the work done on this release.
- Update to Postgres 14.6
- Drop support for
?
parameter syntax - Update
fingerprint.json
to include newly added tests, regenerate tests
$ shasum -a 256 libpg_query-14-3.0.0.*
59c5cd6d41e36e3f5c9d1179b40190c5429045e211a29527e8500f93a9a75f78 libpg_query-14-3.0.0.tar.gz
dbc7f12526db9cd5f5e1f614992ad41aa93a57172e3d5fccd766fa79307fb0f5 libpg_query-14-3.0.0.zip
13-2.2.0
- Update to Postgres 13.8 patch release #156
- Backport Xcode 14.1 build fix from upcoming 13.9 release #156
- Fingerprinting version 3.1 #155
- Fixes issue with "SELECT DISTINCT" having the same fingerprint as "SELECT"
(fingerprints for "SELECT DISTINCT" will change with this revision) - Group additional DDL statements together that otherwise generate a lot of
unique fingerprints (ListenStmt, UnlistenStmt, NotifyStmt, CreateFunctionStmt,
FunctionParameter and DoStmt)
- Fixes issue with "SELECT DISTINCT" having the same fingerprint as "SELECT"
- Normalize additional DDL statements #155
- Normalizes arguments to CreateFunctionStmt, DoStmt,
CreateSubscriptionStmt, AlterSubscriptionStmt, CreateUserMapping and
AlterUserMapping. - Note that this is different from pg_stat_statements itself, which does
not normalize utility statements at all today.
- Normalizes arguments to CreateFunctionStmt, DoStmt,
$ shasum -a 256 libpg_query-13-2.2.0.*
07916be1a2b780dee6feed936aaa04ccee2a3afde8570a6920c3a839c87539c6 libpg_query-13-2.2.0.tar.gz
6aa05d5ca983be6e2c797bf53e629f33c7fc229e6afda496235e43efd6296232 libpg_query-13-2.2.0.zip
13-2.1.2
- Add support for analyzing PL/pgSQL code inside DO blocks #142
- Fix memory leak in pg_query_fingerprint error handling #141
$ shasum -a 256 libpg_query-13-2.1.2.*
101a7851ee065d824fe06e300b78355a79bd5411864de707761282a0c57a0a97 libpg_query-13-2.1.2.tar.gz
fe4462e3e8dc41f4c5610d3d2d2c821adccc9228f1c9ec5834277c5139e0d668 libpg_query-13-2.1.2.zip
13-2.1.1
- PL/pgSQL parser
- Add support for parsing more operators that include a
?
character (special cased to support old pg_stat_statements query texts) - Deparser improvements
$ shasum -a 256 libpg_query-13-2.1.1.*
a9011e14868762bc894e5c02172efde4e70f4f868fbffcc490b15ca351f31b06 libpg_query-13-2.1.1.tar.gz
7e1b9d0b79b394e60dba0f8b87f7e4788dd945c15179c49b6207b3ee47ca943b libpg_query-13-2.1.1.zip
13-2.1.0
- Normalize: add funcname error object #121
- Normalize: Match GROUP BY against target list and re-use param refs #124
- PL/pgSQL: Setup namespace items for parameters, support RECORD types #123
- This significantly improves parsing for PL/pgSQL functions, to the extent
that most functions should now parse successfully
- This significantly improves parsing for PL/pgSQL functions, to the extent
$ shasum -a 256 libpg_query-13-2.1.0.*
a01329ae5bac19b10b8ddf8012bd663a20f85f180d6d7b900c1a1ca8444d19a5 libpg_query-13-2.1.0.tar.gz
16e2804a5f1cbedec3ae74bef49c9b61d7728e61a1b472da41fac1e506785d73 libpg_query-13-2.1.0.zip
13-2.0.7
- Normalize: Don't modify constants in TypeName typmods/arrayBounds fields (#118)
- This matches how pg_stat_statement behaves, and avoids causing parsing
errors on the normalized statement
- This matches how pg_stat_statement behaves, and avoids causing parsing
- Don't fail builds on systems that have strchrnul support (FreeBSD)
$ shasum -a 256 libpg_query-13-2.0.7.*
ea08b32619b37cb2beb2dd07e1121a4a1e7372d71d0edfa935e5a30ebc490821 libpg_query-13-2.0.7.tar.gz
4c82dfe22fa0bbfb3ddbafe14e363067223fa6ba460b9a5a43e78057778deaee libpg_query-13-2.0.7.zip
13-2.0.6
- Normalize: Don't touch "ORDER BY 1" expressions, keep original text #115
- This avoids obscuring the semantic meaning of integers in the ORDER BY
clause, which is to reference a particular column in the target list.
- This avoids obscuring the semantic meaning of integers in the ORDER BY
$ shasum -a 256 libpg_query-13-2.0.6.*
61f384ac949bd7404efe6bcc37a8a6fca79030e59c02659f108ee1db45e93414 libpg_query-13-2.0.6.tar.gz
d1d03d61c8251f5b8b7d81f60ba1141ff5efc577cd2a74d92ce894170a84dbd4 libpg_query-13-2.0.6.zip
13-2.0.5
- Update to Postgres 13.3 patch release #114
- Add optional Makefile target to build as shared library #100
- Normalize: Don't touch "GROUP BY 1" type statements, keep original text #113
- This avoids obscuring the semantic meaning of integers in the GROUP BY
clause, which is to reference a particular column in the target list.
- This avoids obscuring the semantic meaning of integers in the GROUP BY
- Fingerprint: Cache list item hashes to fingerprint complex queries faster #112
- This was exhibiting quite bad runtime behaviour before, causing both an
explosion in memory, as well as very high CPU runtime for complex queries. - The new approach ensures we don't calculate the hashes for a particular
list more than once, which ensures that we roughly have quadratic runtime
instead of exponential runtime.
- This was exhibiting quite bad runtime behaviour before, causing both an
- Deparser: Emit the RangeVar catalogname if present #105
- Fix crash in pg_scan function when encountering backslash escapes #109
- Integrate oss-fuzz fuzzer #106
$ shasum -a 256 libpg_query-13-2.0.5.*
65e99d0a813666a365612bada17430bbc40b01a1aacf2836309f9de0570bb52d libpg_query-13-2.0.5.tar.gz
7883440bb891e7f2cf04b7cf25585994575d1c025db6b6adae72cb68a7dc2cd0 libpg_query-13-2.0.5.zip
13-2.0.4
- Deparser: Fix crash in CopyStmt with HEADER or FREEZE inside WITH parens
- The parse tree does not contain an explicit argument in those cases,
but does when specified in the legacy mode without the wrapping WITH. - With this change we only output the "1" argument when the original tree
also had this, to ensure parse tree comparisons match. Note the intent
here is technically the same, which is to enable these options.
- The parse tree does not contain an explicit argument in those cases,
$ shasum -a 256 libpg_query-13-2.0.4.*
a67ef3e3b6c9cb1297f362888d6660dac165d3b020f78d23afe4293b8ceaf190 libpg_query-13-2.0.4.tar.gz
783b72123f23538db5cf45ab979284025dbdffbac60304602a0c124e4dba53ed libpg_query-13-2.0.4.zip