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

Reply via email to