From 4c8a205bdef60165e9037b3b4df55b062e2c25c8 Mon Sep 17 00:00:00 2001
From: Nemanja Glumac <31325167+nemanjaglumac@users.noreply.github.com>
Date: Fri, 16 Feb 2024 14:45:40 +0100
Subject: [PATCH] Clean up and simplify MLv1 `clear*` utilities (#38852)

* Remove unused `breakout` parameter

* Evaluate `clear()` inline

* Evaluate `getBreakoutClause([])` inline

* Simplify `clearBreakouts` query helper

1. The second argument of `setBreakoutClause` is aways `undefined`
which means that we can remove it.

2. No need to export this helper since it's used only within this file

* Remove unused `clearBreakouts` helper from breakout helpers

* Simplify `clearFields` helper

* Simplify `clearOrderBy` helper

* Remove unused `clear` util
---
 frontend/src/metabase-lib/queries/utils/breakout.js | 9 +--------
 frontend/src/metabase-lib/queries/utils/field.js    | 5 +----
 frontend/src/metabase-lib/queries/utils/order-by.js | 5 +----
 frontend/src/metabase-lib/queries/utils/query.js    | 9 +++------
 frontend/src/metabase-lib/queries/utils/util.js     | 1 -
 5 files changed, 6 insertions(+), 23 deletions(-)

diff --git a/frontend/src/metabase-lib/queries/utils/breakout.js b/frontend/src/metabase-lib/queries/utils/breakout.js
index fa384c7bc63..26501c1710d 100644
--- a/frontend/src/metabase-lib/queries/utils/breakout.js
+++ b/frontend/src/metabase-lib/queries/utils/breakout.js
@@ -1,4 +1,4 @@
-import { add, update, remove, clear } from "./util";
+import { add, update, remove } from "./util";
 
 /**
  * Returns canonical list of Breakouts, with nulls removed
@@ -42,10 +42,3 @@ export function updateBreakout(breakout, index, updatedBreakout) {
 export function removeBreakout(breakout, index) {
   return getBreakoutClause(remove(getBreakouts(breakout), index));
 }
-
-/**
- * @deprecated use MLv2
- */
-export function clearBreakouts(breakout) {
-  return getBreakoutClause(clear());
-}
diff --git a/frontend/src/metabase-lib/queries/utils/field.js b/frontend/src/metabase-lib/queries/utils/field.js
index 3dbe845df20..3d6fb51ed56 100644
--- a/frontend/src/metabase-lib/queries/utils/field.js
+++ b/frontend/src/metabase-lib/queries/utils/field.js
@@ -1,6 +1,6 @@
 import _ from "underscore";
 
-import { add, update, remove, clear } from "./util";
+import { add, update, remove } from "./util";
 
 // returns canonical list of Fields, with nulls removed
 function getFields(fields) {
@@ -26,9 +26,6 @@ export function updateField(fields, index, updatedField) {
 export function removeField(fields, index) {
   return getFieldClause(remove(getFields(fields), index));
 }
-export function clearFields(fields) {
-  return getFieldClause(clear());
-}
 
 // Metadata field "values" type is inconsistent
 // https://github.com/metabase/metabase/issues/3417
diff --git a/frontend/src/metabase-lib/queries/utils/order-by.js b/frontend/src/metabase-lib/queries/utils/order-by.js
index 540eddb0707..f8bb316ad9d 100644
--- a/frontend/src/metabase-lib/queries/utils/order-by.js
+++ b/frontend/src/metabase-lib/queries/utils/order-by.js
@@ -1,4 +1,4 @@
-import { update, remove, clear } from "./util";
+import { update, remove } from "./util";
 
 // returns canonical list of OrderBys, with nulls removed
 export function getOrderBys(breakout) {
@@ -21,6 +21,3 @@ export function updateOrderBy(breakout, index, updatedOrderBy) {
 export function removeOrderBy(breakout, index) {
   return getOrderByClause(remove(getOrderBys(breakout), index));
 }
-export function clearOrderBy(breakout) {
-  return getOrderByClause(clear());
-}
diff --git a/frontend/src/metabase-lib/queries/utils/query.js b/frontend/src/metabase-lib/queries/utils/query.js
index 80dd155ad5a..d8154ed2fbf 100644
--- a/frontend/src/metabase-lib/queries/utils/query.js
+++ b/frontend/src/metabase-lib/queries/utils/query.js
@@ -66,8 +66,7 @@ export const removeBreakout = (query, index) =>
 /**
  * @deprecated use MLv2
  */
-export const clearBreakouts = query =>
-  setBreakoutClause(query, B.clearBreakouts(query.breakout));
+const clearBreakouts = query => setBreakoutClause(query);
 
 // FILTER
 
@@ -96,8 +95,7 @@ const updateOrderBy = (query, index, orderBy) =>
   setOrderByClause(query, O.updateOrderBy(query["order-by"], index, orderBy));
 const removeOrderBy = (query, index) =>
   setOrderByClause(query, O.removeOrderBy(query["order-by"], index));
-const clearOrderBy = query =>
-  setOrderByClause(query, O.clearOrderBy(query["order-by"]));
+const clearOrderBy = query => setOrderByClause(query);
 
 // FIELD
 export const addField = (query, field) =>
@@ -106,8 +104,7 @@ export const updateField = (query, index, field) =>
   setFieldsClause(query, FIELD.updateField(query.fields, index, field));
 export const removeField = (query, index) =>
   setFieldsClause(query, FIELD.removeField(query.fields, index));
-export const clearFields = query =>
-  setFieldsClause(query, FIELD.clearFields(query.fields));
+const clearFields = query => setFieldsClause(query);
 
 // EXPRESSIONS
 
diff --git a/frontend/src/metabase-lib/queries/utils/util.js b/frontend/src/metabase-lib/queries/utils/util.js
index 0c902b09d62..253673a24db 100644
--- a/frontend/src/metabase-lib/queries/utils/util.js
+++ b/frontend/src/metabase-lib/queries/utils/util.js
@@ -16,4 +16,3 @@ export const remove = (items, index) => [
   ...items.slice(0, index),
   ...items.slice(index + 1),
 ];
-export const clear = () => [];
-- 
GitLab