segfault using pg_options_to_table(), v9.0.4

Started by Frank van Vugtover 14 years ago2 messagesbugs
Jump to latest
#1Frank van Vugt
ftm.van.vugt@foxi.nl

Hi,

Reading up on the release notes of v9.1 I noticed an 'add documentation for
pg_options_to_table()'. Since I didn't know of this function yet and the entry
implied that it would be there in earlier versions, I was tempted to try in
our current version:

postgres=# select version();
version
---------------------------------------------------------------------------------------
PostgreSQL 9.0.4 on x86_64-unknown-linux-gnu, compiled by GCC gcc (GCC)
4.3.3, 64-bit
(1 row)

the following:

postgres=# select pg_options_to_table('article');
ERROR: array value must start with "{" or dimension information
LINE 1: select pg_options_to_table('article');
^

=> ok, so let's make it an array:

postgres=# select pg_options_to_table(ARRAY['article']);

=> which led to a segfault, from the logs:

--3262-2011-09-13 14:28:18 CESTLOG: server process (PID 7427) was terminated
by signal 11: Segmentation fault
--3262-2011-09-13 14:28:18 CESTLOG: terminating any other active server
processes

I know, should have read the docs first to see that it expects something else
as an argument, but still ;)

--
Best,

Frank.

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Frank van Vugt (#1)
Re: segfault using pg_options_to_table(), v9.0.4

Frank van Vugt <ftm.van.vugt@foxi.nl> writes:

postgres=# select pg_options_to_table(ARRAY['article']);
--3262-2011-09-13 14:28:18 CESTLOG: server process (PID 7427) was terminated
by signal 11: Segmentation fault

Looks like deflist_to_tuplestore fails to handle the case where an
option has no value. Will fix, thanks.

regards, tom lane