~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to storage/innobase/include/eval0proc.h

  • Committer: Brian Aker
  • Date: 2009-01-24 09:43:35 UTC
  • Revision ID: brian@gir-3.local-20090124094335-6qdtvc35gl5fvivz
Adding in an example singe thread scheduler

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*****************************************************************************
2
 
 
3
 
Copyright (c) 1998, 2009, Innobase Oy. All Rights Reserved.
4
 
 
5
 
This program is free software; you can redistribute it and/or modify it under
6
 
the terms of the GNU General Public License as published by the Free Software
7
 
Foundation; version 2 of the License.
8
 
 
9
 
This program is distributed in the hope that it will be useful, but WITHOUT
10
 
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11
 
FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
12
 
 
13
 
You should have received a copy of the GNU General Public License along with
14
 
this program; if not, write to the Free Software Foundation, Inc., 59 Temple
15
 
Place, Suite 330, Boston, MA 02111-1307 USA
16
 
 
17
 
*****************************************************************************/
18
 
 
19
 
/**************************************************//**
20
 
@file include/eval0proc.h
 
1
/******************************************************
21
2
Executes SQL stored procedures and their control structures
22
3
 
 
4
(c) 1998 Innobase Oy
 
5
 
23
6
Created 1/20/1998 Heikki Tuuri
24
7
*******************************************************/
25
8
 
31
14
#include "pars0sym.h"
32
15
#include "pars0pars.h"
33
16
 
34
 
/**********************************************************************//**
35
 
Performs an execution step of a procedure node.
36
 
@return query thread to run next or NULL */
 
17
/**************************************************************************
 
18
Performs an execution step of a procedure node. */
37
19
UNIV_INLINE
38
20
que_thr_t*
39
21
proc_step(
40
22
/*======*/
41
 
        que_thr_t*      thr);   /*!< in: query thread */
42
 
/**********************************************************************//**
43
 
Performs an execution step of an if-statement node.
44
 
@return query thread to run next or NULL */
 
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. */
45
27
UNIV_INTERN
46
28
que_thr_t*
47
29
if_step(
48
30
/*====*/
49
 
        que_thr_t*      thr);   /*!< in: query thread */
50
 
/**********************************************************************//**
51
 
Performs an execution step of a while-statement node.
52
 
@return query thread to run next or NULL */
 
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. */
53
35
UNIV_INTERN
54
36
que_thr_t*
55
37
while_step(
56
38
/*=======*/
57
 
        que_thr_t*      thr);   /*!< in: query thread */
58
 
/**********************************************************************//**
59
 
Performs an execution step of a for-loop node.
60
 
@return query thread to run next or NULL */
 
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. */
61
43
UNIV_INTERN
62
44
que_thr_t*
63
45
for_step(
64
46
/*=====*/
65
 
        que_thr_t*      thr);   /*!< in: query thread */
66
 
/**********************************************************************//**
67
 
Performs an execution step of an assignment statement node.
68
 
@return query thread to run next or NULL */
 
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. */
69
51
UNIV_INTERN
70
52
que_thr_t*
71
53
assign_step(
72
54
/*========*/
73
 
        que_thr_t*      thr);   /*!< in: query thread */
74
 
/**********************************************************************//**
75
 
Performs an execution step of a procedure call node.
76
 
@return query thread to run next or NULL */
 
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. */
77
59
UNIV_INLINE
78
60
que_thr_t*
79
61
proc_eval_step(
80
62
/*===========*/
81
 
        que_thr_t*      thr);   /*!< in: query thread */
82
 
/**********************************************************************//**
83
 
Performs an execution step of an exit statement node.
84
 
@return query thread to run next or NULL */
 
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. */
85
67
UNIV_INTERN
86
68
que_thr_t*
87
69
exit_step(
88
70
/*======*/
89
 
        que_thr_t*      thr);   /*!< in: query thread */
90
 
/**********************************************************************//**
91
 
Performs an execution step of a return-statement node.
92
 
@return query thread to run next or NULL */
 
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. */
93
75
UNIV_INTERN
94
76
que_thr_t*
95
77
return_step(
96
78
/*========*/
97
 
        que_thr_t*      thr);   /*!< in: query thread */
 
79
                                /* out: query thread to run next or NULL */
 
80
        que_thr_t*      thr);   /* in: query thread */
98
81
 
99
82
 
100
83
#ifndef UNIV_NONINL