jruby_hive 0.0.2 → 0.0.3

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