Comparable<OracleShardingKey>
, ShardingKey
, OracleShardingKey
public class OracleShardingKeyImpl extends Object implements OracleShardingKey
Modifier | Constructor | Description |
---|---|---|
protected |
OracleShardingKeyImpl(OracleShardingKeyBuilderImpl builder) |
Modifier and Type | Method | Description |
---|---|---|
int |
compareTo(OracleShardingKey o) |
Used to compare two OracleShardingKey keys.
|
protected void |
debug(Logger logger, Level level, Executable method, String msg) |
|
static List<OracleShardingKeyImpl> |
decodeKeys(InputStream keysData, ShardingMetadata metadata, boolean isSuperKey, boolean isKeyHigh) |
Builds a list of sharding keys from the key data available as input stream from the database sharding metadata table LOCAL_CHUNKS.
|
String |
encodeKeyinB64Format() |
Encodes the sharding key as per the standard Base 64 format to be added into the connect string during connection creation.
|
boolean |
equals(Object otherObj) |
Compares this ShardingKey with the specified Object for equality
|
int |
hashCode() |
Returns the hashcode for this sharding key object.
|
boolean |
isSuperShardingKey() |
Checks if the the key is a super sharding key
|
boolean |
isValid(ShardingMetadata metadata) |
Checks if this sharding key is valid for the sharded database represented by the metadata
|
void |
markSuperShardingKey(boolean isSuperShardingKey) |
Marks the key to be used as a super sharding key
|
long |
shardKeyOraHash(ShardingMetadata metadata) |
Computes the hash value of the Sharding key as per Oracle's internal hash function.
|
String |
toString() |
|
String |
toString(Connection conn) |
protected OracleShardingKeyImpl(OracleShardingKeyBuilderImpl builder)
public void markSuperShardingKey(boolean isSuperShardingKey)
isSuperShardingKey
- if the key is to be used as a super sharding keypublic boolean isSuperShardingKey()
public int compareTo(OracleShardingKey o)
compareTo
in interface Comparable<OracleShardingKey>
o
- ShardingKey to which this sharding key is to be compared.public String toString()
toString
in class Object
Object.toString()
public String toString(Connection conn) throws SQLException
conn
- to be used to get the string value if there is a subkey of type oracle.sql.TIMESTAMPLTZSQLException
public boolean equals(Object otherObj)
equals
in class Object
otherObj
- Object to which this sharding key is to be compared.Object.equals(java.lang.Object)
public int hashCode()
hashCode
in class Object
Object.hashCode()
public String encodeKeyinB64Format() throws SQLException
metadata
- Metadata of the sharded database which needs to be accessed. neededSQLException
public long shardKeyOraHash(ShardingMetadata metadata)
metadata
- sharded database metadatapublic boolean isValid(ShardingMetadata metadata)
metadata
- Sharded database metadata to be used during the validation of this keypublic static List<OracleShardingKeyImpl> decodeKeys(InputStream keysData, ShardingMetadata metadata, boolean isSuperKey, boolean isKeyHigh) throws SQLException
keysData
- Input stream containing the byte value of key or list of keys stored in the database table local_chunksmetadata
- Contains the sharding metadata information that is used to build the keys.isSuperKey
- true if the keys to be constructed are super sharding keys,false otherwiseisKeyHigh
- true if the sharding keys to be constructed indicate the higher boundary if the sharding type is RANGE basedSQLException
- if there is an exception while building the keys.protected void debug(Logger logger, Level level, Executable method, String msg)