Uh oh!
There was an error while loading. Please reload this page.
feat: prune OR/range, pool PostgreSQL, 2PC stress, honest docs - #60
Conversation
Prune shard_key OR-of-equalities and RANGE inequalities/BETWEEN. Placeholders still scatter. ThreadSafeMultiRemoteExecutor pools PostgreSQL as well as MySQL. engine_stress_test uses DistributedTransactionManager. README matches current Session/ShardMap and tool 2PC behavior.
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
…ribute Flatten UNION ALL remotes so N shards open together. Route composite HASH keys, fail unknown tables, and move rows on shard-key UPDATE. LIST misses fail closed and BETWEEN/IN prune; composite colocated joins push when every key part is equated. Cache the logical plan and re-distribute on each hit.
- Composite RANGE now routes and prunes on the first key component (LIST still rejects composites; HASH uses all parts). - Semi-join prune: when one side of a join is sharded and the other is not, the engine materializes the small side and pushes an IN-list onto the sharded probe side. - New demo scripts for PostgreSQL shards (16432/16433) exercising RANGE + LIST + cross-shard 2PC with DistributedTransactionManager in POSTGRESQL mode. - sqlengine now auto-selects PostgreSQL 2PC dialect when all backends are pgsql://. - Added planner and live-backend tests; full suite now 1344 passed. Stacked on PR #61.
…range feat: composite RANGE, semi-join prune, PG LIST/RANGE + 2PC demo
feat: parallel scatter, composite keys, LIST prune, plan-cache redistribute
Uh oh!
There was an error while loading. Please reload this page.
Summary
Stacked on #56 (which now contains #57–#59).
id = 1 OR id = 2unions shards; RANGEid <= N/BETWEENprunes.id = ?still scatters.ThreadSafeMultiRemoteExecutordispatches PostgreSQL throughPgConnectionPool+ pinnedPooledPgSession.engine_stress_testusesDistributedTransactionManager.add_table(notadd_sharded_table); Session example uses 2PC; pooling/DML claims match the code.Validation
./run_tests --gtest_brief=1: 1325 passed, 39 skipped./run_tests --gtest_filter='DistributedPlannerTest.ShardRouting_*:ShardMapRangeTest.*'