ruby-oci8 2.1.0-x86-mingw32 → 2.1.1-x86-mingw32
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/.yardopts +13 -0
- data/ChangeLog +104 -0
- data/NEWS +337 -235
- data/README.md +38 -0
- data/VERSION +1 -1
- data/dist-files +7 -6
- data/docs/install-binary-package.md +40 -0
- data/docs/install-full-client.md +116 -0
- data/docs/install-instant-client.md +167 -0
- data/docs/platform-specific-issues.md +209 -0
- data/docs/report-installation-issue.md +50 -0
- data/lib/oci8.rb +2 -2
- data/lib/oci8/bindtype.rb +1 -0
- data/lib/oci8/connection_pool.rb +1 -0
- data/lib/oci8/encoding-init.rb +1 -0
- data/lib/oci8/object.rb +29 -4
- data/lib/oci8/oci8.rb +75 -17
- data/lib/oci8/ocihandle.rb +192 -12
- data/lib/oci8/oracle_version.rb +47 -41
- data/lib/oci8/properties.rb +19 -0
- data/lib/oci8lib_18.map +1134 -0
- data/lib/oci8lib_18.so +0 -0
- data/lib/oci8lib_191.map +1201 -0
- data/lib/oci8lib_191.so +0 -0
- data/pre-distclean.rb +2 -2
- data/ruby-oci8.gemspec +7 -3
- data/test/config.rb +1 -6
- data/test/test_datetime.rb +70 -32
- data/test/test_oci8.rb +8 -2
- metadata +17 -14
- data/README +0 -5
- data/doc/api.en.html +0 -527
- data/doc/api.en.rd +0 -554
- data/doc/api.ja.html +0 -525
- data/doc/api.ja.rd +0 -557
- data/doc/manual.css +0 -35
@@ -0,0 +1,50 @@
|
|
1
|
+
# @title Report Installation Issues
|
2
|
+
|
3
|
+
Look at {file:docs/platform-specific-issues.md},
|
4
|
+
[the issues page on github][github] and [the ruby-oci8 help forum on rubyforge][rubyforge]
|
5
|
+
to check whether your issue is fixed or not.
|
6
|
+
|
7
|
+
If it is a new one, post the following information to [github][] or [rubyforge][].
|
8
|
+
|
9
|
+
[github]: https://github.com/kubo/ruby-oci8/issues
|
10
|
+
[rubyforge]: http://rubyforge.org/forum/forum.php?forum_id=1078
|
11
|
+
|
12
|
+
* Messages printed out to the console
|
13
|
+
|
14
|
+
* `gem_make.out` if you install a gem
|
15
|
+
|
16
|
+
* Last 100 lines of 'ext/oci8/mkmf.log'
|
17
|
+
|
18
|
+
Get them as follows.
|
19
|
+
|
20
|
+
tail -100 ext/oci8/mkmf.log
|
21
|
+
|
22
|
+
* The results of the following commands:
|
23
|
+
|
24
|
+
file `which ruby`
|
25
|
+
ruby --version
|
26
|
+
ruby -r rbconfig -e "p Config::CONFIG['host']"
|
27
|
+
ruby -r rbconfig -e "p Config::CONFIG['CC']"
|
28
|
+
ruby -r rbconfig -e "p Config::CONFIG['CFLAGS']"
|
29
|
+
ruby -r rbconfig -e "p Config::CONFIG['LDSHARED']"
|
30
|
+
ruby -r rbconfig -e "p Config::CONFIG['LDFLAGS']"
|
31
|
+
ruby -r rbconfig -e "p Config::CONFIG['DLDLAGS']"
|
32
|
+
ruby -r rbconfig -e "p Config::CONFIG['LIBS']"
|
33
|
+
ruby -r rbconfig -e "p Config::CONFIG['GNU_LD']"
|
34
|
+
|
35
|
+
# if you use gcc,
|
36
|
+
gcc --print-prog-name=ld
|
37
|
+
gcc --print-prog-name=as
|
38
|
+
|
39
|
+
# Oracle full client
|
40
|
+
file $ORACLE_HOME/bin/oracle
|
41
|
+
|
42
|
+
# Oracle Instant client. You need to change INSTANT_CLIENT_DIRECTORY.
|
43
|
+
file INSTANT_CLIENT_DIRECTORY/libclntsh.*
|
44
|
+
|
45
|
+
echo $LD_LIBRARY_PATH
|
46
|
+
echo $LIBPATH # AIX
|
47
|
+
echo $SHLIB_PATH # HP-UX PA-RISC 32-bit ruby
|
48
|
+
echo $DYLD_LIBRARY_PATH # Mac OS X
|
49
|
+
echo $LD_LIBRARY_PATH_32 # Solaris 32-bit ruby
|
50
|
+
echo $LD_LIBRARY_PATH_64 # Solaris 64-bit ruby
|
data/lib/oci8.rb
CHANGED
@@ -42,10 +42,10 @@ else
|
|
42
42
|
end
|
43
43
|
require so_basename
|
44
44
|
|
45
|
-
if OCI8::VERSION != '2.1.
|
45
|
+
if OCI8::VERSION != '2.1.1'
|
46
46
|
require 'rbconfig'
|
47
47
|
so_name = so_basename + "." + Config::CONFIG['DLEXT']
|
48
|
-
raise "VERSION MISMATCH! #{so_name} version is #{OCI8::VERSION}, but oci8.rb version is 2.1.
|
48
|
+
raise "VERSION MISMATCH! #{so_name} version is #{OCI8::VERSION}, but oci8.rb version is 2.1.1."
|
49
49
|
end
|
50
50
|
|
51
51
|
require 'oci8/encoding-init.rb'
|
data/lib/oci8/bindtype.rb
CHANGED
data/lib/oci8/connection_pool.rb
CHANGED
data/lib/oci8/encoding-init.rb
CHANGED
data/lib/oci8/object.rb
CHANGED
@@ -5,11 +5,17 @@ require 'oci8/metadata.rb'
|
|
5
5
|
|
6
6
|
class OCI8
|
7
7
|
|
8
|
+
# Returns the type descriptor object which correspond to the given class.
|
9
|
+
#
|
10
|
+
# @param [class of an OCI8::Object::Base's subclass]
|
11
|
+
# @return [OCI8::TDO]
|
12
|
+
#
|
13
|
+
# @private
|
8
14
|
def get_tdo_by_class(klass)
|
9
15
|
@id_to_tdo ||= {}
|
10
16
|
@name_to_tdo ||= {}
|
11
17
|
tdo = @name_to_tdo[klass.typename]
|
12
|
-
return tdo if tdo
|
18
|
+
return tdo if tdo # found in the cache.
|
13
19
|
|
14
20
|
metadata = describe_any(klass.typename)
|
15
21
|
if metadata.is_a? OCI8::Metadata::Synonym
|
@@ -21,6 +27,12 @@ class OCI8
|
|
21
27
|
OCI8::TDO.new(self, metadata, klass)
|
22
28
|
end
|
23
29
|
|
30
|
+
# Returns the type descriptor object which correspond to the given metadata.
|
31
|
+
#
|
32
|
+
# @param [OCI8::Metadata::Base's subclass]
|
33
|
+
# @return [OCI8::TDO]
|
34
|
+
#
|
35
|
+
# @private
|
24
36
|
def get_tdo_by_metadata(metadata)
|
25
37
|
@id_to_tdo ||= {}
|
26
38
|
@name_to_tdo ||= {}
|
@@ -59,7 +71,10 @@ EOS
|
|
59
71
|
OCI8::TDO.new(self, metadata, klass)
|
60
72
|
end
|
61
73
|
|
62
|
-
class
|
74
|
+
# A helper class to bind arguments.
|
75
|
+
#
|
76
|
+
# @private
|
77
|
+
class BindArgumentHelper
|
63
78
|
attr_reader :arg_str
|
64
79
|
def initialize(*args)
|
65
80
|
if args.length == 1 and args[0].is_a? Hash
|
@@ -102,12 +117,14 @@ EOS
|
|
102
117
|
@@name_to_class = {}
|
103
118
|
@@default_connection = nil
|
104
119
|
|
120
|
+
# @private
|
105
121
|
def self.inherited(klass)
|
106
122
|
name = klass.to_s.gsub(/^.*::/, '').gsub(/([a-z\d])([A-Z])/,'\1_\2').upcase
|
107
123
|
@@class_to_name[klass] = name
|
108
124
|
@@name_to_class[name] = klass
|
109
125
|
end
|
110
126
|
|
127
|
+
# @private
|
111
128
|
def self.get_class_by_typename(name)
|
112
129
|
@@name_to_class[name]
|
113
130
|
end
|
@@ -125,6 +142,7 @@ EOS
|
|
125
142
|
@@name_to_class[name] = self
|
126
143
|
end
|
127
144
|
|
145
|
+
# @deprecated
|
128
146
|
def self.default_connection=(con)
|
129
147
|
@@default_connection = con
|
130
148
|
end
|
@@ -158,6 +176,8 @@ EOS
|
|
158
176
|
end
|
159
177
|
|
160
178
|
# class method
|
179
|
+
|
180
|
+
# @private
|
161
181
|
def self.method_missing(method_id, *args)
|
162
182
|
if args[0].is_a? OCI8
|
163
183
|
con = args.shift
|
@@ -204,6 +224,8 @@ EOS
|
|
204
224
|
end
|
205
225
|
|
206
226
|
# instance method
|
227
|
+
|
228
|
+
# @private
|
207
229
|
def method_missing(method_id, *args)
|
208
230
|
if @attributes.is_a? Array
|
209
231
|
return @attributes if method_id == :to_ary
|
@@ -283,13 +305,14 @@ EOS
|
|
283
305
|
end # OCI8::Object::Base
|
284
306
|
end # OCI8::Object
|
285
307
|
|
308
|
+
# @private
|
286
309
|
class TDO
|
287
310
|
# full-qualified object type name.
|
288
311
|
# e.g.
|
289
312
|
# MDSYS.SDO_GEOMETRY
|
290
313
|
attr_reader :typename
|
291
314
|
|
292
|
-
#
|
315
|
+
# a subclass of OCI8::Object::Base
|
293
316
|
attr_reader :ruby_class
|
294
317
|
|
295
318
|
attr_reader :val_size
|
@@ -443,7 +466,7 @@ EOS
|
|
443
466
|
when :date
|
444
467
|
[ATTR_OCIDATE, nil, SIZE_OF_OCIDATE, 2, ALIGNMENT_OF_OCIDATE,
|
445
468
|
Proc.new do |val| datetime_to_array(val, :date) end, # set_proc
|
446
|
-
Proc.new do |val| array_to_datetime(val) end, # get_proc
|
469
|
+
Proc.new do |val| array_to_datetime(val, :local) end, # get_proc
|
447
470
|
]
|
448
471
|
when :binary_double
|
449
472
|
[ATTR_BINARY_DOUBLE, nil, SIZE_OF_DOUBLE, 2, ALIGNMENT_OF_DOUBLE]
|
@@ -495,6 +518,7 @@ EOS
|
|
495
518
|
end
|
496
519
|
end
|
497
520
|
|
521
|
+
# @private
|
498
522
|
class NamedType
|
499
523
|
def to_value
|
500
524
|
return nil if self.null?
|
@@ -528,6 +552,7 @@ EOS
|
|
528
552
|
end
|
529
553
|
end
|
530
554
|
|
555
|
+
# @private
|
531
556
|
class NamedCollection
|
532
557
|
def to_value
|
533
558
|
attr = self.attributes
|
data/lib/oci8/oci8.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# oci8.rb -- implements OCI8 and OCI8::Cursor
|
2
2
|
#
|
3
|
-
# Copyright (C) 2002-
|
3
|
+
# Copyright (C) 2002-2012 KUBO Takehiro <kubo@jiubao.org>
|
4
4
|
#
|
5
5
|
# Original Copyright is:
|
6
6
|
# Oracle module for Ruby
|
@@ -118,17 +118,38 @@ class OCI8
|
|
118
118
|
raise "unknown privilege type #{mode}"
|
119
119
|
end
|
120
120
|
|
121
|
-
|
122
|
-
|
123
|
-
|
121
|
+
stmt_cache_size = OCI8.properties[:statement_cache_size]
|
122
|
+
|
123
|
+
if mode.nil? and cred.nil?
|
124
|
+
# logon by the OCI function OCILogon2().
|
125
|
+
logon2_mode = 0
|
126
|
+
if dbname.is_a? OCI8::ConnectionPool
|
127
|
+
@pool = dbname # to prevent GC from freeing the connection pool.
|
128
|
+
dbname = dbname.send(:pool_name)
|
129
|
+
logon2_mode |= 0x0200 # OCI_LOGON2_CPOOL
|
130
|
+
end
|
131
|
+
if stmt_cache_size
|
132
|
+
# enable statement caching
|
133
|
+
logon2_mode |= 0x0004 # OCI_LOGON2_STMTCACHE
|
134
|
+
end
|
135
|
+
|
136
|
+
logon2(username, password, dbname, logon2_mode)
|
137
|
+
|
138
|
+
if stmt_cache_size
|
139
|
+
# set statement cache size
|
140
|
+
attr_set_ub4(176, stmt_cache_size) # 176: OCI_ATTR_STMTCACHESIZE
|
141
|
+
end
|
124
142
|
else
|
125
143
|
# logon by the OCI function OCISessionBegin().
|
144
|
+
attach_mode = 0
|
126
145
|
if dbname.is_a? OCI8::ConnectionPool
|
127
146
|
@pool = dbname # to prevent GC from freeing the connection pool.
|
128
|
-
attach_mode = OCI_CPOOL
|
129
147
|
dbname = dbname.send(:pool_name)
|
130
|
-
|
131
|
-
|
148
|
+
attach_mode |= 0x0200 # OCI_CPOOL
|
149
|
+
end
|
150
|
+
if stmt_cache_size
|
151
|
+
# enable statement caching
|
152
|
+
attach_mode |= 0x0004 # OCI_STMT_CACHE
|
132
153
|
end
|
133
154
|
|
134
155
|
allocate_handles()
|
@@ -136,6 +157,11 @@ class OCI8
|
|
136
157
|
session_handle.send(:attr_set_string, OCI_ATTR_PASSWORD, password) if password
|
137
158
|
server_attach(dbname, attach_mode)
|
138
159
|
session_begin(cred ? cred : OCI_CRED_RDBMS, mode ? mode : OCI_DEFAULT)
|
160
|
+
|
161
|
+
if stmt_cache_size
|
162
|
+
# set statement cache size
|
163
|
+
attr_set_ub4(176, stmt_cache_size) # 176: OCI_ATTR_STMTCACHESIZE
|
164
|
+
end
|
139
165
|
end
|
140
166
|
|
141
167
|
@prefetch_rows = nil
|
@@ -664,6 +690,8 @@ class OCI8
|
|
664
690
|
end # OCI8
|
665
691
|
|
666
692
|
class OraDate
|
693
|
+
|
694
|
+
# Returns a Time object which denotes self.
|
667
695
|
def to_time
|
668
696
|
begin
|
669
697
|
Time.local(year, month, day, hour, minute, second)
|
@@ -673,31 +701,40 @@ class OraDate
|
|
673
701
|
end
|
674
702
|
end
|
675
703
|
|
704
|
+
# Returns a Date object which denotes self.
|
676
705
|
def to_date
|
677
706
|
Date.new(year, month, day)
|
678
707
|
end
|
679
708
|
|
680
709
|
if defined? DateTime # ruby 1.8.0 or upper
|
681
710
|
|
682
|
-
#
|
711
|
+
# timezone offset of the time the command started
|
712
|
+
# @private
|
683
713
|
@@tz_offset = Time.now.utc_offset.to_r/86400
|
684
714
|
|
715
|
+
# Returns a DateTime object which denotes self.
|
716
|
+
#
|
717
|
+
# Note that this is not daylight saving time aware.
|
718
|
+
# The Time zone offset is that of the time the command started.
|
685
719
|
def to_datetime
|
686
720
|
DateTime.new(year, month, day, hour, minute, second, @@tz_offset)
|
687
721
|
end
|
688
722
|
end
|
689
723
|
|
690
|
-
|
724
|
+
# @private
|
725
|
+
def yaml_initialize(type, val)
|
691
726
|
initialize(*val.split(/[ -\/:]+/).collect do |i| i.to_i end)
|
692
727
|
end
|
693
728
|
|
694
|
-
|
729
|
+
# @private
|
730
|
+
def to_yaml(opts = {})
|
695
731
|
YAML.quick_emit(object_id, opts) do |out|
|
696
732
|
out.scalar(taguri, self.to_s, :plain)
|
697
733
|
end
|
698
734
|
end
|
699
735
|
|
700
|
-
|
736
|
+
# @private
|
737
|
+
def to_json(options=nil)
|
701
738
|
to_datetime.to_json(options)
|
702
739
|
end
|
703
740
|
end
|
@@ -707,39 +744,60 @@ class OraNumber
|
|
707
744
|
if defined? Psych and YAML == Psych
|
708
745
|
|
709
746
|
yaml_tag '!ruby/object:OraNumber'
|
710
|
-
|
747
|
+
|
748
|
+
# @private
|
749
|
+
def encode_with coder
|
711
750
|
coder.scalar = self.to_s
|
712
751
|
end
|
713
752
|
|
714
|
-
|
753
|
+
# @private
|
754
|
+
def init_with coder
|
715
755
|
initialize(coder.scalar)
|
716
756
|
end
|
717
757
|
|
718
758
|
else
|
719
759
|
|
720
|
-
|
760
|
+
# @private
|
761
|
+
def yaml_initialize(type, val)
|
721
762
|
initialize(val)
|
722
763
|
end
|
723
764
|
|
724
|
-
|
765
|
+
# @private
|
766
|
+
def to_yaml(opts = {})
|
725
767
|
YAML.quick_emit(object_id, opts) do |out|
|
726
768
|
out.scalar(taguri, self.to_s, :plain)
|
727
769
|
end
|
728
770
|
end
|
729
771
|
end
|
730
772
|
|
731
|
-
|
773
|
+
# @private
|
774
|
+
def to_json(options=nil)
|
732
775
|
to_s
|
733
776
|
end
|
734
777
|
end
|
735
778
|
|
736
779
|
class Numeric
|
780
|
+
# Converts +self+ to {OraNumber}.
|
737
781
|
def to_onum
|
738
782
|
OraNumber.new(self)
|
739
783
|
end
|
740
784
|
end
|
741
785
|
|
742
|
-
class String
|
786
|
+
class String # :nodoc:
|
787
|
+
|
788
|
+
# Converts +self+ to {OraNumber}.
|
789
|
+
# Optional <i>fmt</i> and <i>nlsparam</i> is used as
|
790
|
+
# {http://docs.oracle.com/cd/E11882_01/server.112/e17118/functions211.htm Oracle SQL function TO_NUMBER}
|
791
|
+
# does.
|
792
|
+
#
|
793
|
+
# @example
|
794
|
+
# '123456.789'.to_onum # => #<OraNumber:123456.789>
|
795
|
+
# '123,456.789'.to_onum('999,999,999.999') # => #<OraNumber:123456.789>
|
796
|
+
# '123.456,789'.to_onum('999G999G999D999', "NLS_NUMERIC_CHARACTERS = ',.'") # => #<OraNumber:123456.789>
|
797
|
+
#
|
798
|
+
# @param [String] fmt
|
799
|
+
# @param [String] nlsparam
|
800
|
+
# @return [OraNumber]
|
743
801
|
def to_onum(format = nil, nls_params = nil)
|
744
802
|
OraNumber.new(self, format, nls_params)
|
745
803
|
end
|
data/lib/oci8/ocihandle.rb
CHANGED
@@ -1,9 +1,9 @@
|
|
1
|
-
#--
|
2
1
|
# ocihandle.rb -- Constants in OCIHandle.
|
3
2
|
#
|
4
|
-
# Copyright (C) 2010 KUBO Takehiro <kubo@jiubao.org>
|
5
|
-
#++
|
3
|
+
# Copyright (C) 2010-2012 KUBO Takehiro <kubo@jiubao.org>
|
6
4
|
|
5
|
+
# The abstract base class to implement common behavior of OCI handle data types and OCI descriptor data types.
|
6
|
+
#
|
7
7
|
class OCIHandle
|
8
8
|
|
9
9
|
#################################
|
@@ -13,261 +13,393 @@ class OCIHandle
|
|
13
13
|
#################################
|
14
14
|
|
15
15
|
# maximum size of the data
|
16
|
+
# @private
|
16
17
|
OCI_ATTR_DATA_SIZE = 1
|
17
18
|
|
18
19
|
# the SQL type of the column/argument
|
20
|
+
# @private
|
19
21
|
OCI_ATTR_DATA_TYPE = 2
|
20
22
|
# the name of the column/argument
|
23
|
+
# @private
|
21
24
|
OCI_ATTR_NAME = 4
|
22
25
|
# precision if number type
|
26
|
+
# @private
|
23
27
|
OCI_ATTR_PRECISION = 5
|
24
28
|
# scale if number type
|
29
|
+
# @private
|
25
30
|
OCI_ATTR_SCALE = 6
|
26
31
|
# is it null ?
|
32
|
+
# @private
|
27
33
|
OCI_ATTR_IS_NULL = 7
|
28
34
|
# name of the named data type or a package name
|
35
|
+
# @private
|
29
36
|
OCI_ATTR_TYPE_NAME = 8
|
30
37
|
# the schema name
|
38
|
+
# @private
|
31
39
|
OCI_ATTR_SCHEMA_NAME = 9
|
32
40
|
# type name if package private type
|
41
|
+
# @private
|
33
42
|
OCI_ATTR_SUB_NAME = 10
|
34
43
|
# relative position
|
44
|
+
# @private
|
35
45
|
OCI_ATTR_POSITION = 11
|
36
46
|
# packed decimal scale
|
47
|
+
# @private
|
37
48
|
OCI_ATTR_PDSCL = 16
|
38
49
|
# fs prec for datetime data types
|
50
|
+
# @private
|
39
51
|
OCI_ATTR_FSPRECISION = OCI_ATTR_PDSCL
|
40
52
|
# packed decimal format
|
53
|
+
# @private
|
41
54
|
OCI_ATTR_PDPRC = 17
|
42
55
|
# fs prec for datetime data types
|
56
|
+
# @private
|
43
57
|
OCI_ATTR_LFPRECISION = OCI_ATTR_PDPRC
|
44
58
|
# username attribute
|
59
|
+
# @private
|
45
60
|
OCI_ATTR_USERNAME = 22
|
46
61
|
# password attribute
|
62
|
+
# @private
|
47
63
|
OCI_ATTR_PASSWORD = 23
|
48
64
|
# Character Set ID
|
65
|
+
# @private
|
49
66
|
OCI_ATTR_CHARSET_ID = 31
|
50
67
|
# Character Set Form
|
68
|
+
# @private
|
51
69
|
OCI_ATTR_CHARSET_FORM = 32
|
52
70
|
# number of columns
|
71
|
+
# @private
|
53
72
|
OCI_ATTR_NUM_COLS = 102
|
54
73
|
# parameter of the column list
|
74
|
+
# @private
|
55
75
|
OCI_ATTR_LIST_COLUMNS = 103
|
56
76
|
# DBA of the segment header
|
77
|
+
# @private
|
57
78
|
OCI_ATTR_RDBA = 104
|
58
79
|
# whether the table is clustered
|
80
|
+
# @private
|
59
81
|
OCI_ATTR_CLUSTERED = 105
|
60
82
|
# whether the table is partitioned
|
83
|
+
# @private
|
61
84
|
OCI_ATTR_PARTITIONED = 106
|
62
85
|
# whether the table is index only
|
86
|
+
# @private
|
63
87
|
OCI_ATTR_INDEX_ONLY = 107
|
64
88
|
# parameter of the argument list
|
89
|
+
# @private
|
65
90
|
OCI_ATTR_LIST_ARGUMENTS = 108
|
66
91
|
# parameter of the subprogram list
|
92
|
+
# @private
|
67
93
|
OCI_ATTR_LIST_SUBPROGRAMS = 109
|
68
94
|
# REF to the type descriptor
|
95
|
+
# @private
|
69
96
|
OCI_ATTR_REF_TDO = 110
|
70
97
|
# the database link name
|
98
|
+
# @private
|
71
99
|
OCI_ATTR_LINK = 111
|
72
100
|
# minimum value
|
101
|
+
# @private
|
73
102
|
OCI_ATTR_MIN = 112
|
74
103
|
# maximum value
|
104
|
+
# @private
|
75
105
|
OCI_ATTR_MAX = 113
|
76
106
|
# increment value
|
107
|
+
# @private
|
77
108
|
OCI_ATTR_INCR = 114
|
78
109
|
# number of sequence numbers cached
|
110
|
+
# @private
|
79
111
|
OCI_ATTR_CACHE = 115
|
80
112
|
# whether the sequence is ordered
|
113
|
+
# @private
|
81
114
|
OCI_ATTR_ORDER = 116
|
82
115
|
# high-water mark
|
116
|
+
# @private
|
83
117
|
OCI_ATTR_HW_MARK = 117
|
84
118
|
# type's schema name
|
119
|
+
# @private
|
85
120
|
OCI_ATTR_TYPE_SCHEMA = 118
|
86
121
|
# timestamp of the object
|
122
|
+
# @private
|
87
123
|
OCI_ATTR_TIMESTAMP = 119
|
88
124
|
# number of parameters
|
125
|
+
# @private
|
89
126
|
OCI_ATTR_NUM_PARAMS = 121
|
90
127
|
# object id for a table or view
|
128
|
+
# @private
|
91
129
|
OCI_ATTR_OBJID = 122
|
92
130
|
# overload ID for funcs and procs
|
131
|
+
# @private
|
93
132
|
OCI_ATTR_OVERLOAD_ID = 125
|
94
133
|
# table name space
|
134
|
+
# @private
|
95
135
|
OCI_ATTR_TABLESPACE = 126
|
96
136
|
# list type
|
137
|
+
# @private
|
97
138
|
OCI_ATTR_LTYPE = 128
|
98
139
|
# whether table is temporary
|
140
|
+
# @private
|
99
141
|
OCI_ATTR_IS_TEMPORARY = 130
|
100
142
|
# whether table is typed
|
143
|
+
# @private
|
101
144
|
OCI_ATTR_IS_TYPED = 131
|
102
145
|
# duration of temporary table
|
146
|
+
# @private
|
103
147
|
OCI_ATTR_DURATION = 132
|
104
148
|
# is invoker rights
|
149
|
+
# @private
|
105
150
|
OCI_ATTR_IS_INVOKER_RIGHTS = 133
|
106
151
|
# top level schema obj name
|
152
|
+
# @private
|
107
153
|
OCI_ATTR_OBJ_NAME = 134
|
108
154
|
# schema name
|
155
|
+
# @private
|
109
156
|
OCI_ATTR_OBJ_SCHEMA = 135
|
110
157
|
# top level schema object id
|
158
|
+
# @private
|
111
159
|
OCI_ATTR_OBJ_ID = 136
|
112
160
|
|
161
|
+
# @private
|
113
162
|
OCI_ATTR_CONN_NOWAIT = 178
|
163
|
+
# @private
|
114
164
|
OCI_ATTR_CONN_BUSY_COUNT = 179
|
165
|
+
# @private
|
115
166
|
OCI_ATTR_CONN_OPEN_COUNT = 180
|
167
|
+
# @private
|
116
168
|
OCI_ATTR_CONN_TIMEOUT = 181
|
169
|
+
# @private
|
117
170
|
OCI_ATTR_CONN_MIN = 183
|
171
|
+
# @private
|
118
172
|
OCI_ATTR_CONN_MAX = 184
|
173
|
+
# @private
|
119
174
|
OCI_ATTR_CONN_INCR = 185
|
120
175
|
|
121
176
|
# is this position overloaded
|
177
|
+
# @private
|
122
178
|
OCI_ATTR_OVERLOAD = 210
|
123
179
|
# level for structured types
|
180
|
+
# @private
|
124
181
|
OCI_ATTR_LEVEL = 211
|
125
182
|
# has a default value
|
183
|
+
# @private
|
126
184
|
OCI_ATTR_HAS_DEFAULT = 212
|
127
185
|
# in, out inout
|
186
|
+
# @private
|
128
187
|
OCI_ATTR_IOMODE = 213
|
129
188
|
# returns a radix
|
189
|
+
# @private
|
130
190
|
OCI_ATTR_RADIX = 214
|
131
191
|
# total number of arguments
|
192
|
+
# @private
|
132
193
|
OCI_ATTR_NUM_ARGS = 215
|
133
194
|
# object or collection
|
195
|
+
# @private
|
134
196
|
OCI_ATTR_TYPECODE = 216
|
135
197
|
# varray or nested table
|
198
|
+
# @private
|
136
199
|
OCI_ATTR_COLLECTION_TYPECODE = 217
|
137
200
|
# user assigned version
|
201
|
+
# @private
|
138
202
|
OCI_ATTR_VERSION = 218
|
139
203
|
# is this an incomplete type
|
204
|
+
# @private
|
140
205
|
OCI_ATTR_IS_INCOMPLETE_TYPE = 219
|
141
206
|
# a system type
|
207
|
+
# @private
|
142
208
|
OCI_ATTR_IS_SYSTEM_TYPE = 220
|
143
209
|
# a predefined type
|
210
|
+
# @private
|
144
211
|
OCI_ATTR_IS_PREDEFINED_TYPE = 221
|
145
212
|
# a transient type
|
213
|
+
# @private
|
146
214
|
OCI_ATTR_IS_TRANSIENT_TYPE = 222
|
147
215
|
# system generated type
|
216
|
+
# @private
|
148
217
|
OCI_ATTR_IS_SYSTEM_GENERATED_TYPE = 223
|
149
218
|
# contains nested table attr
|
219
|
+
# @private
|
150
220
|
OCI_ATTR_HAS_NESTED_TABLE = 224
|
151
221
|
# has a lob attribute
|
222
|
+
# @private
|
152
223
|
OCI_ATTR_HAS_LOB = 225
|
153
224
|
# has a file attribute
|
225
|
+
# @private
|
154
226
|
OCI_ATTR_HAS_FILE = 226
|
155
227
|
# has a collection attribute
|
228
|
+
# @private
|
156
229
|
OCI_ATTR_COLLECTION_ELEMENT = 227
|
157
230
|
# number of attribute types
|
231
|
+
# @private
|
158
232
|
OCI_ATTR_NUM_TYPE_ATTRS = 228
|
159
233
|
# list of type attributes
|
234
|
+
# @private
|
160
235
|
OCI_ATTR_LIST_TYPE_ATTRS = 229
|
161
236
|
# number of type methods
|
237
|
+
# @private
|
162
238
|
OCI_ATTR_NUM_TYPE_METHODS = 230
|
163
239
|
# list of type methods
|
240
|
+
# @private
|
164
241
|
OCI_ATTR_LIST_TYPE_METHODS = 231
|
165
242
|
# map method of type
|
243
|
+
# @private
|
166
244
|
OCI_ATTR_MAP_METHOD = 232
|
167
245
|
# order method of type
|
246
|
+
# @private
|
168
247
|
OCI_ATTR_ORDER_METHOD = 233
|
169
248
|
# number of elements
|
249
|
+
# @private
|
170
250
|
OCI_ATTR_NUM_ELEMS = 234
|
171
251
|
# encapsulation level
|
252
|
+
# @private
|
172
253
|
OCI_ATTR_ENCAPSULATION = 235
|
173
254
|
# method selfish
|
255
|
+
# @private
|
174
256
|
OCI_ATTR_IS_SELFISH = 236
|
175
257
|
# virtual
|
258
|
+
# @private
|
176
259
|
OCI_ATTR_IS_VIRTUAL = 237
|
177
260
|
# inline
|
261
|
+
# @private
|
178
262
|
OCI_ATTR_IS_INLINE = 238
|
179
263
|
# constant
|
264
|
+
# @private
|
180
265
|
OCI_ATTR_IS_CONSTANT = 239
|
181
266
|
# has result
|
267
|
+
# @private
|
182
268
|
OCI_ATTR_HAS_RESULT = 240
|
183
269
|
# constructor
|
270
|
+
# @private
|
184
271
|
OCI_ATTR_IS_CONSTRUCTOR = 241
|
185
272
|
# destructor
|
273
|
+
# @private
|
186
274
|
OCI_ATTR_IS_DESTRUCTOR = 242
|
187
275
|
# operator
|
276
|
+
# @private
|
188
277
|
OCI_ATTR_IS_OPERATOR = 243
|
189
278
|
# a map method
|
279
|
+
# @private
|
190
280
|
OCI_ATTR_IS_MAP = 244
|
191
281
|
# order method
|
282
|
+
# @private
|
192
283
|
OCI_ATTR_IS_ORDER = 245
|
193
284
|
# read no data state method
|
285
|
+
# @private
|
194
286
|
OCI_ATTR_IS_RNDS = 246
|
195
287
|
# read no process state
|
288
|
+
# @private
|
196
289
|
OCI_ATTR_IS_RNPS = 247
|
197
290
|
# write no data state method
|
291
|
+
# @private
|
198
292
|
OCI_ATTR_IS_WNDS = 248
|
199
293
|
# write no process state
|
294
|
+
# @private
|
200
295
|
OCI_ATTR_IS_WNPS = 249
|
296
|
+
# @private
|
201
297
|
OCI_ATTR_IS_SUBTYPE = 258
|
298
|
+
# @private
|
202
299
|
OCI_ATTR_SUPERTYPE_SCHEMA_NAME = 259
|
300
|
+
# @private
|
203
301
|
OCI_ATTR_SUPERTYPE_NAME = 260
|
204
302
|
# list of objects in schema
|
303
|
+
# @private
|
205
304
|
OCI_ATTR_LIST_OBJECTS = 261
|
206
305
|
# char set id
|
306
|
+
# @private
|
207
307
|
OCI_ATTR_NCHARSET_ID = 262
|
208
308
|
# list of schemas
|
309
|
+
# @private
|
209
310
|
OCI_ATTR_LIST_SCHEMAS = 263
|
210
311
|
# max procedure length
|
312
|
+
# @private
|
211
313
|
OCI_ATTR_MAX_PROC_LEN = 264
|
212
314
|
# max column name length
|
315
|
+
# @private
|
213
316
|
OCI_ATTR_MAX_COLUMN_LEN = 265
|
214
317
|
# cursor commit behavior
|
318
|
+
# @private
|
215
319
|
OCI_ATTR_CURSOR_COMMIT_BEHAVIOR = 266
|
216
320
|
# catalog namelength
|
321
|
+
# @private
|
217
322
|
OCI_ATTR_MAX_CATALOG_NAMELEN = 267
|
218
323
|
# catalog location
|
324
|
+
# @private
|
219
325
|
OCI_ATTR_CATALOG_LOCATION = 268
|
220
326
|
# savepoint support
|
327
|
+
# @private
|
221
328
|
OCI_ATTR_SAVEPOINT_SUPPORT = 269
|
222
329
|
# nowait support
|
330
|
+
# @private
|
223
331
|
OCI_ATTR_NOWAIT_SUPPORT = 270
|
224
332
|
# autocommit DDL
|
333
|
+
# @private
|
225
334
|
OCI_ATTR_AUTOCOMMIT_DDL = 271
|
226
335
|
# locking mode
|
336
|
+
# @private
|
227
337
|
OCI_ATTR_LOCKING_MODE = 272
|
228
338
|
# value of client id to set
|
339
|
+
# @private
|
229
340
|
OCI_ATTR_CLIENT_IDENTIFIER = 278
|
230
341
|
# is final type ?
|
342
|
+
# @private
|
231
343
|
OCI_ATTR_IS_FINAL_TYPE = 279
|
232
344
|
# is instantiable type ?
|
345
|
+
# @private
|
233
346
|
OCI_ATTR_IS_INSTANTIABLE_TYPE = 280
|
234
347
|
# is final method ?
|
348
|
+
# @private
|
235
349
|
OCI_ATTR_IS_FINAL_METHOD = 281
|
236
350
|
# is instantiable method ?
|
351
|
+
# @private
|
237
352
|
OCI_ATTR_IS_INSTANTIABLE_METHOD = 282
|
238
353
|
# is overriding method ?
|
354
|
+
# @private
|
239
355
|
OCI_ATTR_IS_OVERRIDING_METHOD = 283
|
240
356
|
# Describe the base object
|
357
|
+
# @private
|
241
358
|
OCI_ATTR_DESC_SYNBASE = 284
|
242
359
|
# char length semantics
|
360
|
+
# @private
|
243
361
|
OCI_ATTR_CHAR_USED = 285
|
244
362
|
# char length
|
363
|
+
# @private
|
245
364
|
OCI_ATTR_CHAR_SIZE = 286
|
246
365
|
# rule condition
|
366
|
+
# @private
|
247
367
|
OCI_ATTR_CONDITION = 342
|
248
368
|
# comment
|
369
|
+
# @private
|
249
370
|
OCI_ATTR_COMMENT = 343
|
250
371
|
# Anydata value
|
372
|
+
# @private
|
251
373
|
OCI_ATTR_VALUE = 344
|
252
374
|
# eval context owner
|
375
|
+
# @private
|
253
376
|
OCI_ATTR_EVAL_CONTEXT_OWNER = 345
|
254
377
|
# eval context name
|
378
|
+
# @private
|
255
379
|
OCI_ATTR_EVAL_CONTEXT_NAME = 346
|
256
380
|
# eval function name
|
381
|
+
# @private
|
257
382
|
OCI_ATTR_EVALUATION_FUNCTION = 347
|
258
383
|
# variable type
|
384
|
+
# @private
|
259
385
|
OCI_ATTR_VAR_TYPE = 348
|
260
386
|
# variable value function
|
387
|
+
# @private
|
261
388
|
OCI_ATTR_VAR_VALUE_FUNCTION = 349
|
262
389
|
# variable method function
|
390
|
+
# @private
|
263
391
|
OCI_ATTR_VAR_METHOD_FUNCTION = 350
|
264
392
|
# action context
|
393
|
+
# @private
|
265
394
|
OCI_ATTR_ACTION_CONTEXT = 351
|
266
395
|
# list of table aliases
|
396
|
+
# @private
|
267
397
|
OCI_ATTR_LIST_TABLE_ALIASES = 352
|
268
398
|
# list of variable types
|
399
|
+
# @private
|
269
400
|
OCI_ATTR_LIST_VARIABLE_TYPES = 353
|
270
401
|
# table name
|
402
|
+
# @private
|
271
403
|
OCI_ATTR_TABLE_NAME = 356
|
272
404
|
|
273
405
|
#################################
|
@@ -277,6 +409,7 @@ class OCIHandle
|
|
277
409
|
#################################
|
278
410
|
|
279
411
|
# the default value for parameters and attributes
|
412
|
+
# @private
|
280
413
|
OCI_DEFAULT = 0
|
281
414
|
|
282
415
|
#################################
|
@@ -286,8 +419,10 @@ class OCIHandle
|
|
286
419
|
#################################
|
287
420
|
|
288
421
|
# database username/password credentials
|
422
|
+
# @private
|
289
423
|
OCI_CRED_RDBMS = 1
|
290
424
|
# externally provided credentials
|
425
|
+
# @private
|
291
426
|
OCI_CRED_EXT = 2
|
292
427
|
|
293
428
|
#################################
|
@@ -297,21 +432,15 @@ class OCIHandle
|
|
297
432
|
#################################
|
298
433
|
|
299
434
|
# for SYSDBA authorization
|
435
|
+
# @private
|
300
436
|
OCI_SYSDBA = 0x0002
|
301
437
|
# for SYSOPER authorization
|
438
|
+
# @private
|
302
439
|
OCI_SYSOPER = 0x0004
|
303
440
|
# for SYSASM authorization
|
441
|
+
# @private
|
304
442
|
OCI_SYSASM = 0x8000
|
305
443
|
|
306
|
-
#################################
|
307
|
-
#
|
308
|
-
# Attach Modes
|
309
|
-
#
|
310
|
-
#################################
|
311
|
-
|
312
|
-
# Attach using server handle from pool
|
313
|
-
OCI_CPOOL = 0x0200
|
314
|
-
|
315
444
|
#################################
|
316
445
|
#
|
317
446
|
# OCI Parameter Types
|
@@ -319,54 +448,79 @@ class OCIHandle
|
|
319
448
|
#################################
|
320
449
|
|
321
450
|
# parameter type for unknown type
|
451
|
+
# @private
|
322
452
|
OCI_PTYPE_UNK = 0
|
323
453
|
# parameter type for table
|
454
|
+
# @private
|
324
455
|
OCI_PTYPE_TABLE = 1
|
325
456
|
# parameter type for view
|
457
|
+
# @private
|
326
458
|
OCI_PTYPE_VIEW = 2
|
327
459
|
# parameter type for procedure
|
460
|
+
# @private
|
328
461
|
OCI_PTYPE_PROC = 3
|
329
462
|
# parameter type for function
|
463
|
+
# @private
|
330
464
|
OCI_PTYPE_FUNC = 4
|
331
465
|
# parameter type for package
|
466
|
+
# @private
|
332
467
|
OCI_PTYPE_PKG = 5
|
333
468
|
# parameter type for user-defined type
|
469
|
+
# @private
|
334
470
|
OCI_PTYPE_TYPE = 6
|
335
471
|
# parameter type for synonym
|
472
|
+
# @private
|
336
473
|
OCI_PTYPE_SYN = 7
|
337
474
|
# parameter type for sequence
|
475
|
+
# @private
|
338
476
|
OCI_PTYPE_SEQ = 8
|
339
477
|
# parameter type for column
|
478
|
+
# @private
|
340
479
|
OCI_PTYPE_COL = 9
|
341
480
|
# parameter type for argument
|
481
|
+
# @private
|
342
482
|
OCI_PTYPE_ARG = 10
|
343
483
|
# parameter type for list
|
484
|
+
# @private
|
344
485
|
OCI_PTYPE_LIST = 11
|
345
486
|
# parameter type for user-defined type's attribute
|
487
|
+
# @private
|
346
488
|
OCI_PTYPE_TYPE_ATTR = 12
|
347
489
|
# parameter type for collection type's element
|
490
|
+
# @private
|
348
491
|
OCI_PTYPE_TYPE_COLL = 13
|
349
492
|
# parameter type for user-defined type's method
|
493
|
+
# @private
|
350
494
|
OCI_PTYPE_TYPE_METHOD = 14
|
351
495
|
# parameter type for user-defined type method's arg
|
496
|
+
# @private
|
352
497
|
OCI_PTYPE_TYPE_ARG = 15
|
353
498
|
# parameter type for user-defined type method's result
|
499
|
+
# @private
|
354
500
|
OCI_PTYPE_TYPE_RESULT = 16
|
355
501
|
# parameter type for schema
|
502
|
+
# @private
|
356
503
|
OCI_PTYPE_SCHEMA = 17
|
357
504
|
# parameter type for database
|
505
|
+
# @private
|
358
506
|
OCI_PTYPE_DATABASE = 18
|
359
507
|
# parameter type for rule
|
508
|
+
# @private
|
360
509
|
OCI_PTYPE_RULE = 19
|
361
510
|
# parameter type for rule set
|
511
|
+
# @private
|
362
512
|
OCI_PTYPE_RULE_SET = 20
|
363
513
|
# parameter type for evaluation context
|
514
|
+
# @private
|
364
515
|
OCI_PTYPE_EVALUATION_CONTEXT = 21
|
365
516
|
# parameter type for table alias
|
517
|
+
# @private
|
366
518
|
OCI_PTYPE_TABLE_ALIAS = 22
|
367
519
|
# parameter type for variable type
|
520
|
+
# @private
|
368
521
|
OCI_PTYPE_VARIABLE_TYPE = 23
|
369
522
|
# parameter type for name value pair
|
523
|
+
# @private
|
370
524
|
OCI_PTYPE_NAME_VALUE = 24
|
371
525
|
|
372
526
|
#################################
|
@@ -376,34 +530,49 @@ class OCIHandle
|
|
376
530
|
#################################
|
377
531
|
|
378
532
|
# list type for unknown type
|
533
|
+
# @private
|
379
534
|
OCI_LTYPE_UNK = 0
|
380
535
|
# list type for column list
|
536
|
+
# @private
|
381
537
|
OCI_LTYPE_COLUMN = 1
|
382
538
|
# list type for procedure argument list
|
539
|
+
# @private
|
383
540
|
OCI_LTYPE_ARG_PROC = 2
|
384
541
|
# list type for function argument list
|
542
|
+
# @private
|
385
543
|
OCI_LTYPE_ARG_FUNC = 3
|
386
544
|
# list type for subprogram list
|
545
|
+
# @private
|
387
546
|
OCI_LTYPE_SUBPRG = 4
|
388
547
|
# list type for type attribute
|
548
|
+
# @private
|
389
549
|
OCI_LTYPE_TYPE_ATTR = 5
|
390
550
|
# list type for type method
|
551
|
+
# @private
|
391
552
|
OCI_LTYPE_TYPE_METHOD = 6
|
392
553
|
# list type for type method w/o result argument list
|
554
|
+
# @private
|
393
555
|
OCI_LTYPE_TYPE_ARG_PROC = 7
|
394
556
|
# list type for type method w/result argument list
|
557
|
+
# @private
|
395
558
|
OCI_LTYPE_TYPE_ARG_FUNC = 8
|
396
559
|
# list type for schema object list
|
560
|
+
# @private
|
397
561
|
OCI_LTYPE_SCH_OBJ = 9
|
398
562
|
# list type for database schema list
|
563
|
+
# @private
|
399
564
|
OCI_LTYPE_DB_SCH = 10
|
400
565
|
# list type for subtype list
|
566
|
+
# @private
|
401
567
|
OCI_LTYPE_TYPE_SUBTYPE = 11
|
402
568
|
# list type for table alias list
|
569
|
+
# @private
|
403
570
|
OCI_LTYPE_TABLE_ALIAS = 12
|
404
571
|
# list type for variable type list
|
572
|
+
# @private
|
405
573
|
OCI_LTYPE_VARIABLE_TYPE = 13
|
406
574
|
# list type for name value list
|
575
|
+
# @private
|
407
576
|
OCI_LTYPE_NAME_VALUE = 14
|
408
577
|
|
409
578
|
#################################
|
@@ -413,15 +582,26 @@ class OCIHandle
|
|
413
582
|
#################################
|
414
583
|
|
415
584
|
#
|
585
|
+
# @private
|
416
586
|
OCI_DURATION_INVALID = 0xFFFF
|
587
|
+
# @private
|
417
588
|
OCI_DURATION_BEGIN = 10
|
589
|
+
# @private
|
418
590
|
OCI_DURATION_NULL = OCI_DURATION_BEGIN - 1
|
591
|
+
# @private
|
419
592
|
OCI_DURATION_DEFAULT = OCI_DURATION_BEGIN - 2
|
593
|
+
# @private
|
420
594
|
OCI_DURATION_USER_CALLBACK = OCI_DURATION_BEGIN - 3
|
595
|
+
# @private
|
421
596
|
OCI_DURATION_NEXT = OCI_DURATION_BEGIN - 4
|
597
|
+
# @private
|
422
598
|
OCI_DURATION_SESSION = OCI_DURATION_BEGIN
|
599
|
+
# @private
|
423
600
|
OCI_DURATION_TRANS = OCI_DURATION_BEGIN + 1
|
601
|
+
# @private
|
424
602
|
OCI_DURATION_CALL = OCI_DURATION_BEGIN + 2
|
603
|
+
# @private
|
425
604
|
OCI_DURATION_STATEMENT = OCI_DURATION_BEGIN + 3
|
605
|
+
# @private
|
426
606
|
OCI_DURATION_CALLOUT = OCI_DURATION_BEGIN + 4
|
427
607
|
end
|