From f2abcf581f586197a309d2ef8769ac2cec1f4744 Mon Sep 17 00:00:00 2001 From: mike12345567 Date: Wed, 26 Jul 2023 12:31:46 +0100 Subject: [PATCH] Fixing issue with falsey composite keys, if one of the values used for a composite key is say an empty string, or a zero it would not be added to the _id field, stopping the field from being retrievable. --- packages/server/scripts/integrations/postgres/init.sql | 9 +++++++++ .../server/src/api/controllers/row/ExternalRequest.ts | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/packages/server/scripts/integrations/postgres/init.sql b/packages/server/scripts/integrations/postgres/init.sql index 057944101a..5e385c12d7 100644 --- a/packages/server/scripts/integrations/postgres/init.sql +++ b/packages/server/scripts/integrations/postgres/init.sql @@ -43,6 +43,12 @@ CREATE TABLE test.table1 ( id SERIAL PRIMARY KEY, Name varchar(255) ); +CREATE TABLE CompositeTable ( + KeyPartOne varchar(128), + KeyPartTwo varchar(128), + Name varchar(255), + PRIMARY KEY (KeyPartOne, KeyPartTwo) +); INSERT INTO Persons (FirstName, LastName, Address, City, Type) VALUES ('Mike', 'Hughes', '123 Fake Street', 'Belfast', 'qa'); INSERT INTO Persons (FirstName, LastName, Address, City, Type) VALUES ('John', 'Smith', '64 Updown Road', 'Dublin', 'programmer'); INSERT INTO Tasks (ExecutorID, QaID, TaskName, Completed) VALUES (1, 2, 'assembling', TRUE); @@ -55,3 +61,6 @@ INSERT INTO Products_Tasks (ProductID, TaskID) VALUES (2, 1); INSERT INTO Products_Tasks (ProductID, TaskID) VALUES (3, 1); INSERT INTO Products_Tasks (ProductID, TaskID) VALUES (1, 2); INSERT INTO test.table1 (Name) VALUES ('Test'); +INSERT INTO CompositeTable (KeyPartOne, KeyPartTwo, Name) VALUES ('aaa', 'bbb', 'Michael'); +INSERT INTO CompositeTable (KeyPartOne, KeyPartTwo, Name) VALUES ('bbb', 'ccc', 'Andrew'); +INSERT INTO CompositeTable (KeyPartOne, KeyPartTwo, Name) VALUES ('ddd', '', 'OneKey'); diff --git a/packages/server/src/api/controllers/row/ExternalRequest.ts b/packages/server/src/api/controllers/row/ExternalRequest.ts index 0139147e35..71d1a7d382 100644 --- a/packages/server/src/api/controllers/row/ExternalRequest.ts +++ b/packages/server/src/api/controllers/row/ExternalRequest.ts @@ -164,7 +164,7 @@ function generateIdForRow( fieldName: field, isLinked, }) - if (fieldValue) { + if (fieldValue != null) { idParts.push(fieldValue) } }