Refactor query routing into its own module (#22)

* Refactor query routing into its own module

* commments; tests; dead code

* error message

* safer startup

* hm

* dont have to be public

* wow

* fix ci

* ok

* nl

* no more silent errors
This commit is contained in:
Lev Kokotov
2022-02-16 22:52:11 -08:00
committed by GitHub
parent 7b0ceefb96
commit 4c8a3987fe
11 changed files with 364 additions and 144 deletions

View File

@@ -23,4 +23,4 @@ SELECT * FROM shard_0 ORDER BY id LIMIT 10;
SELECT * FROM shard_1 ORDER BY id LIMIT 10;
SELECT * FROM shard_2 ORDER BY id LIMIT 10;
SELECT * FROM shard_3 ORDER BY id LIMIT 10;
SELECT * FROM shard_4 ORDER BY id LIMIT 10;
SELECT * FROM shard_4 ORDER BY id LIMIT 10;

View File

@@ -58,4 +58,4 @@ GRANT ALL ON TABLE data TO sharding_user;
\c shard2
GRANT ALL ON SCHEMA public TO sharding_user;
GRANT ALL ON TABLE data TO sharding_user;
GRANT ALL ON TABLE data TO sharding_user;

View File

@@ -1,3 +1,5 @@
\set ON_ERROR_STOP on
SET SHARDING KEY TO '1';
INSERT INTO data (id, value) VALUES (1, 'value_1');
@@ -44,4 +46,10 @@ SET SHARDING KEY TO '15';
INSERT INTO data (id, value) VALUES (15, 'value_1');
SET SHARDING KEY TO '16';
INSERT INTO data (id, value) VALUES (16, 'value_1');
INSERT INTO data (id, value) VALUES (16, 'value_1');
set sharding key to '17';
INSERT INTO data (id, value) VALUES (17, 'value_1');
SeT SHaRDInG KeY to '18';
INSERT INTO data (id, value) VALUES (18, 'value_1');

View File

@@ -1,3 +1,5 @@
\set ON_ERROR_STOP on
SET SERVER ROLE TO 'primary';
SET SHARDING KEY TO '1';
INSERT INTO data (id, value) VALUES (1, 'value_1');
@@ -88,6 +90,8 @@ SELECT * FROM data WHERE id = 9;
---
\set ON_ERROR_STOP on
SET SERVER ROLE TO 'primary';
SET SHARDING KEY TO '10';
INSERT INTO data (id, value) VALUES (10, 'value_1');
@@ -143,3 +147,7 @@ SELECT 1;
SET SERVER ROLE TO 'replica';
SELECT 1;
set server role to 'replica';
SeT SeRver Role TO 'PrImARY';
select 1;

View File

@@ -1,3 +1,5 @@
\set ON_ERROR_STOP on
SET SHARDING KEY TO '1';
SELECT * FROM data WHERE id = 1;
@@ -44,4 +46,4 @@ SET SHARDING KEY TO '15';
SELECT * FROM data WHERE id = 15;
SET SHARDING KEY TO '16';
SELECT * FROM data WHERE id = 16;
SELECT * FROM data WHERE id = 16;

View File

@@ -8,4 +8,4 @@ SELECT * FROM data;
\c shard2
SELECT * FROM data;
SELECT * FROM data;