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/03/07 10:36:02 UTC

[empire-db] branch master updated: EMPIREDB-381 Postgress Sequence Suffix

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 2c3707f  EMPIREDB-381 Postgress Sequence Suffix
2c3707f is described below

commit 2c3707fd73f9d0804b8ef70b19b9d942cd985d11
Author: Rainer Döbele <do...@apache.org>
AuthorDate: Mon Mar 7 11:36:00 2022 +0100

    EMPIREDB-381 Postgress Sequence Suffix
---
 .../org/apache/empire/samples/db/advanced/db/CarSalesDB.java  |  4 ++--
 .../src/main/java/org/apache/empire/samples/db/SampleDB.java  |  4 ++--
 empire-db/src/main/java/org/apache/empire/db/DBTable.java     | 11 +++++++++++
 .../src/main/java/org/apache/empire/dbms/DBMSHandlerBase.java |  4 ++--
 .../apache/empire/dbms/postgresql/DBMSHandlerPostgreSQL.java  |  2 --
 5 files changed, 17 insertions(+), 8 deletions(-)

diff --git a/empire-db-examples/empire-db-example-advanced/src/main/java/org/apache/empire/samples/db/advanced/db/CarSalesDB.java b/empire-db-examples/empire-db-example-advanced/src/main/java/org/apache/empire/samples/db/advanced/db/CarSalesDB.java
index 30d32b2..1eeb99b 100644
--- a/empire-db-examples/empire-db-example-advanced/src/main/java/org/apache/empire/samples/db/advanced/db/CarSalesDB.java
+++ b/empire-db-examples/empire-db-example-advanced/src/main/java/org/apache/empire/samples/db/advanced/db/CarSalesDB.java
@@ -176,7 +176,7 @@ public class CarSalesDB extends TDatabase<CarSalesDB>
             super("MODEL", db);
             
             // ID
-            ID              = addIdentity  ("ID",               "MODEL_ID_SEQUENCE");  // Optional Sequence name for some DBMS (e.g. Oracle)
+            ID              = addIdentity  ("ID",               "MODEL_ID_SEQ"); // Optional Sequence name for some DBMS (e.g. Oracle)
             NAME            = addColumn    ("NAME",             DataType.VARCHAR,     20, true);
             SPECIFICATION   = addColumn    ("SPECIFICATION",    DataType.VARCHAR,     40, true);
             WMI             = addForeignKey("WMI",              db.BRAND,                 true);
@@ -215,7 +215,7 @@ public class CarSalesDB extends TDatabase<CarSalesDB>
             super("DEALER", db);
             
             // ID
-            ID              = addIdentity ("ID",               "DEALER_ID_SEQUENCE");  // Optional Sequence name for some DBMS (e.g. Oracle)
+            ID              = addIdentity ("ID",               "DEALER_ID_SEQ"); // Optional Sequence name for some DBMS (e.g. Oracle)
             COMPANY_NAME    = addColumn   ("COMPANY_NAME",     DataType.VARCHAR,     40, true);
             STREET          = addColumn   ("ADDRESS",          DataType.VARCHAR,     40, false);
             CITY            = addColumn   ("CITY",             DataType.VARCHAR,     20, true);
diff --git a/empire-db-examples/empire-db-example-basic/src/main/java/org/apache/empire/samples/db/SampleDB.java b/empire-db-examples/empire-db-example-basic/src/main/java/org/apache/empire/samples/db/SampleDB.java
index 30b2e9f..ad06dc4 100644
--- a/empire-db-examples/empire-db-example-basic/src/main/java/org/apache/empire/samples/db/SampleDB.java
+++ b/empire-db-examples/empire-db-example-basic/src/main/java/org/apache/empire/samples/db/SampleDB.java
@@ -93,7 +93,7 @@ public class SampleDB extends DBDatabase
         {
             super("DEPARTMENTS", db);
             // ID
-            ID              = addIdentity ("ID",               "DEP_ID_SEQUENCE"); // Optional Sequence for some DBMS (e.g. Oracle)
+            ID              = addIdentity ("ID");
             NAME            = addColumn   ("NAME",             DataType.VARCHAR,      80, true);
             HEAD            = addColumn   ("HEAD",             DataType.VARCHAR,      80, false);
             BUSINESS_UNIT   = addColumn   ("BUSINESS_UNIT",    DataType.VARCHAR,       4, true, "ITTK");
@@ -133,7 +133,7 @@ public class SampleDB extends DBDatabase
             super("EMPLOYEES", db);
             
             // ID
-            ID              = addIdentity  ("ID",               "EMPLOYEE_ID_SEQUENCE");  // Optional Sequence name for some DBMS (e.g. Oracle)
+            ID              = addIdentity  ("ID");
             SALUTATION      = addColumn    ("SALUTATION",       DataType.VARCHAR,      5, false);
             FIRST_NAME      = addColumn    ("FIRST_NAME",       DataType.VARCHAR,     40, true);
             LAST_NAME       = addColumn    ("LAST_NAME",        DataType.VARCHAR,     40, true);
diff --git a/empire-db/src/main/java/org/apache/empire/db/DBTable.java b/empire-db/src/main/java/org/apache/empire/db/DBTable.java
index d1f51a8..0334c2f 100644
--- a/empire-db/src/main/java/org/apache/empire/db/DBTable.java
+++ b/empire-db/src/main/java/org/apache/empire/db/DBTable.java
@@ -433,6 +433,17 @@ public class DBTable extends DBRowSet implements Cloneable
     }
     
     /**
+     * Adds an Identity column to the table which also serves as the PrimaryKey
+     * An Identity Column is always an auto-generated Integer(Long) value
+     * @param name the name of the identity column
+     * @return the Identity column
+     */
+    public final DBTableColumn addIdentity(String name)
+    {
+        return addIdentity(name, null);
+    }
+    
+    /**
      * Adds a new ForgeinKey table column the column list
      * The foreign table must have a single column foreign key
      * @param name the name of the new column
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 8edaa2d..fc5d358 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
@@ -83,7 +83,7 @@ public abstract class DBMSHandlerBase implements DBMSHandler
     protected final Set<String> reservedSQLKeywords;
 
     // Postfix for auto-generated Sequence names
-    protected String SEQUENCE_NAME_POSTFIX = "_SEQ";
+    protected String SEQUENCE_NAME_SUFFIX = "_SEQ";
     
     /**
      * DBMSCommand
@@ -419,7 +419,7 @@ public abstract class DBMSHandlerBase implements DBMSHandler
         StringBuilder b = new StringBuilder(column.getRowSet().getName());
         b.append("_");
         b.append(column.getName());
-        b.append(SEQUENCE_NAME_POSTFIX);
+        b.append(SEQUENCE_NAME_SUFFIX);
         seqName = b.toString();
         // Store as default for later use
         column.setDefaultValue(seqName);
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 9fbe395..396dfec 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
@@ -72,8 +72,6 @@ public class DBMSHandlerPostgreSQL extends DBMSHandlerBase
     public DBMSHandlerPostgreSQL()
     {
         setReservedKeywords();
-        // Set default Sequencen name Postfix
-        SEQUENCE_NAME_POSTFIX = "_SEQUENCE";
     }
 
     /**