patch 4.0

This commit is contained in:
wangzelin.wzl
2022-10-24 10:34:53 +08:00
parent 4ad6e00ec3
commit 93a1074b0c
10533 changed files with 2588271 additions and 2299373 deletions

View File

@ -12,43 +12,38 @@
#ifndef OCEANBASE_SQL_EXECUTOR_OB_LOCAL_JOB_EXECUTOR_
#define OCEANBASE_SQL_EXECUTOR_OB_LOCAL_JOB_EXECUTOR_
namespace oceanbase {
namespace sql {
namespace oceanbase
{
namespace sql
{
class ObTaskInfo;
class ObJob;
class ObTaskExecutor;
class ObExecContext;
class ObLocalJobExecutor {
class ObLocalJobExecutor
{
public:
ObLocalJobExecutor();
virtual ~ObLocalJobExecutor();
void set_job(ObJob& job)
{
job_ = &job;
}
void set_task_executor(ObTaskExecutor& executor)
{
executor_ = &executor;
}
int execute(ObExecContext& ctx);
inline void reset()
{
job_ = NULL;
executor_ = NULL;
}
// 设置待调度Job
void set_job(ObJob &job) { job_ = &job; }
void set_task_executor(ObTaskExecutor &executor) { executor_ = &executor; }
// 调度Job,将Job中的Task分发出去执行
// Job暴露出足够的状态接口,Execute就可以获得正确的待执行Task
int execute(ObExecContext &ctx);
inline void reset () { job_ = NULL; executor_ = NULL; }
private:
// disallow copy
ObLocalJobExecutor(const ObLocalJobExecutor& other);
ObLocalJobExecutor& operator=(const ObLocalJobExecutor& ohter);
int get_executable_task(ObExecContext& ctx, ObTaskInfo*& task);
ObLocalJobExecutor(const ObLocalJobExecutor &other);
ObLocalJobExecutor &operator=(const ObLocalJobExecutor &ohter);
int get_executable_task(ObExecContext &ctx, ObTaskInfo *&task);
private:
ObJob* job_;
ObTaskExecutor* executor_;
ObJob *job_;
ObTaskExecutor *executor_;
};
} // namespace sql
} // namespace oceanbase
}
}
#endif /* OCEANBASE_SQL_EXECUTOR_OB_LOCAL_JOB_EXECUTOR_ */
//// end of header file