Skip to content

Commit

Permalink
Apply z_optimizer.patch
Browse files Browse the repository at this point in the history
  • Loading branch information
carlopi committed May 17, 2024
1 parent 7df7d41 commit 47be7e6
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 10 deletions.
8 changes: 4 additions & 4 deletions src/hnsw/hnsw_plan_index_create.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ class HNSWIndexInsertionRewriter : public OptimizerExtension {
optimize_function = HNSWIndexInsertionRewriter::Optimize;
}

static void TryOptimize(ClientContext &context, OptimizerExtensionInfo *info, unique_ptr<LogicalOperator> &plan) {
static void TryOptimize(ClientContext &context, unique_ptr<LogicalOperator> &plan) {
auto &op = *plan;

// Look for a CREATE INDEX operator
Expand Down Expand Up @@ -125,13 +125,13 @@ class HNSWIndexInsertionRewriter : public OptimizerExtension {
plan = std::move(physical_create_index);
}

static void Optimize(ClientContext &context, OptimizerExtensionInfo *info, unique_ptr<LogicalOperator> &plan) {
static void Optimize(OptimizerExtensionInput &input, unique_ptr<LogicalOperator> &plan) {

TryOptimize(context, info, plan);
TryOptimize(input.context, plan);

// Recursively traverse the children
for (auto &child : plan->children) {
Optimize(context, info, child);
Optimize(input, child);
}
};
};
Expand Down
12 changes: 6 additions & 6 deletions src/hnsw/hnsw_plan_index_scan.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ class HNSWIndexScanOptimizer : public OptimizerExtension {
optimize_function = HNSWIndexScanOptimizer::Optimize;
}

static bool TryOptimize(ClientContext &context, OptimizerExtensionInfo *info, unique_ptr<LogicalOperator> &plan) {
static bool TryOptimize(ClientContext &context, unique_ptr<LogicalOperator> &plan) {
// Look for a TopN operator
auto &op = *plan;

Expand Down Expand Up @@ -183,12 +183,12 @@ class HNSWIndexScanOptimizer : public OptimizerExtension {
return true;
}

static bool OptimizeChildren(ClientContext &context, OptimizerExtensionInfo *info, unique_ptr<LogicalOperator> &plan) {
static bool OptimizeChildren(ClientContext &context, unique_ptr<LogicalOperator> &plan) {

auto ok = TryOptimize(context, info, plan);
auto ok = TryOptimize(context, plan);
// Recursively optimize the children
for (auto &child : plan->children) {
ok |= OptimizeChildren(context, info, child);
ok |= OptimizeChildren(context, child);
}
return ok;
}
Expand Down Expand Up @@ -232,8 +232,8 @@ class HNSWIndexScanOptimizer : public OptimizerExtension {
}
}

static void Optimize(ClientContext &context, OptimizerExtensionInfo *info, unique_ptr<LogicalOperator> &plan) {
auto did_use_hnsw_scan = OptimizeChildren(context, info, plan);
static void Optimize(OptimizerExtensionInput &input, unique_ptr<LogicalOperator> &plan) {
auto did_use_hnsw_scan = OptimizeChildren(input.context, plan);
if(did_use_hnsw_scan) {
MergeProjections(plan);
}
Expand Down

0 comments on commit 47be7e6

Please sign in to comment.