flydata 0.6.3 → 0.6.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Rakefile +2 -2
- data/VERSION +1 -1
- data/bin/fdredshift +78 -0
- data/circle.yml +1 -1
- data/ext/flydata/{parser/mysql → source_mysql/parser}/.gitignore +0 -0
- data/ext/flydata/{parser/mysql → source_mysql/parser}/dump_parser_ext.cpp +3 -3
- data/ext/flydata/source_mysql/parser/extconf.rb +3 -0
- data/ext/flydata/{parser/mysql → source_mysql/parser}/parser.txt +0 -0
- data/ext/flydata/{parser/mysql → source_mysql/parser}/sql_parser.cpp +0 -0
- data/ext/flydata/{parser/mysql → source_mysql/parser}/sql_parser.h +0 -0
- data/flydata-core/lib/flydata-core/mysql/binlog_pos.rb +34 -32
- data/flydata-core/lib/flydata-core/mysql/compatibility_checker.rb +20 -0
- data/flydata-core/lib/flydata-core/table_def/mysql_table_def.rb +12 -4
- data/flydata-core/lib/flydata-core/table_def/redshift_table_def.rb +60 -6
- data/flydata-core/spec/mysql/binlog_pos_spec.rb +474 -0
- data/flydata-core/spec/table_def/mysql_table_def_spec.rb +57 -0
- data/flydata-core/spec/table_def/mysql_to_redshift_table_def_spec.rb +174 -20
- data/flydata-core/spec/table_def/mysqldump_test_col_comment_with_AUTO_INCREMENT_keyword.dump +43 -0
- data/flydata-core/spec/table_def/mysqldump_test_col_comment_with_not_null_keyword.dump +43 -0
- data/flydata-core/spec/table_def/mysqldump_test_col_comment_with_unique_keyword.dump +43 -0
- data/flydata-core/spec/table_def/mysqldump_test_col_comment_with_unsigned_keyword.dump +43 -0
- data/flydata-core/spec/table_def/redshift_table_def_spec.rb +41 -8
- data/flydata.gemspec +0 -0
- data/lib/flydata/cli.rb +11 -5
- data/lib/flydata/command/base.rb +14 -1
- data/lib/flydata/command/exclusive_runnable.rb +42 -12
- data/lib/flydata/command/helper.rb +6 -6
- data/lib/flydata/command/sender.rb +4 -3
- data/lib/flydata/command/setup.rb +30 -381
- data/lib/flydata/command/stop.rb +1 -0
- data/lib/flydata/command/sync.rb +273 -301
- data/lib/flydata/compatibility_check.rb +24 -117
- data/lib/flydata/fluent-plugins/in_mysql_binlog_flydata.rb +3 -3
- data/lib/flydata/fluent-plugins/mysql/alter_table_query_handler.rb +2 -2
- data/lib/flydata/fluent-plugins/mysql/binlog_record_handler.rb +6 -6
- data/lib/flydata/fluent-plugins/mysql/truncate_table_query_handler.rb +0 -1
- data/lib/flydata/parser.rb +14 -0
- data/lib/flydata/{parser_provider.rb → parser/parser_provider.rb} +6 -4
- data/lib/flydata/parser/source_table.rb +33 -0
- data/lib/flydata/source.rb +105 -0
- data/lib/flydata/source/component.rb +21 -0
- data/lib/flydata/source/errors.rb +7 -0
- data/lib/flydata/source/generate_source_dump.rb +72 -0
- data/lib/flydata/source/parse_dump_and_send.rb +52 -0
- data/lib/flydata/source/setup.rb +31 -0
- data/lib/flydata/source/source_pos.rb +45 -0
- data/lib/flydata/source/sync.rb +56 -0
- data/lib/flydata/source/sync_generate_table_ddl.rb +43 -0
- data/lib/flydata/source_file/setup.rb +17 -0
- data/lib/flydata/source_file/sync.rb +14 -0
- data/lib/flydata/{command → source_mysql/command}/mysql.rb +2 -1
- data/lib/flydata/{command → source_mysql/command}/mysql_command_base.rb +2 -4
- data/lib/flydata/{command → source_mysql/command}/mysqlbinlog.rb +2 -1
- data/lib/flydata/{command → source_mysql/command}/mysqldump.rb +2 -1
- data/lib/flydata/source_mysql/generate_source_dump.rb +53 -0
- data/lib/flydata/source_mysql/mysql_compatibility_check.rb +114 -0
- data/lib/flydata/source_mysql/parse_dump_and_send.rb +28 -0
- data/lib/flydata/{parser/mysql → source_mysql/parser}/.gitignore +0 -0
- data/lib/flydata/{parser/mysql → source_mysql/parser}/dump_parser.rb +32 -67
- data/lib/flydata/{parser/mysql → source_mysql/parser}/mysql_alter_table.treetop +0 -0
- data/lib/flydata/source_mysql/setup.rb +24 -0
- data/lib/flydata/source_mysql/source_pos.rb +21 -0
- data/lib/flydata/source_mysql/sync.rb +45 -0
- data/lib/flydata/source_mysql/sync_generate_table_ddl.rb +40 -0
- data/lib/flydata/{mysql → source_mysql}/table_ddl.rb +6 -17
- data/lib/flydata/source_zendesk/sync_generate_table_ddl.rb +30 -0
- data/lib/flydata/source_zendesk/zendesk_flydata_tabledefs.rb +133 -0
- data/lib/flydata/sync_file_manager.rb +132 -73
- data/lib/flydata/table_ddl.rb +18 -0
- data/spec/flydata/cli_spec.rb +1 -0
- data/spec/flydata/command/exclusive_runnable_spec.rb +19 -8
- data/spec/flydata/command/sender_spec.rb +1 -1
- data/spec/flydata/command/setup_spec.rb +4 -4
- data/spec/flydata/command/sync_spec.rb +97 -134
- data/spec/flydata/compatibility_check_spec.rb +16 -289
- data/spec/flydata/fluent-plugins/mysql/alter_table_query_handler_spec.rb +3 -3
- data/spec/flydata/fluent-plugins/mysql/dml_record_handler_spec.rb +1 -1
- data/spec/flydata/fluent-plugins/mysql/shared_query_handler_context.rb +4 -2
- data/spec/flydata/fluent-plugins/mysql/truncate_query_handler_spec.rb +1 -1
- data/spec/flydata/source_mysql/generate_source_dump_spec.rb +69 -0
- data/spec/flydata/source_mysql/mysql_compatibility_check_spec.rb +280 -0
- data/spec/flydata/{parser/mysql → source_mysql/parser}/alter_table_parser_spec.rb +2 -2
- data/spec/flydata/{parser/mysql → source_mysql/parser}/dump_parser_spec.rb +75 -70
- data/spec/flydata/source_mysql/sync_generate_table_ddl_spec.rb +137 -0
- data/spec/flydata/{mysql → source_mysql}/table_ddl_spec.rb +2 -2
- data/spec/flydata/source_spec.rb +140 -0
- data/spec/flydata/source_zendesk/sync_generate_table_ddl_spec.rb +33 -0
- data/spec/flydata/sync_file_manager_spec.rb +157 -77
- data/tmpl/redshift_mysql_data_entry.conf.tmpl +1 -1
- metadata +56 -23
- data/ext/flydata/parser/mysql/extconf.rb +0 -3
- data/lib/flydata/mysql/binlog_position.rb +0 -22
- data/spec/flydata/mysql/binlog_position_spec.rb +0 -35
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.6.
|
4
|
+
version: 0.6.4
|
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-01-
|
15
|
+
date: 2016-01-26 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: rest-client
|
@@ -468,11 +468,12 @@ description: FlyData Agent
|
|
468
468
|
email: sysadmin@flydata.com
|
469
469
|
executables:
|
470
470
|
- fdmysqldump
|
471
|
+
- fdredshift
|
471
472
|
- flydata
|
472
473
|
- serverinfo
|
473
474
|
extensions:
|
474
475
|
- ext/flydata/json/extconf.rb
|
475
|
-
- ext/flydata/parser/
|
476
|
+
- ext/flydata/source_mysql/parser/extconf.rb
|
476
477
|
extra_rdoc_files: []
|
477
478
|
files:
|
478
479
|
- .rspec
|
@@ -486,18 +487,19 @@ files:
|
|
486
487
|
- benchmark/insert_parser_bench.rb
|
487
488
|
- benchmark/insert_parser_prof.rb
|
488
489
|
- bin/fdmysqldump
|
490
|
+
- bin/fdredshift
|
489
491
|
- bin/flydata
|
490
492
|
- bin/serverinfo
|
491
493
|
- circle.yml
|
492
494
|
- ext/flydata/flydata.h
|
493
495
|
- ext/flydata/json/extconf.rb
|
494
496
|
- ext/flydata/json/json_ext.cpp
|
495
|
-
- ext/flydata/parser
|
496
|
-
- ext/flydata/parser/
|
497
|
-
- ext/flydata/parser/
|
498
|
-
- ext/flydata/parser/
|
499
|
-
- ext/flydata/parser/
|
500
|
-
- ext/flydata/parser/
|
497
|
+
- ext/flydata/source_mysql/parser/.gitignore
|
498
|
+
- ext/flydata/source_mysql/parser/dump_parser_ext.cpp
|
499
|
+
- ext/flydata/source_mysql/parser/extconf.rb
|
500
|
+
- ext/flydata/source_mysql/parser/parser.txt
|
501
|
+
- ext/flydata/source_mysql/parser/sql_parser.cpp
|
502
|
+
- ext/flydata/source_mysql/parser/sql_parser.h
|
501
503
|
- flydata-core/.gitignore
|
502
504
|
- flydata-core/.rspec
|
503
505
|
- flydata-core/.travis.yml
|
@@ -548,6 +550,7 @@ files:
|
|
548
550
|
- flydata-core/spec/event/shared_event.rb
|
549
551
|
- flydata-core/spec/fluent/config_helper_spec.rb
|
550
552
|
- flydata-core/spec/logger_spec.rb
|
553
|
+
- flydata-core/spec/mysql/binlog_pos_spec.rb
|
551
554
|
- flydata-core/spec/mysql/command_generator_spec.rb
|
552
555
|
- flydata-core/spec/mysql/compatibility_checker_spec.rb
|
553
556
|
- flydata-core/spec/mysql/config_spec.rb
|
@@ -559,6 +562,10 @@ files:
|
|
559
562
|
- flydata-core/spec/table_def/mysql_table_def_spec.rb
|
560
563
|
- flydata-core/spec/table_def/mysql_to_redshift_table_def_spec.rb
|
561
564
|
- flydata-core/spec/table_def/mysqldump_test_bit_table.dump
|
565
|
+
- flydata-core/spec/table_def/mysqldump_test_col_comment_with_AUTO_INCREMENT_keyword.dump
|
566
|
+
- flydata-core/spec/table_def/mysqldump_test_col_comment_with_not_null_keyword.dump
|
567
|
+
- flydata-core/spec/table_def/mysqldump_test_col_comment_with_unique_keyword.dump
|
568
|
+
- flydata-core/spec/table_def/mysqldump_test_col_comment_with_unsigned_keyword.dump
|
562
569
|
- flydata-core/spec/table_def/mysqldump_test_col_name_with_space.dump
|
563
570
|
- flydata-core/spec/table_def/mysqldump_test_column_charset.dump
|
564
571
|
- flydata-core/spec/table_def/mysqldump_test_foreign_key.dump
|
@@ -593,10 +600,6 @@ files:
|
|
593
600
|
- lib/flydata/command/helper.rb
|
594
601
|
- lib/flydata/command/kill_all.rb
|
595
602
|
- lib/flydata/command/login.rb
|
596
|
-
- lib/flydata/command/mysql.rb
|
597
|
-
- lib/flydata/command/mysql_command_base.rb
|
598
|
-
- lib/flydata/command/mysqlbinlog.rb
|
599
|
-
- lib/flydata/command/mysqldump.rb
|
600
603
|
- lib/flydata/command/restart.rb
|
601
604
|
- lib/flydata/command/routine.rb
|
602
605
|
- lib/flydata/command/sender.rb
|
@@ -651,17 +654,43 @@ files:
|
|
651
654
|
- lib/flydata/json.rb
|
652
655
|
- lib/flydata/json/.gitignore
|
653
656
|
- lib/flydata/log_monitor.rb
|
654
|
-
- lib/flydata/mysql/binlog_position.rb
|
655
|
-
- lib/flydata/mysql/table_ddl.rb
|
656
657
|
- lib/flydata/output/forwarder.rb
|
657
|
-
- lib/flydata/parser
|
658
|
-
- lib/flydata/parser/
|
659
|
-
- lib/flydata/parser/
|
660
|
-
- lib/flydata/parser_provider.rb
|
658
|
+
- lib/flydata/parser.rb
|
659
|
+
- lib/flydata/parser/parser_provider.rb
|
660
|
+
- lib/flydata/parser/source_table.rb
|
661
661
|
- lib/flydata/preference/data_entry_preference.rb
|
662
662
|
- lib/flydata/proxy.rb
|
663
663
|
- lib/flydata/queueable_thread.rb
|
664
|
+
- lib/flydata/source.rb
|
665
|
+
- lib/flydata/source/component.rb
|
666
|
+
- lib/flydata/source/errors.rb
|
667
|
+
- lib/flydata/source/generate_source_dump.rb
|
668
|
+
- lib/flydata/source/parse_dump_and_send.rb
|
669
|
+
- lib/flydata/source/setup.rb
|
670
|
+
- lib/flydata/source/source_pos.rb
|
671
|
+
- lib/flydata/source/sync.rb
|
672
|
+
- lib/flydata/source/sync_generate_table_ddl.rb
|
673
|
+
- lib/flydata/source_file/setup.rb
|
674
|
+
- lib/flydata/source_file/sync.rb
|
675
|
+
- lib/flydata/source_mysql/command/mysql.rb
|
676
|
+
- lib/flydata/source_mysql/command/mysql_command_base.rb
|
677
|
+
- lib/flydata/source_mysql/command/mysqlbinlog.rb
|
678
|
+
- lib/flydata/source_mysql/command/mysqldump.rb
|
679
|
+
- lib/flydata/source_mysql/generate_source_dump.rb
|
680
|
+
- lib/flydata/source_mysql/mysql_compatibility_check.rb
|
681
|
+
- lib/flydata/source_mysql/parse_dump_and_send.rb
|
682
|
+
- lib/flydata/source_mysql/parser/.gitignore
|
683
|
+
- lib/flydata/source_mysql/parser/dump_parser.rb
|
684
|
+
- lib/flydata/source_mysql/parser/mysql_alter_table.treetop
|
685
|
+
- lib/flydata/source_mysql/setup.rb
|
686
|
+
- lib/flydata/source_mysql/source_pos.rb
|
687
|
+
- lib/flydata/source_mysql/sync.rb
|
688
|
+
- lib/flydata/source_mysql/sync_generate_table_ddl.rb
|
689
|
+
- lib/flydata/source_mysql/table_ddl.rb
|
690
|
+
- lib/flydata/source_zendesk/sync_generate_table_ddl.rb
|
691
|
+
- lib/flydata/source_zendesk/zendesk_flydata_tabledefs.rb
|
664
692
|
- lib/flydata/sync_file_manager.rb
|
693
|
+
- lib/flydata/table_ddl.rb
|
665
694
|
- lib/flydata/util/encryptor.rb
|
666
695
|
- lib/flydata/util/file_util.rb
|
667
696
|
- lib/flydata/util/shell.rb
|
@@ -712,11 +741,15 @@ files:
|
|
712
741
|
- spec/flydata/helper/worker_spec.rb
|
713
742
|
- spec/flydata/heroku_spec.rb
|
714
743
|
- spec/flydata/json/json_ext_spec.rb
|
715
|
-
- spec/flydata/mysql/binlog_position_spec.rb
|
716
|
-
- spec/flydata/mysql/table_ddl_spec.rb
|
717
744
|
- spec/flydata/output/forwarder_spec.rb
|
718
|
-
- spec/flydata/
|
719
|
-
- spec/flydata/
|
745
|
+
- spec/flydata/source_mysql/generate_source_dump_spec.rb
|
746
|
+
- spec/flydata/source_mysql/mysql_compatibility_check_spec.rb
|
747
|
+
- spec/flydata/source_mysql/parser/alter_table_parser_spec.rb
|
748
|
+
- spec/flydata/source_mysql/parser/dump_parser_spec.rb
|
749
|
+
- spec/flydata/source_mysql/sync_generate_table_ddl_spec.rb
|
750
|
+
- spec/flydata/source_mysql/table_ddl_spec.rb
|
751
|
+
- spec/flydata/source_spec.rb
|
752
|
+
- spec/flydata/source_zendesk/sync_generate_table_ddl_spec.rb
|
720
753
|
- spec/flydata/sync_file_manager_spec.rb
|
721
754
|
- spec/flydata/util/encryptor_spec.rb
|
722
755
|
- spec/flydata/util/file_util_spec.rb
|
@@ -1,22 +0,0 @@
|
|
1
|
-
module Flydata
|
2
|
-
module Mysql
|
3
|
-
class BinLogPosition
|
4
|
-
include Comparable
|
5
|
-
attr_accessor :file, :pos
|
6
|
-
|
7
|
-
def initialize(binlog_content)
|
8
|
-
items = binlog_content.split("\t")
|
9
|
-
@file = items[0]
|
10
|
-
@pos = items[1].to_i
|
11
|
-
end
|
12
|
-
|
13
|
-
def <=>(obj)
|
14
|
-
(self.file <=> obj.file) == 0 ? (self.pos <=> obj.pos) : (self.file <=> obj.file)
|
15
|
-
end
|
16
|
-
|
17
|
-
def to_s
|
18
|
-
"#{file}\t#{pos}"
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
@@ -1,35 +0,0 @@
|
|
1
|
-
require 'fluent_plugins_spec_helper'
|
2
|
-
require 'flydata/mysql/binlog_position'
|
3
|
-
module Flydata
|
4
|
-
module Mysql
|
5
|
-
describe BinLogPosition do
|
6
|
-
let(:pos1) { BinLogPosition.new('mysql-bin.000064 107') }
|
7
|
-
let(:pos2) { BinLogPosition.new('mysql-bin.000064 978') }
|
8
|
-
let(:pos3) { BinLogPosition.new('mysql-bin.000065 107') }
|
9
|
-
let(:pos4) { BinLogPosition.new('mysql-bin.000064 1107') }
|
10
|
-
let(:pos5) { BinLogPosition.new('mysql-bin.000064 1107') }
|
11
|
-
|
12
|
-
it 'should respond to greater than or equal to operator' do
|
13
|
-
expect(pos1.respond_to?('>=')).to be_truthy
|
14
|
-
end
|
15
|
-
|
16
|
-
context 'when testing greater than or equal to operator' do
|
17
|
-
it 'should return true when it is compared with another object with smaller position value' do
|
18
|
-
expect(pos2 >= pos1).to be_truthy
|
19
|
-
end
|
20
|
-
|
21
|
-
it 'should return false when it is compared with another object with bigger binlogfile value' do
|
22
|
-
expect(pos2 >= pos3).to be_falsey
|
23
|
-
end
|
24
|
-
|
25
|
-
it 'should compare the position as an integer (and not string)' do
|
26
|
-
expect(pos2 >= pos4).to be_falsey
|
27
|
-
end
|
28
|
-
|
29
|
-
it 'should return true when it is compared with another object with equal value' do
|
30
|
-
expect(pos4 >= pos5).to be_truthy
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|