Changeset: 4a7879b38a3a for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=4a7879b38a3a
Modified Files:
sql/backends/monet5/sql_upgrades.c
sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.powerpc64.int128
sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out
sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.32bit
sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.int128
sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.powerpc64
sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.powerpc64.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.32bit
sql/test/emptydb-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.32bit
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.32bit
sql/test/testdb-upgrade/Tests/upgrade.stable.out.int128
Branch: Nov2019
Log Message:
Fix upgrade code for wlcr.
diffs (truncated from 1545 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
@@ -1893,7 +1893,7 @@ sql_update_apr2019_sp1(Client c)
static str
sql_update_nov2019(Client c, mvc *sql, const char *prev_schema)
{
- size_t bufsize = 4096, pos = 0;
+ size_t bufsize = 8192, pos = 0;
char *err = NULL, *buf = GDKmalloc(bufsize);
res_table *output;
BAT *b;
@@ -1986,47 +1986,66 @@ sql_update_nov2019(Client c, mvc *sql, c
#endif
/* 60/61_wlcr signatures migrations */
pos += snprintf(buf + pos, bufsize - pos,
- "drop procedure master();\n"
- "drop procedure master(path string);\n"
- "drop procedure stopmaster();\n"
- "drop procedure masterbeat( duration int);\n"
- "drop function masterClock() returns string;\n"
- "drop function masterTick() returns bigint;\n"
- "drop procedure replicate();\n"
- "drop procedure replicate(pointintime timestamp);\n"
- "drop procedure replicate(dbname string);\n"
- "drop procedure replicate(dbname string, pointintime
timestamp);\n"
- "drop procedure replicate(dbname string, id tinyint);\n"
- "drop procedure replicate(dbname string, id smallint);\n"
- "drop procedure replicate(dbname string, id integer);\n"
- "drop procedure replicate(dbname string, id bigint);\n"
- "drop procedure replicabeat(duration integer);\n"
- "drop function replicaClock() returns string;\n"
- "drop function replicaTick() returns bigint;\n"
+ "drop procedure master();\n"
+ "drop procedure master(string);\n"
+ "drop procedure stopmaster();\n"
+ "drop procedure masterbeat(int);\n"
+ "drop function masterClock();\n"
+ "drop function masterTick();\n"
+ "drop procedure replicate();\n"
+ "drop procedure replicate(timestamp);\n"
+ "drop procedure replicate(string);\n"
+ "drop procedure replicate(string, timestamp);\n"
+ "drop procedure replicate(string, tinyint);\n"
+ "drop procedure replicate(string, smallint);\n"
+ "drop procedure replicate(string, integer);\n"
+ "drop procedure replicate(string, bigint);\n"
+ "drop procedure replicabeat(integer);\n"
+ "drop function replicaClock();\n"
+ "drop function replicaTick();\n"
- "create schema wlc;\n"
- "create procedure wlc.master();\n"
- "create procedure wlc.master(path string);\n"
- "create procedure wlc.stop();\n"
- "create procedure wlc.flush();\n"
- "create procedure wlc.beat( duration int);\n"
- "create function wlc.clock() returns string;\n"
- "create function wlc.tick() returns bigint;\n"
+ "create schema wlc;\n"
+ "create procedure wlc.master()\n"
+ "external name wlc.master;\n"
+ "create procedure wlc.master(path string)\n"
+ "external name wlc.master;\n"
+ "create procedure wlc.stop()\n"
+ "external name wlc.stop;\n"
+ "create procedure wlc.flush()\n"
+ "external name wlc.flush;\n"
+ "create procedure wlc.beat( duration int)\n"
+ "external name wlc.\"setbeat\";\n"
+ "create function wlc.clock() returns string\n"
+ "external name wlc.\"getclock\";\n"
+ "create function wlc.tick() returns bigint\n"
+ "external name wlc.\"gettick\";\n"
- "create schema wlr;\n"
- "create procedure wlr.master(dbname string);\n"
- "create procedure wlr.stop();\n"
- "create procedure wlr.accept();\n"
- "create procedure wlr.replicate();\n"
- "create procedure wlr.replicate(pointintime timestamp);\n"
- "create procedure wlr.replicate(id tinyint);\n"
- "create procedure wlr.replicate(id smallint);\n"
- "create procedure wlr.replicate(id integer);\n"
- "create procedure wlr.replicate(id bigint);\n"
- "create procedure wlr.beat(duration integer);\n"
- "create function wlr.clock() returns string;\n"
- "create function wlr.tick() returns bigint;\n"
- );
+ "create schema wlr;\n"
+ "create procedure wlr.master(dbname string)\n"
+ "external name wlr.master;\n"
+ "create procedure wlr.stop()\n"
+ "external name wlr.stop;\n"
+ "create procedure wlr.accept()\n"
+ "external name wlr.accept;\n"
+ "create procedure wlr.replicate()\n"
+ "external name wlr.replicate;\n"
+ "create procedure wlr.replicate(pointintime
timestamp)\n"
+ "external name wlr.replicate;\n"
+ "create procedure wlr.replicate(id tinyint)\n"
+ "external name wlr.replicate;\n"
+ "create procedure wlr.replicate(id smallint)\n"
+ "external name wlr.replicate;\n"
+ "create procedure wlr.replicate(id integer)\n"
+ "external name wlr.replicate;\n"
+ "create procedure wlr.replicate(id bigint)\n"
+ "external name wlr.replicate;\n"
+ "create procedure wlr.beat(duration integer)\n"
+ "external name wlr.\"setbeat\";\n"
+ "create function wlr.clock() returns string\n"
+ "external name wlr.\"getclock\";\n"
+ "create function wlr.tick() returns bigint\n"
+ "external name wlr.\"gettick\";\n"
+ );
pos += snprintf(buf + pos, bufsize - pos,
"update sys.functions set system = true where schema_id
= (select id from sys.schemas where name = 'sys')"
@@ -2034,6 +2053,20 @@ sql_update_nov2019(Client c, mvc *sql, c
pos += snprintf(buf + pos, bufsize - pos,
"update sys.functions set system = true where schema_id
= (select id from sys.schemas where name = 'sys')"
" and name in ('median_avg', 'quantile_avg') and type =
%d;\n", (int) F_AGGR);
+ pos += snprintf(buf + pos, bufsize - pos,
+ "update sys.schemas set system = true where name in
('wlc', 'wlr');\n");
+ pos += snprintf(buf + pos, bufsize - pos,
+ "update sys.functions set system = true where schema_id
= (select id from sys.schemas where name = 'wlc')"
+ " and name in ('clock', 'tick') and type = %d;\n",
(int) F_FUNC);
+ pos += snprintf(buf + pos, bufsize - pos,
+ "update sys.functions set system = true where schema_id
= (select id from sys.schemas where name = 'wlc')"
+ " and name in ('master', 'stop', 'flush', 'beat') and
type = %d;\n", (int) F_PROC);
+ pos += snprintf(buf + pos, bufsize - pos,
+ "update sys.functions set system = true where schema_id
= (select id from sys.schemas where name = 'wlr')"
+ " and name in ('clock', 'tick') and type = %d;\n",
(int) F_FUNC);
+ pos += snprintf(buf + pos, bufsize - pos,
+ "update sys.functions set system = true where schema_id
= (select id from sys.schemas where name = 'wlr')"
+ " and name in ('master', 'stop', 'accept', 'replicate',
'beat') and type = %d;\n", (int) F_PROC);
pos += snprintf(buf + pos, bufsize - pos, "set schema \"%s\";\n",
prev_schema);
pos += snprintf(buf + pos, bufsize - pos, "commit;\n");
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
@@ -5966,8 +5966,70 @@ GRANT EXECUTE ON AGGREGATE median_avg(HU
create aggregate quantile_avg(val HUGEINT, q DOUBLE) returns DOUBLE
external name "aggr"."quantile_avg";
GRANT EXECUTE ON AGGREGATE quantile_avg(HUGEINT, DOUBLE) TO PUBLIC;
+drop procedure master();
+drop procedure master(string);
+drop procedure stopmaster();
+drop procedure masterbeat(int);
+drop function masterClock();
+drop function masterTick();
+drop procedure replicate();
+drop procedure replicate(timestamp);
+drop procedure replicate(string);
+drop procedure replicate(string, timestamp);
+drop procedure replicate(string, tinyint);
+drop procedure replicate(string, smallint);
+drop procedure replicate(string, integer);
+drop procedure replicate(string, bigint);
+drop procedure replicabeat(integer);
+drop function replicaClock();
+drop function replicaTick();
+create schema wlc;
+create procedure wlc.master()
+external name wlc.master;
+create procedure wlc.master(path string)
+external name wlc.master;
+create procedure wlc.stop()
+external name wlc.stop;
+create procedure wlc.flush()
+external name wlc.flush;
+create procedure wlc.beat( duration int)
+external name wlc."setbeat";
+create function wlc.clock() returns string
+external name wlc."getclock";
+create function wlc.tick() returns bigint
+external name wlc."gettick";
+create schema wlr;
+create procedure wlr.master(dbname string)
+external name wlr.master;
+create procedure wlr.stop()
+external name wlr.stop;
+create procedure wlr.accept()
+external name wlr.accept;
+create procedure wlr.replicate()
+external name wlr.replicate;
+create procedure wlr.replicate(pointintime timestamp)
+external name wlr.replicate;
+create procedure wlr.replicate(id tinyint)
+external name wlr.replicate;
+create procedure wlr.replicate(id smallint)
+external name wlr.replicate;
+create procedure wlr.replicate(id integer)
+external name wlr.replicate;
+create procedure wlr.replicate(id bigint)
+external name wlr.replicate;
+create procedure wlr.beat(duration integer)
+external name wlr."setbeat";
+create function wlr.clock() returns string
+external name wlr."getclock";
+create function wlr.tick() returns bigint
+external name wlr."gettick";
update sys.functions set system = true where schema_id = (select id from
sys.schemas where name = 'sys') and name in ('deltas') and type = 5;
update sys.functions set system = true where schema_id = (select id from
sys.schemas where name = 'sys') and name in ('median_avg', 'quantile_avg') and
type = 3;
+update sys.schemas set system = true where name in ('wlc', 'wlr');
+update sys.functions set system = true where schema_id = (select id from
sys.schemas where name = 'wlc') and name in ('clock', 'tick') and type = 1;
+update sys.functions set system = true where schema_id = (select id from
sys.schemas where name = 'wlc') and name in ('master', 'stop', 'flush', 'beat')
and type = 2;
+update sys.functions set system = true where schema_id = (select id from
sys.schemas where name = 'wlr') and name in ('clock', 'tick') and type = 1;
+update sys.functions set system = true where schema_id = (select id from
sys.schemas where name = 'wlr') and name in ('master', 'stop', 'accept',
'replicate', 'beat') and type = 2;
set schema "sys";
commit;
diff --git
a/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.powerpc64.int128
b/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.powerpc64.int128
---
a/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.powerpc64.int128
+++
b/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.powerpc64.int128
@@ -5966,8 +5966,70 @@ GRANT EXECUTE ON AGGREGATE median_avg(HU
create aggregate quantile_avg(val HUGEINT, q DOUBLE) returns DOUBLE
external name "aggr"."quantile_avg";
GRANT EXECUTE ON AGGREGATE quantile_avg(HUGEINT, DOUBLE) TO PUBLIC;
+drop procedure master();
+drop procedure master(string);
+drop procedure stopmaster();
+drop procedure masterbeat(int);
+drop function masterClock();
+drop function masterTick();
+drop procedure replicate();
+drop procedure replicate(timestamp);
+drop procedure replicate(string);
+drop procedure replicate(string, timestamp);
+drop procedure replicate(string, tinyint);
+drop procedure replicate(string, smallint);
+drop procedure replicate(string, integer);
+drop procedure replicate(string, bigint);
+drop procedure replicabeat(integer);
+drop function replicaClock();
+drop function replicaTick();
+create schema wlc;
+create procedure wlc.master()
+external name wlc.master;
+create procedure wlc.master(path string)
+external name wlc.master;
+create procedure wlc.stop()
+external name wlc.stop;
+create procedure wlc.flush()
+external name wlc.flush;
+create procedure wlc.beat( duration int)
+external name wlc."setbeat";
+create function wlc.clock() returns string
+external name wlc."getclock";
+create function wlc.tick() returns bigint
+external name wlc."gettick";
+create schema wlr;
+create procedure wlr.master(dbname string)
+external name wlr.master;
+create procedure wlr.stop()
+external name wlr.stop;
+create procedure wlr.accept()
+external name wlr.accept;
+create procedure wlr.replicate()
+external name wlr.replicate;
+create procedure wlr.replicate(pointintime timestamp)
+external name wlr.replicate;
+create procedure wlr.replicate(id tinyint)
+external name wlr.replicate;
+create procedure wlr.replicate(id smallint)
+external name wlr.replicate;
+create procedure wlr.replicate(id integer)
+external name wlr.replicate;
+create procedure wlr.replicate(id bigint)
+external name wlr.replicate;
+create procedure wlr.beat(duration integer)
+external name wlr."setbeat";
+create function wlr.clock() returns string
+external name wlr."getclock";
+create function wlr.tick() returns bigint
+external name wlr."gettick";
update sys.functions set system = true where schema_id = (select id from
sys.schemas where name = 'sys') and name in ('deltas') and type = 5;
update sys.functions set system = true where schema_id = (select id from
sys.schemas where name = 'sys') and name in ('median_avg', 'quantile_avg') and
type = 3;
+update sys.schemas set system = true where name in ('wlc', 'wlr');
+update sys.functions set system = true where schema_id = (select id from
sys.schemas where name = 'wlc') and name in ('clock', 'tick') and type = 1;
+update sys.functions set system = true where schema_id = (select id from
sys.schemas where name = 'wlc') and name in ('master', 'stop', 'flush', 'beat')
and type = 2;
+update sys.functions set system = true where schema_id = (select id from
sys.schemas where name = 'wlr') and name in ('clock', 'tick') and type = 1;
+update sys.functions set system = true where schema_id = (select id from
sys.schemas where name = 'wlr') and name in ('master', 'stop', 'accept',
'replicate', 'beat') and type = 2;
set schema "sys";
commit;
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
@@ -5170,8 +5170,70 @@ GRANT EXECUTE ON AGGREGATE quantile_avg(
create aggregate quantile_avg(val DOUBLE, q DOUBLE) returns DOUBLE
external name "aggr"."quantile_avg";
GRANT EXECUTE ON AGGREGATE quantile_avg(DOUBLE, DOUBLE) TO PUBLIC;
+drop procedure master();
+drop procedure master(string);
+drop procedure stopmaster();
+drop procedure masterbeat(int);
+drop function masterClock();
+drop function masterTick();
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list