Merge branch 'system-keyspace-cl-one' of https://github.com/dokai/cqlengine into system-keyspace-cl-one
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
import json
|
||||
import warnings
|
||||
from cqlengine import SizeTieredCompactionStrategy, LeveledCompactionStrategy
|
||||
from cqlengine import ONE
|
||||
from cqlengine.named import NamedTable
|
||||
|
||||
from cqlengine.connection import connection_manager, execute
|
||||
@@ -28,7 +29,7 @@ def create_keyspace(name, strategy_class='SimpleStrategy', replication_factor=3,
|
||||
:param **replication_values: 1.2 only, additional values to ad to the replication data map
|
||||
"""
|
||||
with connection_manager() as con:
|
||||
_, keyspaces = con.execute("""SELECT keyspace_name FROM system.schema_keyspaces""", {})
|
||||
_, keyspaces = con.execute("""SELECT keyspace_name FROM system.schema_keyspaces""", {}, ONE)
|
||||
if name not in [r[0] for r in keyspaces]:
|
||||
#try the 1.2 method
|
||||
replication_map = {
|
||||
@@ -55,7 +56,7 @@ def create_keyspace(name, strategy_class='SimpleStrategy', replication_factor=3,
|
||||
|
||||
def delete_keyspace(name):
|
||||
with connection_manager() as con:
|
||||
_, keyspaces = con.execute("""SELECT keyspace_name FROM system.schema_keyspaces""", {})
|
||||
_, keyspaces = con.execute("""SELECT keyspace_name FROM system.schema_keyspaces""", {}, ONE)
|
||||
if name in [r[0] for r in keyspaces]:
|
||||
execute("DROP KEYSPACE {}".format(name))
|
||||
|
||||
@@ -80,7 +81,8 @@ def sync_table(model, create_missing_keyspace=True):
|
||||
with connection_manager() as con:
|
||||
tables = con.execute(
|
||||
"SELECT columnfamily_name from system.schema_columnfamilies WHERE keyspace_name = :ks_name",
|
||||
{'ks_name': ks_name}
|
||||
{'ks_name': ks_name},
|
||||
ONE
|
||||
)
|
||||
tables = [x[0] for x in tables.results]
|
||||
|
||||
@@ -115,7 +117,8 @@ def sync_table(model, create_missing_keyspace=True):
|
||||
with connection_manager() as con:
|
||||
_, idx_names = con.execute(
|
||||
"SELECT index_name from system.\"IndexInfo\" WHERE table_name=:table_name",
|
||||
{'table_name': raw_cf_name}
|
||||
{'table_name': raw_cf_name},
|
||||
ONE
|
||||
)
|
||||
|
||||
idx_names = [i[0] for i in idx_names]
|
||||
@@ -230,14 +233,15 @@ def get_fields(model):
|
||||
|
||||
logger.debug("get_fields %s %s", ks_name, col_family)
|
||||
|
||||
tmp = con.execute(query, {'ks_name':ks_name, 'col_family':col_family})
|
||||
tmp = con.execute(query, {'ks_name': ks_name, 'col_family': col_family}, ONE)
|
||||
return [Field(x[0], x[1]) for x in tmp.results]
|
||||
# convert to Field named tuples
|
||||
|
||||
|
||||
def get_table_settings(model):
|
||||
return schema_columnfamilies.get(keyspace_name=model._get_keyspace(),
|
||||
columnfamily_name=model.column_family_name(include_keyspace=False))
|
||||
return schema_columnfamilies.objects.consistency(ONE).get(
|
||||
keyspace_name=model._get_keyspace(),
|
||||
columnfamily_name=model.column_family_name(include_keyspace=False))
|
||||
|
||||
|
||||
def update_compaction(model):
|
||||
@@ -282,7 +286,8 @@ def drop_table(model):
|
||||
with connection_manager() as con:
|
||||
_, tables = con.execute(
|
||||
"SELECT columnfamily_name from system.schema_columnfamilies WHERE keyspace_name = :ks_name",
|
||||
{'ks_name': ks_name}
|
||||
{'ks_name': ks_name},
|
||||
ONE
|
||||
)
|
||||
raw_cf_name = model.column_family_name(include_keyspace=False)
|
||||
if raw_cf_name not in [t[0] for t in tables]:
|
||||
|
||||
@@ -320,6 +320,11 @@ class AbstractQuerySet(object):
|
||||
def all(self):
|
||||
return copy.deepcopy(self)
|
||||
|
||||
def consistency(self, consistency):
|
||||
clone = copy.deepcopy(self)
|
||||
clone._consistency = consistency
|
||||
return clone
|
||||
|
||||
def _parse_filter_arg(self, arg):
|
||||
"""
|
||||
Parses a filter arg in the format:
|
||||
@@ -628,11 +633,6 @@ class ModelQuerySet(AbstractQuerySet):
|
||||
clone._flat_values_list = flat
|
||||
return clone
|
||||
|
||||
def consistency(self, consistency):
|
||||
clone = copy.deepcopy(self)
|
||||
clone._consistency = consistency
|
||||
return clone
|
||||
|
||||
def ttl(self, ttl):
|
||||
clone = copy.deepcopy(self)
|
||||
clone._ttl = ttl
|
||||
|
||||
@@ -2,6 +2,7 @@ from unittest import TestCase
|
||||
from cql import OperationalError
|
||||
from mock import MagicMock, patch, Mock
|
||||
|
||||
from cqlengine import ONE
|
||||
from cqlengine.connection import ConnectionPool, Host
|
||||
|
||||
|
||||
@@ -18,4 +19,4 @@ class OperationalErrorLoggingTest(TestCase):
|
||||
|
||||
with patch.object(p, 'get', return_value=MockConnection()):
|
||||
with self.assertRaises(OperationalError):
|
||||
p.execute("select * from system.peers", {})
|
||||
p.execute("select * from system.peers", {}, ONE)
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
from mock import MagicMock, patch
|
||||
|
||||
from cqlengine import ONE
|
||||
from cqlengine.exceptions import CQLEngineException
|
||||
from cqlengine.management import create_table, delete_table, get_fields
|
||||
from cqlengine.tests.base import BaseCassEngTestCase
|
||||
@@ -22,7 +23,7 @@ class ConnectionPoolFailoverTestCase(BaseCassEngTestCase):
|
||||
with patch('cqlengine.connection.cql.connect') as mock:
|
||||
mock.side_effect=CQLEngineException
|
||||
with self.assertRaises(CQLEngineException):
|
||||
self.pool.execute("select * from system.peers", {})
|
||||
self.pool.execute("select * from system.peers", {}, ONE)
|
||||
|
||||
def test_dead_node(self):
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user