on the apparent string message sent in the exception; tested
against mysqlconnector 1.0.9.
+ .. change::
+ :tags: bug, sql, mssql
+ :tickets: 2682
+
+ Regression from this ticket caused the unsupported keyword
+ "true" to render, added logic to convert this to 1/0
+ for SQL server.
+
.. changelog::
:version: 0.8.1
:released: April 27, 2013
(self.process(binary.left, **kw),
self.process(binary.right, **kw))
+ def visit_true(self, expr, **kw):
+ return '1'
+
+ def visit_false(self, expr, **kw):
+ return '0'
+
def visit_match_op_binary(self, binary, operator, **kw):
return "CONTAINS (%s, %s)" % (
self.process(binary.left, **kw),
import decimal
from sqlalchemy.engine.reflection import Inspector
from sqlalchemy.util.compat import b
+from sqlalchemy import sql
+
class CompileTest(fixtures.TestBase, AssertsCompiledSQL):
__dialect__ = mssql.dialect()
+ def test_true_false(self):
+ self.assert_compile(
+ sql.false(), "0"
+ )
+ self.assert_compile(
+ sql.true(),
+ "1"
+ )
+
def test_select(self):
t = table('sometable', column('somecolumn'))
self.assert_compile(t.select(),
from sqlalchemy.testing.schema import Table, Column
import datetime
import os
+from sqlalchemy import sql
class OutParamTest(fixtures.TestBase, AssertsExecutionResults):
__dialect__ = oracle.dialect()
+ def test_true_false(self):
+ self.assert_compile(
+ sql.false(), "0"
+ )
+ self.assert_compile(
+ sql.true(),
+ "1"
+ )
+
def test_owner(self):
meta = MetaData()
parent = Table('parent', meta, Column('id', Integer,