You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficcontrol.apache.org by de...@apache.org on 2017/02/23 19:07:18 UTC

[1/2] incubator-trafficcontrol git commit: This closes #302

Repository: incubator-trafficcontrol
Updated Branches:
  refs/heads/master 386b6f47d -> c25149c8a


This closes #302


Project: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/commit/c25149c8
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/tree/c25149c8
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/diff/c25149c8

Branch: refs/heads/master
Commit: c25149c8a3233c8448da71f86693b1fec195c4a0
Parents: bbc4d83
Author: Dewayne Richardson <de...@apache.org>
Authored: Thu Feb 23 12:07:05 2017 -0700
Committer: Dewayne Richardson <de...@apache.org>
Committed: Thu Feb 23 12:07:05 2017 -0700

----------------------------------------------------------------------

----------------------------------------------------------------------



[2/2] incubator-trafficcontrol git commit: use uri form for pg_dump connection

Posted by de...@apache.org.
use uri form for pg_dump connection


Project: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/commit/bbc4d837
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/tree/bbc4d837
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/diff/bbc4d837

Branch: refs/heads/master
Commit: bbc4d8375a4a54ebeab3d7f9feac4f15c79df9eb
Parents: 386b6f4
Author: Dan Kirkwood <da...@gmail.com>
Authored: Thu Jan 19 14:23:23 2017 -0700
Committer: Dewayne Richardson <de...@apache.org>
Committed: Thu Feb 23 12:07:05 2017 -0700

----------------------------------------------------------------------
 traffic_ops/app/lib/UI/GenDbDump.pm | 19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/bbc4d837/traffic_ops/app/lib/UI/GenDbDump.pm
----------------------------------------------------------------------
diff --git a/traffic_ops/app/lib/UI/GenDbDump.pm b/traffic_ops/app/lib/UI/GenDbDump.pm
index 1fa8088..600b77d 100644
--- a/traffic_ops/app/lib/UI/GenDbDump.pm
+++ b/traffic_ops/app/lib/UI/GenDbDump.pm
@@ -22,22 +22,25 @@ sub dbdump {
 	my $self = shift;
 	my $filename = $self->param('filename');
 
+	my ($db_name, $host, $port) = $Schema::dsn =~ /:database=([^;]*);host=([^;]+);port=(\d+)/;
 	my $db_user = $Schema::user;
 	my $db_pass = $Schema::pass;
-	my $db_name = $Schema::dsn;
-	my $host;
-	my $port;
-	my $dsn = $Schema::dsn;
-	($db_name, $host, $port) = $dsn =~ /:database=(\w+);host=(\w+);port=(\d+)/;
+	my $uri = sprintf 'postgresql://%s:%s@%s:%s/%s', $db_user, $db_pass, $host, $port, $db_name;
 
-	my $cmd = "pg_dump -U " . $db_user . " -h localhost -C --column-insert";
-	my $extension = ".psql";
+	my $ok = open my $fh, '-|', "pg_dump $uri -C --column-insert";
+	if (! $ok ) {
+		$self->internal_server_error( { Error => "Error dumping database" } );	
+		return;
+	}
 
-	my $data = `$cmd`;
+	# slurp it in..
+	undef $/;
+	my $data = <$fh>;
 
 	$self->res->headers->content_type("application/download");
 	$self->res->headers->content_disposition( "attachment; filename=\"" . $filename . "\"" );
 	$self->render( data => $data );
+	close $fh;
 }
 
 1;