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

Commit3a14336

Browse files
committed
Modify COPY for() loop to use attnum as a variable name, not 'i'.
1 parent6c72f44 commit3a14336

File tree

1 file changed

+16
-15
lines changed

1 file changed

+16
-15
lines changed

‎src/backend/commands/copy.c

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
*
99
*
1010
* IDENTIFICATION
11-
* $PostgreSQL: pgsql/src/backend/commands/copy.c,v 1.219 2004/04/06 13:21:33 momjian Exp $
11+
* $PostgreSQL: pgsql/src/backend/commands/copy.c,v 1.220 2004/04/15 22:36:03 momjian Exp $
1212
*
1313
*-------------------------------------------------------------------------
1414
*/
@@ -1258,6 +1258,7 @@ CopyFrom(Relation rel, List *attnumlist, bool binary, bool oids,
12581258
ExprState**constraintexprs;
12591259
boolhasConstraints= false;
12601260
inti;
1261+
intattnum;
12611262
List*cur;
12621263
Oidin_func_oid;
12631264
Datum*values;
@@ -1317,39 +1318,39 @@ CopyFrom(Relation rel, List *attnumlist, bool binary, bool oids,
13171318
defexprs= (ExprState**)palloc((num_phys_attrs+1)*sizeof(ExprState*));
13181319
constraintexprs= (ExprState**)palloc0((num_phys_attrs+1)*sizeof(ExprState*));
13191320

1320-
for (i=0;i<num_phys_attrs;i++)
1321+
for (attnum=1;attnum <=num_phys_attrs;attnum++)
13211322
{
13221323
/* We don't need info for dropped attributes */
1323-
if (attr[i]->attisdropped)
1324+
if (attr[attnum-1]->attisdropped)
13241325
continue;
13251326

13261327
/* Fetch the input function and typelem info */
13271328
if (binary)
1328-
getTypeBinaryInputInfo(attr[i]->atttypid,
1329-
&in_func_oid,&elements[i]);
1329+
getTypeBinaryInputInfo(attr[attnum-1]->atttypid,
1330+
&in_func_oid,&elements[attnum-1]);
13301331
else
1331-
getTypeInputInfo(attr[i]->atttypid,
1332-
&in_func_oid,&elements[i]);
1333-
fmgr_info(in_func_oid,&in_functions[i]);
1332+
getTypeInputInfo(attr[attnum-1]->atttypid,
1333+
&in_func_oid,&elements[attnum-1]);
1334+
fmgr_info(in_func_oid,&in_functions[attnum-1]);
13341335

13351336
/* Get default info if needed */
1336-
if (!intMember(i+1,attnumlist))
1337+
if (!intMember(attnum,attnumlist))
13371338
{
13381339
/* attribute is NOT to be copied from input */
13391340
/* use default value if one exists */
1340-
Node*defexpr=build_column_default(rel,i+1);
1341+
Node*defexpr=build_column_default(rel,attnum);
13411342

13421343
if (defexpr!=NULL)
13431344
{
13441345
defexprs[num_defaults]=ExecPrepareExpr((Expr*)defexpr,
13451346
estate);
1346-
defmap[num_defaults]=i;
1347+
defmap[num_defaults]=attnum-1;
13471348
num_defaults++;
13481349
}
13491350
}
13501351

13511352
/* If it's a domain type, set up to check domain constraints */
1352-
if (get_typtype(attr[i]->atttypid)=='d')
1353+
if (get_typtype(attr[attnum-1]->atttypid)=='d')
13531354
{
13541355
Param*prm;
13551356
Node*node;
@@ -1365,14 +1366,14 @@ CopyFrom(Relation rel, List *attnumlist, bool binary, bool oids,
13651366
prm=makeNode(Param);
13661367
prm->paramkind=PARAM_EXEC;
13671368
prm->paramid=0;
1368-
prm->paramtype=getBaseType(attr[i]->atttypid);
1369+
prm->paramtype=getBaseType(attr[attnum-1]->atttypid);
13691370

13701371
node=coerce_to_domain((Node*)prm,
13711372
prm->paramtype,
1372-
attr[i]->atttypid,
1373+
attr[attnum-1]->atttypid,
13731374
COERCE_IMPLICIT_CAST);
13741375

1375-
constraintexprs[i]=ExecPrepareExpr((Expr*)node,
1376+
constraintexprs[attnum-1]=ExecPrepareExpr((Expr*)node,
13761377
estate);
13771378
hasConstraints= true;
13781379
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp