module Sequel::Access::DatabaseMethods

Constants

DATABASE_ERROR_REGEXPS

Public Instance Methods

database_type() click to toggle source
   # File lib/sequel/adapters/shared/access.rb
13 def database_type
14   :access
15 end
rename_table(from_table, to_table) click to toggle source

Access doesn't support renaming tables from an SQL query, so create a copy of the table and then drop the from table.

   # File lib/sequel/adapters/shared/access.rb
24 def rename_table(from_table, to_table)
25   create_table(to_table, :as=>from(from_table))
26   drop_table(from_table)
27 end
serial_primary_key_options() click to toggle source

Access uses type Counter for an autoincrementing keys

   # File lib/sequel/adapters/shared/access.rb
30 def serial_primary_key_options
31   {:primary_key => true, :type=>:Counter}
32 end

Private Instance Methods

alter_table_set_column_type_sql(table, op) click to toggle source
   # File lib/sequel/adapters/shared/access.rb
36 def alter_table_set_column_type_sql(table, op)
37   "ALTER COLUMN #{quote_identifier(op[:name])} #{type_literal(op)}"
38 end
create_table_as(name, ds, options) click to toggle source

Access doesn't support CREATE TABLE AS, it only supports SELECT INTO. Emulating CREATE TABLE AS using SELECT INTO is only possible if a dataset is given as the argument, it can't work with a string, so raise an Error if a string is given.

   # File lib/sequel/adapters/shared/access.rb
44 def create_table_as(name, ds, options)
45   raise(Error, "must provide dataset instance as value of create_table :as option on Access") unless ds.is_a?(Sequel::Dataset)
46   run(ds.into(name).sql)
47 end
database_error_regexps() click to toggle source
   # File lib/sequel/adapters/shared/access.rb
55 def database_error_regexps
56   DATABASE_ERROR_REGEXPS
57 end
drop_index_sql(table, op) click to toggle source
   # File lib/sequel/adapters/shared/access.rb
59 def drop_index_sql(table, op)
60   "DROP INDEX #{quote_identifier(op[:name] || default_index_name(table, op[:columns]))} ON #{quote_schema_table(table)}"
61 end
type_literal_generic_bignum_symbol(column) click to toggle source

Access doesn't have a 64-bit integer type, so use integer and hope the user isn't using more than 32 bits.

   # File lib/sequel/adapters/shared/access.rb
65 def type_literal_generic_bignum_symbol(column)
66   :integer
67 end
type_literal_generic_file(column) click to toggle source

Access uses image type for blobs

   # File lib/sequel/adapters/shared/access.rb
75 def type_literal_generic_file(column)
76   :image
77 end
type_literal_generic_trueclass(column) click to toggle source

Access doesn't have a true boolean class, so it uses bit

   # File lib/sequel/adapters/shared/access.rb
70 def type_literal_generic_trueclass(column)
71   :bit
72 end