Sha256: be7489eccc6ff71083bb4adec1d82c54f0787fd61ad82979b8d1e2aa6a7d0f6a

Contents?: true

Size: 1.91 KB

Versions: 28

Compression:

Stored size: 1.91 KB

Contents

package org.embulk.output.jdbc.setter;

import java.math.BigDecimal;
import java.io.IOException;
import java.sql.SQLException;

import org.embulk.spi.time.Timestamp;
import org.embulk.output.jdbc.JdbcColumn;
import org.embulk.output.jdbc.BatchInsert;
import org.msgpack.value.Value;

public class BigDecimalColumnSetter
        extends ColumnSetter
{
    private static final BigDecimal ZERO = BigDecimal.valueOf(0L);
    private static final BigDecimal ONE = BigDecimal.valueOf(1L);

    public BigDecimalColumnSetter(BatchInsert batch, JdbcColumn column,
            DefaultValueSetter defaultValue)
    {
        super(batch, column, defaultValue);
    }

    @Override
    public void nullValue() throws IOException, SQLException
    {
        defaultValue.setBigDecimal();
    }

    @Override
    public void booleanValue(boolean v) throws IOException, SQLException
    {
        batch.setBigDecimal(v ? ONE : ZERO);
    }

    @Override
    public void longValue(long v) throws IOException, SQLException
    {
        batch.setBigDecimal(BigDecimal.valueOf(v));
    }

    @Override
    public void doubleValue(double v) throws IOException, SQLException
    {
        if (Double.isNaN(v) || Double.isInfinite(v)) {
            defaultValue.setBigDecimal();
        } else {
            batch.setBigDecimal(BigDecimal.valueOf(v));
        }
    }

    @Override
    public void stringValue(String v) throws IOException, SQLException
    {
        BigDecimal dv;
        try {
            dv = new BigDecimal(v);
        } catch (NumberFormatException ex) {
            defaultValue.setBigDecimal();
            return;
        }
        batch.setBigDecimal(dv);
    }

    @Override
    public void timestampValue(Timestamp v) throws IOException, SQLException
    {
        defaultValue.setBigDecimal();
    }

    @Override
    public void jsonValue(Value v) throws IOException, SQLException
    {
        defaultValue.setBigDecimal();
    }
}

Version data entries

28 entries across 28 versions & 2 rubygems

Version Path
embulk-output-jdbc-0.8.7 src/main/java/org/embulk/output/jdbc/setter/BigDecimalColumnSetter.java
embulk-output-jdbc-0.8.5 src/main/java/org/embulk/output/jdbc/setter/BigDecimalColumnSetter.java
embulk-output-jdbc-0.8.4 src/main/java/org/embulk/output/jdbc/setter/BigDecimalColumnSetter.java
embulk-output-jdbc-0.8.3 src/main/java/org/embulk/output/jdbc/setter/BigDecimalColumnSetter.java
embulk-output-jdbc-0.8.2 src/main/java/org/embulk/output/jdbc/setter/BigDecimalColumnSetter.java
embulk-output-jdbc-0.8.1 src/main/java/org/embulk/output/jdbc/setter/BigDecimalColumnSetter.java
embulk-output-jdbc-0.7.13 src/main/java/org/embulk/output/jdbc/setter/BigDecimalColumnSetter.java
embulk-output-jdbc-0.7.12 src/main/java/org/embulk/output/jdbc/setter/BigDecimalColumnSetter.java
embulk-output-jdbc-0.7.11 src/main/java/org/embulk/output/jdbc/setter/BigDecimalColumnSetter.java
embulk-output-teradata-0.1.2 src/main/java/org/embulk/output/teradata/jdbc/setter/BigDecimalColumnSetter.java
embulk-output-jdbc-0.7.10 src/main/java/org/embulk/output/jdbc/setter/BigDecimalColumnSetter.java
embulk-output-jdbc-0.7.9 src/main/java/org/embulk/output/jdbc/setter/BigDecimalColumnSetter.java
embulk-output-jdbc-0.7.8 src/main/java/org/embulk/output/jdbc/setter/BigDecimalColumnSetter.java
embulk-output-jdbc-0.7.7 src/main/java/org/embulk/output/jdbc/setter/BigDecimalColumnSetter.java
embulk-output-jdbc-0.7.6 src/main/java/org/embulk/output/jdbc/setter/BigDecimalColumnSetter.java
embulk-output-jdbc-0.7.5 src/main/java/org/embulk/output/jdbc/setter/BigDecimalColumnSetter.java
embulk-output-jdbc-0.7.4 src/main/java/org/embulk/output/jdbc/setter/BigDecimalColumnSetter.java
embulk-output-teradata-0.1.1 src/main/java/org/embulk/output/teradata/jdbc/setter/BigDecimalColumnSetter.java
embulk-output-jdbc-0.7.3 src/main/java/org/embulk/output/jdbc/setter/BigDecimalColumnSetter.java
embulk-output-jdbc-0.7.2 src/main/java/org/embulk/output/jdbc/setter/BigDecimalColumnSetter.java