You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ofbiz.apache.org by "Paul Foxworthy (JIRA)" <ji...@apache.org> on 2016/05/25 22:28:13 UTC

[jira] [Created] (OFBIZ-7129) Recognise "BASE TABLE" table type in metadata

Paul Foxworthy created OFBIZ-7129:
-------------------------------------

             Summary: Recognise "BASE TABLE" table type in metadata
                 Key: OFBIZ-7129
                 URL: https://issues.apache.org/jira/browse/OFBIZ-7129
             Project: OFBiz
          Issue Type: Bug
          Components: framework
    Affects Versions: Trunk
            Reporter: Paul Foxworthy
            Assignee: Paul Foxworthy


In framework/entity/src/org/ofbiz/entity/jdbc/DatabaseUtil.java, the getTableNames method looks for table types of "TABLE", "VIEW", "ALIAS" and "SYNONYM".

MariaDB produces a table type of "BASE TABLE", so OFBiz didn't detect the tables were there, and attempted to create them. In fact, the tables do exist so the create failed.

The JDBC docs suggest that plain "TABLE" is a "typical" value for table type (https://docs.oracle.com/javase/8/docs/api/java/sql/DatabaseMetaData.html#getTables-java.lang.String-java.lang.String-java.lang.String-java.lang.String:A-)

But it seems "BASE TABLE" is more standards compliant - see for example http://www.contrib.andrew.cmu.edu/~shadow/sql/sql1992.txt page 576. I assume some JDBC drivers transform "BASE TABLE" to plain "TABLE", but the MariaDB one does not.

I've attached a patch so OFBiz will recognise "BASE TABLE" if that's what it receives in the metadata.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)