Skip to content
This repository was archived by the owner on Sep 27, 2019. It is now read-only.

Commit 96313f8

Browse files
committed
resolve conflicts
1 parent 6e01938 commit 96313f8

File tree

7 files changed

+31
-36
lines changed

7 files changed

+31
-36
lines changed

src/catalog/abstract_catalog.cpp

Lines changed: 10 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,9 @@
1212

1313
#include "catalog/abstract_catalog.h"
1414

15-
#include "binder/bind_node_visitor.h"
16-
1715
#include "common/statement.h"
1816

17+
#include "catalog/catalog.h"
1918
#include "catalog/database_catalog.h"
2019
#include "catalog/table_catalog.h"
2120

@@ -59,25 +58,11 @@ AbstractCatalog::AbstractCatalog(oid_t catalog_table_oid,
5958

6059
AbstractCatalog::AbstractCatalog(const std::string &catalog_table_ddl,
6160
concurrency::TransactionContext *txn) {
62-
// Get catalog table schema
61+
// get catalog table schema
6362
auto &peloton_parser = parser::PostgresParser::GetInstance();
64-
65-
// Build the parse tree
66-
const auto parse_tree_list = peloton_parser.BuildParseTree(catalog_table_ddl);
67-
if (parse_tree_list->GetStatements().empty()) {
68-
throw CatalogException(
69-
"Parse tree list has no parse trees. Cannot build plan");
70-
}
71-
// TODO: support multi-statement queries
72-
auto parse_tree = parse_tree_list->GetStatement(0);
73-
74-
// Run binder
75-
auto bind_node_visitor = binder::BindNodeVisitor(txn, DATABASE_CATALOG_NAME);
76-
bind_node_visitor.BindNameToNode(parse_tree);
77-
78-
// Create the plan tree
7963
auto create_plan = std::dynamic_pointer_cast<planner::CreatePlan>(
80-
optimizer::Optimizer().BuildPelotonPlanTree(parse_tree_list, txn));
64+
optimizer::Optimizer().BuildPelotonPlanTree(
65+
peloton_parser.BuildParseTree(catalog_table_ddl), txn));
8166
auto catalog_table_schema = create_plan->GetSchema();
8267
auto catalog_table_name = create_plan->GetTableName();
8368
auto catalog_schema_name = create_plan->GetSchemaName();
@@ -88,15 +73,17 @@ AbstractCatalog::AbstractCatalog(const std::string &catalog_table_ddl,
8873
catalog_database_name, catalog_schema_name, catalog_table_name,
8974
std::unique_ptr<catalog::Schema>(catalog_table_schema), txn, true);
9075

91-
// Get catalog table oid
76+
// get catalog table oid
9277
auto catalog_table_object = Catalog::GetInstance()->GetTableObject(
9378
catalog_database_name, catalog_schema_name, catalog_table_name, txn);
9479

95-
// Set catalog_table_
80+
// set catalog_table_
9681
try {
9782
catalog_table_ = storage::StorageManager::GetInstance()->GetTableWithOid(
9883
catalog_table_object->GetDatabaseOid(),
9984
catalog_table_object->GetTableOid());
85+
// set database_oid
86+
database_oid = catalog_table_object->GetDatabaseOid();
10087
} catch (CatalogException &e) {
10188
LOG_TRACE("Can't find table %d! Return false",
10289
catalog_table_object->GetTableOid());
@@ -336,7 +323,8 @@ bool AbstractCatalog::UpdateWithIndexScan(
336323
std::vector<expression::AbstractExpression *> runtime_keys;
337324

338325
planner::IndexScanPlan::IndexScanDesc index_scan_desc(
339-
index, key_column_offsets, expr_types, scan_values, runtime_keys);
326+
index->GetOid(), key_column_offsets, expr_types, scan_values,
327+
runtime_keys);
340328

341329
planner::IndexScanPlan index_scan_node(catalog_table_, nullptr,
342330
update_columns, index_scan_desc);

src/catalog/query_metrics_catalog.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,8 +99,7 @@ bool QueryMetricsCatalog::InsertQueryMetrics(
9999
}
100100

101101
bool QueryMetricsCatalog::DeleteQueryMetrics(
102-
const std::string &name, oid_t database_oid,
103-
concurrency::TransactionContext *txn) {
102+
const std::string &name, concurrency::TransactionContext *txn) {
104103
oid_t index_offset = IndexId::PRIMARY_KEY; // Primary key index
105104

106105
std::vector<type::Value> values;
@@ -116,6 +115,7 @@ stats::QueryMetric::QueryParamBuf QueryMetricsCatalog::GetParamTypes(
116115
oid_t index_offset = IndexId::PRIMARY_KEY; // Primary key index
117116
std::vector<type::Value> values;
118117
values.push_back(type::ValueFactory::GetVarcharValue(name, nullptr).Copy());
118+
values.push_back(type::ValueFactory::GetIntegerValue(database_oid).Copy());
119119

120120
auto result_tiles =
121121
GetResultWithIndexScan(column_ids, index_offset, values, txn);

src/codegen/operator/table_scan_translator.cpp

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@
1414

1515
#include "codegen/lang/if.h"
1616
#include "codegen/proxy/executor_context_proxy.h"
17+
#include "codegen/proxy/runtime_functions_proxy.h"
1718
#include "codegen/proxy/storage_manager_proxy.h"
1819
#include "codegen/proxy/transaction_runtime_proxy.h"
19-
#include "codegen/proxy/runtime_functions_proxy.h"
2020
#include "codegen/proxy/zone_map_proxy.h"
2121
#include "codegen/type/boolean_type.h"
2222
#include "planner/seq_scan_plan.h"
@@ -50,7 +50,7 @@ TableScanTranslator::TableScanTranslator(const planner::SeqScanPlan &scan,
5050
pipeline.InstallBoundaryAtOutput(this);
5151
}
5252
}
53-
LOG_DEBUG("Finished constructing TableScanTranslator ...");
53+
LOG_TRACE("Finished constructing TableScanTranslator ...");
5454
}
5555

5656
// Produce!
@@ -135,8 +135,12 @@ void TableScanTranslator::ScanConsumer::ProcessTuples(
135135
}
136136

137137
// 3. Setup the (filtered) row batch and setup attribute accessors
138-
RowBatch batch{translator_.GetCompilationContext(), tile_group_id_, tid_start,
139-
tid_end, selection_vector_, true};
138+
RowBatch batch{translator_.GetCompilationContext(),
139+
tile_group_id_,
140+
tid_start,
141+
tid_end,
142+
selection_vector_,
143+
true};
140144

141145
std::vector<TableScanTranslator::AttributeAccess> attribute_accesses;
142146
SetupRowBatch(batch, tile_group_access, attribute_accesses);
@@ -227,7 +231,8 @@ void TableScanTranslator::ScanConsumer::FilterRowsByPredicate(
227231
codegen::Value valid_row = row.DeriveValue(codegen, *predicate);
228232

229233
// Reify the boolean value since it may be NULL
230-
PELOTON_ASSERT(valid_row.GetType().GetSqlType() == type::Boolean::Instance());
234+
PELOTON_ASSERT(valid_row.GetType().GetSqlType() ==
235+
type::Boolean::Instance());
231236
llvm::Value *bool_val = type::Boolean::Instance().Reify(codegen, valid_row);
232237

233238
// Set the validity of the row

src/include/catalog/query_metrics_catalog.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ class QueryMetricsCatalog : public AbstractCatalog {
5959
int64_t inserts, int64_t latency, int64_t cpu_time,
6060
int64_t time_stamp, type::AbstractPool *pool,
6161
concurrency::TransactionContext *txn);
62-
bool DeleteQueryMetrics(const std::string &name, oid_t database_oid,
62+
bool DeleteQueryMetrics(const std::string &name,
6363
concurrency::TransactionContext *txn);
6464

6565
//===--------------------------------------------------------------------===//

src/include/planner/seq_scan_plan.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@
1717
#include <vector>
1818

1919
#include "abstract_scan_plan.h"
20+
#include "common/internal_types.h"
2021
#include "common/logger.h"
2122
#include "expression/abstract_expression.h"
2223
#include "type/serializer.h"
23-
#include "common/internal_types.h"
2424

2525
namespace peloton {
2626

test/catalog/catalog_test.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,8 +100,9 @@ TEST_F(CatalogTests, CreatingTable) {
100100
catalog::Catalog::GetInstance()
101101
->GetSystemCatalogs(database_object->GetDatabaseOid())
102102
->GetQueryMetricsCatalog()
103-
->InsertQueryMetrics("a query", 1, param, param, param, 1, 1, 1, 1, 1, 1,
104-
1, pool.get(), txn);
103+
->InsertQueryMetrics("a query", database_object->GetDatabaseOid(), 1,
104+
param, param, param, 1, 1, 1, 1, 1, 1, 1, pool.get(),
105+
txn);
105106
auto param1 = catalog::Catalog::GetInstance()
106107
->GetSystemCatalogs(database_object->GetDatabaseOid())
107108
->GetQueryMetricsCatalog()

test/statistics/testing_stats_util.cpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ std::shared_ptr<Statement> TestingStatsUtil::GetInsertStmt(int id,
137137
std::string val) {
138138
std::shared_ptr<Statement> statement;
139139
std::string sql =
140-
"INSERT INTO department_table(dept_id,dept_name) VALUES "
140+
"INSERT INTO emp_db.public.department_table(dept_id,dept_name) VALUES "
141141
"(" +
142142
std::to_string(id) + ",'" + val + "');";
143143
LOG_TRACE("Query: %s", sql.c_str());
@@ -148,7 +148,7 @@ std::shared_ptr<Statement> TestingStatsUtil::GetInsertStmt(int id,
148148

149149
std::shared_ptr<Statement> TestingStatsUtil::GetDeleteStmt() {
150150
std::shared_ptr<Statement> statement;
151-
std::string sql = "DELETE FROM department_table";
151+
std::string sql = "DELETE FROM emp_db.public.department_table";
152152
LOG_INFO("Query: %s", sql.c_str());
153153
statement.reset(new Statement("DELETE", sql));
154154
ParseAndPlan(statement.get(), sql);
@@ -158,7 +158,8 @@ std::shared_ptr<Statement> TestingStatsUtil::GetDeleteStmt() {
158158
std::shared_ptr<Statement> TestingStatsUtil::GetUpdateStmt() {
159159
std::shared_ptr<Statement> statement;
160160
std::string sql =
161-
"UPDATE department_table SET dept_name = 'CS' WHERE dept_id = 1";
161+
"UPDATE emp_db.public.department_table SET dept_name = 'CS' WHERE "
162+
"dept_id = 1";
162163
LOG_INFO("Query: %s", sql.c_str());
163164
statement.reset(new Statement("UPDATE", sql));
164165
ParseAndPlan(statement.get(), sql);

0 commit comments

Comments
 (0)