Mercurial > hg > MonetDB
changeset 86155:e0c2a22ecd27 userprofile
Fix return type: don't squeeze an oid into an int.
| author | Sjoerd Mullender <sjoerd@acm.org> |
|---|---|
| date | Tue, 26 Jul 2022 10:37:30 +0200 |
| parents | 3fa7717ad6ef |
| children | 4eab9935b32f 3cfcabf6d41b |
| files | sql/backends/monet5/sql_user.c sql/common/sql_backend.c sql/common/sql_backend.h sql/server/sql_privileges.c |
| diffstat | 4 files changed, 10 insertions(+), 14 deletions(-) [+] |
line wrap: on
line diff
--- a/sql/backends/monet5/sql_user.c +++ b/sql/backends/monet5/sql_user.c @@ -472,14 +472,10 @@ monet5_create_user(ptr _mvc, str user, s return ret; } -static int +static oid monet5_find_user(ptr mp, str user) { - mvc *m = (mvc *) mp; - oid rid = getUserOIDByName(m, user); - if (is_oid_nil(rid)) - return -1; - return rid; + return getUserOIDByName((mvc *) mp, user); } str
--- a/sql/common/sql_backend.c +++ b/sql/common/sql_backend.c @@ -51,7 +51,7 @@ backend_drop_user(ptr mvc, char *user) return FALSE; } -int +oid backend_find_user(ptr m, char *user) { if (be_funcs.ffuser != NULL)
--- a/sql/common/sql_backend.h +++ b/sql/common/sql_backend.h @@ -17,7 +17,7 @@ typedef void (*freecode_fptr) (const cha typedef char *(*create_user_fptr) (ptr mvc, char *user, char *passwd, char enc, char *fullname, sqlid schema_id, char *schema_path, sqlid grantor_id, lng max_memory, int max_workers, str optimizer, sqlid role_id); typedef int (*drop_user_fptr) (ptr mvc, char *user); -typedef int (*find_user_fptr) (ptr mvc, char *user); +typedef oid (*find_user_fptr) (ptr mvc, char *user); typedef void (*create_privileges_fptr) (ptr mvc, sql_schema *s); typedef int (*schema_has_user_fptr) (ptr mvc, sql_schema *s); typedef int (*alter_user_fptr) (ptr mvc, str user, str passwd, char enc, sqlid schema_id, char *schema_path, str oldpasswd, sqlid role_id); @@ -52,7 +52,7 @@ extern void backend_freecode(const char extern char *backend_create_user(ptr mvc, char *user, char *passwd, char enc, char *fullname, sqlid defschemid, char *schema_path, sqlid grantor, lng max_memory, int max_workers, char *optimizer, sqlid role_id); extern int backend_drop_user(ptr mvc, char *user); -extern int backend_find_user(ptr mp, char *user); +extern oid backend_find_user(ptr mp, char *user); extern void backend_create_privileges(ptr mvc, sql_schema *s); extern int backend_schema_has_user(ptr mvc, sql_schema *s); extern int backend_alter_user(ptr mvc, str user, str passwd, char enc, sqlid schema_id, char *schema_path, str oldpasswd, sqlid role_id);
--- a/sql/server/sql_privileges.c +++ b/sql/server/sql_privileges.c @@ -579,7 +579,7 @@ sql_grant_role(mvc *m, str grantee, str if (is_oid_nil(rid)) throw(SQL, "sql.grant_role", SQLSTATE(M1M05) "GRANT: no such role '%s' or grantee '%s'", role, grantee); role_id = store->table_api.column_find_sqlid(m->session->tr, auths_id, rid); - if (backend_find_user(m, role) >= 0) + if (!is_oid_nil(backend_find_user(m, role))) throw(SQL,"sql.grant_role", SQLSTATE(M1M05) "GRANT: '%s' is a USER not a ROLE", role); if (!admin_privs(grantor) && !role_granting_privs(m, rid, role_id, grantor)) throw(SQL,"sql.grant_role", SQLSTATE(0P000) "GRANT: Insufficient privileges to grant ROLE '%s'", role); @@ -789,7 +789,7 @@ sql_create_user(mvc *sql, char *user, ch if (!admin_privs(sql->user_id) && !admin_privs(sql->role_id)) throw(SQL,"sql.create_user", SQLSTATE(42M31) "Insufficient privileges to create user '%s'", user); - if (backend_find_user(sql, user) >= 0) + if (!is_oid_nil(backend_find_user(sql, user))) throw(SQL,"sql.create_user", SQLSTATE(42M31) "CREATE USER: user '%s' already exists", user); if (schema) { @@ -952,7 +952,7 @@ sql_alter_user(mvc *sql, char *user, cha if (!admin_privs(sql->user_id) && !admin_privs(sql->role_id) && user != NULL && strcmp(user, get_string_global_var(sql, "current_user")) != 0) throw(SQL,"sql.alter_user", SQLSTATE(M1M05) "Insufficient privileges to change user '%s'", user); - if (user != NULL && backend_find_user(sql, user) < 0) + if (user != NULL && is_oid_nil(backend_find_user(sql, user))) throw(SQL,"sql.alter_user", SQLSTATE(42M32) "ALTER USER: no such user '%s'", user); if (schema) { if (!(s = find_sql_schema(sql->session->tr, schema))) @@ -972,9 +972,9 @@ sql_rename_user(mvc *sql, char *olduser, if (!admin_privs(sql->user_id) && !admin_privs(sql->role_id)) throw(SQL,"sql.rename_user", SQLSTATE(M1M05) "ALTER USER: insufficient privileges to rename user '%s'", olduser); - if (backend_find_user(sql, olduser) < 0) + if (is_oid_nil(backend_find_user(sql, olduser))) throw(SQL,"sql.rename_user", SQLSTATE(42M32) "ALTER USER: no such user '%s'", olduser); - if (backend_find_user(sql, newuser) >= 0) + if (!is_oid_nil(backend_find_user(sql, newuser))) throw(SQL,"sql.rename_user", SQLSTATE(42M31) "ALTER USER: user '%s' already exists", newuser); if (backend_rename_user(sql, olduser, newuser) == FALSE) throw(SQL,"sql.rename_user", SQLSTATE(M1M05) "%s", sql->errstr);
