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]
| inline |
Creates a new RecordKey with the specified buffer size.
Definition at line 23 of file RecordKey.cs.
◆ RecordKey() [2/2]
| inline |
Creates a new RecordKey with the specified buffer size.
Definition at line 23 of file RecordKey.cs.
Member Function Documentation
◆ AddCharN() [1/2]
| inline |
Adds a fixed-length char to the key.
Definition at line 156 of file RecordKey.cs.
◆ AddCharN() [2/2]
| inline |
Adds a fixed-length char to the key.
Definition at line 156 of file RecordKey.cs.
◆ AddDate() [1/2]
| inline |
Adds a date string (YYYY-MM-DD) to the key.
Definition at line 181 of file RecordKey.cs.
◆ AddDate() [2/2]
| inline |
Adds a date string (YYYY-MM-DD) to the key.
Definition at line 181 of file RecordKey.cs.
◆ AddDateTime() [1/2]
| 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]
| 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]
| inline |
Adds a decimal string to the key.
Definition at line 274 of file RecordKey.cs.
◆ AddDecimal() [2/2]
| inline |
Adds a decimal string to the key.
Definition at line 274 of file RecordKey.cs.
◆ AddDouble() [1/2]
| inline |
Adds a 64-bit double to the key.
Definition at line 136 of file RecordKey.cs.
◆ AddDouble() [2/2]
| inline |
Adds a 64-bit double to the key.
Definition at line 136 of file RecordKey.cs.
◆ AddFloat() [1/2]
| inline |
Adds a 32-bit float to the key.
Definition at line 128 of file RecordKey.cs.
◆ AddFloat() [2/2]
| inline |
Adds a 32-bit float to the key.
Definition at line 128 of file RecordKey.cs.
◆ AddInt() [1/2]
| inline |
Adds a 32-bit integer to the key (little-endian).
Definition at line 102 of file RecordKey.cs.
◆ AddInt() [2/2]
| inline |
Adds a 32-bit integer to the key (little-endian).
Definition at line 102 of file RecordKey.cs.
◆ AddInt16() [1/2]
| inline |
Adds a 16-bit integer to the key (little-endian).
Definition at line 93 of file RecordKey.cs.
◆ AddInt16() [2/2]
| inline |
Adds a 16-bit integer to the key (little-endian).
Definition at line 93 of file RecordKey.cs.
◆ AddInt8() [1/2]
| inline |
Adds an 8-bit integer to the key.
Definition at line 85 of file RecordKey.cs.
◆ AddInt8() [2/2]
| inline |
Adds an 8-bit integer to the key.
Definition at line 85 of file RecordKey.cs.
◆ AddIpv4() [1/2]
| inline |
Adds an IPv4 address string (dotted-quad) to the key.
Definition at line 255 of file RecordKey.cs.
◆ AddIpv4() [2/2]
| inline |
Adds an IPv4 address string (dotted-quad) to the key.
Definition at line 255 of file RecordKey.cs.
◆ AddLong() [1/2]
| inline |
Adds a 64-bit integer to the key (little-endian).
Definition at line 113 of file RecordKey.cs.
◆ AddLong() [2/2]
| inline |
Adds a 64-bit integer to the key (little-endian).
Definition at line 113 of file RecordKey.cs.
◆ AddString() [1/2]
| inline |
Adds a string to the key (via MurmurHash3).
Definition at line 143 of file RecordKey.cs.
◆ AddString() [2/2]
| inline |
Adds a string to the key (via MurmurHash3).
Definition at line 143 of file RecordKey.cs.
◆ AddTime() [1/2]
| inline |
Adds a time string (HH:MM:SS.mmm) to the key.
Definition at line 234 of file RecordKey.cs.
◆ AddTime() [2/2]
| inline |
Adds a time string (HH:MM:SS.mmm) to the key.
Definition at line 234 of file RecordKey.cs.
◆ AddUuid() [1/2]
| inline |
Adds a UUID string to the key.
Definition at line 288 of file RecordKey.cs.
◆ AddUuid() [2/2]
| inline |
Adds a UUID string to the key.
Definition at line 288 of file RecordKey.cs.
◆ ComputeHash() [1/2]
| inline |
Computes the routing hash from the buffer contents.
Definition at line 73 of file RecordKey.cs.
◆ ComputeHash() [2/2]
| 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]
| inline |
Invalidates this key (e.g., when a null value is encountered).
Definition at line 65 of file RecordKey.cs.
◆ Invalidate() [2/2]
| inline |
Invalidates this key (e.g., when a null value is encountered).
Definition at line 65 of file RecordKey.cs.
◆ Route() [1/2]
| inline |
Routes this key to a worker index using the routing table.
Definition at line 49 of file RecordKey.cs.
◆ Route() [2/2]
| inline |
Routes this key to a worker index using the routing table.
Definition at line 49 of file RecordKey.cs.
Property Documentation
◆ IsValid
| get |
Returns true if this key is valid (no null values were added).
Definition at line 34 of file RecordKey.cs.
◆ 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