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