View Issue Details

IDProjectCategoryView StatusLast Update
0004146SymmetricDSBugpublic2019-11-13 14:37
ReporterhanesAssigned To 
Prioritynormal 
Status newResolutionopen 
Product Version3.11.0 
Target VersionFixed in Version 
Summary0004146: Interbase handling of DECIMAL type
DescriptionTable was created with a column of type DECIMAL. It appears Symmetric has the mapping on the Interbase side incorrect for DECIMAL and is thinking it's integer. See error below. Table was defined as follows on source (h2) and target (interbase):

CREATE TABLE ITEM_PRICE (
    ITEM_ID VARCHAR(50) NOT NULL,
    STORE_ID VARCHAR(5) NOT NULL,
    PRICE DECIMAL NOT NULL,
    PRIMARY KEY (ITEM_ID,STORE_ID)
);


[store-002] - DefaultDatabaseWriter - Failed to process insert event in batch 000-61 on channel 'reload'.
Failed row data was: "5001","001","0.99"

java.lang.RuntimeException: Could not convert a value of 0.99 for column PRICE of type INTEGER
    at org.jumpmind.db.platform.AbstractDatabasePlatform.getObjectValues(AbstractDatabasePlatform.java:383)
    at org.jumpmind.symmetric.io.data.writer.DefaultDatabaseWriter.execute(DefaultDatabaseWriter.java:927)
    at org.jumpmind.symmetric.io.data.writer.DefaultDatabaseWriter.insert(DefaultDatabaseWriter.java:213)
    at org.jumpmind.symmetric.io.data.writer.AbstractDatabaseWriter.write(AbstractDatabaseWriter.java:192)
    at org.jumpmind.symmetric.io.data.writer.NestedDataWriter.write(NestedDataWriter.java:64)
    at org.jumpmind.symmetric.model.ProcessInfoDataWriter.write(ProcessInfoDataWriter.java:84)
    at org.jumpmind.symmetric.io.data.writer.NestedDataWriter.write(NestedDataWriter.java:64)
    at org.jumpmind.symmetric.io.data.writer.TransformWriter.write(TransformWriter.java:201)
    at org.jumpmind.symmetric.io.data.DataProcessor.forEachDataInTable(DataProcessor.java:212)
    at org.jumpmind.symmetric.io.data.DataProcessor.forEachTableInBatch(DataProcessor.java:178)
    at org.jumpmind.symmetric.io.data.DataProcessor.process(DataProcessor.java:124)
    at org.jumpmind.symmetric.service.impl.DataLoaderService$LoadIntoDatabaseOnArrivalListener$2.call(DataLoaderService.java:1080)
    at org.jumpmind.symmetric.service.impl.DataLoaderService$LoadIntoDatabaseOnArrivalListener$2.call(DataLoaderService.java:1057)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NumberFormatException: For input string: ".99"
    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
    at java.lang.Integer.parseInt(Integer.java:569)
    at java.math.BigInteger.<init>(BigInteger.java:470)
    at java.math.BigInteger.<init>(BigInteger.java:606)
    at org.jumpmind.db.platform.AbstractDatabasePlatform.parseInteger(AbstractDatabasePlatform.java:493)
    at org.jumpmind.db.platform.AbstractDatabasePlatform.getObjectValue(AbstractDatabasePlatform.java:419)
    at org.jumpmind.db.platform.AbstractDatabasePlatform.getObjectValues(AbstractDatabasePlatform.java:378)
    ... 16 more
Tagsdialect: interbase

Activities

There are no notes attached to this issue.

Issue History

Date Modified Username Field Change
2019-11-13 14:36 hanes New Issue
2019-11-13 14:36 hanes Tag Attached: interbase
2019-11-13 14:37 hanes Tag Detached: interbase
2019-11-13 14:37 hanes Tag Attached: dialect: interbase