Skip to content

Commit eda75ce

Browse files
committed
vacuum statement generator
1 parent 35c393d commit eda75ce

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-0
lines changed

src/include/statement_generator.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@ class StatementGenerator {
106106
unique_ptr<PrepareStatement> GeneratePrepare();
107107
unique_ptr<ExportStatement> GenerateExport();
108108
unique_ptr<InsertStatement> GenerateInsert();
109+
unique_ptr<VacuumStatement> GenerateVacuum();
109110

110111
unique_ptr<OrderModifier> GenerateOrderBy();
111112
unique_ptr<OrderModifier> GenerateOrderByAll();

src/statement_generator.cpp

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
#include "duckdb/parser/statement/export_statement.hpp"
3838
#include "duckdb/parser/parsed_data/copy_info.hpp"
3939
#include "duckdb/parser/statement/insert_statement.hpp"
40+
#include "duckdb/parser/statement/vacuum_statement.hpp"
4041

4142
namespace duckdb {
4243

@@ -145,6 +146,9 @@ unique_ptr<SQLStatement> StatementGenerator::GenerateStatement() {
145146
if (RandomPercentage(20)) {
146147
return GenerateInsert();
147148
}
149+
if (RandomPercentage(20)) {
150+
return GenerateVacuum();
151+
}
148152
return GenerateStatement(StatementType::CREATE_STATEMENT);
149153
}
150154

@@ -177,6 +181,8 @@ unique_ptr<SQLStatement> StatementGenerator::GenerateStatement(StatementType typ
177181
return GenerateExport();
178182
case StatementType::INSERT_STATEMENT:
179183
return GenerateInsert();
184+
case StatementType::VACUUM_STATEMENT:
185+
return GenerateVacuum();
180186
default:
181187
throw InternalException("Unsupported type");
182188
}
@@ -388,6 +394,15 @@ unique_ptr<InsertStatement> StatementGenerator::GenerateInsert() {
388394
return stmt;
389395
}
390396

397+
//===--------------------------------------------------------------------===//
398+
// Vacuum Statement
399+
//===--------------------------------------------------------------------===//
400+
401+
unique_ptr<VacuumStatement> StatementGenerator::GenerateVacuum() {
402+
duckdb::VacuumOptions opts;
403+
return make_uniq<VacuumStatement>(opts);
404+
}
405+
391406
//===--------------------------------------------------------------------===//
392407
// Generate Detach Info
393408
//===--------------------------------------------------------------------===//

0 commit comments

Comments
 (0)