Features
- Basic support for cross-shard subqueries @jkaczman
- Add
auth_typeconfig to user entries inusers.toml@levkk @BABTUNA - Use replication origin to track replication progress during resharding. This makes it durable and allows us to recover progress after a crash (still a TODO). @meskill
- Add row-level metrics for DML/DDL queries @murex971
- Ensure non-deterministic functions like
now()return consistent results in cross-shard DELETEs @jkaczman - Support parsing custom logical messages to handle DDL replication @jkaczman
Bug fixes
pg_try_advisory_lockhandling was optimistic / did not account for lock not being actually available. PgDog will only pin the session now if the lock was actually acquired. @levkkDISCARD ALLreturned wrong command tag, breaking JDBC driver prepared statements handling @levkkSETnow correctly overridesSET LOCALinside a transaction @levkkRESETnow correctly restores startup parameters @levkkROLLBACKno longer undo's aRESETfrom previous transaction @levkk- Invalid parameter settings would leave server connection in a partial/dirty state @levkk
- Parameter names were incorrectly escaped @levkk
SET LOCAL [...] TO DEFAULTwould be incorrectly treated asSET@anna-poutanen- PgDog now compiles under FreeBSD @mahlonsmith
COPYidentifiers (table name and column names) are now correctly escaped during resharding @BABTUNA- Correctly handle
ABORTandENDwhen query parser is off. This was regression introduced in v0.1.60. @levkk @valanor-vaelmir - Correctly detect sharding key in join clause @levkk @PeterZaitsev
- Correctly check that each shard committed the transaction before returning success during resharding @jkaczman
- Unsupported agggregate functions now return an
ERRORinstead ofFATAL@levkk @PeterZaitsev - Fix
avg()scale for cross-shard numerics @murex971 @PeterZaitsev
Performance
- Reduce memory usage of prepared statements cache after bursts of new statements are added and removed. This affects drivers like
tokio-postgres,go/pq,Postgrexand others that prepare one-off prepared statements to execute queries
Code quality
Full Changelog: v0.1.61...v0.1.62