placeholder for system trigger

This commit is contained in:
seuwebber 2024-10-29 05:22:33 +00:00 committed by ob-robot
parent a0afc03a62
commit de24916f30
3 changed files with 30 additions and 20 deletions

View File

@ -8442,7 +8442,8 @@ ObUserInfo::ObUserInfo(ObIAllocator *allocator)
proxy_user_info_(NULL),
proxy_user_info_capacity_(0),
proxy_user_info_cnt_(0),
user_flags_()
user_flags_(),
trigger_list_()
{
}
@ -8551,6 +8552,9 @@ int ObUserInfo::assign(const ObUserInfo &other)
if (OB_SUCC(ret)) {
user_flags_ = other.user_flags_;
}
if (OB_SUCC(ret) && trigger_list_.assign(other.trigger_list_)) {
LOG_WARN("assign trigger list failed", K(ret));
}
}
if (OB_FAIL(ret)) {
error_ret_ = ret;
@ -8690,6 +8694,7 @@ void ObUserInfo::reset()
proxy_user_info_cnt_ = 0;
proxy_user_info_capacity_ = 0;
user_flags_.reset();
trigger_list_.reset();
ObSchema::reset();
ObPriv::reset();
}
@ -8721,6 +8726,7 @@ int64_t ObUserInfo::get_convert_size() const
convert_size += proxy_user_info_[i]->get_convert_size();
}
}
convert_size += trigger_list_.get_data_size();
return convert_size;
}
@ -8772,6 +8778,7 @@ OB_DEF_SERIALIZE(ObUserInfo)
if (OB_SUCC(ret)) {
LST_DO_CODE(OB_UNIS_ENCODE, user_flags_);
LST_DO_CODE(OB_UNIS_ENCODE, trigger_list_);
}
return ret;
}
@ -8869,24 +8876,11 @@ OB_DEF_DESERIALIZE(ObUserInfo)
LOG_WARN("deserialize proxi info array failed", K(ret));
}
}
if (OB_SUCC(ret)) {
LST_DO_CODE(OB_UNIS_DECODE, user_flags_);
LST_DO_CODE(OB_UNIS_DECODE, trigger_list_);
}
}
if (OB_SUCC(ret)) {
if (OB_FAIL(deserialize_proxy_info_array_(proxied_user_info_, proxied_user_info_cnt_, proxied_user_info_capacity_,
buf, data_len, pos))) {
LOG_WARN("deserialize proxi info array failed", K(ret));
} else if (OB_FAIL(deserialize_proxy_info_array_(proxy_user_info_, proxy_user_info_cnt_, proxy_user_info_capacity_,
buf, data_len, pos))) {
LOG_WARN("deserialize proxi info array failed", K(ret));
}
}
if (OB_SUCC(ret)) {
LST_DO_CODE(OB_UNIS_DECODE, user_flags_);
}
return ret;
}
@ -8925,6 +8919,7 @@ OB_DEF_SERIALIZE_SIZE(ObUserInfo)
}
}
LST_DO_CODE(OB_UNIS_ADD_LEN, user_flags_);
LST_DO_CODE(OB_UNIS_ADD_LEN, trigger_list_);
return len;
}

View File

@ -4462,7 +4462,8 @@ public:
max_connections_(0),
max_user_connections_(0),
proxied_user_info_(NULL), proxied_user_info_capacity_(0), proxied_user_info_cnt_(0),
proxy_user_info_(NULL), proxy_user_info_capacity_(0), proxy_user_info_cnt_(0), user_flags_()
proxy_user_info_(NULL), proxy_user_info_capacity_(0), proxy_user_info_cnt_(0), user_flags_(),
trigger_list_()
{ }
explicit ObUserInfo(common::ObIAllocator *allocator);
virtual ~ObUserInfo();
@ -4554,7 +4555,7 @@ public:
K_(profile_id), K_(proxied_user_info_cnt), K_(proxy_user_info_cnt),
"proxied info", ObArrayWrap<ObProxyInfo*>(proxied_user_info_, proxied_user_info_cnt_),
"proxy info", ObArrayWrap<ObProxyInfo*>(proxy_user_info_, proxy_user_info_cnt_),
K_(user_flags)
K_(user_flags), K_(trigger_list)
);
bool role_exists(const uint64_t role_id, const uint64_t option) const;
int get_seq_by_role_id(uint64_t role_id, uint64_t &seq) const;
@ -4604,6 +4605,7 @@ private:
uint64_t proxy_user_info_capacity_;
uint64_t proxy_user_info_cnt_;
ObUserFlags user_flags_;
common::ObSArray<uint64_t> trigger_list_;
DISABLE_COPY_ASSIGN(ObUserInfo);
};

View File

@ -54,7 +54,17 @@ public:
OB_INLINE static bool is_update_event(uint64_t value) { return TE_UPDATE == value; }
OB_INLINE static bool is_delete_event(uint64_t value) { return TE_DELETE == value; }
public:
uint64_t bit_value_;
union {
uint64_t bit_value_;
struct {
uint64_t insert_:1;
uint64_t update_:1;
uint64_t delete_:1;
uint64_t logon_ :1;
uint64_t logoff_:1;
uint64_t reserved_:59;
};
};
#undef TE_INSERT
#undef TE_UPDATE
#undef TE_DELETE
@ -105,7 +115,9 @@ public:
uint64_t after_row_:1;
uint64_t after_stmt_:1;
uint64_t instead_row_:1;
uint64_t reserved_:58;
uint64_t before_event_:1;
uint64_t after_event_:1;
uint64_t reserved_:56;
};
};
};
@ -636,7 +648,8 @@ protected:
uint64_t is_has_sequence_ : 1;
uint64_t is_has_out_param_ : 1;
uint64_t is_external_state_ : 1;
uint64_t reserved_:54;
uint64_t is_has_auto_trans_ : 1;
uint64_t reserved_:53;
};
};
};