simpleOracleJDBC 0.3.0 → 0.3.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.
- checksums.yaml +7 -0
- data/lib/simple_oracle_jdbc.rb +1 -1
- data/lib/simple_oracle_jdbc/bindings.rb +16 -3
- data/test/binding_test.rb +23 -0
- metadata +33 -50
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 8084d705b1dc701ab3b760d885990891a57f310a
|
4
|
+
data.tar.gz: 0e6307d167089c860aa493d528cfcbecede7a584
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: c35254c4993138b2b0b011c3be67418581deef20661893fe34f906253cd03d3179f8823bf50bfb3af6f55b9ad5e29ab934f83ab5acd5f4f04f1730d8efa60bcb
|
7
|
+
data.tar.gz: b62a180376d5429886d86b085a5b3946b5fff745c77a13ec24be7cb1ef5218eec3409264bdd43b50afd3c00b7ea368c0e2506c07aaa7ae9fbf9f4dbea741e189
|
data/lib/simple_oracle_jdbc.rb
CHANGED
@@ -114,7 +114,20 @@ module SimpleOracleJDBC
|
|
114
114
|
when 'RAW'
|
115
115
|
retrieve_raw(obj, i)
|
116
116
|
else
|
117
|
-
|
117
|
+
# If it is not one of the built-in tyes, it could be a user defined type
|
118
|
+
# returning either an array or record type.
|
119
|
+
type_code = obj.get_meta_data.get_column_type(i)
|
120
|
+
if Java::JavaSql::Types::ARRAY == type_code
|
121
|
+
@array ||= Array.new
|
122
|
+
@array[i] ||= OraArray.new(obj.get_meta_data.get_column_type_name(i), nil)
|
123
|
+
@array[i].retrieve_out_value(@connection, obj, i)
|
124
|
+
elsif Java::JavaSql::Types::STRUCT == type_code
|
125
|
+
@array ||= Array.new
|
126
|
+
@array[i] ||= OraRecord.new(obj.get_meta_data.get_column_type_name(i), nil)
|
127
|
+
@array[i].retrieve_out_value(@connection, obj, i)
|
128
|
+
else
|
129
|
+
raise UnknownSQLType, obj.get_meta_data.get_column_type_name(i)
|
130
|
+
end
|
118
131
|
end
|
119
132
|
end
|
120
133
|
|
@@ -157,7 +170,7 @@ module SimpleOracleJDBC
|
|
157
170
|
|
158
171
|
def bind_int(obj, v, i)
|
159
172
|
if v
|
160
|
-
obj.
|
173
|
+
obj.set_long(i, v)
|
161
174
|
else
|
162
175
|
obj.set_null(i, OracleTypes::INTEGER)
|
163
176
|
end
|
@@ -200,7 +213,7 @@ module SimpleOracleJDBC
|
|
200
213
|
end
|
201
214
|
|
202
215
|
def retrieve_int(obj, i)
|
203
|
-
v = obj.
|
216
|
+
v = obj.get_long(i)
|
204
217
|
if obj.was_null
|
205
218
|
v = nil
|
206
219
|
end
|
data/test/binding_test.rb
CHANGED
@@ -277,6 +277,29 @@ class BindingTest < Test::Unit::TestCase
|
|
277
277
|
end
|
278
278
|
end
|
279
279
|
|
280
|
+
def test_array_type_can_be_retrieved_from_result_set
|
281
|
+
sql = @interface.execute_sql("select key, cast(collect(val) as t_varchar2_tab) as vals
|
282
|
+
from (
|
283
|
+
select 1 key, 'helloo' val from dual
|
284
|
+
union all
|
285
|
+
select 1 key, 'there' val from dual
|
286
|
+
) group by key")
|
280
287
|
|
288
|
+
results = sql.all_array
|
289
|
+
assert_equal(1, results.length)
|
290
|
+
assert_equal(1.0, results[0][0])
|
291
|
+
assert_equal(Array, results[0][1].class)
|
292
|
+
assert_equal('helloo', results[0][1][0])
|
293
|
+
assert_equal('there', results[0][1][1])
|
294
|
+
end
|
295
|
+
|
296
|
+
def test_record_type_can_be_retrieved_from_result_set
|
297
|
+
sql = @interface.execute_sql("select t_record('abc', 1, 2.2, 'a', sysdate, sysdate, '0101')
|
298
|
+
from dual")
|
299
|
+
results = sql.all_array
|
300
|
+
assert_equal(1, results.length)
|
301
|
+
assert_equal(7, results[0][0].length)
|
302
|
+
assert_equal('abc', results[0][0][0])
|
303
|
+
end
|
281
304
|
|
282
305
|
end
|
metadata
CHANGED
@@ -1,82 +1,65 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: simpleOracleJDBC
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
segments:
|
6
|
-
- 0
|
7
|
-
- 3
|
8
|
-
- 0
|
9
|
-
version: 0.3.0
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.3.1
|
10
5
|
platform: ruby
|
11
|
-
authors:
|
6
|
+
authors:
|
12
7
|
- Stephen O'Donnell
|
13
8
|
autorequire:
|
14
9
|
bindir: bin
|
15
10
|
cert_chain: []
|
16
|
-
|
17
|
-
date: 2013-09-17 00:00:00 +01:00
|
18
|
-
default_executable:
|
11
|
+
date: 2014-03-03 00:00:00.000000000 Z
|
19
12
|
dependencies: []
|
20
|
-
|
21
|
-
|
13
|
+
description: A lightweight wrapper around the JDBC interface to make it easier to
|
14
|
+
make SQL and stored procedure calls.
|
22
15
|
email: stephen@betteratoracle.com
|
23
16
|
executables: []
|
24
|
-
|
25
17
|
extensions: []
|
26
|
-
|
27
|
-
extra_rdoc_files:
|
18
|
+
extra_rdoc_files:
|
28
19
|
- README.md
|
29
|
-
files:
|
20
|
+
files:
|
21
|
+
- README.md
|
22
|
+
- Rakefile.rb
|
23
|
+
- lib/simple_oracle_jdbc.rb
|
24
|
+
- lib/simple_oracle_jdbc/bindings.rb
|
25
|
+
- lib/simple_oracle_jdbc/db_call.rb
|
26
|
+
- lib/simple_oracle_jdbc/interface.rb
|
27
|
+
- lib/simple_oracle_jdbc/ora_array.rb
|
28
|
+
- lib/simple_oracle_jdbc/ora_record.rb
|
29
|
+
- lib/simple_oracle_jdbc/result_set.rb
|
30
|
+
- lib/simple_oracle_jdbc/sql.rb
|
31
|
+
- lib/simple_oracle_jdbc/type_map.rb
|
32
|
+
- test/README
|
30
33
|
- test/binding_test.rb
|
31
34
|
- test/db_call_test.rb
|
32
35
|
- test/helper.rb
|
33
36
|
- test/interface_test.rb
|
34
37
|
- test/ora_array_test.rb
|
35
38
|
- test/ora_record_test.rb
|
36
|
-
- test/README
|
37
39
|
- test/result_set_test.rb
|
38
40
|
- test/sql_test.rb
|
39
41
|
- test/test_runner.rb
|
40
|
-
- lib/simple_oracle_jdbc/bindings.rb
|
41
|
-
- lib/simple_oracle_jdbc/db_call.rb
|
42
|
-
- lib/simple_oracle_jdbc/interface.rb
|
43
|
-
- lib/simple_oracle_jdbc/ora_array.rb
|
44
|
-
- lib/simple_oracle_jdbc/ora_record.rb
|
45
|
-
- lib/simple_oracle_jdbc/result_set.rb
|
46
|
-
- lib/simple_oracle_jdbc/sql.rb
|
47
|
-
- lib/simple_oracle_jdbc/type_map.rb
|
48
|
-
- lib/simple_oracle_jdbc.rb
|
49
|
-
- Rakefile.rb
|
50
|
-
- README.md
|
51
|
-
has_rdoc: true
|
52
42
|
homepage: http://betteratoracle.com
|
53
43
|
licenses: []
|
54
|
-
|
44
|
+
metadata: {}
|
55
45
|
post_install_message:
|
56
46
|
rdoc_options: []
|
57
|
-
|
58
|
-
require_paths:
|
47
|
+
require_paths:
|
59
48
|
- lib
|
60
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
61
|
-
requirements:
|
49
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
62
51
|
- - ">="
|
63
|
-
- !ruby/object:Gem::Version
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
68
|
-
requirements:
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
54
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
55
|
+
requirements:
|
69
56
|
- - ">="
|
70
|
-
- !ruby/object:Gem::Version
|
71
|
-
|
72
|
-
- 0
|
73
|
-
version: "0"
|
57
|
+
- !ruby/object:Gem::Version
|
58
|
+
version: '0'
|
74
59
|
requirements: []
|
75
|
-
|
76
60
|
rubyforge_project:
|
77
|
-
rubygems_version:
|
61
|
+
rubygems_version: 2.2.0
|
78
62
|
signing_key:
|
79
|
-
specification_version:
|
63
|
+
specification_version: 4
|
80
64
|
summary: A gem to simplify JDBC database access to Oracle when using JRuby
|
81
65
|
test_files: []
|
82
|
-
|