From 43c1895afa40833e97e7cea7113588449c869301 Mon Sep 17 00:00:00 2001 From: Nemanja Glumac <31325167+nemanjaglumac@users.noreply.github.com> Date: Thu, 8 Feb 2024 16:58:53 +0100 Subject: [PATCH] [QC] Remove `setDatabase` and `setDatabaseID` methods (#38550) * Remove `setDatabaseID` method from the `StructuredQuery` prototype * Remove `setDatabase` method from both Native and Structured queries --- .../src/metabase-lib/queries/NativeQuery.ts | 7 ------ .../metabase-lib/queries/StructuredQuery.ts | 25 ------------------- .../lib/queries/StructuredQuery.unit.spec.js | 19 +++++++------- 3 files changed, 10 insertions(+), 41 deletions(-) diff --git a/frontend/src/metabase-lib/queries/NativeQuery.ts b/frontend/src/metabase-lib/queries/NativeQuery.ts index 911f1243ceb..56fa3ebd3b4 100644 --- a/frontend/src/metabase-lib/queries/NativeQuery.ts +++ b/frontend/src/metabase-lib/queries/NativeQuery.ts @@ -153,13 +153,6 @@ export default class NativeQuery extends AtomicQuery { /* Methods unique to this query type */ - /** - * @returns a new query with the provided Database set. - */ - setDatabase(database: Database): NativeQuery { - return this.setDatabaseId(database.id); - } - setDatabaseId(databaseId: DatabaseId): NativeQuery { if (databaseId !== this._databaseId()) { // TODO: this should reset the rest of the query? diff --git a/frontend/src/metabase-lib/queries/StructuredQuery.ts b/frontend/src/metabase-lib/queries/StructuredQuery.ts index bd026bfec11..632871d5325 100644 --- a/frontend/src/metabase-lib/queries/StructuredQuery.ts +++ b/frontend/src/metabase-lib/queries/StructuredQuery.ts @@ -196,31 +196,6 @@ class StructuredQuery extends AtomicQuery { return this._updateQuery(fn, []); } - /** - * @returns a new query with the provided Database set. - */ - setDatabase(database: Database): StructuredQuery { - return this.setDatabaseId(database.id); - } - - /** - * @returns a new query with the provided Database ID set. - */ - setDatabaseId(databaseId: DatabaseId): StructuredQuery { - if (databaseId !== this._databaseId()) { - // TODO: this should reset the rest of the query? - return new StructuredQuery( - this._originalQuestion, - chain(this.datasetQuery()) - .assoc("database", databaseId) - .assoc("query", {}) - .value(), - ); - } else { - return this; - } - } - /** * @returns the table ID, if a table is selected. * @deprecated Use MLv2 diff --git a/frontend/test/metabase-lib/lib/queries/StructuredQuery.unit.spec.js b/frontend/test/metabase-lib/lib/queries/StructuredQuery.unit.spec.js index f26cfe4ffe5..a986ddd1d7c 100644 --- a/frontend/test/metabase-lib/lib/queries/StructuredQuery.unit.spec.js +++ b/frontend/test/metabase-lib/lib/queries/StructuredQuery.unit.spec.js @@ -1,3 +1,4 @@ +import { chain } from "icepick"; import { createMockMetadata } from "__support__/metadata"; import { createMockDatabase, @@ -277,9 +278,15 @@ describe("StructuredQuery", () => { describe("when the query is missing a database", () => { it("should not include db schemas in dependent metadata", () => { - const dependentMetadata = query - .setDatabaseId(null) - .dependentMetadata(); + const queryWithoutDatabase = new StructuredQuery( + query._originalQuestion, + chain(query.datasetQuery()) + .assoc("database", null) + .assoc("query", {}) + .value(), + ); + + const dependentMetadata = queryWithoutDatabase.dependentMetadata(); expect(dependentMetadata.some(({ type }) => type === "schema")).toBe( false, @@ -302,12 +309,6 @@ describe("StructuredQuery", () => { ).toBe(ORDERS_ID); }); }); - describe("setDatabase", () => { - it("allows you to set a new database", () => { - const db = metadata.database(ANOTHER_DB_ID); - expect(query.setDatabase(db)._database().id).toBe(db.id); - }); - }); describe("_sourceTableId", () => { it("Return the right table id", () => { expect(query._sourceTableId()).toBe(ORDERS_ID); -- GitLab