From b992e200b8872ecb6652ec85111995f8d4c5aee0 Mon Sep 17 00:00:00 2001 From: "Vadim B. Mikheev" Date: Tue, 19 Aug 1997 04:46:15 +0000 Subject: [PATCH] NOT NULL implementation (submitted by Robson Paniago de Miranda). --- src/backend/access/common/tupdesc.c | 19 +- src/backend/catalog/heap.c | 25 +- src/backend/catalog/index.c | 24 +- src/backend/commands/command.c | 9 +- src/backend/commands/copy.c | 18 +- src/backend/commands/creatinh.c | 9 +- src/backend/executor/execMain.c | 33 +- src/backend/parser/gram.y | 12 +- src/backend/utils/cache/relcache.c | 25 +- src/bin/pg_dump/pg_dump.c | 11 +- src/bin/pg_dump/pg_dump.h | 3 +- src/bin/psql/psql.c | 4 +- src/bin/psql/psqlHelp.h | 4 +- src/include/access/tupdesc.h | 10 +- src/include/catalog/pg_attribute.h | 581 ++++++++++++++++++------------------ src/include/nodes/parsenodes.h | 3 +- 16 files changed, 453 insertions(+), 337 deletions(-) diff --git a/src/backend/access/common/tupdesc.c b/src/backend/access/common/tupdesc.c index f0c8cbec6b..c86027bc1d 100644 --- a/src/backend/access/common/tupdesc.c +++ b/src/backend/access/common/tupdesc.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/access/common/tupdesc.c,v 1.13 1997/08/18 20:51:31 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/access/common/tupdesc.c,v 1.14 1997/08/19 04:42:31 vadim Exp $ * * NOTES * some of the executor utility code such as "ExecTypeFromTL" should be @@ -60,6 +60,7 @@ CreateTemplateTupleDesc(int natts) size = natts * sizeof (AttributeTupleForm); desc = (TupleDesc) palloc(sizeof(struct tupleDesc)); desc->attrs = (AttributeTupleForm*) palloc(size); + desc->constr = NULL; memset(desc->attrs, 0, size); desc->natts = natts; @@ -87,7 +88,7 @@ CreateTupleDesc(int natts, AttributeTupleForm* attrs) desc = (TupleDesc) palloc(sizeof(struct tupleDesc)); desc->attrs = attrs; desc->natts = natts; - + desc->constr = NULL; return (desc); } @@ -117,6 +118,11 @@ CreateTupleDescCopy(TupleDesc tupdesc) tupdesc->attrs[i], ATTRIBUTE_TUPLE_SIZE); } + if (tupdesc->constr) { + desc->constr = (AttrConstr *) palloc(sizeof(struct attrConstr)); + memmove(desc->constr, tupdesc->constr, sizeof(struct attrConstr)); + } else + desc->constr = NULL; return desc; } @@ -379,6 +385,15 @@ BuildDescForRelation(List *schema, char *relname) if (entry->typename->typlen > 0) { desc->attrs[attnum - 1]->attlen = entry->typename->typlen; } + + /* This is for constraints */ + if (entry->is_not_null) { + if (!desc->constr) + desc->constr = (AttrConstr *) palloc(sizeof(struct attrConstr)); + desc->constr->has_not_null = true; + } + desc->attrs[attnum-1]->attnotnull = entry->is_not_null; + } return desc; } diff --git a/src/backend/catalog/heap.c b/src/backend/catalog/heap.c index 61c38d0dd9..986c7a0826 100644 --- a/src/backend/catalog/heap.c +++ b/src/backend/catalog/heap.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/catalog/heap.c,v 1.15 1997/08/12 22:52:07 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/catalog/heap.c,v 1.16 1997/08/19 04:42:54 vadim Exp $ * * INTERFACE ROUTINES * heap_creatr() - Create an uncataloged heap relation @@ -72,57 +72,57 @@ static FormData_pg_attribute a1 = { 0xffffffff, {"ctid"}, 27l, 0l, 0l, 0l, sizeof (ItemPointerData), - SelfItemPointerAttributeNumber, 0, '\0', '\001', 0l, 'i' + SelfItemPointerAttributeNumber, 0, '\0', '\001', 0l, 'i', '\0' }; static FormData_pg_attribute a2 = { 0xffffffff, {"oid"}, 26l, 0l, 0l, 0l, sizeof(Oid), - ObjectIdAttributeNumber, 0, '\001', '\001', 0l, 'i' + ObjectIdAttributeNumber, 0, '\001', '\001', 0l, 'i','\0' }; static FormData_pg_attribute a3 = { 0xffffffff, {"xmin"}, 28l, 0l, 0l, 0l, sizeof (TransactionId), - MinTransactionIdAttributeNumber, 0, '\0', '\001', 0l, 'i', + MinTransactionIdAttributeNumber, 0, '\0', '\001', 0l, 'i', '\0' }; static FormData_pg_attribute a4 = { 0xffffffff, {"cmin"}, 29l, 0l, 0l, 0l, sizeof (CommandId), - MinCommandIdAttributeNumber, 0, '\001', '\001', 0l, 's' + MinCommandIdAttributeNumber, 0, '\001', '\001', 0l, 's', '\0' }; static FormData_pg_attribute a5 = { 0xffffffff, {"xmax"}, 28l, 0l, 0l, 0l, sizeof (TransactionId), - MaxTransactionIdAttributeNumber, 0, '\0', '\001', 0l, 'i' + MaxTransactionIdAttributeNumber, 0, '\0', '\001', 0l, 'i', '\0' }; static FormData_pg_attribute a6 = { 0xffffffff, {"cmax"}, 29l, 0l, 0l, 0l, sizeof (CommandId), - MaxCommandIdAttributeNumber, 0, '\001', '\001', 0l, 's' + MaxCommandIdAttributeNumber, 0, '\001', '\001', 0l, 's', '\0' }; static FormData_pg_attribute a7 = { 0xffffffff, {"chain"}, 27l, 0l, 0l, 0l, sizeof (ItemPointerData), - ChainItemPointerAttributeNumber, 0, '\0', '\001', 0l, 'i', + ChainItemPointerAttributeNumber, 0, '\0', '\001', 0l, 'i', '\0' }; static FormData_pg_attribute a8 = { 0xffffffff, {"anchor"}, 27l, 0l, 0l, 0l, sizeof (ItemPointerData), - AnchorItemPointerAttributeNumber, 0, '\0', '\001', 0l, 'i' + AnchorItemPointerAttributeNumber, 0, '\0', '\001', 0l, 'i', '\0' }; static FormData_pg_attribute a9 = { 0xffffffff, {"tmin"}, 20l, 0l, 0l, 0l, sizeof (AbsoluteTime), - MinAbsoluteTimeAttributeNumber, 0, '\001', '\001', 0l, 'i' + MinAbsoluteTimeAttributeNumber, 0, '\001', '\001', 0l, 'i', '\0' }; static FormData_pg_attribute a10 = { 0xffffffff, {"tmax"}, 20l, 0l, 0l, 0l, sizeof (AbsoluteTime), - MaxAbsoluteTimeAttributeNumber, 0, '\001', '\001', 0l, 'i' + MaxAbsoluteTimeAttributeNumber, 0, '\001', '\001', 0l, 'i', '\0' }; static FormData_pg_attribute a11 = { 0xffffffff, {"vtype"}, 18l, 0l, 0l, 0l, sizeof (char), - VersionTypeAttributeNumber, 0, '\001', '\001', 0l, 'c' + VersionTypeAttributeNumber, 0, '\001', '\001', 0l, 'c', '\0' }; static AttributeTupleForm HeapAtt[] = @@ -565,7 +565,6 @@ AddNewAttributeTuples(Oid new_rel_oid, (char *) *dpp); heap_insert(rdesc, tup); - if (hasindex) CatalogIndexInsert(idescs, Num_pg_attr_indices, rdesc, tup); diff --git a/src/backend/catalog/index.c b/src/backend/catalog/index.c index 89497ee6eb..8c453f6047 100644 --- a/src/backend/catalog/index.c +++ b/src/backend/catalog/index.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/catalog/index.c,v 1.16 1997/08/12 22:52:09 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/catalog/index.c,v 1.17 1997/08/19 04:42:55 vadim Exp $ * * * INTERFACE ROUTINES @@ -112,17 +112,17 @@ static void DefaultBuild(Relation heapRelation, Relation indexRelation, * ---------------------------------------------------------------- */ static FormData_pg_attribute sysatts[] = { - { 0l, {"ctid"}, 27l, 0l, 0l, 0l, 6, -1, 0, '\0', '\001', 0l, 'i' }, - { 0l, {"oid"}, 26l, 0l, 0l, 0l, 4, -2, 0, '\001', '\001', 0l, 'i' }, - { 0l, {"xmin"}, 28l, 0l, 0l, 0l, 5, -3, 0, '\0', '\001', 0l, 'i' }, - { 0l, {"cmin"}, 29l, 0l, 0l, 0l, 1, -4, 0, '\001', '\001', 0l, 's' }, - { 0l, {"xmax"}, 28l, 0l, 0l, 0l, 5, -5, 0, '\0', '\001', 0l, 'i' }, - { 0l, {"cmax"}, 29l, 0l, 0l, 0l, 1, -6, 0, '\001', '\001', 0l, 's' }, - { 0l, {"chain"}, 27l, 0l, 0l, 0l, 6, -7, 0, '\0', '\001', 0l, 'i' }, - { 0l, {"anchor"}, 27l, 0l, 0l, 0l, 6, -8, 0, '\0', '\001', 0l, 'i' }, - { 0l, {"tmin"}, 20l, 0l, 0l, 0l, 4, -9, 0, '\001', '\001', 0l, 'i' }, - { 0l, {"tmax"}, 20l, 0l, 0l, 0l, 4, -10, 0, '\001', '\001', 0l, 'i' }, - { 0l, {"vtype"}, 18l, 0l, 0l, 0l, 1, -11, 0, '\001', '\001', 0l, 'c' }, + { 0l, {"ctid"}, 27l, 0l, 0l, 0l, 6, -1, 0, '\0', '\001', 0l, 'i', '\0' }, + { 0l, {"oid"}, 26l, 0l, 0l, 0l, 4, -2, 0, '\001', '\001', 0l, 'i', '\0' }, + { 0l, {"xmin"}, 28l, 0l, 0l, 0l, 5, -3, 0, '\0', '\001', 0l, 'i', '\0' }, + { 0l, {"cmin"}, 29l, 0l, 0l, 0l, 1, -4, 0, '\001', '\001', 0l, 's', '\0' }, + { 0l, {"xmax"}, 28l, 0l, 0l, 0l, 5, -5, 0, '\0', '\001', 0l, 'i', '\0' }, + { 0l, {"cmax"}, 29l, 0l, 0l, 0l, 1, -6, 0, '\001', '\001', 0l, 's', '\0' }, + { 0l, {"chain"}, 27l, 0l, 0l, 0l, 6, -7, 0, '\0', '\001', 0l, 'i', '\0' }, + { 0l, {"anchor"}, 27l, 0l, 0l, 0l, 6, -8, 0, '\0', '\001', 0l, 'i', '\0' }, + { 0l, {"tmin"}, 20l, 0l, 0l, 0l, 4, -9, 0, '\001', '\001', 0l, 'i', '\0' }, + { 0l, {"tmax"}, 20l, 0l, 0l, 0l, 4, -10, 0, '\001', '\001', 0l, 'i', '\0' }, + { 0l, {"vtype"}, 18l, 0l, 0l, 0l, 1, -11, 0, '\001', '\001', 0l, 'c', '\0' }, }; /* ---------------------------------------------------------------- diff --git a/src/backend/commands/command.c b/src/backend/commands/command.c index 74941993e4..6cbe9bda76 100644 --- a/src/backend/commands/command.c +++ b/src/backend/commands/command.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/commands/Attic/command.c,v 1.9 1997/08/18 20:52:11 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/commands/Attic/command.c,v 1.10 1997/08/19 04:43:27 vadim Exp $ * * NOTES * The PortalExecutorHeapMemory crap needs to be eliminated @@ -279,7 +279,11 @@ PerformAddAttribute(char *relationName, elog(WARN, "PerformAddAttribute: you do not own class \"%s\"", relationName); #endif - + /* + * we can't add a not null attribute + */ + if (colDef->is_not_null) + elog(WARN,"Can't add a not null attribute to a existent relation"); /* * if the first element in the 'schema' list is a "*" then we are * supposed to add this attribute to all classes that inherit from @@ -454,6 +458,7 @@ PerformAddAttribute(char *relationName, attribute->attcacheoff = -1; attribute->attisset = (bool) (form->typtype == 'c'); attribute->attalign = form->typalign; + attribute->attnotnull = false; heap_insert(attrdesc, attributeTuple); if (hasindex) diff --git a/src/backend/commands/copy.c b/src/backend/commands/copy.c index b44414000b..ee7948ac42 100644 --- a/src/backend/commands/copy.c +++ b/src/backend/commands/copy.c @@ -6,7 +6,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/commands/copy.c,v 1.25 1997/08/18 02:14:34 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/commands/copy.c,v 1.26 1997/08/19 04:43:28 vadim Exp $ * *------------------------------------------------------------------------- */ @@ -602,6 +602,22 @@ CopyFrom(Relation rel, bool binary, bool oids, FILE *fp, char *delim) tuple = heap_formtuple(tupDesc, values, nulls); if (oids) tuple->t_oid = loaded_oid; + + /* ---------------- + * Check the constraints of a tuple + * ---------------- + */ + + if (rel->rd_att->constr && rel->rd_att->constr->has_not_null) + { + int attrChk; + for (attrChk = 1; attrChk <= rel->rd_att->natts; attrChk++) { + if (rel->rd_att->attrs[attrChk-1]->attnotnull && heap_attisnull(tuple,attrChk)) + elog(WARN,"CopyFrom: Fail to add null value in not null attribute %s", + rel->rd_att->attrs[attrChk-1]->attname.data); + } + } + heap_insert(rel, tuple); if (has_index) { diff --git a/src/backend/commands/creatinh.c b/src/backend/commands/creatinh.c index 1113a84e26..28143a993b 100644 --- a/src/backend/commands/creatinh.c +++ b/src/backend/commands/creatinh.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/commands/Attic/creatinh.c,v 1.11 1997/08/18 20:52:16 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/commands/Attic/creatinh.c,v 1.12 1997/08/19 04:43:30 vadim Exp $ * *------------------------------------------------------------------------- */ @@ -276,14 +276,16 @@ MergeAttributes(List *schema, List *supers) AttributeTupleForm attribute = tupleDesc->attrs[attrno]; char *attributeName; char *attributeType; + AttrConstr constraints; HeapTuple tuple; ColumnDef *def; TypeName *typename; /* - * form name and type + * form name, type and constraints */ attributeName = (attribute->attname).data; + constraints.has_not_null = attribute->attnotnull; tuple = SearchSysCacheTuple(TYPOID, ObjectIdGetDatum(attribute->atttypid), @@ -311,7 +313,8 @@ MergeAttributes(List *schema, List *supers) def->colname = pstrdup(attributeName); typename->name = pstrdup(attributeType); def->typename = typename; - partialResult = lcons(def, partialResult); + def->is_not_null = constraints.has_not_null; + partialResult = lcons(def, partialResult); } /* diff --git a/src/backend/executor/execMain.c b/src/backend/executor/execMain.c index b79be5d746..b839ececc0 100644 --- a/src/backend/executor/execMain.c +++ b/src/backend/executor/execMain.c @@ -26,7 +26,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/executor/execMain.c,v 1.15 1997/08/18 20:52:25 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/executor/execMain.c,v 1.16 1997/08/19 04:43:45 vadim Exp $ * *------------------------------------------------------------------------- */ @@ -401,6 +401,7 @@ InitPlan(CmdType operation, Query *parseTree, Plan *plan, EState *estate) if (resultRelation != 0 && operation != CMD_SELECT) { /* ---------------- * if we have a result relation, open it and + * initialize the result relation info stuff. * ---------------- */ @@ -911,6 +912,21 @@ ExecAppend(TupleTableSlot *slot, */ /* ---------------- + * Check the constraints of a tuple + * ---------------- + */ + + if (resultRelationDesc->rd_att->constr && resultRelationDesc->rd_att->constr->has_not_null) + { + int attrChk; + for (attrChk = 1; attrChk <= resultRelationDesc->rd_att->natts; attrChk++) { + if (resultRelationDesc->rd_att->attrs[attrChk-1]->attnotnull && heap_attisnull(tuple,attrChk)) + elog(WARN,"ExecAppend: Fail to add null value in not null attribute %s", + resultRelationDesc->rd_att->attrs[attrChk-1]->attname.data); + } + } + + /* ---------------- * insert the tuple * ---------------- */ @@ -1031,6 +1047,21 @@ ExecReplace(TupleTableSlot *slot, */ /* ---------------- + * Check the constraints of a tuple + * ---------------- + */ + + if (resultRelationDesc->rd_att->constr && resultRelationDesc->rd_att->constr->has_not_null) + { + int attrChk; + for (attrChk = 1; attrChk <= resultRelationDesc->rd_att->natts; attrChk++) { + if (resultRelationDesc->rd_att->attrs[attrChk-1]->attnotnull && heap_attisnull(tuple,attrChk)) + elog(WARN,"ExecReplace: Fail to update null value in not null attribute %s", + resultRelationDesc->rd_att->attrs[attrChk-1]->attname.data); + } + } + + /* ---------------- * replace the heap tuple * * Don't want to continue if our heap_replace didn't actually diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y index 32d32e6b53..0cd06b75dc 100644 --- a/src/backend/parser/gram.y +++ b/src/backend/parser/gram.y @@ -10,7 +10,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 1.35 1997/08/12 20:15:33 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 1.36 1997/08/19 04:44:01 vadim Exp $ * * HISTORY * AUTHOR DATE MAJOR EVENT @@ -135,7 +135,7 @@ static Node *makeA_Expr(int oper, char *opname, Node *lexpr, Node *rexpr); def_list, opt_indirection, group_clause, groupby_list %type opt_inh_star, opt_binary, opt_instead, opt_with_copy, - index_opt_unique, opt_verbose, opt_analyze + index_opt_unique, opt_verbose, opt_analyze, opt_null %type copy_dirn, archive_type, OptArchiveType, OptArchiveLocation, def_type, opt_direction, remove_type, opt_column, event @@ -333,14 +333,20 @@ AddAttrStmt: ALTER TABLE relation_name opt_inh_star ADD COLUMN columnDef } ; -columnDef: Id Typename +columnDef: Id Typename opt_null { $$ = makeNode(ColumnDef); $$->colname = $1; $$->typename = $2; + $$->is_not_null = $3; } ; +opt_null: PNULL { $$ = false; } + | NOT PNULL { $$ = true; } + | NOTNULL { $$ = true; } + | /* EMPTY */ { $$ = false; } + ; /***************************************************************************** * diff --git a/src/backend/utils/cache/relcache.c b/src/backend/utils/cache/relcache.c index d7bb7e79fa..585d82fc12 100644 --- a/src/backend/utils/cache/relcache.c +++ b/src/backend/utils/cache/relcache.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/cache/relcache.c,v 1.13 1997/08/18 20:53:48 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/cache/relcache.c,v 1.14 1997/08/19 04:44:21 vadim Exp $ * *------------------------------------------------------------------------- */ @@ -506,7 +506,7 @@ build_tupdesc_seq(RelationBuildDescInfo buildinfo, HeapScanDesc pg_attribute_scan; ScanKeyData key; int need; - + /* ---------------- * form a scan key * ---------------- @@ -529,6 +529,10 @@ build_tupdesc_seq(RelationBuildDescInfo buildinfo, * ---------------- */ need = natts; + if (!relation->rd_att->constr) + relation->rd_att->constr = (AttrConstr *) palloc(sizeof(struct attrConstr)); + relation->rd_att->constr->has_not_null = false; + pg_attribute_tuple = heap_getnext(pg_attribute_scan, 0, (Buffer *) NULL); while (HeapTupleIsValid(pg_attribute_tuple) && need > 0) { attp = (AttributeTupleForm) GETSTRUCT(pg_attribute_tuple); @@ -540,6 +544,11 @@ build_tupdesc_seq(RelationBuildDescInfo buildinfo, memmove((char *) (relation->rd_att->attrs[attp->attnum - 1]), (char *) attp, ATTRIBUTE_TUPLE_SIZE); + + /* Update if this attribute have a constraint */ + if (attp->attnotnull) + relation->rd_att->constr->has_not_null = true; + need--; } pg_attribute_tuple = heap_getnext(pg_attribute_scan, @@ -567,6 +576,10 @@ build_tupdesc_ind(RelationBuildDescInfo buildinfo, Relation attrel; HeapTuple atttup; int i; + + if (!relation->rd_att->constr) + relation->rd_att->constr = (AttrConstr *) palloc(sizeof(struct attrConstr)); + relation->rd_att->constr->has_not_null = false; attrel = heap_openr(AttributeRelationName); @@ -585,6 +598,10 @@ build_tupdesc_ind(RelationBuildDescInfo buildinfo, memmove((char *) (relation->rd_att->attrs[i - 1]), (char *) attp, ATTRIBUTE_TUPLE_SIZE); + + /* Update if this attribute have a constraint */ + if (attp->attnotnull) + relation->rd_att->constr->has_not_null = true; } heap_close(attrel); @@ -1229,7 +1246,9 @@ RelationFlushRelation(Relation *relationPtr, for (i = 0; i < relation->rd_rel->relnatts; i++, p++) pfree (*p); pfree (relation->rd_att->attrs); - pfree (relation->rd_att); + if (relation->rd_att->constr) + pfree (relation->rd_att->constr); + pfree (relation->rd_att); #if 0 if (relation->rd_rules) { diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c index 1af318a6b0..efd411d20d 100644 --- a/src/bin/pg_dump/pg_dump.c +++ b/src/bin/pg_dump/pg_dump.c @@ -21,7 +21,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_dump.c,v 1.36 1997/07/28 23:53:54 momjian Exp $ + * $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_dump.c,v 1.37 1997/08/19 04:44:38 vadim Exp $ * * Modifications - 6/10/96 - dave@bensoft.com - version 1.13.dhb * @@ -798,6 +798,8 @@ clearTableInfo(TableInfo *tblinfo, int numTables) if ( tblinfo[i].sequence ) continue; + if (tblinfo[i].notnull) free (tblinfo[i].notnull); + /* Process Attributes */ for(j=0;j 0 order by attnum", @@ -1272,12 +1275,14 @@ getTableAttrs(TableInfo* tblinfo, int numTables) i_attname = PQfnumber(res,"attname"); i_typname = PQfnumber(res,"typname"); i_attlen = PQfnumber(res,"attlen"); + i_attnotnull = PQfnumber(res,"attnotnull"); tblinfo[i].numatts = ntups; tblinfo[i].attnames = (char**) malloc( ntups * sizeof(char*)); tblinfo[i].typnames = (char**) malloc( ntups * sizeof(char*)); tblinfo[i].attlen = (int*) malloc(ntups * sizeof(int)); tblinfo[i].inhAttrs = (int*) malloc (ntups * sizeof(int)); + tblinfo[i].notnull = (bool*) malloc (ntups * sizeof(bool)); tblinfo[i].parentRels = NULL; tblinfo[i].numParents = 0; for (j=0;j 0) tblinfo[i].attlen[j] = tblinfo[i].attlen[j] - 4; tblinfo[i].inhAttrs[j] = 0; /* this flag is set in flagInhAttrs()*/ + tblinfo[i].notnull[j] = PQgetvalue(res,j,i_attnotnull)[0]=='t'?true:false; } PQclear(res); } @@ -1766,6 +1772,7 @@ void dumpTables(FILE* fout, TableInfo *tblinfo, int numTables, tblinfo[i].typnames[j]); actual_atts++; } + sprintf(q, "%s%s NULL", q, tblinfo[i].notnull[j]?" NOT":""); } } diff --git a/src/bin/pg_dump/pg_dump.h b/src/bin/pg_dump/pg_dump.h index e65eb6e5e7..a8df2db03e 100644 --- a/src/bin/pg_dump/pg_dump.h +++ b/src/bin/pg_dump/pg_dump.h @@ -5,7 +5,7 @@ * * Copyright (c) 1994, Regents of the University of California * - * $Id: pg_dump.h,v 1.17 1997/07/23 17:15:13 momjian Exp $ + * $Id: pg_dump.h,v 1.18 1997/08/19 04:44:40 vadim Exp $ * * Modifications - 6/12/96 - dave@bensoft.com - version 1.13.dhb.2 * @@ -70,6 +70,7 @@ typedef struct _tableInfo { an inherited attribute */ char **attnames; /* the attribute names */ char **typnames; /* fill out attributes */ + bool *notnull; /* Not null constraints of an attribute */ int numParents; /* number of (immediate) parent supertables */ char **parentRels; /* names of parent relations, NULL if numParents == 0 */ diff --git a/src/bin/psql/psql.c b/src/bin/psql/psql.c index e8ef009229..b8947606be 100644 --- a/src/bin/psql/psql.c +++ b/src/bin/psql/psql.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/bin/psql/Attic/psql.c,v 1.82 1997/08/17 00:48:45 scrappy Exp $ + * $Header: /cvsroot/pgsql/src/bin/psql/Attic/psql.c,v 1.83 1997/08/19 04:45:02 vadim Exp $ * *------------------------------------------------------------------------- */ @@ -422,7 +422,7 @@ tableDesc(PsqlSettings * ps, char *table) table[i] = tolower(table[i]); descbuf[0] = '\0'; - strcat(descbuf, "SELECT a.attnum, a.attname, t.typname, a.attlen"); + strcat(descbuf, "SELECT a.attnum, a.attname, t.typname, a.attlen, a.attnotnull"); strcat(descbuf, " FROM pg_class c, pg_attribute a, pg_type t "); strcat(descbuf, " WHERE c.relname = '"); strcat(descbuf, table); diff --git a/src/bin/psql/psqlHelp.h b/src/bin/psql/psqlHelp.h index e3b2ed0cf8..a88918669e 100644 --- a/src/bin/psql/psqlHelp.h +++ b/src/bin/psql/psqlHelp.h @@ -5,7 +5,7 @@ * * Copyright (c) 1994, Regents of the University of California * - * $Id: psqlHelp.h,v 1.20 1997/07/24 19:11:53 momjian Exp $ + * $Id: psqlHelp.h,v 1.21 1997/08/19 04:45:04 vadim Exp $ * *------------------------------------------------------------------------- */ @@ -76,7 +76,7 @@ static struct _helpStruct QL_HELP[] = { "create sequence \n\t[increment ]\n\t[start ]\n\t[minvalue ]\n\t[maxvalue ]\n\t[cache ]\n\t[cycle];"}, { "create table", "create a new table", - "create table ( ,... )\n\t[inherits (,...\n\tarchive=\n\tstore=\n\tarch_store=];"}, + "create table ( [[not] null],... )\n\t[inherits (,...\n\tarchive=\n\tstore=\n\tarch_store=];"}, { "create type", "create a new user-defined base data type", "create type (\n\tinternallength = ( | variable),\n\t[externallength = (|variable),]\n\tinput=, output = \n\t[,element = ][,delimiter=][,default=\'\']\n\t[,send = ][,receive = ][,passedbyvalue]);"}, diff --git a/src/include/access/tupdesc.h b/src/include/access/tupdesc.h index 34d57b70e9..cad6d01abe 100644 --- a/src/include/access/tupdesc.h +++ b/src/include/access/tupdesc.h @@ -6,7 +6,7 @@ * * Copyright (c) 1994, Regents of the University of California * - * $Id: tupdesc.h,v 1.5 1996/11/04 07:45:28 scrappy Exp $ + * $Id: tupdesc.h,v 1.6 1997/08/19 04:45:20 vadim Exp $ * *------------------------------------------------------------------------- */ @@ -17,6 +17,13 @@ #include #include +typedef struct attrConstr { +/*------------------------------------------------------------------------ + This structure contains flags to the constraints of a tuple + ------------------------------------------------------------------------*/ + bool has_not_null; +} AttrConstr; + typedef struct tupleDesc { /*------------------------------------------------------------------------ This structure contains all the attribute information (i.e. from Class @@ -26,6 +33,7 @@ typedef struct tupleDesc { /* Number of attributes in the tuple */ AttributeTupleForm *attrs; /* attrs[N] is a pointer to the description of Attribute Number N+1. */ + AttrConstr *constr; } *TupleDesc; extern TupleDesc CreateTemplateTupleDesc(int natts); diff --git a/src/include/catalog/pg_attribute.h b/src/include/catalog/pg_attribute.h index 4af152572c..a5fed2a422 100644 --- a/src/include/catalog/pg_attribute.h +++ b/src/include/catalog/pg_attribute.h @@ -7,7 +7,7 @@ * * Copyright (c) 1994, Regents of the University of California * - * $Id: pg_attribute.h,v 1.7 1997/01/14 01:41:46 momjian Exp $ + * $Id: pg_attribute.h,v 1.8 1997/08/19 04:45:58 vadim Exp $ * * NOTES * the genbki.sh script reads this file and generates .bki @@ -93,6 +93,8 @@ CATALOG(pg_attribute) BOOTSTRAP { attribute. See atttypid above. See struct TypeTupleFormData for definition. */ + bool attnotnull; + /* This flag represents the "NOT NULL" constraint */ } FormData_pg_attribute; /* @@ -100,7 +102,7 @@ CATALOG(pg_attribute) BOOTSTRAP { * the size of the C struct is not the same as the size of the tuple.) */ #define ATTRIBUTE_TUPLE_SIZE \ - (offsetof(FormData_pg_attribute,attalign) + sizeof(char)) + (offsetof(FormData_pg_attribute,attnotnull) + sizeof(char)) /* ---------------- * Form_pg_attribute corresponds to a pointer to a tuple with @@ -114,7 +116,7 @@ typedef FormData_pg_attribute *AttributeTupleForm; * ---------------- */ -#define Natts_pg_attribute 16 +#define Natts_pg_attribute 17 #define Anum_pg_attribute_attrelid 1 #define Anum_pg_attribute_attname 2 #define Anum_pg_attribute_atttypid 3 @@ -131,6 +133,7 @@ typedef FormData_pg_attribute *AttributeTupleForm; #define Anum_pg_attribute_attcacheoff 14 #define Anum_pg_attribute_attisset 15 #define Anum_pg_attribute_attalign 16 +#define Anum_pg_attribute_attnotnull 17 /* ---------------- @@ -158,342 +161,344 @@ typedef FormData_pg_attribute *AttributeTupleForm; * ---------------- */ #define Schema_pg_type \ -{ 1247l, {"typname"}, 19l, 0l, 0l, 0l, NAMEDATALEN, 1, 0, '\0', '\001', 0l, 0l, -1l, '\0', 'i' }, \ -{ 1247l, {"typowner"}, 26l, 0l, 0l, 0l, 4, 2, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'i' }, \ -{ 1247l, {"typlen"}, 21l, 0l, 0l, 0l, 2, 3, 0, '\001', '\001', 0l, 0l, -1l, '\0', 's' }, \ -{ 1247l, {"typprtlen"}, 21l, 0l, 0l, 0l, 2, 4, 0, '\001', '\001', 0l, 0l, -1l, '\0', 's' }, \ -{ 1247l, {"typbyval"}, 16l, 0l, 0l, 0l, 1, 5, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'c' }, \ -{ 1247l, {"typtype"}, 18l, 0l, 0l, 0l, 1, 6, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'c' }, \ -{ 1247l, {"typisdefined"}, 16l, 0l, 0l, 0l, 1, 7, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'c' }, \ -{ 1247l, {"typdelim"}, 18l, 0l, 0l, 0l, 1, 8, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'c' }, \ -{ 1247l, {"typrelid"}, 26l, 0l, 0l, 0l, 4, 9, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'i' }, \ -{ 1247l, {"typelem"}, 26l, 0l, 0l, 0l, 4, 10, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'i' }, \ -{ 1247l, {"typinput"}, 24l, 0l, 0l, 0l, 4, 11, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'i' }, \ -{ 1247l, {"typoutput"}, 24l, 0l, 0l, 0l, 4, 12, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'i' }, \ -{ 1247l, {"typreceive"}, 24l, 0l, 0l, 0l, 4, 13, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'i' }, \ -{ 1247l, {"typsend"}, 24l, 0l, 0l, 0l, 4, 14, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'i' }, \ -{ 1247l, {"typalign"}, 18l, 0l, 0l, 0l, 1, 15, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'c' }, \ -{ 1247l, {"typdefault"}, 25l, 0l, 0l, 0l, -1, 16, 0, '\0', '\001', 0l, 0l, -1l, '\0', 'i' } +{ 1247l, {"typname"}, 19l, 0l, 0l, 0l, NAMEDATALEN, 1, 0, '\0', '\001', 0l, 0l, -1l, '\0', 'i', '\0' }, \ +{ 1247l, {"typowner"}, 26l, 0l, 0l, 0l, 4, 2, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'i', '\0' }, \ +{ 1247l, {"typlen"}, 21l, 0l, 0l, 0l, 2, 3, 0, '\001', '\001', 0l, 0l, -1l, '\0', 's', '\0' }, \ +{ 1247l, {"typprtlen"}, 21l, 0l, 0l, 0l, 2, 4, 0, '\001', '\001', 0l, 0l, -1l, '\0', 's', '\0' }, \ +{ 1247l, {"typbyval"}, 16l, 0l, 0l, 0l, 1, 5, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'c', '\0' }, \ +{ 1247l, {"typtype"}, 18l, 0l, 0l, 0l, 1, 6, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'c', '\0' }, \ +{ 1247l, {"typisdefined"}, 16l, 0l, 0l, 0l, 1, 7, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'c', '\0' }, \ +{ 1247l, {"typdelim"}, 18l, 0l, 0l, 0l, 1, 8, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'c', '\0' }, \ +{ 1247l, {"typrelid"}, 26l, 0l, 0l, 0l, 4, 9, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'i', '\0' }, \ +{ 1247l, {"typelem"}, 26l, 0l, 0l, 0l, 4, 10, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'i', '\0' }, \ +{ 1247l, {"typinput"}, 24l, 0l, 0l, 0l, 4, 11, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'i', '\0' }, \ +{ 1247l, {"typoutput"}, 24l, 0l, 0l, 0l, 4, 12, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'i', '\0' }, \ +{ 1247l, {"typreceive"}, 24l, 0l, 0l, 0l, 4, 13, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'i', '\0' }, \ +{ 1247l, {"typsend"}, 24l, 0l, 0l, 0l, 4, 14, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'i', '\0' }, \ +{ 1247l, {"typalign"}, 18l, 0l, 0l, 0l, 1, 15, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'c', '\0' }, \ +{ 1247l, {"typdefault"}, 25l, 0l, 0l, 0l, -1, 16, 0, '\0', '\001', 0l, 0l, -1l, '\0', 'i', '\0' } -DATA(insert OID = 0 ( 1247 typname 19 0 0 0 NAMEDATALEN 1 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1247 typowner 26 0 0 0 4 2 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1247 typlen 21 0 0 0 2 3 0 t t 0 0 -1 f s)); -DATA(insert OID = 0 ( 1247 typprtlen 21 0 0 0 2 4 0 t t 0 0 -1 f s)); -DATA(insert OID = 0 ( 1247 typbyval 16 0 0 0 1 5 0 t t 0 0 -1 f c)); -DATA(insert OID = 0 ( 1247 typtype 18 0 0 0 1 6 0 t t 0 0 -1 f c)); -DATA(insert OID = 0 ( 1247 typisdefined 16 0 0 0 1 7 0 t t 0 0 -1 f c)); -DATA(insert OID = 0 ( 1247 typdelim 18 0 0 0 1 8 0 t t 0 0 -1 f c)); -DATA(insert OID = 0 ( 1247 typrelid 26 0 0 0 4 9 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1247 typelem 26 0 0 0 4 10 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1247 typinput 24 0 0 0 4 11 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1247 typoutput 24 0 0 0 4 12 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1247 typreceive 24 0 0 0 4 13 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1247 typsend 24 0 0 0 4 14 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1247 typalign 18 0 0 0 1 15 0 t t 0 0 -1 f c)); -DATA(insert OID = 0 ( 1247 typdefault 25 0 0 0 -1 16 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1247 ctid 27 0 0 0 6 -1 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1247 oid 26 0 0 0 4 -2 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1247 xmin 28 0 0 0 4 -3 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1247 cmin 29 0 0 0 2 -4 0 t t 0 0 -1 f s)); -DATA(insert OID = 0 ( 1247 xmax 28 0 0 0 4 -5 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1247 cmax 29 0 0 0 2 -6 0 t t 0 0 -1 f s)); -DATA(insert OID = 0 ( 1247 chain 27 0 0 0 6 -7 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1247 anchor 27 0 0 0 6 -8 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1247 tmax 702 0 0 0 4 -9 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1247 tmin 702 0 0 0 4 -10 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1247 vtype 18 0 0 0 1 -11 0 t t 0 0 -1 f c)); +DATA(insert OID = 0 ( 1247 typname 19 0 0 0 NAMEDATALEN 1 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1247 typowner 26 0 0 0 4 2 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1247 typlen 21 0 0 0 2 3 0 t t 0 0 -1 f s f)); +DATA(insert OID = 0 ( 1247 typprtlen 21 0 0 0 2 4 0 t t 0 0 -1 f s f)); +DATA(insert OID = 0 ( 1247 typbyval 16 0 0 0 1 5 0 t t 0 0 -1 f c f)); +DATA(insert OID = 0 ( 1247 typtype 18 0 0 0 1 6 0 t t 0 0 -1 f c f)); +DATA(insert OID = 0 ( 1247 typisdefined 16 0 0 0 1 7 0 t t 0 0 -1 f c f)); +DATA(insert OID = 0 ( 1247 typdelim 18 0 0 0 1 8 0 t t 0 0 -1 f c f)); +DATA(insert OID = 0 ( 1247 typrelid 26 0 0 0 4 9 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1247 typelem 26 0 0 0 4 10 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1247 typinput 24 0 0 0 4 11 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1247 typoutput 24 0 0 0 4 12 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1247 typreceive 24 0 0 0 4 13 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1247 typsend 24 0 0 0 4 14 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1247 typalign 18 0 0 0 1 15 0 t t 0 0 -1 f c f)); +DATA(insert OID = 0 ( 1247 typdefault 25 0 0 0 -1 16 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1247 ctid 27 0 0 0 6 -1 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1247 oid 26 0 0 0 4 -2 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1247 xmin 28 0 0 0 4 -3 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1247 cmin 29 0 0 0 2 -4 0 t t 0 0 -1 f s f)); +DATA(insert OID = 0 ( 1247 xmax 28 0 0 0 4 -5 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1247 cmax 29 0 0 0 2 -6 0 t t 0 0 -1 f s f)); +DATA(insert OID = 0 ( 1247 chain 27 0 0 0 6 -7 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1247 anchor 27 0 0 0 6 -8 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1247 tmax 702 0 0 0 4 -9 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1247 tmin 702 0 0 0 4 -10 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1247 vtype 18 0 0 0 1 -11 0 t t 0 0 -1 f c f)); /* ---------------- * pg_database * ---------------- */ -DATA(insert OID = 0 ( 1262 datname 19 0 0 0 NAMEDATALEN 1 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1262 datdba 26 0 0 0 4 2 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1262 datpath 25 0 0 0 -1 3 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1262 ctid 27 0 0 0 6 -1 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1262 oid 26 0 0 0 4 -2 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1262 xmin 28 0 0 0 4 -3 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1262 cmin 29 0 0 0 2 -4 0 t t 0 0 -1 f s)); -DATA(insert OID = 0 ( 1262 xmax 28 0 0 0 4 -5 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1262 cmax 29 0 0 0 2 -6 0 t t 0 0 -1 f s)); -DATA(insert OID = 0 ( 1262 chain 27 0 0 0 6 -7 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1262 anchor 27 0 0 0 6 -8 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1262 tmax 702 0 0 0 4 -9 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1262 tmin 702 0 0 0 4 -10 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1262 vtype 18 0 0 0 1 -11 0 t t 0 0 -1 f c)); +DATA(insert OID = 0 ( 1262 datname 19 0 0 0 NAMEDATALEN 1 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1262 datdba 26 0 0 0 4 2 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1262 datpath 25 0 0 0 -1 3 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1262 ctid 27 0 0 0 6 -1 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1262 oid 26 0 0 0 4 -2 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1262 xmin 28 0 0 0 4 -3 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1262 cmin 29 0 0 0 2 -4 0 t t 0 0 -1 f s f)); +DATA(insert OID = 0 ( 1262 xmax 28 0 0 0 4 -5 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1262 cmax 29 0 0 0 2 -6 0 t t 0 0 -1 f s f)); +DATA(insert OID = 0 ( 1262 chain 27 0 0 0 6 -7 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1262 anchor 27 0 0 0 6 -8 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1262 tmax 702 0 0 0 4 -9 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1262 tmin 702 0 0 0 4 -10 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1262 vtype 18 0 0 0 1 -11 0 t t 0 0 -1 f c f)); /* ---------------- * pg_demon * ---------------- */ -DATA(insert OID = 0 ( 1251 demserid 26 0 0 0 4 1 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1251 demname 19 0 0 0 NAMEDATALEN 2 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1251 demowner 26 0 0 0 4 3 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1251 demcode 24 0 0 0 4 4 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1251 ctid 27 0 0 0 6 -1 0 f t 0 0 -1 f i)); +DATA(insert OID = 0 ( 1251 demserid 26 0 0 0 4 1 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1251 demname 19 0 0 0 NAMEDATALEN 2 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1251 demowner 26 0 0 0 4 3 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1251 demcode 24 0 0 0 4 4 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1251 ctid 27 0 0 0 6 -1 0 f t 0 0 -1 f i f)); -DATA(insert OID = 0 ( 1251 oid 26 0 0 0 4 -2 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1251 xmin 28 0 0 0 4 -3 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1251 cmin 29 0 0 0 2 -4 0 t t 0 0 -1 f s)); -DATA(insert OID = 0 ( 1251 xmax 28 0 0 0 4 -5 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1251 cmax 29 0 0 0 2 -6 0 t t 0 0 -1 f s)); -DATA(insert OID = 0 ( 1251 chain 27 0 0 0 6 -7 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1251 anchor 27 0 0 0 6 -8 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1251 tmax 702 0 0 0 4 -9 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1251 tmin 702 0 0 0 4 -10 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1251 vtype 18 0 0 0 1 -11 0 t t 0 0 -1 f c)); +DATA(insert OID = 0 ( 1251 oid 26 0 0 0 4 -2 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1251 xmin 28 0 0 0 4 -3 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1251 cmin 29 0 0 0 2 -4 0 t t 0 0 -1 f s f)); +DATA(insert OID = 0 ( 1251 xmax 28 0 0 0 4 -5 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1251 cmax 29 0 0 0 2 -6 0 t t 0 0 -1 f s f)); +DATA(insert OID = 0 ( 1251 chain 27 0 0 0 6 -7 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1251 anchor 27 0 0 0 6 -8 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1251 tmax 702 0 0 0 4 -9 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1251 tmin 702 0 0 0 4 -10 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1251 vtype 18 0 0 0 1 -11 0 t t 0 0 -1 f c f)); /* ---------------- * pg_proc * ---------------- */ #define Schema_pg_proc \ -{ 1255l, {"proname"}, 19l, 0l, 0l, 0l, NAMEDATALEN, 1, 0, '\0', '\001', 0l, 0l, -1l, '\0', 'i' }, \ -{ 1255l, {"proowner"}, 26l, 0l, 0l, 0l, 4, 2, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'i' }, \ -{ 1255l, {"prolang"}, 26l, 0l, 0l, 0l, 4, 3, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'i' }, \ -{ 1255l, {"proisinh"}, 16l, 0l, 0l, 0l, 1, 4, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'c' }, \ -{ 1255l, {"proistrusted"}, 16l, 0l, 0l, 0l, 1, 5, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'c' }, \ -{ 1255l, {"proiscachable"}, 16l, 0l, 0l, 0l, 1, 6, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'c' }, \ -{ 1255l, {"pronargs"}, 21l, 0l, 0l, 0l, 2, 7, 0, '\001', '\001', 0l, 0l, -1l, '\0', 's' }, \ -{ 1255l, {"proretset"}, 16l, 0l, 0l, 0l, 1, 8, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'c' }, \ -{ 1255l, {"prorettype"}, 26l, 0l, 0l, 0l, 4, 9, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'i' }, \ +{ 1255l, {"proname"}, 19l, 0l, 0l, 0l, NAMEDATALEN, 1, 0, '\0', '\001', 0l, 0l, -1l, '\0', 'i', '\0' }, \ +{ 1255l, {"proowner"}, 26l, 0l, 0l, 0l, 4, 2, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'i', '\0' }, \ +{ 1255l, {"prolang"}, 26l, 0l, 0l, 0l, 4, 3, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'i', '\0' }, \ +{ 1255l, {"proisinh"}, 16l, 0l, 0l, 0l, 1, 4, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'c', '\0' }, \ +{ 1255l, {"proistrusted"}, 16l, 0l, 0l, 0l, 1, 5, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'c', '\0' }, \ +{ 1255l, {"proiscachable"}, 16l, 0l, 0l, 0l, 1, 6, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'c', '\0' }, \ +{ 1255l, {"pronargs"}, 21l, 0l, 0l, 0l, 2, 7, 0, '\001', '\001', 0l, 0l, -1l, '\0', 's', '\0' }, \ +{ 1255l, {"proretset"}, 16l, 0l, 0l, 0l, 1, 8, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'c', '\0' }, \ +{ 1255l, {"prorettype"}, 26l, 0l, 0l, 0l, 4, 9, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'i', '\0' }, \ { 1255l, {"proargtypes"}, 30l, 0l, 0l, 0l, 32, 10, 0, '\0', '\001', 0l, 0l, \ - -1l, '\0', 'i' }, \ + -1l, '\0', 'i', '\0' }, \ { 1255l, {"probyte_pct"}, 23l, 0l, 0l, 0l, 4, 11, 0, '\001', '\001', 0l, 0l, \ - -1l, '\0', 'i' }, \ -{ 1255l, {"properbyte_cpu"}, 23l, 0l, 0l, 0l, 4, 12, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'i' }, \ -{ 1255l, {"propercall_cpu"}, 23l, 0l, 0l, 0l, 4, 13, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'i' }, \ -{ 1255l, {"prooutin_ratio"}, 23l, 0l, 0l, 0l, 4, 14, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'i' }, \ -{ 1255l, {"prosrc"}, 25l, 0l, 0l, 0l, -1, 15, 0, '\0', '\001', 0l, 0l, -1l, '\0', 'i' }, \ -{ 1255l, {"probin"}, 17l, 0l, 0l, 0l, -1, 16, 0, '\0', '\001', 0l, 0l, -1l, '\0', 'i' } + -1l, '\0', 'i', '\0' }, \ +{ 1255l, {"properbyte_cpu"}, 23l, 0l, 0l, 0l, 4, 12, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'i', '\0' }, \ +{ 1255l, {"propercall_cpu"}, 23l, 0l, 0l, 0l, 4, 13, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'i', '\0' }, \ +{ 1255l, {"prooutin_ratio"}, 23l, 0l, 0l, 0l, 4, 14, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'i', '\0' }, \ +{ 1255l, {"prosrc"}, 25l, 0l, 0l, 0l, -1, 15, 0, '\0', '\001', 0l, 0l, -1l, '\0', 'i', '\0' }, \ +{ 1255l, {"probin"}, 17l, 0l, 0l, 0l, -1, 16, 0, '\0', '\001', 0l, 0l, -1l, '\0', 'i', '\0' } -DATA(insert OID = 0 ( 1255 proname 19 0 0 0 NAMEDATALEN 1 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1255 proowner 26 0 0 0 4 2 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1255 prolang 26 0 0 0 4 3 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1255 proisinh 16 0 0 0 1 4 0 t t 0 0 -1 f c)); -DATA(insert OID = 0 ( 1255 proistrusted 16 0 0 0 1 5 0 t t 0 0 -1 f c)); -DATA(insert OID = 0 ( 1255 proiscachable 16 0 0 0 1 6 0 t t 0 0 -1 f c)); -DATA(insert OID = 0 ( 1255 pronargs 21 0 0 0 2 7 0 t t 0 0 -1 f s)); -DATA(insert OID = 0 ( 1255 proretset 16 0 0 0 1 8 0 t t 0 0 -1 f c)); -DATA(insert OID = 0 ( 1255 prorettype 26 0 0 0 4 9 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1255 proargtypes 30 0 0 0 32 10 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1255 probyte_pct 23 0 0 0 4 11 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1255 properbyte_cpu 23 0 0 0 4 12 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1255 propercall_cpu 23 0 0 0 4 13 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1255 prooutin_ratio 23 0 0 0 4 14 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1255 prosrc 25 0 0 0 -1 15 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1255 probin 17 0 0 0 -1 16 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1255 ctid 27 0 0 0 6 -1 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1255 oid 26 0 0 0 4 -2 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1255 xmin 28 0 0 0 4 -3 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1255 cmin 29 0 0 0 2 -4 0 t t 0 0 -1 f s)); -DATA(insert OID = 0 ( 1255 xmax 28 0 0 0 4 -5 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1255 cmax 29 0 0 0 2 -6 0 t t 0 0 -1 f s)); -DATA(insert OID = 0 ( 1255 chain 27 0 0 0 6 -7 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1255 anchor 27 0 0 0 6 -8 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1255 tmax 702 0 0 0 4 -9 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1255 tmin 702 0 0 0 4 -10 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1255 vtype 18 0 0 0 1 -11 0 t t 0 0 -1 f c)); +DATA(insert OID = 0 ( 1255 proname 19 0 0 0 NAMEDATALEN 1 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1255 proowner 26 0 0 0 4 2 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1255 prolang 26 0 0 0 4 3 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1255 proisinh 16 0 0 0 1 4 0 t t 0 0 -1 f c f)); +DATA(insert OID = 0 ( 1255 proistrusted 16 0 0 0 1 5 0 t t 0 0 -1 f c f)); +DATA(insert OID = 0 ( 1255 proiscachable 16 0 0 0 1 6 0 t t 0 0 -1 f c f)); +DATA(insert OID = 0 ( 1255 pronargs 21 0 0 0 2 7 0 t t 0 0 -1 f s f)); +DATA(insert OID = 0 ( 1255 proretset 16 0 0 0 1 8 0 t t 0 0 -1 f c f)); +DATA(insert OID = 0 ( 1255 prorettype 26 0 0 0 4 9 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1255 proargtypes 30 0 0 0 32 10 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1255 probyte_pct 23 0 0 0 4 11 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1255 properbyte_cpu 23 0 0 0 4 12 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1255 propercall_cpu 23 0 0 0 4 13 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1255 prooutin_ratio 23 0 0 0 4 14 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1255 prosrc 25 0 0 0 -1 15 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1255 probin 17 0 0 0 -1 16 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1255 ctid 27 0 0 0 6 -1 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1255 oid 26 0 0 0 4 -2 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1255 xmin 28 0 0 0 4 -3 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1255 cmin 29 0 0 0 2 -4 0 t t 0 0 -1 f s f)); +DATA(insert OID = 0 ( 1255 xmax 28 0 0 0 4 -5 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1255 cmax 29 0 0 0 2 -6 0 t t 0 0 -1 f s f)); +DATA(insert OID = 0 ( 1255 chain 27 0 0 0 6 -7 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1255 anchor 27 0 0 0 6 -8 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1255 tmax 702 0 0 0 4 -9 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1255 tmin 702 0 0 0 4 -10 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1255 vtype 18 0 0 0 1 -11 0 t t 0 0 -1 f c f)); /* ---------------- * pg_server * ---------------- */ -DATA(insert OID = 0 ( 1257 sername 19 0 0 0 NAMEDATALEN 1 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1257 serpid 21 0 0 0 2 2 0 t t 0 0 -1 f s)); -DATA(insert OID = 0 ( 1257 serport 21 0 0 0 2 3 0 t t 0 0 -1 f s)); -DATA(insert OID = 0 ( 1257 ctid 27 0 0 0 6 -1 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1257 oid 26 0 0 0 4 -2 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1257 xmin 28 0 0 0 4 -3 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1257 cmin 29 0 0 0 2 -4 0 t t 0 0 -1 f s)); -DATA(insert OID = 0 ( 1257 xmax 28 0 0 0 4 -5 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1257 cmax 29 0 0 0 2 -6 0 t t 0 0 -1 f s)); -DATA(insert OID = 0 ( 1257 chain 27 0 0 0 6 -7 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1257 anchor 27 0 0 0 6 -8 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1257 tmax 702 0 0 0 4 -9 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1257 tmin 702 0 0 0 4 -10 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1257 vtype 18 0 0 0 1 -11 0 t t 0 0 -1 f c)); +DATA(insert OID = 0 ( 1257 sername 19 0 0 0 NAMEDATALEN 1 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1257 serpid 21 0 0 0 2 2 0 t t 0 0 -1 f s f)); +DATA(insert OID = 0 ( 1257 serport 21 0 0 0 2 3 0 t t 0 0 -1 f s f)); +DATA(insert OID = 0 ( 1257 ctid 27 0 0 0 6 -1 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1257 oid 26 0 0 0 4 -2 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1257 xmin 28 0 0 0 4 -3 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1257 cmin 29 0 0 0 2 -4 0 t t 0 0 -1 f s f)); +DATA(insert OID = 0 ( 1257 xmax 28 0 0 0 4 -5 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1257 cmax 29 0 0 0 2 -6 0 t t 0 0 -1 f s f)); +DATA(insert OID = 0 ( 1257 chain 27 0 0 0 6 -7 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1257 anchor 27 0 0 0 6 -8 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1257 tmax 702 0 0 0 4 -9 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1257 tmin 702 0 0 0 4 -10 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1257 vtype 18 0 0 0 1 -11 0 t t 0 0 -1 f c f)); /* ---------------- * pg_user * ---------------- */ -DATA(insert OID = 0 ( 1260 usename 19 0 0 0 NAMEDATALEN 1 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1260 usesysid 23 0 0 0 4 2 0 t t 0 0 -1 f s)); -DATA(insert OID = 0 ( 1260 usecreatedb 16 0 0 0 1 3 0 t t 0 0 -1 f c)); -DATA(insert OID = 0 ( 1260 usetrace 16 0 0 0 1 4 0 t t 0 0 -1 f c)); -DATA(insert OID = 0 ( 1260 usesuper 16 0 0 0 1 5 0 t t 0 0 -1 f c)); -DATA(insert OID = 0 ( 1260 usecatupd 16 0 0 0 1 6 0 t t 0 0 -1 f c)); -DATA(insert OID = 0 ( 1260 ctid 27 0 0 0 6 -1 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1260 oid 26 0 0 0 4 -2 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1260 xmin 28 0 0 0 4 -3 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1260 cmin 29 0 0 0 2 -4 0 t t 0 0 -1 f s)); -DATA(insert OID = 0 ( 1260 xmax 28 0 0 0 4 -5 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1260 cmax 29 0 0 0 2 -6 0 t t 0 0 -1 f s)); -DATA(insert OID = 0 ( 1260 chain 27 0 0 0 6 -7 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1260 anchor 27 0 0 0 6 -8 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1260 tmax 702 0 0 0 4 -9 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1260 tmin 702 0 0 0 4 -10 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1260 vtype 18 0 0 0 1 -11 0 t t 0 0 -1 f c)); +DATA(insert OID = 0 ( 1260 usename 19 0 0 0 NAMEDATALEN 1 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1260 usesysid 23 0 0 0 4 2 0 t t 0 0 -1 f s f)); +DATA(insert OID = 0 ( 1260 usecreatedb 16 0 0 0 1 3 0 t t 0 0 -1 f c f)); +DATA(insert OID = 0 ( 1260 usetrace 16 0 0 0 1 4 0 t t 0 0 -1 f c f)); +DATA(insert OID = 0 ( 1260 usesuper 16 0 0 0 1 5 0 t t 0 0 -1 f c f)); +DATA(insert OID = 0 ( 1260 usecatupd 16 0 0 0 1 6 0 t t 0 0 -1 f c f)); +DATA(insert OID = 0 ( 1260 ctid 27 0 0 0 6 -1 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1260 oid 26 0 0 0 4 -2 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1260 xmin 28 0 0 0 4 -3 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1260 cmin 29 0 0 0 2 -4 0 t t 0 0 -1 f s f)); +DATA(insert OID = 0 ( 1260 xmax 28 0 0 0 4 -5 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1260 cmax 29 0 0 0 2 -6 0 t t 0 0 -1 f s f)); +DATA(insert OID = 0 ( 1260 chain 27 0 0 0 6 -7 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1260 anchor 27 0 0 0 6 -8 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1260 tmax 702 0 0 0 4 -9 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1260 tmin 702 0 0 0 4 -10 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1260 vtype 18 0 0 0 1 -11 0 t t 0 0 -1 f c f)); /* ---------------- * pg_group * ---------------- */ -DATA(insert OID = 0 ( 1261 groname 19 0 0 0 NAMEDATALEN 1 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1261 grosysid 23 0 0 0 4 2 0 t t 0 0 -1 f s)); -DATA(insert OID = 0 ( 1261 grolist 1007 0 0 0 -1 3 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1261 ctid 27 0 0 0 6 -1 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1261 oid 26 0 0 0 4 -2 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1261 xmin 28 0 0 0 4 -3 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1261 cmin 29 0 0 0 2 -4 0 t t 0 0 -1 f s)); -DATA(insert OID = 0 ( 1261 xmax 28 0 0 0 4 -5 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1261 cmax 29 0 0 0 2 -6 0 t t 0 0 -1 f s)); -DATA(insert OID = 0 ( 1261 chain 27 0 0 0 6 -7 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1261 anchor 27 0 0 0 6 -8 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1261 tmax 702 0 0 0 4 -9 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1261 tmin 702 0 0 0 4 -10 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1261 vtype 18 0 0 0 1 -11 0 t t 0 0 -1 f c)); +DATA(insert OID = 0 ( 1261 groname 19 0 0 0 NAMEDATALEN 1 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1261 grosysid 23 0 0 0 4 2 0 t t 0 0 -1 f s f)); +DATA(insert OID = 0 ( 1261 grolist 1007 0 0 0 -1 3 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1261 ctid 27 0 0 0 6 -1 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1261 oid 26 0 0 0 4 -2 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1261 xmin 28 0 0 0 4 -3 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1261 cmin 29 0 0 0 2 -4 0 t t 0 0 -1 f s f)); +DATA(insert OID = 0 ( 1261 xmax 28 0 0 0 4 -5 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1261 cmax 29 0 0 0 2 -6 0 t t 0 0 -1 f s f)); +DATA(insert OID = 0 ( 1261 chain 27 0 0 0 6 -7 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1261 anchor 27 0 0 0 6 -8 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1261 tmax 702 0 0 0 4 -9 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1261 tmin 702 0 0 0 4 -10 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1261 vtype 18 0 0 0 1 -11 0 t t 0 0 -1 f c f)); /* ---------------- * pg_attribute * ---------------- */ #define Schema_pg_attribute \ -{ 1249l, {"attrelid"}, 26l, 0l, 0l, 0l, 4, 1, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'i' }, \ -{ 1249l, {"attname"}, 19l, 0l, 0l, 0l, NAMEDATALEN, 2, 0, '\0', '\001', 0l, 0l, -1l, '\0', 'i' }, \ -{ 1249l, {"atttypid"}, 26l, 0l, 0l, 0l, 4, 3, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'i' }, \ -{ 1249l, {"attdefrel"}, 26l, 0l, 0l, 0l, 4, 4, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'i' }, \ -{ 1249l, {"attnvals"}, 23l, 0l, 0l, 0l, 4, 5, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'i' }, \ -{ 1249l, {"atttyparg"}, 26l, 0l, 0l, 0l, 4, 6, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'i' }, \ -{ 1249l, {"attlen"}, 21l, 0l, 0l, 0l, 2, 7, 0, '\001', '\001', 0l, 0l, -1l, '\0', 's' }, \ -{ 1249l, {"attnum"}, 21l, 0l, 0l, 0l, 2, 8, 0, '\001', '\001', 0l, 0l, -1l, '\0', 's' }, \ -{ 1249l, {"attbound"}, 21l, 0l, 0l, 0l, 2, 9, 0, '\001', '\001', 0l, 0l, -1l, '\0', 's' }, \ -{ 1249l, {"attbyval"}, 16l, 0l, 0l, 0l, 1, 10, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'c' }, \ -{ 1249l, {"attcanindex"}, 16l, 0l, 0l, 0l, 1, 11, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'c' }, \ -{ 1249l, {"attproc"}, 26l, 0l, 0l, 0l, 4, 12, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'i' }, \ -{ 1249l, {"attnelems"}, 23l, 0l, 0l, 0l, 4, 13, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'i' }, \ -{ 1249l, {"attcacheoff"}, 23l, 0l, 0l, 0l, 4, 14, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'i' }, \ -{ 1249l, {"attisset"}, 16l, 0l, 0l, 0l, 1, 15, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'c' }, \ -{ 1249l, {"attalign"}, 18l, 0l, 0l, 0l, 1, 16, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'c' } +{ 1249l, {"attrelid"}, 26l, 0l, 0l, 0l, 4, 1, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'i', '\0' }, \ +{ 1249l, {"attname"}, 19l, 0l, 0l, 0l, NAMEDATALEN, 2, 0, '\0', '\001', 0l, 0l, -1l, '\0', 'i', '\0' }, \ +{ 1249l, {"atttypid"}, 26l, 0l, 0l, 0l, 4, 3, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'i', '\0' }, \ +{ 1249l, {"attdefrel"}, 26l, 0l, 0l, 0l, 4, 4, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'i', '\0' }, \ +{ 1249l, {"attnvals"}, 23l, 0l, 0l, 0l, 4, 5, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'i', '\0' }, \ +{ 1249l, {"atttyparg"}, 26l, 0l, 0l, 0l, 4, 6, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'i', '\0' }, \ +{ 1249l, {"attlen"}, 21l, 0l, 0l, 0l, 2, 7, 0, '\001', '\001', 0l, 0l, -1l, '\0', 's', '\0' }, \ +{ 1249l, {"attnum"}, 21l, 0l, 0l, 0l, 2, 8, 0, '\001', '\001', 0l, 0l, -1l, '\0', 's', '\0' }, \ +{ 1249l, {"attbound"}, 21l, 0l, 0l, 0l, 2, 9, 0, '\001', '\001', 0l, 0l, -1l, '\0', 's', '\0' }, \ +{ 1249l, {"attbyval"}, 16l, 0l, 0l, 0l, 1, 10, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'c', '\0' }, \ +{ 1249l, {"attcanindex"}, 16l, 0l, 0l, 0l, 1, 11, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'c', '\0' }, \ +{ 1249l, {"attproc"}, 26l, 0l, 0l, 0l, 4, 12, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'i', '\0' }, \ +{ 1249l, {"attnelems"}, 23l, 0l, 0l, 0l, 4, 13, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'i', '\0' }, \ +{ 1249l, {"attcacheoff"}, 23l, 0l, 0l, 0l, 4, 14, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'i', '\0' }, \ +{ 1249l, {"attisset"}, 16l, 0l, 0l, 0l, 1, 15, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'c', '\0' }, \ +{ 1249l, {"attalign"}, 18l, 0l, 0l, 0l, 1, 16, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'c', '\0' }, \ +{ 12491, {"attnotnull"}, 16l, 0l, 0l, 0l, 1, 17, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'c', '\0' } -DATA(insert OID = 0 ( 1249 attrelid 26 0 0 0 4 1 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1249 attname 19 0 0 0 NAMEDATALEN 2 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1249 atttypid 26 0 0 0 4 3 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1249 attdefrel 26 0 0 0 4 4 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1249 attnvals 23 0 0 0 4 5 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1249 atttyparg 26 0 0 0 4 6 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1249 attlen 21 0 0 0 2 7 0 t t 0 0 -1 f s)); -DATA(insert OID = 0 ( 1249 attnum 21 0 0 0 2 8 0 t t 0 0 -1 f s)); -DATA(insert OID = 0 ( 1249 attbound 21 0 0 0 2 9 0 t t 0 0 -1 f s)); -DATA(insert OID = 0 ( 1249 attbyval 16 0 0 0 1 10 0 t t 0 0 -1 f c)); -DATA(insert OID = 0 ( 1249 attcanindex 16 0 0 0 1 11 0 t t 0 0 -1 f c)); -DATA(insert OID = 0 ( 1249 attproc 26 0 0 0 4 12 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1249 attnelems 23 0 0 0 4 13 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1249 attcacheoff 23 0 0 0 4 14 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1249 attisset 16 0 0 0 1 15 0 t t 0 0 -1 f c)); -DATA(insert OID = 0 ( 1249 attalign 18 0 0 0 1 16 0 t t 0 0 -1 f c)); -DATA(insert OID = 0 ( 1249 ctid 27 0 0 0 6 -1 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1249 oid 26 0 0 0 4 -2 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1249 xmin 28 0 0 0 4 -3 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1249 cmin 29 0 0 0 2 -4 0 t t 0 0 -1 f s)); -DATA(insert OID = 0 ( 1249 xmax 28 0 0 0 4 -5 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1249 cmax 29 0 0 0 2 -6 0 t t 0 0 -1 f s)); -DATA(insert OID = 0 ( 1249 chain 27 0 0 0 6 -7 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1249 anchor 27 0 0 0 6 -8 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1249 tmax 702 0 0 0 4 -9 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1249 tmin 702 0 0 0 4 -10 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1249 vtype 18 0 0 0 1 -11 0 t t 0 0 -1 f c)); +DATA(insert OID = 0 ( 1249 attrelid 26 0 0 0 4 1 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1249 attname 19 0 0 0 NAMEDATALEN 2 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1249 atttypid 26 0 0 0 4 3 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1249 attdefrel 26 0 0 0 4 4 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1249 attnvals 23 0 0 0 4 5 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1249 atttyparg 26 0 0 0 4 6 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1249 attlen 21 0 0 0 2 7 0 t t 0 0 -1 f s f)); +DATA(insert OID = 0 ( 1249 attnum 21 0 0 0 2 8 0 t t 0 0 -1 f s f)); +DATA(insert OID = 0 ( 1249 attbound 21 0 0 0 2 9 0 t t 0 0 -1 f s f)); +DATA(insert OID = 0 ( 1249 attbyval 16 0 0 0 1 10 0 t t 0 0 -1 f c f)); +DATA(insert OID = 0 ( 1249 attcanindex 16 0 0 0 1 11 0 t t 0 0 -1 f c f)); +DATA(insert OID = 0 ( 1249 attproc 26 0 0 0 4 12 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1249 attnelems 23 0 0 0 4 13 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1249 attcacheoff 23 0 0 0 4 14 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1249 attisset 16 0 0 0 1 15 0 t t 0 0 -1 f c f)); +DATA(insert OID = 0 ( 1249 attalign 18 0 0 0 1 16 0 t t 0 0 -1 f c f)); +DATA(insert OID = 0 ( 1249 attnotnull 16 0 0 0 1 17 0 t t 0 0 -1 f c f)); +DATA(insert OID = 0 ( 1249 ctid 27 0 0 0 6 -1 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1249 oid 26 0 0 0 4 -2 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1249 xmin 28 0 0 0 4 -3 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1249 cmin 29 0 0 0 2 -4 0 t t 0 0 -1 f s f)); +DATA(insert OID = 0 ( 1249 xmax 28 0 0 0 4 -5 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1249 cmax 29 0 0 0 2 -6 0 t t 0 0 -1 f s f)); +DATA(insert OID = 0 ( 1249 chain 27 0 0 0 6 -7 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1249 anchor 27 0 0 0 6 -8 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1249 tmax 702 0 0 0 4 -9 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1249 tmin 702 0 0 0 4 -10 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1249 vtype 18 0 0 0 1 -11 0 t t 0 0 -1 f c f)); /* ---------------- * pg_class * ---------------- */ #define Schema_pg_class \ -{ 1259l, {"relname"}, 19l, 0l, 0l, 0l, NAMEDATALEN, 1, 0, '\0', '\001', 0l, 0l, -1l, '\0', 'i' }, \ -{ 1259l, {"reltype"}, 26l, 0l, 0l, 0l, 4, 2, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'i' }, \ -{ 1259l, {"relowner"}, 26l, 0l, 0l, 0l, 4, 2, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'i' }, \ -{ 1259l, {"relam"}, 26l, 0l, 0l, 0l, 4, 3, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'i' }, \ -{ 1259l, {"relpages"}, 23, 0l, 0l, 0l, 4, 4, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'i' }, \ -{ 1259l, {"reltuples"}, 23, 0l, 0l, 0l, 4, 5, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'i' }, \ -{ 1259l, {"relexpires"}, 702, 0l, 0l, 0l, 4, 6, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'i' }, \ -{ 1259l, {"relpreserved"}, 703, 0l, 0l, 0l, 4, 7, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'i' }, \ -{ 1259l, {"relhasindex"}, 16, 0l, 0l, 0l, 1, 8, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'c' }, \ -{ 1259l, {"relisshared"}, 16, 0l, 0l, 0l, 1, 9, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'c' }, \ -{ 1259l, {"relkind"}, 18, 0l, 0l, 0l, 1, 10, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'c' }, \ -{ 1259l, {"relarch"}, 18, 0l, 0l, 0l, 1, 11, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'c' }, \ -{ 1259l, {"relnatts"}, 21, 0l, 0l, 0l, 2, 12, 0, '\001', '\001', 0l, 0l, -1l, '\0', 's' }, \ -{ 1259l, {"relsmgr"}, 210l, 0l, 0l, 0l, 2, 13, 0, '\001', '\001', 0l, 0l, -1l, '\0', 's' }, \ -{ 1259l, {"relkey"}, 22, 0l, 0l, 0l, 16, 14, 0, '\0', '\001', 0l, 0l, -1l, '\0', 'i' }, \ -{ 1259l, {"relkeyop"}, 30, 0l, 0l, 0l, 32, 15, 0, '\0', '\001', 0l, 0l, -1l, '\0', 'i' }, \ -{ 1259l, {"relhasrules"}, 16, 0l, 0l, 0l, 1, 16, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'c' }, \ -{ 1259l, {"relacl"}, 1034l, 0l, 0l, 0l, -1, 17, 0, '\0', '\001', 0l, 0l, -1l, '\0', 'i' } +{ 1259l, {"relname"}, 19l, 0l, 0l, 0l, NAMEDATALEN, 1, 0, '\0', '\001', 0l, 0l, -1l, '\0', 'i', '\0' }, \ +{ 1259l, {"reltype"}, 26l, 0l, 0l, 0l, 4, 2, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'i', '\0' }, \ +{ 1259l, {"relowner"}, 26l, 0l, 0l, 0l, 4, 2, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'i', '\0' }, \ +{ 1259l, {"relam"}, 26l, 0l, 0l, 0l, 4, 3, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'i', '\0' }, \ +{ 1259l, {"relpages"}, 23, 0l, 0l, 0l, 4, 4, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'i', '\0' }, \ +{ 1259l, {"reltuples"}, 23, 0l, 0l, 0l, 4, 5, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'i', '\0' }, \ +{ 1259l, {"relexpires"}, 702, 0l, 0l, 0l, 4, 6, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'i', '\0' }, \ +{ 1259l, {"relpreserved"}, 703, 0l, 0l, 0l, 4, 7, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'i', '\0' }, \ +{ 1259l, {"relhasindex"}, 16, 0l, 0l, 0l, 1, 8, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'c', '\0' }, \ +{ 1259l, {"relisshared"}, 16, 0l, 0l, 0l, 1, 9, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'c', '\0' }, \ +{ 1259l, {"relkind"}, 18, 0l, 0l, 0l, 1, 10, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'c', '\0' }, \ +{ 1259l, {"relarch"}, 18, 0l, 0l, 0l, 1, 11, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'c', '\0' }, \ +{ 1259l, {"relnatts"}, 21, 0l, 0l, 0l, 2, 12, 0, '\001', '\001', 0l, 0l, -1l, '\0', 's', '\0' }, \ +{ 1259l, {"relsmgr"}, 210l, 0l, 0l, 0l, 2, 13, 0, '\001', '\001', 0l, 0l, -1l, '\0', 's', '\0' }, \ +{ 1259l, {"relkey"}, 22, 0l, 0l, 0l, 16, 14, 0, '\0', '\001', 0l, 0l, -1l, '\0', 'i', '\0' }, \ +{ 1259l, {"relkeyop"}, 30, 0l, 0l, 0l, 32, 15, 0, '\0', '\001', 0l, 0l, -1l, '\0', 'i', '\0' }, \ +{ 1259l, {"relhasrules"}, 16, 0l, 0l, 0l, 1, 16, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'c', '\0' }, \ +{ 1259l, {"relacl"}, 1034l, 0l, 0l, 0l, -1, 17, 0, '\0', '\001', 0l, 0l, -1l, '\0', 'i', '\0' } -DATA(insert OID = 0 ( 1259 relname 19 0 0 0 NAMEDATALEN 1 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1259 reltype 26 0 0 0 4 2 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1259 relowner 26 0 0 0 4 2 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1259 relam 26 0 0 0 4 3 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1259 relpages 23 0 0 0 4 4 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1259 reltuples 23 0 0 0 4 5 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1259 relexpires 702 0 0 0 4 6 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1259 relpreserved 702 0 0 0 4 7 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1259 relhasindex 16 0 0 0 1 8 0 t t 0 0 -1 f c)); -DATA(insert OID = 0 ( 1259 relisshared 16 0 0 0 1 9 0 t t 0 0 -1 f c)); -DATA(insert OID = 0 ( 1259 relkind 18 0 0 0 1 10 0 t t 0 0 -1 f c)); -DATA(insert OID = 0 ( 1259 relarch 18 0 0 0 1 11 0 t t 0 0 -1 f c)); -DATA(insert OID = 0 ( 1259 relnatts 21 0 0 0 2 12 0 t t 0 0 -1 f s)); -DATA(insert OID = 0 ( 1259 relsmgr 210 0 0 0 2 13 0 t t 0 0 -1 f s)); -DATA(insert OID = 0 ( 1259 relkey 22 0 0 0 16 14 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1259 relkeyop 30 0 0 0 32 15 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1259 relhasrules 16 0 0 0 1 16 0 t t 0 0 -1 f c)); -DATA(insert OID = 0 ( 1259 relacl 1034 0 0 0 -1 17 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1259 ctid 27 0 0 0 6 -1 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1259 oid 26 0 0 0 4 -2 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1259 xmin 28 0 0 0 4 -3 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1259 cmin 29 0 0 0 2 -4 0 t t 0 0 -1 f s)); -DATA(insert OID = 0 ( 1259 xmax 28 0 0 0 4 -5 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1259 cmax 29 0 0 0 2 -6 0 t t 0 0 -1 f s)); -DATA(insert OID = 0 ( 1259 chain 27 0 0 0 6 -7 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1259 anchor 27 0 0 0 6 -8 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1259 tmax 702 0 0 0 4 -9 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1259 tmin 702 0 0 0 4 -10 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1259 vtype 18 0 0 0 1 -11 0 t t 0 0 -1 f c)); +DATA(insert OID = 0 ( 1259 relname 19 0 0 0 NAMEDATALEN 1 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1259 reltype 26 0 0 0 4 2 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1259 relowner 26 0 0 0 4 2 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1259 relam 26 0 0 0 4 3 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1259 relpages 23 0 0 0 4 4 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1259 reltuples 23 0 0 0 4 5 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1259 relexpires 702 0 0 0 4 6 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1259 relpreserved 702 0 0 0 4 7 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1259 relhasindex 16 0 0 0 1 8 0 t t 0 0 -1 f c f)); +DATA(insert OID = 0 ( 1259 relisshared 16 0 0 0 1 9 0 t t 0 0 -1 f c f)); +DATA(insert OID = 0 ( 1259 relkind 18 0 0 0 1 10 0 t t 0 0 -1 f c f)); +DATA(insert OID = 0 ( 1259 relarch 18 0 0 0 1 11 0 t t 0 0 -1 f c f)); +DATA(insert OID = 0 ( 1259 relnatts 21 0 0 0 2 12 0 t t 0 0 -1 f s f)); +DATA(insert OID = 0 ( 1259 relsmgr 210 0 0 0 2 13 0 t t 0 0 -1 f s f)); +DATA(insert OID = 0 ( 1259 relkey 22 0 0 0 16 14 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1259 relkeyop 30 0 0 0 32 15 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1259 relhasrules 16 0 0 0 1 16 0 t t 0 0 -1 f c f)); +DATA(insert OID = 0 ( 1259 relacl 1034 0 0 0 -1 17 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1259 ctid 27 0 0 0 6 -1 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1259 oid 26 0 0 0 4 -2 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1259 xmin 28 0 0 0 4 -3 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1259 cmin 29 0 0 0 2 -4 0 t t 0 0 -1 f s f)); +DATA(insert OID = 0 ( 1259 xmax 28 0 0 0 4 -5 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1259 cmax 29 0 0 0 2 -6 0 t t 0 0 -1 f s f)); +DATA(insert OID = 0 ( 1259 chain 27 0 0 0 6 -7 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1259 anchor 27 0 0 0 6 -8 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1259 tmax 702 0 0 0 4 -9 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1259 tmin 702 0 0 0 4 -10 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1259 vtype 18 0 0 0 1 -11 0 t t 0 0 -1 f c f)); /* ---------------- * pg_magic * ---------------- */ -DATA(insert OID = 0 ( 1253 magname 19 0 0 0 NAMEDATALEN 1 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1253 magvalue 19 0 0 0 NAMEDATALEN 2 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1253 ctid 27 0 0 0 6 -1 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1253 oid 26 0 0 0 4 -2 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1253 xmin 28 0 0 0 4 -3 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1253 cmin 29 0 0 0 2 -4 0 t t 0 0 -1 f s)); -DATA(insert OID = 0 ( 1253 xmax 28 0 0 0 4 -5 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1253 cmax 29 0 0 0 2 -6 0 t t 0 0 -1 f s)); -DATA(insert OID = 0 ( 1253 chain 27 0 0 0 6 -7 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1253 anchor 27 0 0 0 6 -8 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1253 tmax 702 0 0 0 4 -9 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1253 tmin 702 0 0 0 4 -10 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1253 vtype 18 0 0 0 1 -11 0 t t 0 0 -1 f c)); +DATA(insert OID = 0 ( 1253 magname 19 0 0 0 NAMEDATALEN 1 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1253 magvalue 19 0 0 0 NAMEDATALEN 2 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1253 ctid 27 0 0 0 6 -1 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1253 oid 26 0 0 0 4 -2 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1253 xmin 28 0 0 0 4 -3 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1253 cmin 29 0 0 0 2 -4 0 t t 0 0 -1 f s f)); +DATA(insert OID = 0 ( 1253 xmax 28 0 0 0 4 -5 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1253 cmax 29 0 0 0 2 -6 0 t t 0 0 -1 f s f)); +DATA(insert OID = 0 ( 1253 chain 27 0 0 0 6 -7 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1253 anchor 27 0 0 0 6 -8 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1253 tmax 702 0 0 0 4 -9 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1253 tmin 702 0 0 0 4 -10 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1253 vtype 18 0 0 0 1 -11 0 t t 0 0 -1 f c f)); /* ---------------- * pg_defaults * ---------------- */ -DATA(insert OID = 0 ( 1263 defname 19 0 0 0 NAMEDATALEN 1 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1263 defvalue 19 0 0 0 NAMEDATALEN 2 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1263 ctid 27 0 0 0 6 -1 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1263 oid 26 0 0 0 4 -2 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1263 xmin 28 0 0 0 4 -3 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1263 cmin 29 0 0 0 2 -4 0 t t 0 0 -1 f s)); -DATA(insert OID = 0 ( 1263 xmax 28 0 0 0 4 -5 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1263 cmax 29 0 0 0 2 -6 0 t t 0 0 -1 f s)); -DATA(insert OID = 0 ( 1263 chain 27 0 0 0 6 -7 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1263 anchor 27 0 0 0 6 -8 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1263 tmax 702 0 0 0 4 -9 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1263 tmin 702 0 0 0 4 -10 0 t t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1263 vtype 18 0 0 0 1 -11 0 t t 0 0 -1 f c)); +DATA(insert OID = 0 ( 1263 defname 19 0 0 0 NAMEDATALEN 1 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1263 defvalue 19 0 0 0 NAMEDATALEN 2 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1263 ctid 27 0 0 0 6 -1 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1263 oid 26 0 0 0 4 -2 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1263 xmin 28 0 0 0 4 -3 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1263 cmin 29 0 0 0 2 -4 0 t t 0 0 -1 f s f)); +DATA(insert OID = 0 ( 1263 xmax 28 0 0 0 4 -5 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1263 cmax 29 0 0 0 2 -6 0 t t 0 0 -1 f s f)); +DATA(insert OID = 0 ( 1263 chain 27 0 0 0 6 -7 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1263 anchor 27 0 0 0 6 -8 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1263 tmax 702 0 0 0 4 -9 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1263 tmin 702 0 0 0 4 -10 0 t t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1263 vtype 18 0 0 0 1 -11 0 t t 0 0 -1 f c f)); /* ---------------- @@ -502,9 +507,9 @@ DATA(insert OID = 0 ( 1263 vtype 18 0 0 0 1 -11 0 t t 0 0 -1 f c)); * * ---------------- */ -DATA(insert OID = 0 ( 1273 dbName 19 0 0 0 NAMEDATALEN 1 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1273 address 25 0 0 0 -1 2 0 f t 0 0 -1 f i)); -DATA(insert OID = 0 ( 1273 mask 25 0 0 0 -1 3 0 f t 0 0 -1 f i)); +DATA(insert OID = 0 ( 1273 dbName 19 0 0 0 NAMEDATALEN 1 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1273 address 25 0 0 0 -1 2 0 f t 0 0 -1 f i f)); +DATA(insert OID = 0 ( 1273 mask 25 0 0 0 -1 3 0 f t 0 0 -1 f i f)); /* ---------------- * pg_variable - this relation is modified by special purpose access @@ -513,9 +518,9 @@ DATA(insert OID = 0 ( 1273 mask 25 0 0 0 -1 3 0 f t 0 0 -1 f i)); * ---------------- */ #define Schema_pg_variable \ -{ 1264l, {"varfoo"}, 26l, 0l, 0l, 0l, 4, 1, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'i' } +{ 1264l, {"varfoo"}, 26l, 0l, 0l, 0l, 4, 1, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'i', '\0' } -DATA(insert OID = 0 ( 1264 varfoo 26 0 0 0 4 1 0 t t 0 0 -1 f i)); +DATA(insert OID = 0 ( 1264 varfoo 26 0 0 0 4 1 0 t t 0 0 -1 f i f)); /* ---------------- * pg_log - this relation is modified by special purpose access @@ -524,9 +529,9 @@ DATA(insert OID = 0 ( 1264 varfoo 26 0 0 0 4 1 0 t t 0 0 -1 f i)); * ---------------- */ #define Schema_pg_log \ -{ 1269l, {"logfoo"}, 26l, 0l, 0l, 0l, 4, 1, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'i' } +{ 1269l, {"logfoo"}, 26l, 0l, 0l, 0l, 4, 1, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'i', '\0' } -DATA(insert OID = 0 ( 1269 logfoo 26 0 0 0 4 1 0 t t 0 0 -1 f i)); +DATA(insert OID = 0 ( 1269 logfoo 26 0 0 0 4 1 0 t t 0 0 -1 f i f)); /* ---------------- * pg_time - this relation is modified by special purpose access @@ -535,8 +540,8 @@ DATA(insert OID = 0 ( 1269 logfoo 26 0 0 0 4 1 0 t t 0 0 -1 f i)); * ---------------- */ #define Schema_pg_time \ -{ 1271l, {"timefoo"}, 26l, 0l, 0l, 0l, 4, 1, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'i' } +{ 1271l, {"timefoo"}, 26l, 0l, 0l, 0l, 4, 1, 0, '\001', '\001', 0l, 0l, -1l, '\0', 'i', '\0' } -DATA(insert OID = 0 ( 1271 timefoo 26 0 0 0 4 1 0 t t 0 0 -1 f i)); +DATA(insert OID = 0 ( 1271 timefoo 26 0 0 0 4 1 0 t t 0 0 -1 f i f)); #endif /* PG_ATTRIBUTE_H */ diff --git a/src/include/nodes/parsenodes.h b/src/include/nodes/parsenodes.h index 288434c785..b58baa77ce 100644 --- a/src/include/nodes/parsenodes.h +++ b/src/include/nodes/parsenodes.h @@ -6,7 +6,7 @@ * * Copyright (c) 1994, Regents of the University of California * - * $Id: parsenodes.h,v 1.16 1997/05/22 00:16:13 scrappy Exp $ + * $Id: parsenodes.h,v 1.17 1997/08/19 04:46:15 vadim Exp $ * *------------------------------------------------------------------------- */ @@ -607,6 +607,7 @@ typedef struct ColumnDef { NodeTag type; char *colname; /* name of column */ TypeName *typename; /* type of column */ + bool is_not_null; /* flag to NOT NULL constraint */ } ColumnDef; /* -- 2.11.0