From 0cc04e6e1b70abc4817f275a898aa063da3de007 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Wed, 19 Mar 2008 19:35:42 +0000 Subject: - like() and ilike() take an optional keyword argument "escape=", which is set as the escape character using the syntax "x LIKE y ESCAPE ''" [ticket:993] --- lib/sqlalchemy/databases/postgres.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'lib/sqlalchemy/databases/postgres.py') diff --git a/lib/sqlalchemy/databases/postgres.py b/lib/sqlalchemy/databases/postgres.py index 10f384475..a34388a89 100644 --- a/lib/sqlalchemy/databases/postgres.py +++ b/lib/sqlalchemy/databases/postgres.py @@ -641,8 +641,8 @@ class PGCompiler(compiler.DefaultCompiler): operators.update( { sql_operators.mod : '%%', - sql_operators.ilike_op: 'ILIKE', - sql_operators.notilike_op: 'NOT ILIKE' + sql_operators.ilike_op: lambda x, y, escape=None: '%s ILIKE %s' % (x, y) + (escape and ' ESCAPE \'%s\'' % escape or ''), + sql_operators.notilike_op: lambda x, y, escape=None: '%s NOT ILIKE %s' % (x, y) + (escape and ' ESCAPE \'%s\'' % escape or ''), } ) -- cgit v1.2.1