nosqoop4u 0.0.1-java → 0.1.0-java

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.
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