Re: Why is there a tsquery data type? - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: Why is there a tsquery data type?
Date
Msg-id 200708301621.l7UGLVA18356@momjian.us
Whole thread Raw
In response to Re: Why is there a tsquery data type?  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
Tom Lane wrote:
> Gregory Stark <stark@enterprisedb.com> writes:
> > How would that happen if there wasn't a tsquery type?
> 
> I don't think Bruce is suggesting that the search operand can really
> be plain text (or if he is, he's nuts).  The question here is whether

Yes, that is what I was suggesting because as I mentioned TEXT already
functions fine as tsquery.

> there's really a need for a distinction between tsvector and tsquery
> datatypes; could we have tsvector serve both purposes instead?
> 
> I can see that there are differences: tsquery can tell the difference
> between "x AND y" and "x OR y", whereas tsvector just knows "x, y".
> A superset datatype that can do both is certainly possible, but whether
> it's practical, or would be easier to use than the current design,
> I dunno.

Because of the special behavior of & and |, I assume tsquery and
tsvector cannot be the same data type.

> Perhaps a suitable analogy is regexp pattern matching.  Traditionally
> regexps are conceived of as strings, but if they'd originated in more
> strongly typed languages than they did, they'd certainly be thought
> of as a distinct data type.  Had we implemented ~ as taking a right
> operand of type 'regexp', we could win on a number of levels: entry-time
> syntax checking for regexps, and a precompiled internal representation,
> for instance.  For regexps it seems clear to me that the target text
> string and the pattern really are different datatypes, and fuzzing that
> distinction is not an improvement.

Yes, this is a good analogy.

--  Bruce Momjian  <bruce@momjian.us>          http://momjian.us EnterpriseDB
http://www.enterprisedb.com
 + If your life is a hard drive, Christ can be your backup. +


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Why is there a tsquery data type?
Next
From: Andrew Dunstan
Date:
Subject: Re: Re: [COMMITTERS] pgsql: Fix brain fade in DefineIndex(): it was continuing to access the