Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit6ebc90b

Browse files
committed
Remove Ident nodetype in favor of using String nodes; this fixes some
latent wrong-struct-type bugs and makes the coding style more uniform,since the majority of places working with lists of column names werealready using Strings not Idents. While at it, remove vestigialsupport for Stream node type, and otherwise-unreferenced nodes.h entriesfor T_TupleCount and T_BaseNode.NB: full recompile is recommended due to changes of Node type numbers.This shouldn't force an initdb though.
1 parent10b374a commit6ebc90b

File tree

11 files changed

+73
-267
lines changed

11 files changed

+73
-267
lines changed

‎src/backend/commands/copy.c‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
*
88
*
99
* IDENTIFICATION
10-
* $Header: /cvsroot/pgsql/src/backend/commands/copy.c,v 1.164 2002/08/1900:40:14 tgl Exp $
10+
* $Header: /cvsroot/pgsql/src/backend/commands/copy.c,v 1.165 2002/08/1915:08:46 tgl Exp $
1111
*
1212
*-------------------------------------------------------------------------
1313
*/
@@ -1513,7 +1513,7 @@ CopyGetAttnums(Relation rel, List *attnamelist)
15131513

15141514
foreach(l,attnamelist)
15151515
{
1516-
char*name=((Ident*)lfirst(l))->name;
1516+
char*name=strVal(lfirst(l));
15171517
intattnum;
15181518

15191519
/* Lookup column name, elog on failure */

‎src/backend/commands/tablecmds.c‎

Lines changed: 17 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
*
99
*
1010
* IDENTIFICATION
11-
* $Header: /cvsroot/pgsql/src/backend/commands/tablecmds.c,v 1.29 2002/08/15 16:36:02 momjian Exp $
11+
* $Header: /cvsroot/pgsql/src/backend/commands/tablecmds.c,v 1.30 2002/08/19 15:08:46 tgl Exp $
1212
*
1313
*-------------------------------------------------------------------------
1414
*/
@@ -2677,17 +2677,17 @@ validateForeignKeyConstraint(FkConstraint *fkconstraint,
26772677
count=4;
26782678
foreach(list,fkconstraint->fk_attrs)
26792679
{
2680-
Ident*fk_at=lfirst(list);
2680+
char*fk_at=strVal(lfirst(list));
26812681

2682-
trig.tgargs[count]=fk_at->name;
2682+
trig.tgargs[count]=fk_at;
26832683
count+=2;
26842684
}
26852685
count=5;
26862686
foreach(list,fkconstraint->pk_attrs)
26872687
{
2688-
Ident*pk_at=lfirst(list);
2688+
char*pk_at=strVal(lfirst(list));
26892689

2690-
trig.tgargs[count]=pk_at->name;
2690+
trig.tgargs[count]=pk_at;
26912691
count+=2;
26922692
}
26932693
trig.tgnargs=count-1;
@@ -2746,13 +2746,13 @@ createForeignKeyConstraint(Relation rel, Relation pkrel,
27462746
i=0;
27472747
foreach(l,fkconstraint->fk_attrs)
27482748
{
2749-
Ident*id=(Ident*)lfirst(l);
2749+
char*id=strVal(lfirst(l));
27502750
AttrNumberattno;
27512751

2752-
attno=get_attnum(RelationGetRelid(rel),id->name);
2752+
attno=get_attnum(RelationGetRelid(rel),id);
27532753
if (attno==InvalidAttrNumber)
27542754
elog(ERROR,"Relation \"%s\" has no column \"%s\"",
2755-
RelationGetRelationName(rel),id->name);
2755+
RelationGetRelationName(rel),id);
27562756
fkattr[i++]=attno;
27572757
}
27582758

@@ -2762,13 +2762,13 @@ createForeignKeyConstraint(Relation rel, Relation pkrel,
27622762
i=0;
27632763
foreach(l,fkconstraint->pk_attrs)
27642764
{
2765-
Ident*id=(Ident*)lfirst(l);
2765+
char*id=strVal(lfirst(l));
27662766
AttrNumberattno;
27672767

2768-
attno=get_attnum(RelationGetRelid(pkrel),id->name);
2768+
attno=get_attnum(RelationGetRelid(pkrel),id);
27692769
if (attno==InvalidAttrNumber)
27702770
elog(ERROR,"Relation \"%s\" has no column \"%s\"",
2771-
RelationGetRelationName(pkrel),id->name);
2771+
RelationGetRelationName(pkrel),id);
27722772
pkattr[i++]=attno;
27732773
}
27742774

@@ -2804,7 +2804,6 @@ createForeignKeyTriggers(Relation rel, FkConstraint *fkconstraint,
28042804
CreateTrigStmt*fk_trigger;
28052805
List*fk_attr;
28062806
List*pk_attr;
2807-
Ident*id;
28082807
ObjectAddresstrigobj,
28092808
constrobj;
28102809

@@ -2867,12 +2866,8 @@ createForeignKeyTriggers(Relation rel, FkConstraint *fkconstraint,
28672866

28682867
while (fk_attr!=NIL)
28692868
{
2870-
id= (Ident*)lfirst(fk_attr);
2871-
fk_trigger->args=lappend(fk_trigger->args,makeString(id->name));
2872-
2873-
id= (Ident*)lfirst(pk_attr);
2874-
fk_trigger->args=lappend(fk_trigger->args,makeString(id->name));
2875-
2869+
fk_trigger->args=lappend(fk_trigger->args,lfirst(fk_attr));
2870+
fk_trigger->args=lappend(fk_trigger->args,lfirst(pk_attr));
28762871
fk_attr=lnext(fk_attr);
28772872
pk_attr=lnext(pk_attr);
28782873
}
@@ -2942,12 +2937,8 @@ createForeignKeyTriggers(Relation rel, FkConstraint *fkconstraint,
29422937
pk_attr=fkconstraint->pk_attrs;
29432938
while (fk_attr!=NIL)
29442939
{
2945-
id= (Ident*)lfirst(fk_attr);
2946-
fk_trigger->args=lappend(fk_trigger->args,makeString(id->name));
2947-
2948-
id= (Ident*)lfirst(pk_attr);
2949-
fk_trigger->args=lappend(fk_trigger->args,makeString(id->name));
2950-
2940+
fk_trigger->args=lappend(fk_trigger->args,lfirst(fk_attr));
2941+
fk_trigger->args=lappend(fk_trigger->args,lfirst(pk_attr));
29512942
fk_attr=lnext(fk_attr);
29522943
pk_attr=lnext(pk_attr);
29532944
}
@@ -3017,12 +3008,8 @@ createForeignKeyTriggers(Relation rel, FkConstraint *fkconstraint,
30173008
pk_attr=fkconstraint->pk_attrs;
30183009
while (fk_attr!=NIL)
30193010
{
3020-
id= (Ident*)lfirst(fk_attr);
3021-
fk_trigger->args=lappend(fk_trigger->args,makeString(id->name));
3022-
3023-
id= (Ident*)lfirst(pk_attr);
3024-
fk_trigger->args=lappend(fk_trigger->args,makeString(id->name));
3025-
3011+
fk_trigger->args=lappend(fk_trigger->args,lfirst(fk_attr));
3012+
fk_trigger->args=lappend(fk_trigger->args,lfirst(pk_attr));
30263013
fk_attr=lnext(fk_attr);
30273014
pk_attr=lnext(pk_attr);
30283015
}

‎src/backend/nodes/copyfuncs.c‎

Lines changed: 1 addition & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
* Portions Copyright (c) 1994, Regents of the University of California
1616
*
1717
* IDENTIFICATION
18-
* $Header: /cvsroot/pgsql/src/backend/nodes/copyfuncs.c,v 1.203 2002/08/1900:40:14 tgl Exp $
18+
* $Header: /cvsroot/pgsql/src/backend/nodes/copyfuncs.c,v 1.204 2002/08/1915:08:46 tgl Exp $
1919
*
2020
*-------------------------------------------------------------------------
2121
*/
@@ -1435,28 +1435,6 @@ _copyJoinInfo(JoinInfo *from)
14351435
returnnewnode;
14361436
}
14371437

1438-
staticStream*
1439-
_copyStream(Stream*from)
1440-
{
1441-
Stream*newnode=makeNode(Stream);
1442-
1443-
newnode->pathptr=from->pathptr;
1444-
newnode->cinfo=from->cinfo;
1445-
newnode->clausetype=from->clausetype;
1446-
1447-
newnode->upstream= (StreamPtr)NULL;/* only copy nodes
1448-
* downwards! */
1449-
Node_Copy(from,newnode,downstream);
1450-
if (newnode->downstream)
1451-
((Stream*)newnode->downstream)->upstream= (Stream*)newnode;
1452-
1453-
newnode->groupup=from->groupup;
1454-
newnode->groupcost=from->groupcost;
1455-
newnode->groupsel=from->groupsel;
1456-
1457-
returnnewnode;
1458-
}
1459-
14601438
/* ****************************************************************
14611439
*parsenodes.h copy functions
14621440
* ****************************************************************
@@ -1593,16 +1571,6 @@ _copyAConst(A_Const *from)
15931571
returnnewnode;
15941572
}
15951573

1596-
staticIdent*
1597-
_copyIdent(Ident*from)
1598-
{
1599-
Ident*newnode=makeNode(Ident);
1600-
1601-
newnode->name=pstrdup(from->name);
1602-
1603-
returnnewnode;
1604-
}
1605-
16061574
staticFuncCall*
16071575
_copyFuncCall(FuncCall*from)
16081576
{
@@ -2890,9 +2858,6 @@ copyObject(void *from)
28902858
caseT_JoinInfo:
28912859
retval=_copyJoinInfo(from);
28922860
break;
2893-
caseT_Stream:
2894-
retval=_copyStream(from);
2895-
break;
28962861
caseT_IndexOptInfo:
28972862
retval=_copyIndexOptInfo(from);
28982863
break;
@@ -3131,9 +3096,6 @@ copyObject(void *from)
31313096
caseT_A_Const:
31323097
retval=_copyAConst(from);
31333098
break;
3134-
caseT_Ident:
3135-
retval=_copyIdent(from);
3136-
break;
31373099
caseT_FuncCall:
31383100
retval=_copyFuncCall(from);
31393101
break;

‎src/backend/nodes/equalfuncs.c‎

Lines changed: 1 addition & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
* Portions Copyright (c) 1994, Regents of the University of California
2121
*
2222
* IDENTIFICATION
23-
* $Header: /cvsroot/pgsql/src/backend/nodes/equalfuncs.c,v 1.152 2002/08/1900:40:14 tgl Exp $
23+
* $Header: /cvsroot/pgsql/src/backend/nodes/equalfuncs.c,v 1.153 2002/08/1915:08:46 tgl Exp $
2424
*
2525
*-------------------------------------------------------------------------
2626
*/
@@ -543,26 +543,6 @@ _equalJoinInfo(JoinInfo *a, JoinInfo *b)
543543
return true;
544544
}
545545

546-
staticbool
547-
_equalStream(Stream*a,Stream*b)
548-
{
549-
if (a->clausetype!=b->clausetype)
550-
return false;
551-
if (a->groupup!=b->groupup)
552-
return false;
553-
if (a->groupcost!=b->groupcost)
554-
return false;
555-
if (a->groupsel!=b->groupsel)
556-
return false;
557-
if (!equal(a->pathptr,b->pathptr))
558-
return false;
559-
if (!equal(a->cinfo,b->cinfo))
560-
return false;
561-
if (!equal(a->upstream,b->upstream))
562-
return false;
563-
returnequal(a->downstream,b->downstream);
564-
}
565-
566546
/*
567547
* Stuff from parsenodes.h
568548
*/
@@ -1556,15 +1536,6 @@ _equalAConst(A_Const *a, A_Const *b)
15561536
return true;
15571537
}
15581538

1559-
staticbool
1560-
_equalIdent(Ident*a,Ident*b)
1561-
{
1562-
if (!equalstr(a->name,b->name))
1563-
return false;
1564-
1565-
return true;
1566-
}
1567-
15681539
staticbool
15691540
_equalFuncCall(FuncCall*a,FuncCall*b)
15701541
{
@@ -2045,9 +2016,6 @@ equal(void *a, void *b)
20452016
caseT_JoinInfo:
20462017
retval=_equalJoinInfo(a,b);
20472018
break;
2048-
caseT_Stream:
2049-
retval=_equalStream(a,b);
2050-
break;
20512019
caseT_TidPath:
20522020
retval=_equalTidPath(a,b);
20532021
break;
@@ -2290,9 +2258,6 @@ equal(void *a, void *b)
22902258
caseT_A_Const:
22912259
retval=_equalAConst(a,b);
22922260
break;
2293-
caseT_Ident:
2294-
retval=_equalIdent(a,b);
2295-
break;
22962261
caseT_FuncCall:
22972262
retval=_equalFuncCall(a,b);
22982263
break;

‎src/backend/nodes/outfuncs.c‎

Lines changed: 1 addition & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
* Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
66
* Portions Copyright (c) 1994, Regents of the University of California
77
*
8-
*$Header: /cvsroot/pgsql/src/backend/nodes/outfuncs.c,v 1.167 2002/08/10 20:44:48 momjian Exp $
8+
*$Header: /cvsroot/pgsql/src/backend/nodes/outfuncs.c,v 1.168 2002/08/19 15:08:46 tgl Exp $
99
*
1010
* NOTES
1111
* Every (plan) node in POSTGRES has an associated "out" routine which
@@ -1257,24 +1257,6 @@ _outDatum(StringInfo str, Datum value, int typlen, bool typbyval)
12571257
}
12581258
}
12591259

1260-
staticvoid
1261-
_outStream(StringInfostr,Stream*node)
1262-
{
1263-
appendStringInfo(str,
1264-
" STREAM :pathptr @ %p :cinfo @ %p :clausetype %p :upstream @ %p ",
1265-
node->pathptr,
1266-
node->cinfo,
1267-
node->clausetype,
1268-
node->upstream);
1269-
1270-
appendStringInfo(str,
1271-
" :downstream @ %p :groupup %d :groupcost %f :groupsel %f ",
1272-
node->downstream,
1273-
node->groupup,
1274-
node->groupcost,
1275-
node->groupsel);
1276-
}
1277-
12781260
staticvoid
12791261
_outAExpr(StringInfostr,A_Expr*node)
12801262
{
@@ -1371,13 +1353,6 @@ _outParamRef(StringInfo str, ParamRef *node)
13711353
_outNode(str,node->indirection);
13721354
}
13731355

1374-
staticvoid
1375-
_outIdent(StringInfostr,Ident*node)
1376-
{
1377-
appendStringInfo(str," IDENT ");
1378-
_outToken(str,node->name);
1379-
}
1380-
13811356
staticvoid
13821357
_outAConst(StringInfostr,A_Const*node)
13831358
{
@@ -1736,9 +1711,6 @@ _outNode(StringInfo str, void *obj)
17361711
caseT_JoinInfo:
17371712
_outJoinInfo(str,obj);
17381713
break;
1739-
caseT_Stream:
1740-
_outStream(str,obj);
1741-
break;
17421714
caseT_A_Expr:
17431715
_outAExpr(str,obj);
17441716
break;
@@ -1751,9 +1723,6 @@ _outNode(StringInfo str, void *obj)
17511723
caseT_ParamRef:
17521724
_outParamRef(str,obj);
17531725
break;
1754-
caseT_Ident:
1755-
_outIdent(str,obj);
1756-
break;
17571726
caseT_A_Const:
17581727
_outAConst(str,obj);
17591728
break;

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp