Commit 4a46a99d authored by Robert Haas's avatar Robert Haas

postgres_fdw: make_tuple_from_result_row should set cur_attno for ctid.

There's no reason for this function to do this for every other
attribute number and omit it for CTID, especially since
conversion_error_callback has code to handle that case.  This seems
to be an oversight in commit e690b951.

Etsuro Fujita
parent 2a90cb69
......@@ -3803,18 +3803,17 @@ make_tuple_from_result_row(PGresult *res,
valstr = PQgetvalue(res, row, j);
/* convert value to internal representation */
errpos.cur_attno = i;
if (i > 0)
{
/* ordinary column */
Assert(i <= tupdesc->natts);
nulls[i - 1] = (valstr == NULL);
/* Apply the input function even to nulls, to support domains */
errpos.cur_attno = i;
values[i - 1] = InputFunctionCall(&attinmeta->attinfuncs[i - 1],
valstr,
attinmeta->attioparams[i - 1],
attinmeta->atttypmods[i - 1]);
errpos.cur_attno = 0;
}
else if (i == SelfItemPointerAttributeNumber)
{
......@@ -3827,6 +3826,7 @@ make_tuple_from_result_row(PGresult *res,
ctid = (ItemPointer) DatumGetPointer(datum);
}
}
errpos.cur_attno = 0;
j++;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment