Skip to content

Releases: pganalyze/libpg_query

13-2.2.0

03 Nov 00:23
Compare
Choose a tag to compare
  • 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)
  • 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.
$ 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

28 Jun 23:41
4b30b03
Compare
Choose a tag to compare
  • 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

03 May 23:30
7eb584d
Compare
Choose a tag to compare
  • PL/pgSQL parser
    • Add support for Assert #135
    • Add support for SET, COMMIT, ROLLBACK and CALL #130
  • Add support for parsing more operators that include a ? character (special cased to support old pg_stat_statements query texts)
    • ltree extension #136
    • promscale extension #133
  • Deparser improvements
    • Prefix errors with "deparse", and remove some asserts #131
    • Fix potential segfault when passing invalid protobuf (RawStmt without Stmt) #128
$ 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

12 Oct 21:22
Compare
Choose a tag to compare
  • 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
$ 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

16 Jul 09:23
802caf2
Compare
Choose a tag to compare
  • 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
  • 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

29 Jun 18:41
a248206
Compare
Choose a tag to compare
  • 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.
$ 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

24 Jun 21:43
Compare
Choose a tag to compare
  • 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.
  • 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.
  • 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

05 Apr 22:06
Compare
Choose a tag to compare
  • 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.
$ 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

13-2.0.3

03 Apr 00:10
Compare
Choose a tag to compare
  • Normalize: Fix handling of two subsequent DefElem elements #96
    • We were incorrectly adding too many DefElem locations to the recorded
      constant values, causing a crash when more than a single DefElem
      is present in a utility statement.
$ shasum -a 256 libpg_query-13-2.0.3.*
7f2b74e1fcc7322e7565fd7465d85db3fb453e9cb7f2edba7e5ea7ab63d27dfe  libpg_query-13-2.0.3.tar.gz
49fe7bbc0c727ff7b2e0ac2aecaf2863a1ca61543701986a71d7a0c24daf825b  libpg_query-13-2.0.3.zip

Release 13-2.0.2

30 Mar 08:48
Compare
Choose a tag to compare
  • srcdata/nodetypes.json: Avoid bogus values accidentally parsed from inside comments
$ shasum -a 256 libpg_query-13-2.0.2.*
fe485f48bb51dcc5ed146b1c9929da417357ae8844c2f0c8fe1e235fa1d14257  libpg_query-13-2.0.2.tar.gz
160b3bf55e94a3bb06825fdd20019e53d21380824f13ca9f7b97adf842b0978e  libpg_query-13-2.0.2.zip