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

📄 sequence.h

📁 PostgreSQL 8.1.4的源码 适用于Linux下的开源数据库系统
💻 H
字号:
/*------------------------------------------------------------------------- * * sequence.h *	  prototypes for sequence.c. * * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * $PostgreSQL: pgsql/src/include/commands/sequence.h,v 1.33 2005/10/02 23:50:12 tgl Exp $ * *------------------------------------------------------------------------- */#ifndef SEQUENCE_H#define SEQUENCE_H#include "nodes/parsenodes.h"#include "access/xlog.h"#include "fmgr.h"/* * On a machine with no 64-bit-int C datatype, sizeof(int64) will not be 8, * but we need this struct type to line up with the way that a sequence * table is defined --- and pg_type will say that int8 is 8 bytes anyway. * So, we need padding.  Ugly but necessary. */typedef struct FormData_pg_sequence{	NameData	sequence_name;#ifndef INT64_IS_BUSTED	int64		last_value;	int64		increment_by;	int64		max_value;	int64		min_value;	int64		cache_value;	int64		log_cnt;#else	int32		last_value;	int32		pad1;	int32		increment_by;	int32		pad2;	int32		max_value;	int32		pad3;	int32		min_value;	int32		pad4;	int32		cache_value;	int32		pad5;	int32		log_cnt;	int32		pad6;#endif	bool		is_cycled;	bool		is_called;} FormData_pg_sequence;typedef FormData_pg_sequence *Form_pg_sequence;/* * Columns of a sequence relation */#define SEQ_COL_NAME			1#define SEQ_COL_LASTVAL			2#define SEQ_COL_INCBY			3#define SEQ_COL_MAXVALUE		4#define SEQ_COL_MINVALUE		5#define SEQ_COL_CACHE			6#define SEQ_COL_LOG				7#define SEQ_COL_CYCLE			8#define SEQ_COL_CALLED			9#define SEQ_COL_FIRSTCOL		SEQ_COL_NAME#define SEQ_COL_LASTCOL			SEQ_COL_CALLED/* XLOG stuff */#define XLOG_SEQ_LOG			0x00typedef struct xl_seq_rec{	RelFileNode node;	/* SEQUENCE TUPLE DATA FOLLOWS AT THE END */} xl_seq_rec;extern Datum nextval(PG_FUNCTION_ARGS);extern Datum nextval_oid(PG_FUNCTION_ARGS);extern Datum currval_oid(PG_FUNCTION_ARGS);extern Datum setval_oid(PG_FUNCTION_ARGS);extern Datum setval3_oid(PG_FUNCTION_ARGS);extern Datum lastval(PG_FUNCTION_ARGS);extern void DefineSequence(CreateSeqStmt *stmt);extern void AlterSequence(AlterSeqStmt *stmt);extern void seq_redo(XLogRecPtr lsn, XLogRecord *rptr);extern void seq_desc(char *buf, uint8 xl_info, char *rec);/* Set the upper and lower bounds of a sequence */#ifndef INT64_IS_BUSTED#ifdef HAVE_LL_CONSTANTS#define SEQ_MAXVALUE	((int64) 0x7FFFFFFFFFFFFFFFLL)#else#define SEQ_MAXVALUE	((int64) 0x7FFFFFFFFFFFFFFF)#endif#else							/* INT64_IS_BUSTED */#define SEQ_MAXVALUE	((int64) 0x7FFFFFFF)#endif   /* INT64_IS_BUSTED */#define SEQ_MINVALUE	(-SEQ_MAXVALUE)#endif   /* SEQUENCE_H */

⌨️ 快捷键说明

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