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