What's Changed
Reference & Replicated Relations
- Add replicated relations to constraints check and ignore nonexistent ones by @EinKrebs #1556 #1567
- Change
ALTER RELATIONsemantics by @EinKrebs #1557 - Do not fail on schema-qualified reference relations by @reshke #1571
- Show column sequence mapping in
SHOW reference_relationsby @reshke #1598 - Fix describe for xproto+ref relation autoinc by @reshke #1620
- Add schema information to reference tables in QDB by @EinKrebs #1645
- Explicit selection of columns in copyReferenceTable data by @EinKrebs #1647
- Support router-coord proxy for drop reference relations by @reshke #1603
- Add sequence starting values to bootstrap by @reshke #1599
Planner, Analyzer & Execution Refactoring
- Move all analyze logic to planner module and refactor query planning by @reshke #1653 #1682
- Split planning and parameters binding in planqueryv1 @reshke #1670
- Analyze CTE before top-level query and fix analysis for NOT expressions @reshke #1672 #1673
- Refactor planner v1 virtual func logic, add support for virtual func in engine v2 @reshke #1601 #1602
- Make
EXPLAINactually work @reshke #1683
Balancer & Move Task Improvements
- Generate move task group dynamically by @EinKrebs #1631
- Add ‘STOP TASK GROUP’ command by @EinKrebs #1662
- Add move task group stop processing to balancer by @EinKrebs #1663
- Batch select bounds for move tasks and show more detailed stats by @EinKrebs #1664 #1671
- Get move task group info from etcd by @EinKrebs #1625
Query Rewrite & Virtual Processing
- Properly implement query rewrite feature by @reshke #1609
- Support virtual processing for SPQR metadata in regular connections by @reshke #1678
- Support virtual function
hostsin engine v2 by @reshke #1684
Console & CLI Enhancements
- Support marking backends as stale and
__spqr__host_statusfunction by @reshke #1560 #1561 - Support
WHEREclause forSHOW backend_connectionsby @reshke #1564 - Add
notice_message_formatsetting by @Denchick #1531 - Update
SHOWcommand entities by @Denchick #1635 - Add documentation for
REGISTER ROUTER/UNREGISTER ROUTERby @Denchick #1677 - Add key range lock state to
SHOWcommand by @Denchick #1577
Stability, Fixes & Cleanup
- Fix memory leaks for client-quantiles feature by @reshke #1569
- Proper handle duplicate shard creation by @xelavopelk #1581
- Delete sequences from QDB with
DROP REFERENCE RELATIONstmt @xelavopelk #1587 - NoWaitLockKeyRange @xelavopelk #1573
- Fix lasting key range lock in routers by @EinKrebs #1659
- Fix wrondly virtualized plans by @reshke #1642
- Remove redundant libs (
sqlx,uuid,juju/errors,pkg/errors) by @xelavopelk #1554 #1568 #1574 #1578 - Fix
SHOW versionoutput by @u5surf #1627 - Retry fix for insert into schema-qualify by @reshke #1676
- Fix copy for local executor by @reshke #1680
Performance & Connection Handling
- Introduce priority-based host selection logic by @reshke #1588
- Add connection allocation time to
SHOW backend_connections@reshke #1559 - Eagerly erase stale hosts from running pool @reshke #1563
DevOps & Infrastructure
- Add Docker image workflows by @Denchick #1681
- Dummy pprof endpoint by @reshke #1566
- Add sh3/sh4 configs to router YAML @EinKrebs #1580
- Update Dockerfile: bump Postgres @reshke #1675
- Add FAQ section @Denchick #1660
- Bumps by @dependabot in #1583 #1586 #1589 #1593 #1594 #1643 #1644 #1686 #1687 #1688
New Contributors
Full Changelog: 2.7.0...2.8.0