Changeset: 243d3bc294dd for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/243d3bc294dd
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: cleanup_types
Log Message:
sys.time_to_str and sys.timestamp_to_str upgrade code.
diffs (truncated from 926 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
@@ -6630,18 +6630,31 @@ sql_update_default(Client c, mvc *sql, s
if (BATcount(b) == 0) {
/* do update */
sql_table *t;
- const char *query = "drop function
sys.dump_database(boolean);\n"
+ const char *query =
+ "drop function if exists sys.time_to_str(time
with time zone, string) cascade;\n"
+ "drop function if exists
sys.timestamp_to_str(timestamp with time zone, string) cascade;\n"
+ "create function time_to_str(d time, format
string) returns string\n"
+ " external name mtime.\"time_to_str\";\n"
+ "create function time_to_str(d time with time
zone, format string) returns string\n"
+ " external name mtime.\"timetz_to_str\";\n"
+ "create function timestamp_to_str(d timestamp
with time zone, format string) returns string\n"
+ " external name mtime.\"timestamptz_to_str\";\n"
+ "grant execute on function time_to_str(time,
string) to public;\n"
+ "grant execute on function time_to_str(time
with time zone, string) to public;\n"
+ "grant execute on function
timestamp_to_str(timestamp with time zone, string) to public;\n"
+ "update sys.functions set system = true where
not system and schema_id = 2000 and name in ('time_to_str',
'timestamp_to_str');\n"
+ "drop function if exists
sys.dump_database(boolean) cascade;\n"
"drop view sys.dump_comments;\n"
"drop view sys.dump_tables;\n"
"drop view sys.dump_functions;\n"
"drop view sys.dump_function_grants;\n"
- "drop function sys.describe_columns(string,
string);\n"
+ "drop function if exists
sys.describe_columns(string, string) cascade;\n"
"drop view sys.describe_functions;\n"
"drop view sys.describe_privileges;\n"
"drop view sys.describe_comments;\n"
"drop view sys.fully_qualified_functions;\n"
"drop view sys.describe_tables;\n"
- "drop function sys.describe_type(string,
integer, integer);\n"
+ "drop function if exists
sys.describe_type(string, integer, integer) cascade;\n"
"CREATE FUNCTION sys.describe_type(ctype
string, digits integer, tscale integer)\n"
" RETURNS string\n"
"BEGIN\n"
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
@@ -611,18 +611,30 @@ GRANT EXECUTE ON FUNCTION json.isvalid(j
update sys.functions set system = true where system <> true and name =
'isvalid' and schema_id = (select id from sys.schemas where name = 'json');
Running database upgrade commands:
-drop function sys.dump_database(boolean);
+drop function if exists sys.time_to_str(time with time zone, string) cascade;
+drop function if exists sys.timestamp_to_str(timestamp with time zone, string)
cascade;
+create function time_to_str(d time, format string) returns string
+ external name mtime."time_to_str";
+create function time_to_str(d time with time zone, format string) returns
string
+ external name mtime."timetz_to_str";
+create function timestamp_to_str(d timestamp with time zone, format string)
returns string
+ external name mtime."timestamptz_to_str";
+grant execute on function time_to_str(time, string) to public;
+grant execute on function time_to_str(time with time zone, string) to public;
+grant execute on function timestamp_to_str(timestamp with time zone, string)
to public;
+update sys.functions set system = true where not system and schema_id = 2000
and name in ('time_to_str', 'timestamp_to_str');
+drop function if exists sys.dump_database(boolean) cascade;
drop view sys.dump_comments;
drop view sys.dump_tables;
drop view sys.dump_functions;
drop view sys.dump_function_grants;
-drop function sys.describe_columns(string, string);
+drop function if exists sys.describe_columns(string, string) cascade;
drop view sys.describe_functions;
drop view sys.describe_privileges;
drop view sys.describe_comments;
drop view sys.fully_qualified_functions;
drop view sys.describe_tables;
-drop function sys.describe_type(string, integer, integer);
+drop function if exists sys.describe_type(string, integer, integer) cascade;
CREATE FUNCTION sys.describe_type(ctype string, digits integer, tscale integer)
RETURNS string
BEGIN
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
@@ -611,18 +611,30 @@ GRANT EXECUTE ON FUNCTION json.isvalid(j
update sys.functions set system = true where system <> true and name =
'isvalid' and schema_id = (select id from sys.schemas where name = 'json');
Running database upgrade commands:
-drop function sys.dump_database(boolean);
+drop function if exists sys.time_to_str(time with time zone, string) cascade;
+drop function if exists sys.timestamp_to_str(timestamp with time zone, string)
cascade;
+create function time_to_str(d time, format string) returns string
+ external name mtime."time_to_str";
+create function time_to_str(d time with time zone, format string) returns
string
+ external name mtime."timetz_to_str";
+create function timestamp_to_str(d timestamp with time zone, format string)
returns string
+ external name mtime."timestamptz_to_str";
+grant execute on function time_to_str(time, string) to public;
+grant execute on function time_to_str(time with time zone, string) to public;
+grant execute on function timestamp_to_str(timestamp with time zone, string)
to public;
+update sys.functions set system = true where not system and schema_id = 2000
and name in ('time_to_str', 'timestamp_to_str');
+drop function if exists sys.dump_database(boolean) cascade;
drop view sys.dump_comments;
drop view sys.dump_tables;
drop view sys.dump_functions;
drop view sys.dump_function_grants;
-drop function sys.describe_columns(string, string);
+drop function if exists sys.describe_columns(string, string) cascade;
drop view sys.describe_functions;
drop view sys.describe_privileges;
drop view sys.describe_comments;
drop view sys.fully_qualified_functions;
drop view sys.describe_tables;
-drop function sys.describe_type(string, integer, integer);
+drop function if exists sys.describe_type(string, integer, integer) cascade;
CREATE FUNCTION sys.describe_type(ctype string, digits integer, tscale integer)
RETURNS string
BEGIN
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
@@ -680,18 +680,30 @@ GRANT EXECUTE ON FUNCTION json.isvalid(j
update sys.functions set system = true where system <> true and name =
'isvalid' and schema_id = (select id from sys.schemas where name = 'json');
Running database upgrade commands:
-drop function sys.dump_database(boolean);
+drop function if exists sys.time_to_str(time with time zone, string) cascade;
+drop function if exists sys.timestamp_to_str(timestamp with time zone, string)
cascade;
+create function time_to_str(d time, format string) returns string
+ external name mtime."time_to_str";
+create function time_to_str(d time with time zone, format string) returns
string
+ external name mtime."timetz_to_str";
+create function timestamp_to_str(d timestamp with time zone, format string)
returns string
+ external name mtime."timestamptz_to_str";
+grant execute on function time_to_str(time, string) to public;
+grant execute on function time_to_str(time with time zone, string) to public;
+grant execute on function timestamp_to_str(timestamp with time zone, string)
to public;
+update sys.functions set system = true where not system and schema_id = 2000
and name in ('time_to_str', 'timestamp_to_str');
+drop function if exists sys.dump_database(boolean) cascade;
drop view sys.dump_comments;
drop view sys.dump_tables;
drop view sys.dump_functions;
drop view sys.dump_function_grants;
-drop function sys.describe_columns(string, string);
+drop function if exists sys.describe_columns(string, string) cascade;
drop view sys.describe_functions;
drop view sys.describe_privileges;
drop view sys.describe_comments;
drop view sys.fully_qualified_functions;
drop view sys.describe_tables;
-drop function sys.describe_type(string, integer, integer);
+drop function if exists sys.describe_type(string, integer, integer) cascade;
CREATE FUNCTION sys.describe_type(ctype string, digits integer, tscale integer)
RETURNS string
BEGIN
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
@@ -611,18 +611,30 @@ GRANT EXECUTE ON FUNCTION json.isvalid(j
update sys.functions set system = true where system <> true and name =
'isvalid' and schema_id = (select id from sys.schemas where name = 'json');
Running database upgrade commands:
-drop function sys.dump_database(boolean);
+drop function if exists sys.time_to_str(time with time zone, string) cascade;
+drop function if exists sys.timestamp_to_str(timestamp with time zone, string)
cascade;
+create function time_to_str(d time, format string) returns string
+ external name mtime."time_to_str";
+create function time_to_str(d time with time zone, format string) returns
string
+ external name mtime."timetz_to_str";
+create function timestamp_to_str(d timestamp with time zone, format string)
returns string
+ external name mtime."timestamptz_to_str";
+grant execute on function time_to_str(time, string) to public;
+grant execute on function time_to_str(time with time zone, string) to public;
+grant execute on function timestamp_to_str(timestamp with time zone, string)
to public;
+update sys.functions set system = true where not system and schema_id = 2000
and name in ('time_to_str', 'timestamp_to_str');
+drop function if exists sys.dump_database(boolean) cascade;
drop view sys.dump_comments;
drop view sys.dump_tables;
drop view sys.dump_functions;
drop view sys.dump_function_grants;
-drop function sys.describe_columns(string, string);
+drop function if exists sys.describe_columns(string, string) cascade;
drop view sys.describe_functions;
drop view sys.describe_privileges;
drop view sys.describe_comments;
drop view sys.fully_qualified_functions;
drop view sys.describe_tables;
-drop function sys.describe_type(string, integer, integer);
+drop function if exists sys.describe_type(string, integer, integer) cascade;
CREATE FUNCTION sys.describe_type(ctype string, digits integer, tscale integer)
RETURNS string
BEGIN
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
@@ -611,18 +611,30 @@ GRANT EXECUTE ON FUNCTION json.isvalid(j
update sys.functions set system = true where system <> true and name =
'isvalid' and schema_id = (select id from sys.schemas where name = 'json');
Running database upgrade commands:
-drop function sys.dump_database(boolean);
+drop function if exists sys.time_to_str(time with time zone, string) cascade;
+drop function if exists sys.timestamp_to_str(timestamp with time zone, string)
cascade;
+create function time_to_str(d time, format string) returns string
+ external name mtime."time_to_str";
+create function time_to_str(d time with time zone, format string) returns
string
+ external name mtime."timetz_to_str";
+create function timestamp_to_str(d timestamp with time zone, format string)
returns string
+ external name mtime."timestamptz_to_str";
+grant execute on function time_to_str(time, string) to public;
+grant execute on function time_to_str(time with time zone, string) to public;
+grant execute on function timestamp_to_str(timestamp with time zone, string)
to public;
+update sys.functions set system = true where not system and schema_id = 2000
and name in ('time_to_str', 'timestamp_to_str');
+drop function if exists sys.dump_database(boolean) cascade;
drop view sys.dump_comments;
drop view sys.dump_tables;
drop view sys.dump_functions;
drop view sys.dump_function_grants;
-drop function sys.describe_columns(string, string);
+drop function if exists sys.describe_columns(string, string) cascade;
drop view sys.describe_functions;
drop view sys.describe_privileges;
drop view sys.describe_comments;
drop view sys.fully_qualified_functions;
drop view sys.describe_tables;
-drop function sys.describe_type(string, integer, integer);
+drop function if exists sys.describe_type(string, integer, integer) cascade;
CREATE FUNCTION sys.describe_type(ctype string, digits integer, tscale integer)
RETURNS string
BEGIN
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
@@ -680,18 +680,30 @@ GRANT EXECUTE ON FUNCTION json.isvalid(j
update sys.functions set system = true where system <> true and name =
'isvalid' and schema_id = (select id from sys.schemas where name = 'json');
Running database upgrade commands:
-drop function sys.dump_database(boolean);
+drop function if exists sys.time_to_str(time with time zone, string) cascade;
+drop function if exists sys.timestamp_to_str(timestamp with time zone, string)
cascade;
+create function time_to_str(d time, format string) returns string
+ external name mtime."time_to_str";
+create function time_to_str(d time with time zone, format string) returns
string
+ external name mtime."timetz_to_str";
+create function timestamp_to_str(d timestamp with time zone, format string)
returns string
+ external name mtime."timestamptz_to_str";
+grant execute on function time_to_str(time, string) to public;
+grant execute on function time_to_str(time with time zone, string) to public;
+grant execute on function timestamp_to_str(timestamp with time zone, string)
to public;
+update sys.functions set system = true where not system and schema_id = 2000
and name in ('time_to_str', 'timestamp_to_str');
+drop function if exists sys.dump_database(boolean) cascade;
drop view sys.dump_comments;
drop view sys.dump_tables;
drop view sys.dump_functions;
drop view sys.dump_function_grants;
-drop function sys.describe_columns(string, string);
+drop function if exists sys.describe_columns(string, string) cascade;
drop view sys.describe_functions;
drop view sys.describe_privileges;
drop view sys.describe_comments;
drop view sys.fully_qualified_functions;
drop view sys.describe_tables;
-drop function sys.describe_type(string, integer, integer);
+drop function if exists sys.describe_type(string, integer, integer) cascade;
CREATE FUNCTION sys.describe_type(ctype string, digits integer, tscale integer)
RETURNS string
BEGIN
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
@@ -8,18 +8,30 @@ GRANT EXECUTE ON FUNCTION json.isvalid(j
update sys.functions set system = true where system <> true and name =
'isvalid' and schema_id = (select id from sys.schemas where name = 'json');
Running database upgrade commands:
-drop function sys.dump_database(boolean);
+drop function if exists sys.time_to_str(time with time zone, string) cascade;
+drop function if exists sys.timestamp_to_str(timestamp with time zone, string)
cascade;
+create function time_to_str(d time, format string) returns string
+ external name mtime."time_to_str";
+create function time_to_str(d time with time zone, format string) returns
string
+ external name mtime."timetz_to_str";
+create function timestamp_to_str(d timestamp with time zone, format string)
returns string
+ external name mtime."timestamptz_to_str";
+grant execute on function time_to_str(time, string) to public;
+grant execute on function time_to_str(time with time zone, string) to public;
+grant execute on function timestamp_to_str(timestamp with time zone, string)
to public;
+update sys.functions set system = true where not system and schema_id = 2000
and name in ('time_to_str', 'timestamp_to_str');
+drop function if exists sys.dump_database(boolean) cascade;
drop view sys.dump_comments;
drop view sys.dump_tables;
drop view sys.dump_functions;
drop view sys.dump_function_grants;
-drop function sys.describe_columns(string, string);
+drop function if exists sys.describe_columns(string, string) cascade;
drop view sys.describe_functions;
drop view sys.describe_privileges;
drop view sys.describe_comments;
drop view sys.fully_qualified_functions;
drop view sys.describe_tables;
-drop function sys.describe_type(string, integer, integer);
+drop function if exists sys.describe_type(string, integer, integer) cascade;
CREATE FUNCTION sys.describe_type(ctype string, digits integer, tscale integer)
RETURNS string
BEGIN
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
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]