activerecord-oracle_enhanced-adapter 1.4.1 → 1.4.2.rc1
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 +1 -0
- data/History.md +16 -1
- data/README.md +60 -35
- data/Rakefile +14 -1
- data/VERSION +1 -1
- data/activerecord-oracle_enhanced-adapter.gemspec +2 -2
- data/lib/active_record/connection_adapters/oracle_enhanced_adapter.rb +27 -9
- data/lib/active_record/connection_adapters/oracle_enhanced_base_ext.rb +13 -1
- data/lib/active_record/connection_adapters/oracle_enhanced_column.rb +7 -2
- data/lib/active_record/connection_adapters/oracle_enhanced_context_index.rb +31 -0
- data/lib/active_record/connection_adapters/oracle_enhanced_dirty.rb +6 -1
- data/lib/active_record/connection_adapters/oracle_enhanced_jdbc_connection.rb +17 -5
- data/lib/active_record/connection_adapters/oracle_enhanced_oci_connection.rb +2 -1
- data/lib/active_record/connection_adapters/oracle_enhanced_schema_definitions.rb +29 -11
- data/lib/active_record/connection_adapters/oracle_enhanced_schema_dumper.rb +9 -4
- data/lib/active_record/connection_adapters/oracle_enhanced_schema_statements.rb +31 -7
- data/lib/active_record/connection_adapters/oracle_enhanced_structure_dump.rb +5 -1
- data/spec/active_record/connection_adapters/oracle_enhanced_adapter_spec.rb +34 -5
- data/spec/active_record/connection_adapters/oracle_enhanced_connection_spec.rb +22 -0
- data/spec/active_record/connection_adapters/oracle_enhanced_context_index_spec.rb +1 -0
- data/spec/active_record/connection_adapters/oracle_enhanced_data_types_spec.rb +52 -6
- data/spec/active_record/connection_adapters/oracle_enhanced_dirty_spec.rb +20 -0
- data/spec/active_record/connection_adapters/oracle_enhanced_procedures_spec.rb +6 -2
- data/spec/active_record/connection_adapters/oracle_enhanced_schema_dump_spec.rb +79 -21
- data/spec/active_record/connection_adapters/oracle_enhanced_schema_statements_spec.rb +203 -35
- data/spec/active_record/connection_adapters/oracle_enhanced_structure_dump_spec.rb +17 -1
- data/spec/spec_helper.rb +3 -1
- metadata +74 -51
@@ -19,7 +19,11 @@ describe "OracleEnhancedAdapter structure dump" do
|
|
19
19
|
end
|
20
20
|
class ::TestPost < ActiveRecord::Base
|
21
21
|
end
|
22
|
-
TestPost.
|
22
|
+
if TestPost.respond_to?(:table_name=)
|
23
|
+
TestPost.table_name = "test_posts"
|
24
|
+
else
|
25
|
+
TestPost.set_table_name "test_posts"
|
26
|
+
end
|
23
27
|
end
|
24
28
|
|
25
29
|
after(:each) do
|
@@ -177,6 +181,18 @@ describe "OracleEnhancedAdapter structure dump" do
|
|
177
181
|
dump.should =~ /CREATE INDEX "?IX_TEST_POSTS_FOO\"? ON "?TEST_POSTS"? \("?FOO"?\)/i
|
178
182
|
dump.should_not =~ /CREATE UNIQUE INDEX "?UK_TEST_POSTS_/i
|
179
183
|
end
|
184
|
+
|
185
|
+
it "should dump multi-value and function value indexes" do
|
186
|
+
ActiveRecord::Base.connection.add_index(:test_posts, [:foo, :foo_id], :name => :ix_test_posts_foo_foo_id)
|
187
|
+
|
188
|
+
@conn.execute <<-SQL
|
189
|
+
CREATE INDEX "IX_TEST_POSTS_FUNCTION" ON "TEST_POSTS" (TO_CHAR(LENGTH("FOO"))||"FOO")
|
190
|
+
SQL
|
191
|
+
|
192
|
+
dump = ActiveRecord::Base.connection.structure_dump
|
193
|
+
dump.should =~ /CREATE INDEX "?IX_TEST_POSTS_FOO_FOO_ID\"? ON "?TEST_POSTS"? \("?FOO"?, "?FOO_ID"?\)/i
|
194
|
+
dump.should =~ /CREATE INDEX "?IX_TEST_POSTS_FUNCTION\"? ON "?TEST_POSTS"? \(TO_CHAR\(LENGTH\("?FOO"?\)\)\|\|"?FOO"?\)/i
|
195
|
+
end
|
180
196
|
end
|
181
197
|
describe "temporary tables" do
|
182
198
|
after(:all) do
|
data/spec/spec_helper.rb
CHANGED
@@ -178,7 +178,9 @@ SYSTEM_CONNECTION_PARAMS = {
|
|
178
178
|
DATABASE_NON_DEFAULT_TABLESPACE = ENV['DATABASE_NON_DEFAULT_TABLESPACE'] || "SYSTEM"
|
179
179
|
|
180
180
|
# Set default $KCODE to UTF8
|
181
|
-
|
181
|
+
if RUBY_VERSION < "1.9"
|
182
|
+
$KCODE = "UTF8"
|
183
|
+
end
|
182
184
|
|
183
185
|
# set default time zone in TZ environment variable
|
184
186
|
# which will be used to set session time zone
|
metadata
CHANGED
@@ -1,19 +1,19 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: activerecord-oracle_enhanced-adapter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.4.
|
5
|
-
prerelease:
|
4
|
+
version: 1.4.2.rc1
|
5
|
+
prerelease: 6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Raimonds Simanovskis
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-11-13 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: jeweler
|
16
|
-
requirement:
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,15 @@ dependencies:
|
|
21
21
|
version: 1.5.1
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ~>
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 1.5.1
|
25
30
|
- !ruby/object:Gem::Dependency
|
26
31
|
name: rspec
|
27
|
-
requirement:
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
28
33
|
none: false
|
29
34
|
requirements:
|
30
35
|
- - ~>
|
@@ -32,10 +37,15 @@ dependencies:
|
|
32
37
|
version: '2.4'
|
33
38
|
type: :development
|
34
39
|
prerelease: false
|
35
|
-
version_requirements:
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ~>
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '2.4'
|
36
46
|
- !ruby/object:Gem::Dependency
|
37
|
-
name:
|
38
|
-
requirement:
|
47
|
+
name: rdoc
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
39
49
|
none: false
|
40
50
|
requirements:
|
41
51
|
- - ! '>='
|
@@ -43,76 +53,79 @@ dependencies:
|
|
43
53
|
version: '0'
|
44
54
|
type: :development
|
45
55
|
prerelease: false
|
46
|
-
version_requirements:
|
47
|
-
- !ruby/object:Gem::Dependency
|
48
|
-
name: activemodel
|
49
|
-
requirement: &2153248740 !ruby/object:Gem::Requirement
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
50
57
|
none: false
|
51
58
|
requirements:
|
52
59
|
- - ! '>='
|
53
60
|
- !ruby/object:Gem::Version
|
54
61
|
version: '0'
|
55
|
-
type: :development
|
56
|
-
prerelease: false
|
57
|
-
version_requirements: *2153248740
|
58
62
|
- !ruby/object:Gem::Dependency
|
59
|
-
name:
|
60
|
-
requirement:
|
63
|
+
name: activerecord
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
61
65
|
none: false
|
62
66
|
requirements:
|
63
|
-
- -
|
67
|
+
- - '='
|
64
68
|
- !ruby/object:Gem::Version
|
65
|
-
version:
|
69
|
+
version: 3.2.9
|
66
70
|
type: :development
|
67
71
|
prerelease: false
|
68
|
-
version_requirements:
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - '='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: 3.2.9
|
69
78
|
- !ruby/object:Gem::Dependency
|
70
79
|
name: actionpack
|
71
|
-
requirement:
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
72
81
|
none: false
|
73
82
|
requirements:
|
74
|
-
- -
|
83
|
+
- - '='
|
75
84
|
- !ruby/object:Gem::Version
|
76
|
-
version:
|
85
|
+
version: 3.2.9
|
77
86
|
type: :development
|
78
87
|
prerelease: false
|
79
|
-
version_requirements:
|
80
|
-
- !ruby/object:Gem::Dependency
|
81
|
-
name: railties
|
82
|
-
requirement: &2153241780 !ruby/object:Gem::Requirement
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
83
89
|
none: false
|
84
90
|
requirements:
|
85
|
-
- -
|
91
|
+
- - '='
|
86
92
|
- !ruby/object:Gem::Version
|
87
|
-
version:
|
88
|
-
type: :development
|
89
|
-
prerelease: false
|
90
|
-
version_requirements: *2153241780
|
93
|
+
version: 3.2.9
|
91
94
|
- !ruby/object:Gem::Dependency
|
92
|
-
name:
|
93
|
-
requirement:
|
95
|
+
name: activesupport
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
94
97
|
none: false
|
95
98
|
requirements:
|
96
|
-
- -
|
99
|
+
- - '='
|
97
100
|
- !ruby/object:Gem::Version
|
98
|
-
version:
|
101
|
+
version: 3.2.9
|
99
102
|
type: :development
|
100
103
|
prerelease: false
|
101
|
-
version_requirements:
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - '='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: 3.2.9
|
102
110
|
- !ruby/object:Gem::Dependency
|
103
|
-
name:
|
104
|
-
requirement:
|
111
|
+
name: railties
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
105
113
|
none: false
|
106
114
|
requirements:
|
107
|
-
- -
|
115
|
+
- - '='
|
108
116
|
- !ruby/object:Gem::Version
|
109
|
-
version:
|
117
|
+
version: 3.2.9
|
110
118
|
type: :development
|
111
119
|
prerelease: false
|
112
|
-
version_requirements:
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - '='
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: 3.2.9
|
113
126
|
- !ruby/object:Gem::Dependency
|
114
127
|
name: ruby-plsql
|
115
|
-
requirement:
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
116
129
|
none: false
|
117
130
|
requirements:
|
118
131
|
- - ! '>='
|
@@ -120,10 +133,15 @@ dependencies:
|
|
120
133
|
version: 0.4.4
|
121
134
|
type: :development
|
122
135
|
prerelease: false
|
123
|
-
version_requirements:
|
136
|
+
version_requirements: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
138
|
+
requirements:
|
139
|
+
- - ! '>='
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: 0.4.4
|
124
142
|
- !ruby/object:Gem::Dependency
|
125
143
|
name: ruby-oci8
|
126
|
-
requirement:
|
144
|
+
requirement: !ruby/object:Gem::Requirement
|
127
145
|
none: false
|
128
146
|
requirements:
|
129
147
|
- - ! '>='
|
@@ -131,7 +149,12 @@ dependencies:
|
|
131
149
|
version: 2.0.4
|
132
150
|
type: :development
|
133
151
|
prerelease: false
|
134
|
-
version_requirements:
|
152
|
+
version_requirements: !ruby/object:Gem::Requirement
|
153
|
+
none: false
|
154
|
+
requirements:
|
155
|
+
- - ! '>='
|
156
|
+
- !ruby/object:Gem::Version
|
157
|
+
version: 2.0.4
|
135
158
|
description: ! 'Oracle "enhanced" ActiveRecord adapter contains useful additional
|
136
159
|
methods for working with new and legacy Oracle databases.
|
137
160
|
|
@@ -203,16 +226,16 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
203
226
|
version: '0'
|
204
227
|
segments:
|
205
228
|
- 0
|
206
|
-
hash: -
|
229
|
+
hash: -4041151724223707895
|
207
230
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
208
231
|
none: false
|
209
232
|
requirements:
|
210
|
-
- - ! '
|
233
|
+
- - ! '>'
|
211
234
|
- !ruby/object:Gem::Version
|
212
|
-
version:
|
235
|
+
version: 1.3.1
|
213
236
|
requirements: []
|
214
237
|
rubyforge_project:
|
215
|
-
rubygems_version: 1.8.
|
238
|
+
rubygems_version: 1.8.24
|
216
239
|
signing_key:
|
217
240
|
specification_version: 3
|
218
241
|
summary: Oracle enhanced adapter for ActiveRecord
|