flydata 0.7.7 → 0.7.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 47e53f1fbb8f9c3312cbac20679d9b389d41994a
4
- data.tar.gz: d3ab901fdc3747ab54b82b2a087c3a0aa74fe44f
3
+ metadata.gz: 3d9438eb32d8d567ad63149916961bde54cdf52c
4
+ data.tar.gz: dd2f138fd9f823e1cbee1d2d091262a6a008f336
5
5
  SHA512:
6
- metadata.gz: 9f92fd99a9411b656ef014e3e64214d50c5549c4eac74b1dbde279f65ccba452dde8698bc26d5cf1dd145b092dcf459b2f839f996a804fbd120d2f5e361de30d
7
- data.tar.gz: 9f2181a206ffa141fa7bca9822dcd824ca05e45d65ffe030cc1a0c055c27fe8b7161855e835817813d214ef9ffa78beeeb6e29e6f8c9410bc73368a02017b421
6
+ metadata.gz: af5eb23ccfa7691ff8a28c4767d256f988cb72377073b994bcaa7d45f94e38223253151e6702a10b5184ed28c37e22feac3c8e1eebd6792680341cddb24457e4
7
+ data.tar.gz: 5385e752f2531d6bea7ad8c739c1b0a485e20e1e600872319902238e4cef0b96096288192ddc9463b53afc363617e0c23a02fe0814cb33b84d01f0d8c5db891c
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.7.7
1
+ 0.7.8
@@ -135,7 +135,7 @@ class Base
135
135
 
136
136
  def self.check_pk(table_name, columns, options)
137
137
  unless pk_exist?(columns) || options[:skip_primary_key_check]
138
- raise TableDefError, {error: "no primary key defined", table: table_name}
138
+ raise TableDefError, {error: "No primary key defined", table: table_name}
139
139
  end
140
140
  end
141
141
 
@@ -94,6 +94,7 @@ class MysqlTableDef < Base
94
94
  default_charset = nil
95
95
  default_source_charset = nil
96
96
  comment = nil
97
+ tabledef_error = nil
97
98
 
98
99
  position = :before_create_table
99
100
 
@@ -106,6 +107,22 @@ class MysqlTableDef < Base
106
107
  table_name = $1
107
108
  table_def += line.chomp
108
109
  next
110
+ elsif line =~ /CREATE ALGORITHM/
111
+ # /*!50001 CREATE ALGORITHM=UNDEFINED */
112
+ # /*!50013 DEFINER=`admin`@`%` SQL SECURITY DEFINER */
113
+ # /*!50001 VIEW `sample_view` AS select distinct `sample`.`name` AS `name` from `sample` */;
114
+ if line =~ /VIEW `(.*?)`/
115
+ # VIEW definition is given in the same line
116
+ table_name = $1
117
+ tabledef_error = {error: "VIEW is not supported", table: table_name}
118
+ position = :tabledef_error
119
+ next
120
+ elsif line =~ /;/
121
+ next
122
+ else
123
+ position = :in_create_algorithm
124
+ next
125
+ end
109
126
  end
110
127
 
111
128
  when :in_create_table
@@ -123,7 +140,11 @@ class MysqlTableDef < Base
123
140
  parse_key(line, columns)
124
141
  #) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='test table';
125
142
  elsif stripped_line.start_with?(')')
126
- if line =~ /DEFAULT CHARSET\s*=\s*([a-z0-9]+)/
143
+ if line =~ /ENGINE\s*=\s*(BLACKHOLE|MEMORY)\s/
144
+ tabledef_error = {error: "#{$1} STORATE ENGINE table is not supported", table: table_name}
145
+ position = :tabledef_error
146
+ next
147
+ elsif line =~ /DEFAULT CHARSET\s*=\s*([a-z0-9]+)/
127
148
  default_source_charset = $1
128
149
  default_charset = flydata_charset(default_source_charset)
129
150
  end
@@ -140,10 +161,28 @@ class MysqlTableDef < Base
140
161
  # "Unknown table definition. Skip. (#{line})"
141
162
  end
142
163
 
164
+ when :in_create_algorithm
165
+ #/*!50001 VIEW `sample_view` AS select distinct `sample`.`name` AS `name` from `sample` */;
166
+ if line =~ /VIEW `(.*?)`/
167
+ table_name = $1
168
+ tabledef_error = {error: "VIEW is not supported", table: table_name}
169
+ position = :tabledef_error
170
+ next
171
+ elsif line =~ /;/
172
+ position = :before_create_table
173
+ next
174
+ else
175
+ # Skip.
176
+ end
177
+
178
+ when :tabledef_error
179
+ raise TableDefError, tabledef_error
180
+
143
181
  when :after_create_table
144
182
  break
145
183
  end
146
184
  end
185
+
147
186
  position == :after_create_table ? [table_def, table_name, columns, column_def, unique_keys, default_charset, default_source_charset, comment] : nil
148
187
  end
149
188
 
@@ -63,7 +63,7 @@ class RedshiftTableDef
63
63
  tabledef += drop_backup_table_sql(flydata_tabledef, schema_name, options) unless options[:ctl_only]
64
64
  rescue => e
65
65
  # Catch errors from generating schema. Generally an unsupported data type
66
- raise TableDefError, {error: "errors generating schema. Please contact us for further instructions", table: flydata_tabledef[:table_name]}
66
+ raise TableDefError, {error: "Errors generating schema. Please contact us for further instructions", table: flydata_tabledef[:table_name]}
67
67
  end
68
68
  end
69
69
 
@@ -197,8 +197,8 @@ EOS
197
197
 
198
198
  unless options[:skip_primary_key_check]
199
199
  unless pk_def
200
- $log.error "no primary key defined in table: #{flydata_tabledef[:table_name]}"
201
- raise "no primary key defined"
200
+ $log.error "No primary key defined in table: #{flydata_tabledef[:table_name]}"
201
+ raise "No primary key defined"
202
202
  end
203
203
  end
204
204
  lines << pk_def if pk_def
@@ -1,10 +1,11 @@
1
1
  require 'spec_helper'
2
2
  require 'flydata-core/table_def'
3
+ require 'logger'
4
+ $log = Logger.new(STDOUT)
3
5
 
4
6
  module FlydataCore
5
7
  module TableDef
6
8
 
7
-
8
9
  describe MysqlTableDef do
9
10
 
10
11
  # file full path which exists in same directory.
@@ -110,13 +111,52 @@ describe MysqlTableDef do
110
111
  end
111
112
  end
112
113
 
113
- context 'when table does not have primary key' do
114
+ context 'when table does not have either primary key or unique key' do
114
115
  let(:dump_file_io) { file_io('mysqldump_test_table_no_pk.dump') }
115
116
  it 'should raise an error' do
116
117
  expect{subject}.to raise_error(FlydataCore::TableDefError)
117
118
  end
118
119
  end
119
120
 
121
+ context 'when table does not have primary key but has unique key' do
122
+ let(:dump_file_io) { file_io('mysqldump_test_table_only_uk.dump') }
123
+ it 'should not raise an error' do
124
+ expect{subject}.not_to raise_error
125
+ end
126
+
127
+ it 'should create pk_override from uk' do
128
+ expect(subject[:pk_override]).to eq( ['id'] )
129
+ end
130
+ end
131
+
132
+ context 'when table which has a unique key using NULL column' do
133
+ let(:dump_file_io) { file_io('mysqldump_test_null_uk.dump') }
134
+ it 'should raise an error' do
135
+ expect{subject}.to raise_error(FlydataCore::TableDefError)
136
+ end
137
+ end
138
+
139
+ context 'when table is VIEW (unsupported)' do
140
+ let(:dump_file_io) { file_io('mysqldump_test_view1.dump') }
141
+ it 'should raise an error' do
142
+ expect{subject}.to raise_error(FlydataCore::TableDefError)
143
+ end
144
+ end
145
+
146
+ context 'when table is MEMORY ENGINE (unsupported)' do
147
+ let(:dump_file_io) { file_io('mysqldump_test_memory_engine.dump') }
148
+ it 'should raise an error' do
149
+ expect{subject}.to raise_error(FlydataCore::TableDefError)
150
+ end
151
+ end
152
+
153
+ context 'when table is BLACKHOLE ENGINE (unsupported)' do
154
+ let(:dump_file_io) { file_io('mysqldump_test_blackhole_engine.dump') }
155
+ it 'should raise an error' do
156
+ expect{subject}.to raise_error(FlydataCore::TableDefError)
157
+ end
158
+ end
159
+
120
160
  context 'when column has comment' do
121
161
  let(:dump_file_io) { file_io('mysqldump_test_table_column_comment.dump') }
122
162
  it 'comment should be set' do
@@ -143,7 +183,7 @@ describe MysqlTableDef do
143
183
  end
144
184
  end
145
185
 
146
- context 'when table has multiple pk' do
186
+ context 'when table has multiple-column pk' do
147
187
  let(:dump_file_io) { file_io('mysqldump_test_table_multi_pk.dump') }
148
188
  it 'multi pk should be set' do
149
189
  expect(subject[:columns]).to eq(
@@ -1,6 +1,8 @@
1
1
  require 'spec_helper'
2
2
  require 'flydata-core/table_def'
3
3
  require 'timecop'
4
+ require 'logger'
5
+ $log = Logger.new(STDOUT)
4
6
 
5
7
  module FlydataCore
6
8
  module TableDef
@@ -748,6 +750,60 @@ EOT
748
750
  end
749
751
  end
750
752
 
753
+ context 'with mysqldump_test_table_only_uk.dump' do
754
+ let(:dump_file_name) { 'mysqldump_test_table_only_uk.dump' }
755
+
756
+ it 'should return ddl using unique key as primary key' do
757
+ expect(subject).to eq( <<EOT )
758
+ CREATE TABLE IF NOT EXISTS "flydata_ctl_columns"(
759
+ id integer NOT NULL IDENTITY(1,1),
760
+ table_name varchar(128) NOT NULL,
761
+ column_name varchar(128) NOT NULL,
762
+ src_data_type varchar(1024) NOT NULL,
763
+ revision int NOT NULL DEFAULT 1,
764
+ ordinal_position int NOT NULL,
765
+ PRIMARY KEY(id)
766
+ ) DISTKEY(table_name) SORTKEY(table_name);
767
+ CREATE TABLE IF NOT EXISTS "flydata_ctl_tables"(
768
+ id integer NOT NULL IDENTITY(1,1),
769
+ table_name varchar(128) NOT NULL,
770
+ attribute varchar(128) NOT NULL,
771
+ value varchar(max),
772
+ created_at timestamp DEFAULT SYSDATE,
773
+ PRIMARY KEY(id)
774
+ ) DISTKEY(table_name) SORTKEY(table_name);
775
+ BEGIN;
776
+ DROP TABLE IF EXISTS "only_uk_flydata20160125232857";
777
+ CREATE TABLE IF NOT EXISTS "only_uk" (
778
+ "id" numeric(20,0),
779
+ "tag" varchar(129) DEFAULT NULL,
780
+ "comment" varchar(72),
781
+ PRIMARY KEY ("id")
782
+ ) DISTKEY("id") SORTKEY("id");
783
+ ALTER TABLE "only_uk" RENAME TO "only_uk_flydata20160125232857";
784
+ CREATE TABLE "only_uk" (
785
+ "id" numeric(20,0),
786
+ "tag" varchar(129) DEFAULT NULL,
787
+ "comment" varchar(72),
788
+ PRIMARY KEY ("id")
789
+ ) DISTKEY("id") SORTKEY("id");
790
+ DELETE FROM "flydata_ctl_columns" WHERE table_name = 'only_uk';
791
+ INSERT INTO "flydata_ctl_columns" (table_name, column_name, src_data_type, ordinal_position) VALUES
792
+ ('only_uk', 'id', 'int8(20) unsigned', 1),
793
+ ('only_uk', 'tag', 'varchar(129)', 2),
794
+ ('only_uk', 'comment', 'varchar(72)', 3);
795
+ DELETE FROM "flydata_ctl_tables" WHERE table_name = 'only_uk';
796
+ INSERT INTO "flydata_ctl_tables" (table_name, attribute, value) VALUES
797
+ ('only_uk', 'cs', 'ISO_8859_1'),
798
+ ('only_uk', 'revision', 1),
799
+ ('only_uk', 'src_ddl', 'CREATE TABLE `only_uk` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `tag` varchar(43) DEFAULT NULL, `comment` varchar(24) NOT NULL, UNIQUE KEY `id` (`id`)) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;'),
800
+ ('only_uk', 'pk_override', 'id');
801
+ COMMIT;
802
+ DROP TABLE IF EXISTS "only_uk_flydata20160125232857";
803
+ EOT
804
+ end
805
+ end
806
+
751
807
  context 'with mysqldump_test_unsigned.dump' do
752
808
  let(:dump_file_name) { 'mysqldump_test_unsigned.dump' }
753
809
 
@@ -818,6 +874,56 @@ INSERT INTO "flydata_ctl_tables" (table_name, attribute, value) VALUES
818
874
  ) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=latin1;".split("\n").join}');
819
875
  COMMIT;
820
876
  DROP TABLE IF EXISTS "zerofill_table_flydata20160125232857";
877
+ EOT
878
+ end
879
+ end
880
+
881
+ context 'with mysqldump_test_view_and_table.dump' do
882
+ let(:dump_file_name) { 'mysqldump_test_view_and_table.dump' }
883
+
884
+ it 'should return ddl including queries only for a table, and no queries for a view' do
885
+ expect(subject).to eq( <<EOT )
886
+ CREATE TABLE IF NOT EXISTS "flydata_ctl_columns"(
887
+ id integer NOT NULL IDENTITY(1,1),
888
+ table_name varchar(128) NOT NULL,
889
+ column_name varchar(128) NOT NULL,
890
+ src_data_type varchar(1024) NOT NULL,
891
+ revision int NOT NULL DEFAULT 1,
892
+ ordinal_position int NOT NULL,
893
+ PRIMARY KEY(id)
894
+ ) DISTKEY(table_name) SORTKEY(table_name);
895
+ CREATE TABLE IF NOT EXISTS "flydata_ctl_tables"(
896
+ id integer NOT NULL IDENTITY(1,1),
897
+ table_name varchar(128) NOT NULL,
898
+ attribute varchar(128) NOT NULL,
899
+ value varchar(max),
900
+ created_at timestamp DEFAULT SYSDATE,
901
+ PRIMARY KEY(id)
902
+ ) DISTKEY(table_name) SORTKEY(table_name);
903
+ BEGIN;
904
+ DROP TABLE IF EXISTS "test_table_flydata20160125232857";
905
+ CREATE TABLE IF NOT EXISTS "test_table" (
906
+ "id" int4,
907
+ "tag" varchar(144) DEFAULT NULL,
908
+ PRIMARY KEY ("id")
909
+ ) DISTKEY("id") SORTKEY("id");
910
+ ALTER TABLE "test_table" RENAME TO "test_table_flydata20160125232857";
911
+ CREATE TABLE "test_table" (
912
+ "id" int4,
913
+ "tag" varchar(144) DEFAULT NULL,
914
+ PRIMARY KEY ("id")
915
+ ) DISTKEY("id") SORTKEY("id");
916
+ DELETE FROM "flydata_ctl_columns" WHERE table_name = 'test_table';
917
+ INSERT INTO "flydata_ctl_columns" (table_name, column_name, src_data_type, ordinal_position) VALUES
918
+ ('test_table', 'id', 'int4(11)', 1),
919
+ ('test_table', 'tag', 'varchar(144)', 2);
920
+ DELETE FROM "flydata_ctl_tables" WHERE table_name = 'test_table';
921
+ INSERT INTO "flydata_ctl_tables" (table_name, attribute, value) VALUES
922
+ ('test_table', 'cs', 'ISO_8859_1'),
923
+ ('test_table', 'revision', 1),
924
+ ('test_table', 'src_ddl', 'CREATE TABLE `test_table` ( `id` int(11) NOT NULL AUTO_INCREMENT, `tag` varchar(48) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=latin1;');
925
+ COMMIT;
926
+ DROP TABLE IF EXISTS "test_table_flydata20160125232857";
821
927
  EOT
822
928
  end
823
929
  end
@@ -0,0 +1,41 @@
1
+ -- MySQL dump 10.13 Distrib 5.5.46, for debian-linux-gnu (x86_64)
2
+ --
3
+ -- Host: rdss-chie.c6dj7ech9e6t.us-east-1.rds.amazonaws.com Database: synctest
4
+ -- ------------------------------------------------------
5
+ -- Server version 5.6.23-log
6
+
7
+ /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
8
+ /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
9
+ /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
10
+ /*!40101 SET NAMES utf8 */;
11
+ /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
12
+ /*!40103 SET TIME_ZONE='+00:00' */;
13
+ /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
14
+ /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
15
+ /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
16
+ /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
17
+
18
+ --
19
+ -- Table structure for table `blackhole_table`
20
+ --
21
+
22
+ DROP TABLE IF EXISTS `blackhole_table`;
23
+ /*!40101 SET @saved_cs_client = @@character_set_client */;
24
+ /*!40101 SET character_set_client = utf8 */;
25
+ CREATE TABLE `blackhole_table` (
26
+ `id` int(11) NOT NULL,
27
+ `tag` char(10) DEFAULT NULL,
28
+ PRIMARY KEY (`id`)
29
+ ) ENGINE=BLACKHOLE DEFAULT CHARSET=latin1;
30
+ /*!40101 SET character_set_client = @saved_cs_client */;
31
+ /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
32
+
33
+ /*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
34
+ /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
35
+ /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
36
+ /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
37
+ /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
38
+ /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
39
+ /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
40
+
41
+ -- Dump completed on 2016-07-01 18:30:41
@@ -0,0 +1,41 @@
1
+ -- MySQL dump 10.13 Distrib 5.5.46, for debian-linux-gnu (x86_64)
2
+ --
3
+ -- Host: rdss-chie.c6dj7ech9e6t.us-east-1.rds.amazonaws.com Database: synctest
4
+ -- ------------------------------------------------------
5
+ -- Server version 5.6.23-log
6
+
7
+ /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
8
+ /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
9
+ /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
10
+ /*!40101 SET NAMES utf8 */;
11
+ /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
12
+ /*!40103 SET TIME_ZONE='+00:00' */;
13
+ /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
14
+ /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
15
+ /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
16
+ /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
17
+
18
+ --
19
+ -- Table structure for table `memory_table`
20
+ --
21
+
22
+ DROP TABLE IF EXISTS `memory_table`;
23
+ /*!40101 SET @saved_cs_client = @@character_set_client */;
24
+ /*!40101 SET character_set_client = utf8 */;
25
+ CREATE TABLE `memory_table` (
26
+ `id` int(11) NOT NULL AUTO_INCREMENT,
27
+ `tag` varchar(24) DEFAULT NULL,
28
+ PRIMARY KEY (`id`)
29
+ ) ENGINE=MEMORY DEFAULT CHARSET=latin1;
30
+ /*!40101 SET character_set_client = @saved_cs_client */;
31
+ /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
32
+
33
+ /*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
34
+ /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
35
+ /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
36
+ /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
37
+ /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
38
+ /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
39
+ /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
40
+
41
+ -- Dump completed on 2016-07-01 18:31:14
@@ -0,0 +1,56 @@
1
+ -- MySQL dump 10.13 Distrib 5.6.25, for Linux (x86_64)
2
+ --
3
+ -- Host: localhost Database: synctest
4
+ -- ------------------------------------------------------
5
+ -- Server version 5.6.23-log
6
+
7
+ /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
8
+ /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
9
+ /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
10
+ /*!40101 SET NAMES utf8 */;
11
+ /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
12
+ /*!40103 SET TIME_ZONE='+00:00' */;
13
+ /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
14
+ /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
15
+ /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
16
+ /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
17
+
18
+ --
19
+ -- Table structure for table `null_uk`
20
+ --
21
+
22
+ DROP TABLE IF EXISTS `null_uk`;
23
+ /*!40101 SET @saved_cs_client = @@character_set_client */;
24
+ /*!40101 SET character_set_client = utf8 */;
25
+ CREATE TABLE `null_uk` (
26
+ `id` int(11) DEFAULT '0',
27
+ `field` int(11) DEFAULT '0',
28
+ `uid` int(11) NOT NULL DEFAULT '0',
29
+ `null_id` int(11) DEFAULT NULL,
30
+ UNIQUE KEY `null_id` (`null_id`),
31
+ UNIQUE KEY `id` (`id`),
32
+ UNIQUE KEY `multi_id` (`id`,`uid`),
33
+ KEY `id_2` (`id`)
34
+ ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
35
+ /*!40101 SET character_set_client = @saved_cs_client */;
36
+
37
+ --
38
+ -- Dumping data for table `null_uk`
39
+ --
40
+
41
+ LOCK TABLES `null_uk` WRITE;
42
+ /*!40000 ALTER TABLE `null_uk` DISABLE KEYS */;
43
+ INSERT INTO `null_uk` VALUES (NULL,0,0,NULL),(NULL,0,0,NULL),(NULL,0,0,NULL),(NULL,0,0,NULL);
44
+ /*!40000 ALTER TABLE `null_uk` ENABLE KEYS */;
45
+ UNLOCK TABLES;
46
+ /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
47
+
48
+ /*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
49
+ /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
50
+ /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
51
+ /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
52
+ /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
53
+ /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
54
+ /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
55
+
56
+ -- Dump completed on 2016-07-01 23:56:08
@@ -0,0 +1,52 @@
1
+ -- MySQL dump 10.13 Distrib 5.6.25, for Linux (x86_64)
2
+ --
3
+ -- Host: localhost Database: synctest
4
+ -- ------------------------------------------------------
5
+ -- Server version 5.6.23-log
6
+
7
+ /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
8
+ /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
9
+ /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
10
+ /*!40101 SET NAMES utf8 */;
11
+ /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
12
+ /*!40103 SET TIME_ZONE='+00:00' */;
13
+ /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
14
+ /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
15
+ /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
16
+ /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
17
+
18
+ --
19
+ -- Table structure for table `only_uk`
20
+ --
21
+
22
+ DROP TABLE IF EXISTS `only_uk`;
23
+ /*!40101 SET @saved_cs_client = @@character_set_client */;
24
+ /*!40101 SET character_set_client = utf8 */;
25
+ CREATE TABLE `only_uk` (
26
+ `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
27
+ `tag` varchar(43) DEFAULT NULL,
28
+ `comment` varchar(24) NOT NULL,
29
+ UNIQUE KEY `id` (`id`)
30
+ ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;
31
+ /*!40101 SET character_set_client = @saved_cs_client */;
32
+
33
+ --
34
+ -- Dumping data for table `only_uk`
35
+ --
36
+
37
+ LOCK TABLES `only_uk` WRITE;
38
+ /*!40000 ALTER TABLE `only_uk` DISABLE KEYS */;
39
+ INSERT INTO `only_uk` VALUES (1,'test DDE',1),(2,'test DDE',2);
40
+ /*!40000 ALTER TABLE `only_uk` ENABLE KEYS */;
41
+ UNLOCK TABLES;
42
+ /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
43
+
44
+ /*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
45
+ /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
46
+ /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
47
+ /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
48
+ /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
49
+ /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
50
+ /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
51
+
52
+ -- Dump completed on 2016-07-01 21:03:42
@@ -0,0 +1,57 @@
1
+ -- MySQL dump 10.13 Distrib 5.6.25, for Linux (x86_64)
2
+ --
3
+ -- Host: localhost Database: synctest
4
+ -- ------------------------------------------------------
5
+ -- Server version 5.6.23-log
6
+
7
+ /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
8
+ /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
9
+ /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
10
+ /*!40101 SET NAMES utf8 */;
11
+ /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
12
+ /*!40103 SET TIME_ZONE='+00:00' */;
13
+ /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
14
+ /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
15
+ /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
16
+ /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
17
+
18
+ --
19
+ -- Temporary view structure for view `sample_view`
20
+ --
21
+
22
+ DROP TABLE IF EXISTS `sample_view`;
23
+ /*!50001 DROP VIEW IF EXISTS `sample_view`*/;
24
+ SET @saved_cs_client = @@character_set_client;
25
+ SET character_set_client = utf8;
26
+ /*!50001 CREATE VIEW `sample_view` AS SELECT
27
+ 1 AS `name`*/;
28
+ SET character_set_client = @saved_cs_client;
29
+
30
+ --
31
+ -- Final view structure for view `sample_view`
32
+ --
33
+
34
+ /*!50001 DROP VIEW IF EXISTS `sample_view`*/;
35
+ /*!50001 SET @saved_cs_client = @@character_set_client */;
36
+ /*!50001 SET @saved_cs_results = @@character_set_results */;
37
+ /*!50001 SET @saved_col_connection = @@collation_connection */;
38
+ /*!50001 SET character_set_client = utf8 */;
39
+ /*!50001 SET character_set_results = utf8 */;
40
+ /*!50001 SET collation_connection = utf8_general_ci */;
41
+ /*!50001 CREATE ALGORITHM=UNDEFINED */
42
+ /*!50013 DEFINER=`admin`@`%` SQL SECURITY DEFINER */
43
+ /*!50001 VIEW `sample_view` AS select distinct `sample`.`name` AS `name` from `sample` */;
44
+ /*!50001 SET character_set_client = @saved_cs_client */;
45
+ /*!50001 SET character_set_results = @saved_cs_results */;
46
+ /*!50001 SET collation_connection = @saved_col_connection */;
47
+ /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
48
+
49
+ /*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
50
+ /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
51
+ /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
52
+ /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
53
+ /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
54
+ /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
55
+ /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
56
+
57
+ -- Dump completed on 2016-07-01 6:50:24
@@ -0,0 +1,80 @@
1
+ -- MySQL dump 10.13 Distrib 5.6.25, for Linux (x86_64)
2
+ --
3
+ -- Host: localhost Database: synctest
4
+ -- ------------------------------------------------------
5
+ -- Server version 5.6.23-log
6
+
7
+ /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
8
+ /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
9
+ /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
10
+ /*!40101 SET NAMES utf8 */;
11
+ /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
12
+ /*!40103 SET TIME_ZONE='+00:00' */;
13
+ /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
14
+ /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
15
+ /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
16
+ /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
17
+
18
+ --
19
+ -- Table structure for table `test_table`
20
+ --
21
+
22
+ DROP TABLE IF EXISTS `test_table`;
23
+ /*!40101 SET @saved_cs_client = @@character_set_client */;
24
+ /*!40101 SET character_set_client = utf8 */;
25
+ CREATE TABLE `test_table` (
26
+ `id` int(11) NOT NULL AUTO_INCREMENT,
27
+ `tag` varchar(48) DEFAULT NULL,
28
+ PRIMARY KEY (`id`)
29
+ ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
30
+ /*!40101 SET character_set_client = @saved_cs_client */;
31
+
32
+ --
33
+ -- Dumping data for table `test_table`
34
+ --
35
+
36
+ LOCK TABLES `test_table` WRITE;
37
+ /*!40000 ALTER TABLE `test_table` DISABLE KEYS */;
38
+ /*!40000 ALTER TABLE `test_table` ENABLE KEYS */;
39
+ UNLOCK TABLES;
40
+
41
+ --
42
+ -- Temporary view structure for view `sample_view`
43
+ --
44
+
45
+ DROP TABLE IF EXISTS `sample_view`;
46
+ /*!50001 DROP VIEW IF EXISTS `sample_view`*/;
47
+ SET @saved_cs_client = @@character_set_client;
48
+ SET character_set_client = utf8;
49
+ /*!50001 CREATE VIEW `sample_view` AS SELECT
50
+ 1 AS `name`*/;
51
+ SET character_set_client = @saved_cs_client;
52
+
53
+ --
54
+ -- Final view structure for view `sample_view`
55
+ --
56
+
57
+ /*!50001 DROP VIEW IF EXISTS `sample_view`*/;
58
+ /*!50001 SET @saved_cs_client = @@character_set_client */;
59
+ /*!50001 SET @saved_cs_results = @@character_set_results */;
60
+ /*!50001 SET @saved_col_connection = @@collation_connection */;
61
+ /*!50001 SET character_set_client = utf8 */;
62
+ /*!50001 SET character_set_results = utf8 */;
63
+ /*!50001 SET collation_connection = utf8_general_ci */;
64
+ /*!50001 CREATE ALGORITHM=UNDEFINED */
65
+ /*!50013 DEFINER=`admin`@`%` SQL SECURITY DEFINER */
66
+ /*!50001 VIEW `sample_view` AS select distinct `sample`.`name` AS `name` from `sample` */;
67
+ /*!50001 SET character_set_client = @saved_cs_client */;
68
+ /*!50001 SET character_set_results = @saved_cs_results */;
69
+ /*!50001 SET collation_connection = @saved_col_connection */;
70
+ /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
71
+
72
+ /*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
73
+ /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
74
+ /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
75
+ /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
76
+ /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
77
+ /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
78
+ /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
79
+
80
+ -- Dump completed on 2016-07-01 22:47:38
data/flydata.gemspec CHANGED
Binary file
@@ -48,7 +48,7 @@ class SyncGenerateTableDdl < Component
48
48
  end
49
49
 
50
50
  if missing_tables
51
- missing_tables.each {|missing_table| error_list << { error: "table does not exist in the #{data_source_type_display_name}", table: missing_table } }
51
+ missing_tables.each {|missing_table| error_list << { error: "Table does not exist in the #{data_source_type_display_name}", table: missing_table } }
52
52
  end
53
53
 
54
54
  [flydata_tabledefs, error_list, uk_as_pk_override]
@@ -78,13 +78,6 @@ module SourceMysql
78
78
  end
79
79
  end
80
80
 
81
- # If table_type='VIEW' or engine='MEMORY', raise error.
82
- def check_mysql_table_types
83
- return if @tables.empty?
84
- option = @db_opts.dup.merge(tables: @tables)
85
- FlydataCore::Mysql::TableTypeChecker.new(option).do_check
86
- end
87
-
88
81
  def run_mysql_retention_check
89
82
  FlydataCore::Mysql::NonRdsRetentionChecker.new(@db_opts).do_check
90
83
  end
@@ -202,9 +202,9 @@ module Flydata
202
202
  let(:invalid_tables_str) { 'error_fullsync_1,error_append_2' }
203
203
  let(:tbl_attrs_for_invalid_tables) {[
204
204
  {"table_name"=>"error_fullsync_1", "status"=>"init_sync_pending",
205
- "invalid_table_reason"=>"no primary key defined"},
205
+ "invalid_table_reason"=>"No primary key defined"},
206
206
  {"table_name"=>"error_append_2", "omit_events"=>["delete"], "status"=>"init_sync_pending",
207
- "invalid_table_reason"=>"table does not exist in the MySQL database"},
207
+ "invalid_table_reason"=>"Table does not exist in the MySQL database"},
208
208
  ]}
209
209
 
210
210
  let(:pk_override_hash) { {"Users"=>["id"]} }
@@ -17,7 +17,7 @@ module Fluent
17
17
  tables test_table,test_table_1,test_table_2
18
18
  tables_append_only test_table_3,error_table_4
19
19
  pk_override {"test_table_1":["id1","id2"],"test_table_3":["uid"]}
20
- table_attributes [{"table_name":"test_table","status":"init_sync_completed"},{"table_name":"test_table_1","status":"init_sync_completed","pk_override":["id1","id2"]},{"table_name":"test_table_2","status":"init_sync_pending"},{"table_name":"test_table_3","omit_events":["delete"],"status":"init_sync_pending","uk_as_pk":["uid"]},{"table_name":"error_table_4","omit_events":["delete"],"status":"init_sync_pending","invalid_table_reason":"table does not exist in the MySQL database"}]
20
+ table_attributes [{"table_name":"test_table","status":"init_sync_completed"},{"table_name":"test_table_1","status":"init_sync_completed","pk_override":["id1","id2"]},{"table_name":"test_table_2","status":"init_sync_pending"},{"table_name":"test_table_3","omit_events":["delete"],"status":"init_sync_pending","uk_as_pk":["uid"]},{"table_name":"error_table_4","omit_events":["delete"],"status":"init_sync_pending","invalid_table_reason":"Table does not exist in the MySQL database"}]
21
21
  position_file #{TEST_POSITION_FILE}
22
22
  host localhost
23
23
  port 3306
@@ -244,7 +244,7 @@ EOT
244
244
  {"table_name"=>"test_table_1", "status"=>"init_sync_completed", "pk_override"=>["id1", "id2"]},
245
245
  {"table_name"=>"test_table_2", "status"=>"init_sync_pending"},
246
246
  {"table_name"=>"test_table_3", "omit_events"=>["delete"], "status"=>"init_sync_pending", "uk_as_pk"=>["uid"]},
247
- {"table_name"=>"error_table_4", "omit_events"=>["delete"], "status"=>"init_sync_pending", "invalid_table_reason"=>"table does not exist in the MySQL database"}]
247
+ {"table_name"=>"error_table_4", "omit_events"=>["delete"], "status"=>"init_sync_pending", "invalid_table_reason"=>"Table does not exist in the MySQL database"}]
248
248
  }
249
249
  before do
250
250
  Test.configure_plugin(plugin, config)
@@ -16,7 +16,7 @@ module Fluent
16
16
  tables test_table,test_table_1,test_table_2
17
17
  tables_append_only test_table_3,error_table_4
18
18
  pk_override {"test_table_1":["id1","id2"],"test_table_3":["uid"]}
19
- table_attributes [{"table_name":"test_table","status":"init_sync_completed"},{"table_name":"test_table_1","status":"init_sync_completed","pk_override":["id1","id2"]},{"table_name":"test_table_2","status":"init_sync_pending"},{"table_name":"test_table_3","omit_events":["delete"],"status":"init_sync_pending","uk_as_pk":["uid"]},{"table_name":"error_table_4","omit_events":["delete"],"status":"init_sync_pending","invalid_table_reason":"table does not exist in the MySQL database"}]
19
+ table_attributes [{"table_name":"test_table","status":"init_sync_completed"},{"table_name":"test_table_1","status":"init_sync_completed","pk_override":["id1","id2"]},{"table_name":"test_table_2","status":"init_sync_pending"},{"table_name":"test_table_3","omit_events":["delete"],"status":"init_sync_pending","uk_as_pk":["uid"]},{"table_name":"error_table_4","omit_events":["delete"],"status":"init_sync_pending","invalid_table_reason":"Table does not exist in the MySQL database"}]
20
20
  position_file #{TEST_POSITION_FILE}
21
21
  host localhost
22
22
  port 5433
@@ -39,7 +39,7 @@ EOT
39
39
  {"table_name"=>"test_table_1", "status"=>"init_sync_completed", "pk_override"=>["id1", "id2"]},
40
40
  {"table_name"=>"test_table_2", "status"=>"init_sync_pending"},
41
41
  {"table_name"=>"test_table_3", "omit_events"=>["delete"], "status"=>"init_sync_pending", "uk_as_pk"=>["uid"]},
42
- {"table_name"=>"error_table_4", "omit_events"=>["delete"], "status"=>"init_sync_pending", "invalid_table_reason"=>"table does not exist in the MySQL database"}]
42
+ {"table_name"=>"error_table_4", "omit_events"=>["delete"], "status"=>"init_sync_pending", "invalid_table_reason"=>"Table does not exist in the MySQL database"}]
43
43
  }
44
44
  before do
45
45
  create_file(TEST_POSITION_FILE, "1001:1001:\t\t")
@@ -41,7 +41,7 @@ module SourceMysql
41
41
  it "calls all check methods" do
42
42
  %w(compatibility56_variable mysql_user_compat mysql_protocol_tcp_compat
43
43
  mysql_parameters_compat rds_master_status mysql_binlog_retention
44
- mysql_table_types writing_permissions).each do |method_name|
44
+ writing_permissions).each do |method_name|
45
45
  expect(subject_object).to receive("check_#{method_name}".to_sym)
46
46
  end
47
47
 
@@ -194,53 +194,6 @@ module SourceMysql
194
194
  end
195
195
  end
196
196
 
197
- describe "#check_mysql_table_types" do
198
- subject { subject_object.check_mysql_table_types }
199
-
200
- let(:de_hash) do
201
- { "host" => "test",
202
- "port" => 1234,
203
- "username" => "test",
204
- "password" => "password",
205
- "database" => "test_db",
206
- "tables"=>["normal_table", "engine_table", "view_table"] }
207
- end
208
- let(:normal_table) { {"table_name"=>"normal_table", "table_type"=>"BASE TABLE", "engine"=>"InnoDB"} }
209
- let(:engine_table) { {"table_name"=>"engine_table", "table_type"=>"BASE TABLE", "engine"=>"MEMORY"} }
210
- let(:blackhole_table) { {"table_name"=>"blackhole_table", "table_type"=>"BASE TABLE", "engine"=>"BLACKHOLE"} }
211
- let(:view) { {"table_name"=>"view_table", "table_type"=>"VIEW", "engine"=>nil} }
212
- let(:error) { FlydataCore::MysqlCompatibilityError }
213
- let(:base_error_msg) { "FlyData does not support VIEW and MEMORY,BLACKHOLE STORAGE ENGINE table. Remove following tables from data entry: %s" }
214
- before do
215
- allow(client).to receive(:query).and_return(table_list)
216
- allow(client).to receive(:escape).and_return("aaa")
217
- end
218
- context "where data entry has VIEW and MEMORY engine table" do
219
- let(:error_msg) { base_error_msg % engine_table['table_name'] + ', ' + view['table_name'] }
220
- let(:table_list) { [ engine_table, view ] }
221
- it { expect{subject}.to raise_error(error, /#{error_msg}/) }
222
- end
223
- context "where data entry has MEMORY engine table" do
224
- let(:error_msg) { base_error_msg % engine_table['table_name'] }
225
- let(:table_list) { [ engine_table ] }
226
- it { expect{subject}.to raise_error(error, /#{error_msg}/) }
227
- end
228
- context "where data entry has BLACKHOLE engine table" do
229
- let(:error_msg) { base_error_msg % blackhole_table['table_name'] }
230
- let(:table_list) { [ blackhole_table ] }
231
- it { expect{subject}.to raise_error(error, /#{error_msg}/) }
232
- end
233
- context "where data entry has the VIEW" do
234
- let(:error_msg) { base_error_msg % view['table_name'] }
235
- let(:table_list) { [ view ] }
236
- it { expect{subject}.to raise_error(error, /#{error_msg}/) }
237
- end
238
- context "where data entry does not have either VIEW and ENGINE table" do
239
- let(:table_list) { [ normal_table ] }
240
- it { expect{subject}.to_not raise_error }
241
- end
242
- end
243
-
244
197
  describe "#check_rds_master_status" do
245
198
  subject { subject_object.check_rds_master_status }
246
199
 
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.7.7
4
+ version: 0.7.8
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: 2016-06-30 00:00:00.000000000 Z
15
+ date: 2016-07-05 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: rest-client
@@ -590,6 +590,7 @@ files:
590
590
  - flydata-core/spec/table_def/mysql_table_def_spec.rb
591
591
  - flydata-core/spec/table_def/mysql_to_redshift_table_def_spec.rb
592
592
  - flydata-core/spec/table_def/mysqldump_test_bit_table.dump
593
+ - flydata-core/spec/table_def/mysqldump_test_blackhole_engine.dump
593
594
  - flydata-core/spec/table_def/mysqldump_test_col_comment_with_AUTO_INCREMENT_keyword.dump
594
595
  - flydata-core/spec/table_def/mysqldump_test_col_comment_with_not_null_keyword.dump
595
596
  - flydata-core/spec/table_def/mysqldump_test_col_comment_with_unique_keyword.dump
@@ -597,16 +598,21 @@ files:
597
598
  - flydata-core/spec/table_def/mysqldump_test_col_name_with_space.dump
598
599
  - flydata-core/spec/table_def/mysqldump_test_column_charset.dump
599
600
  - flydata-core/spec/table_def/mysqldump_test_foreign_key.dump
601
+ - flydata-core/spec/table_def/mysqldump_test_memory_engine.dump
602
+ - flydata-core/spec/table_def/mysqldump_test_null_uk.dump
600
603
  - flydata-core/spec/table_def/mysqldump_test_table_all.dump
601
604
  - flydata-core/spec/table_def/mysqldump_test_table_column_comment.dump
602
605
  - flydata-core/spec/table_def/mysqldump_test_table_column_comment_including_invalid_char.dump
603
606
  - flydata-core/spec/table_def/mysqldump_test_table_enum.dump
604
607
  - flydata-core/spec/table_def/mysqldump_test_table_multi_pk.dump
605
608
  - flydata-core/spec/table_def/mysqldump_test_table_no_pk.dump
609
+ - flydata-core/spec/table_def/mysqldump_test_table_only_uk.dump
606
610
  - flydata-core/spec/table_def/mysqldump_test_unique_key.dump
607
611
  - flydata-core/spec/table_def/mysqldump_test_unique_key2.dump
608
612
  - flydata-core/spec/table_def/mysqldump_test_unique_key3.dump
609
613
  - flydata-core/spec/table_def/mysqldump_test_unsigned.dump
614
+ - flydata-core/spec/table_def/mysqldump_test_view1.dump
615
+ - flydata-core/spec/table_def/mysqldump_test_view_and_table.dump
610
616
  - flydata-core/spec/table_def/postgresql_table_def_spec.rb
611
617
  - flydata-core/spec/table_def/redshift_table_def_spec.rb
612
618
  - flydata-core/spec/table_def/sync_redshift_table_def_spec.rb