Changeset: 4ddbfd8c4fca for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=4ddbfd8c4fca
Modified Files:
        sql/backends/monet5/sql_cat.c
        sql/server/rel_schema.c
Branch: default
Log Message:

Disallow empty names.


diffs (60 lines):

diff --git a/sql/backends/monet5/sql_cat.c b/sql/backends/monet5/sql_cat.c
--- a/sql/backends/monet5/sql_cat.c
+++ b/sql/backends/monet5/sql_cat.c
@@ -1572,7 +1572,7 @@ SQLrename_schema(Client cntxt, MalBlkPtr
                throw(SQL, "sql.rename_schema", SQLSTATE(3F000) "ALTER SCHEMA: 
cannot rename a system schema");
        if (!list_empty(s->tables.set) || !list_empty(s->types.set) || 
!list_empty(s->funcs.set) || !list_empty(s->seqs.set))
                throw(SQL, "sql.rename_schema", SQLSTATE(2BM37) "ALTER SCHEMA: 
unable to rename schema '%s' (there are database objects which depend on it)", 
old_name);
-       if (!new_name || strcmp(new_name, str_nil) == 0)
+       if (!new_name || strcmp(new_name, str_nil) == 0 || *new_name == '\0')
                throw(SQL, "sql.rename_schema", SQLSTATE(3F000) "ALTER SCHEMA: 
invalid new schema name");
        if (mvc_bind_schema(sql, new_name))
                throw(SQL, "sql.rename_schema", SQLSTATE(3F000) "ALTER SCHEMA: 
there is a schema named '%s' in the database", new_name);
@@ -1607,7 +1607,7 @@ SQLrename_table(Client cntxt, MalBlkPtr 
                throw(SQL, "sql.rename_table", SQLSTATE(42000) "ALTER TABLE: 
cannot rename a system table");
        if (mvc_check_dependency(sql, t->base.id, TABLE_DEPENDENCY, NULL))
                throw (SQL,"sql.rename_table", SQLSTATE(2BM37) "ALTER TABLE: 
unable to rename table %s (there are database objects which depend on it)", 
old_name);
-       if (!new_name || strcmp(new_name, str_nil) == 0)
+       if (!new_name || strcmp(new_name, str_nil) == 0 || *new_name == '\0')
                throw(SQL, "sql.rename_table", SQLSTATE(3F000) "ALTER TABLE: 
invalid new table name");
        if (mvc_bind_table(sql, s, new_name))
                throw(SQL, "sql.rename_table", SQLSTATE(3F000) "ALTER TABLE: 
there is a table named '%s' in schema '%s'", new_name, schema_name);
@@ -1645,7 +1645,7 @@ SQLrename_column(Client cntxt, MalBlkPtr
                throw(SQL, "sql.rename_column", SQLSTATE(42S22) "ALTER TABLE: 
no such column '%s' in table '%s'", old_name, table_name);
        if (mvc_check_dependency(sql, col->base.id, COLUMN_DEPENDENCY, NULL))
                throw(SQL, "sql.rename_column", SQLSTATE(2BM37) "ALTER TABLE: 
cannot rename column '%s' (there are database objects which depend on it)", 
old_name);
-       if (!new_name || strcmp(new_name, str_nil) == 0)
+       if (!new_name || strcmp(new_name, str_nil) == 0 || *new_name == '\0')
                throw(SQL, "sql.rename_column", SQLSTATE(3F000) "ALTER TABLE: 
invalid new column name");
        if (mvc_bind_column(sql, t, new_name))
                throw(SQL, "sql.rename_column", SQLSTATE(3F000) "ALTER TABLE: 
there is a column named '%s' in table '%s'", new_name, table_name);
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
@@ -2459,7 +2459,7 @@ rel_rename_schema(mvc *sql, char *old_na
                return sql_error(sql, 02, SQLSTATE(3F000) "ALTER SCHEMA: cannot 
rename a system schema");
        if (!list_empty(s->tables.set) || !list_empty(s->types.set) || 
!list_empty(s->funcs.set) || !list_empty(s->seqs.set))
                return sql_error(sql, 02, SQLSTATE(2BM37) "ALTER SCHEMA: unable 
to rename schema '%s' (there are database objects which depend on it)", 
old_name);
-       if (!new_name || strcmp(new_name, str_nil) == 0)
+       if (!new_name || strcmp(new_name, str_nil) == 0 || *new_name == '\0')
                return sql_error(sql, 02, SQLSTATE(3F000) "ALTER SCHEMA: 
invalid new schema name");
        if (mvc_bind_schema(sql, new_name))
                return sql_error(sql, 02, SQLSTATE(3F000) "ALTER SCHEMA: there 
is a schema named '%s' in the database", new_name);
@@ -2500,7 +2500,7 @@ rel_rename_table(mvc *sql, char* schema_
                return sql_error(sql, 02, SQLSTATE(42000) "ALTER TABLE: cannot 
rename a system table");
        if (mvc_check_dependency(sql, t->base.id, TABLE_DEPENDENCY, NULL))
                return sql_error(sql, 02, SQLSTATE(2BM37) "ALTER TABLE: unable 
to rename table %s (there are database objects which depend on it)", old_name);
-       if (!new_name || strcmp(new_name, str_nil) == 0)
+       if (!new_name || strcmp(new_name, str_nil) == 0 || *new_name == '\0')
                return sql_error(sql, 02, SQLSTATE(3F000) "ALTER TABLE: invalid 
new table name");
        if (mvc_bind_table(sql, s, new_name))
                return sql_error(sql, 02, SQLSTATE(3F000) "ALTER TABLE: there 
is a table named '%s' in schema '%s'", new_name, schema_name);
@@ -2547,7 +2547,7 @@ rel_rename_column(mvc *sql, char* schema
                return sql_error(sql, 02, SQLSTATE(42S22) "ALTER TABLE: no such 
column '%s' in table '%s'", old_name, table_name);
        if (mvc_check_dependency(sql, col->base.id, COLUMN_DEPENDENCY, NULL))
                return sql_error(sql, 02, SQLSTATE(2BM37) "ALTER TABLE: cannot 
rename column '%s' (there are database objects which depend on it)", old_name);
-       if (!new_name || strcmp(new_name, str_nil) == 0)
+       if (!new_name || strcmp(new_name, str_nil) == 0 || *new_name == '\0')
                return sql_error(sql, 02, SQLSTATE(3F000) "ALTER TABLE: invalid 
new column name");
        if (mvc_bind_column(sql, t, new_name))
                return sql_error(sql, 02, SQLSTATE(3F000) "ALTER TABLE: there 
is a column named '%s' in table '%s'", new_name, table_name);
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to