Hi Isomorphic,
I found this missing feature when testing extending the IDACall servlet as described in http://www.smartclient.com/smartgwte...l#requiresRole.
My new class, used as servlet in web.xml:
("User"-helper class just gets values stored in session from the HttpServletRequest).
This leads to unexpected results related to the addToCriteria().
Please see the server log (v9.0p_2013-11-05/EVAL):
I marked the parts I find suspicious in bold.
Request#1: Why is TENANT_ID compared with "LIKE" (if you wonder, the other selections in the WHERE clause come from the ds.xml's used DMI)? I see the textMatchStyle, but TENANT_ID is defined as follows:
Request#2: Why is TENANT_ID not in the WHERE-clause of the SQL? The criteria used "feel" wrong:
criteria: {fieldName:"AVAILABLE",operator:"equals",value:true,TENANT_ID:0}.
I think there might be something wrong with addToCriteria().
I'll definitely try again with a new nightly (Nov 7th or newer), as this might be very close to http://forums.smartclient.com/showthread.php?t=28401
Thank you & best regards,
Blama
I found this missing feature when testing extending the IDACall servlet as described in http://www.smartclient.com/smartgwte...l#requiresRole.
My new class, used as servlet in web.xml:
Code:
import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.isomorphic.datasource.DSRequest; import com.isomorphic.datasource.DSResponse; import com.isomorphic.datasource.DataSource; import com.isomorphic.rpc.RPCManager; import com.isomorphic.servlet.IDACall; import com.isomorphic.servlet.RequestContext; import com.lmscompany.lms.server.util.User; public class LMSIDACall extends IDACall { private static final long serialVersionUID = 4543651445782711736L; /* * See http://www.smartclient.com/smartgwtee/javadoc/com/smartgwt/client/docs/serverds/OperationBinding.html#requiresRole */ @Override public void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Integer i = User.getUserId(request); if (i != null) { try { RequestContext context = RequestContext.instance(this, request, response); RPCManager rpc = new RPCManager(request, response); rpc.setUserId(i.toString()); // rpc.setAuthenticated(true); // rpc.setUserRoles((String) roles); // call processRPCTransaction() to iterate through all RPCRequests and // DSRequests and execute them processRPCTransaction(rpc, context); } catch (Throwable e) { handleError(response, e); } } else { super.processRequest(request, response); } } @SuppressWarnings("unchecked") @Override public DSResponse handleDSRequest(DSRequest arg0, RPCManager arg1, RequestContext arg2) throws Exception { if (arg0.getOperationType().equals(DataSource.OP_ADD)) { arg0.setValues(arg0.getValues().put("TENANT_ID", User.getUserTenantId(arg0.getHttpServletRequest()))); } else if (arg0.getOperationType().equals(DataSource.OP_FETCH) || arg0.getOperationType().equals(DataSource.OP_UPDATE) || arg0.getOperationType().equals(DataSource.OP_REMOVE)) [B]arg0.addToCriteria("TENANT_ID", "equals", User.getUserTenantId(arg0.getHttpServletRequest()).toString())[/B]; return super.handleDSRequest(arg0, arg1, arg2); } }
This leads to unexpected results related to the addToCriteria().
Please see the server log (v9.0p_2013-11-05/EVAL):
Code:
=== 2013-11-06 20:32:40,365 [c-37] INFO RequestContext - URL: '/lms/lms/sc/IDACall', User-Agent: 'Mozilla/5.0 (Windows NT 6.2; WOW64; rv:25.0) Gecko/20100101 Firefox/25.0': Moz (Gecko) with Accept-Encoding header === 2013-11-06 20:32:40,370 [c-37] DEBUG XML - Parsed XML from (in memory stream): 3ms === 2013-11-06 20:32:40,374 [c-37] DEBUG RPCManager - [B]Processing 2 requests[/B]. === 2013-11-06 20:32:40,375 [c-37] DEBUG DSRequest - Caching instance 271 of DS V_LEAD_UNFINISHED from DSRequest.getDataSource() === 2013-11-06 20:32:40,375 [c-37] DEBUG RPCManager - Request #1 (DSRequest) payload: { [B]criteria:{ }[/B], operationConfig:{ dataSource:"V_LEAD_UNFINISHED", operationType:"fetch", [B]textMatchStyle:"substring"[/B] }, startRow:0, endRow:75, sortBy:[ "CAMPAIGN_NAME" ], componentId:"isc_LeadVLayout_3$2$1_2", appID:"builtinApplication", operation:"V_LEAD_UNFINISHED_fetch", oldValues:{ } } === 2013-11-06 20:32:40,375 [c-37] DEBUG DSRequest - Caching instance 128 of DS T_LEADTEMPERATURE from DSRequest.getDataSource() === 2013-11-06 20:32:40,376 [c-37] DEBUG RPCManager - Request #2 (DSRequest) payload: { [B]criteria:{ fieldName:"AVAILABLE", operator:"equals", value:true }[/B], operationConfig:{ dataSource:"T_LEADTEMPERATURE", operationType:"fetch", [B]textMatchStyle:"startsWith"[/B] }, componentId:"isc_PickListMenu_1", appID:"builtinApplication", operation:"T_LEADTEMPERATURE_fetch", oldValues:{ fieldName:"AVAILABLE", operator:"equals", value:true } } === 2013-11-06 20:32:40,376 [c-37] DEBUG Relation - Caching instance of toDS 'V_USER_CREATED_BY' in the DSRequest map === 2013-11-06 20:32:40,377 [c-37] DEBUG Relation - Caching instance of toDS 'V_USER_MODIFIED_BY' in the DSRequest map === 2013-11-06 20:32:40,377 [c-37] DEBUG Relation - Caching instance of toDS 'T_CAMPAIGN' in the DSRequest map === 2013-11-06 20:32:40,377 [c-37] DEBUG DeclarativeSecurity - Processing security checks for DataSource null, field null === 2013-11-06 20:32:40,377 [c-37] DEBUG DeclarativeSecurity - DataSource V_LEAD_UNFINISHED is not in the pre-checked list, processing... === 2013-11-06 20:32:40,377 [c-37] DEBUG DeclarativeSecurity - Processing security checks for DataSource V_USER_CREATED_BY, field ID === 2013-11-06 20:32:40,378 [c-37] DEBUG DeclarativeSecurity - DataSource V_USER_CREATED_BY is not in the pre-checked list, processing... === 2013-11-06 20:32:40,378 [c-37] DEBUG DeclarativeSecurity - Processing security checks for DataSource V_USER_CREATED_BY, field FULLNAME === 2013-11-06 20:32:40,378 [c-37] DEBUG DeclarativeSecurity - DataSource V_USER_CREATED_BY is not in the pre-checked list, processing... === 2013-11-06 20:32:40,378 [c-37] DEBUG DeclarativeSecurity - Processing security checks for DataSource V_USER_MODIFIED_BY, field ID === 2013-11-06 20:32:40,378 [c-37] DEBUG DeclarativeSecurity - DataSource V_USER_MODIFIED_BY is not in the pre-checked list, processing... === 2013-11-06 20:32:40,378 [c-37] DEBUG DeclarativeSecurity - Processing security checks for DataSource V_USER_MODIFIED_BY, field FULLNAME === 2013-11-06 20:32:40,379 [c-37] DEBUG DeclarativeSecurity - DataSource V_USER_MODIFIED_BY is not in the pre-checked list, processing... === 2013-11-06 20:32:40,379 [c-37] DEBUG DeclarativeSecurity - Processing security checks for DataSource T_LEADTEMPERATURE, field ID === 2013-11-06 20:32:40,379 [c-37] DEBUG DeclarativeSecurity - DataSource T_LEADTEMPERATURE is not in the pre-checked list, processing... === 2013-11-06 20:32:40,379 [c-37] DEBUG DeclarativeSecurity - Processing security checks for DataSource T_LEADTEMPERATURE, field NAME === 2013-11-06 20:32:40,379 [c-37] DEBUG DeclarativeSecurity - DataSource T_LEADTEMPERATURE is not in the pre-checked list, processing... === 2013-11-06 20:32:40,379 [c-37] DEBUG DeclarativeSecurity - Processing security checks for DataSource T_LEADTEMPERATURE, field ID === 2013-11-06 20:32:40,379 [c-37] DEBUG DeclarativeSecurity - Processing security checks for DataSource T_LEADTEMPERATURE, field POSITION === 2013-11-06 20:32:40,380 [c-37] DEBUG DeclarativeSecurity - Processing security checks for DataSource T_CAMPAIGN, field ID === 2013-11-06 20:32:40,380 [c-37] DEBUG DeclarativeSecurity - DataSource T_CAMPAIGN is not in the pre-checked list, processing... === 2013-11-06 20:32:40,380 [c-37] DEBUG DeclarativeSecurity - Processing security checks for DataSource T_CAMPAIGN, field NAME === 2013-11-06 20:32:40,380 [c-37] DEBUG DeclarativeSecurity - DataSource T_CAMPAIGN is not in the pre-checked list, processing... === 2013-11-06 20:32:40,381 [c-37] DEBUG DeclarativeSecurity - Processing security checks for DataSource null, field null === 2013-11-06 20:32:40,381 [c-37] DEBUG DeclarativeSecurity - DataSource V_LEAD_UNFINISHED is not in the pre-checked list, processing... === 2013-11-06 20:32:40,382 [c-37] DEBUG DeclarativeSecurity - Processing security checks for DataSource V_USER_CREATED_BY, field ID === 2013-11-06 20:32:40,382 [c-37] DEBUG DeclarativeSecurity - Processing security checks for DataSource V_USER_CREATED_BY, field FULLNAME === 2013-11-06 20:32:40,382 [c-37] DEBUG DeclarativeSecurity - Processing security checks for DataSource V_USER_MODIFIED_BY, field ID === 2013-11-06 20:32:40,382 [c-37] DEBUG DeclarativeSecurity - Processing security checks for DataSource V_USER_MODIFIED_BY, field FULLNAME === 2013-11-06 20:32:40,382 [c-37] DEBUG DeclarativeSecurity - Processing security checks for DataSource T_LEADTEMPERATURE, field ID === 2013-11-06 20:32:40,382 [c-37] DEBUG DeclarativeSecurity - Processing security checks for DataSource T_LEADTEMPERATURE, field NAME === 2013-11-06 20:32:40,383 [c-37] DEBUG DeclarativeSecurity - Processing security checks for DataSource T_LEADTEMPERATURE, field ID === 2013-11-06 20:32:40,383 [c-37] DEBUG DeclarativeSecurity - Processing security checks for DataSource T_LEADTEMPERATURE, field POSITION === 2013-11-06 20:32:40,383 [c-37] DEBUG DeclarativeSecurity - Processing security checks for DataSource T_CAMPAIGN, field ID === 2013-11-06 20:32:40,383 [c-37] DEBUG DeclarativeSecurity - Processing security checks for DataSource T_CAMPAIGN, field NAME === 2013-11-06 20:32:40,383 [c-37] DEBUG AppBase - [builtinApplication.V_LEAD_UNFINISHED_fetch] No userTypes defined, allowing anyone access to all operations for this application === 2013-11-06 20:32:40,383 [c-37] DEBUG AppBase - [builtinApplication.V_LEAD_UNFINISHED_fetch] No public zero-argument method named '_V_LEAD_UNFINISHED_fetch' found, performing generic datasource operation === 2013-11-06 20:32:40,384 [c-37] INFO SQLDataSource - [builtinApplication.V_LEAD_UNFINISHED_fetch] Performing fetch operation with criteria: {criteria:[{criteria:[{value:0,fieldName:"TENANT_ID",operator:"contains"}],operator:"and"},{value:1,fieldName:"CREATED_BY_RESELLER_ID",operator:"equals"},{value:1112,fieldName:"ENTERED_USER_ID",operator:"equals"}],operator:"and",_constructor:"AdvancedCriteria"} values: {criteria:[{criteria:[{value:0,fieldName:"TENANT_ID",operator:"contains"}],operator:"and"},{value:1,fieldName:"CREATED_BY_RESELLER_ID",operator:"equals"},{value:1112,fieldName:"ENTERED_USER_ID",operator:"equals"}],operator:"and",_constructor:"AdvancedCriteria"} === 2013-11-06 20:32:40,385 [c-37] INFO SQLDataSource - [builtinApplication.V_LEAD_UNFINISHED_fetch] derived query: SELECT $defaultSelectClause FROM $defaultTableClause$defaultAnsiJoinClause WHERE $defaultWhereClause ORDER BY $defaultOrderClause === 2013-11-06 20:32:40,386 [c-37] DEBUG SQLDataSource - [builtinApplication.V_LEAD_UNFINISHED_fetch] Executing row count query: SELECT COUNT(*) FROM $defaultTableClause$defaultAnsiJoinClause WHERE $defaultWhereClause === 2013-11-06 20:32:40,386 [c-37] DEBUG SQLDataSource - [builtinApplication.V_LEAD_UNFINISHED_fetch] Eval'd row count query: SELECT COUNT(*) FROM V_LEAD_UNFINISHED JOIN V_USER_CREATED_BY ON V_LEAD_UNFINISHED.CREATED_BY = V_USER_CREATED_BY.ID JOIN V_USER_MODIFIED_BY ON V_LEAD_UNFINISHED.MODIFIED_BY = V_USER_MODIFIED_BY.ID JOIN T_LEADTEMPERATURE ON V_LEAD_UNFINISHED.LEADTEMPERATURE_ID = T_LEADTEMPERATURE.ID JOIN T_CAMPAIGN ON V_LEAD_UNFINISHED.CAMPAIGN_ID = T_CAMPAIGN.ID WHERE (((V_LEAD_UNFINISHED.[B]TENANT_ID LIKE '%0%'[/B] ESCAPE'\' AND V_LEAD_UNFINISHED.TENANT_ID IS NOT NULL)) AND (V_LEAD_UNFINISHED.CREATED_BY_RESELLER_ID = 1 AND V_LEAD_UNFINISHED.CREATED_BY_RESELLER_ID IS NOT NULL) AND (V_LEAD_UNFINISHED.ENTERED_USER_ID = 1112 AND V_LEAD_UNFINISHED.ENTERED_USER_ID IS NOT NULL)) === 2013-11-06 20:32:40,387 [c-37] DEBUG PoolableSQLConnectionFactory - [builtinApplication.V_LEAD_UNFINISHED_fetch] Executing pingTest 'select 1 from dual' on connection 2093220851 === 2013-11-06 20:32:40,388 [c-37] DEBUG SQLConnectionManager - [builtinApplication.V_LEAD_UNFINISHED_fetch] Borrowed connection '2093220851' === 2013-11-06 20:32:40,388 [c-37] DEBUG SQLTransaction - [builtinApplication.V_LEAD_UNFINISHED_fetch] Started new Oracle transaction "2093220851" === 2013-11-06 20:32:40,388 [c-37] DEBUG SQLDriver - [builtinApplication.V_LEAD_UNFINISHED_fetch] About to execute SQL query in 'Oracle' using connection '2093220851' === 2013-11-06 20:32:40,388 [c-37] INFO SQLDriver - [builtinApplication.V_LEAD_UNFINISHED_fetch] Executing SQL query on 'Oracle': SELECT COUNT(*) FROM V_LEAD_UNFINISHED JOIN V_USER_CREATED_BY ON V_LEAD_UNFINISHED.CREATED_BY = V_USER_CREATED_BY.ID JOIN V_USER_MODIFIED_BY ON V_LEAD_UNFINISHED.MODIFIED_BY = V_USER_MODIFIED_BY.ID JOIN T_LEADTEMPERATURE ON V_LEAD_UNFINISHED.LEADTEMPERATURE_ID = T_LEADTEMPERATURE.ID JOIN T_CAMPAIGN ON V_LEAD_UNFINISHED.CAMPAIGN_ID = T_CAMPAIGN.ID WHERE (((V_LEAD_UNFINISHED.[B]TENANT_ID LIKE '%0%'[/B] ESCAPE'\' AND V_LEAD_UNFINISHED.TENANT_ID IS NOT NULL)) AND (V_LEAD_UNFINISHED.CREATED_BY_RESELLER_ID = 1 AND V_LEAD_UNFINISHED.CREATED_BY_RESELLER_ID IS NOT NULL) AND (V_LEAD_UNFINISHED.ENTERED_USER_ID = 1112 AND V_LEAD_UNFINISHED.ENTERED_USER_ID IS NOT NULL)) === 2013-11-06 20:32:40,393 [c-37] DEBUG SQLDataSource - [builtinApplication.V_LEAD_UNFINISHED_fetch] JDBC driver windowed select rows 0->75, result size 75. Query: SELECT V_LEAD_UNFINISHED.ADDRESS_ID, V_LEAD_UNFINISHED.AUSSTEUERGRUND, V_LEAD_UNFINISHED.CAMPAIGN_ID, V_LEAD_UNFINISHED.CREATED_AT, V_LEAD_UNFINISHED.CREATED_BY, V_LEAD_UNFINISHED.CREATED_BY_COMPANY_ID, V_LEAD_UNFINISHED.CREATED_BY_DISTRIBUTOR_ID, V_LEAD_UNFINISHED.CREATED_BY_RESELLER_ID, V_LEAD_UNFINISHED.CUST_NAME_CONTACTPERSFULLNAME, V_LEAD_UNFINISHED.EARLIEST_START, V_LEAD_UNFINISHED.ENTERED_USER_ID, V_LEAD_UNFINISHED.GUESSED_VOLUME, V_LEAD_UNFINISHED.LATEST_END, V_LEAD_UNFINISHED.LEADTEMPERATURE_ID, V_LEAD_UNFINISHED.LEAD_HISTORY_ID, V_LEAD_UNFINISHED.LEAD_ID, V_LEAD_UNFINISHED.MODIFIED_AT, V_LEAD_UNFINISHED.MODIFIED_BY, V_LEAD_UNFINISHED.TENANT_ID, V_USER_CREATED_BY.FULLNAME AS CREATED_BY_NAME, V_USER_MODIFIED_BY.FULLNAME AS MODIFIED_BY_NAME, T_LEADTEMPERATURE.NAME AS LEADTEMPERATURE_NAME, T_LEADTEMPERATURE.POSITION AS LEADTEMPERATURE_POSITION, T_CAMPAIGN.NAME AS CAMPAIGN_NAME FROM V_LEAD_UNFINISHED JOIN V_USER_CREATED_BY ON V_LEAD_UNFINISHED.CREATED_BY = V_USER_CREATED_BY.ID JOIN V_USER_MODIFIED_BY ON V_LEAD_UNFINISHED.MODIFIED_BY = V_USER_MODIFIED_BY.ID JOIN T_LEADTEMPERATURE ON V_LEAD_UNFINISHED.LEADTEMPERATURE_ID = T_LEADTEMPERATURE.ID JOIN T_CAMPAIGN ON V_LEAD_UNFINISHED.CAMPAIGN_ID = T_CAMPAIGN.ID WHERE (((V_LEAD_UNFINISHED.[B]TENANT_ID LIKE '%0%'[/B] ESCAPE'\' AND V_LEAD_UNFINISHED.TENANT_ID IS NOT NULL)) AND (V_LEAD_UNFINISHED.CREATED_BY_RESELLER_ID = 1 AND V_LEAD_UNFINISHED.CREATED_BY_RESELLER_ID IS NOT NULL) AND (V_LEAD_UNFINISHED.ENTERED_USER_ID = 1112 AND V_LEAD_UNFINISHED.ENTERED_USER_ID IS NOT NULL)) ORDER BY CAMPAIGN_NAME === 2013-11-06 20:32:40,397 [c-37] DEBUG SQLDataSource - [builtinApplication.V_LEAD_UNFINISHED_fetch] Using paging strategy 'jdbcScroll' - scrolling to absolute position 1 === 2013-11-06 20:32:40,398 [c-37] DEBUG SQLDataSource - [builtinApplication.V_LEAD_UNFINISHED_fetch] Scrolling / positioning took 1ms === 2013-11-06 20:32:40,402 [c-37] INFO DSResponse - [builtinApplication.V_LEAD_UNFINISHED_fetch] DSResponse: List with 6 items === 2013-11-06 20:32:40,403 [c-37] DEBUG DeclarativeSecurity - Processing security checks for DataSource null, field null === 2013-11-06 20:32:40,403 [c-37] DEBUG DeclarativeSecurity - DataSource T_LEADTEMPERATURE is not in the pre-checked list, processing... === 2013-11-06 20:32:40,404 [c-37] DEBUG AppBase - [builtinApplication.T_LEADTEMPERATURE_fetch] No userTypes defined, allowing anyone access to all operations for this application === 2013-11-06 20:32:40,404 [c-37] DEBUG AppBase - [builtinApplication.T_LEADTEMPERATURE_fetch] No public zero-argument method named '_T_LEADTEMPERATURE_fetch' found, performing generic datasource operation === 2013-11-06 20:32:40,404 [c-37] INFO SQLDataSource - [builtinApplication.T_LEADTEMPERATURE_fetch] Performing fetch operation with [B]criteria: {fieldName:"AVAILABLE",operator:"equals",value:true,TENANT_ID:0}[/B] values: {fieldName:"AVAILABLE",operator:"equals",value:true,TENANT_ID:0} === 2013-11-06 20:32:40,405 [c-37] INFO SQLDataSource - [builtinApplication.T_LEADTEMPERATURE_fetch] derived query: SELECT $defaultSelectClause FROM $defaultTableClause WHERE $defaultWhereClause === 2013-11-06 20:32:40,406 [c-37] INFO SQLDataSource - [builtinApplication.T_LEADTEMPERATURE_fetch] 128: Executing SQL query on 'Oracle': SELECT T_LEADTEMPERATURE.AVAILABLE, T_LEADTEMPERATURE.CREATED_AT, T_LEADTEMPERATURE.CREATED_BY, T_LEADTEMPERATURE.DESCRIPTION, T_LEADTEMPERATURE.ID, T_LEADTEMPERATURE.MODIFIED_AT, T_LEADTEMPERATURE.MODIFIED_BY, T_LEADTEMPERATURE.NAME, T_LEADTEMPERATURE.POSITION, T_LEADTEMPERATURE.POSITION AS POSITION_DND, T_LEADTEMPERATURE.SHORTNAME, T_LEADTEMPERATURE.TENANT_ID FROM T_LEADTEMPERATURE WHERE [B](T_LEADTEMPERATURE.AVAILABLE = 'Y' AND T_LEADTEMPERATURE.AVAILABLE IS NOT NULL)[/B] === 2013-11-06 20:32:40,406 [c-37] DEBUG SQLDriver - [builtinApplication.T_LEADTEMPERATURE_fetch] About to execute SQL query in 'Oracle' using connection '2093220851' === 2013-11-06 20:32:40,406 [c-37] INFO SQLDriver - [builtinApplication.T_LEADTEMPERATURE_fetch] Executing SQL query on 'Oracle': SELECT T_LEADTEMPERATURE.AVAILABLE, T_LEADTEMPERATURE.CREATED_AT, T_LEADTEMPERATURE.CREATED_BY, T_LEADTEMPERATURE.DESCRIPTION, T_LEADTEMPERATURE.ID, T_LEADTEMPERATURE.MODIFIED_AT, T_LEADTEMPERATURE.MODIFIED_BY, T_LEADTEMPERATURE.NAME, T_LEADTEMPERATURE.POSITION, T_LEADTEMPERATURE.POSITION AS POSITION_DND, T_LEADTEMPERATURE.SHORTNAME, T_LEADTEMPERATURE.TENANT_ID FROM T_LEADTEMPERATURE WHERE (T_LEADTEMPERATURE.AVAILABLE = 'Y' AND T_LEADTEMPERATURE.AVAILABLE IS NOT NULL) === 2013-11-06 20:32:40,409 [c-37] INFO DSResponse - [builtinApplication.T_LEADTEMPERATURE_fetch] DSResponse: List with 4 items === 2013-11-06 20:32:40,409 [c-37] DEBUG RPCManager - Content type for RPC transaction: text/plain; charset=UTF-8 === 2013-11-06 20:32:40,410 [c-37] DEBUG SQLTransaction - Committing Oracle transaction "2093220851" === 2013-11-06 20:32:40,410 [c-37] DEBUG RPCManager - DMI response, dropExtraFields: true === 2013-11-06 20:32:40,410 [c-37] DEBUG RPCManager - non-DMI response, dropExtraFields: false === 2013-11-06 20:32:40,413 [c-37] DEBUG SQLTransaction - Returning transactional connection for Oracle with hashcode "2093220851" === 2013-11-06 20:32:40,413 [c-37] DEBUG SQLTransaction - Ending Oracle transaction "2093220851" === 2013-11-06 20:32:40,413 [c-37] DEBUG SQLConnectionManager - About to close PoolableConnection with hashcode "2093220851" === 2013-11-06 20:32:40,413 [c-37] DEBUG PoolableSQLConnectionFactory - Executing pingTest 'select 1 from dual' on connection 2093220851 === 2013-11-06 20:32:40,414 [c-37] DEBUG SQLTransaction - Returning transactional connection for Oracle (connection is null) === 2013-11-06 20:32:40,415 [c-37] INFO Compression - /lms/lms/sc/IDACall: 3910 -> 710 bytes
Request#1: Why is TENANT_ID compared with "LIKE" (if you wonder, the other selections in the WHERE clause come from the ds.xml's used DMI)? I see the textMatchStyle, but TENANT_ID is defined as follows:
Code:
In V_LEAD_UNFINISHED.ds.xml: <field name="TENANT_ID" type="integer"></field> In T_LEADTEMPERATURE.ds.xml: <field hidden="true" name="TENANT_ID" title="TENANT_ID" type="integer"></field>
criteria: {fieldName:"AVAILABLE",operator:"equals",value:true,TENANT_ID:0}.
I think there might be something wrong with addToCriteria().
I'll definitely try again with a new nightly (Nov 7th or newer), as this might be very close to http://forums.smartclient.com/showthread.php?t=28401
Thank you & best regards,
Blama