mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-02-17 19:30:00 +08:00
Be a bit less cavalier with both the code and the comment for UNKNOWN fix.
This commit is contained in:
parent
cc46c4e862
commit
3d7feba4b3
@ -8,7 +8,7 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $PostgreSQL: pgsql/src/pl/plpgsql/src/pl_exec.c,v 1.261.2.2 2010/08/19 16:54:48 heikki Exp $
|
* $PostgreSQL: pgsql/src/pl/plpgsql/src/pl_exec.c,v 1.261.2.3 2010/08/19 17:31:50 tgl Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
@ -5516,14 +5516,16 @@ exec_eval_using_params(PLpgSQL_execstate *estate, List *params)
|
|||||||
if (ppd->types[i] == UNKNOWNOID)
|
if (ppd->types[i] == UNKNOWNOID)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* Treat 'unknown' parameters as text, that's what most people
|
* Treat 'unknown' parameters as text, since that's what most
|
||||||
* would expect. The backend can coerce unknown constants in a
|
* people would expect. SPI_execute_with_args can coerce unknown
|
||||||
* more intelligent way, but not unknown Params.
|
* constants in a more intelligent way, but not unknown Params.
|
||||||
|
* This code also takes care of copying into the right context.
|
||||||
|
* Note we assume 'unknown' has the representation of C-string.
|
||||||
*/
|
*/
|
||||||
ppd->types[i] = TEXTOID;
|
ppd->types[i] = TEXTOID;
|
||||||
if (!isnull)
|
if (!isnull)
|
||||||
{
|
{
|
||||||
ppd->values[i] = CStringGetTextDatum((char *) ppd->values[i]);
|
ppd->values[i] = CStringGetTextDatum(DatumGetCString(ppd->values[i]));
|
||||||
ppd->freevals[i] = true;
|
ppd->freevals[i] = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user