rubyrep 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (140) hide show
  1. data/History.txt +4 -0
  2. data/License.txt +20 -0
  3. data/Manifest.txt +137 -0
  4. data/README.txt +37 -0
  5. data/Rakefile +30 -0
  6. data/bin/rubyrep +8 -0
  7. data/config/hoe.rb +72 -0
  8. data/config/mysql_config.rb +25 -0
  9. data/config/postgres_config.rb +21 -0
  10. data/config/proxied_test_config.rb +14 -0
  11. data/config/redmine_config.rb +17 -0
  12. data/config/rep_config.rb +20 -0
  13. data/config/requirements.rb +32 -0
  14. data/config/test_config.rb +20 -0
  15. data/lib/rubyrep/base_runner.rb +195 -0
  16. data/lib/rubyrep/command_runner.rb +144 -0
  17. data/lib/rubyrep/committers/buffered_committer.rb +140 -0
  18. data/lib/rubyrep/committers/committers.rb +146 -0
  19. data/lib/rubyrep/configuration.rb +240 -0
  20. data/lib/rubyrep/connection_extenders/connection_extenders.rb +133 -0
  21. data/lib/rubyrep/connection_extenders/jdbc_extender.rb +284 -0
  22. data/lib/rubyrep/connection_extenders/mysql_extender.rb +168 -0
  23. data/lib/rubyrep/connection_extenders/postgresql_extender.rb +261 -0
  24. data/lib/rubyrep/database_proxy.rb +52 -0
  25. data/lib/rubyrep/direct_table_scan.rb +75 -0
  26. data/lib/rubyrep/generate_runner.rb +105 -0
  27. data/lib/rubyrep/initializer.rb +39 -0
  28. data/lib/rubyrep/logged_change.rb +326 -0
  29. data/lib/rubyrep/proxied_table_scan.rb +171 -0
  30. data/lib/rubyrep/proxy_block_cursor.rb +145 -0
  31. data/lib/rubyrep/proxy_connection.rb +318 -0
  32. data/lib/rubyrep/proxy_cursor.rb +44 -0
  33. data/lib/rubyrep/proxy_row_cursor.rb +43 -0
  34. data/lib/rubyrep/proxy_runner.rb +89 -0
  35. data/lib/rubyrep/replication_difference.rb +91 -0
  36. data/lib/rubyrep/replication_extenders/mysql_replication.rb +271 -0
  37. data/lib/rubyrep/replication_extenders/postgresql_replication.rb +204 -0
  38. data/lib/rubyrep/replication_extenders/replication_extenders.rb +26 -0
  39. data/lib/rubyrep/replication_helper.rb +104 -0
  40. data/lib/rubyrep/replication_initializer.rb +307 -0
  41. data/lib/rubyrep/replication_run.rb +48 -0
  42. data/lib/rubyrep/replication_runner.rb +138 -0
  43. data/lib/rubyrep/replicators/replicators.rb +37 -0
  44. data/lib/rubyrep/replicators/two_way_replicator.rb +334 -0
  45. data/lib/rubyrep/scan_progress_printers/progress_bar.rb +65 -0
  46. data/lib/rubyrep/scan_progress_printers/scan_progress_printers.rb +65 -0
  47. data/lib/rubyrep/scan_report_printers/scan_detail_reporter.rb +111 -0
  48. data/lib/rubyrep/scan_report_printers/scan_report_printers.rb +67 -0
  49. data/lib/rubyrep/scan_report_printers/scan_summary_reporter.rb +75 -0
  50. data/lib/rubyrep/scan_runner.rb +25 -0
  51. data/lib/rubyrep/session.rb +177 -0
  52. data/lib/rubyrep/sync_helper.rb +111 -0
  53. data/lib/rubyrep/sync_runner.rb +31 -0
  54. data/lib/rubyrep/syncers/syncers.rb +112 -0
  55. data/lib/rubyrep/syncers/two_way_syncer.rb +174 -0
  56. data/lib/rubyrep/table_scan.rb +54 -0
  57. data/lib/rubyrep/table_scan_helper.rb +38 -0
  58. data/lib/rubyrep/table_sorter.rb +70 -0
  59. data/lib/rubyrep/table_spec_resolver.rb +136 -0
  60. data/lib/rubyrep/table_sync.rb +68 -0
  61. data/lib/rubyrep/trigger_mode_switcher.rb +63 -0
  62. data/lib/rubyrep/type_casting_cursor.rb +31 -0
  63. data/lib/rubyrep/uninstall_runner.rb +92 -0
  64. data/lib/rubyrep/version.rb +9 -0
  65. data/lib/rubyrep.rb +68 -0
  66. data/script/destroy +14 -0
  67. data/script/generate +14 -0
  68. data/script/txt2html +74 -0
  69. data/setup.rb +1585 -0
  70. data/sims/performance/big_rep_spec.rb +100 -0
  71. data/sims/performance/big_scan_spec.rb +57 -0
  72. data/sims/performance/big_sync_spec.rb +141 -0
  73. data/sims/performance/performance.rake +228 -0
  74. data/sims/sim_helper.rb +24 -0
  75. data/spec/base_runner_spec.rb +218 -0
  76. data/spec/buffered_committer_spec.rb +271 -0
  77. data/spec/command_runner_spec.rb +145 -0
  78. data/spec/committers_spec.rb +174 -0
  79. data/spec/configuration_spec.rb +198 -0
  80. data/spec/connection_extender_interface_spec.rb +138 -0
  81. data/spec/connection_extenders_registration_spec.rb +129 -0
  82. data/spec/database_proxy_spec.rb +48 -0
  83. data/spec/database_rake_spec.rb +40 -0
  84. data/spec/db_specific_connection_extenders_spec.rb +34 -0
  85. data/spec/db_specific_replication_extenders_spec.rb +38 -0
  86. data/spec/direct_table_scan_spec.rb +61 -0
  87. data/spec/generate_runner_spec.rb +84 -0
  88. data/spec/initializer_spec.rb +46 -0
  89. data/spec/logged_change_spec.rb +480 -0
  90. data/spec/postgresql_replication_spec.rb +48 -0
  91. data/spec/postgresql_support_spec.rb +57 -0
  92. data/spec/progress_bar_spec.rb +77 -0
  93. data/spec/proxied_table_scan_spec.rb +151 -0
  94. data/spec/proxy_block_cursor_spec.rb +197 -0
  95. data/spec/proxy_connection_spec.rb +399 -0
  96. data/spec/proxy_cursor_spec.rb +56 -0
  97. data/spec/proxy_row_cursor_spec.rb +66 -0
  98. data/spec/proxy_runner_spec.rb +70 -0
  99. data/spec/replication_difference_spec.rb +160 -0
  100. data/spec/replication_extender_interface_spec.rb +365 -0
  101. data/spec/replication_extenders_spec.rb +32 -0
  102. data/spec/replication_helper_spec.rb +121 -0
  103. data/spec/replication_initializer_spec.rb +477 -0
  104. data/spec/replication_run_spec.rb +166 -0
  105. data/spec/replication_runner_spec.rb +213 -0
  106. data/spec/replicators_spec.rb +31 -0
  107. data/spec/rubyrep_spec.rb +8 -0
  108. data/spec/scan_detail_reporter_spec.rb +119 -0
  109. data/spec/scan_progress_printers_spec.rb +68 -0
  110. data/spec/scan_report_printers_spec.rb +67 -0
  111. data/spec/scan_runner_spec.rb +50 -0
  112. data/spec/scan_summary_reporter_spec.rb +61 -0
  113. data/spec/session_spec.rb +212 -0
  114. data/spec/spec.opts +1 -0
  115. data/spec/spec_helper.rb +295 -0
  116. data/spec/sync_helper_spec.rb +157 -0
  117. data/spec/sync_runner_spec.rb +78 -0
  118. data/spec/syncers_spec.rb +171 -0
  119. data/spec/table_scan_helper_spec.rb +29 -0
  120. data/spec/table_scan_spec.rb +49 -0
  121. data/spec/table_sorter_spec.rb +31 -0
  122. data/spec/table_spec_resolver_spec.rb +102 -0
  123. data/spec/table_sync_spec.rb +84 -0
  124. data/spec/trigger_mode_switcher_spec.rb +83 -0
  125. data/spec/two_way_replicator_spec.rb +551 -0
  126. data/spec/two_way_syncer_spec.rb +256 -0
  127. data/spec/type_casting_cursor_spec.rb +50 -0
  128. data/spec/uninstall_runner_spec.rb +86 -0
  129. data/tasks/database.rake +439 -0
  130. data/tasks/deployment.rake +29 -0
  131. data/tasks/environment.rake +9 -0
  132. data/tasks/java.rake +37 -0
  133. data/tasks/redmine_test.rake +47 -0
  134. data/tasks/rspec.rake +68 -0
  135. data/tasks/rubyrep.tailor +18 -0
  136. data/tasks/stats.rake +19 -0
  137. data/tasks/task_helper.rb +20 -0
  138. data.tar.gz.sig +0 -0
  139. metadata +243 -0
  140. metadata.gz.sig +0 -0
metadata ADDED
@@ -0,0 +1,243 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rubyrep
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Arndt Lehmann
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain:
11
+ - |
12
+ -----BEGIN CERTIFICATE-----
13
+ MIIDNjCCAh6gAwIBAgIBADANBgkqhkiG9w0BAQUFADBBMQ0wCwYDVQQDDARtYWls
14
+ MRswGQYKCZImiZPyLGQBGRYLYXJuZHRsZWhtYW4xEzARBgoJkiaJk/IsZAEZFgNj
15
+ b20wHhcNMDkwMzA3MTExMzMxWhcNMTAwMzA3MTExMzMxWjBBMQ0wCwYDVQQDDARt
16
+ YWlsMRswGQYKCZImiZPyLGQBGRYLYXJuZHRsZWhtYW4xEzARBgoJkiaJk/IsZAEZ
17
+ FgNjb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDr5M8x3Tworx3e
18
+ MOBm7nlbEKaNoXwQyD94QD+TOEjhBIYS0k8FmSLDDSlOO7nZo9C3s/Re2UQX8qrl
19
+ nlZk2evdtBn41d+EGhKP4U9WhBZuBw/o3hTS9OgG7h949tF0W7G/P/228zu7M8Vq
20
+ v87UfduiGUNFobNXGZuI5TUu+mZns0YAY63zl+XYAhkx8Rkja/S/eEWRj7R6MMKM
21
+ gE0t83nsGfVJz0CiOTXyL+muFVTIMr4SYx2DtLNWfjD3mBOfe5njbFryY21birCx
22
+ 7oIjgGtokQ7usOmakrjA+/WMqwD12IXEpLPIHEkCEwZW6wOW4Y5xNaZS1JaWYhVj
23
+ mvTb203rAgMBAAGjOTA3MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQW
24
+ BBRpG4MSY22WuTuRAqxrPuoTd682SDANBgkqhkiG9w0BAQUFAAOCAQEABOHk/ENb
25
+ syxFX5fvF4QdXJC/RB5OPgFETqwiTKnbswdL03EBZt8zfRk3696wQY/UJerMKJoO
26
+ fY4C6sl0NDQrRI9PYjJOx7KZflnvJe+S7CSNQBm1g7hnUAg4GGmx8hkpKPacz/zQ
27
+ wMfthGez16Esen45wV43XKG/0WHzigy0RYIdMe2SAhGWATMTl1wBe5ZEQat44Gh3
28
+ fiEbx2KP1Es4n8tbpP0fRLTjGuIeaBnPJk0+MWkpRGNQQmSVWg3OKFjuqPCrrlz0
29
+ TBlMg/c7ZMp/TyKZu2qQgP4f6wruHcc71omwZR6Z0FdPqvIVM5HmTAAGm1/ZXzad
30
+ NwT26VZnE2nr8g==
31
+ -----END CERTIFICATE-----
32
+
33
+ date: 2009-03-08 00:00:00 +09:00
34
+ default_executable:
35
+ dependencies:
36
+ - !ruby/object:Gem::Dependency
37
+ name: activesupport
38
+ type: :runtime
39
+ version_requirement:
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ requirements:
42
+ - - ">="
43
+ - !ruby/object:Gem::Version
44
+ version: 2.2.2
45
+ version:
46
+ - !ruby/object:Gem::Dependency
47
+ name: activerecord
48
+ type: :runtime
49
+ version_requirement:
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: 2.2.2
55
+ version:
56
+ - !ruby/object:Gem::Dependency
57
+ name: hoe
58
+ type: :development
59
+ version_requirement:
60
+ version_requirements: !ruby/object:Gem::Requirement
61
+ requirements:
62
+ - - ">="
63
+ - !ruby/object:Gem::Version
64
+ version: 1.9.0
65
+ version:
66
+ description: Asynchronous master-master replication of relational databases.
67
+ email: mail@arndtlehman.com
68
+ executables:
69
+ - rubyrep
70
+ extensions: []
71
+
72
+ extra_rdoc_files:
73
+ - History.txt
74
+ - License.txt
75
+ - Manifest.txt
76
+ - README.txt
77
+ files:
78
+ - History.txt
79
+ - License.txt
80
+ - Manifest.txt
81
+ - README.txt
82
+ - Rakefile
83
+ - bin/rubyrep
84
+ - config/hoe.rb
85
+ - config/mysql_config.rb
86
+ - config/postgres_config.rb
87
+ - config/proxied_test_config.rb
88
+ - config/redmine_config.rb
89
+ - config/rep_config.rb
90
+ - config/requirements.rb
91
+ - config/test_config.rb
92
+ - lib/rubyrep.rb
93
+ - lib/rubyrep/base_runner.rb
94
+ - lib/rubyrep/command_runner.rb
95
+ - lib/rubyrep/committers/buffered_committer.rb
96
+ - lib/rubyrep/committers/committers.rb
97
+ - lib/rubyrep/configuration.rb
98
+ - lib/rubyrep/connection_extenders/connection_extenders.rb
99
+ - lib/rubyrep/connection_extenders/jdbc_extender.rb
100
+ - lib/rubyrep/connection_extenders/mysql_extender.rb
101
+ - lib/rubyrep/connection_extenders/postgresql_extender.rb
102
+ - lib/rubyrep/database_proxy.rb
103
+ - lib/rubyrep/direct_table_scan.rb
104
+ - lib/rubyrep/generate_runner.rb
105
+ - lib/rubyrep/initializer.rb
106
+ - lib/rubyrep/logged_change.rb
107
+ - lib/rubyrep/proxied_table_scan.rb
108
+ - lib/rubyrep/proxy_block_cursor.rb
109
+ - lib/rubyrep/proxy_connection.rb
110
+ - lib/rubyrep/proxy_cursor.rb
111
+ - lib/rubyrep/proxy_row_cursor.rb
112
+ - lib/rubyrep/proxy_runner.rb
113
+ - lib/rubyrep/replication_difference.rb
114
+ - lib/rubyrep/replication_extenders/mysql_replication.rb
115
+ - lib/rubyrep/replication_extenders/postgresql_replication.rb
116
+ - lib/rubyrep/replication_extenders/replication_extenders.rb
117
+ - lib/rubyrep/replication_helper.rb
118
+ - lib/rubyrep/replication_initializer.rb
119
+ - lib/rubyrep/replication_run.rb
120
+ - lib/rubyrep/replication_runner.rb
121
+ - lib/rubyrep/replicators/replicators.rb
122
+ - lib/rubyrep/replicators/two_way_replicator.rb
123
+ - lib/rubyrep/scan_progress_printers/progress_bar.rb
124
+ - lib/rubyrep/scan_progress_printers/scan_progress_printers.rb
125
+ - lib/rubyrep/scan_report_printers/scan_detail_reporter.rb
126
+ - lib/rubyrep/scan_report_printers/scan_report_printers.rb
127
+ - lib/rubyrep/scan_report_printers/scan_summary_reporter.rb
128
+ - lib/rubyrep/scan_runner.rb
129
+ - lib/rubyrep/session.rb
130
+ - lib/rubyrep/sync_helper.rb
131
+ - lib/rubyrep/sync_runner.rb
132
+ - lib/rubyrep/syncers/syncers.rb
133
+ - lib/rubyrep/syncers/two_way_syncer.rb
134
+ - lib/rubyrep/table_scan.rb
135
+ - lib/rubyrep/table_scan_helper.rb
136
+ - lib/rubyrep/table_sorter.rb
137
+ - lib/rubyrep/table_spec_resolver.rb
138
+ - lib/rubyrep/table_sync.rb
139
+ - lib/rubyrep/trigger_mode_switcher.rb
140
+ - lib/rubyrep/type_casting_cursor.rb
141
+ - lib/rubyrep/uninstall_runner.rb
142
+ - lib/rubyrep/version.rb
143
+ - script/destroy
144
+ - script/generate
145
+ - script/txt2html
146
+ - setup.rb
147
+ - sims/performance/big_rep_spec.rb
148
+ - sims/performance/big_scan_spec.rb
149
+ - sims/performance/big_sync_spec.rb
150
+ - sims/performance/performance.rake
151
+ - sims/sim_helper.rb
152
+ - spec/base_runner_spec.rb
153
+ - spec/buffered_committer_spec.rb
154
+ - spec/command_runner_spec.rb
155
+ - spec/committers_spec.rb
156
+ - spec/configuration_spec.rb
157
+ - spec/connection_extender_interface_spec.rb
158
+ - spec/connection_extenders_registration_spec.rb
159
+ - spec/database_proxy_spec.rb
160
+ - spec/database_rake_spec.rb
161
+ - spec/db_specific_connection_extenders_spec.rb
162
+ - spec/db_specific_replication_extenders_spec.rb
163
+ - spec/direct_table_scan_spec.rb
164
+ - spec/generate_runner_spec.rb
165
+ - spec/initializer_spec.rb
166
+ - spec/logged_change_spec.rb
167
+ - spec/postgresql_replication_spec.rb
168
+ - spec/postgresql_support_spec.rb
169
+ - spec/progress_bar_spec.rb
170
+ - spec/proxied_table_scan_spec.rb
171
+ - spec/proxy_block_cursor_spec.rb
172
+ - spec/proxy_connection_spec.rb
173
+ - spec/proxy_cursor_spec.rb
174
+ - spec/proxy_row_cursor_spec.rb
175
+ - spec/proxy_runner_spec.rb
176
+ - spec/replication_difference_spec.rb
177
+ - spec/replication_extender_interface_spec.rb
178
+ - spec/replication_extenders_spec.rb
179
+ - spec/replication_helper_spec.rb
180
+ - spec/replication_initializer_spec.rb
181
+ - spec/replication_run_spec.rb
182
+ - spec/replication_runner_spec.rb
183
+ - spec/replicators_spec.rb
184
+ - spec/rubyrep_spec.rb
185
+ - spec/scan_detail_reporter_spec.rb
186
+ - spec/scan_progress_printers_spec.rb
187
+ - spec/scan_report_printers_spec.rb
188
+ - spec/scan_runner_spec.rb
189
+ - spec/scan_summary_reporter_spec.rb
190
+ - spec/session_spec.rb
191
+ - spec/spec.opts
192
+ - spec/spec_helper.rb
193
+ - spec/sync_helper_spec.rb
194
+ - spec/sync_runner_spec.rb
195
+ - spec/syncers_spec.rb
196
+ - spec/table_scan_helper_spec.rb
197
+ - spec/table_scan_spec.rb
198
+ - spec/table_sorter_spec.rb
199
+ - spec/table_spec_resolver_spec.rb
200
+ - spec/table_sync_spec.rb
201
+ - spec/trigger_mode_switcher_spec.rb
202
+ - spec/two_way_replicator_spec.rb
203
+ - spec/two_way_syncer_spec.rb
204
+ - spec/type_casting_cursor_spec.rb
205
+ - spec/uninstall_runner_spec.rb
206
+ - tasks/database.rake
207
+ - tasks/deployment.rake
208
+ - tasks/environment.rake
209
+ - tasks/java.rake
210
+ - tasks/redmine_test.rake
211
+ - tasks/rspec.rake
212
+ - tasks/rubyrep.tailor
213
+ - tasks/stats.rake
214
+ - tasks/task_helper.rb
215
+ has_rdoc: true
216
+ homepage: http://rubyrep.rubyforge.org
217
+ post_install_message:
218
+ rdoc_options:
219
+ - --main
220
+ - README.txt
221
+ require_paths:
222
+ - lib
223
+ required_ruby_version: !ruby/object:Gem::Requirement
224
+ requirements:
225
+ - - ">="
226
+ - !ruby/object:Gem::Version
227
+ version: "0"
228
+ version:
229
+ required_rubygems_version: !ruby/object:Gem::Requirement
230
+ requirements:
231
+ - - ">="
232
+ - !ruby/object:Gem::Version
233
+ version: "0"
234
+ version:
235
+ requirements: []
236
+
237
+ rubyforge_project: rubyrep
238
+ rubygems_version: 1.3.1
239
+ signing_key:
240
+ specification_version: 2
241
+ summary: Asynchronous master-master replication of relational databases.
242
+ test_files: []
243
+
metadata.gz.sig ADDED
Binary file