Shared Persistent Heap Data Environment Manual
1.1.0
|
API for defining binary Index keys for B-Trees. More...
#include <string.h>
Go to the source code of this file.
Classes | |
struct | SASIndexKey_t |
Index Key Handle structure for binary index B-trees. More... | |
union | sasindexkeymap_t |
Union of value types and key machine integer types. More... | |
Typedefs | |
typedef unsigned long | machine_uint_t |
word size data unit used for binary keys. | |
typedef unsigned short | machine_uhalf_t |
data unit used to store copy and compare lengths. | |
typedef struct SASIndexKey_t | SASIndexKey_t |
Index Key Handle structure for binary index B-trees. | |
Functions | |
static int | SASIndexKeyCompare (SASIndexKey_t *op_a, SASIndexKey_t *op_b) |
binary key compare logic for Index B-Tree keys. More... | |
static void | SASIndexKeyCopy (SASIndexKey_t *dest, SASIndexKey_t *src) |
Copy a binary key from source to destination. More... | |
static size_t | SASIndexKeySize (SASIndexKey_t *key) |
Return the binary index key copy_size. More... | |
static void | SASIndexKeyInitRef (SASIndexKey_t *dest, void *value) |
Initial a binary key @ destination with a address value. More... | |
static void | SASIndexKeyInitUInt64 (SASIndexKey_t *dest, unsigned long long value) |
Initial a binary key @ destination with a unsigned 64-bit integer value. More... | |
static unsigned long long | SASIndexKeyReturn1stUInt64 (SASIndexKey_t *dest) |
Return the value of the 1st binary key as a unsigned 64-bit integer value. More... | |
static void | SASIndexKeyInitInt64 (SASIndexKey_t *dest, signed long long value) |
Initial a binary key @ destination with a signed 64-bit integer value. More... | |
static long long | SASIndexKeyReturn1stInt64 (SASIndexKey_t *dest) |
Return the value of the 1st binary key as a signed 64-bit integer value. More... | |
static void | SASIndexKeyInitDouble (SASIndexKey_t *dest, double value) |
Initial a binary key @ destination with a signed 64-bit integer value. More... | |
static double | SASIndexKeyReturn1stDouble (SASIndexKey_t *dest) |
Return the value of the 1st binary key as a signed 64-bit integer value. More... | |
Variables | |
const unsigned long | machine_sign_mask = (0x80000000) |
mask use to invert the signbit. | |
const unsigned long | double_exp_mask = (0x7ff00000) |
mask use to invert the exponent. | |
const unsigned long | double_mask = (0xffffffff) |
mask use to invert the sign and exponent. | |
API for defining binary Index keys for B-Trees.
Intialize the SASIndexKey_t structure with a sequence of values to be used as keys for SASIndex_t BTrees.
|
inlinestatic |
binary key compare logic for Index B-Tree keys.
Optimized for comparing unsigned long integer word values that are the size of address pointers (void*) Also optimized for early (in the first or only word of the key) misscompare.
op_a | Handle of the left SASIndexKey_t. |
op_b | Handle of the right SASIndexKey_t. |
|
inlinestatic |
Copy a binary key from source to destination.
Use the copy_size to copy the required header and the significant words of key data.
dest | Handle of the destination SASIndexKey_t. |
src | Handle of the source SASIndexKey_t. |
|
inlinestatic |
Initial a binary key @ destination with a signed 64-bit integer value.
dest | Handle of the destination SASIndexKey_t. |
value | signed long long value which will be the key. |
|
inlinestatic |
Initial a binary key @ destination with a signed 64-bit integer value.
dest | Handle of the destination SASIndexKey_t. |
value | signed long long value which will be the key. |
|
inlinestatic |
Initial a binary key @ destination with a address value.
dest | Handle of the destination SASIndexKey_t. |
value | Address value which will be the key. |
|
inlinestatic |
Initial a binary key @ destination with a unsigned 64-bit integer value.
dest | Handle of the destination SASIndexKey_t. |
value | unsigned long long value which will be the key. |
|
inlinestatic |
Return the value of the 1st binary key as a signed 64-bit integer value.
dest | Handle of the source SASIndexKey_t. |
|
inlinestatic |
Return the value of the 1st binary key as a signed 64-bit integer value.
dest | Handle of the source SASIndexKey_t. |
|
inlinestatic |
Return the value of the 1st binary key as a unsigned 64-bit integer value.
dest | Handle of the source SASIndexKey_t. |
|
inlinestatic |
Return the binary index key copy_size.
Use the copy_size to copy the required header and the significant words of key data.
key | Handle of a SASIndexKey_t. |