|
|
|
|
@ -7,7 +7,7 @@ |
|
|
|
|
* |
|
|
|
|
* |
|
|
|
|
* IDENTIFICATION |
|
|
|
|
* $Header: /cvsroot/pgsql/src/backend/parser/parse_target.c,v 1.23 1998/08/25 03:17:28 momjian Exp $ |
|
|
|
|
* $Header: /cvsroot/pgsql/src/backend/parser/parse_target.c,v 1.24 1998/08/25 03:22:49 momjian Exp $ |
|
|
|
|
* |
|
|
|
|
*------------------------------------------------------------------------- |
|
|
|
|
*/ |
|
|
|
|
@ -498,12 +498,14 @@ printf("transformTargetList: decode T_Attr\n"); |
|
|
|
|
resname = (res->name) ? res->name : strVal(lfirst(attrs)); |
|
|
|
|
if (pstate->p_is_insert || pstate->p_is_update) |
|
|
|
|
{ |
|
|
|
|
Relation rd; |
|
|
|
|
/*
|
|
|
|
|
* insert or update query -- insert, update work only on one |
|
|
|
|
* relation, so multiple occurence of same resdomno is bogus |
|
|
|
|
*/ |
|
|
|
|
relid = refnameRangeTableEntry(pstate, att->relname)->relid; |
|
|
|
|
resdomno = get_attnum(relid, attrname); |
|
|
|
|
rd = pstate->p_target_relation; |
|
|
|
|
Assert(rd != NULL); |
|
|
|
|
resdomno = attnameAttNum(rd, res->name); |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
resdomno = pstate->p_last_resno++; |
|
|
|
|
|