Re: [BUGS] BUG #14826: Malformed array dimensions for empty arrays in return column "lexemes" of ts_debug() - Mailing list pgsql-bugs

From Tom Lane
Subject Re: [BUGS] BUG #14826: Malformed array dimensions for empty arrays in return column "lexemes" of ts_debug()
Date
Msg-id 26928.1506183968@sss.pgh.pa.us
Whole thread Raw
In response to [BUGS] BUG #14826: Malformed array dimensions for empty arrays in returncolumn "lexemes" of ts_debug()  (brsaweda@gmail.com)
List pgsql-bugs
brsaweda@gmail.com writes:
> test=# SELECT token, lexemes, lexemes = '{}'::text[]
> test-# FROM   ts_debug('a title');
>  token | lexemes | ?column?
> -------+---------+----------
>  a     | {}      | f
>        |         |
>  title | {titl}  | f

> The root of the problem seems to be malformed array dimensions.
> array_dims(lexemes) returns [1:0], while I would expect NULL:

Yeah, that's a bug --- looks like ts_lexize is the root problem.

I'm a bit tempted to fix this centrally by having construct_array()
do something different for zero-dimensioned input, rather than
putting a special case into ts_lexize().  We've been bitten by
this type of insect a few times too many.  The question is
whether there's any code that relies on being able to construct
such malformed arrays ...
        regards, tom lane


-- 
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

pgsql-bugs by date:

Previous
From: Tom Lane
Date:
Subject: Re: [BUGS] BUG #14825: enum type: unsafe use?
Next
From: Andrew Dunstan
Date:
Subject: Re: [BUGS] BUG #14825: enum type: unsafe use?