diff --git a/README.md b/README.md
index 1cd19d69b..6356f2898 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,7 @@
# MiniOB 介绍
+> **声明:本项目仅供学习用途,不承诺代码安全及稳定可靠。请勿将其直接用于生产环境。**
+
[](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);
};