Dmitry,

I repeated experiment using Ignite JDBC driver with default cache in URL
and CacheQueryExample (cache names was modified) and found the following
results:

1. If default cache isn't started then driver can't establish connection
with error message "Client is invalid. Probably cache name is wrong." There
is test for this case (see JdbcConnectionSelfTest.testWrongCache).
2. If default cache is started then query fails on the server side with
error message "Indexing is disabled for cache: null. Use setIndexedTypes or
setTypeMetadata methods on CacheConfiguration to enable"
3. If JDBC URL contains cache name which have indexing configuration then
all queries with cache name prefixes work correctly.

Andrey.

On Wed, Jun 24, 2015 at 6:48 PM, Dmitriy Setrakyan <dsetrak...@apache.org>
wrote:

> > Please note that Ignite JDBC URL contains cache name as database schema
> > name. If you want execute queries for different caches you should
> configure
> > different data sources or use cross cache queries.
> >
>
> Andrey, I am not sure what different data sources you are describing here.
>
> The cache name in the JDBC connection is only to specify the default cache
> for query access. This only means that classes belonging to other caches
> will have to be prefixed in the queries by the cache name. For example, in
> the following query, we have to specify "orgsCache" name explicitly,
> because it was not specified in the initial JDBC connection string.
>
>
> -------
> select * from Person p, "orgsCache".Organization o where p.orgId = o.id
> and
> ...
> -------
>
> D.
>



-- 
Andrey Gura
GridGain Systems, Inc.
www.gridgain.com

Reply via email to