Changeset: 6b2914759f66 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/6b2914759f66
Modified Files:
sql/backends/monet5/sql_upgrades.c
sql/test/emptydb-previous-upgrade-chain-hge/Tests/upgrade.stable.out.int128
sql/test/emptydb-previous-upgrade-chain/Tests/upgrade.stable.out
sql/test/emptydb-previous-upgrade-chain/Tests/upgrade.stable.out.int128
sql/test/emptydb-previous-upgrade-hge/Tests/upgrade.stable.out.int128
sql/test/emptydb-previous-upgrade/Tests/upgrade.stable.out
sql/test/emptydb-previous-upgrade/Tests/upgrade.stable.out.int128
sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out
sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.int128
sql/test/emptydb-upgrade-hge/Tests/upgrade.stable.out.int128
sql/test/emptydb-upgrade/Tests/upgrade.stable.out
sql/test/emptydb-upgrade/Tests/upgrade.stable.out.int128
sql/test/testdb-previous-upgrade-chain-hge/Tests/upgrade.stable.out.int128
sql/test/testdb-previous-upgrade-chain/Tests/upgrade.stable.out
sql/test/testdb-previous-upgrade-chain/Tests/upgrade.stable.out.int128
sql/test/testdb-previous-upgrade-hge/Tests/upgrade.stable.out.int128
sql/test/testdb-previous-upgrade/Tests/upgrade.stable.out
sql/test/testdb-previous-upgrade/Tests/upgrade.stable.out.int128
sql/test/testdb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out
sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.int128
sql/test/testdb-upgrade-hge/Tests/upgrade.stable.out.int128
sql/test/testdb-upgrade/Tests/upgrade.stable.out
sql/test/testdb-upgrade/Tests/upgrade.stable.out.int128
Branch: default
Log Message:
Add upgrade code for new sys.vacuum proc.
diffs (truncated from 537 to 300 lines):
diff --git a/sql/backends/monet5/sql_upgrades.c
b/sql/backends/monet5/sql_upgrades.c
--- a/sql/backends/monet5/sql_upgrades.c
+++ b/sql/backends/monet5/sql_upgrades.c
@@ -329,7 +329,7 @@ sql_create_shp(Client c)
//Create the new SHPload procedures
const char query[] = "create procedure SHPLoad(fname string, schemaname
string, tablename string) external name shp.load;\n"
"create procedure SHPLoad(fname string, tablename string)
external name shp.load;\n"
- "update sys.functions set system = true where schema_id = 2000
and name in ('shpload');";
+ "update sys.functions set system = true where schema_id = 2000
and name in ('shpload');\n";
printf("Running database upgrade commands:\n%s\n", query);
fflush(stdout);
return SQLstatementIntern(c, query, "update", true, false, NULL);
@@ -7207,6 +7207,32 @@ sql_update_aug2024(Client c, mvc *sql, s
return err;
}
+static str
+sql_update_default(Client c, mvc *sql, sql_schema *s)
+{
+ char *err = MAL_SUCCEED;
+ sql_subtype tp;
+
+ sql_find_subtype(&tp, "varchar", 0, 0);
+ if (!sql_bind_func(sql, s->base.name, "vacuum", &tp, &tp, F_PROC, true,
true)) {
+ sql->session->status = 0; /* if the function was not found
clean the error */
+ sql->errstr[0] = '\0';
+ const char query[] =
+ "create procedure sys.vacuum(sname string, tname
string)\n"
+ "external name sql.vacuum;\n"
+ "create procedure sys.vacuum(sname string, tname
string, interval int)\n"
+ "external name sql.vacuum;\n"
+ "create procedure sys.stop_vacuum(sname string, tname
string)\n"
+ "external name sql.stop_vacuum;\n"
+ "update sys.functions set system = true where system <>
true and schema_id = 2000 and name in ('vacuum', 'stop_vacuum');\n";
+ printf("Running database upgrade commands:\n%s\n",
query);
+ fflush(stdout);
+ err = SQLstatementIntern(c, query, "update", true,
false, NULL);
+ }
+
+ return err;
+}
+
int
SQLupgrades(Client c, mvc *m)
{
@@ -7410,6 +7436,11 @@ SQLupgrades(Client c, mvc *m)
goto handle_error;
}
+ if ((err = sql_update_default(c, m, s)) != NULL) {
+ TRC_CRITICAL(SQL_PARSER, "%s\n", err);
+ goto handle_error;
+ }
+
return 0;
handle_error:
diff --git
a/sql/test/emptydb-previous-upgrade-chain-hge/Tests/upgrade.stable.out.int128
b/sql/test/emptydb-previous-upgrade-chain-hge/Tests/upgrade.stable.out.int128
---
a/sql/test/emptydb-previous-upgrade-chain-hge/Tests/upgrade.stable.out.int128
+++
b/sql/test/emptydb-previous-upgrade-chain-hge/Tests/upgrade.stable.out.int128
@@ -9,6 +9,7 @@ Running database upgrade commands:
create procedure SHPLoad(fname string, schemaname string, tablename string)
external name shp.load;
create procedure SHPLoad(fname string, tablename string) external name
shp.load;
update sys.functions set system = true where schema_id = 2000 and name in
('shpload');
+
Running database upgrade commands:
drop function if exists sys.st_intersects(geometry, geometry) cascade;
drop function if exists sys.st_dwithin(geometry, geometry, double) cascade;
@@ -1102,3 +1103,12 @@ UPDATE sys._tables SET system = true whe
and schema_id = (select s.id from sys.schemas s where s.name =
'information_schema')
and name in ('check_constraints','table_constraints');
+Running database upgrade commands:
+create procedure sys.vacuum(sname string, tname string)
+external name sql.vacuum;
+create procedure sys.vacuum(sname string, tname string, interval int)
+external name sql.vacuum;
+create procedure sys.stop_vacuum(sname string, tname string)
+external name sql.stop_vacuum;
+update sys.functions set system = true where system <> true and schema_id =
2000 and name in ('vacuum', 'stop_vacuum');
+
diff --git a/sql/test/emptydb-previous-upgrade-chain/Tests/upgrade.stable.out
b/sql/test/emptydb-previous-upgrade-chain/Tests/upgrade.stable.out
--- a/sql/test/emptydb-previous-upgrade-chain/Tests/upgrade.stable.out
+++ b/sql/test/emptydb-previous-upgrade-chain/Tests/upgrade.stable.out
@@ -9,6 +9,7 @@ Running database upgrade commands:
create procedure SHPLoad(fname string, schemaname string, tablename string)
external name shp.load;
create procedure SHPLoad(fname string, tablename string) external name
shp.load;
update sys.functions set system = true where schema_id = 2000 and name in
('shpload');
+
Running database upgrade commands:
drop function if exists sys.st_intersects(geometry, geometry) cascade;
drop function if exists sys.st_dwithin(geometry, geometry, double) cascade;
@@ -1090,3 +1091,12 @@ UPDATE sys._tables SET system = true whe
and schema_id = (select s.id from sys.schemas s where s.name =
'information_schema')
and name in ('check_constraints','table_constraints');
+Running database upgrade commands:
+create procedure sys.vacuum(sname string, tname string)
+external name sql.vacuum;
+create procedure sys.vacuum(sname string, tname string, interval int)
+external name sql.vacuum;
+create procedure sys.stop_vacuum(sname string, tname string)
+external name sql.stop_vacuum;
+update sys.functions set system = true where system <> true and schema_id =
2000 and name in ('vacuum', 'stop_vacuum');
+
diff --git
a/sql/test/emptydb-previous-upgrade-chain/Tests/upgrade.stable.out.int128
b/sql/test/emptydb-previous-upgrade-chain/Tests/upgrade.stable.out.int128
--- a/sql/test/emptydb-previous-upgrade-chain/Tests/upgrade.stable.out.int128
+++ b/sql/test/emptydb-previous-upgrade-chain/Tests/upgrade.stable.out.int128
@@ -78,6 +78,7 @@ Running database upgrade commands:
create procedure SHPLoad(fname string, schemaname string, tablename string)
external name shp.load;
create procedure SHPLoad(fname string, tablename string) external name
shp.load;
update sys.functions set system = true where schema_id = 2000 and name in
('shpload');
+
Running database upgrade commands:
drop function if exists sys.st_intersects(geometry, geometry) cascade;
drop function if exists sys.st_dwithin(geometry, geometry, double) cascade;
@@ -1171,3 +1172,12 @@ UPDATE sys._tables SET system = true whe
and schema_id = (select s.id from sys.schemas s where s.name =
'information_schema')
and name in ('check_constraints','table_constraints');
+Running database upgrade commands:
+create procedure sys.vacuum(sname string, tname string)
+external name sql.vacuum;
+create procedure sys.vacuum(sname string, tname string, interval int)
+external name sql.vacuum;
+create procedure sys.stop_vacuum(sname string, tname string)
+external name sql.stop_vacuum;
+update sys.functions set system = true where system <> true and schema_id =
2000 and name in ('vacuum', 'stop_vacuum');
+
diff --git
a/sql/test/emptydb-previous-upgrade-hge/Tests/upgrade.stable.out.int128
b/sql/test/emptydb-previous-upgrade-hge/Tests/upgrade.stable.out.int128
--- a/sql/test/emptydb-previous-upgrade-hge/Tests/upgrade.stable.out.int128
+++ b/sql/test/emptydb-previous-upgrade-hge/Tests/upgrade.stable.out.int128
@@ -9,6 +9,7 @@ Running database upgrade commands:
create procedure SHPLoad(fname string, schemaname string, tablename string)
external name shp.load;
create procedure SHPLoad(fname string, tablename string) external name
shp.load;
update sys.functions set system = true where schema_id = 2000 and name in
('shpload');
+
Running database upgrade commands:
drop function if exists sys.st_intersects(geometry, geometry) cascade;
drop function if exists sys.st_dwithin(geometry, geometry, double) cascade;
@@ -1102,3 +1103,12 @@ UPDATE sys._tables SET system = true whe
and schema_id = (select s.id from sys.schemas s where s.name =
'information_schema')
and name in ('check_constraints','table_constraints');
+Running database upgrade commands:
+create procedure sys.vacuum(sname string, tname string)
+external name sql.vacuum;
+create procedure sys.vacuum(sname string, tname string, interval int)
+external name sql.vacuum;
+create procedure sys.stop_vacuum(sname string, tname string)
+external name sql.stop_vacuum;
+update sys.functions set system = true where system <> true and schema_id =
2000 and name in ('vacuum', 'stop_vacuum');
+
diff --git a/sql/test/emptydb-previous-upgrade/Tests/upgrade.stable.out
b/sql/test/emptydb-previous-upgrade/Tests/upgrade.stable.out
--- a/sql/test/emptydb-previous-upgrade/Tests/upgrade.stable.out
+++ b/sql/test/emptydb-previous-upgrade/Tests/upgrade.stable.out
@@ -9,6 +9,7 @@ Running database upgrade commands:
create procedure SHPLoad(fname string, schemaname string, tablename string)
external name shp.load;
create procedure SHPLoad(fname string, tablename string) external name
shp.load;
update sys.functions set system = true where schema_id = 2000 and name in
('shpload');
+
Running database upgrade commands:
drop function if exists sys.st_intersects(geometry, geometry) cascade;
drop function if exists sys.st_dwithin(geometry, geometry, double) cascade;
@@ -1090,3 +1091,12 @@ UPDATE sys._tables SET system = true whe
and schema_id = (select s.id from sys.schemas s where s.name =
'information_schema')
and name in ('check_constraints','table_constraints');
+Running database upgrade commands:
+create procedure sys.vacuum(sname string, tname string)
+external name sql.vacuum;
+create procedure sys.vacuum(sname string, tname string, interval int)
+external name sql.vacuum;
+create procedure sys.stop_vacuum(sname string, tname string)
+external name sql.stop_vacuum;
+update sys.functions set system = true where system <> true and schema_id =
2000 and name in ('vacuum', 'stop_vacuum');
+
diff --git a/sql/test/emptydb-previous-upgrade/Tests/upgrade.stable.out.int128
b/sql/test/emptydb-previous-upgrade/Tests/upgrade.stable.out.int128
--- a/sql/test/emptydb-previous-upgrade/Tests/upgrade.stable.out.int128
+++ b/sql/test/emptydb-previous-upgrade/Tests/upgrade.stable.out.int128
@@ -78,6 +78,7 @@ Running database upgrade commands:
create procedure SHPLoad(fname string, schemaname string, tablename string)
external name shp.load;
create procedure SHPLoad(fname string, tablename string) external name
shp.load;
update sys.functions set system = true where schema_id = 2000 and name in
('shpload');
+
Running database upgrade commands:
drop function if exists sys.st_intersects(geometry, geometry) cascade;
drop function if exists sys.st_dwithin(geometry, geometry, double) cascade;
@@ -1171,3 +1172,12 @@ UPDATE sys._tables SET system = true whe
and schema_id = (select s.id from sys.schemas s where s.name =
'information_schema')
and name in ('check_constraints','table_constraints');
+Running database upgrade commands:
+create procedure sys.vacuum(sname string, tname string)
+external name sql.vacuum;
+create procedure sys.vacuum(sname string, tname string, interval int)
+external name sql.vacuum;
+create procedure sys.stop_vacuum(sname string, tname string)
+external name sql.stop_vacuum;
+update sys.functions set system = true where system <> true and schema_id =
2000 and name in ('vacuum', 'stop_vacuum');
+
diff --git a/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
b/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
--- a/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
+++ b/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
@@ -492,3 +492,12 @@ UPDATE sys._tables SET system = true whe
and schema_id = (select s.id from sys.schemas s where s.name =
'information_schema')
and name in ('check_constraints','table_constraints');
+Running database upgrade commands:
+create procedure sys.vacuum(sname string, tname string)
+external name sql.vacuum;
+create procedure sys.vacuum(sname string, tname string, interval int)
+external name sql.vacuum;
+create procedure sys.stop_vacuum(sname string, tname string)
+external name sql.stop_vacuum;
+update sys.functions set system = true where system <> true and schema_id =
2000 and name in ('vacuum', 'stop_vacuum');
+
diff --git a/sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out
b/sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out
--- a/sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out
+++ b/sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out
@@ -480,3 +480,12 @@ UPDATE sys._tables SET system = true whe
and schema_id = (select s.id from sys.schemas s where s.name =
'information_schema')
and name in ('check_constraints','table_constraints');
+Running database upgrade commands:
+create procedure sys.vacuum(sname string, tname string)
+external name sql.vacuum;
+create procedure sys.vacuum(sname string, tname string, interval int)
+external name sql.vacuum;
+create procedure sys.stop_vacuum(sname string, tname string)
+external name sql.stop_vacuum;
+update sys.functions set system = true where system <> true and schema_id =
2000 and name in ('vacuum', 'stop_vacuum');
+
diff --git a/sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.int128
b/sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.int128
--- a/sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.int128
+++ b/sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.int128
@@ -561,3 +561,12 @@ UPDATE sys._tables SET system = true whe
and schema_id = (select s.id from sys.schemas s where s.name =
'information_schema')
and name in ('check_constraints','table_constraints');
+Running database upgrade commands:
+create procedure sys.vacuum(sname string, tname string)
+external name sql.vacuum;
+create procedure sys.vacuum(sname string, tname string, interval int)
+external name sql.vacuum;
+create procedure sys.stop_vacuum(sname string, tname string)
+external name sql.stop_vacuum;
+update sys.functions set system = true where system <> true and schema_id =
2000 and name in ('vacuum', 'stop_vacuum');
+
diff --git a/sql/test/emptydb-upgrade-hge/Tests/upgrade.stable.out.int128
b/sql/test/emptydb-upgrade-hge/Tests/upgrade.stable.out.int128
--- a/sql/test/emptydb-upgrade-hge/Tests/upgrade.stable.out.int128
+++ b/sql/test/emptydb-upgrade-hge/Tests/upgrade.stable.out.int128
@@ -492,3 +492,12 @@ UPDATE sys._tables SET system = true whe
and schema_id = (select s.id from sys.schemas s where s.name =
'information_schema')
and name in ('check_constraints','table_constraints');
+Running database upgrade commands:
+create procedure sys.vacuum(sname string, tname string)
+external name sql.vacuum;
+create procedure sys.vacuum(sname string, tname string, interval int)
+external name sql.vacuum;
+create procedure sys.stop_vacuum(sname string, tname string)
+external name sql.stop_vacuum;
+update sys.functions set system = true where system <> true and schema_id =
2000 and name in ('vacuum', 'stop_vacuum');
+
diff --git a/sql/test/emptydb-upgrade/Tests/upgrade.stable.out
b/sql/test/emptydb-upgrade/Tests/upgrade.stable.out
--- a/sql/test/emptydb-upgrade/Tests/upgrade.stable.out
+++ b/sql/test/emptydb-upgrade/Tests/upgrade.stable.out
@@ -480,3 +480,12 @@ UPDATE sys._tables SET system = true whe
and schema_id = (select s.id from sys.schemas s where s.name =
'information_schema')
and name in ('check_constraints','table_constraints');
+Running database upgrade commands:
+create procedure sys.vacuum(sname string, tname string)
+external name sql.vacuum;
+create procedure sys.vacuum(sname string, tname string, interval int)
+external name sql.vacuum;
+create procedure sys.stop_vacuum(sname string, tname string)
+external name sql.stop_vacuum;
+update sys.functions set system = true where system <> true and schema_id =
2000 and name in ('vacuum', 'stop_vacuum');
+
diff --git a/sql/test/emptydb-upgrade/Tests/upgrade.stable.out.int128
b/sql/test/emptydb-upgrade/Tests/upgrade.stable.out.int128
--- a/sql/test/emptydb-upgrade/Tests/upgrade.stable.out.int128
+++ b/sql/test/emptydb-upgrade/Tests/upgrade.stable.out.int128
@@ -561,3 +561,12 @@ UPDATE sys._tables SET system = true whe
and schema_id = (select s.id from sys.schemas s where s.name =
'information_schema')
and name in ('check_constraints','table_constraints');
+Running database upgrade commands:
+create procedure sys.vacuum(sname string, tname string)
+external name sql.vacuum;
+create procedure sys.vacuum(sname string, tname string, interval int)
+external name sql.vacuum;
+create procedure sys.stop_vacuum(sname string, tname string)
+external name sql.stop_vacuum;
+update sys.functions set system = true where system <> true and schema_id =
2000 and name in ('vacuum', 'stop_vacuum');
+
diff --git
a/sql/test/testdb-previous-upgrade-chain-hge/Tests/upgrade.stable.out.int128
b/sql/test/testdb-previous-upgrade-chain-hge/Tests/upgrade.stable.out.int128
--- a/sql/test/testdb-previous-upgrade-chain-hge/Tests/upgrade.stable.out.int128
+++ b/sql/test/testdb-previous-upgrade-chain-hge/Tests/upgrade.stable.out.int128
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]