From 72a2b0ec60990b0e0d65a01a8ea871f009b6a53b Mon Sep 17 00:00:00 2001 From: Sergey Kirillov Date: Thu, 3 Mar 2016 22:05:11 +0200 Subject: [PATCH 1/3] Added default_serial_consistency_level --- cassandra/cluster.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/cassandra/cluster.py b/cassandra/cluster.py index 402a4d38..b39a617c 100644 --- a/cassandra/cluster.py +++ b/cassandra/cluster.py @@ -1429,6 +1429,7 @@ class Session(object): """ default_consistency_level = ConsistencyLevel.LOCAL_ONE + """ The default :class:`~ConsistencyLevel` for operations executed through this session. This default may be overridden by setting the @@ -1441,6 +1442,10 @@ class Session(object): default changed from ONE to LOCAL_ONE """ + default_serial_consistency_level = None + """ + """ + max_trace_wait = 2.0 """ The maximum amount of time (in seconds) the driver will wait for trace @@ -1632,6 +1637,8 @@ class Session(object): query = query.bind(parameters) cl = query.consistency_level if query.consistency_level is not None else self.default_consistency_level + serial_cl = query.serial_consistency_level if query.serial_consistency_level is not None else self.default_serial_consistency_level + fetch_size = query.fetch_size if fetch_size is FETCH_SIZE_UNSET and self._protocol_version >= 2: fetch_size = self.default_fetch_size @@ -1648,12 +1655,12 @@ class Session(object): if parameters: query_string = bind_params(query_string, parameters, self.encoder) message = QueryMessage( - query_string, cl, query.serial_consistency_level, + query_string, cl, serial_cl, fetch_size, timestamp=timestamp) elif isinstance(query, BoundStatement): message = ExecuteMessage( query.prepared_statement.query_id, query.values, cl, - query.serial_consistency_level, fetch_size, + serial_cl, fetch_size, timestamp=timestamp) prepared_statement = query.prepared_statement elif isinstance(query, BatchStatement): @@ -1664,7 +1671,7 @@ class Session(object): "setting Cluster.protocol_version to 2 to support this operation.") message = BatchMessage( query.batch_type, query._statements_and_parameters, cl, - query.serial_consistency_level, timestamp) + serial_cl, timestamp) message.tracing = trace From a51a5736b761010f6d27076e1565a2a1bd18e187 Mon Sep 17 00:00:00 2001 From: Sergey Kirillov Date: Fri, 4 Mar 2016 11:28:32 +0200 Subject: [PATCH 2/3] Added documentation for default_serial_consistency_level --- cassandra/cluster.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/cassandra/cluster.py b/cassandra/cluster.py index b39a617c..b71af5eb 100644 --- a/cassandra/cluster.py +++ b/cassandra/cluster.py @@ -1444,6 +1444,9 @@ class Session(object): default_serial_consistency_level = None """ + The default :class:`~ConsistencyLevel` for serial phase of conditional updates executed through + this session. This default may be overridden by setting the + :attr:`~.Statement.serial_consistency_level` on individual statements. """ max_trace_wait = 2.0 From 51632f868cf998c219b129c6893ba474bbf59e13 Mon Sep 17 00:00:00 2001 From: Adam Holmberg Date: Fri, 4 Mar 2016 09:43:57 -0600 Subject: [PATCH 3/3] doc tweaks --- cassandra/cluster.py | 6 +++--- docs/api/cassandra/cluster.rst | 2 ++ 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/cassandra/cluster.py b/cassandra/cluster.py index b71af5eb..c59ca878 100644 --- a/cassandra/cluster.py +++ b/cassandra/cluster.py @@ -1429,7 +1429,6 @@ class Session(object): """ default_consistency_level = ConsistencyLevel.LOCAL_ONE - """ The default :class:`~ConsistencyLevel` for operations executed through this session. This default may be overridden by setting the @@ -1447,6 +1446,8 @@ class Session(object): The default :class:`~ConsistencyLevel` for serial phase of conditional updates executed through this session. This default may be overridden by setting the :attr:`~.Statement.serial_consistency_level` on individual statements. + + Only valid for ``protocol_version >= 2``. """ max_trace_wait = 2.0 @@ -3317,8 +3318,7 @@ class ResultSet(object): @property def current_rows(self): """ - :return: the list of current page rows. May be empty if the result was empty, - or this is the last page. + :return: the list of current page rows. May be empty if the result was empty, or this is the last page. """ return self._current_rows or [] diff --git a/docs/api/cassandra/cluster.rst b/docs/api/cassandra/cluster.rst index ac2cbcd3..5e09884d 100644 --- a/docs/api/cassandra/cluster.rst +++ b/docs/api/cassandra/cluster.rst @@ -99,6 +99,8 @@ .. autoattribute:: default_consistency_level :annotation: = LOCAL_ONE + .. autoattribute:: default_serial_consistency_level + .. autoattribute:: row_factory .. autoattribute:: default_fetch_size