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 DEALDESCCode:
=== 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 DEALDESCPlease advise. Thanks.