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

Andrey Mashenkov updated IGNITE-24041:
--------------------------------------
    Description: 
Extend {{IgniteCatalog}} interface with methods for creating/dropping schemas.

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

    SchemaDefinition schemaDefinition(String schemaName);
} 

class SchemaDefinition {
    String schemaName;
}
{code}

{{SchemaDefinition}} structure should be discussed. 
Maybe it should
* contains tables and indexes definitions 
* supports tables/indexes creation together with the schema as defined in 
IGNITE-24023

  was:
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);
} 

class SchemaDefinition {
    String schemaName;
}
{code}

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


> Extend IgniteCatalog API with SQL-schemas manipulation methods
> --------------------------------------------------------------
>
>                 Key: IGNITE-24041
>                 URL: https://issues.apache.org/jira/browse/IGNITE-24041
>             Project: Ignite
>          Issue Type: Improvement
>          Components: sql
>            Reporter: Andrey Mashenkov
>            Priority: Major
>              Labels: ignite-3
>
> Extend {{IgniteCatalog}} interface with methods for creating/dropping schemas.
> {code:java}
> interface IgniteCatalog {
> /* Add new methods. */        
>     void createSchema(SchemaDefinition definition);
>     void dropSchema(String schema, bool cascade=false);
>     SchemaDefinition schemaDefinition(String schemaName);
> } 
> class SchemaDefinition {
>     String schemaName;
> }
> {code}
> {{SchemaDefinition}} structure should be discussed. 
> Maybe it should
> * contains tables and indexes definitions 
> * supports tables/indexes creation together with the schema as defined in 
> IGNITE-24023



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

Reply via email to