Skip to content

Commit 0186015

Browse files
committed
update latest AR 4.0 (master) - need table_definition tweaks due API change
1 parent b5b1361 commit 0186015

File tree

6 files changed

+55
-45
lines changed

6 files changed

+55
-45
lines changed

gemfiles/rails40.gemfile.lock

Lines changed: 14 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
GIT
22
remote: git://github.com/rails/activerecord-deprecated_finders.git
3-
revision: c00788c2b7e01170f63bd9651f7efd8deb4bd4b0
3+
revision: 46aa99efc9c3c1db1d4f2e55373481212e6b2e26
44
specs:
55
activerecord-deprecated_finders (0.0.3)
66

77
GIT
88
remote: git://github.com/rails/journey.git
9-
revision: e64274443f8420df2518cf2206a2c640d9d8e196
9+
revision: f0938d664286dc0b47f13092fa5d04a9225038d4
1010
specs:
1111
journey (2.0.0.20120723141804)
1212

1313
GIT
1414
remote: git://github.com/rails/rails.git
15-
revision: 70d0537d5550958d7e006787de869ce9046101fc
15+
revision: 817e8fad5a84569729ae65fbd713274678c68d8f
1616
specs:
1717
actionmailer (4.0.0.beta1)
1818
actionpack (= 4.0.0.beta1)
@@ -36,7 +36,7 @@ GIT
3636
minitest (~> 4.2)
3737
multi_json (~> 1.3)
3838
thread_safe (~> 0.1)
39-
tzinfo (~> 0.3.33)
39+
tzinfo (~> 0.3.37)
4040
rails (4.0.0.beta1)
4141
actionmailer (= 4.0.0.beta1)
4242
actionpack (= 4.0.0.beta1)
@@ -49,48 +49,45 @@ GIT
4949
actionpack (= 4.0.0.beta1)
5050
activesupport (= 4.0.0.beta1)
5151
rake (>= 0.8.7)
52-
rdoc (~> 3.4)
53-
thor (>= 0.17.0, < 2.0)
52+
thor (>= 0.18.1, < 2.0)
5453

5554
GEM
5655
remote: https://rubygems.org/
5756
specs:
58-
appraisal (0.5.1)
57+
appraisal (0.5.2)
5958
bundler
6059
rake
6160
arel (4.0.0.beta2)
62-
atomic (1.0.1-java)
61+
atomic (1.1.6-java)
62+
bcrypt-ruby (3.0.1)
6363
bcrypt-ruby (3.0.1-java)
6464
bouncy-castle-java (1.5.0147)
6565
builder (3.1.4)
6666
erubis (2.7.0)
67-
hike (1.2.1)
67+
hike (1.2.2)
6868
i18n (0.6.4)
6969
jruby-openssl (0.8.7)
7070
bouncy-castle-java (>= 1.5.0147)
71-
json (1.7.7-java)
7271
mail (2.5.3)
7372
i18n (>= 0.4.0)
7473
mime-types (~> 1.16)
7574
treetop (~> 1.4.8)
7675
metaclass (0.0.1)
77-
mime-types (1.21)
76+
mime-types (1.22)
7877
minitest (4.7.0)
7978
mocha (0.13.3)
8079
metaclass (~> 0.0.1)
81-
multi_json (1.7.1)
80+
multi_json (1.7.2)
8281
polyglot (0.3.3)
8382
rack (1.5.2)
8483
rack-test (0.6.2)
8584
rack (>= 1.0)
86-
rake (10.0.3)
87-
rdoc (3.12.2)
88-
json (~> 1.4)
85+
rake (10.0.4)
8986
simplecov (0.7.1)
9087
multi_json (~> 1.0)
9188
simplecov-html (~> 0.7.1)
9289
simplecov-html (0.7.1)
93-
sprockets (2.9.0)
90+
sprockets (2.9.2)
9491
hike (~> 1.2)
9592
multi_json (~> 1.0)
9693
rack (~> 1.0)
@@ -102,7 +99,7 @@ GEM
10299
test-unit (2.5.4)
103100
test-unit-context (0.3.0)
104101
test-unit (>= 2.4.0)
105-
thor (0.17.0)
102+
thor (0.18.1)
106103
thread_safe (0.1.0)
107104
atomic
108105
tilt (1.3.6)

lib/arjdbc/db2/adapter.rb

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -183,8 +183,8 @@ def xml(*args)
183183
end
184184
end
185185

186-
def table_definition
187-
TableDefinition.new(self)
186+
def table_definition(*args)
187+
new_table_definition(TableDefinition, *args)
188188
end
189189

190190
def prefetch_primary_key?(table_name = nil)
@@ -254,7 +254,8 @@ def create_table(name, options = {}) #:nodoc:
254254
end
255255

256256
def zos_create_table(name, options = {}) # :nodoc:
257-
table_definition = ActiveRecord::ConnectionAdapters::TableDefinition.new(self)
257+
# NOTE: this won't work for 4.0 - need to pass different initialize args :
258+
table_definition = TableDefinition.new(self)
258259
unless options[:id] == false
259260
table_definition.primary_key(options[:primary_key] || primary_key(name))
260261
end

lib/arjdbc/derby/adapter.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -149,8 +149,8 @@ def xml(*args)
149149

150150
end
151151

152-
def table_definition
153-
TableDefinition.new(self)
152+
def table_definition(*args)
153+
new_table_definition(TableDefinition, *args)
154154
end
155155

156156
# Override default -- fix case where ActiveRecord passes :default => nil, :null => true

lib/arjdbc/jdbc/adapter.rb

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -258,6 +258,7 @@ def exec_update(sql, name, binds) # :nodoc:
258258
do_exec(sql, name, binds, :update)
259259
end
260260

261+
# TODO is it really useful to have do_exec now ?!
261262
def do_exec(sql, name, binds, type)
262263
sql = to_sql(sql, binds)
263264
log(sql, name || 'SQL') do
@@ -443,17 +444,36 @@ def last_inserted_id(result)
443444
result
444445
end
445446

447+
# Helper to handle 3.x/4.0 uniformly override #table_definition as :
448+
#
449+
# def table_definition(*args)
450+
# new_table_definition(TableDefinition, *args)
451+
# end
452+
#
453+
def new_table_definition(table_definition, *args)
454+
table_definition.new(self) # args ignored only used for 4.0
455+
end
456+
private :new_table_definition
457+
446458
# if adapter overrides #table_definition it works on 3.x as well as 4.0
447459
if ActiveRecord::VERSION::MAJOR > 3
448460

461+
# aliasing #create_table_definition as #table_definition :
449462
alias table_definition create_table_definition
450463

451-
def create_table_definition
452-
table_definition
464+
# TableDefinition.new native_database_types, name, temporary, options
465+
def create_table_definition(name, temporary, options)
466+
table_definition(name, temporary, options)
453467
end
454-
468+
469+
# arguments expected: (name, temporary, options)
470+
def new_table_definition(table_definition, *args)
471+
table_definition.new native_database_types, *args
455472
end
473+
private :new_table_definition
456474

475+
end
476+
457477
private
458478

459479
# #deprecated no longer used

lib/arjdbc/oracle/adapter.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -149,9 +149,9 @@ def xml(*args)
149149
column(args[0], 'xml', options)
150150
end
151151
end
152-
153-
def table_definition
154-
TableDefinition.new(self)
152+
153+
def table_definition(*args)
154+
new_table_definition(TableDefinition, *args)
155155
end
156156

157157
def self.arel2_visitors(config)

lib/arjdbc/postgresql/adapter.rb

Lines changed: 9 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1521,8 +1521,8 @@ def column(name, type = nil, options = {})
15211521

15221522
if ActiveRecord::VERSION::MAJOR > 3
15231523

1524-
def create_column_definition(base, name, type)
1525-
ColumnDefinition.new base, name, type
1524+
def create_column_definition(name, type)
1525+
ColumnDefinition.new name, type
15261526
end
15271527

15281528
else # no #create_column_definition on 3.2
@@ -1538,25 +1538,17 @@ def new_column_definition(base, name, type)
15381538

15391539
end
15401540

1541+
def table_definition(*args)
1542+
new_table_definition(TableDefinition, *args)
1543+
end
1544+
15411545
class Table < ActiveRecord::ConnectionAdapters::Table
15421546
include ColumnMethods
15431547
end
15441548

1545-
def table_definition
1546-
TableDefinition.new(self)
1547-
end
1548-
1549-
if ActiveRecord::VERSION::MAJOR > 3
1550-
1551-
#def create_table_definition
1552-
# TableDefinition.new(self)
1553-
#end
1554-
1555-
def update_table_definition(table_name, base)
1556-
Table.new(table_name, base)
1557-
end
1558-
1559-
end
1549+
def update_table_definition(table_name, base)
1550+
Table.new(table_name, base)
1551+
end if ActiveRecord::VERSION::MAJOR > 3
15601552

15611553
def jdbc_connection_class(spec)
15621554
::ArJdbc::PostgreSQL.jdbc_connection_class

0 commit comments

Comments
 (0)