Class: Sequel::TinyTDS::Dataset
- Includes:
- MSSQL::DatasetMethods
- Defined in:
- lib/sequel/adapters/tinytds.rb
Constant Summary
Constants included from MSSQL::DatasetMethods
MSSQL::DatasetMethods::BOOL_FALSE, MSSQL::DatasetMethods::BOOL_TRUE, MSSQL::DatasetMethods::COMMA_SEPARATOR, MSSQL::DatasetMethods::CONSTANT_MAP, MSSQL::DatasetMethods::DELETE_CLAUSE_METHODS, MSSQL::DatasetMethods::INSERT_CLAUSE_METHODS, MSSQL::DatasetMethods::NOLOCK, MSSQL::DatasetMethods::SELECT_CLAUSE_METHODS, MSSQL::DatasetMethods::UPDATE_CLAUSE_METHODS, MSSQL::DatasetMethods::UPDLOCK, MSSQL::DatasetMethods::WILDCARD
Constants inherited from Dataset
Dataset::ACTION_METHODS, Dataset::AND_SEPARATOR, Dataset::ARG_BLOCK_ERROR_MSG, Dataset::ARRAY_ACCESS_ERROR_MSG, Dataset::BOOL_FALSE, Dataset::BOOL_TRUE, Dataset::COLUMN_CHANGE_OPTS, Dataset::COLUMN_REF_RE1, Dataset::COLUMN_REF_RE2, Dataset::COLUMN_REF_RE3, Dataset::COMMA_SEPARATOR, Dataset::CONDITIONED_JOIN_TYPES, Dataset::COUNT_FROM_SELF_OPTS, Dataset::COUNT_OF_ALL_AS_COUNT, Dataset::DATASET_ALIAS_BASE_NAME, Dataset::DELETE_CLAUSE_METHODS, Dataset::FOR_UPDATE, Dataset::IMPORT_ERROR_MSG, Dataset::INSERT_CLAUSE_METHODS, Dataset::IS_LITERALS, Dataset::IS_OPERATORS, Dataset::JOIN_METHODS, Dataset::MUTATION_METHODS, Dataset::NON_SQL_OPTIONS, Dataset::NOTIMPL_MSG, Dataset::NULL, Dataset::N_ARITY_OPERATORS, Dataset::PREPARED_ARG_PLACEHOLDER, Dataset::QUALIFY_KEYS, Dataset::QUERY_METHODS, Dataset::QUESTION_MARK, Dataset::SELECT_CLAUSE_METHODS, Dataset::SQL_WITH, Dataset::STANDARD_TIMESTAMP_FORMAT, Dataset::TIMESTAMP_FORMAT, Dataset::TO_DOT_OPTIONS, Dataset::TWO_ARITY_OPERATORS, Dataset::UNCONDITIONED_JOIN_TYPES, Dataset::UPDATE_CLAUSE_METHODS, Dataset::WILDCARD, Dataset::WITH_SUPPORTED
Instance Attribute Summary
Attributes inherited from Dataset
#db, #identifier_input_method, #identifier_output_method, #opts, #quote_identifiers, #row_proc
Instance Method Summary collapse
-
#fetch_rows(sql) ⇒ Object
Yield hashes with symbol keys, attempting to optimize for various cases.
Methods included from MSSQL::DatasetMethods
#complex_expression_sql, #constant_sql, #disable_insert_output, #disable_insert_output!, #full_text_search, #insert_select, #into, #join_table, #multi_insert_sql, #nolock, #output, #output!, #quoted_identifier, #select_sql, #server_version, #supports_intersect_except?, #supports_is_true?, #supports_join_using?, #supports_modifying_joins?, #supports_multiple_column_in?, #supports_output_clause?, #supports_window_functions?
Methods inherited from Dataset
#<<, #==, #[], #[]=, #add_graph_aliases, #aliased_expression_sql, #all, #and, #array_sql, #as, #avg, #bind, #boolean_constant_sql, #call, #case_expression_sql, #cast_sql, clause_methods, #clone, #column_all_sql, #columns, #columns!, #complex_expression_sql, #constant_sql, #count, def_mutation_method, #def_mutation_method, #delete, #delete_sql, #distinct, #each, #each_page, #each_server, #empty?, #eql?, #except, #exclude, #exists, #filter, #first, #first_source, #first_source_alias, #first_source_table, #for_update, #from, #from_self, #function_sql, #get, #graph, #grep, #group, #group_and_count, #group_by, #hash, #having, #import, #initialize, #insert, #insert_multiple, #insert_sql, #inspect, #intersect, #interval, #invert, #join, #join_clause_sql, #join_on_clause_sql, #join_table, #join_using_clause_sql, #last, #limit, #literal, #lock_style, #map, #max, #min, #multi_insert, #multi_insert_sql, #naked, #negative_boolean_constant_sql, #or, #order, #order_append, #order_by, #order_more, #order_prepend, #ordered_expression_sql, #paginate, #placeholder_literal_string_sql, #prepare, #print, #provides_accurate_rows_matched?, #qualified_identifier_sql, #qualify, #qualify_to, #qualify_to_first_source, #query, #quote_identifier, #quote_identifiers?, #quote_schema_table, #quoted_identifier, #range, #requires_sql_standard_datetimes?, #reverse, #reverse_order, #schema_and_table, #select, #select_all, #select_append, #select_hash, #select_map, #select_more, #select_order_map, #select_sql, #server, #set, #set_defaults, #set_graph_aliases, #set_overrides, #single_record, #single_value, #split_alias, #sql, #subscript_sql, #sum, #supports_cte?, #supports_distinct_on?, #supports_intersect_except?, #supports_intersect_except_all?, #supports_is_true?, #supports_join_using?, #supports_modifying_joins?, #supports_multiple_column_in?, #supports_timestamp_timezones?, #supports_timestamp_usecs?, #supports_window_functions?, #to_csv, #to_dot, #to_hash, #truncate, #truncate_sql, #unfiltered, #ungraphed, #ungrouped, #union, #unlimited, #unordered, #unused_table_alias, #update, #update_sql, #where, #window_function_sql, #window_sql, #with, #with_recursive, #with_sql
Methods included from Metaprogramming
Constructor Details
This class inherits a constructor from Sequel::Dataset
Instance Method Details
#fetch_rows(sql) ⇒ Object
Yield hashes with symbol keys, attempting to optimize for various cases.
88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 |
# File 'lib/sequel/adapters/tinytds.rb', line 88 def fetch_rows(sql) execute(sql) do |result| each_opts = {:cache_rows=>false} each_opts[:timezone] = :utc if Sequel.database_timezone == :utc offset = @opts[:offset] @columns = cols = result.fields.map{|c| output_identifier(c)} if identifier_output_method each_opts[:as] = :array result.each(each_opts) do |r| h = {} cols.zip(r).each{|k, v| h[k] = v} h.delete(row_number_column) if offset yield h end else each_opts[:symbolize_keys] = true if offset result.each(each_opts) do |r| r.delete(row_number_column) if offset yield r end else result.each(each_opts, &block) end end end self end |