Changeset: d457566ea329 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/d457566ea329
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:
Upgrade code.
diffs (truncated from 612 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
@@ -5637,6 +5637,32 @@ sql_update_default(Client c, mvc *sql, s
BBPreclaim(b);
}
res_table_destroy(output);
+ if (err)
+ return err;
+
+ if (!sql_bind_func(sql, s->base.name, "copy_blocksize", NULL, NULL,
F_FUNC, true, true)) {
+ sql->session->status = 0; /* if the function was not found
clean the error */
+ sql->errstr[0] = '\0';
+ static const char query[] =
+ "create function sys.copy_blocksize()\n"
+ "returns int\n"
+ "external name \"copy\".get_blocksize;\n"
+ "create procedure sys.copy_blocksize(size int)\n"
+ "external name \"copy\".set_blocksize;\n"
+ "create aggregate uniques_guess(c integer)\n"
+ "returns bigint external name aggr.uniques_guess;\n"
+ "grant execute on aggregate uniques_guess(integer) to
public;\n"
+ "create aggregate uniques_guess(c bigint)\n"
+ "returns bigint external name aggr.uniques_guess;\n"
+ "grant execute on aggregate uniques_guess(bigint) to
public;\n"
+ "create aggregate uniques_guess(c varchar)\n"
+ "returns bigint external name aggr.uniques_guess;\n"
+ "grant execute on aggregate uniques_guess(varchar) to
public;\n"
+ "update sys.functions set system = true where system <>
true and schema_id = 2000 and name in ('copy_blocksize', 'uniques_guess');\n";
+ printf("Running database upgrade commands:\n%s\n", query);
+ fflush(stdout);
+ err = SQLstatementIntern(c, query, "update", true, false, NULL);
+ }
return err;
}
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
@@ -430,3 +430,20 @@ SELECT d.id, i1.obj_type, i1.name,
GRANT SELECT ON sys.dependencies_vw TO PUBLIC;
update sys._tables set system = true where not system and schema_id = 2000 and
name in ('dependencies_vw', 'ids');
+Running database upgrade commands:
+create function sys.copy_blocksize()
+returns int
+external name "copy".get_blocksize;
+create procedure sys.copy_blocksize(size int)
+external name "copy".set_blocksize;
+create aggregate uniques_guess(c integer)
+returns bigint external name aggr.uniques_guess;
+grant execute on aggregate uniques_guess(integer) to public;
+create aggregate uniques_guess(c bigint)
+returns bigint external name aggr.uniques_guess;
+grant execute on aggregate uniques_guess(bigint) to public;
+create aggregate uniques_guess(c varchar)
+returns bigint external name aggr.uniques_guess;
+grant execute on aggregate uniques_guess(varchar) to public;
+update sys.functions set system = true where system <> true and schema_id =
2000 and name in ('copy_blocksize', 'uniques_guess');
+
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
@@ -430,3 +430,20 @@ SELECT d.id, i1.obj_type, i1.name,
GRANT SELECT ON sys.dependencies_vw TO PUBLIC;
update sys._tables set system = true where not system and schema_id = 2000 and
name in ('dependencies_vw', 'ids');
+Running database upgrade commands:
+create function sys.copy_blocksize()
+returns int
+external name "copy".get_blocksize;
+create procedure sys.copy_blocksize(size int)
+external name "copy".set_blocksize;
+create aggregate uniques_guess(c integer)
+returns bigint external name aggr.uniques_guess;
+grant execute on aggregate uniques_guess(integer) to public;
+create aggregate uniques_guess(c bigint)
+returns bigint external name aggr.uniques_guess;
+grant execute on aggregate uniques_guess(bigint) to public;
+create aggregate uniques_guess(c varchar)
+returns bigint external name aggr.uniques_guess;
+grant execute on aggregate uniques_guess(varchar) to public;
+update sys.functions set system = true where system <> true and schema_id =
2000 and name in ('copy_blocksize', 'uniques_guess');
+
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
@@ -513,3 +513,20 @@ SELECT d.id, i1.obj_type, i1.name,
GRANT SELECT ON sys.dependencies_vw TO PUBLIC;
update sys._tables set system = true where not system and schema_id = 2000 and
name in ('dependencies_vw', 'ids');
+Running database upgrade commands:
+create function sys.copy_blocksize()
+returns int
+external name "copy".get_blocksize;
+create procedure sys.copy_blocksize(size int)
+external name "copy".set_blocksize;
+create aggregate uniques_guess(c integer)
+returns bigint external name aggr.uniques_guess;
+grant execute on aggregate uniques_guess(integer) to public;
+create aggregate uniques_guess(c bigint)
+returns bigint external name aggr.uniques_guess;
+grant execute on aggregate uniques_guess(bigint) to public;
+create aggregate uniques_guess(c varchar)
+returns bigint external name aggr.uniques_guess;
+grant execute on aggregate uniques_guess(varchar) to public;
+update sys.functions set system = true where system <> true and schema_id =
2000 and name in ('copy_blocksize', 'uniques_guess');
+
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
@@ -430,3 +430,20 @@ SELECT d.id, i1.obj_type, i1.name,
GRANT SELECT ON sys.dependencies_vw TO PUBLIC;
update sys._tables set system = true where not system and schema_id = 2000 and
name in ('dependencies_vw', 'ids');
+Running database upgrade commands:
+create function sys.copy_blocksize()
+returns int
+external name "copy".get_blocksize;
+create procedure sys.copy_blocksize(size int)
+external name "copy".set_blocksize;
+create aggregate uniques_guess(c integer)
+returns bigint external name aggr.uniques_guess;
+grant execute on aggregate uniques_guess(integer) to public;
+create aggregate uniques_guess(c bigint)
+returns bigint external name aggr.uniques_guess;
+grant execute on aggregate uniques_guess(bigint) to public;
+create aggregate uniques_guess(c varchar)
+returns bigint external name aggr.uniques_guess;
+grant execute on aggregate uniques_guess(varchar) to public;
+update sys.functions set system = true where system <> true and schema_id =
2000 and name in ('copy_blocksize', 'uniques_guess');
+
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
@@ -430,3 +430,20 @@ SELECT d.id, i1.obj_type, i1.name,
GRANT SELECT ON sys.dependencies_vw TO PUBLIC;
update sys._tables set system = true where not system and schema_id = 2000 and
name in ('dependencies_vw', 'ids');
+Running database upgrade commands:
+create function sys.copy_blocksize()
+returns int
+external name "copy".get_blocksize;
+create procedure sys.copy_blocksize(size int)
+external name "copy".set_blocksize;
+create aggregate uniques_guess(c integer)
+returns bigint external name aggr.uniques_guess;
+grant execute on aggregate uniques_guess(integer) to public;
+create aggregate uniques_guess(c bigint)
+returns bigint external name aggr.uniques_guess;
+grant execute on aggregate uniques_guess(bigint) to public;
+create aggregate uniques_guess(c varchar)
+returns bigint external name aggr.uniques_guess;
+grant execute on aggregate uniques_guess(varchar) to public;
+update sys.functions set system = true where system <> true and schema_id =
2000 and name in ('copy_blocksize', 'uniques_guess');
+
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
@@ -513,3 +513,20 @@ SELECT d.id, i1.obj_type, i1.name,
GRANT SELECT ON sys.dependencies_vw TO PUBLIC;
update sys._tables set system = true where not system and schema_id = 2000 and
name in ('dependencies_vw', 'ids');
+Running database upgrade commands:
+create function sys.copy_blocksize()
+returns int
+external name "copy".get_blocksize;
+create procedure sys.copy_blocksize(size int)
+external name "copy".set_blocksize;
+create aggregate uniques_guess(c integer)
+returns bigint external name aggr.uniques_guess;
+grant execute on aggregate uniques_guess(integer) to public;
+create aggregate uniques_guess(c bigint)
+returns bigint external name aggr.uniques_guess;
+grant execute on aggregate uniques_guess(bigint) to public;
+create aggregate uniques_guess(c varchar)
+returns bigint external name aggr.uniques_guess;
+grant execute on aggregate uniques_guess(varchar) to public;
+update sys.functions set system = true where system <> true and schema_id =
2000 and name in ('copy_blocksize', 'uniques_guess');
+
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
@@ -146,3 +146,20 @@ SELECT d.id, i1.obj_type, i1.name,
GRANT SELECT ON sys.dependencies_vw TO PUBLIC;
update sys._tables set system = true where not system and schema_id = 2000 and
name in ('dependencies_vw', 'ids');
+Running database upgrade commands:
+create function sys.copy_blocksize()
+returns int
+external name "copy".get_blocksize;
+create procedure sys.copy_blocksize(size int)
+external name "copy".set_blocksize;
+create aggregate uniques_guess(c integer)
+returns bigint external name aggr.uniques_guess;
+grant execute on aggregate uniques_guess(integer) to public;
+create aggregate uniques_guess(c bigint)
+returns bigint external name aggr.uniques_guess;
+grant execute on aggregate uniques_guess(bigint) to public;
+create aggregate uniques_guess(c varchar)
+returns bigint external name aggr.uniques_guess;
+grant execute on aggregate uniques_guess(varchar) to public;
+update sys.functions set system = true where system <> true and schema_id =
2000 and name in ('copy_blocksize', 'uniques_guess');
+
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
@@ -146,3 +146,20 @@ SELECT d.id, i1.obj_type, i1.name,
GRANT SELECT ON sys.dependencies_vw TO PUBLIC;
update sys._tables set system = true where not system and schema_id = 2000 and
name in ('dependencies_vw', 'ids');
+Running database upgrade commands:
+create function sys.copy_blocksize()
+returns int
+external name "copy".get_blocksize;
+create procedure sys.copy_blocksize(size int)
+external name "copy".set_blocksize;
+create aggregate uniques_guess(c integer)
+returns bigint external name aggr.uniques_guess;
+grant execute on aggregate uniques_guess(integer) to public;
+create aggregate uniques_guess(c bigint)
+returns bigint external name aggr.uniques_guess;
+grant execute on aggregate uniques_guess(bigint) to public;
+create aggregate uniques_guess(c varchar)
+returns bigint external name aggr.uniques_guess;
+grant execute on aggregate uniques_guess(varchar) to public;
+update sys.functions set system = true where system <> true and schema_id =
2000 and name in ('copy_blocksize', 'uniques_guess');
+
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
@@ -229,3 +229,20 @@ SELECT d.id, i1.obj_type, i1.name,
GRANT SELECT ON sys.dependencies_vw TO PUBLIC;
update sys._tables set system = true where not system and schema_id = 2000 and
name in ('dependencies_vw', 'ids');
+Running database upgrade commands:
+create function sys.copy_blocksize()
+returns int
+external name "copy".get_blocksize;
+create procedure sys.copy_blocksize(size int)
+external name "copy".set_blocksize;
+create aggregate uniques_guess(c integer)
+returns bigint external name aggr.uniques_guess;
+grant execute on aggregate uniques_guess(integer) to public;
+create aggregate uniques_guess(c bigint)
+returns bigint external name aggr.uniques_guess;
+grant execute on aggregate uniques_guess(bigint) to public;
+create aggregate uniques_guess(c varchar)
+returns bigint external name aggr.uniques_guess;
+grant execute on aggregate uniques_guess(varchar) to public;
+update sys.functions set system = true where system <> true and schema_id =
2000 and name in ('copy_blocksize', 'uniques_guess');
+
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
@@ -146,3 +146,20 @@ SELECT d.id, i1.obj_type, i1.name,
GRANT SELECT ON sys.dependencies_vw TO PUBLIC;
update sys._tables set system = true where not system and schema_id = 2000 and
name in ('dependencies_vw', 'ids');
+Running database upgrade commands:
+create function sys.copy_blocksize()
+returns int
+external name "copy".get_blocksize;
+create procedure sys.copy_blocksize(size int)
+external name "copy".set_blocksize;
+create aggregate uniques_guess(c integer)
+returns bigint external name aggr.uniques_guess;
+grant execute on aggregate uniques_guess(integer) to public;
+create aggregate uniques_guess(c bigint)
+returns bigint external name aggr.uniques_guess;
+grant execute on aggregate uniques_guess(bigint) to public;
+create aggregate uniques_guess(c varchar)
+returns bigint external name aggr.uniques_guess;
+grant execute on aggregate uniques_guess(varchar) to public;
+update sys.functions set system = true where system <> true and schema_id =
2000 and name in ('copy_blocksize', 'uniques_guess');
+
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
@@ -146,3 +146,20 @@ SELECT d.id, i1.obj_type, i1.name,
GRANT SELECT ON sys.dependencies_vw TO PUBLIC;
update sys._tables set system = true where not system and schema_id = 2000 and
name in ('dependencies_vw', 'ids');
+Running database upgrade commands:
+create function sys.copy_blocksize()
+returns int
+external name "copy".get_blocksize;
+create procedure sys.copy_blocksize(size int)
+external name "copy".set_blocksize;
+create aggregate uniques_guess(c integer)
+returns bigint external name aggr.uniques_guess;
+grant execute on aggregate uniques_guess(integer) to public;
+create aggregate uniques_guess(c bigint)
+returns bigint external name aggr.uniques_guess;
+grant execute on aggregate uniques_guess(bigint) to public;
+create aggregate uniques_guess(c varchar)
+returns bigint external name aggr.uniques_guess;
+grant execute on aggregate uniques_guess(varchar) to public;
+update sys.functions set system = true where system <> true and schema_id =
2000 and name in ('copy_blocksize', 'uniques_guess');
+
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]