YugabyteDB (2.13.1.0-b60, 21121d69985fbf76aa6958d8f04a9bfa936293b5)

Coverage Report

Created: 2022-03-22 16:43

/Users/deen/code/yugabyte-db/build/debugcov-clang-dynamic-arm64-ninja/postgres_build/src/interfaces/ecpg/preproc/extern.h
Line
Count
Source (jump to first uncovered line)
1
/* src/interfaces/ecpg/preproc/extern.h */
2
3
#ifndef _ECPG_PREPROC_EXTERN_H
4
#define _ECPG_PREPROC_EXTERN_H
5
6
#include "type.h"
7
8
#include "common/keywords.h"
9
10
#include <errno.h>
11
#ifndef CHAR_BIT
12
#include <limits.h>
13
#endif
14
15
/* defines */
16
17
#define STRUCT_DEPTH 128
18
0
#define EMPTY mm_strdup("")
19
20
/* variables */
21
22
extern bool autocommit,
23
      auto_create_c,
24
      system_includes,
25
      force_indicator,
26
      questionmarks,
27
      regression_mode,
28
      auto_prepare;
29
extern int  braces_open,
30
      ret_value,
31
      struct_level,
32
      ecpg_internal_var;
33
extern char *current_function;
34
extern char *descriptor_index;
35
extern char *descriptor_name;
36
extern char *connection;
37
extern char *input_filename;
38
extern char *base_yytext,
39
       *token_start;
40
41
#ifdef YYDEBUG
42
extern int  base_yydebug;
43
#endif
44
extern int  base_yylineno;
45
extern FILE *base_yyin,
46
       *base_yyout;
47
extern char *output_filename;
48
49
extern struct _include_path *include_paths;
50
extern struct cursor *cur;
51
extern struct typedefs *types;
52
extern struct _defines *defines;
53
extern struct ECPGtype ecpg_no_indicator;
54
extern struct variable no_indicator;
55
extern struct arguments *argsinsert;
56
extern struct arguments *argsresult;
57
extern struct when when_error,
58
      when_nf,
59
      when_warn;
60
extern struct ECPGstruct_member *struct_member_list[STRUCT_DEPTH];
61
62
/* Globals from keywords.c */
63
extern const ScanKeyword SQLScanKeywords[];
64
extern const int NumSQLScanKeywords;
65
66
/* functions */
67
68
extern const char *get_dtype(enum ECPGdtype);
69
extern void lex_init(void);
70
extern void output_line_number(void);
71
extern void output_statement(char *, int, enum ECPG_statement_type);
72
extern void output_prepare_statement(char *, char *);
73
extern void output_deallocate_prepare_statement(char *);
74
extern void output_simple_statement(char *);
75
extern char *hashline_number(void);
76
extern int  base_yyparse(void);
77
extern int  base_yylex(void);
78
extern void base_yyerror(const char *);
79
extern void *mm_alloc(size_t), *mm_realloc(void *, size_t);
80
extern char *mm_strdup(const char *);
81
extern void mmerror(int errorcode, enum errortype type, const char *error,...) pg_attribute_printf(3, 4);
82
extern void mmfatal(int errorcode, const char *error,...) pg_attribute_printf(2, 3) pg_attribute_noreturn();
83
extern void output_get_descr_header(char *);
84
extern void output_get_descr(char *, char *);
85
extern void output_set_descr_header(char *);
86
extern void output_set_descr(char *, char *);
87
extern void push_assignment(char *, enum ECPGdtype);
88
extern struct variable *find_variable(char *);
89
extern void whenever_action(int);
90
extern void add_descriptor(char *, char *);
91
extern void drop_descriptor(char *, char *);
92
extern struct descriptor *lookup_descriptor(char *, char *);
93
extern struct variable *descriptor_variable(const char *name, int input);
94
extern struct variable *sqlda_variable(const char *name);
95
extern void add_variable_to_head(struct arguments **, struct variable *, struct variable *);
96
extern void add_variable_to_tail(struct arguments **, struct variable *, struct variable *);
97
extern void remove_variable_from_list(struct arguments **list, struct variable *var);
98
extern void dump_variables(struct arguments *, int);
99
extern struct typedefs *get_typedef(char *);
100
extern void adjust_array(enum ECPGttype, char **, char **, char *, char *, int, bool);
101
extern void reset_variables(void);
102
extern void check_indicator(struct ECPGtype *);
103
extern void remove_typedefs(int);
104
extern void remove_variables(int);
105
extern struct variable *new_variable(const char *, struct ECPGtype *, int);
106
extern const ScanKeyword *ScanCKeywordLookup(const char *);
107
extern const ScanKeyword *ScanECPGKeywordLookup(const char *text);
108
extern void scanner_init(const char *);
109
extern void parser_init(void);
110
extern void scanner_finish(void);
111
extern int  filtered_base_yylex(void);
112
113
/* return codes */
114
115
#define ILLEGAL_OPTION    1
116
0
#define NO_INCLUDE_FILE   2
117
0
#define PARSE_ERROR     3
118
#define INDICATOR_NOT_ARRAY 4
119
#define OUT_OF_MEMORY   5
120
#define INDICATOR_NOT_STRUCT  6
121
#define INDICATOR_NOT_SIMPLE  7
122
123
enum COMPAT_MODE
124
{
125
  ECPG_COMPAT_PGSQL = 0, ECPG_COMPAT_INFORMIX, ECPG_COMPAT_INFORMIX_SE, ECPG_COMPAT_ORACLE
126
};
127
extern enum COMPAT_MODE compat;
128
129
0
#define INFORMIX_MODE (compat == ECPG_COMPAT_INFORMIX || compat == ECPG_COMPAT_INFORMIX_SE)
130
#define ORACLE_MODE (compat == ECPG_COMPAT_ORACLE)
131
132
133
#endif              /* _ECPG_PREPROC_EXTERN_H */