Class: Rubyfb::ResultSet
- Inherits:
-
Object
- Object
- Rubyfb::ResultSet
- Includes:
- Enumerable
- Defined in:
- lib/src.rb,
lib/result_set.rb
Overview
This class represents the results of a SQL query executed against a database. The viable lifespan of a ResultSet object is limited by the transaction that was used in it’s creation. Once this transaction has been committed or rolled back all related ResultSet object are invalidated and can no longer be used.
Instance Attribute Summary collapse
-
#row_count ⇒ Object
readonly
This method fetches a count of the total number of rows retrieved from a result set.
-
#statement ⇒ Object
readonly
This is the accessor for the statement attribute.
-
#transaction ⇒ Object
readonly
This is the accessor for the transaction attribute.
Instance Method Summary collapse
- #active? ⇒ Boolean
-
#close ⇒ Object
This method releases the database resources associated with a ResultSet object and should be explicitly called when a ResultSet object is of no further use.
-
#column_alias(index) ⇒ Object
This method fetches the alias associated with a specified column for a ResultSet object.
-
#column_count ⇒ Object
This method fetches a count of the number of columns in a row of data that the ResultSet can fetch.
-
#column_name(index) ⇒ Object
This method fetches the name associated with a specified column for a ResultSet object.
-
#column_scale(index) ⇒ Object
This method fetches the scale associated with a specified column for a ResultSet object.
-
#column_table(index) ⇒ Object
This method fetches the table name associated with a specified column for a ResultSet object.
-
#connection ⇒ Object
This is the accessor for the connection attribute.
-
#dialect ⇒ Object
This is the accessor for the dialect attribute.
-
#each ⇒ Object
This method provides an iterator for the (remaining) rows contained in a ResultSet object.
-
#exhausted? ⇒ Boolean
This method is used to determine if all of the rows have been retrieved from a ResultSet object.
-
#fetch ⇒ Object
This method fetches a single rows worth of data from the ResultSet object.
-
#get_base_type(index) ⇒ Object
This method retrieves the base SQL type for a column of data within a ResultSet object.
-
#initialize(statement, transaction) ⇒ ResultSet
constructor
This is the constructor for the ResultSet object.
- #initialize_copy(o) ⇒ Object
-
#sql ⇒ Object
This is the accessor for the sql attribute.
Constructor Details
#initialize(statement, transaction) ⇒ ResultSet
This is the constructor for the ResultSet object.
Parameters
- statement
-
A reference to the Statement object.
- transaction
-
A reference to the Transaction object that will be used in executing the SQL query.
Exceptions
- FireRubyException
-
Generated whenever a non-query SQL statement is specified, an invalid connection or transaction is provided or a problem occurs executing the SQL against the database.
751 752 |
# File 'lib/src.rb', line 751 def initialize(statement, transaction) end |
Instance Attribute Details
#row_count ⇒ Object (readonly)
This method fetches a count of the total number of rows retrieved from a result set.
878 879 |
# File 'lib/src.rb', line 878 def row_count end |
#statement ⇒ Object (readonly)
This is the accessor for the statement attribute.
771 772 |
# File 'lib/src.rb', line 771 def statement end |
#transaction ⇒ Object (readonly)
This is the accessor for the transaction attribute.
765 766 |
# File 'lib/src.rb', line 765 def transaction end |
Instance Method Details
#active? ⇒ Boolean
95 96 97 |
# File 'lib/result_set.rb', line 95 def active? @active end |
#close ⇒ Object
This method releases the database resources associated with a ResultSet object and should be explicitly called when a ResultSet object is of no further use. The method is implicitly called if the rows available from a ResultSet are exhausted but calling this method at that time will not cause an error.
Exceptions
- FireRubyError
-
Generated whenever a problem occurs closing the result set object.
906 907 |
# File 'lib/src.rb', line 906 def close end |
#column_alias(index) ⇒ Object
This method fetches the alias associated with a specified column for a ResultSet object.
Parameters
- column
-
A reference to the column number to fetch the details for. Column numbers start at zero.
816 817 |
# File 'lib/src.rb', line 816 def column_alias(column) end |
#column_count ⇒ Object
This method fetches a count of the number of columns in a row of data that the ResultSet can fetch.
792 793 |
# File 'lib/src.rb', line 792 def column_count end |
#column_name(index) ⇒ Object
This method fetches the name associated with a specified column for a ResultSet object.
Parameters
- column
-
A reference to the column number to fetch the details for. Column numbers start at zero.
804 805 |
# File 'lib/src.rb', line 804 def column_name(column) end |
#column_scale(index) ⇒ Object
This method fetches the scale associated with a specified column for a ResultSet object. Firebird implements some floating point types with integral storage and a negative scale. For example, depending on your platform
SELECT 1.003 FROM RDB$DATABASE
may return a ResultSet, the first and only column of which has a base type of :BIGINT but a scale of -3. (Fetches of the actual value will correctly return a ruby Float.)
Parameters
- column
-
A reference to the column number to fetch the details for. Column numbers start at zero.
836 837 |
# File 'lib/src.rb', line 836 def column_scale(column) end |
#column_table(index) ⇒ Object
This method fetches the table name associated with a specified column for a ResultSet object.
Parameters
- column
-
A reference to the column number to fetch the details for. Column numbers start at zero.
848 849 |
# File 'lib/src.rb', line 848 def column_table(column) end |
#connection ⇒ Object
This is the accessor for the connection attribute.
758 759 |
# File 'lib/src.rb', line 758 def connection end |
#dialect ⇒ Object
This is the accessor for the dialect attribute.
784 785 |
# File 'lib/src.rb', line 784 def dialect end |
#each ⇒ Object
This method provides an iterator for the (remaining) rows contained in a ResultSet object.
Parameters
- block
-
A block that takes a single parameter. This will be called for and passed each remaining row (as per the fetch method) from the ResultSet.
891 892 |
# File 'lib/src.rb', line 891 def each(&block) end |
#exhausted? ⇒ Boolean
This method is used to determine if all of the rows have been retrieved from a ResultSet object. This method will always return false until the fetch method has been called at least once so it cannot be used to detect a result set that returns no rows.
870 871 |
# File 'lib/src.rb', line 870 def exhausted? end |
#fetch ⇒ Object
This method fetches a single rows worth of data from the ResultSet object. If the set contains more rows then an array containing the row data will be retrieved. If the ResultSet is exhausted (i.e. all rows have been fetched) then nil is returned. Translation of the row data into an appropriate Ruby type is performed on the row data that is extracted.
860 861 |
# File 'lib/src.rb', line 860 def fetch end |
#get_base_type(index) ⇒ Object
This method retrieves the base SQL type for a column of data within a ResultSet object. The method returns one of the base types defined in the SQLType class but does not return an actual SQLType object.
Parameters
- index
-
The offset from the ResultSet first column of the column to return the type information for.
918 919 |
# File 'lib/src.rb', line 918 def get_base_type(index) end |
#initialize_copy(o) ⇒ Object
15 16 17 |
# File 'lib/result_set.rb', line 15 def initialize_copy(o) raise FireRubyException.new("Object cloning is not supported"); end |
#sql ⇒ Object
This is the accessor for the sql attribute.
777 778 |
# File 'lib/src.rb', line 777 def sql end |