From 6fbfafbbec8ada22dde6903d0e02f9d3876fa1c1 Mon Sep 17 00:00:00 2001
From: Max Kanat-Alexander <mkanat@bugzilla.org>
Date: Tue, 2 Nov 2010 16:39:57 -0700
Subject: [PATCH] The changes to bz_create_database done by the SQLite patch
 broke the creation of databases on other systems. This restores the original
 behavior while still retaining the correct error-throwing behavior for
 systems that can't create a SQLite database.

https://bugzilla.mozilla.org/show_bug.cgi?id=337776
---
 Bugzilla/DB.pm               | 2 +-
 Bugzilla/DB/Schema/Sqlite.pm | 9 +++++++++
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/Bugzilla/DB.pm b/Bugzilla/DB.pm
index ae9fffd3a..0a3123ee9 100644
--- a/Bugzilla/DB.pm
+++ b/Bugzilla/DB.pm
@@ -232,7 +232,7 @@ EOT
 sub bz_create_database {
     my $dbh;
     # See if we can connect to the actual Bugzilla database.
-    my $conn_success = $dbh = connect_main();
+    my $conn_success = eval { $dbh = connect_main() };
     my $db_name = Bugzilla->localconfig->{db_name};
 
     if (!$conn_success) {
diff --git a/Bugzilla/DB/Schema/Sqlite.pm b/Bugzilla/DB/Schema/Sqlite.pm
index 8f8af3803..171f6217c 100644
--- a/Bugzilla/DB/Schema/Sqlite.pm
+++ b/Bugzilla/DB/Schema/Sqlite.pm
@@ -64,6 +64,15 @@ sub _initialize {
 
 }
 
+sub get_create_database_sql {
+    # If we get here, it means there was some error creating the
+    # database file during bz_create_database in Bugzilla::DB,
+    # and we just want to display that error instead of doing
+    # anything else.
+    Bugzilla->dbh;
+    die "Reached an unreachable point";
+}
+
 sub get_type_ddl {
     my $self = shift;
     my $def = dclone($_[0]);
-- 
2.24.1