embulk-input-postgresql 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 +4 -4
- data/README.md +3 -0
- data/build.gradle +1 -1
- data/classpath/{embulk-input-jdbc-0.6.0.jar → embulk-input-jdbc-0.6.1.jar} +0 -0
- data/classpath/embulk-input-postgresql-0.6.1.jar +0 -0
- data/classpath/postgresql-9.4-1205-jdbc41.jar +0 -0
- data/src/main/java/org/embulk/input/PostgreSQLInputPlugin.java +13 -13
- data/src/main/java/org/embulk/input/postgresql/PostgreSQLInputConnection.java +2 -1
- metadata +5 -9
- data/classpath/embulk-input-postgresql-0.6.0.jar +0 -0
- data/classpath/jna-4.1.0.jar +0 -0
- data/classpath/jna-platform-4.1.0.jar +0 -0
- data/classpath/postgresql-9.4-1200-jdbc41.jar +0 -0
- data/classpath/slf4j-simple-1.7.7.jar +0 -0
- data/classpath/waffle-jna-1.7.jar +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7fb030ef14fd1af1463a2b3b3cdd83bf512c1c7d
|
4
|
+
data.tar.gz: 37457bed77da7e3af7186587e940186bbb2e56e7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 240f99990ea0af0d82f7ef2299643d4cafe32a47fbdf3cacc88e3b1f6d2476d74a8042a4a78b88c3b6bb33a45ceb7a397dd1a6eb1d0284454bd55476f4fcd731
|
7
|
+
data.tar.gz: 630d0aa5ad64dbb9954cee5cd52567d2451be1d02a2665fd7d24264098d5fc47b38deb6f691513b5ab077be44e487996a6eef29aecd5d98bdb31d990cf6a4483
|
data/README.md
CHANGED
@@ -16,6 +16,9 @@ PostgreSQL input plugins for Embulk loads records from PostgreSQL.
|
|
16
16
|
- **database**: destination database name (string, required)
|
17
17
|
- **schema**: destination schema name (string, default: "public")
|
18
18
|
- **fetch_rows**: number of rows to fetch one time (used for java.sql.Statement#setFetchSize) (integer, default: 10000)
|
19
|
+
- **connect_timeout**: timeout for establishment of a database connection. (integer (seconds), default: 300)
|
20
|
+
- **socket_timeout**: timeout for socket read operations. 0 means no timeout. (integer (seconds), default: 1800)
|
21
|
+
- **ssl**: enables SSL. data will be encrypted but CA or certification will not be verified (boolean, default: false)
|
19
22
|
- **options**: extra JDBC properties (hash, default: {})
|
20
23
|
- If you write SQL directly,
|
21
24
|
- **query**: SQL to run (string)
|
data/build.gradle
CHANGED
Binary file
|
Binary file
|
Binary file
|
@@ -4,7 +4,6 @@ import java.util.Properties;
|
|
4
4
|
import java.sql.Connection;
|
5
5
|
import java.sql.Driver;
|
6
6
|
import java.sql.SQLException;
|
7
|
-
import com.google.common.base.Throwables;
|
8
7
|
import org.embulk.config.Config;
|
9
8
|
import org.embulk.config.ConfigDefault;
|
10
9
|
import org.embulk.input.jdbc.AbstractJdbcInputPlugin;
|
@@ -38,6 +37,10 @@ public class PostgreSQLInputPlugin
|
|
38
37
|
@Config("schema")
|
39
38
|
@ConfigDefault("\"public\"")
|
40
39
|
public String getSchema();
|
40
|
+
|
41
|
+
@Config("ssl")
|
42
|
+
@ConfigDefault("false")
|
43
|
+
public boolean getSsl();
|
41
44
|
}
|
42
45
|
|
43
46
|
@Override
|
@@ -57,23 +60,20 @@ public class PostgreSQLInputPlugin
|
|
57
60
|
Properties props = new Properties();
|
58
61
|
props.setProperty("user", t.getUser());
|
59
62
|
props.setProperty("password", t.getPassword());
|
60
|
-
props.setProperty("loginTimeout",
|
61
|
-
props.setProperty("socketTimeout",
|
63
|
+
props.setProperty("loginTimeout", String.valueOf(t.getConnectTimeout())); // seconds
|
64
|
+
props.setProperty("socketTimeout", String.valueOf(t.getSocketTimeout())); // seconds
|
62
65
|
|
63
66
|
// Enable keepalive based on tcp_keepalive_time, tcp_keepalive_intvl and tcp_keepalive_probes kernel parameters.
|
64
67
|
// Socket options TCP_KEEPCNT, TCP_KEEPIDLE, and TCP_KEEPINTVL are not configurable.
|
65
68
|
props.setProperty("tcpKeepAlive", "true");
|
66
69
|
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
//
|
74
|
-
// props.setProperty("ssl", "true");
|
75
|
-
// break;
|
76
|
-
//}
|
70
|
+
if (t.getSsl()) {
|
71
|
+
// TODO add ssl_verify (boolean) option to allow users to verify certification.
|
72
|
+
// see embulk-input-ftp for SSL implementation.
|
73
|
+
props.setProperty("ssl", "true");
|
74
|
+
props.setProperty("sslfactory", "org.postgresql.ssl.NonValidatingFactory"); // disable server-side validation
|
75
|
+
}
|
76
|
+
// setting ssl=false enables SSL. See org.postgresql.core.v3.openConnectionImpl.
|
77
77
|
|
78
78
|
props.putAll(t.getOptions());
|
79
79
|
|
@@ -20,11 +20,12 @@ public class PostgreSQLInputConnection
|
|
20
20
|
}
|
21
21
|
|
22
22
|
@Override
|
23
|
-
protected CursorSelect newBatchSelect(String select, int fetchRows) throws SQLException
|
23
|
+
protected CursorSelect newBatchSelect(String select, int fetchRows, int queryTimeout) throws SQLException
|
24
24
|
{
|
25
25
|
executeUpdate("DECLARE cur NO SCROLL CURSOR FOR "+select);
|
26
26
|
|
27
27
|
String fetchSql = "FETCH FORWARD "+fetchRows+" FROM cur";
|
28
|
+
// Because socketTimeout is set in Connection, don't need to set quertyTimeout.
|
28
29
|
return new CursorSelect(fetchSql, connection.prepareStatement(fetchSql));
|
29
30
|
}
|
30
31
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: embulk-input-postgresql
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
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-
|
11
|
+
date: 2015-12-08 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Selects records from a table.
|
14
14
|
email:
|
@@ -22,13 +22,9 @@ files:
|
|
22
22
|
- lib/embulk/input/postgresql.rb
|
23
23
|
- src/main/java/org/embulk/input/PostgreSQLInputPlugin.java
|
24
24
|
- src/main/java/org/embulk/input/postgresql/PostgreSQLInputConnection.java
|
25
|
-
- classpath/embulk-input-jdbc-0.6.
|
26
|
-
- classpath/embulk-input-postgresql-0.6.
|
27
|
-
- classpath/
|
28
|
-
- classpath/jna-platform-4.1.0.jar
|
29
|
-
- classpath/postgresql-9.4-1200-jdbc41.jar
|
30
|
-
- classpath/slf4j-simple-1.7.7.jar
|
31
|
-
- classpath/waffle-jna-1.7.jar
|
25
|
+
- classpath/embulk-input-jdbc-0.6.1.jar
|
26
|
+
- classpath/embulk-input-postgresql-0.6.1.jar
|
27
|
+
- classpath/postgresql-9.4-1205-jdbc41.jar
|
32
28
|
homepage: https://github.com/embulk/embulk-input-jdbc
|
33
29
|
licenses:
|
34
30
|
- Apache 2.0
|
Binary file
|
data/classpath/jna-4.1.0.jar
DELETED
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|