placeholder for create role and drop role in mysql.user

This commit is contained in:
dontknow9179
2024-06-17 13:34:50 +00:00
committed by ob-robot
parent 192341230e
commit c93978f05e
6 changed files with 40 additions and 0 deletions

View File

@ -148,6 +148,8 @@ int ObMySQLUserTable::inner_get_next_row(common::ObNewRow *&row)
NO_EXIST_PRIV_CASE(EVENT); NO_EXIST_PRIV_CASE(EVENT);
NO_EXIST_PRIV_CASE(TRIGGER); NO_EXIST_PRIV_CASE(TRIGGER);
EXIST_PRIV_CASE(CREATE_TABLESPACE); EXIST_PRIV_CASE(CREATE_TABLESPACE);
NO_EXIST_PRIV_CASE(CREATE_ROLE);
NO_EXIST_PRIV_CASE(DROP_ROLE);
COLUMN_SET_WITH_TYPE(SSL_TYPE, varchar, ssl_type_str); COLUMN_SET_WITH_TYPE(SSL_TYPE, varchar, ssl_type_str);
COLUMN_SET_WITH_TYPE(SSL_CIPHER, varchar, user_info->get_ssl_cipher()); COLUMN_SET_WITH_TYPE(SSL_CIPHER, varchar, user_info->get_ssl_cipher());
COLUMN_SET_WITH_TYPE(X509_ISSUER, varchar, user_info->get_x509_issuer()); COLUMN_SET_WITH_TYPE(X509_ISSUER, varchar, user_info->get_x509_issuer());

View File

@ -73,6 +73,8 @@ private:
ACCOUNT_LOCKED, ACCOUNT_LOCKED,
DROP_DATABASE_LINK_PRIV, DROP_DATABASE_LINK_PRIV,
CREATE_DATABASE_LINK_PRIV, CREATE_DATABASE_LINK_PRIV,
CREATE_ROLE_PRIV,
DROP_ROLE_PRIV,
}; };
public: public:
ObMySQLUserTable(); ObMySQLUserTable();

View File

@ -1026,6 +1026,36 @@ int ObInnerTableSchema::user_schema(ObTableSchema &table_schema)
false, //is_nullable false, //is_nullable
false); //is_autoincrement false); //is_autoincrement
} }
if (OB_SUCC(ret)) {
ADD_COLUMN_SCHEMA("create_role_priv", //column_name
++column_id, //column_id
0, //rowkey_id
0, //index_id
0, //part_key_pos
ObVarcharType, //column_type
CS_TYPE_INVALID, //column_collation_type
1, //column_length
-1, //column_precision
-1, //column_scale
false, //is_nullable
false); //is_autoincrement
}
if (OB_SUCC(ret)) {
ADD_COLUMN_SCHEMA("drop_role_priv", //column_name
++column_id, //column_id
0, //rowkey_id
0, //index_id
0, //part_key_pos
ObVarcharType, //column_type
CS_TYPE_INVALID, //column_collation_type
1, //column_length
-1, //column_precision
-1, //column_scale
false, //is_nullable
false); //is_autoincrement
}
table_schema.set_index_using_type(USING_HASH); table_schema.set_index_using_type(USING_HASH);
table_schema.set_row_store_type(ENCODING_ROW_STORE); table_schema.set_row_store_type(ENCODING_ROW_STORE);
table_schema.set_store_format(OB_STORE_FORMAT_DYNAMIC_MYSQL); table_schema.set_store_format(OB_STORE_FORMAT_DYNAMIC_MYSQL);

View File

@ -10097,6 +10097,8 @@ def_table_schema(
('account_locked', 'varchar:1'), ('account_locked', 'varchar:1'),
('drop_database_link_priv', 'varchar:1'), ('drop_database_link_priv', 'varchar:1'),
('create_database_link_priv', 'varchar:1'), ('create_database_link_priv', 'varchar:1'),
('create_role_priv', 'varchar:1'),
('drop_role_priv', 'varchar:1'),
], ],
) )

View File

@ -1547,6 +1547,8 @@ password_expired varchar(1) NO NULL
account_locked varchar(1) NO NULL account_locked varchar(1) NO NULL
drop_database_link_priv varchar(1) NO NULL drop_database_link_priv varchar(1) NO NULL
create_database_link_priv varchar(1) NO NULL create_database_link_priv varchar(1) NO NULL
create_role_priv varchar(1) NO NULL
drop_role_priv varchar(1) NO NULL
select /*+QUERY_TIMEOUT(60000000)*/ IF(count(*) >= 0, 1, 0) from mysql.user; select /*+QUERY_TIMEOUT(60000000)*/ IF(count(*) >= 0, 1, 0) from mysql.user;
IF(count(*) >= 0, 1, 0) IF(count(*) >= 0, 1, 0)
1 1

View File

@ -2044,6 +2044,8 @@ password_expired varchar(1) NO NULL
account_locked varchar(1) NO NULL account_locked varchar(1) NO NULL
drop_database_link_priv varchar(1) NO NULL drop_database_link_priv varchar(1) NO NULL
create_database_link_priv varchar(1) NO NULL create_database_link_priv varchar(1) NO NULL
create_role_priv varchar(1) NO NULL
drop_role_priv varchar(1) NO NULL
select /*+QUERY_TIMEOUT(60000000)*/ IF(count(*) >= 0, 1, 0) from mysql.user; select /*+QUERY_TIMEOUT(60000000)*/ IF(count(*) >= 0, 1, 0) from mysql.user;
IF(count(*) >= 0, 1, 0) IF(count(*) >= 0, 1, 0)
1 1