From 52635d70697fbe0c165c742cd9e9f5e316ff09a5 Mon Sep 17 00:00:00 2001 From: einhverfr Date: Wed, 25 Oct 2006 05:53:58 +0000 Subject: Database upgrades now use psql git-svn-id: https://ledger-smb.svn.sourceforge.net/svnroot/ledger-smb/trunk@302 4979c152-3d1c-0410-bac9-87ea11338e46 --- Changelog | 1 + LedgerSMB/User.pm | 47 +++-------------------------------------------- 2 files changed, 4 insertions(+), 44 deletions(-) diff --git a/Changelog b/Changelog index c57d0714..35804709 100644 --- a/Changelog +++ b/Changelog @@ -3,6 +3,7 @@ Changelog for LedgerSMB 1.2.0 Database: * Added script to configure Slony replication (Chris Browne) * Added defined primary keys to all tables (Chris T) +* Database upgrades now use psql (Chris T) Security: * Added whitelist of allowed directories to file editor (Seneca) diff --git a/LedgerSMB/User.pm b/LedgerSMB/User.pm index 0b769a46..47cdad04 100755 --- a/LedgerSMB/User.pm +++ b/LedgerSMB/User.pm @@ -388,50 +388,9 @@ sub process_query { return unless (-f $filename); open(FH, "$filename") or $form->error("$filename : $!\n"); - my $query = ""; - my $loop = 0; - my $sth; - - - while () { - - if ($loop && /^--\s*end\s*(procedure|function|trigger)/i) { - $loop = 0; - - $sth = $dbh->prepare($query); - $sth->execute || $form->dberror($query); - $sth->finish; - - $query = ""; - next; - } - - if ($loop || /^create *(or replace)? *(procedure|function|trigger)/i) { - $loop = 1; - next if /^(--.*|\s+)$/; - - $query .= $_; - next; - } - - # don't add comments or empty lines - next if /^(--.*|\s+)$/; - - # anything else, add to query - $query .= $_; - - if (/;\s*$/) { - # strip ;... Oracle doesn't like it - $query =~ s/;\s*$//; - $query =~ s/\\'/''/g; - - $sth = $dbh->prepare($query); - $sth->execute || $form->dberror($query); - $sth->finish; - - $query = ""; - } - + open(PSQL, "| psql") or $form->error("psql : $! \n"); + while (){ + print PSQL $_; } close FH; -- cgit v1.2.3