/asked by john smith/
Here is the exception...
/javax.cache.CacheException: Failed to parse query: SELECT
"mycache".MyTrx._key, "mycache".MyTrx._val FROM MyTrx WHERE field1 = ? UNION
SELECT * FROM MyTrx WHERE field2 = ?
at
org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.queryTwoStep(IgniteH2Indexing.java:782)
at
org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.queryTwoStep(IgniteH2Indexing.java:742)
at
org.apache.ignite.internal.processors.query.GridQueryProcessor.queryTwoStep(GridQueryProcessor.java:553)
at
org.apache.ignite.internal.processors.cache.IgniteCacheProxy.query(IgniteCacheProxy.java:465)
at com.xxx.service.MyService.lambda$start$4(MyService.java:116)
at com.xxx.service.MyService$$Lambda$41/1174190307.handle(Unknown
Source)
at
io.vertx.core.eventbus.impl.EventBusImpl$HandlerRegistration.handle(EventBusImpl.java:1097)
at
io.vertx.core.eventbus.impl.EventBusImpl.lambda$doReceive$175(EventBusImpl.java:737)
at
io.vertx.core.eventbus.impl.EventBusImpl$$Lambda$67/468639332.handle(Unknown
Source)
at
io.vertx.core.impl.ContextImpl.lambda$wrapTask$15(ContextImpl.java:263)
at io.vertx.core.impl.ContextImpl$$Lambda$4/451111351.run(Unknown
Source)
at
io.vertx.core.impl.OrderedExecutorFactory$OrderedExecutor.lambda$new$147(OrderedExecutorFactory.java:91)
at
io.vertx.core.impl.OrderedExecutorFactory$OrderedExecutor$$Lambda$2/1870252780.run(Unknown
Source)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.h2.jdbc.JdbcSQLException: Column count does not match; SQL
statement: SELECT "mycache".MyTrx._key, "mycache".MyTrx._val FROM MyTrx
WHERE field1 = ? UNION SELECT * FROM MyTrx WHERE field2 = ? [21002-175]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:332)
at org.h2.message.DbException.get(DbException.java:172)
at org.h2.message.DbException.get(DbException.java:149)
at org.h2.message.DbException.get(DbException.java:138)
at org.h2.command.dml.SelectUnion.init(SelectUnion.java:264)
at org.h2.command.Parser.parseSelect(Parser.java:1625)
at org.h2.command.Parser.parsePrepared(Parser.java:426)
at org.h2.command.Parser.parse(Parser.java:298)
at org.h2.command.Parser.parse(Parser.java:270)
at org.h2.command.Parser.prepareCommand(Parser.java:235)
at org.h2.engine.Session.prepareLocal(Session.java:436)
at org.h2.engine.Session.prepareCommand(Session.java:379)
at org.h2.jdbc.JdbcConnection.prepareCommand(JdbcConnection.java:1138)
at
org.h2.jdbc.JdbcPreparedStatement.<init>(JdbcPreparedStatement.java:70)
at org.h2.jdbc.JdbcConnection.prepareStatement(JdbcConnection.java:267)
at
org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.queryTwoStep(IgniteH2Indexing.java:779)
... 15 more
/
The query...
/String sqlStr = "SELECT * FROM MyTrx WHERE field1 = ? "
+ "UNION SELECT * FROM MyTrx WHERE field2 = ?";
SqlQuery sql = new SqlQuery(MyTrx.class, sqlStr);
sql.setArgs(trxRequest.getField1(), trxRequest.getField2());
List<Entry<Long, MyTrx>> list =
myCache.query(sql.setSql(sqlStr)).getAll();/
The model...
/import org.apache.ignite.cache.query.annotations.QuerySqlField;
public class MyTrx implements Serializable {
private static final long serialVersionUID = -2604193489375322501L;
@QuerySqlField(index = true)
Long id;
@QuerySqlField(index = true)
String field1;
@QuerySqlField(index = true)
String field2;
...
}/
How's it configured...
/IgniteConfiguration igniteCfg = new IgniteConfiguration();
igniteCfg.setMarshaller(new OptimizedMarshaller(true));
CacheConfiguration<Long, com.xxx.model.MyTrx> myCfg = new
CacheConfiguration<>("mycache");
myCfg.setCacheMode(CacheMode.PARTITIONED);
myCfg.setAtomicityMode(CacheAtomicityMode.ATOMIC);
myCfg.setBackups(0);
myCfg.setIndexedTypes(Long.class, com.xxx.model.MyTrx.class);/
-----
/This post is migrated from now discontinued Apache Ignite forum at
http://apacheignite.readme.io/v1.0/discuss/
--
View this message in context:
http://apache-ignite-users.70518.x6.nabble.com/UNION-still-not-working-with-1-0-2-tp178.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.