tapsoob 0.4.13 → 0.4.17

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4e222b69d72cdf605c2282625a4e3fae78310395ebb04c888e21c5a43a87bb62
4
- data.tar.gz: dc997c5a29cf63de0e6f00b93542d582c58018fc655b4841387e98d9ec55ba80
3
+ metadata.gz: fb5c1ed1e219ec2410ed346a7c9cbee4e75990c706d1d8afba596d0494db4571
4
+ data.tar.gz: dff7182a190b95f92b18c348aeb0b58212e3d1b3e282c8edd38249a3fcd04af2
5
5
  SHA512:
6
- metadata.gz: 309414b198731e14731810757ff8d32a084b70652e24d4aaa06268478a59cfd884c22126177dad428022ca07794834acf49f17e804e534f533d5739a25cc7691
7
- data.tar.gz: 203243740782fa1aa6f711edf99cd3d1143e024ce0322dec33d9c1ee271865b05b863def2dd16334a72fd6639b07d599d3743bae39cbce8b5e3f42846f2184e9
6
+ metadata.gz: e2c71ef98ebc8b9354aed85dc11b6530ac6d83192125a94dbf71736947286fcd7584d4b81849e02fea8a7c638dab41c51bc97671eba0ad70c5fe372e40a2aa0d
7
+ data.tar.gz: c441227f8249ff7bfe47c09b436e4fd628f186847563fbf44d75134ed0b73619248edccd0451c891ec4aa40b4f23dc3adaa615eb097e6118515d34c6c219a395
@@ -75,7 +75,7 @@ module Tapsoob
75
75
  state[:chunksize] = fetch_chunksize
76
76
  ds = table.order(*order_by).limit(state[:chunksize], state[:offset])
77
77
  log.debug "DataStream#fetch_rows SQL -> #{ds.sql}"
78
- rows = Tapsoob::Utils.format_data(ds.all,
78
+ rows = Tapsoob::Utils.format_data(db, ds.all,
79
79
  :string_columns => string_columns,
80
80
  :schema => db.schema(table_name),
81
81
  :table => table_name
@@ -152,15 +152,15 @@ module Tapsoob
152
152
 
153
153
  rows = parse_encoded_data(encoded_data, json[:checksum])
154
154
 
155
- @complete = rows[:data] == [ ]
155
+ @complete = rows == { }
156
156
 
157
157
  # update local state
158
158
  state.merge!(json[:state].merge(:chunksize => state[:chunksize]))
159
159
 
160
160
  unless @complete
161
161
  yield rows if block_given?
162
- state[:offset] += (rows[:data].size.nil? ? 0 : rows[:data].size)
163
- rows[:data].size || 0
162
+ state[:offset] += rows[:data].size
163
+ rows[:data].size
164
164
  else
165
165
  0
166
166
  end
data/lib/tapsoob/utils.rb CHANGED
@@ -37,7 +37,7 @@ module Tapsoob
37
37
  data.unpack("m").first
38
38
  end
39
39
 
40
- def format_data(data, opts = {})
40
+ def format_data(db, data, opts = {})
41
41
  return {} if data.size == 0
42
42
  string_columns = opts[:string_columns] || []
43
43
  schema = opts[:schema] || []
@@ -75,7 +75,16 @@ Data : #{data}
75
75
  res = { table_name: table, header: header, data: only_data }
76
76
 
77
77
  # Add types if schema isn't empty
78
- res[:types] = schema.map { |c| c.last[:type] } unless schema.empty?
78
+ res[:types] = schema.map do |c|
79
+ case db.column_schema_to_ruby_type(c.last[:type])[:type]
80
+ when BigDecimal
81
+ "float"
82
+ when File
83
+ "blob"
84
+ else
85
+ db.column_schema_to_ruby_type(c.last[:type])[:type].to_s.downcase
86
+ end
87
+ end unless schema.empty?
79
88
 
80
89
  res
81
90
  end
@@ -144,7 +153,7 @@ Data : #{data}
144
153
  data = row_data
145
154
  if File.exists?(File.join(dump_path, "data", "#{table}.json"))
146
155
  previous_data = JSON.parse(File.read(File.join(dump_path, "data", "#{table}.json")))
147
- data[:data] = previous_data["data"] + row_data[:data]
156
+ data[:data] = previous_data["data"] + row_data[:data] unless row_data[:data].nil?
148
157
  end
149
158
 
150
159
  File.open(File.join(dump_path, "data", "#{table}.json"), 'w') do |file|
@@ -1,4 +1,4 @@
1
1
  # -*- encoding : utf-8 -*-
2
2
  module Tapsoob
3
- VERSION = "0.4.13".freeze
3
+ VERSION = "0.4.17".freeze
4
4
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tapsoob
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.13
4
+ version: 0.4.17
5
5
  platform: ruby
6
6
  authors:
7
7
  - Félix Bellanger
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2021-07-08 00:00:00.000000000 Z
12
+ date: 2021-10-19 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: ripl