From ca8178629c5f3f834cd8e55ac89907a75fbb8639 Mon Sep 17 00:00:00 2001
From: Ana Emilia Machado <emiliaarruda@gmail.com>
Date: Mon, 21 Sep 2015 14:24:04 +0000
Subject: [PATCH] Add configure option --with-db-engine (defaults to InnoDB)
 for Bacula database engine customization

---
 bacula/autoconf/configure.in         | 15 +++++++++++++++
 bacula/configure                     | 17 +++++++++++++++++
 bacula/src/cats/make_mysql_tables.in |  4 ++++
 3 files changed, 36 insertions(+)

diff --git a/bacula/autoconf/configure.in b/bacula/autoconf/configure.in
index 19f8b78..4a8c441 100644
--- a/bacula/autoconf/configure.in
+++ b/bacula/autoconf/configure.in
@@ -1416,6 +1416,20 @@ AC_ARG_WITH(db_name,
 )
 AC_SUBST(db_name)
 
+dnl
+dnl Pickup database engine 
+dnl
+db_engine=INNODB
+AC_ARG_WITH(db_engine,
+   AC_HELP_STRING([--with-db-engine=DBENGINE], [specify database engine @<:@default=INNODB@:>@]),
+   [
+       if test "x$withval" != "x" ; then
+	  db_engine=$withval
+       fi
+   ]
+)
+AC_SUBST(db_engine)
+
 db_user=bacula
 AC_ARG_WITH(db_user,
    AC_HELP_STRING([--with-db-user=UNAME], [specify database user @<:@default=bacula@:>@]),
@@ -3487,6 +3501,7 @@ Configuration on `date`:
    Database backends:	     ${db_backends}
    Database port:	     ${db_port}
    Database name:	     ${db_name}
+   Database engine:	     ${db_engine}
    Database user:	     ${db_user}
 
    Job Output Email:	     ${job_email}
diff --git a/bacula/configure b/bacula/configure
index 572a980..2dc4488 100755
--- a/bacula/configure
+++ b/bacula/configure
@@ -685,6 +685,7 @@ db_port
 db_password
 db_user
 db_name
+db_engine
 mon_sd_password
 mon_fd_password
 mon_dir_password
@@ -983,6 +984,7 @@ with_mon_dir_password
 with_mon_fd_password
 with_mon_sd_password
 with_db_name
+with_db_engine
 with_db_user
 with_db_password
 with_db_port
@@ -23616,6 +23618,20 @@ fi
 
 
 
+db_engine=INNODB
+
+# Check whether --with-db_engine was given.
+if test "${with_db_engine+set}" = set; then :
+  withval=$with_db_engine;
+       if test "x$withval" != "x" ; then
+	  db_engine=$withval
+       fi
+
+
+fi
+
+
+
 db_user=bacula
 
 # Check whether --with-db_user was given.
@@ -33727,6 +33743,7 @@ Configuration on `date`:
    Database backends:	     ${db_backends}
    Database port:	     ${db_port}
    Database name:	     ${db_name}
+   Database engine:	     ${db_engine}
    Database user:	     ${db_user}
 
    Job Output Email:	     ${job_email}
diff --git a/bacula/src/cats/make_mysql_tables.in b/bacula/src/cats/make_mysql_tables.in
index 788617d..d74d2ff 100644
--- a/bacula/src/cats/make_mysql_tables.in
+++ b/bacula/src/cats/make_mysql_tables.in
@@ -12,6 +12,7 @@
 bindir=@MYSQL_BINDIR@
 PATH="$bindir:$PATH"
 db_name=${db_name:-@db_name@}
+db_engine=${db_engine:-@db_engine@}
 
 if mysql $* -f <<END-OF-DATA
 USE ${db_name};
@@ -21,6 +22,9 @@ USE ${db_name};
 --  sensitive in sorts, which is what we want, and TEXT
 --  is case insensitive.
 --
+
+SET default_storage_engine=${db_engine};
+
 CREATE TABLE Filename (
   FilenameId INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
   Name BLOB NOT NULL,
-- 
1.9.1

