mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-12-27 08:39:28 +08:00
deflist_to_tuplestore dumped core on an option with no value.
Make it return NULL for the option_value, instead. Per report from Frank van Vugt. Back-patch to 8.4 where this code was added.
This commit is contained in:
parent
4de174d4bf
commit
cac73320ef
@ -260,7 +260,7 @@ deflist_to_tuplestore(ReturnSetInfo *rsinfo, List *options)
|
||||
TupleDesc tupdesc;
|
||||
Tuplestorestate *tupstore;
|
||||
Datum values[2];
|
||||
bool nulls[2] = {0};
|
||||
bool nulls[2];
|
||||
MemoryContext per_query_ctx;
|
||||
MemoryContext oldcontext;
|
||||
|
||||
@ -292,7 +292,17 @@ deflist_to_tuplestore(ReturnSetInfo *rsinfo, List *options)
|
||||
DefElem *def = lfirst(cell);
|
||||
|
||||
values[0] = CStringGetTextDatum(def->defname);
|
||||
values[1] = CStringGetTextDatum(((Value *) def->arg)->val.str);
|
||||
nulls[0] = false;
|
||||
if (def->arg)
|
||||
{
|
||||
values[1] = CStringGetTextDatum(((Value *) (def->arg))->val.str);
|
||||
nulls[1] = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
values[1] = (Datum) 0;
|
||||
nulls[1] = true;
|
||||
}
|
||||
tuplestore_putvalues(tupstore, tupdesc, values, nulls);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user