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

Andrey Mashenkov updated IGNITE-24029:
--------------------------------------
    Description: 
It is necessary to introduce new methods in IgniteTables that use 
{{QualifiedName}} instead of simple String.
And change the old ones to use the new ones using the helper method 
{{{}QualifiedName.parseof(String){}}}.
{code:java}
interface IgniteTables {
    /** Gets a list of all tables */
    List<Table> tables();

    /** Gets a list of tables that belong to requested schema. */
    List<Table> tables(String schemaName); // optional

    /** Gets a table with specified name. */
    @Nullable Table table(QualifiedName tableName);
    @Nullable Table table(String tableName) {
        return table(QualifiedName.parseof(tableName));
    }

    /* ... + async methods ... */
}

public interface Table {   
    /** Returns table's qualified name. */    
    QualifiedName tableName();
} 
{code}
Add integration tests, which checks cache names are correctly resolved.
Add table::name that returns a QualifiedName.

  was:
It is necessary to introduce new methods in IgniteTables that use 
{{QualifiedName}} instead of simple String.
And change the old ones to use the new ones using the helper method 
{{{}QualifiedName.parseof(String){}}}.
{code:java}
interface IgniteTables {
    /** Gets a list of all tables */
    List<Table> tables();

    /** Gets a list of tables that belong to requested schema. */
    List<Table> tables(String schemaName); // optional

    /** Gets a table with specified name. */
    @Nullable Table table(QualifiedName tableName);
    @Nullable Table table(String tableName) {
        return table(QualifiedName.parseof(tableName));
    }

    /* ... + async methods ... */
}

public interface Table {   
    /** Returns table's qualified name. */    
    QualifiedName tableName();
} 
{code}
Add integration tests, which checks cache names are correctly resolved.
Add table::name that returns a QualifiedName.
Mark table::name that returns a string as deprecated.


> Sql schema. Extend Table API with supporting qualified names.
> -------------------------------------------------------------
>
>                 Key: IGNITE-24029
>                 URL: https://issues.apache.org/jira/browse/IGNITE-24029
>             Project: Ignite
>          Issue Type: Improvement
>          Components: sql
>            Reporter: Pavel Pereslegin
>            Assignee: Andrey Mashenkov
>            Priority: Major
>              Labels: ignite-3
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> It is necessary to introduce new methods in IgniteTables that use 
> {{QualifiedName}} instead of simple String.
> And change the old ones to use the new ones using the helper method 
> {{{}QualifiedName.parseof(String){}}}.
> {code:java}
> interface IgniteTables {
>     /** Gets a list of all tables */
>     List<Table> tables();
>     /** Gets a list of tables that belong to requested schema. */
>     List<Table> tables(String schemaName); // optional
>     /** Gets a table with specified name. */
>     @Nullable Table table(QualifiedName tableName);
>     @Nullable Table table(String tableName) {
>         return table(QualifiedName.parseof(tableName));
>     }
>     /* ... + async methods ... */
> }
> public interface Table {   
>     /** Returns table's qualified name. */    
>     QualifiedName tableName();
> } 
> {code}
> Add integration tests, which checks cache names are correctly resolved.
> Add table::name that returns a QualifiedName.



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

Reply via email to