CUBRID Engine  latest
compile_context.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 // compile_context.h - client/server common context used for prepare phase
21 //
22 
23 #ifndef _COMPILE_CONTEXT_H_
24 #define _COMPILE_CONTEXT_H_
25 
26 // forward definitions
27 struct xasl_node;
28 
29 // note - file should be compatible to C language
30 
31 #include "sha1.h"
32 
33 /*
34  * COMPILE_CONTEXT cover from user input query string to generated xasl
35  */
38 {
39  struct xasl_node *xasl;
40 
41  char *sql_user_text; /* original query statement that user input */
42  int sql_user_text_len; /* length of sql_user_text */
43 
44  char *sql_hash_text; /* rewritten query string which is used as hash key */
45 
46  char *sql_plan_text; /* plans for this query */
47  int sql_plan_alloc_size; /* query_plan alloc size */
48  bool is_xasl_pinned_reference; /* to pin xasl cache entry */
49  bool recompile_xasl_pinned; /* whether recompile again after xasl cache entry has been pinned */
52 };
53 #endif // _COMPILE_CONTEXT_H_
Definition: sha1.h:50
bool is_xasl_pinned_reference
struct xasl_node * xasl