Skip site navigation (1) Skip section navigation (2)

Re: Why is there a tsquery data type?

From: Gregory Stark <stark(at)enterprisedb(dot)com>
To: "Bruce Momjian" <bruce(at)momjian(dot)us>
Cc: "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>, "PostgreSQL-development" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Why is there a tsquery data type?
Date: 2007-08-30 16:01:48
Message-ID: 877ind57v7.fsf@oxford.xeocode.com (view raw or flat)
Thread:
Lists: pgsql-hackers
"Bruce Momjian" <bruce(at)momjian(dot)us> writes:

> Gregory Stark wrote:
>> "Bruce Momjian" <bruce(at)momjian(dot)us> writes:
>> 
>> > There is no question things would be clearer with only one text search
>> > data type.  The only value I can see to having a tsquery data type is
>> > that you can store a tsquery value in a column, but why would that be
>> > much better than just storing it in a TEXT field?
>> 
>> When you try storing a tsquery in a column does it alert you if you have an
>> invalid syntax at that point? Storing it as text would mean not finding out
>> until you try to use the query.
>
> Yes it does check syntax:
>
> 	test=> select 'lkjadsf kjfdsa'::tsquery;
> 	ERROR:  syntax error in tsearch query: "lkjadsf kjfdsa"
>
> A larger question is how many people store queries in the database to
> make it worth the complexity.

So would this still happen if you didn't have a tsquery type? Or would it
throw the error only when the actual matching operator executed and tried to
parse the text?

>> Is converting a text query into the internal format faster or less memory
>> intensive than converting text into the internal representation? When you run
>> a query like "WHERE '...' @@ col" if there wasn't a tsquery data type then
>> '...' would have to be parsed over and over again for each row.
>
> No, internally the TEXT string would be converted to something the
> system could deal with for that query, which is probably what 99% of all
> queries are going to do anyway by calling to_tsquery().

How would that happen if there wasn't a tsquery type?

-- 
  Gregory Stark
  EnterpriseDB          http://www.enterprisedb.com

In response to

Responses

pgsql-hackers by date

Next:From: Tom LaneDate: 2007-08-30 16:08:05
Subject: Re: Re: [COMMITTERS] pgsql: Fix brain fade in DefineIndex(): it was continuing to access the
Previous:From: ohpDate: 2007-08-30 15:49:21
Subject: Re: Re: [COMMITTERS] pgsql: Fix brain fade in DefineIndex(): it was continuing to access the

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group