Fixed operator overloading in SA05 dialect; was doing so globally instead of dialect-local.
This commit is contained in:
parent
416a710dff
commit
4369f88c54
1 changed files with 10 additions and 3 deletions
|
@ -25,16 +25,23 @@
|
|||
|
||||
from sqlalchemy import types, Column, PrimaryKeyConstraint
|
||||
from sqlalchemy.sql.compiler import OPERATORS
|
||||
from sqlalchemy.sql import operators
|
||||
from sqlalchemy.sql import operators as sql_operators
|
||||
|
||||
from sqlbase7_sa.sqlbase7 import SQLBase7Dialect
|
||||
from sqlbase7_sa.sqlbase7 import SQLBase7Compiler, SQLBase7Dialect
|
||||
|
||||
|
||||
OPERATORS[operators.ilike_op] = lambda x, y, escape=None: "@lower(%s) LIKE @lower(%s)" % (x, y) + (escape and ' ESCAPE \'%s\'' % escape or '')
|
||||
class SQLBase7Compiler_SA05(SQLBase7Compiler):
|
||||
|
||||
operators = SQLBase7Compiler.operators.copy()
|
||||
operators.update({
|
||||
sql_operators.ilike_op: lambda x, y, escape=None: "@lower(%s) LIKE @lower(%s)" % (x, y) + (escape and ' ESCAPE \'%s\'' % escape or ''),
|
||||
})
|
||||
|
||||
|
||||
class SQLBase7Dialect_SA05(SQLBase7Dialect):
|
||||
|
||||
statement_compiler = SQLBase7Compiler_SA05
|
||||
|
||||
@classmethod
|
||||
def dbapi(cls):
|
||||
import pyodbc
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue