breaking everything, more or less
This commit is contained in:
@@ -101,7 +101,7 @@ class WhereClause(BaseClause):
|
||||
|
||||
def __unicode__(self):
|
||||
field = ('"{}"' if self.quote_field else '{}').format(self.field)
|
||||
return u'{} {} {}'.format(field, self.operator, unicode(self.query_value))
|
||||
return u'{} {} ?'.format(field, self.operator)
|
||||
|
||||
def __hash__(self):
|
||||
return super(WhereClause, self).__hash__() ^ hash(self.operator)
|
||||
@@ -129,7 +129,7 @@ class AssignmentClause(BaseClause):
|
||||
""" a single variable st statement """
|
||||
|
||||
def __unicode__(self):
|
||||
return u'"{}" = :{}'.format(self.field, self.context_id)
|
||||
return u'"{}" = ?'.format(self.field)
|
||||
|
||||
def insert_tuple(self):
|
||||
return self.field, self.context_id
|
||||
@@ -170,15 +170,15 @@ class SetUpdateClause(ContainerUpdateClause):
|
||||
qs = []
|
||||
ctx_id = self.context_id
|
||||
if self.previous is None and not (self._assignments or self._additions or self._removals):
|
||||
qs += ['"{}" = :{}'.format(self.field, ctx_id)]
|
||||
qs += ['"{}" = ?'.format(self.field)]
|
||||
if self._assignments:
|
||||
qs += ['"{}" = :{}'.format(self.field, ctx_id)]
|
||||
qs += ['"{}" = ?'.format(self.field)]
|
||||
ctx_id += 1
|
||||
if self._additions:
|
||||
qs += ['"{0}" = "{0}" + :{1}'.format(self.field, ctx_id)]
|
||||
qs += ['"{0}" = "{0}" + ?'.format(self.field)]
|
||||
ctx_id += 1
|
||||
if self._removals:
|
||||
qs += ['"{0}" = "{0}" - :{1}'.format(self.field, ctx_id)]
|
||||
qs += ['"{0}" = "{0}" - ?'.format(self.field)]
|
||||
|
||||
return ', '.join(qs)
|
||||
|
||||
@@ -232,15 +232,15 @@ class ListUpdateClause(ContainerUpdateClause):
|
||||
qs = []
|
||||
ctx_id = self.context_id
|
||||
if self._assignments is not None:
|
||||
qs += ['"{}" = :{}'.format(self.field, ctx_id)]
|
||||
qs += ['"{}" = ?'.format(self.field)]
|
||||
ctx_id += 1
|
||||
|
||||
if self._prepend:
|
||||
qs += ['"{0}" = :{1} + "{0}"'.format(self.field, ctx_id)]
|
||||
qs += ['"{0}" = ? + "{0}"'.format(self.field)]
|
||||
ctx_id += 1
|
||||
|
||||
if self._append:
|
||||
qs += ['"{0}" = "{0}" + :{1}'.format(self.field, ctx_id)]
|
||||
qs += ['"{0}" = "{0}" + ?'.format(self.field)]
|
||||
|
||||
return ', '.join(qs)
|
||||
|
||||
@@ -356,10 +356,10 @@ class MapUpdateClause(ContainerUpdateClause):
|
||||
|
||||
ctx_id = self.context_id
|
||||
if self.previous is None and not self._updates:
|
||||
qs += ['"int_map" = :1']
|
||||
qs += ['"int_map" = ?']
|
||||
else:
|
||||
for _ in self._updates or []:
|
||||
qs += ['"{}"[:{}] = :{}'.format(self.field, ctx_id, ctx_id + 1)]
|
||||
qs += ['"{}"[?] = ?'.format(self.field)]
|
||||
ctx_id += 2
|
||||
|
||||
return ', '.join(qs)
|
||||
@@ -380,7 +380,7 @@ class CounterUpdateClause(ContainerUpdateClause):
|
||||
def __unicode__(self):
|
||||
delta = self.value - self.previous
|
||||
sign = '-' if delta < 0 else '+'
|
||||
return '"{0}" = "{0}" {1} :{2}'.format(self.field, sign, self.context_id)
|
||||
return '"{0}" = "{0}" {1} ?'.format(self.field, sign)
|
||||
|
||||
|
||||
class BaseDeleteClause(BaseClause):
|
||||
@@ -428,7 +428,7 @@ class MapDeleteClause(BaseDeleteClause):
|
||||
|
||||
def __unicode__(self):
|
||||
if not self._analyzed: self._analyze()
|
||||
return ', '.join(['"{}"[:{}]'.format(self.field, self.context_id + i) for i in range(len(self._removals))])
|
||||
return ', '.join(['"{}"[?]'.format(self.field) for i in range(len(self._removals))])
|
||||
|
||||
|
||||
class BaseCQLStatement(object):
|
||||
@@ -626,7 +626,7 @@ class InsertStatement(AssignmentStatement):
|
||||
|
||||
qs += ["({})".format(', '.join(['"{}"'.format(c) for c in columns]))]
|
||||
qs += ['VALUES']
|
||||
qs += ["({})".format(', '.join([':{}'.format(v) for v in values]))]
|
||||
qs += ["({})".format(', '.join(['?' for v in values]))]
|
||||
|
||||
if self.ttl:
|
||||
qs += ["USING TTL {}".format(self.ttl)]
|
||||
|
@@ -25,7 +25,7 @@ class SetUpdateClauseTests(TestCase):
|
||||
self.assertIsNone(c._removals)
|
||||
|
||||
self.assertEqual(c.get_context_size(), 1)
|
||||
self.assertEqual(str(c), '"s" = :0')
|
||||
self.assertEqual(str(c), '"s" = ?')
|
||||
|
||||
ctx = {}
|
||||
c.update_context(ctx)
|
||||
@@ -75,7 +75,7 @@ class SetUpdateClauseTests(TestCase):
|
||||
self.assertIsNone(c._removals)
|
||||
|
||||
self.assertEqual(c.get_context_size(), 1)
|
||||
self.assertEqual(str(c), '"s" = "s" + :0')
|
||||
self.assertEqual(str(c), '"s" = "s" + ?')
|
||||
|
||||
ctx = {}
|
||||
c.update_context(ctx)
|
||||
@@ -91,7 +91,7 @@ class SetUpdateClauseTests(TestCase):
|
||||
self.assertEqual(c._removals, {3})
|
||||
|
||||
self.assertEqual(c.get_context_size(), 1)
|
||||
self.assertEqual(str(c), '"s" = "s" - :0')
|
||||
self.assertEqual(str(c), '"s" = "s" - ?')
|
||||
|
||||
ctx = {}
|
||||
c.update_context(ctx)
|
||||
@@ -107,7 +107,7 @@ class SetUpdateClauseTests(TestCase):
|
||||
self.assertEqual(c._removals, {1})
|
||||
|
||||
self.assertEqual(c.get_context_size(), 2)
|
||||
self.assertEqual(str(c), '"s" = "s" + :0, "s" = "s" - :1')
|
||||
self.assertEqual(str(c), '"s" = "s" + ?, "s" = "s" - ?')
|
||||
|
||||
ctx = {}
|
||||
c.update_context(ctx)
|
||||
@@ -126,7 +126,7 @@ class ListUpdateClauseTests(TestCase):
|
||||
self.assertIsNone(c._prepend)
|
||||
|
||||
self.assertEqual(c.get_context_size(), 1)
|
||||
self.assertEqual(str(c), '"s" = :0')
|
||||
self.assertEqual(str(c), '"s" = ?')
|
||||
|
||||
ctx = {}
|
||||
c.update_context(ctx)
|
||||
@@ -142,7 +142,7 @@ class ListUpdateClauseTests(TestCase):
|
||||
self.assertIsNone(c._prepend)
|
||||
|
||||
self.assertEqual(c.get_context_size(), 1)
|
||||
self.assertEqual(str(c), '"s" = :0')
|
||||
self.assertEqual(str(c), '"s" = ?')
|
||||
|
||||
ctx = {}
|
||||
c.update_context(ctx)
|
||||
@@ -158,7 +158,7 @@ class ListUpdateClauseTests(TestCase):
|
||||
self.assertIsNone(c._prepend)
|
||||
|
||||
self.assertEqual(c.get_context_size(), 1)
|
||||
self.assertEqual(str(c), '"s" = :0')
|
||||
self.assertEqual(str(c), '"s" = ?')
|
||||
|
||||
ctx = {}
|
||||
c.update_context(ctx)
|
||||
@@ -174,7 +174,7 @@ class ListUpdateClauseTests(TestCase):
|
||||
self.assertIsNone(c._prepend)
|
||||
|
||||
self.assertEqual(c.get_context_size(), 1)
|
||||
self.assertEqual(str(c), '"s" = "s" + :0')
|
||||
self.assertEqual(str(c), '"s" = "s" + ?')
|
||||
|
||||
ctx = {}
|
||||
c.update_context(ctx)
|
||||
@@ -190,7 +190,7 @@ class ListUpdateClauseTests(TestCase):
|
||||
self.assertEqual(c._prepend, [1, 2])
|
||||
|
||||
self.assertEqual(c.get_context_size(), 1)
|
||||
self.assertEqual(str(c), '"s" = :0 + "s"')
|
||||
self.assertEqual(str(c), '"s" = ? + "s"')
|
||||
|
||||
ctx = {}
|
||||
c.update_context(ctx)
|
||||
@@ -207,7 +207,7 @@ class ListUpdateClauseTests(TestCase):
|
||||
self.assertEqual(c._prepend, [1, 2])
|
||||
|
||||
self.assertEqual(c.get_context_size(), 2)
|
||||
self.assertEqual(str(c), '"s" = :0 + "s", "s" = "s" + :1')
|
||||
self.assertEqual(str(c), '"s" = ? + "s", "s" = "s" + ?')
|
||||
|
||||
ctx = {}
|
||||
c.update_context(ctx)
|
||||
@@ -225,7 +225,7 @@ class ListUpdateClauseTests(TestCase):
|
||||
self.assertIsNone(c._prepend)
|
||||
|
||||
self.assertEqual(c.get_context_size(), 1)
|
||||
self.assertEqual(str(c), '"s" = :0')
|
||||
self.assertEqual(str(c), '"s" = ?')
|
||||
|
||||
ctx = {}
|
||||
c.update_context(ctx)
|
||||
@@ -241,7 +241,7 @@ class MapUpdateTests(TestCase):
|
||||
|
||||
self.assertEqual(c._updates, [3, 5])
|
||||
self.assertEqual(c.get_context_size(), 4)
|
||||
self.assertEqual(str(c), '"s"[:0] = :1, "s"[:2] = :3')
|
||||
self.assertEqual(str(c), '"s"[?] = ?, "s"[?] = ?')
|
||||
|
||||
ctx = {}
|
||||
c.update_context(ctx)
|
||||
@@ -254,7 +254,7 @@ class MapUpdateTests(TestCase):
|
||||
|
||||
self.assertEqual(c._updates, [3, 5])
|
||||
self.assertEqual(c.get_context_size(), 4)
|
||||
self.assertEqual(str(c), '"s"[:0] = :1, "s"[:2] = :3')
|
||||
self.assertEqual(str(c), '"s"[?] = ?, "s"[?] = ?')
|
||||
|
||||
ctx = {}
|
||||
c.update_context(ctx)
|
||||
@@ -275,7 +275,7 @@ class CounterUpdateTests(TestCase):
|
||||
c.set_context_id(5)
|
||||
|
||||
self.assertEqual(c.get_context_size(), 1)
|
||||
self.assertEqual(str(c), '"a" = "a" + :5')
|
||||
self.assertEqual(str(c), '"a" = "a" + ?')
|
||||
|
||||
ctx = {}
|
||||
c.update_context(ctx)
|
||||
@@ -286,7 +286,7 @@ class CounterUpdateTests(TestCase):
|
||||
c.set_context_id(3)
|
||||
|
||||
self.assertEqual(c.get_context_size(), 1)
|
||||
self.assertEqual(str(c), '"a" = "a" - :3')
|
||||
self.assertEqual(str(c), '"a" = "a" - ?')
|
||||
|
||||
ctx = {}
|
||||
c.update_context(ctx)
|
||||
@@ -297,7 +297,7 @@ class CounterUpdateTests(TestCase):
|
||||
c.set_context_id(5)
|
||||
|
||||
self.assertEqual(c.get_context_size(), 1)
|
||||
self.assertEqual(str(c), '"a" = "a" + :5')
|
||||
self.assertEqual(str(c), '"a" = "a" + ?')
|
||||
|
||||
ctx = {}
|
||||
c.update_context(ctx)
|
||||
@@ -313,7 +313,7 @@ class MapDeleteTests(TestCase):
|
||||
|
||||
self.assertEqual(c._removals, [1, 5])
|
||||
self.assertEqual(c.get_context_size(), 2)
|
||||
self.assertEqual(str(c), '"s"[:0], "s"[:1]')
|
||||
self.assertEqual(str(c), '"s"[?], "s"[?]')
|
||||
|
||||
ctx = {}
|
||||
c.update_context(ctx)
|
||||
|
@@ -31,7 +31,7 @@ class DeleteStatementTests(TestCase):
|
||||
def test_where_clause_rendering(self):
|
||||
ds = DeleteStatement('table', None)
|
||||
ds.add_where_clause(WhereClause('a', EqualsOperator(), 'b'))
|
||||
self.assertEqual(unicode(ds), 'DELETE FROM table WHERE "a" = :0', unicode(ds))
|
||||
self.assertEqual(unicode(ds), 'DELETE FROM table WHERE "a" = ?', unicode(ds))
|
||||
|
||||
def test_context_update(self):
|
||||
ds = DeleteStatement('table', None)
|
||||
@@ -39,7 +39,7 @@ class DeleteStatementTests(TestCase):
|
||||
ds.add_where_clause(WhereClause('a', EqualsOperator(), 'b'))
|
||||
|
||||
ds.update_context_id(7)
|
||||
self.assertEqual(unicode(ds), 'DELETE "d"[:8] FROM table WHERE "a" = :7')
|
||||
self.assertEqual(unicode(ds), 'DELETE "d"[?] FROM table WHERE "a" = ?')
|
||||
self.assertEqual(ds.get_context(), {'7': 'b', '8': 3})
|
||||
|
||||
def test_context(self):
|
||||
|
@@ -17,7 +17,7 @@ class InsertStatementTests(TestCase):
|
||||
|
||||
self.assertEqual(
|
||||
unicode(ist),
|
||||
'INSERT INTO table ("a", "c") VALUES (:0, :1)'
|
||||
'INSERT INTO table ("a", "c") VALUES (?, ?)'
|
||||
)
|
||||
|
||||
def test_context_update(self):
|
||||
@@ -28,7 +28,7 @@ class InsertStatementTests(TestCase):
|
||||
ist.update_context_id(4)
|
||||
self.assertEqual(
|
||||
unicode(ist),
|
||||
'INSERT INTO table ("a", "c") VALUES (:4, :5)'
|
||||
'INSERT INTO table ("a", "c") VALUES (?, ?)'
|
||||
)
|
||||
ctx = ist.get_context()
|
||||
self.assertEqual(ctx, {'4': 'b', '5': 'd'})
|
||||
|
@@ -16,7 +16,7 @@ class UpdateStatementTests(TestCase):
|
||||
us.add_assignment_clause(AssignmentClause('a', 'b'))
|
||||
us.add_assignment_clause(AssignmentClause('c', 'd'))
|
||||
us.add_where_clause(WhereClause('a', EqualsOperator(), 'x'))
|
||||
self.assertEqual(unicode(us), 'UPDATE table SET "a" = :0, "c" = :1 WHERE "a" = :2', unicode(us))
|
||||
self.assertEqual(unicode(us), 'UPDATE table SET "a" = ?, "c" = ? WHERE "a" = ?', unicode(us))
|
||||
|
||||
def test_context(self):
|
||||
us = UpdateStatement('table')
|
||||
@@ -31,7 +31,7 @@ class UpdateStatementTests(TestCase):
|
||||
us.add_assignment_clause(AssignmentClause('c', 'd'))
|
||||
us.add_where_clause(WhereClause('a', EqualsOperator(), 'x'))
|
||||
us.update_context_id(3)
|
||||
self.assertEqual(unicode(us), 'UPDATE table SET "a" = :4, "c" = :5 WHERE "a" = :3')
|
||||
self.assertEqual(unicode(us), 'UPDATE table SET "a" = ?, "c" = ? WHERE "a" = ?')
|
||||
self.assertEqual(us.get_context(), {'4': 'b', '5': 'd', '3': 'x'})
|
||||
|
||||
def test_additional_rendering(self):
|
||||
|
@@ -14,8 +14,8 @@ class TestWhereClause(TestCase):
|
||||
""" tests that where clauses are rendered properly """
|
||||
wc = WhereClause('a', EqualsOperator(), 'c')
|
||||
wc.set_context_id(5)
|
||||
self.assertEqual('"a" = :5', unicode(wc))
|
||||
self.assertEqual('"a" = :5', str(wc))
|
||||
self.assertEqual('"a" = ?', unicode(wc))
|
||||
self.assertEqual('"a" = ?', str(wc))
|
||||
|
||||
def test_equality_method(self):
|
||||
""" tests that 2 identical where clauses evaluate as == """
|
||||
|
Reference in New Issue
Block a user