我正在尝试使用Apache Calcite查询Postgres数据库。我可以通过Calcite JDBC驱动程序细读关于数据库的元数据,因此我绝对可以连接到该数据库,但是无论何时查询表,Calcite始终都会以“未找到表x”作为响应。如果我更改代码以改为使用Hsqldb,则一切正常。下面是代码(根据此Calcite测试用例改编而成:https : //github.com/apache/calcite/blob/master/core/src/test/java/org/apache/calcite/test/MultiJdbcSchemaJoinTest.java)
package org.apache.calcite;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.sql.DataSource;
import org.apache.calcite.adapter.jdbc.JdbcSchema;
import org.apache.calcite.jdbc.CalciteConnection;
import org.apache.calcite.schema.SchemaPlus;
/**
* This class demonstrates Calcite unable to recognize tables in Postgres on
* Mac OS X 10.11.5 with Calcite 1.7.0, Postgres 9.5.2.0 and Java 1.8.0_77.
*
* Before you run this class, you must create the user and database in
* Postgres by executing the following SQL:
*
* create user johnsnow …Run Code Online (Sandbox Code Playgroud)