Class ::xo::db::sql::acs_attribute (public)
::xo::db::Class ::xo::db::sql::acs_attribute![[i]](/resources/acs-subsite/ZoomIn16.gif)
Defined in
- Testcases:
-
No testcase defined.
Source code:
namespace eval ::xo::db::sql {}
::nsf::object::alloc ::xo::db::Class ::xo::db::sql::acs_attribute {set :__default_metaclass ::xotcl::Class
set :__default_superclass ::xotcl::Object
set :abstract_p f
set :auto_save false
set :name_method {}
set :object_type ::xo::db::sql::acs_attribute
set :security_inherit_p t
set :sql_package_name acs_attribute
set :supertype acs_object
set :with_table true}
::xo::db::sql::acs_attribute proc add_description {{-dbn {}} -object_type:required -attribute_name:required -description_key:required -description:required} {
foreach var [list OBJECT_TYPE ATTRIBUTE_NAME DESCRIPTION_KEY DESCRIPTION] {
set varname [string tolower $var]
if {[info exists $varname]} {
set $var [set $varname]
set _$var :$var
} else {
set _$var null
}
}
set sql "
select acs_attribute__add_description($_OBJECT_TYPE, $_ATTRIBUTE_NAME, $_DESCRIPTION_KEY, $_DESCRIPTION)
"
db_with_handle -dbn $dbn db {
return [ ns_set value [ns_pg_bind 0or1row $db $sql] 0 ]
}
}
::xo::db::sql::acs_attribute proc drop_attribute {{-dbn {}} -object_type:required -attribute_name:required {-drop_column_p f}} {
foreach var [list OBJECT_TYPE ATTRIBUTE_NAME DROP_COLUMN_P] {
set varname [string tolower $var]
if {[info exists $varname]} {
set $var [set $varname]
set _$var :$var
} else {
set _$var null
}
}
set sql "
select acs_attribute__drop_attribute($_OBJECT_TYPE, $_ATTRIBUTE_NAME, $_DROP_COLUMN_P)
"
db_with_handle -dbn $dbn db {
return [ ns_set value [ns_pg_bind 0or1row $db $sql] 0 ]
}
}
::xo::db::sql::acs_attribute proc drop_description {{-dbn {}} -object_type:required -attribute_name:required -description_key:required} {
foreach var [list OBJECT_TYPE ATTRIBUTE_NAME DESCRIPTION_KEY] {
set varname [string tolower $var]
if {[info exists $varname]} {
set $var [set $varname]
set _$var :$var
} else {
set _$var null
}
}
set sql "
select acs_attribute__drop_description($_OBJECT_TYPE, $_ATTRIBUTE_NAME, $_DESCRIPTION_KEY)
"
db_with_handle -dbn $dbn db {
return [ ns_set value [ns_pg_bind 0or1row $db $sql] 0 ]
}
}
::xo::db::sql::acs_attribute proc create_attribute {{-dbn {}} -object_type:required -attribute_name:required -datatype:required -pretty_name:required -pretty_plural -table_name -column_name -default_value {-min_n_values 1} {-max_n_values 1} -sort_order {-storage type_specific} {-static_p f} {-create_column_p f} -database_type -size {-null_p t} -references -check_expr -column_spec} {
foreach var [list OBJECT_TYPE ATTRIBUTE_NAME DATATYPE PRETTY_NAME PRETTY_PLURAL TABLE_NAME COLUMN_NAME DEFAULT_VALUE MIN_N_VALUES MAX_N_VALUES SORT_ORDER STORAGE STATIC_P CREATE_COLUMN_P DATABASE_TYPE SIZE NULL_P REFERENCES CHECK_EXPR COLUMN_SPEC] {
set varname [string tolower $var]
if {[info exists $varname]} {
set $var [set $varname]
set _$var :$var
} else {
set _$var null
}
}
set sql "
select acs_attribute__create_attribute($_OBJECT_TYPE, $_ATTRIBUTE_NAME, $_DATATYPE, $_PRETTY_NAME, $_PRETTY_PLURAL, $_TABLE_NAME, $_COLUMN_NAME, $_DEFAULT_VALUE, $_MIN_N_VALUES, $_MAX_N_VALUES, $_SORT_ORDER, $_STORAGE, $_STATIC_P, $_CREATE_COLUMN_P, $_DATABASE_TYPE, $_SIZE, $_NULL_P, $_REFERENCES, $_CHECK_EXPR, $_COLUMN_SPEC)
"
db_with_handle -dbn $dbn db {
return [ ns_set value [ns_pg_bind 0or1row $db $sql] 0 ]
}
}
XQL Not present:Generic, PostgreSQL, Oracle
[
hide source ]
| [
make this the default ]