Skip to content

Commit 4c65941

Browse files
committed
Use parameter for unary operator
Closes #93
1 parent 698de9c commit 4c65941

3 files changed

Lines changed: 7 additions & 1 deletion

File tree

CHANGELOG

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
* Use parameter for unary operator
12
* Support default values when inserting not matched merge
23
* Replace assert by ValueError
34

sql/operators.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,8 @@ def _operands(self):
121121
return self
122122

123123
def __str__(self):
124-
return '(' + (' %s ' % self._operator).join(map(str, self)) + ')'
124+
return '(' + (' %s ' % self._operator).join(
125+
map(self._format, self)) + ')'
125126

126127

127128
class And(NaryOperator):

sql/tests/test_operators.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,10 @@ def test_and(self):
3232
self.assertEqual(str(and_), '(%s AND "c2")')
3333
self.assertEqual(and_.params, (True,))
3434

35+
and_ = And((Literal(True), 'foo'))
36+
self.assertEqual(str(and_), '(%s AND %s)')
37+
self.assertEqual(and_.params, (True, 'foo'))
38+
3539
def test_operator_operators(self):
3640
and_ = And((Literal(True), self.table.c1))
3741
and2 = and_ & And((Literal(True), self.table.c2))

0 commit comments

Comments
 (0)