Class: Sequel::TinyTDS::Dataset
- Includes:
- MSSQL::DatasetMethods
- Defined in:
- lib/sequel/adapters/tinytds.rb
Defined Under Namespace
Modules: ArgumentMapper, PreparedStatementMethods
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::EXTRACT_MAP, 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::TWO_ARITY_OPERATORS, Dataset::UNCONDITIONED_JOIN_TYPES, Dataset::UPDATE_CLAUSE_METHODS, Dataset::WILDCARD
Instance Attribute Summary
Attributes included from MSSQL::DatasetMethods
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.
-
#prepare(type, name = nil, *values) ⇒ Object
Create a named prepared statement that is stored in the database (and connection) for reuse.
Methods included from MSSQL::DatasetMethods
#complex_expression_sql, #constant_sql, #disable_insert_output, #disable_insert_output!, #full_text_search, #initialize, #insert_select, #into, #multi_insert_sql, #nolock, #output, #output!, #quoted_identifier, #server_version, #supports_insert_select?, #supports_intersect_except?, #supports_is_true?, #supports_join_using?, #supports_modifying_joins?, #supports_multiple_column_in?, #supports_output_clause?, #supports_where_true?, #supports_window_functions?
Methods included from EmulateOffsetWithRowNumber
#complex_expression_sql, #select_sql
Methods inherited from Dataset
#<<, #==, #[], #[]=, #add_graph_aliases, #aliased_expression_sql, #all, #and, #array_sql, #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, #exclude_having, #exclude_where, #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, introspect_all_columns, #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, #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, #recursive_cte_requires_column_aliases?, #requires_placeholder_type_specifiers?, #requires_sql_standard_datetimes?, #returning, #reverse, #reverse_order, #row_number_column, #schema_and_table, #select, #select_all, #select_append, #select_group, #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_cte_in_subqueries?, #supports_distinct_on?, #supports_insert_select?, #supports_intersect_except?, #supports_intersect_except_all?, #supports_is_true?, #supports_join_using?, #supports_modifying_joins?, #supports_multiple_column_in?, #supports_ordered_distinct_on?, #supports_returning?, #supports_select_all_and_column?, #supports_timestamp_timezones?, #supports_timestamp_usecs?, #supports_where_true?, #supports_window_functions?, #to_csv, #to_dot, #to_hash, #truncate, #truncate_sql, #unbind, #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
Methods included from SQL::StringMethods
Methods included from SQL::OrderMethods
Methods included from SQL::NumericMethods
Methods included from SQL::ComplexExpressionMethods
#extract, #sql_boolean, #sql_number, #sql_string
Methods included from SQL::CastMethods
#cast, #cast_numeric, #cast_string
Methods included from SQL::BooleanMethods
Methods included from SQL::AliasMethods
Instance Method Details
#fetch_rows(sql) ⇒ Object
Yield hashes with symbol keys, attempting to optimize for various cases.
205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 |
# File 'lib/sequel/adapters/tinytds.rb', line 205 def fetch_rows(sql) execute(sql) do |result| each_opts = {:cache_rows=>false} each_opts[:timezone] = :utc if db.timezone == :utc rn = row_number_column if @opts[:offset] columns = cols = result.fields.map{|c| output_identifier(c)} if opts[:offset] rn = row_number_column columns = columns.dup columns.delete(rn) end @columns = columns 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(rn) if rn yield h end else each_opts[:symbolize_keys] = true if offset result.each(each_opts) do |r| r.delete(rn) if rn yield r end else result.each(each_opts, &Proc.new) end end end self end |
#prepare(type, name = nil, *values) ⇒ Object
Create a named prepared statement that is stored in the database (and connection) for reuse.
242 243 244 245 246 247 248 249 250 |
# File 'lib/sequel/adapters/tinytds.rb', line 242 def prepare(type, name=nil, *values) ps = to_prepared_statement(type, values) ps.extend(PreparedStatementMethods) if name ps.prepared_statement_name = name db.prepared_statements[name] = ps end ps end |