eval0proc.ic

来自「这是linux下运行的mysql软件包,可用于linux 下安装 php + m」· IC 代码 · 共 72 行

IC
72
字号
/******************************************************Executes SQL stored procedures and their control structures(c) 1998 Innobase OyCreated 1/20/1998 Heikki Tuuri*******************************************************/#include "pars0pars.h"#include "que0que.h"#include "eval0eval.h"/**************************************************************************Performs an execution step of a procedure node. */UNIV_INLINEque_thr_t*proc_step(/*======*/				/* out: query thread to run next or NULL */	que_thr_t*	thr)	/* in: query thread */{	proc_node_t*	node;	ut_ad(thr);		node = thr->run_node;	ut_ad(que_node_get_type(node) == QUE_NODE_PROC);	if (thr->prev_node == que_node_get_parent(node)) {		/* Start execution from the first statement in the statement		list */				thr->run_node = node->stat_list;	} else {		/* Move to the next statement */		ut_ad(que_node_get_next(thr->prev_node) == NULL);				thr->run_node = NULL;	}	if (thr->run_node == NULL) {		thr->run_node = que_node_get_parent(node);	}	return(thr);} /**************************************************************************Performs an execution step of a procedure call node. */UNIV_INLINEque_thr_t*proc_eval_step(/*===========*/				/* out: query thread to run next or NULL */	que_thr_t*	thr)	/* in: query thread */{	func_node_t*	node;	ut_ad(thr);		node = thr->run_node;	ut_ad(que_node_get_type(node) == QUE_NODE_FUNC);	/* Evaluate the procedure */	eval_exp(node);		thr->run_node = que_node_get_parent(node);	return(thr);} 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?