ruby-oci8 2.1.0 → 2.1.1

Sign up to get free protection for your applications and to get access to all the features.
data/lib/oci8/bindtype.rb CHANGED
@@ -4,6 +4,7 @@
4
4
  # Copyright (C) 2009-2011 KUBO Takehiro <kubo@jiubao.org>
5
5
  #++
6
6
 
7
+ #
7
8
  class OCI8
8
9
  module BindType
9
10
  Mapping = {}
@@ -4,6 +4,7 @@
4
4
  # Copyright (C) 2010 KUBO Takehiro <kubo@jiubao.org>
5
5
  #++
6
6
 
7
+ #
7
8
  class OCI8
8
9
 
9
10
  # Connection pooling is the use of a group (the pool) of reusable
@@ -2,6 +2,7 @@
2
2
  # setup default OCI encoding from NLS_LANG.
3
3
  #
4
4
 
5
+ #
5
6
  class OCI8
6
7
 
7
8
  # get the environment variable NLS_LANG.
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 BindArgumentHelper # :nodoc:
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
- # named_type
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-2010 KUBO Takehiro <kubo@jiubao.org>
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
- if mode.nil? and cred.nil? and (not dbname.is_a? OCI8::ConnectionPool)
122
- # logon by the OCI function OCILogon().
123
- logon(username, password, dbname)
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
- else
131
- attach_mode = OCI_DEFAULT
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
- # get timezone offset.
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
- def yaml_initialize(type, val) # :nodoc:
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
- def to_yaml(opts = {}) # :nodoc:
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
- def to_json(options=nil) # :nodoc:
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
- def encode_with coder # :nodoc:
747
+
748
+ # @private
749
+ def encode_with coder
711
750
  coder.scalar = self.to_s
712
751
  end
713
752
 
714
- def init_with coder # :nodoc:
753
+ # @private
754
+ def init_with coder
715
755
  initialize(coder.scalar)
716
756
  end
717
757
 
718
758
  else
719
759
 
720
- def yaml_initialize(type, val) # :nodoc:
760
+ # @private
761
+ def yaml_initialize(type, val)
721
762
  initialize(val)
722
763
  end
723
764
 
724
- def to_yaml(opts = {}) # :nodoc:
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
- def to_json(options=nil) # :nodoc:
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
@@ -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