pmacs-activerecord-oracle_enhanced-adapter 1.4.2.rc1 → 1.5.5.1

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 (44) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +11 -40
  3. data/History.md +170 -0
  4. data/README.md +61 -5
  5. data/Rakefile +1 -0
  6. data/VERSION +1 -1
  7. data/lib/active_record/connection_adapters/oracle_enhanced_adapter.rb +330 -161
  8. data/lib/active_record/connection_adapters/oracle_enhanced_column.rb +48 -8
  9. data/lib/active_record/connection_adapters/oracle_enhanced_column_dumper.rb +77 -0
  10. data/lib/active_record/connection_adapters/oracle_enhanced_connection.rb +8 -24
  11. data/lib/active_record/connection_adapters/oracle_enhanced_context_index.rb +4 -13
  12. data/lib/active_record/connection_adapters/oracle_enhanced_database_tasks.rb +61 -0
  13. data/lib/active_record/connection_adapters/oracle_enhanced_dirty.rb +13 -12
  14. data/lib/active_record/connection_adapters/oracle_enhanced_jdbc_connection.rb +42 -19
  15. data/lib/active_record/connection_adapters/oracle_enhanced_oci_connection.rb +28 -74
  16. data/lib/active_record/connection_adapters/oracle_enhanced_procedures.rb +165 -231
  17. data/lib/active_record/connection_adapters/oracle_enhanced_schema_creation.rb +89 -0
  18. data/lib/active_record/connection_adapters/oracle_enhanced_schema_definitions.rb +16 -24
  19. data/lib/active_record/connection_adapters/oracle_enhanced_schema_dumper.rb +29 -38
  20. data/lib/active_record/connection_adapters/oracle_enhanced_schema_statements.rb +93 -42
  21. data/lib/active_record/connection_adapters/oracle_enhanced_schema_statements_ext.rb +5 -3
  22. data/lib/active_record/connection_adapters/oracle_enhanced_structure_dump.rb +7 -7
  23. data/lib/active_record/connection_adapters/oracle_enhanced_version.rb +1 -1
  24. data/lib/pmacs-activerecord-oracle_enhanced-adapter.rb +2 -2
  25. data/pmacs-activerecord-oracle_enhanced-adapter.gemspec +19 -17
  26. data/spec/active_record/connection_adapters/oracle_enhanced_adapter_spec.rb +35 -99
  27. data/spec/active_record/connection_adapters/oracle_enhanced_connection_spec.rb +17 -3
  28. data/spec/active_record/connection_adapters/oracle_enhanced_context_index_spec.rb +105 -98
  29. data/spec/active_record/connection_adapters/oracle_enhanced_data_types_spec.rb +74 -44
  30. data/spec/active_record/connection_adapters/oracle_enhanced_database_tasks_spec.rb +89 -0
  31. data/spec/active_record/connection_adapters/oracle_enhanced_dbms_output_spec.rb +3 -3
  32. data/spec/active_record/connection_adapters/oracle_enhanced_dirty_spec.rb +13 -2
  33. data/spec/active_record/connection_adapters/oracle_enhanced_procedures_spec.rb +11 -12
  34. data/spec/active_record/connection_adapters/oracle_enhanced_schema_dump_spec.rb +252 -60
  35. data/spec/active_record/connection_adapters/oracle_enhanced_schema_statements_spec.rb +170 -40
  36. data/spec/active_record/connection_adapters/oracle_enhanced_structure_dump_spec.rb +14 -8
  37. data/spec/spec_helper.rb +25 -54
  38. metadata +41 -72
  39. data/lib/active_record/connection_adapters/oracle_enhanced.rake +0 -105
  40. data/lib/active_record/connection_adapters/oracle_enhanced_activerecord_patches.rb +0 -41
  41. data/lib/active_record/connection_adapters/oracle_enhanced_base_ext.rb +0 -118
  42. data/lib/active_record/connection_adapters/oracle_enhanced_core_ext.rb +0 -25
  43. data/lib/active_record/connection_adapters/oracle_enhanced_tasks.rb +0 -17
  44. data/spec/active_record/connection_adapters/oracle_enhanced_core_ext_spec.rb +0 -19
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pmacs-activerecord-oracle_enhanced-adapter
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.2.rc1
5
- prerelease: 6
4
+ version: 1.5.5.1
6
5
  platform: ruby
7
6
  authors:
8
7
  - Charles Treatman
@@ -10,213 +9,186 @@ authors:
10
9
  autorequire:
11
10
  bindir: bin
12
11
  cert_chain: []
13
- date: 2013-02-22 00:00:00.000000000 Z
12
+ date: 2013-03-18 00:00:00.000000000 Z
14
13
  dependencies:
15
14
  - !ruby/object:Gem::Dependency
16
15
  name: jeweler
17
16
  requirement: !ruby/object:Gem::Requirement
18
- none: false
19
17
  requirements:
20
- - - ~>
18
+ - - "~>"
21
19
  - !ruby/object:Gem::Version
22
- version: 1.5.1
20
+ version: '1.8'
23
21
  type: :development
24
22
  prerelease: false
25
23
  version_requirements: !ruby/object:Gem::Requirement
26
- none: false
27
24
  requirements:
28
- - - ~>
25
+ - - "~>"
29
26
  - !ruby/object:Gem::Version
30
- version: 1.5.1
27
+ version: '1.8'
31
28
  - !ruby/object:Gem::Dependency
32
29
  name: rspec
33
30
  requirement: !ruby/object:Gem::Requirement
34
- none: false
35
31
  requirements:
36
- - - ~>
32
+ - - "~>"
37
33
  - !ruby/object:Gem::Version
38
34
  version: '2.4'
39
35
  type: :development
40
36
  prerelease: false
41
37
  version_requirements: !ruby/object:Gem::Requirement
42
- none: false
43
38
  requirements:
44
- - - ~>
39
+ - - "~>"
45
40
  - !ruby/object:Gem::Version
46
41
  version: '2.4'
47
42
  - !ruby/object:Gem::Dependency
48
43
  name: rdoc
49
44
  requirement: !ruby/object:Gem::Requirement
50
- none: false
51
45
  requirements:
52
- - - ! '>='
46
+ - - ">="
53
47
  - !ruby/object:Gem::Version
54
48
  version: '0'
55
49
  type: :development
56
50
  prerelease: false
57
51
  version_requirements: !ruby/object:Gem::Requirement
58
- none: false
59
52
  requirements:
60
- - - ! '>='
53
+ - - ">="
61
54
  - !ruby/object:Gem::Version
62
55
  version: '0'
63
56
  - !ruby/object:Gem::Dependency
64
57
  name: activerecord
65
58
  requirement: !ruby/object:Gem::Requirement
66
- none: false
67
59
  requirements:
68
- - - ! '>='
60
+ - - ">="
69
61
  - !ruby/object:Gem::Version
70
62
  version: '0'
71
63
  type: :development
72
64
  prerelease: false
73
65
  version_requirements: !ruby/object:Gem::Requirement
74
- none: false
75
66
  requirements:
76
- - - ! '>='
67
+ - - ">="
77
68
  - !ruby/object:Gem::Version
78
69
  version: '0'
79
70
  - !ruby/object:Gem::Dependency
80
71
  name: activemodel
81
72
  requirement: !ruby/object:Gem::Requirement
82
- none: false
83
73
  requirements:
84
- - - ! '>='
74
+ - - ">="
85
75
  - !ruby/object:Gem::Version
86
76
  version: '0'
87
77
  type: :development
88
78
  prerelease: false
89
79
  version_requirements: !ruby/object:Gem::Requirement
90
- none: false
91
80
  requirements:
92
- - - ! '>='
81
+ - - ">="
93
82
  - !ruby/object:Gem::Version
94
83
  version: '0'
95
84
  - !ruby/object:Gem::Dependency
96
85
  name: activesupport
97
86
  requirement: !ruby/object:Gem::Requirement
98
- none: false
99
87
  requirements:
100
- - - ! '>='
88
+ - - ">="
101
89
  - !ruby/object:Gem::Version
102
90
  version: '0'
103
91
  type: :development
104
92
  prerelease: false
105
93
  version_requirements: !ruby/object:Gem::Requirement
106
- none: false
107
94
  requirements:
108
- - - ! '>='
95
+ - - ">="
109
96
  - !ruby/object:Gem::Version
110
97
  version: '0'
111
98
  - !ruby/object:Gem::Dependency
112
99
  name: actionpack
113
100
  requirement: !ruby/object:Gem::Requirement
114
- none: false
115
101
  requirements:
116
- - - ! '>='
102
+ - - ">="
117
103
  - !ruby/object:Gem::Version
118
104
  version: '0'
119
105
  type: :development
120
106
  prerelease: false
121
107
  version_requirements: !ruby/object:Gem::Requirement
122
- none: false
123
108
  requirements:
124
- - - ! '>='
109
+ - - ">="
125
110
  - !ruby/object:Gem::Version
126
111
  version: '0'
127
112
  - !ruby/object:Gem::Dependency
128
113
  name: railties
129
114
  requirement: !ruby/object:Gem::Requirement
130
- none: false
131
115
  requirements:
132
- - - ! '>='
116
+ - - ">="
133
117
  - !ruby/object:Gem::Version
134
118
  version: '0'
135
119
  type: :development
136
120
  prerelease: false
137
121
  version_requirements: !ruby/object:Gem::Requirement
138
- none: false
139
122
  requirements:
140
- - - ! '>='
123
+ - - ">="
141
124
  - !ruby/object:Gem::Version
142
125
  version: '0'
143
126
  - !ruby/object:Gem::Dependency
144
127
  name: arel
145
128
  requirement: !ruby/object:Gem::Requirement
146
- none: false
147
129
  requirements:
148
- - - ! '>='
130
+ - - ">="
149
131
  - !ruby/object:Gem::Version
150
132
  version: '0'
151
133
  type: :development
152
134
  prerelease: false
153
135
  version_requirements: !ruby/object:Gem::Requirement
154
- none: false
155
136
  requirements:
156
- - - ! '>='
137
+ - - ">="
157
138
  - !ruby/object:Gem::Version
158
139
  version: '0'
159
140
  - !ruby/object:Gem::Dependency
160
141
  name: journey
161
142
  requirement: !ruby/object:Gem::Requirement
162
- none: false
163
143
  requirements:
164
- - - ! '>='
144
+ - - ">="
165
145
  - !ruby/object:Gem::Version
166
146
  version: '0'
167
147
  type: :development
168
148
  prerelease: false
169
149
  version_requirements: !ruby/object:Gem::Requirement
170
- none: false
171
150
  requirements:
172
- - - ! '>='
151
+ - - ">="
173
152
  - !ruby/object:Gem::Version
174
153
  version: '0'
175
154
  - !ruby/object:Gem::Dependency
176
155
  name: ruby-plsql
177
156
  requirement: !ruby/object:Gem::Requirement
178
- none: false
179
157
  requirements:
180
- - - ! '>='
158
+ - - ">="
181
159
  - !ruby/object:Gem::Version
182
160
  version: 0.4.4
183
161
  type: :development
184
162
  prerelease: false
185
163
  version_requirements: !ruby/object:Gem::Requirement
186
- none: false
187
164
  requirements:
188
- - - ! '>='
165
+ - - ">="
189
166
  - !ruby/object:Gem::Version
190
167
  version: 0.4.4
191
168
  - !ruby/object:Gem::Dependency
192
169
  name: ruby-oci8
193
170
  requirement: !ruby/object:Gem::Requirement
194
- none: false
195
171
  requirements:
196
- - - ! '>='
172
+ - - ">="
197
173
  - !ruby/object:Gem::Version
198
174
  version: 2.0.4
199
175
  type: :development
200
176
  prerelease: false
201
177
  version_requirements: !ruby/object:Gem::Requirement
202
- none: false
203
178
  requirements:
204
- - - ! '>='
179
+ - - ">="
205
180
  - !ruby/object:Gem::Version
206
181
  version: 2.0.4
207
- description: ! 'Oracle "enhanced" ActiveRecord adapter contains useful additional
208
- methods for working with new and legacy Oracle databases.
209
-
182
+ description: |
183
+ Oracle "enhanced" ActiveRecord adapter contains useful additional methods for working with new and legacy Oracle databases.
210
184
  This adapter is superset of original ActiveRecord Oracle adapter.
211
-
212
- '
213
185
  email: charles.treatman@gmail.com
214
186
  executables: []
215
187
  extensions: []
216
188
  extra_rdoc_files:
217
189
  - README.md
218
190
  files:
219
- - .rspec
191
+ - ".rspec"
220
192
  - Gemfile
221
193
  - History.md
222
194
  - License.txt
@@ -225,34 +197,32 @@ files:
225
197
  - Rakefile
226
198
  - VERSION
227
199
  - lib/active_record/connection_adapters/emulation/oracle_adapter.rb
228
- - lib/active_record/connection_adapters/oracle_enhanced.rake
229
- - lib/active_record/connection_adapters/oracle_enhanced_activerecord_patches.rb
230
200
  - lib/active_record/connection_adapters/oracle_enhanced_adapter.rb
231
- - lib/active_record/connection_adapters/oracle_enhanced_base_ext.rb
232
201
  - lib/active_record/connection_adapters/oracle_enhanced_column.rb
202
+ - lib/active_record/connection_adapters/oracle_enhanced_column_dumper.rb
233
203
  - lib/active_record/connection_adapters/oracle_enhanced_connection.rb
234
204
  - lib/active_record/connection_adapters/oracle_enhanced_context_index.rb
235
- - lib/active_record/connection_adapters/oracle_enhanced_core_ext.rb
236
205
  - lib/active_record/connection_adapters/oracle_enhanced_cpk.rb
206
+ - lib/active_record/connection_adapters/oracle_enhanced_database_tasks.rb
237
207
  - lib/active_record/connection_adapters/oracle_enhanced_dirty.rb
238
208
  - lib/active_record/connection_adapters/oracle_enhanced_jdbc_connection.rb
239
209
  - lib/active_record/connection_adapters/oracle_enhanced_oci_connection.rb
240
210
  - lib/active_record/connection_adapters/oracle_enhanced_procedures.rb
211
+ - lib/active_record/connection_adapters/oracle_enhanced_schema_creation.rb
241
212
  - lib/active_record/connection_adapters/oracle_enhanced_schema_definitions.rb
242
213
  - lib/active_record/connection_adapters/oracle_enhanced_schema_dumper.rb
243
214
  - lib/active_record/connection_adapters/oracle_enhanced_schema_statements.rb
244
215
  - lib/active_record/connection_adapters/oracle_enhanced_schema_statements_ext.rb
245
216
  - lib/active_record/connection_adapters/oracle_enhanced_structure_dump.rb
246
- - lib/active_record/connection_adapters/oracle_enhanced_tasks.rb
247
217
  - lib/active_record/connection_adapters/oracle_enhanced_version.rb
248
218
  - lib/pmacs-activerecord-oracle_enhanced-adapter.rb
249
219
  - pmacs-activerecord-oracle_enhanced-adapter.gemspec
250
220
  - spec/active_record/connection_adapters/oracle_enhanced_adapter_spec.rb
251
221
  - spec/active_record/connection_adapters/oracle_enhanced_connection_spec.rb
252
222
  - spec/active_record/connection_adapters/oracle_enhanced_context_index_spec.rb
253
- - spec/active_record/connection_adapters/oracle_enhanced_core_ext_spec.rb
254
223
  - spec/active_record/connection_adapters/oracle_enhanced_cpk_spec.rb
255
224
  - spec/active_record/connection_adapters/oracle_enhanced_data_types_spec.rb
225
+ - spec/active_record/connection_adapters/oracle_enhanced_database_tasks_spec.rb
256
226
  - spec/active_record/connection_adapters/oracle_enhanced_dbms_output_spec.rb
257
227
  - spec/active_record/connection_adapters/oracle_enhanced_dirty_spec.rb
258
228
  - spec/active_record/connection_adapters/oracle_enhanced_emulate_oracle_adapter_spec.rb
@@ -263,25 +233,24 @@ files:
263
233
  - spec/spec_helper.rb
264
234
  homepage: http://github.com/pmacs/oracle-enhanced
265
235
  licenses: []
236
+ metadata: {}
266
237
  post_install_message:
267
238
  rdoc_options: []
268
239
  require_paths:
269
240
  - lib
270
241
  required_ruby_version: !ruby/object:Gem::Requirement
271
- none: false
272
242
  requirements:
273
- - - ! '>='
243
+ - - ">="
274
244
  - !ruby/object:Gem::Version
275
245
  version: '0'
276
246
  required_rubygems_version: !ruby/object:Gem::Requirement
277
- none: false
278
247
  requirements:
279
- - - ! '>'
248
+ - - ">="
280
249
  - !ruby/object:Gem::Version
281
- version: 1.3.1
250
+ version: '0'
282
251
  requirements: []
283
252
  rubyforge_project:
284
- rubygems_version: 1.8.21
253
+ rubygems_version: 2.2.2
285
254
  signing_key:
286
255
  specification_version: 3
287
256
  summary: Oracle enhanced adapter for ActiveRecord
@@ -289,8 +258,8 @@ test_files:
289
258
  - spec/active_record/connection_adapters/oracle_enhanced_adapter_spec.rb
290
259
  - spec/active_record/connection_adapters/oracle_enhanced_connection_spec.rb
291
260
  - spec/active_record/connection_adapters/oracle_enhanced_context_index_spec.rb
292
- - spec/active_record/connection_adapters/oracle_enhanced_core_ext_spec.rb
293
261
  - spec/active_record/connection_adapters/oracle_enhanced_cpk_spec.rb
262
+ - spec/active_record/connection_adapters/oracle_enhanced_database_tasks_spec.rb
294
263
  - spec/active_record/connection_adapters/oracle_enhanced_data_types_spec.rb
295
264
  - spec/active_record/connection_adapters/oracle_enhanced_dbms_output_spec.rb
296
265
  - spec/active_record/connection_adapters/oracle_enhanced_dirty_spec.rb
@@ -1,105 +0,0 @@
1
- # implementation idea taken from JDBC adapter
2
- # added possibility to execute previously defined task (passed as argument to task block)
3
- def redefine_task(*args, &block)
4
- task_name = Hash === args.first ? args.first.keys[0] : args.first
5
- existing_task = Rake.application.lookup task_name
6
- existing_actions = nil
7
- if existing_task
8
- class << existing_task; public :instance_variable_set, :instance_variable_get; end
9
- existing_task.instance_variable_set "@prerequisites", FileList[]
10
- existing_actions = existing_task.instance_variable_get "@actions"
11
- existing_task.instance_variable_set "@actions", []
12
- end
13
- task(*args) do
14
- block.call(existing_actions)
15
- end
16
- end
17
-
18
- # Creates database user with db:create
19
- if defined?(create_database) == 'method'
20
- def create_database_with_oracle_enhanced(config)
21
- if config['adapter'] == 'oracle_enhanced'
22
- print "Please provide the SYSTEM password for your oracle installation\n>"
23
- system_password = $stdin.gets.strip
24
- ActiveRecord::Base.establish_connection(config.merge('username' => 'SYSTEM', 'password' => system_password))
25
- begin
26
- ActiveRecord::Base.connection.execute "CREATE USER #{config['username']} IDENTIFIED BY #{config['password']}"
27
- rescue => e
28
- if e.message =~ /ORA-01920/ # user name conflicts with another user or role name
29
- ActiveRecord::Base.connection.execute "ALTER USER #{config['username']} IDENTIFIED BY #{config['password']}"
30
- else
31
- raise e
32
- end
33
- end
34
- ActiveRecord::Base.connection.execute "GRANT unlimited tablespace TO #{config['username']}"
35
- ActiveRecord::Base.connection.execute "GRANT create session TO #{config['username']}"
36
- ActiveRecord::Base.connection.execute "GRANT create table TO #{config['username']}"
37
- ActiveRecord::Base.connection.execute "GRANT create sequence TO #{config['username']}"
38
- else
39
- create_database_without_oracle_enhanced(config)
40
- end
41
- end
42
- alias :create_database_without_oracle_enhanced :create_database
43
- alias :create_database :create_database_with_oracle_enhanced
44
- end
45
-
46
- # Drops database user with db:drop
47
- if defined?(drop_database) == 'method'
48
- def drop_database_with_oracle_enhanced(config)
49
- if config['adapter'] == 'oracle_enhanced'
50
- ActiveRecord::Base.establish_connection(config)
51
- ActiveRecord::Base.connection.execute_structure_dump(ActiveRecord::Base.connection.full_drop)
52
- else
53
- drop_database_without_oracle_enhanced(config)
54
- end
55
- end
56
- alias :drop_database_without_oracle_enhanced :drop_database
57
- alias :drop_database :drop_database_with_oracle_enhanced
58
- end
59
-
60
- namespace :db do
61
-
62
- namespace :structure do
63
- redefine_task :dump => :environment do |existing_actions|
64
- abcs = ActiveRecord::Base.configurations
65
- rails_env = defined?(Rails.env) ? Rails.env : RAILS_ENV
66
- if abcs[rails_env]['adapter'] == 'oracle_enhanced'
67
- ActiveRecord::Base.establish_connection(abcs[rails_env])
68
- File.open("db/#{rails_env}_structure.sql", "w+") { |f| f << ActiveRecord::Base.connection.structure_dump }
69
- if ActiveRecord::Base.connection.supports_migrations?
70
- File.open("db/#{rails_env}_structure.sql", "a") { |f| f << ActiveRecord::Base.connection.dump_schema_information }
71
- end
72
- if abcs[rails_env]['structure_dump'] == "db_stored_code"
73
- File.open("db/#{rails_env}_structure.sql", "a") { |f| f << ActiveRecord::Base.connection.structure_dump_db_stored_code }
74
- end
75
- else
76
- Array(existing_actions).each{|action| action.call}
77
- end
78
- end
79
- end
80
-
81
- namespace :test do
82
- redefine_task :clone_structure => [ "db:structure:dump", "db:test:purge" ] do |existing_actions|
83
- abcs = ActiveRecord::Base.configurations
84
- rails_env = defined?(Rails.env) ? Rails.env : RAILS_ENV
85
- if abcs[rails_env]['adapter'] == 'oracle_enhanced' && abcs['test']['adapter'] == 'oracle_enhanced'
86
- ActiveRecord::Base.establish_connection(:test)
87
- ActiveRecord::Base.connection.execute_structure_dump(File.read("db/#{rails_env}_structure.sql"))
88
- else
89
- Array(existing_actions).each{|action| action.call}
90
- end
91
- end
92
-
93
- redefine_task :purge => :environment do |existing_actions|
94
- abcs = ActiveRecord::Base.configurations
95
- if abcs['test']['adapter'] == 'oracle_enhanced'
96
- ActiveRecord::Base.establish_connection(:test)
97
- ActiveRecord::Base.connection.execute_structure_dump(ActiveRecord::Base.connection.full_drop)
98
- ActiveRecord::Base.connection.execute("PURGE RECYCLEBIN") rescue nil
99
- else
100
- Array(existing_actions).each{|action| action.call}
101
- end
102
- end
103
-
104
- end
105
- end
@@ -1,41 +0,0 @@
1
- # ActiveRecord 2.3 patches
2
- if ActiveRecord::VERSION::MAJOR == 2 && ActiveRecord::VERSION::MINOR == 3
3
- require "active_record/associations"
4
-
5
- ActiveRecord::Associations::ClassMethods.module_eval do
6
- private
7
- def tables_in_string(string)
8
- return [] if string.blank?
9
- if self.connection.adapter_name == "OracleEnhanced"
10
- # always convert table names to downcase as in Oracle quoted table names are in uppercase
11
- # ignore raw_sql_ that is used by Oracle adapter as alias for limit/offset subqueries
12
- string.scan(/([a-zA-Z_][\.\w]+).?\./).flatten.map(&:downcase).uniq - ['raw_sql_']
13
- else
14
- string.scan(/([\.a-zA-Z_]+).?\./).flatten
15
- end
16
- end
17
- end
18
-
19
- ActiveRecord::Associations::ClassMethods::JoinDependency::JoinAssociation.class_eval do
20
- protected
21
- def aliased_table_name_for(name, suffix = nil)
22
- # always downcase quoted table name as Oracle quoted table names are in uppercase
23
- if !parent.table_joins.blank? && parent.table_joins.to_s.downcase =~ %r{join(\s+\w+)?\s+#{active_record.connection.quote_table_name(name).downcase}\son}
24
- @join_dependency.table_aliases[name] += 1
25
- end
26
-
27
- unless @join_dependency.table_aliases[name].zero?
28
- # if the table name has been used, then use an alias
29
- name = active_record.connection.table_alias_for "#{pluralize(reflection.name)}_#{parent_table_name}#{suffix}"
30
- table_index = @join_dependency.table_aliases[name]
31
- @join_dependency.table_aliases[name] += 1
32
- name = name[0..active_record.connection.table_alias_length-3] + "_#{table_index+1}" if table_index > 0
33
- else
34
- @join_dependency.table_aliases[name] += 1
35
- end
36
-
37
- name
38
- end
39
- end
40
-
41
- end