Sha256: 29e69249bb7694ff0002eb069e221a873fa03758b52ad9cfc2dfd8ea3d5f6e60
Contents?: true
Size: 1.69 KB
Versions: 3
Compression:
Stored size: 1.69 KB
Contents
module Sequel module Access module DatabaseMethods # Access uses type :access as the database_type def database_type :access end def dataset(opts = nil) ds = super ds.extend(DatasetMethods) ds end # Doesn't work, due to security restrictions on MSysObjects def tables from(:MSysObjects).filter(:Type=>1, :Flags=>0).select_map(:Name).map{|x| x.to_sym} end # Access uses type Counter for an autoincrementing keys def serial_primary_key_options {:primary_key => true, :type=>:Counter} end private def identifier_input_method_default nil end def identifier_output_method_default nil end end module DatasetMethods SELECT_CLAUSE_METHODS = Dataset.clause_methods(:select, %w'limit distinct columns from join where group order having compounds') # Access doesn't support INTERSECT or EXCEPT def supports_intersect_except? false end private # Access uses # to quote dates def literal_date(d) d.strftime('#%Y-%m-%d#') end # Access uses # to quote datetimes def literal_datetime(t) t.strftime('#%Y-%m-%d %H:%M:%S#') end alias literal_time literal_datetime # Access uses TOP for limits def select_limit_sql(sql) sql << " TOP #{@opts[:limit]}" if @opts[:limit] end # Access uses [] for quoting identifiers def quoted_identifier(v) "[#{v}]" end # Access requires the limit clause come before other clauses def select_clause_methods SELECT_CLAUSE_METHODS end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
sequel-3.28.0 | lib/sequel/adapters/shared/access.rb |
sequel-3.27.0 | lib/sequel/adapters/shared/access.rb |
sequel-3.26.0 | lib/sequel/adapters/shared/access.rb |