embulk-output-jdbc 0.4.1 → 0.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/build.gradle +2 -2
- data/classpath/embulk-output-jdbc-0.4.2.jar +0 -0
- data/lib/embulk/output/jdbc.rb +3 -3
- data/src/main/java/org/embulk/output/JdbcOutputPlugin.java +137 -138
- data/src/main/java/org/embulk/output/jdbc/AbstractJdbcOutputPlugin.java +972 -973
- data/src/main/java/org/embulk/output/jdbc/BatchInsert.java +52 -53
- data/src/main/java/org/embulk/output/jdbc/JdbcColumn.java +116 -116
- data/src/main/java/org/embulk/output/jdbc/JdbcColumnOption.java +34 -34
- data/src/main/java/org/embulk/output/jdbc/JdbcOutputConnection.java +492 -492
- data/src/main/java/org/embulk/output/jdbc/JdbcOutputConnector.java +8 -8
- data/src/main/java/org/embulk/output/jdbc/JdbcSchema.java +60 -60
- data/src/main/java/org/embulk/output/jdbc/JdbcUtils.java +153 -155
- data/src/main/java/org/embulk/output/jdbc/StandardBatchInsert.java +200 -200
- data/src/main/java/org/embulk/output/jdbc/ToString.java +54 -54
- data/src/main/java/org/embulk/output/jdbc/ToStringMap.java +34 -35
- data/src/main/java/org/embulk/output/jdbc/setter/BigDecimalColumnSetter.java +68 -70
- data/src/main/java/org/embulk/output/jdbc/setter/BooleanColumnSetter.java +53 -54
- data/src/main/java/org/embulk/output/jdbc/setter/ByteColumnSetter.java +75 -76
- data/src/main/java/org/embulk/output/jdbc/setter/ColumnSetter.java +44 -45
- data/src/main/java/org/embulk/output/jdbc/setter/ColumnSetterFactory.java +196 -196
- data/src/main/java/org/embulk/output/jdbc/setter/ColumnSetterVisitor.java +95 -96
- data/src/main/java/org/embulk/output/jdbc/setter/DefaultValueSetter.java +48 -48
- data/src/main/java/org/embulk/output/jdbc/setter/DoubleColumnSetter.java +60 -61
- data/src/main/java/org/embulk/output/jdbc/setter/FloatColumnSetter.java +60 -61
- data/src/main/java/org/embulk/output/jdbc/setter/IntColumnSetter.java +75 -76
- data/src/main/java/org/embulk/output/jdbc/setter/LongColumnSetter.java +71 -72
- data/src/main/java/org/embulk/output/jdbc/setter/NStringColumnSetter.java +58 -59
- data/src/main/java/org/embulk/output/jdbc/setter/NullColumnSetter.java +53 -53
- data/src/main/java/org/embulk/output/jdbc/setter/NullDefaultValueSetter.java +105 -105
- data/src/main/java/org/embulk/output/jdbc/setter/PassThroughColumnSetter.java +58 -59
- data/src/main/java/org/embulk/output/jdbc/setter/ShortColumnSetter.java +75 -76
- data/src/main/java/org/embulk/output/jdbc/setter/SkipColumnSetter.java +43 -43
- data/src/main/java/org/embulk/output/jdbc/setter/SqlDateColumnSetter.java +58 -59
- data/src/main/java/org/embulk/output/jdbc/setter/SqlTimeColumnSetter.java +58 -59
- data/src/main/java/org/embulk/output/jdbc/setter/SqlTimestampColumnSetter.java +58 -58
- data/src/main/java/org/embulk/output/jdbc/setter/StringColumnSetter.java +58 -59
- data/src/test/java/org/embulk/output/TestJdbcOutputPlugin.java +5 -5
- metadata +3 -3
- data/classpath/embulk-output-jdbc-0.4.1.jar +0 -0
@@ -1,76 +1,75 @@
|
|
1
|
-
package org.embulk.output.jdbc.setter;
|
2
|
-
|
3
|
-
import java.io.IOException;
|
4
|
-
import java.sql.SQLException;
|
5
|
-
import java.math.RoundingMode;
|
6
|
-
import com.google.common.math.DoubleMath;
|
7
|
-
import org.embulk.spi.
|
8
|
-
import org.embulk.
|
9
|
-
import org.embulk.output.jdbc.
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
}
|
1
|
+
package org.embulk.output.jdbc.setter;
|
2
|
+
|
3
|
+
import java.io.IOException;
|
4
|
+
import java.sql.SQLException;
|
5
|
+
import java.math.RoundingMode;
|
6
|
+
import com.google.common.math.DoubleMath;
|
7
|
+
import org.embulk.spi.time.Timestamp;
|
8
|
+
import org.embulk.output.jdbc.JdbcColumn;
|
9
|
+
import org.embulk.output.jdbc.BatchInsert;
|
10
|
+
|
11
|
+
public class IntColumnSetter
|
12
|
+
extends ColumnSetter
|
13
|
+
{
|
14
|
+
public IntColumnSetter(BatchInsert batch, JdbcColumn column,
|
15
|
+
DefaultValueSetter defaultValue)
|
16
|
+
{
|
17
|
+
super(batch, column, defaultValue);
|
18
|
+
}
|
19
|
+
|
20
|
+
@Override
|
21
|
+
public void nullValue() throws IOException, SQLException
|
22
|
+
{
|
23
|
+
defaultValue.setInt();
|
24
|
+
}
|
25
|
+
|
26
|
+
@Override
|
27
|
+
public void booleanValue(boolean v) throws IOException, SQLException
|
28
|
+
{
|
29
|
+
batch.setInt(v ? 1 : 0);
|
30
|
+
}
|
31
|
+
|
32
|
+
@Override
|
33
|
+
public void longValue(long v) throws IOException, SQLException
|
34
|
+
{
|
35
|
+
if (v > Integer.MAX_VALUE || v < Integer.MIN_VALUE) {
|
36
|
+
defaultValue.setInt();
|
37
|
+
} else {
|
38
|
+
batch.setInt((int) v);
|
39
|
+
}
|
40
|
+
}
|
41
|
+
|
42
|
+
@Override
|
43
|
+
public void doubleValue(double v) throws IOException, SQLException
|
44
|
+
{
|
45
|
+
long lv;
|
46
|
+
try {
|
47
|
+
// TODO configurable rounding mode
|
48
|
+
lv = DoubleMath.roundToLong(v, RoundingMode.HALF_UP);
|
49
|
+
} catch (ArithmeticException ex) {
|
50
|
+
// NaN / Infinite / -Infinite
|
51
|
+
defaultValue.setInt();
|
52
|
+
return;
|
53
|
+
}
|
54
|
+
longValue(lv);
|
55
|
+
}
|
56
|
+
|
57
|
+
@Override
|
58
|
+
public void stringValue(String v) throws IOException, SQLException
|
59
|
+
{
|
60
|
+
int iv;
|
61
|
+
try {
|
62
|
+
iv = Integer.parseInt(v);
|
63
|
+
} catch (NumberFormatException e) {
|
64
|
+
defaultValue.setInt();
|
65
|
+
return;
|
66
|
+
}
|
67
|
+
batch.setInt(iv);
|
68
|
+
}
|
69
|
+
|
70
|
+
@Override
|
71
|
+
public void timestampValue(Timestamp v) throws IOException, SQLException
|
72
|
+
{
|
73
|
+
defaultValue.setInt();
|
74
|
+
}
|
75
|
+
}
|
@@ -1,72 +1,71 @@
|
|
1
|
-
package org.embulk.output.jdbc.setter;
|
2
|
-
|
3
|
-
import java.io.IOException;
|
4
|
-
import java.sql.SQLException;
|
5
|
-
import java.math.RoundingMode;
|
6
|
-
import com.google.common.math.DoubleMath;
|
7
|
-
import org.embulk.spi.
|
8
|
-
import org.embulk.
|
9
|
-
import org.embulk.output.jdbc.
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
}
|
1
|
+
package org.embulk.output.jdbc.setter;
|
2
|
+
|
3
|
+
import java.io.IOException;
|
4
|
+
import java.sql.SQLException;
|
5
|
+
import java.math.RoundingMode;
|
6
|
+
import com.google.common.math.DoubleMath;
|
7
|
+
import org.embulk.spi.time.Timestamp;
|
8
|
+
import org.embulk.output.jdbc.JdbcColumn;
|
9
|
+
import org.embulk.output.jdbc.BatchInsert;
|
10
|
+
|
11
|
+
public class LongColumnSetter
|
12
|
+
extends ColumnSetter
|
13
|
+
{
|
14
|
+
public LongColumnSetter(BatchInsert batch, JdbcColumn column,
|
15
|
+
DefaultValueSetter defaultValue)
|
16
|
+
{
|
17
|
+
super(batch, column, defaultValue);
|
18
|
+
}
|
19
|
+
|
20
|
+
@Override
|
21
|
+
public void nullValue() throws IOException, SQLException
|
22
|
+
{
|
23
|
+
defaultValue.setLong();
|
24
|
+
}
|
25
|
+
|
26
|
+
@Override
|
27
|
+
public void booleanValue(boolean v) throws IOException, SQLException
|
28
|
+
{
|
29
|
+
batch.setLong(v ? 1L : 0L);
|
30
|
+
}
|
31
|
+
|
32
|
+
@Override
|
33
|
+
public void longValue(long v) throws IOException, SQLException
|
34
|
+
{
|
35
|
+
batch.setLong(v);
|
36
|
+
}
|
37
|
+
|
38
|
+
@Override
|
39
|
+
public void doubleValue(double v) throws IOException, SQLException
|
40
|
+
{
|
41
|
+
long lv;
|
42
|
+
try {
|
43
|
+
// TODO configurable rounding mode
|
44
|
+
lv = DoubleMath.roundToLong(v, RoundingMode.HALF_UP);
|
45
|
+
} catch (ArithmeticException ex) {
|
46
|
+
// NaN / Infinite / -Infinite
|
47
|
+
defaultValue.setLong();
|
48
|
+
return;
|
49
|
+
}
|
50
|
+
batch.setLong(lv);
|
51
|
+
}
|
52
|
+
|
53
|
+
@Override
|
54
|
+
public void stringValue(String v) throws IOException, SQLException
|
55
|
+
{
|
56
|
+
long lv;
|
57
|
+
try {
|
58
|
+
lv = Long.parseLong(v);
|
59
|
+
} catch (NumberFormatException e) {
|
60
|
+
defaultValue.setLong();
|
61
|
+
return;
|
62
|
+
}
|
63
|
+
batch.setLong(lv);
|
64
|
+
}
|
65
|
+
|
66
|
+
@Override
|
67
|
+
public void timestampValue(Timestamp v) throws IOException, SQLException
|
68
|
+
{
|
69
|
+
defaultValue.setLong();
|
70
|
+
}
|
71
|
+
}
|
@@ -1,59 +1,58 @@
|
|
1
|
-
package org.embulk.output.jdbc.setter;
|
2
|
-
|
3
|
-
import java.io.IOException;
|
4
|
-
import java.sql.SQLException;
|
5
|
-
import org.embulk.spi.
|
6
|
-
import org.embulk.spi.time.
|
7
|
-
import org.embulk.
|
8
|
-
import org.embulk.output.jdbc.
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
}
|
1
|
+
package org.embulk.output.jdbc.setter;
|
2
|
+
|
3
|
+
import java.io.IOException;
|
4
|
+
import java.sql.SQLException;
|
5
|
+
import org.embulk.spi.time.Timestamp;
|
6
|
+
import org.embulk.spi.time.TimestampFormatter;
|
7
|
+
import org.embulk.output.jdbc.JdbcColumn;
|
8
|
+
import org.embulk.output.jdbc.BatchInsert;
|
9
|
+
|
10
|
+
public class NStringColumnSetter
|
11
|
+
extends ColumnSetter
|
12
|
+
{
|
13
|
+
private final TimestampFormatter timestampFormatter;
|
14
|
+
|
15
|
+
public NStringColumnSetter(BatchInsert batch, JdbcColumn column,
|
16
|
+
DefaultValueSetter defaultValue,
|
17
|
+
TimestampFormatter timestampFormatter)
|
18
|
+
{
|
19
|
+
super(batch, column, defaultValue);
|
20
|
+
this.timestampFormatter = timestampFormatter;
|
21
|
+
}
|
22
|
+
|
23
|
+
@Override
|
24
|
+
public void nullValue() throws IOException, SQLException
|
25
|
+
{
|
26
|
+
defaultValue.setNString();
|
27
|
+
}
|
28
|
+
|
29
|
+
@Override
|
30
|
+
public void booleanValue(boolean v) throws IOException, SQLException
|
31
|
+
{
|
32
|
+
batch.setNString(Boolean.toString(v));
|
33
|
+
}
|
34
|
+
|
35
|
+
@Override
|
36
|
+
public void longValue(long v) throws IOException, SQLException
|
37
|
+
{
|
38
|
+
batch.setNString(Long.toString(v));
|
39
|
+
}
|
40
|
+
|
41
|
+
@Override
|
42
|
+
public void doubleValue(double v) throws IOException, SQLException
|
43
|
+
{
|
44
|
+
batch.setNString(Double.toString(v));
|
45
|
+
}
|
46
|
+
|
47
|
+
@Override
|
48
|
+
public void stringValue(String v) throws IOException, SQLException
|
49
|
+
{
|
50
|
+
batch.setNString(v);
|
51
|
+
}
|
52
|
+
|
53
|
+
@Override
|
54
|
+
public void timestampValue(Timestamp v) throws IOException, SQLException
|
55
|
+
{
|
56
|
+
batch.setNString(timestampFormatter.format(v));
|
57
|
+
}
|
58
|
+
}
|
@@ -1,53 +1,53 @@
|
|
1
|
-
package org.embulk.output.jdbc.setter;
|
2
|
-
|
3
|
-
import java.io.IOException;
|
4
|
-
import java.sql.SQLException;
|
5
|
-
import org.embulk.spi.time.Timestamp;
|
6
|
-
import org.embulk.output.jdbc.JdbcColumn;
|
7
|
-
import org.embulk.output.jdbc.BatchInsert;
|
8
|
-
|
9
|
-
public class NullColumnSetter
|
10
|
-
extends ColumnSetter
|
11
|
-
{
|
12
|
-
public NullColumnSetter(BatchInsert batch, JdbcColumn column,
|
13
|
-
DefaultValueSetter defaultValue)
|
14
|
-
{
|
15
|
-
super(batch, column, defaultValue);
|
16
|
-
}
|
17
|
-
|
18
|
-
@Override
|
19
|
-
public void booleanValue(boolean v) throws IOException, SQLException
|
20
|
-
{
|
21
|
-
defaultValue.setNull();
|
22
|
-
}
|
23
|
-
|
24
|
-
@Override
|
25
|
-
public void longValue(long v) throws IOException, SQLException
|
26
|
-
{
|
27
|
-
defaultValue.setNull();
|
28
|
-
}
|
29
|
-
|
30
|
-
@Override
|
31
|
-
public void doubleValue(double v) throws IOException, SQLException
|
32
|
-
{
|
33
|
-
defaultValue.setNull();
|
34
|
-
}
|
35
|
-
|
36
|
-
@Override
|
37
|
-
public void stringValue(String v) throws IOException, SQLException
|
38
|
-
{
|
39
|
-
defaultValue.setNull();
|
40
|
-
}
|
41
|
-
|
42
|
-
@Override
|
43
|
-
public void timestampValue(Timestamp v) throws IOException, SQLException
|
44
|
-
{
|
45
|
-
defaultValue.setNull();
|
46
|
-
}
|
47
|
-
|
48
|
-
@Override
|
49
|
-
public void nullValue() throws IOException, SQLException
|
50
|
-
{
|
51
|
-
defaultValue.setNull();
|
52
|
-
}
|
53
|
-
}
|
1
|
+
package org.embulk.output.jdbc.setter;
|
2
|
+
|
3
|
+
import java.io.IOException;
|
4
|
+
import java.sql.SQLException;
|
5
|
+
import org.embulk.spi.time.Timestamp;
|
6
|
+
import org.embulk.output.jdbc.JdbcColumn;
|
7
|
+
import org.embulk.output.jdbc.BatchInsert;
|
8
|
+
|
9
|
+
public class NullColumnSetter
|
10
|
+
extends ColumnSetter
|
11
|
+
{
|
12
|
+
public NullColumnSetter(BatchInsert batch, JdbcColumn column,
|
13
|
+
DefaultValueSetter defaultValue)
|
14
|
+
{
|
15
|
+
super(batch, column, defaultValue);
|
16
|
+
}
|
17
|
+
|
18
|
+
@Override
|
19
|
+
public void booleanValue(boolean v) throws IOException, SQLException
|
20
|
+
{
|
21
|
+
defaultValue.setNull();
|
22
|
+
}
|
23
|
+
|
24
|
+
@Override
|
25
|
+
public void longValue(long v) throws IOException, SQLException
|
26
|
+
{
|
27
|
+
defaultValue.setNull();
|
28
|
+
}
|
29
|
+
|
30
|
+
@Override
|
31
|
+
public void doubleValue(double v) throws IOException, SQLException
|
32
|
+
{
|
33
|
+
defaultValue.setNull();
|
34
|
+
}
|
35
|
+
|
36
|
+
@Override
|
37
|
+
public void stringValue(String v) throws IOException, SQLException
|
38
|
+
{
|
39
|
+
defaultValue.setNull();
|
40
|
+
}
|
41
|
+
|
42
|
+
@Override
|
43
|
+
public void timestampValue(Timestamp v) throws IOException, SQLException
|
44
|
+
{
|
45
|
+
defaultValue.setNull();
|
46
|
+
}
|
47
|
+
|
48
|
+
@Override
|
49
|
+
public void nullValue() throws IOException, SQLException
|
50
|
+
{
|
51
|
+
defaultValue.setNull();
|
52
|
+
}
|
53
|
+
}
|