mirror of
https://github.com/postgres/postgres.git
synced 2025-10-24 01:29:19 +03:00
Sequences are now based on int8, not int4, arithmetic. SERIAL pseudo-type
has an alias SERIAL4 and a sister SERIAL8. SERIAL8 is just the same except the created column is type int8 not int4. initdb forced. Note this also breaks any chance of pg_upgrade from 7.1, unless we hack up pg_upgrade to drop and recreate sequences. (Which is not out of the question, but I don't wanna do it.)
This commit is contained in:
@@ -3,6 +3,10 @@
|
||||
* sequence.h
|
||||
* prototypes for sequence.c.
|
||||
*
|
||||
* Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: sequence.h,v 1.16 2001/08/16 20:38:55 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -12,17 +16,38 @@
|
||||
#include "nodes/parsenodes.h"
|
||||
#include "access/xlog.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;
|
||||
char is_cycled;
|
||||
char is_called;
|
||||
int32 pad6;
|
||||
#endif
|
||||
bool is_cycled;
|
||||
bool is_called;
|
||||
} FormData_pg_sequence;
|
||||
|
||||
typedef FormData_pg_sequence *Form_pg_sequence;
|
||||
|
||||
Reference in New Issue
Block a user