-
Bug
-
Resolution: Fixed
-
Major
-
2.4.0
-
None
-
None
2015-05-07 10:47:16,227 ERROR [org.ametys.odf.export.ODFExportEngine] (ODFExportEngine;/plugins/core/servercomm/messages.xml) ODF export has failed com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Specified key was too long; max key length is 1000 bytes at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at com.mysql.jdbc.Util.handleNewInstance(Util.java:406) at com.mysql.jdbc.Util.getInstance(Util.java:381) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1030) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3491) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3423) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1936) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2060) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2542) at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1734) at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:995) at org.apache.commons.dbcp.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:172) at org.apache.commons.dbcp.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:172) at org.ametys.odf.export.ExportManager.executeSqlQueries(ExportManager.java:482) at org.ametys.odf.export.ExportManager.export(ExportManager.java:218) at org.ametys.odf.export.ODFExportEngine.export(ODFExportEngine.java:186) at org.ametys.odf.export.ODFExportEngine.run(ODFExportEngine.java:104) at java.lang.Thread.run(Thread.java:662)
En latin1, 200 + 1 + 200 + 1 + 4 < 1000, ça devrait passer.
De toute façon nos ids ne prennent en réalité qu'un cinquantaines de caractères, donc on va tronquer encore plus pour la clef primaire, de façon à ce que ça fonctionne même en UTF-8: 100*4+1 + 100*4+1 + 4 = 806 < 1000