Quantcast
Channel: SmartClient Forums
Viewing all articles
Browse latest Browse all 4756

FilterBuilder Range Issue

$
0
0
SmartClient Version: v10.0p_2015-06-23/PowerEdition Deployment (built 2015-06-23)

Using a FilterBuilder instance in the same manner as http://www.smartclient.com/smartgwt/showcase/#grid_custom_filter_builder (invoking a ListGrid's filterData() method via a FilterBuilder's criteria), but with a DB2 server, the "between (inclusive)" operation is not functioning. The server logs show the criteria are being transformed into a no-op. The following are the logs from a client request asking for integer field DEALNBR between 20 and 21, showing that MultipleFieldCriteriaTransformer is removing mostly everything and the final SQL formed does not contain the proper select clause(s) containing DEALNBR.
Code:

=== 2015-07-22 13:26:12,842 [c-14] DEBUG RPCManager - Request #1 (DSRequest) payload: {
    criteria:{
        _constructor:"AdvancedCriteria",
        operator:"and",
        criteria:[
            {
                operator:"betweenInclusive",
                fieldName:"DEALNBR",
                start:20,
                end:21
            }
        ]
    },
    operationConfig:{
        dataSource:"IPPEDHR",
        repo:null,
        operationType:"fetch",
        textMatchStyle:"substring"
    },
    startRow:0,
    endRow:75,
    sortBy:[
        "DEALDESC"
    ],
    componentId:"isc_DealsNav_4_0",
    appID:"builtinApplication",
    operation:"IPPEDHR_fetch",
    oldValues:{
        _constructor:"AdvancedCriteria",
        operator:"and",
        criteria:[
            {
                operator:"betweenInclusive",
                fieldName:"DEALNBR",
                start:20,
                end:21
            }
        ]
    }
}
=== 2015-07-22 13:26:12,842 [c-14] DEBUG IpIDACall - Processing 1 queued RPC operations.
=== 2015-07-22 13:26:12,842 [c-14] WARN  IpAuthenticationManager - Property charSetNormalize not found in server.properties
=== 2015-07-22 13:26:12,842 [c-14] INFO  IpIDACall - Performing 1 operation(s)
=== 2015-07-22 13:26:12,842 [c-14] INFO  IpIDACall - Processing DataSource IPPEDHR
=== 2015-07-22 13:26:12,843 [c-14] DEBUG DeclarativeSecurity - Processing security checks for DataSource null, field null
=== 2015-07-22 13:26:12,843 [c-14] DEBUG DeclarativeSecurity - DataSource IPPEDHR is not in the pre-checked list, processing...
=== 2015-07-22 13:26:12,843 [c-14] DEBUG AppBase - [builtinApplication.IPPEDHR_fetch] No userTypes defined, allowing anyone access to all operations for this application
=== 2015-07-22 13:26:12,843 [c-14] DEBUG AppBase - [builtinApplication.IPPEDHR_fetch] No public zero-argument method named '_IPPEDHR_fetch' found, performing generic datasource operation
=== 2015-07-22 13:26:12,844 [c-14] DEBUG Timing - [builtinApplication.IPPEDHR_fetch] Time to convert java.util.HashMap to JS Object: 0ms
=== 2015-07-22 13:26:12,844 [c-14] DEBUG MultipleFieldCriteriaTransformer - [builtinApplication.IPPEDHR_fetch] Transformed criteria {
    criteria:[
    ],
    operator:"and",
    _constructor:"AdvancedCriteria"
}
=== 2015-07-22 13:26:12,844 [c-14] DEBUG Timing - [builtinApplication.IPPEDHR_fetch] Time to convert java.util.HashMap to JS Object: 0ms
=== 2015-07-22 13:26:12,844 [c-14] DEBUG Timing - [builtinApplication.IPPEDHR_fetch] Time to convert java.util.HashMap to JS Object: 0ms
=== 2015-07-22 13:26:12,844 [c-14] INFO  SQLDataSource - [builtinApplication.IPPEDHR_fetch] Performing fetch operation with
        criteria: {criteria:[],operator:"and",_constructor:"AdvancedCriteria"}        values: {criteria:[],operator:"and",_constructor:"AdvancedCriteria"}
=== 2015-07-22 13:26:12,844 [c-14] INFO  SQLWhereClause - [builtinApplication.IPPEDHR_fetch] empty condition
=== 2015-07-22 13:26:12,844 [c-14] INFO  SQLDataSource - [builtinApplication.IPPEDHR_fetch] derived query: SELECT
                        IPPEDHR.*, IPPEDHX.*
                        FROM
                        IPPEDHR LEFT JOIN IPPEDHX ON IPPEDHR.DEALNBR=IPPEDHX.XDEALNBR
                        WHERE $defaultWhereClause ORDER BY $defaultOrderClause
=== 2015-07-22 13:26:12,845 [c-14] DEBUG SQLDataSource - [builtinApplication.IPPEDHR_fetch] Executing row count query: SELECT COUNT(*) FROM
                        IPPEDHR LEFT JOIN IPPEDHX ON IPPEDHR.DEALNBR=IPPEDHX.XDEALNBR
                        WHERE $defaultWhereClause
=== 2015-07-22 13:26:12,845 [c-14] DEBUG SQLDataSource - [builtinApplication.IPPEDHR_fetch] Eval'd row count query: SELECT COUNT(*) FROM
                        IPPEDHR LEFT JOIN IPPEDHX ON IPPEDHR.DEALNBR=IPPEDHX.XDEALNBR
                        WHERE ('1'='1')
=== 2015-07-22 13:26:12,845 [c-14] DEBUG SQLConnectionManager - [builtinApplication.IPPEDHR_fetch] Borrowed connection '414477228'
=== 2015-07-22 13:26:12,845 [c-14] DEBUG SQLDriver - [builtinApplication.IPPEDHR_fetch] About to execute SQL query in 'iptsfiln' using connection '414477228'
=== 2015-07-22 13:26:12,845 [c-14] INFO  SQLDriver - [builtinApplication.IPPEDHR_fetch] Executing SQL query on 'iptsfiln': SELECT COUNT(*) FROM
                        IPPEDHR LEFT JOIN IPPEDHX ON IPPEDHR.DEALNBR=IPPEDHX.XDEALNBR
                        WHERE ('1'='1')
=== 2015-07-22 13:26:12,892 [c-14] DEBUG Timing - [builtinApplication.IPPEDHR_fetch] SQLTransform (1 rows): 0ms
=== 2015-07-22 13:26:12,905 [c-14] DEBUG Timing - [builtinApplication.IPPEDHR_fetch] Counted 139 total rows in result set: 60ms
=== 2015-07-22 13:26:12,905 [c-14] DEBUG SQLDataSource - [builtinApplication.IPPEDHR_fetch] JDBC driver windowed select rows 0->75, result size 75. Query: SELECT
                        IPPEDHR.*, IPPEDHX.*
                        FROM
                        IPPEDHR LEFT JOIN IPPEDHX ON IPPEDHR.DEALNBR=IPPEDHX.XDEALNBR
                        WHERE ('1'='1') ORDER BY DEALDESC

For a request with an "equals" operator, the request is executed properly, with the following logging for a DEALNBR of 20.
Code:

=== 2015-07-22 13:50:48,271 [c-13] DEBUG RPCManager - Request #1 (DSRequest) payload: {
    criteria:{
        _constructor:"AdvancedCriteria",
        operator:"and",
        criteria:[
            {
                fieldName:"DEALNBR",
                operator:"equals",
                value:20,
                _constructor:"AdvancedCriteria"
            }
        ]
    },
    operationConfig:{
        dataSource:"IPPEDHR",
        repo:null,
        operationType:"fetch",
        textMatchStyle:"substring"
    },
    startRow:0,
    endRow:75,
    sortBy:[
        "DEALDESC"
    ],
    componentId:"isc_DealsNav_4_0",
    appID:"builtinApplication",
    operation:"IPPEDHR_fetch",
    oldValues:{
        _constructor:"AdvancedCriteria",
        operator:"and",
        criteria:[
            {
                fieldName:"DEALNBR",
                operator:"equals",
                value:20,
                _constructor:"AdvancedCriteria"
            }
        ]
    }
}
=== 2015-07-22 13:50:48,271 [c-13] DEBUG IpIDACall - Processing 1 queued RPC operations.
=== 2015-07-22 13:50:48,271 [c-13] WARN  IpAuthenticationManager - Property charSetNormalize not found in server.properties
=== 2015-07-22 13:50:48,271 [c-13] INFO  IpIDACall - Performing 1 operation(s)
=== 2015-07-22 13:50:48,271 [c-13] INFO  IpIDACall - Processing DataSource IPPEDHR
=== 2015-07-22 13:50:48,271 [c-13] DEBUG DeclarativeSecurity - Processing security checks for DataSource null, field null
=== 2015-07-22 13:50:48,271 [c-13] DEBUG DeclarativeSecurity - DataSource IPPEDHR is not in the pre-checked list, processing...
=== 2015-07-22 13:50:48,271 [c-13] DEBUG AppBase - [builtinApplication.IPPEDHR_fetch] No userTypes defined, allowing anyone access to all operations for this application
=== 2015-07-22 13:50:48,271 [c-13] DEBUG AppBase - [builtinApplication.IPPEDHR_fetch] No public zero-argument method named '_IPPEDHR_fetch' found, performing generic datasource operation
=== 2015-07-22 13:50:48,272 [c-13] DEBUG Timing - [builtinApplication.IPPEDHR_fetch] Time to convert java.util.HashMap to JS Object: 0ms
=== 2015-07-22 13:50:48,272 [c-13] DEBUG MultipleFieldCriteriaTransformer - [builtinApplication.IPPEDHR_fetch] Transformed criteria {
    criteria:[
        {
            value:20,
            fieldName:"DEALNBR",
            operator:"equals"
        }
    ],
    operator:"and",
    _constructor:"AdvancedCriteria"
}
=== 2015-07-22 13:50:48,272 [c-13] DEBUG Timing - [builtinApplication.IPPEDHR_fetch] Time to convert java.util.HashMap to JS Object: 0ms
=== 2015-07-22 13:50:48,272 [c-13] DEBUG Timing - [builtinApplication.IPPEDHR_fetch] Time to convert java.util.HashMap to JS Object: 0ms
=== 2015-07-22 13:50:48,272 [c-13] INFO  SQLDataSource - [builtinApplication.IPPEDHR_fetch] Performing fetch operation with
        criteria: {criteria:[{value:20,fieldName:"DEALNBR",operator:"equals"}],operator:"and",_constructor:"AdvancedCriteria"}        values: {criteria:[{value:20,fieldName:"DEALNBR",operator:"equals"}],operator:"and",_constructor:"AdvancedCriteria"}
=== 2015-07-22 13:50:48,272 [c-13] INFO  SQLDataSource - [builtinApplication.IPPEDHR_fetch] derived query: SELECT
                        IPPEDHR.*, IPPEDHX.*
                        FROM
                        IPPEDHR LEFT JOIN IPPEDHX ON IPPEDHR.DEALNBR=IPPEDHX.XDEALNBR
                        WHERE $defaultWhereClause ORDER BY $defaultOrderClause
=== 2015-07-22 13:50:48,272 [c-13] DEBUG SQLDataSource - [builtinApplication.IPPEDHR_fetch] Executing row count query: SELECT COUNT(*) FROM
                        IPPEDHR LEFT JOIN IPPEDHX ON IPPEDHR.DEALNBR=IPPEDHX.XDEALNBR
                        WHERE $defaultWhereClause
=== 2015-07-22 13:50:48,272 [c-13] DEBUG SQLDataSource - [builtinApplication.IPPEDHR_fetch] Eval'd row count query: SELECT COUNT(*) FROM
                        IPPEDHR LEFT JOIN IPPEDHX ON IPPEDHR.DEALNBR=IPPEDHX.XDEALNBR
                        WHERE ((DEALNBR = 20 AND DEALNBR IS NOT NULL))
=== 2015-07-22 13:50:48,272 [c-13] DEBUG SQLConnectionManager - [builtinApplication.IPPEDHR_fetch] Borrowed connection '414477228'
=== 2015-07-22 13:50:48,272 [c-13] DEBUG SQLDriver - [builtinApplication.IPPEDHR_fetch] About to execute SQL query in 'iptsfiln' using connection '414477228'
=== 2015-07-22 13:50:48,272 [c-13] INFO  SQLDriver - [builtinApplication.IPPEDHR_fetch] Executing SQL query on 'iptsfiln': SELECT COUNT(*) FROM
                        IPPEDHR LEFT JOIN IPPEDHX ON IPPEDHR.DEALNBR=IPPEDHX.XDEALNBR
                        WHERE ((DEALNBR = 20 AND DEALNBR IS NOT NULL))
=== 2015-07-22 13:50:48,325 [c-13] DEBUG Timing - [builtinApplication.IPPEDHR_fetch] SQLTransform (1 rows): 0ms
=== 2015-07-22 13:50:48,338 [c-13] DEBUG Timing - [builtinApplication.IPPEDHR_fetch] Counted 1 total rows in result set: 66ms
=== 2015-07-22 13:50:48,338 [c-13] DEBUG SQLDataSource - [builtinApplication.IPPEDHR_fetch] JDBC driver windowed select rows 0->75, result size 75. Query: SELECT
                        IPPEDHR.*, IPPEDHX.*
                        FROM
                        IPPEDHR LEFT JOIN IPPEDHX ON IPPEDHR.DEALNBR=IPPEDHX.XDEALNBR
                        WHERE ((DEALNBR = 20 AND DEALNBR IS NOT NULL)) ORDER BY DEALDESC

The same behaviour is exhibited for date field and string field ranges.

Please advise. Thanks.

Viewing all articles
Browse latest Browse all 4756

Trending Articles