Hide Forgot
Affects: Documentation (Ref Guide, User Guide, etc.), Release Notes project_key: SOA See result of the test JdbcConnectionTest for MySQL 5.x ModeShape requires InnoDB dialect but ordinary MySQL dialect is used. https://hudson.qa.jboss.com/hudson/view/SOA-Release/job/soa-modeshape-db-openjdk16/9/DATABASE=mysql51,jdk=openjdk-local,label=RHEL5_any/testReport/junit/org.modeshape.connector.store.jpa/JdbcConnectionTest/shouldAutoDetectDialectAndSetOnJpaSource/ I am not sure if this causes any real harm, it may be sufficient to document that automatic detection does not work for MySQL.
Link: Added: This issue Cloned to SOA-2711
ModeShape simply relies upon Hibernate to do the auto-detection of the dialect, and even Hibernate states that auto-detection will work in most situations (see http://docs.jboss.org/hibernate/core/3.6/reference/en-US/html_single/#portability-dialectresolver). I suspect that with MySQL, Hibernate is If not, then Hibernate chooses the safest MySQL dialec, which is MySQL 4 MyISAM. Thus, this probably fails on MySQL 5 InnoDB. So it is probably best to document this in the product. ModeShape will add a note under MODE-1064.
Further investigation is required to determine the real impact of auto-detecting the wrong dialect.
This appears to be a hibernate issue and how/what its auto detecting, not something that ModeShape can control. We will need to document the issue.
Release Notes Docs Status: Added: Documented as Known Issue Release Notes Text: Added: Hibernate states that auto-detection will work in most situations. It will attempt to auto-detect the database dialect, and will choose the safest MySQL dialec, which is MySQL 4 MyISAM.
Release Notes Text: Removed: Hibernate states that auto-detection will work in most situations. It will attempt to auto-detect the database dialect, and will choose the safest MySQL dialec, which is MySQL 4 MyISAM. Added: If the dialect is not specifically stated for the JPA source in the modeshape-config.xml, then the ModeShape JPA connector will rely on Hibernate and its auto-detection to determine the dialect. However, in some cases, Hibernate will attempt to auto-detect the database dialect, and will choose the safest MySQL dialect, which is MySQL 4 MyISAM, instead othe MySQL 5 dialect. To work around the issue where Hibernate selects the wrong dialect, you need to explicitly specify the dialect in the modeshape-config.xml. By default, the eds-store has the dialect specified. For differences between MySQL 4 and 5, see http://dev.mysql.com/doc/refman/5.0/en/development-history.html for the major features between releases.
Release Notes Text: Removed: If the dialect is not specifically stated for the JPA source in the modeshape-config.xml, then the ModeShape JPA connector will rely on Hibernate and its auto-detection to determine the dialect. However, in some cases, Hibernate will attempt to auto-detect the database dialect, and will choose the safest MySQL dialect, which is MySQL 4 MyISAM, instead othe MySQL 5 dialect. To work around the issue where Hibernate selects the wrong dialect, you need to explicitly specify the dialect in the modeshape-config.xml. By default, the eds-store has the dialect specified. For differences between MySQL 4 and 5, see http://dev.mysql.com/doc/refman/5.0/en/development-history.html for the major features between releases. Added: If the dialect is not specifically stated for the JPA source in the modeshape-config.xml, then the ModeShape JPA connector will rely on Hibernate and its auto-detection to determine the dialect. When Hibernate auto-detection is used with MySQL, Hibernate may choose the safest MySQL dialect, which is MySQL 4 MyISAM. Therefore, if your database is using MySQL 5 or MySQL InnoDB, this auto-detection will not be correct. (For differences between MySQL 4 and 5, see http://dev.mysql.com/doc/refman/5.0/en/development-history.html for the major features between releases.) In this case and any other where auto-detection does not work, simply specify explicitly in the modeshape-config.xml configuration file the correct dialect. By default, the modeshape-config.xml file does specify the dialect for the 'eds-store'.
Document as a KI.
Writer: Added: Darrin Release Notes Text: Removed: If the dialect is not specifically stated for the JPA source in the modeshape-config.xml, then the ModeShape JPA connector will rely on Hibernate and its auto-detection to determine the dialect. When Hibernate auto-detection is used with MySQL, Hibernate may choose the safest MySQL dialect, which is MySQL 4 MyISAM. Therefore, if your database is using MySQL 5 or MySQL InnoDB, this auto-detection will not be correct. (For differences between MySQL 4 and 5, see http://dev.mysql.com/doc/refman/5.0/en/development-history.html for the major features between releases.) In this case and any other where auto-detection does not work, simply specify explicitly in the modeshape-config.xml configuration file the correct dialect. By default, the modeshape-config.xml file does specify the dialect for the 'eds-store'. Added: If the dialect is not specifically stated for the JPA source in the modeshape-config.xml, then the ModeShape JPA connector relies on Hibernate auto-detection to determine the dialect. However Hibernate dialect auto-detection does not work reliably with MySQL databases. When using MySQL, you need to set the correct dialect in the modeshape-config.xml configuration file. By default, the modeshape-config.xml file does specify the dialect for the 'eds-store'. Affects: Added: [Documentation (Ref Guide, User Guide, etc.), Release Notes]