Class: Teradata::ResultSet
- Inherits:
-
Object
- Object
- Teradata::ResultSet
- Extended by:
- Forwardable
- Includes:
- Enumerable
- Defined in:
- lib/teradata/connection.rb
Instance Method Summary collapse
- #close ⇒ Object
- #closed? ⇒ Boolean
- #each_record(&block) ⇒ Object (also: #each)
- #each_result_set ⇒ Object
-
#entries ⇒ Object
read all record and return it.
-
#fetch_all ⇒ Object
read all records and save it for later reference.
-
#initialize(status, cli) ⇒ ResultSet
constructor
A new instance of ResultSet.
- #inspect ⇒ Object
- #next ⇒ Object
- #value ⇒ Object
- #value_all ⇒ Object
Constructor Details
#initialize(status, cli) ⇒ ResultSet
Returns a new instance of ResultSet.
612 613 614 615 616 617 618 619 620 621 |
# File 'lib/teradata/connection.rb', line 612 def initialize(status, cli) @status = status @cli = cli @next = nil @closed = false @metadata_read = false @metadata = nil @valued = false @entries = nil end |
Instance Method Details
#close ⇒ Object
675 676 677 678 679 |
# File 'lib/teradata/connection.rb', line 675 def close check_connection @cli.skip_current_statement @closed = true end |
#closed? ⇒ Boolean
671 672 673 |
# File 'lib/teradata/connection.rb', line 671 def closed? @closed end |
#each_record(&block) ⇒ Object Also known as: each
681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 |
# File 'lib/teradata/connection.rb', line 681 def each_record(&block) return @entries.each(&block) if @entries check_connection unless @metadata_read @metadata = @cli. unless @metadata @closed = true return end @metadata_read = true end while rec = @cli.read_record yield @metadata.unmarshal(rec) end @closed = true end |
#each_result_set ⇒ Object
646 647 648 649 650 651 652 653 654 655 656 657 |
# File 'lib/teradata/connection.rb', line 646 def each_result_set rs = self while rs begin yield rs ensure rs.close unless rs.closed? end rs = rs.next end nil end |
#entries ⇒ Object
read all record and return it
701 702 703 704 705 |
# File 'lib/teradata/connection.rb', line 701 def entries return @entries if @entries check_connection map {|rec| rec } end |
#fetch_all ⇒ Object
read all records and save it for later reference.
708 709 710 711 712 713 |
# File 'lib/teradata/connection.rb', line 708 def fetch_all return if @entries check_connection @entries = map {|rec| rec } nil end |
#inspect ⇒ Object
623 624 625 |
# File 'lib/teradata/connection.rb', line 623 def inspect "\#<ResultSet #{@status.inspect} next=#{@next.inspect}>" end |
#next ⇒ Object
636 637 638 639 640 641 642 643 644 |
# File 'lib/teradata/connection.rb', line 636 def next return @next if @next close unless closed? value rs = @cli.read_result_set @next = rs rs.value if rs rs end |
#value ⇒ Object
665 666 667 668 669 |
# File 'lib/teradata/connection.rb', line 665 def value return if @valued @status.value @valued = true end |
#value_all ⇒ Object
659 660 661 662 663 |
# File 'lib/teradata/connection.rb', line 659 def value_all each_result_set do |rs| ; end end |