jruby_hive 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/jruby_hive.gemspec +1 -1
  3. data/lib/jruby_hive.rb +31 -10
  4. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6e6054c6faf5462d63e5b9f20f93440b0f786039
4
- data.tar.gz: 2fec05149e6eb01d969d7254ad3ab27a0637819d
3
+ metadata.gz: 9f82466466b7be12a54b7847f84a1d3c442387f4
4
+ data.tar.gz: 5f8481d21b8d416f19a29a186eef7e6d511470b8
5
5
  SHA512:
6
- metadata.gz: 16dc4ca2f8271bafe1d94629505575fba3451d2060f5446521dacc7b8e78ca4b01da3ad42e7e81bf2af124f810b84988f83fa19464676a32be2afef670b206de
7
- data.tar.gz: fc8dcafab592d79b0003fd12d1d35efe5d3326c822593e4922b3bc7eef1e19940703f4f733ec393c3c719c5b7944560409afc5d7a6e3cad985990cf4eb24ce0c
6
+ metadata.gz: 2b7a5837bcbc0a10b8b2be9a7a64607260e7d2c10411257f628149f51e13232d5cb4c0f70ce3d3d9570e952db334fcfc9fa53c2e99e85aac77ad2f2b2d34bf9d
7
+ data.tar.gz: 726d81dc574a83d7a4f60caeb1c1a16f5931976b08cc32d33fef64eb3982aef92030063574d7935c99bb9fd5092ba303ded413d829d371327774fb976fa88357
data/jruby_hive.gemspec CHANGED
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = "jruby_hive"
7
- spec.version = "0.0.2"
7
+ spec.version = "0.0.3"
8
8
  spec.authors = ["Shinji Ikeda"]
9
9
  spec.email = ["gm.ikeda@gmail.com"]
10
10
  spec.summary = %q{jruby hive api}
data/lib/jruby_hive.rb CHANGED
@@ -36,24 +36,45 @@ class Hive
36
36
 
37
37
  end
38
38
 
39
- def initialize
39
+ def initialize(db="default")
40
+ @db = db
40
41
  @hconf = HiveConf.new
41
42
 
42
43
  @driver = Driver.new(@hconf)
43
44
  SessionState.start(CliSessionState.new(@hconf))
45
+ @driver.run(db)
44
46
  end
45
47
 
46
- def run(cmd)
48
+ def use(db)
49
+ @db = db
50
+ @driver.run(@db)
51
+ end
52
+
53
+ def run(cmd, max_rows=10000)
47
54
  r = @driver.run(cmd)
48
- if r.getResponseCode != 0
49
- raise HiveError, "hive error: " << r.getErrorMessage
50
- end
51
-
52
- list = ArrayList.new
53
- if @driver.getResults(list)
54
- return list.to_ary
55
+ begin
56
+ if r.getResponseCode != 0
57
+ raise HiveError, "hive error: " << r.getErrorMessage
58
+ end
59
+ if block_given?
60
+ list = ArrayList.new
61
+ while @driver.getResults(list)
62
+ list.each do | n |
63
+ yield n
64
+ end
65
+ list.clear
66
+ end
67
+ else
68
+ @driver.setMaxRows(max_rows)
69
+ list = ArrayList.new
70
+ if @driver.getResults(list)
71
+ return list.to_ary
72
+ end
73
+ return nil
74
+ end
75
+ ensure
76
+ @driver.destroy
55
77
  end
56
- return nil
57
78
  end
58
79
 
59
80
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jruby_hive
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shinji Ikeda