Index: persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/Bundle.properties =================================================================== --- persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/Bundle.properties (revision 40865) +++ persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/Bundle.properties (working copy) @@ -517,6 +517,7 @@ sqlstore.database.dbvendor.getleftjoin=<-> DBVendorType.getLeftJoin(): {0}. sqlstore.database.dbvendor.getleftjoinpost=<-> DBVendorType.getLeftJoinPost(): {0}. sqlstore.database.dbvendor.getleftlikeescape=<-> DBVendorType.getLeftLikeEscape(): {0}. +sqlstore.database.dbvendor.getnotequal=<-> DBVendorType.getNotEqual(): {0}. sqlstore.database.dbvendor.getposition3args=<-> DBVendorType.getPositionThreeArrgs(): {0}. sqlstore.database.dbvendor.getposition=<-> DBVendorType.getPosition(): {0}. sqlstore.database.dbvendor.getpositionin=<-> DBVendorType.getPositionIn(): {0}. Index: persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/Bundle_ja.properties =================================================================== --- persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/Bundle_ja.properties (revision 40865) +++ persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/Bundle_ja.properties (working copy) @@ -599,6 +599,8 @@ sqlstore.database.dbvendor.getisnull=<-> DBVendorType.getIsNull(): {0}. # sqlstore.database.dbvendor.getisnotnull=<-> DBVendorType.getIsNotNull(): {0}. sqlstore.database.dbvendor.getisnotnull=<-> DBVendorType.getIsNotNull(): {0}. +# sqlstore.database.dbvendor.getnotequal=<-> DBVendorType.getNotEqual(): {0}. +sqlstore.database.dbvendor.getnotequal=<-> DBVendorType.getNotEqual(): {0}. # sqlstore.database.dbvendor.getrtrim=<-> DBVendorType.getRtrim():{0}. sqlstore.database.dbvendor.getrtrim=<-> DBVendorType.getRtrim():{0}. # sqlstore.database.dbvendor.getrtrimpost=<-> DBVendorType.getRtrim():{0}. Index: persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/DBVendorType.java =================================================================== --- persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/DBVendorType.java (revision 40865) +++ persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/DBVendorType.java (working copy) @@ -152,6 +152,7 @@ private final static String CONCAT_CAST = "CONCAT_CAST"; //NOI18N private final static String PARAMETER_CAST = "PARAMETER_CAST"; //NOI18N private final static String INLINE_NUMERIC = "INLINE_NUMERIC"; //NOI18N + private final static String NOT_EQUAL = "NOT_EQUAL"; //NOI18N private static final String[] props = new String[] { FOR_UPDATE, HOLDLOCK, SUPPORTS_UPDATE_LOCK, SUPPORTS_LOCK_COLUMN_LIST, @@ -166,7 +167,7 @@ MAP_EMPTY_STRING_TO_NULL, SPECIAL_DB_OPERATION, SUPPORTS_LIKE_ESCAPE, LEFT_LIKE_ESCAPE, RIGHT_LIKE_ESCAPE, NULL_COMPARISON_FUNCTION_NAME, MOD_FUNCTION_NAME, - CONCAT_CAST, PARAMETER_CAST, INLINE_NUMERIC + CONCAT_CAST, PARAMETER_CAST, INLINE_NUMERIC, NOT_EQUAL }; /** @@ -1008,7 +1009,26 @@ return b.booleanValue(); } + /** + * Returns the string that represents the not-equal-to operator + * for this database. This has been added for Symfoware database + * which does not support "!=" for NOT EQUAL, and will have to use + * "<>". + */ + public String getNotEqual() { + String s = (String)dbMap.get(NOT_EQUAL); + if (s == null) + s = NONE; + if (logger.isLoggable()) { + logger.fine("sqlstore.database.dbvendor.getnotequal", s); // NOI18N + } + + return s; + } + + + /** * Returns database vendor type */ Index: persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/SQL92.properties =================================================================== --- persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/SQL92.properties (revision 40865) +++ persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/SQL92.properties (working copy) @@ -69,3 +69,4 @@ POSITION_THREE_ARGS=false SUPPORTS_LIKE_ESCAPE=true NULL_COMPARISON_FUNCTION_NAME= +NOT_EQUAL=!= 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 40865) +++ persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/SYMFOWARE.properties (working copy) @@ -45,3 +45,5 @@ SUPPORTS_UPDATE_LOCK=true ANSI_TRIM=false ABS=ABS +NOT_EQUAL=<> +SQRT=SQRT \ No newline at end of file Index: persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/Statement.java =================================================================== --- persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/Statement.java (revision 40865) +++ persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/Statement.java (working copy) @@ -960,7 +960,9 @@ result.append(" < "); // NOI18N break; case ActionDesc.OP_NE: - result.append(" != "); // NOI18N + result.append(" "); + result.append(vendorType.getNotEqual()); + result.append(" "); break; case ActionDesc.OP_OR: result.append(" or "); // NOI18N Index: persistence/common/src/main/resources/org/glassfish/persistence/common/VendorNameToTypeMapping.properties =================================================================== --- persistence/common/src/main/resources/org/glassfish/persistence/common/VendorNameToTypeMapping.properties (revision 40865) +++ persistence/common/src/main/resources/org/glassfish/persistence/common/VendorNameToTypeMapping.properties (working copy) @@ -45,3 +45,4 @@ (?i)informix.*=INFORMIX (?i).*derby|(?i)javadb=DERBY (?i)postgresql.*=POSTGRES +(?i)RDBII-Base\ or\ SymfoWARE=SYMFOWARE