patch 4.0
This commit is contained in:
@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user