Re: Zero-length character breaking query? - Mailing list pgsql-general

From Doug Gorley
Subject Re: Zero-length character breaking query?
Date
Msg-id 571E120A87CC684288FDD20126E4B4D674DE93CD43@HEXMBVS13.hostedmsx.local
Whole thread Raw
In response to Re: Zero-length character breaking query?  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-general
Thanks Tom; this is at a client site, so I have limited access, but it looks like a REINDEX resolves the issue.

Doug

-----Original Message-----
From: Tom Lane [mailto:tgl@sss.pgh.pa.us]
Sent: March 16, 2012 6:33 AM
To: Doug Gorley
Cc: pgsql-general@postgresql.org
Subject: Re: [GENERAL] Zero-length character breaking query?

Doug Gorley <dgorley@aihs.ca> writes:
> The table is called tdt_unsent.  The field is str_name_l.  For demonstration purposes,  the value is "SMITH".

> "select * from tdt_unsent where str_name_l = 'SMITH'" returns 0 rows.
> "select * from tdt_unsent where str_name_l ~ '^SMITH'" returns 3 rows.
> "select * from tdt_unsent where str_name_l ~ '^SMITH$'" returns 0 rows.
> "select length(str_name_l) from tdt_unsent where str_name_l ~ '^SMITH'" returns "5".

I'd check EXPLAIN (with the actual problematic string, not SMITH).
The planner is probably trying to build an index range condition from the regex pattern --- is it doing the right thing
givenyour locale? 

If the plan looks okay, maybe you need to reindex whatever index it's using.

            regards, tom lane

pgsql-general by date:

Previous
From: Adrian Klaver
Date:
Subject: Re: How to isolate the result of SELECT's?
Next
From: Jayadevan M
Date:
Subject: Re: How to isolate the result of SELECT's?