Class: Sequel::ADO::Access::AdoSchema::Column

Inherits:
Object
  • Object
show all
Defined in:
lib/sequel/adapters/ado/access.rb

Constant Summary collapse

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"
}

Instance Method Summary collapse

Constructor Details

#initialize(row) ⇒ Column

Returns a new instance of Column.



47
48
49
# File 'lib/sequel/adapters/ado/access.rb', line 47

def initialize(row)
  @row = row
end

Instance Method Details

#[](col) ⇒ Object



51
52
53
# File 'lib/sequel/adapters/ado/access.rb', line 51

def [](col)
  @row[col]
end

#allow_nullObject



55
56
57
# File 'lib/sequel/adapters/ado/access.rb', line 55

def allow_null
  self["IS_NULLABLE"]
end

#db_typeObject



63
64
65
66
67
68
69
70
71
72
# File 'lib/sequel/adapters/ado/access.rb', line 63

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

#defaultObject



59
60
61
# File 'lib/sequel/adapters/ado/access.rb', line 59

def default
  self["COLUMN_DEFAULT"]
end

#maximum_lengthObject



82
83
84
# File 'lib/sequel/adapters/ado/access.rb', line 82

def maximum_length
  self["CHARACTER_MAXIMUM_LENGTH"]
end

#precisionObject



74
75
76
# File 'lib/sequel/adapters/ado/access.rb', line 74

def precision
  self["NUMERIC_PRECISION"]
end

#scaleObject



78
79
80
# File 'lib/sequel/adapters/ado/access.rb', line 78

def scale
  self["NUMERIC_SCALE"]
end