activerecord-jdbc-adapter 50.3-java → 50.8-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.
- checksums.yaml +4 -4
- data/.gitignore +2 -1
- data/.travis.yml +22 -18
- data/README.md +11 -9
- data/Rakefile +30 -4
- data/activerecord-jdbc-adapter.gemspec +1 -1
- data/lib/arjdbc/abstract/core.rb +2 -2
- data/lib/arjdbc/abstract/database_statements.rb +8 -2
- data/lib/arjdbc/jdbc.rb +0 -4
- data/lib/arjdbc/jdbc/column.rb +5 -11
- data/lib/arjdbc/mysql/connection_methods.rb +13 -7
- data/lib/arjdbc/postgresql/column.rb +6 -3
- data/lib/arjdbc/postgresql/connection_methods.rb +3 -1
- data/lib/arjdbc/sqlite3/connection_methods.rb +1 -0
- data/lib/arjdbc/version.rb +1 -1
- data/rakelib/01-tomcat.rake +2 -2
- data/rakelib/02-test.rake +0 -3
- data/rakelib/rails.rake +1 -1
- data/src/java/arjdbc/jdbc/RubyJdbcConnection.java +62 -8
- data/src/java/arjdbc/mssql/MSSQLRubyJdbcConnection.java +310 -14
- data/src/java/arjdbc/util/DateTimeUtils.java +22 -5
- metadata +4 -16
- data/lib/active_record/connection_adapters/mssql_adapter.rb +0 -1
- data/lib/active_record/connection_adapters/sqlserver_adapter.rb +0 -1
- data/lib/arjdbc/mssql.rb +0 -7
- data/lib/arjdbc/mssql/adapter.rb +0 -804
- data/lib/arjdbc/mssql/column.rb +0 -200
- data/lib/arjdbc/mssql/connection_methods.rb +0 -79
- data/lib/arjdbc/mssql/explain_support.rb +0 -99
- data/lib/arjdbc/mssql/limit_helpers.rb +0 -231
- data/lib/arjdbc/mssql/lock_methods.rb +0 -77
- data/lib/arjdbc/mssql/types.rb +0 -343
- data/lib/arjdbc/mssql/utils.rb +0 -82
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5478648fcae62c384d0b8aeb74486d827353baa4560835bf589048bd20050da3
|
4
|
+
data.tar.gz: 12d6e871274580e3dcbdf76e6b64daddae45fbd77c7bc7673e0f1416bd1a06c5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e9ae9c43b64186aa46d3df3e0e395778577f1db175fc84ea812687392b9a0437ef66ae4fdb42e7bfff717795dd1b0d93d2cf56944b7467f7fe222ecb6c6495b9
|
7
|
+
data.tar.gz: fe36ac65f5deb2e83bf8480c12292db537bc3ca5184c390495d8a459c1a91c2be4c5aa8ffa4ae8d5888a003eb74ece8b94e513e654f011670362a4c57a9d3a78
|
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
@@ -1,18 +1,27 @@
|
|
1
|
-
language: ruby
|
2
1
|
sudo: false
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
bundler_args: --without development
|
11
|
-
script: bundle exec rake ${TEST_PREFIX}test_$DB
|
2
|
+
dist: xenial
|
3
|
+
|
4
|
+
services:
|
5
|
+
- mysql
|
6
|
+
addons:
|
7
|
+
postgresql: 9.4
|
8
|
+
|
12
9
|
before_install:
|
13
10
|
- unset _JAVA_OPTIONS
|
14
11
|
- rvm @default,@global do gem uninstall bundler -a -x -I || true
|
15
12
|
- gem install bundler -v "~>1.17.3"
|
13
|
+
install:
|
14
|
+
- bundle install --retry 3 --without development
|
15
|
+
# to fix this issue: https://travis-ci.community/t/mariadb-10-1-fails-to-install-on-xenial/3151/3
|
16
|
+
- mysql -u root -e 'CREATE USER IF NOT EXISTS travis@localhost; GRANT ALL ON *.* TO travis@localhost;' || true
|
17
|
+
|
18
|
+
language: ruby
|
19
|
+
rvm:
|
20
|
+
- jruby-9.1.16.0
|
21
|
+
jdk:
|
22
|
+
- openjdk8
|
23
|
+
|
24
|
+
script: bundle exec rake ${TEST_PREFIX}test_$DB
|
16
25
|
before_script:
|
17
26
|
- echo "JAVA_OPTS=$JAVA_OPTS"
|
18
27
|
- export JRUBY_OPTS="-J-Xms64M -J-Xmx1024M"
|
@@ -38,12 +47,7 @@ before_script:
|
|
38
47
|
psql -c "create database activerecord_unittest;" -U postgres && \
|
39
48
|
psql -c "create database activerecord_unittest2;" -U postgres \
|
40
49
|
|| true
|
41
|
-
|
42
|
-
- jruby-9.1.16.0
|
43
|
-
jdk:
|
44
|
-
- openjdk8
|
45
|
-
addons:
|
46
|
-
postgresql: "9.4"
|
50
|
+
|
47
51
|
env:
|
48
52
|
- DB=mysql2 PREPARED_STATEMENTS=false
|
49
53
|
- DB=mysql2 PREPARED_STATEMENTS=true
|
@@ -86,10 +90,10 @@ matrix:
|
|
86
90
|
env: DB=sqlite3
|
87
91
|
# testing against MariaDB
|
88
92
|
- addons:
|
89
|
-
mariadb:
|
93
|
+
mariadb: 10.2
|
90
94
|
env: DB=mariadb PREPARED_STATEMENTS=false
|
91
95
|
- addons:
|
92
|
-
mariadb:
|
96
|
+
mariadb: 10.3
|
93
97
|
env: DB=mariadb PREPARED_STATEMENTS=true
|
94
98
|
# Rails test-suite :
|
95
99
|
- env: DB=mysql2 TEST_PREFIX="rails:" AR_VERSION="v5.0.7.1" # PS off by default
|
data/README.md
CHANGED
@@ -5,15 +5,16 @@
|
|
5
5
|
ActiveRecord-JDBC-Adapter (AR-JDBC) is the main database adapter for Rails'
|
6
6
|
*ActiveRecord* component that can be used with [JRuby][0].
|
7
7
|
ActiveRecord-JDBC-Adapter provides full or nearly full support for:
|
8
|
-
**MySQL**, **PostgreSQL**, **SQLite3
|
9
|
-
add support **MSSQL**. Unless we get more contributions we will not be going
|
10
|
-
beyond these four adapters. Note that the amount of work needed to get
|
11
|
-
another adapter is not huge but the amount of testing required to make sure
|
12
|
-
that adapter continues to work is not something we can do with the resources
|
13
|
-
we currently have.
|
8
|
+
**MySQL**, **PostgreSQL**, **SQLite3** and **MSSQL*** (SQLServer).
|
14
9
|
|
15
|
-
|
16
|
-
|
10
|
+
Unless we get more contributions we will not be supporting more adapters.
|
11
|
+
Note that the amount of work needed to get another adapter is not huge but
|
12
|
+
the amount of testing required to make sure that adapter continues to work
|
13
|
+
is not something we can do with the resources we currently have.
|
14
|
+
|
15
|
+
- for **Oracle** database users you are encouraged to use
|
16
|
+
https://github.com/rsim/oracle-enhanced
|
17
|
+
- **MSSQL** adapter's gem parts reside in a [separate repository][8]
|
17
18
|
|
18
19
|
Version **50.x** supports Rails version 5.0.x and it lives on branch 50-stable.
|
19
20
|
Version **51.x** supports Rails version 5.1.x and is currently on master until
|
@@ -32,6 +33,7 @@ adapters are available:
|
|
32
33
|
- MySQL (`activerecord-jdbcmysql-adapter`)
|
33
34
|
- PostgreSQL (`activerecord-jdbcpostgresql-adapter`)
|
34
35
|
- SQLite3 (`activerecord-jdbcsqlite3-adapter`)
|
36
|
+
- MSSQL (`activerecord-jdbcsqlserver-adapter`)
|
35
37
|
|
36
38
|
2. If you're generating a new Rails application, use the following command:
|
37
39
|
|
@@ -166,4 +168,4 @@ license the database's drivers are licensed. See each driver gem's LICENSE.txt.
|
|
166
168
|
[5]: https://github.com/jruby/activerecord-jdbc-adapter/wiki
|
167
169
|
[6]: https://webchat.freenode.net/?channels=#jruby
|
168
170
|
[7]: http://badge.fury.io/rb/activerecord-jdbc-adapter
|
169
|
-
[8]: https://github.com/jruby/activerecord-
|
171
|
+
[8]: https://github.com/jruby/activerecord-jdbcsqlserver-adapter
|
data/Rakefile
CHANGED
@@ -1,3 +1,29 @@
|
|
1
|
+
# Common usage
|
2
|
+
#
|
3
|
+
# rake build:adapters - to build all specific adapter gems and the base gem
|
4
|
+
# rake release:do - build:adapters + git tag + push gems
|
5
|
+
#
|
6
|
+
# Environment variables used by this Rakefile:
|
7
|
+
#
|
8
|
+
# INCLUDE_JAR_IN_GEM [default task - false, other taks - true]:
|
9
|
+
# Note: This is something you should not normally have to set.
|
10
|
+
# For local development we always will end up including the jar file
|
11
|
+
# in any task which generates our main gem. The wrinkle to this
|
12
|
+
# is when we do a custom github link in bundler:
|
13
|
+
#
|
14
|
+
# gem 'ar-jdbc', github: '...'
|
15
|
+
#
|
16
|
+
# Because we stopped committing a .jar file for every change and so when
|
17
|
+
# we include a gem like this it clones the repository and does a default
|
18
|
+
# build in rake. This in turn will end up forcing a compile to generate
|
19
|
+
# that jar (similar to how c-extensions compile at the time of install).
|
20
|
+
# For shipped gems we do include the jar so that people do not require
|
21
|
+
# this compile step.
|
22
|
+
#
|
23
|
+
# NOOP [release:do - false]
|
24
|
+
#
|
25
|
+
# No commands or gem pushing during a release.
|
26
|
+
|
1
27
|
require 'rake/clean'
|
2
28
|
|
3
29
|
CLEAN.include 'derby*', 'test.db.*', '*test.sqlite3', 'test/reports'
|
@@ -38,7 +64,8 @@ rake = lambda { |task| ruby "-S", "rake", task }
|
|
38
64
|
|
39
65
|
desc "Build #{gem_name} gem into the pkg directory."
|
40
66
|
task :build => :jar do
|
41
|
-
|
67
|
+
include_jar = ENV['INCLUDE_JAR_IN_GEM'] || 'true'
|
68
|
+
sh("INCLUDE_JAR_IN_GEM=#{include_jar} gem build -V '#{gemspec_path}'") do
|
42
69
|
gem_path = built_gem_path.call
|
43
70
|
file_name = File.basename(gem_path)
|
44
71
|
FileUtils.mkdir_p(File.join(base_dir, 'pkg'))
|
@@ -58,7 +85,6 @@ end
|
|
58
85
|
|
59
86
|
desc "Releasing AR-JDBC gems (use NOOP=true to disable gem pushing)"
|
60
87
|
task 'release:do' do
|
61
|
-
ENV['RELEASE'] = 'true' # so that .gemspec is built with adapter_java.jar
|
62
88
|
Rake::Task['build'].invoke
|
63
89
|
Rake::Task['build:adapters'].invoke
|
64
90
|
|
@@ -257,7 +283,7 @@ if defined? JRUBY_VERSION
|
|
257
283
|
begin
|
258
284
|
require 'arjdbc/version'
|
259
285
|
rescue LoadError
|
260
|
-
path = File.expand_path('
|
286
|
+
path = File.expand_path('lib', File.dirname(__FILE__))
|
261
287
|
unless $LOAD_PATH.include?(path)
|
262
288
|
$LOAD_PATH << path; retry
|
263
289
|
end
|
@@ -297,7 +323,7 @@ if defined? JRUBY_VERSION
|
|
297
323
|
# class_files.gsub!('$', '\$') unless windows?
|
298
324
|
# args = class_files.map { |path| [ "-C #{classes_dir}", path ] }.flatten
|
299
325
|
|
300
|
-
if ENV['
|
326
|
+
if ENV['INCLUDE_JAR_IN_GEM'] == 'true'; require 'tempfile'
|
301
327
|
manifest = "Built-Time: #{Time.now.utc.strftime('%Y-%m-%d %H:%M:%S')}\n"
|
302
328
|
manifest += "Built-JRuby: #{JRUBY_VERSION}\n"
|
303
329
|
manifest += "Specification-Title: ActiveRecord-JDBC\n"
|
@@ -27,7 +27,7 @@ Gem::Specification.new do |gem|
|
|
27
27
|
reject { |f| f =~ /^(gemfiles)/ } # no tests - no Gemfile_s appraised ...
|
28
28
|
gem.files += ['lib/arjdbc/jdbc/adapter_java.jar'] #if ENV['RELEASE'].eql?('true')
|
29
29
|
|
30
|
-
if ENV['
|
30
|
+
if ENV['INCLUDE_JAR_IN_GEM'] != 'true' # @see Rakefile
|
31
31
|
gem.extensions << 'Rakefile' # to support auto-building .jar with :git paths
|
32
32
|
|
33
33
|
#gem.add_runtime_dependency 'jar-dependencies', '~> 0.1' # development not enough!
|
data/lib/arjdbc/abstract/core.rb
CHANGED
@@ -22,7 +22,7 @@ module ArJdbc
|
|
22
22
|
|
23
23
|
connection.configure_connection # will call us (maybe)
|
24
24
|
end
|
25
|
-
|
25
|
+
|
26
26
|
# Retrieve the raw `java.sql.Connection` object.
|
27
27
|
# The unwrap parameter is useful if an attempt to unwrap a pooled (JNDI)
|
28
28
|
# connection should be made - to really return the 'native' JDBC object.
|
@@ -54,7 +54,7 @@ module ArJdbc
|
|
54
54
|
case e
|
55
55
|
when SystemExit, SignalException, NoMemoryError then e
|
56
56
|
when ActiveModel::RangeError, TypeError, RuntimeError then e
|
57
|
-
else
|
57
|
+
else super
|
58
58
|
end
|
59
59
|
end
|
60
60
|
|
@@ -10,11 +10,13 @@ module ArJdbc
|
|
10
10
|
NO_BINDS = [].freeze
|
11
11
|
|
12
12
|
def exec_insert(sql, name = nil, binds = NO_BINDS, pk = nil, sequence_name = nil)
|
13
|
+
binds = convert_legacy_binds_to_attributes(binds) if binds.first.is_a?(Array)
|
14
|
+
|
13
15
|
if without_prepared_statement?(binds)
|
14
|
-
log(sql, name) { @connection.
|
16
|
+
log(sql, name) { @connection.execute_insert_pk(sql, pk) }
|
15
17
|
else
|
16
18
|
log(sql, name, binds) do
|
17
|
-
@connection.
|
19
|
+
@connection.execute_insert_pk(sql, binds, pk)
|
18
20
|
end
|
19
21
|
end
|
20
22
|
end
|
@@ -22,6 +24,8 @@ module ArJdbc
|
|
22
24
|
# It appears that at this point (AR 5.0) "prepare" should only ever be true
|
23
25
|
# if prepared statements are enabled
|
24
26
|
def exec_query(sql, name = nil, binds = NO_BINDS, prepare: false)
|
27
|
+
binds = convert_legacy_binds_to_attributes(binds) if binds.first.is_a?(Array)
|
28
|
+
|
25
29
|
if without_prepared_statement?(binds)
|
26
30
|
log(sql, name) { @connection.execute_query(sql) }
|
27
31
|
else
|
@@ -34,6 +38,8 @@ module ArJdbc
|
|
34
38
|
end
|
35
39
|
|
36
40
|
def exec_update(sql, name = nil, binds = NO_BINDS)
|
41
|
+
binds = convert_legacy_binds_to_attributes(binds) if binds.first.is_a?(Array)
|
42
|
+
|
37
43
|
if without_prepared_statement?(binds)
|
38
44
|
log(sql, name) { @connection.execute_update(sql) }
|
39
45
|
else
|
data/lib/arjdbc/jdbc.rb
CHANGED
data/lib/arjdbc/jdbc/column.rb
CHANGED
@@ -26,23 +26,17 @@ module ActiveRecord
|
|
26
26
|
end
|
27
27
|
end
|
28
28
|
|
29
|
-
|
30
|
-
default = args[0].cast(default)
|
29
|
+
default = args[0].cast(default)
|
31
30
|
|
32
|
-
|
33
|
-
|
31
|
+
sql_type = args.delete_at(1)
|
32
|
+
type = args.delete_at(0)
|
34
33
|
|
35
|
-
|
36
|
-
elsif ArJdbc::AR42
|
37
|
-
default = args[0].type_cast_from_database(default)
|
38
|
-
else
|
39
|
-
default = default_value(default)
|
40
|
-
end
|
34
|
+
args.unshift(SqlTypeMetadata.new(:sql_type => sql_type, :type => type))
|
41
35
|
|
42
36
|
# super <= 4.1: (name, default, sql_type = nil, null = true)
|
43
37
|
# super >= 4.2: (name, default, cast_type, sql_type = nil, null = true)
|
44
38
|
# super >= 5.0: (name, default, sql_type_metadata = nil, null = true)
|
45
|
-
|
39
|
+
|
46
40
|
super(name, default, *args)
|
47
41
|
init_column(name, default, *args)
|
48
42
|
end
|
@@ -1,6 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
ArJdbc::ConnectionMethods.module_eval do
|
3
3
|
def mysql_connection(config)
|
4
|
+
config = config.deep_dup
|
4
5
|
# NOTE: this isn't "really" necessary but Rails (in tests) assumes being able to :
|
5
6
|
# ActiveRecord::Base.mysql2_connection ActiveRecord::Base.configurations['arunit'].merge(database: ...)
|
6
7
|
config = symbolize_keys_if_necessary(config)
|
@@ -10,11 +11,9 @@ ArJdbc::ConnectionMethods.module_eval do
|
|
10
11
|
|
11
12
|
return jndi_connection(config) if jndi_config?(config)
|
12
13
|
|
13
|
-
driver = config[:driver]
|
14
|
-
|
15
|
-
|
16
|
-
mysql_driver = driver.start_with?('com.mysql.')
|
17
|
-
mariadb_driver = ! mysql_driver && driver.start_with?('org.mariadb.')
|
14
|
+
driver = config[:driver]
|
15
|
+
mysql_driver = driver.nil? || driver.to_s.start_with?('com.mysql.')
|
16
|
+
mariadb_driver = ! mysql_driver && driver.to_s.start_with?('org.mariadb.')
|
18
17
|
|
19
18
|
begin
|
20
19
|
require 'jdbc/mysql'
|
@@ -22,6 +21,11 @@ ArJdbc::ConnectionMethods.module_eval do
|
|
22
21
|
rescue LoadError # assuming driver.jar is on the class-path
|
23
22
|
end if mysql_driver
|
24
23
|
|
24
|
+
if driver.nil?
|
25
|
+
config[:driver] ||=
|
26
|
+
defined?(::Jdbc::MySQL.driver_name) ? ::Jdbc::MySQL.driver_name : 'com.mysql.jdbc.Driver'
|
27
|
+
end
|
28
|
+
|
25
29
|
config[:username] = 'root' unless config.key?(:username)
|
26
30
|
# jdbc:mysql://[host][,failoverhost...][:port]/[database]
|
27
31
|
# - if the host name is not specified, it defaults to 127.0.0.1
|
@@ -36,7 +40,8 @@ ArJdbc::ConnectionMethods.module_eval do
|
|
36
40
|
|
37
41
|
properties = ( config[:properties] ||= {} )
|
38
42
|
if mysql_driver
|
39
|
-
properties['zeroDateTimeBehavior'] ||=
|
43
|
+
properties['zeroDateTimeBehavior'] ||=
|
44
|
+
config[:driver].to_s.start_with?('com.mysql.cj.') ? 'CONVERT_TO_NULL' : 'convertToNull'
|
40
45
|
properties['jdbcCompliantTruncation'] ||= false
|
41
46
|
# NOTE: this is "better" than passing what users are used to set on MRI
|
42
47
|
# e.g. 'utf8mb4' will fail cause the driver will check for a Java charset
|
@@ -108,7 +113,8 @@ ArJdbc::ConnectionMethods.module_eval do
|
|
108
113
|
rescue LoadError # assuming driver.jar is on the class-path
|
109
114
|
end
|
110
115
|
|
111
|
-
config[:driver] ||=
|
116
|
+
config[:driver] ||=
|
117
|
+
defined?(::Jdbc::MariaDB.driver_name) ? ::Jdbc::MariaDB.driver_name : 'org.mariadb.jdbc.Driver'
|
112
118
|
|
113
119
|
mysql_connection(config)
|
114
120
|
end
|
@@ -15,7 +15,7 @@ module ArJdbc
|
|
15
15
|
end
|
16
16
|
|
17
17
|
# Extracts the value from a PostgreSQL column default definition.
|
18
|
-
def extract_value_from_default(default)
|
18
|
+
def extract_value_from_default(default)
|
19
19
|
case default
|
20
20
|
# Quoted types
|
21
21
|
when /\A[\(B]?'(.*)'.*::"?([\w. ]+)"?(?:\[\])?\z/m
|
@@ -41,10 +41,13 @@ module ArJdbc
|
|
41
41
|
end
|
42
42
|
end
|
43
43
|
|
44
|
-
def extract_default_function(default_value, default)
|
45
|
-
default if
|
44
|
+
def extract_default_function(default_value, default)
|
45
|
+
default if has_default_function?(default_value, default)
|
46
46
|
end
|
47
47
|
|
48
|
+
def has_default_function?(default_value, default)
|
49
|
+
!default_value && %r{\w+\(.*\)|\(.*\)::\w+|CURRENT_DATE|CURRENT_TIMESTAMP} === default
|
50
|
+
end
|
48
51
|
end
|
49
52
|
|
50
53
|
end
|
@@ -1,6 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
ArJdbc::ConnectionMethods.module_eval do
|
3
3
|
def postgresql_connection(config)
|
4
|
+
config = config.deep_dup
|
4
5
|
# NOTE: this isn't "really" necessary but Rails (in tests) assumes being able to :
|
5
6
|
# ActiveRecord::Base.postgresql_connection ActiveRecord::Base.configurations['arunit'].merge(:insert_returning => false)
|
6
7
|
# ... while using symbols by default but than configurations returning string keys ;(
|
@@ -16,7 +17,8 @@ ArJdbc::ConnectionMethods.module_eval do
|
|
16
17
|
::Jdbc::Postgres.load_driver(:require) if defined?(::Jdbc::Postgres.load_driver)
|
17
18
|
rescue LoadError # assuming driver.jar is on the class-path
|
18
19
|
end
|
19
|
-
driver = config[:driver] ||=
|
20
|
+
driver = (config[:driver] ||=
|
21
|
+
defined?(::Jdbc::Postgres.driver_name) ? ::Jdbc::Postgres.driver_name : 'org.postgresql.Driver')
|
20
22
|
|
21
23
|
host = config[:host] ||= ( config[:hostaddr] || ENV['PGHOST'] || 'localhost' )
|
22
24
|
port = config[:port] ||= ( ENV['PGPORT'] || 5432 )
|
@@ -1,6 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
ArJdbc::ConnectionMethods.module_eval do
|
3
3
|
def sqlite3_connection(config)
|
4
|
+
config = config.deep_dup
|
4
5
|
config[:adapter_spec] ||= ::ArJdbc::SQLite3
|
5
6
|
config[:adapter_class] = ActiveRecord::ConnectionAdapters::SQLite3Adapter unless config.key?(:adapter_class)
|
6
7
|
|
data/lib/arjdbc/version.rb
CHANGED
data/rakelib/01-tomcat.rake
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
namespace :'tomcat-jndi' do # contains a FS JNDI impl (for tests)
|
2
2
|
|
3
|
-
TOMCAT_MAVEN_REPO = '
|
3
|
+
TOMCAT_MAVEN_REPO = 'https://repo1.maven.org/maven2/org/apache/tomcat'
|
4
4
|
TOMCAT_VERSION = '7.0.54'
|
5
5
|
|
6
6
|
DOWNLOAD_DIR = File.expand_path('../test/jars', File.dirname(__FILE__))
|
@@ -48,4 +48,4 @@ namespace :'tomcat-jndi' do # contains a FS JNDI impl (for tests)
|
|
48
48
|
rm jar_path if File.exist?(jar_path)
|
49
49
|
end
|
50
50
|
|
51
|
-
end
|
51
|
+
end
|
data/rakelib/02-test.rake
CHANGED
@@ -58,7 +58,6 @@ end
|
|
58
58
|
test_task_for :Derby, :desc => 'Run tests against (embedded) DerbyDB'
|
59
59
|
test_task_for :H2, :desc => 'Run tests against H2 database engine'
|
60
60
|
test_task_for :HSQLDB, :desc => 'Run tests against HyperSQL (Java) database'
|
61
|
-
test_task_for :MSSQL, :driver => :jtds, :database_name => 'MS-SQL (SQLServer)'
|
62
61
|
test_task_for :MySQL #, :prereqs => 'db:mysql'
|
63
62
|
task :test_mysql2 => :test_mysql
|
64
63
|
test_task_for :PostgreSQL, :driver => ENV['JDBC_POSTGRES_VERSION'] || 'postgres' #, :prereqs => 'db:postgresql'
|
@@ -76,8 +75,6 @@ end
|
|
76
75
|
test_task_for adapter, :desc => "Run tests against #{adapter} (ensure driver is on class-path)"
|
77
76
|
end
|
78
77
|
|
79
|
-
#test_task_for :MSSQL, :name => 'test_sqlserver', :driver => nil, :database_name => 'MS-SQL using SQLJDBC'
|
80
|
-
|
81
78
|
test_task_for :AS400, :desc => "Run tests against AS400 (DB2) (ensure driver is on class-path)",
|
82
79
|
:files => FileList["test/db2*_test.rb"] + FileList["test/db/db2/*_test.rb"]
|
83
80
|
|
data/rakelib/rails.rake
CHANGED
@@ -51,7 +51,7 @@ namespace :rails do
|
|
51
51
|
ruby_opts_string += " -C \"#{ar_path}\""
|
52
52
|
ruby_opts_string += " -rbundler/setup"
|
53
53
|
ruby_opts_string += " -rminitest -rminitest/excludes" unless ENV['NO_EXCLUDES'].eql?('true')
|
54
|
-
file_list = ENV["TEST"] ? FileList[ ENV["TEST"] ] : test_files_finder.call
|
54
|
+
file_list = ENV["TEST"] ? FileList[ ENV["TEST"].split(',') ] : test_files_finder.call
|
55
55
|
file_list_string = file_list.map { |fn| "\"#{fn}\"" }.join(' ')
|
56
56
|
# test_loader_code = "-e \"ARGV.each{|f| require f}\"" # :direct
|
57
57
|
option_list = ( ENV["TESTOPTS"] || ENV["TESTOPT"] || ENV["TEST_OPTS"] || '' )
|