rbhive 0.2.91 → 0.2.92

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. data/lib/rbhive/schema_definition.rb +8 -1
  2. metadata +5 -5
@@ -63,7 +63,7 @@ module RBHive
63
63
 
64
64
  def coerce_column(column_name, value)
65
65
  type = column_type_map[column_name]
66
- return JSON.parse(value) if type.to_s =~ /^array/
66
+ return coerce_complex_value(value) if type.to_s =~ /^array/
67
67
  conversion_method = TYPES[type]
68
68
  conversion_method ? value.send(conversion_method) : value
69
69
  end
@@ -71,5 +71,12 @@ module RBHive
71
71
  def coerce_row_to_array(row)
72
72
  column_names.map { |n| row[n] }
73
73
  end
74
+
75
+ def coerce_complex_value(value)
76
+ return nil if value.nil?
77
+ return nil if value.length == 0
78
+ return nil if value == 'null'
79
+ JSON.parse(value)
80
+ end
74
81
  end
75
82
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rbhive
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.91
4
+ version: 0.2.92
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2010-12-07 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: thrift
16
- requirement: &70134082185400 !ruby/object:Gem::Requirement
16
+ requirement: &70222264187360 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 0.4.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70134082185400
24
+ version_requirements: *70222264187360
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: json
27
- requirement: &70134082185000 !ruby/object:Gem::Requirement
27
+ requirement: &70222264186960 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,7 +32,7 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70134082185000
35
+ version_requirements: *70222264186960
36
36
  description: Simple lib for executing Hive queries
37
37
  email: andy@forward.co.uk
38
38
  executables: []