Re: tsearch2 problem rank_cd() (possibly) crashing postgres [Update]

From: "Rajesh Kumar Mallah" <mallah(dot)rajesh(at)gmail(dot)com>
To: "Oleg Bartunov" <oleg(at)sai(dot)msu(dot)su>
Cc: pgsql-admin(at)postgresql(dot)org
Subject: Re: tsearch2 problem rank_cd() (possibly) crashing postgres [Update]
Date: 2006-12-08 13:04:58
Message-ID: a97c77030612080504t44a2a14ved27d397ad59453@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

Dear
Oleg,
In local development server. the old functions still exists in
postgresql catalogs. But probably they are missing in the
newer version of tsearch2.so that came with 8.2.0 . And hence
postgres is crashing. I feel this should have been informed in the
release notes.

tradein_clients=> \df *.rank_cd
List of functions
Schema Name Result data type Argument data types
------ ------- ---------------- -----------------------------------
(older ones)
public rank_cd real integer, tsvector, tsquery
public rank_cd real integer, tsvector, tsquery, integer

(new ones)
public rank_cd real real[], tsvector, tsquery
public rank_cd real real[], tsvector, tsquery, integer

public rank_cd real tsvector, tsquery
public rank_cd real tsvector, tsquery, integer
(6 rows)

On 12/8/06, Rajesh Kumar Mallah <mallah(dot)rajesh(at)gmail(dot)com> wrote:
> On 12/8/06, Oleg Bartunov <oleg(at)sai(dot)msu(dot)su> wrote:
> > On Fri, 8 Dec 2006, Rajesh Kumar Mallah wrote:
> >
> > > On 12/8/06, Oleg Bartunov <oleg(at)sai(dot)msu(dot)su> wrote:
> > >> You need to read documentation ! rank_cd accepts the same args as rank()
> > >> function.
> > >
> > > Dear Oleg,
> > >
> > > Could you please elaborate a bit more if time permits.
> > > our application is old and it was working fine in 8.1.5. do i need to
> > > change the sql
> > > to use a different function ?
> >
> > from reference manual:
> >
> > CREATE FUNCTION rank_cd(
> > [ weights float4[], ] vector TSVECTOR, query TSQUERY, [ normalization int4 ]
> > ) RETURNS float4
> >
>
> Dear Oleg,
>
> thanks for the prompt help. looks like we have to modify
> our application code.
>
> i would like to point out :
>
> In our Production Database
>
> \df public.rank_cd
> +--------+---------+------------------+-------------------------------------+
> | Schema | Name | Result data type | Argument data types |
> +--------+---------+------------------+-------------------------------------+
> | public | rank_cd | real | integer, tsvector, tsquery |
> | public | rank_cd | real | integer, tsvector, tsquery, integer |
> | public | rank_cd | real | tsvector, tsquery |
> | public | rank_cd | real | tsvector, tsquery, integer |
> +--------+---------+------------------+-------------------------------------+
> (4 rows)
>
> In tsearch2.sql (with pgsql 8.2.0)
>
> $ grep "CREATE FUNCTION rank_cd" tsearch2.sql
> CREATE FUNCTION rank_cd(float4[], tsvector, tsquery)
> CREATE FUNCTION rank_cd(float4[], tsvector, tsquery, int4)
> CREATE FUNCTION rank_cd(tsvector, tsquery)
> CREATE FUNCTION rank_cd(tsvector, tsquery, int4)
>
> This means first arguments have changed from integer to float4[]
> This means all the application code needs to be changed now :-/
>
>
>
> > postgres=# SELECT name, rank_cd(name_vec,to_tsquery('hello') ) as rank from test where name_vec @@ to_tsquery('hello') ;
> > name | rank
> > -------------+------
> > hello world | 0.1
> > (1 row)
> >
> > or
> >
> > postgres=# SELECT name, rank_cd('{1,1,1,1}',name_vec,to_tsquery('hello') ) as rank from test where name_vec @@ to_tsquery('hello') ;
> > name | rank
> > -------------+------
> > hello world | 1
> > (1 row)
>
> BTW: above did not work for me
>
> i had to explicitly cast '{1,1,1,1}' to '{1,1,1,1}'::float4[] ,
> is anything fishy with my database ?
>
> SELECT name, rank_cd('{1,1,1,1}'::float4[]
> ,name_vec,to_tsquery('hello') ) as rank from test where name_vec
> @@ to_tsquery('hello') ;
>
>
> ( PS: thanks for the nice tsearch software we have been using it since
> "pre tsearch" era. (openfts) )
>
> Regds
> Mallah.
>
> >
> >
> > >
> > >>
> > >> Oleg
> > >> On Fri, 8 Dec 2006, Rajesh Kumar Mallah wrote:
> > >>
> > >
> >
> > Regards,
> > Oleg
> > _____________________________________________________________
> > Oleg Bartunov, Research Scientist, Head of AstroNet (www.astronet.ru),
> > Sternberg Astronomical Institute, Moscow University, Russia
> > Internet: oleg(at)sai(dot)msu(dot)su, http://www.sai.msu.su/~megera/
> > phone: +007(495)939-16-83, +007(495)939-23-83
> >
>

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Oleg Bartunov 2006-12-08 14:57:38 Re: tsearch2 problem rank_cd() (possibly) crashing postgres
Previous Message Rajesh Kumar Mallah 2006-12-08 12:20:41 Re: tsearch2 problem rank_cd() (possibly) crashing postgres