embulk-output-td 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5610036db652164098fcc3f828b8fb3f95542329
4
- data.tar.gz: a297a28131574b748d20c49097774b6bdb607552
3
+ metadata.gz: 666d33ca9f399f704557254a12fe57a64cea15e1
4
+ data.tar.gz: 39f9653363277e171d68efea0c522f8f1df7b823
5
5
  SHA512:
6
- metadata.gz: 18bd27aedf3f1585c2c1fbbdc881f2e50157bfe61eb5d820363dd7896dc9c63f2c7fc2abae1ff1ef57c3b338b4672ee86bb1b57c097f073f0a1489a67800b3c4
7
- data.tar.gz: 2d25527c5fb487970c90386c343c3dab2e4a0ad630698c9c772af247949f5affc5cae09d7edcd6ecdd43e21dc92d5c7a99055c4e9d5fc42d86b5643808867c0b
6
+ metadata.gz: 2f369e3e6b25df31d0275f17006a5670eab7b73ed495a4dd2240253d13b58bed2481cfe1f3d03e2926bf1c18aefc6477b39320f120cadc1c484239fa85563892
7
+ data.tar.gz: d426f8baff389eaa8fb81e1f1b9692d7587a45bb0d39bfe8dbf05e21c827d71b3800d075d1ec4a11bb224c94858ed49d9d3b8e6f2a2ca3d9d04a4314cb6da539
data/CHANGELOG.md CHANGED
@@ -1,4 +1,8 @@
1
- ## 0.1.4 - 2015-XX-XX
1
+ ## 0.1.4 - 2015-08-17
2
+
3
+ * [maintenance] Upgrade Embulk v0.6.25
4
+ * [fixed] Change a field writer for 'time' column [#13](https://github.com/treasure-data/embulk-output-td/pull/13)
5
+
2
6
 
3
7
  ## 0.1.3 - 2015-08-05
4
8
 
data/build.gradle CHANGED
@@ -13,22 +13,23 @@ configurations {
13
13
  provided
14
14
  }
15
15
 
16
- version = "0.1.3"
16
+ version = "0.1.4"
17
17
 
18
18
  compileJava.options.encoding = 'UTF-8' // source encoding
19
19
  sourceCompatibility = 1.7
20
20
  targetCompatibility = 1.7
21
21
 
22
22
  dependencies {
23
- compile "org.embulk:embulk-core:0.6.19"
24
- provided "org.embulk:embulk-core:0.6.19"
25
- compile "org.embulk:embulk-standards:0.6.19"
26
- provided "org.embulk:embulk-standards:0.6.19"
23
+ compile "org.embulk:embulk-core:0.6.25"
24
+ provided "org.embulk:embulk-core:0.6.25"
25
+ compile "org.embulk:embulk-standards:0.6.25"
26
+ provided "org.embulk:embulk-standards:0.6.25"
27
27
  compile "org.eclipse.jetty:jetty-client:9.2.2.v20140723"
28
28
  compile "org.msgpack:msgpack:0.6.11"
29
29
 
30
30
  testCompile "junit:junit:4.+"
31
31
  testCompile "org.bigtesting:fixd:1.0.0"
32
+ testCompile "org.embulk:embulk-core:0.6.25:tests"
32
33
  }
33
34
 
34
35
  task classpath(type: Copy, dependsOn: ["jar"]) {
@@ -1,7 +1,7 @@
1
1
 
2
2
  Gem::Specification.new do |spec|
3
3
  spec.name = "embulk-output-td"
4
- spec.version = "0.1.3"
4
+ spec.version = "0.1.4"
5
5
  spec.authors = ["Muga Nishizawa"]
6
6
  spec.summary = %[TreasureData output plugin for Embulk]
7
7
  spec.description = %[TreasureData output plugin is an Embulk plugin that loads records to TreasureData read by any input plugins. Search the input plugins by 'embulk-output' keyword.]
@@ -317,7 +317,8 @@ public class RecordWriter
317
317
  writer = new UnixTimestampLongFieldWriter(columnName, task.getUnixTimestampUnit().getFractionUnit());
318
318
  hasPkWriter = true;
319
319
  } else if (columnType instanceof TimestampType) {
320
- writer = new TimestampStringFieldWriter(timestampFormatters[i], columnName);
320
+ writer = new TimestampLongFieldWriter(columnName);
321
+
321
322
  hasPkWriter = true;
322
323
  } else {
323
324
  throw new ConfigException(String.format("Type of '%s' column must be long or timestamp but got %s",
@@ -0,0 +1,105 @@
1
+ package org.embulk.output.td;
2
+
3
+ import com.google.common.collect.ImmutableList;
4
+ import org.embulk.EmbulkTestRuntime;
5
+ import org.embulk.config.ConfigLoader;
6
+ import org.embulk.config.ConfigSource;
7
+ import org.embulk.output.td.RecordWriter.FieldWriterSet;
8
+ import org.embulk.spi.Column;
9
+ import org.embulk.spi.ColumnConfig;
10
+ import org.embulk.spi.Exec;
11
+ import org.embulk.spi.Schema;
12
+ import org.embulk.spi.SchemaConfig;
13
+ import org.embulk.spi.type.Type;
14
+ import org.embulk.spi.type.Types;
15
+ import org.junit.Before;
16
+ import org.junit.Rule;
17
+ import org.junit.Test;
18
+ import org.slf4j.Logger;
19
+
20
+ import static org.junit.Assert.assertEquals;
21
+ import static org.junit.Assert.assertTrue;
22
+
23
+ public class TestFieldWriter
24
+ {
25
+ @Rule
26
+ public EmbulkTestRuntime runtime = new EmbulkTestRuntime();
27
+
28
+ private Logger log;
29
+
30
+ @Before
31
+ public void createLogger()
32
+ {
33
+ log = Exec.getLogger(TestFieldWriter.class);
34
+ }
35
+
36
+ private ConfigSource config()
37
+ {
38
+ return new ConfigLoader(runtime.getModelManager()).newConfigSource();
39
+ }
40
+
41
+ private Schema schema(Column... columns)
42
+ {
43
+ ImmutableList.Builder<Column> builder = new ImmutableList.Builder<Column>();
44
+ for (Column col : columns) {
45
+ builder.add(col);
46
+ }
47
+ return new Schema(builder.build());
48
+ }
49
+
50
+ private Column column(int index, String name, Type type)
51
+ {
52
+ return new Column(index, name, type);
53
+ }
54
+
55
+ private TdOutputPlugin.PluginTask task(ConfigSource outConfig)
56
+ {
57
+ return outConfig.loadConfig(TdOutputPlugin.PluginTask.class);
58
+ }
59
+
60
+ @Test
61
+ public void test()
62
+ {
63
+ { // time column exists
64
+ // out: config
65
+ ConfigSource outConfig = config()
66
+ .set("apikey", "xxx")
67
+ .set("database", "mydb")
68
+ .set("table", "mytbl");
69
+
70
+ // schema
71
+ Schema schema = schema(
72
+ column(0, "time", Types.TIMESTAMP),
73
+ column(1, "c1", Types.TIMESTAMP));
74
+
75
+ // create field writers
76
+ FieldWriterSet writers = new FieldWriterSet(log, task(outConfig), schema);
77
+
78
+ assertEquals(schema.getColumnCount(), writers.getFieldCount());
79
+ assertTrue(writers.getFieldWriter(0) instanceof RecordWriter.TimestampLongFieldWriter);
80
+ assertTrue(writers.getFieldWriter(1) instanceof RecordWriter.TimestampStringFieldWriter);
81
+ }
82
+
83
+ { // time column doesn't exists. users need to specify another column as time column
84
+ // out: config
85
+ ConfigSource outConfig = config()
86
+ .set("apikey", "xxx")
87
+ .set("database", "mydb")
88
+ .set("table", "mytbl")
89
+ .set("time_column", "c1");
90
+ TdOutputPlugin.PluginTask task = outConfig.loadConfig(TdOutputPlugin.PluginTask.class);
91
+
92
+ // schema
93
+ Schema schema = schema(
94
+ column(0, "c0", Types.TIMESTAMP),
95
+ column(1, "c1", Types.TIMESTAMP));
96
+
97
+ // create field writers
98
+ FieldWriterSet writers = new FieldWriterSet(log, task(outConfig), schema);
99
+
100
+ assertEquals(schema.getColumnCount() + 1, writers.getFieldCount());
101
+ assertTrue(writers.getFieldWriter(0) instanceof RecordWriter.TimestampStringFieldWriter);
102
+ assertTrue(writers.getFieldWriter(1) instanceof RecordWriter.TimestampFieldLongDuplicator);
103
+ }
104
+ }
105
+ }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: embulk-output-td
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Muga Nishizawa
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-08-05 00:00:00.000000000 Z
11
+ date: 2015-08-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -85,8 +85,9 @@ files:
85
85
  - src/main/java/org/embulk/output/td/RecordWriter.java
86
86
  - src/main/java/org/embulk/output/td/TdOutputPlugin.java
87
87
  - src/test/java/com/treasuredata/api/TestTdApiClient.java
88
+ - src/test/java/org/embulk/output/td/TestFieldWriter.java
88
89
  - src/test/java/org/embulk/output/td/TestTdOutputPlugin.java
89
- - classpath/embulk-output-td-0.1.3.jar
90
+ - classpath/embulk-output-td-0.1.4.jar
90
91
  - classpath/javassist-3.18.1-GA.jar
91
92
  - classpath/jetty-client-9.2.2.v20140723.jar
92
93
  - classpath/jetty-http-9.2.2.v20140723.jar