The backup command does not work with:
While not a technical violation of the contract as defined in the core JDBC javadocs (which don't discuss interpreted extensions such as this). This seems to me to be a violation of the design principals, and user expectations, succinctly described here:
My primary argument for change would be that it inhibits the ability of such code to be included in interpreted responses to batch SQL operations. Normal SQL code can #execute() first, and then use the result to see if a direct call via #executeQuery() or #executeUpdate() would have been appropriate. This implementation requires foreknowledge of the statement type to be paired in advance.
If it's not to be changed, it should at least be flagged in the documentation/wiki.