1
by brian
clean slate |
1 |
/******************************************************
|
2 |
Executes SQL stored procedures and their control structures
|
|
3 |
||
4 |
(c) 1998 Innobase Oy
|
|
5 |
||
6 |
Created 1/20/1998 Heikki Tuuri
|
|
7 |
*******************************************************/
|
|
8 |
||
9 |
#ifndef eval0proc_h
|
|
10 |
#define eval0proc_h
|
|
11 |
||
12 |
#include "univ.i" |
|
13 |
#include "que0types.h" |
|
14 |
#include "pars0sym.h" |
|
15 |
#include "pars0pars.h" |
|
16 |
||
17 |
/**************************************************************************
|
|
18 |
Performs an execution step of a procedure node. */
|
|
19 |
UNIV_INLINE
|
|
20 |
que_thr_t* |
|
21 |
proc_step( |
|
22 |
/*======*/
|
|
23 |
/* out: query thread to run next or NULL */
|
|
24 |
que_thr_t* thr); /* in: query thread */ |
|
25 |
/**************************************************************************
|
|
26 |
Performs an execution step of an if-statement node. */
|
|
27 |
||
28 |
que_thr_t* |
|
29 |
if_step( |
|
30 |
/*====*/
|
|
31 |
/* out: query thread to run next or NULL */
|
|
32 |
que_thr_t* thr); /* in: query thread */ |
|
33 |
/**************************************************************************
|
|
34 |
Performs an execution step of a while-statement node. */
|
|
35 |
||
36 |
que_thr_t* |
|
37 |
while_step( |
|
38 |
/*=======*/
|
|
39 |
/* out: query thread to run next or NULL */
|
|
40 |
que_thr_t* thr); /* in: query thread */ |
|
41 |
/**************************************************************************
|
|
42 |
Performs an execution step of a for-loop node. */
|
|
43 |
||
44 |
que_thr_t* |
|
45 |
for_step( |
|
46 |
/*=====*/
|
|
47 |
/* out: query thread to run next or NULL */
|
|
48 |
que_thr_t* thr); /* in: query thread */ |
|
49 |
/**************************************************************************
|
|
50 |
Performs an execution step of an assignment statement node. */
|
|
51 |
||
52 |
que_thr_t* |
|
53 |
assign_step( |
|
54 |
/*========*/
|
|
55 |
/* out: query thread to run next or NULL */
|
|
56 |
que_thr_t* thr); /* in: query thread */ |
|
57 |
/**************************************************************************
|
|
58 |
Performs an execution step of a procedure call node. */
|
|
59 |
UNIV_INLINE
|
|
60 |
que_thr_t* |
|
61 |
proc_eval_step( |
|
62 |
/*===========*/
|
|
63 |
/* out: query thread to run next or NULL */
|
|
64 |
que_thr_t* thr); /* in: query thread */ |
|
65 |
/**************************************************************************
|
|
66 |
Performs an execution step of an exit statement node. */
|
|
67 |
||
68 |
que_thr_t* |
|
69 |
exit_step( |
|
70 |
/*======*/
|
|
71 |
/* out: query thread to run next or NULL */
|
|
72 |
que_thr_t* thr); /* in: query thread */ |
|
73 |
/**************************************************************************
|
|
74 |
Performs an execution step of a return-statement node. */
|
|
75 |
||
76 |
que_thr_t* |
|
77 |
return_step( |
|
78 |
/*========*/
|
|
79 |
/* out: query thread to run next or NULL */
|
|
80 |
que_thr_t* thr); /* in: query thread */ |
|
81 |
||
82 |
||
83 |
#ifndef UNIV_NONINL
|
|
84 |
#include "eval0proc.ic" |
|
85 |
#endif
|
|
86 |
||
87 |
#endif
|