Changeset: 22a8c45057b3 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/22a8c45057b3
Branch: default
Log Message:

Merge with Dec2023 branch.


diffs (truncated from 1202 to 300 lines):

diff --git a/gdk/gdk_bbp.c b/gdk/gdk_bbp.c
--- a/gdk/gdk_bbp.c
+++ b/gdk/gdk_bbp.c
@@ -1666,8 +1666,9 @@ BBPjson_upgrade(json_storage_conversion 
        bat bid;
        BAT *b;
        int JSON_type = ATOMindex("json");
-       bat *upd = GDKmalloc(sizeof(bat) * ATOMIC_GET(&BBPsize));
-       BUN nupd = 0;
+       bat nbat = (bat) ATOMIC_GET(&BBPsize);
+       bat *upd = GDKmalloc(sizeof(bat) * (size_t) nbat);
+       int nupd = 0;
 
        if (upd == NULL) {
                TRC_CRITICAL(GDK, "could not create bat\n");
@@ -1677,7 +1678,7 @@ BBPjson_upgrade(json_storage_conversion 
 
        BBPlock();
 
-       for (bid = 1; bid < (bat) ATOMIC_GET(&BBPsize); bid++) {
+       for (bid = 1; bid < nbat; bid++) {
                if ((b = BBP_desc(bid)) == NULL) {
                        /* not a valid BAT */
                        continue;
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
@@ -6231,7 +6231,7 @@ sql_update_dec2023(Client c, mvc *sql, s
                "  cast(sys.ifthenelse(c.\"null\", 'YES', 'NO') AS varchar(3)) 
AS IS_NULLABLE,\n"
                "  cast(sys.\"sql_datatype\"(c.\"type\", c.\"type_digits\", 
c.\"type_scale\", true, true) AS varchar(1024)) AS DATA_TYPE,\n"
                "  cast(sys.ifthenelse(c.\"type\" IN 
('varchar','clob','char','json','url','xml') AND c.\"type_digits\" > 0, 
c.\"type_digits\", NULL) AS int) AS CHARACTER_MAXIMUM_LENGTH,\n"
-               "  cast(sys.ifthenelse(c.\"type\" IN 
('varchar','clob','char','json','url','xml') AND c.\"type_digits\" > 0, 
c.\"type_digits\" * 4, NULL) AS int) AS CHARACTER_OCTET_LENGTH,\n"
+               "  cast(sys.ifthenelse(c.\"type\" IN 
('varchar','clob','char','json','url','xml') AND c.\"type_digits\" > 0, 4 * 
c.\"type_digits\", NULL) AS bigint) AS CHARACTER_OCTET_LENGTH,\n"
                "  cast(sys.ifthenelse(c.\"type\" IN 
('int','smallint','tinyint','bigint','hugeint','float','real','double','decimal','numeric','oid'),
 c.\"type_digits\", NULL) AS int) AS NUMERIC_PRECISION,\n"
                "  cast(sys.ifthenelse(c.\"type\" IN 
('int','smallint','tinyint','bigint','hugeint','float','real','double','oid'), 
2, sys.ifthenelse(c.\"type\" IN ('decimal','numeric'), 10, NULL)) AS int) AS 
NUMERIC_PRECISION_RADIX,\n"
                "  cast(sys.ifthenelse(c.\"type\" IN 
('int','smallint','tinyint','bigint','hugeint','float','real','double','decimal','numeric','oid'),
 c.\"type_scale\", NULL) AS int) AS NUMERIC_SCALE,\n"
@@ -6360,7 +6360,7 @@ sql_update_dec2023(Client c, mvc *sql, s
                "  cast(NULL AS varchar(1)) AS UDT_NAME,\n"
                "  cast(CASE f.\"type\" WHEN 1 THEN 
sys.\"sql_datatype\"(a.\"type\", a.\"type_digits\", a.\"type_scale\", true, 
true) WHEN 2 THEN NULL WHEN 5 THEN 'TABLE' WHEN 7 THEN 'TABLE' ELSE NULL END AS 
varchar(1024)) AS DATA_TYPE,\n"
                "  cast(sys.ifthenelse(a.\"type\" IN 
('varchar','clob','char','json','url','xml') AND a.\"type_digits\" > 0, 
a.\"type_digits\", NULL) AS int) AS CHARACTER_MAXIMUM_LENGTH,\n"
-               "  cast(sys.ifthenelse(a.\"type\" IN 
('varchar','clob','char','json','url','xml') AND a.\"type_digits\" > 0, 
a.\"type_digits\" * 4, NULL) AS int) AS CHARACTER_OCTET_LENGTH,\n"
+               "  cast(sys.ifthenelse(a.\"type\" IN 
('varchar','clob','char','json','url','xml') AND a.\"type_digits\" > 0, 4 * 
a.\"type_digits\", NULL) AS bigint) AS CHARACTER_OCTET_LENGTH,\n"
                "  cast(NULL AS varchar(1)) AS CHARACTER_SET_CATALOG,\n"
                "  cast(NULL AS varchar(1)) AS CHARACTER_SET_SCHEMA,\n"
                "  'UTF-8' AS CHARACTER_SET_NAME,\n"
@@ -6466,7 +6466,7 @@ sql_update_dec2023(Client c, mvc *sql, s
                "  cast(NULL AS varchar(1)) AS TO_SQL_SPECIFIC_NAME,\n"
                "  cast(sys.\"sql_datatype\"(a.\"type\", a.\"type_digits\", 
a.\"type_scale\", true, true) AS varchar(1024)) AS DATA_TYPE,\n"
                "  cast(sys.ifthenelse(a.\"type\" IN 
('varchar','clob','char','json','url','xml') AND a.\"type_digits\" > 0, 
a.\"type_digits\", NULL) AS int) AS CHARACTER_MAXIMUM_LENGTH,\n"
-               "  cast(sys.ifthenelse(a.\"type\" IN 
('varchar','clob','char','json','url','xml') AND a.\"type_digits\" > 0, 
a.\"type_digits\" * 4, NULL) AS int) AS CHARACTER_OCTET_LENGTH,\n"
+               "  cast(sys.ifthenelse(a.\"type\" IN 
('varchar','clob','char','json','url','xml') AND a.\"type_digits\" > 0, 4 * 
a.\"type_digits\", NULL) AS bigint) AS CHARACTER_OCTET_LENGTH,\n"
                "  cast(NULL AS varchar(1)) AS CHARACTER_SET_CATALOG,\n"
                "  cast(NULL AS varchar(1)) AS CHARACTER_SET_SCHEMA,\n"
                "  cast(sys.ifthenelse(a.\"type\" IN 
('varchar','clob','char','json','url','xml'), 'UTF-8', NULL) AS varchar(16)) AS 
CHARACTER_SET_NAME,\n"
diff --git a/sql/scripts/91_information_schema.sql 
b/sql/scripts/91_information_schema.sql
--- a/sql/scripts/91_information_schema.sql
+++ b/sql/scripts/91_information_schema.sql
@@ -131,7 +131,7 @@ CREATE VIEW INFORMATION_SCHEMA.COLUMNS A
   cast(sys.ifthenelse(c."null", 'YES', 'NO') AS varchar(3)) AS IS_NULLABLE,
   cast(sys."sql_datatype"(c."type", c."type_digits", c."type_scale", true, 
true) AS varchar(1024)) AS DATA_TYPE,
   cast(sys.ifthenelse(c."type" IN ('varchar','clob','char','json','url','xml') 
AND c."type_digits" > 0, c."type_digits", NULL) AS int) AS 
CHARACTER_MAXIMUM_LENGTH,
-  cast(sys.ifthenelse(c."type" IN ('varchar','clob','char','json','url','xml') 
AND c."type_digits" > 0, c."type_digits" * 4, NULL) AS int) AS 
CHARACTER_OCTET_LENGTH,
+  cast(sys.ifthenelse(c."type" IN ('varchar','clob','char','json','url','xml') 
AND c."type_digits" > 0, 4 * c."type_digits", NULL) AS bigint) AS 
CHARACTER_OCTET_LENGTH,
   cast(sys.ifthenelse(c."type" IN 
('int','smallint','tinyint','bigint','hugeint','float','real','double','decimal','numeric','oid'),
 c."type_digits", NULL) AS int) AS NUMERIC_PRECISION,
   cast(sys.ifthenelse(c."type" IN 
('int','smallint','tinyint','bigint','hugeint','float','real','double','oid'), 
2, sys.ifthenelse(c."type" IN ('decimal','numeric'), 10, NULL)) AS int) AS 
NUMERIC_PRECISION_RADIX,
   cast(sys.ifthenelse(c."type" IN 
('int','smallint','tinyint','bigint','hugeint','float','real','double','decimal','numeric','oid'),
 c."type_scale", NULL) AS int) AS NUMERIC_SCALE,
@@ -277,7 +277,7 @@ CREATE VIEW INFORMATION_SCHEMA.ROUTINES 
   cast(NULL AS varchar(1)) AS UDT_NAME,
   cast(CASE f."type" WHEN 1 THEN sys."sql_datatype"(a."type", a."type_digits", 
a."type_scale", true, true) WHEN 2 THEN NULL WHEN 5 THEN 'TABLE' WHEN 7 THEN 
'TABLE' ELSE NULL END AS varchar(1024)) AS DATA_TYPE,
   cast(sys.ifthenelse(a."type" IN ('varchar','clob','char','json','url','xml') 
AND a."type_digits" > 0, a."type_digits", NULL) AS int) AS 
CHARACTER_MAXIMUM_LENGTH,
-  cast(sys.ifthenelse(a."type" IN ('varchar','clob','char','json','url','xml') 
AND a."type_digits" > 0, a."type_digits" * 4, NULL) AS int) AS 
CHARACTER_OCTET_LENGTH,
+  cast(sys.ifthenelse(a."type" IN ('varchar','clob','char','json','url','xml') 
AND a."type_digits" > 0, 4 * a."type_digits", NULL) AS bigint) AS 
CHARACTER_OCTET_LENGTH,
   cast(NULL AS varchar(1)) AS CHARACTER_SET_CATALOG,
   cast(NULL AS varchar(1)) AS CHARACTER_SET_SCHEMA,
   'UTF-8' AS CHARACTER_SET_NAME,
@@ -389,7 +389,7 @@ CREATE VIEW INFORMATION_SCHEMA.PARAMETER
   cast(NULL AS varchar(1)) AS TO_SQL_SPECIFIC_NAME,
   cast(sys."sql_datatype"(a."type", a."type_digits", a."type_scale", true, 
true) AS varchar(1024)) AS DATA_TYPE,
   cast(sys.ifthenelse(a."type" IN ('varchar','clob','char','json','url','xml') 
AND a."type_digits" > 0, a."type_digits", NULL) AS int) AS 
CHARACTER_MAXIMUM_LENGTH,
-  cast(sys.ifthenelse(a."type" IN ('varchar','clob','char','json','url','xml') 
AND a."type_digits" > 0, a."type_digits" * 4, NULL) AS int) AS 
CHARACTER_OCTET_LENGTH,
+  cast(sys.ifthenelse(a."type" IN ('varchar','clob','char','json','url','xml') 
AND a."type_digits" > 0, 4 * a."type_digits", NULL) AS bigint) AS 
CHARACTER_OCTET_LENGTH,
   cast(NULL AS varchar(1)) AS CHARACTER_SET_CATALOG,
   cast(NULL AS varchar(1)) AS CHARACTER_SET_SCHEMA,
   cast(sys.ifthenelse(a."type" IN 
('varchar','clob','char','json','url','xml'), 'UTF-8', NULL) AS varchar(16)) AS 
CHARACTER_SET_NAME,
diff --git a/sql/server/rel_select.c b/sql/server/rel_select.c
--- a/sql/server/rel_select.c
+++ b/sql/server/rel_select.c
@@ -5255,7 +5255,7 @@ rel_rankop(sql_query *query, sql_rel **r
                if (frame_type == FRAME_RANGE)
                        ie = obe ? (sql_exp*) obe->t->data : in;
                else
-                       ie = oe;
+                       ie = obe ? oe : in;
        }
        assert(oe && pe);
 
diff --git a/sql/test/BugTracker-2023/Tests/misc-crashes-7390.test 
b/sql/test/BugTracker-2023/Tests/misc-crashes-7390.test
--- a/sql/test/BugTracker-2023/Tests/misc-crashes-7390.test
+++ b/sql/test/BugTracker-2023/Tests/misc-crashes-7390.test
@@ -182,19 +182,19 @@ statement ok
 DROP TABLE v0
 
 -- 12.sql
--- statement ok
--- CREATE TABLE v0 (v1 VARCHAR(255) NULL)
+statement ok
+CREATE TABLE v0 (v1 VARCHAR(255) NULL)
 
--- statement ok
--- INSERT INTO v0 (v1) VALUES (2),(10),(99),(1.100000),(3)
+statement ok
+INSERT INTO v0 (v1) VALUES (2),(10),(99),(1.100000),(3)
 
--- statement ok
--- UPDATE v0 SET v1 = (SELECT MIN(v1) OVER (ROWS 10 PRECEDING) WHERE (10 = v1 
OR v1 = ((3 - 10.100000))) AND 3 NOT LIKE v1);
+statement error 22018!conversion of string to type bte failed.
+UPDATE v0 SET v1 = (SELECT MIN(v1) OVER (ROWS 10 PRECEDING) WHERE (10 = v1 OR 
v1 = ((3 - 10.100000))) AND 3 NOT LIKE v1);
 
--- statement ok
--- DROP TABLE v0
+statement ok
+DROP TABLE v0
 
--- -- 13.sql
+-- 13.sql
 -- statement ok
 -- CREATE TABLE v0 (v1 SMALLINT)
 
@@ -228,19 +228,19 @@ DROP TABLE v0
 -- DROP TABLE v0
 
 -- -- 16.sql
--- statement ok
--- CREATE TABLE v0(v1 FLOAT)
+statement ok
+CREATE TABLE v0(v1 FLOAT)
 
--- statement ok
--- INSERT INTO v0 VALUES (82),((SELECT 0 FROM v0 AS v2 GROUP BY (SELECT 
-128))),(15255709.000000),(12)
+statement ok
+INSERT INTO v0 VALUES (82),((SELECT 0 FROM v0 AS v2 GROUP BY (SELECT 
-128))),(15255709.000000),(12)
 
--- statement ok
--- SELECT v1 = 2147483647 - v1 ^ v1 AS v4 FROM v0 AS v3, v0, v0 AS v6,v0 AS 
v5, v0 AS v7 ORDER BY 35 >= (SELECT VAR_SAMP(v1 >= 72 ) OVER (ROWS BETWEEN v1 + 
-128 * -32768 PRECEDING AND CURRENT ROW) IS NOT NULL) ASC
+statement error 42000!row frame bound must be non negative and non null.
+SELECT v1 = 2147483647 - v1 ^ v1 AS v4 FROM v0 AS v3, v0, v0 AS v6,v0 AS v5, 
v0 AS v7 ORDER BY 35 >= (SELECT VAR_SAMP(v1 >= 72 ) OVER (ROWS BETWEEN v1 + 
-128 * -32768 PRECEDING AND CURRENT ROW) IS NOT NULL) ASC
 
--- statement ok
--- DROP TABLE v0
+statement ok
+DROP TABLE v0
 
--- -- 17.sql
+-- 17.sql
 -- statement ok
 -- CREATE TABLE v0(v1 INT)
 
@@ -260,21 +260,21 @@ DROP TABLE v0
 -- statement ok
 -- DROP TABLE v0
 
--- -- 19.sql
--- statement ok
--- CREATE TABLE v0(v1 BIGINT)
+-- 19.sql
+statement ok
+CREATE TABLE v0(v1 BIGINT)
 
--- statement ok
--- INSERT INTO v0 VALUES (16),(22),(-128),(60),(76),(127),(89)
+statement ok
+INSERT INTO v0 VALUES (16),(22),(-128),(60),(76),(127),(89)
 
--- statement ok
--- WITH v0 AS (SELECT -1, * FROM v0) INSERT INTO v0 SELECT v1 * 255 FROM v0 AS 
v5, v0, v0 AS v4, v0 AS v3, v0 AS v2 ORDER BY v1 * -128 ^ -1
+statement ok
+WITH v0 AS (SELECT -1, * FROM v0) INSERT INTO v0 SELECT v1 * 255 FROM v0 AS 
v5, v0, v0 AS v4, v0 AS v3, v0 AS v2 ORDER BY v1 * -128 ^ -1
 
--- statement ok
--- UPDATE v0 SET v1 = 59 % v1 WHERE (WITH v0 (v1) AS (SELECT ('x' + 95) ORDER 
BY - (v1), v1) SELECT STDDEV_POP(v1) OVER (ROWS BETWEEN v1 IS NOT NULL 
PRECEDING AND 89 FOLLOWING) IS NOT NULL) + 0 % v1 % 46 + 45 * v1
+statement ok
+UPDATE v0 SET v1 = 59 % v1 WHERE (WITH v0 (v1) AS (SELECT ('x' + 95) ORDER BY 
- (v1), v1) SELECT STDDEV_POP(v1) OVER (ROWS BETWEEN v1 IS NOT NULL PRECEDING 
AND 89 FOLLOWING) IS NOT NULL) + 0 % v1 % 46 + 45 * v1
 
--- statement ok
--- DROP TABLE v0
+statement ok
+DROP TABLE v0
 
 -- -- 20.sql
 -- statement ok
@@ -286,21 +286,21 @@ DROP TABLE v0
 -- statement ok
 -- DROP TABLE v0
 
--- -- 21.sql
--- statement ok
--- CREATE TABLE v0(v1 BIGINT)
+-- 21.sql
+statement ok
+CREATE TABLE v0(v1 BIGINT)
 
--- statement ok
--- INSERT INTO v0 VALUES (13),(53),(-1),(13),(54),((SELECT v1 FROM v0 WHERE v1 
IS NULL AND v1 IN (7 ^ v1))),(72),(2147483647)
+statement ok
+INSERT INTO v0 VALUES (13),(53),(-1),(13),(54),((SELECT v1 FROM v0 WHERE v1 IS 
NULL AND v1 IN (7 ^ v1))),(72),(2147483647)
 
--- statement ok
--- WITH v0 AS (SELECT 2147483647, * FROM v0) INSERT INTO v0 SELECT v1 * -32768 
FROM v0 AS v2,v0,v0 AS v5,v0 AS v3,v0 AS v4 ORDER BY v1 * 127 ^ -1
+statement ok
+WITH v0 AS (SELECT 2147483647, * FROM v0) INSERT INTO v0 SELECT v1 * -32768 
FROM v0 AS v2,v0,v0 AS v5,v0 AS v3,v0 AS v4 ORDER BY v1 * 127 ^ -1
 
--- statement ok
--- UPDATE v0 SET v1 = -128 % v1 WHERE (WITH v0 (v1) AS (SELECT 8 WHERE (v1 < 
-1 OR v1 > 40) AND 80 ^ 0 % v1 <= 75 = 127 AND v1 IS NOT NULL) SELECT 
VAR_POP((52 * (v1 IN (127,47)))) OVER (ROWS BETWEEN CURRENT ROW AND v1 - NULL 
FOLLOWING) * -32768) > v1
+statement error 42000!row frame bound must be non negative and non null.
+UPDATE v0 SET v1 = -128 % v1 WHERE (WITH v0 (v1) AS (SELECT 8 WHERE (v1 < -1 
OR v1 > 40) AND 80 ^ 0 % v1 <= 75 = 127 AND v1 IS NOT NULL) SELECT VAR_POP((52 
* (v1 IN (127,47)))) OVER (ROWS BETWEEN CURRENT ROW AND v1 - NULL FOLLOWING) * 
-32768) > v1
 
--- statement ok
--- DROP TABLE v0
+statement ok
+DROP TABLE v0
 
 -- 22.sql
 statement ok
@@ -348,21 +348,21 @@ DROP TABLE v0
 -- statement ok
 -- DROP TABLE v0
 
--- -- 26.sql
--- statement ok
--- CREATE TABLE v0(v1 BIGINT NOT NULL)
+-- 26.sql
+statement ok
+CREATE TABLE v0(v1 BIGINT NOT NULL)
 
--- statement ok
--- INSERT INTO v0 VALUES (-1),(127),(4),(-128),(11),(-1),(-128),(-128),(-1)
+statement ok
+INSERT INTO v0 VALUES (-1),(127),(4),(-128),(11),(-1),(-128),(-128),(-1)
 
--- statement ok
--- WITH v0 AS (SELECT -1, * FROM v0) INSERT INTO v0 SELECT v1 * 29 FROM v0 AS 
v3, v0, v0 AS v2, v0 AS v4, v0 ORDER BY v1 * 0 ^ 83
+statement ok
+WITH v0 AS (SELECT -1, * FROM v0) INSERT INTO v0 SELECT v1 * 29 FROM v0 AS v3, 
v0, v0 AS v2, v0 AS v4, v0 ORDER BY v1 * 0 ^ 83
 
--- statement ok
--- UPDATE v0 SET v1 = -1 WHERE CASE WHEN v1 > -1 THEN (SELECT STDDEV_SAMP((18 
* v1 + (v1 IN (21 , -1)))) OVER (ROWS BETWEEN CURRENT ROW AND v1 - NULL 
FOLLOWING) * 17) > v1 / (SELECT -1 WHERE (88 IN (96))) ELSE 82 END ^ -128 ^ v1
+statement error 42000!row frame bound must be non negative and non null.
+UPDATE v0 SET v1 = -1 WHERE CASE WHEN v1 > -1 THEN (SELECT STDDEV_SAMP((18 * 
v1 + (v1 IN (21 , -1)))) OVER (ROWS BETWEEN CURRENT ROW AND v1 - NULL 
FOLLOWING) * 17) > v1 / (SELECT -1 WHERE (88 IN (96))) ELSE 82 END ^ -128 ^ v1
 
--- statement ok
--- DROP TABLE v0
+statement ok
+DROP TABLE v0
 
 -- -- 27.sql
 -- statement ok
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
@@ -659,7 +659,7 @@ CREATE VIEW INFORMATION_SCHEMA.COLUMNS A
   cast(sys.ifthenelse(c."null", 'YES', 'NO') AS varchar(3)) AS IS_NULLABLE,
   cast(sys."sql_datatype"(c."type", c."type_digits", c."type_scale", true, 
true) AS varchar(1024)) AS DATA_TYPE,
   cast(sys.ifthenelse(c."type" IN ('varchar','clob','char','json','url','xml') 
AND c."type_digits" > 0, c."type_digits", NULL) AS int) AS 
CHARACTER_MAXIMUM_LENGTH,
-  cast(sys.ifthenelse(c."type" IN ('varchar','clob','char','json','url','xml') 
AND c."type_digits" > 0, c."type_digits" * 4, NULL) AS int) AS 
CHARACTER_OCTET_LENGTH,
+  cast(sys.ifthenelse(c."type" IN ('varchar','clob','char','json','url','xml') 
AND c."type_digits" > 0, 4 * c."type_digits", NULL) AS bigint) AS 
CHARACTER_OCTET_LENGTH,
   cast(sys.ifthenelse(c."type" IN 
('int','smallint','tinyint','bigint','hugeint','float','real','double','decimal','numeric','oid'),
 c."type_digits", NULL) AS int) AS NUMERIC_PRECISION,
   cast(sys.ifthenelse(c."type" IN 
('int','smallint','tinyint','bigint','hugeint','float','real','double','oid'), 
2, sys.ifthenelse(c."type" IN ('decimal','numeric'), 10, NULL)) AS int) AS 
NUMERIC_PRECISION_RADIX,
   cast(sys.ifthenelse(c."type" IN 
('int','smallint','tinyint','bigint','hugeint','float','real','double','decimal','numeric','oid'),
 c."type_scale", NULL) AS int) AS NUMERIC_SCALE,
@@ -783,7 +783,7 @@ CREATE VIEW INFORMATION_SCHEMA.ROUTINES 
   cast(NULL AS varchar(1)) AS UDT_NAME,
   cast(CASE f."type" WHEN 1 THEN sys."sql_datatype"(a."type", a."type_digits", 
a."type_scale", true, true) WHEN 2 THEN NULL WHEN 5 THEN 'TABLE' WHEN 7 THEN 
'TABLE' ELSE NULL END AS varchar(1024)) AS DATA_TYPE,
   cast(sys.ifthenelse(a."type" IN ('varchar','clob','char','json','url','xml') 
AND a."type_digits" > 0, a."type_digits", NULL) AS int) AS 
CHARACTER_MAXIMUM_LENGTH,
-  cast(sys.ifthenelse(a."type" IN ('varchar','clob','char','json','url','xml') 
AND a."type_digits" > 0, a."type_digits" * 4, NULL) AS int) AS 
CHARACTER_OCTET_LENGTH,
+  cast(sys.ifthenelse(a."type" IN ('varchar','clob','char','json','url','xml') 
AND a."type_digits" > 0, 4 * a."type_digits", NULL) AS bigint) AS 
CHARACTER_OCTET_LENGTH,
   cast(NULL AS varchar(1)) AS CHARACTER_SET_CATALOG,
   cast(NULL AS varchar(1)) AS CHARACTER_SET_SCHEMA,
   'UTF-8' AS CHARACTER_SET_NAME,
@@ -888,7 +888,7 @@ CREATE VIEW INFORMATION_SCHEMA.PARAMETER
   cast(NULL AS varchar(1)) AS TO_SQL_SPECIFIC_NAME,
   cast(sys."sql_datatype"(a."type", a."type_digits", a."type_scale", true, 
true) AS varchar(1024)) AS DATA_TYPE,
   cast(sys.ifthenelse(a."type" IN ('varchar','clob','char','json','url','xml') 
AND a."type_digits" > 0, a."type_digits", NULL) AS int) AS 
CHARACTER_MAXIMUM_LENGTH,
-  cast(sys.ifthenelse(a."type" IN ('varchar','clob','char','json','url','xml') 
AND a."type_digits" > 0, a."type_digits" * 4, NULL) AS int) AS 
CHARACTER_OCTET_LENGTH,
+  cast(sys.ifthenelse(a."type" IN ('varchar','clob','char','json','url','xml') 
AND a."type_digits" > 0, 4 * a."type_digits", NULL) AS bigint) AS 
CHARACTER_OCTET_LENGTH,
   cast(NULL AS varchar(1)) AS CHARACTER_SET_CATALOG,
   cast(NULL AS varchar(1)) AS CHARACTER_SET_SCHEMA,
   cast(sys.ifthenelse(a."type" IN 
('varchar','clob','char','json','url','xml'), 'UTF-8', NULL) AS varchar(16)) AS 
CHARACTER_SET_NAME,
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
@@ -659,7 +659,7 @@ CREATE VIEW INFORMATION_SCHEMA.COLUMNS A
   cast(sys.ifthenelse(c."null", 'YES', 'NO') AS varchar(3)) AS IS_NULLABLE,
   cast(sys."sql_datatype"(c."type", c."type_digits", c."type_scale", true, 
true) AS varchar(1024)) AS DATA_TYPE,
   cast(sys.ifthenelse(c."type" IN ('varchar','clob','char','json','url','xml') 
AND c."type_digits" > 0, c."type_digits", NULL) AS int) AS 
CHARACTER_MAXIMUM_LENGTH,
-  cast(sys.ifthenelse(c."type" IN ('varchar','clob','char','json','url','xml') 
AND c."type_digits" > 0, c."type_digits" * 4, NULL) AS int) AS 
CHARACTER_OCTET_LENGTH,
+  cast(sys.ifthenelse(c."type" IN ('varchar','clob','char','json','url','xml') 
AND c."type_digits" > 0, 4 * c."type_digits", NULL) AS bigint) AS 
CHARACTER_OCTET_LENGTH,
   cast(sys.ifthenelse(c."type" IN 
('int','smallint','tinyint','bigint','hugeint','float','real','double','decimal','numeric','oid'),
 c."type_digits", NULL) AS int) AS NUMERIC_PRECISION,
   cast(sys.ifthenelse(c."type" IN 
('int','smallint','tinyint','bigint','hugeint','float','real','double','oid'), 
2, sys.ifthenelse(c."type" IN ('decimal','numeric'), 10, NULL)) AS int) AS 
NUMERIC_PRECISION_RADIX,
   cast(sys.ifthenelse(c."type" IN 
('int','smallint','tinyint','bigint','hugeint','float','real','double','decimal','numeric','oid'),
 c."type_scale", NULL) AS int) AS NUMERIC_SCALE,
@@ -783,7 +783,7 @@ CREATE VIEW INFORMATION_SCHEMA.ROUTINES 
   cast(NULL AS varchar(1)) AS UDT_NAME,
_______________________________________________
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org

Reply via email to