What's Changed
Features
- REDISTRIBUTE KEY RANGE [CHECK|APPLY] by @EinKrebs in #1087 #1088
- Sequences by @diPhantxm and @Denchick in #1111 #1120
- Read Only console until coordinator lock acquired by @diPhantxm in #1122
- Show is_read_only by @diPhantxm in #1123
- UUID by @diPhantxm in #1127
- Add RETRY MOVE TASK GROUP command by @EinKrebs in #1149
- Syntax for SYNC REFERENCE TABLES by @Denchick in #1176
- AUTO INCREMENT START syntax by @Denchick in #1169
- spqr-ping by @Denchick in #1168
Multi-column sharding feature
- prepation for coluticolumn routing support in copy by @reshke in #1113
- Support multi-column copy processing by @reshke in #1115
- Direct routing for inserts, multicolumn logic support back. by @reshke in #1106
- Add multicoulmn routing with different types by @reshke in #1116
Better balancing
- Add schema metadata to distributed relations by @EinKrebs in #1125
- Fail if relation not found on source cluster in redistribute check by @EinKrebs in #1133
- Add schema name to 'SHOW RELATIONS' output by @EinKrebs in #1134
- Check for distribution key columns in redistribute by @EinKrebs in #1138
- Fix multiple tuples on one distribution key in redistribute by @EinKrebs in #1141
- Fix getNextKeyRange by @EinKrebs in #1144
- Fix move status update by @EinKrebs in #1145
- Fixes in datatransfers.MoveKeys by @EinKrebs in #1146
Better routing
- Use no-check-routing-rules optimization for single-shard setups by @reshke in #1162
- Refactor comment parse processing and set TSA aliases by @reshke in #1166
- Bump lyx by @reshke in #1182 (TODO)
- Add reset support for spqr tsa param by @reshke in #1180
- Support for res target by @reshke in #1183
- Throw error when failed getting schema cache by @EinKrebs in #1188
- Add POC version of read-only-to-replica feature check facility by @reshke in #1193
- Route read-only to replicas by @reshke in #1195 // smart-read-write
Virtual processing
- Virtual processing preparational patch. Support sub-select correcly. by @reshke in #1126
- pg_is_in_recovery virtual processing by @reshke in #1132
- Select 1 virtual proc by @reshke in #1174
- test for spqr virtual param processing and fixes by @reshke in #1178
- Fix for pure virtual processing by @reshke in #1181
- Fix bind processing of preudo commands by @reshke in #1198
- Fix virtual param transaction bound handling by @reshke in #1191
Fixes, Tests, Documentation
- Prelimitary refactoring for multi-column routing by @reshke in #1094
- Remove queue from routeByClause. Use dfs instead of bfs by @reshke in #1096
- Split routing logic into two stages: relations analyze and predicate … by @reshke in #1098
- One more little refactoing to mulit-column routing by @reshke in #1100
- More refac: bring common select analyze logic to plan/analyze utilities by @reshke in #1101
- Add reference and replicated table docs by @Denchick in #1102
- Add public talks by @Denchick in #1105
- Fix routing by where clause by @reshke in #1103
- Fix systemd notify without coordinator lock by @diPhantxm in #1107
- Check if distribution empty when creating in coordinator by @diPhantxm in #1109
- fetchKeyRange: possible data corruption handling by @Denchick in #1112
- Rewrite copy tests for 4 shard setup by @reshke in #1114
- ListShards unittest by @miaarb in #1110
- Minor fixes by @EinKrebs in #1128
- Rewrite multishard tests by @reshke in #1131
- Add spqrguard to build by @reshke in #1137
- Fix panic on rollback by @reshke in #1147
- Fix panic on client failure cleanup by @reshke in #1148
- Refactor base coordinator by @diPhantxm in #1121
- add DisableObsoleteClient option by @Denchick in #1151
- Temp fix uvarint bytes encoding by @reshke in #1152
- TestEncodeUInt64 by @Denchick in #1153
- Fix hash (copy) test routing issues by @reshke in #1156
- Fix inconsistent copy-on-error rollback by @reshke in #1157
- Fixup defaults to be pgbench-friendly by @reshke in #1160
- Update 4shardproxy.yaml: more fix for sane defaults by @reshke in #1161
- Teach worldmock to handle select 1 pgbench by @reshke in #1163
- Teach worldmock to respond to read-write check by @reshke in #1164
- Lock-free shard connection management in single shard server by @reshke in #1165
- Refactor TSA checkers by @Denchick and @reshke in #1142 #1187
- Fix double-free in multidbpool by @EinKrebs in #1192
- Exit on error in any router interfaces by @EinKrebs in #1202
- Fix kr intersect check by @diPhantxm in #1136
- Fix expect by @reshke in #1173
- specify connection_limit everywhere by @Denchick in #1177
- Remove unneeded mutex by @reshke in #1179
- Fix regression test by @reshke in #1184
- Fix coordinator_show.feature by @EinKrebs in #1189
- More presice join scatter tests by @reshke in #1190
- Little refactoring by @reshke in #1196
- Add replicas to shards in tests by @EinKrebs in #1185
- Add test for binding unprepared statement by @reshke in #1203
- Target session attrs query on standby tests by @reshke in #1204
- Simplify docker images by @EinKrebs in #1208
- Update Dockerfile: bump postgresql version by @reshke in #1209
- Add CmpRangesLess tests by @SolinMaxim in #1199
- Update router.mdx by @reshke in #1205
- Bumps by @dependabot in #1082 #1089 #1090 #1091 #1093 #1099 #1104 #1108 #1117 #1118 #1119 #1124 #1135 #1139 #1155 #1167 #1170 #1194 #1197 #1200
New Contributors
- @miaarb made their first contribution in #1110
- @SolinMaxim made their first contribution in #1199
Full Changelog: 2.5.0...2.6.0