Re: [sqlsmith] Failed assertion in TS_phrase_execute - Mailing list pgsql-hackers

From Tom Lane
Subject Re: [sqlsmith] Failed assertion in TS_phrase_execute
Date
Msg-id 14732.1480186277@sss.pgh.pa.us
Whole thread Raw
In response to [sqlsmith] Failed assertion in TS_phrase_execute  (Andreas Seltenreich <seltenreich@gmx.de>)
Responses Re: [sqlsmith] Failed assertion in TS_phrase_execute  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
Andreas Seltenreich <seltenreich@gmx.de> writes:
> the query below triggers an assertion in TS_phrase_execute.  Testing was
> done on master at dbdfd11.

> -- TRAP: FailedAssertion("!(curitem->qoperator.oper == 4)", File: "tsvector_op.c", Line: 1432)

> select 'moscow' @@
>        ts_rewrite('moscow', 'moscow',
>           ts_rewrite(
>          tsquery_phrase('moscow','moscow'),
>          'moscow',
>          $$ 'sanct' & 'peter'$$));

Hmm.  If you run the ts_rewrite alone, it prints

regression=# select  ts_rewrite('moscow', 'moscow',         ts_rewrite(    tsquery_phrase('moscow','moscow'),
'moscow',   $$ 'sanct' & 'peter'$$));                  ts_rewrite                     
-------------------------------------------------( 'sanct' & 'peter' ) <-> ( 'sanct' & 'peter' )
(1 row)

and if you put that in explicitly, all's well:

regression=# select 'moscow' @@ $$( 'sanct' & 'peter' ) <-> ( 'sanct' & 'peter' )$$::tsquery;?column?
----------f
(1 row)

but I notice that some normalization seems to be getting done by
tsqueryin:

regression=# select $$( 'sanct' & 'peter' ) <-> ( 'sanct' & 'peter' )$$::tsquery;
tsquery                                       
--------------------------------------------------------------------------------
-------'sanct' <-> 'sanct' & 'peter' <-> 'sanct' & 'sanct' <-> 'peter' & 'peter' <-> '
peter'
(1 row)

so this seems to boil down to ts_rewrite failing to apply required
normalization.  Or maybe the normalization shouldn't be required.
        regards, tom lane



pgsql-hackers by date:

Previous
From: Andres Freund
Date:
Subject: Re: Skipping PgStat_FunctionCallUsage for many expressions
Next
From: Robert Haas
Date:
Subject: Re: Parallel bitmap heap scan