Author: phd
Date: 2009-09-20 09:42:20 -0600 (Sun, 20 Sep 2009)
New Revision: 3978
Modified:
SQLObject/branches/0.10/sqlobject/sqlbuilder.py
Log:
Refactored RLIKE.
Modified: SQLObject/branches/0.10/sqlobject/sqlbuilder.py
===================================================================
--- SQLObject/branches/0.10/sqlobject/sqlbuilder.py 2009-09-14 16:07:38 UTC (rev 3977)
+++ SQLObject/branches/0.10/sqlobject/sqlbuilder.py 2009-09-20 15:42:20 UTC (rev 3978)
@@ -1152,15 +1152,16 @@
class RLIKE(LIKE):
op = "RLIKE"
+ op_db = {
+ 'firebird': 'RLIKE',
+ 'maxdb': 'RLIKE',
+ 'mysql': 'RLIKE',
+ 'postgres': '~',
+ 'sqlite': 'REGEXP'
+ }
+
def _get_op(self, db):
- if db in ('mysql', 'maxdb', 'firebird'):
- return "RLIKE"
- elif db == 'sqlite':
- return "REGEXP"
- elif db == 'postgres':
- return "~"
- else:
- return "LIKE"
+ return self.op_db.get(db, 'LIKE')
def __sqlrepr__(self, db):
return "(%s %s (%s))" % (
sqlrepr(self.expr, db), self._get_op(db), sqlrepr(self.string, db)
|