Igniters, While reviewing the changes for IGNITE-9228 [1,2], Nikolay and I are discussing whether to introduce a change which may impact backwards compatibility; Nikolay suggested we take the discussion to this list.
Ignite implements a custom Spark catalog which provides an API by which Spark users can list the tables which are available in Ignite which can be queried via Spark SQL. Currently that table name list includes just the names of the tables, but IGNITE-9228 is introducing a change which allows optional prefixing of schema names to table names to disambiguate multiple tables with the same name in different schemas. For the "list tables" API we therefore have two options: 1. List the tables using both their table names and schema-qualified table names (eg. [ "myTable", "mySchema.myTable" ]) even though they are the same underlying table. This retains backwards compatibility with users who expect "myTable" to appear in the catalog. 2. List the tables using only their schema-qualified names. This eliminates duplication of names in the catalog but will potentially break compatibility with users who expect the table name in the catalog. With either option we will allow for Spark SQL SELECT statements to use either table name or schema-qualified table names, this change would purely impact the API which is used to list available tables. Any opinions would be welcome. Thanks, Stuart. [1] https://issues.apache.org/jira/browse/IGNITE-9228 [2] https://github.com/apache/ignite/pull/4551