#!/bin/sh

# $Id$
#
# fast script for deleting unconnected physmessage rows
#
# TODO: this should be integrated into dbmail-util, I know....

DB=dbmail

QUERY="SELECT id FROM dbmail_physmessage LEFT JOIN dbmail_messages 
	ON dbmail_physmessage.id = dbmail_messages.physmessage_id 
	WHERE dbmail_messages.physmessage_id IS NULL";
	
UPDATE="DELETE FROM dbmail_physmessage WHERE id IN ("
	
mysql --skip-column-names -B -e "$QUERY" $DB |\
	eval "awk 'BEGIN {printf(\"\n"$UPDATE"\");}{ if(NR % 200 == 0) {printf(\"\n"$UPDATE"\"); i=0; } else { printf(\"%s,\",\$1); }}'" |\
	sed 's/,$/);/' |\
	mysql $DB




syntax highlighted by Code2HTML, v. 0.9.1