Get rid of SET GLOBAL command. [#MTRSADMIN-3068]

This commit is contained in:
Vitaliy Lyudvichenko 2017-06-15 15:43:37 +03:00 committed by alexey-milovidov
parent 2167e4efdd
commit 8b72f573d8
5 changed files with 7 additions and 21 deletions

View File

@ -18,9 +18,6 @@ BlockIO InterpreterSetQuery::execute()
checkAccess(ast);
if (ast.global)
throw Exception("SET GLOBAL command is depricated", ErrorCodes::NOT_IMPLEMENTED);
Context & target = context.getSessionContext();
for (const auto & change : ast.changes)
target.setSetting(change.name, change.value);

View File

@ -23,8 +23,6 @@ public:
using Changes = std::vector<Change>;
Changes changes;
bool global; /// If the query is SET GLOBAL.
ASTSetQuery() = default;
ASTSetQuery(const StringRange range_) : IAST(range_) {}
@ -36,7 +34,7 @@ public:
protected:
void formatImpl(const FormatSettings & settings, FormatState & state, FormatStateStacked frame) const override
{
settings.ostr << (settings.hilite ? hilite_keyword : "") << "SET " << (global ? "GLOBAL " : "") << (settings.hilite ? hilite_none : "");
settings.ostr << (settings.hilite ? hilite_keyword : "") << "SET " << (settings.hilite ? hilite_none : "");
for (ASTSetQuery::Changes::const_iterator it = changes.begin(); it != changes.end(); ++it)
{

View File

@ -54,8 +54,6 @@ bool ParserSetQuery::parseImpl(Pos & pos, Pos end, ASTPtr & node, Pos & max_pars
ParserWhitespaceOrComments ws;
ParserString s_comma(",");
bool global = false;
if (!parse_only_internals)
{
ParserKeyword s_set("SET");
@ -67,8 +65,6 @@ bool ParserSetQuery::parseImpl(Pos & pos, Pos end, ASTPtr & node, Pos & max_pars
return false;
ws.ignore(pos, end);
global = s_global.ignore(pos, end, max_parsed_pos, expected);
}
ASTSetQuery::Changes changes;
@ -92,7 +88,6 @@ bool ParserSetQuery::parseImpl(Pos & pos, Pos end, ASTPtr & node, Pos & max_pars
node = query;
query->changes = changes;
query->global = global;
return true;
}

View File

@ -1458,15 +1458,13 @@ This query can&#39;t be made when using the HTTP protocol, since there is no con
===SET===
%%SET [GLOBAL] param = value%%
%%SET param = value%%
Lets you set the &#39;param&#39; setting to &#39;value&#39;. You can also make all the settings from the specified settings profile in a single query. To do this, specify &#39;profile&#39; as the setting name. For more information, see the section &quot;Settings&quot;. The setting is made for the session, or for the server (globally) if GLOBAL is specified.
When making a global setting, the setting is not applied to sessions already running, including the current session. It will only be used for new sessions.
Settings made using SET GLOBAL have a lower priority compared with settings made in the config file in the user profile. In other words, user settings can&#39;t be overridden by SET GLOBAL.
When the server is restarted, global settings made using SET GLOBAL are lost.
To make settings that persist after a server restart, you can only use the server&#39;s config file. (This can&#39;t be done using a SET query.)
When the server is restarted, global settings made using SET are lost.
To make settings that persist after a server restart, you can only use the server&#39;s config file.
===OPTIMIZE===

View File

@ -1499,16 +1499,14 @@ ALTER TABLE ... FREEZE PARTITION копирует только данные, н
===SET===
%%SET [GLOBAL] param = value%%
%%SET param = value%%
Позволяет установить настройку param в значение value. Также можно одним запросом установить все настройки из заданного профиля настроек - для этого, укажите в качестве имени настройки profile. Подробнее смотри раздел "Настройки".
Настройка устанавливается на сессию, или на сервер (глобально), если указано GLOBAL.
При установке глобальной настройки, настройка на все уже запущенные сессии, включая текущую сессию, не устанавливается, а будет использована только для новых сессий.
Настройки, заданные с помощью SET GLOBAL имеют меньший приоритет по сравнению с настройками, указанными в профиле пользователя, в конфигурационном файле. То есть, переопределить такие настройки с помощью SET GLOBAL невозможно.
При перезапуске сервера, теряются глобальные настройки, установленные с помощью SET GLOBAL.
Установить настройки, которые переживут перезапуск сервера, можно только с помощью конфигурационного файла сервера. (Это не может быть сделано с помощью запроса SET.)
При перезапуске сервера, теряются глобальные настройки, установленные с помощью SET.
Установить настройки, которые переживут перезапуск сервера, можно только с помощью конфигурационного файла сервера.
===OPTIMIZE===