CUBRID Engine
latest
Main Page
Namespaces
Classes
Files
File List
File Members
shard_key.h
Go to the documentation of this file.
1
/*
2
* Copyright 2008 Search Solution Corporation
3
* Copyright 2016 CUBRID Corporation
4
*
5
* Licensed under the Apache License, Version 2.0 (the "License");
6
* you may not use this file except in compliance with the License.
7
* You may obtain a copy of the License at
8
*
9
* http://www.apache.org/licenses/LICENSE-2.0
10
*
11
* Unless required by applicable law or agreed to in writing, software
12
* distributed under the License is distributed on an "AS IS" BASIS,
13
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
* See the License for the specific language governing permissions and
15
* limitations under the License.
16
*
17
*/
18
19
/*
20
* shard_key.h -
21
*/
22
23
#ifndef _SHARD_KEY_H_
24
#define _SHARD_KEY_H_
25
26
#ident "$Id$"
27
28
#ifdef __cplusplus
29
extern
"C"
30
{
31
#endif
32
33
/************************************************************************
34
* IMPORTED SYSTEM HEADER FILES *
35
************************************************************************/
36
37
/************************************************************************
38
* IMPORTED OTHER HEADER FILES *
39
************************************************************************/
40
41
/************************************************************************
42
* EXPORTED DEFINITIONS *
43
************************************************************************/
44
45
typedef
enum
46
{
47
SHARD_U_TYPE_FIRST
= 0,
48
SHARD_U_TYPE_UNKNOWN
= 0,
49
SHARD_U_TYPE_NULL
= 0,
50
51
SHARD_U_TYPE_CHAR
= 1,
52
SHARD_U_TYPE_STRING
= 2,
53
SHARD_U_TYPE_NCHAR
= 3,
54
SHARD_U_TYPE_VARNCHAR
= 4,
55
SHARD_U_TYPE_BIT
= 5,
56
SHARD_U_TYPE_VARBIT
= 6,
57
SHARD_U_TYPE_NUMERIC
= 7,
58
SHARD_U_TYPE_INT
= 8,
59
SHARD_U_TYPE_SHORT
= 9,
60
SHARD_U_TYPE_MONETARY
= 10,
61
SHARD_U_TYPE_FLOAT
= 11,
62
SHARD_U_TYPE_DOUBLE
= 12,
63
SHARD_U_TYPE_DATE
= 13,
64
SHARD_U_TYPE_TIME
= 14,
65
SHARD_U_TYPE_TIMESTAMP
= 15,
66
SHARD_U_TYPE_SET
= 16,
67
SHARD_U_TYPE_MULTISET
= 17,
68
SHARD_U_TYPE_SEQUENCE
= 18,
69
SHARD_U_TYPE_OBJECT
= 19,
70
SHARD_U_TYPE_RESULTSET
= 20,
71
SHARD_U_TYPE_BIGINT
= 21,
72
SHARD_U_TYPE_DATETIME
= 22,
73
SHARD_U_TYPE_BLOB
= 23,
74
SHARD_U_TYPE_CLOB
= 24,
75
SHARD_U_TYPE_ENUM
= 25,
76
SHARD_U_TYPE_USHORT
= 26,
77
SHARD_U_TYPE_UINT
= 27,
78
SHARD_U_TYPE_UBIGINT
= 28,
79
80
SHARD_U_TYPE_LAST
=
SHARD_U_TYPE_UBIGINT
81
}
T_SHARD_U_TYPE
;
82
83
#define ERROR_ON_ARGUMENT -1
84
#define ERROR_ON_MAKE_SHARD_KEY -2
85
86
/*
87
return value :
88
success - shard key id(>0)
89
fail - invalid argument(ERROR_ON_ARGUMENT), shard key id make fail(ERROR_ON_MAKE_SHARD_KEY)
90
type : shard key value type
91
val : shard key value
92
*/
93
typedef
int (*
FN_GET_SHARD_KEY
) (
const
char
*shard_key, T_SHARD_U_TYPE type,
const
void
*val,
int
val_size);
94
95
/************************************************************************
96
* EXPORTED VARIABLES *
97
************************************************************************/
98
99
#ifdef __cplusplus
100
}
101
#endif
102
103
#endif
/* _SHARD_KEY_H_ */
SHARD_U_TYPE_STRING
Definition:
shard_key.h:52
SHARD_U_TYPE_MULTISET
Definition:
shard_key.h:67
SHARD_U_TYPE_DATETIME
Definition:
shard_key.h:72
SHARD_U_TYPE_ENUM
Definition:
shard_key.h:75
SHARD_U_TYPE_RESULTSET
Definition:
shard_key.h:70
SHARD_U_TYPE_NUMERIC
Definition:
shard_key.h:57
SHARD_U_TYPE_BIT
Definition:
shard_key.h:55
SHARD_U_TYPE_BLOB
Definition:
shard_key.h:73
SHARD_U_TYPE_FIRST
Definition:
shard_key.h:47
SHARD_U_TYPE_UNKNOWN
Definition:
shard_key.h:48
SHARD_U_TYPE_INT
Definition:
shard_key.h:58
SHARD_U_TYPE_SHORT
Definition:
shard_key.h:59
FN_GET_SHARD_KEY
int(* FN_GET_SHARD_KEY)(const char *shard_key, T_SHARD_U_TYPE type, const void *val, int val_size)
Definition:
shard_key.h:93
SHARD_U_TYPE_MONETARY
Definition:
shard_key.h:60
SHARD_U_TYPE_SEQUENCE
Definition:
shard_key.h:68
SHARD_U_TYPE_DATE
Definition:
shard_key.h:63
SHARD_U_TYPE_USHORT
Definition:
shard_key.h:76
T_SHARD_U_TYPE
T_SHARD_U_TYPE
Definition:
shard_key.h:45
SHARD_U_TYPE_TIME
Definition:
shard_key.h:64
SHARD_U_TYPE_UINT
Definition:
shard_key.h:77
SHARD_U_TYPE_CLOB
Definition:
shard_key.h:74
SHARD_U_TYPE_BIGINT
Definition:
shard_key.h:71
SHARD_U_TYPE_NCHAR
Definition:
shard_key.h:53
SHARD_U_TYPE_NULL
Definition:
shard_key.h:49
SHARD_U_TYPE_SET
Definition:
shard_key.h:66
SHARD_U_TYPE_VARBIT
Definition:
shard_key.h:56
SHARD_U_TYPE_VARNCHAR
Definition:
shard_key.h:54
SHARD_U_TYPE_CHAR
Definition:
shard_key.h:51
SHARD_U_TYPE_TIMESTAMP
Definition:
shard_key.h:65
SHARD_U_TYPE_UBIGINT
Definition:
shard_key.h:78
SHARD_U_TYPE_LAST
Definition:
shard_key.h:80
SHARD_U_TYPE_OBJECT
Definition:
shard_key.h:69
SHARD_U_TYPE_FLOAT
Definition:
shard_key.h:61
SHARD_U_TYPE_DOUBLE
Definition:
shard_key.h:62
src
broker
shard_key.h
Generated by
1.8.11