Sha256: 7016e551a7cd8bbef960d38f72f765fc29756e2c709f19245023e4328ae25612
Contents?: true
Size: 1.74 KB
Versions: 6
Compression:
Stored size: 1.74 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; 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(); } }
Version data entries
6 entries across 6 versions & 1 rubygems