blob: e5b59e30ffa9a3aa5335d539c54ada9604d2a8fb (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
#include "sqlitedetach.h"
#include "sqlitequerytype.h"
#include "sqliteexpr.h"
#include "common/global.h"
#include "parser/statementtokenbuilder.h"
SqliteDetach::SqliteDetach()
{
queryType = SqliteQueryType::Detach;
}
SqliteDetach::SqliteDetach(const SqliteDetach& other) :
SqliteQuery(other), databaseKw(other.databaseKw)
{
DEEP_COPY_FIELD(SqliteExpr, name);
}
SqliteDetach::SqliteDetach(bool databaseKw, SqliteExpr *name)
:SqliteDetach()
{
this->databaseKw = databaseKw;
this->name = name;
if (name)
name->setParent(this);
}
SqliteDetach::~SqliteDetach()
{
}
SqliteStatement*SqliteDetach::clone()
{
return new SqliteDetach(*this);
}
TokenList SqliteDetach::rebuildTokensFromContents()
{
StatementTokenBuilder builder;
builder.withTokens(SqliteQuery::rebuildTokensFromContents());
builder.withKeyword("DETACH").withSpace();
if (databaseKw)
builder.withKeyword("DATABASE").withSpace();
builder.withStatement(name).withOperator(";");
return builder.build();
}
|