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

Commitb066d9e

Browse files
committed
Clean up some code that had gotten a bit ugly through repeated revisions.
1 parent27a4f06 commitb066d9e

File tree

1 file changed

+10
-13
lines changed

1 file changed

+10
-13
lines changed

‎src/backend/parser/analyze.c

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
* Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
77
* Portions Copyright (c) 1994, Regents of the University of California
88
*
9-
*$PostgreSQL: pgsql/src/backend/parser/analyze.c,v 1.297 2004/01/23 02:13:12 neilc Exp $
9+
*$PostgreSQL: pgsql/src/backend/parser/analyze.c,v 1.298 2004/04/02 21:05:32 tgl Exp $
1010
*
1111
*-------------------------------------------------------------------------
1212
*/
@@ -506,7 +506,8 @@ transformInsertStmt(ParseState *pstate, InsertStmt *stmt,
506506
List*sub_namespace;
507507
List*icolumns;
508508
List*attrnos;
509-
List*attnos;
509+
List*icols;/* to become ListCell */
510+
List*attnos;/* to become ListCell */
510511
List*tl;
511512

512513
qry->commandType=CMD_INSERT;
@@ -665,39 +666,35 @@ transformInsertStmt(ParseState *pstate, InsertStmt *stmt,
665666
/*
666667
* Prepare columns for assignment to target table.
667668
*/
669+
icols=icolumns;
668670
attnos=attrnos;
669-
/* cannot use foreach here because of possible lremove */
670-
tl=qry->targetList;
671-
while (tl)
671+
foreach(tl,qry->targetList)
672672
{
673673
TargetEntry*tle= (TargetEntry*)lfirst(tl);
674674
ResTarget*col;
675675

676-
/* must advance tl before lremove possibly pfree's it */
677-
tl=lnext(tl);
678-
679-
if (icolumns==NIL||attnos==NIL)
676+
if (icols==NIL||attnos==NIL)
680677
ereport(ERROR,
681678
(errcode(ERRCODE_SYNTAX_ERROR),
682679
errmsg("INSERT has more expressions than target columns")));
683680

684-
col= (ResTarget*)lfirst(icolumns);
681+
col= (ResTarget*)lfirst(icols);
685682
Assert(IsA(col,ResTarget));
686683

687684
Assert(!tle->resdom->resjunk);
688685
updateTargetListEntry(pstate,tle,col->name,lfirsti(attnos),
689686
col->indirection);
690687

691-
icolumns=lnext(icolumns);
688+
icols=lnext(icols);
692689
attnos=lnext(attnos);
693690
}
694691

695692
/*
696693
* Ensure that the targetlist has the same number of entries that were
697694
* present in the columns list. Don't do the check unless an explicit
698-
* columns list was given, though. statements.
695+
* columns list was given, though.
699696
*/
700-
if (stmt->cols!=NIL&& (icolumns!=NIL||attnos!=NIL))
697+
if (stmt->cols!=NIL&& (icols!=NIL||attnos!=NIL))
701698
ereport(ERROR,
702699
(errcode(ERRCODE_SYNTAX_ERROR),
703700
errmsg("INSERT has more target columns than expressions")));

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp