Make attalign match type alignment.

This commit is contained in:
Bruce Momjian 1998-08-26 05:22:58 +00:00
parent 651e31bb80
commit 093beb3560
10 changed files with 5411 additions and 5346 deletions

View File

@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/catalog/index.c,v 1.53 1998/08/24 19:04:04 momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/catalog/index.c,v 1.54 1998/08/26 05:22:34 momjian Exp $
*
*
* INTERFACE ROUTINES
@ -344,8 +344,8 @@ ConstructTupleDescriptor(Oid heapoid,
if (attributeList)
{
IndexKey = (IndexElem *) lfirst(attributeList);
IndexKeyType = IndexKey->typename;
attributeList = lnext(attributeList);
IndexKeyType = IndexKey->tname;
}
else
IndexKeyType = NULL;
@ -782,7 +782,7 @@ UpdateIndexRelation(Oid indexoid,
while (attributeList != NIL)
{
IndexKey = (IndexElem *) lfirst(attributeList);
if (IndexKey->tname != NULL)
if (IndexKey->typename != NULL)
{
indexForm->indhaskeytype = 1;
break;

View File

@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/commands/Attic/defind.c,v 1.22 1998/08/19 02:01:48 momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/commands/Attic/defind.c,v 1.23 1998/08/26 05:22:36 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@ -23,6 +23,7 @@
#include <catalog/index.h>
#include <catalog/pg_index.h>
#include <catalog/pg_proc.h>
#include <catalog/pg_type.h>
#include <catalog/pg_opclass.h>
#include <nodes/plannodes.h>
#include <nodes/primnodes.h>
@ -195,9 +196,8 @@ DefineIndex(char *heapRelationName,
}
else
{
attributeNumberA =
(AttrNumber *) palloc(numberOfAttributes *
sizeof attributeNumberA[0]);
attributeNumberA = (AttrNumber *) palloc(numberOfAttributes *
sizeof attributeNumberA[0]);
classObjectId =
(Oid *) palloc(numberOfAttributes * sizeof classObjectId[0]);
@ -464,7 +464,7 @@ FuncIndexArgs(IndexElem *funcIndex,
static void
NormIndexAttrs(List *attList, /* list of IndexElem's */
AttrNumber *attNumP,
Oid *opOidP,
Oid *classOidP,
Oid relId)
{
List *rest;
@ -519,7 +519,22 @@ NormIndexAttrs(List *attList, /* list of IndexElem's */
elog(ERROR, "DefineIndex: %s class not found",
attribute->class);
}
*opOidP++ = tuple->t_oid;
*classOidP++ = tuple->t_oid;
/* we want the type so we can set the proper alignment, etc. */
if (attribute->typename == NULL)
{
Oid typoid = ((Form_pg_opclass) GETSTRUCT(tuple))->opcdeftype;
tuple = SearchSysCacheTuple(TYPOID,
ObjectIdGetDatum(typoid),
0, 0, 0);
if (!HeapTupleIsValid(tuple))
elog(ERROR, "create index: type for class '%s' undefined",
attribute->class);
/* we just set the name because that is all we need */
attribute->typename = makeNode(TypeName);
attribute->typename->name = nameout(&((TypeTupleForm) GETSTRUCT(tuple))->typname);
}
}
}

View File

@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/nodes/outfuncs.c,v 1.43 1998/08/04 16:43:59 momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/nodes/outfuncs.c,v 1.44 1998/08/26 05:22:37 momjian Exp $
*
* NOTES
* Every (plan) node in POSTGRES has an associated "out" routine which
@ -179,8 +179,8 @@ _outIndexElem(StringInfo str, IndexElem *node)
_outNode(str, node->args);
appendStringInfo(str, " :class ");
appendStringInfo(str, node->class);
appendStringInfo(str, " :tname ");
_outNode(str, node->tname);
appendStringInfo(str, " :typename ");
_outNode(str, node->typename);
}
static void

View File

@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/parser/analyze.c,v 1.82 1998/08/26 04:20:27 thomas Exp $
* $Header: /cvsroot/pgsql/src/backend/parser/analyze.c,v 1.83 1998/08/26 05:22:40 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@ -408,7 +408,7 @@ makeTableName(void *elem,...)
}
static char *
CreateIndexName(char *tname, char *cname, char *label, List *indices)
CreateIndexName(char *table_name, char *column_name, char *label, List *indices)
{
int pass = 0;
char *iname = NULL;
@ -417,10 +417,10 @@ CreateIndexName(char *tname, char *cname, char *label, List *indices)
char name2[NAMEDATALEN + 1];
/* use working storage, since we might be trying several possibilities */
strcpy(name2, cname);
strcpy(name2, column_name);
while (iname == NULL)
{
iname = makeTableName(tname, name2, label, NULL);
iname = makeTableName(table_name, name2, label, NULL);
/* unable to make a name at all? then quit */
if (iname == NULL)
break;
@ -442,7 +442,7 @@ CreateIndexName(char *tname, char *cname, char *label, List *indices)
pfree(iname);
iname = NULL;
pass++;
sprintf(name2, "%s_%d", cname, (pass + 1));
sprintf(name2, "%s_%d", column_name, (pass + 1));
}
return (iname);
@ -700,7 +700,7 @@ transformCreateStmt(ParseState *pstate, CreateStmt *stmt)
iparam->name = strcpy(palloc(strlen(column->colname) + 1), column->colname);
iparam->args = NIL;
iparam->class = NULL;
iparam->tname = NULL;
iparam->typename = NULL;
index->indexParams = lappend(index->indexParams, iparam);
if (index->idxname == NULL)

File diff suppressed because it is too large Load Diff

View File

@ -10,7 +10,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.26 1998/08/25 21:36:53 scrappy Exp $
* $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.27 1998/08/26 05:22:49 momjian Exp $
*
* HISTORY
* AUTHOR DATE MAJOR EVENT
@ -295,7 +295,7 @@ Oid param_type(int t); /* used in parse_expr.c */
NEW, NONE, NOTHING, NOTNULL, OIDS, OPERATOR, PROCEDURAL,
RECIPE, RENAME, RESET, RETURNS, ROW, RULE,
SEQUENCE, SERIAL, SETOF, SHOW, START, STATEMENT, STDIN, STDOUT, TRUSTED,
VACUUM, VERBOSE, VERSION, ENCODING
VACUUM, VERBOSE, VERSION, ENCODING, UNLISTEN
/* Keywords (obsolete; retain through next version for parser - thomas 1997-12-04) */
%token ARCHIVE
@ -1697,7 +1697,7 @@ func_index: func_name '(' name_list ')' opt_type opt_class
$$->name = $1;
$$->args = $3;
$$->class = $6;
$$->tname = $5;
$$->typename = $5;
}
;
@ -1707,7 +1707,7 @@ index_elem: attr_name opt_type opt_class
$$->name = $1;
$$->args = NIL;
$$->class = $3;
$$->tname = $2;
$$->typename = $2;
}
;

View File

@ -201,34 +201,36 @@ typedef union
#define ROW 427
#define RULE 428
#define SEQUENCE 429
#define SETOF 430
#define SHOW 431
#define START 432
#define STATEMENT 433
#define STDIN 434
#define STDOUT 435
#define TRUSTED 436
#define VACUUM 437
#define VERBOSE 438
#define VERSION 439
#define ENCODING 440
#define ARCHIVE 441
#define PASSWORD 442
#define CREATEDB 443
#define NOCREATEDB 444
#define CREATEUSER 445
#define NOCREATEUSER 446
#define VALID 447
#define UNTIL 448
#define IDENT 449
#define SCONST 450
#define Op 451
#define ICONST 452
#define PARAM 453
#define FCONST 454
#define OP 455
#define UMINUS 456
#define TYPECAST 457
#define SERIAL 430
#define SETOF 431
#define SHOW 432
#define START 433
#define STATEMENT 434
#define STDIN 435
#define STDOUT 436
#define TRUSTED 437
#define VACUUM 438
#define VERBOSE 439
#define VERSION 440
#define ENCODING 441
#define UNLISTEN 442
#define ARCHIVE 443
#define PASSWORD 444
#define CREATEDB 445
#define NOCREATEDB 446
#define CREATEUSER 447
#define NOCREATEUSER 448
#define VALID 449
#define UNTIL 450
#define IDENT 451
#define SCONST 452
#define Op 453
#define ICONST 454
#define PARAM 455
#define FCONST 456
#define OP 457
#define UMINUS 458
#define TYPECAST 459
extern YYSTYPE yylval;

View File

@ -7,7 +7,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
* $Id: pg_attribute.h,v 1.35 1998/08/24 01:14:09 momjian Exp $
* $Id: pg_attribute.h,v 1.36 1998/08/26 05:22:53 momjian Exp $
*
* NOTES
* the genbki.sh script reads this file and generates .bki
@ -178,7 +178,7 @@ typedef FormData_pg_attribute *AttributeTupleForm;
* ----------------
*/
#define Schema_pg_type \
{ 1247, {"typname"}, 19, 0, NAMEDATALEN, 1, 0, -1, -1, '\0', '\0', 'i', '\0', '\0' }, \
{ 1247, {"typname"}, 19, 0, NAMEDATALEN, 1, 0, -1, -1, '\0', '\0', 'd', '\0', '\0' }, \
{ 1247, {"typowner"}, 23, 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' }, \
@ -195,7 +195,7 @@ typedef FormData_pg_attribute *AttributeTupleForm;
{ 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 typname 19 0 NAMEDATALEN 1 0 -1 -1 f f d f f));
DATA(insert OID = 0 ( 1247 typowner 23 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));
@ -222,9 +222,9 @@ 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 datname 19 0 NAMEDATALEN 1 0 -1 -1 f f d f f));
DATA(insert OID = 0 ( 1262 datdba 23 0 4 2 0 -1 -1 t f i f f));
DATA(insert OID = 0 ( 1262 encoding 23 0 4 3 0 -1 -1 t f i 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));
@ -238,7 +238,7 @@ DATA(insert OID = 0 ( 1262 cmax 29 0 4 -6 0 -1 -1 t f i f f));
* ----------------
*/
#define Schema_pg_proc \
{ 1255, {"proname"}, 19, 0, NAMEDATALEN, 1, 0, -1, -1, '\0', '\0', 'i', '\0', '\0' }, \
{ 1255, {"proname"}, 19, 0, NAMEDATALEN, 1, 0, -1, -1, '\0', '\0', 'd', '\0', '\0' }, \
{ 1255, {"proowner"}, 23, 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' }, \
@ -255,7 +255,7 @@ DATA(insert OID = 0 ( 1262 cmax 29 0 4 -6 0 -1 -1 t f i f f));
{ 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 proname 19 0 NAMEDATALEN 1 0 -1 -1 f f d f f));
DATA(insert OID = 0 ( 1255 proowner 23 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));
@ -282,8 +282,8 @@ 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 usename 19 0 NAMEDATALEN 1 0 -1 -1 f f d f f));
DATA(insert OID = 0 ( 1260 usesysid 23 0 4 2 0 -1 -1 t f i 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));
@ -301,8 +301,8 @@ 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 groname 19 0 NAMEDATALEN 1 0 -1 -1 f f d f f));
DATA(insert OID = 0 ( 1261 grosysid 23 0 4 2 0 -1 -1 t f i 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));
@ -317,7 +317,7 @@ DATA(insert OID = 0 ( 1261 cmax 29 0 4 -6 0 -1 -1 t f i f f));
*/
#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, {"attname"}, 19, 0, NAMEDATALEN, 2, 0, -1, -1, '\0', '\0', 'd ', '\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' }, \
@ -332,7 +332,7 @@ DATA(insert OID = 0 ( 1261 cmax 29 0 4 -6 0 -1 -1 t f i f f));
{ 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 attname 19 0 NAMEDATALEN 2 0 -1 -1 f f d 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));
@ -357,7 +357,7 @@ DATA(insert OID = 0 ( 1249 cmax 29 0 4 -6 0 -1 -1 t f i f f));
* ----------------
*/
#define Schema_pg_class \
{ 1259, {"relname"}, 19, 0, NAMEDATALEN, 1, 0, -1, -1, '\0', '\0', 'i', '\0', '\0' }, \
{ 1259, {"relname"}, 19, 0, NAMEDATALEN, 1, 0, -1, -1, '\0', '\0', 'd', '\0', '\0' }, \
{ 1259, {"reltype"}, 26, 0, 4, 2, 0, -1, -1, '\001', '\0', 'i', '\0', '\0' }, \
{ 1259, {"relowner"}, 23, 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' }, \
@ -372,7 +372,7 @@ DATA(insert OID = 0 ( 1249 cmax 29 0 4 -6 0 -1 -1 t f i f f));
{ 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 relname 19 0 NAMEDATALEN 1 0 -1 -1 f f d 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 23 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));
@ -413,7 +413,7 @@ DATA(insert OID = 0 ( 1215 cmax 29 0 4 -6 0 -1 -1 t f i f f));
* ----------------
*/
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 rcname 19 0 NAMEDATALEN 2 0 -1 -1 f f d 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));
@ -428,7 +428,7 @@ DATA(insert OID = 0 ( 1216 cmax 29 0 4 -6 0 -1 -1 t f i f f));
* ----------------
*/
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 tgname 19 0 NAMEDATALEN 2 0 -1 -1 f f d 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));

View File

@ -6,7 +6,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
* $Id: parsenodes.h,v 1.57 1998/08/25 21:37:04 scrappy Exp $
* $Id: parsenodes.h,v 1.58 1998/08/26 05:22:55 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@ -832,7 +832,7 @@ typedef struct IndexElem
char *name; /* name of index */
List *args; /* if not NULL, function index */
char *class;
TypeName *tname; /* type of index's keys (optional) */
TypeName *typename; /* type of index's keys (optional) */
} IndexElem;
/*

View File

@ -7,7 +7,7 @@
#
#
# IDENTIFICATION
# $Header: /cvsroot/pgsql/src/interfaces/Makefile,v 1.13 1998/08/24 01:18:51 momjian Exp $
# $Header: /cvsroot/pgsql/src/interfaces/Makefile,v 1.14 1998/08/26 05:22:58 momjian Exp $
#
#-------------------------------------------------------------------------
@ -23,7 +23,7 @@ endif
.DEFAULT all install clean dep depend distclean: $(perl-makefile-dep)
$(MAKE) -C libpq $@
$(MAKE) -C ecpg $@
# $(MAKE) -C ecpg $@
ifeq ($(HAVE_Cplusplus), true)
$(MAKE) -C libpq++ $@
else