activerecord-jdbc-adapter 1.1.0 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/History.txt +8 -0
- data/Manifest.txt +2 -1
- data/lib/activerecord-jdbc-adapter.rb +6 -4
- data/lib/arel/visitors/compat.rb +13 -0
- data/lib/arel/visitors/db2.rb +3 -1
- data/lib/arel/visitors/derby.rb +3 -1
- data/lib/arel/visitors/hsqldb.rb +3 -1
- data/lib/arel/visitors/{mssql.rb → sql_server.rb} +3 -1
- data/lib/arjdbc/jdbc/adapter.rb +1 -1
- data/lib/arjdbc/jdbc/adapter_java.jar +0 -0
- data/lib/arjdbc/mssql/adapter.rb +2 -2
- data/lib/arjdbc/postgresql/adapter.rb +11 -0
- data/lib/arjdbc/version.rb +1 -1
- metadata +6 -21
data/History.txt
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
== 1.1.1
|
2
|
+
|
3
|
+
- Arel 2.0.7 compatibility: fix bugs arising from use of Arel 2.0.7 +
|
4
|
+
ArJdbc 1.1.0.
|
5
|
+
- Gracefully handle changes to limit in Arel's AST
|
6
|
+
- Avoid conflict with Arel 2.0.7's mssql visitor
|
7
|
+
- Upgrade to PostgreSQL 9.0.801 JDBC drivers (David Kellum)
|
8
|
+
|
1
9
|
== 1.1.0 (12/09/10)
|
2
10
|
|
3
11
|
- Don't narrow platform to '-java' only: revert back to 0.9.2 where
|
data/Manifest.txt
CHANGED
@@ -25,10 +25,11 @@ lib/arel/engines/sql/compilers/h2_compiler.rb
|
|
25
25
|
lib/arel/engines/sql/compilers/hsqldb_compiler.rb
|
26
26
|
lib/arel/engines/sql/compilers/jdbc_compiler.rb
|
27
27
|
lib/arel/engines/sql/compilers/mssql_compiler.rb
|
28
|
+
lib/arel/visitors/compat.rb
|
28
29
|
lib/arel/visitors/db2.rb
|
29
30
|
lib/arel/visitors/derby.rb
|
30
31
|
lib/arel/visitors/hsqldb.rb
|
31
|
-
lib/arel/visitors/
|
32
|
+
lib/arel/visitors/sql_server.rb
|
32
33
|
lib/arjdbc/db2.rb
|
33
34
|
lib/arjdbc/derby.rb
|
34
35
|
lib/arjdbc/discover.rb
|
@@ -1,6 +1,8 @@
|
|
1
1
|
require 'arjdbc'
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
2
|
+
if ActiveRecord::VERSION::MAJOR >= 3
|
3
|
+
begin
|
4
|
+
require 'arjdbc/jdbc/railtie'
|
5
|
+
rescue LoadError
|
6
|
+
# Assume we don't have railties in this version of AR
|
7
|
+
end
|
6
8
|
end
|
data/lib/arel/visitors/db2.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'arel/visitors/compat'
|
2
|
+
|
1
3
|
module Arel
|
2
4
|
module Visitors
|
3
5
|
class DB2 < Arel::Visitors::ToSql
|
@@ -8,7 +10,7 @@ module Arel
|
|
8
10
|
end
|
9
11
|
|
10
12
|
def add_limit_offset(sql, o)
|
11
|
-
@connection.replace_limit_offset! sql, o.limit, o.offset && o.offset.value
|
13
|
+
@connection.replace_limit_offset! sql, limit_for(o.limit), o.offset && o.offset.value
|
12
14
|
end
|
13
15
|
end
|
14
16
|
end
|
data/lib/arel/visitors/derby.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'arel/visitors/compat'
|
2
|
+
|
1
3
|
module Arel
|
2
4
|
module Visitors
|
3
5
|
class Derby < Arel::Visitors::ToSql
|
@@ -5,7 +7,7 @@ module Arel
|
|
5
7
|
[
|
6
8
|
o.cores.map { |x| visit_Arel_Nodes_SelectCore x }.join,
|
7
9
|
("ORDER BY #{o.orders.map { |x| visit x }.join(', ')}" unless o.orders.empty?),
|
8
|
-
("FETCH FIRST #{o.limit} ROWS ONLY" if o.limit),
|
10
|
+
("FETCH FIRST #{limit_for(o.limit)} ROWS ONLY" if o.limit),
|
9
11
|
(visit(o.offset) if o.offset),
|
10
12
|
(visit(o.lock) if o.lock),
|
11
13
|
].compact.join ' '
|
data/lib/arel/visitors/hsqldb.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'arel/visitors/compat'
|
2
|
+
|
1
3
|
module Arel
|
2
4
|
module Visitors
|
3
5
|
class HSQLDB < Arel::Visitors::ToSql
|
@@ -12,7 +14,7 @@ module Arel
|
|
12
14
|
offset = o.offset || 0
|
13
15
|
bef = sql[7..-1]
|
14
16
|
if limit = o.limit
|
15
|
-
"SELECT LIMIT #{offset} #{limit} #{bef}"
|
17
|
+
"SELECT LIMIT #{offset} #{limit_for(limit)} #{bef}"
|
16
18
|
elsif offset > 0
|
17
19
|
"SELECT LIMIT #{offset} 0 #{bef}"
|
18
20
|
else
|
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'arel/visitors/compat'
|
2
|
+
|
1
3
|
module Arel
|
2
4
|
module Visitors
|
3
5
|
class SQLServer < Arel::Visitors::ToSql
|
@@ -26,7 +28,7 @@ module Arel
|
|
26
28
|
end
|
27
29
|
|
28
30
|
order ||= "ORDER BY #{@connection.determine_order_clause(sql)}"
|
29
|
-
replace_limit_offset!(sql, o.limit.to_i, o.offset && o.offset.value.to_i, order)
|
31
|
+
replace_limit_offset!(sql, limit_for(o.limit).to_i, o.offset && o.offset.value.to_i, order)
|
30
32
|
sql = "SELECT COUNT(*) AS count_id FROM (#{sql}) AS subquery" if subquery
|
31
33
|
elsif order
|
32
34
|
sql << " #{order}"
|
data/lib/arjdbc/jdbc/adapter.rb
CHANGED
@@ -99,7 +99,7 @@ module ActiveRecord
|
|
99
99
|
visitor = nil
|
100
100
|
arel2_visitors.each do |k,v|
|
101
101
|
visitor = v
|
102
|
-
visitors[k] = v
|
102
|
+
visitors[k] = v
|
103
103
|
end
|
104
104
|
if visitor && config[:adapter] =~ /^(jdbc|jndi)$/
|
105
105
|
visitors[config[:adapter]] = visitor
|
Binary file
|
data/lib/arjdbc/mssql/adapter.rb
CHANGED
@@ -35,9 +35,9 @@ module ::ArJdbc
|
|
35
35
|
end
|
36
36
|
|
37
37
|
def arel2_visitors
|
38
|
-
require 'arel/visitors/
|
38
|
+
require 'arel/visitors/sql_server'
|
39
39
|
visitor_class = sqlserver_version == "2000" ? ::Arel::Visitors::SQLServer2000 : ::Arel::Visitors::SQLServer
|
40
|
-
{ 'mssql' => visitor_class, 'jdbcmssql' => visitor_class}
|
40
|
+
{ 'mssql' => visitor_class, 'sqlserver' => visitor_class, 'jdbcmssql' => visitor_class}
|
41
41
|
end
|
42
42
|
|
43
43
|
def sqlserver_version
|
@@ -554,6 +554,17 @@ module ::ArJdbc
|
|
554
554
|
end
|
555
555
|
|
556
556
|
private
|
557
|
+
def translate_exception(exception, message)
|
558
|
+
case exception.message
|
559
|
+
when /duplicate key value violates unique constraint/
|
560
|
+
RecordNotUnique.new(message, exception)
|
561
|
+
when /violates foreign key constraint/
|
562
|
+
InvalidForeignKey.new(message, exception)
|
563
|
+
else
|
564
|
+
super
|
565
|
+
end
|
566
|
+
end
|
567
|
+
|
557
568
|
def extract_pg_identifier_from_name(name)
|
558
569
|
match_data = name[0,1] == '"' ? name.match(/\"([^\"]+)\"/) : name.match(/([^\.]+)/)
|
559
570
|
|
data/lib/arjdbc/version.rb
CHANGED
metadata
CHANGED
@@ -1,12 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: activerecord-jdbc-adapter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
prerelease:
|
5
|
-
|
6
|
-
- 1
|
7
|
-
- 1
|
8
|
-
- 0
|
9
|
-
version: 1.1.0
|
4
|
+
prerelease:
|
5
|
+
version: 1.1.1
|
10
6
|
platform: ruby
|
11
7
|
authors:
|
12
8
|
- Nick Sieger, Ola Bini and JRuby contributors
|
@@ -14,7 +10,7 @@ autorequire:
|
|
14
10
|
bindir: bin
|
15
11
|
cert_chain: []
|
16
12
|
|
17
|
-
date:
|
13
|
+
date: 2011-01-14 00:00:00 -06:00
|
18
14
|
default_executable:
|
19
15
|
dependencies:
|
20
16
|
- !ruby/object:Gem::Dependency
|
@@ -25,10 +21,6 @@ dependencies:
|
|
25
21
|
requirements:
|
26
22
|
- - ">="
|
27
23
|
- !ruby/object:Gem::Version
|
28
|
-
segments:
|
29
|
-
- 2
|
30
|
-
- 0
|
31
|
-
- 4
|
32
24
|
version: 2.0.4
|
33
25
|
type: :development
|
34
26
|
version_requirements: *id001
|
@@ -40,10 +32,6 @@ dependencies:
|
|
40
32
|
requirements:
|
41
33
|
- - ">="
|
42
34
|
- !ruby/object:Gem::Version
|
43
|
-
segments:
|
44
|
-
- 2
|
45
|
-
- 6
|
46
|
-
- 2
|
47
35
|
version: 2.6.2
|
48
36
|
type: :development
|
49
37
|
version_requirements: *id002
|
@@ -89,10 +77,11 @@ files:
|
|
89
77
|
- lib/arel/engines/sql/compilers/hsqldb_compiler.rb
|
90
78
|
- lib/arel/engines/sql/compilers/jdbc_compiler.rb
|
91
79
|
- lib/arel/engines/sql/compilers/mssql_compiler.rb
|
80
|
+
- lib/arel/visitors/compat.rb
|
92
81
|
- lib/arel/visitors/db2.rb
|
93
82
|
- lib/arel/visitors/derby.rb
|
94
83
|
- lib/arel/visitors/hsqldb.rb
|
95
|
-
- lib/arel/visitors/
|
84
|
+
- lib/arel/visitors/sql_server.rb
|
96
85
|
- lib/arjdbc/db2.rb
|
97
86
|
- lib/arjdbc/derby.rb
|
98
87
|
- lib/arjdbc/discover.rb
|
@@ -257,21 +246,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
257
246
|
requirements:
|
258
247
|
- - ">="
|
259
248
|
- !ruby/object:Gem::Version
|
260
|
-
segments:
|
261
|
-
- 0
|
262
249
|
version: "0"
|
263
250
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
264
251
|
none: false
|
265
252
|
requirements:
|
266
253
|
- - ">="
|
267
254
|
- !ruby/object:Gem::Version
|
268
|
-
segments:
|
269
|
-
- 0
|
270
255
|
version: "0"
|
271
256
|
requirements: []
|
272
257
|
|
273
258
|
rubyforge_project: jruby-extras
|
274
|
-
rubygems_version: 1.
|
259
|
+
rubygems_version: 1.4.2
|
275
260
|
signing_key:
|
276
261
|
specification_version: 3
|
277
262
|
summary: JDBC adapter for ActiveRecord, for use within JRuby on Rails.
|