feat: introduce read preference (#5783)

* feat: introduce read preference

* feat: introduce `RegionQueryHandlerFactory`

* feat: extract ReadPreference from http header

* test: add more tests

* chore: apply suggestions from CR

* chore: apply suggestions from CR
This commit is contained in:
Weny Xu
2025-04-01 17:17:01 +08:00
committed by GitHub
parent f9221e9e66
commit 4ef9afd8d8
26 changed files with 311 additions and 17 deletions

View File

@@ -0,0 +1,28 @@
-- SQLNESS PROTOCOL MYSQL
SELECT read_preference();
+-------------------+
| read_preference() |
+-------------------+
| LEADER |
+-------------------+
-- SQLNESS PROTOCOL MYSQL
SET read_preference = 'hi';
Failed to execute query, err: MySqlError { ERROR 1235 (42000): (Unsupported): Not supported: Invalid read preference expr hi in set variable statement }
-- SQLNESS PROTOCOL MYSQL
SET read_preference = 'leader';
affected_rows: 0
-- SQLNESS PROTOCOL MYSQL
SELECT read_preference();
+-------------------+
| read_preference() |
+-------------------+
| LEADER |
+-------------------+

View File

@@ -0,0 +1,13 @@
-- SQLNESS PROTOCOL MYSQL
SELECT read_preference();
-- SQLNESS PROTOCOL MYSQL
SET read_preference = 'hi';
-- SQLNESS PROTOCOL MYSQL
SET read_preference = 'leader';
-- SQLNESS PROTOCOL MYSQL
SELECT read_preference();