OmniSciDB  04ee39c94c
TableOptimizer.h
Go to the documentation of this file.
1 /*
2  * Copyright 2019 OmniSci, Inc.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #pragma once
18 
19 #include "Execute.h"
20 
21 #include <Shared/measure.h>
22 #include "Shared/Logger.h"
23 
33  public:
35  Executor* executor,
36  const Catalog_Namespace::Catalog& cat)
37  : td_(td), executor_(executor), cat_(cat) {
38  CHECK(td);
39  }
40 
47  void recomputeMetadata() const;
48 
56  void vacuumDeletedRows() const;
57 
58  private:
60  Executor* executor_;
62 };
class for a per-database catalog. also includes metadata for the current database and the current use...
Definition: Catalog.h:81
Driver for running cleanup processes on a table. TableOptimizer provides functions for various cleanu...
const TableDescriptor * td_
Executor * executor_
void vacuumDeletedRows() const
Compacts fragments to remove deleted rows. When a row is deleted, a boolean deleted system column is ...
void recomputeMetadata() const
Recomputes per-chunk metadata for each fragment in the table. Updates and deletes can cause chunk met...
#define CHECK(condition)
Definition: Logger.h:187
TableOptimizer(const TableDescriptor *td, Executor *executor, const Catalog_Namespace::Catalog &cat)
specifies the content in-memory of a row in the table metadata table
const Catalog_Namespace::Catalog & cat_