Skip to content

Commit d8fe153

Browse files
committed
Remove ALLOW FILTERING usage
1 parent eadb010 commit d8fe153

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
@@ -59,8 +59,8 @@ const MAX_MULTI_KEYS: usize = 99;
5959
/// So, we set up the maximal size of 16 MB - 10 KB for the values and 10 KB for the keys
6060
/// We also arbitrarily decrease the size by 4000 bytes because an amount of size is
6161
/// taken internally by the database.
62-
const RAW_MAX_VALUE_SIZE: usize = 16762976;
63-
const MAX_KEY_SIZE: usize = 10240;
62+
const RAW_MAX_VALUE_SIZE: usize = 16 * 1024 * 1024;
63+
const MAX_KEY_SIZE: usize = 10 * 1024;
6464
const MAX_BATCH_TOTAL_SIZE: usize = RAW_MAX_VALUE_SIZE + MAX_KEY_SIZE;
6565

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

145145
let query = format!(
146-
"SELECT root_key FROM kv.{} WHERE root_key = ? AND k = ? ALLOW FILTERING",
146+
"SELECT root_key FROM kv.{} WHERE root_key = ? AND k = ?",
147147
namespace
148148
);
149149
let contains_key = session.prepare(query).await?;
@@ -164,23 +164,23 @@ impl ScyllaDbClient {
164164
let write_batch_insertion = session.prepare(query).await?.into();
165165

166166
let query = format!(
167-
"SELECT k FROM kv.{} WHERE root_key = ? AND k >= ? ALLOW FILTERING",
167+
"SELECT k FROM kv.{} WHERE root_key = ? AND k >= ?",
168168
namespace
169169
);
170170
let find_keys_by_prefix_unbounded = session.prepare(query).await?;
171171
let query = format!(
172-
"SELECT k FROM kv.{} WHERE root_key = ? AND k >= ? AND k < ? ALLOW FILTERING",
172+
"SELECT k FROM kv.{} WHERE root_key = ? AND k >= ? AND k < ?",
173173
namespace
174174
);
175175
let find_keys_by_prefix_bounded = session.prepare(query).await?;
176176

177177
let query = format!(
178-
"SELECT k,v FROM kv.{} WHERE root_key = ? AND k >= ? ALLOW FILTERING",
178+
"SELECT k,v FROM kv.{} WHERE root_key = ? AND k >= ?",
179179
namespace
180180
);
181181
let find_key_values_by_prefix_unbounded = session.prepare(query).await?;
182182
let query = format!(
183-
"SELECT k,v FROM kv.{} WHERE root_key = ? AND k >= ? AND k < ? ALLOW FILTERING",
183+
"SELECT k,v FROM kv.{} WHERE root_key = ? AND k >= ? AND k < ?",
184184
namespace
185185
);
186186
let find_key_values_by_prefix_bounded = session.prepare(query).await?;
@@ -249,7 +249,7 @@ impl ScyllaDbClient {
249249
let mut group_query = "?".to_string();
250250
group_query.push_str(&",?".repeat(num_unique_keys - 1));
251251
let query = format!(
252-
"SELECT k,v FROM kv.{} WHERE root_key = ? AND k IN ({}) ALLOW FILTERING",
252+
"SELECT k,v FROM kv.{} WHERE root_key = ? AND k IN ({})",
253253
self.namespace, group_query
254254
);
255255

@@ -296,7 +296,7 @@ impl ScyllaDbClient {
296296
let mut group_query = "?".to_string();
297297
group_query.push_str(&",?".repeat(num_unique_keys - 1));
298298
let query = format!(
299-
"SELECT k FROM kv.{} WHERE root_key = ? AND k IN ({}) ALLOW FILTERING",
299+
"SELECT k FROM kv.{} WHERE root_key = ? AND k IN ({})",
300300
self.namespace, group_query
301301
);
302302

@@ -742,7 +742,7 @@ impl AdminKeyValueStore for ScyllaDbStoreInternal {
742742
.build()
743743
.boxed()
744744
.await?;
745-
let query = format!("SELECT root_key FROM kv.{} ALLOW FILTERING", namespace);
745+
let query = format!("SELECT root_key FROM kv.{}", namespace);
746746

747747
// Execute the query
748748
let rows = session.query_iter(query, &[]).await?;
@@ -781,10 +781,7 @@ impl AdminKeyValueStore for ScyllaDbStoreInternal {
781781
.boxed()
782782
.await?;
783783
// We check the way the test can fail. It can fail in different ways.
784-
let query = format!(
785-
"SELECT root_key FROM kv.{} LIMIT 1 ALLOW FILTERING",
786-
namespace
787-
);
784+
let query = format!("SELECT root_key FROM kv.{} LIMIT 1", namespace);
788785

789786
// Execute the query
790787
let result = session.prepare(&*query).await;
@@ -842,11 +839,13 @@ impl AdminKeyValueStore for ScyllaDbStoreInternal {
842839
let prepared = session.prepare(query).await?;
843840
session.execute_unpaged(&prepared, &[]).await?;
844841

845-
// Create a table if it doesn't exist
846-
// The schema appears too complicated for non-trivial reasons.
847-
// See TODO(#1069).
848842
let query = format!(
849-
"CREATE TABLE kv.{} (root_key blob, k blob, v blob, primary key (root_key, k))",
843+
"CREATE TABLE kv.{} (
844+
root_key blob,
845+
k blob,
846+
v blob,
847+
PRIMARY KEY (root_key, k)
848+
)",
850849
namespace
851850
);
852851

0 commit comments

Comments
 (0)