Changeset: e4ea71ea69d5 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/e4ea71ea69d5
Modified Files:
        sql/backends/monet5/sql.c
Branch: Jan2022
Log Message:

Disable heap vaccum on temporary tables


diffs (46 lines):

diff --git a/sql/backends/monet5/sql.c b/sql/backends/monet5/sql.c
--- a/sql/backends/monet5/sql.c
+++ b/sql/backends/monet5/sql.c
@@ -4961,6 +4961,8 @@ SQLstr_column_vacuum(Client cntxt, MalBl
        if (!isTable(t))
                throw(SQL, "sql.str_column_vacuum", SQLSTATE(42000) "%s '%s' is 
not persistent",
                          TABLE_TYPE_DESCRIPTION(t->type, t->properties), 
t->base.name);
+       if (isTempTable(t))
+               throw(SQL, "sql.str_column_vacuum", SQLSTATE(42000) "Cannot 
vaccum column from temporary table");
        if ((c = mvc_bind_column(m, t, cname)) == NULL)
                throw(SQL, "sql.str_column_vacuum", SQLSTATE(42S22) "Column not 
found %s.%s",sname,tname);
        if (c->storage_type)
@@ -5096,6 +5098,8 @@ SQLstr_column_auto_vacuum(Client cntxt, 
        if (!isTable(t))
                throw(SQL, "sql.str_column_auto_vacuum", SQLSTATE(42000) "%s 
'%s' is not persistent",
                          TABLE_TYPE_DESCRIPTION(t->type, t->properties), 
t->base.name);
+       if (isTempTable(t))
+               throw(SQL, "sql.str_column_auto_vacuum", SQLSTATE(42000) 
"Cannot vaccum column from temporary table");
        if ((c = mvc_bind_column(m, t, cname)) == NULL)
                throw(SQL, "sql.str_column_auto_vacuum", SQLSTATE(42S22) 
"Column not found %s.%s",sname,tname);
        if (c->storage_type)
@@ -5137,18 +5141,20 @@ SQLstr_column_stop_vacuum(Client cntxt, 
        sql_column *c = NULL;
 
        if (strNil(sname))
-               throw(SQL, "sql.str_column_auto_vacuum", SQLSTATE(42000) 
"Schema name cannot be NULL");
+               throw(SQL, "sql.str_column_stop_vacuum", SQLSTATE(42000) 
"Schema name cannot be NULL");
        if (strNil(tname))
-               throw(SQL, "sql.str_column_auto_vacuum", SQLSTATE(42000) "Table 
name cannot be NULL");
+               throw(SQL, "sql.str_column_stop_vacuum", SQLSTATE(42000) "Table 
name cannot be NULL");
        if (strNil(cname))
-               throw(SQL, "sql.str_column_auto_vacuum", SQLSTATE(42000) 
"Column name cannot be NULL");
+               throw(SQL, "sql.str_column_stop_vacuum", SQLSTATE(42000) 
"Column name cannot be NULL");
        if ((s = mvc_bind_schema(m, sname)) == NULL)
                throw(SQL, "sql.str_column_stop_vacuum", SQLSTATE(3F000) 
"Invalid or missing schema %s",sname);
        if ((t = mvc_bind_table(m, s, tname)) == NULL)
                throw(SQL, "sql.str_column_stop_vacuum", SQLSTATE(42S02) 
"Invalid or missing table %s.%s",sname,tname);
        if (!isTable(t))
-               throw(SQL, "sql.str_column_auto_vacuum", SQLSTATE(42000) "%s 
'%s' is not persistent",
+               throw(SQL, "sql.str_column_stop_vacuum", SQLSTATE(42000) "%s 
'%s' is not persistent",
                          TABLE_TYPE_DESCRIPTION(t->type, t->properties), 
t->base.name);
+       if (isTempTable(t))
+               throw(SQL, "sql.str_column_stop_vacuum", SQLSTATE(42000) 
"Cannot vaccum column from temporary table");
        if ((c = mvc_bind_column(m, t, cname)) == NULL)
                throw(SQL, "sql.str_column_stop_vacuum", SQLSTATE(42S22) 
"Column not found %s.%s",sname,tname);
 
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to