Skip to main content

A binary key used for shard routing. More…

Public Member Functions

 RecordKey (int bufferSize)
 Creates a new RecordKey with the specified buffer size.
 
long HashCode ()
 Gets the hash code for stripe distribution.
 
int Route (IList< int > routingTable)
 Routes this key to a worker index using the routing table.
 
void Invalidate ()
 Invalidates this key (e.g., when a null value is encountered).
 
void ComputeHash ()
 Computes the routing hash from the buffer contents.
 
void AddInt8 (sbyte value)
 Adds an 8-bit integer to the key.
 
void AddInt16 (short value)
 Adds a 16-bit integer to the key (little-endian).
 
void AddInt (int value)
 Adds a 32-bit integer to the key (little-endian).
 
void AddLong (long value)
 Adds a 64-bit integer to the key (little-endian).
 
void AddFloat (float value)
 Adds a 32-bit float to the key.
 
void AddDouble (double value)
 Adds a 64-bit double to the key.
 
void AddString (string value)
 Adds a string to the key (via MurmurHash3).
 
void AddCharN (string value, int length)
 Adds a fixed-length char to the key.
 
void AddDate (string value)
 Adds a date string (YYYY-MM-DD) to the key.
 
void AddDateTime (string value)
 Adds a datetime string (YYYY-MM-DD HH:MM:SS.mmm) to the key.
 
void AddTime (string value)
 Adds a time string (HH:MM:SS.mmm) to the key.
 
void AddIpv4 (string value)
 Adds an IPv4 address string (dotted-quad) to the key.
 
void AddDecimal (string value, int precision, int scale)
 Adds a decimal string to the key.
 
void AddUuid (string value)
 Adds a UUID string to the key.
 
 RecordKey (int bufferSize)
 Creates a new RecordKey with the specified buffer size.
 
long HashCode ()
 Gets the hash code for stripe distribution.
 
int Route (IList< int > routingTable)
 Routes this key to a worker index using the routing table.
 
void Invalidate ()
 Invalidates this key (e.g., when a null value is encountered).
 
void ComputeHash ()
 Computes the routing hash from the buffer contents.
 
void AddInt8 (sbyte value)
 Adds an 8-bit integer to the key.
 
void AddInt16 (short value)
 Adds a 16-bit integer to the key (little-endian).
 
void AddInt (int value)
 Adds a 32-bit integer to the key (little-endian).
 
void AddLong (long value)
 Adds a 64-bit integer to the key (little-endian).
 
void AddFloat (float value)
 Adds a 32-bit float to the key.
 
void AddDouble (double value)
 Adds a 64-bit double to the key.
 
void AddString (string value)
 Adds a string to the key (via MurmurHash3).
 
void AddCharN (string value, int length)
 Adds a fixed-length char to the key.
 
void AddDate (string value)
 Adds a date string (YYYY-MM-DD) to the key.
 
void AddDateTime (string value)
 Adds a datetime string (YYYY-MM-DD HH:MM:SS.mmm) to the key.
 
void AddTime (string value)
 Adds a time string (HH:MM:SS.mmm) to the key.
 
void AddIpv4 (string value)
 Adds an IPv4 address string (dotted-quad) to the key.
 
void AddDecimal (string value, int precision, int scale)
 Adds a decimal string to the key.
 
void AddUuid (string value)
 Adds a UUID string to the key.
 

Properties

bool IsValid [get]
 Returns true if this key is valid (no null values were added).
 
long RoutingHash [get]
 Gets the routing hash (must call ComputeHash first).
 

Detailed Description

A binary key used for shard routing.

Equivalent to Rust’s RecordKey.

This class holds a binary-encoded key buffer and computes a routing hash using MurmurHash3 for consistent shard distribution.

Definition at line 13 of file RecordKey.cs.

Constructor & Destructor Documentation

◆ RecordKey() [1/2]

kinetica.Records.RecordKey.RecordKey (intbufferSize)
inline

Creates a new RecordKey with the specified buffer size.

Definition at line 23 of file RecordKey.cs.

◆ RecordKey() [2/2]

kinetica.Records.RecordKey.RecordKey (intbufferSize)
inline

Creates a new RecordKey with the specified buffer size.

Definition at line 23 of file RecordKey.cs.

Member Function Documentation

◆ AddCharN() [1/2]

void kinetica.Records.RecordKey.AddCharN (stringvalue,
intlength )
inline

Adds a fixed-length char to the key.

Definition at line 156 of file RecordKey.cs.

◆ AddCharN() [2/2]

void kinetica.Records.RecordKey.AddCharN (stringvalue,
intlength )
inline

Adds a fixed-length char to the key.

Definition at line 156 of file RecordKey.cs.

◆ AddDate() [1/2]

void kinetica.Records.RecordKey.AddDate (stringvalue)
inline

Adds a date string (YYYY-MM-DD) to the key.

Definition at line 181 of file RecordKey.cs.

◆ AddDate() [2/2]

void kinetica.Records.RecordKey.AddDate (stringvalue)
inline

Adds a date string (YYYY-MM-DD) to the key.

Definition at line 181 of file RecordKey.cs.

◆ AddDateTime() [1/2]

void kinetica.Records.RecordKey.AddDateTime (stringvalue)
inline

Adds a datetime string (YYYY-MM-DD HH:MM:SS.mmm) to the key.

Definition at line 203 of file RecordKey.cs.

◆ AddDateTime() [2/2]

void kinetica.Records.RecordKey.AddDateTime (stringvalue)
inline

Adds a datetime string (YYYY-MM-DD HH:MM:SS.mmm) to the key.

Definition at line 203 of file RecordKey.cs.

◆ AddDecimal() [1/2]

void kinetica.Records.RecordKey.AddDecimal (stringvalue,
intprecision,
intscale )
inline

Adds a decimal string to the key.

Definition at line 274 of file RecordKey.cs.

◆ AddDecimal() [2/2]

void kinetica.Records.RecordKey.AddDecimal (stringvalue,
intprecision,
intscale )
inline

Adds a decimal string to the key.

Definition at line 274 of file RecordKey.cs.

◆ AddDouble() [1/2]

void kinetica.Records.RecordKey.AddDouble (doublevalue)
inline

Adds a 64-bit double to the key.

Definition at line 136 of file RecordKey.cs.

◆ AddDouble() [2/2]

void kinetica.Records.RecordKey.AddDouble (doublevalue)
inline

Adds a 64-bit double to the key.

Definition at line 136 of file RecordKey.cs.

◆ AddFloat() [1/2]

void kinetica.Records.RecordKey.AddFloat (floatvalue)
inline

Adds a 32-bit float to the key.

Definition at line 128 of file RecordKey.cs.

◆ AddFloat() [2/2]

void kinetica.Records.RecordKey.AddFloat (floatvalue)
inline

Adds a 32-bit float to the key.

Definition at line 128 of file RecordKey.cs.

◆ AddInt() [1/2]

void kinetica.Records.RecordKey.AddInt (intvalue)
inline

Adds a 32-bit integer to the key (little-endian).

Definition at line 102 of file RecordKey.cs.

◆ AddInt() [2/2]

void kinetica.Records.RecordKey.AddInt (intvalue)
inline

Adds a 32-bit integer to the key (little-endian).

Definition at line 102 of file RecordKey.cs.

◆ AddInt16() [1/2]

void kinetica.Records.RecordKey.AddInt16 (shortvalue)
inline

Adds a 16-bit integer to the key (little-endian).

Definition at line 93 of file RecordKey.cs.

◆ AddInt16() [2/2]

void kinetica.Records.RecordKey.AddInt16 (shortvalue)
inline

Adds a 16-bit integer to the key (little-endian).

Definition at line 93 of file RecordKey.cs.

◆ AddInt8() [1/2]

void kinetica.Records.RecordKey.AddInt8 (sbytevalue)
inline

Adds an 8-bit integer to the key.

Definition at line 85 of file RecordKey.cs.

◆ AddInt8() [2/2]

void kinetica.Records.RecordKey.AddInt8 (sbytevalue)
inline

Adds an 8-bit integer to the key.

Definition at line 85 of file RecordKey.cs.

◆ AddIpv4() [1/2]

void kinetica.Records.RecordKey.AddIpv4 (stringvalue)
inline

Adds an IPv4 address string (dotted-quad) to the key.

Definition at line 255 of file RecordKey.cs.

◆ AddIpv4() [2/2]

void kinetica.Records.RecordKey.AddIpv4 (stringvalue)
inline

Adds an IPv4 address string (dotted-quad) to the key.

Definition at line 255 of file RecordKey.cs.

◆ AddLong() [1/2]

void kinetica.Records.RecordKey.AddLong (longvalue)
inline

Adds a 64-bit integer to the key (little-endian).

Definition at line 113 of file RecordKey.cs.

◆ AddLong() [2/2]

void kinetica.Records.RecordKey.AddLong (longvalue)
inline

Adds a 64-bit integer to the key (little-endian).

Definition at line 113 of file RecordKey.cs.

◆ AddString() [1/2]

void kinetica.Records.RecordKey.AddString (stringvalue)
inline

Adds a string to the key (via MurmurHash3).

Definition at line 143 of file RecordKey.cs.

◆ AddString() [2/2]

void kinetica.Records.RecordKey.AddString (stringvalue)
inline

Adds a string to the key (via MurmurHash3).

Definition at line 143 of file RecordKey.cs.

◆ AddTime() [1/2]

void kinetica.Records.RecordKey.AddTime (stringvalue)
inline

Adds a time string (HH:MM:SS.mmm) to the key.

Definition at line 234 of file RecordKey.cs.

◆ AddTime() [2/2]

void kinetica.Records.RecordKey.AddTime (stringvalue)
inline

Adds a time string (HH:MM:SS.mmm) to the key.

Definition at line 234 of file RecordKey.cs.

◆ AddUuid() [1/2]

void kinetica.Records.RecordKey.AddUuid (stringvalue)
inline

Adds a UUID string to the key.

Definition at line 288 of file RecordKey.cs.

◆ AddUuid() [2/2]

void kinetica.Records.RecordKey.AddUuid (stringvalue)
inline

Adds a UUID string to the key.

Definition at line 288 of file RecordKey.cs.

◆ ComputeHash() [1/2]

void kinetica.Records.RecordKey.ComputeHash ()
inline

Computes the routing hash from the buffer contents.

Definition at line 73 of file RecordKey.cs.

◆ ComputeHash() [2/2]

void kinetica.Records.RecordKey.ComputeHash ()
inline

Computes the routing hash from the buffer contents.

Definition at line 73 of file RecordKey.cs.

◆ HashCode() [1/2]

long kinetica.Records.RecordKey.HashCode ()

Gets the hash code for stripe distribution.

◆ HashCode() [2/2]

long kinetica.Records.RecordKey.HashCode ()

Gets the hash code for stripe distribution.

◆ Invalidate() [1/2]

void kinetica.Records.RecordKey.Invalidate ()
inline

Invalidates this key (e.g., when a null value is encountered).

Definition at line 65 of file RecordKey.cs.

◆ Invalidate() [2/2]

void kinetica.Records.RecordKey.Invalidate ()
inline

Invalidates this key (e.g., when a null value is encountered).

Definition at line 65 of file RecordKey.cs.

◆ Route() [1/2]

int kinetica.Records.RecordKey.Route (IList< int >routingTable)
inline

Routes this key to a worker index using the routing table.

Definition at line 49 of file RecordKey.cs.

◆ Route() [2/2]

int kinetica.Records.RecordKey.Route (IList< int >routingTable)
inline

Routes this key to a worker index using the routing table.

Definition at line 49 of file RecordKey.cs.

Property Documentation

◆ IsValid

bool kinetica.Records.RecordKey.IsValid
get

Returns true if this key is valid (no null values were added).

Definition at line 34 of file RecordKey.cs.

◆ RoutingHash

long kinetica.Records.RecordKey.RoutingHash
get

Gets the routing hash (must call ComputeHash first).

Definition at line 39 of file RecordKey.cs.


The documentation for this class was generated from the following files:
  • _build/public-os_ubuntu24.04-arch_amd64-cc_gcc_13.3.0/install/Kinetica/Records/RecordKey.cs
  • Kinetica/Records/RecordKey.cs