[ https://issues.apache.org/jira/browse/IGNITE-7656?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Valentin Kulichenko resolved IGNITE-7656. ----------------------------------------- Resolution: Not A Problem > Can't query a created cache > --------------------------- > > Key: IGNITE-7656 > URL: https://issues.apache.org/jira/browse/IGNITE-7656 > Project: Ignite > Issue Type: Bug > Reporter: Mike Williams > Priority: Major > > I have here a dead simple example that should work - here's a definition of a > data object ( a Cat): > {{{color:#cc7832}import > {color}org.apache.ignite.cache.query.annotations.*{color:#cc7832}; > {color}{color:#cc7832}import {color}java.io.*{color:#cc7832}; > {color}{color:#cc7832}public class {color}Cat {color:#cc7832}implements > {color}Serializable {}} > {{ {color:#bbb529}@QuerySqlField > {color} {color:#cc7832}int {color}{color:#9876aa}legs{color}{color:#cc7832}; > {color} {color:#bbb529}@QuerySqlField > {color} String {color:#9876aa}name{color}{color:#cc7832}; > {color}{color:#cc7832} > {color} {color:#ffc66d}Cat{color}({color:#cc7832}int {color}l{color:#cc7832}, > {color}String n)}} > {{ {}} > {{ {color:#9876aa}legs {color}= l{color:#cc7832}; > {color} {color:#9876aa}name {color}= n{color:#cc7832}; > {color} }}} > {{}}} > > And when I run the following, I want to get a list of cats: > {color:#cc7832}import {color}org.apache.ignite.Ignition{color:#cc7832}; > {color}{color:#cc7832}import {color}org.apache.ignite.Ignite{color:#cc7832}; > {color}{color:#cc7832}import > {color}org.apache.ignite.IgniteCache{color:#cc7832}; > {color}{color:#cc7832}import > {color}org.apache.ignite.configuration.CacheConfiguration{color:#cc7832}; > {color}{color:#cc7832}import > {color}org.apache.ignite.cache.query.SqlFieldsQuery{color:#cc7832}; > {color}{color:#cc7832}import > {color}org.apache.ignite.cache.query.QueryCursor{color:#cc7832}; > {color}{color:#cc7832}import {color}java.util.List{color:#cc7832}; > {color}{color:#cc7832}public class {color}Test { > {color:#cc7832}public static void {color}{color:#ffc66d}main{color}(String[] > args) > { > {color:#808080}//Ignition.setClientMode(true); > {color} Ignite ignite = Ignition.start(){color:#cc7832}; > {color} CacheConfiguration<Integer{color:#cc7832},{color}Cat> cfg= > {color:#cc7832}new > {color}CacheConfiguration({color:#6a8759}"catCache"{color}){color:#cc7832}; > {color} > cfg.setIndexedTypes(Integer.{color:#cc7832}class,{color}Integer.{color:#cc7832}class{color}){color:#cc7832}; > {color}{color:#cc7832} try{color}(IgniteCache<Integer{color:#cc7832}, > {color}Cat> cache = ignite.getOrCreateCache(cfg)) > { > {color:#cc7832}for {color}({color:#cc7832}int {color}i = > {color:#6897bb}0{color}{color:#cc7832}; {color}i < > {color:#6897bb}10{color}{color:#cc7832}; {color}++i) { > cache.put(i{color:#cc7832}, new {color}Cat(i + > {color:#6897bb}1{color}{color:#cc7832},{color}{color:#6a8759}"Fluffy"{color})){color:#cc7832}; > {color} } > SqlFieldsQuery sql = {color:#cc7832}new > {color}SqlFieldsQuery({color:#6a8759}"select * from > catCache"{color}){color:#cc7832}; > {color}{color:#cc7832} try {color}(QueryCursor<List<?>> cursor = > cache.query(sql)) { > {color:#cc7832}for {color}(List<?> row : cursor) > System.{color:#9876aa}out{color}.println({color:#6a8759}"cat=" {color}+ > row.get({color:#6897bb}0{color})){color:#cc7832}; > {color} } > }{color:#cc7832} > {color}}} > > However, I get only an error. Something seems strange in the way the cache is > set up in H2 - the schema is catCatche, and the name is INTEGER. The names of > the data fields don't look right either - here's the whole DDL: > CREATE MEMORY TABLE "catCache".INTEGER( > _KEY INT NOT NULL, > _VAL INT, > _VER OTHER INVISIBLE > ) > ENGINE "org.apache.ignite.internal.processors.query.h2.H2TableEngine" > What am I doing wrong? -- This message was sent by Atlassian JIRA (v7.6.3#76005)