nosqoop4u 0.0.1-java → 0.1.0-java

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/CHANGELOG +4 -0
  2. data/bin/nosqoop4u.rb +13 -4
  3. metadata +3 -3
data/CHANGELOG CHANGED
@@ -1,2 +1,6 @@
1
+ * 2011-07-15 - fsf
2
+ - new: added --driver option to manually specify jdbc class to load
3
+ - new: added auto db2 driver load for jdbc:db2: URIs
4
+
1
5
  * 2011-07-02 - fsf
2
6
  - initial import
data/bin/nosqoop4u.rb CHANGED
@@ -13,6 +13,7 @@ usage: nosqoop4u options
13
13
  -p, --pass # db password (env NS4U_PASS)
14
14
  -e, --query # sql query to run
15
15
  -F, --delim # delimiter (default: ^A)
16
+ -d, --driver # JDBC driver class to load
16
17
  -h, --help
17
18
  EOF
18
19
  end
@@ -24,6 +25,7 @@ class NoSqoop
24
25
  @db_url = cfg[:db_url] || ENV['NS4U_URL']
25
26
  @db_host = cfg[:db_host] || ENV['NS4U_HOST']
26
27
  @db_name = cfg[:db_name] || ENV['NS4U_DB']
28
+ @driver = cfg[:driver] || ENV['NS4U_DRIVER']
27
29
 
28
30
  load_driver
29
31
  connect
@@ -48,19 +50,23 @@ class NoSqoop
48
50
  end
49
51
 
50
52
  def load_driver
53
+ eval @driver if @driver
54
+
51
55
  case @db_url
52
56
  when /jdbc:mysql:/
53
- Java::com.mysql.jdbc.Driver
57
+ com.mysql.jdbc.Driver
54
58
  # handle 0000-00-00 timestamps without an exception, lulz
55
59
  #@db_url << '?zeroDateTimeBehavior=round' if @db_url !~
56
60
  @db_url << '?zeroDateTimeBehavior=convertToNull' if @db_url !~
57
61
  /zeroDateTimeBehavior/
58
62
  when /jdbc:oracle:/
59
- Java::oracle.jdbc.OracleDriver
63
+ oracle.jdbc.OracleDriver
60
64
  when /jdbc:postgresql:/
61
- Java::org.postgresql.Driver
65
+ org.postgresql.Driver
66
+ when /jdbc:db2:/
67
+ com.ibm.db2.jcc.DB2Driver
62
68
  else
63
- raise "error: unknown database type"
69
+ raise "error: unknown database type" if not @driver
64
70
  end
65
71
  end
66
72
 
@@ -179,6 +185,7 @@ gopts = GetoptLong.new(
179
185
  [ '--pass', '-p', GetoptLong::REQUIRED_ARGUMENT ],
180
186
  [ '--query', '-e', GetoptLong::REQUIRED_ARGUMENT ],
181
187
  [ '--delim', '-F', GetoptLong::REQUIRED_ARGUMENT ],
188
+ [ '--driver', '-d', GetoptLong::REQUIRED_ARGUMENT ],
182
189
  [ '--help', '-h', GetoptLong::NO_ARGUMENT ]
183
190
  )
184
191
 
@@ -194,6 +201,8 @@ gopts.each do |opt, arg|
194
201
  opts[:db_pass] = arg
195
202
  when '--delim'
196
203
  opts[:delim] = arg
204
+ when '--driver'
205
+ opts[:driver] = arg
197
206
  when '--query'
198
207
  sql = arg
199
208
  when '--help'
metadata CHANGED
@@ -4,9 +4,9 @@ version: !ruby/object:Gem::Version
4
4
  prerelease: false
5
5
  segments:
6
6
  - 0
7
- - 0
8
7
  - 1
9
- version: 0.0.1
8
+ - 0
9
+ version: 0.1.0
10
10
  platform: java
11
11
  authors:
12
12
  - Frank Fejes
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2011-07-02 00:00:00 -05:00
17
+ date: 2011-07-15 00:00:00 -05:00
18
18
  default_executable:
19
19
  dependencies: []
20
20