Changeset: e0c2a22ecd27 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/e0c2a22ecd27
Modified Files:
sql/backends/monet5/sql_user.c
sql/common/sql_backend.c
sql/common/sql_backend.h
sql/server/sql_privileges.c
Branch: userprofile
Log Message:
Fix return type: don't squeeze an oid into an int.
diffs (95 lines):
diff --git a/sql/backends/monet5/sql_user.c b/sql/backends/monet5/sql_user.c
--- 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
diff --git a/sql/common/sql_backend.c b/sql/common/sql_backend.c
--- 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)
diff --git a/sql/common/sql_backend.h b/sql/common/sql_backend.h
--- 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);
diff --git a/sql/server/sql_privileges.c b/sql/server/sql_privileges.c
--- 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);
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]