[ 
https://issues.apache.org/jira/browse/IGNITE-7277?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vyacheslav Koptilin updated IGNITE-7277:
----------------------------------------
    Description: 
JDBC thin driver duplicates table name in case of using 
{{CacheConfiguration.setIndexedTypes()}}

{code}
    CacheConfiguration<?, ?> cfg = new 
CacheConfiguration<>("CACHE_NAME").setSqlSchema("PUBLIC");
    cfg.setIndexedTypes(Long.class, Person.class);
    IgniteCache<?, ?> cachePerson = ignite.getOrCreateCache(cfg);
{code}

{code:title=sqlline output|borderStyle=solid}
+--------------------------------+--------------------------------+--------------------------------+--------------------------------+
|           TABLE_CAT            |          TABLE_SCHEM           |           
TABLE_NAME           |           TABLE_TYPE           |
+--------------------------------+--------------------------------+--------------------------------+--------------------------------+
|                                | PUBLIC                         | CITY        
                   | TABLE                          |
|                                | CACHE_NAME                     | PERSON      
                   | TABLE                          |
|                                | CACHE_NAME                     | PERSON      
                   | TABLE                          |
+--------------------------------+--------------------------------+--------------------------------+--------------------------------+
{code}

On the other hand, the following approach to create a table works as expected
{code}
    cache.query(new SqlFieldsQuery(
                "CREATE TABLE city (id LONG PRIMARY KEY, name VARCHAR) WITH 
\"template=partitioned\""));
{code}

  was:
JDBC thin driver duplicates table name in case of using 
{{CacheConfiguration.setIndexedTypes()}}

{{
CacheConfiguration<?, ?> cfg = new 
CacheConfiguration<>("CACHE_NAME").setSqlSchema("PUBLIC");
cfg.setIndexedTypes(Long.class, Person.class);
IgniteCache<?, ?> cachePerson = ignite.getOrCreateCache(cfg);
}}

{{sqlline}} output
{{
+--------------------------------+--------------------------------+--------------------------------+--------------------------------+
|           TABLE_CAT            |          TABLE_SCHEM           |           
TABLE_NAME           |           TABLE_TYPE           |
+--------------------------------+--------------------------------+--------------------------------+--------------------------------+
|                                | PUBLIC                         | CITY        
                   | TABLE                          |
|                                | CACHE_NAME                     | PERSON      
                   | TABLE                          |
|                                | CACHE_NAME                     | PERSON      
                   | TABLE                          |
+--------------------------------+--------------------------------+--------------------------------+--------------------------------+
}}

On the other hand, the following approach to create a table works as expected
{{
cache.query(new SqlFieldsQuery(
                "CREATE TABLE city (id LONG PRIMARY KEY, name VARCHAR) WITH 
\"template=partitioned\""));
}}


> JDBC thin driver may list table name twice.
> -------------------------------------------
>
>                 Key: IGNITE-7277
>                 URL: https://issues.apache.org/jira/browse/IGNITE-7277
>             Project: Ignite
>          Issue Type: Bug
>          Components: jdbc, sql
>    Affects Versions: 2.3
>            Reporter: Vyacheslav Koptilin
>            Assignee: Taras Ledkov
>
> JDBC thin driver duplicates table name in case of using 
> {{CacheConfiguration.setIndexedTypes()}}
> {code}
>     CacheConfiguration<?, ?> cfg = new 
> CacheConfiguration<>("CACHE_NAME").setSqlSchema("PUBLIC");
>     cfg.setIndexedTypes(Long.class, Person.class);
>     IgniteCache<?, ?> cachePerson = ignite.getOrCreateCache(cfg);
> {code}
> {code:title=sqlline output|borderStyle=solid}
> +--------------------------------+--------------------------------+--------------------------------+--------------------------------+
> |           TABLE_CAT            |          TABLE_SCHEM           |           
> TABLE_NAME           |           TABLE_TYPE           |
> +--------------------------------+--------------------------------+--------------------------------+--------------------------------+
> |                                | PUBLIC                         | CITY      
>                      | TABLE                          |
> |                                | CACHE_NAME                     | PERSON    
>                      | TABLE                          |
> |                                | CACHE_NAME                     | PERSON    
>                      | TABLE                          |
> +--------------------------------+--------------------------------+--------------------------------+--------------------------------+
> {code}
> On the other hand, the following approach to create a table works as expected
> {code}
>     cache.query(new SqlFieldsQuery(
>                 "CREATE TABLE city (id LONG PRIMARY KEY, name VARCHAR) WITH 
> \"template=partitioned\""));
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to