MySQL 9.0.0
Source Code Documentation
eval0proc.h
Go to the documentation of this file.
1/*****************************************************************************
2
3Copyright (c) 1998, 2024, Oracle and/or its affiliates.
4
5This program is free software; you can redistribute it and/or modify it under
6the terms of the GNU General Public License, version 2.0, as published by the
7Free Software Foundation.
8
9This program is designed to work with certain software (including
10but not limited to OpenSSL) that is licensed under separate terms,
11as designated in a particular file or component or in included license
12documentation. The authors of MySQL hereby grant you an additional
13permission to link the program and your derivative works with the
14separately licensed software that they have either included with
15the program or referenced in the documentation.
16
17This program is distributed in the hope that it will be useful, but WITHOUT
18ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
19FOR A PARTICULAR PURPOSE. See the GNU General Public License, version 2.0,
20for more details.
21
22You should have received a copy of the GNU General Public License along with
23this program; if not, write to the Free Software Foundation, Inc.,
2451 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
25
26*****************************************************************************/
27
28/** @file include/eval0proc.h
29 Executes SQL stored procedures and their control structures
30
31 Created 1/20/1998 Heikki Tuuri
32 *******************************************************/
33
34#ifndef eval0proc_h
35#define eval0proc_h
36
37#include "pars0pars.h"
38#include "pars0sym.h"
39#include "que0types.h"
40#include "univ.i"
41
42/** Performs an execution step of a procedure node.
43 @return query thread to run next or NULL */
44static inline que_thr_t *proc_step(que_thr_t *thr); /*!< in: query thread */
45/** Performs an execution step of an if-statement node.
46 @return query thread to run next or NULL */
47que_thr_t *if_step(que_thr_t *thr); /*!< in: query thread */
48/** Performs an execution step of a while-statement node.
49 @return query thread to run next or NULL */
50que_thr_t *while_step(que_thr_t *thr); /*!< in: query thread */
51/** Performs an execution step of a for-loop node.
52 @return query thread to run next or NULL */
53que_thr_t *for_step(que_thr_t *thr); /*!< in: query thread */
54/** Performs an execution step of an assignment statement node.
55 @return query thread to run next or NULL */
56que_thr_t *assign_step(que_thr_t *thr); /*!< in: query thread */
57/** Performs an execution step of a procedure call node.
58 @return query thread to run next or NULL */
60 que_thr_t *thr); /*!< in: query thread */
61/** Performs an execution step of an exit statement node.
62 @return query thread to run next or NULL */
63que_thr_t *exit_step(que_thr_t *thr); /*!< in: query thread */
64/** Performs an execution step of a return-statement node.
65 @return query thread to run next or NULL */
66que_thr_t *return_step(que_thr_t *thr); /*!< in: query thread */
67
68#include "eval0proc.ic"
69
70#endif
que_thr_t * if_step(que_thr_t *thr)
Performs an execution step of an if-statement node.
Definition: eval0proc.cc:40
que_thr_t * assign_step(que_thr_t *thr)
Performs an execution step of an assignment statement node.
Definition: eval0proc.cc:137
que_thr_t * while_step(que_thr_t *thr)
Performs an execution step of a while-statement node.
Definition: eval0proc.cc:107
que_thr_t * for_step(que_thr_t *thr)
Performs an execution step of a for-loop node.
Definition: eval0proc.cc:159
static que_thr_t * proc_step(que_thr_t *thr)
Performs an execution step of a procedure node.
static que_thr_t * proc_eval_step(que_thr_t *thr)
Performs an execution step of a procedure call node.
que_thr_t * exit_step(que_thr_t *thr)
Performs an execution step of an exit statement node.
Definition: eval0proc.cc:212
que_thr_t * return_step(que_thr_t *thr)
Performs an execution step of a return-statement node.
Definition: eval0proc.cc:239
Executes SQL stored procedures and their control structures.
SQL parser.
SQL parser symbol table.
Query graph global types.
Definition: que0que.h:242
Version control for database, common definitions, and include files.