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.
For a request with an "equals" operator, the request is executed properly, with the following logging for a DEALNBR of 20.
The same behaviour is exhibited for date field and string field ranges.
Please advise. Thanks.
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
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
Please advise. Thanks.
Comment