Class Sequel::ADO::Access::AdoSchema::Column
In: lib/sequel/adapters/ado/access.rb
Parent: Object

Methods

[]   allow_null   db_type   default   maximum_length   new   precision   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

[Source]

    # File lib/sequel/adapters/ado/access.rb, line 47
47:           def initialize(row)
48:             @row = row
49:           end

Public Instance methods

[Source]

    # File lib/sequel/adapters/ado/access.rb, line 51
51:           def [](col)
52:             @row[col]
53:           end

[Source]

    # File lib/sequel/adapters/ado/access.rb, line 55
55:           def allow_null
56:             self["IS_NULLABLE"]
57:           end

[Source]

    # File lib/sequel/adapters/ado/access.rb, line 63
63:           def db_type
64:             t = DATA_TYPE[self["DATA_TYPE"]]
65:             if t == "DECIMAL" && precision
66:               t + "(#{precision.to_i},#{(scale || 0).to_i})"
67:             elsif t == "TEXT" && maximum_length && maximum_length > 0
68:               t + "(#{maximum_length.to_i})"
69:             else
70:               t
71:             end
72:           end

[Source]

    # File lib/sequel/adapters/ado/access.rb, line 59
59:           def default
60:             self["COLUMN_DEFAULT"]
61:           end

[Source]

    # File lib/sequel/adapters/ado/access.rb, line 82
82:           def maximum_length
83:             self["CHARACTER_MAXIMUM_LENGTH"]
84:           end

[Source]

    # File lib/sequel/adapters/ado/access.rb, line 74
74:           def precision
75:             self["NUMERIC_PRECISION"]
76:           end

[Source]

    # File lib/sequel/adapters/ado/access.rb, line 78
78:           def scale
79:             self["NUMERIC_SCALE"]
80:           end

[Validate]