Changeset: ec0912d3c813 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/ec0912d3c813
Modified Files:
sql/server/rel_schema.c
sql/server/sql_scan.c
Branch: Jul2021
Log Message:
Safer solution, disallow 'TID%' as an identifier
diffs (24 lines):
diff --git a/sql/server/rel_schema.c b/sql/server/rel_schema.c
--- a/sql/server/rel_schema.c
+++ b/sql/server/rel_schema.c
@@ -1831,8 +1831,6 @@ rel_create_index(mvc *sql, char *iname,
return sql_error(sql, 02, SQLSTATE(42000) "CREATE INDEX: access
denied for %s to schema '%s'", get_string_global_var(sql, "current_user"),
t->s->base.name);
if ((i = mvc_bind_idx(sql, t->s, iname)))
return sql_error(sql, 02, SQLSTATE(42S11) "CREATE INDEX: name
'%s' already in use", iname);
- if (strcmp(iname, TID + 1) == 0) /* an index named 'TID%' could
interfere with '%TID%' */
- return sql_error(sql, 02, SQLSTATE(42000) "CREATE INDEX: name
'%s' not allowed", iname);
if (isView(t) || isMergeTable(t) || isRemote(t))
return sql_error(sql, 02, SQLSTATE(42S02) "CREATE INDEX: cannot
create index on %s '%s'", isView(t)?"view":isMergeTable(t)?"merge
table":"remote table", tname);
nt = dup_sql_table(sql->sa, t);
diff --git a/sql/server/sql_scan.c b/sql/server/sql_scan.c
--- a/sql/server/sql_scan.c
+++ b/sql/server/sql_scan.c
@@ -1225,6 +1225,8 @@ valid_ident(const char *restrict s, char
return false;
}
dst[p] = '\0';
+ if (strcmp(dst, TID + 1) == 0) /* an index named 'TID%' could interfere
with '%TID%' */
+ return false;
return true;
}
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list