ruby-oci8 2.1.2 → 2.1.3
Sign up to get free protection for your applications and to get access to all the features.
- data/.yardopts +3 -0
- data/COPYING +30 -0
- data/COPYING_old +64 -0
- data/ChangeLog +115 -0
- data/Makefile +8 -4
- data/NEWS +60 -1
- data/README.md +9 -4
- data/VERSION +1 -1
- data/dist-files +5 -0
- data/ext/oci8/apiwrap.c.tmpl +5 -5
- data/ext/oci8/attr.c +1 -42
- data/ext/oci8/bind.c +5 -2
- data/ext/oci8/connection_pool.c +2 -2
- data/ext/oci8/encoding.c +18 -12
- data/ext/oci8/env.c +1 -1
- data/ext/oci8/extconf.rb +15 -12
- data/ext/oci8/lob.c +19 -2
- data/ext/oci8/oci8.c +69 -52
- data/ext/oci8/oci8.h +31 -18
- data/ext/oci8/oci8lib.c +73 -40
- data/ext/oci8/ocihandle.c +7 -2
- data/ext/oci8/ocinumber.c +5 -5
- data/ext/oci8/stmt.c +66 -368
- data/ext/oci8/thread_util.c +3 -3
- data/ext/oci8/thread_util.h +1 -1
- data/lib/oci8.rb.in +30 -17
- data/lib/oci8/connection_pool.rb +16 -27
- data/lib/oci8/cursor.rb +564 -0
- data/lib/oci8/datetime.rb +11 -17
- data/lib/oci8/encoding-init.rb +1 -0
- data/lib/oci8/metadata.rb +76 -151
- data/lib/oci8/object.rb +3 -3
- data/lib/oci8/oci8.rb +29 -335
- data/ruby-oci8.gemspec +1 -0
- data/setup.rb +4 -2
- data/test/config.rb +64 -0
- data/test/setup_test_object.sql +171 -0
- data/test/test_all.rb +1 -0
- data/test/test_break.rb +18 -2
- data/test/test_clob.rb +4 -4
- data/test/test_datetime.rb +8 -47
- data/test/test_metadata.rb +78 -0
- data/test/test_object.rb +463 -0
- data/test/test_oci8.rb +22 -0
- metadata +10 -3
data/lib/oci8/datetime.rb
CHANGED
@@ -4,24 +4,22 @@ class OCI8
|
|
4
4
|
|
5
5
|
module BindType
|
6
6
|
|
7
|
-
# call-seq:
|
8
|
-
# OCI8::BindType.default_timezone -> :local or :utc
|
9
|
-
#
|
10
7
|
# Returns the default time zone when using Oracle 8.x client.
|
11
8
|
# The value is unused when using Oracle 9i or upper client.
|
12
9
|
#
|
13
10
|
# See also: OCI8::BindType::Time
|
11
|
+
#
|
12
|
+
# @return [:local or :utc]
|
14
13
|
def self.default_timezone
|
15
14
|
OCI8::BindType::Util.default_timezone
|
16
15
|
end
|
17
16
|
|
18
|
-
# call-seq:
|
19
|
-
# OCI8::BindType.default_timezone = :local or :utc
|
20
|
-
#
|
21
17
|
# Sets the default time zone when using Oracle 8.x client.
|
22
18
|
# The value is unused when using Oracle 9i or upper client.
|
23
19
|
#
|
24
20
|
# See also: OCI8::BindType::Time
|
21
|
+
#
|
22
|
+
# @param [:local or :utc] tz
|
25
23
|
def self.default_timezone=(tz)
|
26
24
|
OCI8::BindType::Util.default_timezone = tz
|
27
25
|
end
|
@@ -204,7 +202,7 @@ class OCI8
|
|
204
202
|
usec = (nsec == 0) ? 0 : nsec.to_r / 1000
|
205
203
|
begin
|
206
204
|
if timezone
|
207
|
-
return ::Time.send(
|
205
|
+
return ::Time.send(timezone, year, month, day, hour, minute, sec, usec)
|
208
206
|
else
|
209
207
|
if tz_hour == 0 and tz_min == 0
|
210
208
|
tm = ::Time.utc(year, month, day, hour, minute, sec, usec)
|
@@ -538,22 +536,18 @@ class OCI8
|
|
538
536
|
@@fsec = @@sec / 1000000000
|
539
537
|
@@unit = :second
|
540
538
|
|
541
|
-
# call-seq:
|
542
|
-
# OCI8::BindType::IntervalDS.unit -> :second or :day
|
543
|
-
#
|
544
|
-
# (new in 2.0.3)
|
545
|
-
#
|
546
539
|
# Retrieves the unit of interval.
|
540
|
+
#
|
541
|
+
# @return [:second or :day]
|
542
|
+
# @since 2.0.3
|
547
543
|
def self.unit
|
548
544
|
@@unit
|
549
545
|
end
|
550
546
|
|
551
|
-
# call-seq:
|
552
|
-
# OCI8::BindType::IntervalDS.unit = :second or :day
|
553
|
-
#
|
554
|
-
# (new in 2.0.3)
|
555
|
-
#
|
556
547
|
# Changes the unit of interval. :second is the default.
|
548
|
+
#
|
549
|
+
# @param [:second or :day] val
|
550
|
+
# @since 2.0.3
|
557
551
|
def self.unit=(val)
|
558
552
|
case val
|
559
553
|
when :second, :day
|
data/lib/oci8/encoding-init.rb
CHANGED
data/lib/oci8/metadata.rb
CHANGED
@@ -59,30 +59,27 @@ class OCI8
|
|
59
59
|
end
|
60
60
|
private :num_params
|
61
61
|
|
62
|
-
# call-seq:
|
63
|
-
# obj_id -> integer or nil
|
64
|
-
#
|
65
62
|
# Returns the object ID, which is the same as the value of the
|
66
63
|
# OBJECT_ID column from ALL_OBJECTS. It returns +nil+
|
67
64
|
# if the database object doesn't have ID.
|
65
|
+
#
|
66
|
+
# @return [Integer or nil]
|
68
67
|
def obj_id
|
69
68
|
attr_get_ub4(OCI_ATTR_OBJ_ID)
|
70
69
|
end
|
71
70
|
|
72
|
-
# call-seq:
|
73
|
-
# obj_name -> string
|
74
|
-
#
|
75
71
|
# Retruns the object name such as table name, view name,
|
76
72
|
# procedure name, and so on.
|
73
|
+
#
|
74
|
+
# @return [String]
|
77
75
|
def obj_name
|
78
76
|
attr_get_string(OCI_ATTR_OBJ_NAME)
|
79
77
|
end
|
80
78
|
|
81
|
-
# call-seq:
|
82
|
-
# obj_schema -> string
|
83
|
-
#
|
84
79
|
# Retruns the schema name. It returns +nil+
|
85
80
|
# if the database object is not defined just under a schema.
|
81
|
+
#
|
82
|
+
# @return [String]
|
86
83
|
def obj_schema
|
87
84
|
attr_get_string(OCI_ATTR_OBJ_SCHEMA)
|
88
85
|
end
|
@@ -370,10 +367,9 @@ class OCI8
|
|
370
367
|
|
371
368
|
## Table 6-2 Attributes Belonging to Tables or Views
|
372
369
|
|
373
|
-
# call-seq:
|
374
|
-
# num_cols -> integer
|
375
|
-
#
|
376
370
|
# Returns number of columns
|
371
|
+
#
|
372
|
+
# @return [Integer]
|
377
373
|
def num_cols
|
378
374
|
attr_get_ub2(OCI_ATTR_NUM_COLS)
|
379
375
|
end
|
@@ -384,19 +380,15 @@ class OCI8
|
|
384
380
|
end
|
385
381
|
private :list_columns
|
386
382
|
|
387
|
-
# call-seq:
|
388
|
-
# type_metadata -> an OCI8::Metadata::Type or nil
|
389
|
-
#
|
390
383
|
# Retruns an instance of OCI8::Metadata::Type if the table is an
|
391
384
|
# {object table}[http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28371/adobjint.htm#sthref61].
|
392
385
|
# Otherwise, +nil+.
|
386
|
+
#
|
387
|
+
# @return [OCI8::Metadata::Type or nil]
|
393
388
|
def type_metadata
|
394
389
|
__type_metadata(OCI8::Metadata::Type) if is_typed?
|
395
390
|
end
|
396
391
|
|
397
|
-
# call-seq:
|
398
|
-
# is_temporary? -> true or false
|
399
|
-
#
|
400
392
|
# Returns +true+ if the table is a
|
401
393
|
# {temporary table}[http://download.oracle.com/docs/cd/B28359_01/server.111/b28318/schema.htm#i16096].
|
402
394
|
# Otherwise, +false+.
|
@@ -404,51 +396,42 @@ class OCI8
|
|
404
396
|
attr_get_ub1(OCI_ATTR_IS_TEMPORARY) != 0
|
405
397
|
end
|
406
398
|
|
407
|
-
# call-seq:
|
408
|
-
# is_typed? -> true or false
|
409
|
-
#
|
410
399
|
# Returns +true+ if the table is a object table. Otherwise, +false+.
|
411
400
|
def is_typed?
|
412
401
|
attr_get_ub1(OCI_ATTR_IS_TYPED) != 0
|
413
402
|
end
|
414
403
|
|
415
|
-
# call-seq:
|
416
|
-
# duration -> :transaction, :session or nil
|
417
|
-
#
|
418
404
|
# Retruns +:transaction+ if the table is a
|
419
405
|
# {transaction-specific temporary table}[http://download.oracle.com/docs/cd/B28359_01/server.111/b28286/statements_7002.htm#i2189569].
|
420
406
|
# +:session+ if it is a
|
421
407
|
# {session-specific temporary table}[http://download.oracle.com/docs/cd/B28359_01/server.111/b28286/statements_7002.htm#i2189569].
|
422
408
|
# Otherwise, +nil+.
|
409
|
+
#
|
410
|
+
# @return [:transaction, :session or nil]
|
423
411
|
def duration
|
424
412
|
__duration
|
425
413
|
end
|
426
414
|
|
427
415
|
## Table 6-3 Attributes Specific to Tables
|
428
416
|
|
429
|
-
# call-seq:
|
430
|
-
# dba -> integer
|
431
|
-
#
|
432
417
|
# Returns a Data Block Address(DBA) of the segment header.
|
433
418
|
#
|
434
419
|
# The dba is converted to the file number and the block number
|
435
420
|
# by DBMS_UTILITY.DATA_BLOCK_ADDRESS_FILE and
|
436
421
|
# DBMS_UTILITY.DATA_BLOCK_ADDRESS_BLOCK respectively.
|
422
|
+
#
|
423
|
+
# @return [Integer]
|
437
424
|
def dba
|
438
425
|
attr_get_ub4(OCI_ATTR_RDBA)
|
439
426
|
end
|
440
427
|
|
441
|
-
# call-seq:
|
442
|
-
# tablespace -> integer
|
443
|
-
#
|
444
428
|
# Returns a tablespace number the table resides in.
|
429
|
+
#
|
430
|
+
# @return [Integer]
|
445
431
|
def tablespace
|
446
432
|
__word(OCI_ATTR_TABLESPACE)
|
447
433
|
end
|
448
434
|
|
449
|
-
# call-seq:
|
450
|
-
# clustered? -> true or false
|
451
|
-
#
|
452
435
|
# Returns +true+ if the table is part of a
|
453
436
|
# cluster[http://download.oracle.com/docs/cd/B28359_01/server.111/b28318/schema.htm#CNCPT608].
|
454
437
|
# Otherwise, +false+.
|
@@ -456,9 +439,6 @@ class OCI8
|
|
456
439
|
attr_get_ub1(OCI_ATTR_CLUSTERED) != 0
|
457
440
|
end
|
458
441
|
|
459
|
-
# call-seq:
|
460
|
-
# partitioned? -> true or false
|
461
|
-
#
|
462
442
|
# Returns +true+ if the table is a
|
463
443
|
# {partitioned table}[http://download.oracle.com/docs/cd/B28359_01/server.111/b28318/partconc.htm#i449863].
|
464
444
|
# Otherwise, +false+.
|
@@ -466,9 +446,6 @@ class OCI8
|
|
466
446
|
attr_get_ub1(OCI_ATTR_PARTITIONED) != 0
|
467
447
|
end
|
468
448
|
|
469
|
-
# call-seq:
|
470
|
-
# index_only? -> true or false
|
471
|
-
#
|
472
449
|
# Returns +true+ if the table is an
|
473
450
|
# {index-organized table}[http://download.oracle.com/docs/cd/B28359_01/server.111/b28318/schema.htm#i23877]
|
474
451
|
# Otherwise, +false+.
|
@@ -476,10 +453,9 @@ class OCI8
|
|
476
453
|
attr_get_ub1(OCI_ATTR_INDEX_ONLY) != 0
|
477
454
|
end
|
478
455
|
|
479
|
-
#
|
480
|
-
# columns -> list of column information
|
456
|
+
# Returns column information of the table.
|
481
457
|
#
|
482
|
-
#
|
458
|
+
# @return [array of OCI8::Metadata::Column]
|
483
459
|
def columns
|
484
460
|
@columns ||= list_columns.to_a
|
485
461
|
end
|
@@ -502,10 +478,9 @@ class OCI8
|
|
502
478
|
|
503
479
|
## Table 6-2 Attributes Belonging to Tables or Views
|
504
480
|
|
505
|
-
# call-seq:
|
506
|
-
# num_cols -> integer
|
507
|
-
#
|
508
481
|
# Returns number of columns
|
482
|
+
#
|
483
|
+
# @return [Integer]
|
509
484
|
def num_cols
|
510
485
|
attr_get_ub2(OCI_ATTR_NUM_COLS)
|
511
486
|
end
|
@@ -536,10 +511,9 @@ class OCI8
|
|
536
511
|
# __duration
|
537
512
|
#end
|
538
513
|
|
539
|
-
#
|
540
|
-
# columns -> list of column information
|
514
|
+
# Returns column information of the view.
|
541
515
|
#
|
542
|
-
#
|
516
|
+
# @return [array of OCI8::Metadata::Column]
|
543
517
|
def columns
|
544
518
|
@columns ||= list_columns.to_a
|
545
519
|
end
|
@@ -574,9 +548,6 @@ class OCI8
|
|
574
548
|
super if is_standalone?
|
575
549
|
end
|
576
550
|
|
577
|
-
# call-seq:
|
578
|
-
# is_invoker_rights? -> true or false
|
579
|
-
#
|
580
551
|
# Returns +true+ if the subprogram has
|
581
552
|
# {invoker's rights}[http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28370/subprograms.htm#i18574].
|
582
553
|
# Otherwise, +false+.
|
@@ -593,29 +564,24 @@ class OCI8
|
|
593
564
|
#end
|
594
565
|
alias name obj_name # :nodoc: for backward compatibility
|
595
566
|
|
596
|
-
# call-seq:
|
597
|
-
# overload_id -> integer or nil
|
598
|
-
#
|
599
567
|
# Returns +nil+ for a standalone stored subprogram,
|
600
568
|
# positive integer for a
|
601
569
|
# {overloaded packaged subprogram}[http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28370/subprograms.htm#i12352].
|
602
570
|
# , otherwise zero.
|
571
|
+
#
|
572
|
+
# @return [Integer or nil]
|
603
573
|
def overload_id
|
604
574
|
attr_get_ub2(OCI_ATTR_OVERLOAD_ID) unless is_standalone?
|
605
575
|
end
|
606
576
|
|
607
|
-
#
|
608
|
-
# arguments -> list of argument information
|
609
|
-
#
|
610
|
-
# Returns an array of OCI8::Metadata::Argument of the subprogram.
|
577
|
+
# Returns argument information of the subprogram.
|
611
578
|
# If it is a function, the first array element is information of its return type.
|
579
|
+
#
|
580
|
+
# @return [array of OCI8::Metadata::Argument]
|
612
581
|
def arguments
|
613
582
|
@arguments ||= list_arguments.to_a
|
614
583
|
end
|
615
584
|
|
616
|
-
# call-seq:
|
617
|
-
# is_standalone? -> true or false
|
618
|
-
#
|
619
585
|
# Returns +true+ if the subprogram is standalone, +false+
|
620
586
|
# if packaged.
|
621
587
|
def is_standalone?
|
@@ -674,9 +640,6 @@ class OCI8
|
|
674
640
|
end
|
675
641
|
private :list_subprograms
|
676
642
|
|
677
|
-
# call-seq:
|
678
|
-
# is_invoker_rights? -> true or false
|
679
|
-
#
|
680
643
|
# Returns +true+ if the package subprograms have
|
681
644
|
# {invoker's rights}[http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28370/subprograms.htm#i18574].
|
682
645
|
# Otherwise, +false+.
|
@@ -684,10 +647,9 @@ class OCI8
|
|
684
647
|
attr_get_ub1(OCI_ATTR_IS_INVOKER_RIGHTS) != 0
|
685
648
|
end
|
686
649
|
|
687
|
-
# call-seq:
|
688
|
-
# subprograms -> array
|
689
|
-
#
|
690
650
|
# Returns an array of Function and Procedure defined within the Package.
|
651
|
+
#
|
652
|
+
# @return [array of OCI8::Metadata::Function and OCI8::Metadata::Procedure]
|
691
653
|
def subprograms
|
692
654
|
@subprograms ||= list_subprograms.to_a.each do |prog|
|
693
655
|
prog.instance_variable_set(:@is_standalone, false)
|
@@ -712,27 +674,22 @@ class OCI8
|
|
712
674
|
self
|
713
675
|
end
|
714
676
|
|
715
|
-
# call-seq:
|
716
|
-
# typecode -> :named_type or :named_collection
|
717
|
-
#
|
718
677
|
# Returns +:named_type+ if the type is an object type,
|
719
678
|
# +:named_collection+ if it is a nested table or a varray.
|
679
|
+
#
|
680
|
+
# @return [:named_type or :named_collection]
|
720
681
|
def typecode
|
721
682
|
__typecode(OCI_ATTR_TYPECODE)
|
722
683
|
end
|
723
684
|
|
724
|
-
# call-seq:
|
725
|
-
# collection_typecode -> :table, :varray or nil
|
726
|
-
#
|
727
685
|
# Returns +:table+ if the type is a nested table,
|
728
686
|
# +:varray+ if it is a varray. Otherwise, +nil+.
|
687
|
+
#
|
688
|
+
# @return [:table, :varray or nil]
|
729
689
|
def collection_typecode
|
730
690
|
__typecode(OCI_ATTR_COLLECTION_TYPECODE) if typecode == :named_collection
|
731
691
|
end
|
732
692
|
|
733
|
-
# call-seq:
|
734
|
-
# is_incomplete_type? -> boolean
|
735
|
-
#
|
736
693
|
# Returns +true+ if the type is an
|
737
694
|
# {incomplete type}[http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28371/adobjmng.htm#i1003083],
|
738
695
|
# which is used for {forward declaration}[http://en.wikipedia.org/wiki/Forward_declaration].
|
@@ -741,9 +698,6 @@ class OCI8
|
|
741
698
|
attr_get_ub1(OCI_ATTR_IS_INCOMPLETE_TYPE) != 0
|
742
699
|
end
|
743
700
|
|
744
|
-
# call-seq:
|
745
|
-
# is_system_type? -> boolean
|
746
|
-
#
|
747
701
|
# Always returns +false+ because there is no way to create
|
748
702
|
# a type metadata object for a system type such as +NUMBER+,
|
749
703
|
# +CHAR+ and +VARCHAR+.
|
@@ -751,9 +705,6 @@ class OCI8
|
|
751
705
|
attr_get_ub1(OCI_ATTR_IS_SYSTEM_TYPE) != 0
|
752
706
|
end
|
753
707
|
|
754
|
-
# call-seq:
|
755
|
-
# is_predefined_type? -> boolean
|
756
|
-
#
|
757
708
|
# Always returns +false+.
|
758
709
|
#--
|
759
710
|
# I don't know the definition of predefined type...
|
@@ -761,9 +712,6 @@ class OCI8
|
|
761
712
|
attr_get_ub1(OCI_ATTR_IS_PREDEFINED_TYPE) != 0
|
762
713
|
end
|
763
714
|
|
764
|
-
# call-seq:
|
765
|
-
# is_transient_type? -> boolean
|
766
|
-
#
|
767
715
|
# Always returns +false+ because there is no way to create
|
768
716
|
# a type metadata object for a transient type, which is a type
|
769
717
|
# dynamically created by C API.
|
@@ -771,9 +719,6 @@ class OCI8
|
|
771
719
|
attr_get_ub1(OCI_ATTR_IS_TRANSIENT_TYPE) != 0
|
772
720
|
end
|
773
721
|
|
774
|
-
# call-seq:
|
775
|
-
# is_predefined_type? -> boolean
|
776
|
-
#
|
777
722
|
# Always returns +false+.
|
778
723
|
#--
|
779
724
|
# I don't know the definition of system generated type.
|
@@ -782,9 +727,6 @@ class OCI8
|
|
782
727
|
attr_get_ub1(OCI_ATTR_IS_SYSTEM_GENERATED_TYPE) != 0
|
783
728
|
end
|
784
729
|
|
785
|
-
# call-seq:
|
786
|
-
# has_nested_table? -> boolean
|
787
|
-
#
|
788
730
|
# Returns +true+ if the type is a nested table or
|
789
731
|
# has a nested table attribute.
|
790
732
|
# Otherwise, +false+.
|
@@ -792,9 +734,6 @@ class OCI8
|
|
792
734
|
attr_get_ub1(OCI_ATTR_HAS_NESTED_TABLE) != 0
|
793
735
|
end
|
794
736
|
|
795
|
-
# call-seq:
|
796
|
-
# has_lob? -> boolean
|
797
|
-
#
|
798
737
|
# Returns +true+ if the type has a CLOB, NCLOB or BLOB
|
799
738
|
# attribute.
|
800
739
|
# Otherwise, +false+.
|
@@ -802,29 +741,24 @@ class OCI8
|
|
802
741
|
attr_get_ub1(OCI_ATTR_HAS_LOB) != 0
|
803
742
|
end
|
804
743
|
|
805
|
-
# call-seq:
|
806
|
-
# has_file? -> boolean
|
807
|
-
#
|
808
744
|
# Returns +true+ if the type has a BFILE attribute.
|
809
745
|
# Otherwise, +false+.
|
810
746
|
def has_file?
|
811
747
|
attr_get_ub1(OCI_ATTR_HAS_FILE) != 0
|
812
748
|
end
|
813
749
|
|
814
|
-
#
|
815
|
-
# collection_element -> element information of the collection type
|
816
|
-
#
|
817
|
-
# Returns an OCI8::Metadata::Collection if the type is a nested
|
750
|
+
# Returns element information of the collection type if the type is a nested
|
818
751
|
# table or a varray.
|
819
752
|
# Otherwise, +nil+.
|
753
|
+
#
|
754
|
+
# @return [OCI8::Metadata::Collection or nil]
|
820
755
|
def collection_element
|
821
756
|
__param(OCI_ATTR_COLLECTION_ELEMENT) if typecode == :named_collection
|
822
757
|
end
|
823
758
|
|
824
|
-
# call-seq:
|
825
|
-
# num_type_attrs -> integer
|
826
|
-
#
|
827
759
|
# Returns number of type attributes.
|
760
|
+
#
|
761
|
+
# @return [Integer]
|
828
762
|
def num_type_attrs
|
829
763
|
attr_get_ub2(OCI_ATTR_NUM_TYPE_ATTRS)
|
830
764
|
end
|
@@ -835,10 +769,9 @@ class OCI8
|
|
835
769
|
end
|
836
770
|
private :list_type_attrs
|
837
771
|
|
838
|
-
# call-seq:
|
839
|
-
# num_type_methods -> integer
|
840
|
-
#
|
841
772
|
# Returns number of type methods.
|
773
|
+
#
|
774
|
+
# @return [Integer]
|
842
775
|
def num_type_methods
|
843
776
|
attr_get_ub2(OCI_ATTR_NUM_TYPE_METHODS)
|
844
777
|
end
|
@@ -849,29 +782,24 @@ class OCI8
|
|
849
782
|
end
|
850
783
|
private :list_type_methods
|
851
784
|
|
852
|
-
#
|
853
|
-
# map_method -> map method information
|
854
|
-
#
|
855
|
-
# Returns an instance of OCI8::Metadata::TypeMethod of a
|
785
|
+
# Returns information of the
|
856
786
|
# {map method}[http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28371/adobjbas.htm#sthref180]
|
857
787
|
# if it is defined in the type. Otherwise, +nil+.
|
788
|
+
#
|
789
|
+
# @return [OCI8::Metadata::TypeMethod or nil]
|
858
790
|
def map_method
|
859
791
|
__param(OCI_ATTR_MAP_METHOD)
|
860
792
|
end
|
861
793
|
|
862
|
-
#
|
863
|
-
# order_method -> order method information
|
864
|
-
#
|
865
|
-
# Returns an instance of OCI8::Metadata::TypeMethod of a
|
794
|
+
# Returns information of the
|
866
795
|
# {order method}[http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28371/adobjbas.htm#sthref185]
|
867
796
|
# if it is defined in the type. Otherwise, +nil+.
|
797
|
+
#
|
798
|
+
# @return [OCI8::Metadata::TypeMethod or nil]
|
868
799
|
def order_method
|
869
800
|
__param(OCI_ATTR_ORDER_METHOD)
|
870
801
|
end
|
871
802
|
|
872
|
-
# call-seq:
|
873
|
-
# is_invoker_rights? -> boolean
|
874
|
-
#
|
875
803
|
# Returns +true+ if the type has
|
876
804
|
# {invoker's rights}[http://download.oracle.com/docs/cd/B28359_01/appdev.111/appdev.111/b28371/adobjdes.htm#ADOBJ00810].
|
877
805
|
# Otherwise, +false+.
|
@@ -879,25 +807,20 @@ class OCI8
|
|
879
807
|
attr_get_ub1(OCI_ATTR_IS_INVOKER_RIGHTS) != 0
|
880
808
|
end
|
881
809
|
|
882
|
-
# call-seq:
|
883
|
-
# name -> string
|
884
|
-
#
|
885
810
|
# Returns the type name.
|
811
|
+
#
|
812
|
+
# @return [String]
|
886
813
|
def name
|
887
814
|
attr_get_string(OCI_ATTR_NAME)
|
888
815
|
end
|
889
816
|
|
890
|
-
# call-seq:
|
891
|
-
# schema_name -> string
|
892
|
-
#
|
893
817
|
# Returns the schema name where the type has been created.
|
818
|
+
#
|
819
|
+
# @return [String]
|
894
820
|
def schema_name
|
895
821
|
attr_get_string(OCI_ATTR_SCHEMA_NAME)
|
896
822
|
end
|
897
823
|
|
898
|
-
# call-seq:
|
899
|
-
# is_final_type? -> boolean
|
900
|
-
#
|
901
824
|
# Returns +true+ if the type is a
|
902
825
|
# {final type}[http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28371/adobjbas.htm#CIHFBHFC];
|
903
826
|
# in other words, subtypes cannot be derived from the type.
|
@@ -906,9 +829,6 @@ class OCI8
|
|
906
829
|
attr_get_ub1(OCI_ATTR_IS_FINAL_TYPE) != 0
|
907
830
|
end
|
908
831
|
|
909
|
-
# call-seq:
|
910
|
-
# is_instantiable_type? -> boolean
|
911
|
-
#
|
912
832
|
# Returns +true+ if the type is not declared without
|
913
833
|
# {<tt>NOT INSTANTIABLE</tt>}[http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28371/adobjbas.htm#i456586].
|
914
834
|
# Otherwise, +false+.
|
@@ -916,9 +836,6 @@ class OCI8
|
|
916
836
|
attr_get_ub1(OCI_ATTR_IS_INSTANTIABLE_TYPE) != 0
|
917
837
|
end
|
918
838
|
|
919
|
-
# call-seq:
|
920
|
-
# is_subtype? -> boolean
|
921
|
-
#
|
922
839
|
# Returns +true+ if the type is a
|
923
840
|
# {subtype}[http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28371/adobjbas.htm#BCFJJADG].
|
924
841
|
# Otherwise, +false+.
|
@@ -926,36 +843,32 @@ class OCI8
|
|
926
843
|
attr_get_ub1(OCI_ATTR_IS_SUBTYPE) != 0
|
927
844
|
end
|
928
845
|
|
929
|
-
# call-seq:
|
930
|
-
# supertype_schema_name -> string or nil
|
931
|
-
#
|
932
846
|
# Returns the supertype's schema name if the type is a subtype.
|
933
847
|
# Otherwise, +nil+.
|
848
|
+
#
|
849
|
+
# @return [String or nil]
|
934
850
|
def supertype_schema_name
|
935
851
|
attr_get_string(OCI_ATTR_SUPERTYPE_SCHEMA_NAME) if is_subtype?
|
936
852
|
end
|
937
853
|
|
938
|
-
# call-seq:
|
939
|
-
# supertype_name -> string or nil
|
940
|
-
#
|
941
854
|
# Returns the supertype's name if the type is a subtype.
|
942
855
|
# Otherwise, +nil+.
|
856
|
+
#
|
857
|
+
# @return [String or nil]
|
943
858
|
def supertype_name
|
944
859
|
attr_get_string(OCI_ATTR_SUPERTYPE_NAME) if is_subtype?
|
945
860
|
end
|
946
861
|
|
947
|
-
#
|
948
|
-
# type_attrs -> list of attribute information
|
862
|
+
# Returns attribute information of the type.
|
949
863
|
#
|
950
|
-
#
|
864
|
+
# @return [array of OCI8::Metadata::TypeAttr]
|
951
865
|
def type_attrs
|
952
866
|
@type_attrs ||= list_type_attrs.to_a
|
953
867
|
end
|
954
868
|
|
955
|
-
#
|
956
|
-
# type_methods -> list of method information
|
869
|
+
# Returns method information of the type.
|
957
870
|
#
|
958
|
-
#
|
871
|
+
# @return [array of OCI8::Metadata::TypeMethod]
|
959
872
|
def type_methods
|
960
873
|
@type_methods ||= list_type_methods.to_a
|
961
874
|
end
|
@@ -1173,9 +1086,11 @@ class OCI8
|
|
1173
1086
|
__boolean(OCI_ATTR_IS_OVERRIDING_METHOD)
|
1174
1087
|
end
|
1175
1088
|
|
1176
|
-
#
|
1089
|
+
# Returns argument information of the type method.
|
1177
1090
|
#
|
1178
1091
|
# The first element is the return type in case of Function.
|
1092
|
+
#
|
1093
|
+
# @return [array of OCI8::Metadata::Argument]
|
1179
1094
|
def arguments
|
1180
1095
|
@arguments ||= list_arguments.to_a
|
1181
1096
|
end
|
@@ -1337,23 +1252,31 @@ class OCI8
|
|
1337
1252
|
end
|
1338
1253
|
|
1339
1254
|
# minimum value
|
1255
|
+
#
|
1256
|
+
# @return [Integer]
|
1340
1257
|
def min
|
1341
|
-
|
1258
|
+
attr_get_integer(OCI_ATTR_MIN)
|
1342
1259
|
end
|
1343
1260
|
|
1344
1261
|
# maximum value
|
1262
|
+
#
|
1263
|
+
# @return [Integer]
|
1345
1264
|
def max
|
1346
|
-
|
1265
|
+
attr_get_integer(OCI_ATTR_MAX)
|
1347
1266
|
end
|
1348
1267
|
|
1349
1268
|
# increment
|
1269
|
+
#
|
1270
|
+
# @return [Integer]
|
1350
1271
|
def incr
|
1351
|
-
|
1272
|
+
attr_get_integer(OCI_ATTR_INCR)
|
1352
1273
|
end
|
1353
1274
|
|
1354
1275
|
# number of sequence numbers cached; zero if the sequence is not a cached sequence.
|
1276
|
+
#
|
1277
|
+
# @return [Integer]
|
1355
1278
|
def cache
|
1356
|
-
|
1279
|
+
attr_get_integer(OCI_ATTR_CACHE)
|
1357
1280
|
end
|
1358
1281
|
|
1359
1282
|
# whether the sequence is ordered
|
@@ -1362,8 +1285,10 @@ class OCI8
|
|
1362
1285
|
end
|
1363
1286
|
|
1364
1287
|
# high-water mark
|
1288
|
+
#
|
1289
|
+
# @return [Integer]
|
1365
1290
|
def hw_mark
|
1366
|
-
|
1291
|
+
attr_get_integer(OCI_ATTR_HW_MARK)
|
1367
1292
|
end
|
1368
1293
|
end
|
1369
1294
|
|