class Sequel::ADO::Access::AdoSchema::Column

  1. lib/sequel/adapters/ado/access.rb
Parent: AdoSchema

Methods

Public Class

  1. new

Public Instance

  1. []
  2. allow_null
  3. db_type
  4. default
  5. maximum_length
  6. precision
  7. scale

Constants

DATA_TYPE = { 2 => "SMALLINT", 3 => "INTEGER", 4 => "REAL", 5 => "DOUBLE", 6 => "MONEY", 7 => "DATETIME", 11 => "BIT", 14 => "DECIMAL", 16 => "TINYINT", 17 => "BYTE", 72 => "GUID", 128 => "BINARY", 130 => "TEXT", 131 => "DECIMAL", 201 => "TEXT", 205 => "IMAGE" }  

Public Class methods

new (row)
[show source]
# File lib/sequel/adapters/ado/access.rb, line 45
def initialize(row)
  @row = row
end

Public Instance methods

[] (col)
[show source]
# File lib/sequel/adapters/ado/access.rb, line 49
def [](col)
  @row[col]
end
allow_null ()
[show source]
# File lib/sequel/adapters/ado/access.rb, line 53
def allow_null
  self["IS_NULLABLE"]
end
db_type ()
[show source]
# File lib/sequel/adapters/ado/access.rb, line 61
def db_type
  t = DATA_TYPE[self["DATA_TYPE"]]
  if t == "DECIMAL" && precision
    t + "(#{precision.to_i},#{(scale || 0).to_i})"
  elsif t == "TEXT" && maximum_length && maximum_length > 0
    t + "(#{maximum_length.to_i})"
  else
    t
  end
end
default ()
[show source]
# File lib/sequel/adapters/ado/access.rb, line 57
def default
  self["COLUMN_DEFAULT"]
end
maximum_length ()
[show source]
# File lib/sequel/adapters/ado/access.rb, line 80
def maximum_length
  self["CHARACTER_MAXIMUM_LENGTH"]
end
precision ()
[show source]
# File lib/sequel/adapters/ado/access.rb, line 72
def precision
  self["NUMERIC_PRECISION"]
end
scale ()
[show source]
# File lib/sequel/adapters/ado/access.rb, line 76
def scale
  self["NUMERIC_SCALE"]
end