From cc8a0274a4e1801f008e740f694cf3c96e1e8888 Mon Sep 17 00:00:00 2001 From: mike12345567 Date: Fri, 22 Mar 2024 15:26:02 +0000 Subject: [PATCH] Updating based on PR comments. --- .../server/src/api/controllers/query/index.ts | 8 ++-- .../routes/tests/queries/generic-sql.spec.ts | 37 +++++-------------- .../server/src/sdk/app/queries/queries.ts | 4 +- 3 files changed, 14 insertions(+), 35 deletions(-) diff --git a/packages/server/src/api/controllers/query/index.ts b/packages/server/src/api/controllers/query/index.ts index 03fcdb714a..055f3bd888 100644 --- a/packages/server/src/api/controllers/query/index.ts +++ b/packages/server/src/api/controllers/query/index.ts @@ -149,11 +149,9 @@ function enrichParameters( // first check parameters are all valid validateQueryInputs(requestParameters) // make sure parameters are fully enriched with defaults - for (let parameter of query.parameters) { - let value: string | null = requestParameters[parameter.name] - if (!value) { - value = parameter.default - } + for (const parameter of query.parameters) { + let value: string | null = + requestParameters[parameter.name] || parameter.default if (query.nullDefaultSupport && paramNotSet(value)) { value = null } diff --git a/packages/server/src/api/routes/tests/queries/generic-sql.spec.ts b/packages/server/src/api/routes/tests/queries/generic-sql.spec.ts index 97e513af01..f9a3ac6e03 100644 --- a/packages/server/src/api/routes/tests/queries/generic-sql.spec.ts +++ b/packages/server/src/api/routes/tests/queries/generic-sql.spec.ts @@ -34,30 +34,12 @@ const createTableSQL: Record = { const insertSQL = `INSERT INTO test_table (name) VALUES ('one'), ('two'), ('three'), ('four'), ('five')` const dropTableSQL = `DROP TABLE test_table;` -const POSTGRES_SPECIFICS = { - nullError: 'invalid input syntax for type integer: ""', -} - -const MYSQL_SPECIFICS = { - nullError: "Incorrect integer value: '' for column 'number' at row 1", -} - -const MSSQL_SPECIFICS = { - // MS-SQL doesn't throw an error here, it casts empty string to nothing - nullError: undefined, -} - -const MARIADB_SPECIFICS = { - nullError: - "Incorrect integer value: '' for column `mysql`.`test_table`.`number` at row 1", -} - describe.each([ - ["postgres", databaseTestProviders.postgres, POSTGRES_SPECIFICS], - ["mysql", databaseTestProviders.mysql, MYSQL_SPECIFICS], - ["mssql", databaseTestProviders.mssql, MSSQL_SPECIFICS], - ["mariadb", databaseTestProviders.mariadb, MARIADB_SPECIFICS], -])("queries (%s)", (__, dsProvider, testSpecificInformation) => { + ["postgres", databaseTestProviders.postgres], + ["mysql", databaseTestProviders.mysql], + ["mssql", databaseTestProviders.mssql], + ["mariadb", databaseTestProviders.mariadb], +])("queries (%s)", (dbName, dsProvider) => { const config = setup.getConfig() let datasource: Datasource @@ -461,12 +443,11 @@ describe.each([ } catch (err: any) { error = err.message } - const testExpectation = testSpecificInformation.nullError - if (testExpectation) { - expect(error).toBeDefined() - expect(error).toContain(testExpectation) - } else { + if (dbName === "mssql") { expect(error).toBeUndefined() + } else { + expect(error).toBeDefined() + expect(error).toContain("integer") } }) diff --git a/packages/server/src/sdk/app/queries/queries.ts b/packages/server/src/sdk/app/queries/queries.ts index cf0ed4ec95..511d2233c2 100644 --- a/packages/server/src/sdk/app/queries/queries.ts +++ b/packages/server/src/sdk/app/queries/queries.ts @@ -70,8 +70,8 @@ export async function enrichArrayContext( inputs = {} ): Promise { const map: Record = {} - for (let [key, value] of Object.entries(fields)) { - map[key] = value + for (let index in fields) { + map[index] = fields[index] } const output = await enrichContext(map, inputs) const outputArray: any[] = []