[jira] [Comment Edited] (IGNITE-11368) use the same information about indexes for JDBC drivers as for system view INDEXES

2022-10-18 Thread Ilya Shishkov (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-11368?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17618774#comment-17618774
 ] 

Ilya Shishkov edited comment on IGNITE-11368 at 10/18/22 3:49 PM:
--

[~timonin.maksim], [~jooger], can you take a look, please: 
[https://github.com/apache/ignite/pull/10316] ?

Above failures are unrelated to the fix.


was (Author: shishkovilja):
[~timonin.maksim], [~jooger], can you take a look, please: 
https://github.com/apache/ignite/pull/10316 ?

Above failure are unrelated to the fix.

> use the same information about indexes for JDBC drivers as for system view 
> INDEXES
> --
>
> Key: IGNITE-11368
> URL: https://issues.apache.org/jira/browse/IGNITE-11368
> Project: Ignite
>  Issue Type: Task
>  Components: jdbc, odbc, sql
>Reporter: Yury Gerzhedovich
>Assignee: Ilya Shishkov
>Priority: Major
>  Labels: ise, newbie
> Attachments: indexes_sqlline.txt
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> As of now indexes information for JDBC drivers get by another way then system 
> SQL view INDEXES. Need to use single source of the information to have 
> consistent picture.
> So, JDBC drivers should use the same source as SQL view INDEXES 
> (org.apache.ignite.internal.processors.query.h2.sys.view.SqlSystemViewIndexes)
> Start point for JDBC index metadata is 
> org.apache.ignite.internal.jdbc2.JdbcDatabaseMetadata#getIndexInfo
> Also order of result should be correspond Javadoc ('ordered by NON_UNIQUE, 
> TYPE, INDEX_NAME, and ORDINAL_POSITION') - at present it is not so.



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


[jira] [Comment Edited] (IGNITE-11368) use the same information about indexes for JDBC drivers as for system view INDEXES

2022-10-17 Thread Ilya Shishkov (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-11368?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17618774#comment-17618774
 ] 

Ilya Shishkov edited comment on IGNITE-11368 at 10/17/22 5:41 PM:
--

[~timonin.maksim], [~jooger], can you take a look, please: 
https://github.com/apache/ignite/pull/10316 ?

Above failure are unrelated to the fix.


was (Author: shishkovilja):
[~timonin.maksim], [~jooger], can you take a look, please?

Above failure are unrelated to the fix.

> use the same information about indexes for JDBC drivers as for system view 
> INDEXES
> --
>
> Key: IGNITE-11368
> URL: https://issues.apache.org/jira/browse/IGNITE-11368
> Project: Ignite
>  Issue Type: Task
>  Components: jdbc, odbc, sql
>Reporter: Yury Gerzhedovich
>Assignee: Ilya Shishkov
>Priority: Major
>  Labels: ise, newbie
> Attachments: indexes_sqlline.txt
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> As of now indexes information for JDBC drivers get by another way then system 
> SQL view INDEXES. Need to use single source of the information to have 
> consistent picture.
> So, JDBC drivers should use the same source as SQL view INDEXES 
> (org.apache.ignite.internal.processors.query.h2.sys.view.SqlSystemViewIndexes)
> Start point for JDBC index metadata is 
> org.apache.ignite.internal.jdbc2.JdbcDatabaseMetadata#getIndexInfo
> Also order of result should be correspond Javadoc ('ordered by NON_UNIQUE, 
> TYPE, INDEX_NAME, and ORDINAL_POSITION') - at present it is not so.



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


[jira] [Comment Edited] (IGNITE-11368) use the same information about indexes for JDBC drivers as for system view INDEXES

2022-10-14 Thread Ilya Shishkov (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-11368?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17617588#comment-17617588
 ] 

Ilya Shishkov edited comment on IGNITE-11368 at 10/14/22 9:16 AM:
--

*UPDATE:*

Previous comment is not actual now:
* _SCAN and _key_PK_hash are not present in system view.
* Origin of system view metadata was changed after IGNITE-15424: 
{{TableDescriptor}} and {{IndexDescriptor}} are used.


was (Author: shishkovilja):
*UPDATE:*
Previous comment is not actual now:

_SCAN and _key_PK_hash are not present in system view.

Origin of system view metadata was changed after IGNITE-15424: 
{{TableDescriptor}} and {{IndexDescriptor}} are used.

> use the same information about indexes for JDBC drivers as for system view 
> INDEXES
> --
>
> Key: IGNITE-11368
> URL: https://issues.apache.org/jira/browse/IGNITE-11368
> Project: Ignite
>  Issue Type: Task
>  Components: jdbc, odbc, sql
>Reporter: Yury Gerzhedovich
>Assignee: Ilya Shishkov
>Priority: Major
>  Labels: ise, newbie
> Attachments: indexes_sqlline.txt
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> As of now indexes information for JDBC drivers get by another way then system 
> SQL view INDEXES. Need to use single source of the information to have 
> consistent picture.
> So, JDBC drivers should use the same source as SQL view INDEXES 
> (org.apache.ignite.internal.processors.query.h2.sys.view.SqlSystemViewIndexes)
> Start point for JDBC index metadata is 
> org.apache.ignite.internal.jdbc2.JdbcDatabaseMetadata#getIndexInfo
> Also order of result should be correspond Javadoc ('ordered by NON_UNIQUE, 
> TYPE, INDEX_NAME, and ORDINAL_POSITION') - at present it is not so.



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


[jira] [Comment Edited] (IGNITE-11368) use the same information about indexes for JDBC drivers as for system view INDEXES

2022-06-24 Thread Ilya Shishkov (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-11368?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17558446#comment-17558446
 ] 

Ilya Shishkov edited comment on IGNITE-11368 at 6/24/22 2:38 PM:
-

Hi [~jooger]!

As I see, there are some significant changes, since this issue was created:
 # {{SqlSystemViewIndexes}} had been replaced by {{SqlIndexView}}. This class 
and {{GridH2Table}} are in {{ignite-indexing}} module and they are inaccessible 
for {{JdbcIndexMeta}} and {{JdbcMetadataInfo}} from {{ignite-core}} module.
 # System View API had been released.
 # Calcite engine had been released.

So, in order to get information about indexes, I suggest to use System View API 
which is independent from query engine.

Also, I suggest to add {{TABLE_SCHEM}} and {{TABLE_NAME}} columns to sorting 
order and other fields will be sorted according to 
{{DatabaseMetaData#getIndexInfo}} JavaDoc. So, full order will be as follows: 
{{TABLE_SCHEM}} -> {{TABLE_NAME}} -> {{NON_UNIQUE}} -> {{TYPE}} -> 
{{INDEX_NAME}} -> {{{}ORDINAL_POSITION{}}}.
It is necessary for correct sorting when arguments {{schemaNamePtrn}} or 
{{tblNamePtrn}} of {{JdbcMetadataInfo#getIndexesMeta}} fits to multiple tables. 
For example, when you call {{!indexes}} command in {{sqlline}} utility, the 
{{tblNamePtrn}} would be "%".

Also, I have two questions:
 * {{tableIndexOther}} is assigned to {{TYPE}} for all indexes in 
{{{}JdbcUtils#indexRows{}}}. Is it still actual type for indexes? Should not we 
set {{tableIndexHashed}} for {{"_key_PK_hash"}} indexes?
 * {{"__SCAN_"}} indexes has no columns. Is it correct to return NULL values 
for {{ORDINAL_POSITION}} and {{COLUMN_NAME}} columns in metadata?

Examples of output of {{INDEXES}} system view and proposed output of metadata 
(performed in {{{}sqlline{}}}): [^indexes_sqlline.txt]

WDYT?


was (Author: shishkovilja):
Hi [~jooger]!

As I see, there are some significant changes, since this issue was created:
 # 
{{org.apache.ignite.internal.processors.query.h2.sys.view.SqlSystemViewIndexes}}
 had been replaced by {{org.apache.ignite.spi.systemview.view.SqlIndexView}}. 
This class and 
{{org.apache.ignite.internal.processors.query.h2.opt.GridH2Table}} are in 
{{ignite-indexing}} module and they are inaccessible for {{JdbcIndexMeta}} and 
{{JdbcMetadataInfo}} from {{ignite-core}} module.
 # System View API had been released.
 # Calcite engine had been released.

So, in order to get information about indexes, I suggest to use System View API 
which is independent from query engine.

Also, I suggest to add {{TABLE_SCHEM}} and {{TABLE_NAME}} columns to sorting 
order and other fields will be sorted according to 
{{DatabaseMetaData#getIndexInfo}} JavaDoc. So, full order will be as follows: 
{{TABLE_SCHEM}} -> {{TABLE_NAME}} -> {{NON_UNIQUE}} -> {{TYPE}} -> 
{{INDEX_NAME}} -> {{{}ORDINAL_POSITION{}}}.
It is necessary for correct sorting when arguments {{schemaNamePtrn}} or 
{{tblNamePtrn}} of {{JdbcMetadataInfo#getIndexesMeta}} fits to multiple tables. 
For example, when you call {{!indexes}} command in {{sqlline}} utility, the 
{{tblNamePtrn}} would be "%".

Also, I have two questions:
 * {{tableIndexOther}} is assigned to {{TYPE}} for all indexes in 
{{{}JdbcUtils#indexRows{}}}. Is it still actual type for indexes? Should not we 
set {{tableIndexHashed}} for {{"_key_PK_hash"}} indexes?
 * {{"__SCAN_"}} indexes has no columns. Is it correct to return NULL values 
for {{ORDINAL_POSITION}} and {{COLUMN_NAME}} columns in metadata?

Examples of output of {{INDEXES}} system view and proposed output of metadata 
(performed in {{{}sqlline{}}}): [^indexes_sqlline.txt]

WDYT?

> use the same information about indexes for JDBC drivers as for system view 
> INDEXES
> --
>
> Key: IGNITE-11368
> URL: https://issues.apache.org/jira/browse/IGNITE-11368
> Project: Ignite
>  Issue Type: Task
>  Components: jdbc, odbc, sql
>Reporter: Yury Gerzhedovich
>Assignee: Ilya Shishkov
>Priority: Major
>  Labels: newbie
> Attachments: indexes_sqlline.txt
>
>
> As of now indexes information for JDBC drivers get by another way then system 
> SQL view INDEXES. Need to use single source of the information to have 
> consistent picture.
> So, JDBC drivers should use the same source as SQL view INDEXES 
> (org.apache.ignite.internal.processors.query.h2.sys.view.SqlSystemViewIndexes)
> Start point for JDBC index metadata is 
> org.apache.ignite.internal.jdbc2.JdbcDatabaseMetadata#getIndexInfo
> Also order of result should be correspond Javadoc ('ordered by NON_UNIQUE, 
> TYPE, INDEX_NAME, and ORDINAL_POSITION') - at present it is not so.



--
This message was sent by Atlassian Jira
(v8.20.7#820007)


[jira] [Comment Edited] (IGNITE-11368) use the same information about indexes for JDBC drivers as for system view INDEXES

2022-06-24 Thread Ilya Shishkov (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-11368?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17558446#comment-17558446
 ] 

Ilya Shishkov edited comment on IGNITE-11368 at 6/24/22 2:38 PM:
-

Hi [~jooger]!

As I see, there are some significant changes, since this issue was created:
 # 
{{org.apache.ignite.internal.processors.query.h2.sys.view.SqlSystemViewIndexes}}
 had been replaced by {{org.apache.ignite.spi.systemview.view.SqlIndexView}}. 
This class and 
{{org.apache.ignite.internal.processors.query.h2.opt.GridH2Table}} are in 
{{ignite-indexing}} module and they are inaccessible for {{JdbcIndexMeta}} and 
{{JdbcMetadataInfo}} from {{ignite-core}} module.
 # System View API had been released.
 # Calcite engine had been released.

So, in order to get information about indexes, I suggest to use System View API 
which is independent from query engine.

Also, I suggest to add {{TABLE_SCHEM}} and {{TABLE_NAME}} columns to sorting 
order and other fields will be sorted according to 
{{DatabaseMetaData#getIndexInfo}} JavaDoc. So, full order will be as follows: 
{{TABLE_SCHEM}} -> {{TABLE_NAME}} -> {{NON_UNIQUE}} -> {{TYPE}} -> 
{{INDEX_NAME}} -> {{{}ORDINAL_POSITION{}}}.
It is necessary for correct sorting when arguments {{schemaNamePtrn}} or 
{{tblNamePtrn}} of {{JdbcMetadataInfo#getIndexesMeta}} fits to multiple tables. 
For example, when you call {{!indexes}} command in {{sqlline}} utility, the 
{{tblNamePtrn}} would be "%".

Also, I have two questions:
 * {{tableIndexOther}} is assigned to {{TYPE}} for all indexes in 
{{{}JdbcUtils#indexRows{}}}. Is it still actual type for indexes? Should not we 
set {{tableIndexHashed}} for {{"_key_PK_hash"}} indexes?
 * {{"__SCAN_"}} indexes has no columns. Is it correct to return NULL values 
for {{ORDINAL_POSITION}} and {{COLUMN_NAME}} columns in metadata?

Examples of output of {{INDEXES}} system view and proposed output of metadata 
(performed in {{{}sqlline{}}}): [^indexes_sqlline.txt]

WDYT?


was (Author: shishkovilja):
Hi [~jooger]!

As I see, there are some significant changes, since this issue was created:
 # 
{{org.apache.ignite.internal.processors.query.h2.sys.view.SqlSystemViewIndexes}}
 had been replaced by 
{{{}org.apache.ignite.spi.systemview.view.SqlIndexView{}}}. Class is in 
{{ignite-indexing}} module and is inaccessible for {{JdbcIndexMeta}} and 
{{JdbcMetadataInfo}} from {{ignite-core}} module.
 # System View API had been released.
 # Calcite engine had been released.

So, in order to get information about indexes, I suggest to use System View API 
which is independent from query engine.

Also, I suggest to add {{TABLE_SCHEM}} and {{TABLE_NAME}} columns to sorting 
order and other fields will be sorted according to 
{{DatabaseMetaData#getIndexInfo}} JavaDoc. So, full order will be as follows: 
{{TABLE_SCHEM}} -> {{TABLE_NAME}} -> {{NON_UNIQUE}} -> {{TYPE}} -> 
{{INDEX_NAME}} -> {{{}ORDINAL_POSITION{}}}.
It is necessary for correct sorting when arguments {{schemaNamePtrn}} or 
{{tblNamePtrn}} of {{JdbcMetadataInfo#getIndexesMeta}} fits to multiple tables. 
For example, when you call {{!indexes}} command in {{sqlline}} utility, the 
{{tblNamePtrn}} would be "%".

Also, I have two questions:
 * {{tableIndexOther}} is assigned to {{TYPE}} for all indexes in 
{{{}JdbcUtils#indexRows{}}}. Is it still actual type for indexes? Should not we 
set {{tableIndexHashed}} for {{"_key_PK_hash"}} indexes?
 * {{"__SCAN_"}} indexes has no columns. Is it correct to return NULL values 
for {{ORDINAL_POSITION}} and {{COLUMN_NAME}} columns in metadata?

Examples of output of {{INDEXES}} system view and proposed output of metadata 
(performed in {{{}sqlline{}}}): [^indexes_sqlline.txt]

WDYT?

> use the same information about indexes for JDBC drivers as for system view 
> INDEXES
> --
>
> Key: IGNITE-11368
> URL: https://issues.apache.org/jira/browse/IGNITE-11368
> Project: Ignite
>  Issue Type: Task
>  Components: jdbc, odbc, sql
>Reporter: Yury Gerzhedovich
>Assignee: Ilya Shishkov
>Priority: Major
>  Labels: newbie
> Attachments: indexes_sqlline.txt
>
>
> As of now indexes information for JDBC drivers get by another way then system 
> SQL view INDEXES. Need to use single source of the information to have 
> consistent picture.
> So, JDBC drivers should use the same source as SQL view INDEXES 
> (org.apache.ignite.internal.processors.query.h2.sys.view.SqlSystemViewIndexes)
> Start point for JDBC index metadata is 
> org.apache.ignite.internal.jdbc2.JdbcDatabaseMetadata#getIndexInfo
> Also order of result should be correspond Javadoc ('ordered by NON_UNIQUE, 
> TYPE, INDEX_NAME, and ORDINAL_POSITION') - at present it is not so.



--
This message was sent by Atlassian Jira

[jira] [Comment Edited] (IGNITE-11368) use the same information about indexes for JDBC drivers as for system view INDEXES

2022-06-24 Thread Ilya Shishkov (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-11368?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17558446#comment-17558446
 ] 

Ilya Shishkov edited comment on IGNITE-11368 at 6/24/22 11:43 AM:
--

Hi [~jooger]!

As I see, there are some significant changes, since this issue was created:
 # 
{{org.apache.ignite.internal.processors.query.h2.sys.view.SqlSystemViewIndexes}}
 had been replaced by 
{{{}org.apache.ignite.spi.systemview.view.SqlIndexView{}}}. Class is in 
{{ignite-indexing}} module and is inaccessible for {{JdbcIndexMeta}} and 
{{JdbcMetadataInfo}} from {{ignite-core}} module.
 # System View API had been released.
 # Calcite engine had been released.

So, in order to get information about indexes, I suggest to use System View API 
which is independent from query engine.

Also, I suggest to add {{TABLE_SCHEM}} and {{TABLE_NAME}} columns to sorting 
order and other fields will be sorted according to 
{{DatabaseMetaData#getIndexInfo}} JavaDoc. So, full order will be as follows: 
{{TABLE_SCHEM}} -> {{TABLE_NAME}} -> {{NON_UNIQUE}} -> {{TYPE}} -> 
{{INDEX_NAME}} -> {{{}ORDINAL_POSITION{}}}.
It is necessary for correct sorting when arguments {{schemaNamePtrn}} or 
{{tblNamePtrn}} of {{JdbcMetadataInfo#getIndexesMeta}} fits to multiple tables. 
For example, when you call {{!indexes}} command in {{sqlline}} utility, the 
{{tblNamePtrn}} would be "%".

Also, I have two questions:
 * {{tableIndexOther}} is assigned to {{TYPE}} for all indexes in 
{{{}JdbcUtils#indexRows{}}}. Is it still actual type for indexes? Should not we 
set {{tableIndexHashed}} for {{"_key_PK_hash"}} indexes?
 * {{"__SCAN_"}} indexes has no columns. Is it correct to return NULL values 
for {{ORDINAL_POSITION}} and {{COLUMN_NAME}} columns in metadata?

Examples of output of {{INDEXES}} system view and proposed output of metadata 
(performed in {{{}sqlline{}}}): [^indexes_sqlline.txt]

WDYT?


was (Author: shishkovilja):
Hi [~jooger]!

As I see, there are some significant changes, since this issue was created:
 # 
{{org.apache.ignite.internal.processors.query.h2.sys.view.SqlSystemViewIndexes}}
 had been replaced by 
{{{}org.apache.ignite.spi.systemview.view.SqlIndexView{}}}. Class is in 
{{ignite-indexing}} module and is inaccessible for {{JdbcIndexMeta}} and 
{{JdbcMetadataInfo}} from {{ignite-core}} module.
 # System View API had been released.
 # Calcite engine had been released.

So, in order to get information about indexes, I suggest to use System View API 
which is independent from query engine.

Also, I suggest to add {{TABLE_SCHEM}} and {{TABLE_NAME}} columns to sorting 
order and other fields will be sorted according to 
{{DatabaseMetaData#getIndexInfo}} JavaDoc. So, full order will be as follows: 
{{TABLE_SCHEM}} -> {{TABLE_NAME}} -> {{NON_UNIQUE}} -> {{TYPE}} -> 
{{INDEX_NAME}} -> {{{}ORDINAL_POSITION{}}}.
It is necessary for correct sorting when arguments {{schemaNamePtrn}} or 
{{tblNamePtrn}} of {{JdbcMetadataInfo#getIndexesMeta}} fits to multiple tables. 
For example, when you call {{!indexes}} command in {{sqlline}} utility, the 
{{tblNamePtrn}} would be "%".

Also, I have two questions:
 * {{tableIndexOther}} is assigned to {{TYPE}} for all indexes in 
{{{}JdbcUtils#indexRows{}}}. Is it still actual type for indexes? Should not we 
set {{tableIndexHashed}} for {{"_key_PK_hash"}} indexes?
 * {{"_{_}SCAN{_}"}} indexes has no columns. Is it correct to return NULL 
values for {{ORDINAL_POSITION}} and {{COLUMN_NAME}} columns in metadata?

Examples of output of {{INDEXES}} system view and proposed output of metadata 
(performed in {{{}sqlline{}}}): [^indexes_sqlline.txt]

WDYT?

> use the same information about indexes for JDBC drivers as for system view 
> INDEXES
> --
>
> Key: IGNITE-11368
> URL: https://issues.apache.org/jira/browse/IGNITE-11368
> Project: Ignite
>  Issue Type: Task
>  Components: jdbc, odbc, sql
>Reporter: Yury Gerzhedovich
>Assignee: Ilya Shishkov
>Priority: Major
>  Labels: newbie
> Attachments: indexes_sqlline.txt
>
>
> As of now indexes information for JDBC drivers get by another way then system 
> SQL view INDEXES. Need to use single source of the information to have 
> consistent picture.
> So, JDBC drivers should use the same source as SQL view INDEXES 
> (org.apache.ignite.internal.processors.query.h2.sys.view.SqlSystemViewIndexes)
> Start point for JDBC index metadata is 
> org.apache.ignite.internal.jdbc2.JdbcDatabaseMetadata#getIndexInfo
> Also order of result should be correspond Javadoc ('ordered by NON_UNIQUE, 
> TYPE, INDEX_NAME, and ORDINAL_POSITION') - at present it is not so.



--
This message was sent by Atlassian Jira
(v8.20.7#820007)


[jira] [Comment Edited] (IGNITE-11368) use the same information about indexes for JDBC drivers as for system view INDEXES

2022-06-24 Thread Ilya Shishkov (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-11368?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17558446#comment-17558446
 ] 

Ilya Shishkov edited comment on IGNITE-11368 at 6/24/22 11:42 AM:
--

Hi [~jooger]!

As I see, there are some significant changes, since this issue was created:
 # 
{{org.apache.ignite.internal.processors.query.h2.sys.view.SqlSystemViewIndexes}}
 had been replaced by 
{{{}org.apache.ignite.spi.systemview.view.SqlIndexView{}}}. Class is in 
{{ignite-indexing}} module and is inaccessible for {{JdbcIndexMeta}} and 
{{JdbcMetadataInfo}} from {{ignite-core}} module.
 # System View API had been released.
 # Calcite engine had been released.

So, in order to get information about indexes, I suggest to use System View API 
which is independent from query engine.

Also, I suggest to add {{TABLE_SCHEM}} and {{TABLE_NAME}} columns to sorting 
order and other fields will be sorted according to 
{{DatabaseMetaData#getIndexInfo}} JavaDoc. So, full order will be as follows: 
{{TABLE_SCHEM}} -> {{TABLE_NAME}} -> {{NON_UNIQUE}} -> {{TYPE}} -> 
{{INDEX_NAME}} -> {{{}ORDINAL_POSITION{}}}.
It is necessary for correct sorting when arguments {{schemaNamePtrn}} or 
{{tblNamePtrn}} of {{JdbcMetadataInfo#getIndexesMeta}} fits to multiple tables. 
For example, when you call {{!indexes}} command in {{sqlline}} utility, the 
{{tblNamePtrn}} would be "%".

Also, I have two questions:
 * {{tableIndexOther}} is assigned to {{TYPE}} for all indexes in 
{{{}JdbcUtils#indexRows{}}}. Is it still actual type for indexes? Should not we 
set {{tableIndexHashed}} for {{"_key_PK_hash"}} indexes?
 * {{"_{_}SCAN{_}"}} indexes has no columns. Is it correct to return NULL 
values for {{ORDINAL_POSITION}} and {{COLUMN_NAME}} columns in metadata?

Examples of output of {{INDEXES}} system view and proposed output of metadata 
(performed in {{{}sqlline{}}}): [^indexes_sqlline.txt]

WDYT?


was (Author: shishkovilja):
Hi [~jooger]!

As I see, there are some significant changes, since this issue was created:
 # 
{{org.apache.ignite.internal.processors.query.h2.sys.view.SqlSystemViewIndexes}}
 had been replaced by 
{{{}org.apache.ignite.spi.systemview.view.SqlIndexView{}}}. Class is in 
{{ignite-indexing}} module and is inaccessible for {{JdbcIndexMeta}} and 
{{JdbcMetadataInfo}} from {{ignite-core}} module.
 # System View API had been released.
 # Calcite engine had been released.

So, in order to get information about indexes, I suggest to use System View API 
which is independent from query engine.

Also, I suggest to add {{TABLE_SCHEM}} and {{TABLE_NAME}} columns to sorting 
order, so full order will be as follows: {{TABLE_SCHEM}} -> {{TABLE_NAME}} -> 
{{NON_UNIQUE}} -> {{TYPE}} -> {{INDEX_NAME}} -> {{ORDINAL_POSITION}}.
It is necessary for correct sorting when arguments {{schemaNamePtrn}} or 
{{tblNamePtrn}} of {{JdbcMetadataInfo#getIndexesMeta}} fits to multiple tables. 
For example, when you call {{!indexes}} command in {{sqlline}} utility, the 
{{tblNamePtrn}} would be "%". Other fields will be sorted according to 
{{DatabaseMetaData#getIndexInfo}} JavaDoc.

Also, I have two questions:
* {{tableIndexOther}} is assigned to {{TYPE}} for all indexes in 
{{JdbcUtils#indexRows}}. Is it still actual type for indexes? Should not we set 
{{tableIndexHashed}} for {{"_key_PK_hash"}} indexes?
* {{"__SCAN_"}} indexes has no columns. Is it correct to return NULL values for 
{{ORDINAL_POSITION}} and {{COLUMN_NAME}} columns in metadata?

Examples of output of {{INDEXES}} system view and proposed output of metadata 
(performed in {{sqlline}}): [^indexes_sqlline.txt]

WDYT?

> use the same information about indexes for JDBC drivers as for system view 
> INDEXES
> --
>
> Key: IGNITE-11368
> URL: https://issues.apache.org/jira/browse/IGNITE-11368
> Project: Ignite
>  Issue Type: Task
>  Components: jdbc, odbc, sql
>Reporter: Yury Gerzhedovich
>Assignee: Ilya Shishkov
>Priority: Major
>  Labels: newbie
> Attachments: indexes_sqlline.txt
>
>
> As of now indexes information for JDBC drivers get by another way then system 
> SQL view INDEXES. Need to use single source of the information to have 
> consistent picture.
> So, JDBC drivers should use the same source as SQL view INDEXES 
> (org.apache.ignite.internal.processors.query.h2.sys.view.SqlSystemViewIndexes)
> Start point for JDBC index metadata is 
> org.apache.ignite.internal.jdbc2.JdbcDatabaseMetadata#getIndexInfo
> Also order of result should be correspond Javadoc ('ordered by NON_UNIQUE, 
> TYPE, INDEX_NAME, and ORDINAL_POSITION') - at present it is not so.



--
This message was sent by Atlassian Jira
(v8.20.7#820007)