Skip to content

Commit 986934c

Browse files
committed
Remove ALLOW FILTERING usage
1 parent 660ebca commit 986934c

File tree

1 file changed

+18
-19
lines changed

1 file changed

+18
-19
lines changed

linera-views/src/backends/scylla_db.rs

Lines changed: 18 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,8 @@ const MAX_MULTI_KEYS: usize = 99;
5454
/// So, we set up the maximal size of 16 MB - 10 KB for the values and 10 KB for the keys
5555
/// We also arbitrarily decrease the size by 4000 bytes because an amount of size is
5656
/// taken internally by the database.
57-
const RAW_MAX_VALUE_SIZE: usize = 16762976;
58-
const MAX_KEY_SIZE: usize = 10240;
57+
const RAW_MAX_VALUE_SIZE: usize = 16 * 1024 * 1024;
58+
const MAX_KEY_SIZE: usize = 10 * 1024;
5959
const MAX_BATCH_TOTAL_SIZE: usize = RAW_MAX_VALUE_SIZE + MAX_KEY_SIZE;
6060

6161
/// The `RAW_MAX_VALUE_SIZE` is the maximum size on the ScyllaDB storage.
@@ -132,13 +132,13 @@ impl ScyllaDbClient {
132132
async fn new(session: Session, namespace: &str) -> Result<Self, ScyllaDbStoreInternalError> {
133133
let namespace = namespace.to_string();
134134
let query = format!(
135-
"SELECT v FROM kv.{} WHERE root_key = ? AND k = ? ALLOW FILTERING",
135+
"SELECT v FROM kv.{} WHERE root_key = ? AND k = ?",
136136
namespace
137137
);
138138
let read_value = session.prepare(query).await?;
139139

140140
let query = format!(
141-
"SELECT root_key FROM kv.{} WHERE root_key = ? AND k = ? ALLOW FILTERING",
141+
"SELECT root_key FROM kv.{} WHERE root_key = ? AND k = ?",
142142
namespace
143143
);
144144
let contains_key = session.prepare(query).await?;
@@ -159,23 +159,23 @@ impl ScyllaDbClient {
159159
let write_batch_insertion = session.prepare(query).await?.into();
160160

161161
let query = format!(
162-
"SELECT k FROM kv.{} WHERE root_key = ? AND k >= ? ALLOW FILTERING",
162+
"SELECT k FROM kv.{} WHERE root_key = ? AND k >= ?",
163163
namespace
164164
);
165165
let find_keys_by_prefix_unbounded = session.prepare(query).await?;
166166
let query = format!(
167-
"SELECT k FROM kv.{} WHERE root_key = ? AND k >= ? AND k < ? ALLOW FILTERING",
167+
"SELECT k FROM kv.{} WHERE root_key = ? AND k >= ? AND k < ?",
168168
namespace
169169
);
170170
let find_keys_by_prefix_bounded = session.prepare(query).await?;
171171

172172
let query = format!(
173-
"SELECT k,v FROM kv.{} WHERE root_key = ? AND k >= ? ALLOW FILTERING",
173+
"SELECT k,v FROM kv.{} WHERE root_key = ? AND k >= ?",
174174
namespace
175175
);
176176
let find_key_values_by_prefix_unbounded = session.prepare(query).await?;
177177
let query = format!(
178-
"SELECT k,v FROM kv.{} WHERE root_key = ? AND k >= ? AND k < ? ALLOW FILTERING",
178+
"SELECT k,v FROM kv.{} WHERE root_key = ? AND k >= ? AND k < ?",
179179
namespace
180180
);
181181
let find_key_values_by_prefix_bounded = session.prepare(query).await?;
@@ -244,7 +244,7 @@ impl ScyllaDbClient {
244244
let mut group_query = "?".to_string();
245245
group_query.push_str(&",?".repeat(num_unique_keys - 1));
246246
let query = format!(
247-
"SELECT k,v FROM kv.{} WHERE root_key = ? AND k IN ({}) ALLOW FILTERING",
247+
"SELECT k,v FROM kv.{} WHERE root_key = ? AND k IN ({})",
248248
self.namespace, group_query
249249
);
250250

@@ -291,7 +291,7 @@ impl ScyllaDbClient {
291291
let mut group_query = "?".to_string();
292292
group_query.push_str(&",?".repeat(num_unique_keys - 1));
293293
let query = format!(
294-
"SELECT k FROM kv.{} WHERE root_key = ? AND k IN ({}) ALLOW FILTERING",
294+
"SELECT k FROM kv.{} WHERE root_key = ? AND k IN ({})",
295295
self.namespace, group_query
296296
);
297297

@@ -725,7 +725,7 @@ impl AdminKeyValueStore for ScyllaDbStoreInternal {
725725
.build()
726726
.boxed()
727727
.await?;
728-
let query = format!("SELECT root_key FROM kv.{} ALLOW FILTERING", namespace);
728+
let query = format!("SELECT root_key FROM kv.{}", namespace);
729729

730730
// Execute the query
731731
let rows = session.query_iter(query, &[]).await?;
@@ -764,10 +764,7 @@ impl AdminKeyValueStore for ScyllaDbStoreInternal {
764764
.boxed()
765765
.await?;
766766
// We check the way the test can fail. It can fail in different ways.
767-
let query = format!(
768-
"SELECT root_key FROM kv.{} LIMIT 1 ALLOW FILTERING",
769-
namespace
770-
);
767+
let query = format!("SELECT root_key FROM kv.{} LIMIT 1", namespace);
771768

772769
// Execute the query
773770
let result = session.prepare(&*query).await;
@@ -820,11 +817,13 @@ impl AdminKeyValueStore for ScyllaDbStoreInternal {
820817
let prepared = session.prepare(query).await?;
821818
session.execute_unpaged(&prepared, &[]).await?;
822819

823-
// Create a table if it doesn't exist
824-
// The schema appears too complicated for non-trivial reasons.
825-
// See TODO(#1069).
826820
let query = format!(
827-
"CREATE TABLE kv.{} (root_key blob, k blob, v blob, primary key (root_key, k))",
821+
"CREATE TABLE kv.{} (
822+
root_key blob,
823+
k blob,
824+
v blob,
825+
PRIMARY KEY (root_key, k)
826+
)",
828827
namespace
829828
);
830829

0 commit comments

Comments
 (0)