activerecord-jdbc-adapter 1.0.3-java → 50.1-java
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +33 -0
- data/.travis.yml +79 -0
- data/.yardopts +4 -0
- data/CONTRIBUTING.md +50 -0
- data/Gemfile +91 -0
- data/History.md +1191 -0
- data/LICENSE.txt +22 -17
- data/README.md +169 -0
- data/RUNNING_TESTS.md +127 -0
- data/Rakefile +294 -5
- data/Rakefile.jdbc +20 -0
- data/activerecord-jdbc-adapter.gemspec +55 -0
- data/lib/active_record/connection_adapters/as400_adapter.rb +2 -0
- data/lib/active_record/connection_adapters/db2_adapter.rb +1 -0
- data/lib/active_record/connection_adapters/firebird_adapter.rb +1 -0
- data/lib/active_record/connection_adapters/mariadb_adapter.rb +1 -0
- data/lib/active_record/connection_adapters/sqlserver_adapter.rb +1 -0
- data/lib/activerecord-jdbc-adapter.rb +0 -5
- data/lib/arel/visitors/compat.rb +60 -0
- data/lib/arel/visitors/db2.rb +128 -6
- data/lib/arel/visitors/derby.rb +103 -10
- data/lib/arel/visitors/firebird.rb +79 -0
- data/lib/arel/visitors/h2.rb +25 -0
- data/lib/arel/visitors/hsqldb.rb +18 -10
- data/lib/arel/visitors/postgresql_jdbc.rb +6 -0
- data/lib/arel/visitors/sql_server.rb +225 -0
- data/lib/arel/visitors/sql_server/ng42.rb +293 -0
- data/lib/arjdbc.rb +11 -21
- data/lib/arjdbc/abstract/connection_management.rb +35 -0
- data/lib/arjdbc/abstract/core.rb +64 -0
- data/lib/arjdbc/abstract/database_statements.rb +64 -0
- data/lib/arjdbc/abstract/statement_cache.rb +58 -0
- data/lib/arjdbc/abstract/transaction_support.rb +86 -0
- data/lib/arjdbc/db2.rb +3 -1
- data/lib/arjdbc/db2/adapter.rb +630 -250
- data/lib/arjdbc/db2/as400.rb +130 -0
- data/lib/arjdbc/db2/column.rb +167 -0
- data/lib/arjdbc/db2/connection_methods.rb +44 -0
- data/lib/arjdbc/derby.rb +1 -5
- data/lib/arjdbc/derby/active_record_patch.rb +13 -0
- data/lib/arjdbc/derby/adapter.rb +409 -217
- data/lib/arjdbc/derby/connection_methods.rb +16 -14
- data/lib/arjdbc/derby/schema_creation.rb +15 -0
- data/lib/arjdbc/discover.rb +62 -50
- data/lib/arjdbc/firebird.rb +3 -1
- data/lib/arjdbc/firebird/adapter.rb +365 -62
- data/lib/arjdbc/firebird/connection_methods.rb +23 -0
- data/lib/arjdbc/h2.rb +2 -3
- data/lib/arjdbc/h2/adapter.rb +273 -6
- data/lib/arjdbc/h2/connection_methods.rb +23 -8
- data/lib/arjdbc/hsqldb.rb +2 -3
- data/lib/arjdbc/hsqldb/adapter.rb +204 -77
- data/lib/arjdbc/hsqldb/connection_methods.rb +24 -10
- data/lib/arjdbc/hsqldb/explain_support.rb +35 -0
- data/lib/arjdbc/hsqldb/schema_creation.rb +11 -0
- data/lib/arjdbc/informix.rb +4 -2
- data/lib/arjdbc/informix/adapter.rb +78 -54
- data/lib/arjdbc/informix/connection_methods.rb +8 -9
- data/lib/arjdbc/jdbc.rb +59 -2
- data/lib/arjdbc/jdbc/adapter.rb +356 -166
- data/lib/arjdbc/jdbc/adapter_java.jar +0 -0
- data/lib/arjdbc/jdbc/adapter_require.rb +46 -0
- data/lib/arjdbc/jdbc/base_ext.rb +15 -0
- data/lib/arjdbc/jdbc/callbacks.rb +27 -18
- data/lib/arjdbc/jdbc/column.rb +79 -20
- data/lib/arjdbc/jdbc/connection.rb +5 -119
- data/lib/arjdbc/jdbc/connection_methods.rb +32 -4
- data/lib/arjdbc/jdbc/error.rb +65 -0
- data/lib/arjdbc/jdbc/extension.rb +41 -29
- data/lib/arjdbc/jdbc/java.rb +5 -6
- data/lib/arjdbc/jdbc/jdbc.rake +3 -126
- data/lib/arjdbc/jdbc/railtie.rb +2 -9
- data/lib/arjdbc/jdbc/rake_tasks.rb +3 -10
- data/lib/arjdbc/jdbc/serialized_attributes_helper.rb +3 -0
- data/lib/arjdbc/jdbc/type_cast.rb +166 -0
- data/lib/arjdbc/jdbc/type_converter.rb +35 -19
- data/lib/arjdbc/mssql.rb +6 -3
- data/lib/arjdbc/mssql/adapter.rb +630 -298
- data/lib/arjdbc/mssql/column.rb +200 -0
- data/lib/arjdbc/mssql/connection_methods.rb +66 -17
- data/lib/arjdbc/mssql/explain_support.rb +99 -0
- data/lib/arjdbc/mssql/limit_helpers.rb +189 -50
- data/lib/arjdbc/mssql/lock_methods.rb +77 -0
- data/lib/arjdbc/mssql/types.rb +343 -0
- data/lib/arjdbc/mssql/utils.rb +82 -0
- data/lib/arjdbc/mysql.rb +2 -3
- data/lib/arjdbc/mysql/adapter.rb +86 -356
- data/lib/arjdbc/mysql/connection_methods.rb +159 -23
- data/lib/arjdbc/oracle/adapter.rb +714 -263
- data/lib/arjdbc/postgresql.rb +2 -3
- data/lib/arjdbc/postgresql/_bc_time_cast_patch.rb +24 -0
- data/lib/arjdbc/postgresql/adapter.rb +570 -400
- data/lib/arjdbc/postgresql/base/array_decoder.rb +26 -0
- data/lib/arjdbc/postgresql/base/array_encoder.rb +25 -0
- data/lib/arjdbc/postgresql/base/array_parser.rb +95 -0
- data/lib/arjdbc/postgresql/base/pgconn.rb +11 -0
- data/lib/arjdbc/postgresql/column.rb +51 -0
- data/lib/arjdbc/postgresql/connection_methods.rb +57 -18
- data/lib/arjdbc/postgresql/name.rb +24 -0
- data/lib/arjdbc/postgresql/oid_types.rb +192 -0
- data/lib/arjdbc/railtie.rb +11 -0
- data/lib/arjdbc/sqlite3.rb +2 -3
- data/lib/arjdbc/sqlite3/adapter.rb +518 -198
- data/lib/arjdbc/sqlite3/connection_methods.rb +49 -24
- data/lib/arjdbc/sybase.rb +2 -2
- data/lib/arjdbc/sybase/adapter.rb +7 -6
- data/lib/arjdbc/tasks.rb +13 -0
- data/lib/arjdbc/tasks/database_tasks.rb +52 -0
- data/lib/arjdbc/tasks/databases.rake +91 -0
- data/lib/arjdbc/tasks/databases3.rake +215 -0
- data/lib/arjdbc/tasks/databases4.rake +39 -0
- data/lib/arjdbc/tasks/db2_database_tasks.rb +104 -0
- data/lib/arjdbc/tasks/derby_database_tasks.rb +95 -0
- data/lib/arjdbc/tasks/h2_database_tasks.rb +31 -0
- data/lib/arjdbc/tasks/hsqldb_database_tasks.rb +70 -0
- data/lib/arjdbc/tasks/jdbc_database_tasks.rb +169 -0
- data/lib/arjdbc/tasks/mssql_database_tasks.rb +46 -0
- data/lib/arjdbc/util/quoted_cache.rb +60 -0
- data/lib/arjdbc/util/serialized_attributes.rb +98 -0
- data/lib/arjdbc/util/table_copier.rb +110 -0
- data/lib/arjdbc/version.rb +1 -6
- data/lib/generators/jdbc/USAGE +9 -0
- data/lib/generators/jdbc/jdbc_generator.rb +8 -0
- data/lib/jdbc_adapter.rb +1 -1
- data/lib/jdbc_adapter/rake_tasks.rb +3 -2
- data/lib/jdbc_adapter/version.rb +2 -1
- data/pom.xml +114 -0
- data/rails_generators/jdbc_generator.rb +1 -1
- data/rails_generators/templates/config/initializers/jdbc.rb +8 -5
- data/rails_generators/templates/lib/tasks/jdbc.rake +7 -4
- data/rakelib/01-tomcat.rake +51 -0
- data/rakelib/02-test.rake +132 -0
- data/rakelib/bundler_ext.rb +11 -0
- data/rakelib/compile.rake +67 -22
- data/rakelib/db.rake +61 -0
- data/rakelib/rails.rake +204 -29
- data/src/java/arjdbc/ArJdbcModule.java +286 -0
- data/src/java/arjdbc/db2/DB2Module.java +76 -0
- data/src/java/arjdbc/db2/DB2RubyJdbcConnection.java +126 -0
- data/src/java/arjdbc/derby/DerbyModule.java +99 -243
- data/src/java/arjdbc/derby/DerbyRubyJdbcConnection.java +152 -0
- data/src/java/arjdbc/firebird/FirebirdRubyJdbcConnection.java +174 -0
- data/src/java/arjdbc/{jdbc/JdbcConnectionFactory.java → h2/H2Module.java} +20 -6
- data/src/java/arjdbc/h2/H2RubyJdbcConnection.java +27 -12
- data/src/java/arjdbc/hsqldb/HSQLDBModule.java +73 -0
- data/src/java/arjdbc/informix/InformixRubyJdbcConnection.java +7 -6
- data/src/java/arjdbc/jdbc/AdapterJavaService.java +7 -29
- data/src/java/arjdbc/jdbc/Callable.java +44 -0
- data/src/java/arjdbc/jdbc/ConnectionFactory.java +132 -0
- data/src/java/arjdbc/jdbc/DataSourceConnectionFactory.java +157 -0
- data/src/java/arjdbc/jdbc/DriverConnectionFactory.java +63 -0
- data/src/java/arjdbc/jdbc/DriverWrapper.java +119 -0
- data/src/java/arjdbc/jdbc/JdbcResult.java +130 -0
- data/src/java/arjdbc/jdbc/RubyJdbcConnection.java +3622 -948
- data/src/java/arjdbc/mssql/MSSQLModule.java +90 -0
- data/src/java/arjdbc/mssql/MSSQLRubyJdbcConnection.java +181 -0
- data/src/java/arjdbc/mysql/MySQLModule.java +99 -81
- data/src/java/arjdbc/mysql/MySQLRubyJdbcConnection.java +294 -0
- data/src/java/arjdbc/oracle/OracleModule.java +80 -0
- data/src/java/arjdbc/oracle/OracleRubyJdbcConnection.java +387 -17
- data/src/java/arjdbc/postgresql/ByteaUtils.java +157 -0
- data/src/java/arjdbc/postgresql/PgResultSetMetaDataWrapper.java +23 -0
- data/src/java/arjdbc/postgresql/PostgreSQLModule.java +77 -0
- data/src/java/arjdbc/postgresql/PostgreSQLResult.java +184 -0
- data/src/java/arjdbc/postgresql/PostgreSQLRubyJdbcConnection.java +952 -0
- data/src/java/arjdbc/sqlite3/SQLite3Module.java +73 -0
- data/src/java/arjdbc/sqlite3/SQLite3RubyJdbcConnection.java +525 -0
- data/src/java/arjdbc/util/CallResultSet.java +826 -0
- data/src/java/arjdbc/util/DateTimeUtils.java +580 -0
- data/src/java/arjdbc/util/ObjectSupport.java +65 -0
- data/src/java/arjdbc/util/QuotingUtils.java +138 -0
- data/src/java/arjdbc/util/StringCache.java +63 -0
- data/src/java/arjdbc/util/StringHelper.java +159 -0
- metadata +245 -268
- data/History.txt +0 -369
- data/Manifest.txt +0 -180
- data/README.txt +0 -181
- data/lib/active_record/connection_adapters/oracle_adapter.rb +0 -1
- data/lib/arel/engines/sql/compilers/db2_compiler.rb +0 -9
- data/lib/arel/engines/sql/compilers/derby_compiler.rb +0 -6
- data/lib/arel/engines/sql/compilers/h2_compiler.rb +0 -6
- data/lib/arel/engines/sql/compilers/hsqldb_compiler.rb +0 -15
- data/lib/arel/engines/sql/compilers/jdbc_compiler.rb +0 -6
- data/lib/arel/engines/sql/compilers/mssql_compiler.rb +0 -46
- data/lib/arel/visitors/mssql.rb +0 -44
- 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/lib/arjdbc/jdbc/driver.rb +0 -44
- data/lib/arjdbc/jdbc/missing_functionality_helper.rb +0 -87
- data/lib/arjdbc/jdbc/quoted_primary_key.rb +0 -28
- data/lib/arjdbc/jdbc/require_driver.rb +0 -16
- data/lib/arjdbc/mimer.rb +0 -2
- data/lib/arjdbc/mimer/adapter.rb +0 -142
- data/lib/arjdbc/mssql/tsql_helper.rb +0 -61
- data/lib/arjdbc/oracle.rb +0 -3
- data/lib/arjdbc/oracle/connection_methods.rb +0 -11
- data/lib/pg.rb +0 -4
- data/rakelib/package.rake +0 -92
- data/rakelib/test.rake +0 -81
- data/src/java/arjdbc/jdbc/SQLBlock.java +0 -48
- data/src/java/arjdbc/mssql/MssqlRubyJdbcConnection.java +0 -127
- data/src/java/arjdbc/postgresql/PostgresqlRubyJdbcConnection.java +0 -57
- data/src/java/arjdbc/sqlite3/Sqlite3RubyJdbcConnection.java +0 -64
- data/test/abstract_db_create.rb +0 -117
- data/test/activerecord/connection_adapters/type_conversion_test.rb +0 -31
- data/test/activerecord/connections/native_jdbc_mysql/connection.rb +0 -25
- data/test/db/db2.rb +0 -11
- data/test/db/derby.rb +0 -12
- data/test/db/h2.rb +0 -11
- data/test/db/hsqldb.rb +0 -13
- data/test/db/informix.rb +0 -11
- data/test/db/jdbc.rb +0 -11
- data/test/db/jndi_config.rb +0 -40
- data/test/db/logger.rb +0 -3
- data/test/db/mssql.rb +0 -9
- data/test/db/mysql.rb +0 -10
- data/test/db/oracle.rb +0 -34
- data/test/db/postgres.rb +0 -9
- data/test/db/sqlite3.rb +0 -11
- data/test/db2_simple_test.rb +0 -66
- data/test/derby_migration_test.rb +0 -68
- data/test/derby_multibyte_test.rb +0 -12
- data/test/derby_simple_test.rb +0 -99
- data/test/generic_jdbc_connection_test.rb +0 -29
- data/test/h2_simple_test.rb +0 -41
- data/test/has_many_through.rb +0 -79
- data/test/helper.rb +0 -5
- data/test/hsqldb_simple_test.rb +0 -6
- data/test/informix_simple_test.rb +0 -48
- data/test/jdbc_common.rb +0 -25
- data/test/jndi_callbacks_test.rb +0 -40
- data/test/jndi_test.rb +0 -25
- data/test/manualTestDatabase.rb +0 -191
- data/test/models/add_not_null_column_to_table.rb +0 -12
- data/test/models/auto_id.rb +0 -18
- data/test/models/data_types.rb +0 -28
- data/test/models/entry.rb +0 -43
- data/test/models/mixed_case.rb +0 -25
- data/test/models/reserved_word.rb +0 -18
- data/test/models/string_id.rb +0 -18
- data/test/models/validates_uniqueness_of_string.rb +0 -19
- data/test/mssql_db_create_test.rb +0 -26
- data/test/mssql_identity_insert_test.rb +0 -19
- data/test/mssql_legacy_types_test.rb +0 -58
- data/test/mssql_limit_offset_test.rb +0 -136
- data/test/mssql_multibyte_test.rb +0 -18
- data/test/mssql_simple_test.rb +0 -55
- data/test/mysql_db_create_test.rb +0 -27
- data/test/mysql_info_test.rb +0 -113
- data/test/mysql_multibyte_test.rb +0 -10
- data/test/mysql_nonstandard_primary_key_test.rb +0 -42
- data/test/mysql_simple_test.rb +0 -49
- data/test/oracle_simple_test.rb +0 -18
- data/test/oracle_specific_test.rb +0 -83
- data/test/pick_rails_version.rb +0 -3
- data/test/postgres_db_create_test.rb +0 -32
- data/test/postgres_drop_db_test.rb +0 -16
- data/test/postgres_mixed_case_test.rb +0 -29
- data/test/postgres_nonseq_pkey_test.rb +0 -38
- data/test/postgres_reserved_test.rb +0 -22
- data/test/postgres_schema_search_path_test.rb +0 -44
- data/test/postgres_simple_test.rb +0 -51
- data/test/postgres_table_alias_length_test.rb +0 -15
- data/test/simple.rb +0 -546
- data/test/sqlite3_simple_test.rb +0 -233
- data/test/sybase_jtds_simple_test.rb +0 -28
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 5b084099c62150191b20ce945af56f678dbea01a
|
4
|
+
data.tar.gz: 503f2431a2d3d8a2a9f8aed698dea351cead1e91
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: ccda53ecea8b3f8d2107ceba72c66a927168d4a9ea3fbb2e06c548276401e69a9b6ffbfaa737a92a2617b8ac2a7295555d09b73dc98c431fbf0f5e19456aa6e2
|
7
|
+
data.tar.gz: 9b8efb23326005581ec55a168175e366af08b3025f4ca025a7cc6f391a3b6484889257b9b61fce0baa9746a8339598edbd298e6939b82e90e8c1cf71185d4dd4
|
data/.gitignore
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
*.gem
|
2
|
+
*.tgz
|
3
|
+
*~
|
4
|
+
*.log
|
5
|
+
patches*
|
6
|
+
*#
|
7
|
+
TAGS
|
8
|
+
MANIFEST.MF
|
9
|
+
bin
|
10
|
+
pkg
|
11
|
+
doc
|
12
|
+
target
|
13
|
+
coverage
|
14
|
+
build.xml
|
15
|
+
nbproject
|
16
|
+
.classpath
|
17
|
+
.project
|
18
|
+
*.sqlite
|
19
|
+
*.sqlite3
|
20
|
+
*.derby
|
21
|
+
derby.log
|
22
|
+
test.hsqldb*
|
23
|
+
test*.db
|
24
|
+
*test_*.out
|
25
|
+
test/jars/*.jar
|
26
|
+
jndi_test/jdbc/.bindings
|
27
|
+
.yardoc
|
28
|
+
.bundle/config
|
29
|
+
Gemfile.lock
|
30
|
+
.idea
|
31
|
+
.settings
|
32
|
+
activerecord-jdbc.iml
|
33
|
+
lib/arjdbc/jdbc/adapter_java.jar
|
data/.travis.yml
ADDED
@@ -0,0 +1,79 @@
|
|
1
|
+
language: ruby
|
2
|
+
sudo: false
|
3
|
+
bundler_args: --without development
|
4
|
+
script: bundle exec rake ${TEST_PREFIX}test_$DB
|
5
|
+
before_install:
|
6
|
+
- unset _JAVA_OPTIONS
|
7
|
+
before_script:
|
8
|
+
- echo "JAVA_OPTS=$JAVA_OPTS"
|
9
|
+
- export JRUBY_OPTS="-J-Xms64M -J-Xmx1024M"
|
10
|
+
- rake jar # compiles ext generates: lib/arjdbc/jdbc/adapter_java.jar
|
11
|
+
- mysql --version || true # to see if we're using MySQL or MariaDB
|
12
|
+
- '[ "$DB" == "postgresql" ] && [ "$TEST_PREFIX" == "" ] && rake db:postgresql || true'
|
13
|
+
- '[ "$DB" == "mysql2" ] && [ "$TEST_PREFIX" == "" ] && rake db:mysql || true'
|
14
|
+
- '[ "$DB" == "mariadb" ] && [ "$TEST_PREFIX" == "" ] && rake db:mysql || true'
|
15
|
+
- '[ "$DB" == "jdbc" ] && rake db:mysql || true'
|
16
|
+
- '[ "$DB" == "jndi" ] && rake db:mysql || true'
|
17
|
+
# rails:test setups :
|
18
|
+
- |
|
19
|
+
[ "$DB" == "mysql2" ] && [ "$TEST_PREFIX" == "rails:" ] && \
|
20
|
+
mysql -e "CREATE USER rails@localhost;" && \
|
21
|
+
mysql -e "grant all privileges on activerecord_unittest.* to rails@localhost;" && \
|
22
|
+
mysql -e "grant all privileges on activerecord_unittest2.* to rails@localhost;" && \
|
23
|
+
mysql -e "grant all privileges on inexistent_activerecord_unittest.* to rails@localhost;" && \
|
24
|
+
mysql -e "CREATE DATABASE activerecord_unittest;" && \
|
25
|
+
mysql -e "CREATE DATABASE activerecord_unittest2;" \
|
26
|
+
|| true
|
27
|
+
- |
|
28
|
+
[ "$DB" == "postgresql" ] && [ "$TEST_PREFIX" == "rails:" ] && \
|
29
|
+
psql -c "create database activerecord_unittest;" -U postgres && \
|
30
|
+
psql -c "create database activerecord_unittest2;" -U postgres \
|
31
|
+
|| true
|
32
|
+
rvm:
|
33
|
+
- jruby-9.1.16.0
|
34
|
+
jdk:
|
35
|
+
- openjdk8
|
36
|
+
env:
|
37
|
+
- DB=mysql2 PREPARED_STATEMENTS=false
|
38
|
+
- DB=mysql2 PREPARED_STATEMENTS=true
|
39
|
+
- DB=mysql2 DRIVER=MariaDB
|
40
|
+
- DB=postgresql PREPARED_STATEMENTS=false INSERT_RETURNING=false
|
41
|
+
- DB=postgresql PREPARED_STATEMENTS=false INSERT_RETURNING=true
|
42
|
+
- DB=postgresql PREPARED_STATEMENTS=true
|
43
|
+
- DB=postgresql PREPARED_STATEMENTS=true INSERT_RETURNING=true
|
44
|
+
- DB=sqlite3 PREPARED_STATEMENTS=false
|
45
|
+
- DB=sqlite3 PREPARED_STATEMENTS=true
|
46
|
+
#- DB=jndi PREPARED_STATEMENTS=false
|
47
|
+
#- DB=jndi PREPARED_STATEMENTS=true
|
48
|
+
branches:
|
49
|
+
only:
|
50
|
+
- master
|
51
|
+
- /.*-stable$/
|
52
|
+
- /^test-.*/
|
53
|
+
- /maintenance|support/
|
54
|
+
- /.*dev$/
|
55
|
+
matrix:
|
56
|
+
allow_failures:
|
57
|
+
- rvm: jruby-head
|
58
|
+
include:
|
59
|
+
# jruby-head
|
60
|
+
- rvm: jruby-head
|
61
|
+
env: DB=mysql2
|
62
|
+
- rvm: jruby-head
|
63
|
+
env: DB=postgresql
|
64
|
+
- rvm: jruby-head
|
65
|
+
env: DB=sqlite3
|
66
|
+
# testing against MariaDB
|
67
|
+
- addons:
|
68
|
+
mariadb: '10.0'
|
69
|
+
env: DB=mariadb PREPARED_STATEMENTS=false
|
70
|
+
- addons:
|
71
|
+
mariadb: '10.1'
|
72
|
+
env: DB=mariadb PREPARED_STATEMENTS=true
|
73
|
+
# Rails test-suite :
|
74
|
+
- env: DB=mysql2 TEST_PREFIX="rails:" AR_VERSION="v5.0.7" # PS off by default
|
75
|
+
- env: DB=mysql2 TEST_PREFIX="rails:" AR_VERSION="v5.0.7" PREPARED_STATEMENTS=true
|
76
|
+
- env: DB=mysql2 TEST_PREFIX="rails:" AR_VERSION="v5.0.7" DRIVER=MariaDB
|
77
|
+
- env: DB=postgresql TEST_PREFIX="rails:" AR_VERSION="v5.0.7" # PS on by default
|
78
|
+
- env: DB=postgresql TEST_PREFIX="rails:" AR_VERSION="v5.0.7" PREPARED_STATEMENTS=false
|
79
|
+
- env: DB=sqlite3 TEST_PREFIX="rails:" AR_VERSION="v5.0.7"
|
data/.yardopts
ADDED
data/CONTRIBUTING.md
ADDED
@@ -0,0 +1,50 @@
|
|
1
|
+
|
2
|
+
## Contributing to ActiveRecord JDBC Adapter
|
3
|
+
|
4
|
+
AR-JDBC is (currently) a volunteer effort, it is not backed by any company ...
|
5
|
+
You can contribute and make a difference for all JRuby on Rails sites out there.
|
6
|
+
|
7
|
+
### Building
|
8
|
+
|
9
|
+
Part of AR-JDBC is a native JRuby extension written in .java, compiling (or even
|
10
|
+
using) the project requires that you have `javac` on your path for building the gem.
|
11
|
+
This means a JRE isn't sufficient and you will be forced to install a JDK.
|
12
|
+
|
13
|
+
### Reporting Issues
|
14
|
+
|
15
|
+
We encourage you to try looking into reported issues, esp. if the new issue is about
|
16
|
+
(Rails) incompatibility with MRI - as it might be fixed with some copy-paste magic.
|
17
|
+
|
18
|
+
Please consider testing against **master**, if you're in doubt whether it might
|
19
|
+
have been [fixed](History.md) already, change the following in your *Gemfile* :
|
20
|
+
|
21
|
+
gem 'activerecord-jdbc-adapter', :github => 'jruby/activerecord-jdbc-adapter'
|
22
|
+
|
23
|
+
Do not forget to **include the following with your bug report** :
|
24
|
+
|
25
|
+
* AR-JDBC's version used (if you've tested against master mention it)
|
26
|
+
|
27
|
+
* version of Rails / ActiveRecord you're running with
|
28
|
+
|
29
|
+
* JRuby version (you might include your Java version as well) - `jruby -v`
|
30
|
+
|
31
|
+
* if you've setup the JDBC driver yourself please mention that (+ it's version)
|
32
|
+
|
33
|
+
* include any (related) back-traces (or Java stack-traces) you've seen in the logs
|
34
|
+
|
35
|
+
* ... a way to reproduce :)
|
36
|
+
|
37
|
+
### Pull Requests
|
38
|
+
|
39
|
+
You're code will end up on upstream faster if you provide tests as well, read on
|
40
|
+
how to [run AR-JDBC tests](RUNNING_TESTS.md).
|
41
|
+
|
42
|
+
When fixing issues for a particular Rails version please be aware that we support
|
43
|
+
multiple AR versions from a single code-base (and that means supporting Ruby 1.8
|
44
|
+
as well - esp. targeting 4.x **we can not use the 1.9 syntax** yet).
|
45
|
+
|
46
|
+
Please keep our [test-suite](https://travis-ci.org/jruby/activerecord-jdbc-adapter)
|
47
|
+
green (been funky for a while and it's been hard-work getting in back to shape),
|
48
|
+
while making changes, if they're related to an adapter covered by those.
|
49
|
+
|
50
|
+
:heart: JRuby-Up!
|
data/Gemfile
ADDED
@@ -0,0 +1,91 @@
|
|
1
|
+
source "https://rubygems.org"
|
2
|
+
|
3
|
+
if ENV['RAILS'] # Use local clone of Rails
|
4
|
+
rails_dir = ENV['RAILS']
|
5
|
+
activerecord_dir = ::File.join(rails_dir, 'activerecord')
|
6
|
+
|
7
|
+
if !::File.exist?(rails_dir) && !::File.exist?(activerecord_dir)
|
8
|
+
raise "ENV['RAILS'] set but does not point at a valid rails clone"
|
9
|
+
end
|
10
|
+
|
11
|
+
activemodel_dir = ::File.join(rails_dir, 'activemodel')
|
12
|
+
activesupport_dir = ::File.join(rails_dir, 'activesupport')
|
13
|
+
|
14
|
+
gem 'activerecord', require: false, path: activerecord_dir
|
15
|
+
gem 'activemodel', require: false, path: activemodel_dir
|
16
|
+
gem 'activesupport', require: false, path: activesupport_dir
|
17
|
+
elsif ENV['AR_VERSION'] # Use specific version of AR and not .gemspec version
|
18
|
+
version = ENV['AR_VERSION']
|
19
|
+
|
20
|
+
if !version.eql?('false') # Don't bundle any versions of AR; use LOAD_PATH
|
21
|
+
# Specified as raw number. Use normal gem require.
|
22
|
+
if version =~ /^([0-9.])+(_)?(rc|RC|beta|BETA|PR|pre)*([0-9.])*$/
|
23
|
+
gem 'activerecord', version, require: nil
|
24
|
+
else # Asking for git clone specific version
|
25
|
+
if version =~ /^[0-9abcdef]+$/ || # SHA
|
26
|
+
version =~ /^v([0-9.])+(_)?(rc|RC|beta|BETA|PR|pre)*([0-9.])*$/# tag
|
27
|
+
opts = {ref: version}
|
28
|
+
else # branch
|
29
|
+
opts = {branch: version}
|
30
|
+
end
|
31
|
+
|
32
|
+
git 'https://github.com/rails/rails.git', **opts do
|
33
|
+
gem 'activerecord', require: false
|
34
|
+
gem 'activemodel', require: false
|
35
|
+
gem 'activesupport', require: false
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
else
|
40
|
+
gemspec name: 'activerecord-jdbc-adapter' # Use versiom from .gemspec
|
41
|
+
end
|
42
|
+
|
43
|
+
gem 'rake', '>= 11.1', require: nil
|
44
|
+
|
45
|
+
group :test do
|
46
|
+
gem 'test-unit', '~> 2.5.4', require: nil
|
47
|
+
gem 'test-unit-context', '>= 0.4.0', require: nil
|
48
|
+
gem 'mocha', '~> 1.2', require: false # Rails has '~> 0.14'
|
49
|
+
|
50
|
+
gem 'bcrypt', '~> 3.1.11', require: false
|
51
|
+
gem 'builder', require: false
|
52
|
+
end
|
53
|
+
|
54
|
+
group :rails do
|
55
|
+
group :test do
|
56
|
+
# FIX: Our test suite isn't ready to run in random order yet.
|
57
|
+
gem 'minitest', '< 5.3.4', require: nil
|
58
|
+
gem 'minitest-excludes', '~> 2.0.1', require: nil
|
59
|
+
gem 'minitest-rg', require: nil
|
60
|
+
|
61
|
+
gem 'benchmark-ips', require: nil
|
62
|
+
end
|
63
|
+
|
64
|
+
gem 'erubis', require: nil # "~> 2.7.0"
|
65
|
+
# NOTE: due rails/activerecord/test/cases/connection_management_test.rb
|
66
|
+
gem 'rack', require: nil
|
67
|
+
end
|
68
|
+
|
69
|
+
group :development do
|
70
|
+
gem 'ruby-debug', require: nil # if ENV['DEBUG']
|
71
|
+
group :doc do
|
72
|
+
gem 'yard', require: nil
|
73
|
+
gem 'kramdown', require: nil
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
group :test do
|
78
|
+
# for testing against different version(s)
|
79
|
+
if sqlite_version = ENV['JDBC_SQLITE_VERSION']
|
80
|
+
gem 'jdbc-sqlite3', sqlite_version, require: nil, platform: :jruby
|
81
|
+
end
|
82
|
+
|
83
|
+
gem 'mysql2', '>= 0.4.4', require: nil, platform: :mri
|
84
|
+
gem 'pg', '>= 0.18.0', require: nil, platform: :mri
|
85
|
+
gem 'sqlite3', '~> 1.3.6', require: nil, platform: :mri
|
86
|
+
|
87
|
+
# group :mssql do
|
88
|
+
# gem 'tiny_tds', require: nil, platform: :mri
|
89
|
+
# gem 'activerecord-sqlserver-adapter', require: nil, platform: :mri
|
90
|
+
# end
|
91
|
+
end
|
data/History.md
ADDED
@@ -0,0 +1,1191 @@
|
|
1
|
+
## 1.3.20 (03/09/16)
|
2
|
+
|
3
|
+
- Retrieve AM::Type::Boolean::FALSE_VALUES for Rails 5 (#705)
|
4
|
+
- [mysql] only mock mysql / mysql2 error under adapter /mysql/
|
5
|
+
and make sure db:create works (#702)
|
6
|
+
- use system instead of `` to run dumps (on < 4.0) as it has issues under 1.7.x
|
7
|
+
- avoid column.default type_cast-ing on AR 4.2 (#715)
|
8
|
+
- [postgres] data_sources support - backport on AR 4.2
|
9
|
+
- add support for data sources (backport on AR 4.2) in base (jdbc) adapter
|
10
|
+
- [derby] Enable DDL transaction on Derby (#714)
|
11
|
+
- [db2] support for DB2 big integer (BIGINT) data type
|
12
|
+
- [mysql] Fixed MySQL primary key for MySQL >= 5.7.3 (#695)
|
13
|
+
- [sqlite] on AR 4.2 is not supposed to have an implicit string limit: 255
|
14
|
+
- [postgres] on AR 4.2 is not supposed to have an implicit string limit: 255
|
15
|
+
|
16
|
+
## 1.3.19 (11/02/15)
|
17
|
+
|
18
|
+
- [sqlite] add supports_partial_index? and remove duplicate support_index_sort_order?
|
19
|
+
- [sqlite] fix missing save-point removal in release_savepoint
|
20
|
+
- test and fix current savepoint_name compatibility with AR versions (mostly 4.2)
|
21
|
+
* adjust returned current savepoint name to better match with AR (< 4.2)
|
22
|
+
* make sure savepoint rollback behave AR compatibly
|
23
|
+
- [mysql] revert to extracting BIT into an int as tinyint(1) (#687)
|
24
|
+
- [mysql] do not validate connection_alive_sql as there's a special /* ping */ query
|
25
|
+
- support timeouts on connection validation with `config[:connection_alive_timeout]`
|
26
|
+
|
27
|
+
## 1.3.18 (09/14/15)
|
28
|
+
|
29
|
+
- since arel visitor instances might get re-used we need to avoid the @instance
|
30
|
+
- [postgres] work-around BC time parsing issue (on JRuby 1.7.x) by a patch
|
31
|
+
- [mssql] fix broken ordering on an aggregate queries (from #646 closing #532)
|
32
|
+
- [mssql] default to using a string limit: 4000 with newer AR
|
33
|
+
- [mssql] setup type map for SQLServer ... backwards compat as much as possible
|
34
|
+
- for better AR alignment on 4.2 shall do the AR type-casting of booleans/dates
|
35
|
+
- [mssql] ... port over visitor from sqlserver-adapter (to be used on AR 4.2)
|
36
|
+
- [mssql] allow to tune collation equality operator with *cs_equality_operator*
|
37
|
+
- [mssql] setup BINARY/TEXT types as binary_basic/text_basic (needed on 4.2)
|
38
|
+
- [mssql] setup a NATIVE_DATABASE_TYPES constant (for SQLServer > 2K) (#508)
|
39
|
+
- [jdbc] prefer BIT(1) as a better match for :boolean type than TINYINT
|
40
|
+
- [mssql] get_table_name bug with unusual queries has been fixed (#583)
|
41
|
+
- [mssql] make sure we set @primary on column instances even on AR 4.2
|
42
|
+
- [mssql] issue when using joins with distinct (#590) ... fixed with #608
|
43
|
+
- [firebird] tune arel visitor (limit/offset handling) to work on AR 4.2
|
44
|
+
- [firebird] avoid prefetch_primary_key? depending on column.primary due AR 4.2
|
45
|
+
- [firebird] introduce type map on AR 4.2 (not sure about :timestamp handling
|
46
|
+
- [firebird] boolean parameter with prepared-statements should be set as CHAR
|
47
|
+
- [firebird] standalone column and adapter classes +
|
48
|
+
standalone custom (native) JdbcConnection class for firebird due CHAR handling
|
49
|
+
- [firebird] handle schema-prefixed table names in default_sequence_name
|
50
|
+
- [oracle] support for handling NUMBER(1) type as boolean just like on AR < 4.2
|
51
|
+
- [oracle] generic optimized NUMBER type extraction (with scale == 0 as integer)
|
52
|
+
- [oracle] support XMLTYPE as a custom type on AR 4.2
|
53
|
+
- [oracle] add disable_referential_integrity helper (for the duration of a block)
|
54
|
+
- base (adapter: jdbc) foreign_keys support for all (for AR 4.2 compatibility)
|
55
|
+
- [oracle] AR 4.2 type map support (ported over from oracle-enhanced adapter)
|
56
|
+
- [oracle] avoid error logging optional DROP SEQUENCE on drop_table
|
57
|
+
- [oracle] default config[:database] (when not provided) to **XE**
|
58
|
+
- [oracle] improved index + primary_key (detection) support not just for AR 4.2
|
59
|
+
- [oracle] update default_sequence_name to strip prefix + add trigger name
|
60
|
+
- [oracle] set statement_escape_processing: true by default on AR 4.x (#479)
|
61
|
+
- handle serialized attributes the AR 4.2 way (serialized_attributes deprecated)
|
62
|
+
- [db2] custom type map for AR 4.2 based on IBM_DB gem
|
63
|
+
- [db2] support XML as type on AR 4.2
|
64
|
+
- type-casting on our native side should now handle AR 4.2 right!
|
65
|
+
- jdbc connection should not attempt to type-cast date/time on AR 4.2
|
66
|
+
- [db2] arel visitor + handle basic type mapping the AR 4.2 way
|
67
|
+
- no longer warn on 4.2 + but still warn with (unsupported) adapters
|
68
|
+
- restore Ruby 1.8 (syntax) compatibility - was broken for MySQL/Derby
|
69
|
+
- use standard AREL with H2/HSQLDB as H2/HSQLDB support standard LIMIT and OFFSET
|
70
|
+
- [h2] working AR 4.2 support
|
71
|
+
- [hsqldb] working AR 4.2 support
|
72
|
+
- [rake] support adapter: mariadb as if it were mysql (on AR 4.x)
|
73
|
+
- [postgres] changes to avoid double cast for AR42 (with prepared statements)
|
74
|
+
- [postgres] use standard JDBC bind arguments marker "?" instead of "$n"
|
75
|
+
- [postgres] allow reading "infinity" and "BC timestamps on 4.2
|
76
|
+
- type cast bind arguments in RubyJdbcConnection (prepared statements)
|
77
|
+
- [derby] ActiveRecord 4.2 reports xml columns as XML(2147483647)
|
78
|
+
- [derby] working AR 4.2 support
|
79
|
+
- support cast_type on the JdbcConnection side for improved AR 4.2 compatibility
|
80
|
+
|
81
|
+
## 1.3.17 (06/30/15)
|
82
|
+
|
83
|
+
- [mysql] bulk compatibility with AR 4.2 - all _sql helper accept an options (hash)
|
84
|
+
- [mysql] back-port case sensitive/insensitive comparison
|
85
|
+
- [mysql] handle precision for datetimes when doing type_to_sql (AR 4.2 compat)
|
86
|
+
- [mysql] foreign key support based on AR 4.2 (#656)
|
87
|
+
- [postgres] foreign_key support back-ported from AR 4.2 (#656)
|
88
|
+
- moved jndi callbacks to happen outside adapter's `initialize` (#649, #620)
|
89
|
+
- [postgres] AR 4.2 compatibility with SchemaCreation
|
90
|
+
- [postgres] re-define `lookup_cast_type` (AR 4.2) + `conn.type_map` is public
|
91
|
+
- [postgres] override `valid_type?(type)` (AR 4.2 compatibility)
|
92
|
+
- [postgres] back-port change_column updates from AR 4.2 for compatibility
|
93
|
+
- [postgres] pass down array_member to hstore_to_string (fixes #647 on AR 4.1)
|
94
|
+
- [postgres] on AR 4.2 use core's schema_definitions.rb for improved compat (#644)
|
95
|
+
- back-port PGconn hack on AR 4.x (from #655 and following commits)
|
96
|
+
to fix #651 as an unfortunate work-around for (non-shareable) AR internals (#652)
|
97
|
+
- seems that extension methods won't work in 9K the same as in 1.7.x thus work-around
|
98
|
+
(originally reported as https://github.com/jruby/jruby/issues/2533)
|
99
|
+
- restore 1.8 compatibility in postgres' adapter (regression in 1.3.16 see #641)
|
100
|
+
|
101
|
+
## 1.3.16 (04/13/15)
|
102
|
+
|
103
|
+
- [h2] allow jdbch2 adapter to use jdbc-h2 1.4 (#639)
|
104
|
+
- [postgres] quote and type_cast should not be overriden on 4.2
|
105
|
+
- [postgres] fix table column resolution (slightly align it to our needs) on 4.2
|
106
|
+
- [postgres] re-arrange Column internals as some helpers end-up on Adapter in 4.2
|
107
|
+
- [mysql] change_column table is redefined on AR 4.2 so that it uses _sql version
|
108
|
+
- [mysql] more tuning/compatibility backports for AR 4.2 (working booleans #626)
|
109
|
+
- [mysql] type-map support copy-pasta from AR 4.2 (closer to full compat) (#617)
|
110
|
+
- [postgres] improved support for Amazon Redshift (based on user feedback #403)
|
111
|
+
- fixed problem with create table statements with references in MySQL (#629)
|
112
|
+
- fix RecordNotUnique reference in ArJdbc::SQlite3 (#634)
|
113
|
+
- [postgres] add support for jsonb column type (#633 #635 #637)
|
114
|
+
|
115
|
+
## 1.3.15 (03/09/15)
|
116
|
+
|
117
|
+
- [informix] adapter undefined method 'column_types' with Rails 4.x (#622)
|
118
|
+
- improve connection factory Ruby interface impls to match Java method-name (#621)
|
119
|
+
- [sqlite] truncate_fake - as due compatibility with do not want a truncate method
|
120
|
+
- truncate support 4 all (introduced in AR 4.2 but we let it work in all versions)
|
121
|
+
- [postgres] do not double load array_parser (on 4.2)
|
122
|
+
- [postgres] connection.truncate impl (AR 4.2 compat)
|
123
|
+
- [mysql] back-port missing truncate connection method (since AR 4.2)
|
124
|
+
- auto setup type-casting compat (pre 4.2 emulation) 4 all
|
125
|
+
- [postgres] backport bigserial key and bigint native type support
|
126
|
+
|
127
|
+
## 1.3.14 (01/28/15)
|
128
|
+
|
129
|
+
- [mysql] Fixed an undefined exception error in type_to_sql for MySQL (#616)
|
130
|
+
- [derby] support for empty insert statements (e.g. `DbModel.create!`) on AR 4.x
|
131
|
+
- [db2] revert limit/offset OVER( ORDER BY ) matching as it was not complete (#606)
|
132
|
+
- [db2] handle empty INSERT statement (default) VALUES in a way that works on AR 4.x
|
133
|
+
- [db2] `select` return value should be the same as core AR (Array on 3.2) (#607)
|
134
|
+
- [mysql] backport bulk change & schema-creation to be compatible with AR 4.x
|
135
|
+
- handle possible null values while extracting from XML columns (#615)
|
136
|
+
- DateTime columns are returned always as nil values (on Rails 4.2 #613)
|
137
|
+
- [oracle] do not override primary= within column methods on AR 4.2
|
138
|
+
- handle removed AR `Column#primary=` method on 4.2 (#609)
|
139
|
+
- [oracle] fix missing sequence_name_length method when doing a rename_table
|
140
|
+
- [mysql] do not force *DEFAULT CHARSET=utf8* when creating new tables
|
141
|
+
- [postgres] rename the primary key index when renaming a table in pg
|
142
|
+
- [db2] improve create_table on Z/OS (now supporting AR 4.x TableDefinition) (#581)
|
143
|
+
|
144
|
+
## 1.3.13 (11/21/14)
|
145
|
+
|
146
|
+
- handle ("hacked") date/time/timestamp conversion from the JDBC side on 4.2
|
147
|
+
- align SQLite's column class resolution with others in 1.3
|
148
|
+
- avoid the Column regressions in 1.3.12 caused by backporting too much (#603)
|
149
|
+
|
150
|
+
## 1.3.12 (11/18/14)
|
151
|
+
|
152
|
+
- [sqlite] support for latest JDBC 3.8
|
153
|
+
- [mysql] correctly map config[:encoding] into Connector-J characterEncoding
|
154
|
+
- [mysql] backport rename_index from Rails (corectly handling MariaDB as well)
|
155
|
+
- [mysql] core adapter compat - missing initialize_schema_migrations_table
|
156
|
+
- `supports_views?` is now a method available in 4.2 (most DBs support VIEWs)
|
157
|
+
- [postgres] table_exists? fully compatible with Rails 4.1
|
158
|
+
- handle pre JDBC 4 driver abstract method errors somehow gracefully
|
159
|
+
- tune ArJdbc scoped warnings/deprecations (can be off -J-Darjdbc.warn=false)
|
160
|
+
|
161
|
+
## 1.3.11 (10/20/14)
|
162
|
+
|
163
|
+
- arjdbc: performance improvement - avodinng JRuby's impl iface generation
|
164
|
+
- [firebird] Use ampersand literal in limit offset sub to fix FIRST 1/SKIP 1
|
165
|
+
- require super call is not needed and causes issues double loading features
|
166
|
+
|
167
|
+
## 1.3.10 (08/29/14)
|
168
|
+
|
169
|
+
- [postgres] preliminary (temp) fix for Marshal.dump broken since 1.3.8 (#573)
|
170
|
+
- [postgres] adapter was missing the custom rename_index method (fixes #577)
|
171
|
+
- [postgres] user defined types should not raise an error
|
172
|
+
- [postgres] align with Rails distict white-space fix (regression in 4.0.10)
|
173
|
+
- [mssql] allow for `offset(x)` without `limit(y)` to work ... (fixes #564)
|
174
|
+
- [mssql] correctly parse set_table_name string with owner (#574)
|
175
|
+
- allow database.yml or config option to set `:insert_returning` (#570)
|
176
|
+
- [sqlite3] savepoint without passed explicit name not supported
|
177
|
+
- synchronize setting resolved visitor type
|
178
|
+
- [mssql] (hopefully) fix ORDER BY mis-detection - closes #532 (improved #549)
|
179
|
+
- [mysql] columns were sometimes instantiated with the wrong column class (#566)
|
180
|
+
|
181
|
+
## 1.3.9 (07/07/14)
|
182
|
+
|
183
|
+
- [postgres] improve Range's type cast - fixing minor quoting failure on AR 4.x
|
184
|
+
- [postgres] range type's :exclude_start is actually += 1 (align with AR 4.1)
|
185
|
+
- [postgres] correctly quote numeric values with string/text column types
|
186
|
+
- [postgres] backport CVE-2014-3483 and protect against CVE-2014-3482 (from AR)
|
187
|
+
|
188
|
+
## 1.3.8 (06/27/14)
|
189
|
+
|
190
|
+
- [mysql] updated so that we can run with non-official driver (+ against MariaDB)
|
191
|
+
- [postgres] quote fix failure with ColumnDefinition on AR 4.0.6.rc2
|
192
|
+
- [mssql] performance improvements :
|
193
|
+
* "optimized" quote_name_part in Java + avoid bytes copying in quoteCharWith
|
194
|
+
* throwing exceptions in the hot path results in slow code
|
195
|
+
* minor performance improvements to mssql type_cast
|
196
|
+
- [mssql] fix remove_column on AR < 3.2
|
197
|
+
- [mssql] dealing with column that need quoting (e.g. ids with spaces) in ORDER
|
198
|
+
special care needs to be performed on AR <= 3.2 - Arel < '4.0' (closing #551)
|
199
|
+
- [mssql] correct default value quoting + update on change when non null with default
|
200
|
+
- [mssql] backport database ('.' in name) quoting fix from sqlserver adapter
|
201
|
+
- get the "correct" (AR::Base) record.class on AR 4.1 (#555)
|
202
|
+
- [oracle] support disabling generated keys `-Darjdbc.oracle.generated_keys=false`
|
203
|
+
- [postgres] fix returning generated keys + use *arjdbc.postgresql.generated_keys*
|
204
|
+
- [oracle] working `config[:insert_returning] = true` support (using prepared calls)
|
205
|
+
- [mysql] improve column instantiation - make sure strict/extra passed correctly
|
206
|
+
- [postgres] backport rails fix for not quoting array defaults correctly
|
207
|
+
- [postgres] handle the accessor (e.g. for hstore) added in AR 4.1 (#535)
|
208
|
+
- [postgres] handle oid_types resolution on AR 4.x (compat with MRI on Rails)
|
209
|
+
- [postgres] align Column's (string) cast helpers with AR 4.1
|
210
|
+
- [postgres] quote/cast compat with 4.x + do not quote default function values
|
211
|
+
- [postgres] align array parser with latest from AR 4.1
|
212
|
+
- [postgresl] Column AR 4.x compatibility methods: `number?` and `text?`
|
213
|
+
- [h2] should have it's own arel visitor class (`Arel::Visitors::H2`)
|
214
|
+
- [h2] support for latest beta of next major release - H2 database **1.4**
|
215
|
+
|
216
|
+
Code Contributors (in no particular order): Michael J. Cohen
|
217
|
+
|
218
|
+
## 1.3.7 (04/14/14)
|
219
|
+
|
220
|
+
- [postgres] set prepared values with array columns on AR < 4.0 correctly
|
221
|
+
- [postgres] handle null values in array columns with AR < 4.0 (fixes #548)
|
222
|
+
- [mysql] support for config[:reconnect] (might need some fine tuning to match mysql2)
|
223
|
+
- fix ordering on an aggregate in MSSQL (#532) (should fix #437 for good)
|
224
|
+
- introduce a deprecation (warn) method for AR-JDBC and start using it
|
225
|
+
- [mysql] do not set defaults for text/blob columns on rename/change (#543)
|
226
|
+
- try resolving config 'database' (if missing) from JDBC url: in rake tasks
|
227
|
+
- [mysql] needs to `reconnect!` when recreating database (fixes #539)
|
228
|
+
- remove_column compatibility with Rails 4.x for Oracle, Derby and MSSQL (#541)
|
229
|
+
- Fix connection without user and password (#542)
|
230
|
+
- fix db2 remove_column for ActiveRecord 4 (#537)
|
231
|
+
- FireBird's DB meta-identifier is 31 chars maximum, thanks @mariuz (#538)
|
232
|
+
- [derby] add emulate booleans option for derby adapter
|
233
|
+
|
234
|
+
Code Contributors (in no particular order): Mark Fraser, Pierrick Rouxel, @iaddict
|
235
|
+
|
236
|
+
## 1.3.6 (02/04/14)
|
237
|
+
|
238
|
+
- fix rails 4-0-stable compatibility (see #530)
|
239
|
+
- [mysql] support "disabling" abandoned connection cleanup thread
|
240
|
+
- [mssql] Handling of 'GROUP BY' and selected columns (#529)
|
241
|
+
+ SELECT DISTINCT clause with ORDER BY for MSSQL (partially fixes #437)
|
242
|
+
- [derby] only do the patched select_limited_ids if connection is Derby's
|
243
|
+
- [derby] support getting and setting transaction isolation on a connection
|
244
|
+
+ allow to configure whether isolation will be 'serializable' (work-around for #497)
|
245
|
+
- match 'int' as well as 'integer' when converting to SQL types for MSSQL (#527)
|
246
|
+
|
247
|
+
Code Contributors: Sean McCarthy, Jesko, Konstantin Shabanov
|
248
|
+
|
249
|
+
## 1.3.5 (01/10/14)
|
250
|
+
|
251
|
+
We're now green against Rails 4.1 (master), test and report issues if any.
|
252
|
+
|
253
|
+
- improved support for `config[:jndi]` with all supported custom adapters
|
254
|
+
- [mysql] fix incompatible character encodings: ASCII-8BIT and UTF-8
|
255
|
+
- rails 4.1 - create_table_definition changed from 3 to 4 parameters (#522)
|
256
|
+
- [firebird] Insert quotes for blobs to prevent failed inserts on not-null cols
|
257
|
+
|
258
|
+
Code Contributors: Ray Zane, Gary S. Weaver
|
259
|
+
|
260
|
+
## 1.3.4 (12/12/13)
|
261
|
+
|
262
|
+
- [postgres] unwrap connection instead of casting when adding custom types (#515)
|
263
|
+
- [postgres] allow returning string values for (JDBC) arrays with (#510)
|
264
|
+
- allow for symbol keys with custom JDBC properties in `config[:properties]`
|
265
|
+
- replacing use of AR::ConnectionFailed with AR::ConnectionNotEstablished (#513)
|
266
|
+
- [firebird] fix for missing args when visit_Arel_Nodes_SelectCore is called
|
267
|
+
- [postgres] better column compatibility with 3.x (avoid array/oid_type)
|
268
|
+
- [postgres] backport array-parser due `Column#extract_default` (#504)
|
269
|
+
- [postgres] backported "Correctly parse bigint defaults in PostgreSQL"
|
270
|
+
- [postgres] 4.0 compat - detect default_function just like on MRI
|
271
|
+
- [postgres] backport support for negative money values (in parenthesis)
|
272
|
+
- [postgres] support :login_timeout as a standalone config option
|
273
|
+
- [firebird] align `prefetch_primary_key?` with Oracle (only for simple PKs)
|
274
|
+
- [oracle] do not pre-fetch the primary key if multiple primary keys exist (#498)
|
275
|
+
|
276
|
+
Code Contributors: @andfx, Gavin Stark, Ray Zane, @chapmajs
|
277
|
+
|
278
|
+
## 1.3.3 (11/12/13)
|
279
|
+
|
280
|
+
- [mysql] allow encoding to be server-detected (using `encoding: false`)
|
281
|
+
due compatibility we still default to `encoding: utf8` if not set (fixes #481)
|
282
|
+
- need to match AR 4.0 built-in patterns to re-define (oracle) tasks correctly
|
283
|
+
- [postgres] support some of libpg's ENV variables when connecting
|
284
|
+
- [derby] allow multiple parallell nested transactions on DERBY
|
285
|
+
- [mssql] when using the Microsoft SQL Server driver, fall back to
|
286
|
+
rollback_savepoint when release_savepoint is called (#484)
|
287
|
+
- [mysql] only kill the connections cancel timer for driver < 5.1.11
|
288
|
+
- [sqlite3] work-around driver ignoring passed schema for table (fixes #483)
|
289
|
+
- now using explicit adapter classes with H2/HSQLDB
|
290
|
+
- [postgres] Add support for array as root element in JSON (#491)
|
291
|
+
- [postgres] MRI compat - make sure we have a `query` method (fixes #486)
|
292
|
+
- db:structure:load does not create schema for test db (#480)
|
293
|
+
|
294
|
+
Code Contributors (in no particular order): Glenn Goodrich, Joao Carlos,
|
295
|
+
Jason Franklin, Dominique d'Argent, Sean McCarthy, Uwe Kubosch
|
296
|
+
|
297
|
+
## 1.3.2 (10/11/13)
|
298
|
+
|
299
|
+
- when "pop-ing" current savepoint name - consider open transaction count (#477)
|
300
|
+
- [postgres] we should return "raw" hstore values on AR < 4.0 by default
|
301
|
+
(regression caused by fixing #454 for AR >= 4.0)
|
302
|
+
- [postgres] needs ColumnDefinition.array? method used by SchemaCreation (#474)
|
303
|
+
- [mysql] backported bulk change table support from Rails (fixes #469)
|
304
|
+
- support MySQL's failover host configurations (multiple hosts specified)
|
305
|
+
- set JDBC specific config values as properties instead of URL options
|
306
|
+
- SQLite3's version object should return a string on `to_s`
|
307
|
+
- [sqlite3] support :timeout option as busy_timeout (similar to Rails)
|
308
|
+
- [sqlite3] mkdir for sqlite database (path) - just like AR 4.0 now does
|
309
|
+
- [postgres] handle :connect_timeout, :sslmode, :keepalives & :krbsrvname
|
310
|
+
- [postgres] support :hostaddr, :user and :dbname options just like Rails does
|
311
|
+
- fix rake task name **db:structure:load** - missing db: prefix (#465)
|
312
|
+
- Prevent rake from throwing an exception when task w/o comment is redefined
|
313
|
+
|
314
|
+
Code Contributors (in no particular order): Prathamesh Sonpatki, Stefan Wrobel,
|
315
|
+
Micah Jaffe, Rajan Agaskar
|
316
|
+
|
317
|
+
## 1.3.1 (09/17/13)
|
318
|
+
|
319
|
+
- helper gems should contain all files from lib/* (#463)
|
320
|
+
- [postgres] hstore values should be returned as Hash instances (#454)
|
321
|
+
- we should first allow super AbstractAdapter to initialize then extend spec
|
322
|
+
otherwise using *adapter: jdbc* configuration might no work (#457)
|
323
|
+
- return early (from `table_exists?`) if table name is nil (#460)
|
324
|
+
- [MS-SQL] handle change_column error when column has default binding or indexes
|
325
|
+
- AR's `distinct` compatible with 4.x (and 3.x) for Oracle, Derby and Postgres
|
326
|
+
- re-invent `add_column_options!` (due next AR 4.1) to provide compatibility
|
327
|
+
- backport SchemaCreation (from AR 4.0/master) + support for all adapters
|
328
|
+
|
329
|
+
Code Contributors (in no particular order): Grant Hutchins, Avin Mathew, @emassip
|
330
|
+
|
331
|
+
## 1.3.0 (08/29/13)
|
332
|
+
|
333
|
+
- [oracle] fix structure_dump: `column['data_default']` might come back as ''
|
334
|
+
- [oracle] avoid the JDBC call `connection.getMetaData` with exec_query (#453)
|
335
|
+
- review MSSQL/HSQLDB/H2 explain - make sure prepared statements are used
|
336
|
+
- [oracle] make sure explain works with prepared statements
|
337
|
+
- warn users about using our now deprecated suble_binds "extension"
|
338
|
+
- [mysql] username defaults to 'root' on MRI
|
339
|
+
- [mysql] match `columns` returned with latest AR 4.0 (collation, strict, extra)
|
340
|
+
- only `suble_binds` if not an arel passed + allow to turn bind subling off
|
341
|
+
- [postgres] fix `extension_enabled?` to work with raw boolean values
|
342
|
+
- [derby] setting true/false into text/string columns values should use `to_s`
|
343
|
+
also non-serializable attrs should use `to_s` (instead of `to_yaml`) on 3.x
|
344
|
+
- [derby] needs `quote_table_name_for_assignment` (on AR 4.0)
|
345
|
+
- [postgres] driver "hooks" to make PG types work with prepared statements, now
|
346
|
+
working: ranges, arrays, interval, (ip) addr types, tsvector, json and uuid
|
347
|
+
- missing `last_insert_id_result` method on PostgreSQL (#450)
|
348
|
+
- emulate pre AR 4.0 behavior with date-times/booleans (in custom SELECTs) they
|
349
|
+
will be returned as (raw) strings on AR 3.x
|
350
|
+
- warn when driver is not JDBC 4.0 compilant when checking if valid (#445)
|
351
|
+
- fix inline rescue syntax - invalid syntax at MSSQL's `string_to_time` (#444)
|
352
|
+
- no need to (double) update LOB values when using prepared statements
|
353
|
+
- replaced `emulate_booleans` with `emulate_booleans?` on adapter specs
|
354
|
+
- [firebird] emulate booleans with char(1) + fix time and review native types
|
355
|
+
- [db2] using new `update_lob_values` - now handles null inserts safely (#430)
|
356
|
+
- [mssql] configurable `update_lob_values?` - `string_to_binary` no longer abused
|
357
|
+
- refactored SerializedAttributesHelper and moved to Util::SerializedAttributes
|
358
|
+
there's now a new `update_lob_columns` helper hooked onto AR::Base for adapters
|
359
|
+
that send clob/blob values in a separate statement DB2, Oracle, MSSQL, Firebird
|
360
|
+
|
361
|
+
Code Contributors (in no particular order): Alexandros Giouzenis
|
362
|
+
|
363
|
+
## 1.3.0.rc1 (08/03/13)
|
364
|
+
|
365
|
+
- add activerecord gem as a dependency of the main AR-JDBC gem
|
366
|
+
- override `to_sql` due AR 4.0 - we want to consume the passed binds array
|
367
|
+
- [sqlite3] introduce Version constant (returned from sqlite_version)
|
368
|
+
- `execute` expects `skip_logging` param on AR <= 3.0 (+ does not accept binds)
|
369
|
+
- we shall not do any `to_sql` in any of the exec_xxx methods
|
370
|
+
- [postgres] array column defaults more reliable (ported from Rails)
|
371
|
+
- [mssql] review MSSQL date-time handling - no need for that customized quoting
|
372
|
+
- [mssql] MSSQL - `rake db:migrate:reset` can drop database
|
373
|
+
- [oracle] handle null strings (e.g. returned on XML columns) instead of NPE
|
374
|
+
- [oracle] get rid of oracle's `execute_id_insert` not sure how it ever worked
|
375
|
+
- [oracle] sequence quoting + `insert` refactoring + support for RETURNING
|
376
|
+
revisit `insert` / `insert_sql` / `exec_insert` to work for all ARs we support
|
377
|
+
- [db2] refactor DB2's `last_insert_id` using *IDENTITY_VAL_LOCAL()*
|
378
|
+
- [db2] DB2 supports standalone *VALUES* statements (just like Derby does)
|
379
|
+
- [derby] last_insert_id for Derby using *IDENTITY_VAL_LOCAL()*
|
380
|
+
- [derby] only hookup SQL checks on #execute when no #exec_query etc. available
|
381
|
+
- [sqlite] query-ing last_insert_id after each INSERT seems redundant
|
382
|
+
- [sqlite] a saner way of getting last_insert_row_id() via the JDBC API
|
383
|
+
- better `last_inserted_id` unwrapping on the base (jdbc) adapter level
|
384
|
+
- [postgres] support exec_insert with PS + make sure RETURNING works
|
385
|
+
- (thread_safe based) quoted column/table name cache implementation
|
386
|
+
currently used with PostgreSQL, Oracle and MS-SQL adapter (#432)
|
387
|
+
- [mssql] prevent special column corruption of ORDER BY (#431)
|
388
|
+
- [db2] fix error with timezone + use default date and time parsing
|
389
|
+
- [db2] fix error on named index removing
|
390
|
+
- [postgres] fix array values escaping: backslashes should be escaped too
|
391
|
+
- [postgres] fix `add_column` / `change_column` with arrays
|
392
|
+
- [mssql] support for running with official MSSQL driver *adapter: sqlserver*
|
393
|
+
- [mssql] visitor update (based on built-in) to better resolve ORDER BY
|
394
|
+
- [mssql] handle SELECT DISTINCT correctly with LIMIT (#154)
|
395
|
+
- `add_limit_offset!` / `add_lock!` only to be available before AREL (2.3)
|
396
|
+
- remove Arel::SqlCompiler extensions - was only available with AR 3.0.0 pre
|
397
|
+
- refactored AREL support - esp. visitor resolution - simpler & more reliable
|
398
|
+
- [postgres] handle DISTINCT correctly with backwards-compat (#418)
|
399
|
+
- [firebird] full featured support - first class firebird_connection method
|
400
|
+
- [jdbc-] jdbc-firebird - packaged JayBird JDBC driver (gem) for FireBird 2.2.3
|
401
|
+
- [postgres] fix array quoting
|
402
|
+
- implemented support for returning Ruby Date/Time objects from JDBC
|
403
|
+
allows such Ruby objects to be returned in custom SELECTs as well (#349)
|
404
|
+
- introduce a (better) `update_lob_value` as a `write_large_object` replacement
|
405
|
+
- beyond second precision with timestamp values for adapters that support 'em
|
406
|
+
- rename `MissingFunctionalityHelper` -> `TableCopier`
|
407
|
+
- finishing **prepared statement support** for all (Java API now stable), handles
|
408
|
+
`exec_query`, `exec_update`, `exec_delete` and `exec_insert`
|
409
|
+
- use `init connection` to check if *connection_alive_sql* needed (old driver)
|
410
|
+
- JDBC API based savepoint support (that should work for all adapters)
|
411
|
+
- remove `connection.config=` and make sure it does not change `config`
|
412
|
+
- avoid executing mysql/sqlite3 JDBC type resolving code (for some speed up)
|
413
|
+
- simplify native_database_types - now on adapter + overriden avoids jdbc
|
414
|
+
- [mysql] support canceling a timer for wrapped (JNDI) connections as well
|
415
|
+
- [mysql] refactor cancel timer (field access) to work correctly (#413)
|
416
|
+
- Java API: introduce newConnection + refactor @connection_factory to Java
|
417
|
+
- [postgres] missing point casting code + string to bit casts (#60)
|
418
|
+
- [derby] tables should only return those from current schema
|
419
|
+
- [derby] set current schema thus identifiers get resolved (closes #408)
|
420
|
+
- [derby] no *connection_alive_sql* needed since Derby 10.8
|
421
|
+
- [postgres] make sure uuid is correctly used/resolved as PK (AR 4.0)
|
422
|
+
- [postgres] match pk_and_sequence_for with AR 4.0
|
423
|
+
|
424
|
+
Code Contributors (in no particular order): Alexey Noskov, Pierrick Rouxel,
|
425
|
+
Matías Battocchia, @gapthemind and Sören Mothes
|
426
|
+
|
427
|
+
## 1.3.0.beta2 (05/30/13)
|
428
|
+
|
429
|
+
- only load rake tasks if AR is being used - AR::Railtie is loaded (#234)
|
430
|
+
- override #structure_dump so it won't silently return while doing nothing
|
431
|
+
- [h2] support empty insert statement (actually used by AR 4.0)
|
432
|
+
- [postgres] support 4.0 options for #indexes + dumping partial indexes
|
433
|
+
- [oracle] "better" rake tasks (kindly borrowed from the enhanced-adapter)
|
434
|
+
- [db2] some database tasks - with a tested (and fixed) structure_dump
|
435
|
+
- [db2] should set schema on configure_connection
|
436
|
+
- [mssql] Fix SQL server version matching on SQL Azure
|
437
|
+
- [mssql] collation and database_exists? helpers for SQLServer
|
438
|
+
- [h2] rake db: tasks support (db:structure: dump/load as well as db:drop)
|
439
|
+
- [hsqldb] structure:dump structure:load and fixed drop database support
|
440
|
+
- [hsqldb] handle config[:database] with db specific prefix
|
441
|
+
- [as400] error support for execure_and_auto_confirm
|
442
|
+
- [db2] remove unused explain method
|
443
|
+
- AR-4.0 inspired rake task impl (usable and shared with Rails 3.x/2.3 tasks)
|
444
|
+
- jdbc connection updates to better follow AR semantics
|
445
|
+
* #active? should check whether connection is valid
|
446
|
+
* #reconnect! should #configure_connection if available
|
447
|
+
* use JDBC 4 isValid as alive check fallback (no need for connection_alive_sql)
|
448
|
+
- [sqlite3] missing adapter.encoding method
|
449
|
+
- [as400] auto discover support (+ current_schema) for AS/400 with jndi
|
450
|
+
- use (module) spec.initiialize! convention to perform (lazy) AR initialization
|
451
|
+
- allow for (potential) adapter_spec overides by user on connection method
|
452
|
+
- [oracle] column/table name (+ raw) quoting - inspired by enhanced adapter
|
453
|
+
- [db2] support for `ArJdbc::DB2.emulate_booleans = false`
|
454
|
+
- [oracle] support for `ArJdbc::Oracle.emulate_booleans = false` (#225)
|
455
|
+
- [mysql] AR::ConnectionAdapters::MysqlAdapter.emulate_booleans support
|
456
|
+
- [mysql] #indexes compatible with 4.0 as well as #pk_and_sequence_for
|
457
|
+
- add config parameter to disable (JDBC) statement escaping and
|
458
|
+
disable statement escape processing by default for all (#243)
|
459
|
+
- [as400] add db2_schema to table_exists? + add support for nil schema
|
460
|
+
- [mssql] SQLServer visitor compat with next AREL
|
461
|
+
- [mssql] quote_table_name_for_assignment for MS-SQL
|
462
|
+
- quote_table_name_for_assignment should only be added on AR >= 4.0
|
463
|
+
- disable extension auto-discovery for installed gems (unless specified)
|
464
|
+
- [as400] fix as400 system schema + re-add jndi schema support
|
465
|
+
- [db2] separate AS400 code into a module + stadalone connection method
|
466
|
+
- [postgres] quoting that uses column.type (thus works with defs as well)
|
467
|
+
only use #sql_type when necessary
|
468
|
+
- better compatibility with native MySQL/SQLite3 adapter (constants)
|
469
|
+
- [postgres] restore PostgreSQLColumn.new < 4.0 compatibility
|
470
|
+
- [h2] allow H2 to set auto increment default value
|
471
|
+
- [postgres] make sure intifnite date/time values are handled correctly
|
472
|
+
- [postgres] use quote_table_name_for_assignment from AR-4.0
|
473
|
+
- [sqlite3] fix remove_column on AR-4.0
|
474
|
+
- do not load the AR built-in adapters eagerly - but on demand (#353)
|
475
|
+
- [postgres] ignore encoding option, print a warning about it (#376)
|
476
|
+
- [h2] check if offset is set, otherwise use the Arel::Node::Offset#expr
|
477
|
+
- [as400] adding ordering support when using both limit and offset
|
478
|
+
- [as400] force decimal field with 0 scale to be integers
|
479
|
+
- [sqlite3] let the JDBC API to figure out indexes (#377)
|
480
|
+
- support for loading only the necessary Java parts per adapter (#353)
|
481
|
+
- AREL visitors base impl revisited (to fix long broken query cache),
|
482
|
+
make sure a visitor is instantiated by the JDBC adapter (2.3 compatible)
|
483
|
+
- introduced ArJdbc.modules method that should return adapter modules
|
484
|
+
- move mysql gem API faking into (rails loadable) test code
|
485
|
+
- there should be no more need to fake out *pg.rb* (due native 'pg' gem)
|
486
|
+
- do not fake out SQLite3::Version ... gets only loaded while running tests now
|
487
|
+
|
488
|
+
Code Contributors (in no particular order): Jason Franklin, Alexey Noskov,
|
489
|
+
Brian Kulyk, Pierrick Rouxel, Mike Poltyn and Steve Lorek
|
490
|
+
|
491
|
+
## 1.3.0.beta1 (04/11/13)
|
492
|
+
|
493
|
+
- [db2] map datetime / timestamp / time types + correct time handling on AS400
|
494
|
+
- AREL values passed to #to_sql not handled correctly on AR-3.0 (#365)
|
495
|
+
- (Ruby) API cleanup - removed ArJdbc::Jdbc::Mutex and CompatibilityMethods
|
496
|
+
- new base implementations for all exec_xxx methods (introduced in AR 3.1)
|
497
|
+
- returning AR::Result from #exec_query + #exec_query_raw for old behavior
|
498
|
+
- [mssql] #table_exists? does not filter views (only #tables does)
|
499
|
+
- [postgres] introduced new types on AR 4.0 - same ones native adapter supports
|
500
|
+
(uuid values, arrays, json, hstore, ltree, PG ranges, interval, cidr etc.)
|
501
|
+
- Java API - now compiled with Java 1.6 since we're using JDBC 4 API anyways
|
502
|
+
- generic #exec_query returning AR::Result + #exec_raw_query for compatibility
|
503
|
+
- [postgres] improve #insert_sql (uses primary_key, supports all AR versions)
|
504
|
+
- [postgres] support config[:insert_returning]
|
505
|
+
- [postgres] always return correct primary key (failing if no sequence)
|
506
|
+
- Java API - xxxToRuby refactorings - to allow for more flexible overrides
|
507
|
+
- [postgres] support BIT(n) type where n > 1 as "bit strings"
|
508
|
+
- [postgres] #disable_referential_integrity on USER level (AR 4.0 compatible)
|
509
|
+
- Java API - allow objectToRuby and arrayToRuby overrides
|
510
|
+
- allow more-intuitive initialize arguments when sub-classing JdbcColumn
|
511
|
+
- do not translate native (Java) exceptions into StatementInvalid (from #log)
|
512
|
+
- Java API - replaced #tableLookupBlock with (a new) #matchTables
|
513
|
+
- [mssql] better message for jTDS driver bug (support disabling explain)
|
514
|
+
- Java API:- accept (and use) catalog as arg[1] in #columns which does leads to
|
515
|
+
a refactoring of #extractTableName to accept a catalog name
|
516
|
+
- [mssql] current_user and (change-able) default_schema support (#311)
|
517
|
+
- [sqlite3] correct empty insert statement value (on AR-4.0)
|
518
|
+
- Java API - do not wrap runtime exceptions when handling throwables
|
519
|
+
- [mysql] correct empty insert statement value (was not working on 4.0)
|
520
|
+
- Java API - handle :xml and :array AR column type to JDBC type conversion
|
521
|
+
- Java API - SQL Array and Object JDBC type (to Ruby) mappings
|
522
|
+
- Java API - reviewed (and updated) JDBC type handling for adapters :
|
523
|
+
* FLOAT/DOUBLE types should be handled (just like REAL) as Double-s
|
524
|
+
* NUMERIC/DECIMAL values should be handled as BigDecimal-s
|
525
|
+
* BIT/BOOLEAN should be converted to (Ruby) true/false by default
|
526
|
+
* NULL should always be returned as nil
|
527
|
+
* close binary/character stream & free SQLXML once converted
|
528
|
+
* JDBC 4.0 N(CHAR) types should be handled
|
529
|
+
- JdbcConnectionFactory.newConnection now throws SQLException - this is backwards
|
530
|
+
incompatible but most extension do not need to deal with this interface (#347)
|
531
|
+
- (AR 4.0 compatible) transaction isolation support
|
532
|
+
- Java API - deprecate SQLBlock class in favor of a parameterized Callable iface
|
533
|
+
- Java API - #retry makes no sense during #rollback (should use the same connection)
|
534
|
+
- [postgres] session variables support (from configuration)
|
535
|
+
- [mysql] session variables support (from configuration)
|
536
|
+
- [mysql] :strict config option, for STRICT_ALL_TABLES on AR-4.0
|
537
|
+
- AR 4.0 (master) compatible #rename_table_indexes and #renamed_column_indexes
|
538
|
+
- [postgres] no need to clear_query_cache after insert on AR-2.3's #insert_sql
|
539
|
+
- Java API - connection #execute_delete "alias" for #execute_update
|
540
|
+
- [derby] XMLPARSE when inserting into an XML column type ...
|
541
|
+
but still can not retrieve XML values using SELECT * FROM
|
542
|
+
- [sqlite3] IndexDefinition#unique should be a true/false
|
543
|
+
- [mssql] execute_procedure support, AR-SQLServer style (#266)
|
544
|
+
- [mssql] #charset, #current_database
|
545
|
+
- [mssql] config[:database] support + switching using #use_database (#311)
|
546
|
+
- [mssql] explain support
|
547
|
+
- [mssql] better query type detection - make sure WITHs work as SELECts
|
548
|
+
- [mssql] make sure there's a column class (#269) + better special column magic
|
549
|
+
- [mssql] better - working date/time quoting (with some ms precision support)
|
550
|
+
- Java API - re-arrange JDBC (to-ruby) type conversion methods
|
551
|
+
- [mssql] fix Model.first on SQL Server 2000 when called with only order
|
552
|
+
- [oracle] XMLTYPE column support - can't test due bug in driver
|
553
|
+
- [db2] working XML column type support
|
554
|
+
- [oracle] MATRIALIZED VIEWS/SYNONYMS should be usable on table_exists?
|
555
|
+
- a better (default) table_exists? (aligned with columns_internal) for all
|
556
|
+
- Java API - add #mapTables for OOP-ish mapping of results from #getTables
|
557
|
+
- [db2] [derby] some (working) connection alive sql (db gurus should help)
|
558
|
+
- [oracle] a working connection alive sql
|
559
|
+
- [db2] seems like DB2 on ZOS used a non-existing get_primary_key method
|
560
|
+
- do not call_discovered_column_callbacks for extending column impls
|
561
|
+
- [hsqldb] a 'valid' connection alive SQL for HSQLDB
|
562
|
+
- ActiveRecord::AbstractAdapter#exec_insert has 5 args in AR 4.0 (master)
|
563
|
+
- no need for a ArJdbc::Version module simply use ArJdbc::VERSION
|
564
|
+
- support auto-loading of adapter gems e.g. when specified in a Gemfile
|
565
|
+
- load out raltie from arjdbc instead of activerecord-jdbc-adapter thus it will
|
566
|
+
work consistently even if only a specific adapter gem is specified in Gemfile
|
567
|
+
- make sure we require arjdbc instead of just arjdbc/jdbc from adapters
|
568
|
+
|
569
|
+
## 1.2.9 (03/20/13)
|
570
|
+
|
571
|
+
- [oracle] native database types ala oracle-enhanced adapter
|
572
|
+
- [oracle] fix #insert (broken since execute+to_sql refactoring) keeping binds
|
573
|
+
respect 30 max identifier length with default sequence names
|
574
|
+
- [db2] add as400 primary key support and re-add explain method
|
575
|
+
- [mssql] fix table/column name quoting - do not quote if quoted already
|
576
|
+
- [mssql] change default constrain sql on 2005+ (closes #320)
|
577
|
+
- [mssql] fix substring issue that prevents detecting a query that contains *
|
578
|
+
- [mssql] adapter code cleanup + refactored (ArJdbc::) MsSQL -> MSSQL
|
579
|
+
|
580
|
+
## 1.2.8 (03/13/13)
|
581
|
+
|
582
|
+
- [derby] native types review & cleanup, externalize AR patch-ing
|
583
|
+
- [h2] correct schema dump (jdbc detected sql types)
|
584
|
+
- [hsqldb] correct schema dump (jdbc detected sql types)
|
585
|
+
- cleanup H2 / HSQLDB adapter - HSQLDB should not know about H2
|
586
|
+
- [mssql] [oracle] [db2] [derby] remove_column 3.x compatibility
|
587
|
+
- [sqlite3] setup native types + make sure tables accepts table_name as well
|
588
|
+
- [mysql] version + support_"feature" (as Rails)
|
589
|
+
- jdbc_connection unwrap parameter for unwrapping (pooled) connections
|
590
|
+
- (native) connection #columns #columns_internal expects string table_name
|
591
|
+
- [postgres] no need to clear_query_cache after insert on AR-2.3's #insert_sql
|
592
|
+
- there's still a double bind when "raw" crud methods used (re-closing #322)
|
593
|
+
|
594
|
+
## 1.2.7 (02/12/13)
|
595
|
+
|
596
|
+
- add some (probably redundant) synchronization + "arjdbc.disconnect.debug" flag
|
597
|
+
as an attempt to detect when connection is set to null (#197 and #198)
|
598
|
+
avoid (deprecated) Java.java_to_ruby when wrapping java.sql.Connection
|
599
|
+
- follow Column-naming convention in MySQL adapter ArJdbc module
|
600
|
+
- make sure update_sql is public in mysql adapter (Rails compatibility)
|
601
|
+
- fix 1.2.6 regression - incorrectly setup to_sql method based on Rails version
|
602
|
+
this caused double '?' bind substitution issues (#322)
|
603
|
+
|
604
|
+
## 1.2.6 (01/31/13)
|
605
|
+
|
606
|
+
- [postgres] only set --schema (to search path) for pg_dump if configured (#315)
|
607
|
+
- [oracle] id limits + quoting; current user/db/schema + savepoint support
|
608
|
+
- execute "log" (sql) name correctly based on AR version
|
609
|
+
- deprecate substitute_binds and extract_sql
|
610
|
+
- [derby] make sure we never modify the passed sql param
|
611
|
+
- [sqlite3] execute on insert_sql + savepoint support
|
612
|
+
- [mssql] [firebird] [informix] (shared) serialized attribute support
|
613
|
+
- [oracle] shared serialized attribute support
|
614
|
+
- [sqlite3] fix binary column handling failure (#51)
|
615
|
+
- renamed Sqlite3RubyJdbcConnection to SQLite3RubyJdbcConnection
|
616
|
+
- [mysql] re-define remove_index! for "better" AR-2.3 compatibility
|
617
|
+
- [derby] avoid failures with #quote when second arg nil + keep string encoding
|
618
|
+
- [db2] binary support & improved quoting +
|
619
|
+
use lob callback for all since it was failing on BLOB/CLOB inserts otherwise
|
620
|
+
- [db2] better (simplified) type handling for DB2
|
621
|
+
- JRuby 1.6.8 compatibility when rescue-ing Java exception
|
622
|
+
- [mysql] avoid encoding issues with MySQL's quoting methods (#185)
|
623
|
+
- [postgres] ignore binary precision / limit for bytea
|
624
|
+
- [oracle] explain (query) support
|
625
|
+
- [oracle] since Oracle supports TIMESTAMP for quite a while we should not
|
626
|
+
create DATE columns for a :timestamp column type
|
627
|
+
- [oracle] avoid CREATE DDL failure when BLOB has length specified
|
628
|
+
- [jdbc-] review autoloading backwards-incompatible change in jdbc- gems
|
629
|
+
auto-load (backwards-compat) can be enabled back using jdbc.driver.autoload
|
630
|
+
system property or using the driver specific autoload option as well
|
631
|
+
- [jdbc-] Update version handling introduce DRIVER_VERSION constant
|
632
|
+
- [oracle] should support WITH statements (as SELECTs)
|
633
|
+
- expose select? and insert? helpers on JdbcAdapter class
|
634
|
+
- [postgres] bug in create_database without options (#306)
|
635
|
+
- [db2] correct DB2 schema selection (when as400 url has parameters)
|
636
|
+
- [db2] DB2 becomes a first-class citizen (adapter) `adapter: db2`
|
637
|
+
- [h2] [hsqldb] explain support for H2 and HSQLDB
|
638
|
+
- [db2] column should be checked if ain't nil when quoting on DB2
|
639
|
+
- [mssql] raise exception when offset is specified but limit is not
|
640
|
+
- [sqlite3] SQLite3 explain support (Rails style)
|
641
|
+
- [postgres] re-usable explain support for PostgreSQL (based on Rails)
|
642
|
+
- [h2] update handling of time fields on H2/HSQLDB (#252)
|
643
|
+
- rescue (and wrap) only SQLExceptions from driver.connect this caused
|
644
|
+
swallowing of runtime exceptions from JDBC drivers
|
645
|
+
- support for setting (custom) jdbc driver properties in config
|
646
|
+
- when a new adapter (constant) gets loaded column types should pick it up
|
647
|
+
- [jdbc-derby] updated to 10.8.3.0
|
648
|
+
- raise LoadError with explanation on with jTDS 1.3.0 on non Java 1.7
|
649
|
+
- setup the connection methods when adapter is loaded (broken in 1.2.5)
|
650
|
+
|
651
|
+
## 1.2.5 (01/02/13)
|
652
|
+
|
653
|
+
- backwards compat with older jdbc- (driver) gems (#279)
|
654
|
+
- no need to set the :driver for jndi config (did not work anyways) when jdbc is being
|
655
|
+
configured + do not raise if there's a :driver_instance setup instead of the :driver
|
656
|
+
- support extra options with recreate_database (for postgres)
|
657
|
+
- [jdbc-derby] update Derby to 10.8.2.2
|
658
|
+
- [jdbc-h2] update H2 to 1.3.170
|
659
|
+
- no need for poluting Kernel (#jdbc_require_driver) anymore
|
660
|
+
- [sqlite3] updated sqlite3 binary handling
|
661
|
+
- [jdbc-jtds] upgrade to jtds (driver) 1.3.0
|
662
|
+
- JDBC driver names should be on one (re-usable) place
|
663
|
+
- make sure that (jdbc-xxx gem) .jars are only loaded (required) when first connection
|
664
|
+
is attempted (this avoids e.g. sqlite-jdbc.jar being always among loaded features)
|
665
|
+
- jdbc-* gems should expose the driver_jar instead of (auto) loading it
|
666
|
+
- [oracle] adding in_clause_limit override to properly handle Oracle's 1000 entry limit
|
667
|
+
- [jdbc-mysql] upgrade to mysql connector 5.1.22
|
668
|
+
- [jdbc-postgres] upgade to postgresql-9.2 jar version 9.2-1002
|
669
|
+
- [postgres] fix standard_conforming_strings's default not being set and
|
670
|
+
backslash escaping to account for standard_conforming_strings
|
671
|
+
- [jdbc-postgres] upgrade to postgres.jar 9.1.903 driver
|
672
|
+
- [jdbc-h2] update h2.jar to 1.3.168
|
673
|
+
- [postgres] use newer hex-encoding for postgresql >= 9.0
|
674
|
+
- [postgres] use updated postgres string escaping for byte arrays
|
675
|
+
- [hsqldb] fix binary data quoting
|
676
|
+
- [jdbc-hsqldb] update hsqldb.jar to 2.2.9
|
677
|
+
- [db2] if guessing the date or time fails return the value
|
678
|
+
- [db2] fix crasher regression on dump of primary keys
|
679
|
+
- [db2] fix change_column always executing as as400
|
680
|
+
- [db2] add support for primary keys to structure_dump
|
681
|
+
- [db2] detect identity columns in db2 structure_dump
|
682
|
+
- [mysql] added support for Rails 3.2 explain feature (#159)
|
683
|
+
- add support for DB_STRUCTURE in db:structure:dump
|
684
|
+
(and db:structure:load task) (#203)
|
685
|
+
- [postgres] rename sequence during table rename
|
686
|
+
- [db2] iseries returns date with two digit year - leave it as string
|
687
|
+
- [mssql] fix pessimistic locking
|
688
|
+
- [mssql] fix row_number errors on SQL Server 2000
|
689
|
+
- [db2] support WITH statements in select
|
690
|
+
- [db2] use DECIMAL(1) for boolean fields
|
691
|
+
- [db2] fetch a sequence value manually for tables with no identity columns
|
692
|
+
- [postgres] add support for template in PostgreSQLAdapter
|
693
|
+
- [db2] add recognition of MQTs and ALIASes as table types for DB2
|
694
|
+
- [postgres] remove count distinct restriction to match native ruby adapter
|
695
|
+
- [mssql] pull back primary key using table name via AR
|
696
|
+
- [db2] return nil if using jndi and schema/user is not set
|
697
|
+
- fixed support for AR 3.2.1
|
698
|
+
- [postgres] implemented dynamic search path management
|
699
|
+
|
700
|
+
## 1.2.2.1 (10/18/12)
|
701
|
+
|
702
|
+
- [postgresql] fix regression on insert for Rails 2.3 (#173)
|
703
|
+
|
704
|
+
## 1.2.2 (01/27/12)
|
705
|
+
|
706
|
+
- Thanks George Murphy and Dwayne Litzenberger for their significant
|
707
|
+
work this release!
|
708
|
+
- AR 3.2.x compatibility via #156 (thanks George Murphy)
|
709
|
+
- #152: Bunch of derby and mssql fixes (thanks Dwayne Litzenberger)
|
710
|
+
- #137: Fix configure_arel2_visitors for vanilla JDBC adapters
|
711
|
+
- #136: query cache fix
|
712
|
+
- #138: error message improvement for #table_structure (threez)
|
713
|
+
- #130, #139: sqlite3 should log inserts (Uwe Kubosch)
|
714
|
+
- #141 column queries logging (George Murphy)
|
715
|
+
- #142 MySQL fixes for AR 3-1-stable tests (George Murphy)
|
716
|
+
- #147, #149 Improve speed of PG metadata queries (George Murphy)
|
717
|
+
- #148 PostgreSQL fixes for AR 3-1-stable tests (George Murphy)
|
718
|
+
- #128, #129 Fix for invalid :limit on date columns in schema.rb (Lenny Marks)
|
719
|
+
- #144 Stop using ParseDate (not 1.9 friendly) (Bill Koch)
|
720
|
+
- #146 Upgrade PG drivers (David Kellum)
|
721
|
+
- #150 avoid 'TypeError: can't dup Fixnum' for performance (Bruce Adams)
|
722
|
+
|
723
|
+
## 1.2.1 (11/23/11)
|
724
|
+
|
725
|
+
- #117: Skip ? substitution when no bind parameters are given
|
726
|
+
- #115: Work around bug in ResultSetMetaData in SQLite
|
727
|
+
- Enhance the 'change_column' in H2 adapter to support additional options
|
728
|
+
- Deal with changes in RubyBigDecimal in trunk
|
729
|
+
- Decimal with scale zero handling (George Murphy)
|
730
|
+
- Fix blob handling for SQLite3 since SQLiteJDBC does not support
|
731
|
+
getBinary (Jean-Dominique Morani)
|
732
|
+
|
733
|
+
## 1.2.0 (09/13/11)
|
734
|
+
|
735
|
+
- Support for Rails 3.1
|
736
|
+
- Improvements to index usage on PostgreSQL (albertosaurus and
|
737
|
+
pazustep)
|
738
|
+
- Compatibility: tested with Rails 2.3, 3.0 and 3.1
|
739
|
+
|
740
|
+
## 1.1.3 (07/26/11)
|
741
|
+
|
742
|
+
- Remove AR version < 3 guard around some caching methods (sugg. invadersmustdie)
|
743
|
+
- Small bug in arjdbc/discover logic, thanks autotelik.
|
744
|
+
- Added bigint serial support + some testcases for native type mapping (postgres only)
|
745
|
+
- mssql: use subscript instead of #first. (Kim Toms)
|
746
|
+
- #71: fix yield called out of block error
|
747
|
+
- Silence Rake::DSL warnings for Rake > 0.9
|
748
|
+
|
749
|
+
## 1.1.2 (06/20/11)
|
750
|
+
|
751
|
+
- Update version of H2 driver from 1.1.107 to 1.3.153 (Ketan
|
752
|
+
Padegaonkar, Jeremy Stephens)
|
753
|
+
- Fix errors in db:test:clone_structure with PostgreSQL (Andrea Campi)
|
754
|
+
- Fixing limit for sqlServer2000 if primary key is not named 'id'
|
755
|
+
(Luca Simone)
|
756
|
+
- DB2: define jdbc_columns (fixes table_exists? bug) (Nick Kreucher)
|
757
|
+
- ACTIVERECORD_JDBC-152 - omitting limit when dumping bytea fields
|
758
|
+
(Gregor Schmidt)
|
759
|
+
- Postgres doesn't support a limit for bytea columns (Alex Tambellini)
|
760
|
+
- JRUBY-5642: Default to schema public if no schema given for postgres
|
761
|
+
(Anthony Juckel)
|
762
|
+
- Sqlite3 supports float data type so use float (Alex Tambellini)
|
763
|
+
- GH #21: Now using sqlite3 driver from
|
764
|
+
http://www.xerial.org/trac/Xerial/wiki/SQLiteJDBC (thanks Ukabu)
|
765
|
+
- GH #65: PG: Respect integer sizes (Alex Tambellini)
|
766
|
+
- GH #59: PG: Properly escape bytea-escaped string
|
767
|
+
- GH #53: oracle: allow configuration of schema through schema: key
|
768
|
+
- GH #50: PG: support multiple schema in search_path (Daniel
|
769
|
+
Schreiber)
|
770
|
+
- GH #25: Reload ArJdbc.column_types if number of constants changed
|
771
|
+
- GH #47: Allow table statistics for indexes to be approximate; speeds
|
772
|
+
up Oracle
|
773
|
+
- GH #67: Change primary_keys to use the same catalog/schema/table
|
774
|
+
separation logic as columns_internal (Marcus Brito). This change
|
775
|
+
allows set_table_name to specify a custom schema.
|
776
|
+
- GH #49: mssql: quote table names like column names
|
777
|
+
- GH #56: mssql: Fix 'select 1' behavior introduced by AR 3.0.7
|
778
|
+
- GH #55: Make decimal columns with no precision or scale stay
|
779
|
+
decimals
|
780
|
+
- GH #45: Add Arel limit support for Firebird (Systho))
|
781
|
+
- GH #39: PG: allow negative integer default values
|
782
|
+
- GH #19: Make a stub Mysql::Error class
|
783
|
+
- ACTIVERECORD_JDBC-148: mssql: Ensure regex doesn't match 'from' in a
|
784
|
+
field name
|
785
|
+
- GH#31: mssql: Remove extra code breaking mssql w/o limit
|
786
|
+
- ACTIVERECORD_JDBC-156: mssql: Logic fix for detecting select_count?
|
787
|
+
|
788
|
+
## 1.1.1 (01/14/11)
|
789
|
+
|
790
|
+
- Arel 2.0.7 compatibility: fix bugs arising from use of Arel 2.0.7 +
|
791
|
+
ArJdbc 1.1.0.
|
792
|
+
- Gracefully handle changes to limit in Arel's AST
|
793
|
+
- Avoid conflict with Arel 2.0.7's mssql visitor
|
794
|
+
- Upgrade to PostgreSQL 9.0.801 JDBC drivers (David Kellum)
|
795
|
+
|
796
|
+
## 1.1.0 (12/09/10)
|
797
|
+
|
798
|
+
- Don't narrow platform to '-java' only: revert back to 0.9.2 where
|
799
|
+
ar-jdbc can be installed under any Ruby (for easier Bundler/Warbler
|
800
|
+
usage and less confusion on rubygems.org).
|
801
|
+
- Upgrade MySQL execute code to use RETURN_GENERATED_KEYS.
|
802
|
+
- Upgrade to MySQL driver version 5.1.13
|
803
|
+
- Add multi-statement support, idea from oruen. For databases that
|
804
|
+
support it, you can now do:
|
805
|
+
results = Model.connection.execute("select 1; select 2")
|
806
|
+
and receive back an array of multiple result set arrays. For use with
|
807
|
+
MySQL, you need to add
|
808
|
+
options:
|
809
|
+
allowMultiQueries: true
|
810
|
+
in database.yml.
|
811
|
+
- ACTIVERECORD_JDBC-144: Fix limits appearing in schema dump for some
|
812
|
+
datatypes (Uwe Kubosch)
|
813
|
+
- Fixes for DB2 limit/offset
|
814
|
+
- Fix rake db:create for 'jdbc' adapter (Joeri Samson)
|
815
|
+
- add create/drop database methods to h2 adapter (sahglie)
|
816
|
+
- Use connection getDatabaseProductName instead of getClass.getName
|
817
|
+
when detecting JNDI dialects (Denis Odorcic)
|
818
|
+
- ACTIVERECORD_JDBC-146: Fix create_table to not append encoding (Marc Slemko)
|
819
|
+
- All green on SQLite3 Rails master ActiveRecord tests
|
820
|
+
- ACTIVERECORD_JDBC-140: Sync postgres add/change column code from Rails master
|
821
|
+
- ACTIVERECORD_JDBC-139: TEXT/DATE on PostgreSQL should not have limits
|
822
|
+
|
823
|
+
## 1.0.3 (11/29/10)
|
824
|
+
|
825
|
+
- ACTIVERECORD_JDBC-143: Implement table_exists? fixing association
|
826
|
+
table names with schema prefixes
|
827
|
+
- Cleanup of column code for hsqldb (Denis Odorcic)
|
828
|
+
- Rails 3.0.3 support - add Arel 2 visitors for all adapters
|
829
|
+
- Fix MySQL date types to not have limits (Chris Lowder)
|
830
|
+
- ACTIVERECORD_JDBC-141: Better schema support in H2
|
831
|
+
|
832
|
+
## 1.0.2
|
833
|
+
|
834
|
+
- ACTIVERECORD_JDBC-134: Fix conflicting adapter/column superclasses
|
835
|
+
- ACTIVERECORD_JDBC-135: Fix regression on PG with boolean and :limit
|
836
|
+
- Slew of Derby fixes courtesy of Denis Odorcic
|
837
|
+
|
838
|
+
## 1.0.1
|
839
|
+
|
840
|
+
- Fix db:test:purge issue affecting all adapters in 1.0.0 due to
|
841
|
+
incorrect fix to JRUBY-5081 in 8b4b9c5
|
842
|
+
|
843
|
+
## 1.0.0
|
844
|
+
|
845
|
+
- Thanks to David Kellum, Dmitry Denisov, Dwayne Litzenberger, Gregor
|
846
|
+
Schmidt, James Walker, John Duff, Joshua Suggs, Nicholas J Kreucher,
|
847
|
+
Peter Donald, Geoff Longman, Uwe Kubosch, Youhei Kondou, Michael
|
848
|
+
Pitman, Alex B, and Ryan Bell for their contributions to this
|
849
|
+
release.
|
850
|
+
- BIG set of DB2 updates (Thanks Nick Kreucher)
|
851
|
+
- Deprecate jdbc_adapter/rake_tasks
|
852
|
+
- (1.0.0.beta1)
|
853
|
+
- Make database-specific extensions only load when necessary
|
854
|
+
- Allow for discovery of database extensions outside of ar-jdbc
|
855
|
+
proper. This should allow for custom database development to be
|
856
|
+
developed and released without relying on AR-JDBC core.
|
857
|
+
- Get AR's own tests running as close to 100% as possible. MySQL is
|
858
|
+
currently 100%, SQLite3 is close.
|
859
|
+
- JRUBY-4876: Bump up Derby's max index name length (Uwe Kubosch)
|
860
|
+
- (1.0.0.beta2)
|
861
|
+
- 98 commits since beta1
|
862
|
+
- MSSQL updates from dlitz and realityforge
|
863
|
+
- ACTIVERECORD_JDBC-131: Fix string slug issue for DB2 (Youhei Kondou)
|
864
|
+
- JRUBY-1642: Don't use H2 INFORMATION_SCHEMA in table or column
|
865
|
+
searches
|
866
|
+
- JRUBY-4972: Attempt to deal with type(0)/:limit => 0 by not setting
|
867
|
+
it808e213
|
868
|
+
- JRUBY-5040: Fix issue with limits on timestamps in MySQL
|
869
|
+
- JRUBY-3555: Allow setting Derby schema with 'schema:' option
|
870
|
+
- ACTIVERECORD_JDBC-98: Make sure we actuall raise an error when
|
871
|
+
inappropriately configured
|
872
|
+
- ACTIVERECORD_JDBC-112: Add schema dumper tests for already-fixed
|
873
|
+
MySQL type limits
|
874
|
+
- ACTIVERECORD_JDBC-113: Fix PG float precision issue
|
875
|
+
- ACTIVERECORD_JDBC-103: Fix decimal options for PG add/change column
|
876
|
+
(Michael Pitman)
|
877
|
+
- ACTIVERECORD_JDBC-127: Fix quoting of Date vs. Time(stamp) for
|
878
|
+
Oracle (Lenny Marks)
|
879
|
+
- Oracle: Sort out the NUMBER vs NUMBER(x) vs NUMBER(x,y) situation.
|
880
|
+
- JRUBY-3051: Think we finally got the PG mixed-case patches applied.
|
881
|
+
- JRUBY-5081: Consolidate code for dropping DB via postgres
|
882
|
+
- ACTIVERECORD_JDBC-101: Add override of LONGVARCHAR => CLOB for
|
883
|
+
informix
|
884
|
+
- ACTIVERECORD_JDBC-107: Fix MySQL update_all issue on AR 2.3
|
885
|
+
- ACTIVERECORD_JDBC-124: Filter out special _row_num column
|
886
|
+
- ACTIVERECORD_JDBC-126: Fix sql 2000 limit/offset per Michael Pitman
|
887
|
+
- ACTIVERECORD_JDBC-125: Add tweak to limit/offset code for HABTM
|
888
|
+
queries (alex b)
|
889
|
+
- ACTIVERECORD_JDBC-129: Don't have limits for text, binary or bit
|
890
|
+
fields
|
891
|
+
- (1.0.0 final)
|
892
|
+
- Fix a few more SQLite3 AR tests
|
893
|
+
- SQLite3: handle ":memory:" database
|
894
|
+
- Release new SQLite3 driver 3.6.14.2 and new Derby driver 10.6.2.1
|
895
|
+
|
896
|
+
## 0.9.7
|
897
|
+
|
898
|
+
- JRUBY-4781: Fix multiple database connection collision issue w/
|
899
|
+
Oracle
|
900
|
+
- ACTIVERECORD_JDBC-115: Support SAVEPOINTS for MySQL and PG so that
|
901
|
+
nested transactions can be faked
|
902
|
+
- ACTIVERECORD_JDBC-116: Handle schema.table better for MySQL (thanks
|
903
|
+
Dilshod Mukhtarov)
|
904
|
+
- Fix 'Wrong # of arguments (2 for 1)' issue with #create_database for
|
905
|
+
MySQL and AR 3.0
|
906
|
+
- SQLServer 2000 support (thanks Jay McGaffigan)
|
907
|
+
|
908
|
+
## 0.9.6
|
909
|
+
|
910
|
+
- The Oracle release!
|
911
|
+
- Oracle should be working much better with this release. Also updated
|
912
|
+
to work with Rails 3.
|
913
|
+
- Get all unit tests running cleanly on Oracle, fixing previous
|
914
|
+
datetime/timezone issues.
|
915
|
+
- ACTIVERECORD_JDBC-83: Add :sequence_start_value option to
|
916
|
+
create_table, following oracle_enhanced adapter
|
917
|
+
- ACTIVERECORD_JDBC-33: Don't double-quote table names in oracle
|
918
|
+
- ACTIVERECORD_JDBC-17: Fix Oracle primary keys so that /^NUMBER$/ => :integer
|
919
|
+
- Fix remaining blockers ACTIVERECORD_JDBC-82, JRUBY-3675,
|
920
|
+
ACTIVERECORD_JDBC-22, ACTIVERECORD_JDBC-27, JRUBY-4759
|
921
|
+
|
922
|
+
## 0.9.5
|
923
|
+
|
924
|
+
- The MSSQL release, courtesy of Mike Williams and Lonely
|
925
|
+
Planet.
|
926
|
+
- JRuby + AR-JDBC is now seen as the hassle-free way of using Rails
|
927
|
+
with SQLServer!
|
928
|
+
- Many fixes for MSSQL, including ACTIVERECORD_JDBC-18,
|
929
|
+
ACTIVERECORD_JDBC-41, ACTIVERECORD_JDBC-56, ACTIVERECORD_JDBC-94,
|
930
|
+
ACTIVERECORD_JDBC-99, JRUBY-3805, JRUBY-3793, JRUBY-4221
|
931
|
+
- All tests pass on Rails 3.0.0.beta3!
|
932
|
+
|
933
|
+
## 0.9.4
|
934
|
+
|
935
|
+
- ACTIVERECORD_JDBC-96: DB2 JdbcSpec cannot dump schema correctly
|
936
|
+
(Youhei Kondou)
|
937
|
+
- ACTIVERECORD_JDBC-97: Dont use Rails 3 deprecated constants (David
|
938
|
+
Calavera)
|
939
|
+
- Updates for rake db:schema:dump compatibility with Rails 2.3+ and
|
940
|
+
MySQL (Joakim Kolsj�)
|
941
|
+
- Rails 3.0.0.beta2 compatibility
|
942
|
+
- Return of Derby, H2, Hsqldb support (requires AR >= 3.0.0.beta2)
|
943
|
+
|
944
|
+
## 0.9.3
|
945
|
+
|
946
|
+
- Rails 3 compatibility
|
947
|
+
- PLEASE NOTE: ActiveRecord in Rails 3 has changed in a way that
|
948
|
+
doesn't allow non-standard DBs (such as the Derby and H2 embedded
|
949
|
+
DBs) to work. We're investigating the effort required to support
|
950
|
+
these databases and hope to have something for a future release.
|
951
|
+
- ACTIVERECORD_JDBC-91: Fix schema search path for PostgreSQL (Alex
|
952
|
+
Kuebo)
|
953
|
+
- ACTIVERECORD_JDBC-87: DB2 ID insert fix (Youhei Kondou)
|
954
|
+
- ACTIVERECORD_JDBC-90: MSSQL fix for DATEs (jlangenauer)
|
955
|
+
- ACTIVERECORD_JDBC-93: Fix string IDs for sqlite3, hsql/h2 (moser)
|
956
|
+
- ACTIVERECORD_JDBC-86: Fix Derby queries starting with VALUES (Dwayne Litzenberger)
|
957
|
+
- ACTIVERECORD_JDBC-95: Fix INSERT ... RETURNING for PostgreSQL
|
958
|
+
|
959
|
+
## 0.9.2
|
960
|
+
|
961
|
+
- The main, highly awaited fix for this release is a solution to the
|
962
|
+
rake db:create/db:drop issue. The main change is a new 'jdbc' rails
|
963
|
+
generator that should be run once to prepare a Rails application to
|
964
|
+
use JDBC. The upside of this generator is that you no longer will
|
965
|
+
need to alter database.yml for JDBC. See the README.txt for details.
|
966
|
+
- Cleanup and reconnect if errors occur during begin/rollback
|
967
|
+
(Jean-Dominique Morani, Christian Seiler)
|
968
|
+
- ACTIVERECORD_JDBC-1: Add #drop_database method for oracle (does the
|
969
|
+
same thing as recreate_database)
|
970
|
+
- Sqlite3 and MSSQL fixes (Jean-Dominique Morani)
|
971
|
+
- JRUBY-3512: Treat LONGVARCHAR as a CLOB for Mssql
|
972
|
+
- JRUBY-3624: Upgrade Derby to 10.5.3.0 and add native limit/offset
|
973
|
+
support (Christopher Saunders)
|
974
|
+
- JRUBY-3616: Fix postgres non-sequence primary keys (David Kellum)
|
975
|
+
- JRUBY-3669: Fix Oracle case with unconfigured schema (Dan Powell)
|
976
|
+
- Fixed quote_column_name of jdbc_oracle to accept numbers (Marcelo
|
977
|
+
Murad)
|
978
|
+
- Fix for mysql tables with non standard primary keys such that the
|
979
|
+
schema dump is correct (Nick Zalabak)
|
980
|
+
- MSSQL fixes from Mike Luu:
|
981
|
+
- add support for MSSQL uniqueidentifier datatype
|
982
|
+
- always quote strings using unicode identifier for MSSQL
|
983
|
+
- Changes primary_key generation to use always instead of by default
|
984
|
+
for DB2 (Amos King)
|
985
|
+
- Improves the SQLite adapter by fixing rename_column, change_column,
|
986
|
+
change_column_default, changing remove_column, and adding
|
987
|
+
remove_columns (Ryan Baumann)
|
988
|
+
- More oracle love courtesy Ben Browning and Jens Himmelreich
|
989
|
+
- JRUBY-3608: Add missing change_column_null method for postgres
|
990
|
+
- JRUBY-3508: Fix quoting of integer and float columns
|
991
|
+
|
992
|
+
## 0.9.1
|
993
|
+
|
994
|
+
- We did a lot of internal cleanup this release in the hopes of
|
995
|
+
simplifying the code and increasing performance.
|
996
|
+
- Many SQLite updates (thanks Nils Christian Haugen)
|
997
|
+
- JRUBY-2912: Fix MSSQL create/drop database (Joern Hartmann)
|
998
|
+
- JRUBY-2767: Mistake in selecting identity with H2/HSQLDB
|
999
|
+
- JRUBY-2884: jdbc_postgre.rb issue handling nil booleans (also a fix
|
1000
|
+
for hsqldb/h2) + tests
|
1001
|
+
- JRUBY-2995: activerecord jdbc derby adapter should quote columns
|
1002
|
+
called 'year'
|
1003
|
+
- JRUBY-2897: jdbc_postgre.rb needs microsecond support
|
1004
|
+
- JRUBY-3282: Upgrade to derby 10.4.2.0 to allow unique constraints
|
1005
|
+
with nullable columns
|
1006
|
+
- Update h2 from 1.0.63 to 1.1.107 in driver
|
1007
|
+
- JRUBY-3026: [Derby] Allow select/delete/update conditions with
|
1008
|
+
comparison to NULL using '='
|
1009
|
+
- JRUBY-2996: ...(actually this fixes only remaining issue of this bug
|
1010
|
+
which was symbols making into quote were exploding
|
1011
|
+
- JRUBY-2691: Update sybase driver to pass simple unit tests with jtds
|
1012
|
+
and verify it works with the new dialect keyword. patch by Leigh
|
1013
|
+
Kennedy
|
1014
|
+
- Make :float type work on h2,hsql [returned as string]. Make :float
|
1015
|
+
work on hsqldb (no paren value supported). Make REAL_TYPE just
|
1016
|
+
return RubyFloat
|
1017
|
+
- JRUBY-3222: Upgrade #type_to_sql to variation of AR 2.1.2 version
|
1018
|
+
- Add patch supplied in JRUBY-3489 (patch by Jean-Dominique Morani)
|
1019
|
+
- Various Oracle fixes by edsono
|
1020
|
+
- JRUBY-2688: Don't hard-code MySQL connection character encoding to
|
1021
|
+
utf8
|
1022
|
+
|
1023
|
+
## 0.9
|
1024
|
+
|
1025
|
+
- Now updated to support ActiveRecord 2.2. JNDI-based connections will
|
1026
|
+
automatically connect/disconnect for every AR connection pool
|
1027
|
+
checkout/checkin. For best results, set your pool: parameter >= the
|
1028
|
+
actual maximum size of the JNDI connection pool. (We'll look at how
|
1029
|
+
to eliminate the need to configure AR's pool in the future.)
|
1030
|
+
- NEW! Informix support courtesy of Javier Fernandez-Ivern.
|
1031
|
+
- Backport another Oracle CLOB issue, thanks Edson C�sar.
|
1032
|
+
- Rubyforge #22018: chomp final trailing semicolon for oracle
|
1033
|
+
- JRUBY-2848: Fix NPE error in set_native_database_types
|
1034
|
+
- Rework oracle lob saving callback to be Rails 2.1 friendly (assist
|
1035
|
+
from court3nay)
|
1036
|
+
- JRUBY-2715: Add create/drop database methods to Postgres (Peter Williams)
|
1037
|
+
- JRUBY-3183: Fix structure dump for Postgres (Ryan Bell)
|
1038
|
+
- JRUBY-3184: recreate_database for test database working for PG (Ryan Bell)
|
1039
|
+
- JRUBY-3186: disable referential integrity for PG (Ryan Bell)
|
1040
|
+
- Authoritative repository now hosted at
|
1041
|
+
git://github.com/nicksieger/activerecord-jdbc-adapter.git; rubyforge
|
1042
|
+
svn trunk cleaned out.
|
1043
|
+
|
1044
|
+
## 0.8.2
|
1045
|
+
|
1046
|
+
- Added an optional config key called :dialect. Using :dialect allows you to
|
1047
|
+
override the default SQL dialect for the driver class being used. There are
|
1048
|
+
a few cases for this:
|
1049
|
+
- Using using Sybase w/ the jTDS driver.
|
1050
|
+
- Using rebranded drivers.
|
1051
|
+
- It makes more sense to use :dialect, rather then :driver when using JNDI.
|
1052
|
+
- JRUBY-2619: Typo with :test config causing problems with dev database (Igor Minar)
|
1053
|
+
- 20524, JRUBY-2612: Since when did I think that there was a #true? method on Object?
|
1054
|
+
|
1055
|
+
## 0.8.1
|
1056
|
+
|
1057
|
+
- Now sporting a JDBC sqlite3 adapter! Thanks Joseph Athman.
|
1058
|
+
- Added support for InterSystems Cache database (Ryan Bell)
|
1059
|
+
- Fix for JRUBY-2256
|
1060
|
+
- JRUBY-1638, JRUBY-2404, JRUBY-2463: schema.table handling and Oracle NUMBER fixes (Darcy Schultz & Jesse Hu)
|
1061
|
+
- Add structure dump and other DDL-ish for DB2 (courtesy abedra and stuarthalloway)
|
1062
|
+
- Fix missing quote_table_name function under Rails 1.2.6 and earlier
|
1063
|
+
- Small tweaks to jdbc.rake to select proper config
|
1064
|
+
- JRUBY-2011: Fix MSSQL string un-quoting issue (Silvio Fonseca)
|
1065
|
+
- JRUBY-1977, 17427: Fix information_schema select issue with MSSQL (Matt Burke)
|
1066
|
+
- 20479: Improve get_table_name for MSSQL (Aslak Hellesøy)
|
1067
|
+
- 20243: numerics improvements for MSSQL (Aslak Hellesøy)
|
1068
|
+
- 20172: don't quote table names for MSSQL (Thor Marius Henrichsen)
|
1069
|
+
- 19729: check for primary key existence in postgres during insert (Martin Luder)
|
1070
|
+
- JRUBY-2297, 18846: retrying failing SQL statements is harmful when not autocommitting (Craig McMillan)
|
1071
|
+
- 10021: very preliminary sybase support. (Mark Atkinson) Not usable until collision w/ sqlserver driver is resolved.
|
1072
|
+
- JRUBY-2312, JRUBY-2319, JRUBY-2322: Oracle timestamping issues (Jesse Hu & Michael König)
|
1073
|
+
- JRUBY-2422: Fix MySQL referential integrity and rollback issues
|
1074
|
+
- JRUBY-2382: mysql string quoting fails with ArrayIndexOutofBoundsException
|
1075
|
+
|
1076
|
+
## 0.8
|
1077
|
+
|
1078
|
+
- NOTE: This release is only compatible with JRuby 1.1RC3 or later.
|
1079
|
+
- Because of recent API changes in trunk in preparation for JRuby 1.1, this release is not
|
1080
|
+
backward compatible with previous JRuby releases. Hence the version bump.
|
1081
|
+
- Internal: convert Java methods to be defined with annotations
|
1082
|
+
- Fix problem with reserved words coming back pre-quoted from #indexes in postgres
|
1083
|
+
- JRUBY-2205: Fix N^2 allocation of bytelists for mysql quoting (taw)
|
1084
|
+
- Attempt a fix for Rubyforge 18059
|
1085
|
+
- Upgrade derby to 10.3.2.1
|
1086
|
+
- Fix db:create etc. in the case where JDBC is loaded in Rails' preinitializer.rb
|
1087
|
+
- Fix db:drop to actually work
|
1088
|
+
- Fix for Rubyforge #11567 (Matt Williams)
|
1089
|
+
|
1090
|
+
## 0.7.2
|
1091
|
+
|
1092
|
+
- JRUBY-1905: add_column for derby, hsqldb, and postgresql (Stephen Bannasch)
|
1093
|
+
- Fix db:create for JDBC
|
1094
|
+
- Support Rails 2 with the old "require 'jdbc_adapter'" approach
|
1095
|
+
- JRUBY-1966: Instead of searching for just tables, search for views and tables.
|
1096
|
+
- JRUBY-1583: DB2 numeric quoting (Ryan Shillington)
|
1097
|
+
- JRUBY-1634: Oracle DATE type mapping (Daniel Wintschel)
|
1098
|
+
- JRUBY-1543: rename_column issue with more recent MySQL drivers (Oliver Schmelzle)
|
1099
|
+
- Rubyforge #15074: ConnectionAdapters::JdbcAdapter.indexes is missing name and
|
1100
|
+
schema_name parameters in the method signature (Igor Minar)
|
1101
|
+
- Rubyforge #13558: definition for the indexes method (T Meyarivan)
|
1102
|
+
- JRUBY-2051: handle schemaname and tablename more correctly for columns
|
1103
|
+
- JRUBY-2102: Postgres Adapter cannot handle datetime type (Rainer Hahnekamp)
|
1104
|
+
- JRUBY-2018: Oracle behind ActiveRecord-JDBC fails with "Invalid column index" (K Venkatasubramaniyan)
|
1105
|
+
- JRUBY-2012: jdbc_mysql structure dump fails for mysql views (Tyler Jennings)
|
1106
|
+
|
1107
|
+
## 0.7.1
|
1108
|
+
|
1109
|
+
- Add adapter and driver for H2 courtesy of Caleb Land
|
1110
|
+
- Fix "undefined method `last' for {}:Hash" error introduced with new Rake 0.8.1 (JRUBY-1859)
|
1111
|
+
|
1112
|
+
## 0.7
|
1113
|
+
|
1114
|
+
- PLEASE NOTE: This release is not compatible with JRuby releases earlier than
|
1115
|
+
1.0.3 or 1.1b2. If you must use JRuby 1.0.2 or earlier, please install the
|
1116
|
+
0.6 release.
|
1117
|
+
- Release coincides with JRuby 1.0.3 and JRuby 1.1b2 releases
|
1118
|
+
- Simultaneous support for JRuby trunk and 1.0 branch
|
1119
|
+
- Get rid of log_no_bench method, so we time SQL execution again.
|
1120
|
+
- Implement #select_rows
|
1121
|
+
- MySQL migration and quoting updates
|
1122
|
+
|
1123
|
+
## 0.6
|
1124
|
+
|
1125
|
+
- Gem is renamed to "activerecord-jdbc-adapter" to follow new conventions
|
1126
|
+
introduced in Rails 2.0 for third-party adapters. Rails 2.0 compatibility is
|
1127
|
+
introduced.
|
1128
|
+
- Add dependency on ActiveRecord >= 1.14 (from the Rails 1.1.x release)
|
1129
|
+
- New drivers (jdbc-XXX) and adapter (activerecord-jdbcXXX-adapter) gems
|
1130
|
+
available separately. See the README.txt file for details.
|
1131
|
+
- Plain "jdbc" driver is still available if you want to use the full
|
1132
|
+
driver/url way of specifying the driver.
|
1133
|
+
- More bugfixes to Oracle and SQLServer courtesy of Ola & ThoughtWorks
|
1134
|
+
|
1135
|
+
## 0.5
|
1136
|
+
|
1137
|
+
- Release coincides with JRuby 1.0.1 release
|
1138
|
+
- It is no longer necessary to specify :driver and :url configuration
|
1139
|
+
parameters for the mysql, postgresql, oracle, derby, hsqldb, and h2
|
1140
|
+
adapters. The previous configuration is still valid and compatible, but for
|
1141
|
+
new applications, this makes it possible to use the exact same database.yml
|
1142
|
+
configuration as Rails applications running under native Ruby.
|
1143
|
+
- JDBC drivers can now be dynamically loaded by Ruby code, without being on
|
1144
|
+
the classpath prior to launching JRuby. Simply use "require
|
1145
|
+
'jdbc-driver.jar'" in JRuby code to add it to the runtime classpath.
|
1146
|
+
- Updates to HSQL, MS SQLServer, Postgres, Oracle and Derby adapters
|
1147
|
+
|
1148
|
+
## 0.4
|
1149
|
+
|
1150
|
+
- Release coincides with JRuby 1.0 release
|
1151
|
+
- Shoring up PostgreSQL (courtesy Dudley Flanders) and HSQL (courtesy Matthew
|
1152
|
+
Williams)
|
1153
|
+
- Fix timestamps on Oracle to use DATE (as everything else)
|
1154
|
+
- Derby fixes: Fix for open result set issue, better structure dump, quoting,
|
1155
|
+
column type changing
|
1156
|
+
- Sybase type recognition fix (courtesy Dean Mao)
|
1157
|
+
|
1158
|
+
## 0.3.1
|
1159
|
+
|
1160
|
+
- Derby critical fixes shortly after 0.3
|
1161
|
+
|
1162
|
+
## 0.3
|
1163
|
+
|
1164
|
+
- Release coincides with JRuby 1.0.0RC1 release
|
1165
|
+
- Improvements for Derby, Postgres, and Oracle, all of which are running
|
1166
|
+
> 95% of AR tests
|
1167
|
+
|
1168
|
+
## 0.2.4
|
1169
|
+
|
1170
|
+
- Release coincides with JRuby 0.9.9 release
|
1171
|
+
- JRuby 0.9.9 is required
|
1172
|
+
- MySQL close to 100% working
|
1173
|
+
- Derby improvements
|
1174
|
+
- DECIMAL/NUMERIC/FLOAT/REAL bugs fixed with type recognition for Oracle,
|
1175
|
+
Postgres, etc.
|
1176
|
+
- HSQLDB has regressed this release and may not be functioning; we'll get it
|
1177
|
+
fixed for the next one
|
1178
|
+
|
1179
|
+
## 0.2.3
|
1180
|
+
|
1181
|
+
- Release coincides (and compatible) with JRuby 0.9.8 release
|
1182
|
+
- 8 bugs fixed: see http://rubyurl.com/0Da
|
1183
|
+
- Improvements and compatibility fixes for Rails 1.2.x
|
1184
|
+
|
1185
|
+
## 0.2.1, 0.2.2
|
1186
|
+
|
1187
|
+
- Early releases, added better support for multiple databases
|
1188
|
+
|
1189
|
+
## 0.0.1
|
1190
|
+
|
1191
|
+
- Initial, very alpha release
|