Maxim Solodovnik created OPENJPA-3001:
-----------------------------------------
Summary: 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: Sub-task
Components: jpa
Affects Versions: 4.2.0
Reporter: Maxim Solodovnik
Fix For: 4.2.0
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)