ruby-plsql 0.1.0 → 0.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 +6 -0
- data/lib/plsql/procedure.rb +11 -6
- data/lib/ruby_plsql/version.rb +1 -1
- data/spec/plsql/package_spec.rb +4 -4
- data/website/index.html +1 -1
- metadata +2 -2
data/History.txt
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
== 0.1.1 2008-04-01
|
2
|
+
|
3
|
+
* Bug fixes
|
4
|
+
* Improved performance of PL/SQL procedure arguments selection in large databases
|
5
|
+
* Added schema and package names in generated PL/SQL block when calling procedures from packages
|
6
|
+
|
1
7
|
== 0.1.0 2008-03-15
|
2
8
|
|
3
9
|
* Initial release
|
data/lib/plsql/procedure.rb
CHANGED
@@ -32,12 +32,15 @@ module PLSQL
|
|
32
32
|
@arguments = {}
|
33
33
|
@return = nil
|
34
34
|
num_rows = @schema.connection.exec("
|
35
|
-
SELECT argument_name, position, data_type, in_out, data_length, data_precision, data_scale
|
36
|
-
FROM all_arguments
|
37
|
-
WHERE owner = :owner
|
38
|
-
AND object_name = :object_name
|
39
|
-
AND
|
40
|
-
|
35
|
+
SELECT a.argument_name, a.position, a.data_type, a.in_out, a.data_length, a.data_precision, a.data_scale
|
36
|
+
FROM all_arguments a, all_objects o
|
37
|
+
WHERE o.owner = :owner
|
38
|
+
AND o.object_name = :object_name
|
39
|
+
AND a.owner = o.owner
|
40
|
+
AND a.object_id = o.object_id
|
41
|
+
AND a.object_name = :procedure_name
|
42
|
+
AND NVL(a.package_name,'nil') = :package
|
43
|
+
", @schema.schema_name, @package ? @package : @procedure, @procedure, @package ? @package : 'nil'
|
41
44
|
) do |r|
|
42
45
|
argument_name, position, data_type, in_out, data_length, data_precision, data_scale = r
|
43
46
|
if argument_name
|
@@ -66,6 +69,8 @@ module PLSQL
|
|
66
69
|
def exec(*args)
|
67
70
|
sql = "BEGIN\n"
|
68
71
|
sql << ":return := " if @return
|
72
|
+
sql << "#{@schema.schema_name}." if @schema
|
73
|
+
sql << "#{@package}." if @package
|
69
74
|
sql << "#{@procedure}("
|
70
75
|
# Named arguments
|
71
76
|
args_list = []
|
data/lib/ruby_plsql/version.rb
CHANGED
data/spec/plsql/package_spec.rb
CHANGED
@@ -5,18 +5,18 @@ describe "Package" do
|
|
5
5
|
plsql.connection = conn = OCI8.new("hr","hr","xe")
|
6
6
|
plsql.connection.exec <<-EOS
|
7
7
|
CREATE OR REPLACE PACKAGE test_package IS
|
8
|
-
FUNCTION
|
8
|
+
FUNCTION test_procedure ( p_string VARCHAR2 )
|
9
9
|
RETURN VARCHAR2;
|
10
10
|
END;
|
11
11
|
EOS
|
12
12
|
plsql.connection.exec <<-EOS
|
13
13
|
CREATE OR REPLACE PACKAGE BODY test_package IS
|
14
|
-
FUNCTION
|
14
|
+
FUNCTION test_procedure ( p_string VARCHAR2 )
|
15
15
|
RETURN VARCHAR2
|
16
16
|
IS
|
17
17
|
BEGIN
|
18
18
|
RETURN UPPER(p_string);
|
19
|
-
END
|
19
|
+
END test_procedure;
|
20
20
|
END;
|
21
21
|
EOS
|
22
22
|
|
@@ -42,7 +42,7 @@ describe "Package" do
|
|
42
42
|
end
|
43
43
|
|
44
44
|
it "should execute package function and return correct value" do
|
45
|
-
plsql.test_package.
|
45
|
+
plsql.test_package.test_procedure('xxx').should == 'XXX'
|
46
46
|
end
|
47
47
|
|
48
48
|
end
|
data/website/index.html
CHANGED
@@ -33,7 +33,7 @@
|
|
33
33
|
<h1>Ruby API for PL/SQL</h1>
|
34
34
|
<div id="version" class="clickable" onclick='document.location = "http://rubyforge.org/projects/ruby-plsql"; return false'>
|
35
35
|
<p>Get Version</p>
|
36
|
-
<a href="http://rubyforge.org/projects/ruby-plsql" class="numbers">0.1.
|
36
|
+
<a href="http://rubyforge.org/projects/ruby-plsql" class="numbers">0.1.1</a>
|
37
37
|
</div>
|
38
38
|
<h1>→ ‘ruby-plsql’</h1>
|
39
39
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-plsql
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Raimonds Simanovskis
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2008-
|
12
|
+
date: 2008-04-01 00:00:00 +03:00
|
13
13
|
default_executable:
|
14
14
|
dependencies: []
|
15
15
|
|