blob: b7467fb18bb398df3d6232ac69cd811b8914679b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
/*-
* Copyright (c) 2008-2012 WiredTiger, Inc.
* All rights reserved.
*
* See the file LICENSE for redistribution information.
*/
#define WT_SCHEMA_FILENAME "WiredTiger.wt" /* Schema file name */
#define WT_SCHEMA_URI "file:WiredTiger.wt" /* Schema file URI */
#define WT_SCHEMA_VERSION "WiredTiger version" /* Version keys */
#define WT_SCHEMA_VERSION_STR "WiredTiger version string"
/* Character constants for projection plans. */
#define WT_PROJ_KEY 'k' /* Go to key in cursor <arg>. */
#define WT_PROJ_NEXT 'n' /* Process the next item (<arg> repeats). */
#define WT_PROJ_REUSE 'r' /* Reuse the previous item (<arg> repeats). */
#define WT_PROJ_SKIP 's' /* Skip a column in the cursor (<arg> repeats). */
#define WT_PROJ_VALUE 'v' /* Go to the value in cursor <arg>. */
/*
* WT_TABLE --
* Handle for a logical table. A table consists of one or more column
* groups, each of which holds some set of columns all sharing a primary
* key; and zero or more indices, each of which holds some set of columns
* in an index key that can be used to reconstruct the primary key.
*/
struct __wt_table {
const char *name, *config, *plan;
const char *key_format, *value_format;
WT_CONFIG_ITEM cgconf, colconf;
WT_BTREE **colgroup;
WT_BTREE **index;
size_t index_alloc;
TAILQ_ENTRY(__wt_table) q;
int cg_complete, idx_complete, is_simple;
int ncolgroups, nindices, nkey_columns;
};
/*
* Tables without explicit column groups have a single default column group
* containing all of the columns.
*/
#define WT_COLGROUPS(t) WT_MAX((t)->ncolgroups, 1)
|