diff options
author | Vadim B. Mikheev <vadim4o@yahoo.com> | 2000-11-30 01:47:33 +0000 |
---|---|---|
committer | Vadim B. Mikheev <vadim4o@yahoo.com> | 2000-11-30 01:47:33 +0000 |
commit | 741510521caea7e1ca12b4db0701bbc2db346a5f (patch) | |
tree | d26b28fc9215dd82b038f9c3d51925a6e7e65e1f /src/include/commands/sequence.h | |
parent | 680b7357ce850c28d06997be793aee18f72434ba (diff) | |
download | postgresql-741510521caea7e1ca12b4db0701bbc2db346a5f.tar.gz postgresql-741510521caea7e1ca12b4db0701bbc2db346a5f.zip |
XLOG stuff for sequences.
CommitDelay in guc.c
Diffstat (limited to 'src/include/commands/sequence.h')
-rw-r--r-- | src/include/commands/sequence.h | 35 |
1 files changed, 33 insertions, 2 deletions
diff --git a/src/include/commands/sequence.h b/src/include/commands/sequence.h index 0429d229532..415364862b2 100644 --- a/src/include/commands/sequence.h +++ b/src/include/commands/sequence.h @@ -10,6 +10,22 @@ #define SEQUENCE_H #include "nodes/parsenodes.h" +#include "access/xlog.h" + +typedef struct FormData_pg_sequence +{ + NameData sequence_name; + int4 last_value; + int4 increment_by; + int4 max_value; + int4 min_value; + int4 cache_value; + int4 log_cnt; + char is_cycled; + char is_called; +} FormData_pg_sequence; + +typedef FormData_pg_sequence *Form_pg_sequence; /* * Columns of a sequence relation @@ -21,12 +37,23 @@ #define SEQ_COL_MAXVALUE 4 #define SEQ_COL_MINVALUE 5 #define SEQ_COL_CACHE 6 -#define SEQ_COL_CYCLE 7 -#define SEQ_COL_CALLED 8 +#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 0x00 +#define XLOG_SEQ_SET 0x10 + +typedef struct xl_seq_rec +{ + RelFileNode node; + int4 value; /* last logged value */ +} xl_seq_rec; + extern Datum nextval(PG_FUNCTION_ARGS); extern Datum currval(PG_FUNCTION_ARGS); extern Datum setval(PG_FUNCTION_ARGS); @@ -35,4 +62,8 @@ extern Datum setval_and_iscalled(PG_FUNCTION_ARGS); extern void DefineSequence(CreateSeqStmt *stmt); extern void CloseSequences(void); +extern void seq_redo(XLogRecPtr lsn, XLogRecord *rptr); +extern void seq_undo(XLogRecPtr lsn, XLogRecord *rptr); +extern void seq_desc(char *buf, uint8 xl_info, char* rec); + #endif /* SEQUENCE_H */ |