oracle_raw 0.1.4 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
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"