While working with TestViews, I noticed that JDBC's executeQuery() returns immediately for drop view statements. For DDLs, users' expectation would be that the call would return synchronously. The same would be true for execute(), and executeUpdate(), if used for DDLs. This behavior is pretty typical for RDBMSs. This avoids the user having to consume the (non-)output in order to wait for the statement to complete – otherwise it will get cancelled when the Statement is closed.