Class: KnjDB_java_mysql_result
- Defined in:
- lib/knj/knjdb/drivers/mysql/knjdb_mysql.rb
Overview
This class controls the result for the Java-MySQL-driver.
Instance Method Summary collapse
- #each ⇒ Object
- #fetch ⇒ Object
-
#initialize(knjdb, opts, result) ⇒ KnjDB_java_mysql_result
constructor
Constructor.
-
#read_meta ⇒ Object
Reads meta-data about the query like keys and count.
Constructor Details
#initialize(knjdb, opts, result) ⇒ KnjDB_java_mysql_result
Constructor. This should not be called manually.
547 548 549 550 551 552 553 554 555 556 557 558 |
# File 'lib/knj/knjdb/drivers/mysql/knjdb_mysql.rb', line 547 def initialize(knjdb, opts, result) @knjdb = knjdb @result = result if !opts.key?(:result) or opts[:result] == "hash" @as_hash = true elsif opts[:result] == "array" @as_hash = false else raise "Unknown type of result: '#{opts[:result]}'." end end |
Instance Method Details
#each ⇒ Object
599 600 601 602 603 |
# File 'lib/knj/knjdb/drivers/mysql/knjdb_mysql.rb', line 599 def each while data = self.fetch yield(data) end end |
#fetch ⇒ Object
572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 |
# File 'lib/knj/knjdb/drivers/mysql/knjdb_mysql.rb', line 572 def fetch return false if !@result self. if !@keys status = @result.next if !status @result = nil @keys = nil @count = nil return false end if @as_hash ret = {} 1.upto(@count) do |count| ret[@keys[count - 1]] = @result.object(count) end else ret = [] 1.upto(@count) do |count| ret << @result.object(count) end end return ret end |
#read_meta ⇒ Object
Reads meta-data about the query like keys and count.
561 562 563 564 565 566 567 568 569 570 |
# File 'lib/knj/knjdb/drivers/mysql/knjdb_mysql.rb', line 561 def @result.before_first = @result. @count = .column_count @keys = [] 1.upto(@count) do |count| @keys << .column_label(count).to_sym end end |