activerecord-import 0.3.1 → 0.4.0

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.
Files changed (75) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +31 -0
  3. data/Brewfile +3 -0
  4. data/Gemfile +39 -0
  5. data/Rakefile +1 -24
  6. data/activerecord-import.gemspec +22 -0
  7. data/benchmarks/README +32 -0
  8. data/benchmarks/benchmark.rb +64 -0
  9. data/benchmarks/boot.rb +18 -0
  10. data/benchmarks/lib/base.rb +137 -0
  11. data/benchmarks/lib/cli_parser.rb +103 -0
  12. data/benchmarks/lib/float.rb +15 -0
  13. data/benchmarks/lib/mysql_benchmark.rb +22 -0
  14. data/benchmarks/lib/output_to_csv.rb +18 -0
  15. data/benchmarks/lib/output_to_html.rb +69 -0
  16. data/benchmarks/models/test_innodb.rb +3 -0
  17. data/benchmarks/models/test_memory.rb +3 -0
  18. data/benchmarks/models/test_myisam.rb +3 -0
  19. data/benchmarks/schema/mysql_schema.rb +16 -0
  20. data/gemfiles/3.1.gemfile +4 -0
  21. data/gemfiles/3.2.gemfile +4 -0
  22. data/gemfiles/4.0.gemfile +4 -0
  23. data/lib/activerecord-import/active_record/adapters/abstract_adapter.rb +0 -1
  24. data/lib/activerecord-import/active_record/adapters/em_mysql2_adapter.rb +8 -0
  25. data/lib/activerecord-import/adapters/abstract_adapter.rb +5 -58
  26. data/lib/activerecord-import/adapters/em_mysql2_adapter.rb +5 -0
  27. data/lib/activerecord-import/adapters/mysql_adapter.rb +50 -3
  28. data/lib/activerecord-import/adapters/sqlite3_adapter.rb +28 -3
  29. data/lib/activerecord-import/base.rb +3 -2
  30. data/lib/activerecord-import/em_mysql2.rb +7 -0
  31. data/lib/activerecord-import/import.rb +29 -29
  32. data/lib/activerecord-import/synchronize.rb +11 -10
  33. data/lib/activerecord-import/value_sets_parser.rb +54 -0
  34. data/lib/activerecord-import/version.rb +5 -0
  35. data/test/adapters/em_mysql2.rb +1 -0
  36. data/test/adapters/jdbcmysql.rb +1 -0
  37. data/test/adapters/mysql.rb +1 -0
  38. data/test/adapters/mysql2.rb +1 -0
  39. data/test/adapters/mysql2spatial.rb +1 -0
  40. data/test/adapters/mysqlspatial.rb +1 -0
  41. data/test/adapters/postgis.rb +1 -0
  42. data/test/adapters/postgresql.rb +1 -0
  43. data/test/adapters/seamless_database_pool.rb +1 -0
  44. data/test/adapters/spatialite.rb +1 -0
  45. data/test/adapters/sqlite3.rb +1 -0
  46. data/test/database.yml.sample +57 -0
  47. data/test/em_mysql2/import_test.rb +6 -0
  48. data/test/import_test.rb +350 -0
  49. data/test/jdbcmysql/import_test.rb +6 -0
  50. data/test/models/book.rb +3 -0
  51. data/test/models/group.rb +3 -0
  52. data/test/models/topic.rb +7 -0
  53. data/test/models/widget.rb +7 -0
  54. data/test/mysql/import_test.rb +6 -0
  55. data/test/mysql2/import_test.rb +6 -0
  56. data/test/mysqlspatial/import_test.rb +6 -0
  57. data/test/mysqlspatial2/import_test.rb +6 -0
  58. data/test/postgis/import_test.rb +4 -0
  59. data/test/postgresql/import_test.rb +4 -0
  60. data/test/schema/generic_schema.rb +104 -0
  61. data/test/schema/mysql_schema.rb +17 -0
  62. data/test/schema/version.rb +10 -0
  63. data/test/sqlite3/import_test.rb +52 -0
  64. data/test/support/active_support/test_case_extensions.rb +67 -0
  65. data/test/support/factories.rb +19 -0
  66. data/test/support/generate.rb +29 -0
  67. data/test/support/mysql/assertions.rb +55 -0
  68. data/test/support/mysql/import_examples.rb +147 -0
  69. data/test/support/postgresql/import_examples.rb +21 -0
  70. data/test/synchronize_test.rb +22 -0
  71. data/test/test_helper.rb +48 -0
  72. data/test/value_sets_bytes_parser_test.rb +96 -0
  73. data/test/value_sets_records_parser_test.rb +32 -0
  74. metadata +120 -58
  75. data/VERSION +0 -1
@@ -0,0 +1,21 @@
1
+ # encoding: UTF-8
2
+ def should_support_postgresql_import_functionality
3
+ describe "#supports_imports?" do
4
+ it "should support import" do
5
+ assert ActiveRecord::Base.supports_import?
6
+ end
7
+ end
8
+
9
+ describe "#import" do
10
+ it "should import with a single insert" do
11
+ # see ActiveRecord::ConnectionAdapters::AbstractAdapter test for more specifics
12
+ assert_difference "Topic.count", +10 do
13
+ result = Topic.import Build(3, :topics)
14
+ assert_equal 1, result.num_inserts
15
+
16
+ result = Topic.import Build(7, :topics)
17
+ assert_equal 1, result.num_inserts
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,22 @@
1
+ require File.expand_path('../test_helper', __FILE__)
2
+
3
+ describe ".synchronize" do
4
+ let(:topics){ Generate(3, :topics) }
5
+ let(:titles){ %w(one two three) }
6
+
7
+ setup do
8
+ # update records outside of ActiveRecord knowing about it
9
+ Topic.connection.execute( "UPDATE #{Topic.table_name} SET title='#{titles[0]}_haha' WHERE id=#{topics[0].id}", "Updating record 1 without ActiveRecord" )
10
+ Topic.connection.execute( "UPDATE #{Topic.table_name} SET title='#{titles[1]}_haha' WHERE id=#{topics[1].id}", "Updating record 2 without ActiveRecord" )
11
+ Topic.connection.execute( "UPDATE #{Topic.table_name} SET title='#{titles[2]}_haha' WHERE id=#{topics[2].id}", "Updating record 3 without ActiveRecord" )
12
+ end
13
+
14
+ it "reloads data for the specified records" do
15
+ Book.synchronize topics
16
+
17
+ actual_titles = topics.map(&:title)
18
+ assert_equal "#{titles[0]}_haha", actual_titles[0], "the first record was not correctly updated"
19
+ assert_equal "#{titles[1]}_haha", actual_titles[1], "the second record was not correctly updated"
20
+ assert_equal "#{titles[2]}_haha", actual_titles[2], "the third record was not correctly updated"
21
+ end
22
+ end
@@ -0,0 +1,48 @@
1
+ require 'pathname'
2
+ test_dir = Pathname.new File.dirname(__FILE__)
3
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
4
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
5
+
6
+ require "fileutils"
7
+
8
+ ENV["RAILS_ENV"] = "test"
9
+
10
+ require "bundler"
11
+ Bundler.setup
12
+
13
+ require "logger"
14
+ require 'test/unit'
15
+ require "active_record"
16
+ require "active_record/fixtures"
17
+ require "active_support/test_case"
18
+
19
+ require "delorean"
20
+ require "ruby-debug" if RUBY_VERSION.to_f < 1.9
21
+
22
+ adapter = ENV["ARE_DB"] || "sqlite3"
23
+
24
+ FileUtils.mkdir_p 'log'
25
+ ActiveRecord::Base.logger = Logger.new("log/test.log")
26
+ ActiveRecord::Base.logger.level = Logger::DEBUG
27
+ ActiveRecord::Base.configurations["test"] = YAML.load_file(test_dir.join("database.yml"))[adapter]
28
+
29
+ require "activerecord-import"
30
+ ActiveRecord::Base.establish_connection "test"
31
+
32
+ ActiveSupport::Notifications.subscribe(/active_record.sql/) do |event, _, _, _, hsh|
33
+ ActiveRecord::Base.logger.info hsh[:sql]
34
+ end
35
+
36
+ require "factory_girl"
37
+ Dir[File.dirname(__FILE__) + "/support/**/*.rb"].each{ |file| require file }
38
+
39
+ # Load base/generic schema
40
+ require test_dir.join("schema/version")
41
+ require test_dir.join("schema/generic_schema")
42
+ adapter_schema = test_dir.join("schema/#{adapter}_schema.rb")
43
+ require adapter_schema if File.exists?(adapter_schema)
44
+
45
+ Dir[File.dirname(__FILE__) + "/models/*.rb"].each{ |file| require file }
46
+
47
+ # Prevent this deprecation warning from breaking the tests.
48
+ Rake::FileList.send(:remove_method, :import)
@@ -0,0 +1,96 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/test_helper')
2
+
3
+ require 'activerecord-import/value_sets_parser'
4
+
5
+ describe ActiveRecord::Import::ValuesSetsBytesParser do
6
+ context "#parse - computing insert value sets" do
7
+ let(:parser){ ActiveRecord::Import::ValuesSetsBytesParser }
8
+ let(:base_sql){ "INSERT INTO atable (a,b,c)" }
9
+ let(:values){ [ "(1,2,3)", "(2,3,4)", "(3,4,5)" ] }
10
+
11
+ context "when the max allowed bytes is 33 and the base SQL is 26 bytes" do
12
+ it "should return 3 value sets when given 3 value sets of 7 bytes a piece" do
13
+ value_sets = parser.parse values, :reserved_bytes => base_sql.size, :max_bytes => 33
14
+ assert_equal 3, value_sets.size
15
+ end
16
+ end
17
+
18
+ context "when the max allowed bytes is 40 and the base SQL is 26 bytes" do
19
+ it "should return 3 value sets when given 3 value sets of 7 bytes a piece" do
20
+ value_sets = parser.parse values, :reserved_bytes => base_sql.size, :max_bytes => 40
21
+ assert_equal 3, value_sets.size
22
+ end
23
+ end
24
+
25
+ context "when the max allowed bytes is 41 and the base SQL is 26 bytes" do
26
+ it "should return 2 value sets when given 2 value sets of 7 bytes a piece" do
27
+ value_sets = parser.parse values, :reserved_bytes => base_sql.size, :max_bytes => 41
28
+ assert_equal 2, value_sets.size
29
+ end
30
+ end
31
+
32
+ context "when the max allowed bytes is 48 and the base SQL is 26 bytes" do
33
+ it "should return 2 value sets when given 2 value sets of 7 bytes a piece" do
34
+ value_sets = parser.parse values, :reserved_bytes => base_sql.size, :max_bytes => 48
35
+ assert_equal 2, value_sets.size
36
+ end
37
+ end
38
+
39
+ context "when the max allowed bytes is 49 and the base SQL is 26 bytes" do
40
+ it "should return 1 value sets when given 1 value sets of 7 bytes a piece" do
41
+ value_sets = parser.parse values, :reserved_bytes => base_sql.size, :max_bytes => 49
42
+ assert_equal 1, value_sets.size
43
+ end
44
+ end
45
+
46
+ context "when the max allowed bytes is 999999 and the base SQL is 26 bytes" do
47
+ it "should return 1 value sets when given 1 value sets of 7 bytes a piece" do
48
+ value_sets = parser.parse values, :reserved_bytes => base_sql.size, :max_bytes => 999999
49
+ assert_equal 1, value_sets.size
50
+ end
51
+ end
52
+
53
+ it "should properly build insert value set based on max packet allowed" do
54
+ values = [
55
+ "('1','2','3')",
56
+ "('4','5','6')",
57
+ "('7','8','9')" ]
58
+
59
+ values_size_in_bytes = values.sum {|value| value.bytesize }
60
+ base_sql_size_in_bytes = 15
61
+ max_bytes = 30
62
+
63
+ value_sets = parser.parse values, reserved_bytes: base_sql_size_in_bytes, max_bytes: max_bytes
64
+ assert_equal 3, value_sets.size, 'Three value sets were expected!'
65
+
66
+ # Each element in the value_sets array must be an array
67
+ value_sets.each_with_index { |e,i|
68
+ assert_kind_of Array, e, "Element #{i} was expected to be an Array!" }
69
+
70
+ # Each element in the values array should have a 1:1 correlation to the elements
71
+ # in the returned value_sets arrays
72
+ assert_equal values[0], value_sets[0].first
73
+ assert_equal values[1], value_sets[1].first
74
+ assert_equal values[2], value_sets[2].first
75
+ end
76
+
77
+ context "data contains multi-byte chars" do
78
+ it "should properly build insert value set based on max packet allowed" do
79
+ # each accented e should be 2 bytes, so each entry is 6 bytes instead of 5
80
+ values = [
81
+ "('é')",
82
+ "('é')" ]
83
+
84
+ base_sql_size_in_bytes = 15
85
+ max_bytes = 26
86
+
87
+ values_size_in_bytes = values.sum {|value| value.bytesize }
88
+ value_sets = parser.parse values, reserved_bytes: base_sql_size_in_bytes, max_bytes: max_bytes
89
+
90
+ assert_equal 2, value_sets.size, 'Two value sets were expected!'
91
+ end
92
+ end
93
+ end
94
+
95
+ end
96
+
@@ -0,0 +1,32 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/test_helper')
2
+
3
+ require 'activerecord-import/value_sets_parser'
4
+
5
+ describe "ActiveRecord::Import::ValuesSetsRecordsParser" do
6
+ context "#parse - computing insert value sets" do
7
+ let(:parser){ ActiveRecord::Import::ValueSetsRecordsParser }
8
+ let(:base_sql){ "INSERT INTO atable (a,b,c)" }
9
+ let(:values){ [ "(1,2,3)", "(2,3,4)", "(3,4,5)" ] }
10
+
11
+ context "when the max number of records is 1" do
12
+ it "should return 3 value sets when given 3 values sets" do
13
+ value_sets = parser.parse values, :max_records => 1
14
+ assert_equal 3, value_sets.size
15
+ end
16
+ end
17
+
18
+ context "when the max number of records is 2" do
19
+ it "should return 2 value sets when given 3 values sets" do
20
+ value_sets = parser.parse values, :max_records => 2
21
+ assert_equal 2, value_sets.size
22
+ end
23
+ end
24
+
25
+ context "when the max number of records is 3" do
26
+ it "should return 1 value sets when given 3 values sets" do
27
+ value_sets = parser.parse values, :max_records => 3
28
+ assert_equal 1, value_sets.size
29
+ end
30
+ end
31
+ end
32
+ end
metadata CHANGED
@@ -1,93 +1,76 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord-import
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
5
- prerelease:
4
+ version: 0.4.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Zach Dennis
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-02-16 00:00:00.000000000 Z
11
+ date: 2013-07-17 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: activerecord
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ~>
17
+ - - '>='
20
18
  - !ruby/object:Gem::Version
21
19
  version: '3.0'
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ~>
24
+ - - '>='
28
25
  - !ruby/object:Gem::Version
29
26
  version: '3.0'
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: rake
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - '>='
36
32
  - !ruby/object:Gem::Version
37
33
  version: '0'
38
34
  type: :development
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - '>='
44
39
  - !ruby/object:Gem::Version
45
40
  version: '0'
46
- - !ruby/object:Gem::Dependency
47
- name: jeweler
48
- requirement: !ruby/object:Gem::Requirement
49
- none: false
50
- requirements:
51
- - - ! '>='
52
- - !ruby/object:Gem::Version
53
- version: 1.4.0
54
- type: :development
55
- prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
- requirements:
59
- - - ! '>='
60
- - !ruby/object:Gem::Version
61
- version: 1.4.0
62
- - !ruby/object:Gem::Dependency
63
- name: activerecord
64
- requirement: !ruby/object:Gem::Requirement
65
- none: false
66
- requirements:
67
- - - ~>
68
- - !ruby/object:Gem::Version
69
- version: '3.0'
70
- type: :runtime
71
- prerelease: false
72
- version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
- requirements:
75
- - - ~>
76
- - !ruby/object:Gem::Version
77
- version: '3.0'
78
41
  description: Extraction of the ActiveRecord::Base#import functionality from ar-extensions
79
42
  for Rails 3 and beyond
80
- email: zach.dennis@gmail.com
43
+ email:
44
+ - zach.dennis@gmail.com
81
45
  executables: []
82
46
  extensions: []
83
- extra_rdoc_files:
84
- - README.markdown
47
+ extra_rdoc_files: []
85
48
  files:
49
+ - .gitignore
50
+ - Brewfile
51
+ - Gemfile
86
52
  - README.markdown
87
53
  - Rakefile
88
- - VERSION
54
+ - activerecord-import.gemspec
55
+ - benchmarks/README
56
+ - benchmarks/benchmark.rb
57
+ - benchmarks/boot.rb
58
+ - benchmarks/lib/base.rb
59
+ - benchmarks/lib/cli_parser.rb
60
+ - benchmarks/lib/float.rb
61
+ - benchmarks/lib/mysql_benchmark.rb
62
+ - benchmarks/lib/output_to_csv.rb
63
+ - benchmarks/lib/output_to_html.rb
64
+ - benchmarks/models/test_innodb.rb
65
+ - benchmarks/models/test_memory.rb
66
+ - benchmarks/models/test_myisam.rb
67
+ - benchmarks/schema/mysql_schema.rb
68
+ - gemfiles/3.1.gemfile
69
+ - gemfiles/3.2.gemfile
70
+ - gemfiles/4.0.gemfile
89
71
  - lib/activerecord-import.rb
90
72
  - lib/activerecord-import/active_record/adapters/abstract_adapter.rb
73
+ - lib/activerecord-import/active_record/adapters/em_mysql2_adapter.rb
91
74
  - lib/activerecord-import/active_record/adapters/jdbcmysql_adapter.rb
92
75
  - lib/activerecord-import/active_record/adapters/mysql2_adapter.rb
93
76
  - lib/activerecord-import/active_record/adapters/mysql_adapter.rb
@@ -95,42 +78,121 @@ files:
95
78
  - lib/activerecord-import/active_record/adapters/seamless_database_pool_adapter.rb
96
79
  - lib/activerecord-import/active_record/adapters/sqlite3_adapter.rb
97
80
  - lib/activerecord-import/adapters/abstract_adapter.rb
81
+ - lib/activerecord-import/adapters/em_mysql2_adapter.rb
98
82
  - lib/activerecord-import/adapters/mysql2_adapter.rb
99
83
  - lib/activerecord-import/adapters/mysql_adapter.rb
100
84
  - lib/activerecord-import/adapters/postgresql_adapter.rb
101
85
  - lib/activerecord-import/adapters/sqlite3_adapter.rb
102
86
  - lib/activerecord-import/base.rb
87
+ - lib/activerecord-import/em_mysql2.rb
103
88
  - lib/activerecord-import/import.rb
104
89
  - lib/activerecord-import/mysql.rb
105
90
  - lib/activerecord-import/mysql2.rb
106
91
  - lib/activerecord-import/postgresql.rb
107
92
  - lib/activerecord-import/sqlite3.rb
108
93
  - lib/activerecord-import/synchronize.rb
94
+ - lib/activerecord-import/value_sets_parser.rb
95
+ - lib/activerecord-import/version.rb
96
+ - test/adapters/em_mysql2.rb
97
+ - test/adapters/jdbcmysql.rb
98
+ - test/adapters/mysql.rb
99
+ - test/adapters/mysql2.rb
100
+ - test/adapters/mysql2spatial.rb
101
+ - test/adapters/mysqlspatial.rb
102
+ - test/adapters/postgis.rb
103
+ - test/adapters/postgresql.rb
104
+ - test/adapters/seamless_database_pool.rb
105
+ - test/adapters/spatialite.rb
106
+ - test/adapters/sqlite3.rb
107
+ - test/database.yml.sample
108
+ - test/em_mysql2/import_test.rb
109
+ - test/import_test.rb
110
+ - test/jdbcmysql/import_test.rb
111
+ - test/models/book.rb
112
+ - test/models/group.rb
113
+ - test/models/topic.rb
114
+ - test/models/widget.rb
115
+ - test/mysql/import_test.rb
116
+ - test/mysql2/import_test.rb
117
+ - test/mysqlspatial/import_test.rb
118
+ - test/mysqlspatial2/import_test.rb
119
+ - test/postgis/import_test.rb
120
+ - test/postgresql/import_test.rb
121
+ - test/schema/generic_schema.rb
122
+ - test/schema/mysql_schema.rb
123
+ - test/schema/version.rb
124
+ - test/sqlite3/import_test.rb
125
+ - test/support/active_support/test_case_extensions.rb
126
+ - test/support/factories.rb
127
+ - test/support/generate.rb
128
+ - test/support/mysql/assertions.rb
129
+ - test/support/mysql/import_examples.rb
130
+ - test/support/postgresql/import_examples.rb
131
+ - test/synchronize_test.rb
132
+ - test/test_helper.rb
133
+ - test/value_sets_bytes_parser_test.rb
134
+ - test/value_sets_records_parser_test.rb
109
135
  homepage: http://github.com/zdennis/activerecord-import
110
136
  licenses: []
137
+ metadata: {}
111
138
  post_install_message:
112
139
  rdoc_options: []
113
140
  require_paths:
114
141
  - lib
115
142
  required_ruby_version: !ruby/object:Gem::Requirement
116
- none: false
117
143
  requirements:
118
- - - ! '>='
144
+ - - '>='
119
145
  - !ruby/object:Gem::Version
120
- version: '0'
121
- segments:
122
- - 0
123
- hash: -1608822567820744483
146
+ version: 1.9.2
124
147
  required_rubygems_version: !ruby/object:Gem::Requirement
125
- none: false
126
148
  requirements:
127
- - - ! '>='
149
+ - - '>='
128
150
  - !ruby/object:Gem::Version
129
151
  version: '0'
130
152
  requirements: []
131
153
  rubyforge_project:
132
- rubygems_version: 1.8.24
154
+ rubygems_version: 2.0.3
133
155
  signing_key:
134
- specification_version: 3
156
+ specification_version: 4
135
157
  summary: Bulk-loading extension for ActiveRecord
136
- test_files: []
158
+ test_files:
159
+ - test/adapters/em_mysql2.rb
160
+ - test/adapters/jdbcmysql.rb
161
+ - test/adapters/mysql.rb
162
+ - test/adapters/mysql2.rb
163
+ - test/adapters/mysql2spatial.rb
164
+ - test/adapters/mysqlspatial.rb
165
+ - test/adapters/postgis.rb
166
+ - test/adapters/postgresql.rb
167
+ - test/adapters/seamless_database_pool.rb
168
+ - test/adapters/spatialite.rb
169
+ - test/adapters/sqlite3.rb
170
+ - test/database.yml.sample
171
+ - test/em_mysql2/import_test.rb
172
+ - test/import_test.rb
173
+ - test/jdbcmysql/import_test.rb
174
+ - test/models/book.rb
175
+ - test/models/group.rb
176
+ - test/models/topic.rb
177
+ - test/models/widget.rb
178
+ - test/mysql/import_test.rb
179
+ - test/mysql2/import_test.rb
180
+ - test/mysqlspatial/import_test.rb
181
+ - test/mysqlspatial2/import_test.rb
182
+ - test/postgis/import_test.rb
183
+ - test/postgresql/import_test.rb
184
+ - test/schema/generic_schema.rb
185
+ - test/schema/mysql_schema.rb
186
+ - test/schema/version.rb
187
+ - test/sqlite3/import_test.rb
188
+ - test/support/active_support/test_case_extensions.rb
189
+ - test/support/factories.rb
190
+ - test/support/generate.rb
191
+ - test/support/mysql/assertions.rb
192
+ - test/support/mysql/import_examples.rb
193
+ - test/support/postgresql/import_examples.rb
194
+ - test/synchronize_test.rb
195
+ - test/test_helper.rb
196
+ - test/value_sets_bytes_parser_test.rb
197
+ - test/value_sets_records_parser_test.rb
198
+ has_rdoc: