Я запрашиваю таблицу базы данных H2 через кальцит.Я создал следующую таблицу в H2 с помощью драйвера H2 jdbc CREATE TABLE EMP (ENAME VARCHAR (10), DEPTNO INT, GENDER VARCHAR (1))
В кальците я использую следующую схему для подключения
{
"version": "1.0",
"defaultSchema": "test",
"schemas": [
{
"type": "jdbc",
"name": "test",
"jdbcDriver":"org.h2.Driver",
"jdbcUser": "sa",
"jdbcPassword": "",
"jdbcUrl": "jdbc:h2:~/test;user=sa;password=",
"jdbcCatalog":null,
"jdbcSchema":"test"
}
]
}
Это не работает, и я получаю SqlValidatorException (кажется, что таблица не видна для кальцита) (проверено с помощью функции getMetaData ())
Однако, если я изменю схему на следующую (добавитьnull) все работает как положено
{
"version": "1.0",
"defaultSchema": "test",
"schemas": [
{
"type": "jdbc",
"name": "test",
"jdbcDriver":"org.h2.Driver",
"jdbcUser": "sa",
"jdbcPassword": "",
"jdbcUrl": "jdbc:h2:~/test;user=sa;password=",
"jdbcCatalog":null,
"jdbcSchema": null
}
]
}
Есть еще один интересный случай, если я изменю jdbcSchema на "" (пустую) строку, таблицы (emp, dept) в тесте видны, но запрос -выберите «ENAME» из «test». «EMP» завершается неудачей.
После отладки кажется, что он перезаписывается (непосредственно перед вызовом baz), выбирает «ENAME» из *. «EMP» и завершается ошибкой
Ожидается ли это (кальцит нуб здесь)