mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-24 08:32:02 +00:00
dbms: addition to SETTINGS [#METR-16354].
This commit is contained in:
parent
557b60a19d
commit
51be2693ee
@ -130,15 +130,12 @@ private:
|
||||
|
||||
void ignoreWithTotals();
|
||||
|
||||
/** Если в запросе SELECT есть секция SETTINGS, то применить настройки из неё и удалить секцию SETTINGS.
|
||||
/** Если в запросе SELECT есть секция SETTINGS, то применить настройки из неё.
|
||||
* Затем достать настройки из context и поместить их в settings.
|
||||
*
|
||||
* Секция SETTINGS - настройки для конкретного запроса.
|
||||
* Обычно настройки могут быть переданы другими способами, не внутри запроса.
|
||||
* Но использование такой секции оправдано, если нужно задать настройки для одного подзапроса.
|
||||
*
|
||||
* При распределённой обработке запроса, секция SETTINGS не будет передана внутри запроса,
|
||||
* а настройки будут переданы отдельно, при отправке запроса.
|
||||
*/
|
||||
void initSettings();
|
||||
|
||||
|
@ -1034,17 +1034,8 @@ void InterpreterSelectQuery::ignoreWithTotals()
|
||||
void InterpreterSelectQuery::initSettings()
|
||||
{
|
||||
if (query.settings)
|
||||
{
|
||||
InterpreterSetQuery(query.settings, context).executeForCurrentContext();
|
||||
|
||||
auto it = std::find(query.children.begin(), query.children.end(), query.settings);
|
||||
if (query.children.end() == it)
|
||||
throw Exception("Logical error: cannot find query.settings element in query.children", ErrorCodes::LOGICAL_ERROR);
|
||||
|
||||
query.children.erase(it);
|
||||
query.settings = nullptr;
|
||||
}
|
||||
|
||||
settings = context.getSettings();
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user