[SQL-CVS] r3979 - SQLObject/branches/0.10/sqlobject
SQLObject is a Python ORM.
Brought to you by:
ianbicking,
phd
From: <sub...@co...> - 2009-09-20 15:50:35
|
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): |