One additional note:

Where clause                                | Oracle | PostgreSQL      | MySQL
------------------------------------------------------------------------------
WHERE (a1, b1) = ( 1, 1 )                   | Fail   | Pass            | Pass
------------------------------------------------------------------------------
WHERE (a1, b1) IN ( ( 1, 1 ), ( 2, 2 ) )    | Pass   | Pass            | Pass
------------------------------------------------------------------------------
WHERE (a1, b1) = ( SELECT 1, 1 FROM dual )  | Pass   | Pass (not DUAL) | Pass
------------------------------------------------------------------------------
WHERE (a1, b1) IN ( SELECT 1, 1 FROM dual ) | Pass   | Pass (not DUAL) | Pass

Currently Dialect#supportsRowValueConstructorSyntaxInInList() is overridden 
only by Oracle dialect and 
Dialect#supportsRowValueConstructorSyntax() by MySQL and PostgreSQL.

Should we assume that Dialect#supportsRowValueConstructorSyntax() corresponds 
to first row in the table above and 
Dialect#supportsRowValueConstructorSyntaxInInList() to the rest? If so, MySQL 
and PostgreSQL dialects would need to be updated.

Regards,
Lukasz
_______________________________________________
hibernate-dev mailing list
hibernate-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/hibernate-dev

Reply via email to