embulk-input-jdbc 0.6.0 → 0.6.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a21cec9ce3a1a38d3328338e06044dfd492f47f7
4
- data.tar.gz: 1e306f57cda5959b21bfd6ccfa71415181297259
3
+ metadata.gz: 7174c1ad10ec5dd300afc371676a7cad51359a68
4
+ data.tar.gz: 7fab375bd50f0ef627743bb657d57bcd0501ca49
5
5
  SHA512:
6
- metadata.gz: d07d396a4ae59a862b2bb53f94d1246d5c3b98306465b2f2e0ee0778a4517697fca874dd381c115e77f03d91db7fd1ce47978d600ace53136fea9ffadccdf60b
7
- data.tar.gz: a09e9719778a2ec55f3506cb56a345288ab944194623b9a7dd5f116748c33dc90c75f0e9219f53442bcdd629e160b66dd170f16e701bc07f6164ef75c7bea7ef
6
+ metadata.gz: 71b7cc73f16de4b2a2ca79a612d3a26b0b2c7d077a2d9ca87f0fbcea500ab069a367cd93480b7c436afd8098514139d9085f13e9849d8024caebde1eb9147524
7
+ data.tar.gz: cffdf1296b5955170b2f4dbba778bf1065b5e72f2067d94f40e5e0a4e84e3a34413549f5a165de2c19f97c55c0ca401610d460fdd4a5e98d77c0df8b2c2520c4
@@ -13,7 +13,6 @@ import com.google.common.base.Supplier;
13
13
  import com.google.common.base.Throwables;
14
14
  import com.google.common.collect.ImmutableList;
15
15
 
16
- import org.embulk.config.CommitReport;
17
16
  import org.embulk.config.Config;
18
17
  import org.embulk.config.ConfigException;
19
18
  import org.embulk.config.ConfigDefault;
@@ -21,6 +20,7 @@ import org.embulk.config.ConfigDiff;
21
20
  import org.embulk.config.ConfigInject;
22
21
  import org.embulk.config.ConfigSource;
23
22
  import org.embulk.config.Task;
23
+ import org.embulk.config.TaskReport;
24
24
  import org.embulk.config.TaskSource;
25
25
  import org.embulk.plugin.PluginClassLoader;
26
26
  import org.embulk.spi.BufferAllocator;
@@ -97,6 +97,14 @@ public abstract class AbstractJdbcInputPlugin
97
97
  //@ConfigDefault("null")
98
98
  //public Optional<Integer> getLimitRows();
99
99
 
100
+ @Config("connect_timeout")
101
+ @ConfigDefault("300")
102
+ public int getConnectTimeout();
103
+
104
+ @Config("socket_timeout")
105
+ @ConfigDefault("1800")
106
+ public int getSocketTimeout();
107
+
100
108
  @Config("fetch_rows")
101
109
  @ConfigDefault("10000")
102
110
  // TODO set minimum number
@@ -203,7 +211,7 @@ public abstract class AbstractJdbcInputPlugin
203
211
  return Exec.newConfigDiff();
204
212
  }
205
213
 
206
- protected ConfigDiff buildNextConfigDiff(PluginTask task, List<CommitReport> reports)
214
+ protected ConfigDiff buildNextConfigDiff(PluginTask task, List<TaskReport> reports)
207
215
  {
208
216
  ConfigDiff next = Exec.newConfigDiff();
209
217
  // TODO
@@ -218,13 +226,13 @@ public abstract class AbstractJdbcInputPlugin
218
226
  @Override
219
227
  public void cleanup(TaskSource taskSource,
220
228
  Schema schema, int taskCount,
221
- List<CommitReport> successCommitReports)
229
+ List<TaskReport> successTaskReports)
222
230
  {
223
231
  // do nothing
224
232
  }
225
233
 
226
234
  @Override
227
- public CommitReport run(TaskSource taskSource,
235
+ public TaskReport run(TaskSource taskSource,
228
236
  Schema schema, int taskIndex,
229
237
  PageOutput output)
230
238
  {
@@ -238,7 +246,7 @@ public abstract class AbstractJdbcInputPlugin
238
246
  List<ColumnGetter> getters = newColumnGetters(task, querySchema, pageBuilder);
239
247
 
240
248
  try (JdbcInputConnection con = newConnection(task)) {
241
- try (BatchSelect cursor = con.newSelectCursor(getQuery(task, con), task.getFetchRows())) {
249
+ try (BatchSelect cursor = con.newSelectCursor(getQuery(task, con), task.getFetchRows(), task.getSocketTimeout())) {
242
250
  while (true) {
243
251
  // TODO run fetch() in another thread asynchronously
244
252
  // TODO retry fetch() if it failed (maybe order_by is required and unique_column(s) option is also required)
@@ -255,7 +263,7 @@ public abstract class AbstractJdbcInputPlugin
255
263
  }
256
264
  pageBuilder.finish();
257
265
 
258
- CommitReport report = Exec.newCommitReport();
266
+ TaskReport report = Exec.newTaskReport();
259
267
  // TODO
260
268
  //if (orderByColumn != null) {
261
269
  // report.set("last_value", lastValue);
@@ -2,7 +2,6 @@ package org.embulk.input.jdbc;
2
2
 
3
3
  import com.fasterxml.jackson.annotation.JsonCreator;
4
4
  import com.fasterxml.jackson.annotation.JsonProperty;
5
- import com.fasterxml.jackson.annotation.JsonIgnore;
6
5
 
7
6
  public class JdbcColumn
8
7
  {
@@ -66,16 +66,17 @@ public class JdbcInputConnection
66
66
  return new JdbcSchema(columns.build());
67
67
  }
68
68
 
69
- public BatchSelect newSelectCursor(String query, int fetchRows) throws SQLException
69
+ public BatchSelect newSelectCursor(String query, int fetchRows, int queryTimeout) throws SQLException
70
70
  {
71
- return newBatchSelect(query, fetchRows);
71
+ return newBatchSelect(query, fetchRows, queryTimeout);
72
72
  }
73
73
 
74
- protected BatchSelect newBatchSelect(String query, int fetchRows) throws SQLException
74
+ protected BatchSelect newBatchSelect(String query, int fetchRows, int queryTimeout) throws SQLException
75
75
  {
76
76
  logger.info("SQL: " + query);
77
77
  PreparedStatement stmt = connection.prepareStatement(query);
78
78
  stmt.setFetchSize(fetchRows);
79
+ stmt.setQueryTimeout(queryTimeout);
79
80
  return new SingleSelect(stmt);
80
81
  }
81
82
 
@@ -6,7 +6,6 @@ import java.util.Properties;
6
6
  import com.google.common.base.Function;
7
7
  import com.google.common.collect.Maps;
8
8
  import com.fasterxml.jackson.annotation.JsonCreator;
9
- import com.fasterxml.jackson.annotation.JsonValue;
10
9
 
11
10
  // TODO copied from embulk-output-jdbc. Move this class to embulk-core spi.unit.
12
11
  public class ToStringMap
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: embulk-input-jdbc
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.6.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sadayuki Furuhashi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-07-07 00:00:00.000000000 Z
11
+ date: 2015-12-08 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Selects records from a table.
14
14
  email:
@@ -40,7 +40,7 @@ files:
40
40
  - src/main/java/org/embulk/input/jdbc/getter/StringColumnGetter.java
41
41
  - src/main/java/org/embulk/input/jdbc/getter/TimeColumnGetter.java
42
42
  - src/main/java/org/embulk/input/jdbc/getter/TimestampColumnGetter.java
43
- - classpath/embulk-input-jdbc-0.6.0.jar
43
+ - classpath/embulk-input-jdbc-0.6.1.jar
44
44
  homepage: https://github.com/embulk/embulk-input-jdbc
45
45
  licenses:
46
46
  - Apache 2.0