mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-12-02 12:32:04 +00:00
48 lines
1.4 KiB
C++
48 lines
1.4 KiB
C++
#include <Parsers/ASTTransactionControl.h>
|
|
#include <IO/Operators.h>
|
|
#include <Common/SipHash.h>
|
|
|
|
namespace DB
|
|
{
|
|
|
|
void ASTTransactionControl::formatImpl(const FormatSettings & format /*state*/, FormatState &, FormatStateStacked /*frame*/) const
|
|
{
|
|
switch (action)
|
|
{
|
|
case BEGIN:
|
|
format.ostr << (format.hilite ? hilite_keyword : "") << "BEGIN TRANSACTION" << (format.hilite ? hilite_none : "");
|
|
break;
|
|
case COMMIT:
|
|
format.ostr << (format.hilite ? hilite_keyword : "") << "COMMIT" << (format.hilite ? hilite_none : "");
|
|
break;
|
|
case ROLLBACK:
|
|
format.ostr << (format.hilite ? hilite_keyword : "") << "ROLLBACK" << (format.hilite ? hilite_none : "");
|
|
break;
|
|
case SET_SNAPSHOT:
|
|
format.ostr << (format.hilite ? hilite_keyword : "") << "SET TRANSACTION SNAPSHOT " << (format.hilite ? hilite_none : "") << snapshot;
|
|
break;
|
|
}
|
|
}
|
|
|
|
IAST::QueryKind ASTTransactionControl::getQueryKind() const
|
|
{
|
|
switch (action)
|
|
{
|
|
case BEGIN:
|
|
return QueryKind::Begin;
|
|
case COMMIT:
|
|
return QueryKind::Commit;
|
|
case ROLLBACK:
|
|
return QueryKind::Rollback;
|
|
case SET_SNAPSHOT:
|
|
return QueryKind::SetTransactionSnapshot;
|
|
}
|
|
}
|
|
|
|
void ASTTransactionControl::updateTreeHashImpl(SipHash & hash_state) const
|
|
{
|
|
hash_state.update(action);
|
|
}
|
|
|
|
}
|