ruby-oci8 1.0.7-x86-mswin32-60 → 2.0.1-x86-mswin32-60
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/ChangeLog +1289 -383
- data/Makefile +48 -12
- data/NEWS +5 -419
- data/README +56 -385
- data/VERSION +1 -1
- data/dist-files +27 -27
- data/lib/.document +2 -0
- data/lib/dbd/OCI8.rb +2 -17
- data/lib/oci8.rb +48 -1622
- data/lib/oci8.rb.in +48 -1622
- data/lib/oci8/.document +5 -0
- data/lib/oci8/compat.rb +108 -0
- data/lib/oci8/datetime.rb +491 -0
- data/lib/oci8/encoding-init.rb +40 -0
- data/lib/oci8/encoding.yml +537 -0
- data/lib/oci8/metadata.rb +2077 -0
- data/lib/oci8/object.rb +548 -0
- data/lib/oci8/oci8.rb +798 -0
- data/lib/oci8/oracle_version.rb +144 -0
- data/lib/oci8lib_18.so +0 -0
- data/lib/oci8lib_191.so +0 -0
- data/metaconfig +3 -3
- data/ruby-oci8.gemspec +24 -15
- data/setup.rb +4 -4
- data/test/config.rb +64 -84
- data/test/test_all.rb +14 -21
- data/test/test_array_dml.rb +333 -0
- data/test/test_bind_raw.rb +18 -25
- data/test/test_bind_time.rb +78 -91
- data/test/test_break.rb +37 -35
- data/test/test_clob.rb +33 -89
- data/test/test_connstr.rb +5 -4
- data/test/test_datetime.rb +469 -0
- data/test/test_dbi.rb +99 -60
- data/test/test_dbi_clob.rb +3 -8
- data/test/test_metadata.rb +65 -51
- data/test/test_oci8.rb +151 -55
- data/test/test_oracle_version.rb +70 -0
- data/test/test_oradate.rb +76 -83
- data/test/test_oranumber.rb +405 -71
- data/test/test_rowid.rb +6 -11
- metadata +21 -25
- data/ext/oci8/oci8lib.so +0 -0
- data/ruby-oci8.spec +0 -62
- data/support/README +0 -4
- data/support/runit/assert.rb +0 -281
- data/support/runit/cui/testrunner.rb +0 -101
- data/support/runit/error.rb +0 -4
- data/support/runit/method_mappable.rb +0 -20
- data/support/runit/robserver.rb +0 -25
- data/support/runit/setuppable.rb +0 -15
- data/support/runit/teardownable.rb +0 -16
- data/support/runit/testcase.rb +0 -113
- data/support/runit/testfailure.rb +0 -25
- data/support/runit/testresult.rb +0 -121
- data/support/runit/testsuite.rb +0 -43
- data/support/runit/version.rb +0 -3
- data/test/test_describe.rb +0 -137
data/support/runit/testsuite.rb
DELETED
@@ -1,43 +0,0 @@
|
|
1
|
-
module RUNIT
|
2
|
-
class TestSuite < Array
|
3
|
-
|
4
|
-
def initialize(*test_classes)
|
5
|
-
test_classes.each do |k|
|
6
|
-
if k.kind_of?(Array)
|
7
|
-
concat k
|
8
|
-
else
|
9
|
-
concat k.suite
|
10
|
-
end
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
def run(result)
|
15
|
-
each do |t|
|
16
|
-
t.run(result)
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
20
|
-
def count_test_cases
|
21
|
-
sum = 0
|
22
|
-
each do |test|
|
23
|
-
sum += test.count_test_cases
|
24
|
-
end
|
25
|
-
sum
|
26
|
-
end
|
27
|
-
|
28
|
-
def add(test)
|
29
|
-
if test.kind_of?(Array)
|
30
|
-
concat test
|
31
|
-
else
|
32
|
-
push test
|
33
|
-
end
|
34
|
-
end
|
35
|
-
alias add_test add
|
36
|
-
|
37
|
-
def extend_test(*mod)
|
38
|
-
each do |t|
|
39
|
-
t.extend_test(*mod)
|
40
|
-
end
|
41
|
-
end
|
42
|
-
end
|
43
|
-
end
|
data/support/runit/version.rb
DELETED
data/test/test_describe.rb
DELETED
@@ -1,137 +0,0 @@
|
|
1
|
-
# Low-level API
|
2
|
-
require 'oci8'
|
3
|
-
require 'runit/testcase'
|
4
|
-
require 'runit/cui/testrunner'
|
5
|
-
require File.dirname(__FILE__) + '/config'
|
6
|
-
|
7
|
-
class TestDescribe < RUNIT::TestCase
|
8
|
-
|
9
|
-
def setup
|
10
|
-
# initialize oracle as object mode.
|
11
|
-
# This is workaround to use OCIDescribeAny in Oracle 8.0.5 on Linux.
|
12
|
-
# This bug was fixed in 8.0.6 and 8i.
|
13
|
-
@env, @svc, @stmt = setup_lowapi()
|
14
|
-
@desc = @env.alloc(OCIDescribe)
|
15
|
-
end
|
16
|
-
|
17
|
-
def test_describe_sequence
|
18
|
-
begin
|
19
|
-
@stmt.prepare("DROP SEQUENCE test_sequence").execute(@svc)
|
20
|
-
rescue OCIError
|
21
|
-
raise if $!.code != 2289 # sequence does not exist
|
22
|
-
end
|
23
|
-
minvalue = 1
|
24
|
-
maxvalue = 1234567890123456789012345678 # bignum
|
25
|
-
incr = 777
|
26
|
-
sql = <<-EOS
|
27
|
-
CREATE SEQUENCE test_sequence
|
28
|
-
MINVALUE #{minvalue}
|
29
|
-
MAXVALUE #{maxvalue}
|
30
|
-
INCREMENT BY #{incr}
|
31
|
-
ORDER
|
32
|
-
EOS
|
33
|
-
@stmt.prepare(sql).execute(@svc)
|
34
|
-
@desc.describeAny(@svc, "test_sequence", OCI_PTYPE_SEQ)
|
35
|
-
parm = @desc.attrGet(OCI_ATTR_PARAM)
|
36
|
-
# common part
|
37
|
-
assert_equal(OCI_PTYPE_SEQ, parm.attrGet(OCI_ATTR_PTYPE))
|
38
|
-
# specific part
|
39
|
-
assert_instance_of(Fixnum, parm.attrGet(OCI_ATTR_OBJID))
|
40
|
-
assert_equal(minvalue, parm.attrGet(OCI_ATTR_MIN))
|
41
|
-
assert_equal(maxvalue, parm.attrGet(OCI_ATTR_MAX))
|
42
|
-
assert_equal(incr, parm.attrGet(OCI_ATTR_INCR))
|
43
|
-
assert_kind_of(Integer, parm.attrGet(OCI_ATTR_CACHE))
|
44
|
-
assert_equal(true, parm.attrGet(OCI_ATTR_ORDER))
|
45
|
-
assert_kind_of(Integer, parm.attrGet(OCI_ATTR_HW_MARK))
|
46
|
-
@stmt.prepare("DROP SEQUENCE test_sequence").execute(@svc)
|
47
|
-
end
|
48
|
-
|
49
|
-
def test_describe_synonym
|
50
|
-
begin
|
51
|
-
@stmt.prepare("DROP SYNONYM test_synonym").execute(@svc)
|
52
|
-
rescue OCIError
|
53
|
-
raise if $!.code != 1434 # private synonym to be dropped does not exist
|
54
|
-
end
|
55
|
-
@stmt.prepare("CREATE SYNONYM test_synonym FOR foo.bar@baz").execute(@svc)
|
56
|
-
@desc.describeAny(@svc, "test_synonym", OCI_PTYPE_SYN)
|
57
|
-
parm = @desc.attrGet(OCI_ATTR_PARAM)
|
58
|
-
# common part
|
59
|
-
assert_equal(OCI_PTYPE_SYN, parm.attrGet(OCI_ATTR_PTYPE))
|
60
|
-
# specific part
|
61
|
-
assert_instance_of(Fixnum, parm.attrGet(OCI_ATTR_OBJID))
|
62
|
-
assert_equal("FOO", parm.attrGet(OCI_ATTR_SCHEMA_NAME))
|
63
|
-
assert_equal("BAR", parm.attrGet(OCI_ATTR_NAME))
|
64
|
-
assert_equal("BAZ", parm.attrGet(OCI_ATTR_LINK))
|
65
|
-
@stmt.prepare("DROP SYNONYM test_synonym").execute(@svc)
|
66
|
-
end
|
67
|
-
|
68
|
-
def test_describe_table_and_columns
|
69
|
-
drop_table('test_table')
|
70
|
-
sql = <<-EOS
|
71
|
-
CREATE TABLE test_table
|
72
|
-
(C CHAR(10) NOT NULL,
|
73
|
-
V VARCHAR2(20),
|
74
|
-
N NUMBER(10, 2),
|
75
|
-
D DATE)
|
76
|
-
STORAGE (
|
77
|
-
INITIAL 4k
|
78
|
-
NEXT 4k
|
79
|
-
MINEXTENTS 1
|
80
|
-
MAXEXTENTS UNLIMITED
|
81
|
-
PCTINCREASE 0)
|
82
|
-
EOS
|
83
|
-
@stmt.prepare(sql).execute(@svc)
|
84
|
-
@desc.describeAny(@svc, "test_table", OCI_PTYPE_TABLE)
|
85
|
-
tab_parm = @desc.attrGet(OCI_ATTR_PARAM)
|
86
|
-
col_list = tab_parm.attrGet(OCI_ATTR_LIST_COLUMNS)
|
87
|
-
num_cols = tab_parm.attrGet(OCI_ATTR_NUM_COLS)
|
88
|
-
# common part for table
|
89
|
-
assert_equal(OCI_PTYPE_TABLE, tab_parm.attrGet(OCI_ATTR_PTYPE))
|
90
|
-
# specific part for table
|
91
|
-
assert_instance_of(Fixnum, tab_parm.attrGet(OCI_ATTR_OBJID))
|
92
|
-
assert_equal(4, num_cols)
|
93
|
-
# common part for column list
|
94
|
-
assert_equal(OCI_PTYPE_LIST, col_list.attrGet(OCI_ATTR_PTYPE))
|
95
|
-
|
96
|
-
col = Array.new(num_cols)
|
97
|
-
1.upto(num_cols) do |i|
|
98
|
-
col[i] = col_list.paramGet(i)
|
99
|
-
assert_equal(OCI_PTYPE_COL, col[1].attrGet(OCI_ATTR_PTYPE))
|
100
|
-
end
|
101
|
-
assert_equal(10, col[1].attrGet(OCI_ATTR_DATA_SIZE))
|
102
|
-
assert_equal(20, col[2].attrGet(OCI_ATTR_DATA_SIZE))
|
103
|
-
assert_equal(22, col[3].attrGet(OCI_ATTR_DATA_SIZE))
|
104
|
-
assert_equal(7, col[4].attrGet(OCI_ATTR_DATA_SIZE))
|
105
|
-
assert_equal(OCI_TYPECODE_CHAR, col[1].attrGet(OCI_ATTR_DATA_TYPE))
|
106
|
-
assert_equal(OCI_TYPECODE_VARCHAR, col[2].attrGet(OCI_ATTR_DATA_TYPE))
|
107
|
-
assert_equal(OCI_TYPECODE_NUMBER, col[3].attrGet(OCI_ATTR_DATA_TYPE))
|
108
|
-
assert_equal(OCI_TYPECODE_DATE, col[4].attrGet(OCI_ATTR_DATA_TYPE))
|
109
|
-
assert_equal("C", col[1].attrGet(OCI_ATTR_NAME))
|
110
|
-
assert_equal("V", col[2].attrGet(OCI_ATTR_NAME))
|
111
|
-
assert_equal("N", col[3].attrGet(OCI_ATTR_NAME))
|
112
|
-
assert_equal("D", col[4].attrGet(OCI_ATTR_NAME))
|
113
|
-
assert_equal(0, col[1].attrGet(OCI_ATTR_PRECISION))
|
114
|
-
assert_equal(0, col[2].attrGet(OCI_ATTR_PRECISION))
|
115
|
-
assert_equal(10, col[3].attrGet(OCI_ATTR_PRECISION))
|
116
|
-
assert_equal(0, col[4].attrGet(OCI_ATTR_PRECISION))
|
117
|
-
assert_equal(0, col[1].attrGet(OCI_ATTR_SCALE))
|
118
|
-
assert_equal(0, col[2].attrGet(OCI_ATTR_SCALE))
|
119
|
-
assert_equal(2, col[3].attrGet(OCI_ATTR_SCALE))
|
120
|
-
assert_equal(0, col[4].attrGet(OCI_ATTR_SCALE))
|
121
|
-
assert_equal(false, col[1].attrGet(OCI_ATTR_IS_NULL))
|
122
|
-
assert_equal(true, col[2].attrGet(OCI_ATTR_IS_NULL))
|
123
|
-
assert_equal(true, col[3].attrGet(OCI_ATTR_IS_NULL))
|
124
|
-
assert_equal(true, col[4].attrGet(OCI_ATTR_IS_NULL))
|
125
|
-
drop_table('test_table')
|
126
|
-
end
|
127
|
-
|
128
|
-
def teardown
|
129
|
-
@stmt.free()
|
130
|
-
@svc.logoff()
|
131
|
-
@env.free()
|
132
|
-
end
|
133
|
-
end
|
134
|
-
|
135
|
-
if $0 == __FILE__
|
136
|
-
RUNIT::CUI::TestRunner.run(TestDescribe.suite())
|
137
|
-
end
|