function loadRecord_NoCache($id, $bare = false)
{
    if (!$id) {
        return array("error" => "must specify record id");
    }
    $record = loadBareRecordFromDB($id);
    if ($record && !$bare) {
        loadUserDependentData($record);
    }
    return $record;
}
function loadRecord($id, $fresh = false, $bare = false)
{
    global $memcache;
    if (!$id) {
        return array("error" => "must specify record id");
    }
    if (!$memcache) {
        $memcache = new Memcache();
        if (!$memcache->connect('localhost', MEMCACHED_PORT)) {
            //saw Decision: error or just load raw???
            return array("error" => "couldn't connect to memcached");
        }
    }
    $key = DATABASE . ":record:" . $id;
    $record = null;
    if (!$fresh) {
        $record = $memcache->get($key);
    }
    if (!$record) {
        $record = loadBareRecordFromDB($id);
        if ($record) {
            $memcache->set($key, $record);
        }
    }
    if ($record && !$bare) {
        loadUserDependentData($record);
    }
    return $record;
}