client: fixed bug with sending readOnly [METR-8983]

This commit is contained in:
Sergey Fedorov 2014-04-23 17:33:12 +04:00
parent aa3c0b6a8d
commit 6e55c822c0

View File

@ -468,6 +468,15 @@ private:
written_first_block = false; written_first_block = false;
const ASTSetQuery * set_query = dynamic_cast<const ASTSetQuery *>(&*parsed_query); const ASTSetQuery * set_query = dynamic_cast<const ASTSetQuery *>(&*parsed_query);
const ASTUseQuery * use_query = dynamic_cast<const ASTUseQuery *>(&*parsed_query);
/// Запрос INSERT (но только тот, что требует передачи данных - не INSERT SELECT), обрабатывается отдельным способом.
const ASTInsertQuery * insert = dynamic_cast<const ASTInsertQuery *>(&*parsed_query);
if (insert && !insert->select)
processInsertQuery();
else
processOrdinaryQuery();
if (set_query) if (set_query)
{ {
/// Запоминаем все изменения в настройках, чтобы не потерять их при разрыве соединения. /// Запоминаем все изменения в настройках, чтобы не потерять их при разрыве соединения.
@ -480,7 +489,6 @@ private:
} }
} }
const ASTUseQuery * use_query = dynamic_cast<const ASTUseQuery *>(&*parsed_query);
if (use_query) if (use_query)
{ {
const String & new_database = use_query->database; const String & new_database = use_query->database;
@ -490,14 +498,6 @@ private:
connection->setDefaultDatabase(new_database); connection->setDefaultDatabase(new_database);
} }
/// Запрос INSERT (но только тот, что требует передачи данных - не INSERT SELECT), обрабатывается отдельным способом.
const ASTInsertQuery * insert = dynamic_cast<const ASTInsertQuery *>(&*parsed_query);
if (insert && !insert->select)
processInsertQuery();
else
processOrdinaryQuery();
if (is_interactive) if (is_interactive)
{ {
std::cout << std::endl std::cout << std::endl