activerecord-jdbc-adapter 1.3.11 → 1.3.12
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.
- checksums.yaml +4 -4
- data/Appraisals +2 -2
- data/Gemfile +4 -0
- data/History.md +11 -0
- data/lib/arjdbc/db2/adapter.rb +3 -0
- data/lib/arjdbc/h2/adapter.rb +4 -1
- data/lib/arjdbc/hsqldb/adapter.rb +4 -1
- data/lib/arjdbc/jdbc.rb +9 -8
- data/lib/arjdbc/jdbc/adapter.rb +46 -15
- data/lib/arjdbc/jdbc/adapter_java.jar +0 -0
- data/lib/arjdbc/mssql/adapter.rb +12 -6
- data/lib/arjdbc/mysql/adapter.rb +78 -13
- data/lib/arjdbc/mysql/column.rb +20 -0
- data/lib/arjdbc/mysql/connection_methods.rb +56 -2
- data/lib/arjdbc/oracle/adapter.rb +16 -17
- data/lib/arjdbc/postgresql/adapter.rb +136 -98
- data/lib/arjdbc/postgresql/base/oid.rb +78 -146
- data/lib/arjdbc/postgresql/oid_types.rb +132 -10
- data/lib/arjdbc/sqlite3/adapter.rb +58 -9
- data/lib/arjdbc/version.rb +1 -1
- data/rakelib/02-test.rake +2 -2
- data/src/java/arjdbc/jdbc/RubyJdbcConnection.java +48 -10
- data/src/java/arjdbc/sqlite3/SQLite3RubyJdbcConnection.java +81 -11
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2e7fd59bd6f8be3d2d0da36e413324eea6539846
|
4
|
+
data.tar.gz: ca2bb40471a4076ead3ee9476c5edbd53b63a06e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e14b3b99f73a202f4b494f79ee11af3440965a706c3d6e335292d184c3ea2bbf5166e0a2ba8f59a03ceffb8a40bc98eaa54f23448f40c18c7f1b0ae58e988e65
|
7
|
+
data.tar.gz: 2833ecd5d304e9d99b80d8efd7e7e2be0061d3fef2db16eee749986602a8b361cbe293453c139426cf51034989c3e388b0c0fd564581178143d196cb25ee0aab
|
data/Appraisals
CHANGED
@@ -17,12 +17,12 @@ end
|
|
17
17
|
|
18
18
|
appraise "rails40" do
|
19
19
|
# NOTE: make sure you're using --1.9 with AR-4.0
|
20
|
-
gem "activerecord", "~> 4.0.
|
20
|
+
gem "activerecord", "~> 4.0.10", :require => false
|
21
21
|
end
|
22
22
|
|
23
23
|
appraise "rails41" do
|
24
24
|
# NOTE: make sure you're using --1.9 with AR-4.0
|
25
|
-
gem "activerecord", "~> 4.1.
|
25
|
+
gem "activerecord", "~> 4.1.7", :require => false
|
26
26
|
end
|
27
27
|
|
28
28
|
appraise "rails42" do
|
data/Gemfile
CHANGED
@@ -48,6 +48,10 @@ group :rails do
|
|
48
48
|
gem 'actionpack', :require => nil
|
49
49
|
end
|
50
50
|
|
51
|
+
if sqlite_version = ENV['JDBC_SQLITE_VERSION'] # for testing against different version(s)
|
52
|
+
gem 'jdbc-sqlite3', sqlite_version, :require => nil, :platform => :jruby, :group => :test
|
53
|
+
end
|
54
|
+
|
51
55
|
gem 'mysql2', :require => nil, :platform => :mri, :group => :test
|
52
56
|
gem 'pg', :require => nil, :platform => :mri, :group => :test
|
53
57
|
gem 'sqlite3', :require => nil, :platform => :mri, :group => :test
|
data/History.md
CHANGED
@@ -1,3 +1,14 @@
|
|
1
|
+
## 1.3.12 (11/18/14)
|
2
|
+
|
3
|
+
- [sqlite] support for latest JDBC 3.8
|
4
|
+
- [mysql] correctly map config[:encoding] into Connector-J characterEncoding
|
5
|
+
- [mysql] backport rename_index from Rails (corectly handling MariaDB as well)
|
6
|
+
- [mysql] core adapter compat - missing initialize_schema_migrations_table
|
7
|
+
- `supports_views?` is now a method available in 4.2 (most DBs support VIEWs)
|
8
|
+
- [postgres] table_exists? fully compatible with Rails 4.1
|
9
|
+
- handle pre JDBC 4 driver abstract method errors somehow gracefully
|
10
|
+
- tune ArJdbc scoped warnings/deprecations (can be off -J-Darjdbc.warn=false)
|
11
|
+
|
1
12
|
## 1.3.11 (10/20/14)
|
2
13
|
|
3
14
|
- arjdbc: performance improvement - avodinng JRuby's impl iface generation
|
data/lib/arjdbc/db2/adapter.rb
CHANGED
@@ -572,6 +572,9 @@ module ArJdbc
|
|
572
572
|
tables.each { |table| drop_table("#{table}") }
|
573
573
|
end
|
574
574
|
|
575
|
+
# @override
|
576
|
+
def supports_views?; true end
|
577
|
+
|
575
578
|
def execute_table_change(sql, table_name, name = nil)
|
576
579
|
outcome = execute(sql, name)
|
577
580
|
reorg_table(table_name, name)
|
data/lib/arjdbc/h2/adapter.rb
CHANGED
@@ -196,10 +196,13 @@ module ArJdbc
|
|
196
196
|
end
|
197
197
|
end
|
198
198
|
|
199
|
+
# @override
|
200
|
+
def supports_views?; true end
|
201
|
+
|
199
202
|
# EXPLAIN support :
|
200
203
|
|
201
204
|
# @override
|
202
|
-
def supports_explain?; true
|
205
|
+
def supports_explain?; true end
|
203
206
|
|
204
207
|
# @override
|
205
208
|
def explain(arel, binds = [])
|
@@ -237,6 +237,9 @@ module ArJdbc
|
|
237
237
|
execute "DROP INDEX #{quote_column_name(index_name(table_name, options))}"
|
238
238
|
end
|
239
239
|
|
240
|
+
# @override
|
241
|
+
def supports_views?; true end
|
242
|
+
|
240
243
|
# @override
|
241
244
|
def structure_dump
|
242
245
|
execute('SCRIPT').map do |result|
|
@@ -281,6 +284,6 @@ module ActiveRecord::ConnectionAdapters
|
|
281
284
|
class HsqldbAdapter < JdbcAdapter
|
282
285
|
include ArJdbc::HSQLDB
|
283
286
|
end
|
284
|
-
|
287
|
+
|
285
288
|
end
|
286
289
|
|
data/lib/arjdbc/jdbc.rb
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
require 'set'
|
2
1
|
require 'active_support/deprecation'
|
3
2
|
|
4
3
|
module ArJdbc
|
@@ -9,18 +8,20 @@ module ArJdbc
|
|
9
8
|
super(message) || true if warn?(message, once)
|
10
9
|
end
|
11
10
|
|
12
|
-
def deprecate(message, once = nil)
|
13
|
-
ActiveSupport::Deprecation.warn(message, caller) || true if warn?(message, once)
|
11
|
+
def deprecate(message, once = nil) # adds a "DEPRECATION WARNING: " prefix
|
12
|
+
::ActiveSupport::Deprecation.warn(message, caller) || true if warn?(message, once)
|
14
13
|
end
|
15
14
|
|
16
15
|
private
|
17
16
|
|
18
|
-
@@warns =
|
17
|
+
@@warns = nil
|
18
|
+
@@warns = false if ENV_JAVA['arjdbc.warn'].eql? 'false'
|
19
19
|
|
20
20
|
def warn?(message, once)
|
21
|
-
return nil
|
22
|
-
|
23
|
-
|
21
|
+
return nil if @@warns.equal?(false) || ! message
|
22
|
+
warns = @@warns ||= ( require 'set'; Set.new )
|
23
|
+
return false if warns.include?(message)
|
24
|
+
warns << message.dup if once
|
24
25
|
true
|
25
26
|
end
|
26
27
|
|
@@ -28,7 +29,7 @@ module ArJdbc
|
|
28
29
|
|
29
30
|
require 'arjdbc/jdbc/adapter'
|
30
31
|
|
31
|
-
if
|
32
|
+
if ENV_JAVA['arjdbc.extensions.discover'].eql? 'true'
|
32
33
|
self.discover_extensions
|
33
34
|
else
|
34
35
|
require 'arjdbc/discover'
|
data/lib/arjdbc/jdbc/adapter.rb
CHANGED
@@ -106,9 +106,14 @@ module ActiveRecord
|
|
106
106
|
java_connection = raw_connection.connection
|
107
107
|
return java_connection unless unwrap
|
108
108
|
connection_class = java.sql.Connection.java_class
|
109
|
-
|
110
|
-
java_connection.
|
111
|
-
|
109
|
+
begin
|
110
|
+
if java_connection.wrapper_for?(connection_class)
|
111
|
+
return java_connection.unwrap(connection_class) # java.sql.Wrapper.unwrap
|
112
|
+
end
|
113
|
+
rescue Java::JavaLang::AbstractMethodError => e
|
114
|
+
ArJdbc.warn("driver/pool connection impl does not support unwrapping (#{e})")
|
115
|
+
end
|
116
|
+
if java_connection.respond_to?(:connection)
|
112
117
|
# e.g. org.apache.tomcat.jdbc.pool.PooledConnection
|
113
118
|
java_connection.connection # getConnection
|
114
119
|
else
|
@@ -413,6 +418,11 @@ module ActiveRecord
|
|
413
418
|
end
|
414
419
|
end
|
415
420
|
|
421
|
+
# @override
|
422
|
+
def supports_views?
|
423
|
+
@connection.supports_views?
|
424
|
+
end
|
425
|
+
|
416
426
|
# Executes a SQL query in the context of this connection using the bind
|
417
427
|
# substitutes.
|
418
428
|
# @param sql the query string (or AREL object)
|
@@ -680,17 +690,6 @@ module ActiveRecord
|
|
680
690
|
end
|
681
691
|
end unless defined? ActiveRecord::Result
|
682
692
|
|
683
|
-
# Helper to easily override #table_definition (on AR 3.x/4.0) as :
|
684
|
-
# ```
|
685
|
-
# def table_definition(*args)
|
686
|
-
# new_table_definition(TableDefinition, *args)
|
687
|
-
# end
|
688
|
-
# ```
|
689
|
-
def new_table_definition(table_definition, *args)
|
690
|
-
table_definition.new(self) # args ignored only used for 4.0
|
691
|
-
end
|
692
|
-
private :new_table_definition
|
693
|
-
|
694
693
|
# NOTE: make sure if adapter overrides #table_definition that it will
|
695
694
|
# work on AR 3.x as well as 4.0
|
696
695
|
if ActiveRecord::VERSION::MAJOR > 3
|
@@ -708,12 +707,19 @@ module ActiveRecord
|
|
708
707
|
end
|
709
708
|
|
710
709
|
# @note AR-4x arguments expected: `(name, temporary, options)`
|
711
|
-
# @private documented
|
710
|
+
# @private documented bellow
|
712
711
|
def new_table_definition(table_definition, *args)
|
713
712
|
table_definition.new native_database_types, *args
|
714
713
|
end
|
715
714
|
private :new_table_definition
|
716
715
|
|
716
|
+
# @private
|
717
|
+
def new_index_definition(table, name, unique, columns, lengths,
|
718
|
+
orders = nil, where = nil, type = nil, using = nil)
|
719
|
+
IndexDefinition.new(table, name, unique, columns, lengths, orders, where, type, using)
|
720
|
+
end
|
721
|
+
private :new_index_definition
|
722
|
+
|
717
723
|
#
|
718
724
|
|
719
725
|
# Provides backwards-compatibility on ActiveRecord 4.1 for DB adapters
|
@@ -728,6 +734,31 @@ module ActiveRecord
|
|
728
734
|
end
|
729
735
|
public :add_column_options!
|
730
736
|
|
737
|
+
else # AR < 4.0
|
738
|
+
|
739
|
+
# Helper to easily override #table_definition (on AR 3.x/4.0) as :
|
740
|
+
# ```
|
741
|
+
# def table_definition(*args)
|
742
|
+
# new_table_definition(TableDefinition, *args)
|
743
|
+
# end
|
744
|
+
# ```
|
745
|
+
def new_table_definition(table_definition, *args)
|
746
|
+
table_definition.new(self) # args ignored only used for 4.0
|
747
|
+
end
|
748
|
+
private :new_table_definition
|
749
|
+
|
750
|
+
# @private (:table, :name, :unique, :columns, :lengths, :orders)
|
751
|
+
def new_index_definition(table, name, unique, columns, lengths,
|
752
|
+
orders = nil, where = nil, type = nil, using = nil)
|
753
|
+
IndexDefinition.new(table, name, unique, columns, lengths, orders)
|
754
|
+
end
|
755
|
+
# @private (:table, :name, :unique, :columns, :lengths)
|
756
|
+
def new_index_definition(table, name, unique, columns, lengths,
|
757
|
+
orders = nil, where = nil, type = nil, using = nil)
|
758
|
+
IndexDefinition.new(table, name, unique, columns, lengths)
|
759
|
+
end if ActiveRecord::VERSION::STRING < '3.2'
|
760
|
+
private :new_index_definition
|
761
|
+
|
731
762
|
end
|
732
763
|
|
733
764
|
# @return whether `:prepared_statements` are to be used
|
Binary file
|
data/lib/arjdbc/mssql/adapter.rb
CHANGED
@@ -61,9 +61,7 @@ module ArJdbc
|
|
61
61
|
end
|
62
62
|
|
63
63
|
# @see ActiveRecord::ConnectionAdapters::JdbcAdapter#jdbc_column_class
|
64
|
-
def jdbc_column_class
|
65
|
-
::ActiveRecord::ConnectionAdapters::MSSQLColumn
|
66
|
-
end
|
64
|
+
def jdbc_column_class; Column end
|
67
65
|
|
68
66
|
# @see ActiveRecord::ConnectionAdapters::Jdbc::ArelSupport
|
69
67
|
def self.arel_visitor_type(config)
|
@@ -255,9 +253,11 @@ module ArJdbc
|
|
255
253
|
end.join(",")
|
256
254
|
end
|
257
255
|
|
258
|
-
|
259
|
-
|
260
|
-
|
256
|
+
# @override
|
257
|
+
def supports_ddl_transactions?; true end
|
258
|
+
|
259
|
+
# @override
|
260
|
+
def supports_views?; true end
|
261
261
|
|
262
262
|
def tables(schema = current_schema)
|
263
263
|
@connection.tables(nil, schema)
|
@@ -738,3 +738,9 @@ module ActiveRecord::ConnectionAdapters
|
|
738
738
|
end
|
739
739
|
|
740
740
|
end
|
741
|
+
|
742
|
+
module ArJdbc
|
743
|
+
module MSSQL
|
744
|
+
Column = ::ActiveRecord::ConnectionAdapters::MSSQLColumn
|
745
|
+
end
|
746
|
+
end
|
data/lib/arjdbc/mysql/adapter.rb
CHANGED
@@ -2,13 +2,18 @@ ArJdbc.load_java_part :MySQL
|
|
2
2
|
|
3
3
|
require 'bigdecimal'
|
4
4
|
require 'active_record/connection_adapters/abstract/schema_definitions'
|
5
|
-
require 'arjdbc/mysql/column'
|
6
|
-
require 'arjdbc/mysql/bulk_change_table'
|
7
|
-
require 'arjdbc/mysql/explain_support'
|
8
|
-
require 'arjdbc/mysql/schema_creation' # AR 4.x
|
9
5
|
|
10
6
|
module ArJdbc
|
11
7
|
module MySQL
|
8
|
+
|
9
|
+
# @private
|
10
|
+
AR42 = ActiveRecord::VERSION::STRING >= '4.2'
|
11
|
+
|
12
|
+
require 'arjdbc/mysql/column'
|
13
|
+
require 'arjdbc/mysql/bulk_change_table'
|
14
|
+
require 'arjdbc/mysql/explain_support'
|
15
|
+
require 'arjdbc/mysql/schema_creation' # AR 4.x
|
16
|
+
|
12
17
|
include BulkChangeTable if const_defined? :BulkChangeTable
|
13
18
|
|
14
19
|
# @see ActiveRecord::ConnectionAdapters::JdbcAdapter#jdbc_connection_class
|
@@ -142,10 +147,40 @@ module ArJdbc
|
|
142
147
|
Arel::Nodes::Bin.new(node)
|
143
148
|
end
|
144
149
|
|
150
|
+
def case_sensitive_modifier(node, table_attribute)
|
151
|
+
node = Arel::Nodes.build_quoted node, table_attribute
|
152
|
+
Arel::Nodes::Bin.new(node)
|
153
|
+
end if AR42
|
154
|
+
|
145
155
|
def limited_update_conditions(where_sql, quoted_table_name, quoted_primary_key)
|
146
156
|
where_sql
|
147
157
|
end
|
148
158
|
|
159
|
+
def initialize_schema_migrations_table
|
160
|
+
if @config[:encoding] == 'utf8mb4'
|
161
|
+
ActiveRecord::SchemaMigration.create_table(191)
|
162
|
+
else
|
163
|
+
ActiveRecord::SchemaMigration.create_table
|
164
|
+
end
|
165
|
+
end if ::ActiveRecord::VERSION::MAJOR > 3
|
166
|
+
|
167
|
+
# HELPER METHODS ===========================================
|
168
|
+
|
169
|
+
# @private Only for Rails core compatibility.
|
170
|
+
def new_column(field, default, type, null, collation, extra = "")
|
171
|
+
Column.new(field, default, type, null, collation, strict_mode?, extra)
|
172
|
+
end unless AR42
|
173
|
+
|
174
|
+
# @private Only for Rails core compatibility.
|
175
|
+
def new_column(field, default, cast_type, sql_type = nil, null = true, collation = "", extra = "")
|
176
|
+
Column.new(field, default, cast_type, sql_type, null, collation, strict_mode?, extra)
|
177
|
+
end if AR42
|
178
|
+
|
179
|
+
# @private Only for Rails core compatibility.
|
180
|
+
def error_number(exception)
|
181
|
+
exception.error_code if exception.respond_to?(:error_code)
|
182
|
+
end
|
183
|
+
|
149
184
|
# QUOTING ==================================================
|
150
185
|
|
151
186
|
# @override
|
@@ -203,9 +238,14 @@ module ArJdbc
|
|
203
238
|
version[0] && version[0] >= 5
|
204
239
|
end
|
205
240
|
|
241
|
+
def supports_rename_index?
|
242
|
+
return false if mariadb? || ! version[0]
|
243
|
+
(version[0] == 5 && version[1] >= 7) || version[0] >= 6
|
244
|
+
end
|
245
|
+
|
206
246
|
# @override
|
207
247
|
def supports_transaction_isolation?(level = nil)
|
208
|
-
version[0] >= 5 # MySQL 5+
|
248
|
+
version[0] && version[0] >= 5 # MySQL 5+
|
209
249
|
end
|
210
250
|
|
211
251
|
# NOTE: handled by JdbcAdapter we override only to have save-point in logs :
|
@@ -332,16 +372,15 @@ module ArJdbc
|
|
332
372
|
sql = "SHOW FULL COLUMNS FROM #{quote_table_name(table_name)}"
|
333
373
|
columns = execute(sql, name || 'SCHEMA')
|
334
374
|
strict = strict_mode?
|
335
|
-
column = ::ActiveRecord::ConnectionAdapters::MysqlAdapter::Column
|
336
375
|
pass_cast_type = respond_to?(:lookup_cast_type)
|
337
376
|
columns.map! do |field|
|
338
377
|
sql_type = field['Type']
|
339
378
|
null = field['Null'] == "YES"
|
340
379
|
if pass_cast_type
|
341
380
|
cast_type = lookup_cast_type(sql_type)
|
342
|
-
|
381
|
+
Column.new(field['Field'], field['Default'], cast_type, sql_type, null, field['Collation'], strict, field['Extra'])
|
343
382
|
else
|
344
|
-
|
383
|
+
Column.new(field['Field'], field['Default'], sql_type, null, field['Collation'], strict, field['Extra'])
|
345
384
|
end
|
346
385
|
end
|
347
386
|
columns
|
@@ -377,6 +416,10 @@ module ArJdbc
|
|
377
416
|
super(name, {:options => "ENGINE=InnoDB DEFAULT CHARSET=utf8"}.merge(options))
|
378
417
|
end
|
379
418
|
|
419
|
+
def drop_table(table_name, options = {})
|
420
|
+
execute "DROP#{' TEMPORARY' if options[:temporary]} TABLE #{quote_table_name(table_name)}"
|
421
|
+
end
|
422
|
+
|
380
423
|
# @override
|
381
424
|
def rename_table(table_name, new_name)
|
382
425
|
execute "RENAME TABLE #{quote_table_name(table_name)} TO #{quote_table_name(new_name)}"
|
@@ -389,6 +432,15 @@ module ArJdbc
|
|
389
432
|
execute "DROP INDEX #{quote_column_name(index_name)} ON #{quote_table_name(table_name)}"
|
390
433
|
end
|
391
434
|
|
435
|
+
# @override
|
436
|
+
def rename_index(table_name, old_name, new_name)
|
437
|
+
if supports_rename_index?
|
438
|
+
execute "ALTER TABLE #{quote_table_name(table_name)} RENAME INDEX #{quote_table_name(old_name)} TO #{quote_table_name(new_name)}"
|
439
|
+
else
|
440
|
+
super
|
441
|
+
end
|
442
|
+
end
|
443
|
+
|
392
444
|
# @override
|
393
445
|
def add_column(table_name, column_name, type, options = {})
|
394
446
|
add_column_sql = "ALTER TABLE #{quote_table_name(table_name)} ADD #{quote_column_name(column_name)} #{type_to_sql(type, options[:limit], options[:precision], options[:scale])}"
|
@@ -582,6 +634,8 @@ module ArJdbc
|
|
582
634
|
column
|
583
635
|
end
|
584
636
|
|
637
|
+
def mariadb?; !! ( full_version =~ /mariadb/i ) end
|
638
|
+
|
585
639
|
def version
|
586
640
|
return @version ||= begin
|
587
641
|
version = []
|
@@ -591,9 +645,7 @@ module ArJdbc
|
|
591
645
|
version << jdbc_connection.serverMinorVersion
|
592
646
|
version << jdbc_connection.serverSubMinorVersion
|
593
647
|
else
|
594
|
-
|
595
|
-
result = result.first.values.first # [{"VERSION()"=>"5.5.37-0ubuntu..."}]
|
596
|
-
if match = result.match(/^(\d)\.(\d+)\.(\d+)/)
|
648
|
+
if match = full_version.match(/^(\d)\.(\d+)\.(\d+)/)
|
597
649
|
version << match[1].to_i
|
598
650
|
version << match[2].to_i
|
599
651
|
version << match[3].to_i
|
@@ -603,6 +655,13 @@ module ArJdbc
|
|
603
655
|
end
|
604
656
|
end
|
605
657
|
|
658
|
+
def full_version
|
659
|
+
@full_version ||= begin
|
660
|
+
result = execute 'SELECT VERSION()', 'SCHEMA'
|
661
|
+
result.first.values.first # [{"VERSION()"=>"5.5.37-0ubuntu..."}]
|
662
|
+
end
|
663
|
+
end
|
664
|
+
|
606
665
|
end
|
607
666
|
end
|
608
667
|
|
@@ -628,7 +687,7 @@ module ActiveRecord
|
|
628
687
|
include ::ArJdbc::MySQL::Column
|
629
688
|
|
630
689
|
def initialize(name, default, sql_type = nil, null = true, collation = nil, strict = false, extra = '')
|
631
|
-
if Hash
|
690
|
+
if name.is_a?(Hash)
|
632
691
|
super # first arg: config
|
633
692
|
else
|
634
693
|
@strict = strict; @collation = collation; @extra = extra
|
@@ -638,7 +697,7 @@ module ActiveRecord
|
|
638
697
|
end
|
639
698
|
|
640
699
|
def initialize(name, default, cast_type, sql_type = nil, null = true, collation = nil, strict = false, extra = '')
|
641
|
-
if Hash
|
700
|
+
if name.is_a?(Hash)
|
642
701
|
super # first arg: config
|
643
702
|
else
|
644
703
|
@strict = strict; @collation = collation; @extra = extra
|
@@ -686,3 +745,9 @@ module ActiveRecord
|
|
686
745
|
|
687
746
|
end
|
688
747
|
end
|
748
|
+
|
749
|
+
module ArJdbc
|
750
|
+
module MySQL
|
751
|
+
Column = ::ActiveRecord::ConnectionAdapters::MysqlAdapter::Column
|
752
|
+
end
|
753
|
+
end
|