Skip to content

Commit 48861e8

Browse files
committed
Remove ALLOW FILTERING usage
1 parent 861bde8 commit 48861e8

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

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

749749
// Execute the query
750750
let rows = session.query_iter(query, &[]).await?;
@@ -783,10 +783,7 @@ impl AdminKeyValueStore for ScyllaDbStoreInternal {
783783
.boxed()
784784
.await?;
785785
// We check the way the test can fail. It can fail in different ways.
786-
let query = format!(
787-
"SELECT root_key FROM kv.{} LIMIT 1 ALLOW FILTERING",
788-
namespace
789-
);
786+
let query = format!("SELECT root_key FROM kv.{} LIMIT 1", namespace);
790787

791788
// Execute the query
792789
let result = session.prepare(&*query).await;
@@ -844,11 +841,13 @@ impl AdminKeyValueStore for ScyllaDbStoreInternal {
844841
let prepared = session.prepare(query).await?;
845842
session.execute_unpaged(&prepared, &[]).await?;
846843

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

0 commit comments

Comments
 (0)