Class ::xo::db::sql::rel_segment (public)
::xo::db::Class ::xo::db::sql::rel_segment
Defined in
- Testcases:
-
No testcase defined.
Source code:
namespace eval ::xo::db::sql {}
::nsf::object::alloc ::xo::db::Class ::xo::db::sql::rel_segment {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::rel_segment
set :security_inherit_p t
set :sql_package_name rel_segment
set :supertype acs_object
set :with_table true}
::xo::db::sql::rel_segment proc get {{-dbn {}} -group_id:required -rel_type:required} {
foreach var [list GROUP_ID REL_TYPE] {
set varname [string tolower $var]
if {[info exists $varname]} {
set $var [set $varname]
set _$var :$var
} else {
set _$var null
}
}
set sql "
select rel_segment__get($_GROUP_ID, $_REL_TYPE)
"
db_with_handle -dbn $dbn db {
return [ ns_set value [ns_pg_bind 0or1row $db $sql] 0 ]
}
}
::xo::db::sql::rel_segment proc name {{-dbn {}} -segment_id:required} {
foreach var [list SEGMENT_ID] {
set varname [string tolower $var]
if {[info exists $varname]} {
set $var [set $varname]
set _$var :$var
} else {
set _$var null
}
}
set sql "
select rel_segment__name($_SEGMENT_ID)
"
db_with_handle -dbn $dbn db {
return [ ns_set value [ns_pg_bind 0or1row $db $sql] 0 ]
}
}
::xo::db::sql::rel_segment proc get_or_new {{-dbn {}} -group_id:required -rel_type:required -segment_name} {
foreach var [list GROUP_ID REL_TYPE SEGMENT_NAME] {
set varname [string tolower $var]
if {[info exists $varname]} {
set $var [set $varname]
set _$var :$var
} else {
set _$var null
}
}
set sql "
select rel_segment__get_or_new($_GROUP_ID, $_REL_TYPE, $_SEGMENT_NAME)
"
db_with_handle -dbn $dbn db {
return [ ns_set value [ns_pg_bind 0or1row $db $sql] 0 ]
}
}
::xo::db::sql::rel_segment proc new {{-dbn {}} -segment_id {-object_type rel_segment} {-creation_date now()} -creation_user -creation_ip -email -url -segment_name:required -group_id:required -rel_type:required -context_id -childof} {
foreach var [list SEGMENT_ID OBJECT_TYPE CREATION_DATE CREATION_USER CREATION_IP EMAIL URL SEGMENT_NAME GROUP_ID REL_TYPE CONTEXT_ID] {
set varname [string tolower $var]
if {[info exists $varname]} {
set $var [set $varname]
set _$var :$var
} else {
set _$var null
}
}
set sql "
select rel_segment__new($_SEGMENT_ID, $_OBJECT_TYPE, $_CREATION_DATE, $_CREATION_USER, $_CREATION_IP, $_EMAIL, $_URL, $_SEGMENT_NAME, $_GROUP_ID, $_REL_TYPE, $_CONTEXT_ID)
"
db_with_handle -dbn $dbn db {
return [ ns_set value [ns_pg_bind 0or1row $db $sql] 0 ]
}
}
::xo::db::sql::rel_segment proc delete {{-dbn {}} -segment_id:required} {
foreach var [list SEGMENT_ID] {
set varname [string tolower $var]
if {[info exists $varname]} {
set $var [set $varname]
set _$var :$var
} else {
set _$var null
}
}
set sql "
select rel_segment__delete($_SEGMENT_ID)
"
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 ]