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]

Reply via email to