From 890e0ee22c1bc6b1c49f501f4a12d07f27660e88 Mon Sep 17 00:00:00 2001 From: Ayush Shah Date: Wed, 30 Apr 2025 14:57:20 +0530 Subject: [PATCH] fix: Migrations - add operator parameter to test_definition for custom SQL queries in MySQL and Postgres (#21044) (cherry picked from commit 49de0119cf696366f55ef9d4da7adf82f442d168) --- .../native/1.7.1/mysql/schemaChanges.sql | 18 +++++++++++++++++ .../native/1.7.1/postgres/schemaChanges.sql | 20 +++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 bootstrap/sql/migrations/native/1.7.1/mysql/schemaChanges.sql create mode 100644 bootstrap/sql/migrations/native/1.7.1/postgres/schemaChanges.sql diff --git a/bootstrap/sql/migrations/native/1.7.1/mysql/schemaChanges.sql b/bootstrap/sql/migrations/native/1.7.1/mysql/schemaChanges.sql new file mode 100644 index 00000000000..ef2088956c2 --- /dev/null +++ b/bootstrap/sql/migrations/native/1.7.1/mysql/schemaChanges.sql @@ -0,0 +1,18 @@ +UPDATE test_definition +SET json = JSON_ARRAY_INSERT( + json, + '$.parameterDefinition[2]', + JSON_OBJECT( + 'name', 'operator', + 'displayName', 'Operator', + 'description', 'Operator to use to compare the result of the custom SQL query to the threshold.', + 'dataType', 'STRING', + 'required', false, + 'optionValues', JSON_ARRAY('==', '>', '>=', '<', '<=', '!=') + ) +) +WHERE NOT JSON_CONTAINS( + JSON_EXTRACT(json, '$.parameterDefinition[*].name'), + JSON_QUOTE('operator') + ) AND name = 'tableCustomSQLQuery'; + diff --git a/bootstrap/sql/migrations/native/1.7.1/postgres/schemaChanges.sql b/bootstrap/sql/migrations/native/1.7.1/postgres/schemaChanges.sql new file mode 100644 index 00000000000..17afa6e77e8 --- /dev/null +++ b/bootstrap/sql/migrations/native/1.7.1/postgres/schemaChanges.sql @@ -0,0 +1,20 @@ +UPDATE test_definition +SET + json = jsonb_insert( + json, + '{parameterDefinition, 2}', + jsonb_build_object( + 'name', 'operator', + 'displayName', 'Operator', + 'description', 'Operator to use to compare the result of the custom SQL query to the threshold.', + 'dataType', 'STRING', + 'required', false, + 'optionValues', jsonb_build_array('==', '>', '>=', '<', '<=', '!=') + ) + ) +WHERE + name = 'tableCustomSQLQuery' + AND NOT jsonb_path_exists( + json, + '$.parameterDefinition[*] ? (@.name == "operator")' + ); \ No newline at end of file