|
LMMS
|
#include <assert.h>#include <errno.h>#include <stdint.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include "zix/digest.c"#include "zix/hash.c"#include "zix/btree.c"#include "sord_config.h"#include "sord_internal.h"Classes | |
| struct | SordWorldImpl |
| struct | SordModelImpl |
| struct | SordIterImpl |
Macros | |
| #define | ZIX_INLINE |
| #define | SORD_LOG(prefix, ...) |
| #define | SORD_ITER_LOG(...) |
| #define | SORD_FIND_LOG(...) |
| #define | SORD_WRITE_LOG(...) |
| #define | NUM_ORDERS 12 |
| #define | STATEMENT_LEN 3 |
| #define | TUP_LEN STATEMENT_LEN + 1 |
| #define | DEFAULT_ORDER SPO |
| #define | DEFAULT_GRAPH_ORDER GSPO |
| #define | TUP_FMT "(%s %s %s %s)" |
| #define | TUP_FMT_ELEM(e) |
| #define | TUP_FMT_ARGS(t) |
| #define | TUP_S 0 |
| #define | TUP_P 1 |
| #define | TUP_O 2 |
| #define | TUP_G 3 |
| #define | PAT_CASE(sig, m, g0, g1, np) |
Enumerations | |
| enum | SordOrder { SPO , SOP , OPS , OSP , PSO , POS , GSPO , GSOP , GOPS , GOSP , GPSO , GPOS } |
| enum | SearchMode { ALL , SINGLE , RANGE , FILTER_RANGE , FILTER_ALL } |
Variables | |
| static const int | orderings [NUM_ORDERS][TUP_LEN] |
| #define DEFAULT_GRAPH_ORDER GSPO |
| #define DEFAULT_ORDER SPO |
| #define NUM_ORDERS 12 |
| #define PAT_CASE | ( | sig, | |
| m, | |||
| g0, | |||
| g1, | |||
| np ) |
| #define SORD_FIND_LOG | ( | ... | ) |
| #define SORD_ITER_LOG | ( | ... | ) |
| #define SORD_LOG | ( | prefix, | |
| ... ) |
| #define SORD_WRITE_LOG | ( | ... | ) |
| #define STATEMENT_LEN 3 |
| #define TUP_FMT_ARGS | ( | t | ) |
| #define TUP_FMT_ELEM | ( | e | ) |
| #define TUP_G 3 |
| #define TUP_LEN STATEMENT_LEN + 1 |
| #define TUP_O 2 |
| #define TUP_P 1 |
| #define TUP_S 0 |
| #define ZIX_INLINE |
| enum SearchMode |
| enum SordOrder |
Triple ordering
|
static |
|
static |
|
static |
|
inlinestatic |
Return true iff Sord has an index for order. If graphs is true, order will be modified to be the corresponding order with a G prepended (so G will be the MSN).
Return true iff IDs are equivalent, or one is a wildcard
|
inlinestatic |
|
static |
|
static |
|
inlinestatic |
Seek forward as necessary until iter points at a match.
|
inlinestatic |
Seek forward as necessary until iter points at a match, or the prefix no longer matches iter->pat.
|
static |
|
static |
|
static |
Compare nodes, considering NULL a wildcard match.
Compare two quad IDs lexicographically. NULL IDs (equal to 0) are treated as wildcards, always less than every other possible ID, except itself.
|
static |
Quads of indices for each order, from most to least significant (array indexed by SordOrder)