[
https://jira.jboss.org/browse/JBIDE-6396?page=com.atlassian.jira.plugin.s...
]
Dmitry Geraskov commented on JBIDE-6396:
----------------------------------------
There are many problems which should be fixed by one shot:
1. AbstractMetaDataDialect#needQuote() should be altered with line
if(name.indexOf('.')>0) return true;
2. JDBCReader calls DefaultDatabaseCollector#addTable with quoted schema and table name
(after fix point1) and that is why Table.qualify(catalog, schema, name) also returns
quoted key,
but DefaultDatabaseCollector#getTable() called everywhere with non-quoted strings.
Note the code expects quoted schema and table, but not expects quoted catalog.
3. The fix of Michael
4. I didn't find any references for DefaultDatabaseCollector#getQualifierEntries, but
the key of the map is also potentially quoted
5. Plugins - most likely some changes in TableFilterView are also required
Filter wizard/Database Collector should correctly identify catalog,
schema, and tables even when tables contain dots (".") in the name
--------------------------------------------------------------------------------------------------------------------------------------
Key: JBIDE-6396
URL:
https://jira.jboss.org/browse/JBIDE-6396
Project: Tools (JBoss Tools)
Issue Type: Feature Request
Components: Hibernate
Affects Versions: 3.1.0.GA
Reporter: Michael Walker
Assignee: Dmitry Geraskov
Fix For: 3.2.0.Beta
Attachments: JBIDE-tablename-with-dots-patch-mpw.txt
The DefaultDatabaseCollector uses StringHelper.qualifier(String) to determine the catalog
and schema name for each table, given the fully-qualified name.
StringHelper.qualifier() assumes that everything proceeding the final "." in
the fully-qualified name represents the qualifier.
This assumption breaks down if a table contains a dot in the name. This is found to be
the case when working with MetaMatrix (and possibly Teiid).
The result is that the Filter Wizard will generate invalid filters, based on the
incorrect naming of catalog and schema for each table.
As a fix, I modified DefaultDatabaseCollector to form the qualifier by using the known
catalog and schema, rather than by using the StringHelper.qualifier method. I rebuilt
tools and verified that this fixed the problem when working with MetaMatrix.
This may be better addressed by changing the behavior of StringHelper.qualifier() itself.
See forum discussion for details.
Patch attached.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira