Hi Mike,

If SQL indexes/configuration is set with the annotation and setIndexedTypes 
method then you have to use the type name (Cat in your case) as the SQL table 
name. It’s explained here:
https://apacheignite-sql.readme.io/docs/schema-and-indexes#section-annotation-based-configuration
 
<https://apacheignite-sql.readme.io/docs/schema-and-indexes#section-annotation-based-configuration>

The cache name is used for IgniteCache APIs and other related methods.

—
Denis

> On Feb 8, 2018, at 3:48 PM, Williams, Michael 
> <michael.willi...@transamerica.com> wrote:
> 
> Hi,
>  
> Quick question, submitted a ticket earlier. How would I modify the below code 
> such that, when viewed through Sql (dbeaver, eg) it behaves as if it had been 
> created through a CREATE TABLE statement, where the name of the table was 
> catCache? I’m trying to directly populate a series of tables that will be 
> used downstream primarily through SQL. I’d like to be able to go into 
> dBeaver, browse the tables, and see 10 cats named Fluffy, if this is working 
> correctly.
> import org.apache.ignite.cache.query.annotations.*;
> import java.io <http://java.io/>.*;
>  
> public class Cat implements Serializable  {
>     @QuerySqlField
>     int legs;
>     @QuerySqlField
>     String name;
>  
>     Cat(int l, String n)
>     {
>         legs = l;
>         name = n;
>     }
> }
>  
>  
> import org.apache.ignite.Ignition;
> import org.apache.ignite.Ignite;
> import org.apache.ignite.IgniteCache;
> import org.apache.ignite.cache.CacheMode;
> import org.apache.ignite.configuration.CacheConfiguration;
> import org.apache.ignite.cache.query.SqlFieldsQuery;
> import org.apache.ignite.cache.query.QueryCursor;
> import java.util.List;
> public class Test {
>     public static void main(String[] args)
>     {
>         
>         Ignite ignite = Ignition.start();
>             CacheConfiguration<Integer,Cat> cfg= new 
> CacheConfiguration("catCache");
>  
>             cfg.setCacheMode(CacheMode.REPLICATED);
>             cfg.setSqlEscapeAll(true);
>             cfg.setSqlSchema("PUBLIC");
>             cfg.setIndexedTypes(Integer.class,Cat.class);
>             try(IgniteCache<Integer, Cat> cache = 
> ignite.getOrCreateCache(cfg))
>             {
>                 for (int i = 0; i < 10; ++i) {
>                     cache.put(i, new Cat(i + 1,"Fluffy"));
>                 }/*
>                 SqlFieldsQuery sql = new SqlFieldsQuery("select * from 
> catCache");
>                 try (QueryCursor<List<?>> cursor = cache.query(sql)) {
>                     for (List<?> row : cursor)
>                         System.out.println("cat=" + row.get(0));
>                 }*/
>             }
>             System.out.print("Got It!");
>         
> }}
> Thanks, 
> Mike Williams

Reply via email to