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 45
45:           def initialize(row)
46:             @row = row
47:           end

Public Instance methods

[Source]

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

[Source]

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

[Source]

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

[Source]

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

[Source]

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

[Source]

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

[Source]

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

[Validate]