Make large objects their own relkind type. Fix dups in pg_class_mb

files.  Fix sequence creation hack for relkind type.
This commit is contained in:
Bruce Momjian 1998-08-06 05:13:14 +00:00
parent 8962ec4bc4
commit af5fde7491
23 changed files with 2904 additions and 3687 deletions

View File

@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/bootstrap/bootparse.y,v 1.18 1998/07/26 04:30:18 scrappy Exp $
* $Header: /cvsroot/pgsql/src/backend/bootstrap/bootparse.y,v 1.19 1998/08/06 05:12:16 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@ -177,10 +177,10 @@ Boot_CreateStmt:
{
Oid id;
TupleDesc tupdesc;
/* extern Oid heap_create_with_catalog();*/
tupdesc = CreateTupleDesc(numattr,attrtypes);
id = heap_create_with_catalog(LexIDStr($3), tupdesc);
id = heap_create_with_catalog(LexIDStr($3),
tupdesc, RELKIND_RELATION);
if (!Quiet)
printf("CREATED relation %s with OID %d\n",
LexIDStr($3), id);

View File

@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/catalog/heap.c,v 1.55 1998/07/27 19:37:46 vadim Exp $
* $Header: /cvsroot/pgsql/src/backend/catalog/heap.c,v 1.56 1998/08/06 05:12:19 momjian Exp $
*
* INTERFACE ROUTINES
* heap_create() - Create an uncataloged heap relation
@ -16,7 +16,7 @@
*
* NOTES
* this code taken from access/heap/create.c, which contains
* the old heap_create_with_catalogr, amcreate, and amdestroy.
* the old heap_create_with_catalog, amcreate, and amdestroy.
* those routines will soon call these routines using the function
* manager,
* just like the poorly named "NewXXX" routines do. The
@ -65,7 +65,8 @@
static void
AddPgRelationTuple(Relation pg_class_desc,
Relation new_rel_desc, Oid new_rel_oid, unsigned natts);
Relation new_rel_desc, Oid new_rel_oid, unsigned natts,
char relkind);
static void AddToTempRelList(Relation r);
static void DeletePgAttributeTuples(Relation rdesc);
static void DeletePgRelationTuple(Relation rdesc);
@ -345,7 +346,7 @@ heap_create(char *name,
* preforms a scan to ensure that no relation with the
* same name already exists.
*
* 3) heap_create_with_catalogr() is called to create the new relation
* 3) heap_create_with_catalog() is called to create the new relation
* on disk.
*
* 4) TypeDefine() is called to define a new type corresponding
@ -378,7 +379,7 @@ heap_create(char *name,
* create new relation
* insert new relation into attribute catalog
*
* Should coordinate with heap_create_with_catalogr(). Either
* Should coordinate with heap_create_with_catalog(). Either
* it should not be called or there should be a way to prevent
* the relation from being removed at the end of the
* transaction if it is successful ('u'/'r' may be enough).
@ -633,14 +634,13 @@ static void
AddPgRelationTuple(Relation pg_class_desc,
Relation new_rel_desc,
Oid new_rel_oid,
unsigned natts)
unsigned natts,
char relkind)
{
Form_pg_class new_rel_reltup;
HeapTuple tup;
Relation idescs[Num_pg_class_indices];
bool isBootstrap;
extern bool ItsSequenceCreation; /* It's hack, I know... - vadim
* 03/28/97 */
/* ----------------
* first we munge some of the information in our
@ -653,10 +653,7 @@ AddPgRelationTuple(Relation pg_class_desc,
/* new_rel_reltup->reltuples = 1; *//* XXX */
new_rel_reltup->relowner = GetUserId();
if (ItsSequenceCreation)
new_rel_reltup->relkind = RELKIND_SEQUENCE;
else
new_rel_reltup->relkind = RELKIND_RELATION;
new_rel_reltup->relkind = relkind;
new_rel_reltup->relnatts = natts;
/* ----------------
@ -747,8 +744,9 @@ addNewRelationType(char *typeName, Oid new_rel_oid)
* --------------------------------
*/
Oid
heap_create_with_catalog(char relname[],
TupleDesc tupdesc)
heap_create_with_catalog(char *relname,
TupleDesc tupdesc,
char relkind)
{
Relation pg_class_desc;
Relation new_rel_desc;
@ -813,7 +811,8 @@ heap_create_with_catalog(char relname[],
AddPgRelationTuple(pg_class_desc,
new_rel_desc,
new_rel_oid,
natts);
natts,
relkind);
StoreConstraints(new_rel_desc);

View File

@ -14,7 +14,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/commands/cluster.c,v 1.26 1998/07/27 19:37:50 vadim Exp $
* $Header: /cvsroot/pgsql/src/backend/commands/cluster.c,v 1.27 1998/08/06 05:12:22 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@ -218,7 +218,7 @@ copy_heap(Oid OIDOldHeap)
tupdesc = CreateTupleDescCopy(OldHeapDesc);
OIDNewHeap = heap_create_with_catalog(NewName, tupdesc);
OIDNewHeap = heap_create_with_catalog(NewName, tupdesc, RELKIND_RELATION);
if (!OidIsValid(OIDNewHeap))
elog(ERROR, "clusterheap: cannot create temporary heap relation\n");

View File

@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/commands/Attic/creatinh.c,v 1.30 1998/06/15 19:28:14 momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/commands/Attic/creatinh.c,v 1.31 1998/08/06 05:12:24 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@ -45,7 +45,7 @@ static void StoreCatalogInheritance(Oid relationId, List *supers);
* ----------------------------------------------------------------
*/
void
DefineRelation(CreateStmt *stmt)
DefineRelation(CreateStmt *stmt, char relkind)
{
char *relname = palloc(NAMEDATALEN);
List *schema = stmt->tableElts;
@ -137,7 +137,8 @@ DefineRelation(CreateStmt *stmt)
}
}
relationId = heap_create_with_catalog(relname, descriptor);
relationId = heap_create_with_catalog(relname,
descriptor, relkind);
StoreCatalogInheritance(relationId, inheritList);
}

View File

@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/commands/Attic/recipe.c,v 1.21 1998/06/15 19:28:15 momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/commands/Attic/recipe.c,v 1.22 1998/08/06 05:12:26 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@ -1032,7 +1032,8 @@ tg_parseSubQuery(TgRecipe * r, TgNode * n, TeeInfo * teeInfo)
tupdesc = rel->rd_att;
relid = heap_create_with_catalog(
child->nodeElem->outTypes->val[0], tupdesc);
child->nodeElem->outTypes->val[0],
tupdesc, RELKIND_RELATION);
}
else
{
@ -1055,7 +1056,8 @@ tg_parseSubQuery(TgRecipe * r, TgNode * n, TeeInfo * teeInfo)
else
{
relid = heap_create_with_catalog(
child->nodeElem->outTypes->val[0], tupdesc);
child->nodeElem->outTypes->val[0],
tupdesc, RELKIND_RELATION);
}
}
}

View File

@ -24,8 +24,6 @@
#define SEQ_MAXVALUE ((int4)0x7FFFFFFF)
#define SEQ_MINVALUE -(SEQ_MAXVALUE)
bool ItsSequenceCreation = false;
typedef struct FormData_pg_sequence
{
NameData sequence_name;
@ -157,15 +155,7 @@ DefineSequence(CreateSeqStmt *seq)
stmt->inhRelnames = NIL;
stmt->constraints = NIL;
ItsSequenceCreation = true; /* hack */
DefineRelation(stmt);
/*
* Xact abort calls CloseSequences, which turns ItsSequenceCreation
* off
*/
ItsSequenceCreation = false;/* hack */
DefineRelation(stmt, RELKIND_SEQUENCE);
rel = heap_openr(seq->seqname);
Assert(RelationIsValid(rel));
@ -438,8 +428,6 @@ CloseSequences(void)
SeqTable elm;
Relation rel;
ItsSequenceCreation = false;
for (elm = seqtab; elm != (SeqTable) NULL;)
{
if (elm->rel != (Relation) NULL) /* opened in current xact */

View File

@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/commands/view.c,v 1.23 1998/07/19 05:49:12 momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/commands/view.c,v 1.24 1998/08/06 05:12:30 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@ -105,7 +105,7 @@ DefineVirtualRelation(char *relname, List *tlist)
/*
* finally create the relation...
*/
DefineRelation(&createStmt);
DefineRelation(&createStmt, RELKIND_RELATION);
}
/*------------------------------------------------------------------

View File

@ -26,7 +26,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/executor/execMain.c,v 1.51 1998/07/27 19:37:55 vadim Exp $
* $Header: /cvsroot/pgsql/src/backend/executor/execMain.c,v 1.52 1998/08/06 05:12:33 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@ -587,7 +587,8 @@ InitPlan(CmdType operation, Query *parseTree, Plan *plan, EState *estate)
*/
tupdesc = CreateTupleDescCopy(tupType);
intoRelationId = heap_create_with_catalog(intoName, tupdesc);
intoRelationId = heap_create_with_catalog(intoName,
tupdesc, RELKIND_RELATION);
FreeTupleDesc(tupdesc);

View File

@ -15,7 +15,7 @@
* ExecEndTee
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/executor/Attic/nodeTee.c,v 1.19 1998/07/27 19:37:57 vadim Exp $
* $Header: /cvsroot/pgsql/src/backend/executor/Attic/nodeTee.c,v 1.20 1998/08/06 05:12:36 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@ -168,7 +168,8 @@ ExecInitTee(Tee *node, EState *currentEstate, Plan *parent)
bufferRel = heap_openr(teeState->tee_bufferRelname);
else
bufferRel = heap_open(
heap_create_with_catalog(teeState->tee_bufferRelname, tupType));
heap_create_with_catalog(teeState->tee_bufferRelname,
tupType, RELKIND_RELATION));
}
else
{
@ -177,7 +178,8 @@ ExecInitTee(Tee *node, EState *currentEstate, Plan *parent)
newoid());
/* bufferRel = ExecCreatR(len, tupType, _TEMP_RELATION_ID); */
bufferRel = heap_open(
heap_create_with_catalog(teeState->tee_bufferRelname, tupType));
heap_create_with_catalog(teeState->tee_bufferRelname,
tupType, RELKIND_RELATION));
}
teeState->tee_bufferRel = bufferRel;

File diff suppressed because it is too large Load Diff

View File

@ -16,6 +16,7 @@ typedef union
DefElem *defelt;
ParamString *param;
SortGroupBy *sortgroupby;
JoinUsing *joinusing;
IndexElem *ielem;
RangeVar *range;
RelExpr *relexp;

View File

@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/storage/large_object/inv_api.c,v 1.32 1998/07/27 19:38:11 vadim Exp $
* $Header: /cvsroot/pgsql/src/backend/storage/large_object/inv_api.c,v 1.33 1998/08/06 05:12:45 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@ -153,7 +153,7 @@ inv_create(int flags)
* be located on whatever storage manager the user requested.
*/
heap_create_with_catalog(objname, tupdesc);
heap_create_with_catalog(objname, tupdesc, RELKIND_LOBJECT);
/* make the relation visible in this transaction */
CommandCounterIncrement();

View File

@ -9,7 +9,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/tcop/utility.c,v 1.44 1998/07/26 04:30:48 scrappy Exp $
* $Header: /cvsroot/pgsql/src/backend/tcop/utility.c,v 1.45 1998/08/06 05:12:48 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@ -173,7 +173,7 @@ ProcessUtility(Node *parsetree,
*ps_status = commandTag = "CREATE";
CHECK_IF_ABORTED();
DefineRelation((CreateStmt *) parsetree);
DefineRelation((CreateStmt *) parsetree, RELKIND_RELATION);
break;
case T_DestroyStmt:

View File

@ -21,7 +21,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_dump.c,v 1.78 1998/07/19 05:24:49 momjian Exp $
* $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_dump.c,v 1.79 1998/08/06 05:12:51 momjian Exp $
*
* Modifications - 6/10/96 - dave@bensoft.com - version 1.13.dhb
*
@ -1418,7 +1418,7 @@ getTables(int *numTables, FuncInfo *finfo, int numFuncs)
"from pg_class, pg_user "
"where relowner = usesysid and "
"(relkind = 'r' or relkind = 'S') and relname !~ '^pg_' "
"and relname !~ '^xin[xv][0-9]+' order by oid");
"order by oid");
res = PQexec(g_conn, query);
if (!res ||
@ -1879,7 +1879,7 @@ getIndices(int *numIndices)
"from pg_index i, pg_class t1, pg_class t2, pg_am a "
"where t1.oid = i.indexrelid and t2.oid = i.indrelid "
"and t1.relam = a.oid and i.indexrelid > '%d'::oid "
"and t2.relname !~ '^pg_' and t1.relname !~ '^xinx'",
"and t2.relname !~ '^pg_' and t1.relkind != 'l'",
g_last_builtin_oid);
res = PQexec(g_conn, query);

View File

@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/bin/psql/Attic/psql.c,v 1.151 1998/08/05 16:23:40 momjian Exp $
* $Header: /cvsroot/pgsql/src/bin/psql/Attic/psql.c,v 1.152 1998/08/06 05:12:55 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@ -408,7 +408,6 @@ tableList(PsqlSettings *pset, bool deep_tablelist, char info_type,
strcat(listbuf, " and relname !~ '^pg_'");
else
strcat(listbuf, " and relname ~ '^pg_'");
strcat(listbuf, " and relname !~ '^xin[vx][0-9]+'");
strcat(listbuf, " and usesysid = relowner");
strcat(listbuf, " ORDER BY relname ");
if (!(res = PSQLexec(pset, listbuf)))
@ -544,7 +543,6 @@ rightsList(PsqlSettings *pset)
strcat(listbuf, "FROM pg_class, pg_user ");
strcat(listbuf, "WHERE ( relkind = 'r' OR relkind = 'i' OR relkind = 'S') ");
strcat(listbuf, " and relname !~ '^pg_'");
strcat(listbuf, " and relname !~ '^xin[vx][0-9]+'");
strcat(listbuf, " and usesysid = relowner");
strcat(listbuf, " ORDER BY relname ");
if (!(res = PSQLexec(pset, listbuf)))

View File

@ -6,7 +6,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
* $Id: heap.h,v 1.12 1998/02/26 04:40:38 momjian Exp $
* $Id: heap.h,v 1.13 1998/08/06 05:13:01 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@ -17,7 +17,8 @@
extern Relation heap_create(char *relname, TupleDesc att);
extern Oid heap_create_with_catalog(char relname[], TupleDesc tupdesc);
extern Oid heap_create_with_catalog(char *relname,
TupleDesc tupdesc, char relkind);
extern void heap_destroy_with_catalog(char relname[]);
extern void heap_destroy(Relation r);

View File

@ -7,474 +7,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
* $Id: pg_attribute_mb.h,v 1.1 1998/07/27 03:21:57 scrappy Exp $
*
* NOTES
* the genbki.sh script reads this file and generates .bki
* information from the DATA() statements.
*
* utils/cache/relcache.c requires some hard-coded tuple descriptors
* for some of the system catalogs so if the schema for any of
* these changes, be sure and change the appropriate Schema_xxx
* macros! -cim 2/5/91
*
*-------------------------------------------------------------------------
*/
#ifndef PG_ATTRIBUTE_H
#define PG_ATTRIBUTE_H
/* ----------------
* postgres.h contains the system type definintions and the
* CATALOG(), BOOTSTRAP and DATA() sugar words so this file
* can be read by both genbki.sh and the C compiler.
* ----------------
*/
/* ----------------
* pg_attribute definition. cpp turns this into
* typedef struct FormData_pg_attribute
*
* If you change the following, make sure you change the structs for
* system attributes in heap.c and index.c also.
* ----------------
*/
CATALOG(pg_attribute) BOOTSTRAP
{
Oid attrelid;
NameData attname;
Oid atttypid;
/*
* atttypid is the OID of the instance in Catalog Class pg_type that
* defines the data type of this attribute (e.g. int4). Information
* in that instance is redundant with the attlen, attbyval, and
* attalign attributes of this instance, so they had better match or
* Postgres will fail.
*/
float4 attdisbursion;
int2 attlen;
/*
* attlen is a copy of the typlen field from pg_type for this
* attribute. See atttypid above. See struct TypeTupleFormData for
* definition.
*/
int2 attnum;
/*
* attnum is the "attribute number" for the attribute: A value that
* uniquely identifies this attribute within its class. For user
* attributes, Attribute numbers are greater than 0 and not greater
* than the number of attributes in the class. I.e. if the Class
* pg_class says that Class XYZ has 10 attributes, then the user
* attribute numbers in Class pg_attribute must be 1-10.
*
* System attributes have attribute numbers less than 0 that are unique
* within the class, but not constrained to any particular range.
*
* Note that (attnum - 1) is often used as the index to an array.
*/
int4 attnelems;
int4 attcacheoff;
/*
* fastgetattr() uses attcacheoff to cache byte offsets of attributes
* in heap tuples. The data actually stored in pg_attribute (-1)
* indicates no cached value. But when we copy these tuples into a
* tuple descriptor, we may then update attcacheoff in the copies.
* This speeds up the attribute walking process.
*/
int4 atttypmod;
/*
* atttypmod records type-specific modifications supplied at table
* creation time, and passes it to input and output functions as the
* third argument.
*/
bool attbyval;
/*
* attbyval is a copy of the typbyval field from pg_type for this
* attribute. See atttypid above. See struct TypeTupleFormData for
* definition.
*/
bool attisset;
char attalign;
/*
* attalign is a copy of the typalign field from pg_type for this
* attribute. See atttypid above. See struct TypeTupleFormData for
* definition.
*/
bool attnotnull;
/* This flag represents the "NOT NULL" constraint */
bool atthasdef;
/* Has DEFAULT value or not */
} FormData_pg_attribute;
/*
* someone should figure out how to do this properly. (The problem is
* the size of the C struct is not the same as the size of the tuple.)
*/
#define ATTRIBUTE_TUPLE_SIZE \
(offsetof(FormData_pg_attribute,atthasdef) + sizeof(char))
/* ----------------
* Form_pg_attribute corresponds to a pointer to a tuple with
* the format of pg_attribute relation.
* ----------------
*/
typedef FormData_pg_attribute *AttributeTupleForm;
/* ----------------
* compiler constants for pg_attribute
* ----------------
*/
#define Natts_pg_attribute 14
#define Anum_pg_attribute_attrelid 1
#define Anum_pg_attribute_attname 2
#define Anum_pg_attribute_atttypid 3
#define Anum_pg_attribute_attdisbursion 4
#define Anum_pg_attribute_attlen 5
#define Anum_pg_attribute_attnum 6
#define Anum_pg_attribute_attnelems 7
#define Anum_pg_attribute_attcacheoff 8
#define Anum_pg_attribute_atttypmod 9
#define Anum_pg_attribute_attbyval 10
#define Anum_pg_attribute_attisset 11
#define Anum_pg_attribute_attalign 12
#define Anum_pg_attribute_attnotnull 13
#define Anum_pg_attribute_atthasdef 14
/* ----------------
* SCHEMA_ macros for declaring hardcoded tuple descriptors.
* these are used in utils/cache/relcache.c
* ----------------
#define SCHEMA_NAME(x) CppConcat(Name_,x)
#define SCHEMA_DESC(x) CppConcat(Desc_,x)
#define SCHEMA_NATTS(x) CppConcat(Natts_,x)
#define SCHEMA_DEF(x) \
FormData_pg_attribute \
SCHEMA_DESC(x) [ SCHEMA_NATTS(x) ] = \
{ \
CppConcat(Schema_,x) \
}
*/
/* ----------------
* initial contents of pg_attribute
* ----------------
*/
/* ----------------
* pg_type schema
* ----------------
*/
#define Schema_pg_type \
{ 1247, {"typname"}, 19, 0, NAMEDATALEN, 1, 0, -1, -1, '\0', '\0', 'i', '\0', '\0' }, \
{ 1247, {"typowner"}, 26, 0, 4, 2, 0, -1, -1, '\001', '\0', 'i', '\0', '\0' }, \
{ 1247, {"typlen"}, 21, 0, 2, 3, 0, -1, -1, '\001', '\0', 's', '\0', '\0' }, \
{ 1247, {"typprtlen"}, 21, 0, 2, 4, 0, -1, -1, '\001', '\0', 's', '\0', '\0' }, \
{ 1247, {"typbyval"}, 16, 0, 1, 5, 0, -1, -1, '\001', '\0', 'c', '\0', '\0' }, \
{ 1247, {"typtype"}, 18, 0, 1, 6, 0, -1, -1, '\001', '\0', 'c', '\0', '\0' }, \
{ 1247, {"typisdefined"}, 16, 0, 1, 7, 0, -1, -1, '\001', '\0', 'c', '\0', '\0' }, \
{ 1247, {"typdelim"}, 18, 0, 1, 8, 0, -1, -1, '\001', '\0', 'c', '\0', '\0' }, \
{ 1247, {"typrelid"}, 26, 0, 4, 9, 0, -1, -1, '\001', '\0', 'i', '\0', '\0' }, \
{ 1247, {"typelem"}, 26, 0, 4, 10, 0, -1, -1, '\001', '\0', 'i', '\0', '\0' }, \
{ 1247, {"typinput"}, 24, 0, 4, 11, 0, -1, -1, '\001', '\0', 'i', '\0', '\0' }, \
{ 1247, {"typoutput"}, 24, 0, 4, 12, 0, -1, -1, '\001', '\0', 'i', '\0', '\0' }, \
{ 1247, {"typreceive"}, 24, 0, 4, 13, 0, -1, -1, '\001', '\0', 'i', '\0', '\0' }, \
{ 1247, {"typsend"}, 24, 0, 4, 14, 0, -1, -1, '\001', '\0', 'i', '\0', '\0' }, \
{ 1247, {"typalign"}, 18, 0, 1, 15, 0, -1, -1, '\001', '\0', 'c', '\0', '\0' }, \
{ 1247, {"typdefault"}, 25, 0, -1, 16, 0, -1, -1, '\0' , '\0', 'i', '\0', '\0' }
DATA(insert OID = 0 ( 1247 typname 19 0 NAMEDATALEN 1 0 -1 -1 f f i f f));
DATA(insert OID = 0 ( 1247 typowner 26 0 4 2 0 -1 -1 t f i f f));
DATA(insert OID = 0 ( 1247 typlen 21 0 2 3 0 -1 -1 t f s f f));
DATA(insert OID = 0 ( 1247 typprtlen 21 0 2 4 0 -1 -1 t f s f f));
DATA(insert OID = 0 ( 1247 typbyval 16 0 1 5 0 -1 -1 t f c f f));
DATA(insert OID = 0 ( 1247 typtype 18 0 1 6 0 -1 -1 t f c f f));
DATA(insert OID = 0 ( 1247 typisdefined 16 0 1 7 0 -1 -1 t f c f f));
DATA(insert OID = 0 ( 1247 typdelim 18 0 1 8 0 -1 -1 t f c f f));
DATA(insert OID = 0 ( 1247 typrelid 26 0 4 9 0 -1 -1 t f i f f));
DATA(insert OID = 0 ( 1247 typelem 26 0 4 10 0 -1 -1 t f i f f));
DATA(insert OID = 0 ( 1247 typinput 24 0 4 11 0 -1 -1 t f i f f));
DATA(insert OID = 0 ( 1247 typoutput 24 0 4 12 0 -1 -1 t f i f f));
DATA(insert OID = 0 ( 1247 typreceive 24 0 4 13 0 -1 -1 t f i f f));
DATA(insert OID = 0 ( 1247 typsend 24 0 4 14 0 -1 -1 t f i f f));
DATA(insert OID = 0 ( 1247 typalign 18 0 1 15 0 -1 -1 t f c f f));
DATA(insert OID = 0 ( 1247 typdefault 25 0 -1 16 0 -1 -1 f f i f f));
DATA(insert OID = 0 ( 1247 ctid 27 0 6 -1 0 -1 -1 f f i f f));
DATA(insert OID = 0 ( 1247 oid 26 0 4 -2 0 -1 -1 t f i f f));
DATA(insert OID = 0 ( 1247 xmin 28 0 4 -3 0 -1 -1 f f i f f));
DATA(insert OID = 0 ( 1247 cmin 29 0 4 -4 0 -1 -1 t f i f f));
DATA(insert OID = 0 ( 1247 xmax 28 0 4 -5 0 -1 -1 f f i f f));
DATA(insert OID = 0 ( 1247 cmax 29 0 4 -6 0 -1 -1 t f i f f));
/* ----------------
* pg_database
* ----------------
*/
DATA(insert OID = 0 ( 1262 datname 19 0 NAMEDATALEN 1 0 -1 -1 f f i f f));
DATA(insert OID = 0 ( 1262 datdba 23 0 4 2 0 -1 -1 t f s f f));
DATA(insert OID = 0 ( 1262 encoding 23 0 4 3 0 -1 -1 t f s f f));
DATA(insert OID = 0 ( 1262 datpath 25 0 -1 4 0 -1 -1 f f i f f));
DATA(insert OID = 0 ( 1262 ctid 27 0 6 -1 0 -1 -1 f f i f f));
DATA(insert OID = 0 ( 1262 oid 26 0 4 -2 0 -1 -1 t f i f f));
DATA(insert OID = 0 ( 1262 xmin 28 0 4 -3 0 -1 -1 f f i f f));
DATA(insert OID = 0 ( 1262 cmin 29 0 4 -4 0 -1 -1 t f i f f));
DATA(insert OID = 0 ( 1262 xmax 28 0 4 -5 0 -1 -1 f f i f f));
DATA(insert OID = 0 ( 1262 cmax 29 0 4 -6 0 -1 -1 t f i f f));
/* ----------------
* pg_proc
* ----------------
*/
#define Schema_pg_proc \
{ 1255, {"proname"}, 19, 0, NAMEDATALEN, 1, 0, -1, -1, '\0', '\0', 'i', '\0', '\0' }, \
{ 1255, {"proowner"}, 26, 0, 4, 2, 0, -1, -1, '\001', '\0', 'i', '\0', '\0' }, \
{ 1255, {"prolang"}, 26, 0, 4, 3, 0, -1, -1, '\001', '\0', 'i', '\0', '\0' }, \
{ 1255, {"proisinh"}, 16, 0, 1, 4, 0, -1, -1, '\001', '\0', 'c', '\0', '\0' }, \
{ 1255, {"proistrusted"}, 16, 0, 1, 5, 0, -1, -1, '\001', '\0', 'c', '\0', '\0' }, \
{ 1255, {"proiscachable"}, 16, 0, 1, 6, 0, -1, -1, '\001', '\0', 'c', '\0', '\0' }, \
{ 1255, {"pronargs"}, 21, 0, 2, 7, 0, -1, -1, '\001', '\0', 's', '\0', '\0' }, \
{ 1255, {"proretset"}, 16, 0, 1, 8, 0, -1, -1, '\001', '\0', 'c', '\0', '\0' }, \
{ 1255, {"prorettype"}, 26, 0, 4, 9, 0, -1, -1, '\001', '\0', 'i', '\0', '\0' }, \
{ 1255, {"proargtypes"}, 30, 0, 32, 10, 0, -1, -1, '\0', '\0', 'i', '\0', '\0' }, \
{ 1255, {"probyte_pct"}, 23, 0, 4, 11, 0, -1, -1, '\001', '\0', 'i', '\0', '\0' }, \
{ 1255, {"properbyte_cpu"}, 23, 0, 4, 12, 0, -1, -1, '\001', '\0', 'i', '\0', '\0' }, \
{ 1255, {"propercall_cpu"}, 23, 0, 4, 13, 0, -1, -1, '\001', '\0', 'i', '\0', '\0' }, \
{ 1255, {"prooutin_ratio"}, 23, 0, 4, 14, 0, -1, -1, '\001', '\0', 'i', '\0', '\0' }, \
{ 1255, {"prosrc"}, 25, 0, -1, 15, 0, -1, -1, '\0', '\0', 'i', '\0', '\0' }, \
{ 1255, {"probin"}, 17, 0, -1, 16, 0, -1, -1, '\0', '\0', 'i', '\0', '\0' }
DATA(insert OID = 0 ( 1255 proname 19 0 NAMEDATALEN 1 0 -1 -1 f f i f f));
DATA(insert OID = 0 ( 1255 proowner 26 0 4 2 0 -1 -1 t f i f f));
DATA(insert OID = 0 ( 1255 prolang 26 0 4 3 0 -1 -1 t f i f f));
DATA(insert OID = 0 ( 1255 proisinh 16 0 1 4 0 -1 -1 t f c f f));
DATA(insert OID = 0 ( 1255 proistrusted 16 0 1 5 0 -1 -1 t f c f f));
DATA(insert OID = 0 ( 1255 proiscachable 16 0 1 6 0 -1 -1 t f c f f));
DATA(insert OID = 0 ( 1255 pronargs 21 0 2 7 0 -1 -1 t f s f f));
DATA(insert OID = 0 ( 1255 proretset 16 0 1 8 0 -1 -1 t f c f f));
DATA(insert OID = 0 ( 1255 prorettype 26 0 4 9 0 -1 -1 t f i f f));
DATA(insert OID = 0 ( 1255 proargtypes 30 0 32 10 0 -1 -1 f f i f f));
DATA(insert OID = 0 ( 1255 probyte_pct 23 0 4 11 0 -1 -1 t f i f f));
DATA(insert OID = 0 ( 1255 properbyte_cpu 23 0 4 12 0 -1 -1 t f i f f));
DATA(insert OID = 0 ( 1255 propercall_cpu 23 0 4 13 0 -1 -1 t f i f f));
DATA(insert OID = 0 ( 1255 prooutin_ratio 23 0 4 14 0 -1 -1 t f i f f));
DATA(insert OID = 0 ( 1255 prosrc 25 0 -1 15 0 -1 -1 f f i f f));
DATA(insert OID = 0 ( 1255 probin 17 0 -1 16 0 -1 -1 f f i f f));
DATA(insert OID = 0 ( 1255 ctid 27 0 6 -1 0 -1 -1 f f i f f));
DATA(insert OID = 0 ( 1255 oid 26 0 4 -2 0 -1 -1 t f i f f));
DATA(insert OID = 0 ( 1255 xmin 28 0 4 -3 0 -1 -1 f f i f f));
DATA(insert OID = 0 ( 1255 cmin 29 0 4 -4 0 -1 -1 t f i f f));
DATA(insert OID = 0 ( 1255 xmax 28 0 4 -5 0 -1 -1 f f i f f));
DATA(insert OID = 0 ( 1255 cmax 29 0 4 -6 0 -1 -1 t f i f f));
/* ----------------
* pg_shadow
* ----------------
*/
DATA(insert OID = 0 ( 1260 usename 19 0 NAMEDATALEN 1 0 -1 -1 f f i f f));
DATA(insert OID = 0 ( 1260 usesysid 23 0 4 2 0 -1 -1 t f s f f));
DATA(insert OID = 0 ( 1260 usecreatedb 16 0 1 3 0 -1 -1 t f c f f));
DATA(insert OID = 0 ( 1260 usetrace 16 0 1 4 0 -1 -1 t f c f f));
DATA(insert OID = 0 ( 1260 usesuper 16 0 1 5 0 -1 -1 t f c f f));
DATA(insert OID = 0 ( 1260 usecatupd 16 0 1 6 0 -1 -1 t f c f f));
DATA(insert OID = 0 ( 1260 passwd 25 0 -1 7 0 -1 -1 f f i f f));
DATA(insert OID = 0 ( 1260 valuntil 702 0 4 8 0 -1 -1 t f i f f));
DATA(insert OID = 0 ( 1260 ctid 27 0 6 -1 0 -1 -1 f f i f f));
DATA(insert OID = 0 ( 1260 oid 26 0 4 -2 0 -1 -1 t f i f f));
DATA(insert OID = 0 ( 1260 xmin 28 0 4 -3 0 -1 -1 f f i f f));
DATA(insert OID = 0 ( 1260 cmin 29 0 4 -4 0 -1 -1 t f i f f));
DATA(insert OID = 0 ( 1260 xmax 28 0 4 -5 0 -1 -1 f f i f f));
DATA(insert OID = 0 ( 1260 cmax 29 0 4 -6 0 -1 -1 t f i f f));
/* ----------------
* pg_group
* ----------------
*/
DATA(insert OID = 0 ( 1261 groname 19 0 NAMEDATALEN 1 0 -1 -1 f f i f f));
DATA(insert OID = 0 ( 1261 grosysid 23 0 4 2 0 -1 -1 t f s f f));
DATA(insert OID = 0 ( 1261 grolist 1007 0 -1 3 0 -1 -1 f f i f f));
DATA(insert OID = 0 ( 1261 ctid 27 0 6 -1 0 -1 -1 f f i f f));
DATA(insert OID = 0 ( 1261 oid 26 0 4 -2 0 -1 -1 t f i f f));
DATA(insert OID = 0 ( 1261 xmin 28 0 4 -3 0 -1 -1 f f i f f));
DATA(insert OID = 0 ( 1261 cmin 29 0 4 -4 0 -1 -1 t f i f f));
DATA(insert OID = 0 ( 1261 xmax 28 0 4 -5 0 -1 -1 f f i f f));
DATA(insert OID = 0 ( 1261 cmax 29 0 4 -6 0 -1 -1 t f i f f));
/* ----------------
* pg_attribute
* ----------------
*/
#define Schema_pg_attribute \
{ 1249, {"attrelid"}, 26, 0, 4, 1, 0, -1, -1, '\001', '\0', 'i', '\0', '\0' }, \
{ 1249, {"attname"}, 19, 0, NAMEDATALEN, 2, 0, -1, -1, '\0', '\0', 'i', '\0', '\0' }, \
{ 1249, {"atttypid"}, 26, 0, 4, 3, 0, -1, -1, '\001', '\0', 'i', '\0', '\0' }, \
{ 1249, {"attdisbursion"}, 700, 0, 4, 4, 0, -1, -1, '\0', '\0', 'i', '\0', '\0' }, \
{ 1249, {"attlen"}, 21, 0, 2, 5, 0, -1, -1, '\001', '\0', 's', '\0', '\0' }, \
{ 1249, {"attnum"}, 21, 0, 2, 6, 0, -1, -1, '\001', '\0', 's', '\0', '\0' }, \
{ 1249, {"attnelems"}, 23, 0, 4, 7, 0, -1, -1, '\001', '\0', 'i', '\0', '\0' }, \
{ 1249, {"attcacheoff"}, 23, 0, 4, 8, 0, -1, -1, '\001', '\0', 'i', '\0', '\0' }, \
{ 1249, {"atttypmod"}, 21, 0, 4, 9, 0, -1, -1, '\001', '\0', 's', '\0', '\0' }, \
{ 1249, {"attbyval"}, 16, 0, 1, 10, 0, -1, -1, '\001', '\0', 'c', '\0', '\0' }, \
{ 1249, {"attisset"}, 16, 0, 1, 11, 0, -1, -1, '\001', '\0', 'c', '\0', '\0' }, \
{ 1249, {"attalign"}, 18, 0, 1, 12, 0, -1, -1, '\001', '\0', 'c', '\0', '\0' }, \
{ 1249, {"attnotnull"}, 16, 0, 1, 13, 0, -1, -1, '\001', '\0', 'c', '\0', '\0' }, \
{ 1249, {"atthasdef"}, 16, 0, 1, 14, 0, -1, -1, '\001', '\0', 'c', '\0', '\0' }
DATA(insert OID = 0 ( 1249 attrelid 26 0 4 1 0 -1 -1 t f i f f));
DATA(insert OID = 0 ( 1249 attname 19 0 NAMEDATALEN 2 0 -1 -1 f f i f f));
DATA(insert OID = 0 ( 1249 atttypid 26 0 4 3 0 -1 -1 t f i f f));
DATA(insert OID = 0 ( 1249 attdisbursion 700 0 4 4 0 -1 -1 f f i f f));
DATA(insert OID = 0 ( 1249 attlen 21 0 2 5 0 -1 -1 t f s f f));
DATA(insert OID = 0 ( 1249 attnum 21 0 2 6 0 -1 -1 t f s f f));
DATA(insert OID = 0 ( 1249 attnelems 23 0 4 7 0 -1 -1 t f i f f));
DATA(insert OID = 0 ( 1249 attcacheoff 23 0 4 8 0 -1 -1 t f i f f));
DATA(insert OID = 0 ( 1249 atttypmod 21 0 4 9 0 -1 -1 t f s f f));
DATA(insert OID = 0 ( 1249 attbyval 16 0 1 10 0 -1 -1 t f c f f));
DATA(insert OID = 0 ( 1249 attisset 16 0 1 11 0 -1 -1 t f c f f));
DATA(insert OID = 0 ( 1249 attalign 18 0 1 12 0 -1 -1 t f c f f));
DATA(insert OID = 0 ( 1249 attnotnull 16 0 1 13 0 -1 -1 t f c f f));
DATA(insert OID = 0 ( 1249 atthasdef 16 0 1 14 0 -1 -1 t f c f f));
DATA(insert OID = 0 ( 1249 ctid 27 0 6 -1 0 -1 -1 f f i f f));
DATA(insert OID = 0 ( 1249 oid 26 0 4 -2 0 -1 -1 t f i f f));
DATA(insert OID = 0 ( 1249 xmin 28 0 4 -3 0 -1 -1 f f i f f));
DATA(insert OID = 0 ( 1249 cmin 29 0 4 -4 0 -1 -1 t f i f f));
DATA(insert OID = 0 ( 1249 xmax 28 0 4 -5 0 -1 -1 f f i f f));
DATA(insert OID = 0 ( 1249 cmax 29 0 4 -6 0 -1 -1 t f i f f));
/* ----------------
* pg_class
* ----------------
*/
#define Schema_pg_class \
{ 1259, {"relname"}, 19, 0, NAMEDATALEN, 1, 0, -1, -1, '\0', '\0', 'i', '\0', '\0' }, \
{ 1259, {"reltype"}, 26, 0, 4, 2, 0, -1, -1, '\001', '\0', 'i', '\0', '\0' }, \
{ 1259, {"relowner"}, 26, 0, 4, 3, 0, -1, -1, '\001', '\0', 'i', '\0', '\0' }, \
{ 1259, {"relam"}, 26, 0, 4, 4, 0, -1, -1, '\001', '\0', 'i', '\0', '\0' }, \
{ 1259, {"relpages"}, 23, 0, 4, 5, 0, -1, -1, '\001', '\0', 'i', '\0', '\0' }, \
{ 1259, {"reltuples"}, 23, 0, 4, 6, 0, -1, -1, '\001', '\0', 'i', '\0', '\0' }, \
{ 1259, {"relhasindex"}, 16, 0, 1, 7, 0, -1, -1, '\001', '\0', 'c', '\0', '\0' }, \
{ 1259, {"relisshared"}, 16, 0, 1, 8, 0, -1, -1, '\001', '\0', 'c', '\0', '\0' }, \
{ 1259, {"relkind"}, 18, 0, 1, 9, 0, -1, -1, '\001', '\0', 'c', '\0', '\0' }, \
{ 1259, {"relnatts"}, 21, 0, 2, 10, 0, -1, -1, '\001', '\0', 's', '\0', '\0' }, \
{ 1259, {"relchecks"}, 21, 0, 2, 11, 0, -1, -1, '\001', '\0', 's', '\0', '\0' }, \
{ 1259, {"reltriggers"}, 21, 0, 2, 12, 0, -1, -1, '\001', '\0', 's', '\0', '\0' }, \
{ 1259, {"relhasrules"}, 16, 0, 1, 13, 0, -1, -1, '\001', '\0', 'c', '\0', '\0' }, \
{ 1259, {"relacl"}, 1034, 0, -1, 14, 0, -1, -1, '\0', '\0', 'i', '\0', '\0' }
DATA(insert OID = 0 ( 1259 relname 19 0 NAMEDATALEN 1 0 -1 -1 f f i f f));
DATA(insert OID = 0 ( 1259 reltype 26 0 4 2 0 -1 -1 t f i f f));
DATA(insert OID = 0 ( 1259 relowner 26 0 4 3 0 -1 -1 t f i f f));
DATA(insert OID = 0 ( 1259 relam 26 0 4 4 0 -1 -1 t f i f f));
DATA(insert OID = 0 ( 1259 relpages 23 0 4 5 0 -1 -1 t f i f f));
DATA(insert OID = 0 ( 1259 reltuples 23 0 4 6 0 -1 -1 t f i f f));
DATA(insert OID = 0 ( 1259 relhasindex 16 0 1 7 0 -1 -1 t f c f f));
DATA(insert OID = 0 ( 1259 relisshared 16 0 1 8 0 -1 -1 t f c f f));
DATA(insert OID = 0 ( 1259 relkind 18 0 1 9 0 -1 -1 t f c f f));
DATA(insert OID = 0 ( 1259 relnatts 21 0 2 10 0 -1 -1 t f s f f));
DATA(insert OID = 0 ( 1259 relchecks 21 0 2 11 0 -1 -1 t f s f f));
DATA(insert OID = 0 ( 1259 reltriggers 21 0 2 12 0 -1 -1 t f s f f));
DATA(insert OID = 0 ( 1259 relhasrules 16 0 1 13 0 -1 -1 t f c f f));
DATA(insert OID = 0 ( 1259 relacl 1034 0 -1 14 0 -1 -1 f f i f f));
DATA(insert OID = 0 ( 1259 ctid 27 0 6 -1 0 -1 -1 f f i f f));
DATA(insert OID = 0 ( 1259 oid 26 0 4 -2 0 -1 -1 t f i f f));
DATA(insert OID = 0 ( 1259 xmin 28 0 4 -3 0 -1 -1 f f i f f));
DATA(insert OID = 0 ( 1259 cmin 29 0 4 -4 0 -1 -1 t f i f f));
DATA(insert OID = 0 ( 1259 xmax 28 0 4 -5 0 -1 -1 f f i f f));
DATA(insert OID = 0 ( 1259 cmax 29 0 4 -6 0 -1 -1 t f i f f));
/* ----------------
* pg_attrdef
* ----------------
*/
DATA(insert OID = 0 ( 1215 adrelid 26 0 4 1 0 -1 -1 t f i f f));
DATA(insert OID = 0 ( 1215 adnum 21 0 2 2 0 -1 -1 t f s f f));
DATA(insert OID = 0 ( 1215 adbin 25 0 -1 3 0 -1 -1 f f i f f));
DATA(insert OID = 0 ( 1215 adsrc 25 0 -1 4 0 -1 -1 f f i f f));
DATA(insert OID = 0 ( 1215 ctid 27 0 6 -1 0 -1 -1 f f i f f));
DATA(insert OID = 0 ( 1215 oid 26 0 4 -2 0 -1 -1 t f i f f));
DATA(insert OID = 0 ( 1215 xmin 28 0 4 -3 0 -1 -1 f f i f f));
DATA(insert OID = 0 ( 1215 cmin 29 0 4 -4 0 -1 -1 t f i f f));
DATA(insert OID = 0 ( 1215 xmax 28 0 4 -5 0 -1 -1 f f i f f));
DATA(insert OID = 0 ( 1215 cmax 29 0 4 -6 0 -1 -1 t f i f f));
/* ----------------
* pg_relcheck
* ----------------
*/
DATA(insert OID = 0 ( 1216 rcrelid 26 0 4 1 0 -1 -1 t f i f f));
DATA(insert OID = 0 ( 1216 rcname 19 0 NAMEDATALEN 2 0 -1 -1 f f i f f));
DATA(insert OID = 0 ( 1216 rcbin 25 0 -1 3 0 -1 -1 f f i f f));
DATA(insert OID = 0 ( 1216 rcsrc 25 0 -1 4 0 -1 -1 f f i f f));
DATA(insert OID = 0 ( 1216 ctid 27 0 6 -1 0 -1 -1 f f i f f));
DATA(insert OID = 0 ( 1216 oid 26 0 4 -2 0 -1 -1 t f i f f));
DATA(insert OID = 0 ( 1216 xmin 28 0 4 -3 0 -1 -1 f f i f f));
DATA(insert OID = 0 ( 1216 cmin 29 0 4 -4 0 -1 -1 t f i f f));
DATA(insert OID = 0 ( 1216 xmax 28 0 4 -5 0 -1 -1 f f i f f));
DATA(insert OID = 0 ( 1216 cmax 29 0 4 -6 0 -1 -1 t f i f f));
/* ----------------
* pg_trigger
* ----------------
*/
DATA(insert OID = 0 ( 1219 tgrelid 26 0 4 1 0 -1 -1 t f i f f));
DATA(insert OID = 0 ( 1219 tgname 19 0 NAMEDATALEN 2 0 -1 -1 f f i f f));
DATA(insert OID = 0 ( 1219 tgfoid 26 0 4 3 0 -1 -1 t f i f f));
DATA(insert OID = 0 ( 1219 tgtype 21 0 2 4 0 -1 -1 t f s f f));
DATA(insert OID = 0 ( 1219 tgnargs 21 0 2 5 0 -1 -1 t f s f f));
DATA(insert OID = 0 ( 1219 tgattr 22 0 16 6 0 -1 -1 f f i f f));
DATA(insert OID = 0 ( 1219 tgargs 17 0 -1 7 0 -1 -1 f f i f f));
DATA(insert OID = 0 ( 1219 ctid 27 0 6 -1 0 -1 -1 f f i f f));
DATA(insert OID = 0 ( 1219 oid 26 0 4 -2 0 -1 -1 t f i f f));
DATA(insert OID = 0 ( 1219 xmin 28 0 4 -3 0 -1 -1 f f i f f));
DATA(insert OID = 0 ( 1219 cmin 29 0 4 -4 0 -1 -1 t f i f f));
DATA(insert OID = 0 ( 1219 xmax 28 0 4 -5 0 -1 -1 f f i f f));
DATA(insert OID = 0 ( 1219 cmax 29 0 4 -6 0 -1 -1 t f i f f));
/* ----------------
* pg_variable - this relation is modified by special purpose access
* method code. The following is garbage but is needed
* so that the reldesc code works properly.
* ----------------
*/
#define Schema_pg_variable \
{ 1264, {"varfoo"}, 26, 0, 4, 1, 0, -1, -1, '\001', '\0', 'i', '\0', '\0' }
DATA(insert OID = 0 ( 1264 varfoo 26 0 4 1 0 -1 -1 t f i f f));
/* ----------------
* pg_log - this relation is modified by special purpose access
* method code. The following is garbage but is needed
* so that the reldesc code works properly.
* ----------------
*/
#define Schema_pg_log \
{ 1269, {"logfoo"}, 26, 0, 4, 1, 0, -1, -1, '\001', '\0', 'i', '\0', '\0' }
DATA(insert OID = 0 ( 1269 logfoo 26 0 4 1 0 -1 -1 t f i f f));
#endif /* PG_ATTRIBUTE_H */
/*-------------------------------------------------------------------------
*
* pg_attribute.h--
* definition of the system "attribute" relation (pg_attribute)
* along with the relation's initial contents.
*
*
* Copyright (c) 1994, Regents of the University of California
*
* $Id: pg_attribute_mb.h,v 1.1 1998/07/27 03:21:57 scrappy Exp $
* $Id: pg_attribute_mb.h,v 1.2 1998/08/06 05:13:03 momjian Exp $
*
* NOTES
* the genbki.sh script reads this file and generates .bki

View File

@ -7,7 +7,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
* $Id: pg_class.h,v 1.20 1998/02/26 04:40:52 momjian Exp $
* $Id: pg_class.h,v 1.21 1998/08/06 05:13:05 momjian Exp $
*
* NOTES
* ``pg_relation'' is being replaced by ``pg_class''. currently
@ -157,6 +157,7 @@ DESCR("");
#define RelOid_pg_trigger 1219
#define RELKIND_INDEX 'i' /* secondary index */
#define RELKIND_LOBJECT 'l' /* large objects */
#define RELKIND_RELATION 'r' /* cataloged heap */
#define RELKIND_SPECIAL 's' /* special (non-heap) */
#define RELKIND_SEQUENCE 'S' /* SEQUENCE relation */

View File

@ -7,172 +7,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
* $Id: pg_class_mb.h,v 1.1 1998/07/27 03:21:58 scrappy Exp $
*
* NOTES
* ``pg_relation'' is being replaced by ``pg_class''. currently
* we are only changing the name in the catalogs but someday the
* code will be changed too. -cim 2/26/90
* [it finally happens. -ay 11/5/94]
*
* the genbki.sh script reads this file and generates .bki
* information from the DATA() statements.
*
*-------------------------------------------------------------------------
*/
#ifndef PG_RELATION_H
#define PG_RELATION_H
/* ----------------
* postgres.h contains the system type definintions and the
* CATALOG(), BOOTSTRAP and DATA() sugar words so this file
* can be read by both genbki.sh and the C compiler.
* ----------------
*/
/* ----------------
* pg_class definition. cpp turns this into
* typedef struct FormData_pg_class
*
* Note: the #if 0, #endif around the BKI_BEGIN.. END block
* below keeps cpp from seeing what is meant for the
* genbki script: pg_relation is now called pg_class, but
* only in the catalogs -cim 2/26/90
* ----------------
*/
/* ----------------
* This structure is actually variable-length (the last attribute is
* a POSTGRES array). Hence, sizeof(FormData_pg_class) does not
* describe the fixed-length or actual size of the structure.
* FormData_pg_class.relacl may not be correctly aligned, either,
* if aclitem and struct varlena don't align together. Hence,
* you MUST use heap_getattr() to get the relacl field.
* ----------------
*/
CATALOG(pg_class) BOOTSTRAP
{
NameData relname;
Oid reltype;
Oid relowner;
Oid relam;
int4 relpages;
int4 reltuples;
bool relhasindex;
bool relisshared;
char relkind;
int2 relnatts;
/*
* relnatts is the number of user attributes this class has. There
* must be exactly this many instances in Class pg_attribute for this
* class which have attnum > 0 (= user attribute).
*/
int2 relchecks; /* # of CHECK constraints, not stored in
* db? */
int2 reltriggers; /* # of TRIGGERs */
bool relhasrules;
aclitem relacl[1]; /* this is here for the catalog */
} FormData_pg_class;
#define CLASS_TUPLE_SIZE \
(offsetof(FormData_pg_class,relhasrules) + sizeof(bool))
/* ----------------
* Form_pg_class corresponds to a pointer to a tuple with
* the format of pg_class relation.
* ----------------
*/
typedef FormData_pg_class *Form_pg_class;
/* ----------------
* compiler constants for pg_class
* ----------------
*/
/* ----------------
* Natts_pg_class_fixed is used to tell routines that insert new
* pg_class tuples (as opposed to replacing old ones) that there's no
* relacl field.
* ----------------
*/
#define Natts_pg_class_fixed 13
#define Natts_pg_class 14
#define Anum_pg_class_relname 1
#define Anum_pg_class_reltype 2
#define Anum_pg_class_relowner 3
#define Anum_pg_class_relam 4
#define Anum_pg_class_relpages 5
#define Anum_pg_class_reltuples 6
#define Anum_pg_class_relhasindex 7
#define Anum_pg_class_relisshared 8
#define Anum_pg_class_relkind 9
#define Anum_pg_class_relnatts 10
#define Anum_pg_class_relchecks 11
#define Anum_pg_class_reltriggers 12
#define Anum_pg_class_relhasrules 13
#define Anum_pg_class_relacl 14
/* ----------------
* initial contents of pg_class
* ----------------
*/
DATA(insert OID = 1247 ( pg_type 71 PGUID 0 0 0 f f r 16 0 0 f _null_ ));
DESCR("");
DATA(insert OID = 1249 ( pg_attribute 75 PGUID 0 0 0 f f r 14 0 0 f _null_ ));
DESCR("");
DATA(insert OID = 1255 ( pg_proc 81 PGUID 0 0 0 f f r 16 0 0 f _null_ ));
DESCR("");
DATA(insert OID = 1259 ( pg_class 83 PGUID 0 0 0 f f r 14 0 0 f _null_ ));
DESCR("");
DATA(insert OID = 1260 ( pg_shadow 86 PGUID 0 0 0 f t r 8 0 0 f _null_ ));
DESCR("");
DATA(insert OID = 1261 ( pg_group 87 PGUID 0 0 0 f t s 3 0 0 f _null_ ));
DESCR("");
DATA(insert OID = 1262 ( pg_database 88 PGUID 0 0 0 f t r 4 0 0 f _null_ ));
DESCR("");
DATA(insert OID = 1264 ( pg_variable 90 PGUID 0 0 0 f t s 2 0 0 f _null_ ));
DESCR("");
DATA(insert OID = 1269 ( pg_log 99 PGUID 0 0 0 f t s 1 0 0 f _null_ ));
DESCR("");
DATA(insert OID = 1215 ( pg_attrdef 109 PGUID 0 0 0 t t r 4 0 0 f _null_ ));
DESCR("");
DATA(insert OID = 1216 ( pg_relcheck 110 PGUID 0 0 0 t t r 4 0 0 f _null_ ));
DESCR("");
DATA(insert OID = 1219 ( pg_trigger 111 PGUID 0 0 0 t t r 7 0 0 f _null_ ));
DESCR("");
#define RelOid_pg_type 1247
#define RelOid_pg_attribute 1249
#define RelOid_pg_proc 1255
#define RelOid_pg_class 1259
#define RelOid_pg_shadow 1260
#define RelOid_pg_group 1261
#define RelOid_pg_database 1262
#define RelOid_pg_variable 1264
#define RelOid_pg_log 1269
#define RelOid_pg_attrdef 1215
#define RelOid_pg_relcheck 1216
#define RelOid_pg_trigger 1219
#define RELKIND_INDEX 'i' /* secondary index */
#define RELKIND_RELATION 'r' /* cataloged heap */
#define RELKIND_SPECIAL 's' /* special (non-heap) */
#define RELKIND_SEQUENCE 'S' /* SEQUENCE relation */
#define RELKIND_UNCATALOGED 'u' /* temporary heap */
#endif /* PG_RELATION_H */
/*-------------------------------------------------------------------------
*
* pg_class.h--
* definition of the system "relation" relation (pg_class)
* along with the relation's initial contents.
*
*
* Copyright (c) 1994, Regents of the University of California
*
* $Id: pg_class_mb.h,v 1.1 1998/07/27 03:21:58 scrappy Exp $
* $Id: pg_class_mb.h,v 1.2 1998/08/06 05:13:07 momjian Exp $
*
* NOTES
* ``pg_relation'' is being replaced by ``pg_class''. currently

View File

@ -7,65 +7,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
* $Id: pg_database_mb.h,v 1.1 1998/07/27 03:21:58 scrappy Exp $
*
* NOTES
* the genbki.sh script reads this file and generates .bki
* information from the DATA() statements.
*
*-------------------------------------------------------------------------
*/
#ifndef PG_DATABASE_H
#define PG_DATABASE_H
/* ----------------
* postgres.h contains the system type definintions and the
* CATALOG(), BOOTSTRAP and DATA() sugar words so this file
* can be read by both genbki.sh and the C compiler.
* ----------------
*/
/* ----------------
* pg_database definition. cpp turns this into
* typedef struct FormData_pg_database
* ----------------
*/
CATALOG(pg_database) BOOTSTRAP
{
NameData datname;
int4 datdba;
int4 encoding;
text datpath; /* VARIABLE LENGTH FIELD */
} FormData_pg_database;
/* ----------------
* Form_pg_database corresponds to a pointer to a tuple with
* the format of pg_database relation.
* ----------------
*/
typedef FormData_pg_database *Form_pg_database;
/* ----------------
* compiler constants for pg_database
* ----------------
*/
#define Natts_pg_database 4
#define Anum_pg_database_datname 1
#define Anum_pg_database_datdba 2
#define Anum_pg_database_encoding 3
#define Anum_pg_database_datpath 4
#endif /* PG_DATABASE_H */
/*-------------------------------------------------------------------------
*
* pg_database.h--
* definition of the system "database" relation (pg_database)
* along with the relation's initial contents.
*
*
* Copyright (c) 1994, Regents of the University of California
*
* $Id: pg_database_mb.h,v 1.1 1998/07/27 03:21:58 scrappy Exp $
* $Id: pg_database_mb.h,v 1.2 1998/08/06 05:13:09 momjian Exp $
*
* NOTES
* the genbki.sh script reads this file and generates .bki

View File

@ -6,7 +6,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
* $Id: creatinh.h,v 1.6 1997/11/26 01:12:12 momjian Exp $
* $Id: creatinh.h,v 1.7 1998/08/06 05:13:10 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@ -15,7 +15,7 @@
#include "nodes/parsenodes.h"
extern void DefineRelation(CreateStmt *stmt);
extern void DefineRelation(CreateStmt *stmt, char relkind);
extern void RemoveRelation(char *name);
#endif /* CREATINH_H */

View File

@ -92,12 +92,12 @@ Inches
0 0 2.00 150.00 180.00
0 0 2.00 150.00 180.00
4660 1524 5295 1293
2 1 0 2 31 7 0 0 -1 0.000 0 0 -1 1 0 2
0 0 2.00 150.00 180.00
2550 3300 2550 4275
2 1 0 2 8 7 0 0 -1 0.000 0 0 -1 1 0 2
0 0 2.00 150.00 180.00
2550 7275 2550 7875
2 1 0 2 31 7 0 0 -1 0.000 0 0 -1 1 0 2
0 0 2.00 150.00 180.00
2550 3300 2550 4275
3 0 0 2 8 7 0 0 -1 0.000 0 1 0 8
0 0 2.00 150.00 150.00
1350 9375 1050 9375 825 9000 825 4425 1050 4050 1500 3975
@ -106,25 +106,25 @@ Inches
0 0 2.00 150.00 150.00
7650 5775 8250 5475 8250 4575 7725 3975 3525 3975 2850 3975
2700 4275
4 1 -1 0 0 28 18 0.0000 4 195 1050 1560 11190 Utilities\001
4 1 -1 0 0 28 18 0.0000 4 240 2325 7965 11190 Storage Managers\001
4 1 -1 0 0 0 18 0.0000 4 255 840 4725 11175 Catalog\001
4 1 -1 0 0 28 18 0.0000 4 195 2100 3135 12405 Access Methods\001
4 1 7 0 0 28 18 0.0000 4 195 1980 2535 7230 Generate Paths\001
4 1 7 0 0 28 18 0.0000 4 195 1485 6450 6030 Commands\001
4 1 7 0 0 28 18 0.0000 4 195 1830 2565 8445 Generate Plan\001
4 1 -1 0 0 28 18 0.0000 4 195 1470 2535 1965 Postmaster\001
4 1 -1 0 0 28 18 0.0000 4 240 1110 6435 3150 Postgres\001
4 1 -1 0 0 28 18 0.0000 4 240 1110 2550 3165 Postgres\001
4 1 7 0 0 28 18 0.0000 4 195 1275 2565 6945 Rewrite &\001
4 1 7 0 0 28 18 0.0000 4 255 1500 2565 5865 Traffic Cop\001
4 1 7 0 0 28 18 0.0000 4 195 825 2535 4650 Parser\001
4 1 7 0 0 28 18 0.0000 4 195 1890 2550 8175 Choose Path &\001
4 1 7 0 0 28 18 0.0000 4 195 1140 2535 9495 Executor\001
4 1 -1 0 0 16 18 0.0000 4 210 900 1560 11190 Utilities\001
4 1 -1 0 0 16 18 0.0000 4 270 2265 7965 11190 Storage Managers\001
4 1 -1 0 0 16 18 0.0000 4 270 960 4725 11175 Catalog\001
4 1 -1 0 0 16 18 0.0000 4 210 2070 3135 12405 Access Methods\001
4 1 7 0 0 16 18 0.0000 4 210 1380 6450 6030 Commands\001
4 1 7 0 0 16 18 0.0000 4 210 1725 2565 8445 Generate Plan\001
4 1 -1 0 0 16 18 0.0000 4 270 1110 6435 3150 Postgres\001
4 1 -1 0 0 16 18 0.0000 4 270 1110 2550 3165 Postgres\001
4 1 7 0 0 16 18 0.0000 4 210 1200 2565 6945 Rewrite &\001
4 1 7 0 0 16 18 0.0000 4 270 1410 2565 5865 Traffic Cop\001
4 1 7 0 0 16 18 0.0000 4 210 780 2535 4650 Parser\001
4 1 7 0 0 16 18 0.0000 4 210 1110 2535 9495 Executor\001
4 1 8 0 0 28 18 0.0000 4 240 795 4455 5700 utility\001
4 1 7 0 0 28 18 0.0000 4 240 825 6450 5745 Utility\001
4 1 -1 0 0 28 18 0.0000 4 195 630 2520 765 Main\001
4 1 7 0 0 16 18 0.0000 4 270 705 6450 5745 Utility\001
4 1 -1 0 0 16 18 0.0000 4 210 585 2520 765 Main\001
4 1 8 0 0 28 18 0.0000 4 240 1125 2565 6435 complex\001
4 1 -1 0 0 0 18 0.0000 4 225 1425 6450 12375 Nodes / Lists\001
4 1 7 0 0 0 18 0.0000 4 255 645 6450 1350 Libpq\001
4 1 -1 0 0 0 18 0.0000 4 255 1095 1650 13650 Bootstrap\001
4 1 -1 0 0 16 18 0.0000 4 210 1605 6450 12375 Nodes / Lists\001
4 1 7 0 0 16 18 0.0000 4 270 705 6450 1350 Libpq\001
4 1 7 0 0 16 18 0.0000 4 210 1890 2535 7230 Generate Paths\001
4 1 7 0 0 16 18 0.0000 4 210 1875 2550 8175 Choose Path &\001
4 1 -1 0 0 16 18 0.0000 4 270 1230 1650 13650 Bootstrap\001
4 1 -1 0 0 16 18 0.0000 4 210 1380 2535 1965 Postmaster\001

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 KiB

After

Width:  |  Height:  |  Size: 70 KiB