Author: phd
Date: 2009-09-20 09:50:22 -0600 (Sun, 20 Sep 2009)
New Revision: 3979
Modified:
SQLObject/branches/0.10/sqlobject/sqlbuilder.py
Log:
LIKE ... ESCAPE ...
Modified: SQLObject/branches/0.10/sqlobject/sqlbuilder.py
===================================================================
--- SQLObject/branches/0.10/sqlobject/sqlbuilder.py 2009-09-20 15:42:20 UTC (rev 3978)
+++ SQLObject/branches/0.10/sqlobject/sqlbuilder.py 2009-09-20 15:50:22 UTC (rev 3979)
@@ -1130,11 +1130,17 @@
class LIKE(SQLExpression):
op = "LIKE"
- def __init__(self, expr, string):
+ def __init__(self, expr, string, escape=None):
self.expr = expr
self.string = string
+ self.escape = escape
def __sqlrepr__(self, db):
- return "(%s %s (%s))" % (sqlrepr(self.expr, db), self.op, sqlrepr(self.string, db))
+ escape = self.escape
+ like = "%s %s (%s)" % (sqlrepr(self.expr, db), self.op, sqlrepr(self.string, db))
+ if escape is None:
+ return "(%s)" % like
+ else:
+ return "(%s ESCAPE '%s')" % (like, escape)
def components(self):
return [self.expr, self.string]
def execute(self, executor):
|