private async Task <IStatement> GetKreateKeySpaceQuery(ISession schemaSession) { PreparedStatement createEventsTableStatement = await schemaSession.PrepareAsync(replicationStrategy.CreateKeySpaceTemplate(GetKeyspace())).ConfigureAwait(false); createEventsTableStatement = createEventsTableStatement.SetConsistencyLevel(ConsistencyLevel.LocalQuorum); return(createEventsTableStatement.Bind()); }
private void DoPreparedSelectTest(ConsistencyLevel expectedConsistencyLevel) { // NOTE: We have to re-prepare every time since there is a unique Keyspace used for every test PreparedStatement preparedSelectStatement = _session.Prepare(_defaultSelectStatement); var result = _session.Execute(preparedSelectStatement.SetConsistencyLevel(expectedConsistencyLevel).Bind()); Assert.AreEqual(expectedConsistencyLevel, result.Info.AchievedConsistency); Assert.AreEqual(_defaultPocoList.Count, result.GetRows().ToList().Count); }
public void Bind_Should_Create_BoundStatement_With_Provided_Values() { var ps = new PreparedStatement(); ps.SetRoutingKey(new RoutingKey(new byte[] { 0x01 })); ps.SetConsistencyLevel(ConsistencyLevel.LocalQuorum); ps.SetIdempotence(true); var statement = ps.Bind(); Assert.AreEqual(ConsistencyLevel.LocalQuorum, statement.ConsistencyLevel); Assert.AreSame(ps.RoutingKey, statement.RoutingKey); Assert.True(statement.IsIdempotent); }
public void Consistency_PreparedStatement_Serial_Select_Success() { SetupSessionAndCluster(_defaultNodeCountOne); PreparedStatement preparedSelectStatement = _session.Prepare(_defaultSelectStatement); BoundStatement statement = preparedSelectStatement.SetConsistencyLevel(ConsistencyLevel.Quorum).Bind(); statement.SetSerialConsistencyLevel(ConsistencyLevel.Serial); var result = _session.Execute(statement); Assert.AreEqual(ConsistencyLevel.Quorum, result.Info.AchievedConsistency); Assert.AreEqual(_defaultPocoList.Count, result.GetRows().ToList().Count); }
public async Task CreateTableAsync(string location) { ISession session = await GetSessionAsync().ConfigureAwait(false); logger.Debug(() => $"[Projections] Creating table `{location}` with `{session.Cluster.AllHosts().First().Address}`..."); string query = string.Format(CreateProjectionEventsTableTemplate, location); PreparedStatement statement = await session.PrepareAsync(query).ConfigureAwait(false); statement = statement.SetConsistencyLevel(ConsistencyLevel.All); await session.ExecuteAsync(statement.Bind()).ConfigureAwait(false); logger.Debug(() => $"[Projections] Created table `{location}`... Maybe?!"); }
public async Task DropTableAsync(string location) { if (string.IsNullOrWhiteSpace(location)) { throw new ArgumentNullException(nameof(location)); } ISession session = await GetSessionAsync().ConfigureAwait(false); string query = string.Format(DropQueryTemplate, location); PreparedStatement statement = await session.PrepareAsync(query).ConfigureAwait(false); statement = statement.SetConsistencyLevel(ConsistencyLevel.All); await session.ExecuteAsync(statement.Bind()).ConfigureAwait(false); }
public async Task CreateTableAsync(string location) { ISession session = await GetSessionAsync().ConfigureAwait(false); if (string.IsNullOrWhiteSpace(location)) { throw new ArgumentNullException(nameof(location)); } logger.Debug(() => $"[Projections] Creating snapshot table `{location}` with `{session.Cluster.AllHosts().First().Address}`..."); string query = string.Format(CreateSnapshopEventsTableTemplate, location); PreparedStatement statement = await session.PrepareAsync(query).ConfigureAwait(false); statement = statement.SetConsistencyLevel(ConsistencyLevel.All); await session.ExecuteAsync(statement.Bind()).ConfigureAwait(false); logger.Debug(() => $"[Projections] Created snapshot table `{location}`... Maybe?!"); }
public void Consistency_PreparedStatement_Serial_Insert_Success() { ManyDataTypesEntity mdtp = ManyDataTypesEntity.GetRandomInstance(); object[] vals = ConvertEntityToObjectArray(mdtp); SetupSessionAndCluster(_defaultNodeCountOne); PreparedStatement preparedInsertStatement = _session.Prepare(_preparedInsertStatementAsString); BoundStatement boundStatement = preparedInsertStatement.SetConsistencyLevel(ConsistencyLevel.Quorum).Bind(vals); boundStatement.SetSerialConsistencyLevel(ConsistencyLevel.Serial); var result = _session.Execute(boundStatement); Assert.AreEqual(ConsistencyLevel.Quorum, result.Info.AchievedConsistency); var selectResult = _session.Execute(_defaultSelectStatement); Assert.AreEqual(_defaultPocoList.Count + 1, selectResult.GetRows().ToList().Count); }
public async Task Start() { Console.WriteLine("Creating session..."); var session = CreateConnectedSession(); ReadAllData(session); _ps = session.Prepare("SELECT * FROM nameslist.names WHERE name = ?"); _ps.SetConsistencyLevel(ConsistencyLevel.Three); Console.WriteLine("Loading..."); Console.WriteLine("Number of threads?"); var readLine = Console.ReadLine(); var nrOfThreads = Parse(readLine); _counterReader.StartStopWatch(); await ConcurrentUtils.ConcurrentUtils.Times(nrOfThreads, nrOfThreads, index => LoadItemPerKey(session)); }
public CQLInventoryStorage(string[] contactPoints) { _cluster = Cluster.Builder().AddContactPoints(contactPoints).Build(); _session = _cluster.Connect(KEYSPACE_NAME); SKEL_SELECT_STMT = _session.Prepare("SELECT * FROM skeletons WHERE user_id = ?;"); SKEL_SELECT_STMT.SetConsistencyLevel(ConsistencyLevel.Quorum); SKEL_SINGLE_SELECT_STMT = _session.Prepare("SELECT * FROM skeletons WHERE user_id = ? AND folder_id = ?;"); SKEL_SINGLE_SELECT_STMT.SetConsistencyLevel(ConsistencyLevel.Quorum); SKEL_INSERT_STMT = _session.Prepare("INSERT INTO skeletons (user_id, folder_id, folder_name, parent_id, type, level) " + "VALUES(?, ?, ?, ?, ?, ?);"); SKEL_INSERT_STMT.SetConsistencyLevel(ConsistencyLevel.Quorum); FOLDER_SELECT_STMT = _session.Prepare("SELECT * FROM folder_contents WHERE folder_id = ?;"); FOLDER_SELECT_STMT.SetConsistencyLevel(ConsistencyLevel.Quorum); FOLDER_ATTRIB_SELECT_STMT = _session.Prepare("SELECT * FROM folder_contents WHERE folder_id = ? AND item_id = " + FOLDER_MAGIC_ENTRY.ToString() + ";"); FOLDER_ATTRIB_SELECT_STMT.SetConsistencyLevel(ConsistencyLevel.Quorum); FOLDER_ATTRIB_INSERT_STMT = _session.Prepare("INSERT INTO folder_contents (folder_id, item_id, name, inv_type, creation_date, owner_id) " + "VALUES (?, ?, ?, ?, ?, ?);"); FOLDER_ATTRIB_INSERT_STMT.SetConsistencyLevel(ConsistencyLevel.Quorum); FOLDER_ITEM_INSERT_STMT = _session.Prepare("INSERT INTO folder_contents (folder_id, item_id, name, asset_id, asset_type, " + "base_permissions, creation_date, creator_id, current_permissions, description, " + "everyone_permissions, flags, group_id, group_owned, group_permissions, " + "inv_type, next_permissions, owner_id, sale_type) " + "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);"); FOLDER_ITEM_INSERT_STMT.SetConsistencyLevel(ConsistencyLevel.Quorum); FOLDER_ITEM_UPDATE_STMT = _session.Prepare("UPDATE folder_contents SET name = ?, asset_id = ?, asset_type = ?, " + "base_permissions = ?, creation_date = ?, creator_id = ?, current_permissions= ?, description = ?, " + "everyone_permissions = ?, flags = ?, group_id = ?, group_owned = ?, group_permissions = ?, " + "inv_type = ?, next_permissions = ?, sale_type = ? " + "WHERE folder_id = ? AND item_id = ?;"); FOLDER_ITEM_UPDATE_STMT.SetConsistencyLevel(ConsistencyLevel.Quorum); FOLDER_ITEM_REMOVE_STMT = _session.Prepare("DELETE FROM folder_contents WHERE folder_id = ? AND item_id = ?;"); FOLDER_ITEM_REMOVE_STMT.SetConsistencyLevel(ConsistencyLevel.Quorum); FOLDER_VERSION_INC_STMT = _session.Prepare("UPDATE folder_versions SET version = version + 1 WHERE user_id = ? AND folder_id = ?;"); FOLDER_VERSION_INC_STMT.SetConsistencyLevel(ConsistencyLevel.Quorum); FOLDER_VERSION_SELECT_STMT = _session.Prepare("SELECT * FROM folder_versions WHERE user_id = ?;"); FOLDER_VERSION_SELECT_STMT.SetConsistencyLevel(ConsistencyLevel.Quorum); FOLDER_VERSION_SINGLE_SELECT_STMT = _session.Prepare("SELECT * FROM folder_versions WHERE user_id = ? AND folder_id = ?;"); FOLDER_VERSION_SINGLE_SELECT_STMT.SetConsistencyLevel(ConsistencyLevel.Quorum); FOLDER_UPDATE_STMT = _session.Prepare("UPDATE folder_contents SET name = ?, inv_type = ? " + "WHERE folder_id = ? AND item_id = " + FOLDER_MAGIC_ENTRY.ToString()); FOLDER_UPDATE_STMT.SetConsistencyLevel(ConsistencyLevel.Quorum); SKEL_UPDATE_STMT = _session.Prepare("UPDATE skeletons SET folder_name = ?, type = ? WHERE user_id = ? AND folder_id = ?;"); SKEL_UPDATE_STMT.SetConsistencyLevel(ConsistencyLevel.Quorum); SKEL_MOVE_STMT = _session.Prepare("UPDATE skeletons SET parent_id = ? WHERE user_id = ? AND folder_id = ?;"); SKEL_MOVE_STMT.SetConsistencyLevel(ConsistencyLevel.Quorum); ITEM_OWNERSHIP_INSERT = _session.Prepare("INSERT INTO item_parents(item_id, parent_folder_id) VALUES(?, ?);"); ITEM_OWNERSHIP_INSERT.SetConsistencyLevel(ConsistencyLevel.Quorum); ITEM_OWNERSHIP_UPDATE = _session.Prepare("UPDATE item_parents SET parent_folder_id = ? WHERE item_id = ?;"); ITEM_OWNERSHIP_UPDATE.SetConsistencyLevel(ConsistencyLevel.Quorum); ITEM_OWNERSHIP_REMOVE = _session.Prepare("DELETE FROM item_parents WHERE item_id = ?;"); ITEM_OWNERSHIP_REMOVE.SetConsistencyLevel(ConsistencyLevel.Quorum); ITEM_OWNERSHIP_SELECT = _session.Prepare("SELECT * FROM item_parents WHERE item_id = ?;"); ITEM_OWNERSHIP_SELECT.SetConsistencyLevel(ConsistencyLevel.Quorum); FOLDER_ITEM_SELECT_STMT = _session.Prepare("SELECT * FROM folder_contents WHERE folder_id = ? AND item_id = ?;"); FOLDER_ITEM_SELECT_STMT.SetConsistencyLevel(ConsistencyLevel.Quorum); FOLDER_REMOVE_STMT = _session.Prepare("DELETE FROM folder_contents WHERE folder_id = ?;"); FOLDER_REMOVE_STMT.SetConsistencyLevel(ConsistencyLevel.Quorum); SKEL_REMOVE_STMT = _session.Prepare("DELETE FROM skeletons WHERE user_id = ? AND folder_id = ?;"); SKEL_REMOVE_STMT.SetConsistencyLevel(ConsistencyLevel.Quorum); FOLDER_VERSION_REMOVE_STMT = _session.Prepare("DELETE FROM folder_versions WHERE user_id = ? AND folder_id = ?;"); FOLDER_VERSION_REMOVE_STMT.SetConsistencyLevel(ConsistencyLevel.Quorum); }