Skip to content

Sharding keys #164

Description

@lemenkov

Add sharding key support — oracledb's connection/pool shardingkey= / supershardingkey= so a connection can be routed to the right shard of a sharded database.

Scope

  • oracle.connect(..., shardingkey=[...], supershardingkey=[...]) (and pool equivalents) — oracledb-compatible API.
  • Encode the sharding key values into the connect/auth flow the listener uses to route to a shard (RE the exact pairs/descriptor fields oracledb-thin emits).
  • Type handling for key components (number, varchar, date, raw).

Notes / risks

  • A true sharded-DB testbed is heavy to stand up; the wire encoding can be RE'd from an oracledb-thin capture even against a non-sharded server (the client sends the key regardless), then full routing verified opportunistically.
  • Smaller surface than SODA but testbed-constrained for end-to-end routing — flag if it should move to a backlog/no-milestone if a sharded testbed proves impractical.
  • Sync + async parity; offline fixtures for the encoding.

Part of the 1.7.0 advanced-parity milestone.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions