#!/usr/bin/perl

use strict;

use Sys::Hostname;
use lib '/app/tools/common/lib';

use Common::RSDB;

_usage() unless ( $ARGV[0] );
my $hostName = $ARGV[1] || hostname();
$hostName = lc $hostName;
$hostName =~ s/^(.+?)\..*$/$1/;

my $SQL = _readFile( $ARGV[0] );

foreach my $clientID ( sort { $a <=> $b } keys %Common::RSDB::CLIENT_DB ) {
    next unless ( $Common::RSDB::CLIENT_DB{$clientID}{host_id} eq $hostName );
    my $dbName = $Common::RSDB::CLIENT_DB{$clientID}{db_name};
    next unless ( $dbName =~ m/^C_/ );

    print "use $dbName;\n$SQL\n";
}

sub _readFile {
    my $F = shift;

    local $/;
    open( SQL, $F ) || die "can't read file '$F'\n";
    my $contents = <SQL>;
    close(SQL);

    return $contents;
}

sub _usage {
    die <<EOD;
$0 <path/to/sql/file> [hostname (if running on non-prod box)]

client_db_mod will read your sql command file and spit it back out with a 'use <client_db_name>' in front of your commands for each client specified in %Common::RSDB::CLIENT_DB
EOD
}
