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::APOS, MSSQL::DatasetMethods::APOS_RE, MSSQL::DatasetMethods::BOOL_FALSE, MSSQL::DatasetMethods::BOOL_TRUE, MSSQL::DatasetMethods::BRACKET_CLOSE, MSSQL::DatasetMethods::BRACKET_OPEN, MSSQL::DatasetMethods::CASE_INSENSITIVE_COLLATION, MSSQL::DatasetMethods::CASE_SENSITIVE_COLLATION, MSSQL::DatasetMethods::COMMA, MSSQL::DatasetMethods::COMMA_SEPARATOR, MSSQL::DatasetMethods::CONSTANT_MAP, MSSQL::DatasetMethods::DATEPART_OPEN, MSSQL::DatasetMethods::DATEPART_SECOND_CLOSE, MSSQL::DatasetMethods::DATEPART_SECOND_MIDDLE, MSSQL::DatasetMethods::DATEPART_SECOND_OPEN, MSSQL::DatasetMethods::DELETE_CLAUSE_METHODS, MSSQL::DatasetMethods::DOUBLE_APOS, MSSQL::DatasetMethods::EXTRACT_MAP, MSSQL::DatasetMethods::FROM, MSSQL::DatasetMethods::HEX_START, MSSQL::DatasetMethods::HSTAR, MSSQL::DatasetMethods::INSERT_CLAUSE_METHODS, MSSQL::DatasetMethods::INTO, MSSQL::DatasetMethods::NOLOCK, MSSQL::DatasetMethods::OUTPUT, MSSQL::DatasetMethods::OUTPUT_INSERTED, MSSQL::DatasetMethods::PAREN_CLOSE, MSSQL::DatasetMethods::PAREN_SPACE_OPEN, MSSQL::DatasetMethods::SELECT_CLAUSE_METHODS, MSSQL::DatasetMethods::SELECT_SPACE, MSSQL::DatasetMethods::SPACE, MSSQL::DatasetMethods::TIMESTAMP_USEC_FORMAT, MSSQL::DatasetMethods::TOP, MSSQL::DatasetMethods::TOP_PAREN, MSSQL::DatasetMethods::UNICODE_STRING_START, MSSQL::DatasetMethods::UNION_ALL, MSSQL::DatasetMethods::UPDATE_CLAUSE_METHODS, MSSQL::DatasetMethods::UPDLOCK, MSSQL::DatasetMethods::WILDCARD
Constants inherited from Dataset
Dataset::ACTION_METHODS, Dataset::ALL, Dataset::AND_SEPARATOR, Dataset::APOS, Dataset::APOS_RE, Dataset::ARG_BLOCK_ERROR_MSG, Dataset::ARRAY_ACCESS_ERROR_MSG, Dataset::ARRAY_EMPTY, Dataset::AS, Dataset::ASC, Dataset::BACKSLASH_RE, Dataset::BOOL_FALSE, Dataset::BOOL_TRUE, Dataset::BRACKET_CLOSE, Dataset::BRACKET_OPEN, Dataset::CASE_ELSE, Dataset::CASE_END, Dataset::CASE_OPEN, Dataset::CASE_THEN, Dataset::CASE_WHEN, Dataset::CAST_OPEN, Dataset::COLUMN_ALL, Dataset::COLUMN_CHANGE_OPTS, Dataset::COLUMN_REF_RE1, Dataset::COLUMN_REF_RE2, Dataset::COLUMN_REF_RE3, Dataset::COMMA, Dataset::COMMA_SEPARATOR, Dataset::CONDITIONED_JOIN_TYPES, Dataset::CONDITION_FALSE, Dataset::CONDITION_TRUE, Dataset::COUNT_FROM_SELF_OPTS, Dataset::COUNT_OF_ALL_AS_COUNT, Dataset::DATASET_ALIAS_BASE_NAME, Dataset::DEFAULT_VALUES, Dataset::DELETE, Dataset::DELETE_CLAUSE_METHODS, Dataset::DESC, Dataset::DISTINCT, Dataset::DOT, Dataset::DOUBLE_APOS, Dataset::DOUBLE_QUOTE, Dataset::EQUAL, Dataset::EXTRACT, Dataset::FORMAT_DATE, Dataset::FORMAT_DATE_STANDARD, Dataset::FORMAT_OFFSET, Dataset::FORMAT_TIMESTAMP_RE, Dataset::FORMAT_TIMESTAMP_USEC, Dataset::FORMAT_USEC, Dataset::FOR_UPDATE, Dataset::FRAME_ALL, Dataset::FRAME_ROWS, Dataset::FROM, Dataset::FUNCTION_EMPTY, Dataset::GROUP_BY, Dataset::HAVING, Dataset::IMPORT_ERROR_MSG, Dataset::INSERT, Dataset::INSERT_CLAUSE_METHODS, Dataset::INTO, Dataset::IS_LITERALS, Dataset::IS_OPERATORS, Dataset::JOIN_METHODS, Dataset::LIMIT, Dataset::MUTATION_METHODS, Dataset::NON_SQL_OPTIONS, Dataset::NOTIMPL_MSG, Dataset::NOT_SPACE, Dataset::NULL, Dataset::NULLS_FIRST, Dataset::NULLS_LAST, Dataset::N_ARITY_OPERATORS, Dataset::OFFSET, Dataset::ON, Dataset::ON_PAREN, Dataset::ORDER_BY, Dataset::ORDER_BY_NS, Dataset::OVER, Dataset::PAREN_CLOSE, Dataset::PAREN_OPEN, Dataset::PAREN_SPACE_OPEN, Dataset::PARTITION_BY, Dataset::PREPARED_ARG_PLACEHOLDER, Dataset::PRIVATE_APPEND_METHODS, Dataset::PUBLIC_APPEND_METHODS, Dataset::QUAD_BACKSLASH, Dataset::QUALIFY_KEYS, Dataset::QUERY_METHODS, Dataset::QUESTION_MARK, Dataset::QUESTION_MARK_RE, Dataset::QUOTE, Dataset::QUOTE_RE, Dataset::RETURNING, Dataset::SELECT, Dataset::SELECT_CLAUSE_METHODS, Dataset::SET, Dataset::SPACE, Dataset::SQL_WITH, Dataset::STANDARD_TIMESTAMP_FORMAT, Dataset::TILDE, Dataset::TIMESTAMP_FORMAT, Dataset::TWO_ARITY_OPERATORS, Dataset::UNCONDITIONED_JOIN_TYPES, Dataset::UNDERSCORE, Dataset::UPDATE, Dataset::UPDATE_CLAUSE_METHODS, Dataset::USING, Dataset::VALUES, Dataset::WHERE, 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_append, #constant_sql_append, #disable_insert_output, #disable_insert_output!, #full_text_search, #initialize, #insert_select, #into, #multi_insert_sql, #nolock, #output, #output!, #quoted_identifier_append, #server_version, #supports_group_cube?, #supports_group_rollup?, #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_append, #select_sql
Methods inherited from Dataset
#<<, #==, #[], #[]=, #add_graph_aliases, #aliased_expression_sql_append, #all, #and, #array_sql_append, #avg, #bind, #boolean_constant_sql_append, #call, #case_expression_sql_append, #cast_sql_append, clause_methods, #clone, #column_all_sql_append, #columns, #columns!, #complex_expression_sql_append, #constant_sql_append, #count, def_append_methods, 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_append, #get, #graph, #grep, #group, #group_and_count, #group_by, #group_cube, #group_rollup, #hash, #having, #import, #initialize, #insert, #insert_multiple, #insert_sql, #inspect, #intersect, #interval, introspect_all_columns, #invert, #join, #join_clause_sql_append, #join_on_clause_sql_append, #join_table, #join_using_clause_sql_append, #last, #limit, #literal_append, #lock_style, #map, #max, #min, #multi_insert, #multi_insert_sql, #naked, #naked!, #negative_boolean_constant_sql_append, #or, #order, #order_append, #order_by, #order_more, #order_prepend, #ordered_expression_sql_append, #paginate, #placeholder_literal_string_sql_append, #print, #provides_accurate_rows_matched?, #qualified_identifier_sql_append, #qualify, #qualify_to, #qualify_to_first_source, #query, #quote_identifier_append, #quote_identifiers?, #quote_schema_table_append, #quoted_identifier_append, #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_append, #sum, #supports_cte?, #supports_cte_in_subqueries?, #supports_distinct_on?, #supports_group_cube?, #supports_group_rollup?, #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_append, #window_sql_append, #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 239 240 241 242 243 |
# 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 offset = @opts[:offset] columns = cols = result.fields.map{|c| output_identifier(c)} if 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 =begin # Temporarily disable this optimization, as tiny_tds uses string keys # if result.fields is called before result.each(:symbolize_keys=>true). # See https://github.com/rails-sqlserver/tiny_tds/issues/57 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 end self end |
#prepare(type, name = nil, *values) ⇒ Object
Create a named prepared statement that is stored in the database (and connection) for reuse.
247 248 249 250 251 252 253 254 255 |
# File 'lib/sequel/adapters/tinytds.rb', line 247 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 |