Java MySQL JDBC驱动程序是否符合JDBC规范?

Java MySQL JDBC驱动程序是否符合JDBC规范?,java,mysql,jdbc,jakarta-ee,Java,Mysql,Jdbc,Jakarta Ee,我使用Connector/J5.1.10作为数据库应用程序(使用MySQL)的JDBC驱动程序 我发现,尽管语句返回的默认ResultSet类型仅为_FORWARD_,但我仍然能够安全地调用ResultSet上的previous()方法 我还查看了源代码(com.mysql.jdbc.ResultSetImpl),发现它也不检查ResultSet的类型 连接器/J是否不完全符合JDBC规范 谢谢。根据测试,该驱动程序符合Sun公开提供的所有测试 规范的某些部分是模糊的,mysql在发行说明中特别

我使用Connector/J5.1.10作为数据库应用程序(使用MySQL)的JDBC驱动程序

我发现,尽管语句返回的默认ResultSet类型仅为_FORWARD_,但我仍然能够安全地调用ResultSet上的previous()方法

我还查看了源代码(com.mysql.jdbc.ResultSetImpl),发现它也不检查ResultSet的类型

连接器/J是否不完全符合JDBC规范

谢谢。

根据测试,该驱动程序符合Sun公开提供的所有测试

规范的某些部分是模糊的,mysql在发行说明中特别指出了这一点。也许规范没有说明如果你在一个只向前的光标上来回移动供应商应该做什么。。。供应商可以选择是否向您抛出异常


公共测试不能测试由供应商决定的规范部分。

API文档说ResultSet#previous()应该抛出SQLException“如果……结果集类型仅为type_FORWARD”,因此,我想可以安全地假设J/Connector违反了这里的规范。

但是规范明确提到,如果我们试图对只能向前滚动的结果集调用previous(),将会发生什么;javadoc说应该抛出SQLException。