From 1f1e9758c5e2bcc914de7923ecf5556851681c26 Mon Sep 17 00:00:00 2001 From: mike12345567 Date: Tue, 19 Mar 2024 17:23:14 +0000 Subject: [PATCH 1/2] Disabling aliasing for table creation, update and deletion. These operations don't require aliasing and so therefore it should be fully disabled. --- packages/server/src/api/controllers/row/alias.ts | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/packages/server/src/api/controllers/row/alias.ts b/packages/server/src/api/controllers/row/alias.ts index 1d586c54fd..60c207c8ce 100644 --- a/packages/server/src/api/controllers/row/alias.ts +++ b/packages/server/src/api/controllers/row/alias.ts @@ -23,6 +23,12 @@ const DISABLED_WRITE_CLIENTS: SqlClient[] = [ SqlClient.ORACLE, ] +const DISABLED_OPERATIONS: Operation[] = [ + Operation.CREATE_TABLE, + Operation.UPDATE_TABLE, + Operation.DELETE_TABLE, +] + class CharSequence { static alphabet = "abcdefghijklmnopqrstuvwxyz" counters: number[] @@ -59,13 +65,18 @@ export default class AliasTables { } isAliasingEnabled(json: QueryJson, datasource: Datasource) { + const operation = json.endpoint.operation const fieldLength = json.resource?.fields?.length - if (!fieldLength || fieldLength <= 0) { + if ( + !fieldLength || + fieldLength <= 0 || + DISABLED_OPERATIONS.includes(operation) + ) { return false } try { const sqlClient = getSQLClient(datasource) - const isWrite = WRITE_OPERATIONS.includes(json.endpoint.operation) + const isWrite = WRITE_OPERATIONS.includes(operation) const isDisabledClient = DISABLED_WRITE_CLIENTS.includes(sqlClient) if (isWrite && isDisabledClient) { return false From beb02bfcac474ffccf6484018385636cb7ff0e41 Mon Sep 17 00:00:00 2001 From: Adria Navarro Date: Wed, 20 Mar 2024 11:15:12 +0100 Subject: [PATCH 2/2] Fix flakiness --- packages/server/src/api/routes/tests/application.spec.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/server/src/api/routes/tests/application.spec.ts b/packages/server/src/api/routes/tests/application.spec.ts index 6b0ba89350..700bd38c1f 100644 --- a/packages/server/src/api/routes/tests/application.spec.ts +++ b/packages/server/src/api/routes/tests/application.spec.ts @@ -19,6 +19,7 @@ import env from "../../../environment" import { type App } from "@budibase/types" import tk from "timekeeper" import * as uuid from "uuid" +import { structures } from "@budibase/backend-core/tests" describe("/applications", () => { let config = setup.getConfig() @@ -356,7 +357,7 @@ describe("/applications", () => { it("should reject an unknown app id with a 404", async () => { await config.api.application.duplicateApp( - app.appId.slice(0, -1) + "a", + structures.db.id(), { name: "to-dupe 123", url: "/to-dupe-123",