Improve schema inference in clickhouse-local

This commit is contained in:
avogar
2022-02-10 18:23:52 +03:00
parent 738355b724
commit 9bbbbdcdd6
3 changed files with 41 additions and 1 deletions
+9 -1
View File
@@ -313,9 +313,17 @@ void LocalServer::cleanup()
}
static bool checkIfStdinIsNotEmpty()
{
struct stat file_stat;
return fstat(STDIN_FILENO, &file_stat) == 0 && (S_ISREG(file_stat.st_mode) || S_ISFIFO(file_stat.st_mode));
}
std::string LocalServer::getInitialCreateTableQuery()
{
if (!config().has("table-structure") && !config().has("table-file") && !config().has("table-data-format"))
/// We can create initial table only when we have data for it
/// in file or in stdin (we treat stdin as table data if we have query)
if (!config().has("table-file") && (!checkIfStdinIsNotEmpty() || !config().has("query")))
return {};
auto table_name = backQuoteIfNeed(config().getString("table-name", "table"));