activerecord-jdbc-adapter 1.2.9.1 → 1.3.0.beta1
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.
- data/.travis.yml +3 -0
- data/Appraisals +12 -4
- data/Gemfile +3 -3
- data/Gemfile.lock +19 -19
- data/History.txt +90 -16
- data/LICENSE.txt +2 -1
- data/README.md +14 -1
- data/activerecord-jdbc-adapter.gemspec +2 -2
- data/gemfiles/rails23.gemfile +5 -5
- data/gemfiles/rails23.gemfile.lock +27 -27
- data/gemfiles/rails30.gemfile +3 -3
- data/gemfiles/rails30.gemfile.lock +8 -8
- data/gemfiles/rails31.gemfile +4 -4
- data/gemfiles/rails31.gemfile.lock +18 -18
- data/gemfiles/rails32.gemfile +4 -4
- data/gemfiles/rails32.gemfile.lock +17 -17
- data/gemfiles/rails40.gemfile +17 -0
- data/gemfiles/rails40.gemfile.lock +126 -0
- data/lib/activerecord-jdbc-adapter.rb +0 -7
- data/lib/arjdbc.rb +6 -5
- data/lib/arjdbc/db2.rb +1 -1
- data/lib/arjdbc/db2/adapter.rb +52 -29
- data/lib/arjdbc/db2/connection_methods.rb +13 -14
- data/lib/arjdbc/derby.rb +1 -1
- data/lib/arjdbc/derby/adapter.rb +29 -9
- data/lib/arjdbc/derby/connection_methods.rb +17 -20
- data/lib/arjdbc/firebird.rb +1 -1
- data/lib/arjdbc/h2.rb +2 -2
- data/lib/arjdbc/h2/adapter.rb +1 -1
- data/lib/arjdbc/h2/connection_methods.rb +12 -16
- data/lib/arjdbc/hsqldb.rb +1 -1
- data/lib/arjdbc/hsqldb/connection_methods.rb +13 -16
- data/lib/arjdbc/informix.rb +1 -1
- data/lib/arjdbc/informix/connection_methods.rb +8 -10
- data/lib/arjdbc/jdbc.rb +1 -1
- data/lib/arjdbc/jdbc/adapter.rb +125 -53
- data/lib/arjdbc/jdbc/adapter_java.jar +0 -0
- data/lib/arjdbc/jdbc/base_ext.rb +34 -9
- data/lib/arjdbc/jdbc/column.rb +15 -2
- data/lib/arjdbc/jdbc/connection.rb +0 -2
- data/lib/arjdbc/jdbc/connection_methods.rb +10 -3
- data/lib/arjdbc/jdbc/driver.rb +2 -2
- data/lib/arjdbc/jdbc/extension.rb +35 -21
- data/lib/arjdbc/jdbc/java.rb +0 -2
- data/lib/arjdbc/jdbc/missing_functionality_helper.rb +35 -25
- data/lib/arjdbc/jdbc/railtie.rb +2 -9
- data/lib/arjdbc/mimer.rb +1 -1
- data/lib/arjdbc/mssql.rb +2 -2
- data/lib/arjdbc/mssql/adapter.rb +271 -92
- data/lib/arjdbc/mssql/connection_methods.rb +30 -32
- data/lib/arjdbc/mssql/explain_support.rb +107 -0
- data/lib/arjdbc/mssql/limit_helpers.rb +48 -18
- data/lib/arjdbc/mysql.rb +1 -1
- data/lib/arjdbc/mysql/adapter.rb +63 -14
- data/lib/arjdbc/mysql/connection_methods.rb +22 -24
- data/lib/arjdbc/mysql/explain_support.rb +2 -5
- data/lib/arjdbc/oracle.rb +1 -1
- data/lib/arjdbc/oracle/adapter.rb +78 -38
- data/lib/arjdbc/oracle/connection_methods.rb +9 -10
- data/lib/arjdbc/postgresql.rb +1 -1
- data/lib/arjdbc/postgresql/adapter.rb +964 -380
- data/lib/arjdbc/postgresql/column_cast.rb +136 -0
- data/lib/arjdbc/postgresql/connection_methods.rb +19 -21
- data/lib/arjdbc/postgresql/explain_support.rb +3 -6
- data/lib/arjdbc/railtie.rb +9 -0
- data/lib/arjdbc/sqlite3.rb +1 -1
- data/lib/arjdbc/sqlite3/adapter.rb +73 -26
- data/lib/arjdbc/sqlite3/connection_methods.rb +27 -28
- data/lib/arjdbc/sqlite3/explain_support.rb +2 -5
- data/lib/arjdbc/sybase.rb +1 -1
- data/lib/arjdbc/version.rb +5 -4
- data/pom.xml +8 -0
- data/rakelib/02-test.rake +57 -51
- data/rakelib/compile.rake +17 -5
- data/rakelib/rails.rake +42 -31
- data/src/java/arjdbc/db2/DB2RubyJdbcConnection.java +4 -3
- data/src/java/arjdbc/derby/DerbyModule.java +98 -85
- data/src/java/arjdbc/derby/DerbyRubyJdbcConnection.java +70 -0
- data/src/java/arjdbc/h2/H2RubyJdbcConnection.java +0 -4
- data/src/java/arjdbc/jdbc/AdapterJavaService.java +26 -15
- data/src/java/arjdbc/jdbc/Callable.java +44 -0
- data/src/java/arjdbc/jdbc/JdbcConnectionFactory.java +10 -2
- data/src/java/arjdbc/jdbc/RubyJdbcConnection.java +1675 -834
- data/src/java/arjdbc/jdbc/SQLBlock.java +9 -3
- data/src/java/arjdbc/mssql/MSSQLRubyJdbcConnection.java +73 -36
- data/src/java/arjdbc/mysql/MySQLModule.java +11 -10
- data/src/java/arjdbc/mysql/MySQLRubyJdbcConnection.java +86 -80
- data/src/java/arjdbc/oracle/OracleRubyJdbcConnection.java +27 -7
- data/src/java/arjdbc/postgresql/PostgreSQLRubyJdbcConnection.java +214 -0
- data/src/java/arjdbc/postgresql/PostgresqlRubyJdbcConnection.java +25 -67
- data/src/java/arjdbc/sqlite3/SQLite3RubyJdbcConnection.java +52 -49
- data/src/java/arjdbc/util/QuotingUtils.java +6 -6
- data/test/abstract_db_create.rb +11 -11
- data/test/activerecord/connection_adapters/type_conversion_test.rb +18 -12
- data/test/db/db2.rb +1 -1
- data/test/{db2_binary_test.rb → db/db2/binary_test.rb} +0 -0
- data/test/db/db2/has_many_through_test.rb +6 -0
- data/test/{db2_reset_column_information_test.rb → db/db2/reset_column_information_test.rb} +1 -2
- data/test/{db2_serialize_test.rb → db/db2/serialize_test.rb} +0 -0
- data/test/{db2_simple_test.rb → db/db2/simple_test.rb} +1 -8
- data/test/db/db2/test_helper.rb +6 -0
- data/test/{db2_test.rb → db/db2/unit_test.rb} +1 -1
- data/test/db/derby.rb +1 -1
- data/test/{derby_binary_test.rb → db/derby/binary_test.rb} +0 -0
- data/test/{derby_migration_test.rb → db/derby/migration_test.rb} +0 -0
- data/test/{derby_reset_column_information_test.rb → db/derby/reset_column_information_test.rb} +0 -0
- data/test/{derby_row_locking_test.rb → db/derby/row_locking_test.rb} +1 -4
- data/test/db/derby/schema_dump_test.rb +5 -0
- data/test/{derby_serialize_test.rb → db/derby/serialize_test.rb} +0 -0
- data/test/{derby_simple_test.rb → db/derby/simple_test.rb} +23 -38
- data/test/db/derby/test_helper.rb +6 -0
- data/test/db/derby/unit_test.rb +32 -0
- data/test/db/derby/xml_column_test.rb +17 -0
- data/test/db/h2.rb +1 -1
- data/test/{h2_binary_test.rb → db/h2/binary_test.rb} +0 -0
- data/test/{h2_change_column_test.rb → db/h2/change_column_test.rb} +1 -0
- data/test/{h2_schema_dump_test.rb → db/h2/schema_dump_test.rb} +0 -0
- data/test/{h2_serialize_test.rb → db/h2/serialize_test.rb} +0 -0
- data/test/{h2_simple_test.rb → db/h2/simple_test.rb} +3 -1
- data/test/db/hsqldb.rb +1 -1
- data/test/{hsqldb_binary_test.rb → db/hsqldb/binary_test.rb} +0 -0
- data/test/{hsqldb_schema_dump_test.rb → db/hsqldb/schema_dump_test.rb} +0 -0
- data/test/{hsqldb_serialize_test.rb → db/hsqldb/serialize_test.rb} +0 -0
- data/test/{hsqldb_simple_test.rb → db/hsqldb/simple_test.rb} +3 -1
- data/test/db/informix.rb +1 -1
- data/test/db/jdbc.rb +3 -2
- data/test/db/jdbc_derby.rb +1 -1
- data/test/db/jdbc_h2.rb +1 -1
- data/test/db/jdbc_mysql.rb +1 -1
- data/test/db/jdbc_postgres.rb +1 -1
- data/test/db/jndi_config.rb +1 -2
- data/test/db/jndi_pooled_config.rb +2 -3
- data/test/db/mssql.rb +2 -2
- data/test/{mssql_binary_test.rb → db/mssql/binary_test.rb} +0 -0
- data/test/{mssql_db_create_test.rb → db/mssql/db_create_test.rb} +1 -1
- data/test/db/mssql/exec_proc_test.rb +46 -0
- data/test/{mssql_identity_insert_test.rb → db/mssql/identity_insert_test.rb} +0 -0
- data/test/db/mssql/ignore_system_views_test.rb +40 -0
- data/test/{mssql_limit_offset_test.rb → db/mssql/limit_offset_test.rb} +10 -1
- data/test/{mssql_multibyte_test.rb → db/mssql/multibyte_test.rb} +0 -0
- data/test/db/mssql/multiple_connections_test.rb +71 -0
- data/test/{mssql_reset_column_information_test.rb → db/mssql/reset_column_information_test.rb} +0 -0
- data/test/{mssql_row_locking_test.rb → db/mssql/row_locking_test.rb} +0 -0
- data/test/{mssql_serialize_test.rb → db/mssql/serialize_test.rb} +1 -1
- data/test/db/mssql/simple_test.rb +140 -0
- data/test/db/mssql/transaction_test.rb +6 -0
- data/test/db/mssql/types_test.rb +205 -0
- data/test/{mssql_test.rb → db/mssql/unit_test.rb} +2 -2
- data/test/db/mysql.rb +1 -2
- data/test/db/mysql/_rails_test_mysql.32.out +6768 -0
- data/test/{mysql_binary_test.rb → db/mysql/binary_test.rb} +0 -0
- data/test/db/mysql/connection_test.rb +51 -0
- data/test/{mysql_db_create_test.rb → db/mysql/db_create_test.rb} +0 -0
- data/test/{mysql_index_length_test.rb → db/mysql/index_length_test.rb} +0 -0
- data/test/{mysql_multibyte_test.rb → db/mysql/multibyte_test.rb} +0 -0
- data/test/{mysql_nonstandard_primary_key_test.rb → db/mysql/nonstandard_primary_key_test.rb} +0 -0
- data/test/{mysql_reset_column_information_test.rb → db/mysql/reset_column_information_test.rb} +0 -0
- data/test/{mysql_schema_dump_test.rb → db/mysql/schema_dump_test.rb} +9 -1
- data/test/{mysql_serialize_test.rb → db/mysql/serialize_test.rb} +0 -0
- data/test/{mysql_simple_test.rb → db/mysql/simple_test.rb} +16 -8
- data/test/db/mysql/transaction_test.rb +6 -0
- data/test/db/mysql/types_test.rb +30 -0
- data/test/{mysql_test.rb → db/mysql/unit_test.rb} +1 -1
- data/test/db/mysql_config.rb +1 -1
- data/test/db/oracle.rb +1 -1
- data/test/{oracle_binary_test.rb → db/oracle/binary_test.rb} +0 -0
- data/test/{oracle_limit_test.rb → db/oracle/limit_test.rb} +0 -0
- data/test/db/oracle/multibyte_test.rb +22 -0
- data/test/{oracle_reset_column_information_test.rb → db/oracle/reset_column_information_test.rb} +0 -0
- data/test/{oracle_serialize_test.rb → db/oracle/serialize_test.rb} +0 -0
- data/test/{oracle_simple_test.rb → db/oracle/simple_test.rb} +14 -19
- data/test/{oracle_specific_test.rb → db/oracle/specific_test.rb} +62 -16
- data/test/db/oracle/transaction_test.rb +31 -0
- data/test/db/oracle/unit_test.rb +31 -0
- data/test/db/postgres.rb +1 -1
- data/test/db/postgres/_rails_test_postgres.32.out +6777 -0
- data/test/db/postgres/a_custom_primary_key_test.rb +50 -0
- data/test/db/postgres/array_type_test.rb +101 -0
- data/test/{postgres_binary_test.rb → db/postgres/binary_test.rb} +0 -0
- data/test/db/postgres/connection_test.rb +55 -0
- data/test/db/postgres/data_types_test.rb +703 -0
- data/test/{postgres_db_create_test.rb → db/postgres/db_create_test.rb} +1 -1
- data/test/{postgres_drop_db_test.rb → db/postgres/db_drop_test.rb} +2 -0
- data/test/db/postgres/hstore_test.rb +200 -0
- data/test/db/postgres/information_schema_leak_test.rb +30 -0
- data/test/db/postgres/json_test.rb +86 -0
- data/test/db/postgres/ltree_test.rb +50 -0
- data/test/{postgres_mixed_case_test.rb → db/postgres/mixed_case_test.rb} +0 -0
- data/test/db/postgres/native_types_test.rb +128 -0
- data/test/{postgres_reserved_test.rb → db/postgres/reserved_test.rb} +0 -0
- data/test/{postgres_reset_column_information_test.rb → db/postgres/reset_column_information_test.rb} +0 -0
- data/test/{postgres_row_locking_test.rb → db/postgres/row_locking_test.rb} +0 -0
- data/test/{postgres_schema_dump_test.rb → db/postgres/schema_dump_test.rb} +4 -4
- data/test/db/postgres/schema_test.rb +113 -0
- data/test/{postgres_simple_test.rb → db/postgres/simple_test.rb} +48 -8
- data/test/{postgres_table_alias_length_test.rb → db/postgres/table_alias_length_test.rb} +2 -1
- data/test/db/postgres/transaction_test.rb +6 -0
- data/test/{postgres_test.rb → db/postgres/unit_test.rb} +3 -3
- data/test/db/sqlite3.rb +1 -1
- data/test/db/sqlite3/_rails_test_sqlite3.32.out +6502 -0
- data/test/db/sqlite3/has_many_though_test.rb +6 -0
- data/test/{sqlite3_reset_column_information_test.rb → db/sqlite3/reset_column_information_test.rb} +0 -0
- data/test/{sqlite3_schema_dump_test.rb → db/sqlite3/schema_dump_test.rb} +0 -0
- data/test/{sqlite3_serialize_test.rb → db/sqlite3/serialize_test.rb} +0 -0
- data/test/{sqlite3_simple_test.rb → db/sqlite3/simple_test.rb} +63 -63
- data/test/db/sqlite3/transaction_test.rb +32 -0
- data/test/{sqlite3_type_conversion_test.rb → db/sqlite3/type_conversion_test.rb} +0 -0
- data/test/has_many_through.rb +29 -64
- data/test/jdbc/oracle.rb +11 -0
- data/test/jndi_test.rb +16 -4
- data/test/models/auto_id.rb +1 -1
- data/test/models/rights_and_roles.rb +57 -0
- data/test/row_locking.rb +3 -0
- data/test/schema_dump.rb +24 -10
- data/test/simple.rb +359 -104
- data/test/test_helper.rb +4 -2
- data/test/transaction.rb +109 -0
- metadata +119 -86
- data/lib/arjdbc/jdbc/compatibility.rb +0 -51
- data/lib/arjdbc/jdbc/core_ext.rb +0 -24
- data/lib/arjdbc/jdbc/discover.rb +0 -18
- data/test/derby_schema_dump_test.rb +0 -9
- data/test/mssql_ignore_system_views_test.rb +0 -30
- data/test/mssql_legacy_types_test.rb +0 -58
- data/test/mssql_null_test.rb +0 -14
- data/test/mssql_simple_test.rb +0 -51
- data/test/postgres_information_schema_leak_test.rb +0 -28
- data/test/postgres_native_type_mapping_test.rb +0 -93
- data/test/postgres_nonseq_pkey_test.rb +0 -38
- data/test/postgres_schema_search_path_test.rb +0 -48
- data/test/postgres_type_conversion_test.rb +0 -33
data/.travis.yml
CHANGED
data/Appraisals
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
appraise "rails23" do
|
|
2
|
-
gem "activerecord", "~> 2.3.
|
|
3
|
-
gem "rails", "~> 2.3.
|
|
2
|
+
gem "activerecord", "~> 2.3.18"
|
|
3
|
+
gem "rails", "~> 2.3.18"
|
|
4
4
|
end
|
|
5
5
|
|
|
6
6
|
appraise "rails30" do
|
|
@@ -8,9 +8,17 @@ appraise "rails30" do
|
|
|
8
8
|
end
|
|
9
9
|
|
|
10
10
|
appraise "rails31" do
|
|
11
|
-
gem "activerecord", "~> 3.1.
|
|
11
|
+
gem "activerecord", "~> 3.1.12"
|
|
12
12
|
end
|
|
13
13
|
|
|
14
14
|
appraise "rails32" do
|
|
15
|
-
gem "activerecord", "~> 3.2.
|
|
15
|
+
gem "activerecord", "~> 3.2.13"
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
appraise "rails40" do # NOTE: make sure you're using --1.9 with AR-4.0
|
|
19
|
+
#gem "activerecord", "~> 4.0.0"
|
|
20
|
+
# until there's an actual 4.0 release :
|
|
21
|
+
gem 'rails', :github => 'rails/rails'
|
|
22
|
+
gem 'journey', :github => 'rails/journey'
|
|
23
|
+
gem 'activerecord-deprecated_finders', :github => 'rails/activerecord-deprecated_finders', :require => nil
|
|
16
24
|
end
|
data/Gemfile
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
source "
|
|
1
|
+
source "https://rubygems.org"
|
|
2
2
|
|
|
3
3
|
gem 'activerecord'
|
|
4
4
|
gem 'jruby-openssl', :platform => :jruby
|
|
@@ -10,9 +10,9 @@ end
|
|
|
10
10
|
gem 'appraisal'
|
|
11
11
|
gem 'rake', :require => nil
|
|
12
12
|
# appraisal ignores group block declarations :
|
|
13
|
-
gem 'test-unit', :group => :test
|
|
13
|
+
gem 'test-unit', '2.5.4', :group => :test
|
|
14
14
|
gem 'test-unit-context', :group => :test
|
|
15
|
-
gem 'mocha', '
|
|
15
|
+
gem 'mocha', '>= 0.13.0', :require => nil, :group => :test
|
|
16
16
|
gem 'simplecov', :require => nil, :group => :test
|
|
17
17
|
gem 'bcrypt-ruby', '~> 3.0.0', :require => nil, :group => :test
|
|
18
18
|
|
data/Gemfile.lock
CHANGED
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
GEM
|
|
2
|
-
remote:
|
|
2
|
+
remote: https://rubygems.org/
|
|
3
3
|
specs:
|
|
4
|
-
actionpack (3.2.
|
|
5
|
-
activemodel (= 3.2.
|
|
6
|
-
activesupport (= 3.2.
|
|
4
|
+
actionpack (3.2.13)
|
|
5
|
+
activemodel (= 3.2.13)
|
|
6
|
+
activesupport (= 3.2.13)
|
|
7
7
|
builder (~> 3.0.0)
|
|
8
8
|
erubis (~> 2.7.0)
|
|
9
9
|
journey (~> 1.0.4)
|
|
10
|
-
rack (~> 1.4.
|
|
10
|
+
rack (~> 1.4.5)
|
|
11
11
|
rack-cache (~> 1.2)
|
|
12
12
|
rack-test (~> 0.6.1)
|
|
13
13
|
sprockets (~> 2.2.1)
|
|
14
|
-
activemodel (3.2.
|
|
15
|
-
activesupport (= 3.2.
|
|
14
|
+
activemodel (3.2.13)
|
|
15
|
+
activesupport (= 3.2.13)
|
|
16
16
|
builder (~> 3.0.0)
|
|
17
|
-
activerecord (3.2.
|
|
18
|
-
activemodel (= 3.2.
|
|
19
|
-
activesupport (= 3.2.
|
|
17
|
+
activerecord (3.2.13)
|
|
18
|
+
activemodel (= 3.2.13)
|
|
19
|
+
activesupport (= 3.2.13)
|
|
20
20
|
arel (~> 3.0.2)
|
|
21
21
|
tzinfo (~> 0.3.29)
|
|
22
|
-
activesupport (3.2.
|
|
23
|
-
i18n (
|
|
22
|
+
activesupport (3.2.13)
|
|
23
|
+
i18n (= 0.6.1)
|
|
24
24
|
multi_json (~> 1.0)
|
|
25
25
|
appraisal (0.5.1)
|
|
26
26
|
bundler
|
|
@@ -37,10 +37,10 @@ GEM
|
|
|
37
37
|
jruby-openssl (0.8.2)
|
|
38
38
|
bouncy-castle-java (>= 1.5.0146.1)
|
|
39
39
|
metaclass (0.0.1)
|
|
40
|
-
mocha (0.
|
|
40
|
+
mocha (0.13.3)
|
|
41
41
|
metaclass (~> 0.0.1)
|
|
42
|
-
multi_json (1.
|
|
43
|
-
rack (1.4.
|
|
42
|
+
multi_json (1.7.2)
|
|
43
|
+
rack (1.4.5)
|
|
44
44
|
rack-cache (1.2)
|
|
45
45
|
rack (>= 0.4)
|
|
46
46
|
rack-test (0.6.2)
|
|
@@ -62,8 +62,8 @@ GEM
|
|
|
62
62
|
test-unit (2.5.4)
|
|
63
63
|
test-unit-context (0.3.0)
|
|
64
64
|
test-unit (>= 2.4.0)
|
|
65
|
-
tilt (1.3.
|
|
66
|
-
tzinfo (0.3.
|
|
65
|
+
tilt (1.3.6)
|
|
66
|
+
tzinfo (0.3.37)
|
|
67
67
|
|
|
68
68
|
PLATFORMS
|
|
69
69
|
java
|
|
@@ -75,9 +75,9 @@ DEPENDENCIES
|
|
|
75
75
|
bcrypt-ruby (~> 3.0.0)
|
|
76
76
|
erubis
|
|
77
77
|
jruby-openssl
|
|
78
|
-
mocha (
|
|
78
|
+
mocha (>= 0.13.0)
|
|
79
79
|
rake
|
|
80
80
|
ruby-debug
|
|
81
81
|
simplecov
|
|
82
|
-
test-unit
|
|
82
|
+
test-unit (= 2.5.4)
|
|
83
83
|
test-unit-context
|
data/History.txt
CHANGED
|
@@ -1,11 +1,85 @@
|
|
|
1
|
-
== 1.
|
|
2
|
-
|
|
3
|
-
-
|
|
1
|
+
== 1.3.0.beta1 (04/11/13)
|
|
2
|
+
|
|
3
|
+
- [db2] map datetime / timestamp / time types + correct time handling on AS400
|
|
4
|
+
- AREL values passed to #to_sql not handled correctly on AR-3.0 (#365)
|
|
5
|
+
- (Ruby) API cleanup - removed ArJdbc::Jdbc::Mutex and CompatibilityMethods
|
|
6
|
+
- new base implementations for all exec_xxx methods (introduced in AR 3.1)
|
|
7
|
+
- returning AR::Result from #exec_query + #exec_query_raw for old behavior
|
|
8
|
+
- [mssql] #table_exists? does not filter views (only #tables does)
|
|
9
|
+
- [postgres] introduced new types on AR 4.0 - same ones native adapter supports
|
|
10
|
+
(uuid values, arrays, json, hstore, ltree, PG ranges, interval, cidr etc.)
|
|
11
|
+
- Java API - now compiled with Java 1.6 since we're using JDBC 4 API anyways
|
|
12
|
+
- generic #exec_query returning AR::Result + #exec_raw_query for compatibility
|
|
13
|
+
- [postgres] improve #insert_sql (uses primary_key, supports all AR versions)
|
|
14
|
+
- [postgres] support config[:insert_returning]
|
|
15
|
+
- [postgres] always return correct primary key (failing if no sequence)
|
|
16
|
+
- Java API - xxxToRuby refactorings - to allow for more flexible overrides
|
|
17
|
+
- [postgres] support BIT(n) type where n > 1 as "bit strings"
|
|
18
|
+
- [postgres] #disable_referential_integrity on USER level (AR 4.0 compatible)
|
|
19
|
+
- Java API - allow objectToRuby and arrayToRuby overrides
|
|
20
|
+
- allow more-intuitive initialize arguments when sub-classing JdbcColumn
|
|
21
|
+
- do not translate native (Java) exceptions into StatementInvalid (from #log)
|
|
22
|
+
- Java API - replaced #tableLookupBlock with (a new) #matchTables
|
|
23
|
+
- [mssql] better message for jTDS driver bug (support disabling explain)
|
|
24
|
+
- Java API:- accept (and use) catalog as arg[1] in #columns which does leads to
|
|
25
|
+
a refactoring of #extractTableName to accept a catalog name
|
|
26
|
+
- [mssql] current_user and (change-able) default_schema support (#311)
|
|
27
|
+
- [sqlite3] correct empty insert statement value (on AR-4.0)
|
|
28
|
+
- Java API - do not wrap runtime exceptions when handling throwables
|
|
29
|
+
- [mysql] correct empty insert statement value (was not working on 4.0)
|
|
30
|
+
- Java API - handle :xml and :array AR column type to JDBC type conversion
|
|
31
|
+
- Java API - SQL Array and Object JDBC type (to Ruby) mappings
|
|
32
|
+
- Java API - reviewed (and updated) JDBC type handling for adapters :
|
|
33
|
+
* FLOAT/DOUBLE types should be handled (just like REAL) as Double-s
|
|
34
|
+
* NUMERIC/DECIMAL values should be handled as BigDecimal-s
|
|
35
|
+
* BIT/BOOLEAN should be converted to (Ruby) true/false by default
|
|
36
|
+
* NULL should always be returned as nil
|
|
37
|
+
* close binary/character stream & free SQLXML once converted
|
|
38
|
+
* JDBC 4.0 N(CHAR) types should be handled
|
|
39
|
+
- JdbcConnectionFactory.newConnection now throws SQLException - this is backwards
|
|
40
|
+
incompatible but most extension do not need to deal with this interface (#347)
|
|
41
|
+
- (AR 4.0 compatible) transaction isolation support
|
|
42
|
+
- Java API - deprecate SQLBlock class in favor of a parameterized Callable iface
|
|
43
|
+
- Java API - #retry makes no sense during #rollback (should use the same connection)
|
|
44
|
+
- [postgres] session variables support (from configuration)
|
|
45
|
+
- [mysql] session variables support (from configuration)
|
|
46
|
+
- [mysql] :strict config option, for STRICT_ALL_TABLES on AR-4.0
|
|
47
|
+
- AR 4.0 (master) compatible #rename_table_indexes and #renamed_column_indexes
|
|
48
|
+
- [postgres] no need to clear_query_cache after insert on AR-2.3's #insert_sql
|
|
49
|
+
- Java API - connection #execute_delete "alias" for #execute_update
|
|
50
|
+
- [derby] XMLPARSE when inserting into an XML column type ...
|
|
51
|
+
but still can not retrieve XML values using SELECT * FROM
|
|
52
|
+
- [sqlite3] IndexDefinition#unique should be a true/false
|
|
53
|
+
- [mssql] execute_procedure support, AR-SQLServer style (#266)
|
|
54
|
+
- [mssql] #charset, #current_database
|
|
55
|
+
- [mssql] config[:database] support + switching using #use_database (#311)
|
|
56
|
+
- [mssql] explain support
|
|
57
|
+
- [mssql] better query type detection - make sure WITHs work as SELECts
|
|
58
|
+
- [mssql] make sure there's a column class (#269) + better special column magic
|
|
59
|
+
- [mssql] better - working date/time quoting (with some ms precision support)
|
|
60
|
+
- Java API - re-arrange JDBC (to-ruby) type conversion methods
|
|
61
|
+
- [mssql] fix Model.first on SQL Server 2000 when called with only order
|
|
62
|
+
- [oracle] XMLTYPE column support - can't test due bug in driver
|
|
63
|
+
- [db2] working XML column type support
|
|
64
|
+
- [oracle] (MATRIALIZED) VIEWS/SYNONYMS should be usable on table_exists?
|
|
65
|
+
- a better (default) table_exists? (aligned with columns_internal) for all
|
|
66
|
+
- Java API - add #mapTables for OOP-ish mapping of results from #getTables
|
|
67
|
+
- [db2] [derby] some (working) connection alive sql (db gurus should help)
|
|
68
|
+
- [oracle] (a working) connection alive sql
|
|
69
|
+
- [db2] seems like DB2 on ZOS used a non-existing get_primary_key method
|
|
70
|
+
- do not call_discovered_column_callbacks for extending column impls
|
|
71
|
+
- [hsqldb] a 'valid' connection alive SQL for HSQLDB
|
|
72
|
+
- ActiveRecord::AbstractAdapter#exec_insert has 5 args in AR 4.0 (master)
|
|
73
|
+
- no need for a ArJdbc::Version module simply use ArJdbc::VERSION
|
|
74
|
+
- support auto-loading of adapter gems e.g. when specified in a Gemfile
|
|
75
|
+
- load out raltie from arjdbc instead of activerecord-jdbc-adapter thus it will
|
|
76
|
+
work consistently even if only a specific adapter gem is specified in Gemfile
|
|
77
|
+
- make sure we require arjdbc instead of just arjdbc/jdbc from adapters
|
|
4
78
|
|
|
5
79
|
== 1.2.9 (03/20/13)
|
|
6
80
|
|
|
7
81
|
- [oracle] native database types ala oracle-enhanced adapter
|
|
8
|
-
- [oracle] fix #insert (broken since execute+to_sql refactoring) keeping binds
|
|
82
|
+
- [oracle] fix #insert (broken since execute+to_sql refactoring) keeping binds
|
|
9
83
|
respect 30 max identifier length with default sequence names
|
|
10
84
|
- [db2] add as400 primary key support and re-add explain method
|
|
11
85
|
- [mssql] fix table/column name quoting - do not quote if quoted already
|
|
@@ -34,15 +108,15 @@
|
|
|
34
108
|
avoid (deprecated) Java.java_to_ruby when wrapping java.sql.Connection
|
|
35
109
|
- follow Column-naming convention in MySQL adapter ArJdbc module
|
|
36
110
|
- make sure update_sql is public in mysql adapter (Rails compatibility)
|
|
37
|
-
- fix 1.2.6 regression - incorrectly setup to_sql method based on Rails version
|
|
111
|
+
- fix 1.2.6 regression - incorrectly setup to_sql method based on Rails version
|
|
38
112
|
this caused double '?' bind substitution issues (#322)
|
|
39
113
|
|
|
40
114
|
== 1.2.6 (01/31/13)
|
|
41
115
|
|
|
42
116
|
- [postgres] only set --schema (to search path) for pg_dump if configured (#315)
|
|
43
117
|
- [oracle] id limits + quoting; current user/db/schema + savepoint support
|
|
44
|
-
- execute "log" (sql) name correctly based on AR version
|
|
45
|
-
- deprecate substitute_binds and extract_sql
|
|
118
|
+
- execute "log" (sql) name correctly based on AR version
|
|
119
|
+
- deprecate substitute_binds and extract_sql
|
|
46
120
|
- [derby] make sure we never modify the passed sql param
|
|
47
121
|
- [sqlite3] execute on insert_sql + savepoint support
|
|
48
122
|
- [mssql] [firebird] [informix] (shared) serialized attribute support
|
|
@@ -51,17 +125,17 @@
|
|
|
51
125
|
- renamed Sqlite3RubyJdbcConnection to SQLite3RubyJdbcConnection
|
|
52
126
|
- [mysql] re-define remove_index! for "better" AR-2.3 compatibility
|
|
53
127
|
- [derby] avoid failures with #quote when second arg nil + keep string encoding
|
|
54
|
-
- [db2] binary support & improved quoting +
|
|
128
|
+
- [db2] binary support & improved quoting +
|
|
55
129
|
use lob callback for all since it was failing on BLOB/CLOB inserts otherwise
|
|
56
130
|
- [db2] better (simplified) type handling for DB2
|
|
57
131
|
- JRuby 1.6.8 compatibility when rescue-ing Java exception
|
|
58
132
|
- [mysql] avoid encoding issues with MySQL's quoting methods (#185)
|
|
59
133
|
- [postgres] ignore binary precision / limit for bytea
|
|
60
134
|
- [oracle] explain (query) support
|
|
61
|
-
- [oracle] since Oracle supports TIMESTAMP for quite a while we should not
|
|
135
|
+
- [oracle] since Oracle supports TIMESTAMP for quite a while we should not
|
|
62
136
|
create DATE columns for a :timestamp column type
|
|
63
137
|
- [oracle] avoid CREATE DDL failure when BLOB has length specified
|
|
64
|
-
- [jdbc-] review autoloading backwards-incompatible change in jdbc- gems
|
|
138
|
+
- [jdbc-] review autoloading backwards-incompatible change in jdbc- gems
|
|
65
139
|
auto-load (backwards-compat) can be enabled back using jdbc.driver.autoload
|
|
66
140
|
system property or using the driver specific autoload option as well
|
|
67
141
|
- [jdbc-] Update version handling introduce DRIVER_VERSION constant
|
|
@@ -76,7 +150,7 @@
|
|
|
76
150
|
- [sqlite3] SQLite3 explain support (Rails style)
|
|
77
151
|
- [postgres] (re-usable) explain support for PostgreSQL (based on Rails)
|
|
78
152
|
- [h2] update handling of time fields on H2/HSQLDB (#252)
|
|
79
|
-
- rescue (and wrap) only SQLExceptions from driver.connect this caused
|
|
153
|
+
- rescue (and wrap) only SQLExceptions from driver.connect this caused
|
|
80
154
|
swallowing of runtime exceptions from JDBC drivers
|
|
81
155
|
- support for setting (custom) jdbc driver properties in config
|
|
82
156
|
- when a new adapter (constant) gets loaded column types should pick it up
|
|
@@ -87,7 +161,7 @@
|
|
|
87
161
|
== 1.2.5 (01/02/13)
|
|
88
162
|
|
|
89
163
|
- backwards compat with older jdbc- (driver) gems (#279)
|
|
90
|
-
- no need to set the :driver for jndi config (did not work anyways) when jdbc is being
|
|
164
|
+
- no need to set the :driver for jndi config (did not work anyways) when jdbc is being
|
|
91
165
|
configured + do not raise if there's a :driver_instance setup instead of the :driver
|
|
92
166
|
- support extra options with recreate_database (for postgres)
|
|
93
167
|
- [jdbc-derby] update Derby to 10.8.2.2
|
|
@@ -96,13 +170,13 @@
|
|
|
96
170
|
- [sqlite3] updated sqlite3 binary handling
|
|
97
171
|
- [jdbc-jtds] upgrade to jtds (driver) 1.3.0
|
|
98
172
|
- JDBC driver names should be on one (re-usable) place
|
|
99
|
-
- make sure that (jdbc-xxx gem) .jars are only loaded (required) when first connection
|
|
173
|
+
- make sure that (jdbc-xxx gem) .jars are only loaded (required) when first connection
|
|
100
174
|
is attempted (this avoids e.g. sqlite-jdbc.jar being always among loaded features)
|
|
101
175
|
- jdbc-* gems should expose the driver_jar instead of (auto) loading it
|
|
102
176
|
- [oracle] adding in_clause_limit override to properly handle Oracle's 1000 entry limit
|
|
103
177
|
- [jdbc-mysql] upgrade to mysql connector 5.1.22
|
|
104
178
|
- [jdbc-postgres] upgade to postgresql-9.2 jar version 9.2-1002
|
|
105
|
-
- [postgres] fix standard_conforming_strings's default not being set and
|
|
179
|
+
- [postgres] fix standard_conforming_strings's default not being set and
|
|
106
180
|
backslash escaping to account for standard_conforming_strings
|
|
107
181
|
- [jdbc-postgres] upgrade to postgres.jar 9.1.903 driver
|
|
108
182
|
- [jdbc-h2] update h2.jar to 1.3.168
|
|
@@ -116,7 +190,7 @@
|
|
|
116
190
|
- [db2] add support for primary keys to structure_dump
|
|
117
191
|
- [db2] detect identity columns in db2 structure_dump
|
|
118
192
|
- [mysql] added support for Rails 3.2 explain feature (#159)
|
|
119
|
-
- add support for DB_STRUCTURE in db:structure:dump
|
|
193
|
+
- add support for DB_STRUCTURE in db:structure:dump
|
|
120
194
|
(and db:structure:load task) (#203)
|
|
121
195
|
- [postgres] rename sequence during table rename
|
|
122
196
|
- [db2] iseries returns date with two digit year - leave it as string
|
|
@@ -598,7 +672,7 @@
|
|
|
598
672
|
== 0.3
|
|
599
673
|
|
|
600
674
|
- Release coincides with JRuby 1.0.0RC1 release
|
|
601
|
-
- Improvements for Derby, Postgres, and Oracle, all of which are running
|
|
675
|
+
- Improvements for Derby, Postgres, and Oracle, all of which are running
|
|
602
676
|
> 95% of AR tests
|
|
603
677
|
|
|
604
678
|
== 0.2.4
|
data/LICENSE.txt
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
Copyright (c) 2012-2013 Karol Bucek <self@kares.org>
|
|
1
2
|
Copyright (c) 2006-2012 Nick Sieger <nick@nicksieger.com>
|
|
2
3
|
Copyright (c) 2006-2008 Ola Bini <ola.bini@gmail.com>
|
|
4
|
+
|
|
3
5
|
All rights reserved.
|
|
4
6
|
|
|
5
7
|
Redistribution and use in source and binary forms, with or without modification,
|
|
@@ -21,4 +23,3 @@ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
|
|
21
23
|
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
22
24
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
23
25
|
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
24
|
-
|
data/README.md
CHANGED
|
@@ -8,6 +8,19 @@ AR-JDBC **1.2.x** officially supports ActiveRecord 3.x as well as 2.3, it's
|
|
|
8
8
|
latest version is compatible with JRuby 1.6.8+ (but as always we recommend to
|
|
9
9
|
use the latest and greatest of JRubies) thus requires Java 1.6 at minimum.
|
|
10
10
|
|
|
11
|
+
**NOTE:** version **1.3.0** of AR-JDBC adapter is currently in the making which
|
|
12
|
+
strives to provide ActiveRecord 2.3, 3.x as well as 4.0 (master) compatibility.
|
|
13
|
+
Our master already contains a lot of fixes but since we diverged significantly
|
|
14
|
+
from the 1.2 line (we no longer back-port fixes) and still require to perform a
|
|
15
|
+
few refactorings we advise users to point their *Gemfiles* to our master or use
|
|
16
|
+
pre-release versions of our gem(s) e.g. **1.3.0.beta1**.
|
|
17
|
+
|
|
18
|
+
**NOTE:** activerecord-jdbc-adapter gem **1.2.6** contains a SQL injection
|
|
19
|
+
[security vulnerability](http://cl.ly/code/0n381E353414) and has been yanked,
|
|
20
|
+
please update ASAP (to version >= 1.2.8) if you happen to still be using it !
|
|
21
|
+
Caused by a [regression](http://git.io/MDmiGQ) introduced in the 1.2.6 release,
|
|
22
|
+
which was still not completely been fixed in 1.2.7 and has been yanked as well.
|
|
23
|
+
|
|
11
24
|
## Databases
|
|
12
25
|
|
|
13
26
|
ActiveRecord-JDBC-Adapter provides full or nearly full support for:
|
|
@@ -243,4 +256,4 @@ license the database's drivers are licensed. See each driver gem's LICENSE.txt.
|
|
|
243
256
|
[2]: http://github.com/jruby/activerecord-jdbc-adapter/blob/master/activerecord-jdbcmssql-adapter
|
|
244
257
|
[3]: https://github.com/jruby/activerecord-jdbc-adapter/issues
|
|
245
258
|
[4]: http://github.com/nicksieger/activerecord-cachedb-adapter
|
|
246
|
-
[9]: https://secure.travis-ci.org/jruby/activerecord-jdbc-adapter.png
|
|
259
|
+
[9]: https://secure.travis-ci.org/jruby/activerecord-jdbc-adapter.png
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
|
2
2
|
$:.push File.expand_path("../lib", __FILE__)
|
|
3
3
|
require 'arjdbc/version'
|
|
4
|
-
|
|
4
|
+
|
|
5
5
|
Gem::Specification.new do |s|
|
|
6
6
|
s.name = "activerecord-jdbc-adapter"
|
|
7
|
-
s.version =
|
|
7
|
+
s.version = ArJdbc::VERSION
|
|
8
8
|
s.platform = Gem::Platform::RUBY
|
|
9
9
|
s.authors = ["Nick Sieger, Ola Bini and JRuby contributors"]
|
|
10
10
|
s.email = %q{nick@nicksieger.com, ola.bini@gmail.com}
|
data/gemfiles/rails23.gemfile
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
# This file was generated by Appraisal
|
|
2
2
|
|
|
3
|
-
source "
|
|
3
|
+
source "https://rubygems.org"
|
|
4
4
|
|
|
5
5
|
gem "jruby-openssl", :platform=>:jruby
|
|
6
6
|
gem "appraisal"
|
|
7
7
|
gem "rake", :require=>nil
|
|
8
|
-
gem "test-unit", :group=>:test
|
|
8
|
+
gem "test-unit", "2.5.4", :group=>:test
|
|
9
9
|
gem "test-unit-context", :group=>:test
|
|
10
|
-
gem "mocha", "
|
|
10
|
+
gem "mocha", ">= 0.13.0", :require=>nil, :group=>:test
|
|
11
11
|
gem "simplecov", :require=>nil, :group=>:test
|
|
12
12
|
gem "bcrypt-ruby", "~> 3.0.0", :require=>nil, :group=>:test
|
|
13
|
-
gem "activerecord", "~> 2.3.
|
|
14
|
-
gem "rails", "~> 2.3.
|
|
13
|
+
gem "activerecord", "~> 2.3.18"
|
|
14
|
+
gem "rails", "~> 2.3.18"
|
|
15
15
|
|
|
@@ -1,41 +1,41 @@
|
|
|
1
1
|
GEM
|
|
2
|
-
remote:
|
|
2
|
+
remote: https://rubygems.org/
|
|
3
3
|
specs:
|
|
4
|
-
actionmailer (2.3.
|
|
5
|
-
actionpack (= 2.3.
|
|
6
|
-
actionpack (2.3.
|
|
7
|
-
activesupport (= 2.3.
|
|
4
|
+
actionmailer (2.3.18)
|
|
5
|
+
actionpack (= 2.3.18)
|
|
6
|
+
actionpack (2.3.18)
|
|
7
|
+
activesupport (= 2.3.18)
|
|
8
8
|
rack (~> 1.1.0)
|
|
9
|
-
activerecord (2.3.
|
|
10
|
-
activesupport (= 2.3.
|
|
11
|
-
activeresource (2.3.
|
|
12
|
-
activesupport (= 2.3.
|
|
13
|
-
activesupport (2.3.
|
|
9
|
+
activerecord (2.3.18)
|
|
10
|
+
activesupport (= 2.3.18)
|
|
11
|
+
activeresource (2.3.18)
|
|
12
|
+
activesupport (= 2.3.18)
|
|
13
|
+
activesupport (2.3.18)
|
|
14
14
|
appraisal (0.5.1)
|
|
15
15
|
bundler
|
|
16
16
|
rake
|
|
17
17
|
bcrypt-ruby (3.0.1-java)
|
|
18
|
-
bouncy-castle-java (1.5.
|
|
19
|
-
jruby-openssl (0.
|
|
20
|
-
bouncy-castle-java (>= 1.5.
|
|
18
|
+
bouncy-castle-java (1.5.0147)
|
|
19
|
+
jruby-openssl (0.8.4)
|
|
20
|
+
bouncy-castle-java (>= 1.5.0147)
|
|
21
21
|
metaclass (0.0.1)
|
|
22
|
-
mocha (0.
|
|
22
|
+
mocha (0.13.3)
|
|
23
23
|
metaclass (~> 0.0.1)
|
|
24
24
|
multi_json (1.5.0)
|
|
25
|
-
rack (1.1.
|
|
26
|
-
rails (2.3.
|
|
27
|
-
actionmailer (= 2.3.
|
|
28
|
-
actionpack (= 2.3.
|
|
29
|
-
activerecord (= 2.3.
|
|
30
|
-
activeresource (= 2.3.
|
|
31
|
-
activesupport (= 2.3.
|
|
25
|
+
rack (1.1.6)
|
|
26
|
+
rails (2.3.18)
|
|
27
|
+
actionmailer (= 2.3.18)
|
|
28
|
+
actionpack (= 2.3.18)
|
|
29
|
+
activerecord (= 2.3.18)
|
|
30
|
+
activeresource (= 2.3.18)
|
|
31
|
+
activesupport (= 2.3.18)
|
|
32
32
|
rake (>= 0.8.3)
|
|
33
|
-
rake (0.
|
|
33
|
+
rake (10.0.3)
|
|
34
34
|
simplecov (0.7.1)
|
|
35
35
|
multi_json (~> 1.0)
|
|
36
36
|
simplecov-html (~> 0.7.1)
|
|
37
37
|
simplecov-html (0.7.1)
|
|
38
|
-
test-unit (2.5.
|
|
38
|
+
test-unit (2.5.4)
|
|
39
39
|
test-unit-context (0.3.0)
|
|
40
40
|
test-unit (>= 2.4.0)
|
|
41
41
|
|
|
@@ -43,13 +43,13 @@ PLATFORMS
|
|
|
43
43
|
java
|
|
44
44
|
|
|
45
45
|
DEPENDENCIES
|
|
46
|
-
activerecord (~> 2.3.
|
|
46
|
+
activerecord (~> 2.3.18)
|
|
47
47
|
appraisal
|
|
48
48
|
bcrypt-ruby (~> 3.0.0)
|
|
49
49
|
jruby-openssl
|
|
50
|
-
mocha (
|
|
51
|
-
rails (~> 2.3.
|
|
50
|
+
mocha (>= 0.13.0)
|
|
51
|
+
rails (~> 2.3.18)
|
|
52
52
|
rake
|
|
53
53
|
simplecov
|
|
54
|
-
test-unit
|
|
54
|
+
test-unit (= 2.5.4)
|
|
55
55
|
test-unit-context
|