CONTAINS Operator
 

CONTAINS Operator

2 posts, 0 answered
  1. Roger Blanchard
    Roger Blanchard avatar
    381 posts
    Registered:
    29 Jun 2018
    10 Jul 2018
    Link to this post
    Is there a reason why CONTAINS is NOT supported as a valid Operator? 

    /*------------------------------------------------------------------------------
            Purpose: Returns the OperatorEnum matching the UltraGridFilterCell FilterOperator
            Notes:   Supported UltraGrid FilterOperators per data type (plUseOperators = TRUE):
                     LOGICAL:                     Equals, NotEquals
                     DATE, DATETIME, DATETIME-TZ, Equals, NotEquals, GreaterThan, GreaterThanOrEqualTo,
                     DECIMAL, INTEGER, INT64:     LessThan, LessThanOrEqualTo
                     CHARACTER, LONGCHAR:         Equals, NotEquals, StartsWith, Like, EndsWith,
                                                  GreaterThan, GreaterThanOrEqualTo, LessThan, LessThanOrEqualTo
                     This method returns MATCHES for EndsWith. The BuildQueryExpression method
                     is required to convert the filter pattern from "abc" to "*abc"
            @param poFilter The FilterOperator of the UltraGridFilterCell
            @return The resulting OperatorEnum value
        ------------------------------------------------------------------------------*/
        METHOD PUBLIC STATIC OperatorEnum OperatorFromUltraGrid (poFilter AS FilterComparisionOperator):
            IF EnumHelper:AreEqual(poFilter, FilterComparisionOperator:Equals) THEN
                RETURN OperatorEnum:EQ .
            IF EnumHelper:AreEqual(poFilter, FilterComparisionOperator:NotEquals) THEN
                RETURN OperatorEnum:NE .
            IF EnumHelper:AreEqual(poFilter, FilterComparisionOperator:GreaterThan) THEN
                RETURN OperatorEnum:GT .
            IF EnumHelper:AreEqual(poFilter, FilterComparisionOperator:GreaterThanOrEqualTo) THEN
                RETURN OperatorEnum:GE .
            IF EnumHelper:AreEqual(poFilter, FilterComparisionOperator:LessThan) THEN
                RETURN OperatorEnum:LT .
            IF EnumHelper:AreEqual(poFilter, FilterComparisionOperator:LessThanOrEqualTo) THEN
                RETURN OperatorEnum:LE .
            IF EnumHelper:AreEqual(poFilter, FilterComparisionOperator:StartsWith) THEN
                RETURN OperatorEnum:Begins .
            IF EnumHelper:AreEqual(poFilter, FilterComparisionOperator:Like) THEN
                RETURN OperatorEnum:Matches .
            IF EnumHelper:AreEqual(poFilter, FilterComparisionOperator:EndsWith) THEN
                RETURN OperatorEnum:Matches .
        END METHOD .

  2. Mike Fechner
    Mike Fechner avatar
    319 posts
    Registered:
    14 Sep 2016
    18 Sep 2018 in reply to Roger Blanchard
    Link to this post
    Not sure. We might be able to add support for CONTAINS.

    We might have ignored CONTAINS when we implemented this, as on the frontend we cannot know if the DB has a word index. 

    But we can leave that in your responsibility. 

    Please log an enhancement request on https://support.consultingwerkcloud.com and describe your use case. 
2 posts, 0 answered