Pavel Pereslegin created IGNITE-24031:
-----------------------------------------

             Summary: SCHEMA support. Extend IgniteCatalog to support 
SQL-schemas
                 Key: IGNITE-24031
                 URL: https://issues.apache.org/jira/browse/IGNITE-24031
             Project: Ignite
          Issue Type: Improvement
          Components: sql
            Reporter: Pavel Pereslegin


TBD ticket is blocked by ticket that introduces QualifiedName 

Extend {{IgniteCatalog}} interface with methods for creating/dropping schemas, 
and fix table methods signatures, which require table name.

{code:java}
interface IgniteCatalog {
/* Add new methods. */  
    void createSchema(SchemaDefinition definition);
    void dropSchema(String schema, bool cascade=false);

    SchemaDefinition schemaDefinition(String schemaName);
 
    TableDefinition tableDefinition(QualifiedName tableName);
    void dropTable(QualifiedName tableName);

/* Existing methods should become shoutcuts to a new ones. */
    TableDefinition tableDefinition(String tableName);
    void dropTable(String tableName);

/* Methods related to cache are missed now, but must be consistent as well, 
when added.*/
    CacheDefinition cacheDefinition(QualifiedName tableName);
    CacheDefinition cacheDefinition(String cacheName);
    void dropCache(QualifiedName cacheName);
    void dropCache(String cacheName);
} 

class SchemaDefinition {
    String schemaName;
}
{code}

The methods that create TableDefinition/CacheDefinition, which accept String 
parameters, are shortcuts to the new ones.
String table/cache names must satisfy QualifiedName.parse() parameter format.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to