Skip to content

v0.1.53

Latest

Choose a tag to compare

@levkk levkk released this 13 Aug 20:09
· 2 commits to main since this release
f43943b

New parser

New parser is now enabled by default. Please test this release before launching in production. You should see 6x-8x speed improvements resulting in lower latency for query cache misses, and up to 90% memory usage reduction overall. This is not a typo! We fixed quite a few things here.

This also makes the query_parser_engine setting redundant and obsolete. It will now be ignored.

By @sgrif

Bug fixes

  • Fix negative interval text format parsing in cross-shard aggregates @bryanmehall
  • Connection pools were giving clients closed server connections, causing intermittent errors @nsavvide
  • In role = "auto" mode, set all hosts to role = "replica" until proven otherwise; this unblocks reads faster during configuration changes @murex971
  • [New parser] Fix GRANT and CREATE STATISTICS DDL handling @levkk
  • When using schema-based sharding, ignore the inconsistent omnisharded tables write check @levkk
  • Include sv_idle_xact calculation into the example Datadog dashboard @zacharywelch
  • Fix crash when a cross-shard avg() calculation was done on empty tables @sgrif
  • RESET PREPARED admin command wasn't doing anything @IgorOhrimenko
  • Fix Mac OS build for the new parser @jkaczman
  • Fix pipelined queries using Postgres portals; specifically affected the Node JS Postgres drivers @nsavvide
  • Sending portal close messages could potentially close prepared statements that were identically named @meskill
  • Schema synchronization during resharding now restores REPLICA IDENTITY indexes in the post-data phase @rlittlefield
  • Cross-shard aggregates with passthrough columns now work correctly @jkaczman
  • PREPARE was leaking memory in the prepared statements cache @meskill
  • Fix incorrect handling of errors in mixed simple/extended protocol exchange @jkaczman

Performance

  • Lower the number of memory allocations in prepared statements cache @meskill
  • Remove unnecessary statement allocation in the parser (50% allocation reduction in the hot path) @sgrif

Features

  • Track selected, inserted and deleted rows, as reported by server connections @murex971
  • Support prepared statements cache TTL (time to live), automatically re-planning statements periodically; this sidesteps the stale execution plan problem @meskill

Misc

  • Clippy pass over new parser code @sgrif
  • Bump Mac OS runner to macos-26 (macos-14 is about to be deprecated) @jkaczman
  • Docker compose demo wasn't saving Postgres data correctly @andyatkinson
  • Small refactor of pool health tracking @sgrif

New Contributors

Full Changelog: v0.1.52...v0.1.53