Index: main/trunk/greenstone2/perllib/dbutil.pm
===================================================================
--- main/trunk/greenstone2/perllib/dbutil.pm	(revision 21411)
+++ main/trunk/greenstone2/perllib/dbutil.pm	(revision 21544)
@@ -29,10 +29,4 @@
 
 
-use dbutil::gdbmtxtgz;
-use dbutil::gdbm;
-use dbutil::jdbm;
-use dbutil::sqlite;
-use dbutil::mssql;
-
 sub open_infodb_write_handle
 {
@@ -42,20 +36,25 @@
   if ($infodb_type eq "sqlite") 
   {
+    require dbutil::sqlite;
     return &dbutil::sqlite::open_infodb_write_handle($infodb_file_path);
   } 
   elsif ($infodb_type eq "gdbm-txtgz") 
   {
+    require dbutil::gdbmtxtgz;
     return &dbutil::gdbmtxtgz::open_infodb_write_handle($infodb_file_path);
   } 
   elsif ($infodb_type eq "jdbm") 
   {
+    require dbutil::jdbm;
     return &dbutil::jdbm::open_infodb_write_handle($infodb_file_path);
   } 
   elsif ($infodb_type eq "mssql") 
   {
+    require dbutil::mssql;
     return &dbutil::mssql::open_infodb_write_handle($infodb_file_path);
   } 
 
   # Use GDBM if the infodb type is empty or not one of the values above
+  require dbutil::gdbm;
   return &dbutil::gdbm::open_infodb_write_handle($infodb_file_path);
 }
@@ -69,20 +68,25 @@
   if ($infodb_type eq "sqlite")
   {
+    require dbutil::sqlite;
     return &dbutil::sqlite::close_infodb_write_handle($infodb_handle);
   }
   elsif ($infodb_type eq "gdbm-txtgz")
   {
+    require dbutil::gdbmtxtgz;
     return &dbutil::gdbmtxtgz::close_infodb_write_handle($infodb_handle);
   }
   elsif ($infodb_type eq "jdbm")
   {
+    require dbutil::jdbm;
     return &dbutil::jdbm::close_infodb_write_handle($infodb_handle);
   }
   elsif ($infodb_type eq "mssql")
   {
+    require dbutil::mssql;
     return &dbutil::mssql::close_infodb_write_handle($infodb_handle);
   }
     
   # Use GDBM if the infodb type is empty or not one of the values above
+  require dbutil::gdbm;
   return &dbutil::gdbm::close_infodb_write_handle($infodb_handle);
 }
@@ -105,12 +109,15 @@
   if ($infodb_type eq "sqlite")
   {
+    require dbutil::sqlite;
     return &dbutil::sqlite::get_infodb_file_path($collection_name, $infodb_directory_path);
   }
   elsif ($infodb_type eq "gdbm-txtgz")
   {
+    require dbutil::gdbmtxtgz;
     return &dbutil::gdbmtxtgz::get_infodb_file_path($collection_name, $infodb_directory_path);
   }
   elsif ($infodb_type eq "jdbm")
   {
+    require dbutil::jdbm;
     return &dbutil::jdbm::get_infodb_file_path($collection_name, $infodb_directory_path);
   }
@@ -128,8 +135,10 @@
     # the this might need some tidy up sometime.
     #==================================================================================================#
+    require dbutil::mssql;
     return &dbutil::mssql::get_infodb_file_path($collection_name, $infodb_directory_path); 
   }
   
   # Use GDBM if the infodb type is empty or not one of the values above
+  require dbutil::gdbm;
   return &dbutil::gdbm::get_infodb_file_path($collection_name, $infodb_directory_path);
 }
@@ -144,20 +153,25 @@
   if ($infodb_type eq "sqlite")
   {
+    require dbutil::sqlite;
     return &dbutil::sqlite::read_infodb_file($infodb_file_path, $infodb_map);
   }
   elsif ($infodb_type eq "gdbm-txtgz")
   {
+    require dbutil::gdbmtxtgz;
     return &dbutil::gdbmtxtgz::read_infodb_file($infodb_file_path, $infodb_map);
   }
   elsif ($infodb_type eq "jdbm")
   {
+    require dbutil::jdbm;
     return &dbutil::jdbm::read_infodb_file($infodb_file_path, $infodb_map);
   }
   elsif ($infodb_type eq "mssql")
   {
+    require dbutil::mssql;
     return &dbutil::mssql::read_infodb_file($infodb_file_path, $infodb_map);
   }
   
   # Use GDBM if the infodb type is empty or not one of the values above
+  require dbutil::gdbm;
   return &dbutil::gdbm::read_infodb_file($infodb_file_path, $infodb_map);
 }
@@ -173,20 +187,25 @@
   if ($infodb_type eq "sqlite")
   {
+    require dbutil::sqlite;
     return &dbutil::sqlite::write_infodb_entry($infodb_handle, $infodb_key, $infodb_map);
   }
   elsif ($infodb_type eq "gdbm-txtgz")
   {
+    require dbutil::gdbmtxtgz;
     return &dbutil::gdbmtxtgz::write_infodb_entry($infodb_handle, $infodb_key, $infodb_map);
   }
   elsif ($infodb_type eq "jdbm")
   {
+    require dbutil::jdbm;
     return &dbutil::jdbm::write_infodb_entry($infodb_handle, $infodb_key, $infodb_map);
   }
   elsif ($infodb_type eq "mssql")
   {
+    require dbutil::mssql;
     return &dbutil::mssql::write_infodb_entry($infodb_handle, $infodb_key, $infodb_map);
   }
 
   # Use GDBM if the infodb type is empty or not one of the values above
+  require dbutil::gdbm;
   return &dbutil::gdbm::write_infodb_entry($infodb_handle, $infodb_key, $infodb_map);
 }
@@ -201,20 +220,25 @@
   if ($infodb_type eq "sqlite")
   {
+    require dbutil::sqlite;
     return &dbutil::sqlite::delete_infodb_entry($infodb_handle, $infodb_key);
   }
   elsif ($infodb_type eq "gdbm-txtgz")
   {
+    require dbutil::gdbmtxtgz;
     return &dbutil::gdbmtxtgz::delete_infodb_entry($infodb_handle, $infodb_key);
   }
   elsif ($infodb_type eq "jdbm")
   {
+    require dbutil::jdbm;
     return &dbutil::jdbm::delete_infodb_entry($infodb_handle, $infodb_key);
   }
   elsif ($infodb_type eq "mssql")
   {
+    require dbutil::mssql;
     return &dbutil::mssql::delete_infodb_entry($infodb_handle, $infodb_key);
   }
 
   # Use GDBM if the infodb type is empty or not one of the values above
+  require dbutil::gdbm;
   return &dbutil::gdbm::delete_infodb_entry($infodb_handle, $infodb_key);
 }
