CUBRID Engine  latest
db_set_function.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 // db_set_function - db_set functions
21 //
22 
23 #ifndef _DB_SET_FUNCTION_
24 #define _DB_SET_FUNCTION_
25 
26 #include "dbtype_def.h"
27 
28 #ifdef __cplusplus
29 extern "C"
30 {
31 #endif // C++
32 
33  extern int db_set_compare (const DB_VALUE * value1, const DB_VALUE * value2);
34 
35  extern DB_COLLECTION *db_set_create (DB_OBJECT * classobj, const char *name);
36  extern DB_COLLECTION *db_set_create_basic (DB_OBJECT * classobj, const char *name);
37  extern DB_COLLECTION *db_set_create_multi (DB_OBJECT * classobj, const char *name);
38  extern DB_COLLECTION *db_seq_create (DB_OBJECT * classobj, const char *name, int size);
39  extern int db_set_free (DB_COLLECTION * set);
40  extern int db_set_filter (DB_COLLECTION * set);
41  extern int db_set_add (DB_COLLECTION * set, DB_VALUE * value);
42  extern int db_set_get (DB_COLLECTION * set, int element_index, DB_VALUE * value);
43  extern int db_set_drop (DB_COLLECTION * set, DB_VALUE * value);
44  extern int db_set_size (DB_COLLECTION * set);
45  extern int db_set_cardinality (DB_COLLECTION * set);
46  extern int db_set_ismember (DB_COLLECTION * set, DB_VALUE * value);
47  extern int db_set_isempty (DB_COLLECTION * set);
48  extern int db_set_has_null (DB_COLLECTION * set);
49  extern int db_set_print (DB_COLLECTION * set);
50  extern DB_TYPE db_set_type (DB_COLLECTION * set);
51  extern DB_COLLECTION *db_set_copy (DB_COLLECTION * set);
52  extern int db_seq_get (DB_COLLECTION * set, int element_index, DB_VALUE * value);
53  extern int db_seq_put (DB_COLLECTION * set, int element_index, DB_VALUE * value);
54  extern int db_seq_insert (DB_COLLECTION * set, int element_index, DB_VALUE * value);
55  extern int db_seq_drop (DB_COLLECTION * set, int element_index);
56  extern int db_seq_size (DB_COLLECTION * set);
57  extern int db_seq_cardinality (DB_COLLECTION * set);
58  extern int db_seq_print (DB_COLLECTION * set);
59  extern int db_seq_find (DB_COLLECTION * set, DB_VALUE * value, int element_index);
60  extern int db_seq_free (DB_SEQ * seq);
61  extern int db_seq_filter (DB_SEQ * seq);
62  extern DB_SEQ *db_seq_copy (DB_SEQ * seq);
63 
64  /* Collection functions */
65  extern DB_COLLECTION *db_col_create (DB_TYPE type, int size, DB_DOMAIN * domain);
66  extern DB_COLLECTION *db_col_copy (DB_COLLECTION * col);
67  extern int db_col_filter (DB_COLLECTION * col);
68  extern int db_col_free (DB_COLLECTION * col);
69  extern int db_col_coerce (DB_COLLECTION * col, DB_DOMAIN * domain);
70 
71  extern int db_col_size (DB_COLLECTION * col);
72  extern int db_col_cardinality (DB_COLLECTION * col);
73  extern DB_TYPE db_col_type (DB_COLLECTION * col);
74  extern DB_DOMAIN *db_col_domain (DB_COLLECTION * col);
75  extern int db_col_ismember (DB_COLLECTION * col, DB_VALUE * value);
76  extern int db_col_find (DB_COLLECTION * col, DB_VALUE * value, int starting_index, int *found_index);
77  extern int db_col_add (DB_COLLECTION * col, DB_VALUE * value);
78  extern int db_col_drop (DB_COLLECTION * col, DB_VALUE * value, int all);
79  extern int db_col_drop_element (DB_COLLECTION * col, int element_index);
80 
81  extern int db_col_drop_nulls (DB_COLLECTION * col);
82 
83  extern int db_col_get (DB_COLLECTION * col, int element_index, DB_VALUE * value);
84  extern int db_col_put (DB_COLLECTION * col, int element_index, DB_VALUE * value);
85  extern int db_col_insert (DB_COLLECTION * col, int element_index, DB_VALUE * value);
86 
87  extern int db_col_print (DB_COLLECTION * col);
88  extern int db_col_fprint (FILE * fp, DB_COLLECTION * col);
89 
90 #ifdef __cplusplus
91 } // extern "C"
92 #endif // C++
93 
94 #endif // !_DB_SET_FUNCTION_
DB_SEQ * db_seq_copy(DB_SEQ *seq)
Definition: db_set.c:428
int db_set_free(DB_COLLECTION *set)
Definition: db_set.c:306
DB_TYPE
Definition: dbtype_def.h:670
DB_COLLECTION * db_col_copy(DB_COLLECTION *col)
Definition: db_set.c:975
int db_col_insert(DB_COLLECTION *col, int element_index, DB_VALUE *value)
Definition: db_set.c:1289
struct tp_domain * domain
Definition: set_object.h:85
int db_seq_put(DB_COLLECTION *set, int element_index, DB_VALUE *value)
Definition: db_set.c:745
int db_set_compare(const DB_VALUE *value1, const DB_VALUE *value2)
Definition: db_macro.c:1833
DB_COLLECTION * db_set_copy(DB_COLLECTION *set)
Definition: db_set.c:402
int db_set_size(DB_COLLECTION *set)
Definition: db_set.c:557
DB_COLLECTION * db_set_create_multi(DB_OBJECT *classobj, const char *name)
int db_col_find(DB_COLLECTION *col, DB_VALUE *value, int starting_index, int *found_index)
Definition: db_set.c:1367
DB_TYPE db_set_type(DB_COLLECTION *set)
Definition: db_set.c:683
int db_seq_insert(DB_COLLECTION *set, int element_index, DB_VALUE *value)
Definition: db_set.c:786
int db_set_ismember(DB_COLLECTION *set, DB_VALUE *value)
Definition: db_set.c:598
int db_col_ismember(DB_COLLECTION *col, DB_VALUE *value)
Definition: db_set.c:1327
DB_COLLECTION * db_seq_create(DB_OBJECT *classobj, const char *name, int size)
int db_seq_drop(DB_COLLECTION *set, int element_index)
Definition: db_set.c:823
int db_col_print(DB_COLLECTION *col)
Definition: db_set.c:1466
int db_col_drop(DB_COLLECTION *col, DB_VALUE *value, int all)
Definition: db_set.c:1084
int size
Definition: set_object.h:72
int db_col_drop_nulls(DB_COLLECTION *col)
Definition: db_set.c:1139
Definition: db_set.h:35
int db_set_isempty(DB_COLLECTION *set)
Definition: db_set.c:621
int db_set_cardinality(DB_COLLECTION *set)
Definition: db_set.c:578
int db_seq_filter(DB_SEQ *seq)
Definition: db_set.c:372
int db_seq_size(DB_COLLECTION *set)
Definition: db_set.c:848
int db_col_size(DB_COLLECTION *col)
Definition: db_set.c:1167
int db_seq_free(DB_SEQ *seq)
Definition: db_set.c:323
int db_set_drop(DB_COLLECTION *set, DB_VALUE *value)
Definition: db_set.c:530
int db_seq_cardinality(DB_COLLECTION *set)
Definition: db_set.c:867
DB_DOMAIN * db_col_domain(DB_COLLECTION *col)
Definition: db_set.c:1421
DB_TYPE db_col_type(DB_COLLECTION *col)
Definition: db_set.c:1402
int db_col_fprint(FILE *fp, DB_COLLECTION *col)
Definition: db_set.c:1444
int db_seq_find(DB_COLLECTION *set, DB_VALUE *value, int element_index)
Definition: db_set.c:908
int db_seq_get(DB_COLLECTION *set, int element_index, DB_VALUE *value)
Definition: db_set.c:712
int db_set_print(DB_COLLECTION *set)
Definition: db_set.c:664
int db_col_filter(DB_COLLECTION *col)
Definition: db_set.c:1024
DB_COLLECTION * db_set_create(DB_OBJECT *classobj, const char *name)
int db_col_add(DB_COLLECTION *col, DB_VALUE *value)
Definition: db_set.c:1057
int db_col_cardinality(DB_COLLECTION *col)
Definition: db_set.c:1192
int db_col_drop_element(DB_COLLECTION *col, int element_index)
Definition: db_set.c:1112
int db_col_coerce(DB_COLLECTION *col, DB_DOMAIN *domain)
int db_set_add(DB_COLLECTION *set, DB_VALUE *value)
Definition: db_set.c:465
int db_set_has_null(DB_COLLECTION *set)
Definition: db_set.c:644
int db_col_free(DB_COLLECTION *col)
Definition: db_set.c:998
int db_set_filter(DB_COLLECTION *set)
Definition: db_set.c:344
int db_col_put(DB_COLLECTION *col, int element_index, DB_VALUE *value)
Definition: db_set.c:1249
int db_col_get(DB_COLLECTION *col, int element_index, DB_VALUE *value)
Definition: db_set.c:1222
DB_COLLECTION * db_col_create(DB_TYPE type, int size, DB_DOMAIN *domain)
Definition: db_set.c:949
DB_COLLECTION * db_set_create_basic(DB_OBJECT *classobj, const char *name)
int db_seq_print(DB_COLLECTION *set)
Definition: db_set.c:886
int db_set_get(DB_COLLECTION *set, int element_index, DB_VALUE *value)
Definition: db_set.c:508