You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Pavel Kuznetsov (JIRA)" <ji...@apache.org> on 2018/04/02 10:54:00 UTC

[jira] [Updated] (IGNITE-8100) jdbc getSchemas method could miss schemas for not started remote caches

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

Pavel Kuznetsov updated IGNITE-8100:
------------------------------------
    Description: 
On jdbc side we have org.apache.ignite.internal.jdbc.thin.JdbcThinDatabaseMetadata#getSchemas(java.lang.String, java.lang.String)

on the server side result is constructed by this:
{noformat}
for (String cacheName : ctx.cache().publicCacheNames()) {
        for (GridQueryTypeDescriptor table : ctx.query().types(cacheName)) {
            if (matches(table.schemaName(), schemaPtrn))
               schemas.add(table.schemaName());
        }
}
{noformat}

see org.apache.ignite.internal.processors.odbc.jdbc.JdbcRequestHandler#getSchemas

If we havn't started cache(with a table) on some remote node, we will miss that scheme.

  was:
On jdbc side we have org.apache.ignite.internal.jdbc.thin.JdbcThinDatabaseMetadata#getSchemas(java.lang.String, java.lang.String)

on the server side result is constructed by this:
{noformat}
for (String cacheName : ctx.cache().publicCacheNames()) {
        for (GridQueryTypeDescriptor table : ctx.query().types(cacheName)) {
            if (matches(table.schemaName(), schemaPtrn))
               schemas.add(table.schemaName());
        }
}
{noformat}

see org.apache.ignite.internal.processors.odbc.jdbc.JdbcRequestHandler#getSchemas

This if we have not started cache(with a table) on some remote node, we will miss that scheme.


> jdbc getSchemas method could miss schemas for not started remote caches
> -----------------------------------------------------------------------
>
>                 Key: IGNITE-8100
>                 URL: https://issues.apache.org/jira/browse/IGNITE-8100
>             Project: Ignite
>          Issue Type: Bug
>            Reporter: Pavel Kuznetsov
>            Priority: Major
>
> On jdbc side we have org.apache.ignite.internal.jdbc.thin.JdbcThinDatabaseMetadata#getSchemas(java.lang.String, java.lang.String)
> on the server side result is constructed by this:
> {noformat}
> for (String cacheName : ctx.cache().publicCacheNames()) {
>         for (GridQueryTypeDescriptor table : ctx.query().types(cacheName)) {
>             if (matches(table.schemaName(), schemaPtrn))
>                schemas.add(table.schemaName());
>         }
> }
> {noformat}
> see org.apache.ignite.internal.processors.odbc.jdbc.JdbcRequestHandler#getSchemas
> If we havn't started cache(with a table) on some remote node, we will miss that scheme.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)