### Question:
TableEnv { public DataTable sqlQuery(String sql) { try { executeBeforeSqlQuery(sql); if (sql2ExecutionPlanCache != null) { TableExecutionPlan executionPlan = sql2ExecutionPlanCache .getIfPresent( cacheKeyPrefix + sql); if (executionPlan != null) { return implement(executionPlan.getBindable(), executionPlan.getRowType(), calciteCatalogReader.getTypeFactory()); } } TableExecutionPlan executionPlan = toExecutionPlan(sql); DataTable dt = implement(executionPlan.getBindable(), executionPlan.rowType, calciteCatalogReader.getTypeFactory()); if (sql2ExecutionPlanCache != null) { sql2ExecutionPlanCache.put(cacheKeyPrefix + sql, executionPlan); } executeAfterSqlQuery(sql); return dt; } catch (Throwable t) { throw new RuntimeException( "current rootSchema:" + rootSchema.getTableNames(), t); } } TableEnv(TableConfig tableConfig); String getCacheKeyPrefix(); void setCacheKeyPrefix(
      String cacheKeyPrefix); static void clearExecutionPlan(); void registerSqlBindableClass(String sql, Class clazz); static int getMaxSqlPlanCacheSize(); static synchronized void enableSqlPlanCacheSize(
      int maxSqlPlanCacheSize); static TableEnv getTableEnv(); static TableEnv getTableEnv(TableConfig tableConfig); TableConfig getTableConfig(); DataTable getTable(String tableName); DataTable getTable(String subSchemaName, String tableName); void registerTable(String tableName, DataTable dataTable); void registerTable(String subSchemaName, String tableName,
      DataTable dataTable); SchemaPlus addSubSchema(String subSchemaName); void addFunction(String schemaName, String functionName,
      String className, String methodName); TableExecutionPlan getExecutionPlan(String sql); String getExecutionCode(String sql); DataTable sqlQuery(String sql); TableExecutionPlan toExecutionPlan(String sql); DataTable fromJdbcResultSet(
      ResultSet resultSet); DataTable fromJavaPojoList(List pojoList); DataTable fromJavaPojoList(List pojoList,
      Map<String, String> fieldName2SqlColumnNameMap, boolean upperUnderscore); DataTable fromRowListWithSqlTypeMap(List<Map<String, Object>> rowList,
      Map<String, SqlTypeName> sqlTypeMap);  }### Answer:
@Test public void testApi() { DataTable table1 = tableEnv.sqlQuery("select * from test.t1"); Assert.assertNotNull(table1); DataTable table2 = tableEnv.sqlQuery("select * from t2"); Assert.assertNotNull(table2); Assert.assertEquals("hello,marble", tableEnv.sqlQuery("select hello('marble') as c1") .toMapList() .get(0) .get("c1")); }