SmartClient Version: v13.0p_2024-11-19/Enterprise Development Only (built 2024-11-19)
and
SmartClient Version: v13.1p_2024-11-19/Enterprise Development Only (built 2024-11-19)
Hello, please try this modified sample in the showcase (fetchOperationFS):
then try to filter by typing "add" in the itemName column, you'll see this error:
I actually see a similar error in my application, using Oracle DB.
and
SmartClient Version: v13.1p_2024-11-19/Enterprise Development Only (built 2024-11-19)
Hello, please try this modified sample in the showcase (fetchOperationFS):
Code:
<DataSource isSampleDS="true"
ID="supplyItem"
serverType="sql"
tableName="supplyItem"
titleField="itemName"
testFileName="/examples/shared/ds/test_data/supplyItem.data.xml"
dbImportFileName="/examples/shared/ds/test_data/supplyItemLarge.data.xml"
>
<fields>
<field name="itemID" type="sequence" hidden="true" primaryKey="true"/>
<field name="itemName" type="text" title="Item" length="128" required="true"/>
<field name="SKU" type="text" title="SKU" length="10" required="true"/>
<field name="description" type="text" title="Description" length="2000"/>
<field name="category" type="text" title="Category" length="128" required="true"
foreignKey="supplyCategory.categoryName"/>
<field name="units" type="enum" title="Units" length="5">
<valueMap>
<value>Roll</value>
<value>Ea</value>
<value>Pkt</value>
<value>Set</value>
<value>Tube</value>
<value>Pad</value>
<value>Ream</value>
<value>Tin</value>
<value>Bag</value>
<value>Ctn</value>
<value>Box</value>
</valueMap>
</field>
<field name="unitCost" type="float" title="Unit Cost" required="true">
<validators>
<validator type="floatRange" min="0" errorMessage="Please enter a valid (positive) cost"/>
<validator type="floatPrecision" precision="2" errorMessage="The maximum allowed precision is 2"/>
</validators>
</field>
<field name="inStock" type="boolean" title="In Stock"/>
<field name="nextShipment" type="date" title="Next Shipment"/>
</fields>
<operationBindings>
<operationBinding operationType="fetch" operationId="summary">
<summaryFunctions>
<unitCost>sum</unitCost>
<itemName>count</itemName>
</summaryFunctions>
</operationBinding>
</operationBindings>
</DataSource>
Code:
isc.ListGrid.create({
ID: "countryList",
height:"100%", width:"100%", alternateRecordStyles:true,
dataSource: supplyItem,
showFilterEditor:true,
showGridSummary: true,
summaryRowDataSource: supplyItem,
summaryRowFetchRequestProperties: {
operationId: "summary"
},
autoFetchData:true
})
Code:
=== 2024-11-20 09:47:12,285 [ec-8] INFO RequestContext - URL: '/isomorphic/IDACall', User-Agent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36': Safari with Accept-Encoding header
=== 2024-11-20 09:47:12,294 [ec-8] INFO IDACall - Performing 1 operation(s) [UA: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36]
=== 2024-11-20 09:47:12,295 [ec-8] INFO DSRequest - Executing countryList->supplyItem.fetch rows: 0->75 with
criteria: {itemName:"add"}
=== 2024-11-20 09:47:12,298 [ec-8] INFO SQL - Executing SQL query on 'HSQLDB': SELECT COUNT(*) FROM supplyItem WHERE (LOWER(supplyItem.itemName) LIKE '%add%' ESCAPE '\' AND supplyItem.itemName IS NOT NULL)
=== 2024-11-20 09:47:12,313 [ec-2] INFO RequestContext - URL: '/isomorphic/IDACall', User-Agent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36': Safari with Accept-Encoding header
=== 2024-11-20 09:47:12,318 [ec-2] INFO IDACall - Performing 1 operation(s) [UA: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36]
=== 2024-11-20 09:47:12,318 [ec-2] INFO DSRequest - Executing countryList_summaryRow->supplyItem.fetch[summary] rows: 0->1 with
criteria: {itemName:"add"}
=== 2024-11-20 09:47:12,319 [ec-2] INFO SQLWhereClause - empty condition
=== 2024-11-20 09:47:12,320 [ec-2] INFO SQL - 521: Executing query on 'HSQLDB': SELECT LIMIT 0 1 COUNT(supplyItem.itemName) AS itemName, SUM(supplyItem.unitCost) AS unitCost FROM supplyItem WHERE ('1'='1') HAVING (LOWER(COUNT(supplyItem.itemName)) LIKE '%add%' ESCAPE '\' AND COUNT(supplyItem.itemName) IS NOT NULL)
=== 2024-11-20 09:47:12,326 [ec-2] WARN RequestContext - dsRequest.execute() failed:
java.sql.SQLSyntaxErrorException: incompatible data type in operation
at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source)
at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source)
at org.hsqldb.jdbc.JDBCStatement.fetchResult(Unknown Source)
at org.hsqldb.jdbc.JDBCStatement.executeQuery(Unknown Source)
at org.apache.commons.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:208)
at com.isomorphic.sql.SQLDataSource.executeWindowedSelect(SQLDataSource.java:2813)
at com.isomorphic.sql.SQLDataSource.SQLExecute(SQLDataSource.java:1893)
at com.isomorphic.sql.SQLDataSource.SQLExecute(SQLDataSource.java:1727)
at com.isomorphic.sql.SQLDataSource.processRequest(SQLDataSource.java:522)
at com.isomorphic.sql.SQLDataSource.executeFetch(SQLDataSource.java:458)
at com.isomorphic.datasource.DataSource.execute(DataSource.java:2934)
at com.isomorphic.application.AppBase.executeDefaultDSOperation(AppBase.java:658)
at com.isomorphic.application.AppBase.executeAppOperation(AppBase.java:555)
at com.isomorphic.application.AppBase.execute(AppBase.java:498)
at com.isomorphic.datasource.DSRequest.execute(DSRequest.java:3493)
at com.isomorphic.servlet.IDACall.handleDSRequest(IDACall.java:230)
at com.isomorphic.servlet.IDACall.processRPCTransaction(IDACall.java:187)
at com.isomorphic.servlet.IDACall.processRequest(IDACall.java:152)
at com.isomorphic.servlet.IDACall._processRequest(IDACall.java:123)
at com.isomorphic.servlet.IDACall.doPost(IDACall.java:79)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:555)
at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:178)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:623)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:199)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144)
at com.isomorphic.servlet.URIRegexFilter.ignore(URIRegexFilter.java:566)
at com.isomorphic.servlet.URIRegexFilter.ignore(URIRegexFilter.java:561)
at com.isomorphic.servlet.URIRegexFilter.matchedRule(URIRegexFilter.java:524)
at com.isomorphic.servlet.URIRegexFilter._doFilter(URIRegexFilter.java:377)
at com.isomorphic.servlet.BaseFilter.doFilter(BaseFilter.java:91)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144)
at com.isomorphic.js.JSSyntaxScannerFilter._doFilter(JSSyntaxScannerFilter.java:262)
at com.isomorphic.servlet.BaseFilter.doFilter(BaseFilter.java:91)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144)
at com.isomorphic.servlet.CompressionFilter._doFilter(CompressionFilter.java:263)
at com.isomorphic.servlet.BaseFilter.doFilter(BaseFilter.java:91)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144)
at com.isomorphic.servlet.VersionedURLFilter._doFilter(VersionedURLFilter.java:83)
at com.isomorphic.servlet.BaseFilter.doFilter(BaseFilter.java:91)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:168)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:346)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:396)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:937)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1791)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190)
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)
at java.lang.Thread.run(Thread.java:748)
Caused by: org.hsqldb.HsqlException: incompatible data type in operation
at org.hsqldb.error.Error.error(Unknown Source)
at org.hsqldb.error.Error.error(Unknown Source)
at org.hsqldb.FunctionSQL.resolveTypes(Unknown Source)
at org.hsqldb.ExpressionLike.resolveTypes(Unknown Source)
at org.hsqldb.ExpressionLogical.resolveTypes(Unknown Source)
at org.hsqldb.QuerySpecification.resolveExpressionTypes(Unknown Source)
at org.hsqldb.QuerySpecification.resolveTypesPartOne(Unknown Source)
at org.hsqldb.QueryExpression.resolve(Unknown Source)
at org.hsqldb.ParserDQL.compileCursorSpecification(Unknown Source)
at org.hsqldb.ParserCommand.compilePart(Unknown Source)
at org.hsqldb.ParserCommand.compileStatements(Unknown Source)
at org.hsqldb.Session.executeDirectStatement(Unknown Source)
at org.hsqldb.Session.execute(Unknown Source)
... 61 more
=== 2024-11-20 09:47:12,331 [ec-8] INFO SQL - 520: Executing query on 'HSQLDB': SELECT LIMIT 0 75 supplyItem.itemID, supplyItem.itemName, supplyItem.SKU, supplyItem.description, supplyItem.category, supplyItem.units, supplyItem.unitCost, supplyItem.inStock, supplyItem.nextShipment FROM supplyItem WHERE (LOWER(supplyItem.itemName) LIKE '%add%' ESCAPE '\' AND supplyItem.itemName IS NOT NULL)
=== 2024-11-20 09:47:12,346 [ec-2] INFO Compression - /isomorphic/IDACall: 171 -> 150
=== 2024-11-20 09:47:12,369 [ec-8] INFO DSResponse - DSResponse: List with 46 items
=== 2024-11-20 09:47:12,373 [ec-8] INFO Compression - /isomorphic/IDACall: 8,0k -> 2,1k
Comment