Re: Problem with index using regular expression

From: Alejandro Dubrovsky <alex(dot)dubrovsky(at)hitwise(dot)com>
To: psycopg(at)postgresql(dot)org
Subject: Re: Problem with index using regular expression
Date: 2011-06-06 07:10:18
Message-ID: 4DEC7D5A.9020005@hitwise.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: psycopg

On 06/06/11 17:07, Federico Di Gregorio wrote:
> On 06/06/11 09:03, Håvard Wahl Kongsgård wrote:
>> substring(nodes.name <http://nodes.name> from
>> E'\\w.*\\s(\\w.*)$|\\w+\\s(\\w.*)$') = substring(income.name
>> <http://income.name> from E'\\w.*\\s(\\w.*)$|\\w+\\s(\\w.*)$') limit 1000")
>
> Try doubling every '\' because that's a Python escape character too and
> you want to send to the database the "\\X" sequence, not "\X"; i.e.,
>
> ... from E'\\\\w.*\\\\s(\\\\w.*)$|\\\\w+\\\\s(\\\\w.*)$') ...
>
It's easier to just put an r at the front of the string.
ie
r"SELECT Distinct On (nodes.id) nodes.ID from nodes inner join income on
substring(nodes.name from E'\\w.*\\s(\\w.*)$|\\w+\\s(\\w.*)$') =
substring(income.name from E'\\w.*\\s(\\w.*)$|\\w+\\s(\\w.*)$') limit 1000"

In response to

Responses

Browse psycopg by date

  From Date Subject
Next Message Håvard Wahl Kongsgård 2011-06-06 08:01:36 Re: Problem with index using regular expression
Previous Message Federico Di Gregorio 2011-06-06 07:07:50 Re: Problem with index using regular expression