[ 
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.

Reply via email to