-- Tracking and aggregating object views -- procedures. -- -- Copyright (C) 2003 Jeff Davis -- @author Jeff Davis -- @creation-date 1/12/2003 -- -- @cvs-id $Id: views-procs.sql,v 1.1 2004/03/28 21:17:14 jeffd Exp $ -- -- This is free software distributed under the terms of the GNU Public -- License. Full text of the license is available from the GNU Project: -- http://www.fsf.org/copyleft/gpl.html create or replace function cop_object_record_view (integer, integer) returns integer as ' declare p_object_id alias for $1; p_viewer_id alias for $2; begin if not exists (select 1 from cop_object_views where object_id = p_object_id and viewer_id = p_viewer_id) then INSERT into cop_object_views(object_id,viewer_id) VALUES (p_object_id, p_viewer_id); else UPDATE cop_object_views SET views = views + 1, last_viewed = now() WHERE object_id = p_object_id and viewer_id = p_viewer_id; end if; return 0; end;' language 'plpgsql';