text: --
  --  Tigase Jabber/XMPP Server
  --  Copyright (C) 2004-2012 "Artur Hefczyc" <artur.hefczyc@tigase.org>
  --
  --  This program is free software: you can redistribute it and/or modify
  --  it under the terms of the GNU Affero General Public License as published by
  --  the Free Software Foundation, either version 3 of the License.
  --
  --  This program is distributed in the hope that it will be useful,
  --  but WITHOUT ANY WARRANTY; without even the implied warranty of
  --  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  --  GNU Affero General Public License for more details.
  --
  --  You should have received a copy of the GNU Affero General Public License
  --  along with this program. Look for COPYING file in the top folder.
  --  If not, see http://www.gnu.org/licenses/.
  --
  --  $Rev: $
  --  Last modified by $Author: $
  --  $Date: $
  --
  
  -- Database stored procedures and functions for Tigase schema version 5.1
  
  -- QUERY START:
  source database/mysql-schema-4-sp.sql;
  -- QUERY END:
  
  
  -- QUERY START:
  drop procedure if exists TigUpdatePairs;
  -- QUERY END:
   
  delimiter //
  
  -- QUERY START:
  -- Procedure to efficiently and safely update data in tig_pairs table
  create procedure TigUpdatePairs(_nid bigint, _uid bigint, _tkey varchar(255) CHARSET utf8, _tval mediumtext CHARSET utf8)
  begin
    if exists(SELECT 1 FROM tig_pairs WHERE nid = _nid AND uid = _uid AND pkey = _tkey)
    then
      UPDATE tig_pairs SET pval = _tval WHERE nid = _nid AND uid = _uid AND pkey = _tkey;
    ELSE
      INSERT INTO tig_pairs (nid, uid, pkey, pval) VALUES (_nid, _uid, _tkey, _tval);
    END IF;
  end //
  -- QUERY END:
  
  delimiter ;
  