flydata 0.2.16 → 0.2.17

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d79c609aea9b48dabaf04f5bb1e45d702bb1ccd8
4
- data.tar.gz: bf30492871ede7150012351b0092af04c273315f
3
+ metadata.gz: a3b273dc439a9c6c58398ed75794f67ab7fcd785
4
+ data.tar.gz: 20a9d323a93ebb65865e5dbee86750d3c71b8dbe
5
5
  SHA512:
6
- metadata.gz: a271b10b00eb8897e51853b74d9ea19cde03f89457dbc38709e9c2a6f889de75680c76f963a67cd3cf2f822f72203d216f59bd60f8e384e9b329b78a2941a89f
7
- data.tar.gz: d9985f166994b103fff6a10a7e842f67d03aebd4104c3c758ad3b64a8b849993f6ea580502bb7830a9a72caf1bc3029b6afa851684854708d406c61922c38768
6
+ metadata.gz: 1596629dd6c036e157db63f20ffef8fb84f9201f1677b201892e8b59b2f81c5178535a58a3b2f6a4e35fca908ac87a6b5cc3d8af10ecdbd8408734532a9f4a57
7
+ data.tar.gz: c113a7bdce48f2d683769b50c134efdc6925e6b40897ce14e90ac3c51cf8e54d6c018d1c9ef967ced2e7f957bb78584d7e0fdf10eac182ab3853757d3c6ec369
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.16
1
+ 0.2.17
data/flydata.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "flydata"
8
- s.version = "0.2.16"
8
+ s.version = "0.2.17"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Koichi Fujikawa", "Masashi Miyazaki", "Matthew Luu", "Mak Inada", "Sriram NS"]
12
- s.date = "2014-11-19"
12
+ s.date = "2014-11-24"
13
13
  s.description = "FlyData Agent"
14
14
  s.email = "sysadmin@flydata.com"
15
15
  s.executables = ["fdmysqldump", "flydata", "serverinfo"]
@@ -242,16 +242,16 @@ module Flydata
242
242
  while !stdout.eof?
243
243
  begin
244
244
  mysql_tabledef = Flydata::TableDef::MysqlTableDef.create(stdout)
245
- rescue TableDefError => e
245
+ if mysql_tabledef.nil?
246
+ # stream had no more create table definition
247
+ break
248
+ end
249
+ flydata_tabledef = mysql_tabledef.to_flydata_tabledef
250
+ puts Flydata::TableDef::RedshiftTableDef.from_flydata_tabledef(flydata_tabledef, flydata_ctl_table: create_flydata_ctl_table, schema_name: schema_name, ctl_only: opts.ctl_only?)
251
+ rescue TableDefError=> e
246
252
  error_list << e.err_hash
247
253
  next
248
254
  end
249
- if mysql_tabledef.nil?
250
- # stream had no more create table definition
251
- break
252
- end
253
- flydata_tabledef = mysql_tabledef.to_flydata_tabledef
254
- puts Flydata::TableDef::RedshiftTableDef.from_flydata_tabledef(flydata_tabledef, flydata_ctl_table: create_flydata_ctl_table, schema_name: schema_name, ctl_only: opts.ctl_only?)
255
255
  create_flydata_ctl_table = false
256
256
  end
257
257
  errors = ""
@@ -270,7 +270,7 @@ module Flydata
270
270
  $stderr.puts " - #{hash[:table]}" if hash[:table]
271
271
  end
272
272
  end
273
- $stderr.puts "Please fix the above error(s) and try again."
273
+ $stderr.puts "Please fix the above error(s) to try to sync those table(s) or contact us for further help."
274
274
  end
275
275
  end
276
276
 
@@ -54,7 +54,7 @@ module Flydata
54
54
  end
55
55
 
56
56
  unless errors.empty?
57
- message = "Cannot connect to outisde ports. Please check to make sure you have these outgoing ports open."
57
+ message = "Cannot connect to outside ports. Please check to make sure you have these outgoing ports open."
58
58
  errors.each do |port, e|
59
59
  message += " Port #{port}, Error #{e.class.name}: #{e.to_s}"
60
60
  end
@@ -30,6 +30,7 @@ class MysqlTableDef
30
30
  TYPE_MAP_M2F = {
31
31
  'bigint' => {type: 'int8'},
32
32
  'binary' => {type: 'binary', override: PROC_override_varbinary},
33
+ 'bit' => {type: 'bit'},
33
34
  'blob' => {type: 'varbinary(65535)'},
34
35
  'bool' => {type: 'int1'},
35
36
  'boolean' => {type: 'int1'},
@@ -51,6 +52,7 @@ class MysqlTableDef
51
52
  'mediumint' => {type: 'int3'},
52
53
  'mediumtext' => {type: 'text'},
53
54
  'numeric' => {type: 'numeric'},
55
+ 'set' => {type: 'set'},
54
56
  'smallint' => {type: 'int2'},
55
57
  'text' => {type: 'text'},
56
58
  'time' => {type: 'time'},
@@ -130,7 +132,7 @@ class MysqlTableDef
130
132
  elsif stripped_line.start_with?("UNIQUE KEY")
131
133
  parse_key(line, columns, :unique)
132
134
  else
133
- $stderr.puts "Unknown table definition. Skip. (#{line})"
135
+ # "Unknown table definition. Skip. (#{line})"
134
136
  end
135
137
 
136
138
  when :after_create_table
@@ -4,6 +4,7 @@ module TableDef
4
4
  class RedshiftTableDef
5
5
  TYPE_MAP_F2R = {
6
6
  'binary' => {type: 'varchar', use_params: true, default_value: ''},
7
+ 'bit' => {type: 'bigint', default_value: '0'},
7
8
  'char' => {type: 'char', use_params: true, default_value: ''},
8
9
  'date' => {type: 'date', default_value: '0000-01-01'},
9
10
  'datetime' => {type: 'timestamp', default_value: '0000-01-01'},
@@ -24,6 +25,7 @@ class RedshiftTableDef
24
25
  'int8 unsigned' => {type: 'numeric(20,0)', unsigned: true, default_value: '0'},
25
26
  'numeric' => {type: 'numeric', use_params: true, max_size: [38,37], default_value: '0'},
26
27
  'numeric unsigned' => {type: 'numeric', use_params: true, max_size: [38,37], default_value: '0'},
28
+ 'set' => {type: 'varchar encode bytedict', default_value: ''},
27
29
  'text' => {type: 'varchar(max)', default_value: ''},
28
30
  'time' => {type: 'timestamp', default_value: '0000-01-01'},
29
31
  'varbinary' => {type: 'varchar', use_params: true, max_size: 65535, default_value: ''},
@@ -33,11 +35,16 @@ class RedshiftTableDef
33
35
  options[:flydata_ctl_table] = true unless options.has_key?(:flydata_ctl_table)
34
36
  schema_name = options[:schema_name]
35
37
 
36
- tabledef = ""
37
- tabledef += create_flydata_ctl_table_sql(schema_name) if options[:flydata_ctl_table]
38
- tabledef += create_table_sql(flydata_tabledef, schema_name) unless options[:ctl_only]
39
- tabledef += comment_sql(flydata_tabledef, schema_name) unless options[:ctl_only]
40
- tabledef += flydata_ctl_sql(flydata_tabledef, schema_name)
38
+ begin
39
+ tabledef = ""
40
+ tabledef += create_flydata_ctl_table_sql(schema_name) if options[:flydata_ctl_table]
41
+ tabledef += create_table_sql(flydata_tabledef, schema_name) unless options[:ctl_only]
42
+ tabledef += comment_sql(flydata_tabledef, schema_name) unless options[:ctl_only]
43
+ tabledef += flydata_ctl_sql(flydata_tabledef, schema_name)
44
+ rescue => e
45
+ # Catch errors from generating schema. Generally an unsupported data type
46
+ raise TableDefError, {error: "errors generating schema. Please contact us for further instructions", table: flydata_tabledef[:table_name]}
47
+ end
41
48
  end
42
49
 
43
50
  FLYDATA_CTL_COLUMNS_TABLE = "flydata_ctl_columns"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: flydata
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.16
4
+ version: 0.2.17
5
5
  platform: ruby
6
6
  authors:
7
7
  - Koichi Fujikawa
@@ -12,7 +12,7 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2014-11-19 00:00:00.000000000 Z
15
+ date: 2014-11-24 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: rest-client