Re: [HACKERS] tsearch2 error msg

2006-10-04 Thread Markus Schaber
Hi, Tom,

Tom Lane wrote:

 No, it should be something like
 
   syntax error in tsearch query: contents of string
 
 since it's not always the case that you know exactly what string got fed
 to to_tsquery().

I agree.

It's also possible that you have more than one tsearch expression in the
query (e. G. by joining different tables), so that will help further.

HTH,
Markus

-- 
Markus Schaber | Logical TrackingTracing International AG
Dipl. Inf. | Software Development GIS

Fight against software patents in Europe! www.ffii.org
www.nosoftwarepatents.org



signature.asc
Description: OpenPGP digital signature


[HACKERS] tsearch2 error msg

2006-10-03 Thread Magnus Hagander
search=# select to_tsquery('foo bar');
ERROR:  syntax error


Might want to enhance that message to include the information that it's
parsing the tsquery that's failing? I originally had it as part of a
much larger query, and it took me a while to remember that it's tsearch
that spits out that very generic error message.

//Magnus


---(end of broadcast)---
TIP 9: In versions below 8.0, the planner will ignore your desire to
   choose an index scan if your joining column's datatypes do not
   match


Re: [HACKERS] tsearch2 error msg

2006-10-03 Thread Teodor Sigaev

Might want to enhance that message to include the information that it's
parsing the tsquery that's failing? I originally had it as part of a
much larger query, and it took me a while to remember that it's tsearch
that spits out that very generic error message.

It possible, but not for 8.2 :(


BTW, try
# select plainto_tsquery('foo bar');
 plainto_tsquery
-
 'foo'  'bar'
(1 row)

It parses plain text and makes tsquery. Function exists only in 8.2 - some later 
we add docs about changes in tsearch2.



--
Teodor Sigaev   E-mail: [EMAIL PROTECTED]
   WWW: http://www.sigaev.ru/

---(end of broadcast)---
TIP 3: Have you checked our extensive FAQ?

  http://www.postgresql.org/docs/faq


Re: [HACKERS] tsearch2 error msg

2006-10-03 Thread Magnus Hagander
  Might want to enhance that message to include the information
 that
  it's parsing the tsquery that's failing? I originally had it as
 part
  of a much larger query, and it took me a while to remember that
 it's
  tsearch that spits out that very generic error message.
 It possible, but not for 8.2 :(

Ok :-( Might want to put on TIDI?


 BTW, try
 # select plainto_tsquery('foo bar');
   plainto_tsquery
 -
   'foo'  'bar'
 (1 row)
 
 It parses plain text and makes tsquery. Function exists only in 8.2
 - some later we add docs about changes in tsearch2.

Ah, just what i've been looking for. The tsearch2 enhancements in 8.2
just get better and better :-)
(And I'm working on 8.2beta, so it's not a problem)

//Magnus


---(end of broadcast)---
TIP 1: if posting/reading through Usenet, please send an appropriate
   subscribe-nomail command to [EMAIL PROTECTED] so that your
   message can get through to the mailing list cleanly


Re: [HACKERS] tsearch2 error msg

2006-10-03 Thread AgentM


On Oct 3, 2006, at 10:49 , Oleg Bartunov wrote:


On Tue, 3 Oct 2006, Magnus Hagander wrote:


BTW, try
# select plainto_tsquery('foo bar');
  plainto_tsquery
-
  'foo'  'bar'
(1 row)

It parses plain text and makes tsquery. Function exists only in 8.2
- some later we add docs about changes in tsearch2.


Current docs, covering 8.2 is available from http://www.sai.msu.su/ 
~megera/wiki/tsearch2slides


This is great news- previously, I was using various regexes to  
sanitize input into user-accessible search fields. Would it be build  
in some simple query language?


sam AND spade
blue OR yellow
(same AND spade) OR (blue AND yellow)

Obviously, the conjunctions would need to be defined on a per-locale  
basis.


-M

---(end of broadcast)---
TIP 6: explain analyze is your friend


Re: [HACKERS] tsearch2 error msg

2006-10-03 Thread Teodor Sigaev
This is great news- previously, I was using various regexes to sanitize 
input into user-accessible search fields. Would it be build in some 
simple query language?


sam AND spade
blue OR yellow
(same AND spade) OR (blue AND yellow)


That's exactly to_tsquery syntax, just change AND to  and OR to |. :)
So, if you can validate AND/OR then you can validate /| syntax or validate 
AND/OR and change they to tsquery's equivalents.




--
Teodor Sigaev   E-mail: [EMAIL PROTECTED]
   WWW: http://www.sigaev.ru/

---(end of broadcast)---
TIP 5: don't forget to increase your free space map settings


Re: [HACKERS] tsearch2 error msg

2006-10-03 Thread Martijn van Oosterhout
On Tue, Oct 03, 2006 at 04:34:06PM +0200, Magnus Hagander wrote:
 search=# select to_tsquery('foo bar');
 ERROR:  syntax error

Seems to me, at the very least, the message should be:

ERROR: tsearch: syntax error

Then people have an idea where it comes from.

Have a nice day,
-- 
Martijn van Oosterhout   kleptog@svana.org   http://svana.org/kleptog/
 From each according to his ability. To each according to his ability to 
 litigate.


signature.asc
Description: Digital signature


Re: [HACKERS] tsearch2 error msg

2006-10-03 Thread Tom Lane
Martijn van Oosterhout kleptog@svana.org writes:
 On Tue, Oct 03, 2006 at 04:34:06PM +0200, Magnus Hagander wrote:
 search=3D# select to_tsquery('foo bar');
 ERROR:  syntax error

 Seems to me, at the very least, the message should be:
 ERROR: tsearch: syntax error

No, it should be something like

syntax error in tsearch query: contents of string

since it's not always the case that you know exactly what string got fed
to to_tsquery().

regards, tom lane

---(end of broadcast)---
TIP 1: if posting/reading through Usenet, please send an appropriate
   subscribe-nomail command to [EMAIL PROTECTED] so that your
   message can get through to the mailing list cleanly