[MDEV-5341] ConnectSE: discovery for ODBC tables does not work if tables with the same names present in multiple schemas Created: 2013-11-26 Updated: 2014-04-09 Resolved: 2014-04-09 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | None |
| Affects Version/s: | 10.0.10 |
| Fix Version/s: | 10.0.11 |
| Type: | Bug | Priority: | Minor |
| Reporter: | Alexander Barkov | Assignee: | Olivier Bertrand |
| Resolution: | Not a Bug | Votes: | 0 |
| Labels: | connect-engine | ||
| Issue Links: |
|
||||||||
| Description |
|
Create tables with the same names in two different schemas in Oracle XE 11:
Now try to create a ConnectSE ODBC table in MariaDB.
Notice, the column "A" presents two times. Now drop the table hr.t1 in Oracle:
and try to create the MariaDB table again:
It works as expected and returns data from the Oracle's table system.t1 The discovery code should be fixed to collect column data only from a Also, discovery does not work for a table in a non-default schema.
Now try to create a ConnectSE table using discovery. It fails:
However, It works fine when the table structure is specified explicitly:
The same problems are reproducible when connecting to Interystems Cache. The problem with multiple schemas is not repeatable with PostgreSQL. The problem with multiple schemas is not repeatable with MS SQL Server. |
| Comments |
| Comment by Elena Stepanova [ 2014-04-09 ] |
|
It seems to be a duplicate of |
| Comment by Olivier Bertrand [ 2014-04-09 ] |
|
These issues are really difficult to address since data sources behave differently (not counting those not tested yet or to come) The main advice to users is "do specify the schema when creating ODBC tables via Discovery". This is already documented (see my comment in By the way, the same problems probably occur when the table is created not using Discovery (by specifying the columns) and when the table is used in a query. |
| Comment by Olivier Bertrand [ 2014-04-09 ] |
|
Refer to |