#!/usr/bin/perl -w

# Copyright 2008, 2009, 2010 Kevin Ryde

# This file is part of Chart.
#
# Chart 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 3, or (at your option) any later version.
#
# Chart 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 Chart.  If not, see <http://www.gnu.org/licenses/>.

sub insert_or_replace {
  my ($dbh, $into, $into_args, $where, $where_args) = @_;
  my $n = App::Chart::DBI->read_single
    ("SELECT COUNT(*) $where", $where_args);
  my $sth = ($n == 0
             ? $dbh->prepare_cached ("INSERT $into", @$into_args);
             : $dbh->prepare_cached ("REPLACE $into $where", @$into_args, @$where_args));
  $sth->execute (@args);
  $sth->finish;
}

insert_or_replace ("INTO dividend (symbol, ex_date, pay_date, amount, imputation) VALUES (?,?,?,?,?)",
                   [$symbol, $ex_date, $pay_date, $amount, $imput],
                   "WHERE symbol=? AND ex_date =?",
                   [$symbol, $ex_date]);



sub insert_or_replace {
  my ($dbh, $into, $into_args, $where, $where_args) = @_;
  my $n = App::Chart::DBI->read_single
    ("SELECT COUNT(*) $where", $where_args);
  my $sth = ($n == 0
             ? $dbh->prepare_cached ("INSERT $into", @$into_args);
             : $dbh->prepare_cached ("REPLACE $into $where", @$into_args, @$where_args));
  $sth->execute (@args);
  $sth->finish;
}

insert_or_replace ("INTO dividend (symbol, ex_date, pay_date, amount, imputation) VALUES (?,?,?,?,?)",
                   [$symbol, $ex_date, $pay_date, $amount, $imput],
                   "WHERE symbol=? AND ex_date =?",
                   [$symbol, $ex_date]);