Module java.sql
Package java.sql

## Interface ShardingKey

-     public interface ShardingKey

  Interface used to indicate that this object represents a Sharding Key. A `ShardingKey` instance is only guaranteed to be compatible with the data source instance that it was derived from. A `ShardingKey` is created using `ShardingKeyBuilder`.

  The following example illustrates the use of `ShardingKeyBuilder` to create a `ShardingKey`:

           DataSource ds = new MyDataSource();
           ShardingKey shardingKey = ds.createShardingKeyBuilder()
                                 .subkey("abc", JDBCType.VARCHAR)
                                 .subkey(94002, JDBCType.INTEGER)
                                 .build();

  A `ShardingKey` may also be used for specifying a `superShardingKey`. Databases that support composite Sharding may use a `superShardingKey` to specify a additional level of partitioning within the Shard.

  The following example illustrates the use of `ShardingKeyBuilder` to create a `superShardingKey` for an eastern region with a `ShardingKey` specified for the Pittsburgh branch office:

           DataSource ds = new MyDataSource();
           ShardingKey superShardingKey = ds.createShardingKeyBuilder()
                                 .subkey("EASTERN_REGION", JDBCType.VARCHAR)
                                 .build();
           ShardingKey shardingKey = ds.createShardingKeyBuilder()
                                 .subkey("PITTSBURGH_BRANCH", JDBCType.VARCHAR)
                                 .build();
           Connection con = ds.createConnectionBuilder()
                                 .superShardingKey(superShardingKey)
                                 .shardingKey(shardingKey)
                                 .build();

  Since:
    9