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

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


The following commit(s) were added to refs/heads/master by this push:
     new 5fd23fd9 EMPIREDB-403 Added reference to DBMS in DBCommand constructor
5fd23fd9 is described below

commit 5fd23fd9c8afd017fcba28530b86e278004f282b
Author: Rainer Döbele <[email protected]>
AuthorDate: Thu Mar 9 12:46:16 2023 +0100

    EMPIREDB-403
    Added reference to DBMS in DBCommand constructor
---
 .../java/org/apache/empire/db/DBCombinedCmd.java   |  1 +
 .../main/java/org/apache/empire/db/DBCommand.java  |  8 ++++--
 .../java/org/apache/empire/db/DBCommandExpr.java   | 33 +++++++++++-----------
 .../org/apache/empire/dbms/DBMSHandlerBase.java    |  6 ++--
 .../org/apache/empire/dbms/h2/DBMSHandlerH2.java   |  6 ++--
 .../org/apache/empire/dbms/hsql/DBCommandHSql.java |  4 +--
 .../apache/empire/dbms/hsql/DBMSHandlerHSql.java   |  2 +-
 .../apache/empire/dbms/mysql/DBMSHandlerMySQL.java |  6 ++--
 .../apache/empire/dbms/oracle/DBCommandOracle.java |  4 +--
 .../empire/dbms/oracle/DBMSHandlerOracle.java      |  2 +-
 .../empire/dbms/postgresql/DBCommandPostgres.java  |  4 +--
 .../dbms/postgresql/DBMSHandlerPostgreSQL.java     |  2 +-
 .../empire/dbms/sqlite/DBMSHandlerSQLite.java      |  6 ++--
 .../empire/dbms/sqlserver/DBMSHandlerMSSQL.java    |  6 ++--
 14 files changed, 46 insertions(+), 44 deletions(-)

diff --git a/empire-db/src/main/java/org/apache/empire/db/DBCombinedCmd.java 
b/empire-db/src/main/java/org/apache/empire/db/DBCombinedCmd.java
index fa1d5c0e..2729fcf8 100644
--- a/empire-db/src/main/java/org/apache/empire/db/DBCombinedCmd.java
+++ b/empire-db/src/main/java/org/apache/empire/db/DBCombinedCmd.java
@@ -52,6 +52,7 @@ public class DBCombinedCmd extends DBCommandExpr
      */
     public DBCombinedCmd(DBCommandExpr left, String keyWord, DBCommandExpr 
right)
     {
+        super(left.getDbms());
         this.left = left;
         this.right = right;
         this.keyWord = keyWord;
diff --git a/empire-db/src/main/java/org/apache/empire/db/DBCommand.java 
b/empire-db/src/main/java/org/apache/empire/db/DBCommand.java
index d15ed678..f2ba88c6 100644
--- a/empire-db/src/main/java/org/apache/empire/db/DBCommand.java
+++ b/empire-db/src/main/java/org/apache/empire/db/DBCommand.java
@@ -40,6 +40,7 @@ import org.apache.empire.db.expr.join.DBCrossJoinExpr;
 import org.apache.empire.db.expr.join.DBJoinExpr;
 import org.apache.empire.db.expr.order.DBOrderByExpr;
 import org.apache.empire.db.expr.set.DBSetExpr;
+import org.apache.empire.dbms.DBMSHandler;
 import org.apache.empire.dbms.DBSqlPhrase;
 import org.apache.empire.exceptions.InvalidArgumentException;
 import org.apache.empire.exceptions.ItemNotFoundException;
@@ -114,8 +115,9 @@ public abstract class DBCommand extends DBCommandExpr
      * 
      * @param db the current database object
      */
-    protected DBCommand(boolean autoPrepareStmt, DBCmdParamList cmdParams)
+    protected DBCommand(DBMSHandler dbms, boolean autoPrepareStmt, 
DBCmdParamList cmdParams)
     {
+        super(dbms);
         this.autoPrepareStmt = autoPrepareStmt;
         this.cmdParams = cmdParams;
     }
@@ -125,9 +127,9 @@ public abstract class DBCommand extends DBCommandExpr
      * 
      * @param db the current database object
      */
-    protected DBCommand(boolean autoPrepareStmt)
+    protected DBCommand(DBMSHandler dbms, boolean autoPrepareStmt)
     {
-        this(autoPrepareStmt, new DBCmdParamList());
+        this(dbms, autoPrepareStmt, new DBCmdParamList());
     }
     
     /**
diff --git a/empire-db/src/main/java/org/apache/empire/db/DBCommandExpr.java 
b/empire-db/src/main/java/org/apache/empire/db/DBCommandExpr.java
index edaa4ea1..1b883ec2 100644
--- a/empire-db/src/main/java/org/apache/empire/db/DBCommandExpr.java
+++ b/empire-db/src/main/java/org/apache/empire/db/DBCommandExpr.java
@@ -57,9 +57,9 @@ public abstract class DBCommandExpr extends DBExpr
          * @param cmd the command expression
          * @param exprList 
          */
-        public DBCmdQuery(DBCommandExpr cmd, DBColumnExpr[] exprList)
+        public DBCmdQuery(DBCommandExpr cmd, DBDatabase db, DBColumnExpr[] 
exprList)
         { // Set the column expressions
-            super(cmd.getDatabase());
+            super(db);
             this.cmd = cmd;
             // Add Expressions to list
             for (int i = 0; i < exprList.length; i++)
@@ -283,13 +283,24 @@ public abstract class DBCommandExpr extends DBExpr
     }
 
     // Members
+    private final DBMSHandler     dbms;
     protected DBCmdQuery          cmdQuery = null;
     protected List<DBOrderByExpr> orderBy  = null;
 
     /** Constructs an empty DBCommandExpr object */
-    public DBCommandExpr()
+    public DBCommandExpr(DBMSHandler dbms)
     {
         // Default Constructor
+        this.dbms = dbms;
+    }
+    
+    /**
+     * returns the DBMSHandler this command belongs to
+     * @return the DBMSHandler
+     */
+    public final DBMSHandler getDbms()
+    {
+        return dbms;
     }
 
     /**
@@ -411,7 +422,6 @@ public abstract class DBCommandExpr extends DBExpr
      */
     public DBCommandExpr union(DBCommandExpr other)
     {   // give dbms a chance to subclass DBCombinedCmd
-       DBMSHandler dbms = getDatabase().getDbms();
        return dbms.createCombinedCommand(this, "UNION", other);
     }
 
@@ -425,7 +435,6 @@ public abstract class DBCommandExpr extends DBExpr
      */
     public DBCommandExpr unionAll(DBCommandExpr other)
     {   // give dbms a chance to subclass DBCombinedCmd
-        DBMSHandler dbms = getDatabase().getDbms();
         return dbms.createCombinedCommand(this, "UNION ALL", other);
     }
 
@@ -438,7 +447,6 @@ public abstract class DBCommandExpr extends DBExpr
      */
     public DBCommandExpr intersect(DBCommandExpr other)
     {   // give dbms a chance to subclass DBCombinedCmd
-       DBMSHandler dbms = getDatabase().getDbms();
        return dbms.createCombinedCommand(this, "INTERSECT", other);
     }
     
@@ -596,15 +604,6 @@ public abstract class DBCommandExpr extends DBExpr
         }
         return getInsertInto(table, select, inscols);
     }
-    /**
-     * creates a new DBSQLBuilder 
-     * @param initalSQL
-     * @return the new DBSQLBuilder
-     */
-    protected DBMSHandler getDbms()
-    {
-        return this.getDatabase().getDbms();
-    }
 
     /**
      * creates a new DBSQLBuilder 
@@ -613,7 +612,7 @@ public abstract class DBCommandExpr extends DBExpr
      */
     protected DBSQLBuilder createSQLBuilder(String initalSQL)
     {
-        DBSQLBuilder sql = getDbms().createSQLBuilder();
+        DBSQLBuilder sql = dbms.createSQLBuilder();
         if (initalSQL!=null)
             sql.append(initalSQL);
         return sql;
@@ -635,7 +634,7 @@ public abstract class DBCommandExpr extends DBExpr
         }
         // Check if we already have a Command Query
         if (cmdQuery == null)
-            cmdQuery = new DBCmdQuery(this, getSelectExprList());
+            cmdQuery = new DBCmdQuery(this, col.getDatabase(), 
getSelectExprList());
         // create a command column
         return new DBCmdColumn(cmdQuery, col);
     }
diff --git 
a/empire-db/src/main/java/org/apache/empire/dbms/DBMSHandlerBase.java 
b/empire-db/src/main/java/org/apache/empire/dbms/DBMSHandlerBase.java
index 2f25cdb5..e8efb700 100644
--- a/empire-db/src/main/java/org/apache/empire/dbms/DBMSHandlerBase.java
+++ b/empire-db/src/main/java/org/apache/empire/dbms/DBMSHandlerBase.java
@@ -101,9 +101,9 @@ public abstract class DBMSHandlerBase implements DBMSHandler
      */
     public static final class DBMSCommand extends DBCommand 
     {
-        protected DBMSCommand(boolean autoPrepareStmt)
+        protected DBMSCommand(DBMSHandler dbms, boolean autoPrepareStmt)
         {
-            super(autoPrepareStmt);
+            super(dbms, autoPrepareStmt);
         }
     }
 
@@ -315,7 +315,7 @@ public abstract class DBMSHandlerBase implements DBMSHandler
     @Override
     public DBCommand createCommand(boolean autoPrepareStmt)
     {
-        return new DBMSCommand(autoPrepareStmt);
+        return new DBMSCommand(this, autoPrepareStmt);
     }
 
     /**
diff --git 
a/empire-db/src/main/java/org/apache/empire/dbms/h2/DBMSHandlerH2.java 
b/empire-db/src/main/java/org/apache/empire/dbms/h2/DBMSHandlerH2.java
index 61479d29..b7b519c2 100644
--- a/empire-db/src/main/java/org/apache/empire/dbms/h2/DBMSHandlerH2.java
+++ b/empire-db/src/main/java/org/apache/empire/dbms/h2/DBMSHandlerH2.java
@@ -62,9 +62,9 @@ public class DBMSHandlerH2 extends DBMSHandlerBase
            protected int limitRows = -1;
            protected int skipRows  =  0;
         
-        public DBCommandH2(boolean autoPrepareStmt)
+        public DBCommandH2(DBMSHandlerH2 dbms, boolean autoPrepareStmt)
         {
-            super(autoPrepareStmt);
+            super(dbms, autoPrepareStmt);
         }
     
            @Override
@@ -196,7 +196,7 @@ public class DBMSHandlerH2 extends DBMSHandlerBase
     public DBCommand createCommand(boolean autoPrepareStmt)
     {
         // create command object
-        return new DBCommandH2(autoPrepareStmt);
+        return new DBCommandH2(this, autoPrepareStmt);
     }
 
     /**
diff --git 
a/empire-db/src/main/java/org/apache/empire/dbms/hsql/DBCommandHSql.java 
b/empire-db/src/main/java/org/apache/empire/dbms/hsql/DBCommandHSql.java
index 4d071547..d0c64a72 100644
--- a/empire-db/src/main/java/org/apache/empire/dbms/hsql/DBCommandHSql.java
+++ b/empire-db/src/main/java/org/apache/empire/dbms/hsql/DBCommandHSql.java
@@ -45,9 +45,9 @@ public class DBCommandHSql extends DBCommand
     /**
      * Constructs an HSqlDB command object.
      */
-    public DBCommandHSql(boolean autoPrepareStmt)
+    public DBCommandHSql(DBMSHandlerHSql dbms, boolean autoPrepareStmt)
     {
-        super(autoPrepareStmt);
+        super(dbms, autoPrepareStmt);
     }
 
     @Override
diff --git 
a/empire-db/src/main/java/org/apache/empire/dbms/hsql/DBMSHandlerHSql.java 
b/empire-db/src/main/java/org/apache/empire/dbms/hsql/DBMSHandlerHSql.java
index deba595d..22f6760e 100644
--- a/empire-db/src/main/java/org/apache/empire/dbms/hsql/DBMSHandlerHSql.java
+++ b/empire-db/src/main/java/org/apache/empire/dbms/hsql/DBMSHandlerHSql.java
@@ -91,7 +91,7 @@ public class DBMSHandlerHSql extends DBMSHandlerBase
     @Override
     public DBCommand createCommand(boolean autoPrepareStmt)
     {
-        return new DBCommandHSql(autoPrepareStmt);
+        return new DBCommandHSql(this, autoPrepareStmt);
     }
     
     /**
diff --git 
a/empire-db/src/main/java/org/apache/empire/dbms/mysql/DBMSHandlerMySQL.java 
b/empire-db/src/main/java/org/apache/empire/dbms/mysql/DBMSHandlerMySQL.java
index ad1ddd03..ac0b322d 100644
--- a/empire-db/src/main/java/org/apache/empire/dbms/mysql/DBMSHandlerMySQL.java
+++ b/empire-db/src/main/java/org/apache/empire/dbms/mysql/DBMSHandlerMySQL.java
@@ -67,9 +67,9 @@ public class DBMSHandlerMySQL extends DBMSHandlerBase
         protected int limit = -1;
         protected int skip  = -1;
         
-        public DBCommandMySQL(boolean autoPrepareStmt)
+        public DBCommandMySQL(DBMSHandlerMySQL dbms, boolean autoPrepareStmt)
         {
-            super(autoPrepareStmt);
+            super(dbms, autoPrepareStmt);
         }
         
         @Override
@@ -938,7 +938,7 @@ public class DBMSHandlerMySQL extends DBMSHandlerBase
     public DBCommand createCommand(boolean autoPrepareStmt)
     {
         // create command object
-        return new DBCommandMySQL(autoPrepareStmt);
+        return new DBCommandMySQL(this, autoPrepareStmt);
     }
 
     /**
diff --git 
a/empire-db/src/main/java/org/apache/empire/dbms/oracle/DBCommandOracle.java 
b/empire-db/src/main/java/org/apache/empire/dbms/oracle/DBCommandOracle.java
index f2394763..d93ec9ef 100644
--- a/empire-db/src/main/java/org/apache/empire/dbms/oracle/DBCommandOracle.java
+++ b/empire-db/src/main/java/org/apache/empire/dbms/oracle/DBCommandOracle.java
@@ -64,9 +64,9 @@ public class DBCommandOracle extends DBCommand
      * 
      * @param db the oracle database object this command belongs to
      */
-    public DBCommandOracle(boolean autoPrepareStmt)
+    public DBCommandOracle(DBMSHandlerOracle dbms, boolean autoPrepareStmt)
     {
-        super(autoPrepareStmt);
+        super(dbms, autoPrepareStmt);
     }
 
     public String getOptimizerHint()
diff --git 
a/empire-db/src/main/java/org/apache/empire/dbms/oracle/DBMSHandlerOracle.java 
b/empire-db/src/main/java/org/apache/empire/dbms/oracle/DBMSHandlerOracle.java
index 0f3c59d2..923782d9 100644
--- 
a/empire-db/src/main/java/org/apache/empire/dbms/oracle/DBMSHandlerOracle.java
+++ 
b/empire-db/src/main/java/org/apache/empire/dbms/oracle/DBMSHandlerOracle.java
@@ -155,7 +155,7 @@ public class DBMSHandlerOracle extends DBMSHandlerBase
     public DBCommand createCommand(boolean autoPrepareStmt)
     {
         // create oracle command
-        return new DBCommandOracle(autoPrepareStmt);
+        return new DBCommandOracle(this, autoPrepareStmt);
     }
 
     /**
diff --git 
a/empire-db/src/main/java/org/apache/empire/dbms/postgresql/DBCommandPostgres.java
 
b/empire-db/src/main/java/org/apache/empire/dbms/postgresql/DBCommandPostgres.java
index b6fb8f7c..fdc37214 100644
--- 
a/empire-db/src/main/java/org/apache/empire/dbms/postgresql/DBCommandPostgres.java
+++ 
b/empire-db/src/main/java/org/apache/empire/dbms/postgresql/DBCommandPostgres.java
@@ -37,9 +37,9 @@ public class DBCommandPostgres extends DBCommand
     protected int limit = -1;
     protected int skip  = -1;
     
-    public DBCommandPostgres(boolean autoPrepareStmt)
+    public DBCommandPostgres(DBMSHandlerPostgreSQL dbms, boolean 
autoPrepareStmt)
     {
-        super(autoPrepareStmt);
+        super(dbms, autoPrepareStmt);
     }
     
     /**
diff --git 
a/empire-db/src/main/java/org/apache/empire/dbms/postgresql/DBMSHandlerPostgreSQL.java
 
b/empire-db/src/main/java/org/apache/empire/dbms/postgresql/DBMSHandlerPostgreSQL.java
index 39367e5e..8ad4e782 100644
--- 
a/empire-db/src/main/java/org/apache/empire/dbms/postgresql/DBMSHandlerPostgreSQL.java
+++ 
b/empire-db/src/main/java/org/apache/empire/dbms/postgresql/DBMSHandlerPostgreSQL.java
@@ -131,7 +131,7 @@ public class DBMSHandlerPostgreSQL extends DBMSHandlerBase
     @Override
     public DBCommandPostgres createCommand(boolean autoPrepareStmt)
     {   // create command object
-        return new DBCommandPostgres(autoPrepareStmt);
+        return new DBCommandPostgres(this, autoPrepareStmt);
     }
 
     /**
diff --git 
a/empire-db/src/main/java/org/apache/empire/dbms/sqlite/DBMSHandlerSQLite.java 
b/empire-db/src/main/java/org/apache/empire/dbms/sqlite/DBMSHandlerSQLite.java
index c2de819e..b6ff2c00 100644
--- 
a/empire-db/src/main/java/org/apache/empire/dbms/sqlite/DBMSHandlerSQLite.java
+++ 
b/empire-db/src/main/java/org/apache/empire/dbms/sqlite/DBMSHandlerSQLite.java
@@ -73,9 +73,9 @@ public class DBMSHandlerSQLite extends DBMSHandlerBase
          *            the database
          * @see org.apache.empire.db.DBCommand
          */
-        public DBCommandSQLite(boolean autoPrepareStmt)
+        public DBCommandSQLite(DBMSHandlerSQLite dmbs, boolean autoPrepareStmt)
         {
-            super(autoPrepareStmt);
+            super(dmbs, autoPrepareStmt);
         }
         
         @Override
@@ -271,7 +271,7 @@ public class DBMSHandlerSQLite extends DBMSHandlerBase
     public DBCommand createCommand(boolean autoPrepareStmt)
     {
         // create command object
-        return new DBCommandSQLite(autoPrepareStmt);
+        return new DBCommandSQLite(this, autoPrepareStmt);
     }
     
     /**
diff --git 
a/empire-db/src/main/java/org/apache/empire/dbms/sqlserver/DBMSHandlerMSSQL.java
 
b/empire-db/src/main/java/org/apache/empire/dbms/sqlserver/DBMSHandlerMSSQL.java
index 70f7adab..6d046df6 100644
--- 
a/empire-db/src/main/java/org/apache/empire/dbms/sqlserver/DBMSHandlerMSSQL.java
+++ 
b/empire-db/src/main/java/org/apache/empire/dbms/sqlserver/DBMSHandlerMSSQL.java
@@ -66,9 +66,9 @@ public class DBMSHandlerMSSQL extends DBMSHandlerBase
         // *Deprecated* private static final long serialVersionUID = 1L;
         protected int limit = -1;
 
-        public DBCommandMSSQL(boolean autoPrepareStmt)
+        public DBCommandMSSQL(DBMSHandlerMSSQL dbms, boolean autoPrepareStmt)
        {
-               super(autoPrepareStmt);
+               super(dbms, autoPrepareStmt);
        }
         
         @Override
@@ -311,7 +311,7 @@ public class DBMSHandlerMSSQL extends DBMSHandlerBase
     public DBCommand createCommand(boolean autoPrepareStmt)
     {
         // create command object
-        return new DBCommandMSSQL(autoPrepareStmt);
+        return new DBCommandMSSQL(this, autoPrepareStmt);
     }
     
     /**

Reply via email to