@@ -103,6 +103,7 @@ namespace
103103 const Flags & getDictionaryFlags () const { return all_flags_for_target[DICTIONARY]; }
104104 const Flags & getTableEngineFlags () const { return all_flags_for_target[TABLE_ENGINE]; }
105105 const Flags & getUserNameFlags () const { return all_flags_for_target[USER_NAME]; }
106+ const Flags & getDefinerFlags () const { return all_flags_for_target[DEFINER]; }
106107 const Flags & getNamedCollectionFlags () const { return all_flags_for_target[NAMED_COLLECTION]; }
107108 const Flags & getAllFlagsGrantableOnGlobalLevel () const { return getAllFlags (); }
108109 const Flags & getAllFlagsGrantableOnGlobalWithParameterLevel () const { return getGlobalWithParameterFlags (); }
@@ -124,6 +125,7 @@ namespace
124125 NAMED_COLLECTION = 5 ,
125126 USER_NAME = 6 ,
126127 TABLE_ENGINE = 7 ,
128+ DEFINER = 8 ,
127129 };
128130
129131 struct Node ;
@@ -353,7 +355,7 @@ namespace
353355 std::unordered_map<std::string_view, Flags> keyword_to_flags_map;
354356 std::vector<Flags> access_type_to_flags_mapping;
355357 Flags all_flags;
356- Flags all_flags_for_target[static_cast <size_t >(TABLE_ENGINE ) + 1 ];
358+ Flags all_flags_for_target[static_cast <size_t >(DEFINER ) + 1 ];
357359 Flags all_flags_grantable_on_database_level;
358360 Flags all_flags_grantable_on_table_level;
359361 Flags all_flags_grantable_on_global_with_parameter_level;
@@ -400,6 +402,9 @@ AccessFlags::ParameterType AccessFlags::getParameterType() const
400402 if (AccessFlags::allUserNameFlags ().contains (*this ))
401403 return AccessFlags::USER_NAME;
402404
405+ if (AccessFlags::allDefinerFlags ().contains (*this ))
406+ return AccessFlags::DEFINER;
407+
403408 // / All flags refer to TABLE ENGINE access type.
404409 if (AccessFlags::allTableEngineFlags ().contains (*this ))
405410 return AccessFlags::TABLE_ENGINE;
@@ -423,6 +428,7 @@ AccessFlags AccessFlags::allColumnFlags() { return Helper::instance().getColumnF
423428AccessFlags AccessFlags::allDictionaryFlags () { return Helper::instance ().getDictionaryFlags (); }
424429AccessFlags AccessFlags::allNamedCollectionFlags () { return Helper::instance ().getNamedCollectionFlags (); }
425430AccessFlags AccessFlags::allUserNameFlags () { return Helper::instance ().getUserNameFlags (); }
431+ AccessFlags AccessFlags::allDefinerFlags () { return Helper::instance ().getDefinerFlags (); }
426432AccessFlags AccessFlags::allTableEngineFlags () { return Helper::instance ().getTableEngineFlags (); }
427433AccessFlags AccessFlags::allFlagsGrantableOnGlobalLevel () { return Helper::instance ().getAllFlagsGrantableOnGlobalLevel (); }
428434AccessFlags AccessFlags::allFlagsGrantableOnGlobalWithParameterLevel () { return Helper::instance ().getAllFlagsGrantableOnGlobalWithParameterLevel (); }
0 commit comments