Java 在哪里可以找到负责HyperSQL引擎级SQL查询执行的代码?

Java 在哪里可以找到负责HyperSQL引擎级SQL查询执行的代码?,java,jdbc,hsqldb,Java,Jdbc,Hsqldb,我找到了下一个git回购。我正在检查数据库的使用情况 例如,我想创建与DB的连接,并执行一些语句: Connection connection = ... Statement statement = connection.createStatement(); String query = "CREATE TABLE mytable (id IDENTITY , value VARCHAR)"; statement.executeUpdate(query); 如我所见,下一个

我找到了下一个git回购。我正在检查数据库的使用情况

例如,我想创建与DB的连接,并执行一些语句:

Connection connection = ...
Statement statement = connection.createStatement();
String query = "CREATE TABLE mytable (id IDENTITY , value VARCHAR)";
statement.executeUpdate(query);
如我所见,下一个内部JDBC驱动程序类调用序列将发生:

JDBCDriver -> JDBCConnection -> JDBCStatement -> Session -> Result (?) -> ? -> HSQLDB  
用于:

以及

下一步-调用


但是我在哪里可以找到负责通过DBMS引擎执行SQL语句的代码呢?

HSQLDB源代码位于SourceForge.net上托管的Subversion(非Git)存储库中:


如果您遵循Session.execute(Result…)方法,并找到EXECDIRECT的情况,您将看到该语句首先被编译,然后被执行。您可以从这里开始,其中包括大量负责编译和执行不同类型SQL语句的类。

但为什么首先是executeDirectStatement,然后再次为相同的结果执行performPostExecute?performPostExecute涵盖了除实际查询之外需要完成的任何工作。SQL执行不仅仅是创建结果,还必须处理事务、资源和其他事情。
public synchronized ResultSet executeQuery(
            String sql) throws SQLException {

        fetchResult(sql, StatementTypes.RETURN_RESULT,
                    JDBCStatementBase.NO_GENERATED_KEYS, null, null);

        return getResultSet();
}
private void fetchResult(String sql, int statementRetType,
                             int generatedKeys, int[] generatedIndexes,
                             String[] generatedNames) throws SQLException {
   ...
   resultIn = connection.sessionProxy.execute(resultOut);
   ...
}