[ 
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)

Reply via email to