xo::db::CrFolder proc fetch_object (public)

 xo::db::CrFolder[i] fetch_object -item_id item_id  \
    [ -revision_id revision_id ] -object object  \
    [ -initialize on|off ]

Defined in packages/xotcl-core/tcl/cr-procs.tcl

We overwrite the default fetch_object method here. We join acs_objects, cr_items and cr_folders and fetch all attributes. The revision_id is completely ignored.

Switches:
-item_id
(required)
-revision_id
(defaults to "0") (optional)
-object
(required)
-initialize
(boolean) (defaults to "true") (optional)
See Also:
  • CrClass fetch_object

Partial Call Graph (max 5 caller/called nodes):
%3 db_1row db_1row (public) xo::db::CrFolder proc fetch_object xo::db::CrFolder proc fetch_object xo::db::CrFolder proc fetch_object->db_1row

Testcases:
No testcase defined.
Source code:
if {![nsf::is object $object]} {
  :create $object
}
$object set item_id $item_id
$object db_1row [:qn fetch_folder] {
    SELECT * FROM cr_folders
    JOIN cr_items on cr_folders.folder_id = cr_items.item_id
    JOIN acs_objects on cr_folders.folder_id = acs_objects.object_id
    WHERE folder_id = :item_id
}

if {$initialize} {
  $object initialize_loaded_object
}
return $object
XQL Not present:
Generic, PostgreSQL, Oracle
[ hide source ] | [ make this the default ]
Show another procedure: