diff --git a/README.md b/README.md index 1cd19d69b..6356f2898 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # MiniOB 介绍 +> **声明:本项目仅供学习用途,不承诺代码安全及稳定可靠。请勿将其直接用于生产环境。** +
[![Chinese Doc](https://img.shields.io/badge/文档-简体中文-blue)](https://oceanbase.github.io/miniob/) diff --git a/src/observer/sql/executor/load_data_executor.cpp b/src/observer/sql/executor/load_data_executor.cpp index f841a8474..76b7c6102 100644 --- a/src/observer/sql/executor/load_data_executor.cpp +++ b/src/observer/sql/executor/load_data_executor.cpp @@ -24,13 +24,11 @@ using namespace common; RC LoadDataExecutor::execute(SQLStageEvent *sql_event) { - RC rc = RC::SUCCESS; SqlResult *sql_result = sql_event->session_event()->sql_result(); LoadDataStmt *stmt = static_cast(sql_event->stmt()); Table *table = stmt->table(); const char *file_name = stmt->filename(); - load_data(table, file_name, stmt->terminated(), stmt->enclosed(), sql_result); - return rc; + return load_data(table, file_name, stmt->terminated(), stmt->enclosed(), sql_result); } /** @@ -83,7 +81,7 @@ RC insert_record_from_file( // TODO: pax format and row format -void LoadDataExecutor::load_data(Table *table, const char *file_name, char terminated, char enclosed, SqlResult *sql_result) +RC LoadDataExecutor::load_data(Table *table, const char *file_name, char terminated, char enclosed, SqlResult *sql_result) { // your code here stringstream result_string; @@ -94,7 +92,7 @@ void LoadDataExecutor::load_data(Table *table, const char *file_name, char termi result_string << "Failed to open file: " << file_name << ". system error=" << strerror(errno) << endl; sql_result->set_return_code(RC::FILE_NOT_EXIST); sql_result->set_state_string(result_string.str()); - return; + return RC::FILE_NOT_EXIST; } struct timespec begin_time; @@ -144,6 +142,8 @@ void LoadDataExecutor::load_data(Table *table, const char *file_name, char termi if (RC::SUCCESS == rc) { result_string << strrc(rc); } - LOG_INFO("load data done. row num: %s, result: %s", insertion_count, strrc(rc)); - sql_result->set_return_code(RC::SUCCESS); + LOG_INFO("load data done. row num: %d, result: %s", insertion_count, strrc(rc)); + sql_result->set_return_code(rc); + sql_result->set_state_string(result_string.str()); + return rc; } diff --git a/src/observer/sql/executor/load_data_executor.h b/src/observer/sql/executor/load_data_executor.h index 42f54d7dc..6f9761615 100644 --- a/src/observer/sql/executor/load_data_executor.h +++ b/src/observer/sql/executor/load_data_executor.h @@ -33,5 +33,5 @@ class LoadDataExecutor RC execute(SQLStageEvent *sql_event); private: - void load_data(Table *table, const char *file_name, char terminated, char enclosed, SqlResult *sql_result); + RC load_data(Table *table, const char *file_name, char terminated, char enclosed, SqlResult *sql_result); };