activerecord-jdbc-adapter 1.3.11 → 1.3.12
Sign up to get free protection for your applications and to get access to all the features.
- 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
|