quill-sql 0.1.7 → 0.1.8

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. checksums.yaml +4 -4
  2. data/lib/db/databricks.rb +24 -21
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b3d503d9223878a246289559453c27d45e4393620f9b548433ea5c072fc4c396
4
- data.tar.gz: 1820f9f817ab7a29c947555a564e6981b283486cb0cdd0f65396cd01aaaecffd
3
+ metadata.gz: 5b91688c1cc7cc762aabc68cf5a68306f0fca7b45fcdd8adfef93e845f2c1d1d
4
+ data.tar.gz: f69676f9e1f4f1046ddef72ae2a68c476f8dc2c28ad3cd856d05e68a4c72c768
5
5
  SHA512:
6
- metadata.gz: b25af374393d2d9f6bc083f7cb426f631802df7582c0e4bc540c574e54123884e723030ca879dc9c937da21e40e6047be35c9ee59c001ee9bce78339db353ed9
7
- data.tar.gz: 7a3251a382f48867d20e7600a4d00f69b95963a435328a4ae3348505ceeb1fe9671834b2715e0f3545f53cee507bad086d87f1acf75150dde218a9005d758d80
6
+ metadata.gz: 9541d51c08c50c7f03dc34358aba4b48635a2a6f2acdbcda78e6fbcdbdd85bb9bd02db4045398db13445266101576128fb7d121ffafdc5ddc718ab0d49f830df
7
+ data.tar.gz: 27006da9ca08d16c6ee34fb1c6fa1449b5e448ad140ed7b393c1b3f67c72a472711ec57e58e3eb227cc28ace871744b5f2d339a4cfdc1de4e6fd3f2ca37f6ddc
data/lib/db/databricks.rb CHANGED
@@ -73,7 +73,6 @@ module DatabricksHelper
73
73
 
74
74
  json_like_types = ['ARRAY', 'MAP', 'STRUCT', 'JSON']
75
75
 
76
-
77
76
  fields = columns.map do |column|
78
77
  {
79
78
  name: column['name'],
@@ -81,30 +80,34 @@ module DatabricksHelper
81
80
  }
82
81
  end
83
82
 
84
- # Transform the data array into rows of hashes
85
- rows = result['result']['data_array'].map do |row_array|
86
- row_hash = column_names.zip(row_array).to_h
87
- transformed_row = {}
88
-
89
- column_names.each_with_index do |key, idx|
90
- value = row_hash[key]
91
- type = column_types[idx]
92
- # parse JSON if the field is a JSON type
93
- transformed_value = if value.is_a?(String) && json_like_types.include?(type.upcase)
94
- begin
95
- parsed = JSON.parse(value)
96
- parsed.is_a?(Array) ? parsed.map(&:to_s) : parsed
97
- rescue JSON::ParserError
83
+ # Handle empty results
84
+ rows = if result['result'].nil? || result['result']['data_array'].nil?
85
+ []
86
+ else
87
+ # Transform the data array into rows of hashes
88
+ result['result']['data_array'].map do |row_array|
89
+ row_hash = column_names.zip(row_array).to_h
90
+ transformed_row = {}
91
+
92
+ column_names.each_with_index do |key, idx|
93
+ value = row_hash[key]
94
+ type = column_types[idx]
95
+ # parse JSON if the field is a JSON type
96
+ transformed_value = if value.is_a?(String) && json_like_types.include?(type.upcase)
97
+ begin
98
+ parsed = JSON.parse(value)
99
+ parsed.is_a?(Array) ? parsed.map(&:to_s) : parsed
100
+ rescue JSON::ParserError
101
+ value
102
+ end
103
+ else
98
104
  value
99
105
  end
100
- else
101
- value
106
+ transformed_row[key] = transformed_value
102
107
  end
103
-
104
- transformed_row[key] = transformed_value
108
+
109
+ transformed_row
105
110
  end
106
-
107
- transformed_row
108
111
  end
109
112
 
110
113
  {
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: quill-sql
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 0.1.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shawn Magee, Albert Yan