activerecord-jdbc-adapter-ficoh 1.3.21-java

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (191) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +35 -0
  3. data/.travis.yml +462 -0
  4. data/.yardopts +4 -0
  5. data/Appraisals +36 -0
  6. data/CONTRIBUTING.md +49 -0
  7. data/Gemfile +68 -0
  8. data/History.md +1191 -0
  9. data/LICENSE.txt +25 -0
  10. data/README.md +277 -0
  11. data/RUNNING_TESTS.md +88 -0
  12. data/Rakefile +298 -0
  13. data/Rakefile.jdbc +20 -0
  14. data/activerecord-jdbc-adapter.gemspec +63 -0
  15. data/lib/active_record/connection_adapters/as400_adapter.rb +2 -0
  16. data/lib/active_record/connection_adapters/db2_adapter.rb +1 -0
  17. data/lib/active_record/connection_adapters/derby_adapter.rb +1 -0
  18. data/lib/active_record/connection_adapters/firebird_adapter.rb +1 -0
  19. data/lib/active_record/connection_adapters/h2_adapter.rb +1 -0
  20. data/lib/active_record/connection_adapters/hsqldb_adapter.rb +1 -0
  21. data/lib/active_record/connection_adapters/informix_adapter.rb +1 -0
  22. data/lib/active_record/connection_adapters/jdbc_adapter.rb +1 -0
  23. data/lib/active_record/connection_adapters/jndi_adapter.rb +1 -0
  24. data/lib/active_record/connection_adapters/mariadb_adapter.rb +1 -0
  25. data/lib/active_record/connection_adapters/mssql_adapter.rb +1 -0
  26. data/lib/active_record/connection_adapters/mysql2_adapter.rb +1 -0
  27. data/lib/active_record/connection_adapters/mysql_adapter.rb +1 -0
  28. data/lib/active_record/connection_adapters/oracle_adapter.rb +1 -0
  29. data/lib/active_record/connection_adapters/postgresql_adapter.rb +1 -0
  30. data/lib/active_record/connection_adapters/sqlite3_adapter.rb +1 -0
  31. data/lib/active_record/connection_adapters/sqlserver_adapter.rb +1 -0
  32. data/lib/activerecord-jdbc-adapter.rb +1 -0
  33. data/lib/arel/visitors/compat.rb +64 -0
  34. data/lib/arel/visitors/db2.rb +137 -0
  35. data/lib/arel/visitors/derby.rb +112 -0
  36. data/lib/arel/visitors/firebird.rb +79 -0
  37. data/lib/arel/visitors/h2.rb +25 -0
  38. data/lib/arel/visitors/hsqldb.rb +32 -0
  39. data/lib/arel/visitors/postgresql_jdbc.rb +6 -0
  40. data/lib/arel/visitors/sql_server.rb +225 -0
  41. data/lib/arel/visitors/sql_server/ng42.rb +293 -0
  42. data/lib/arjdbc.rb +22 -0
  43. data/lib/arjdbc/db2.rb +4 -0
  44. data/lib/arjdbc/db2/adapter.rb +802 -0
  45. data/lib/arjdbc/db2/as400.rb +137 -0
  46. data/lib/arjdbc/db2/column.rb +177 -0
  47. data/lib/arjdbc/db2/connection_methods.rb +45 -0
  48. data/lib/arjdbc/derby.rb +3 -0
  49. data/lib/arjdbc/derby/active_record_patch.rb +13 -0
  50. data/lib/arjdbc/derby/adapter.rb +567 -0
  51. data/lib/arjdbc/derby/connection_methods.rb +16 -0
  52. data/lib/arjdbc/derby/schema_creation.rb +15 -0
  53. data/lib/arjdbc/discover.rb +104 -0
  54. data/lib/arjdbc/firebird.rb +4 -0
  55. data/lib/arjdbc/firebird/adapter.rb +468 -0
  56. data/lib/arjdbc/firebird/connection_methods.rb +20 -0
  57. data/lib/arjdbc/h2.rb +3 -0
  58. data/lib/arjdbc/h2/adapter.rb +335 -0
  59. data/lib/arjdbc/h2/connection_methods.rb +22 -0
  60. data/lib/arjdbc/hsqldb.rb +3 -0
  61. data/lib/arjdbc/hsqldb/adapter.rb +304 -0
  62. data/lib/arjdbc/hsqldb/connection_methods.rb +23 -0
  63. data/lib/arjdbc/hsqldb/explain_support.rb +35 -0
  64. data/lib/arjdbc/hsqldb/schema_creation.rb +11 -0
  65. data/lib/arjdbc/informix.rb +5 -0
  66. data/lib/arjdbc/informix/adapter.rb +160 -0
  67. data/lib/arjdbc/informix/connection_methods.rb +9 -0
  68. data/lib/arjdbc/jdbc.rb +62 -0
  69. data/lib/arjdbc/jdbc/adapter.rb +997 -0
  70. data/lib/arjdbc/jdbc/adapter_require.rb +46 -0
  71. data/lib/arjdbc/jdbc/arel_support.rb +149 -0
  72. data/lib/arjdbc/jdbc/base_ext.rb +34 -0
  73. data/lib/arjdbc/jdbc/callbacks.rb +52 -0
  74. data/lib/arjdbc/jdbc/column.rb +83 -0
  75. data/lib/arjdbc/jdbc/connection.rb +26 -0
  76. data/lib/arjdbc/jdbc/connection_methods.rb +59 -0
  77. data/lib/arjdbc/jdbc/driver.rb +44 -0
  78. data/lib/arjdbc/jdbc/error.rb +75 -0
  79. data/lib/arjdbc/jdbc/extension.rb +69 -0
  80. data/lib/arjdbc/jdbc/java.rb +13 -0
  81. data/lib/arjdbc/jdbc/type_cast.rb +154 -0
  82. data/lib/arjdbc/jdbc/type_converter.rb +142 -0
  83. data/lib/arjdbc/mssql.rb +7 -0
  84. data/lib/arjdbc/mssql/adapter.rb +822 -0
  85. data/lib/arjdbc/mssql/column.rb +207 -0
  86. data/lib/arjdbc/mssql/connection_methods.rb +72 -0
  87. data/lib/arjdbc/mssql/explain_support.rb +99 -0
  88. data/lib/arjdbc/mssql/limit_helpers.rb +231 -0
  89. data/lib/arjdbc/mssql/lock_methods.rb +77 -0
  90. data/lib/arjdbc/mssql/types.rb +343 -0
  91. data/lib/arjdbc/mssql/utils.rb +82 -0
  92. data/lib/arjdbc/mysql.rb +3 -0
  93. data/lib/arjdbc/mysql/adapter.rb +998 -0
  94. data/lib/arjdbc/mysql/bulk_change_table.rb +150 -0
  95. data/lib/arjdbc/mysql/column.rb +167 -0
  96. data/lib/arjdbc/mysql/connection_methods.rb +137 -0
  97. data/lib/arjdbc/mysql/explain_support.rb +82 -0
  98. data/lib/arjdbc/mysql/schema_creation.rb +58 -0
  99. data/lib/arjdbc/oracle.rb +4 -0
  100. data/lib/arjdbc/oracle/adapter.rb +968 -0
  101. data/lib/arjdbc/oracle/column.rb +136 -0
  102. data/lib/arjdbc/oracle/connection_methods.rb +21 -0
  103. data/lib/arjdbc/postgresql.rb +3 -0
  104. data/lib/arjdbc/postgresql/_bc_time_cast_patch.rb +21 -0
  105. data/lib/arjdbc/postgresql/adapter.rb +1498 -0
  106. data/lib/arjdbc/postgresql/base/array_parser.rb +95 -0
  107. data/lib/arjdbc/postgresql/base/oid.rb +412 -0
  108. data/lib/arjdbc/postgresql/base/pgconn.rb +8 -0
  109. data/lib/arjdbc/postgresql/base/schema_definitions.rb +132 -0
  110. data/lib/arjdbc/postgresql/column.rb +640 -0
  111. data/lib/arjdbc/postgresql/connection_methods.rb +44 -0
  112. data/lib/arjdbc/postgresql/explain_support.rb +53 -0
  113. data/lib/arjdbc/postgresql/oid/bytea.rb +3 -0
  114. data/lib/arjdbc/postgresql/oid_types.rb +265 -0
  115. data/lib/arjdbc/postgresql/schema_creation.rb +60 -0
  116. data/lib/arjdbc/railtie.rb +11 -0
  117. data/lib/arjdbc/sqlite3.rb +3 -0
  118. data/lib/arjdbc/sqlite3/adapter.rb +654 -0
  119. data/lib/arjdbc/sqlite3/connection_methods.rb +36 -0
  120. data/lib/arjdbc/sqlite3/explain_support.rb +29 -0
  121. data/lib/arjdbc/sybase.rb +2 -0
  122. data/lib/arjdbc/sybase/adapter.rb +47 -0
  123. data/lib/arjdbc/tasks.rb +13 -0
  124. data/lib/arjdbc/tasks/database_tasks.rb +66 -0
  125. data/lib/arjdbc/tasks/databases.rake +91 -0
  126. data/lib/arjdbc/tasks/databases3.rake +239 -0
  127. data/lib/arjdbc/tasks/databases4.rake +39 -0
  128. data/lib/arjdbc/tasks/db2_database_tasks.rb +104 -0
  129. data/lib/arjdbc/tasks/derby_database_tasks.rb +95 -0
  130. data/lib/arjdbc/tasks/h2_database_tasks.rb +31 -0
  131. data/lib/arjdbc/tasks/hsqldb_database_tasks.rb +70 -0
  132. data/lib/arjdbc/tasks/jdbc_database_tasks.rb +169 -0
  133. data/lib/arjdbc/tasks/mssql_database_tasks.rb +46 -0
  134. data/lib/arjdbc/tasks/oracle/enhanced_structure_dump.rb +297 -0
  135. data/lib/arjdbc/tasks/oracle_database_tasks.rb +65 -0
  136. data/lib/arjdbc/util/quoted_cache.rb +60 -0
  137. data/lib/arjdbc/util/serialized_attributes.rb +98 -0
  138. data/lib/arjdbc/util/table_copier.rb +108 -0
  139. data/lib/arjdbc/version.rb +8 -0
  140. data/lib/generators/jdbc/USAGE +9 -0
  141. data/lib/generators/jdbc/jdbc_generator.rb +17 -0
  142. data/pom.xml +285 -0
  143. data/rails_generators/jdbc_generator.rb +15 -0
  144. data/rails_generators/templates/config/initializers/jdbc.rb +10 -0
  145. data/rails_generators/templates/lib/tasks/jdbc.rake +11 -0
  146. data/rakelib/01-tomcat.rake +51 -0
  147. data/rakelib/02-test.rake +151 -0
  148. data/rakelib/bundler_ext.rb +11 -0
  149. data/rakelib/db.rake +58 -0
  150. data/rakelib/rails.rake +77 -0
  151. data/src/java/arjdbc/ArJdbcModule.java +288 -0
  152. data/src/java/arjdbc/db2/DB2Module.java +77 -0
  153. data/src/java/arjdbc/db2/DB2RubyJdbcConnection.java +128 -0
  154. data/src/java/arjdbc/derby/DerbyModule.java +180 -0
  155. data/src/java/arjdbc/derby/DerbyRubyJdbcConnection.java +153 -0
  156. data/src/java/arjdbc/firebird/FirebirdRubyJdbcConnection.java +190 -0
  157. data/src/java/arjdbc/h2/H2Module.java +50 -0
  158. data/src/java/arjdbc/h2/H2RubyJdbcConnection.java +86 -0
  159. data/src/java/arjdbc/hsqldb/HSQLDBModule.java +74 -0
  160. data/src/java/arjdbc/informix/InformixRubyJdbcConnection.java +76 -0
  161. data/src/java/arjdbc/jdbc/AdapterJavaService.java +43 -0
  162. data/src/java/arjdbc/jdbc/Callable.java +44 -0
  163. data/src/java/arjdbc/jdbc/ConnectionFactory.java +77 -0
  164. data/src/java/arjdbc/jdbc/DataSourceConnectionFactory.java +156 -0
  165. data/src/java/arjdbc/jdbc/DriverConnectionFactory.java +63 -0
  166. data/src/java/arjdbc/jdbc/DriverWrapper.java +128 -0
  167. data/src/java/arjdbc/jdbc/JdbcConnectionFactory.java +32 -0
  168. data/src/java/arjdbc/jdbc/RubyJdbcConnection.java +4541 -0
  169. data/src/java/arjdbc/jdbc/SQLBlock.java +54 -0
  170. data/src/java/arjdbc/jdbc/WithResultSet.java +37 -0
  171. data/src/java/arjdbc/mssql/MSSQLModule.java +91 -0
  172. data/src/java/arjdbc/mssql/MSSQLRubyJdbcConnection.java +193 -0
  173. data/src/java/arjdbc/mysql/MySQLModule.java +140 -0
  174. data/src/java/arjdbc/mysql/MySQLRubyJdbcConnection.java +456 -0
  175. data/src/java/arjdbc/oracle/OracleModule.java +81 -0
  176. data/src/java/arjdbc/oracle/OracleRubyJdbcConnection.java +477 -0
  177. data/src/java/arjdbc/postgresql/ByteaUtils.java +171 -0
  178. data/src/java/arjdbc/postgresql/DriverImplementation.java +78 -0
  179. data/src/java/arjdbc/postgresql/PGDriverImplementation.java +535 -0
  180. data/src/java/arjdbc/postgresql/PostgreSQLModule.java +189 -0
  181. data/src/java/arjdbc/postgresql/PostgreSQLRubyJdbcConnection.java +489 -0
  182. data/src/java/arjdbc/sqlite3/SQLite3Module.java +93 -0
  183. data/src/java/arjdbc/sqlite3/SQLite3RubyJdbcConnection.java +405 -0
  184. data/src/java/arjdbc/util/CallResultSet.java +826 -0
  185. data/src/java/arjdbc/util/DateTimeUtils.java +517 -0
  186. data/src/java/arjdbc/util/NumberUtils.java +50 -0
  187. data/src/java/arjdbc/util/ObjectSupport.java +65 -0
  188. data/src/java/arjdbc/util/QuotingUtils.java +139 -0
  189. data/src/java/arjdbc/util/StringCache.java +60 -0
  190. data/src/java/arjdbc/util/StringHelper.java +155 -0
  191. metadata +288 -0
@@ -0,0 +1,4 @@
1
+ --markup=markdown --markup-provider=kramdown
2
+ --plugin method-overrides
3
+ --title "ActiveRecord JDBC Adapter"
4
+ --no-private --protected lib/**/*.rb - README.md RUNNING_TESTS.md LICENSE.txt
@@ -0,0 +1,36 @@
1
+ appraise "rails23" do
2
+ gem "activerecord", "~> 2.3.18", :require => false
3
+ gem "rails", "~> 2.3.18"
4
+ end
5
+
6
+ appraise "rails30" do
7
+ gem "activerecord", "~> 3.0.20", :require => false
8
+ end
9
+
10
+ appraise "rails31" do
11
+ gem "activerecord", "~> 3.1.12", :require => false
12
+ end
13
+
14
+ appraise "rails32" do
15
+ gem 'i18n', '< 0.7'
16
+ gem "activerecord", "~> 3.2.19", :require => false
17
+ end
18
+
19
+ appraise "rails40" do
20
+ gem "activerecord", "~> 4.0.12", :require => false
21
+ end
22
+
23
+ appraise "rails41" do
24
+ gem "activerecord", "~> 4.1.8", :require => false
25
+ end
26
+
27
+ appraise "rails42" do
28
+ gem "activerecord", "~> 4.2.0", :require => false
29
+ end
30
+
31
+ appraise "railsNG" do
32
+ branch = ( ENV['rails_branch'] || 'master' )
33
+ gem "activerecord", :github => 'rails/rails', :branch => branch, :require => false
34
+ gem 'rails', :github => 'rails/rails', :branch => branch
35
+ gem 'arel', :github => 'rails/arel', :branch => 'master'
36
+ end
@@ -0,0 +1,49 @@
1
+
2
+ ## Contributing to ActiveRecord JDBC Adapter
3
+
4
+ AR-JDBC is (currently) a volunteer effort, you can contribute and make the world
5
+ a better place for all the JRuby on Rails deployments out there.
6
+
7
+ **NOTE:** master targets 1.4 please use the **1-3-stable** branch to target 1.3.x
8
+
9
+ ### Reporting Issues
10
+
11
+ We encourage you to try looking into reported issues, esp. if for issues around
12
+ (Rails) incompatibility with MRI - as the fix often only needs some copy-pasting.
13
+
14
+ Please consider testing against **master**, if you're in doubt whether it might
15
+ have been [fixed](History.md) already, change the following in your *Gemfile* :
16
+
17
+ `gem 'activerecord-jdbc-adapter', :github => 'jruby/activerecord-jdbc-adapter'`
18
+
19
+ **NOTE:** the native extension *adapter_java.jar* has been included within the
20
+ source code until 1.4.0, you'll need to have JDK 7 installed to build it.
21
+
22
+ Please, do not forget to **include the following with your bug report** :
23
+
24
+ * AR-JDBC's version used (if you've tested against master mention it)
25
+
26
+ * version of Rails / ActiveRecord you're running with
27
+
28
+ * JRuby version (you might include your Java version as well) - `jruby -v`
29
+
30
+ * if you've setup the JDBC driver yourself please mention that (+ it's version)
31
+
32
+ * include any (related) back-traces (or Java stack-traces) you've seen in the logs
33
+
34
+ * ... a (deterministic) way to reproduce :)
35
+
36
+ ### Pull Requests
37
+
38
+ You're code will end up on upstream faster if you provide tests as well, read on
39
+ how to [run AR-JDBC tests](RUNNING_TESTS.md).
40
+
41
+ When fixing issues for a particular Rails version please be aware that we support
42
+ multiple AR versions from a single code-base (and that might mean supporting Ruby
43
+ 1.8 as well - esp. targeting 4.x **we can not use the 1.9 syntax** yet).
44
+
45
+ Please keep our [test-suite](https://travis-ci.org/jruby/activerecord-jdbc-adapter)
46
+ green (been funky for a while and it's been hard-work getting it in back to shape),
47
+ while making changes, or at least do not introduce new failures if there's some.
48
+
49
+ :heart: JRuby-Up!
data/Gemfile ADDED
@@ -0,0 +1,68 @@
1
+ source "https://rubygems.org"
2
+
3
+ # NOTE: appraisal can not handle a `gemspec' declaration !
4
+
5
+ if version = ENV['AR_VERSION']
6
+ if version.index('/') && ::File.exist?(version)
7
+ gem 'activerecord', :path => version
8
+ elsif version =~ /^[0-9abcdef]+$/
9
+ gem 'activerecord', :github => 'rails/rails', :ref => version
10
+ elsif version.index('.').nil?
11
+ gem 'activerecord', :github => 'rails/rails', :branch => version
12
+ else
13
+ gem 'activerecord', version, :require => nil
14
+ end
15
+ else
16
+ gem 'activerecord', :require => nil
17
+ end
18
+
19
+ gem 'thread_safe', :require => nil # "optional" - we can roll without it
20
+
21
+ if defined?(JRUBY_VERSION) && JRUBY_VERSION < '1.7.0'
22
+ gem 'jruby-openssl', :platform => :jruby
23
+ end
24
+
25
+ group :default do
26
+ gem 'jar-dependencies', '>= 0.1.9', :require => nil, :platform => :jruby
27
+ gem 'ruby-maven', '~> 3.1.1.0.11', :require => nil, :platform => :jruby, :group => :development
28
+ end if ENV['BUILD_EXT_MAVEN'] == 'true'
29
+
30
+ gem 'rake', '~> 10.4.2', :require => nil
31
+ gem 'appraisal', '~> 0.5.2', :require => nil
32
+
33
+ # appraisal ignores group block declarations :
34
+
35
+ gem 'test-unit', '~> 2.5.4', :group => :test
36
+ gem 'test-unit-context', '>= 0.4.0', :group => :test
37
+ gem 'mocha', '~> 0.13.1', :require => nil, :group => :test
38
+
39
+ gem 'simplecov', :require => nil, :group => :test if ENV['COVERAGE']
40
+ gem 'bcrypt-ruby', '~> 3.0.0', :require => nil, :group => :test
41
+ #gem 'trinidad_dbpool', :require => nil, :group => :test
42
+
43
+ group :development do
44
+ gem 'ruby-debug', :require => nil if ENV['DEBUG']
45
+ group :doc do
46
+ gem 'yard', :require => nil
47
+ #gem 'yard-method-overrides', :github => 'kares/yard-method-overrides', :require => nil
48
+ gem 'kramdown', :require => nil
49
+ end
50
+ end
51
+
52
+ group :rails do
53
+ gem 'erubis', :require => nil
54
+ # NOTE: due rails/activerecord/test/cases/session_store/session_test.rb
55
+ gem 'actionpack', :require => nil
56
+ end
57
+
58
+ if sqlite_version = ENV['JDBC_SQLITE_VERSION'] # for testing against different version(s)
59
+ gem 'jdbc-sqlite3', sqlite_version, :require => nil, :platform => :jruby, :group => :test
60
+ end
61
+
62
+ gem 'mysql2', '< 0.4', :require => nil, :platform => :mri, :group => :test
63
+ gem 'pg', :require => nil, :platform => :mri, :group => :test
64
+ gem 'sqlite3', :require => nil, :platform => :mri, :group => :test
65
+ group :mssql do
66
+ gem 'tiny_tds', :require => nil, :platform => :mri, :group => :test
67
+ gem 'activerecord-sqlserver-adapter', :require => nil, :platform => :mri, :group => :test
68
+ end
@@ -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 - avoiding 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