[
https://issues.apache.org/jira/browse/OPENJPA-3001?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Maxim Solodovnik updated OPENJPA-3001:
--------------------------------------
Fix Version/s: (was: 4.2.0)
> MySQL TCK: char field insert truncated on CHAR column
> -----------------------------------------------------
>
> Key: OPENJPA-3001
> URL: https://issues.apache.org/jira/browse/OPENJPA-3001
> Project: OpenJPA
> Issue Type: Bug
> Components: jpa
> Affects Versions: 4.2.0
> Reporter: Maxim Solodovnik
> Priority: Major
>
> Discussion thread:
> https://github.com/apache/openjpa/pull/144#issuecomment-5011202275
> It seems some errors in MySQL TCK tests are caused by:
> {code}
> Caused by: org.apache.openjpa.lib.jdbc.ReportingSQLException: Data
> truncation: Data too long for column 'CHARDATA' at row 1 {prepstmnt
> 2112012700 INSERT INTO DATATYPES (id, BOOLEANDATA, BYTEARRAYDATA, BYTEDATA,
> CHARARRAYDATA, CHARDATA, DBLDATA, ENUMSDATA, FLOATDATA, INTDATA, INTDATA2,
> LONGDATA, SHORTDATA) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)}
> [code=1406, state=22001]
> at
> org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.wrap(LoggingConnectionDecorator.java:219)
> at
> org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.wrap(LoggingConnectionDecorator.java:195)
> at
> org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator$LoggingConnection$LoggingPreparedStatement.executeUpdate(LoggingConnectionDecorator.java:1188)
> at
> org.apache.openjpa.lib.jdbc.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:308)
> at
> org.apache.openjpa.jdbc.kernel.JDBCStoreManager$CancelPreparedStatement.executeUpdate(JDBCStoreManager.java:1867)
> {code}
> While trying to persist entity with:
> {code}
> @Column(name = "CHARDATA")
> protected char characterData;
> {code}
> Table is create with:
> {code}
> CREATE TABLE DATATYPES (ID INTEGER NOT NULL, BOOLEANDATA SMALLINT NULL,
> CHARDATA CHAR NULL, SHORTDATA SMALLINT NULL, INTDATA INTEGER NULL, INTDATA2
> INTEGER NULL, LONGDATA NUMERIC NULL, DBLDATA DOUBLE PRECISION NULL, FLOATDATA
> REAL NULL, ENUMODATA INTEGER NULL, ENUMSDATA VARCHAR(25), BYTEDATA SMALLINT
> NULL, TRANS SMALLINT NULL, BYTEARRAYDATA BLOB, CHARARRAYDATA VARCHAR(448),
> CONSTRAINT PK_DATATYPES PRIMARY KEY (ID) ) ENGINE=innoDB DEFAULT
> CHARSET=latin1 !
> {code}
> java oblect is created with:
> {code}
> char[] cArray = { 'a' };
> byte[] bArray = { (byte) 100 };
> d1 = new DataTypes(1, false, (byte) 100, 'a', (short)
> 100, 300, 600L, 50D, 1.0F, cArray, bArray);
> {code}
> Something weird :(((
--
This message was sent by Atlassian Jira
(v8.20.10#820010)