This commit is contained in:
2021-09-02 19:32:39 +00:00
parent 5fd9ccb4ed
commit 121f1bbac0

View File

@@ -982,34 +982,16 @@ namespace AyaNova.DataList
case DataListFilterComparisonOperator.NotEqual: case DataListFilterComparisonOperator.NotEqual:
//NOT (ARRAY['green'::varchar(255)] <@ tags and array_length(tags,1) = 1) //NOT (ARRAY['green'::varchar(255)] <@ tags and array_length(tags,1) = 1)
return $"NOT ({PostgresTagArrayFragment} <@ {SqlColumnNameToFilter} AND ARRAY_LENGTH({SqlColumnNameToFilter},1) = {normalizedTags.Count})"; return $"NOT ({PostgresTagArrayFragment} <@ {SqlColumnNameToFilter} AND ARRAY_LENGTH({SqlColumnNameToFilter},1) = {normalizedTags.Count})";
case DataListFilterComparisonOperator.NotContains: case DataListFilterComparisonOperator.NotContains:
sb.Append("Not Like '%"); //NOT ARRAY['red','green'::varchar(255)] <@ tags
sb.Append(sValue); return $"NOT {PostgresTagArrayFragment} <@ {SqlColumnNameToFilter}";
sb.Append("%'");
break;
case DataListFilterComparisonOperator.Contains: case DataListFilterComparisonOperator.Contains:
//ARRAY['red','green'::varchar(255)] <@ tags
//TagSpecificWhereFragment = $"(array_to_string({tagColumn.GetSqlValueColumnName()},',') like '%{tagSpecificQuery}%')"; return $"{PostgresTagArrayFragment} <@ {SqlColumnNameToFilter}";
sb.Append("Like '%");
sb.Append(sValue);
sb.Append("%'");
break;
default: default:
throw new System.ArgumentOutOfRangeException("OPERATOR_TYPE", sOperator, "DataListSqlFilterCriteriaBuilder unhandled operator type [" + sOperator + "] IN TAGS"); throw new System.ArgumentOutOfRangeException("OPERATOR_TYPE", sOperator, "DataListSqlFilterCriteriaBuilder unhandled operator type [" + sOperator + "] IN TAGS");
} }
} }
return sb.ToString();
} }
//////////////////////////////////// ////////////////////////////////////