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
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to