breaking everything, more or less

This commit is contained in:
Jon Haddad
2014-06-17 12:27:38 -07:00
parent e4a763ceb3
commit c9c8bb4b43
6 changed files with 39 additions and 39 deletions

View File

@@ -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)]

View File

@@ -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)

View File

@@ -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):

View File

@@ -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'})

View File

@@ -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):

View File

@@ -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 == """