Changeset: 260580aabca7 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=260580aabca7
Modified Files:
        sql/backends/monet5/sql_scenario.c
        sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out
        sql/test/testdb-upgrade/Tests/upgrade.stable.out
Branch: generator
Log Message:

Fixed upgrade code (changeset 67e839c04d97).
Stick it in the correct function, and approve output.


diffs (220 lines):

diff --git a/sql/backends/monet5/sql_scenario.c 
b/sql/backends/monet5/sql_scenario.c
--- a/sql/backends/monet5/sql_scenario.c
+++ b/sql/backends/monet5/sql_scenario.c
@@ -575,8 +575,8 @@ update sys._tables\n\
 static str
 sql_update_feb2013_sp3(Client c)
 {
-       char *buf = GDKmalloc(8192), *err = NULL;
-       size_t bufsize = 8192, pos = 0;
+       size_t bufsize = 4096, pos = 0;
+       char *buf = GDKmalloc(bufsize), *err = NULL;
 
        /* aggregates on type WRD */
        pos += snprintf(buf + pos, bufsize - pos, "create aggregate 
sys.stddev_samp(val WRD) returns DOUBLE external name \"aggr\".\"stdev\";\n");
@@ -827,46 +827,6 @@ external name sql.analyze;\n");
        pos += snprintf(buf + pos, bufsize - pos, "drop procedure 
gzctruncate;\n");
        pos += snprintf(buf + pos, bufsize - pos, "drop procedure 
gzcexpand;\n");
 
-       pos += snprintf(buf+pos, bufsize - pos, "create function 
sys.generate_series(first tinyint, last tinyint)"
-               "returns table (value tinyint)"
-               "external name generator.series;"
-               ""
-               "create function sys.generate_series(first tinyint, last 
tinyint, stepsize tinyint)"
-               "returns table (value tinyint)"
-               "external name generator.series;"
-               ""
-               "create function sys.generate_series(first int, last int)"
-               "returns table (value int)"
-               "external name generator.series;"
-               ""
-               "create function sys.generate_series(first int, last int, 
stepsize int)"
-               "returns table (value int)"
-               "external name generator.series;"
-               ""
-               "create function sys.generate_series(first bigint, last bigint)"
-               "returns table (value bigint)"
-               "external name generator.series;"
-               ""
-               "create function sys.generate_series(first bigint, last bigint, 
stepsize bigint)"
-               "returns table (value bigint)"
-               "external name generator.series;"
-               ""
-               "create function sys.generate_series(first real, last real, 
stepsize real)"
-               "returns table (value real)"
-               "external name generator.series;"
-               ""
-               "create function sys.generate_series(first double, last double, 
stepsize double)"
-               "returns table (value double)"
-               "external name generator.series;"
-               ""
-               "create function sys.generate_series(first decimal(10,2), last 
decimal(10,2), stepsize decimal(10,2))"
-               "returns table (value decimal(10,2))"
-               "external name generator.series;"
-               ""
-               "create function sys.generate_series(first timestamp, last 
timestamp, stepsize interval second)"
-               "returns table (value timestamp)"
-               "external name generator.series;");
-
        if (schema) {
                pos += snprintf(buf + pos, bufsize - pos, "set schema 
\"%s\";\n", schema);
                free(schema);
@@ -1036,12 +996,53 @@ create aggregate json.tojsonarray( x dou
        pos += snprintf(buf + pos, bufsize - pos, "create view sys.storagemodel 
as select * from sys.storagemodel();\n");
        pos += snprintf(buf + pos, bufsize - pos, "update sys._tables set 
system = true where name in ('storage','storagemodel','tablestoragemodel') and 
schema_id = (select id from sys.schemas where name = 'sys');\n");
 
+       /* new file 90_generator.sql */
+       pos += snprintf(buf+pos, bufsize - pos, "create function 
sys.generate_series(first tinyint, last tinyint)\n"
+               "returns table (value tinyint)\n"
+               "external name generator.series;\n"
+               "\n"
+               "create function sys.generate_series(first tinyint, last 
tinyint, stepsize tinyint)\n"
+               "returns table (value tinyint)\n"
+               "external name generator.series;\n"
+               "\n"
+               "create function sys.generate_series(first int, last int)\n"
+               "returns table (value int)\n"
+               "external name generator.series;\n"
+               "\n"
+               "create function sys.generate_series(first int, last int, 
stepsize int)\n"
+               "returns table (value int)\n"
+               "external name generator.series;\n"
+               "\n"
+               "create function sys.generate_series(first bigint, last 
bigint)\n"
+               "returns table (value bigint)\n"
+               "external name generator.series;\n"
+               "\n"
+               "create function sys.generate_series(first bigint, last bigint, 
stepsize bigint)\n"
+               "returns table (value bigint)\n"
+               "external name generator.series;\n"
+               "\n"
+               "create function sys.generate_series(first real, last real, 
stepsize real)\n"
+               "returns table (value real)\n"
+               "external name generator.series;\n"
+               "\n"
+               "create function sys.generate_series(first double, last double, 
stepsize double)\n"
+               "returns table (value double)\n"
+               "external name generator.series;\n"
+               "\n"
+               "create function sys.generate_series(first decimal(10,2), last 
decimal(10,2), stepsize decimal(10,2))\n"
+               "returns table (value decimal(10,2))\n"
+               "external name generator.series;\n"
+               "\n"
+               "create function sys.generate_series(first timestamp, last 
timestamp, stepsize interval second)\n"
+               "returns table (value timestamp)\n"
+               "external name generator.series;\n");
+
        pos += snprintf(buf + pos, bufsize - pos,
                        "insert into sys.systemfunctions (select f.id from 
sys.functions f, sys.schemas s where f.name in ('hashsize', 'imprintsize', 
'isauuid', 'md5', 'uuid') and f.type = %d and f.schema_id = s.id and s.name = 
'sys');\n",
                        F_FUNC);
 
        pos += snprintf(buf + pos, bufsize - pos,
-                       "insert into sys.systemfunctions (select f.id from 
sys.functions f, sys.schemas s where f.name in ('bbp', 'storage', 
'storagemodel') and f.type = %d and f.schema_id = s.id and s.name = 'sys');\n",
+                       "insert into sys.systemfunctions (select f.id from 
sys.functions f, sys.schemas s where f.name in ('bbp', 'generate_series', 
'storage', 'storagemodel') and f.type = %d and f.schema_id = s.id and s.name = 
'sys');\n",
                        F_UNION);
 
        if (schema) {
diff --git a/sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out 
b/sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out
--- a/sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out
+++ b/sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out
@@ -109,8 +109,47 @@ create function sys.hashsize(b boolean, 
 create view sys.tablestoragemodel as select "schema","table",max(count) as 
"count",    sum(columnsize) as columnsize,    sum(heapsize) as heapsize,    
sum(hashes) as hashes,    sum(imprints) as imprints,    sum(case when sorted = 
false then 8 * count else 0 end) as auxillary from sys.storagemodel() group by 
"schema","table";
 create view sys.storagemodel as select * from sys.storagemodel();
 update sys._tables set system = true where name in 
('storage','storagemodel','tablestoragemodel') and schema_id = (select id from 
sys.schemas where name = 'sys');
+create function sys.generate_series(first tinyint, last tinyint)
+returns table (value tinyint)
+external name generator.series;
+
+create function sys.generate_series(first tinyint, last tinyint, stepsize 
tinyint)
+returns table (value tinyint)
+external name generator.series;
+
+create function sys.generate_series(first int, last int)
+returns table (value int)
+external name generator.series;
+
+create function sys.generate_series(first int, last int, stepsize int)
+returns table (value int)
+external name generator.series;
+
+create function sys.generate_series(first bigint, last bigint)
+returns table (value bigint)
+external name generator.series;
+
+create function sys.generate_series(first bigint, last bigint, stepsize bigint)
+returns table (value bigint)
+external name generator.series;
+
+create function sys.generate_series(first real, last real, stepsize real)
+returns table (value real)
+external name generator.series;
+
+create function sys.generate_series(first double, last double, stepsize double)
+returns table (value double)
+external name generator.series;
+
+create function sys.generate_series(first decimal(10,2), last decimal(10,2), 
stepsize decimal(10,2))
+returns table (value decimal(10,2))
+external name generator.series;
+
+create function sys.generate_series(first timestamp, last timestamp, stepsize 
interval second)
+returns table (value timestamp)
+external name generator.series;
 insert into sys.systemfunctions (select f.id from sys.functions f, sys.schemas 
s where f.name in ('hashsize', 'imprintsize', 'isauuid', 'md5', 'uuid') and 
f.type = 1 and f.schema_id = s.id and s.name = 'sys');
-insert into sys.systemfunctions (select f.id from sys.functions f, sys.schemas 
s where f.name in ('bbp', 'storage', 'storagemodel') and f.type = 5 and 
f.schema_id = s.id and s.name = 'sys');
+insert into sys.systemfunctions (select f.id from sys.functions f, sys.schemas 
s where f.name in ('bbp', 'generate_series', 'storage', 'storagemodel') and 
f.type = 5 and f.schema_id = s.id and s.name = 'sys');
 set schema "testschema";
 
 #Interpreting bte as bit.
diff --git a/sql/test/testdb-upgrade/Tests/upgrade.stable.out 
b/sql/test/testdb-upgrade/Tests/upgrade.stable.out
--- a/sql/test/testdb-upgrade/Tests/upgrade.stable.out
+++ b/sql/test/testdb-upgrade/Tests/upgrade.stable.out
@@ -106,8 +106,47 @@ create function sys.hashsize(b boolean, 
 create view sys.tablestoragemodel as select "schema","table",max(count) as 
"count",    sum(columnsize) as columnsize,    sum(heapsize) as heapsize,    
sum(hashes) as hashes,    sum(imprints) as imprints,    sum(case when sorted = 
false then 8 * count else 0 end) as auxillary from sys.storagemodel() group by 
"schema","table";
 create view sys.storagemodel as select * from sys.storagemodel();
 update sys._tables set system = true where name in 
('storage','storagemodel','tablestoragemodel') and schema_id = (select id from 
sys.schemas where name = 'sys');
+create function sys.generate_series(first tinyint, last tinyint)
+returns table (value tinyint)
+external name generator.series;
+
+create function sys.generate_series(first tinyint, last tinyint, stepsize 
tinyint)
+returns table (value tinyint)
+external name generator.series;
+
+create function sys.generate_series(first int, last int)
+returns table (value int)
+external name generator.series;
+
+create function sys.generate_series(first int, last int, stepsize int)
+returns table (value int)
+external name generator.series;
+
+create function sys.generate_series(first bigint, last bigint)
+returns table (value bigint)
+external name generator.series;
+
+create function sys.generate_series(first bigint, last bigint, stepsize bigint)
+returns table (value bigint)
+external name generator.series;
+
+create function sys.generate_series(first real, last real, stepsize real)
+returns table (value real)
+external name generator.series;
+
+create function sys.generate_series(first double, last double, stepsize double)
+returns table (value double)
+external name generator.series;
+
+create function sys.generate_series(first decimal(10,2), last decimal(10,2), 
stepsize decimal(10,2))
+returns table (value decimal(10,2))
+external name generator.series;
+
+create function sys.generate_series(first timestamp, last timestamp, stepsize 
interval second)
+returns table (value timestamp)
+external name generator.series;
 insert into sys.systemfunctions (select f.id from sys.functions f, sys.schemas 
s where f.name in ('hashsize', 'imprintsize', 'isauuid', 'md5', 'uuid') and 
f.type = 1 and f.schema_id = s.id and s.name = 'sys');
-insert into sys.systemfunctions (select f.id from sys.functions f, sys.schemas 
s where f.name in ('bbp', 'storage', 'storagemodel') and f.type = 5 and 
f.schema_id = s.id and s.name = 'sys');
+insert into sys.systemfunctions (select f.id from sys.functions f, sys.schemas 
s where f.name in ('bbp', 'generate_series', 'storage', 'storagemodel') and 
f.type = 5 and f.schema_id = s.id and s.name = 'sys');
 set schema "testschema";
 
 #Interpreting bte as bit.
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to