diff options
author | einhverfr <einhverfr@4979c152-3d1c-0410-bac9-87ea11338e46> | 2006-10-25 05:53:58 +0000 |
---|---|---|
committer | einhverfr <einhverfr@4979c152-3d1c-0410-bac9-87ea11338e46> | 2006-10-25 05:53:58 +0000 |
commit | 52635d70697fbe0c165c742cd9e9f5e316ff09a5 (patch) | |
tree | 610dcaac7104efad9575059fcf243f1e8012fbb8 /LedgerSMB | |
parent | 59073acdfc952eac35adb1088b2a97b60bfd991a (diff) |
Database upgrades now use psql
git-svn-id: https://ledger-smb.svn.sourceforge.net/svnroot/ledger-smb/trunk@302 4979c152-3d1c-0410-bac9-87ea11338e46
Diffstat (limited to 'LedgerSMB')
-rwxr-xr-x | LedgerSMB/User.pm | 47 |
1 files changed, 3 insertions, 44 deletions
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 (<FH>) { - - 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 (<FH>){ + print PSQL $_; } close FH; |