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)

Reply via email to