Coverage Report

Created: 2026-01-16 06:52

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/tarantool/src/box/sql/parse_def.h
Line
Count
Source
1
#ifndef TARANTOOL_BOX_SQL_PARSE_DEF_H_INCLUDED
2
#define TARANTOOL_BOX_SQL_PARSE_DEF_H_INCLUDED
3
/*
4
 * Copyright 2010-2019, Tarantool AUTHORS, please see AUTHORS file.
5
 *
6
 * Redistribution and use in source and binary forms, with or
7
 * without modification, are permitted provided that the following
8
 * conditions are met:
9
 *
10
 * 1. Redistributions of source code must retain the above
11
 *    copyright notice, this list of conditions and the
12
 *    following disclaimer.
13
 *
14
 * 2. Redistributions in binary form must reproduce the above
15
 *    copyright notice, this list of conditions and the following
16
 *    disclaimer in the documentation and/or other materials
17
 *    provided with the distribution.
18
 *
19
 * THIS SOFTWARE IS PROVIDED BY <COPYRIGHT HOLDER> ``AS IS'' AND
20
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
21
 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
23
 * <COPYRIGHT HOLDER> OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
24
 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
26
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
27
 * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
28
 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
30
 * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31
 * SUCH DAMAGE.
32
 */
33
#include <assert.h>
34
35
#include "box/key_def.h"
36
#include "box/sql.h"
37
38
/**
39
 * This file contains auxiliary structures and functions which
40
 * are used only during parsing routine (see parse.y).
41
 * Their main purpose is to assemble common parts of altered
42
 * entities (such as name, or IF EXISTS clause) and pass them
43
 * as a one object to further functions.
44
 *
45
 * Hierarchy is following:
46
 *
47
 * Base structure is ALTER.
48
 * ALTER is omitted only for CREATE TABLE since table is filled
49
 * with meta-information just-in-time of parsing:
50
 * for instance, as soon as field's name and type are recognized
51
 * they are added to space definition.
52
 *
53
 * DROP is general for all existing objects and includes
54
 * name of object itself, name of parent object (table),
55
 * IF EXISTS clause and may contain on-drop behaviour
56
 * (CASCADE/RESTRICT, but now it is always RESTRICT).
57
 * Hence, it terms of grammar - it is a terminal symbol.
58
 *
59
 * RENAME can be applied only to table (at least now, since it is
60
 * ANSI extension), so it is also terminal symbol.
61
 *
62
 * CREATE in turn can be expanded to nonterminal symbol
63
 * CREATE CONSTRAINT or to terminal CREATE TABLE/INDEX/TRIGGER.
64
 * CREATE CONSTRAINT unfolds to FOREIGN KEY or UNIQUE/PRIMARY KEY.
65
 *
66
 * For instance:
67
 * ALTER TABLE t ADD CONSTRAINT c FOREIGN KEY REFERENCES t2(id);
68
 * ALTER *TABLE* -> CREATE ENTITY -> CREATE CONSTRAINT -> CREATE FK
69
 *
70
 * CREATE TRIGGER tr1 ...
71
 * ALTER *TABLE* -> CREATE ENTITY -> CREATE TRIGGER
72
 *
73
 * All terminal symbols are stored as a union within
74
 * parsing context (struct Parse).
75
 */
76
77
/** Type of parsed statement. */
78
enum sql_ast_type {
79
  /** Type of the statement is unknown. */
80
  SQL_AST_TYPE_UNKNOWN = 0,
81
  /** START TRANSACTION statement. */
82
  SQL_AST_TYPE_START_TRANSACTION,
83
  /** COMMIT statement. */
84
  SQL_AST_TYPE_COMMIT,
85
  /** ROLLBACK statement. */
86
  SQL_AST_TYPE_ROLLBACK,
87
  /** SAVEPOINT statement. */
88
  SQL_AST_TYPE_SAVEPOINT,
89
  /** RELEASE SAVEPOINT statement. */
90
  SQL_AST_TYPE_RELEASE_SAVEPOINT,
91
  /** ROLLBACK TO SAVEPOINT statement. */
92
  SQL_AST_TYPE_ROLLBACK_TO_SAVEPOINT,
93
};
94
95
/**
96
 * Each token coming out of the lexer is an instance of
97
 * this structure. Tokens are also used as part of an expression.
98
 */
99
struct Token {
100
  /** Text of the token. Not NULL-terminated! */
101
  const char *z;
102
  /** Number of characters in this token. */
103
  unsigned int n;
104
  bool isReserved;
105
};
106
107
/** Description of a SAVEPOINT. */
108
struct sql_ast_savepoint {
109
  /** Name of the SAVEPOINT. */
110
  struct Token name;
111
};
112
113
/** A structure describing the AST of the parsed SQL statement. */
114
struct sql_ast {
115
  /** Parsed statement type. */
116
  enum sql_ast_type type;
117
  /** Savepoint description for savepoint-related statements. */
118
  struct sql_ast_savepoint savepoint;
119
};
120
121
/** Constant tokens for integer values. */
122
extern const struct Token sqlIntTokens[];
123
124
/** Generate a Token object from a string. */
125
void
126
sqlTokenInit(struct Token *p, char *z);
127
128
4.25k
#define Token_nil ((struct Token) {NULL, 0, false})
129
130
/**
131
 * Structure representing foreign keys constraints appeared
132
 * within CREATE TABLE statement. Used only during parsing.
133
 */
134
struct fk_constraint_parse {
135
  /**
136
   * Foreign keys constraint declared in <CREATE TABLE ...>
137
   * statement. They must be coded after space creation.
138
   */
139
  struct fk_constraint_def *fk_def;
140
  /**
141
   * If inside <CREATE TABLE> or <ALTER TABLE ADD COLUMN>
142
   * statement we want to declare self-referenced FK
143
   * constraint, we must delay their resolution until the
144
   * end of parsing of all columns.
145
   * E.g.: CREATE TABLE t1(id REFERENCES t1(b), b);
146
   */
147
  struct ExprList *selfref_cols;
148
  /**
149
   * Still, self-referenced columns might be NULL, if
150
   * we declare FK constraints referencing PK:
151
   * CREATE TABLE t1(id REFERENCES t1) - it is a valid case.
152
   */
153
  bool is_self_referenced;
154
  /** Organize these structs into linked list. */
155
  struct rlist link;
156
};
157
158
/**
159
 * Structure representing check constraint appeared within
160
 * CREATE TABLE statement. Used only during parsing.
161
 * All allocations are performed on region, so no cleanups are
162
 * required.
163
 */
164
struct ck_constraint_parse {
165
  /**
166
   * Check constraint declared in <CREATE TABLE ...>
167
   * statement. Must be coded after space creation.
168
   */
169
  struct ck_constraint_def *ck_def;
170
  /** Organize these structs into linked list. */
171
  struct rlist link;
172
};
173
174
/**
175
 * Possible SQL index types. Note that PK and UNIQUE constraints
176
 * are implemented as indexes and have their own types:
177
 * _CONSTRAINT_PK and _CONSTRAINT_UNIQUE.
178
 */
179
enum sql_index_type {
180
  SQL_INDEX_TYPE_NON_UNIQUE = 0,
181
  SQL_INDEX_TYPE_UNIQUE,
182
  SQL_INDEX_TYPE_CONSTRAINT_UNIQUE,
183
  SQL_INDEX_TYPE_CONSTRAINT_PK,
184
  sql_index_type_MAX
185
};
186
187
enum entity_type {
188
  ENTITY_TYPE_TABLE = 0,
189
  ENTITY_TYPE_COLUMN,
190
  ENTITY_TYPE_VIEW,
191
  ENTITY_TYPE_INDEX,
192
  ENTITY_TYPE_TRIGGER,
193
  ENTITY_TYPE_CK,
194
  ENTITY_TYPE_FK,
195
  /**
196
   * For assertion checks that constraint definition is
197
   * created before initialization of a term constraint.
198
   */
199
  ENTITY_TYPE_CONSTRAINT,
200
};
201
202
enum alter_action {
203
  ALTER_ACTION_CREATE = 0,
204
  ALTER_ACTION_DROP,
205
  ALTER_ACTION_RENAME,
206
  ALTER_ACTION_ENABLE,
207
};
208
209
struct alter_entity_def {
210
  /** Type of topmost entity. */
211
  enum entity_type entity_type;
212
  /** Action to be performed using current entity. */
213
  enum alter_action alter_action;
214
  /** As a rule it is a name of table to be altered. */
215
  struct SrcList *entity_name;
216
};
217
218
struct enable_entity_def {
219
  struct alter_entity_def base;
220
  /** Name of constraint to be enabled/disabled. */
221
  struct Token name;
222
  /** A new state to be set for entity found. */
223
  bool is_enabled;
224
};
225
226
struct rename_entity_def {
227
  struct alter_entity_def base;
228
  struct Token new_name;
229
};
230
231
struct create_entity_def {
232
  struct alter_entity_def base;
233
  struct Token name;
234
  /** Statement comes with IF NOT EXISTS clause. */
235
  bool if_not_exist;
236
};
237
238
struct create_table_def {
239
  struct create_entity_def base;
240
  struct space *new_space;
241
};
242
243
struct create_column_def {
244
  struct create_entity_def base;
245
  /** Shallow space copy. */
246
  struct space *space;
247
  /** Column type. */
248
  struct type_def *type_def;
249
};
250
251
struct create_ck_constraint_parse_def {
252
  /** List of ck_constraint_parse_def objects. */
253
  struct rlist checks;
254
};
255
256
struct create_fk_constraint_parse_def {
257
  /** List of fk_constraint_parse_def objects. */
258
  struct rlist fkeys;
259
  /**
260
   * True if a list of foreign keys is used and should be cleaned up
261
   * properly.
262
   */
263
  bool is_used;
264
};
265
266
struct create_view_def {
267
  struct create_entity_def base;
268
  /**
269
   * Starting position of CREATE VIEW ... statement.
270
   * It is used to fetch whole statement, which is
271
   * saved as raw string to space options.
272
   */
273
  struct Token *create_start;
274
  /** List of column aliases (SELECT x AS y ...). */
275
  struct ExprList *aliases;
276
  struct Select *select;
277
};
278
279
struct drop_entity_def {
280
  struct alter_entity_def base;
281
  /** Name of index/trigger/constraint to be dropped. */
282
  struct Token name;
283
  /** Statement comes with IF EXISTS clause. */
284
  bool if_exist;
285
};
286
287
/**
288
 * Identical wrappers around drop_entity_def to make hierarchy of
289
 * structures be consistent. Arguments for drop procedures are
290
 * the same.
291
 */
292
struct drop_table_def {
293
  struct drop_entity_def base;
294
};
295
296
struct drop_view_def {
297
  struct drop_entity_def base;
298
};
299
300
struct drop_trigger_def {
301
  struct drop_entity_def base;
302
};
303
304
struct drop_index_def {
305
  struct drop_entity_def base;
306
};
307
308
struct create_trigger_def {
309
  struct create_entity_def base;
310
  /** One of TK_BEFORE, TK_AFTER, TK_INSTEAD. */
311
  int tr_tm;
312
  /** One of TK_INSERT, TK_UPDATE, TK_DELETE. */
313
  int op;
314
  /** Column list if this is an UPDATE trigger. */
315
  struct IdList *cols;
316
  /** When clause. */
317
  struct Expr *when;
318
};
319
320
struct create_constraint_def {
321
  struct create_entity_def base;
322
};
323
324
struct create_ck_def {
325
  struct create_constraint_def base;
326
  /** AST representing check expression. */
327
  struct ExprSpan *expr;
328
};
329
330
struct create_fk_def {
331
  struct create_constraint_def base;
332
  struct ExprList *child_cols;
333
  struct Token *parent_name;
334
  struct ExprList *parent_cols;
335
};
336
337
struct create_index_def {
338
  struct create_constraint_def base;
339
  /** List of indexed columns. */
340
  struct ExprList *cols;
341
  /** One of _PRIMARY_KEY, _UNIQUE, _NON_UNIQUE. */
342
  enum sql_index_type idx_type;
343
  enum sort_order sort_order;
344
};
345
346
/** Basic initialisers of parse structures.*/
347
static inline void
348
alter_entity_def_init(struct alter_entity_def *alter_def,
349
          struct SrcList *entity_name, enum entity_type type,
350
          enum alter_action action)
351
12.0k
{
352
12.0k
  alter_def->entity_name = entity_name;
353
12.0k
  alter_def->entity_type = type;
354
12.0k
  alter_def->alter_action = action;
355
12.0k
}
Unexecuted instantiation: sql.c:alter_entity_def_init
Unexecuted instantiation: alter.c:alter_entity_def_init
Unexecuted instantiation: build.c:alter_entity_def_init
Unexecuted instantiation: expr.c:alter_entity_def_init
Unexecuted instantiation: func.c:alter_entity_def_init
Unexecuted instantiation: global.c:alter_entity_def_init
Unexecuted instantiation: main.c:alter_entity_def_init
Unexecuted instantiation: malloc.c:alter_entity_def_init
Unexecuted instantiation: mem.c:alter_entity_def_init
Unexecuted instantiation: os.c:alter_entity_def_init
Unexecuted instantiation: os_unix.c:alter_entity_def_init
Unexecuted instantiation: parse_def.c:alter_entity_def_init
Unexecuted instantiation: prepare.c:alter_entity_def_init
Unexecuted instantiation: printf.c:alter_entity_def_init
Unexecuted instantiation: random.c:alter_entity_def_init
Unexecuted instantiation: resolve.c:alter_entity_def_init
Unexecuted instantiation: port.c:alter_entity_def_init
Unexecuted instantiation: select.c:alter_entity_def_init
Unexecuted instantiation: tokenize.c:alter_entity_def_init
Unexecuted instantiation: treeview.c:alter_entity_def_init
Unexecuted instantiation: trigger.c:alter_entity_def_init
Unexecuted instantiation: update.c:alter_entity_def_init
Unexecuted instantiation: util.c:alter_entity_def_init
Unexecuted instantiation: vdbe.c:alter_entity_def_init
Unexecuted instantiation: vdbeapi.c:alter_entity_def_init
Unexecuted instantiation: vdbeaux.c:alter_entity_def_init
Unexecuted instantiation: vdbesort.c:alter_entity_def_init
Unexecuted instantiation: walker.c:alter_entity_def_init
Unexecuted instantiation: where.c:alter_entity_def_init
Unexecuted instantiation: wherecode.c:alter_entity_def_init
Unexecuted instantiation: whereexpr.c:alter_entity_def_init
Unexecuted instantiation: execute.c:alter_entity_def_init
Unexecuted instantiation: bind.c:alter_entity_def_init
Unexecuted instantiation: opcodes.c:alter_entity_def_init
parse.c:alter_entity_def_init
Line
Count
Source
351
12.0k
{
352
12.0k
  alter_def->entity_name = entity_name;
353
12.0k
  alter_def->entity_type = type;
354
12.0k
  alter_def->alter_action = action;
355
12.0k
}
Unexecuted instantiation: cursor.c:alter_entity_def_init
Unexecuted instantiation: delete.c:alter_entity_def_init
Unexecuted instantiation: hash.c:alter_entity_def_init
Unexecuted instantiation: insert.c:alter_entity_def_init
Unexecuted instantiation: pragma.c:alter_entity_def_init
Unexecuted instantiation: show.c:alter_entity_def_init
356
357
static inline void
358
rename_entity_def_init(struct rename_entity_def *rename_def,
359
           struct SrcList *table_name, struct Token *new_name)
360
0
{
361
0
  alter_entity_def_init(&rename_def->base, table_name, ENTITY_TYPE_TABLE,
362
0
            ALTER_ACTION_RENAME);
363
0
  rename_def->new_name = *new_name;
364
0
}
Unexecuted instantiation: sql.c:rename_entity_def_init
Unexecuted instantiation: alter.c:rename_entity_def_init
Unexecuted instantiation: build.c:rename_entity_def_init
Unexecuted instantiation: expr.c:rename_entity_def_init
Unexecuted instantiation: func.c:rename_entity_def_init
Unexecuted instantiation: global.c:rename_entity_def_init
Unexecuted instantiation: main.c:rename_entity_def_init
Unexecuted instantiation: malloc.c:rename_entity_def_init
Unexecuted instantiation: mem.c:rename_entity_def_init
Unexecuted instantiation: os.c:rename_entity_def_init
Unexecuted instantiation: os_unix.c:rename_entity_def_init
Unexecuted instantiation: parse_def.c:rename_entity_def_init
Unexecuted instantiation: prepare.c:rename_entity_def_init
Unexecuted instantiation: printf.c:rename_entity_def_init
Unexecuted instantiation: random.c:rename_entity_def_init
Unexecuted instantiation: resolve.c:rename_entity_def_init
Unexecuted instantiation: port.c:rename_entity_def_init
Unexecuted instantiation: select.c:rename_entity_def_init
Unexecuted instantiation: tokenize.c:rename_entity_def_init
Unexecuted instantiation: treeview.c:rename_entity_def_init
Unexecuted instantiation: trigger.c:rename_entity_def_init
Unexecuted instantiation: update.c:rename_entity_def_init
Unexecuted instantiation: util.c:rename_entity_def_init
Unexecuted instantiation: vdbe.c:rename_entity_def_init
Unexecuted instantiation: vdbeapi.c:rename_entity_def_init
Unexecuted instantiation: vdbeaux.c:rename_entity_def_init
Unexecuted instantiation: vdbesort.c:rename_entity_def_init
Unexecuted instantiation: walker.c:rename_entity_def_init
Unexecuted instantiation: where.c:rename_entity_def_init
Unexecuted instantiation: wherecode.c:rename_entity_def_init
Unexecuted instantiation: whereexpr.c:rename_entity_def_init
Unexecuted instantiation: execute.c:rename_entity_def_init
Unexecuted instantiation: bind.c:rename_entity_def_init
Unexecuted instantiation: opcodes.c:rename_entity_def_init
Unexecuted instantiation: parse.c:rename_entity_def_init
Unexecuted instantiation: cursor.c:rename_entity_def_init
Unexecuted instantiation: delete.c:rename_entity_def_init
Unexecuted instantiation: hash.c:rename_entity_def_init
Unexecuted instantiation: insert.c:rename_entity_def_init
Unexecuted instantiation: pragma.c:rename_entity_def_init
Unexecuted instantiation: show.c:rename_entity_def_init
365
366
static inline void
367
enable_entity_def_init(struct enable_entity_def *enable_def,
368
           enum entity_type type, struct SrcList *parent_name,
369
           struct Token *name, bool is_enabled)
370
0
{
371
0
  alter_entity_def_init(&enable_def->base, parent_name, type,
372
0
            ALTER_ACTION_ENABLE);
373
0
  enable_def->name = *name;
374
0
  enable_def->is_enabled = is_enabled;
375
0
}
Unexecuted instantiation: sql.c:enable_entity_def_init
Unexecuted instantiation: alter.c:enable_entity_def_init
Unexecuted instantiation: build.c:enable_entity_def_init
Unexecuted instantiation: expr.c:enable_entity_def_init
Unexecuted instantiation: func.c:enable_entity_def_init
Unexecuted instantiation: global.c:enable_entity_def_init
Unexecuted instantiation: main.c:enable_entity_def_init
Unexecuted instantiation: malloc.c:enable_entity_def_init
Unexecuted instantiation: mem.c:enable_entity_def_init
Unexecuted instantiation: os.c:enable_entity_def_init
Unexecuted instantiation: os_unix.c:enable_entity_def_init
Unexecuted instantiation: parse_def.c:enable_entity_def_init
Unexecuted instantiation: prepare.c:enable_entity_def_init
Unexecuted instantiation: printf.c:enable_entity_def_init
Unexecuted instantiation: random.c:enable_entity_def_init
Unexecuted instantiation: resolve.c:enable_entity_def_init
Unexecuted instantiation: port.c:enable_entity_def_init
Unexecuted instantiation: select.c:enable_entity_def_init
Unexecuted instantiation: tokenize.c:enable_entity_def_init
Unexecuted instantiation: treeview.c:enable_entity_def_init
Unexecuted instantiation: trigger.c:enable_entity_def_init
Unexecuted instantiation: update.c:enable_entity_def_init
Unexecuted instantiation: util.c:enable_entity_def_init
Unexecuted instantiation: vdbe.c:enable_entity_def_init
Unexecuted instantiation: vdbeapi.c:enable_entity_def_init
Unexecuted instantiation: vdbeaux.c:enable_entity_def_init
Unexecuted instantiation: vdbesort.c:enable_entity_def_init
Unexecuted instantiation: walker.c:enable_entity_def_init
Unexecuted instantiation: where.c:enable_entity_def_init
Unexecuted instantiation: wherecode.c:enable_entity_def_init
Unexecuted instantiation: whereexpr.c:enable_entity_def_init
Unexecuted instantiation: execute.c:enable_entity_def_init
Unexecuted instantiation: bind.c:enable_entity_def_init
Unexecuted instantiation: opcodes.c:enable_entity_def_init
Unexecuted instantiation: parse.c:enable_entity_def_init
Unexecuted instantiation: cursor.c:enable_entity_def_init
Unexecuted instantiation: delete.c:enable_entity_def_init
Unexecuted instantiation: hash.c:enable_entity_def_init
Unexecuted instantiation: insert.c:enable_entity_def_init
Unexecuted instantiation: pragma.c:enable_entity_def_init
Unexecuted instantiation: show.c:enable_entity_def_init
376
377
static inline void
378
create_entity_def_init(struct create_entity_def *create_def,
379
           enum entity_type type, struct SrcList *parent_name,
380
           struct Token *name, bool if_not_exist)
381
12.0k
{
382
12.0k
  alter_entity_def_init(&create_def->base, parent_name, type,
383
12.0k
            ALTER_ACTION_CREATE);
384
12.0k
  create_def->name = *name;
385
12.0k
  create_def->if_not_exist = if_not_exist;
386
12.0k
}
Unexecuted instantiation: sql.c:create_entity_def_init
Unexecuted instantiation: alter.c:create_entity_def_init
Unexecuted instantiation: build.c:create_entity_def_init
Unexecuted instantiation: expr.c:create_entity_def_init
Unexecuted instantiation: func.c:create_entity_def_init
Unexecuted instantiation: global.c:create_entity_def_init
Unexecuted instantiation: main.c:create_entity_def_init
Unexecuted instantiation: malloc.c:create_entity_def_init
Unexecuted instantiation: mem.c:create_entity_def_init
Unexecuted instantiation: os.c:create_entity_def_init
Unexecuted instantiation: os_unix.c:create_entity_def_init
Unexecuted instantiation: parse_def.c:create_entity_def_init
Unexecuted instantiation: prepare.c:create_entity_def_init
Unexecuted instantiation: printf.c:create_entity_def_init
Unexecuted instantiation: random.c:create_entity_def_init
Unexecuted instantiation: resolve.c:create_entity_def_init
Unexecuted instantiation: port.c:create_entity_def_init
Unexecuted instantiation: select.c:create_entity_def_init
Unexecuted instantiation: tokenize.c:create_entity_def_init
Unexecuted instantiation: treeview.c:create_entity_def_init
Unexecuted instantiation: trigger.c:create_entity_def_init
Unexecuted instantiation: update.c:create_entity_def_init
Unexecuted instantiation: util.c:create_entity_def_init
Unexecuted instantiation: vdbe.c:create_entity_def_init
Unexecuted instantiation: vdbeapi.c:create_entity_def_init
Unexecuted instantiation: vdbeaux.c:create_entity_def_init
Unexecuted instantiation: vdbesort.c:create_entity_def_init
Unexecuted instantiation: walker.c:create_entity_def_init
Unexecuted instantiation: where.c:create_entity_def_init
Unexecuted instantiation: wherecode.c:create_entity_def_init
Unexecuted instantiation: whereexpr.c:create_entity_def_init
Unexecuted instantiation: execute.c:create_entity_def_init
Unexecuted instantiation: bind.c:create_entity_def_init
Unexecuted instantiation: opcodes.c:create_entity_def_init
parse.c:create_entity_def_init
Line
Count
Source
381
12.0k
{
382
12.0k
  alter_entity_def_init(&create_def->base, parent_name, type,
383
12.0k
            ALTER_ACTION_CREATE);
384
12.0k
  create_def->name = *name;
385
12.0k
  create_def->if_not_exist = if_not_exist;
386
12.0k
}
Unexecuted instantiation: cursor.c:create_entity_def_init
Unexecuted instantiation: delete.c:create_entity_def_init
Unexecuted instantiation: hash.c:create_entity_def_init
Unexecuted instantiation: insert.c:create_entity_def_init
Unexecuted instantiation: pragma.c:create_entity_def_init
Unexecuted instantiation: show.c:create_entity_def_init
387
388
static inline void
389
create_constraint_def_init(struct create_constraint_def *constr_def,
390
         struct SrcList *parent_name, struct Token *name,
391
         bool if_not_exists, enum entity_type entity_type)
392
4.11k
{
393
4.11k
  create_entity_def_init(&constr_def->base, entity_type,
394
4.11k
             parent_name, name, if_not_exists);
395
4.11k
}
Unexecuted instantiation: sql.c:create_constraint_def_init
Unexecuted instantiation: alter.c:create_constraint_def_init
Unexecuted instantiation: build.c:create_constraint_def_init
Unexecuted instantiation: expr.c:create_constraint_def_init
Unexecuted instantiation: func.c:create_constraint_def_init
Unexecuted instantiation: global.c:create_constraint_def_init
Unexecuted instantiation: main.c:create_constraint_def_init
Unexecuted instantiation: malloc.c:create_constraint_def_init
Unexecuted instantiation: mem.c:create_constraint_def_init
Unexecuted instantiation: os.c:create_constraint_def_init
Unexecuted instantiation: os_unix.c:create_constraint_def_init
Unexecuted instantiation: parse_def.c:create_constraint_def_init
Unexecuted instantiation: prepare.c:create_constraint_def_init
Unexecuted instantiation: printf.c:create_constraint_def_init
Unexecuted instantiation: random.c:create_constraint_def_init
Unexecuted instantiation: resolve.c:create_constraint_def_init
Unexecuted instantiation: port.c:create_constraint_def_init
Unexecuted instantiation: select.c:create_constraint_def_init
Unexecuted instantiation: tokenize.c:create_constraint_def_init
Unexecuted instantiation: treeview.c:create_constraint_def_init
Unexecuted instantiation: trigger.c:create_constraint_def_init
Unexecuted instantiation: update.c:create_constraint_def_init
Unexecuted instantiation: util.c:create_constraint_def_init
Unexecuted instantiation: vdbe.c:create_constraint_def_init
Unexecuted instantiation: vdbeapi.c:create_constraint_def_init
Unexecuted instantiation: vdbeaux.c:create_constraint_def_init
Unexecuted instantiation: vdbesort.c:create_constraint_def_init
Unexecuted instantiation: walker.c:create_constraint_def_init
Unexecuted instantiation: where.c:create_constraint_def_init
Unexecuted instantiation: wherecode.c:create_constraint_def_init
Unexecuted instantiation: whereexpr.c:create_constraint_def_init
Unexecuted instantiation: execute.c:create_constraint_def_init
Unexecuted instantiation: bind.c:create_constraint_def_init
Unexecuted instantiation: opcodes.c:create_constraint_def_init
parse.c:create_constraint_def_init
Line
Count
Source
392
4.11k
{
393
4.11k
  create_entity_def_init(&constr_def->base, entity_type,
394
4.11k
             parent_name, name, if_not_exists);
395
4.11k
}
Unexecuted instantiation: cursor.c:create_constraint_def_init
Unexecuted instantiation: delete.c:create_constraint_def_init
Unexecuted instantiation: hash.c:create_constraint_def_init
Unexecuted instantiation: insert.c:create_constraint_def_init
Unexecuted instantiation: pragma.c:create_constraint_def_init
Unexecuted instantiation: show.c:create_constraint_def_init
396
397
static inline void
398
drop_entity_def_init(struct drop_entity_def *drop_def,
399
         struct SrcList *parent_name, struct Token *name,
400
         bool if_exist, enum entity_type entity_type)
401
0
{
402
0
  alter_entity_def_init(&drop_def->base, parent_name, entity_type,
403
0
            ALTER_ACTION_DROP);
404
0
  drop_def->name = *name;
405
0
  drop_def->if_exist = if_exist;
406
0
}
Unexecuted instantiation: sql.c:drop_entity_def_init
Unexecuted instantiation: alter.c:drop_entity_def_init
Unexecuted instantiation: build.c:drop_entity_def_init
Unexecuted instantiation: expr.c:drop_entity_def_init
Unexecuted instantiation: func.c:drop_entity_def_init
Unexecuted instantiation: global.c:drop_entity_def_init
Unexecuted instantiation: main.c:drop_entity_def_init
Unexecuted instantiation: malloc.c:drop_entity_def_init
Unexecuted instantiation: mem.c:drop_entity_def_init
Unexecuted instantiation: os.c:drop_entity_def_init
Unexecuted instantiation: os_unix.c:drop_entity_def_init
Unexecuted instantiation: parse_def.c:drop_entity_def_init
Unexecuted instantiation: prepare.c:drop_entity_def_init
Unexecuted instantiation: printf.c:drop_entity_def_init
Unexecuted instantiation: random.c:drop_entity_def_init
Unexecuted instantiation: resolve.c:drop_entity_def_init
Unexecuted instantiation: port.c:drop_entity_def_init
Unexecuted instantiation: select.c:drop_entity_def_init
Unexecuted instantiation: tokenize.c:drop_entity_def_init
Unexecuted instantiation: treeview.c:drop_entity_def_init
Unexecuted instantiation: trigger.c:drop_entity_def_init
Unexecuted instantiation: update.c:drop_entity_def_init
Unexecuted instantiation: util.c:drop_entity_def_init
Unexecuted instantiation: vdbe.c:drop_entity_def_init
Unexecuted instantiation: vdbeapi.c:drop_entity_def_init
Unexecuted instantiation: vdbeaux.c:drop_entity_def_init
Unexecuted instantiation: vdbesort.c:drop_entity_def_init
Unexecuted instantiation: walker.c:drop_entity_def_init
Unexecuted instantiation: where.c:drop_entity_def_init
Unexecuted instantiation: wherecode.c:drop_entity_def_init
Unexecuted instantiation: whereexpr.c:drop_entity_def_init
Unexecuted instantiation: execute.c:drop_entity_def_init
Unexecuted instantiation: bind.c:drop_entity_def_init
Unexecuted instantiation: opcodes.c:drop_entity_def_init
Unexecuted instantiation: parse.c:drop_entity_def_init
Unexecuted instantiation: cursor.c:drop_entity_def_init
Unexecuted instantiation: delete.c:drop_entity_def_init
Unexecuted instantiation: hash.c:drop_entity_def_init
Unexecuted instantiation: insert.c:drop_entity_def_init
Unexecuted instantiation: pragma.c:drop_entity_def_init
Unexecuted instantiation: show.c:drop_entity_def_init
407
408
static inline void
409
drop_table_def_init(struct drop_table_def *drop_table_def,
410
        struct SrcList *parent_name, struct Token *name,
411
        bool if_exist)
412
0
{
413
0
  drop_entity_def_init(&drop_table_def->base, parent_name, name, if_exist,
414
0
           ENTITY_TYPE_TABLE);
415
0
}
Unexecuted instantiation: sql.c:drop_table_def_init
Unexecuted instantiation: alter.c:drop_table_def_init
Unexecuted instantiation: build.c:drop_table_def_init
Unexecuted instantiation: expr.c:drop_table_def_init
Unexecuted instantiation: func.c:drop_table_def_init
Unexecuted instantiation: global.c:drop_table_def_init
Unexecuted instantiation: main.c:drop_table_def_init
Unexecuted instantiation: malloc.c:drop_table_def_init
Unexecuted instantiation: mem.c:drop_table_def_init
Unexecuted instantiation: os.c:drop_table_def_init
Unexecuted instantiation: os_unix.c:drop_table_def_init
Unexecuted instantiation: parse_def.c:drop_table_def_init
Unexecuted instantiation: prepare.c:drop_table_def_init
Unexecuted instantiation: printf.c:drop_table_def_init
Unexecuted instantiation: random.c:drop_table_def_init
Unexecuted instantiation: resolve.c:drop_table_def_init
Unexecuted instantiation: port.c:drop_table_def_init
Unexecuted instantiation: select.c:drop_table_def_init
Unexecuted instantiation: tokenize.c:drop_table_def_init
Unexecuted instantiation: treeview.c:drop_table_def_init
Unexecuted instantiation: trigger.c:drop_table_def_init
Unexecuted instantiation: update.c:drop_table_def_init
Unexecuted instantiation: util.c:drop_table_def_init
Unexecuted instantiation: vdbe.c:drop_table_def_init
Unexecuted instantiation: vdbeapi.c:drop_table_def_init
Unexecuted instantiation: vdbeaux.c:drop_table_def_init
Unexecuted instantiation: vdbesort.c:drop_table_def_init
Unexecuted instantiation: walker.c:drop_table_def_init
Unexecuted instantiation: where.c:drop_table_def_init
Unexecuted instantiation: wherecode.c:drop_table_def_init
Unexecuted instantiation: whereexpr.c:drop_table_def_init
Unexecuted instantiation: execute.c:drop_table_def_init
Unexecuted instantiation: bind.c:drop_table_def_init
Unexecuted instantiation: opcodes.c:drop_table_def_init
Unexecuted instantiation: parse.c:drop_table_def_init
Unexecuted instantiation: cursor.c:drop_table_def_init
Unexecuted instantiation: delete.c:drop_table_def_init
Unexecuted instantiation: hash.c:drop_table_def_init
Unexecuted instantiation: insert.c:drop_table_def_init
Unexecuted instantiation: pragma.c:drop_table_def_init
Unexecuted instantiation: show.c:drop_table_def_init
416
417
static inline void
418
drop_view_def_init(struct drop_view_def *drop_view_def,
419
       struct SrcList *parent_name, struct Token *name,
420
       bool if_exist)
421
0
{
422
0
  drop_entity_def_init(&drop_view_def->base, parent_name, name, if_exist,
423
0
           ENTITY_TYPE_VIEW);
424
0
}
Unexecuted instantiation: sql.c:drop_view_def_init
Unexecuted instantiation: alter.c:drop_view_def_init
Unexecuted instantiation: build.c:drop_view_def_init
Unexecuted instantiation: expr.c:drop_view_def_init
Unexecuted instantiation: func.c:drop_view_def_init
Unexecuted instantiation: global.c:drop_view_def_init
Unexecuted instantiation: main.c:drop_view_def_init
Unexecuted instantiation: malloc.c:drop_view_def_init
Unexecuted instantiation: mem.c:drop_view_def_init
Unexecuted instantiation: os.c:drop_view_def_init
Unexecuted instantiation: os_unix.c:drop_view_def_init
Unexecuted instantiation: parse_def.c:drop_view_def_init
Unexecuted instantiation: prepare.c:drop_view_def_init
Unexecuted instantiation: printf.c:drop_view_def_init
Unexecuted instantiation: random.c:drop_view_def_init
Unexecuted instantiation: resolve.c:drop_view_def_init
Unexecuted instantiation: port.c:drop_view_def_init
Unexecuted instantiation: select.c:drop_view_def_init
Unexecuted instantiation: tokenize.c:drop_view_def_init
Unexecuted instantiation: treeview.c:drop_view_def_init
Unexecuted instantiation: trigger.c:drop_view_def_init
Unexecuted instantiation: update.c:drop_view_def_init
Unexecuted instantiation: util.c:drop_view_def_init
Unexecuted instantiation: vdbe.c:drop_view_def_init
Unexecuted instantiation: vdbeapi.c:drop_view_def_init
Unexecuted instantiation: vdbeaux.c:drop_view_def_init
Unexecuted instantiation: vdbesort.c:drop_view_def_init
Unexecuted instantiation: walker.c:drop_view_def_init
Unexecuted instantiation: where.c:drop_view_def_init
Unexecuted instantiation: wherecode.c:drop_view_def_init
Unexecuted instantiation: whereexpr.c:drop_view_def_init
Unexecuted instantiation: execute.c:drop_view_def_init
Unexecuted instantiation: bind.c:drop_view_def_init
Unexecuted instantiation: opcodes.c:drop_view_def_init
Unexecuted instantiation: parse.c:drop_view_def_init
Unexecuted instantiation: cursor.c:drop_view_def_init
Unexecuted instantiation: delete.c:drop_view_def_init
Unexecuted instantiation: hash.c:drop_view_def_init
Unexecuted instantiation: insert.c:drop_view_def_init
Unexecuted instantiation: pragma.c:drop_view_def_init
Unexecuted instantiation: show.c:drop_view_def_init
425
426
static inline void
427
drop_trigger_def_init(struct drop_trigger_def *drop_trigger_def,
428
          struct SrcList *parent_name, struct Token *name,
429
          bool if_exist)
430
0
{
431
0
  drop_entity_def_init(&drop_trigger_def->base, parent_name, name,
432
0
           if_exist, ENTITY_TYPE_TRIGGER);
433
0
}
Unexecuted instantiation: sql.c:drop_trigger_def_init
Unexecuted instantiation: alter.c:drop_trigger_def_init
Unexecuted instantiation: build.c:drop_trigger_def_init
Unexecuted instantiation: expr.c:drop_trigger_def_init
Unexecuted instantiation: func.c:drop_trigger_def_init
Unexecuted instantiation: global.c:drop_trigger_def_init
Unexecuted instantiation: main.c:drop_trigger_def_init
Unexecuted instantiation: malloc.c:drop_trigger_def_init
Unexecuted instantiation: mem.c:drop_trigger_def_init
Unexecuted instantiation: os.c:drop_trigger_def_init
Unexecuted instantiation: os_unix.c:drop_trigger_def_init
Unexecuted instantiation: parse_def.c:drop_trigger_def_init
Unexecuted instantiation: prepare.c:drop_trigger_def_init
Unexecuted instantiation: printf.c:drop_trigger_def_init
Unexecuted instantiation: random.c:drop_trigger_def_init
Unexecuted instantiation: resolve.c:drop_trigger_def_init
Unexecuted instantiation: port.c:drop_trigger_def_init
Unexecuted instantiation: select.c:drop_trigger_def_init
Unexecuted instantiation: tokenize.c:drop_trigger_def_init
Unexecuted instantiation: treeview.c:drop_trigger_def_init
Unexecuted instantiation: trigger.c:drop_trigger_def_init
Unexecuted instantiation: update.c:drop_trigger_def_init
Unexecuted instantiation: util.c:drop_trigger_def_init
Unexecuted instantiation: vdbe.c:drop_trigger_def_init
Unexecuted instantiation: vdbeapi.c:drop_trigger_def_init
Unexecuted instantiation: vdbeaux.c:drop_trigger_def_init
Unexecuted instantiation: vdbesort.c:drop_trigger_def_init
Unexecuted instantiation: walker.c:drop_trigger_def_init
Unexecuted instantiation: where.c:drop_trigger_def_init
Unexecuted instantiation: wherecode.c:drop_trigger_def_init
Unexecuted instantiation: whereexpr.c:drop_trigger_def_init
Unexecuted instantiation: execute.c:drop_trigger_def_init
Unexecuted instantiation: bind.c:drop_trigger_def_init
Unexecuted instantiation: opcodes.c:drop_trigger_def_init
Unexecuted instantiation: parse.c:drop_trigger_def_init
Unexecuted instantiation: cursor.c:drop_trigger_def_init
Unexecuted instantiation: delete.c:drop_trigger_def_init
Unexecuted instantiation: hash.c:drop_trigger_def_init
Unexecuted instantiation: insert.c:drop_trigger_def_init
Unexecuted instantiation: pragma.c:drop_trigger_def_init
Unexecuted instantiation: show.c:drop_trigger_def_init
434
435
static inline void
436
drop_index_def_init(struct drop_index_def *drop_index_def,
437
        struct SrcList *parent_name, struct Token *name,
438
        bool if_exist)
439
0
{
440
0
  drop_entity_def_init(&drop_index_def->base, parent_name, name, if_exist,
441
0
           ENTITY_TYPE_INDEX);
442
0
}
Unexecuted instantiation: sql.c:drop_index_def_init
Unexecuted instantiation: alter.c:drop_index_def_init
Unexecuted instantiation: build.c:drop_index_def_init
Unexecuted instantiation: expr.c:drop_index_def_init
Unexecuted instantiation: func.c:drop_index_def_init
Unexecuted instantiation: global.c:drop_index_def_init
Unexecuted instantiation: main.c:drop_index_def_init
Unexecuted instantiation: malloc.c:drop_index_def_init
Unexecuted instantiation: mem.c:drop_index_def_init
Unexecuted instantiation: os.c:drop_index_def_init
Unexecuted instantiation: os_unix.c:drop_index_def_init
Unexecuted instantiation: parse_def.c:drop_index_def_init
Unexecuted instantiation: prepare.c:drop_index_def_init
Unexecuted instantiation: printf.c:drop_index_def_init
Unexecuted instantiation: random.c:drop_index_def_init
Unexecuted instantiation: resolve.c:drop_index_def_init
Unexecuted instantiation: port.c:drop_index_def_init
Unexecuted instantiation: select.c:drop_index_def_init
Unexecuted instantiation: tokenize.c:drop_index_def_init
Unexecuted instantiation: treeview.c:drop_index_def_init
Unexecuted instantiation: trigger.c:drop_index_def_init
Unexecuted instantiation: update.c:drop_index_def_init
Unexecuted instantiation: util.c:drop_index_def_init
Unexecuted instantiation: vdbe.c:drop_index_def_init
Unexecuted instantiation: vdbeapi.c:drop_index_def_init
Unexecuted instantiation: vdbeaux.c:drop_index_def_init
Unexecuted instantiation: vdbesort.c:drop_index_def_init
Unexecuted instantiation: walker.c:drop_index_def_init
Unexecuted instantiation: where.c:drop_index_def_init
Unexecuted instantiation: wherecode.c:drop_index_def_init
Unexecuted instantiation: whereexpr.c:drop_index_def_init
Unexecuted instantiation: execute.c:drop_index_def_init
Unexecuted instantiation: bind.c:drop_index_def_init
Unexecuted instantiation: opcodes.c:drop_index_def_init
Unexecuted instantiation: parse.c:drop_index_def_init
Unexecuted instantiation: cursor.c:drop_index_def_init
Unexecuted instantiation: delete.c:drop_index_def_init
Unexecuted instantiation: hash.c:drop_index_def_init
Unexecuted instantiation: insert.c:drop_index_def_init
Unexecuted instantiation: pragma.c:drop_index_def_init
Unexecuted instantiation: show.c:drop_index_def_init
443
444
static inline void
445
create_trigger_def_init(struct create_trigger_def *trigger_def,
446
      struct SrcList *table_name, struct Token *name,
447
      int tr_tm, int op, struct IdList *cols,
448
      struct Expr *when, bool if_not_exists)
449
0
{
450
0
  create_entity_def_init(&trigger_def->base, ENTITY_TYPE_TRIGGER,
451
0
             table_name, name, if_not_exists);
452
0
  trigger_def->tr_tm = tr_tm;
453
0
  trigger_def->op = op;
454
0
  trigger_def->cols = cols;
455
0
  trigger_def->when = when;
456
0
}
Unexecuted instantiation: sql.c:create_trigger_def_init
Unexecuted instantiation: alter.c:create_trigger_def_init
Unexecuted instantiation: build.c:create_trigger_def_init
Unexecuted instantiation: expr.c:create_trigger_def_init
Unexecuted instantiation: func.c:create_trigger_def_init
Unexecuted instantiation: global.c:create_trigger_def_init
Unexecuted instantiation: main.c:create_trigger_def_init
Unexecuted instantiation: malloc.c:create_trigger_def_init
Unexecuted instantiation: mem.c:create_trigger_def_init
Unexecuted instantiation: os.c:create_trigger_def_init
Unexecuted instantiation: os_unix.c:create_trigger_def_init
Unexecuted instantiation: parse_def.c:create_trigger_def_init
Unexecuted instantiation: prepare.c:create_trigger_def_init
Unexecuted instantiation: printf.c:create_trigger_def_init
Unexecuted instantiation: random.c:create_trigger_def_init
Unexecuted instantiation: resolve.c:create_trigger_def_init
Unexecuted instantiation: port.c:create_trigger_def_init
Unexecuted instantiation: select.c:create_trigger_def_init
Unexecuted instantiation: tokenize.c:create_trigger_def_init
Unexecuted instantiation: treeview.c:create_trigger_def_init
Unexecuted instantiation: trigger.c:create_trigger_def_init
Unexecuted instantiation: update.c:create_trigger_def_init
Unexecuted instantiation: util.c:create_trigger_def_init
Unexecuted instantiation: vdbe.c:create_trigger_def_init
Unexecuted instantiation: vdbeapi.c:create_trigger_def_init
Unexecuted instantiation: vdbeaux.c:create_trigger_def_init
Unexecuted instantiation: vdbesort.c:create_trigger_def_init
Unexecuted instantiation: walker.c:create_trigger_def_init
Unexecuted instantiation: where.c:create_trigger_def_init
Unexecuted instantiation: wherecode.c:create_trigger_def_init
Unexecuted instantiation: whereexpr.c:create_trigger_def_init
Unexecuted instantiation: execute.c:create_trigger_def_init
Unexecuted instantiation: bind.c:create_trigger_def_init
Unexecuted instantiation: opcodes.c:create_trigger_def_init
Unexecuted instantiation: parse.c:create_trigger_def_init
Unexecuted instantiation: cursor.c:create_trigger_def_init
Unexecuted instantiation: delete.c:create_trigger_def_init
Unexecuted instantiation: hash.c:create_trigger_def_init
Unexecuted instantiation: insert.c:create_trigger_def_init
Unexecuted instantiation: pragma.c:create_trigger_def_init
Unexecuted instantiation: show.c:create_trigger_def_init
457
458
static inline void
459
create_ck_def_init(struct create_ck_def *ck_def, struct SrcList *table_name,
460
       struct Token *name, struct ExprSpan *expr)
461
1.90k
{
462
1.90k
  create_constraint_def_init(&ck_def->base, table_name, name, false,
463
1.90k
           ENTITY_TYPE_CK);
464
1.90k
  ck_def->expr = expr;
465
1.90k
}
Unexecuted instantiation: sql.c:create_ck_def_init
Unexecuted instantiation: alter.c:create_ck_def_init
Unexecuted instantiation: build.c:create_ck_def_init
Unexecuted instantiation: expr.c:create_ck_def_init
Unexecuted instantiation: func.c:create_ck_def_init
Unexecuted instantiation: global.c:create_ck_def_init
Unexecuted instantiation: main.c:create_ck_def_init
Unexecuted instantiation: malloc.c:create_ck_def_init
Unexecuted instantiation: mem.c:create_ck_def_init
Unexecuted instantiation: os.c:create_ck_def_init
Unexecuted instantiation: os_unix.c:create_ck_def_init
Unexecuted instantiation: parse_def.c:create_ck_def_init
Unexecuted instantiation: prepare.c:create_ck_def_init
Unexecuted instantiation: printf.c:create_ck_def_init
Unexecuted instantiation: random.c:create_ck_def_init
Unexecuted instantiation: resolve.c:create_ck_def_init
Unexecuted instantiation: port.c:create_ck_def_init
Unexecuted instantiation: select.c:create_ck_def_init
Unexecuted instantiation: tokenize.c:create_ck_def_init
Unexecuted instantiation: treeview.c:create_ck_def_init
Unexecuted instantiation: trigger.c:create_ck_def_init
Unexecuted instantiation: update.c:create_ck_def_init
Unexecuted instantiation: util.c:create_ck_def_init
Unexecuted instantiation: vdbe.c:create_ck_def_init
Unexecuted instantiation: vdbeapi.c:create_ck_def_init
Unexecuted instantiation: vdbeaux.c:create_ck_def_init
Unexecuted instantiation: vdbesort.c:create_ck_def_init
Unexecuted instantiation: walker.c:create_ck_def_init
Unexecuted instantiation: where.c:create_ck_def_init
Unexecuted instantiation: wherecode.c:create_ck_def_init
Unexecuted instantiation: whereexpr.c:create_ck_def_init
Unexecuted instantiation: execute.c:create_ck_def_init
Unexecuted instantiation: bind.c:create_ck_def_init
Unexecuted instantiation: opcodes.c:create_ck_def_init
parse.c:create_ck_def_init
Line
Count
Source
461
1.90k
{
462
  create_constraint_def_init(&ck_def->base, table_name, name, false,
463
1.90k
           ENTITY_TYPE_CK);
464
1.90k
  ck_def->expr = expr;
465
1.90k
}
Unexecuted instantiation: cursor.c:create_ck_def_init
Unexecuted instantiation: delete.c:create_ck_def_init
Unexecuted instantiation: hash.c:create_ck_def_init
Unexecuted instantiation: insert.c:create_ck_def_init
Unexecuted instantiation: pragma.c:create_ck_def_init
Unexecuted instantiation: show.c:create_ck_def_init
466
467
static inline void
468
create_index_def_init(struct create_index_def *index_def,
469
          struct SrcList *table_name,  struct Token *name,
470
          struct ExprList *cols, enum sql_index_type idx_type,
471
          enum sort_order sort_order, bool if_not_exists)
472
2.09k
{
473
2.09k
  create_constraint_def_init(&index_def->base, table_name, name,
474
2.09k
           if_not_exists, ENTITY_TYPE_INDEX);
475
2.09k
  index_def->cols = cols;
476
2.09k
  index_def->idx_type = idx_type;
477
2.09k
  index_def->sort_order = sort_order;
478
2.09k
}
Unexecuted instantiation: sql.c:create_index_def_init
Unexecuted instantiation: alter.c:create_index_def_init
Unexecuted instantiation: build.c:create_index_def_init
Unexecuted instantiation: expr.c:create_index_def_init
Unexecuted instantiation: func.c:create_index_def_init
Unexecuted instantiation: global.c:create_index_def_init
Unexecuted instantiation: main.c:create_index_def_init
Unexecuted instantiation: malloc.c:create_index_def_init
Unexecuted instantiation: mem.c:create_index_def_init
Unexecuted instantiation: os.c:create_index_def_init
Unexecuted instantiation: os_unix.c:create_index_def_init
Unexecuted instantiation: parse_def.c:create_index_def_init
Unexecuted instantiation: prepare.c:create_index_def_init
Unexecuted instantiation: printf.c:create_index_def_init
Unexecuted instantiation: random.c:create_index_def_init
Unexecuted instantiation: resolve.c:create_index_def_init
Unexecuted instantiation: port.c:create_index_def_init
Unexecuted instantiation: select.c:create_index_def_init
Unexecuted instantiation: tokenize.c:create_index_def_init
Unexecuted instantiation: treeview.c:create_index_def_init
Unexecuted instantiation: trigger.c:create_index_def_init
Unexecuted instantiation: update.c:create_index_def_init
Unexecuted instantiation: util.c:create_index_def_init
Unexecuted instantiation: vdbe.c:create_index_def_init
Unexecuted instantiation: vdbeapi.c:create_index_def_init
Unexecuted instantiation: vdbeaux.c:create_index_def_init
Unexecuted instantiation: vdbesort.c:create_index_def_init
Unexecuted instantiation: walker.c:create_index_def_init
Unexecuted instantiation: where.c:create_index_def_init
Unexecuted instantiation: wherecode.c:create_index_def_init
Unexecuted instantiation: whereexpr.c:create_index_def_init
Unexecuted instantiation: execute.c:create_index_def_init
Unexecuted instantiation: bind.c:create_index_def_init
Unexecuted instantiation: opcodes.c:create_index_def_init
parse.c:create_index_def_init
Line
Count
Source
472
2.09k
{
473
2.09k
  create_constraint_def_init(&index_def->base, table_name, name,
474
2.09k
           if_not_exists, ENTITY_TYPE_INDEX);
475
2.09k
  index_def->cols = cols;
476
2.09k
  index_def->idx_type = idx_type;
477
2.09k
  index_def->sort_order = sort_order;
478
2.09k
}
Unexecuted instantiation: cursor.c:create_index_def_init
Unexecuted instantiation: delete.c:create_index_def_init
Unexecuted instantiation: hash.c:create_index_def_init
Unexecuted instantiation: insert.c:create_index_def_init
Unexecuted instantiation: pragma.c:create_index_def_init
Unexecuted instantiation: show.c:create_index_def_init
479
480
static inline void
481
create_fk_def_init(struct create_fk_def *fk_def, struct SrcList *table_name,
482
       struct Token *name, struct ExprList *child_cols,
483
       struct Token *parent_name, struct ExprList *parent_cols)
484
117
{
485
117
  create_constraint_def_init(&fk_def->base, table_name, name,
486
117
           false, ENTITY_TYPE_FK);
487
117
  fk_def->child_cols = child_cols;
488
117
  fk_def->parent_name = parent_name;
489
117
  fk_def->parent_cols = parent_cols;
490
117
}
Unexecuted instantiation: sql.c:create_fk_def_init
Unexecuted instantiation: alter.c:create_fk_def_init
Unexecuted instantiation: build.c:create_fk_def_init
Unexecuted instantiation: expr.c:create_fk_def_init
Unexecuted instantiation: func.c:create_fk_def_init
Unexecuted instantiation: global.c:create_fk_def_init
Unexecuted instantiation: main.c:create_fk_def_init
Unexecuted instantiation: malloc.c:create_fk_def_init
Unexecuted instantiation: mem.c:create_fk_def_init
Unexecuted instantiation: os.c:create_fk_def_init
Unexecuted instantiation: os_unix.c:create_fk_def_init
Unexecuted instantiation: parse_def.c:create_fk_def_init
Unexecuted instantiation: prepare.c:create_fk_def_init
Unexecuted instantiation: printf.c:create_fk_def_init
Unexecuted instantiation: random.c:create_fk_def_init
Unexecuted instantiation: resolve.c:create_fk_def_init
Unexecuted instantiation: port.c:create_fk_def_init
Unexecuted instantiation: select.c:create_fk_def_init
Unexecuted instantiation: tokenize.c:create_fk_def_init
Unexecuted instantiation: treeview.c:create_fk_def_init
Unexecuted instantiation: trigger.c:create_fk_def_init
Unexecuted instantiation: update.c:create_fk_def_init
Unexecuted instantiation: util.c:create_fk_def_init
Unexecuted instantiation: vdbe.c:create_fk_def_init
Unexecuted instantiation: vdbeapi.c:create_fk_def_init
Unexecuted instantiation: vdbeaux.c:create_fk_def_init
Unexecuted instantiation: vdbesort.c:create_fk_def_init
Unexecuted instantiation: walker.c:create_fk_def_init
Unexecuted instantiation: where.c:create_fk_def_init
Unexecuted instantiation: wherecode.c:create_fk_def_init
Unexecuted instantiation: whereexpr.c:create_fk_def_init
Unexecuted instantiation: execute.c:create_fk_def_init
Unexecuted instantiation: bind.c:create_fk_def_init
Unexecuted instantiation: opcodes.c:create_fk_def_init
parse.c:create_fk_def_init
Line
Count
Source
484
117
{
485
117
  create_constraint_def_init(&fk_def->base, table_name, name,
486
           false, ENTITY_TYPE_FK);
487
117
  fk_def->child_cols = child_cols;
488
117
  fk_def->parent_name = parent_name;
489
117
  fk_def->parent_cols = parent_cols;
490
117
}
Unexecuted instantiation: cursor.c:create_fk_def_init
Unexecuted instantiation: delete.c:create_fk_def_init
Unexecuted instantiation: hash.c:create_fk_def_init
Unexecuted instantiation: insert.c:create_fk_def_init
Unexecuted instantiation: pragma.c:create_fk_def_init
Unexecuted instantiation: show.c:create_fk_def_init
491
492
static inline void
493
create_table_def_init(struct create_table_def *table_def, struct Token *name,
494
          bool if_not_exists)
495
1.56k
{
496
1.56k
  create_entity_def_init(&table_def->base, ENTITY_TYPE_TABLE, NULL, name,
497
1.56k
             if_not_exists);
498
1.56k
}
Unexecuted instantiation: sql.c:create_table_def_init
Unexecuted instantiation: alter.c:create_table_def_init
Unexecuted instantiation: build.c:create_table_def_init
Unexecuted instantiation: expr.c:create_table_def_init
Unexecuted instantiation: func.c:create_table_def_init
Unexecuted instantiation: global.c:create_table_def_init
Unexecuted instantiation: main.c:create_table_def_init
Unexecuted instantiation: malloc.c:create_table_def_init
Unexecuted instantiation: mem.c:create_table_def_init
Unexecuted instantiation: os.c:create_table_def_init
Unexecuted instantiation: os_unix.c:create_table_def_init
Unexecuted instantiation: parse_def.c:create_table_def_init
Unexecuted instantiation: prepare.c:create_table_def_init
Unexecuted instantiation: printf.c:create_table_def_init
Unexecuted instantiation: random.c:create_table_def_init
Unexecuted instantiation: resolve.c:create_table_def_init
Unexecuted instantiation: port.c:create_table_def_init
Unexecuted instantiation: select.c:create_table_def_init
Unexecuted instantiation: tokenize.c:create_table_def_init
Unexecuted instantiation: treeview.c:create_table_def_init
Unexecuted instantiation: trigger.c:create_table_def_init
Unexecuted instantiation: update.c:create_table_def_init
Unexecuted instantiation: util.c:create_table_def_init
Unexecuted instantiation: vdbe.c:create_table_def_init
Unexecuted instantiation: vdbeapi.c:create_table_def_init
Unexecuted instantiation: vdbeaux.c:create_table_def_init
Unexecuted instantiation: vdbesort.c:create_table_def_init
Unexecuted instantiation: walker.c:create_table_def_init
Unexecuted instantiation: where.c:create_table_def_init
Unexecuted instantiation: wherecode.c:create_table_def_init
Unexecuted instantiation: whereexpr.c:create_table_def_init
Unexecuted instantiation: execute.c:create_table_def_init
Unexecuted instantiation: bind.c:create_table_def_init
Unexecuted instantiation: opcodes.c:create_table_def_init
parse.c:create_table_def_init
Line
Count
Source
495
1.56k
{
496
  create_entity_def_init(&table_def->base, ENTITY_TYPE_TABLE, NULL, name,
497
1.56k
             if_not_exists);
498
1.56k
}
Unexecuted instantiation: cursor.c:create_table_def_init
Unexecuted instantiation: delete.c:create_table_def_init
Unexecuted instantiation: hash.c:create_table_def_init
Unexecuted instantiation: insert.c:create_table_def_init
Unexecuted instantiation: pragma.c:create_table_def_init
Unexecuted instantiation: show.c:create_table_def_init
499
500
static inline void
501
create_column_def_init(struct create_column_def *column_def,
502
           struct SrcList *table_name, struct Token *name,
503
           struct type_def *type_def)
504
6.41k
{
505
6.41k
  create_entity_def_init(&column_def->base, ENTITY_TYPE_COLUMN,
506
6.41k
             table_name, name, false);
507
6.41k
  column_def->type_def = type_def;
508
6.41k
}
Unexecuted instantiation: sql.c:create_column_def_init
Unexecuted instantiation: alter.c:create_column_def_init
Unexecuted instantiation: build.c:create_column_def_init
Unexecuted instantiation: expr.c:create_column_def_init
Unexecuted instantiation: func.c:create_column_def_init
Unexecuted instantiation: global.c:create_column_def_init
Unexecuted instantiation: main.c:create_column_def_init
Unexecuted instantiation: malloc.c:create_column_def_init
Unexecuted instantiation: mem.c:create_column_def_init
Unexecuted instantiation: os.c:create_column_def_init
Unexecuted instantiation: os_unix.c:create_column_def_init
Unexecuted instantiation: parse_def.c:create_column_def_init
Unexecuted instantiation: prepare.c:create_column_def_init
Unexecuted instantiation: printf.c:create_column_def_init
Unexecuted instantiation: random.c:create_column_def_init
Unexecuted instantiation: resolve.c:create_column_def_init
Unexecuted instantiation: port.c:create_column_def_init
Unexecuted instantiation: select.c:create_column_def_init
Unexecuted instantiation: tokenize.c:create_column_def_init
Unexecuted instantiation: treeview.c:create_column_def_init
Unexecuted instantiation: trigger.c:create_column_def_init
Unexecuted instantiation: update.c:create_column_def_init
Unexecuted instantiation: util.c:create_column_def_init
Unexecuted instantiation: vdbe.c:create_column_def_init
Unexecuted instantiation: vdbeapi.c:create_column_def_init
Unexecuted instantiation: vdbeaux.c:create_column_def_init
Unexecuted instantiation: vdbesort.c:create_column_def_init
Unexecuted instantiation: walker.c:create_column_def_init
Unexecuted instantiation: where.c:create_column_def_init
Unexecuted instantiation: wherecode.c:create_column_def_init
Unexecuted instantiation: whereexpr.c:create_column_def_init
Unexecuted instantiation: execute.c:create_column_def_init
Unexecuted instantiation: bind.c:create_column_def_init
Unexecuted instantiation: opcodes.c:create_column_def_init
parse.c:create_column_def_init
Line
Count
Source
504
6.41k
{
505
6.41k
  create_entity_def_init(&column_def->base, ENTITY_TYPE_COLUMN,
506
             table_name, name, false);
507
6.41k
  column_def->type_def = type_def;
508
6.41k
}
Unexecuted instantiation: cursor.c:create_column_def_init
Unexecuted instantiation: delete.c:create_column_def_init
Unexecuted instantiation: hash.c:create_column_def_init
Unexecuted instantiation: insert.c:create_column_def_init
Unexecuted instantiation: pragma.c:create_column_def_init
Unexecuted instantiation: show.c:create_column_def_init
509
510
static inline void
511
create_ck_constraint_parse_def_init(struct create_ck_constraint_parse_def *def)
512
1.56k
{
513
1.56k
  rlist_create(&def->checks);
514
1.56k
}
Unexecuted instantiation: sql.c:create_ck_constraint_parse_def_init
Unexecuted instantiation: alter.c:create_ck_constraint_parse_def_init
Unexecuted instantiation: build.c:create_ck_constraint_parse_def_init
Unexecuted instantiation: expr.c:create_ck_constraint_parse_def_init
Unexecuted instantiation: func.c:create_ck_constraint_parse_def_init
Unexecuted instantiation: global.c:create_ck_constraint_parse_def_init
Unexecuted instantiation: main.c:create_ck_constraint_parse_def_init
Unexecuted instantiation: malloc.c:create_ck_constraint_parse_def_init
Unexecuted instantiation: mem.c:create_ck_constraint_parse_def_init
Unexecuted instantiation: os.c:create_ck_constraint_parse_def_init
Unexecuted instantiation: os_unix.c:create_ck_constraint_parse_def_init
Unexecuted instantiation: parse_def.c:create_ck_constraint_parse_def_init
Unexecuted instantiation: prepare.c:create_ck_constraint_parse_def_init
Unexecuted instantiation: printf.c:create_ck_constraint_parse_def_init
Unexecuted instantiation: random.c:create_ck_constraint_parse_def_init
Unexecuted instantiation: resolve.c:create_ck_constraint_parse_def_init
Unexecuted instantiation: port.c:create_ck_constraint_parse_def_init
Unexecuted instantiation: select.c:create_ck_constraint_parse_def_init
Unexecuted instantiation: tokenize.c:create_ck_constraint_parse_def_init
Unexecuted instantiation: treeview.c:create_ck_constraint_parse_def_init
Unexecuted instantiation: trigger.c:create_ck_constraint_parse_def_init
Unexecuted instantiation: update.c:create_ck_constraint_parse_def_init
Unexecuted instantiation: util.c:create_ck_constraint_parse_def_init
Unexecuted instantiation: vdbe.c:create_ck_constraint_parse_def_init
Unexecuted instantiation: vdbeapi.c:create_ck_constraint_parse_def_init
Unexecuted instantiation: vdbeaux.c:create_ck_constraint_parse_def_init
Unexecuted instantiation: vdbesort.c:create_ck_constraint_parse_def_init
Unexecuted instantiation: walker.c:create_ck_constraint_parse_def_init
Unexecuted instantiation: where.c:create_ck_constraint_parse_def_init
Unexecuted instantiation: wherecode.c:create_ck_constraint_parse_def_init
Unexecuted instantiation: whereexpr.c:create_ck_constraint_parse_def_init
Unexecuted instantiation: execute.c:create_ck_constraint_parse_def_init
Unexecuted instantiation: bind.c:create_ck_constraint_parse_def_init
Unexecuted instantiation: opcodes.c:create_ck_constraint_parse_def_init
parse.c:create_ck_constraint_parse_def_init
Line
Count
Source
512
1.56k
{
513
1.56k
  rlist_create(&def->checks);
514
1.56k
}
Unexecuted instantiation: cursor.c:create_ck_constraint_parse_def_init
Unexecuted instantiation: delete.c:create_ck_constraint_parse_def_init
Unexecuted instantiation: hash.c:create_ck_constraint_parse_def_init
Unexecuted instantiation: insert.c:create_ck_constraint_parse_def_init
Unexecuted instantiation: pragma.c:create_ck_constraint_parse_def_init
Unexecuted instantiation: show.c:create_ck_constraint_parse_def_init
515
516
static inline void
517
create_fk_constraint_parse_def_init(struct create_fk_constraint_parse_def *def)
518
1.56k
{
519
1.56k
  rlist_create(&def->fkeys);
520
1.56k
  def->is_used = true;
521
1.56k
}
Unexecuted instantiation: sql.c:create_fk_constraint_parse_def_init
Unexecuted instantiation: alter.c:create_fk_constraint_parse_def_init
Unexecuted instantiation: build.c:create_fk_constraint_parse_def_init
Unexecuted instantiation: expr.c:create_fk_constraint_parse_def_init
Unexecuted instantiation: func.c:create_fk_constraint_parse_def_init
Unexecuted instantiation: global.c:create_fk_constraint_parse_def_init
Unexecuted instantiation: main.c:create_fk_constraint_parse_def_init
Unexecuted instantiation: malloc.c:create_fk_constraint_parse_def_init
Unexecuted instantiation: mem.c:create_fk_constraint_parse_def_init
Unexecuted instantiation: os.c:create_fk_constraint_parse_def_init
Unexecuted instantiation: os_unix.c:create_fk_constraint_parse_def_init
Unexecuted instantiation: parse_def.c:create_fk_constraint_parse_def_init
Unexecuted instantiation: prepare.c:create_fk_constraint_parse_def_init
Unexecuted instantiation: printf.c:create_fk_constraint_parse_def_init
Unexecuted instantiation: random.c:create_fk_constraint_parse_def_init
Unexecuted instantiation: resolve.c:create_fk_constraint_parse_def_init
Unexecuted instantiation: port.c:create_fk_constraint_parse_def_init
Unexecuted instantiation: select.c:create_fk_constraint_parse_def_init
Unexecuted instantiation: tokenize.c:create_fk_constraint_parse_def_init
Unexecuted instantiation: treeview.c:create_fk_constraint_parse_def_init
Unexecuted instantiation: trigger.c:create_fk_constraint_parse_def_init
Unexecuted instantiation: update.c:create_fk_constraint_parse_def_init
Unexecuted instantiation: util.c:create_fk_constraint_parse_def_init
Unexecuted instantiation: vdbe.c:create_fk_constraint_parse_def_init
Unexecuted instantiation: vdbeapi.c:create_fk_constraint_parse_def_init
Unexecuted instantiation: vdbeaux.c:create_fk_constraint_parse_def_init
Unexecuted instantiation: vdbesort.c:create_fk_constraint_parse_def_init
Unexecuted instantiation: walker.c:create_fk_constraint_parse_def_init
Unexecuted instantiation: where.c:create_fk_constraint_parse_def_init
Unexecuted instantiation: wherecode.c:create_fk_constraint_parse_def_init
Unexecuted instantiation: whereexpr.c:create_fk_constraint_parse_def_init
Unexecuted instantiation: execute.c:create_fk_constraint_parse_def_init
Unexecuted instantiation: bind.c:create_fk_constraint_parse_def_init
Unexecuted instantiation: opcodes.c:create_fk_constraint_parse_def_init
parse.c:create_fk_constraint_parse_def_init
Line
Count
Source
518
1.56k
{
519
1.56k
  rlist_create(&def->fkeys);
520
  def->is_used = true;
521
1.56k
}
Unexecuted instantiation: cursor.c:create_fk_constraint_parse_def_init
Unexecuted instantiation: delete.c:create_fk_constraint_parse_def_init
Unexecuted instantiation: hash.c:create_fk_constraint_parse_def_init
Unexecuted instantiation: insert.c:create_fk_constraint_parse_def_init
Unexecuted instantiation: pragma.c:create_fk_constraint_parse_def_init
Unexecuted instantiation: show.c:create_fk_constraint_parse_def_init
522
523
static inline void
524
create_view_def_init(struct create_view_def *view_def, struct Token *name,
525
         struct Token *create, struct ExprList *aliases,
526
         struct Select *select, bool if_not_exists)
527
0
{
528
0
  create_entity_def_init(&view_def->base, ENTITY_TYPE_VIEW, NULL, name,
529
0
             if_not_exists);
530
0
  view_def->create_start = create;
531
0
  view_def->select = select;
532
0
  view_def->aliases = aliases;
533
0
}
Unexecuted instantiation: sql.c:create_view_def_init
Unexecuted instantiation: alter.c:create_view_def_init
Unexecuted instantiation: build.c:create_view_def_init
Unexecuted instantiation: expr.c:create_view_def_init
Unexecuted instantiation: func.c:create_view_def_init
Unexecuted instantiation: global.c:create_view_def_init
Unexecuted instantiation: main.c:create_view_def_init
Unexecuted instantiation: malloc.c:create_view_def_init
Unexecuted instantiation: mem.c:create_view_def_init
Unexecuted instantiation: os.c:create_view_def_init
Unexecuted instantiation: os_unix.c:create_view_def_init
Unexecuted instantiation: parse_def.c:create_view_def_init
Unexecuted instantiation: prepare.c:create_view_def_init
Unexecuted instantiation: printf.c:create_view_def_init
Unexecuted instantiation: random.c:create_view_def_init
Unexecuted instantiation: resolve.c:create_view_def_init
Unexecuted instantiation: port.c:create_view_def_init
Unexecuted instantiation: select.c:create_view_def_init
Unexecuted instantiation: tokenize.c:create_view_def_init
Unexecuted instantiation: treeview.c:create_view_def_init
Unexecuted instantiation: trigger.c:create_view_def_init
Unexecuted instantiation: update.c:create_view_def_init
Unexecuted instantiation: util.c:create_view_def_init
Unexecuted instantiation: vdbe.c:create_view_def_init
Unexecuted instantiation: vdbeapi.c:create_view_def_init
Unexecuted instantiation: vdbeaux.c:create_view_def_init
Unexecuted instantiation: vdbesort.c:create_view_def_init
Unexecuted instantiation: walker.c:create_view_def_init
Unexecuted instantiation: where.c:create_view_def_init
Unexecuted instantiation: wherecode.c:create_view_def_init
Unexecuted instantiation: whereexpr.c:create_view_def_init
Unexecuted instantiation: execute.c:create_view_def_init
Unexecuted instantiation: bind.c:create_view_def_init
Unexecuted instantiation: opcodes.c:create_view_def_init
Unexecuted instantiation: parse.c:create_view_def_init
Unexecuted instantiation: cursor.c:create_view_def_init
Unexecuted instantiation: delete.c:create_view_def_init
Unexecuted instantiation: hash.c:create_view_def_init
Unexecuted instantiation: insert.c:create_view_def_init
Unexecuted instantiation: pragma.c:create_view_def_init
Unexecuted instantiation: show.c:create_view_def_init
534
535
static inline void
536
create_fk_constraint_parse_def_destroy(struct create_fk_constraint_parse_def *d)
537
7.05k
{
538
7.05k
  if (!d->is_used)
539
5.49k
    return;
540
1.56k
  struct fk_constraint_parse *fk;
541
1.56k
  rlist_foreach_entry(fk, &d->fkeys, link)
542
117
    sql_expr_list_delete(fk->selfref_cols);
543
1.56k
}
Unexecuted instantiation: sql.c:create_fk_constraint_parse_def_destroy
Unexecuted instantiation: alter.c:create_fk_constraint_parse_def_destroy
Unexecuted instantiation: build.c:create_fk_constraint_parse_def_destroy
Unexecuted instantiation: expr.c:create_fk_constraint_parse_def_destroy
Unexecuted instantiation: func.c:create_fk_constraint_parse_def_destroy
Unexecuted instantiation: global.c:create_fk_constraint_parse_def_destroy
Unexecuted instantiation: main.c:create_fk_constraint_parse_def_destroy
Unexecuted instantiation: malloc.c:create_fk_constraint_parse_def_destroy
Unexecuted instantiation: mem.c:create_fk_constraint_parse_def_destroy
Unexecuted instantiation: os.c:create_fk_constraint_parse_def_destroy
Unexecuted instantiation: os_unix.c:create_fk_constraint_parse_def_destroy
Unexecuted instantiation: parse_def.c:create_fk_constraint_parse_def_destroy
prepare.c:create_fk_constraint_parse_def_destroy
Line
Count
Source
537
7.05k
{
538
7.05k
  if (!d->is_used)
539
5.49k
    return;
540
1.56k
  struct fk_constraint_parse *fk;
541
1.56k
  rlist_foreach_entry(fk, &d->fkeys, link)
542
117
    sql_expr_list_delete(fk->selfref_cols);
543
1.56k
}
Unexecuted instantiation: printf.c:create_fk_constraint_parse_def_destroy
Unexecuted instantiation: random.c:create_fk_constraint_parse_def_destroy
Unexecuted instantiation: resolve.c:create_fk_constraint_parse_def_destroy
Unexecuted instantiation: port.c:create_fk_constraint_parse_def_destroy
Unexecuted instantiation: select.c:create_fk_constraint_parse_def_destroy
Unexecuted instantiation: tokenize.c:create_fk_constraint_parse_def_destroy
Unexecuted instantiation: treeview.c:create_fk_constraint_parse_def_destroy
Unexecuted instantiation: trigger.c:create_fk_constraint_parse_def_destroy
Unexecuted instantiation: update.c:create_fk_constraint_parse_def_destroy
Unexecuted instantiation: util.c:create_fk_constraint_parse_def_destroy
Unexecuted instantiation: vdbe.c:create_fk_constraint_parse_def_destroy
Unexecuted instantiation: vdbeapi.c:create_fk_constraint_parse_def_destroy
Unexecuted instantiation: vdbeaux.c:create_fk_constraint_parse_def_destroy
Unexecuted instantiation: vdbesort.c:create_fk_constraint_parse_def_destroy
Unexecuted instantiation: walker.c:create_fk_constraint_parse_def_destroy
Unexecuted instantiation: where.c:create_fk_constraint_parse_def_destroy
Unexecuted instantiation: wherecode.c:create_fk_constraint_parse_def_destroy
Unexecuted instantiation: whereexpr.c:create_fk_constraint_parse_def_destroy
Unexecuted instantiation: execute.c:create_fk_constraint_parse_def_destroy
Unexecuted instantiation: bind.c:create_fk_constraint_parse_def_destroy
Unexecuted instantiation: opcodes.c:create_fk_constraint_parse_def_destroy
Unexecuted instantiation: parse.c:create_fk_constraint_parse_def_destroy
Unexecuted instantiation: cursor.c:create_fk_constraint_parse_def_destroy
Unexecuted instantiation: delete.c:create_fk_constraint_parse_def_destroy
Unexecuted instantiation: hash.c:create_fk_constraint_parse_def_destroy
Unexecuted instantiation: insert.c:create_fk_constraint_parse_def_destroy
Unexecuted instantiation: pragma.c:create_fk_constraint_parse_def_destroy
Unexecuted instantiation: show.c:create_fk_constraint_parse_def_destroy
544
545
/** Save parsed START TRANSACTION statement. */
546
void
547
sql_ast_init_start_transaction(struct Parse *parse);
548
549
/** Save parsed COMMIT statement. */
550
void
551
sql_ast_init_commit(struct Parse *parse);
552
553
/** Save parsed ROLLBACK statement. */
554
void
555
sql_ast_init_rollback(struct Parse *parse);
556
557
/** Save parsed SAVEPOINT statement. */
558
void
559
sql_ast_init_savepoint(struct Parse *parse, const struct Token *name);
560
561
/** Save parsed RELEASE SAVEPOINT statement. */
562
void
563
sql_ast_init_release_savepoint(struct Parse *parse, const struct Token *name);
564
565
/** Save parsed ROLLBACK TO SAVEPOINT statement. */
566
void
567
sql_ast_init_rollback_to_savepoint(struct Parse *parse,
568
           const struct Token *name);
569
570
#endif /* TARANTOOL_BOX_SQL_PARSE_DEF_H_INCLUDED */