You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@empire-db.apache.org by do...@apache.org on 2022/01/20 15:27:27 UTC

[empire-db] branch version3 updated: EMPIREDB-362 changes package names of db driver classes from org.apache.empire.db.* to org.apache.empire.db.driver.*

This is an automated email from the ASF dual-hosted git repository.

doebele pushed a commit to branch version3
in repository https://gitbox.apache.org/repos/asf/empire-db.git


The following commit(s) were added to refs/heads/version3 by this push:
     new cf04d72  EMPIREDB-362 changes package names of db driver classes from org.apache.empire.db.* to org.apache.empire.db.driver.*
cf04d72 is described below

commit cf04d721a1ae5537a59767e9172ede8d930336c9
Author: Rainer Döbele <do...@apache.org>
AuthorDate: Thu Jan 20 16:27:24 2022 +0100

    EMPIREDB-362
    changes package names of db driver classes from org.apache.empire.db.* to org.apache.empire.db.driver.*
---
 .../empire-db-example-advanced/config.xml          | 14 +++---
 .../empire/samples/db/advanced/SampleAdvApp.java   | 50 +++++++++++-----------
 .../empire-db-example-basic/config.xml             | 14 +++---
 .../org/apache/empire/samples/db/SampleApp.java    |  8 ++--
 .../jsf2/websample/web/SampleApplication.java      |  8 ++--
 .../apache/empire/rest/app/SampleServiceApp.java   |  2 +-
 .../empire/rest/service/EmployeeService.java       |  2 +-
 .../main/java/org/apache/empire/db/DBRecord.java   |  4 +-
 .../main/java/org/apache/empire/db/DBRowSet.java   |  4 +-
 .../{ => driver}/derby/DBDatabaseDriverDerby.java  |  2 +-
 .../db/{ => driver}/derby/DerbyDDLGenerator.java   |  2 +-
 .../empire/db/{ => driver}/derby/package.html      |  0
 .../db/{ => driver}/h2/DBDatabaseDriverH2.java     |  2 +-
 .../empire/db/{ => driver}/h2/H2DDLGenerator.java  |  2 +-
 .../apache/empire/db/{ => driver}/h2/package.html  |  0
 .../db/{ => driver}/hsql/DBDatabaseDriverHSql.java |  2 +-
 .../db/{ => driver}/hsql/HSqlDDLGenerator.java     |  2 +-
 .../empire/db/{ => driver}/hsql/package.html       |  0
 .../{ => driver}/mysql/DBDatabaseDriverMySQL.java  |  2 +-
 .../db/{ => driver}/mysql/MySQLDDLGenerator.java   |  2 +-
 .../empire/db/{ => driver}/mysql/package.html      |  0
 .../db/{ => driver}/oracle/DBCommandOracle.java    |  2 +-
 .../oracle/DBDatabaseDriverOracle.java             |  2 +-
 .../{ => driver}/oracle/OracleDBModelChecker.java  |  4 +-
 .../db/{ => driver}/oracle/OracleDDLGenerator.java |  4 +-
 .../{ => driver}/oracle/OracleDataDictionnary.java |  2 +-
 .../db/{ => driver}/oracle/OracleRowNumExpr.java   |  2 +-
 .../db/{ => driver}/oracle/OracleSYSDatabase.java  |  2 +-
 .../empire/db/{ => driver}/oracle/package.html     |  0
 .../postgresql/DBDatabaseDriverPostgreSQL.java     |  2 +-
 .../postgresql/PostgreDDLGenerator.java            |  2 +-
 .../empire/db/{ => driver}/postgresql/package.html |  0
 .../sqlite/DBDatabaseDriverSQLite.java             |  2 +-
 .../db/{ => driver}/sqlite/SQLiteDDLGenerator.java |  2 +-
 .../sqlserver/DBDatabaseDriverMSSQL.java           |  2 +-
 .../sqlserver/MSSqlDBModelChecker.java             |  2 +-
 .../{ => driver}/sqlserver/MSSqlDDLGenerator.java  |  2 +-
 .../empire/db/{ => driver}/sqlserver/package.html  |  0
 .../test/java/org/apache/empire/DBResource.java    | 12 +++---
 .../java/org/apache/empire/db/IntegerTest.java     | 16 +++----
 .../empire/db/mysql/DBDatabaseDriverMySQLTest.java |  1 +
 .../postgresql/DBDatabaseDriverPostgreSQLTest.java |  1 +
 42 files changed, 93 insertions(+), 91 deletions(-)

diff --git a/empire-db-examples/empire-db-example-advanced/config.xml b/empire-db-examples/empire-db-example-advanced/config.xml
index 422f9dd..f5b559f 100644
--- a/empire-db-examples/empire-db-example-advanced/config.xml
+++ b/empire-db-examples/empire-db-example-advanced/config.xml
@@ -32,7 +32,7 @@
 		<jdbcUser>sa</jdbcUser>
 		<jdbcPwd></jdbcPwd>
 		<!-- Empire-db driver configuration -->
-		<empireDBDriverClass>org.apache.empire.db.hsql.DBDatabaseDriverHSql</empireDBDriverClass>
+		<empireDBDriverClass>org.apache.empire.db.driver.hsql.DBDatabaseDriverHSql</empireDBDriverClass>
 		<empireDBDriverProperites>
 			<!-- no properties -->
 		</empireDBDriverProperites>
@@ -46,7 +46,7 @@
 		<jdbcUser>root</jdbcUser>
 		<jdbcPwd>esteam</jdbcPwd>
 		<!-- Empire-db driver configuration -->
-		<empireDBDriverClass>org.apache.empire.db.mysql.DBDatabaseDriverMySQL</empireDBDriverClass>
+		<empireDBDriverClass>org.apache.empire.db.driver.mysql.DBDatabaseDriverMySQL</empireDBDriverClass>
 		<empireDBDriverProperites>
 			<databaseName>DBSAMPLEADV</databaseName>
 		</empireDBDriverProperites>
@@ -60,7 +60,7 @@
 		<jdbcUser>postgres</jdbcUser>
 		<jdbcPwd>postgres</jdbcPwd>
 		<!-- Empire-db driver configuration -->
-		<empireDBDriverClass>org.apache.empire.db.postgresql.DBDatabaseDriverPostgreSQL</empireDBDriverClass>
+		<empireDBDriverClass>org.apache.empire.db.driver.postgresql.DBDatabaseDriverPostgreSQL</empireDBDriverClass>
 		<empireDBDriverProperites>
 			<databaseName>DBSAMPLEADV</databaseName>
 		</empireDBDriverProperites>
@@ -74,7 +74,7 @@
 		<jdbcUser>sa</jdbcUser>
 		<jdbcPwd></jdbcPwd>
 		<!-- Empire-db driver configuration -->
-		<empireDBDriverClass>org.apache.empire.db.h2.DBDatabaseDriverH2</empireDBDriverClass>
+		<empireDBDriverClass>org.apache.empire.db.driver.h2.DBDatabaseDriverH2</empireDBDriverClass>
 		<empireDBDriverProperites>
 			<databaseName>DBSAMPLEADV</databaseName>
 		</empireDBDriverProperites>
@@ -88,7 +88,7 @@
 		<jdbcUser></jdbcUser>
 		<jdbcPwd></jdbcPwd>
 		<!-- Empire-db driver configuration -->
-		<empireDBDriverClass>org.apache.empire.db.derby.DBDatabaseDriverDerby</empireDBDriverClass>
+		<empireDBDriverClass>org.apache.empire.db.driver.derby.DBDatabaseDriverDerby</empireDBDriverClass>
 		<empireDBDriverProperites>
 			<databaseName>DBSAMPLEADV</databaseName>
 		</empireDBDriverProperites>
@@ -102,7 +102,7 @@
 		<jdbcUser>DBSAMPLEADV</jdbcUser>
 		<jdbcPwd>DBSAMPLEADV</jdbcPwd>
 		<!-- Empire-db driver configuration -->
-		<empireDBDriverClass>org.apache.empire.db.oracle.DBDatabaseDriverOracle</empireDBDriverClass>
+		<empireDBDriverClass>org.apache.empire.db.driver.oracle.DBDatabaseDriverOracle</empireDBDriverClass>
 		<empireDBDriverProperites>
 			<!-- no properties -->
 		</empireDBDriverProperites>
@@ -115,7 +115,7 @@
 		<jdbcUser>jdbcUser</jdbcUser>
 		<jdbcPwd>jdbcPwd</jdbcPwd>
 		<!-- Empire-db driver configuration -->
-		<empireDBDriverClass>org.apache.empire.db.sqlserver.DBDatabaseDriverMSSQL</empireDBDriverClass>
+		<empireDBDriverClass>org.apache.empire.db.driver.sqlserver.DBDatabaseDriverMSSQL</empireDBDriverClass>
 		<empireDBDriverProperites>
 			<databaseName>DBSAMPLEADV</databaseName>
 			<useSequenceTable>false</useSequenceTable>
diff --git a/empire-db-examples/empire-db-example-advanced/src/main/java/org/apache/empire/samples/db/advanced/SampleAdvApp.java b/empire-db-examples/empire-db-example-advanced/src/main/java/org/apache/empire/samples/db/advanced/SampleAdvApp.java
index 9de56ba..33cff80 100644
--- a/empire-db-examples/empire-db-example-advanced/src/main/java/org/apache/empire/samples/db/advanced/SampleAdvApp.java
+++ b/empire-db-examples/empire-db-example-advanced/src/main/java/org/apache/empire/samples/db/advanced/SampleAdvApp.java
@@ -40,9 +40,9 @@ import org.apache.empire.db.DBSQLScript;
 import org.apache.empire.db.DBTableColumn;
 import org.apache.empire.db.DBUtils;
 import org.apache.empire.db.context.DBContextStatic;
+import org.apache.empire.db.driver.h2.DBDatabaseDriverH2;
+import org.apache.empire.db.driver.postgresql.DBDatabaseDriverPostgreSQL;
 import org.apache.empire.db.exceptions.ConstraintViolationException;
-import org.apache.empire.db.h2.DBDatabaseDriverH2;
-import org.apache.empire.db.postgresql.DBDatabaseDriverPostgreSQL;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -128,14 +128,14 @@ public class SampleAdvApp
             // STEP 6: Insert Records
             // Insert Departments
             System.out.println("*** Step 6: inserting departments, employees and employee_department_history records ***");
-            int idDevDep  = insertDepartment(conn, "Development", "ITTK");
-            int idProdDep = insertDepartment(conn, "Production", "ITTK");
-            int idSalDep  = insertDepartment(conn, "Sales", "ITTK");
+            int idDevDep  = insertDepartment("Development", "ITTK");
+            int idProdDep = insertDepartment("Production", "ITTK");
+            int idSalDep  = insertDepartment("Sales", "ITTK");
 
             // Insert Employees
-            int idEmp1 = insertEmployee(conn, "Peter", "Sharp", "M");
-            int idEmp2 = insertEmployee(conn, "Fred", "Bloggs", "M");
-            int idEmp3 = insertEmployee(conn, "Emma", "White", "F");
+            int idEmp1 = insertEmployee("Peter", "Sharp", "M");
+            int idEmp2 = insertEmployee("Fred", "Bloggs", "M");
+            int idEmp3 = insertEmployee("Emma", "White", "F");
             
             // Insert History as batch
             DBSQLScript batch = new DBSQLScript(context);
@@ -160,12 +160,12 @@ public class SampleAdvApp
             DBCommand cmd = db.createCommand();
             cmd.select (db.V_EMPLOYEE_INFO.getColumns());
             cmd.orderBy(db.V_EMPLOYEE_INFO.C_NAME_AND_DEP);
-            printQueryResults(cmd, conn);
+            printQueryResults(cmd);
 
             // STEP 8: prepared Statement sample
             System.out.println("--------------------------------------------------------");
             System.out.println("*** commandParamsSample: shows how to use command parameters for the generation of prepared statements ***");
-            commandParamsSample(conn, idProdDep, idDevDep);
+            commandParamsSample(idProdDep, idDevDep);
 
             // STEP 9: bulkReadRecords
             System.out.println("--------------------------------------------------------");
@@ -178,12 +178,12 @@ public class SampleAdvApp
             // STEP 10: bulkProcessRecords
             System.out.println("--------------------------------------------------------");
             System.out.println("*** bulkProcessRecords: creates a checksum for every employee in the employees table ***");
-            bulkProcessRecords(conn);
+            bulkProcessRecords();
 
             // STEP 11: querySample
             System.out.println("--------------------------------------------------------");
             System.out.println("*** querySample: shows how to use DBQuery class for subqueries and multi table records ***");
-            querySample(conn, idEmp2);
+            querySample(idEmp2);
 
             // STEP 12: ddlSample
             System.out.println("--------------------------------------------------------");
@@ -195,7 +195,7 @@ public class SampleAdvApp
             	db.getDriver().getDDLScript(DBCmdType.DROP, db.V_EMPLOYEE_INFO, script);
             	script.executeAll();
             }
-            ddlSample(conn, idEmp2);
+            ddlSample(idEmp2);
             if (db.getDriver() instanceof DBDatabaseDriverH2) {
             	log.info("And put back the view");
             	System.out.println("*** create EMPLOYEE_INFO_VIEW ***");
@@ -207,7 +207,7 @@ public class SampleAdvApp
             // STEP 13: delete records
             System.out.println("--------------------------------------------------------");
             System.out.println("*** deleteRecordSample: shows how to delete records (with and without cascade) ***");
-            deleteRecordSample(idEmp3, idSalDep, conn);
+            deleteRecordSample(idEmp3, idSalDep);
             
             // Done
             System.out.println("--------------------------------------------------------");
@@ -340,7 +340,7 @@ public class SampleAdvApp
      * Insert a Department into the Departments table.
      * </PRE>
      */
-    private static int insertDepartment(Connection conn, String departmentName, String businessUnit)
+    private static int insertDepartment(String departmentName, String businessUnit)
     {
         // Insert a Department
         DBRecord rec = new DBRecord(context, T_DEP);
@@ -357,7 +357,7 @@ public class SampleAdvApp
      * Inserts an Employee into the Employees table.
      * </PRE>
      */
-    private static int insertEmployee(Connection conn, String firstName, String lastName, String gender)
+    private static int insertEmployee(String firstName, String lastName, String gender)
     {
         // Insert an Employee
         DBRecord rec = new DBRecord(context, T_EMP);
@@ -395,7 +395,7 @@ public class SampleAdvApp
     }
 
     /* This procedure demonstrates the use of command parameter for prepared statements */
-    private static void commandParamsSample(Connection conn, int idProdDep, int idDevDep)
+    private static void commandParamsSample(int idProdDep, int idDevDep)
     {
         // create a command
         DBCommand cmd = db.createCommand();
@@ -451,7 +451,7 @@ public class SampleAdvApp
      * <P>
      * @param conn a connection to the database
      */
-    private static void bulkProcessRecords(Connection conn)
+    private static void bulkProcessRecords()
     {
         // Define the query
         DBCommand cmd = db.createCommand();
@@ -543,7 +543,7 @@ public class SampleAdvApp
      * This function demonstrates the use of the {@link DBDatabaseDriver#getDDLScript(org.apache.empire.db.DBCmdType, org.apache.empire.db.DBObject, DBSQLScript)}<BR>
      * 
      */
-    private static void ddlSample(Connection conn, int idTestPerson)
+    private static void ddlSample(int idTestPerson)
     {
         // Enable Column default for the database 
         // This is needed for adding required fields to non-empty tables
@@ -596,7 +596,7 @@ public class SampleAdvApp
      * @param conn
      * @param employeeId
      */
-    private static void querySample(Connection conn, int employeeId)
+    private static void querySample(int employeeId)
     {
         // Define the sub query
         DBCommand subCmd = db.createCommand();
@@ -624,7 +624,7 @@ public class SampleAdvApp
         cmd.orderBy(T_EMP.C_FIRSTNAME);
 
         // Query Records and print output
-        printQueryResults(cmd, conn);
+        printQueryResults(cmd);
         
         // Define an updateable query
         DBQuery Q_EMP_DEP = new DBQuery(cmd, T_EMP.C_EMPLOYEE_ID);
@@ -646,18 +646,18 @@ public class SampleAdvApp
      * @param idDepartment the id of the department to delete
      * @param conn the connection
      */
-    private static void deleteRecordSample(int idEmployee, int idDepartment, Connection conn)
+    private static void deleteRecordSample(int idEmployee, int idDepartment)
     {
         context.commit();
         // Delete an employee
         // This statement is designed to succeed since cascaded deletes are enabled for this relation.
-        db.T_EMPLOYEES.deleteRecord(idEmployee, conn);
+        db.T_EMPLOYEES.deleteRecord(idEmployee, context);
         System.out.println("The employee has been sucessfully deleted");
 
         // Delete a department
         // This statement is designed to fail since cascaded deletes are not on!
         try {
-            db.T_DEPARTMENTS.deleteRecord(idDepartment, conn);
+            db.T_DEPARTMENTS.deleteRecord(idDepartment, context);
         } catch(ConstraintViolationException e) {
             System.out.println("Delete of department failed as expected due to existing depending records.");
         }
@@ -668,7 +668,7 @@ public class SampleAdvApp
      * @param cmd the command to be used for performing the query
      * @param conn the connection
      */
-    private static void printQueryResults(DBCommand cmd, Connection conn)
+    private static void printQueryResults(DBCommand cmd)
     {
         // Query Records and print output
         DBReader reader = new DBReader(context);
diff --git a/empire-db-examples/empire-db-example-basic/config.xml b/empire-db-examples/empire-db-example-basic/config.xml
index c986493..1f70279 100644
--- a/empire-db-examples/empire-db-example-basic/config.xml
+++ b/empire-db-examples/empire-db-example-basic/config.xml
@@ -32,7 +32,7 @@
 		<jdbcUser>sa</jdbcUser>
 		<jdbcPwd></jdbcPwd>
 		<!-- Empire-db driver configuration -->
-		<empireDBDriverClass>org.apache.empire.db.hsql.DBDatabaseDriverHSql</empireDBDriverClass>
+		<empireDBDriverClass>org.apache.empire.db.driver.hsql.DBDatabaseDriverHSql</empireDBDriverClass>
 		<empireDBDriverProperites>
 			<!-- no properties -->
 		</empireDBDriverProperites>
@@ -46,7 +46,7 @@
 		<jdbcUser>root</jdbcUser>
 		<jdbcPwd>esteam</jdbcPwd>
 		<!-- Empire-db driver configuration -->
-		<empireDBDriverClass>org.apache.empire.db.mysql.DBDatabaseDriverMySQL</empireDBDriverClass>
+		<empireDBDriverClass>org.apache.empire.db.driver.mysql.DBDatabaseDriverMySQL</empireDBDriverClass>
 		<empireDBDriverProperites>
 			<databaseName>DBSAMPLE</databaseName>
 		</empireDBDriverProperites>
@@ -60,7 +60,7 @@
 		<jdbcUser>postgres</jdbcUser>
 		<jdbcPwd>postgres</jdbcPwd>
 		<!-- Empire-db driver configuration -->
-		<empireDBDriverClass>org.apache.empire.db.postgresql.DBDatabaseDriverPostgreSQL</empireDBDriverClass>
+		<empireDBDriverClass>org.apache.empire.db.driver.postgresql.DBDatabaseDriverPostgreSQL</empireDBDriverClass>
 		<empireDBDriverProperites>
 			<databaseName>DBSAMPLE</databaseName>
 		</empireDBDriverProperites>
@@ -74,7 +74,7 @@
 		<jdbcUser>sa</jdbcUser>
 		<jdbcPwd></jdbcPwd>
 		<!-- Empire-db driver configuration -->
-		<empireDBDriverClass>org.apache.empire.db.h2.DBDatabaseDriverH2</empireDBDriverClass>
+		<empireDBDriverClass>org.apache.empire.db.driver.h2.DBDatabaseDriverH2</empireDBDriverClass>
 		<empireDBDriverProperites>
 			<databaseName>DBSAMPLE</databaseName>
 		</empireDBDriverProperites>
@@ -88,7 +88,7 @@
 		<jdbcUser></jdbcUser>
 		<jdbcPwd></jdbcPwd>
 		<!-- Empire-db driver configuration -->
-		<empireDBDriverClass>org.apache.empire.db.derby.DBDatabaseDriverDerby</empireDBDriverClass>
+		<empireDBDriverClass>org.apache.empire.db.driver.derby.DBDatabaseDriverDerby</empireDBDriverClass>
 		<empireDBDriverProperites>
 			<databaseName>DBSAMPLE</databaseName>
 		</empireDBDriverProperites>
@@ -102,7 +102,7 @@
 		<jdbcUser>DBSAMPLE</jdbcUser>
 		<jdbcPwd>DBSAMPLE</jdbcPwd>
 		<!-- Empire-db driver configuration -->
-		<empireDBDriverClass>org.apache.empire.db.oracle.DBDatabaseDriverOracle</empireDBDriverClass>
+		<empireDBDriverClass>org.apache.empire.db.driver.oracle.DBDatabaseDriverOracle</empireDBDriverClass>
 		<empireDBDriverProperites>
 			<!-- no properties -->
 		</empireDBDriverProperites>
@@ -115,7 +115,7 @@
 		<jdbcUser>jdbcUser</jdbcUser>
 		<jdbcPwd>jdbcPwd</jdbcPwd>
 		<!-- Empire-db driver configuration -->
-		<empireDBDriverClass>org.apache.empire.db.sqlserver.DBDatabaseDriverMSSQL</empireDBDriverClass>
+		<empireDBDriverClass>org.apache.empire.db.driver.sqlserver.DBDatabaseDriverMSSQL</empireDBDriverClass>
 		<empireDBDriverProperites>
 			<databaseName>DBSAMPLE</databaseName>
 			<useSequenceTable>false</useSequenceTable>
diff --git a/empire-db-examples/empire-db-example-basic/src/main/java/org/apache/empire/samples/db/SampleApp.java b/empire-db-examples/empire-db-example-basic/src/main/java/org/apache/empire/samples/db/SampleApp.java
index ef89180..7613da8 100644
--- a/empire-db-examples/empire-db-example-basic/src/main/java/org/apache/empire/samples/db/SampleApp.java
+++ b/empire-db-examples/empire-db-example-basic/src/main/java/org/apache/empire/samples/db/SampleApp.java
@@ -33,10 +33,10 @@ import org.apache.empire.db.DBRecord;
 import org.apache.empire.db.DBSQLScript;
 import org.apache.empire.db.DBUtils;
 import org.apache.empire.db.context.DBContextStatic;
-import org.apache.empire.db.derby.DBDatabaseDriverDerby;
-import org.apache.empire.db.h2.DBDatabaseDriverH2;
-import org.apache.empire.db.hsql.DBDatabaseDriverHSql;
-import org.apache.empire.db.postgresql.DBDatabaseDriverPostgreSQL;
+import org.apache.empire.db.driver.derby.DBDatabaseDriverDerby;
+import org.apache.empire.db.driver.h2.DBDatabaseDriverH2;
+import org.apache.empire.db.driver.hsql.DBDatabaseDriverHSql;
+import org.apache.empire.db.driver.postgresql.DBDatabaseDriverPostgreSQL;
 import org.apache.empire.samples.db.SampleDB.Gender;
 import org.apache.empire.xml.XMLWriter;
 import org.slf4j.Logger;
diff --git a/empire-db-examples/empire-db-example-jsf2/src/main/java/org/apache/empire/jsf2/websample/web/SampleApplication.java b/empire-db-examples/empire-db-example-jsf2/src/main/java/org/apache/empire/jsf2/websample/web/SampleApplication.java
index b54ce50..d0654c4 100644
--- a/empire-db-examples/empire-db-example-jsf2/src/main/java/org/apache/empire/jsf2/websample/web/SampleApplication.java
+++ b/empire-db-examples/empire-db-example-jsf2/src/main/java/org/apache/empire/jsf2/websample/web/SampleApplication.java
@@ -34,11 +34,11 @@ import org.apache.empire.db.DBDatabaseDriver;
 import org.apache.empire.db.DBRecord;
 import org.apache.empire.db.DBSQLScript;
 import org.apache.empire.db.context.DBContextStatic;
+import org.apache.empire.db.driver.hsql.DBDatabaseDriverHSql;
+import org.apache.empire.db.driver.mysql.DBDatabaseDriverMySQL;
+import org.apache.empire.db.driver.oracle.DBDatabaseDriverOracle;
+import org.apache.empire.db.driver.sqlserver.DBDatabaseDriverMSSQL;
 import org.apache.empire.db.exceptions.QueryFailedException;
-import org.apache.empire.db.hsql.DBDatabaseDriverHSql;
-import org.apache.empire.db.mysql.DBDatabaseDriverMySQL;
-import org.apache.empire.db.oracle.DBDatabaseDriverOracle;
-import org.apache.empire.db.sqlserver.DBDatabaseDriverMSSQL;
 import org.apache.empire.jsf2.app.WebApplication;
 import org.apache.empire.jsf2.controls.InputControlManager;
 import org.apache.empire.jsf2.custom.controls.FileInputControl;
diff --git a/empire-db-examples/empire-db-example-vue/src/main/java/org/apache/empire/rest/app/SampleServiceApp.java b/empire-db-examples/empire-db-example-vue/src/main/java/org/apache/empire/rest/app/SampleServiceApp.java
index 4b90abb..7e46d04 100644
--- a/empire-db-examples/empire-db-example-vue/src/main/java/org/apache/empire/rest/app/SampleServiceApp.java
+++ b/empire-db-examples/empire-db-example-vue/src/main/java/org/apache/empire/rest/app/SampleServiceApp.java
@@ -36,8 +36,8 @@ import org.apache.empire.db.DBDatabaseDriver;
 import org.apache.empire.db.DBRecord;
 import org.apache.empire.db.DBSQLScript;
 import org.apache.empire.db.context.DBContextStatic;
+import org.apache.empire.db.driver.hsql.DBDatabaseDriverHSql;
 import org.apache.empire.db.exceptions.QueryFailedException;
-import org.apache.empire.db.hsql.DBDatabaseDriverHSql;
 import org.apache.empire.rest.service.Service;
 import org.apache.empire.vue.sample.db.SampleDB;
 import org.apache.log4j.ConsoleAppender;
diff --git a/empire-db-examples/empire-db-example-vue/src/main/java/org/apache/empire/rest/service/EmployeeService.java b/empire-db-examples/empire-db-example-vue/src/main/java/org/apache/empire/rest/service/EmployeeService.java
index 481034e..a62e7f8 100644
--- a/empire-db-examples/empire-db-example-vue/src/main/java/org/apache/empire/rest/service/EmployeeService.java
+++ b/empire-db-examples/empire-db-example-vue/src/main/java/org/apache/empire/rest/service/EmployeeService.java
@@ -211,7 +211,7 @@ public class EmployeeService extends Service {
         try {
             // return a record
             SampleDB db = getDatabase();
-            db.T_EMPLOYEES.deleteRecord(employeeId, ctx.getConnection());
+            db.T_EMPLOYEES.deleteRecord(employeeId, ctx);
             return Response.ok().build();
             
         } catch(EmpireException e) {
diff --git a/empire-db/src/main/java/org/apache/empire/db/DBRecord.java b/empire-db/src/main/java/org/apache/empire/db/DBRecord.java
index e49715f..20f5dfa 100644
--- a/empire-db/src/main/java/org/apache/empire/db/DBRecord.java
+++ b/empire-db/src/main/java/org/apache/empire/db/DBRecord.java
@@ -1093,7 +1093,7 @@ public class DBRecord extends DBRecordData implements DBContextAware, Record, Cl
         if (!isNew())
         {
             Object[] keys = rowset.getRecordKey(this);
-            rowset.deleteRecord(keys, conn);
+            rowset.deleteRecord(keys, context);
         }
         close();
     }
@@ -1108,7 +1108,7 @@ public class DBRecord extends DBRecordData implements DBContextAware, Record, Cl
         if (!isNew())
         {
             Object[] keys = rowset.getRecordKey(this);
-            rowset.deleteRecord(keys, context.getConnection());
+            rowset.deleteRecord(keys, context);
         }
         close();
     }
diff --git a/empire-db/src/main/java/org/apache/empire/db/DBRowSet.java b/empire-db/src/main/java/org/apache/empire/db/DBRowSet.java
index e1930e3..770c6c9 100644
--- a/empire-db/src/main/java/org/apache/empire/db/DBRowSet.java
+++ b/empire-db/src/main/java/org/apache/empire/db/DBRowSet.java
@@ -946,9 +946,9 @@ public abstract class DBRowSet extends DBExpr
      * @param id the record's primary key
      * @param conn a valid JDBC connection
      */
-    public final void deleteRecord(Object id, Connection conn)
+    public final void deleteRecord(long id, DBContext context)
     {
-        deleteRecord(new Object[] { id }, conn);
+        deleteRecord(new Object[] { id }, context);
     }
 
     /**
diff --git a/empire-db/src/main/java/org/apache/empire/db/derby/DBDatabaseDriverDerby.java b/empire-db/src/main/java/org/apache/empire/db/driver/derby/DBDatabaseDriverDerby.java
similarity index 99%
rename from empire-db/src/main/java/org/apache/empire/db/derby/DBDatabaseDriverDerby.java
rename to empire-db/src/main/java/org/apache/empire/db/driver/derby/DBDatabaseDriverDerby.java
index 0f88dfa..097ac78 100644
--- a/empire-db/src/main/java/org/apache/empire/db/derby/DBDatabaseDriverDerby.java
+++ b/empire-db/src/main/java/org/apache/empire/db/driver/derby/DBDatabaseDriverDerby.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.empire.db.derby;
+package org.apache.empire.db.driver.derby;
 
 import java.sql.Connection;
 import java.util.GregorianCalendar;
diff --git a/empire-db/src/main/java/org/apache/empire/db/derby/DerbyDDLGenerator.java b/empire-db/src/main/java/org/apache/empire/db/driver/derby/DerbyDDLGenerator.java
similarity index 95%
rename from empire-db/src/main/java/org/apache/empire/db/derby/DerbyDDLGenerator.java
rename to empire-db/src/main/java/org/apache/empire/db/driver/derby/DerbyDDLGenerator.java
index 518ec70..4d2cd40 100644
--- a/empire-db/src/main/java/org/apache/empire/db/derby/DerbyDDLGenerator.java
+++ b/empire-db/src/main/java/org/apache/empire/db/driver/derby/DerbyDDLGenerator.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.empire.db.derby;
+package org.apache.empire.db.driver.derby;
 
 import org.apache.empire.data.DataType;
 import org.apache.empire.db.DBDDLGenerator;
diff --git a/empire-db/src/main/java/org/apache/empire/db/derby/package.html b/empire-db/src/main/java/org/apache/empire/db/driver/derby/package.html
similarity index 100%
rename from empire-db/src/main/java/org/apache/empire/db/derby/package.html
rename to empire-db/src/main/java/org/apache/empire/db/driver/derby/package.html
diff --git a/empire-db/src/main/java/org/apache/empire/db/h2/DBDatabaseDriverH2.java b/empire-db/src/main/java/org/apache/empire/db/driver/h2/DBDatabaseDriverH2.java
similarity index 99%
rename from empire-db/src/main/java/org/apache/empire/db/h2/DBDatabaseDriverH2.java
rename to empire-db/src/main/java/org/apache/empire/db/driver/h2/DBDatabaseDriverH2.java
index 36aea77..c125b66 100644
--- a/empire-db/src/main/java/org/apache/empire/db/h2/DBDatabaseDriverH2.java
+++ b/empire-db/src/main/java/org/apache/empire/db/driver/h2/DBDatabaseDriverH2.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.empire.db.h2;
+package org.apache.empire.db.driver.h2;
 
 import java.sql.Connection;
 import java.util.GregorianCalendar;
diff --git a/empire-db/src/main/java/org/apache/empire/db/h2/H2DDLGenerator.java b/empire-db/src/main/java/org/apache/empire/db/driver/h2/H2DDLGenerator.java
similarity index 95%
rename from empire-db/src/main/java/org/apache/empire/db/h2/H2DDLGenerator.java
rename to empire-db/src/main/java/org/apache/empire/db/driver/h2/H2DDLGenerator.java
index 4a0e748..e197db5 100644
--- a/empire-db/src/main/java/org/apache/empire/db/h2/H2DDLGenerator.java
+++ b/empire-db/src/main/java/org/apache/empire/db/driver/h2/H2DDLGenerator.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.empire.db.h2;
+package org.apache.empire.db.driver.h2;
 
 import org.apache.empire.data.DataType;
 import org.apache.empire.db.DBDDLGenerator;
diff --git a/empire-db/src/main/java/org/apache/empire/db/h2/package.html b/empire-db/src/main/java/org/apache/empire/db/driver/h2/package.html
similarity index 100%
rename from empire-db/src/main/java/org/apache/empire/db/h2/package.html
rename to empire-db/src/main/java/org/apache/empire/db/driver/h2/package.html
diff --git a/empire-db/src/main/java/org/apache/empire/db/hsql/DBDatabaseDriverHSql.java b/empire-db/src/main/java/org/apache/empire/db/driver/hsql/DBDatabaseDriverHSql.java
similarity index 99%
rename from empire-db/src/main/java/org/apache/empire/db/hsql/DBDatabaseDriverHSql.java
rename to empire-db/src/main/java/org/apache/empire/db/driver/hsql/DBDatabaseDriverHSql.java
index f1e008c..3a32bf5 100644
--- a/empire-db/src/main/java/org/apache/empire/db/hsql/DBDatabaseDriverHSql.java
+++ b/empire-db/src/main/java/org/apache/empire/db/driver/hsql/DBDatabaseDriverHSql.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.empire.db.hsql;
+package org.apache.empire.db.driver.hsql;
 
 import java.sql.Connection;
 import java.util.GregorianCalendar;
diff --git a/empire-db/src/main/java/org/apache/empire/db/hsql/HSqlDDLGenerator.java b/empire-db/src/main/java/org/apache/empire/db/driver/hsql/HSqlDDLGenerator.java
similarity index 96%
rename from empire-db/src/main/java/org/apache/empire/db/hsql/HSqlDDLGenerator.java
rename to empire-db/src/main/java/org/apache/empire/db/driver/hsql/HSqlDDLGenerator.java
index 7e65fda..923b40c 100644
--- a/empire-db/src/main/java/org/apache/empire/db/hsql/HSqlDDLGenerator.java
+++ b/empire-db/src/main/java/org/apache/empire/db/driver/hsql/HSqlDDLGenerator.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.empire.db.hsql;
+package org.apache.empire.db.driver.hsql;
 
 import org.apache.empire.data.DataType;
 import org.apache.empire.db.DBCmdType;
diff --git a/empire-db/src/main/java/org/apache/empire/db/hsql/package.html b/empire-db/src/main/java/org/apache/empire/db/driver/hsql/package.html
similarity index 100%
rename from empire-db/src/main/java/org/apache/empire/db/hsql/package.html
rename to empire-db/src/main/java/org/apache/empire/db/driver/hsql/package.html
diff --git a/empire-db/src/main/java/org/apache/empire/db/mysql/DBDatabaseDriverMySQL.java b/empire-db/src/main/java/org/apache/empire/db/driver/mysql/DBDatabaseDriverMySQL.java
similarity index 99%
rename from empire-db/src/main/java/org/apache/empire/db/mysql/DBDatabaseDriverMySQL.java
rename to empire-db/src/main/java/org/apache/empire/db/driver/mysql/DBDatabaseDriverMySQL.java
index 1b50359..24307d1 100644
--- a/empire-db/src/main/java/org/apache/empire/db/mysql/DBDatabaseDriverMySQL.java
+++ b/empire-db/src/main/java/org/apache/empire/db/driver/mysql/DBDatabaseDriverMySQL.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.empire.db.mysql;
+package org.apache.empire.db.driver.mysql;
 
 import java.sql.Connection;
 import java.sql.SQLException;
diff --git a/empire-db/src/main/java/org/apache/empire/db/mysql/MySQLDDLGenerator.java b/empire-db/src/main/java/org/apache/empire/db/driver/mysql/MySQLDDLGenerator.java
similarity index 96%
rename from empire-db/src/main/java/org/apache/empire/db/mysql/MySQLDDLGenerator.java
rename to empire-db/src/main/java/org/apache/empire/db/driver/mysql/MySQLDDLGenerator.java
index 0575673..1635496 100644
--- a/empire-db/src/main/java/org/apache/empire/db/mysql/MySQLDDLGenerator.java
+++ b/empire-db/src/main/java/org/apache/empire/db/driver/mysql/MySQLDDLGenerator.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.empire.db.mysql;
+package org.apache.empire.db.driver.mysql;
 
 import java.util.Iterator;
 
diff --git a/empire-db/src/main/java/org/apache/empire/db/mysql/package.html b/empire-db/src/main/java/org/apache/empire/db/driver/mysql/package.html
similarity index 100%
rename from empire-db/src/main/java/org/apache/empire/db/mysql/package.html
rename to empire-db/src/main/java/org/apache/empire/db/driver/mysql/package.html
diff --git a/empire-db/src/main/java/org/apache/empire/db/oracle/DBCommandOracle.java b/empire-db/src/main/java/org/apache/empire/db/driver/oracle/DBCommandOracle.java
similarity index 99%
rename from empire-db/src/main/java/org/apache/empire/db/oracle/DBCommandOracle.java
rename to empire-db/src/main/java/org/apache/empire/db/driver/oracle/DBCommandOracle.java
index 1255f42..24f07b5 100644
--- a/empire-db/src/main/java/org/apache/empire/db/oracle/DBCommandOracle.java
+++ b/empire-db/src/main/java/org/apache/empire/db/driver/oracle/DBCommandOracle.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.empire.db.oracle;
+package org.apache.empire.db.driver.oracle;
 
 import java.util.ArrayList;
 // Imports
diff --git a/empire-db/src/main/java/org/apache/empire/db/oracle/DBDatabaseDriverOracle.java b/empire-db/src/main/java/org/apache/empire/db/driver/oracle/DBDatabaseDriverOracle.java
similarity index 99%
rename from empire-db/src/main/java/org/apache/empire/db/oracle/DBDatabaseDriverOracle.java
rename to empire-db/src/main/java/org/apache/empire/db/driver/oracle/DBDatabaseDriverOracle.java
index 0065780..4875256 100644
--- a/empire-db/src/main/java/org/apache/empire/db/oracle/DBDatabaseDriverOracle.java
+++ b/empire-db/src/main/java/org/apache/empire/db/driver/oracle/DBDatabaseDriverOracle.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.empire.db.oracle;
+package org.apache.empire.db.driver.oracle;
 
 import java.sql.Connection;
 import java.sql.ResultSet;
diff --git a/empire-db/src/main/java/org/apache/empire/db/oracle/OracleDBModelChecker.java b/empire-db/src/main/java/org/apache/empire/db/driver/oracle/OracleDBModelChecker.java
similarity index 93%
rename from empire-db/src/main/java/org/apache/empire/db/oracle/OracleDBModelChecker.java
rename to empire-db/src/main/java/org/apache/empire/db/driver/oracle/OracleDBModelChecker.java
index a3e323f..c25b2e1 100644
--- a/empire-db/src/main/java/org/apache/empire/db/oracle/OracleDBModelChecker.java
+++ b/empire-db/src/main/java/org/apache/empire/db/driver/oracle/OracleDBModelChecker.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.empire.db.oracle;
+package org.apache.empire.db.driver.oracle;
 
 import java.sql.Connection;
 
@@ -24,7 +24,7 @@ import org.apache.empire.data.DataType;
 import org.apache.empire.db.DBColumn;
 import org.apache.empire.db.DBDatabase;
 import org.apache.empire.db.DBDatabaseDriver;
-import org.apache.empire.db.oracle.DBDatabaseDriverOracle.BooleanType;
+import org.apache.empire.db.driver.oracle.DBDatabaseDriverOracle.BooleanType;
 import org.apache.empire.db.validation.DBModelChecker;
 import org.apache.empire.db.validation.DBModelErrorHandler;
 import org.apache.empire.exceptions.InvalidPropertyException;
diff --git a/empire-db/src/main/java/org/apache/empire/db/oracle/OracleDDLGenerator.java b/empire-db/src/main/java/org/apache/empire/db/driver/oracle/OracleDDLGenerator.java
similarity index 95%
rename from empire-db/src/main/java/org/apache/empire/db/oracle/OracleDDLGenerator.java
rename to empire-db/src/main/java/org/apache/empire/db/driver/oracle/OracleDDLGenerator.java
index 821f796..6ed8723 100644
--- a/empire-db/src/main/java/org/apache/empire/db/oracle/OracleDDLGenerator.java
+++ b/empire-db/src/main/java/org/apache/empire/db/driver/oracle/OracleDDLGenerator.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.empire.db.oracle;
+package org.apache.empire.db.driver.oracle;
 
 import org.apache.empire.data.DataType;
 import org.apache.empire.db.DBCmdType;
@@ -28,7 +28,7 @@ import org.apache.empire.db.DBObject;
 import org.apache.empire.db.DBSQLScript;
 import org.apache.empire.db.DBTable;
 import org.apache.empire.db.DBTableColumn;
-import org.apache.empire.db.oracle.DBDatabaseDriverOracle.BooleanType;
+import org.apache.empire.db.driver.oracle.DBDatabaseDriverOracle.BooleanType;
 
 public class OracleDDLGenerator extends DBDDLGenerator<DBDatabaseDriverOracle>
 {
diff --git a/empire-db/src/main/java/org/apache/empire/db/oracle/OracleDataDictionnary.java b/empire-db/src/main/java/org/apache/empire/db/driver/oracle/OracleDataDictionnary.java
similarity index 99%
rename from empire-db/src/main/java/org/apache/empire/db/oracle/OracleDataDictionnary.java
rename to empire-db/src/main/java/org/apache/empire/db/driver/oracle/OracleDataDictionnary.java
index 6e95d6d..06d315e 100644
--- a/empire-db/src/main/java/org/apache/empire/db/oracle/OracleDataDictionnary.java
+++ b/empire-db/src/main/java/org/apache/empire/db/driver/oracle/OracleDataDictionnary.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.empire.db.oracle;
+package org.apache.empire.db.driver.oracle;
 
 import java.util.Collection;
 import java.util.HashMap;
diff --git a/empire-db/src/main/java/org/apache/empire/db/oracle/OracleRowNumExpr.java b/empire-db/src/main/java/org/apache/empire/db/driver/oracle/OracleRowNumExpr.java
similarity index 94%
rename from empire-db/src/main/java/org/apache/empire/db/oracle/OracleRowNumExpr.java
rename to empire-db/src/main/java/org/apache/empire/db/driver/oracle/OracleRowNumExpr.java
index 49b3249..eeb93b8 100644
--- a/empire-db/src/main/java/org/apache/empire/db/oracle/OracleRowNumExpr.java
+++ b/empire-db/src/main/java/org/apache/empire/db/driver/oracle/OracleRowNumExpr.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.empire.db.oracle;
+package org.apache.empire.db.driver.oracle;
 
 // Java
 import java.util.Set;
diff --git a/empire-db/src/main/java/org/apache/empire/db/oracle/OracleSYSDatabase.java b/empire-db/src/main/java/org/apache/empire/db/driver/oracle/OracleSYSDatabase.java
similarity index 99%
rename from empire-db/src/main/java/org/apache/empire/db/oracle/OracleSYSDatabase.java
rename to empire-db/src/main/java/org/apache/empire/db/driver/oracle/OracleSYSDatabase.java
index 258ce37..d001f71 100644
--- a/empire-db/src/main/java/org/apache/empire/db/oracle/OracleSYSDatabase.java
+++ b/empire-db/src/main/java/org/apache/empire/db/driver/oracle/OracleSYSDatabase.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.empire.db.oracle;
+package org.apache.empire.db.driver.oracle;
 
 // java
 import org.apache.empire.data.DataType;
diff --git a/empire-db/src/main/java/org/apache/empire/db/oracle/package.html b/empire-db/src/main/java/org/apache/empire/db/driver/oracle/package.html
similarity index 100%
rename from empire-db/src/main/java/org/apache/empire/db/oracle/package.html
rename to empire-db/src/main/java/org/apache/empire/db/driver/oracle/package.html
diff --git a/empire-db/src/main/java/org/apache/empire/db/postgresql/DBDatabaseDriverPostgreSQL.java b/empire-db/src/main/java/org/apache/empire/db/driver/postgresql/DBDatabaseDriverPostgreSQL.java
similarity index 99%
rename from empire-db/src/main/java/org/apache/empire/db/postgresql/DBDatabaseDriverPostgreSQL.java
rename to empire-db/src/main/java/org/apache/empire/db/driver/postgresql/DBDatabaseDriverPostgreSQL.java
index f884dcc..73f2b8f 100644
--- a/empire-db/src/main/java/org/apache/empire/db/postgresql/DBDatabaseDriverPostgreSQL.java
+++ b/empire-db/src/main/java/org/apache/empire/db/driver/postgresql/DBDatabaseDriverPostgreSQL.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.empire.db.postgresql;
+package org.apache.empire.db.driver.postgresql;
 
 import java.sql.Connection;
 import java.sql.ResultSet;
diff --git a/empire-db/src/main/java/org/apache/empire/db/postgresql/PostgreDDLGenerator.java b/empire-db/src/main/java/org/apache/empire/db/driver/postgresql/PostgreDDLGenerator.java
similarity index 96%
rename from empire-db/src/main/java/org/apache/empire/db/postgresql/PostgreDDLGenerator.java
rename to empire-db/src/main/java/org/apache/empire/db/driver/postgresql/PostgreDDLGenerator.java
index a7364dc..98d8ba5 100644
--- a/empire-db/src/main/java/org/apache/empire/db/postgresql/PostgreDDLGenerator.java
+++ b/empire-db/src/main/java/org/apache/empire/db/driver/postgresql/PostgreDDLGenerator.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.empire.db.postgresql;
+package org.apache.empire.db.driver.postgresql;
 
 import org.apache.empire.data.DataType;
 import org.apache.empire.db.DBColumn;
diff --git a/empire-db/src/main/java/org/apache/empire/db/postgresql/package.html b/empire-db/src/main/java/org/apache/empire/db/driver/postgresql/package.html
similarity index 100%
rename from empire-db/src/main/java/org/apache/empire/db/postgresql/package.html
rename to empire-db/src/main/java/org/apache/empire/db/driver/postgresql/package.html
diff --git a/empire-db/src/main/java/org/apache/empire/db/sqlite/DBDatabaseDriverSQLite.java b/empire-db/src/main/java/org/apache/empire/db/driver/sqlite/DBDatabaseDriverSQLite.java
similarity index 99%
rename from empire-db/src/main/java/org/apache/empire/db/sqlite/DBDatabaseDriverSQLite.java
rename to empire-db/src/main/java/org/apache/empire/db/driver/sqlite/DBDatabaseDriverSQLite.java
index c8a1c64..3bbd209 100644
--- a/empire-db/src/main/java/org/apache/empire/db/sqlite/DBDatabaseDriverSQLite.java
+++ b/empire-db/src/main/java/org/apache/empire/db/driver/sqlite/DBDatabaseDriverSQLite.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.empire.db.sqlite;
+package org.apache.empire.db.driver.sqlite;
 
 import java.sql.Connection;
 import java.sql.PreparedStatement;
diff --git a/empire-db/src/main/java/org/apache/empire/db/sqlite/SQLiteDDLGenerator.java b/empire-db/src/main/java/org/apache/empire/db/driver/sqlite/SQLiteDDLGenerator.java
similarity index 95%
rename from empire-db/src/main/java/org/apache/empire/db/sqlite/SQLiteDDLGenerator.java
rename to empire-db/src/main/java/org/apache/empire/db/driver/sqlite/SQLiteDDLGenerator.java
index 85f6c9a..30710c5 100644
--- a/empire-db/src/main/java/org/apache/empire/db/sqlite/SQLiteDDLGenerator.java
+++ b/empire-db/src/main/java/org/apache/empire/db/driver/sqlite/SQLiteDDLGenerator.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.empire.db.sqlite;
+package org.apache.empire.db.driver.sqlite;
 
 import java.util.Iterator;
 import java.util.Map;
diff --git a/empire-db/src/main/java/org/apache/empire/db/sqlserver/DBDatabaseDriverMSSQL.java b/empire-db/src/main/java/org/apache/empire/db/driver/sqlserver/DBDatabaseDriverMSSQL.java
similarity index 99%
rename from empire-db/src/main/java/org/apache/empire/db/sqlserver/DBDatabaseDriverMSSQL.java
rename to empire-db/src/main/java/org/apache/empire/db/driver/sqlserver/DBDatabaseDriverMSSQL.java
index 2314b3a..055107e 100644
--- a/empire-db/src/main/java/org/apache/empire/db/sqlserver/DBDatabaseDriverMSSQL.java
+++ b/empire-db/src/main/java/org/apache/empire/db/driver/sqlserver/DBDatabaseDriverMSSQL.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.empire.db.sqlserver;
+package org.apache.empire.db.driver.sqlserver;
 
 import java.sql.Connection;
 import java.sql.PreparedStatement;
diff --git a/empire-db/src/main/java/org/apache/empire/db/sqlserver/MSSqlDBModelChecker.java b/empire-db/src/main/java/org/apache/empire/db/driver/sqlserver/MSSqlDBModelChecker.java
similarity index 97%
rename from empire-db/src/main/java/org/apache/empire/db/sqlserver/MSSqlDBModelChecker.java
rename to empire-db/src/main/java/org/apache/empire/db/driver/sqlserver/MSSqlDBModelChecker.java
index 2978163..e3a839c 100644
--- a/empire-db/src/main/java/org/apache/empire/db/sqlserver/MSSqlDBModelChecker.java
+++ b/empire-db/src/main/java/org/apache/empire/db/driver/sqlserver/MSSqlDBModelChecker.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.empire.db.sqlserver;
+package org.apache.empire.db.driver.sqlserver;
 
 import java.sql.DatabaseMetaData;
 import java.sql.SQLException;
diff --git a/empire-db/src/main/java/org/apache/empire/db/sqlserver/MSSqlDDLGenerator.java b/empire-db/src/main/java/org/apache/empire/db/driver/sqlserver/MSSqlDDLGenerator.java
similarity index 96%
rename from empire-db/src/main/java/org/apache/empire/db/sqlserver/MSSqlDDLGenerator.java
rename to empire-db/src/main/java/org/apache/empire/db/driver/sqlserver/MSSqlDDLGenerator.java
index d5af98b..b751342 100644
--- a/empire-db/src/main/java/org/apache/empire/db/sqlserver/MSSqlDDLGenerator.java
+++ b/empire-db/src/main/java/org/apache/empire/db/driver/sqlserver/MSSqlDDLGenerator.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.empire.db.sqlserver;
+package org.apache.empire.db.driver.sqlserver;
 
 import org.apache.empire.commons.ObjectUtils;
 import org.apache.empire.commons.StringUtils;
diff --git a/empire-db/src/main/java/org/apache/empire/db/sqlserver/package.html b/empire-db/src/main/java/org/apache/empire/db/driver/sqlserver/package.html
similarity index 100%
rename from empire-db/src/main/java/org/apache/empire/db/sqlserver/package.html
rename to empire-db/src/main/java/org/apache/empire/db/driver/sqlserver/package.html
diff --git a/empire-db/src/test/java/org/apache/empire/DBResource.java b/empire-db/src/test/java/org/apache/empire/DBResource.java
index 62f97cb..4bde3c1 100644
--- a/empire-db/src/test/java/org/apache/empire/DBResource.java
+++ b/empire-db/src/test/java/org/apache/empire/DBResource.java
@@ -25,12 +25,12 @@ import java.sql.Statement;
 
 import org.apache.empire.db.DBDatabaseDriver;
 import org.apache.empire.db.DBTools;
-import org.apache.empire.db.derby.DBDatabaseDriverDerby;
-import org.apache.empire.db.h2.DBDatabaseDriverH2;
-import org.apache.empire.db.hsql.DBDatabaseDriverHSql;
-import org.apache.empire.db.postgresql.DBDatabaseDriverPostgreSQL;
-import org.apache.empire.db.sqlite.DBDatabaseDriverSQLite;
-import org.apache.empire.db.sqlserver.DBDatabaseDriverMSSQL;
+import org.apache.empire.db.driver.derby.DBDatabaseDriverDerby;
+import org.apache.empire.db.driver.h2.DBDatabaseDriverH2;
+import org.apache.empire.db.driver.hsql.DBDatabaseDriverHSql;
+import org.apache.empire.db.driver.postgresql.DBDatabaseDriverPostgreSQL;
+import org.apache.empire.db.driver.sqlite.DBDatabaseDriverSQLite;
+import org.apache.empire.db.driver.sqlserver.DBDatabaseDriverMSSQL;
 import org.junit.rules.ExternalResource;
 
 public class DBResource extends ExternalResource
diff --git a/empire-db/src/test/java/org/apache/empire/db/IntegerTest.java b/empire-db/src/test/java/org/apache/empire/db/IntegerTest.java
index 2871b98..8e6aede 100644
--- a/empire-db/src/test/java/org/apache/empire/db/IntegerTest.java
+++ b/empire-db/src/test/java/org/apache/empire/db/IntegerTest.java
@@ -28,14 +28,14 @@ import java.util.List;
 
 import org.apache.empire.data.DataType;
 import org.apache.empire.db.context.DBContextStatic;
-import org.apache.empire.db.derby.DBDatabaseDriverDerby;
-import org.apache.empire.db.h2.DBDatabaseDriverH2;
-import org.apache.empire.db.hsql.DBDatabaseDriverHSql;
-import org.apache.empire.db.mysql.DBDatabaseDriverMySQL;
-import org.apache.empire.db.oracle.DBDatabaseDriverOracle;
-import org.apache.empire.db.postgresql.DBDatabaseDriverPostgreSQL;
-import org.apache.empire.db.sqlite.DBDatabaseDriverSQLite;
-import org.apache.empire.db.sqlserver.DBDatabaseDriverMSSQL;
+import org.apache.empire.db.driver.derby.DBDatabaseDriverDerby;
+import org.apache.empire.db.driver.h2.DBDatabaseDriverH2;
+import org.apache.empire.db.driver.hsql.DBDatabaseDriverHSql;
+import org.apache.empire.db.driver.mysql.DBDatabaseDriverMySQL;
+import org.apache.empire.db.driver.oracle.DBDatabaseDriverOracle;
+import org.apache.empire.db.driver.postgresql.DBDatabaseDriverPostgreSQL;
+import org.apache.empire.db.driver.sqlite.DBDatabaseDriverSQLite;
+import org.apache.empire.db.driver.sqlserver.DBDatabaseDriverMSSQL;
 import org.junit.Ignore;
 import org.junit.Test;
 import org.slf4j.Logger;
diff --git a/empire-db/src/test/java/org/apache/empire/db/mysql/DBDatabaseDriverMySQLTest.java b/empire-db/src/test/java/org/apache/empire/db/mysql/DBDatabaseDriverMySQLTest.java
index d759b1a..3e1666d 100644
--- a/empire-db/src/test/java/org/apache/empire/db/mysql/DBDatabaseDriverMySQLTest.java
+++ b/empire-db/src/test/java/org/apache/empire/db/mysql/DBDatabaseDriverMySQLTest.java
@@ -28,6 +28,7 @@ import org.apache.empire.db.DBCommand;
 import org.apache.empire.db.DBContext;
 import org.apache.empire.db.DBDatabaseDriver;
 import org.apache.empire.db.context.DBContextStatic;
+import org.apache.empire.db.driver.mysql.DBDatabaseDriverMySQL;
 import org.junit.Test;
 
 public class DBDatabaseDriverMySQLTest {
diff --git a/empire-db/src/test/java/org/apache/empire/db/postgresql/DBDatabaseDriverPostgreSQLTest.java b/empire-db/src/test/java/org/apache/empire/db/postgresql/DBDatabaseDriverPostgreSQLTest.java
index b01cf8c..b87c06c 100644
--- a/empire-db/src/test/java/org/apache/empire/db/postgresql/DBDatabaseDriverPostgreSQLTest.java
+++ b/empire-db/src/test/java/org/apache/empire/db/postgresql/DBDatabaseDriverPostgreSQLTest.java
@@ -35,6 +35,7 @@ import org.apache.empire.db.DBReader;
 import org.apache.empire.db.DBRecord;
 import org.apache.empire.db.DBSQLScript;
 import org.apache.empire.db.context.DBContextStatic;
+import org.apache.empire.db.driver.postgresql.DBDatabaseDriverPostgreSQL;
 import org.apache.empire.db.exceptions.QueryFailedException;
 import org.junit.Assert;
 import org.junit.Ignore;