Changeset: bfb2a2e731c6 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/bfb2a2e731c6
Modified Files:
sql/server/rel_optimize_exps.c
Branch: default
Log Message:
Merge with Mar2025 branch.
diffs (56 lines):
diff --git a/.hgtags b/.hgtags
--- a/.hgtags
+++ b/.hgtags
@@ -847,3 +847,4 @@ 6d5be335a6c739e61682366f7a84b67b0cfc0be6
6d5be335a6c739e61682366f7a84b67b0cfc0be6 Mar2025_SP1_release
a63e11c1fd1b2dfba2a0ed8a985455286bc023d3 Mar2025_11
00d41c24cb9d5c43bd35e9e02e6a739a65c02810 Mar2025_13
+00d41c24cb9d5c43bd35e9e02e6a739a65c02810 Mar2025_SP2_release
diff --git a/sql/server/rel_optimize_exps.c b/sql/server/rel_optimize_exps.c
--- a/sql/server/rel_optimize_exps.c
+++ b/sql/server/rel_optimize_exps.c
@@ -879,9 +879,9 @@ rel_simplify_predicates(visitor *v, sql_
static inline sql_exp *
rel_remove_alias(visitor *v, sql_rel *rel, sql_exp *e)
{
- if (e->type != e_column)
+ if (e->type != e_column || is_selfref(e) || rel_is_ref(rel))
return e;
- if (!rel_is_ref(rel) && rel->op == op_project && rel->l &&
list_length(rel->exps) > 1) {
+ if (rel->op == op_project && rel->l && list_length(rel->exps) > 1) {
sql_rel *l = rel->l;
if (l->op == op_project) {
sql_exp *ne = rel_find_exp(l, e);
@@ -897,7 +897,7 @@ rel_remove_alias(visitor *v, sql_rel *re
}
}
}
- if (!rel_is_ref(rel) && rel->op != op_project) {
+ if (rel->op != op_project) {
bool found = false;
if ((is_select(rel->op) || is_join(rel->op)) && rel->l &&
list_length(rel->exps) > 1) {
sql_rel *l = rel->l;
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
@@ -980,15 +980,15 @@ sql_drop_user(mvc *sql, char *user)
sqlstore *store = sql->session->tr->store;
oid rid = store->table_api.column_find_row(tr, find_sql_column(auths,
"name"), user, NULL);
+ if (!deleted)
+ throw(SQL, "sql.drop_user", SQLSTATE(HY013) MAL_MALLOC_FAIL);
if (!admin_privs(sql->user_id) &&
!admin_privs(sql->role_id) &&
!role_granting_privs(sql, rid, user_id, sql->user_id) &&
!role_granting_privs(sql, rid, user_id, sql->role_id))
- throw(SQL,"sql.drop_role", SQLSTATE(0P000) "Insufficient
privileges to drop user '%s'", user);
-
- if (!deleted)
- throw(SQL, "sql.drop_user", SQLSTATE(HY013) MAL_MALLOC_FAIL);
- msg = sql_drop_granted_users(sql, user_id, user, deleted);
+ msg = createException(SQL,"sql.drop_role", SQLSTATE(0P000)
"Insufficient privileges to drop user '%s'", user);
+ else
+ msg = sql_drop_granted_users(sql, user_id, user, deleted);
list_destroy(deleted);
/* Flag as removed */
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]