openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Milosz Tylenda (JIRA)" <j...@apache.org>
Subject [jira] Commented: (OPENJPA-1530) MySQL storage engine support
Date Tue, 02 Mar 2010 17:21:27 GMT

    [ https://issues.apache.org/jira/browse/OPENJPA-1530?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12840248#action_12840248
] 

Milosz Tylenda commented on OPENJPA-1530:
-----------------------------------------

Hi Craig. The Dictionaries support their special properties just by having public variables.
MySQLDictionary currently supports the "tableType" property this way. You can override it
by using

<property name="openjpa.jdbc.DBDictionary" value="mysql(TableType=ndbcluster)"/>

or 

<property name="openjpa.jdbc.DBDictionary" value="TableType=ndbcluster"/>


I think that the only change you want here is:

+    @Override
     public String[] getCreateTableSQL(Table table) {
         String[] sql = super.getCreateTableSQL(table);
-        if (!StringUtils.isEmpty(tableType))
-            sql[0] = sql[0] + " TYPE = " + tableType;
+        if (!StringUtils.isEmpty(engine))
+            sql[0] = sql[0] + " ENGINE = " + engine;
         return sql;
     }


> MySQL storage engine support
> ----------------------------
>
>                 Key: OPENJPA-1530
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-1530
>             Project: OpenJPA
>          Issue Type: Improvement
>          Components: jdbc
>            Reporter: Craig L Russell
>            Assignee: Craig L Russell
>            Priority: Minor
>             Fix For: 1.3.0, 2.0.0
>
>         Attachments: openjpa-1530.patch
>
>
> The MySQLDictionary currently supports only TYPE innodb. There is a skeleton for support
of this element but there is no way to change it from the default.
> Also, according to the MySQL documentation http://dev.mysql.com/doc/refman/5.1/en/create-table.html
 TYPE is deprecated. The recommended (and supported) keyword is ENGINE. 
> "Since MySQL 5.1.8, it produces a warning. It will be removed in a future MySQL release.
You should not use TYPE in any new applications, and you should immediately begin conversion
of existing applications to use ENGINE instead."
> I propose to change TYPE to ENGINE, and to provide a way for the user to specify which
engine to use.
> I need some feedback on this: A property, mysql.engine, with a default of innodb (for
compatibility) can be specified by the user in order to create tables using any of the supported
engines. Can the property be put onto the command line? Can the property be added to persistence.xml?
Can the property be added to the maven profile properties?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message