#! /bin/sh -e

# $Id: lr_db_purge.in,v 1.4 2001/06/28 19:12:44 vanbaal Exp $


#
# Copyright (C) 2000-2001 Stichting LogReport Foundation LogReport@LogReport.org
# 
#     This program is free software; you can redistribute it and/or modify
#     it under the terms of the GNU General Public License as published by
#     the Free Software Foundation; either version 2 of the License, or
#     (at your option) any later version.
# 
#     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 General Public License for more details.
# 
#     You should have received a copy of the GNU General Public License
#     along with this program (see COPYING); if not, check with
#     http://www.gnu.org/copyleft/gpl.html or write to the Free Software 
#     Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.
#

PROGRAM=lr_db_purge
tag="all all none $PROGRAM"

if test $# -lt 3
then
    echo >&2 "$tag err usage $PROGRAM tag key value"
    exit 1
fi

id="$1"; shift
key="$1"; shift
value="$1"; shift

# LR_DBFILE is e.g. $LR_ARCHIVEDIR/meta/index, set in etc/defaults

tmpfile="$TMPDIR/$PROGRAM.$$.db"

test -f "$LR_DBFILE" || {
    echo >&2 "$tag err no LR_DBFILE $LR_DBFILE, exiting"
    exit 1
}

if grep "$id $key $value" $LR_DBFILE >/dev/null
then
    # make sure we won't exit here, due to grep's exit code and our sh -e
    grep -v "$id $key $value" $LR_DBFILE > $tmpfile || true
    mv $tmpfile $LR_DBFILE
else
    echo >&2 "$tag err $id $key $value not in $LR_DBFILE, exiting"
    exit 1
fi


