Changeset: 0f58d320e8d2 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/0f58d320e8d2
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.int128
        sql/test/emptydb-previous-upgrade-hge/Tests/upgrade.stable.out.int128
        sql/test/emptydb-previous-upgrade/Tests/upgrade.stable.out.int128
        sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.int128
        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.int128
        sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.int128
        sql/test/testdb-upgrade/Tests/upgrade.stable.out.int128
Branch: Aug2024
Log Message:

Fix database upgrade for Aug2024 database.
Especially, the non-hugeint to with-hugeint upgrade.


diffs (truncated from 997 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
@@ -240,7 +240,9 @@ sql_update_hugeint(Client c, mvc *sql)
                        "external name generator.series;\n"
                        "create function sys.generate_series(first hugeint, 
\"limit\" hugeint, stepsize hugeint)\n"
                        "returns table (value hugeint)\n"
-                       "external name generator.series;\n");
+                       "external name generator.series;\n"
+                       "grant execute on function sys.generate_series(hugeint, 
hugeint) to public;\n"
+                       "grant execute on function sys.generate_series(hugeint, 
hugeint, hugeint) to public;\n");
 
        /* 39_analytics_hge.sql */
        pos += snprintf(buf + pos, bufsize - pos,
@@ -297,7 +299,19 @@ sql_update_hugeint(Client c, mvc *sql)
                        "GRANT EXECUTE ON AGGREGATE corr(HUGEINT, HUGEINT) TO 
PUBLIC;\n"
                        "create window corr(e1 HUGEINT, e2 HUGEINT) returns 
DOUBLE\n"
                        " external name \"sql\".\"corr\";\n"
-                       "GRANT EXECUTE ON WINDOW corr(HUGEINT, HUGEINT) TO 
PUBLIC;\n");
+                       "GRANT EXECUTE ON WINDOW corr(HUGEINT, HUGEINT) TO 
PUBLIC;\n"
+                       "create aggregate median(val DECIMAL(38)) returns 
DECIMAL(38)\n"
+                       " external name \"aggr\".\"median\";\n"
+                       "GRANT EXECUTE ON AGGREGATE median(DECIMAL(38)) TO 
PUBLIC;\n"
+                       "create aggregate median_avg(val DECIMAL(38)) returns 
DOUBLE\n"
+                       " external name \"aggr\".\"median_avg\";\n"
+                       "GRANT EXECUTE ON AGGREGATE median_avg(DECIMAL(38)) TO 
PUBLIC;\n"
+                       "create aggregate quantile(val DECIMAL(38), q DOUBLE) 
returns DECIMAL(38)\n"
+                       " external name \"aggr\".\"quantile\";\n"
+                       "GRANT EXECUTE ON AGGREGATE quantile(DECIMAL(38), 
DOUBLE) TO PUBLIC;\n"
+                       "create aggregate quantile_avg(val DECIMAL(38), q 
DOUBLE) returns DOUBLE\n"
+                       " external name \"aggr\".\"quantile_avg\";\n"
+                       "GRANT EXECUTE ON AGGREGATE quantile_avg(DECIMAL(38), 
DOUBLE) TO PUBLIC;\n");
 
        /* 40_json_hge.sql */
        pos += snprintf(buf + pos, bufsize - pos,
@@ -306,9 +320,9 @@ sql_update_hugeint(Client c, mvc *sql)
                        "GRANT EXECUTE ON FUNCTION json.filter(json, hugeint) 
TO PUBLIC;\n");
 
        pos += snprintf(buf + pos, bufsize - pos,
-                       "update sys.functions set system = true where system <> 
true and name in ('generate_series') and schema_id = (select id from 
sys.schemas where name = 'sys') and type = %d;\n"
-                       "update sys.functions set system = true where system <> 
true and name in ('stddev_samp', 'stddev_pop', 'var_samp', 'covar_samp', 
'var_pop', 'covar_pop', 'median', 'median_avg', 'quantile', 'quantile_avg', 
'corr') and schema_id = (select id from sys.schemas where name = 'sys') and 
type = %d;\n"
-                       "update sys.functions set system = true where system <> 
true and name in ('stddev_samp', 'stddev_pop', 'var_samp', 'covar_samp', 
'var_pop', 'covar_pop', 'corr') and schema_id = (select id from sys.schemas 
where name = 'sys') and type = %d;\n"
+                       "update sys.functions set system = true where system <> 
true and name in ('generate_series') and schema_id = 2000 and type = %d;\n"
+                       "update sys.functions set system = true where system <> 
true and name in ('stddev_samp', 'stddev_pop', 'var_samp', 'covar_samp', 
'var_pop', 'covar_pop', 'median', 'median_avg', 'quantile', 'quantile_avg', 
'corr') and schema_id = 2000 and type = %d;\n"
+                       "update sys.functions set system = true where system <> 
true and name in ('stddev_samp', 'stddev_pop', 'var_samp', 'covar_samp', 
'var_pop', 'covar_pop', 'corr') and schema_id = 2000 and type = %d;\n"
                        "update sys.functions set system = true where system <> 
true and name = 'filter' and schema_id = (select id from sys.schemas where name 
= 'json') and type = %d;\n",
                        (int) F_UNION, (int) F_AGGR, (int) F_ANALYTIC, (int) 
F_FUNC);
 
@@ -4892,11 +4906,6 @@ sql_update_aug2024(Client c, mvc *sql, s
                                "create aggregate median(val DECIMAL(18)) 
returns DECIMAL(18)\n"
                                " external name \"aggr\".\"median\";\n"
                                "GRANT EXECUTE ON AGGREGATE median(DECIMAL(18)) 
TO PUBLIC;\n"
-#ifdef HAVE_HGE
-                               "create aggregate median(val DECIMAL(38)) 
returns DECIMAL(38)\n"
-                               " external name \"aggr\".\"median\";\n"
-                               "GRANT EXECUTE ON AGGREGATE median(DECIMAL(38)) 
TO PUBLIC;\n"
-#endif
                                "create aggregate median_avg(val DECIMAL(2)) 
returns DOUBLE\n"
                                " external name \"aggr\".\"median_avg\";\n"
                                "GRANT EXECUTE ON AGGREGATE 
median_avg(DECIMAL(2)) TO PUBLIC;\n"
@@ -4909,11 +4918,6 @@ sql_update_aug2024(Client c, mvc *sql, s
                                "create aggregate median_avg(val DECIMAL(18)) 
returns DOUBLE\n"
                                " external name \"aggr\".\"median_avg\";\n"
                                "GRANT EXECUTE ON AGGREGATE 
median_avg(DECIMAL(18)) TO PUBLIC;\n"
-#ifdef HAVE_HGE
-                               "create aggregate median_avg(val DECIMAL(38)) 
returns DOUBLE\n"
-                               " external name \"aggr\".\"median_avg\";\n"
-                               "GRANT EXECUTE ON AGGREGATE 
median_avg(DECIMAL(38)) TO PUBLIC;\n"
-#endif
                                "create aggregate quantile(val DECIMAL(2), q 
DOUBLE) returns DECIMAL(2)\n"
                                " external name \"aggr\".\"quantile\";\n"
                                "GRANT EXECUTE ON AGGREGATE 
quantile(DECIMAL(2), DOUBLE) TO PUBLIC;\n"
@@ -4926,11 +4930,6 @@ sql_update_aug2024(Client c, mvc *sql, s
                                "create aggregate quantile(val DECIMAL(18), q 
DOUBLE) returns DECIMAL(18)\n"
                                " external name \"aggr\".\"quantile\";\n"
                                "GRANT EXECUTE ON AGGREGATE 
quantile(DECIMAL(18), DOUBLE) TO PUBLIC;\n"
-#ifdef HAVE_HGE
-                               "create aggregate quantile(val DECIMAL(38), q 
DOUBLE) returns DECIMAL(38)\n"
-                               " external name \"aggr\".\"quantile\";\n"
-                               "GRANT EXECUTE ON AGGREGATE 
quantile(DECIMAL(38), DOUBLE) TO PUBLIC;\n"
-#endif
                                "create aggregate quantile_avg(val DECIMAL(2), 
q DOUBLE) returns DOUBLE\n"
                                " external name \"aggr\".\"quantile_avg\";\n"
                                "GRANT EXECUTE ON AGGREGATE 
quantile_avg(DECIMAL(2), DOUBLE) TO PUBLIC;\n"
@@ -4943,11 +4942,6 @@ sql_update_aug2024(Client c, mvc *sql, s
                                "create aggregate quantile_avg(val DECIMAL(18), 
q DOUBLE) returns DOUBLE\n"
                                " external name \"aggr\".\"quantile_avg\";\n"
                                "GRANT EXECUTE ON AGGREGATE 
quantile_avg(DECIMAL(18), DOUBLE) TO PUBLIC;\n"
-#ifdef HAVE_HGE
-                               "create aggregate quantile_avg(val DECIMAL(38), 
q DOUBLE) returns DOUBLE\n"
-                               " external name \"aggr\".\"quantile_avg\";\n"
-                               "GRANT EXECUTE ON AGGREGATE 
quantile_avg(DECIMAL(38), DOUBLE) TO PUBLIC;\n"
-#endif
                                "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"
@@ -5266,6 +5260,35 @@ sql_update_aug2024(Client c, mvc *sql, s
                        printf("Running database upgrade commands:\n%s\n", 
query1);
                        fflush(stdout);
                        err = SQLstatementIntern(c, query1, "update", true, 
false, NULL);
+#ifdef HAVE_HGE
+                       if (err == MAL_SUCCEED) {
+                               sql_subtype tp;
+                               sql_find_subtype(&tp, "decimal", 38, 0);
+                               if (!sql_bind_func(sql, s->base.name, "median", 
&tp, NULL, F_AGGR, true, true)) {
+                                       sql->session->status = 0;
+                                       sql->errstr[0] = '\0';
+                                       const char query0[] =
+                                               "create aggregate median(val 
DECIMAL(38)) returns DECIMAL(38)\n"
+                                               " external name 
\"aggr\".\"median\";\n"
+                                               "GRANT EXECUTE ON AGGREGATE 
median(DECIMAL(38)) TO PUBLIC;\n"
+                                               "create aggregate 
median_avg(val DECIMAL(38)) returns DOUBLE\n"
+                                               " external name 
\"aggr\".\"median_avg\";\n"
+                                               "GRANT EXECUTE ON AGGREGATE 
median_avg(DECIMAL(38)) TO PUBLIC;\n"
+                                               "create aggregate quantile(val 
DECIMAL(38), q DOUBLE) returns DECIMAL(38)\n"
+                                               " external name 
\"aggr\".\"quantile\";\n"
+                                               "GRANT EXECUTE ON AGGREGATE 
quantile(DECIMAL(38), DOUBLE) TO PUBLIC;\n"
+                                               "create aggregate 
quantile_avg(val DECIMAL(38), q DOUBLE) returns DOUBLE\n"
+                                               " external name 
\"aggr\".\"quantile_avg\";\n"
+                                               "GRANT EXECUTE ON AGGREGATE 
quantile_avg(DECIMAL(38), DOUBLE) TO PUBLIC;\n"
+                                               "grant execute on function 
sys.generate_series(hugeint, hugeint) to public;\n"
+                                               "grant execute on function 
sys.generate_series(hugeint, hugeint, hugeint) to public;\n"
+                                               "update sys.functions set 
system = true where system <> true and schema_id = 2000 and name in ('median', 
'median_avg', 'quantile', 'quantile_avg');\n";
+                                       printf("Running database upgrade 
commands:\n%s\n", query0);
+                                       fflush(stdout);
+                                       err = SQLstatementIntern(c, query0, 
"update", true, false, NULL);
+                               }
+                       }
+#endif
                        if (err == MAL_SUCCEED) {
                                sql_subtype tp;
                                sql_find_subtype(&tp, "smallint", 0, 0);
@@ -5279,7 +5302,7 @@ sql_update_aug2024(Client c, mvc *sql, s
                                                "create function 
sys.generate_series(first smallint, \"limit\" smallint, stepsize smallint)\n"
                                                "returns table (value 
smallint)\n"
                                                "external name 
generator.series;\n"
-                                               "update sys.functions set 
system = true where system <> true and name in ('generate_series') and 
schema_id = (select id from sys.schemas where name = 'sys');\n";
+                                               "update sys.functions set 
system = true where system <> true and name in ('generate_series') and 
schema_id = 2000;\n";
                                        printf("Running database upgrade 
commands:\n%s\n", query);
                                        fflush(stdout);
                                        err = SQLstatementIntern(c, query, 
"update", true, false, NULL);
@@ -5308,10 +5331,6 @@ sql_update_aug2024(Client c, mvc *sql, s
                                        "grant execute on function 
sys.generate_series(date, date, interval day) to public;\n"
                                        "grant execute on function 
sys.generate_series(timestamp, timestamp, interval second) to public;\n"
                                        "grant execute on function 
sys.generate_series(timestamp, timestamp, interval day) to public;\n"
-#ifdef HAVE_HGE
-                                       "grant execute on function 
sys.generate_series(hugeint, hugeint) to public;\n"
-                                       "grant execute on function 
sys.generate_series(hugeint, hugeint, hugeint) to public;\n"
-#endif
                                        "update sys.functions set system = true 
where system <> true and name = 'generate_series' and schema_id = 2000;\n";
                                sql->session->status = 0;
                                sql->errstr[0] = '\0';
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
@@ -29,9 +29,6 @@ GRANT EXECUTE ON AGGREGATE median(DECIMA
 create aggregate median(val DECIMAL(18)) returns DECIMAL(18)
  external name "aggr"."median";
 GRANT EXECUTE ON AGGREGATE median(DECIMAL(18)) TO PUBLIC;
-create aggregate median(val DECIMAL(38)) returns DECIMAL(38)
- external name "aggr"."median";
-GRANT EXECUTE ON AGGREGATE median(DECIMAL(38)) TO PUBLIC;
 create aggregate median_avg(val DECIMAL(2)) returns DOUBLE
  external name "aggr"."median_avg";
 GRANT EXECUTE ON AGGREGATE median_avg(DECIMAL(2)) TO PUBLIC;
@@ -44,9 +41,6 @@ GRANT EXECUTE ON AGGREGATE median_avg(DE
 create aggregate median_avg(val DECIMAL(18)) returns DOUBLE
  external name "aggr"."median_avg";
 GRANT EXECUTE ON AGGREGATE median_avg(DECIMAL(18)) TO PUBLIC;
-create aggregate median_avg(val DECIMAL(38)) returns DOUBLE
- external name "aggr"."median_avg";
-GRANT EXECUTE ON AGGREGATE median_avg(DECIMAL(38)) TO PUBLIC;
 create aggregate quantile(val DECIMAL(2), q DOUBLE) returns DECIMAL(2)
  external name "aggr"."quantile";
 GRANT EXECUTE ON AGGREGATE quantile(DECIMAL(2), DOUBLE) TO PUBLIC;
@@ -59,9 +53,6 @@ GRANT EXECUTE ON AGGREGATE quantile(DECI
 create aggregate quantile(val DECIMAL(18), q DOUBLE) returns DECIMAL(18)
  external name "aggr"."quantile";
 GRANT EXECUTE ON AGGREGATE quantile(DECIMAL(18), DOUBLE) TO PUBLIC;
-create aggregate quantile(val DECIMAL(38), q DOUBLE) returns DECIMAL(38)
- external name "aggr"."quantile";
-GRANT EXECUTE ON AGGREGATE quantile(DECIMAL(38), DOUBLE) TO PUBLIC;
 create aggregate quantile_avg(val DECIMAL(2), q DOUBLE) returns DOUBLE
  external name "aggr"."quantile_avg";
 GRANT EXECUTE ON AGGREGATE quantile_avg(DECIMAL(2), DOUBLE) TO PUBLIC;
@@ -74,9 +65,6 @@ GRANT EXECUTE ON AGGREGATE quantile_avg(
 create aggregate quantile_avg(val DECIMAL(18), q DOUBLE) returns DOUBLE
  external name "aggr"."quantile_avg";
 GRANT EXECUTE ON AGGREGATE quantile_avg(DECIMAL(18), DOUBLE) TO PUBLIC;
-create aggregate quantile_avg(val DECIMAL(38), q DOUBLE) returns DOUBLE
- external name "aggr"."quantile_avg";
-GRANT EXECUTE ON AGGREGATE quantile_avg(DECIMAL(38), DOUBLE) TO PUBLIC;
 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
@@ -376,6 +364,23 @@ update sys.functions set system = true w
 update sys._tables set system = true where not system and schema_id = 2000 and 
name in ('dump_comments', 'dump_tables', 'dump_functions', 
'dump_function_grants', 'describe_functions', 'describe_privileges', 
'describe_comments', 'fully_qualified_functions', 'describe_tables');
 
 Running database upgrade commands:
+create aggregate median(val DECIMAL(38)) returns DECIMAL(38)
+ external name "aggr"."median";
+GRANT EXECUTE ON AGGREGATE median(DECIMAL(38)) TO PUBLIC;
+create aggregate median_avg(val DECIMAL(38)) returns DOUBLE
+ external name "aggr"."median_avg";
+GRANT EXECUTE ON AGGREGATE median_avg(DECIMAL(38)) TO PUBLIC;
+create aggregate quantile(val DECIMAL(38), q DOUBLE) returns DECIMAL(38)
+ external name "aggr"."quantile";
+GRANT EXECUTE ON AGGREGATE quantile(DECIMAL(38), DOUBLE) TO PUBLIC;
+create aggregate quantile_avg(val DECIMAL(38), q DOUBLE) returns DOUBLE
+ external name "aggr"."quantile_avg";
+GRANT EXECUTE ON AGGREGATE quantile_avg(DECIMAL(38), DOUBLE) TO PUBLIC;
+grant execute on function sys.generate_series(hugeint, hugeint) to public;
+grant execute on function sys.generate_series(hugeint, hugeint, hugeint) to 
public;
+update sys.functions set system = true where system <> true and schema_id = 
2000 and name in ('median', 'median_avg', 'quantile', 'quantile_avg');
+
+Running database upgrade commands:
 create function sys.generate_series(first date, "limit" date, stepsize 
interval month)
 returns table (value date)
 external name generator.series;
@@ -397,8 +402,6 @@ grant execute on function sys.generate_s
 grant execute on function sys.generate_series(date, date, interval day) to 
public;
 grant execute on function sys.generate_series(timestamp, timestamp, interval 
second) to public;
 grant execute on function sys.generate_series(timestamp, timestamp, interval 
day) to public;
-grant execute on function sys.generate_series(hugeint, hugeint) to public;
-grant execute on function sys.generate_series(hugeint, hugeint, hugeint) to 
public;
 update sys.functions set system = true where system <> true and name = 
'generate_series' and schema_id = 2000;
 
 Running database upgrade commands:
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
@@ -7,6 +7,8 @@ external name generator.series;
 create function sys.generate_series(first hugeint, "limit" hugeint, stepsize 
hugeint)
 returns table (value hugeint)
 external name generator.series;
+grant execute on function sys.generate_series(hugeint, hugeint) to public;
+grant execute on function sys.generate_series(hugeint, hugeint, hugeint) to 
public;
 create aggregate stddev_samp(val HUGEINT) returns DOUBLE
  external name "aggr"."stdev";
 GRANT EXECUTE ON AGGREGATE stddev_samp(HUGEINT) TO PUBLIC;
@@ -61,12 +63,24 @@ GRANT EXECUTE ON AGGREGATE corr(HUGEINT,
 create window corr(e1 HUGEINT, e2 HUGEINT) returns DOUBLE
  external name "sql"."corr";
 GRANT EXECUTE ON WINDOW corr(HUGEINT, HUGEINT) TO PUBLIC;
+create aggregate median(val DECIMAL(38)) returns DECIMAL(38)
+ external name "aggr"."median";
+GRANT EXECUTE ON AGGREGATE median(DECIMAL(38)) TO PUBLIC;
+create aggregate median_avg(val DECIMAL(38)) returns DOUBLE
+ external name "aggr"."median_avg";
+GRANT EXECUTE ON AGGREGATE median_avg(DECIMAL(38)) TO PUBLIC;
+create aggregate quantile(val DECIMAL(38), q DOUBLE) returns DECIMAL(38)
+ external name "aggr"."quantile";
+GRANT EXECUTE ON AGGREGATE quantile(DECIMAL(38), DOUBLE) TO PUBLIC;
+create aggregate quantile_avg(val DECIMAL(38), q DOUBLE) returns DOUBLE
+ external name "aggr"."quantile_avg";
+GRANT EXECUTE ON AGGREGATE quantile_avg(DECIMAL(38), DOUBLE) TO PUBLIC;
 create function json.filter(js json, name hugeint)
 returns json external name json.filter;
 GRANT EXECUTE ON FUNCTION json.filter(json, hugeint) TO PUBLIC;
-update sys.functions set system = true where system <> true and name in 
('generate_series') and schema_id = (select id from sys.schemas where name = 
'sys') and type = 5;
-update sys.functions set system = true where system <> true and name in 
('stddev_samp', 'stddev_pop', 'var_samp', 'covar_samp', 'var_pop', 'covar_pop', 
'median', 'median_avg', 'quantile', 'quantile_avg', 'corr') and schema_id = 
(select id from sys.schemas where name = 'sys') and type = 3;
-update sys.functions set system = true where system <> true and name in 
('stddev_samp', 'stddev_pop', 'var_samp', 'covar_samp', 'var_pop', 'covar_pop', 
'corr') and schema_id = (select id from sys.schemas where name = 'sys') and 
type = 6;
+update sys.functions set system = true where system <> true and name in 
('generate_series') and schema_id = 2000 and type = 5;
+update sys.functions set system = true where system <> true and name in 
('stddev_samp', 'stddev_pop', 'var_samp', 'covar_samp', 'var_pop', 'covar_pop', 
'median', 'median_avg', 'quantile', 'quantile_avg', 'corr') and schema_id = 
2000 and type = 3;
+update sys.functions set system = true where system <> true and name in 
('stddev_samp', 'stddev_pop', 'var_samp', 'covar_samp', 'var_pop', 'covar_pop', 
'corr') and schema_id = 2000 and type = 6;
 update sys.functions set system = true where system <> true and name = 
'filter' and schema_id = (select id from sys.schemas where name = 'json') and 
type = 1;
 
 Running database upgrade commands:
@@ -98,9 +112,6 @@ GRANT EXECUTE ON AGGREGATE median(DECIMA
 create aggregate median(val DECIMAL(18)) returns DECIMAL(18)
  external name "aggr"."median";
 GRANT EXECUTE ON AGGREGATE median(DECIMAL(18)) TO PUBLIC;
-create aggregate median(val DECIMAL(38)) returns DECIMAL(38)
- external name "aggr"."median";
-GRANT EXECUTE ON AGGREGATE median(DECIMAL(38)) TO PUBLIC;
 create aggregate median_avg(val DECIMAL(2)) returns DOUBLE
  external name "aggr"."median_avg";
 GRANT EXECUTE ON AGGREGATE median_avg(DECIMAL(2)) TO PUBLIC;
@@ -113,9 +124,6 @@ GRANT EXECUTE ON AGGREGATE median_avg(DE
 create aggregate median_avg(val DECIMAL(18)) returns DOUBLE
  external name "aggr"."median_avg";
 GRANT EXECUTE ON AGGREGATE median_avg(DECIMAL(18)) TO PUBLIC;
-create aggregate median_avg(val DECIMAL(38)) returns DOUBLE
- external name "aggr"."median_avg";
-GRANT EXECUTE ON AGGREGATE median_avg(DECIMAL(38)) TO PUBLIC;
 create aggregate quantile(val DECIMAL(2), q DOUBLE) returns DECIMAL(2)
  external name "aggr"."quantile";
 GRANT EXECUTE ON AGGREGATE quantile(DECIMAL(2), DOUBLE) TO PUBLIC;
@@ -128,9 +136,6 @@ GRANT EXECUTE ON AGGREGATE quantile(DECI
 create aggregate quantile(val DECIMAL(18), q DOUBLE) returns DECIMAL(18)
  external name "aggr"."quantile";
 GRANT EXECUTE ON AGGREGATE quantile(DECIMAL(18), DOUBLE) TO PUBLIC;
-create aggregate quantile(val DECIMAL(38), q DOUBLE) returns DECIMAL(38)
- external name "aggr"."quantile";
-GRANT EXECUTE ON AGGREGATE quantile(DECIMAL(38), DOUBLE) TO PUBLIC;
 create aggregate quantile_avg(val DECIMAL(2), q DOUBLE) returns DOUBLE
  external name "aggr"."quantile_avg";
 GRANT EXECUTE ON AGGREGATE quantile_avg(DECIMAL(2), DOUBLE) TO PUBLIC;
@@ -143,9 +148,6 @@ GRANT EXECUTE ON AGGREGATE quantile_avg(
 create aggregate quantile_avg(val DECIMAL(18), q DOUBLE) returns DOUBLE
_______________________________________________
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org

Reply via email to