From 98d682a9d3a67be78e99209d401ce0d593521a82 Mon Sep 17 00:00:00 2001 From: Doug Dew Date: Thu, 23 Jan 2025 15:54:03 -0600 Subject: [PATCH 1/2] add guard to CHR function --- docs/coverage/pom.xml | 2 +- .../src/main/java/com/force/formula/commands/FunctionChr.java | 2 +- impl/src/test/goldfiles/FormulaFields/v2/postgres/testChr.xml | 4 ++-- pom.xml | 3 ++- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/docs/coverage/pom.xml b/docs/coverage/pom.xml index 3296f12f..ca57a2e8 100644 --- a/docs/coverage/pom.xml +++ b/docs/coverage/pom.xml @@ -57,12 +57,12 @@ db-tests + + From 1ea27ef78e8c55748ac5150f82f275271b79d7f8 Mon Sep 17 00:00:00 2001 From: Doug Dew Date: Thu, 23 Jan 2025 18:45:23 -0600 Subject: [PATCH 2/2] Improve guard --- .../src/main/java/com/force/formula/commands/FunctionChr.java | 2 +- impl/src/test/goldfiles/FormulaFields/v2/postgres/testChr.xml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/impl/src/main/java/com/force/formula/commands/FunctionChr.java b/impl/src/main/java/com/force/formula/commands/FunctionChr.java index 58e1d3bb..f55f0efe 100644 --- a/impl/src/main/java/com/force/formula/commands/FunctionChr.java +++ b/impl/src/main/java/com/force/formula/commands/FunctionChr.java @@ -34,7 +34,7 @@ public FormulaCommand getCommand(FormulaAST node, FormulaContext context) { @Override public SQLPair getSQL(FormulaAST node, FormulaContext context, String[] args, String[] guards, TableAliasRegistry registry) { - String guard = SQLPair.generateGuard(guards, args[0] + "<1 OR " + args[0] + ">1114111"); + String guard = SQLPair.generateGuard(guards, "(" + args[0] + "<1 OR " + args[0] + ">1114111)"); return new SQLPair(String.format(getSqlHooks(context).sqlChr(), args[0]), guard); } diff --git a/impl/src/test/goldfiles/FormulaFields/v2/postgres/testChr.xml b/impl/src/test/goldfiles/FormulaFields/v2/postgres/testChr.xml index 8639318b..0b9ed254 100644 --- a/impl/src/test/goldfiles/FormulaFields/v2/postgres/testChr.xml +++ b/impl/src/test/goldfiles/FormulaFields/v2/postgres/testChr.xml @@ -6,10 +6,10 @@ (context.record.customnumber__c&&context.record.customnumber__c.toNumber()>0?String.fromCodePoint(Math.trunc(context.record.customnumber__c.toNumber())):null) CHR(TRUNC(COALESCE($!s0s!$.customnumber__c, 0))::integer) - COALESCE($!s0s!$.customnumber__c, 0)<1 OR COALESCE($!s0s!$.customnumber__c, 0)>1114111 + (COALESCE($!s0s!$.customnumber__c, 0)<1 OR COALESCE($!s0s!$.customnumber__c, 0)>1114111) CHR(TRUNC($!s0s!$.customnumber__c)::integer) - $!s0s!$.customnumber__c<1 OR $!s0s!$.customnumber__c>1114111 + ($!s0s!$.customnumber__c<1 OR $!s0s!$.customnumber__c>1114111)