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

📄 dict0crea.h

📁 这是linux下运行的mysql软件包,可用于linux 下安装 php + mysql + apach 的网络配置
💻 H
字号:
/******************************************************Database object creation(c) 1996 Innobase OyCreated 1/8/1996 Heikki Tuuri*******************************************************/#ifndef dict0crea_h#define dict0crea_h#include "univ.i"#include "dict0types.h"#include "dict0dict.h"#include "que0types.h"#include "row0types.h"#include "mtr0mtr.h"					/*************************************************************************Creates a table create graph. */tab_node_t*tab_create_graph_create(/*====================*/				/* out, own: table create node */	dict_table_t*	table,	/* in: table to create, built as a memory data				structure */	mem_heap_t*	heap);	/* in: heap where created *//*************************************************************************Creates an index create graph. */ind_node_t*ind_create_graph_create(/*====================*/				/* out, own: index create node */	dict_index_t*	index,	/* in: index to create, built as a memory data				structure */	mem_heap_t*	heap);	/* in: heap where created *//***************************************************************Creates a table. This is a high-level function used in SQL execution graphs. */que_thr_t*dict_create_table_step(/*===================*/				/* out: query thread to run next or NULL */	que_thr_t*	thr);	/* in: query thread *//***************************************************************Creates an index. This is a high-level function used in SQL executiongraphs. */que_thr_t*dict_create_index_step(/*===================*/				/* out: query thread to run next or NULL */	que_thr_t*	thr);	/* in: query thread *//***********************************************************************Truncates the index tree associated with a row in SYS_INDEXES table. */ulintdict_truncate_index_tree(/*=====================*/				/* out: new root page number, or				FIL_NULL on failure */	dict_table_t*	table,	/* in: the table the index belongs to */	rec_t*		rec,	/* in: record in the clustered index of				SYS_INDEXES table */	mtr_t*		mtr);	/* in: mtr having the latch				on the record page. The mtr may be				committed and restarted in this call. *//***********************************************************************Drops the index tree associated with a row in SYS_INDEXES table. */voiddict_drop_index_tree(/*=================*/	rec_t*	rec,	/* in: record in the clustered index of SYS_INDEXES			table */	mtr_t*	mtr);	/* in: mtr having the latch on the record page *//********************************************************************Creates the foreign key constraints system tables inside InnoDBat database creation or database start if they are not found or arenot of the right form. */ulintdict_create_or_check_foreign_constraint_tables(void);/*================================================*/				/* out: DB_SUCCESS or error code *//************************************************************************Adds foreign key definitions to data dictionary tables in the database. Welook at table->foreign_list, and also generate names to constraints that werenot named by the user. A generated constraint has a name of the formatdatabasename/tablename_ibfk_<number>, where the numbers start from 1, and aregiven locally for this table, that is, the number is not global, as in theold format constraints < 4.0.18 it used to be. */ulintdict_create_add_foreigns_to_dictionary(/*===================================*/				/* out: error code or DB_SUCCESS */	ulint		start_id,/* in: if we are actually doing ALTER TABLE				ADD CONSTRAINT, we want to generate constraint				numbers which are bigger than in the table so				far; we number the constraints from				start_id + 1 up; start_id should be set to 0 if				we are creating a new table, or if the table				so far has no constraints for which the name				was generated here */	dict_table_t*	table,	/* in: table */	trx_t*		trx);	/* in: transaction *//* Table create node structure */struct tab_node_struct{	que_common_t	common;	/* node type: QUE_NODE_TABLE_CREATE */	dict_table_t*	table;	/* table to create, built as a memory data				structure with dict_mem_... functions */	ins_node_t*	tab_def; /* child node which does the insert of				the table definition; the row to be inserted				is built by the parent node  */	ins_node_t*	col_def; /* child node which does the inserts of				the column definitions; the row to be inserted				is built by the parent node  */	commit_node_t*	commit_node;				/* child node which performs a commit after				a successful table creation */	/*----------------------*/	/* Local storage for this graph node */	ulint		state;	/* node execution state */	ulint		col_no;	/* next column definition to insert */	mem_heap_t*	heap;	/* memory heap used as auxiliary storage */};/* Table create node states */#define	TABLE_BUILD_TABLE_DEF	1#define	TABLE_BUILD_COL_DEF	2#define	TABLE_COMMIT_WORK	3#define	TABLE_ADD_TO_CACHE	4#define	TABLE_COMPLETED		5/* Index create node struct */struct ind_node_struct{	que_common_t	common;	/* node type: QUE_NODE_INDEX_CREATE */	dict_index_t*	index;	/* index to create, built as a memory data				structure with dict_mem_... functions */	ins_node_t*	ind_def; /* child node which does the insert of				the index definition; the row to be inserted				is built by the parent node  */	ins_node_t*	field_def; /* child node which does the inserts of				the field definitions; the row to be inserted				is built by the parent node  */	commit_node_t*	commit_node;				/* child node which performs a commit after				a successful index creation */	/*----------------------*/	/* Local storage for this graph node */	ulint		state;	/* node execution state */	ulint		page_no;/* root page number of the index */	dict_table_t*	table;	/* table which owns the index */	dtuple_t*	ind_row;/* index definition row built */	ulint		field_no;/* next field definition to insert */	mem_heap_t*	heap;	/* memory heap used as auxiliary storage */};/* Index create node states */#define	INDEX_BUILD_INDEX_DEF	1#define	INDEX_BUILD_FIELD_DEF	2#define	INDEX_CREATE_INDEX_TREE	3#define	INDEX_COMMIT_WORK	4#define	INDEX_ADD_TO_CACHE	5#ifndef UNIV_NONINL#include "dict0crea.ic"#endif#endif

⌨️ 快捷键说明

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