File: sqlcstate.h

package info (click to toggle)
virtuoso-opensource 6.1.6+dfsg2-4
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, buster, sid, stretch
  • size: 260,992 kB
  • ctags: 125,220
  • sloc: ansic: 652,748; sql: 458,419; xml: 282,834; java: 61,031; sh: 40,031; cpp: 36,890; cs: 25,240; php: 12,692; yacc: 9,523; lex: 7,018; makefile: 6,157; jsp: 4,484; awk: 1,643; perl: 1,013; ruby: 1,003; python: 326
file content (103 lines) | stat: -rw-r--r-- 3,580 bytes parent folder | download | duplicates (2)
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
/*
 *  sqlcstate.h
 *
 *  $Id$
 *
 *  This file is part of the OpenLink Software Virtuoso Open-Source (VOS)
 *  project.
 *
 *  Copyright (C) 1998-2012 OpenLink Software
 *
 *  This project is free software; you can redistribute it and/or modify it
 *  under the terms of the GNU General Public License as published by the
 *  Free Software Foundation; only version 2 of the License, dated June 1991.
 *
 *  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 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
 *
 */

#ifndef SQLCSTATE_H
#define SQLCSTATE_H

typedef struct sql_compile_state_s /* serialized in parse_sem */
{
  sql_comp_t *scs_top_sc;
  oid_t scs_v_u_id;
  oid_t scs_v_g_id;
  char scs_sql_line_loc_text[1000];
  char scs_sql_err_text[2000];
  char scs_sql_err_state[6];
  char scs_sql_err_native[1000];
  int scs_parse_not_char_c_escape;
  int scs_parse_utf8_execs;
  int scs_parse_pldbg;
  caddr_t scs_pl_file;
  int 	scs_pl_file_offs;
  dk_set_t scs_sql3_breaks;
  dk_set_t scs_sql3_pbreaks;
  dk_set_t scs_sql3_ppbreaks;
  caddr_t scs_sqlp_udt_current_type;
  int scs_sqlp_udt_current_type_lang;
  sql_tree_t *scs_parse_tree;
  sql_tree_t *scs_global_trans;
  char *scs_sql_text;
  int scs_param_inx;
  int scs_sqlp_have_infoschema_views;
  char * scs_inside_view;
  char	scs_count_qr_global_refs; /*   qr global ssl's will be counted as refs in cv_refd_slots etc. */
  char	scs_inside_sem;
} sql_compile_state_t;


#define top_sc global_scs->scs_top_sc
#define v_u_id global_scs->scs_v_u_id
#define v_g_id global_scs->scs_v_g_id
#define sql_line_loc_text	global_scs->scs_sql_line_loc_text
#define sql_err_text		global_scs->scs_sql_err_text
#define sql_err_state		global_scs->scs_sql_err_state
#define sql_err_native		global_scs->scs_sql_err_native
#define parse_not_char_c_escape	global_scs->scs_parse_not_char_c_escape
#define parse_utf8_execs	global_scs->scs_parse_utf8_execs
#define parse_pldbg		global_scs->scs_parse_pldbg
#define pl_file			global_scs->scs_pl_file
#define pl_file_offs		global_scs->scs_pl_file_offs
#define sql3_breaks		global_scs->scs_sql3_breaks
#define sql3_pbreaks		global_scs->scs_sql3_pbreaks
#define sql3_ppbreaks		global_scs->scs_sql3_ppbreaks
#define sqlp_udt_current_type	global_scs->scs_sqlp_udt_current_type
#define sqlp_udt_current_type_lang global_scs->scs_sqlp_udt_current_type_lang
#define parse_tree		global_scs->scs_parse_tree
#define global_trans		global_scs->scs_global_trans
#define sqlc_sql_text		global_scs->scs_sql_text
#define param_inx		global_scs->scs_param_inx
#define sqlp_have_infoschema_views	global_scs->scs_sqlp_have_infoschema_views
#define inside_view global_scs->scs_inside_view
#define sqlg_count_qr_global_refs global_scs->scs_count_qr_global_refs
#define sqlc_inside_sem global_scs->scs_inside_sem

#define SET_SCS(scs) \
  THREAD_CURRENT_THREAD->thr_sql_scs = (void*)scs

#define global_scs ((sql_compile_state_t*) (THREAD_CURRENT_THREAD->thr_sql_scs))

#define SCS_STATE_FRAME		sql_compile_state_t * save_scs; sql_compile_state_t scs

#define SCS_STATE_PUSH \
        { \
	  save_scs = global_scs; \
          memset (&scs, 0, sizeof (sql_compile_state_t)); \
	  SET_SCS (&scs); \
	}

#define SCS_STATE_POP \
  SET_SCS (save_scs)


#endif