Index: ejb/ejb-timer-databases/src/main/resources/glassfish/lib/install/databases/ejbtimer_symfoware.sql =================================================================== --- ejb/ejb-timer-databases/src/main/resources/glassfish/lib/install/databases/ejbtimer_symfoware.sql (revision 0) +++ ejb/ejb-timer-databases/src/main/resources/glassfish/lib/install/databases/ejbtimer_symfoware.sql (revision 0) @@ -0,0 +1,16 @@ +CREATE TABLE EJB__TIMER__TBL ( +CREATIONTIMERAW DECIMAL(18,0) NOT NULL, +"BLOB" BLOB(1024K), +TIMERID VARCHAR(255) NOT NULL, +CONTAINERID DECIMAL(18,0) NOT NULL, +OWNERID VARCHAR(255) NOT NULL, +STATE INTEGER NOT NULL, +PKHASHCODE INTEGER NOT NULL, +INTERVALDURATION DECIMAL(18,0) NOT NULL, +INITIALEXPIRATIONRAW DECIMAL(18,0) NOT NULL, +LASTEXPIRATIONRAW DECIMAL(18,0) NOT NULL, +SCHEDULE VARCHAR(255), +PRIMARY KEY (TIMERID) +); +CREATE INDEX EJB__TIMER__TBL.IDX1 KEY(TIMERID) +; \ No newline at end of file Index: persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/DatabaseOutputStream.java =================================================================== --- persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/DatabaseOutputStream.java (revision 35669) +++ persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/DatabaseOutputStream.java (working copy) @@ -130,6 +130,11 @@ * statement, or in executing it. */ public void write(String stmt) throws SQLException { + // Check if stmt is empty (null), and abort if so. + if (stmt == null || stmt.trim().length() == 0) { + return; + } + PreparedStatement pstmt = conn_.prepareStatement(stmt); pstmt.execute(); } Index: persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/DDLGenerator.java =================================================================== --- persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/DDLGenerator.java (revision 35669) +++ persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/DDLGenerator.java (working copy) @@ -1,7 +1,7 @@ /* * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. * - * Copyright 1997-2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 1997-2010 Sun Microsystems, Inc. All rights reserved. * * The contents of this file are subject to the terms of either the GNU * General Public License Version 2 only ("GPL") or the Common Development @@ -132,6 +132,9 @@ DDLTemplateFormatter.reset(mappingPolicy); String schemaName = schema.getName().getName(); List createAllTblDDL = new ArrayList(); + // Added for Symfoware support as Symfoware does not automatically create + // indexes for primary keys. Creating indexes is mandatory. + List createIndexDDL = new ArrayList(); List alterAddConstraintsDDL = new ArrayList(); List alterDropConstraintsDDL = new ArrayList(); List dropAllTblDDL = new ArrayList(); @@ -143,6 +146,10 @@ createAllTblDDL.add( createCreateTableDDL(table, mappingPolicy)); + // Added for Symfoware support as indexes on primary keys are mandatory + if (table.getPrimaryKey() != null) { + createIndexDDL.add(createIndexDDL(table)); + } alterAddConstraintsDDL.addAll( createAddConstraintsDDL(table)); alterDropConstraintsDDL.addAll( @@ -153,7 +160,7 @@ } String stmtSeparator = mappingPolicy.getStatementSeparator(); generateSQL(createDDLSql, dropDDLSql, dropDDLJdbc, createDDLJdbc, - (DatabaseOutputStream) dbStream, createAllTblDDL, + (DatabaseOutputStream) dbStream, createAllTblDDL, createIndexDDL, alterAddConstraintsDDL, alterDropConstraintsDDL, dropAllTblDDL, stmtSeparator, dropAndCreateTbl); } @@ -167,6 +174,7 @@ * executes drop in undeployment time * @param dbStream for creating table in database * @param createAllTblDDL a list of create table statement + * @param createIndexDDL a list of create index statement * @param alterAddConstraintsDDL a list of adding constraints statement * @param alterDropConstraintDDL a list of droping constrains statement * @param dropAllTblDDL a list of droping tables statement @@ -180,7 +188,7 @@ // XXX Fix method body comments. private static void generateSQL(OutputStream createSql, OutputStream dropSql, OutputStream dropTxt, OutputStream createTxt, - DatabaseOutputStream dbStream, List createAllTblDDL, + DatabaseOutputStream dbStream, List createAllTblDDL, List createIndexDDL, List alterAddConstraintsDDL, List alterDropConstraintsDDL, List dropAllTblDDL, String stmtSeparator, boolean dropAndCreateTbl) throws DBException, SQLException { @@ -239,6 +247,15 @@ } } + // ...then create indexes + for (int i = 0; i < createIndexDDL.size(); i++) { + String stmt = (String)createIndexDDL.get(i); + writeDDL(workStream, txtStream, stmtSeparator, stmt); + if (dbStream != null) { + dbStream.write(stmt); + } + } + // ...then create constraints for (int i = 0; i < alterAddConstraintsDDL.size(); i++) { String stmt = (String)alterAddConstraintsDDL.get(i); @@ -277,6 +294,10 @@ private static void writeDDL(PrintStream sql, PrintStream txt, String stmtSeparator, String stmt) { + if (stmt == null || stmt.trim().length() == 0) { + return; + } + sql.println(stmt); sql.println(stmtSeparator); @@ -340,6 +361,20 @@ } /** + * createIndexDDL has been added for Symfoware support. Returns DDL in String form + * to create index. The returned string has the format: + *
+     * CREATE INDEX table_name.table_name KEY(id, name)
+     * 
+ * @param table Table for which DDL is to be created. + * @return DDL to create index. + */ + private static String createIndexDDL(TableElement table) { + String[] twoParam = { table.getName().getName() , getColumnNames(table.getPrimaryKey().getColumns()) }; + return DDLTemplateFormatter.formatCreateIndex(twoParam); + } + + /** * Returns DDL in String form to drop a table. The returned string has * the format: *
Index: persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/DDLTemplateFormatter.java
===================================================================
--- persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/DDLTemplateFormatter.java	(revision 35669)
+++ persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/DDLTemplateFormatter.java	(working copy)
@@ -1,7 +1,7 @@
 /*
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
  * 
- * Copyright 1997-2007 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 1997-2010 Sun Microsystems, Inc. All rights reserved.
  * 
  * The contents of this file are subject to the terms of either the GNU
  * General Public License Version 2 only ("GPL") or the Common Development
@@ -57,6 +57,9 @@
     /** Formatter for the start of "create table" DDL. */
     private static MessageFormat createTableStart = null; 
 
+    /** Formatter for the start of "create index" DDL. */
+    private static MessageFormat createIndex = null;
+
     /** Formatter for "add constraint" DDL. */
     private static MessageFormat alterTableAddConstraintStart = null; 
 
@@ -87,6 +90,9 @@
     static void reset(MappingPolicy mappingPolicy) {
         createTableStart = new MessageFormat(
                 mappingPolicy.getCreateTableStart());
+	// Added for Symfoware support as indexes on primary keys are mandatory
+        createIndex = new MessageFormat(
+                mappingPolicy.getCreateIndex());
 
         alterTableAddConstraintStart = new MessageFormat(
                 mappingPolicy.getAlterTableAddConstraintStart());
@@ -113,6 +119,13 @@
     }
 
     /**
+     * @returns A String formatted for the start of "create index" DDL.
+     */
+    static String formatCreateIndex(Object o) {
+        return createIndex.format(o);
+    }
+
+    /**
      * @returns A String formatted for "add constraint" DDL.
      */
     static String formatAlterTableAddConstraint(Object o) {
Index: persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/MappingPolicy.java
===================================================================
--- persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/MappingPolicy.java	(revision 35669)
+++ persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/MappingPolicy.java	(working copy)
@@ -1,7 +1,7 @@
 /*
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
  * 
- * Copyright 1997-2009 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 1997-2010 Sun Microsystems, Inc. All rights reserved.
  * 
  * The contents of this file are subject to the terms of either the GNU
  * General Public License Version 2 only ("GPL") or the Common Development
@@ -231,6 +231,11 @@
     private static final String CREATE_TABLE_END_INDICATOR =
         "createTableEnd"; // NOI18N
 
+    /** The indicator for "create index". Added for Symfoware support as */
+    /** indexes on primary keys are mandatory */
+    private static final String CREATE_INDEX_INDICATOR =
+        "createIndex"; // NOI18N
+
     /** The indicator for starting a "drop table". */
     private static final String DROP_TABLE_INDICATOR =
         "dropTable"; // NOI18N
@@ -409,6 +414,9 @@
     /** The SQL for ending a "create table". */
     private String createTableEnd;
 
+    /** The SQL for "create index". */
+    private String createIndex;
+
     /** The SQL for "drop table". */
     private String dropTable;
 
@@ -1254,6 +1262,13 @@
     }
 
     /**
+     * @return the SQL for "create index".
+     */
+    String getCreateIndex() {
+        return createIndex;
+    }
+
+    /**
      * @return the SQL for a "drop table".
      */
     String getDropTable() {
@@ -1386,6 +1401,9 @@
             } else if (name.startsWith(CREATE_TABLE_END_INDICATOR)) {
                 createTableEnd = value;
 
+            } else if (name.startsWith(CREATE_INDEX_INDICATOR)) {
+                createIndex = value;
+
             } else if (name.startsWith(DROP_TABLE_INDICATOR)) {
                 dropTable = value;
 
@@ -1515,6 +1533,7 @@
             "statementSeparator=" + statementSeparator // NOI18N
             + "\ncreateTableStart=" + createTableStart // NOI18N
             + "\ncreateTableEnd=" + createTableEnd // NOI18N
+            + "\ncreateIndex=" + createIndex // NOI18N
             + "\ndropTable=" + dropTable // NOI18N
             + "\nalterTableAddConstraintStart=" + alterTableAddConstraintStart // NOI18N
             + "\nalterTableDropConstraint=" + alterTableDropConstraint // NOI18N
Index: persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/SQL92.properties
===================================================================
--- persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/SQL92.properties	(revision 35669)
+++ persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/SQL92.properties	(working copy)
@@ -1,7 +1,7 @@
 #
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
 # 
-# Copyright 1997-2007 Sun Microsystems, Inc. All rights reserved.
+# Copyright 1997-2010 Sun Microsystems, Inc. All rights reserved.
 # 
 # The contents of this file are subject to the terms of either the GNU
 # General Public License Version 2 only ("GPL") or the Common Development
@@ -188,6 +188,11 @@
 createTableStart.sql-format=CREATE TABLE {0} (
 createTableEnd.sql-format=)
 
+# Create index
+# {0} - table name
+# {1} - column name (comma separated, if more than one column name)
+createIndex.sql-format=
+
 # Text used to indicate that a column is nullable
 columnNullability.sql-format=NULL
 
Index: persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/SYMFOWARE.properties
===================================================================
--- persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/SYMFOWARE.properties	(revision 0)
+++ persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/SYMFOWARE.properties	(revision 0)
@@ -0,0 +1,113 @@
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+# 
+# Copyright 2010 Sun Microsystems, Inc. All rights reserved.
+# 
+# The contents of this file are subject to the terms of either the GNU
+# General Public License Version 2 only ("GPL") or the Common Development
+# and Distribution License("CDDL") (collectively, the "License").  You
+# may not use this file except in compliance with the License. You can obtain
+# a copy of the License at https://glassfish.dev.java.net/public/CDDL+GPL.html
+# or glassfish/bootstrap/legal/LICENSE.txt.  See the License for the specific
+# language governing permissions and limitations under the License.
+# 
+# When distributing the software, include this License Header Notice in each
+# file and include the License file at glassfish/bootstrap/legal/LICENSE.txt.
+# Sun designates this particular file as subject to the "Classpath" exception
+# as provided by Sun in the GPL Version 2 section of the License file that
+# accompanied this code.  If applicable, add the following below the License
+# Header, with the fields enclosed by brackets [] replaced by your own
+# identifying information: "Portions Copyrighted [year]
+# [name of copyright owner]"
+# 
+# Contributor(s):
+# 
+# If you wish your version of this file to be governed by only the CDDL or
+# only the GPL Version 2, indicate your decision by adding "[Contributor]
+# elects to include this software in this distribution under the [CDDL or GPL
+# Version 2] license."  If you don't indicate a single choice of license, a
+# recipient has the option to distribute your version of this file under
+# either the CDDL, the GPL Version 2 or to extend the choice of license to
+# its licensees as provided above.  However, if you add GPL Version 2 code
+# and therefore, elected the GPL Version 2 license, then the option applies
+# only if the new code is made subject to such option by the copyright
+# holder.
+#
+
+# maximum length for table name, column name and constraint name
+table-name.maximum-length=18
+column-name.maximum-length=18
+constraint-name.maximum-length=18
+
+#mapping between jdbc and Symfoware V10
+BIT=SMALLINT
+DOUBLE=DOUBLE PRECISION
+CLOB=VARCHAR
+
+# LOBs must be 2 GB or less.
+BLOB.jdbc-maximum-length=1024
+CLOB.jdbc-maximum-length=32000
+
+java.math.BigDecimal.jdbc-precision = 18
+java.math.BigInteger.jdbc-precision = 18
+
+# Create index
+# {0} - table name
+# {1} - column name (comma separated, if more than one column name)
+createIndex.sql-format=CREATE INDEX {0}.{0} KEY( {1} )
+
+# Text used to indicate that a column is nullable
+columnNullability.sql-format=
+
+# Alter table for constraint
+# {0} - table name
+# {1} - constraint name
+alterTableAddConstraintStart.sql-format=
+alterTableDropConstraint.sql-format=
+
+# Primary and Foreign key
+# {0} - constraint name
+# {1} - column name (comma separated, if more than one column name)
+# {2} - reference table name
+# {3} - reference column name (comma separated, if more than one column name)
+primaryKeyConstraint.sql-format=PRIMARY KEY ({1})
+foreignKeyConstraint.sql-format=
+
+# Drop table
+# {0} - table name
+dropTable.sql-format=DROP TABLE {0} CASCADE
+
+# Reserved words
+reserved-words=ABSOLUTE, ACTION, ADD, ADMIN, AFTER, ALL, ALLOCATE, ALTER, AND, ANY, \
+    ARE, AS, ASC, ASSERTION, AT, AUTHORIZATION, AVG, BEFORE, BEGIN, BETWEEN, \
+    BINARY, BIT, BIT_LENGTH, BLOB, BOTH, BY, CALL, CASCADE, CASCADED, \
+    CASE, CAST, CATALOG, CHAR, CHARACTER, CHARACTER_LENGT, CHAR_LENGTH, \
+    CHECK, CLOSE, COALESCE, COLLATE, COLLATION, COLUMN, COMMIT, CONDITION, \
+    CONNECT, CONNECTION, CONSTRAINT, CONSTRAINTS, CONTINUE, CONVERT, \
+    CORRESPONDING, COUNT, CREATE, CROSS, CURRENT, CURRENT_DATE, CURRENT_TIME, \
+    CURRENT_TIMESTAMP, CURRENT_USER, CURSOR, DATE, DAY, DEALLOCATE, DEC, \
+    DECIMAL, DECLARE, DEFAULT, DEFERRABLE, DEFERRED, DELETE, DESC, DESCRIBE, \
+    DESCRIPTOR, DIAGNOSTICS, DISCONNECT, DISTINCT, DO, DOMAIN, DOUBLE, \
+    DROP, EACH, ELSE, ELSEIF, END, END-EXEC, ESCAPE, EXCEPT, EXCEPTION, \
+    EXEC, EXECUTE, EXISTS, EXIT, EXTERNAL, EXTRACT, FALSE, FETCH, FIRST, \
+    FLOAT, FOR, FOREIGN, FOUND, FROM, FULL, FUNCTION, GET, GLOBAL, GO, \
+    GOTO, GRANT, GROUP, HANDLER, HAVING, HOUR, IDENTITY, IF, IMMEDIATE, \
+    IN, INDICATOR, INITIALLY, INNER, INOUT, INPUT, INSENSITIVE, INSERT, \
+    INSTEAD, INT, INTEGER, INTERSECT, INTERVAL, INTO, IS, ISOLATION, \
+    JOIN, KEY, LANGUAGE, LARGE, LAST, LEADING, LEAVE, LEFT, LEVEL, LIKE, \
+    LOCAL, LOOP, LOWER, MATCH, MAX, MIN, MINUTE, MODULE, MONTH, NAMES, \
+    NATIONAL, NATURAL, NCHAR, NEW, NEW_TABLE, NEXT, NO, NONE, NOT, NULL, \
+    NULLIF, NUMERIC, OBJECT, OCTET_LENGTH, OF, OLD, OLD_TABLE, ON, ONLY, \
+    OPEN, OPTION, OR, ORDER, OUT, OUTER, OUTPUT, OVERLAPS, PAD, PARALLEL, \
+    PARAMETER, PARTIAL, POSITION, PRECISION, PREPARE, PRESERVE, PRIMARY, \
+    PRIOR, PRIVILEGES, PROCEDURE, PUBLIC, READ, REAL, REDO, REFERENCES, \
+    REFERENCING, RELATIVE, REPEAT, RESIGNAL, RESTRICT, RETURN, RETURNS, \
+    REVOKE, RIGHT, ROLE, ROLLBACK, ROUTINE, ROW, ROWNUM, ROWS, ROW_ID, \
+    SCHEMA, SCROLL, SECOND, SECTION, SELECT, SEQUENCE, SESSION, SESSION_USER, \
+    SET, SIGNAL, SIZE, SMALLINT, SOME, SPACE, SPECIFIC, SQL, SQLCODE, \
+    SQLERROR, SQLEXCEPTION, SQLSTATE, SQLWARNING, SUBSTRING, SUM, SYSTEM_USER, \
+    TABLE, TEMPORARY, THEN, TIME, TIMESTAMP, TIMEZONE_HOUR, TIMEZONE_MINUTE, \
+    TO, TRAILING, TRANSACTION, TRANSLATE, TRANSLATION, TRIGGER, TRIM, \
+    TRUE, UNDO, UNION, UNIQUE, UNKNOWN, UNTIL, UPDATE, UPPER, USAGE, \
+    USER, USING, VALUE, VALUES, VARCHAR, VARYING, VIEW, WHEN, WHENEVER, \
+    WHERE, WHILE, WITH, WORK, WRITE, YEAR, ZONE
Index: persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/SYMFOWARE.properties
===================================================================
--- persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/SYMFOWARE.properties	(revision 0)
+++ persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/SYMFOWARE.properties	(revision 0)
@@ -0,0 +1,43 @@
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+# 
+# Copyright 2010 Sun Microsystems, Inc. All rights reserved.
+# 
+# The contents of this file are subject to the terms of either the GNU
+# General Public License Version 2 only ("GPL") or the Common Development
+# and Distribution License("CDDL") (collectively, the "License").  You
+# may not use this file except in compliance with the License. You can obtain
+# a copy of the License at https://glassfish.dev.java.net/public/CDDL+GPL.html
+# or glassfish/bootstrap/legal/LICENSE.txt.  See the License for the specific
+# language governing permissions and limitations under the License.
+# 
+# When distributing the software, include this License Header Notice in each
+# file and include the License file at glassfish/bootstrap/legal/LICENSE.txt.
+# Sun designates this particular file as subject to the "Classpath" exception
+# as provided by Sun in the GPL Version 2 section of the License file that
+# accompanied this code.  If applicable, add the following below the License
+# Header, with the fields enclosed by brackets [] replaced by your own
+# identifying information: "Portions Copyrighted [year]
+# [name of copyright owner]"
+# 
+# Contributor(s):
+# 
+# If you wish your version of this file to be governed by only the CDDL or
+# only the GPL Version 2, indicate your decision by adding "[Contributor]
+# elects to include this software in this distribution under the [CDDL or GPL
+# Version 2] license."  If you don't indicate a single choice of license, a
+# recipient has the option to distribute your version of this file under
+# either the CDDL, the GPL Version 2 or to extend the choice of license to
+# its licensees as provided above.  However, if you add GPL Version 2 code
+# and therefore, elected the GPL Version 2 license, then the option applies
+# only if the new code is made subject to such option by the copyright
+# holder.
+#
+
+#
+# default properties for Symfoware V10 generation
+#
+FOR_UPDATE=for update
+SUPPORTS_UPDATE_LOCK=true
+ANSI_TRIM=false
+ABS=ABS
\ No newline at end of file
Index: persistence/common/src/main/java/org/glassfish/persistence/common/database/DBVendorTypeHelper.java
===================================================================
--- persistence/common/src/main/java/org/glassfish/persistence/common/database/DBVendorTypeHelper.java	(revision 35669)
+++ persistence/common/src/main/java/org/glassfish/persistence/common/database/DBVendorTypeHelper.java	(working copy)
@@ -1,7 +1,7 @@
 /*
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
  * 
- * Copyright 1997-2009 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 1997-2010 Sun Microsystems, Inc. All rights reserved.
  * 
  * The contents of this file are subject to the terms of either the GNU
  * General Public License Version 2 only ("GPL") or the Common Development
@@ -72,9 +72,10 @@
     public final static int INFORMIX_ENUM    = 7;
     public final static int INGRES_ENUM      = 8;
     public final static int DERBY_ENUM       = 9;
+    public final static int SYMFOWARE_ENUM   = 10;
 
     //Please increment following when a new known database is added.
-    public final static int MAX_KNOWN_DB     = 10;
+    public final static int MAX_KNOWN_DB     = 11;
 
     /**
      * Array that defines mapping from given string name to enum.
@@ -82,7 +83,7 @@
      */
     private final static String enumToStringMapping[] =
         {"SQL92", "ORACLE", "POINTBASE", "MSSQL", "SYBASE", "DB2", "MYSQL", 
-         "INFORMIX", "INGRES", "DERBY"}; // NOI18N
+         "INFORMIX", "INGRES", "DERBY", "SYMFOWARE"}; // NOI18N
 
     public final static String DEFAULT_DB  = enumToStringMapping[DEFAULT_DB_ENUM];
     public final static String ORACLE      = enumToStringMapping[ORACLE_ENUM];
@@ -94,6 +95,7 @@
     public final static String INFORMIX    = enumToStringMapping[INFORMIX_ENUM];
     public final static String INGRES      = enumToStringMapping[INGRES_ENUM];
     public final static String DERBY       = enumToStringMapping[DERBY_ENUM];
+    public final static String SYMFOWARE   = enumToStringMapping[SYMFOWARE_ENUM];
 
     private final static String PROPERTY_PATH = "org/glassfish/persistence/common/"; // NOI18N
 
Index: persistence/common/src/main/java/org/glassfish/persistence/common/database/VendorNameToTypeMapping.properties
===================================================================
--- persistence/common/src/main/java/org/glassfish/persistence/common/database/VendorNameToTypeMapping.properties	(revision 35669)
+++ persistence/common/src/main/java/org/glassfish/persistence/common/database/VendorNameToTypeMapping.properties	(working copy)
@@ -1,7 +1,7 @@
 #
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
 # 
-# Copyright 1997-2007 Sun Microsystems, Inc. All rights reserved.
+# Copyright 1997-2010 Sun Microsystems, Inc. All rights reserved.
 # 
 # The contents of this file are subject to the terms of either the GNU
 # General Public License Version 2 only ("GPL") or the Common Development
@@ -41,3 +41,4 @@
 (?i)informix.*=INFORMIX
 (?i).*derby|(?i)javadb=DERBY
 (?i)postgresql.*=POSTGRES
+(?i)RDBII-Base\ or\ SymfoWARE=SYMFOWARE