Grassroots Infrastructure
The Grassroots Infrastructure is a suite of computing tools to help users and developers use scientific data infrastructure that can easily be interconnected.
sql_clause_list.h
Go to the documentation of this file.
1 /*
2 ** Copyright 2014-2018 The Earlham Institute
3 **
4 ** Licensed under the Apache License, Version 2.0 (the "License");
5 ** you may not use this file except in compliance with the License.
6 ** You may obtain a copy of the License at
7 **
8 ** http://www.apache.org/licenses/LICENSE-2.0
9 **
10 ** Unless required by applicable law or agreed to in writing, software
11 ** distributed under the License is distributed on an "AS IS" BASIS,
12 ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 ** See the License for the specific language governing permissions and
14 ** limitations under the License.
15 */
16 /*
17  * sql_clause_list.h
18  *
19  * Created on: 23 Aug 2018
20  * Author: billy
21  */
22 
23 #ifndef CORE_SERVER_SQLITE_SRC_SQL_CLAUSE_LIST_H_
24 #define CORE_SERVER_SQLITE_SRC_SQL_CLAUSE_LIST_H_
25 
26 #include "sqlite_library.h"
27 #include "linked_list.h"
28 
29 
30 typedef struct SQLClauseList
31 {
34 
36 
37 
38 #ifdef __cplusplus
39 extern "C"
40 {
41 #endif
42 
43 
51 
52 
60 
61 
69 GRASSROOTS_SQLITE_API bool AddSQLClauseToSQLClauseListByParts (SQLClauseList *list_p, const char *key_s, const char *comp_s, const char *value_s, const char *op_s);
70 
71 
72 
80 GRASSROOTS_SQLITE_API void FreeSQLClauseListNode (ListItem *node_p);
81 
82 
91 
92 
93 #ifdef __cplusplus
94 }
95 #endif
96 
97 
98 #endif /* CORE_SERVER_SQLITE_SRC_SQL_CLAUSE_LIST_H_ */
SQLClauseList::AddSQLClauseToSQLClauseListByParts
bool AddSQLClauseToSQLClauseListByParts(SQLClauseList *list_p, const char *key_s, const char *comp_s, const char *value_s, const char *op_s)
Add a SQLClauseNode to a SQLClauseList.
SQLClauseList
Definition: sql_clause_list.h:30
GRASSROOTS_SQLITE_API
#define GRASSROOTS_SQLITE_API
Definition: sqlite_library.h:46
SQLClauseList::FreeSQLClauseList
void FreeSQLClauseList(SQLClauseList *clause_list_p)
Free a SQLClauseList.
SQLClauseList::AllocateSQLClauseList
SQLClauseList * AllocateSQLClauseList(void)
Allocate a SQLClauseList.
LinkedList
A doubly-linked list that can be traversed in either direction.
Definition: linked_list.h:56
SQLClauseList::GetAllSQLClausesAsString
char * GetAllSQLClausesAsString(SQLClauseList *list_p)
Get the string for all SQLClauses on a SQLClauseList.
linked_list.h
A doubly-linked list.
sqlite_library.h
SQLClauseList::sqlcl_list
LinkedList sqlcl_list
The sublist of SQLClauseNodes for this SQLClauseList.
Definition: sql_clause_list.h:33
ListItem
A doubly-linked node that points to its predecessor and successor.
Definition: linked_list.h:43