From fe9d0f2d26afdb23190f190ceef078c508a35899 Mon Sep 17 00:00:00 2001 From: Tyler Hobbs Date: Wed, 11 Jun 2014 18:57:45 -0500 Subject: [PATCH] BoundStmt should inherit fetch_size from PreparedStmt Fixes PYTHON-80 --- CHANGELOG.rst | 2 ++ cassandra/query.py | 1 + tests/unit/test_parameter_binding.py | 18 ++++++++++++++++++ 3 files changed, 21 insertions(+) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index e532a448..eb774c3a 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -6,6 +6,8 @@ Bug Fixes --------- * Fix references to xrange that do not go through "six" in libevreactor and geventreactor (github #138) +* Make BoundStatements inherit fetch_size from their parent + PreparedStatement (PYTHON-80) 2.0.2 ===== diff --git a/cassandra/query.py b/cassandra/query.py index dddcd557..c3cc8de6 100644 --- a/cassandra/query.py +++ b/cassandra/query.py @@ -392,6 +392,7 @@ class BoundStatement(Statement): """ self.consistency_level = prepared_statement.consistency_level self.serial_consistency_level = prepared_statement.serial_consistency_level + self.fetch_size = prepared_statement.fetch_size self.prepared_statement = prepared_statement self.values = [] diff --git a/tests/unit/test_parameter_binding.py b/tests/unit/test_parameter_binding.py index b9edbbe3..01934caa 100644 --- a/tests/unit/test_parameter_binding.py +++ b/tests/unit/test_parameter_binding.py @@ -107,3 +107,21 @@ class BoundStatementTestCase(unittest.TestCase): self.assertIn('list', str(e)) else: self.fail('Passed invalid type but exception was not thrown') + + def test_inherit_fetch_size(self): + keyspace = 'keyspace1' + column_family = 'cf1' + + column_metadata = [ + (keyspace, column_family, 'foo1', Int32Type), + (keyspace, column_family, 'foo2', Int32Type) + ] + + prepared_statement = PreparedStatement(column_metadata=column_metadata, + query_id=None, + routing_key_indexes=[], + query=None, + keyspace=keyspace, + fetch_size=1234) + bound_statement = BoundStatement(prepared_statement=prepared_statement) + self.assertEqual(1234, bound_statement.fetch_size)