text: -- 
  -- Upgrade script from 5.0d6 to 5.0d7
  --
  -- Adds auth_token to users table
  -- Recreating acs_object__update_last_modified triggers
  --
  -- @author Lars Pind (lars@collaboraid.biz)
  --
  -- @cvs-id $Id: upgrade-5.0d6-5.0d7.sql,v 1.2 2003/09/22 11:52:14 lars Exp $
  --
  
  alter table users add auth_token varchar(100);
  
  create or replace function acs_object__update_last_modified (integer, integer, varchar)
  returns integer as '
  declare
      acs_object__update_last_modified__object_id          alias for $1;
      acs_object__update_last_modified__modifying_user     alias for $2;
      acs_object__update_last_modified__modifying_ip       alias for $3;
  begin
      return acs_object__update_last_modified(acs_object__update_last_modified__object_id, acs_object__update_last_modified__modifying_user, acs_object__update_last_modified__modifying_ip, now());
  end;' language 'plpgsql';
  
  create or replace function acs_object__update_last_modified (integer, integer, varchar, timestamptz)
  returns integer as '
  declare
      acs_object__update_last_modified__object_id          alias for $1; 
      acs_object__update_last_modified__modifying_user     alias for $2;
      acs_object__update_last_modified__modifying_ip       alias for $3;
      acs_object__update_last_modified__last_modified      alias for $4; -- default now()
      v_parent_id                                          integer;
      v_last_modified                                      timestamptz;
  begin
      if acs_object__update_last_modified__last_modified is null then
          v_last_modified := now();
      else
          v_last_modified := acs_object__update_last_modified__last_modified;
      end if;
  
      update acs_objects
      set last_modified = v_last_modified,
          modifying_user = acs_object__update_last_modified__modifying_user,
          modifying_ip = acs_object__update_last_modified__modifying_ip
      where object_id = acs_object__update_last_modified__object_id;
  
      select context_id
      into v_parent_id
      from acs_objects
      where object_id = acs_object__update_last_modified__object_id;
  
      if v_parent_id is not null and v_parent_id != 0 then
          perform acs_object__update_last_modified(v_parent_id, acs_object__update_last_modified__modifying_user, acs_object__update_last_modified__modifying_ip, v_last_modified);
      end if;
  
      return acs_object__update_last_modified__object_id;
  end;' language 'plpgsql';
  
  