[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

SF.net SVN: ledger-smb: [119] trunk



Revision: 119
          http://svn.sourceforge.net/ledger-smb/?rev=119&view=rev
Author:   einhverfr
Date:     2006-09-19 07:32:11 -0700 (Tue, 19 Sep 2006)

Log Message:
-----------
If db superuser is now omitted, will try to create the dataset without
creating the database or language first.  This can be useful in shared hosting
environments. 

Modified Paths:
--------------
    trunk/Changelog
    trunk/LedgerSMB/User.pm

Modified: trunk/Changelog
===================================================================
--- trunk/Changelog	2006-09-19 05:43:57 UTC (rev 118)
+++ trunk/Changelog	2006-09-19 14:32:11 UTC (rev 119)
@@ -10,6 +10,7 @@
 * Protection against duplicate transaction id's.
 * Added foreign key constraint to acc_trans.chart_id
 * Database backups now use pg_dump
+* Database creation routines now attempt to add plpgsql to the db if not there.
 
 Security
 * One is required to change the admin password when it is blank (on first login etc).

Modified: trunk/LedgerSMB/User.pm
===================================================================
--- trunk/LedgerSMB/User.pm	2006-09-19 05:43:57 UTC (rev 118)
+++ trunk/LedgerSMB/User.pm	2006-09-19 14:32:11 UTC (rev 119)
@@ -308,15 +308,17 @@
   &dbconnect_vars($form, $form->{dbdefault});
   # The below line connects to Template1 or another template file in order
   # to create the db.  One must disconnect and reconnect later.
-  my $superdbh = DBI->connect(
-	$form->{dbconnect}, 
+  if ($form->{dbsuperuser}){
+    my $superdbh = DBI->connect(
+ 	$form->{dbconnect}, 
 	$form->{dbsuperuser}, 
 	$form->{dbsuperpasswd}
-  ) or $form->dberror;
-  my $query = qq|$dbcreate{$form->{dbdriver}}|;
-  $superdbh->do($query) || $form->dberror($query);
+    ) or $form->dberror;
+    my $query = qq|$dbcreate{$form->{dbdriver}}|;
+    $superdbh->do($query) || $form->dberror($query);
     
-  $superdbh->disconnect;  
+    $superdbh->disconnect;  
+  }
   #Reassign for the work below
 
   &dbconnect_vars($form, $form->{db});
@@ -326,19 +328,21 @@
 	$form->{dbuser}, 
 	$form->{dbpasswd}
   ) or $form->dberror;
-  my $superdbh = DBI->connect(
+  if ($form->{dbsuperuser}){
+    my $superdbh = DBI->connect(
 	$form->{dbconnect}, 
 	$form->{dbsuperuser}, 
 	$form->{dbsuperpasswd}
-  ) or $form->dberror;
+    ) or $form->dberror;
   # JD: We need to check for plpgsql, if it isn't there create it, if we can't error
   # Good chance I will have to do this twice as I get used to the way the code is
   # structured
 
-  my %langcreate = ( 'Pg' => qq|CREATE LANGUAGE plpgsql|);
-  my $query = qq|$langcreate{$form->{dbdriver}}|;
-  $superdbh->do($query);
-  
+    my %langcreate = ( 'Pg' => qq|CREATE LANGUAGE plpgsql|);
+    my $query = qq|$langcreate{$form->{dbdriver}}|;
+    $superdbh->do($query);
+    $superdbh->disconnect;
+  }
   # create the tables
   my $dbdriver = ($form->{dbdriver} =~ /Pg/) ? 'Pg' : $form->{dbdriver};
   


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.