forked from mysql/mysql-server
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathndb_constants.h
164 lines (139 loc) · 4.91 KB
/
ndb_constants.h
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
/*
Copyright (c) 2004, 2021, Oracle and/or its affiliates.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License, version 2.0,
as published by the Free Software Foundation.
This program is also distributed with certain software (including
but not limited to OpenSSL) that is licensed under separate terms,
as designated in a particular file or component or in included license
documentation. The authors of MySQL hereby grant you an additional
permission to link the program and your derivative works with the
separately licensed software that they have included with MySQL.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License, version 2.0, for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
/**
* @file ndb_constants.h
*
* Constants common to NDB API and NDB kernel.
* Changing the values makes database upgrade impossible.
*
* New or removed definitions must be replicated to
* NdbDictionary.hpp and NdbSqlUtil.hpp.
*
* Not for use by application programs.
* Use the enums provided by NdbDictionary instead.
*/
#ifndef NDB_CONSTANTS_H
#define NDB_CONSTANTS_H
/*
* Data type constants.
*/
#define NDB_TYPE_UNDEFINED 0
#define NDB_TYPE_TINYINT 1
#define NDB_TYPE_TINYUNSIGNED 2
#define NDB_TYPE_SMALLINT 3
#define NDB_TYPE_SMALLUNSIGNED 4
#define NDB_TYPE_MEDIUMINT 5
#define NDB_TYPE_MEDIUMUNSIGNED 6
#define NDB_TYPE_INT 7
#define NDB_TYPE_UNSIGNED 8
#define NDB_TYPE_BIGINT 9
#define NDB_TYPE_BIGUNSIGNED 10
#define NDB_TYPE_FLOAT 11
#define NDB_TYPE_DOUBLE 12
#define NDB_TYPE_OLDDECIMAL 13
#define NDB_TYPE_CHAR 14
#define NDB_TYPE_VARCHAR 15
#define NDB_TYPE_BINARY 16
#define NDB_TYPE_VARBINARY 17
#define NDB_TYPE_DATETIME 18
#define NDB_TYPE_DATE 19
#define NDB_TYPE_BLOB 20
#define NDB_TYPE_TEXT 21
#define NDB_TYPE_BIT 22
#define NDB_TYPE_LONGVARCHAR 23
#define NDB_TYPE_LONGVARBINARY 24
#define NDB_TYPE_TIME 25
#define NDB_TYPE_YEAR 26
#define NDB_TYPE_TIMESTAMP 27
#define NDB_TYPE_OLDDECIMALUNSIGNED 28
#define NDB_TYPE_DECIMAL 29
#define NDB_TYPE_DECIMALUNSIGNED 30
#define NDB_TYPE_TIME2 31
#define NDB_TYPE_DATETIME2 32
#define NDB_TYPE_TIMESTAMP2 33
#define NDB_TYPE_MAX 34
/*
* Attribute array type.
*/
#define NDB_ARRAYTYPE_FIXED 0 /* 0 length bytes */
#define NDB_ARRAYTYPE_SHORT_VAR 1 /* 1 length bytes */
#define NDB_ARRAYTYPE_MEDIUM_VAR 2 /* 2 length bytes */
#define NDB_ARRAYTYPE_NONE_VAR 3 /* 0 length bytes */
/*
* Attribute storage type.
*/
#define NDB_STORAGETYPE_MEMORY 0
#define NDB_STORAGETYPE_DISK 1
#define NDB_STORAGETYPE_DEFAULT 2 /* not set */
/*
* Table temporary status.
*/
#define NDB_TEMP_TAB_PERMANENT 0
#define NDB_TEMP_TAB_TEMPORARY 1
/*
* Table single user mode
*/
#define NDB_SUM_LOCKED 0
#define NDB_SUM_READONLY 1
#define NDB_SUM_READ_WRITE 2
/**
* *No* nodegroup
*/
#define NDB_NO_NODEGROUP 65536
/*
* SYSTAB_0 reserved keys
*/
#define NDB_BACKUP_SEQUENCE 0x1F000000
/**
* Defines for index statistics
*/
#define NDB_INDEX_STAT_DB "mysql"
#define NDB_INDEX_STAT_SCHEMA "def"
#define NDB_INDEX_STAT_HEAD_TABLE "ndb_index_stat_head"
#define NDB_INDEX_STAT_SAMPLE_TABLE "ndb_index_stat_sample"
#define NDB_INDEX_STAT_SAMPLE_INDEX1 "ndb_index_stat_sample_x1"
#define NDB_INDEX_STAT_HEAD_EVENT "ndb_index_stat_head_event"
#define NDB_INDEX_STAT_PREFIX "ndb_index_stat"
/**
* Defines for NDB$INFO.OPERATIONS
*/
#define NDB_INFO_OP_UNKNOWN 0
#define NDB_INFO_OP_READ 1
#define NDB_INFO_OP_READ_SH 2
#define NDB_INFO_OP_READ_EX 3
#define NDB_INFO_OP_INSERT 4
#define NDB_INFO_OP_UPDATE 5
#define NDB_INFO_OP_DELETE 6
#define NDB_INFO_OP_WRITE 7
#define NDB_INFO_OP_UNLOCK 8
#define NDB_INFO_OP_REFRESH 9
#define NDB_INFO_OP_SCAN_UNKNOWN (256 + 0)
#define NDB_INFO_OP_SCAN (256 + 1)
#define NDB_INFO_OP_SCAN_SH (256 + 2)
#define NDB_INFO_OP_SCAN_EX (256 + 3)
/**
* FK actions
*/
#define NDB_FK_NO_ACTION 0
#define NDB_FK_RESTRICT 1
#define NDB_FK_CASCADE 2
#define NDB_FK_SET_NULL 3
#define NDB_FK_SET_DEFAULT 4
#endif