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
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list