[OBKV] hold ObTableQueryAndMutate flag in master

This commit is contained in:
shenyunlong.syl
2024-02-27 05:17:13 +00:00
committed by ob-robot
parent 1ded3b511c
commit d1d1af5969
2 changed files with 21 additions and 3 deletions

View File

@ -1694,7 +1694,8 @@ uint64_t ObTableQueryAndMutate::get_checksum()
OB_SERIALIZE_MEMBER(ObTableQueryAndMutate, OB_SERIALIZE_MEMBER(ObTableQueryAndMutate,
query_, query_,
mutations_, mutations_,
return_affected_entity_); return_affected_entity_,
flag_);
OB_SERIALIZE_MEMBER(ObTableQueryAndMutateResult, OB_SERIALIZE_MEMBER(ObTableQueryAndMutateResult,
affected_rows_, affected_rows_,

View File

@ -831,7 +831,8 @@ class ObTableQueryAndMutate final
OB_UNIS_VERSION(1); OB_UNIS_VERSION(1);
public: public:
ObTableQueryAndMutate() ObTableQueryAndMutate()
:return_affected_entity_(true) : return_affected_entity_(true),
flag_(0)
{} {}
const ObTableQuery &get_query() const { return query_; } const ObTableQuery &get_query() const { return query_; }
ObTableQuery &get_query() { return query_; } ObTableQuery &get_query() { return query_; }
@ -841,15 +842,31 @@ public:
void set_deserialize_allocator(common::ObIAllocator *allocator); void set_deserialize_allocator(common::ObIAllocator *allocator);
void set_entity_factory(ObITableEntityFactory *entity_factory); void set_entity_factory(ObITableEntityFactory *entity_factory);
bool is_check_and_execute() const { return is_check_and_execute_; }
bool is_check_exists() const { return is_check_and_execute_ && !is_check_no_exists_; }
uint64_t get_checksum(); uint64_t get_checksum();
TO_STRING_KV(K_(query), TO_STRING_KV(K_(query),
K_(mutations), K_(mutations),
K_(return_affected_entity)); K_(return_affected_entity),
K_(flag),
K_(is_check_and_execute),
K_(is_check_no_exists));
private: private:
ObTableQuery query_; ObTableQuery query_;
ObTableBatchOperation mutations_; ObTableBatchOperation mutations_;
bool return_affected_entity_; bool return_affected_entity_;
union
{
uint64_t flag_;
struct
{
bool is_check_and_execute_ : 1;
bool is_check_no_exists_ : 1;
uint64_t reserved : 62;
};
};
}; };
inline void ObTableQueryAndMutate::set_deserialize_allocator(common::ObIAllocator *allocator) inline void ObTableQueryAndMutate::set_deserialize_allocator(common::ObIAllocator *allocator)