oracle_raw 0.1.4 → 0.1.5

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/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.4
1
+ 0.1.5
data/lib/oracle_raw.rb CHANGED
@@ -131,7 +131,7 @@ class OracleRaw
131
131
  #
132
132
  # If an exception occurs, returns <tt>{ :exception => e }</tt>.
133
133
 
134
- def query(sqlquery, parameters = nil, options = nil)
134
+ def query(sqlquery, parameters = [], options = {})
135
135
 
136
136
  begin
137
137
  with_connection { |conn|
@@ -1,10 +1,13 @@
1
1
  require 'helper'
2
2
 
3
+ $tnsnames = '(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SID = TEST)))'
4
+ $schema = 'scott'
5
+ $password = 'tiger'
6
+
3
7
  class TestOracleRaw < Test::Unit::TestCase
4
8
 
5
9
  def connect
6
- tnsnames = '(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SID = TEST)))'
7
- OracleRaw.new(tnsnames, 'scott', 'tiger', 1, {})
10
+ OracleRaw.new($tnsnames, $schema, $password)
8
11
  end
9
12
 
10
13
  def test_sysdate
@@ -17,6 +20,7 @@ class TestOracleRaw < Test::Unit::TestCase
17
20
  result = db.query(sql, nil, {:item_format => :hash, :amount => :first_row})[:data]['SYSDATE']
18
21
  assert_equal(Time, result.class)
19
22
  result = db.query(sql, nil, {:metadata => :all})
23
+ assert_equal(result[:exception], nil)
20
24
  assert_equal(1, result[:count])
21
25
  db.close
22
26
  end
@@ -42,12 +46,15 @@ class TestOracleRaw < Test::Unit::TestCase
42
46
  }
43
47
 
44
48
  result = db.query('select count(*) count from oracle_raw_test', nil, {:metadata => :all, :item_format => :array, :amount => :single_value})
49
+ assert_equal(result[:exception], nil)
45
50
  assert(result[:count] == 1 && result[:data] == 3)
46
51
 
47
52
  result = db.query('select count(*) count from oracle_raw_test', nil, {:amount => :first_row})
53
+ assert_equal(result[:exception], nil)
48
54
  assert_equal(result[:count], 1)
49
55
 
50
56
  result = db.query('select name from oracle_raw_test where age = :age', [[:age, 30, Integer]], {:metadata => :none, :amount => :all_rows})
57
+ assert_equal(result[:exception], nil)
51
58
  assert_equal(result[:data][0]['NAME'], 'Kinnie')
52
59
  assert_equal(result[:count], nil)
53
60
 
@@ -58,8 +65,12 @@ class TestOracleRaw < Test::Unit::TestCase
58
65
  def test_max_speed_from_pool
59
66
  db = connect
60
67
  start = Time.new; num_calls = 1000
61
- num_calls.times do db.query('select 1 from dual') end
62
- puts "\nSpeed test: #{num_calls/(Time.new - start)} calls/second.\n"
68
+ num_calls.times do
69
+ result = db.query('select 1 from dual')
70
+ puts result[:exception].backtrace if result[:exception]
71
+ assert_equal(result[:exception], nil)
72
+ end
73
+ puts "\nSpeed test: pooled: #{num_calls/(Time.new - start)} calls/second.\n"
63
74
  db.close
64
75
  end
65
76
 
@@ -67,7 +78,25 @@ class TestOracleRaw < Test::Unit::TestCase
67
78
  db = connect
68
79
  start = Time.new; num_calls = 1000
69
80
  db.with_connection { |c| num_calls.times do c.exec('select 1 from dual') end }
70
- puts "\nSpeed test: #{num_calls/(Time.new - start)} calls/second.\n"
81
+ puts "\nSpeed test: single connection: #{num_calls/(Time.new - start)} calls/second.\n"
82
+ db.close
83
+ end
84
+
85
+ def test_max_speed_unpooled
86
+ start = Time.new; num_calls = 100
87
+ num_calls.times do
88
+ c = OCI8.new($schema, $password, $tnsnames)
89
+ c.exec('select 1 from dual').fetch
90
+ c.logoff
91
+ end
92
+ puts "\nSpeed test: unpooled: #{num_calls/(Time.new - start)} calls/second.\n"
93
+ end
94
+
95
+ def test_no_metadata
96
+ db = connect
97
+ result = db.query('select 1 from dual')
98
+ assert_equal(result[:exception], nil)
99
+ assert_equal(result[:count], nil)
71
100
  db.close
72
101
  end
73
102
 
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: oracle_raw
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.1.4
5
+ version: 0.1.5
6
6
  platform: ruby
7
7
  authors:
8
8
  - opiskelijarekisteri-devel
@@ -110,7 +110,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
110
110
  requirements:
111
111
  - - ">="
112
112
  - !ruby/object:Gem::Version
113
- hash: -4399863925797262531
113
+ hash: -1612676651096789768
114
114
  segments:
115
115
  - 0
116
116
  version: "0"