Re: Why is there a tsquery data type?

From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Gregory Stark <stark(at)enterprisedb(dot)com>
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 15:40:34
Message-ID: 200708301540.l7UFeYC11905@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

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.

> 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().

--
Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://www.enterprisedb.com

+ If your life is a hard drive, Christ can be your backup. +

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2007-08-30 15:44:02 Re: Advice on MyXactMade* flags, MyLastRecPtr, pendingDeletes and lazy XID assignment
Previous Message Gabor Szabo 2007-08-30 15:02:16 Re: testing more than one configuration on a single build machine