ClickHouse/dbms/include/DB/Interpreters/InterpreterUseQuery.h

34 lines
643 B
C++
Raw Normal View History

2012-07-12 19:49:22 +00:00
#pragma once
#include <DB/Parsers/ASTUseQuery.h>
#include <DB/Interpreters/Context.h>
2015-06-18 02:11:05 +00:00
#include <DB/Interpreters/IInterpreter.h>
2012-07-12 19:49:22 +00:00
namespace DB
{
/** Выбрать БД по-умолчанию для сессии.
*/
2015-06-18 02:11:05 +00:00
class InterpreterUseQuery : public IInterpreter
2012-07-12 19:49:22 +00:00
{
public:
InterpreterUseQuery(ASTPtr query_ptr_, Context & context_)
: query_ptr(query_ptr_), context(context_) {}
2015-06-18 02:11:05 +00:00
BlockIO execute() override
2012-07-12 19:49:22 +00:00
{
const String & new_database = typeid_cast<const ASTUseQuery &>(*query_ptr).database;
2012-08-02 17:33:31 +00:00
context.getSessionContext().setCurrentDatabase(new_database);
2015-06-18 02:11:05 +00:00
return {};
2012-07-12 19:49:22 +00:00
}
private:
ASTPtr query_ptr;
Context & context;
};
}