Revision: 620f813baae3
Author: paul cannon <[email protected]>
Date: Mon Jul 9 21:42:25 2012
Log: raise an error when unicode given for CQL query
Fixes #19.
http://code.google.com/a/apache-extras.org/p/cassandra-dbapi2/source/detail?r=620f813baae3
Modified:
/cql/cursor.py
/test/test_cql.py
/test/test_prepared_queries.py
=======================================
--- /cql/cursor.py Mon Mar 26 10:25:06 2012
+++ /cql/cursor.py Mon Jul 9 21:42:25 2012
@@ -92,6 +92,8 @@
return self.compress_query_text(prepared_q_text)
def prepare_query(self, query, paramtypes=None):
+ if isinstance(query, unicode):
+ raise ValueError("CQL query must be bytes, not unicode")
prepared_q_text, paramnames = prepare_query(query)
compressed_q, compression =
self.compress_query_text(prepared_q_text)
presult = self._connection.client.prepare_cql_query(compressed_q,
compression)
@@ -110,6 +112,8 @@
self.name_info = None
def execute(self, cql_query, params={}, decoder=None):
+ if isinstance(cql_query, unicode):
+ raise ValueError("CQL query must be bytes, not unicode")
self.pre_execution_setup()
prepared_q, compress = self.prepare_inline(cql_query, params)
=======================================
--- /test/test_cql.py Mon Mar 26 11:13:36 2012
+++ /test/test_cql.py Mon Jul 9 21:42:25 2012
@@ -1471,3 +1471,6 @@
cursor.execute("TRUNCATE StandardString1")
cursor.execute("SELECT * FROM StandardString1")
assert cursor.rowcount == 0, "expected zero results, got %d" %
cursor.rowcount
+
+ def test_reject_unicode(self):
+ self.assertRaises(ValueError, self.cursor.execute, u'select * from
system.schema_keyspaces')
=======================================
--- /test/test_prepared_queries.py Sat Jul 7 12:11:49 2012
+++ /test/test_prepared_queries.py Mon Jul 9 21:42:25 2012
@@ -167,3 +167,9 @@
self.cursor.execute("select id, feet from counterito where id=2
and name = 'krang'")
results = self.cursor.fetchone()
self.assertEqual(results[1], 1)
+
+ def test_reject_unicode(self):
+ if self.cursor is None:
+ return
+
+ self.assertRaises(ValueError, self.cursor.prepare_query, u'select
* from system.schema_keyspaces')