[
https://issues.apache.org/jira/browse/IGNITE-24031?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Pavel Pereslegin updated IGNITE-24031:
--------------------------------------
Description:
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.
was:
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.
> Sql. Extend IgniteCatalog API 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
> Priority: Major
> Labels: ignite-3
>
> 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)