From 4fb3d35b6f8cdd8910d68dffe1cf40a5c324066d Mon Sep 17 00:00:00 2001
From: EmirVildanov <reddog201030@gmail.com>
Date: Thu, 7 Nov 2024 21:18:37 +0300
Subject: [PATCH] feat: support DELETE without WHERE optimization

---
 sbroad               | 2 +-
 src/sql/storage.rs   | 6 ++----
 test/int/test_sql.py | 3 ---
 3 files changed, 3 insertions(+), 8 deletions(-)

diff --git a/sbroad b/sbroad
index aaa0da6bc4..c144e8f4a4 160000
--- a/sbroad
+++ b/sbroad
@@ -1 +1 @@
-Subproject commit aaa0da6bc442f42adce3780c47e1d7f98fb53f11
+Subproject commit c144e8f4a4fb1602888a6c8907945a07f8943093
diff --git a/src/sql/storage.rs b/src/sql/storage.rs
index b8ace5c523..f568b7d1d2 100644
--- a/src/sql/storage.rs
+++ b/src/sql/storage.rs
@@ -6,9 +6,7 @@ use sbroad::backend::sql::ir::PatternWithParams;
 use sbroad::backend::sql::space::TableGuard;
 use sbroad::errors::{Action, Entity, SbroadError};
 use sbroad::executor::bucket::Buckets;
-use sbroad::executor::engine::helpers::storage::{
-    unprepare, DQLStorageReturnFormat, StorageMetadata,
-};
+use sbroad::executor::engine::helpers::storage::{unprepare, StorageMetadata, StorageReturnFormat};
 use sbroad::executor::engine::helpers::vshard::{get_random_bucket, CacheInfo};
 use sbroad::executor::engine::helpers::{
     self, execute_first_cacheable_request, execute_second_cacheable_request, read_or_prepare,
@@ -247,7 +245,7 @@ impl Vshard for StorageRuntime {
         let boxed_bytes: Box<dyn Any> = read_or_prepare::<Self, <Self as QueryCache>::Mutex>(
             &mut locked_cache,
             &mut info,
-            &DQLStorageReturnFormat::Raw,
+            &StorageReturnFormat::DqlRaw,
         )?;
         let bytes = boxed_bytes.downcast::<Vec<u8>>().map_err(|e| {
             SbroadError::Invalid(
diff --git a/test/int/test_sql.py b/test/int/test_sql.py
index 9db03d749e..74bbec97f3 100644
--- a/test/int/test_sql.py
+++ b/test/int/test_sql.py
@@ -5691,9 +5691,6 @@ buckets = unknown"""  # noqa: E501
     # Delete
     lines = i1.sql("explain delete from t")
     expected_explain = """delete "t"
-    motion [policy: local]
-        projection ("t"."a"::integer -> "pk_col_0")
-            scan "t"
 execution options:
     vdbe_max_steps = 45000
     vtable_max_rows = 5000
-- 
GitLab