Re: CVS HEAD dumps core on simple tsvector input example

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
Cc: Oleg Bartunov <oleg(at)sai(dot)msu(dot)su>, Teodor Sigaev <teodor(at)sigaev(dot)ru>, pgsql-hackers(at)postgreSQL(dot)org
Subject: Re: CVS HEAD dumps core on simple tsvector input example
Date: 2007-10-17 22:41:56
Message-ID: 12373.1192660916@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Alvaro Herrera <alvherre(at)commandprompt(dot)com> writes:
> Tom Lane wrote:
>> BTW, why does the 'a':6 lexeme disappear? To the extent that I
>> understand how this should work, I'd have expected 'a' and 'a':6
>> to merge into 'a':6 not plain 'a'.

> 'a':1,6 perhaps?

No, it would be inappropriate to add a '1' that wasn't specified.

My reasoning is that 'a':1 and 'a':6 are distinct bits of information,
hence their combination is 'a':1,6. But 'a' doesn't give any more
information than 'a':6 so it should be dropped by the
duplicate-elimination code. It's not clear to me whether that's
what Oleg and Teodor think, though.

Hm, just found a variant of the bug:

regression=# select 'a a:6'::tsvector;
tsvector
----------
'a'
(1 row)

regression=# select 'a a:6'::tsvector;
tsvector
--------------------------------------------------------------------------
'a':6,16255C,0,12C,8C,2640,0,512,0,312,12C,400C,0,312,0,1,0,0,8448C,21,6
(1 row)

This makes it look even more like a memory-corruption issue.

regards, tom lane

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2007-10-17 23:22:04 Re: About to remove current contents of contrib/tsearch2
Previous Message Alvaro Herrera 2007-10-17 22:30:36 Re: CVS HEAD dumps core on simple tsvector input example