From 1efa1a147b85cb3f9d685792245846236b2ea4ac Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Fri, 10 Sep 2021 18:02:50 +0000 Subject: [PATCH] --- .vscode/launch.json | 2 +- .../DataListSqlFilterCriteriaBuilder.cs | 31 ++++++++----------- 2 files changed, 14 insertions(+), 19 deletions(-) diff --git a/.vscode/launch.json b/.vscode/launch.json index 976f60e9..f92c39ec 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -52,7 +52,7 @@ "AYANOVA_FOLDER_USER_FILES": "c:\\temp\\RavenTestData\\userfiles", "AYANOVA_FOLDER_BACKUP_FILES": "c:\\temp\\RavenTestData\\backupfiles", "AYANOVA_FOLDER_TEMPORARY_SERVER_FILES": "c:\\temp\\RavenTestData\\tempfiles", - "AYANOVA_SERVER_TEST_MODE": "true", + "AYANOVA_SERVER_TEST_MODE": "false", "AYANOVA_SERVER_TEST_MODE_SEEDLEVEL": "small", "AYANOVA_SERVER_TEST_MODE_TZ_OFFSET": "-7", "AYANOVA_BACKUP_PG_DUMP_PATH": "C:\\data\\code\\postgres_13\\bin\\" diff --git a/server/AyaNova/DataList/DataListSqlFilterCriteriaBuilder.cs b/server/AyaNova/DataList/DataListSqlFilterCriteriaBuilder.cs index 94be222b..20a08e15 100644 --- a/server/AyaNova/DataList/DataListSqlFilterCriteriaBuilder.cs +++ b/server/AyaNova/DataList/DataListSqlFilterCriteriaBuilder.cs @@ -151,7 +151,7 @@ namespace AyaNova.DataList bool ForceToLower = false; //Force to LOWER case if it's a text data type and filter case sensitive is false - if (ServerGlobalBizSettings.Cache.FilterCaseSensitive) + if (!ServerGlobalBizSettings.Cache.FilterCaseSensitive) { switch (DataType) { @@ -169,27 +169,16 @@ namespace AyaNova.DataList //Handle nulls and also insert the column name into the query in case sensitive fashion switch (sOperator) { - case DataListFilterComparisonOperator.Equality: - //no specific addition on equals for nulls, just column name for below - if (ForceToLower) - sb.Append($"lower('{SqlColumnNameToFilter}') "); - else - sb.Append($"{SqlColumnNameToFilter} "); - break; - case DataListFilterComparisonOperator.GreaterThan: + //case DataListFilterComparisonOperator.Equality: //no specific addition on equals for nulls, let default handle it + //case DataListFilterComparisonOperator.GreaterThan: //no specific addition on greater than for nulls //(nulls are going to be assumed to be always at the - //less than end of the scale) so just include column name - break; - case DataListFilterComparisonOperator.GreaterThanOrEqualTo: + //less than end of the scale) so let default handle it + //case DataListFilterComparisonOperator.GreaterThanOrEqualTo: //no change on greater than for nulls //(nulls are going to be assumed to be always at the - //less than end of the scale) - if (ForceToLower) - sb.Append($"lower('{SqlColumnNameToFilter}') "); - else - sb.Append($"{SqlColumnNameToFilter} "); - break; + //less than end of the scale) let default case handle it + case DataListFilterComparisonOperator.LessThan: sb.Append($"{SqlColumnNameToFilter} "); sb.Append("Is Null OR "); @@ -218,6 +207,12 @@ namespace AyaNova.DataList sb.Append(SqlColumnNameToFilter); sb.Append(" "); break; + default: + if (ForceToLower) + sb.Append($"lower('{SqlColumnNameToFilter}') "); + else + sb.Append($"{SqlColumnNameToFilter} "); + break; }