Releases: pg-sharding/spqr
Releases · pg-sharding/spqr
2.1.0
What's Changed
- Refactor protospecs by @EinKrebs in #790
- Bump lyx by @reshke in #793 #794 #801
- Support __spqr__auto_distribution hint by @reshke in #802
- Some pool refactorings by @Denchick in #799 #805 #808
- Allow multishard copy under separate setting by @reshke in #804
- Enhace COPY perfomance by @reshke in #809
- Add go fmt check by @Denchick in #812
- Fix pooling loose ends by @reshke in #814
- Add 'REDISTRIBUTE KEY RANGE' command by @EinKrebs in #789
- Prefer hosts in the same availability zone by @Denchick in #813
- Bumps by @dependabot in #785 #786 #791 #795 #797 #811 #815
Full Changelog: 2.0...2.1.0
2.0.0
What's Changed
- Refactor bind/param format applying code paths by @reshke in #729
- Bump lyx by @reshke in #731 #734 #735 #740 #746
- Drop unused function by @reshke in #736
- Do not sync backend connections if uneeded by @reshke in #737
- Prepared stmt refactor & add ParamOids by @reshke in #738
- Fix check if shard exists in qdb by @diPhantxm in #739 #776
- Update
docs/
by @Denchick in #774 #758 #757 #742 - Fix linter by @visill in #747 #763
- Update to the latest go version 1.23.0 by @Denchick in #756
- Uncommenting an interface by @visill in #752
- Add ORDER BY for
show clients
by @visill in #762 - Add common query time quantiles && 'SHOW time_quantiles' query processing by @EinKrebs in #767
- Support COPY by @diPhantxm in #748
- Reference table initial infra code change by @reshke in #769
- Change output type of 'SHOW time_quantiles' to float8 by @EinKrebs in #770
- Group by in Coordinator SHOW by @diPhantxm in #771
- Disable move key range in LocalCoordinator + refactoring by @EinKrebs in #780
- Refactoring of proxy_routing.go by @EinKrebs in #781 #782
- Fix dropping key range in MemQDB by @EinKrebs in #783
- Bumps by @dependabot #727 #732 #733 #741 #751 #750 #760 #759 #761 #764 #765 #766 #768 #779 #778 #784
Full Changelog: 1.5.0...2.0
1.5.0
What's Changed
- Correctly handle virtual tx in router by @reshke in #693
- Drop
sharding rule
mentions by @Denchick in #694 - Do not unroute in xproto too early by @reshke in #679
- Optimize xproto. Cache portal descriptions. by @reshke in #696
- Update relay.go. Remove unnamed portal closing by @reshke in #634
- Generate qdb mock for futher use by @reshke in #699
- Fix spqrdump binary name. by @reshke in #700
- Fix hints by @reshke in #701
- Add client_encoding and datestyle params to coordinator console by @diPhantxm in #702
- Change yacc and protos for multidim key ranges. by @reshke in #545
- Add timeout to dial operation by @reshke in #705
- Support Terminate message in coordinator console by @diPhantxm in #707
- positive cache host order whilst acquire connection for each TSA by @reshke in #709
- Fixes by @reshke in #711
- Lower default keepalive by @reshke in #713
- Add keepalive setting to router config by @Denchick in #717
- Fix hint routing test by @reshke in #718
- Routing hint xproto fixes. SET spqr param processing better. by @reshke in #719
- Perf enhancement: lazy flush backend connection, do not unroute xprot… by @reshke in #714
- Simple parser cache by @reshke in #715
- Make FOR DISTRIBUTION optional when there is only one distribution by @visill in #720
- Update docs/ folder and README.md by @Denchick in #721
- Override default tsa in instance config by @reshke in #722
- Tcp user timeout by @reshke in #723
- Bumps by @dependabot in #685 #695 #698
New Contributors
Full Changelog: 1.4.0...1.5.0
1.4.0
Auth
- LDAP auth for frontend router by @NitroLine in #642
- GSS-API frontend auth - Kerberos by @NitroLine in #657
- LDAP auth by @lGreenLightl in #669
Balancing
- Move key ranges via postgres_fdw by @EinKrebs in #566
- Add commands for task group to SQL by @EinKrebs in #637
New features
- Extended proto multiple portal support/describe msg fix by @reshke in #631
- Support unix socket communication by @diPhantxm in #614
- Add set operations processing by @EinKrebs in #639
- Process several set values for each distribution key by @EinKrebs in #625
- Support per-route custom search_path by @reshke in #654
- Add pid column to
show backend connection
& add `show prepared_stat… by @reshke in #660 - better console messages by @IakimovNutria in #629
- Able to use different username when internal backend connect to shards by @NitroLine in #664
Fixes
- Add CodeQL workflow by @secwall in #608
- Fix make run by @diPhantxm in #610
- fix router.yaml config file by @JoBeR007 in #612
- Updates by @reshke in #615
- Fix typo in datashard.go by @EinKrebs in #617
- Recurce into with cluase for query routing. Skip CTE in distribution validation by @reshke in #621
- Added processing for statements with subselect compared to const by @EinKrebs in #624
- Drop deprecated 'version' param from Docker Compose files by @EinKrebs in #627
- Drop unused constants from ast.go by @EinKrebs in #633
- fix typo in "proccessing" by @JoBeR007 in #638
- Do not send rollback when there is no tx in server by @reshke in #641
- Coordinator support for systemd notifications by @diPhantxm in #649
- Update relay.go: fix by @reshke in #647
- Update proxy_routing.go: drop unparsed_columns by @reshke in #663
- Add separator to (InstancePoolImpl).SelectShardHost by @EinKrebs in #662
- Fix typos & formatting by @EinKrebs in #666
- Fix running router docker image when config file is mount by @EinKrebs in #675
- Update proxy_routing.go: correct error message by @reshke in #677
- do not process null exprs by @reshke in #678
Tests, docs
- Add docs/Balancer.md by @Denchick in #611
- Fix scram auth feature flaps by @EinKrebs in #616
- Fix cache errors in feature tests by @EinKrebs in #622
- Fix init etcd feature flaps by @EinKrebs in #632
- Generate docs for pkg/ by @ValeriaIM in #648
spqr/pull/651 - Add Clientinteractor GetColumnsMap tests by @SergeyBirukov in #656
- Tests for GetKeyRange, MemQDB part by @valdmity in #650
- Generate docs for pkg/ by @valdmity in #658
- Update proto_test.go: drop sharding rule creartion by @reshke in #670
- add hash routing tests by @Denchick in #682
- Bumps by @dependabot in #613 #609 #626 #628 #636 #635 #640 #645 #644 #643 #652 #661 #659 #653 #667 #668 #672 #676 #680 #681
- Bump lyx by @EinKrebs and @reshke in #618 #619 #620 #623 #673
New Contributors
- @JoBeR007 made their first contribution in #612
- @ValeriaIM made their first contribution in #648
- @SergeyBirukov made their first contribution in #656
- @valdmity made their first contribution in #650
- @lGreenLightl made their first contribution in #669
Full Changelog: 1.3.1...1.4.0
I.III.I
What's Changed
- Do not skip initsql when qdb persist by @reshke in #570
- Set sslmode: allow in regress test by @NitroLine in #568
- Add GetKeyRange method to proto & EntityMgr by @EinKrebs in #567
- Fix working with multiple distributions in balancer by @EinKrebs in #572
- Correct with coordinator feature example config by @reshke in #574
- Use config to get shard connection data in balancer by @EinKrebs in #579
- Update init.sql by @reshke in #580
- Do not spawn keep alive channel before lock taken by @reshke in #581
- More thorough check for relation detachment when distribution dropped by @EinKrebs in #573
- Delete docker/router/qlog by @reshke in #583
- Refactor init sql code by @reshke in #588
- refactor. addkeyrange* -> createkeyrange* by @reshke in #591
- revoke lease when other coordinator is active by @reshke in #592
- Fix router_with_coordinator.yaml to be in sync with other example con… by @reshke in #593
- Deprecated use of sharding rule proto & service by @EinKrebs in #518
- remove sharding rules server from coordinator by @reshke in #594
- Implement DropKeyRange && DropAllKeyRanges in coordinator grpc service by @reshke in #595
- Do not sleep when feature test fails by @EinKrebs in #598
- Close coordinator-router connections after use by @reshke in #596
- Allow coordinator to serve multiple clients by @reshke in #597
- fix xproto test by @reshke in #600
- Enhance Makefile clean_feature_test targets by @reshke in #601
- Fix memqdb feature flaps by @EinKrebs in #582
- Configure router port via cli by @reshke in #602
- More options in CLI by @reshke in #603
- Rewrite Lock/Delete key range ops to prevent deadlocks by @EinKrebs in #575
- Init from etcd: basic support by @reshke in #590
- Fix linter by @reshke in #605
- Bumps by @dependabot in #585 #604 #606 #607
Full Changelog: 1.3.0...I.III.I
1.3.0
What's Changed
On the way to SPQR 2.0 #431
- Added 'ALTER DISTRIBUTION ATTACH RELATION' command by @EinKrebs in #480
- Removed 'ATTACH TABLE TO DATASPACE' from gram by @EinKrebs in #482
- Fix GetDistribution method in MemQDB by @EinKrebs in #485
- Added 'ALTER DISTRIBUTION ds_id DETACH RELATION rel_id' statement support by @EinKrebs in #484
- Forbid default distribution & coordinator fixes by @EinKrebs in #490
- Support hash functions in distributions. Add distribution key in inte… by @reshke and @ein-krebs in #503 #505
- Removed unused function SetDS from some clients by @EinKrebs in #507
- Enhace yacc parser to accept multiple relations by @reshke in #508
- Forbid setting __spqr__distribution param & removed Distribution-related client methods by @EinKrebs in #509
- Remove sharding rules by @EinKrebs in #510
- More verbose output in 'SHOW distributions' command by @EinKrebs in #514
- Added test for re-attaching relation to distribution by @EinKrebs in #516
- Add 'SHOW realtions' method to console by @EinKrebs in #515
- Removed sharding rules from core & QDB by @EinKrebs in #517
- Detach relations in DROP DISTRIBUTION CASCADE by @EinKrebs in #529
- Deprecate key range upper bound in grpc by @EinKrebs in #527
- Added processing for 'ADD/DROP SHARD' commands by @EinKrebs in #539
- Drop key range upper bound from everywhere by @EinKrebs in #553
- Fix DROP DISTRIBUTION in etcd by @reshke in #565
Shards [re]balancing
- spqr-mover feature tests by @EinKrebs in #534
- Fix spqrdump & add feature tests by @EinKrebs in #526
- Remove balancer by @EinKrebs in #547
- Change key range splitting/unification logic by @EinKrebs in #549
- Rename dumper.feature -> spqrdump.feature by @EinKrebs in #550
- Added new spqr-balancer by @EinKrebs in #552
Extended Protocol improvements
- Fix xproto with advanced routing logic. by @reshke in #456
- Change parameter in TestPrepStmt so no ParameterStatus is sent by @EinKrebs in #466
- Fix logging during database & sharding rules in proto tests by @EinKrebs in #471
- 'maintain_params: true' in xproto tests router config by @EinKrebs in #472
- Add nodata case in xproto by @reshke in #486
- Split bind/exectute logic into stages by @reshke in #487
- Delete non-idempotent tests by @reshke in #491
- Fix some xproto tests by @reshke in #492
- Xproto route on param test by @reshke in #497
Fixes, refactorings, tests, etc.
- Update github actions with dependabot by @secwall in #458
- Bumps by @dependabot in #462 #463 #460 #461 #459 #465 #469 #475 #474 #470 #488 #489 #494 #501 #519 #533 #536 #537 #538 #540 #541 #543 #544 #564 #563
- Fix & refactor methods in memqdb & etcdqdb by @EinKrebs in #478
- Fix regression tests execution by @EinKrebs in #481
- 'SHARDING COLUMN TYPES' -> 'COLUMN TYPES' by @EinKrebs in #473
- Fix typos in by @EinKrebs in #467 #468 #476 #513 #523 #530
- Fixed feature tests execution by @EinKrebs in #493
- Fixed kill feature test by @EinKrebs in #495
- Fix proxy_console feature test by @EinKrebs in #498
- Refactor proxy routing logic: record only distributed column query restrictions by @reshke in #500
- Refactoring by @EinKrebs in #502
- Simplify & refactor insert on target list + insert on values scan rou… by @reshke in #504
- Create Syntax.md by @Denchick in #511
- Fixed SyncRouterMetadata & added test by @EinKrebs in #531
- More tests by @reshke in #535
- Add errors test by @reshke in #542
- Add debug flags to router build by @EinKrebs in #551
- Reset server if case of PostgreSQL fatal or other errors. by @reshke in #554
- Add simple Unit tests for String() method in TXStatus by @NitroLine in #555
- added tests to qLog DumpQuery by @NotAmigo in #556
- fix by @reshke in #558
- Add unit test for connection pooling logic by @reshke in #559
- Add concurrent unit test by @reshke in #560
- fix unittest race by @reshke in #561
- Add flag to configure memqdb persistent setup by @reshke in #562
- added tests to shard utils ShardIDs by @IakimovNutria in #557
New Contributors
- @secwall made their first contribution in #458
- @NotAmigo made their first contribution in #556
- @NitroLine made their first contribution in #555
- @IakimovNutria made their first contribution in #557
Full Changelog: 1.2.0...1.3.0
1.2.0
What's Changed
- Attach table to dataspace by @EinKrebs in #389
- Create Dockerfile and generate protoc, goyacc, regex and mock files by @CBists in #399
- Add TODOs for new contributors by @Denchick in #402
- Add GORM regression tests to CI by @EinKrebs in #404
- Update docs by @Denchick in #405 #401
- Add optional column type definitions for dataspace by @reshke in #406
- Add GOMAXPROCS in coordinator app by @Denchick in #407
- Better test for extended proto by @reshke in #409
- Fix for xproto test by @reshke in #410
- Dockerize xproto tests by @EinKrebs in #411
- Add xproto test for insert with params & small fixes by @EinKrebs in #412
- Add error code by @CBists in #408
- Fix Lock release in UnRouteCB by @EinKrebs in #414
- Minor fixes for extended proto by @reshke in #413
- Fix Lock release in UnRouteCB(finally) by @EinKrebs in #417
- Add text test for extended protocol by @EinKrebs in #418
- Fix saveBind setting in relay.go by @EinKrebs in #420
- Small TryCoordinator fix by @Denchick in #422
- Fix stalling extended protocol tests by @EinKrebs in #421
- Renamed xproto & gorm regression test actions by @EinKrebs in #423
- Cleanup bindRoute & xBuf after query regardless of result by @EinKrebs in #425
- Add userver test by @reshke in #424
- Change prepared statement name to not intrersect with previous test by @reshke in #426
- Fix xproto tests by @EinKrebs in #427
- Change error resp by @CBists in #415
- Rename http_addr to grpc_api_port in coordinator by @Denchick in #432
- Enhace router test by @reshke in #435
- Use uint32 for hash funcs by @Denchick in #437
- Fix x proto queries routing by @reshke in #438
- Implement ListShards and GetShardInfo by @CBists in #439
- Implement GetCoordinator in adapter by @CBists in #440
- Enable error output about launch parameters on command line by @alexnik10 in #436
- Fix unittest & add more test by @reshke in #443
- Add TestCheckColumnRls by @alexnik10 in #442
- Bump lyx by @reshke in #444
- Refactor to support routing of x proto queries by @reshke in #446
- route queries on sublink and in func applications by @reshke in #447
- Try to parse funcation application params for non-sharding rule column. by @reshke in #451
- Bumps by @dependabot in #449 #448 #450 #372 #403
- Bump goland to 1.21 by @reshke in #452
- Drop upper bound in internal logic by @reshke in #445
- Fix coordinator port and small refactoring by @Denchick in #453
- Coordinator auth by @Denchick in #454
- Rename dataspace to distribution and refactor relating code by @reshke in #455
New Contributors
- @alexnik10 made their first contribution in #436
Full Changelog: 1.1.0...1.2.0
1.1.0
What's Changed
- Update README.md by @x4m and @davecramer in #341 #340 #358
- Fix tx status tracking by @reshke in #343
- SELECT DISTINCT tests by @CBists in #331
- Support more spqr specific params, support scatter route hint by @reshke in #328
- Support prefer-replica and reset TSA after client unroute by @reshke in #342
- Improve logging by @reshke in #337
- Add key range with checks, better logging by @Denchick in #339
- Enable dependabot by @Denchick in #345 #347
- fix_regress by @CBists in #346
- Fix unittests and etcd paths by @Denchick in #344
- BEGIN tests by @CBists in #327
- Added regress tests with hibernate by @EinKrebs in #353
- Add error to init key range by @CBists in #352
- Bumps by @dependabot in #360 #348 #362 #371 #379
- Add JDBC regression test by @EinKrebs in #359
- Pre-defined hash functions for key range by @reshke in #361
- Added gorm regression tests by @EinKrebs in #364
- Migrate to Docker Compose v2 by @EinKrebs in #356
- Better by @reshke in #365
- add simple hash function tests by @Denchick in #366
- Support set statement routing + unit test by @reshke in #367
- Fix prepared statement support for multi-statement sessions by @reshke in #368
- Fix extra ready for query message in xproto by @reshke in #369
- fix error from issues by @vovotata in #374
- Fix gram for SPLIT KEY RANGE by @reshke in #377
- Feature tests temporary fix by @Denchick in #378
- Drop e2e tests by @Denchick and @CBists in #397 #349
- Simple
SHOW clients
tests by @Denchick in #380 - Refactor internal params and route hint handling by @reshke in #381
- regenerate protos files by @CBists in #385
- Fix typos by @EinKrebs in #386 #395 #393
- Route
select current_schema
to random shard by @reshke in #382 - Consume message from Lease.KeepAlive channel in TryLockCoordinator by @Denchick in #384
- Information schema routing by @reshke in #383
- Add KILL client feature tests by @Denchick in #394
- Add switch dataspace in schedule by @CBists in #392
- fastfix: run all feature tests by @Denchick in #396
New Contributors
- @x4m made their first contribution in #340
- @davecramer made their first contribution in #358
- @dependabot made their first contribution in #360
- @vovotata made their first contribution in #374
Full Changelog: 1.0.0...1.1.0
1.0.0
What's Changed
- Bump lyx by @reshke in #295
- generate proto by @diPhantxm in #296
- Add gram rules for start trace request by @reshke in #297
- Run coordinator together with router by @diPhantxm in #287
- Regen yacc by @reshke in #299
- Logproxy in router by @debebantur in #298
- Replay test workload by @debebantur in #303
- revert config param in router cmd by @Denchick in #300
- Update .gitignore by @reshke in #304
- route begin transaction read-only to replica by @reshke in #305
- Bump lyx by @reshke in #307
- bump lyx by @Denchick in #308
- Update main.go by @reshke in #310
- Bump lyx by @reshke in #311
- Xproto: extended query protocol interactions. by @reshke in #302
- Bump lyx by @reshke in #312
- Added support for systemd notifications by @EinKrebs in #314
- Add client_encoding to router console by @munakoiso in #315
- Add dataStyle to router console by @munakoiso in #316
- Accept routing hints in comments by @reshke in #317
- Support SET and RESET processing via lyx, support router-only params by @reshke in #321
- Fix for varsset by @reshke in #323
- Bymp lyx, add show support by @reshke in #324
- Run separate read-only port by @reshke in #325
- add test to router_hint by @CBists in #326
- Deploy prepared statement before executing, if not in prepared statem… by @reshke in #329
- Bump lyx version by @reshke in #330
- Dataspace v3 by @CBists in #322
- TPC-C test results by @Denchick in #332
- Cache prepared statements in shard connection, not in shardserver by @reshke in #333
- Do not send too much bind complete by @reshke in #334
- fix index out of range by @Denchick in #335
- Fixes by @reshke in #336
- Update README.md by @Denchick in #338
New Contributors
Full Changelog: 0.1.0...1.0.0
0.1.0
What's Changed
- test sync router after registration in coordinator by @diPhantxm in #267
- Run release job on release instead of tag by @EinKrebs in #273
- add some checks to Split/Unite by @diPhantxm in #275
- Refactor QDB interfaces, add comments to code by @reshke in #274
- check if sharding rule already exists by @diPhantxm in #278
- fix key range intersection checks by @diPhantxm in #276
- ping router before adding to qdb by @diPhantxm in #277
- Bump dependencies by @Denchick in #281
- fix coordinator crash when moving key range twice by @diPhantxm in #282
- Single coord by @debebantur in #280
- fix missing log level on router reload by @nikifkon in #284
- Support X protocol in frontend interactions: Part 1 by @reshke in #286
- Fix typo in spqr_test.go by @EinKrebs in #289
- Refactor Client, Relay and PoolMgr interfaces by @reshke in #288
- Parallelize scenarios by @nikifkon in #285
- add checks to move key range by @diPhantxm in #283
- Run regress tests on 12-15 Postgresql by @nikifkon in #290
- Ignore feature tests artifacts by @EinKrebs in #293
- Added SCRAM auth feature tests by @EinKrebs in #292
- fix possible deadlock on big move by @nikifkon in #291
Full Changelog: 0.0.7...0.1.0