⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pars0pars.h

📁 这是linux下运行的mysql软件包,可用于linux 下安装 php + mysql + apach 的网络配置
💻 H
📖 第 1 页 / 共 2 页
字号:
/*=================*/					/* out: while-statement node */	que_node_t*	cond,		/* in: while-condition */	que_node_t*	stat_list);	/* in: statement list *//*************************************************************************Parses a return-statement. */return_node_t*pars_return_statement(void);/*=======================*/					/* out: return-statement node *//*************************************************************************Parses a procedure call. */func_node_t*pars_procedure_call(/*================*/				/* out: function node */	que_node_t*	res_word,/* in: procedure name reserved word */	que_node_t*	args);	/* in: argument list *//*************************************************************************Parses an assignment statement. */assign_node_t*pars_assignment_statement(/*======================*/				/* out: assignment statement node */	sym_node_t*	var,	/* in: variable to assign */	que_node_t*	val);	/* in: value to assign *//*************************************************************************Parses a fetch statement. */fetch_node_t*pars_fetch_statement(/*=================*/					/* out: fetch statement node */	sym_node_t*	cursor,		/* in: cursor node */	sym_node_t*	into_list);	/* in: variables to set *//*************************************************************************Parses an open or close cursor statement. */open_node_t*pars_open_statement(/*================*/				/* out: fetch statement node */	ulint		type,	/* in: ROW_SEL_OPEN_CURSOR				or ROW_SEL_CLOSE_CURSOR */	sym_node_t*	cursor);	/* in: cursor node *//*************************************************************************Parses a row_printf-statement. */row_printf_node_t*pars_row_printf_statement(/*======================*/					/* out: row_printf-statement node */	sel_node_t*	sel_node);	/* in: select node *//*************************************************************************Parses a commit statement. */commit_node_t*pars_commit_statement(void);/*=======================*//*************************************************************************Parses a rollback statement. */roll_node_t*pars_rollback_statement(void);/*=========================*//*************************************************************************Parses a column definition at a table creation. */sym_node_t*pars_column_def(/*============*/					/* out: column sym table node */	sym_node_t*	sym_node,	/* in: column node in the symbol					table */	pars_res_word_t* type);		/* in: data type *//*************************************************************************Parses a table creation operation. */tab_node_t*pars_create_table(/*==============*/					/* out: table create subgraph */	sym_node_t*	table_sym,	/* in: table name node in the symbol					table */	sym_node_t*	column_defs,	/* in: list of column names */	void*		not_fit_in_memory);/* in: a non-NULL pointer means that					this is a table which in simulations					should be simulated as not fitting					in memory; thread is put to sleep					to simulate disk accesses; NOTE that					this flag is not stored to the data					dictionary on disk, and the database					will forget about non-NULL value if					it has to reload the table definition					from disk *//*************************************************************************Parses an index creation operation. */ind_node_t*pars_create_index(/*==============*/					/* out: index create subgraph */	pars_res_word_t* unique_def,	/* in: not NULL if a unique index */	pars_res_word_t* clustered_def,	/* in: not NULL if a clustered index */	sym_node_t*	index_sym,	/* in: index name node in the symbol					table */	sym_node_t*	table_sym,	/* in: table name node in the symbol					table */	sym_node_t*	column_list);	/* in: list of column names *//*************************************************************************Parses a procedure definition. */que_fork_t*pars_procedure_definition(/*======================*/					/* out: query fork node */	sym_node_t*	sym_node,	/* in: procedure id node in the symbol					table */	sym_node_t*	param_list,	/* in: parameter declaration list */	que_node_t*	stat_list);	/* in: statement list *//*****************************************************************Parses a stored procedure call, when this is not within another storedprocedure, that is, the client issues a procedure call directly.In MySQL/InnoDB, stored InnoDB procedures are invoked via theparsed procedure tree, not via InnoDB SQL, so this function is not used. */que_fork_t*pars_stored_procedure_call(/*=======================*/					/* out: query graph */	sym_node_t*	sym_node);	/* in: stored procedure name *//**********************************************************************Completes a query graph by adding query thread and fork nodesabove it and prepares the graph for running. The fork created is oftype QUE_FORK_MYSQL_INTERFACE. */que_thr_t*pars_complete_graph_for_exec(/*=========================*/				/* out: query thread node to run */	que_node_t*	node,	/* in: root node for an incomplete				query graph */	trx_t*		trx,	/* in: transaction handle */	mem_heap_t*	heap);	/* in: memory heap from which allocated *//* Struct used to denote a reserved word in a parsing tree */struct pars_res_word_struct{	int	code;	/* the token code for the reserved word from			pars0grm.h */};/* A predefined function or operator node in a parsing tree; this constructis also used for some non-functions like the assignment ':=' */struct func_node_struct{	que_common_t	common;	/* type: QUE_NODE_FUNC */	int		func;	/* token code of the function name */	ulint		class;	/* class of the function */	que_node_t*	args;	/* argument(s) of the function */	UT_LIST_NODE_T(func_node_t) cond_list;				/* list of comparison conditions; defined				only for comparison operator nodes except,				presently, for OPT_SCROLL_TYPE ones */	UT_LIST_NODE_T(func_node_t) func_node_list;				/* list of function nodes in a parsed				query graph */};/* An order-by node in a select */struct order_node_struct{	que_common_t	common;	/* type: QUE_NODE_ORDER */	sym_node_t*	column;	/* order-by column */	ibool		asc;	/* TRUE if ascending, FALSE if descending */};/* Procedure definition node */struct proc_node_struct{	que_common_t	common;		/* type: QUE_NODE_PROC */	sym_node_t*	proc_id;	/* procedure name symbol in the symbol					table of this same procedure */	sym_node_t*	param_list;	/* input and output parameters */	que_node_t*	stat_list;	/* statement list */	sym_tab_t*	sym_tab;	/* symbol table of this procedure */};/* elsif-element node */struct elsif_node_struct{	que_common_t	common;		/* type: QUE_NODE_ELSIF */	que_node_t*	cond;		/* if condition */	que_node_t*	stat_list;	/* statement list */};/* if-statement node */struct if_node_struct{	que_common_t	common;		/* type: QUE_NODE_IF */	que_node_t*	cond;		/* if condition */	que_node_t*	stat_list;	/* statement list */	que_node_t*	else_part;	/* else-part statement list */ 	elsif_node_t*	elsif_list;	/* elsif element list */};/* while-statement node */struct while_node_struct{	que_common_t	common;		/* type: QUE_NODE_WHILE */	que_node_t*	cond;		/* while condition */	que_node_t*	stat_list;	/* statement list */};/* for-loop-statement node */struct for_node_struct{	que_common_t	common;		/* type: QUE_NODE_FOR */	sym_node_t*	loop_var;	/* loop variable: this is the					dereferenced symbol from the					variable declarations, not the					symbol occurrence in the for loop					definition */	que_node_t*	loop_start_limit;/* initial value of loop variable */	que_node_t*	loop_end_limit;	/* end value of loop variable */	int		loop_end_value;	/* evaluated value for the end value:					it is calculated only when the loop					is entered, and will not change within					the loop */	que_node_t*	stat_list;	/* statement list */};/* return-statement node */struct return_node_struct{	que_common_t	common;		/* type: QUE_NODE_RETURN */};/* Assignment statement node */struct assign_node_struct{	que_common_t	common;		/* type: QUE_NODE_ASSIGNMENT */	sym_node_t*	var;		/* variable to set */	que_node_t*	val;		/* value to assign */};/* Column assignment node */struct col_assign_node_struct{	que_common_t	common;		/* type: QUE_NODE_COL_ASSIGN */	sym_node_t*	col;		/* column to set */	que_node_t*	val;		/* value to assign */};/* Classes of functions */#define PARS_FUNC_ARITH		1	/* +, -, *, / */#define	PARS_FUNC_LOGICAL	2#define PARS_FUNC_CMP		3#define	PARS_FUNC_PREDEFINED	4	/* TO_NUMBER, SUBSTR, ... */#define	PARS_FUNC_AGGREGATE	5	/* COUNT, DISTINCT, SUM */#define	PARS_FUNC_OTHER		6	/* these are not real functions,					e.g., := */#ifndef UNIV_NONINL#include "pars0pars.ic"#endif#endif 

⌨️ 快捷键说明

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