dm-oracle-adapter 1.1.0 → 1.2.0.rc2
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/Gemfile +23 -12
- data/Rakefile +0 -1
- data/VERSION +1 -1
- data/dm-oracle-adapter.gemspec +19 -26
- data/lib/dm-oracle-adapter/adapter.rb +5 -8
- data/lib/dm-oracle-adapter/spec/setup.rb +7 -1
- data/spec/adapter_spec.rb +1 -1
- metadata +99 -97
data/Gemfile
CHANGED
@@ -2,28 +2,34 @@ require 'pathname'
|
|
2
2
|
|
3
3
|
source 'http://rubygems.org'
|
4
4
|
|
5
|
-
SOURCE
|
6
|
-
REPO_POSTFIX
|
7
|
-
DATAMAPPER
|
8
|
-
DM_VERSION
|
9
|
-
DO_VERSION
|
5
|
+
SOURCE = ENV.fetch('SOURCE', :git).to_sym
|
6
|
+
REPO_POSTFIX = SOURCE == :path ? '' : '.git'
|
7
|
+
DATAMAPPER = SOURCE == :path ? Pathname(__FILE__).dirname.parent : 'http://github.com/datamapper'
|
8
|
+
DM_VERSION = '~> 1.2.0.rc2'
|
9
|
+
DO_VERSION = '~> 0.10.6'
|
10
|
+
CURRENT_BRANCH = ENV.fetch('GIT_BRANCH', 'master')
|
10
11
|
|
11
12
|
do_options = {}
|
12
13
|
do_options[:git] = "#{DATAMAPPER}/do#{REPO_POSTFIX}" if ENV['DO_GIT'] == 'true'
|
13
14
|
|
14
15
|
gem 'do_oracle', DO_VERSION, do_options.dup
|
15
|
-
gem 'dm-do-adapter', DM_VERSION,
|
16
|
+
gem 'dm-do-adapter', DM_VERSION,
|
17
|
+
SOURCE => "#{DATAMAPPER}/dm-do-adapter#{REPO_POSTFIX}",
|
18
|
+
:branch => CURRENT_BRANCH
|
16
19
|
|
17
20
|
group :development do
|
18
21
|
|
19
|
-
gem 'dm-migrations', DM_VERSION,
|
20
|
-
|
21
|
-
|
22
|
-
|
22
|
+
gem 'dm-migrations', DM_VERSION,
|
23
|
+
SOURCE => "#{DATAMAPPER}/dm-migrations#{REPO_POSTFIX}",
|
24
|
+
:branch => CURRENT_BRANCH
|
25
|
+
|
26
|
+
gem 'jeweler', '~> 1.6.4'
|
27
|
+
gem 'rspec', '~> 1.3.2'
|
23
28
|
|
24
29
|
end
|
25
30
|
|
26
31
|
platforms :mri_18 do
|
32
|
+
gem 'ruby-oci8'
|
27
33
|
group :quality do
|
28
34
|
|
29
35
|
gem 'rcov', '~> 0.9.9'
|
@@ -35,14 +41,19 @@ end
|
|
35
41
|
|
36
42
|
group :datamapper do
|
37
43
|
|
38
|
-
gem 'dm-core',
|
44
|
+
gem 'dm-core', DM_VERSION,
|
45
|
+
SOURCE => "#{DATAMAPPER}/dm-core#{REPO_POSTFIX}",
|
46
|
+
:branch => CURRENT_BRANCH
|
47
|
+
|
39
48
|
gem 'data_objects', DO_VERSION, do_options.dup
|
40
49
|
|
41
50
|
plugins = ENV['PLUGINS'] || ENV['PLUGIN']
|
42
51
|
plugins = plugins.to_s.tr(',', ' ').split.push('dm-migrations').uniq
|
43
52
|
|
44
53
|
plugins.each do |plugin|
|
45
|
-
gem plugin, DM_VERSION,
|
54
|
+
gem plugin, DM_VERSION,
|
55
|
+
SOURCE => "#{DATAMAPPER}/#{plugin}#{REPO_POSTFIX}",
|
56
|
+
:branch => CURRENT_BRANCH
|
46
57
|
end
|
47
58
|
|
48
59
|
end
|
data/Rakefile
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.
|
1
|
+
1.2.0.rc2
|
data/dm-oracle-adapter.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{dm-oracle-adapter}
|
8
|
-
s.version = "1.
|
8
|
+
s.version = "1.2.0.rc2"
|
9
9
|
|
10
|
-
s.required_rubygems_version = Gem::Requirement.new("
|
10
|
+
s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Dan Kubb"]
|
12
|
-
s.date = %q{2011-
|
12
|
+
s.date = %q{2011-09-14}
|
13
13
|
s.description = %q{Oracle Adapter for DataMapper}
|
14
14
|
s.email = %q{dan.kubb@gmail.com}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -35,38 +35,31 @@ Gem::Specification.new do |s|
|
|
35
35
|
s.homepage = %q{http://github.com/datamapper/dm-oracle-adapter}
|
36
36
|
s.require_paths = ["lib"]
|
37
37
|
s.rubyforge_project = %q{datamapper}
|
38
|
-
s.rubygems_version = %q{1.
|
38
|
+
s.rubygems_version = %q{1.5.1}
|
39
39
|
s.summary = %q{Oracle Adapter for DataMapper}
|
40
|
-
s.test_files = [
|
41
|
-
"spec/adapter_spec.rb",
|
42
|
-
"spec/spec_helper.rb"
|
43
|
-
]
|
44
40
|
|
45
41
|
if s.respond_to? :specification_version then
|
46
42
|
s.specification_version = 3
|
47
43
|
|
48
44
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
49
|
-
s.add_runtime_dependency(%q<do_oracle>, ["~> 0.10.
|
50
|
-
s.add_runtime_dependency(%q<dm-do-adapter>, ["~> 1.
|
51
|
-
s.add_development_dependency(%q<dm-migrations>, ["~> 1.
|
52
|
-
s.add_development_dependency(%q<jeweler>, ["~> 1.
|
53
|
-
s.add_development_dependency(%q<
|
54
|
-
s.add_development_dependency(%q<rspec>, ["~> 1.3.1"])
|
45
|
+
s.add_runtime_dependency(%q<do_oracle>, ["~> 0.10.6"])
|
46
|
+
s.add_runtime_dependency(%q<dm-do-adapter>, ["~> 1.2.0.rc2"])
|
47
|
+
s.add_development_dependency(%q<dm-migrations>, ["~> 1.2.0.rc2"])
|
48
|
+
s.add_development_dependency(%q<jeweler>, ["~> 1.6.4"])
|
49
|
+
s.add_development_dependency(%q<rspec>, ["~> 1.3.2"])
|
55
50
|
else
|
56
|
-
s.add_dependency(%q<do_oracle>, ["~> 0.10.
|
57
|
-
s.add_dependency(%q<dm-do-adapter>, ["~> 1.
|
58
|
-
s.add_dependency(%q<dm-migrations>, ["~> 1.
|
59
|
-
s.add_dependency(%q<jeweler>, ["~> 1.
|
60
|
-
s.add_dependency(%q<
|
61
|
-
s.add_dependency(%q<rspec>, ["~> 1.3.1"])
|
51
|
+
s.add_dependency(%q<do_oracle>, ["~> 0.10.6"])
|
52
|
+
s.add_dependency(%q<dm-do-adapter>, ["~> 1.2.0.rc2"])
|
53
|
+
s.add_dependency(%q<dm-migrations>, ["~> 1.2.0.rc2"])
|
54
|
+
s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
|
55
|
+
s.add_dependency(%q<rspec>, ["~> 1.3.2"])
|
62
56
|
end
|
63
57
|
else
|
64
|
-
s.add_dependency(%q<do_oracle>, ["~> 0.10.
|
65
|
-
s.add_dependency(%q<dm-do-adapter>, ["~> 1.
|
66
|
-
s.add_dependency(%q<dm-migrations>, ["~> 1.
|
67
|
-
s.add_dependency(%q<jeweler>, ["~> 1.
|
68
|
-
s.add_dependency(%q<
|
69
|
-
s.add_dependency(%q<rspec>, ["~> 1.3.1"])
|
58
|
+
s.add_dependency(%q<do_oracle>, ["~> 0.10.6"])
|
59
|
+
s.add_dependency(%q<dm-do-adapter>, ["~> 1.2.0.rc2"])
|
60
|
+
s.add_dependency(%q<dm-migrations>, ["~> 1.2.0.rc2"])
|
61
|
+
s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
|
62
|
+
s.add_dependency(%q<rspec>, ["~> 1.3.2"])
|
70
63
|
end
|
71
64
|
end
|
72
65
|
|
@@ -3,10 +3,7 @@ require 'dm-do-adapter'
|
|
3
3
|
|
4
4
|
module DataMapper
|
5
5
|
|
6
|
-
|
7
|
-
# for custom sequence names
|
8
|
-
OPTIONS << :sequence
|
9
|
-
end
|
6
|
+
Property.accept_options(:sequence)
|
10
7
|
|
11
8
|
module Adapters
|
12
9
|
class OracleAdapter < DataObjectsAdapter
|
@@ -102,8 +99,8 @@ module DataMapper
|
|
102
99
|
|
103
100
|
# create subquery to find all valid keys and then use these keys to retrive all other columns
|
104
101
|
use_subquery = qualify
|
105
|
-
no_group_by =
|
106
|
-
no_order =
|
102
|
+
no_group_by = DataMapper::Ext.blank?(group_by)
|
103
|
+
no_order = DataMapper::Ext.blank?(order)
|
107
104
|
|
108
105
|
# when we can include ROWNUM condition in main WHERE clause
|
109
106
|
use_simple_rownum_limit = limit && (offset||0 == 0) && no_group_by && no_order
|
@@ -141,11 +138,11 @@ module DataMapper
|
|
141
138
|
end
|
142
139
|
statement << from_statement
|
143
140
|
statement << join_statement(query, bind_values, qualify) if qualify
|
144
|
-
statement << " WHERE (#{conditions_statement})" unless
|
141
|
+
statement << " WHERE (#{conditions_statement})" unless DataMapper::Ext.blank?(conditions_statement)
|
145
142
|
if use_subquery
|
146
143
|
statement << ")"
|
147
144
|
end
|
148
|
-
if use_simple_rownum_limit
|
145
|
+
if use_simple_rownum_limit && limit
|
149
146
|
statement << " AND rownum <= ?"
|
150
147
|
bind_values << limit
|
151
148
|
end
|
@@ -6,9 +6,15 @@ module DataMapper
|
|
6
6
|
module Adapters
|
7
7
|
|
8
8
|
class OracleAdapter < Adapter
|
9
|
-
|
9
|
+
|
10
|
+
def test_connection(adapter)
|
10
11
|
adapter.select('SELECT 1 FROM dual')
|
11
12
|
end
|
13
|
+
|
14
|
+
def storage_name
|
15
|
+
ENV.fetch("#{name}_storage_name", super())
|
16
|
+
end
|
17
|
+
|
12
18
|
end
|
13
19
|
|
14
20
|
use OracleAdapter
|
data/spec/adapter_spec.rb
CHANGED
@@ -55,7 +55,7 @@ describe 'DataMapper::Adapters::OracleAdapter' do
|
|
55
55
|
@repository = DataMapper.repository(@adapter.name)
|
56
56
|
|
57
57
|
# speed up test execution
|
58
|
-
@adapter.class_eval do
|
58
|
+
@adapter.class.class_eval do
|
59
59
|
auto_migrate_with :delete # table data will be deleted instead of dropping and creating table
|
60
60
|
auto_migrate_reset_sequences false # primary key sequences will not be reset
|
61
61
|
end
|
metadata
CHANGED
@@ -1,84 +1,84 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dm-oracle-adapter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
prerelease:
|
5
|
-
version: 1.
|
4
|
+
prerelease: 6
|
5
|
+
version: 1.2.0.rc2
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
|
-
- Dan Kubb
|
8
|
+
- Dan Kubb
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-
|
13
|
+
date: 2011-09-21 00:00:00 +02:00
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
|
-
- !ruby/object:Gem::Dependency
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
- !ruby/object:Gem::Dependency
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
- !ruby/object:Gem::Dependency
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
- !ruby/object:Gem::Dependency
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
- !ruby/object:Gem::Dependency
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
16
|
+
- !ruby/object:Gem::Dependency
|
17
|
+
name: do_oracle
|
18
|
+
version_requirements: &id001 !ruby/object:Gem::Requirement
|
19
|
+
none: false
|
20
|
+
requirements:
|
21
|
+
- - ~>
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: 0.10.6
|
24
|
+
requirement: *id001
|
25
|
+
prerelease: false
|
26
|
+
type: :runtime
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: dm-do-adapter
|
29
|
+
version_requirements: &id002 !ruby/object:Gem::Requirement
|
30
|
+
none: false
|
31
|
+
requirements:
|
32
|
+
- - ~>
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: 1.2.0.rc2
|
35
|
+
requirement: *id002
|
36
|
+
prerelease: false
|
37
|
+
type: :runtime
|
38
|
+
- !ruby/object:Gem::Dependency
|
39
|
+
name: ruby-oci8
|
40
|
+
version_requirements: &id003 !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ">="
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: "0"
|
46
|
+
requirement: *id003
|
47
|
+
prerelease: false
|
48
|
+
type: :runtime
|
49
|
+
- !ruby/object:Gem::Dependency
|
50
|
+
name: dm-migrations
|
51
|
+
version_requirements: &id004 !ruby/object:Gem::Requirement
|
52
|
+
none: false
|
53
|
+
requirements:
|
54
|
+
- - ~>
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: 1.2.0.rc2
|
57
|
+
requirement: *id004
|
58
|
+
prerelease: false
|
59
|
+
type: :development
|
60
|
+
- !ruby/object:Gem::Dependency
|
61
|
+
name: jeweler
|
62
|
+
version_requirements: &id005 !ruby/object:Gem::Requirement
|
63
|
+
none: false
|
64
|
+
requirements:
|
65
|
+
- - ~>
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: 1.6.4
|
68
|
+
requirement: *id005
|
69
|
+
prerelease: false
|
70
|
+
type: :development
|
71
|
+
- !ruby/object:Gem::Dependency
|
72
|
+
name: rspec
|
73
|
+
version_requirements: &id006 !ruby/object:Gem::Requirement
|
74
|
+
none: false
|
75
|
+
requirements:
|
76
|
+
- - ~>
|
77
|
+
- !ruby/object:Gem::Version
|
78
|
+
version: 1.3.2
|
79
|
+
requirement: *id006
|
80
|
+
prerelease: false
|
81
|
+
type: :development
|
82
82
|
description: Oracle Adapter for DataMapper
|
83
83
|
email: dan.kubb@gmail.com
|
84
84
|
executables: []
|
@@ -86,23 +86,23 @@ executables: []
|
|
86
86
|
extensions: []
|
87
87
|
|
88
88
|
extra_rdoc_files:
|
89
|
-
- LICENSE
|
89
|
+
- LICENSE
|
90
90
|
files:
|
91
|
-
- Gemfile
|
92
|
-
- LICENSE
|
93
|
-
- Rakefile
|
94
|
-
- VERSION
|
95
|
-
- dm-oracle-adapter.gemspec
|
96
|
-
- lib/dm-oracle-adapter.rb
|
97
|
-
- lib/dm-oracle-adapter/adapter.rb
|
98
|
-
- lib/dm-oracle-adapter/spec/setup.rb
|
99
|
-
- spec/adapter_spec.rb
|
100
|
-
- spec/rcov.opts
|
101
|
-
- spec/spec.opts
|
102
|
-
- spec/spec_helper.rb
|
103
|
-
- tasks/spec.rake
|
104
|
-
- tasks/yard.rake
|
105
|
-
- tasks/yardstick.rake
|
91
|
+
- Gemfile
|
92
|
+
- LICENSE
|
93
|
+
- Rakefile
|
94
|
+
- VERSION
|
95
|
+
- dm-oracle-adapter.gemspec
|
96
|
+
- lib/dm-oracle-adapter.rb
|
97
|
+
- lib/dm-oracle-adapter/adapter.rb
|
98
|
+
- lib/dm-oracle-adapter/spec/setup.rb
|
99
|
+
- spec/adapter_spec.rb
|
100
|
+
- spec/rcov.opts
|
101
|
+
- spec/spec.opts
|
102
|
+
- spec/spec_helper.rb
|
103
|
+
- tasks/spec.rake
|
104
|
+
- tasks/yard.rake
|
105
|
+
- tasks/yardstick.rake
|
106
106
|
has_rdoc: true
|
107
107
|
homepage: http://github.com/datamapper/dm-oracle-adapter
|
108
108
|
licenses: []
|
@@ -111,26 +111,28 @@ post_install_message:
|
|
111
111
|
rdoc_options: []
|
112
112
|
|
113
113
|
require_paths:
|
114
|
-
- lib
|
114
|
+
- lib
|
115
115
|
required_ruby_version: !ruby/object:Gem::Requirement
|
116
116
|
none: false
|
117
117
|
requirements:
|
118
|
-
|
119
|
-
|
120
|
-
|
118
|
+
- - ">="
|
119
|
+
- !ruby/object:Gem::Version
|
120
|
+
hash: 2
|
121
|
+
segments:
|
122
|
+
- 0
|
123
|
+
version: "0"
|
121
124
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
122
125
|
none: false
|
123
126
|
requirements:
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
+
- - ">"
|
128
|
+
- !ruby/object:Gem::Version
|
129
|
+
version: 1.3.1
|
127
130
|
requirements: []
|
128
131
|
|
129
132
|
rubyforge_project: datamapper
|
130
|
-
rubygems_version: 1.
|
133
|
+
rubygems_version: 1.5.1
|
131
134
|
signing_key:
|
132
135
|
specification_version: 3
|
133
136
|
summary: Oracle Adapter for DataMapper
|
134
|
-
test_files:
|
135
|
-
|
136
|
-
- spec/spec_helper.rb
|
137
|
+
test_files: []
|
138
|
+
|