sqlui 0.1.6 → 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/sqlui.rb +10 -8
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 243c37e5c20fb7187bc08c0f811b3c0384179e8f6ee9207ef1b51697a3cca116
4
- data.tar.gz: 3616e294572915e8c9dda34a1528e143aaf83b0103afcfe715b7c0dac4ca0ad3
3
+ metadata.gz: 841f89dc1fb61aa4395aca199aba43cd855e34e9641ea9cf2dc18b356b53cb93
4
+ data.tar.gz: f34d885b1c9f40e804fde6426bdfd7217ef912b2968b6987861ee6624fd60b27
5
5
  SHA512:
6
- metadata.gz: fd5b0166b4d75feea13c5cdabacf8a3268d2fd2d268cbfbc49eb977df64fd30a5a4309068261918379c729f7cfbab7be34b8eb922690c28e2d1822621b5c94b6
7
- data.tar.gz: 84745ccbb3f383faaa2dae7e3f144c577f0284ea5100a3c989f8f9fe8c111e07bccd59be57be55a58fe09eb4b5b232bc383b9f9364a035619d3e6b1a62db4433
6
+ metadata.gz: dea76e1239e97123db860d4f7d729c2a8c317e827105f5ef9c690e23001a2dd5070ad594fe9b87036eeeefd545c004a1c64a51a4f6b48fa7e40cd1e43efdc286
7
+ data.tar.gz: 671cbc3930edda13b041dae163075e64b59e7069abaa299cb14121e9272c91887aea03165d69ffe4abb60ac49b1d5d6acfb8c72aae2c2c34c4e84877b8897220
data/lib/sqlui.rb CHANGED
@@ -78,7 +78,7 @@ class SQLUI
78
78
 
79
79
  def load_metadata
80
80
  stats_result = @queryer.call(
81
- <<~SQL.squish
81
+ <<~SQL
82
82
  select
83
83
  table_schema,
84
84
  table_name,
@@ -132,7 +132,7 @@ class SQLUI
132
132
  end
133
133
 
134
134
  column_result = @queryer.call(
135
- <<~SQL.squish
135
+ <<~SQL
136
136
  select
137
137
  table_schema,
138
138
  table_name,
@@ -174,13 +174,15 @@ class SQLUI
174
174
 
175
175
  def execute_query(sql)
176
176
  result = @queryer.call(sql)
177
- rows = result.rows
178
- column_types = result.columns.map { |_| 'string' }
177
+ rows = result.map { |row| row.values }
178
+ columns = result.first&.keys || []
179
+ column_types = columns.map { |_| 'string' }
179
180
  unless rows.empty?
180
- maybe_non_null_column_value_exemplars = result.columns.each_with_index.map do |_, index|
181
- rows.find do |row|
181
+ maybe_non_null_column_value_exemplars = columns.each_with_index.map do |_, index|
182
+ row = rows.find do |row|
182
183
  !row[index].nil?
183
- end.try(:[], index)
184
+ end
185
+ row.nil? ? nil : row[index]
184
186
  end
185
187
  column_types = maybe_non_null_column_value_exemplars.map do |value|
186
188
  case value
@@ -197,7 +199,7 @@ class SQLUI
197
199
  end
198
200
  {
199
201
  query: sql,
200
- columns: result.columns,
202
+ columns: columns,
201
203
  column_types: column_types,
202
204
  total_rows: rows.size,
203
205
  rows: rows.take(@max_rows)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sqlui
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.1.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nick Dower