INDEX CLUSTER FEATURES SHORT FRAMES NO FRAMES

indexing

title: "Represents the notion of data source%'s data type"
project: "Visual Eiffel"
revision: "$Revision: 1.1 $"
copyright: "Copyright (C) 1996-2005 Object Tools Group"
license: "http://visual-eiffel.com/license"
cluster: dale
class DB_TYPE
inherit

DB_CATALOG_ITEM
end

DALE_SERVER
end
creation {TYPES}

make
feature -- Attributes:

name: STRING

sql_type: INTEGER

precision: INTEGER

literal_prefix: STRING

literal_suffix: STRING

create_params: STRING

required: INTEGER

case_sensitive: BOOLEAN

searchable: INTEGER

sign_applicable: BOOLEAN

unsigned: BOOLEAN

money: BOOLEAN

autoincrement_applicable: BOOLEAN

autoincrement: BOOLEAN

local_type_name: STRING

min_scale: INTEGER

max_scale: INTEGER
feature {TYPES}

make
-- creation procedure
feature -- Settings:

set_name (n: STRING)
-- ...
require
valid_name: n /= void and then not n.is_empty

set_sql_type (sqlt: INTEGER)
-- ...
require
valid_sql_type: valid_sql_type (sqlt)

set_precision (p: INTEGER)
-- ...
require
valid_precision: 0 <= p

set_affixes (lpx, lsx: STRING)
-- ...

set_create_params (cp: STRING)
-- ...

set_required (req: INTEGER)
-- ...
require
valid_required: valid_required (req)

set_case_sensitive (cs: BOOLEAN)
-- ...

set_searchable (sab: INTEGER)
-- ...
require
valid_searchable: valid_searchable (sab)

set_sign_applicable (b: BOOLEAN)
-- ...

set_unsigned (b: BOOLEAN)
-- ...

set_money (mon: BOOLEAN)
-- ...

set_autoincrement_applicable (b: BOOLEAN)
-- ...

set_autoincrement (b: BOOLEAN)
-- ...

set_local_type_name (ltn: STRING)
-- ...

set_scales (minsc, maxsc: INTEGER)
-- ...
require
valid_min_scale: 0 <= minsc
valid_max_scale: 0 <= maxsc

set_both_scales (sc: INTEGER)
-- ...
require
valid_scale: 0 <= sc
feature -- Validations:

valid_sql_type (sqlt: INTEGER): BOOLEAN
-- ...

valid_required (req: INTEGER): BOOLEAN
-- ...

valid_searchable (sab: INTEGER): BOOLEAN
-- ...
end -- class DB_TYPE

INDEX CLUSTER FEATURES SHORT FRAMES NO FRAMES