Skip to content

Commit 107c007

Browse files
committed
Remove ALLOW FILTERING usage
1 parent d738461 commit 107c007

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

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

732732
// Execute the query
733733
let rows = session.query_iter(query, &[]).await?;
@@ -766,10 +766,7 @@ impl AdminKeyValueStore for ScyllaDbStoreInternal {
766766
.boxed()
767767
.await?;
768768
// We check the way the test can fail. It can fail in different ways.
769-
let query = format!(
770-
"SELECT root_key FROM kv.{} LIMIT 1 ALLOW FILTERING",
771-
namespace
772-
);
769+
let query = format!("SELECT root_key FROM kv.{} LIMIT 1", namespace);
773770

774771
// Execute the query
775772
let result = session.prepare(&*query).await;
@@ -825,11 +822,13 @@ impl AdminKeyValueStore for ScyllaDbStoreInternal {
825822
let prepared = session.prepare(query).await?;
826823
session.execute_unpaged(&prepared, &[]).await?;
827824

828-
// Create a table if it doesn't exist
829-
// The schema appears too complicated for non-trivial reasons.
830-
// See TODO(#1069).
831825
let query = format!(
832-
"CREATE TABLE kv.{} (root_key blob, k blob, v blob, primary key (root_key, k))",
826+
"CREATE TABLE kv.{} (
827+
root_key blob,
828+
k blob,
829+
v blob,
830+
PRIMARY KEY (root_key, k)
831+
)",
833832
namespace
834833
);
835834

0 commit comments

Comments
 (0)