You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Date: 2017-08-29 11:17:33 +0200
From: @mlkersten
To: SQL devs <>
Version: -- development
CC: @njnes
Last updated: 2017-10-26 14:01:41 +0200
Comment 25598
Date: 2017-08-29 11:17:33 +0200
From: @mlkersten
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:55.0) Gecko/20100101 Firefox/55.0
Build Identifier:
Functions that declare and return local tables are not isolated properly.
The DECLARE local table behaves as being a global DDL, which means that
the actual state becomes unpredictable.
A test case is added.
Reproducible: Always
Steps to Reproduce:
CREATE FUNCTION my_generate_series(start INT, finish INT)
RETURNS TABLE (value INT)
BEGIN
DECLARE TABLE tmp_generate_series(value INT);
DECLARE i INT;
SET i = start;
WHILE (i <= finish) DO
INSERT INTO tmp_generate_series VALUES(i);
SET i = i + 1;
END WHILE;
RETURN tmp_generate_series;
END;
explain select count(*) from my_generate_series(1,5) as t1,
my_generate_series(1,100) as t2;
select count() from my_generate_series(1,5) as t1,
my_generate_series(1,100) as t2;
select count() from my_generate_series(1,5) as t1,
my_generate_series(1,100) as t2;
select count(*) from my_generate_series(1,5) as t1,
my_generate_series(1,100) as t2;
re-implemented declared tables, to solve the side-effect bug #6397.
also lots of fixes for the sqllitelogistest_case bug #6335 (doesn't
crash (or run out of memory) anymore).
The text was updated successfully, but these errors were encountered:
Date: 2017-08-29 11:17:33 +0200
From: @mlkersten
To: SQL devs <>
Version: -- development
CC: @njnes
Last updated: 2017-10-26 14:01:41 +0200
Comment 25598
Date: 2017-08-29 11:17:33 +0200
From: @mlkersten
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:55.0) Gecko/20100101 Firefox/55.0
Build Identifier:
Functions that declare and return local tables are not isolated properly.
The DECLARE local table behaves as being a global DDL, which means that
the actual state becomes unpredictable.
A test case is added.
Reproducible: Always
Steps to Reproduce:
CREATE FUNCTION my_generate_series(start INT, finish INT)
RETURNS TABLE (value INT)
BEGIN
DECLARE TABLE tmp_generate_series(value INT);
DECLARE i INT;
SET i = start;
WHILE (i <= finish) DO
INSERT INTO tmp_generate_series VALUES(i);
SET i = i + 1;
END WHILE;
RETURN tmp_generate_series;
END;
explain select count(*) from my_generate_series(1,5) as t1,
my_generate_series(1,100) as t2;
select count() from my_generate_series(1,5) as t1,
my_generate_series(1,100) as t2;
select count() from my_generate_series(1,5) as t1,
my_generate_series(1,100) as t2;
select count(*) from my_generate_series(1,5) as t1,
my_generate_series(1,100) as t2;
Comment 25599
Date: 2017-08-29 11:22:51 +0200
From: MonetDB Mercurial Repository <>
Changeset dc63791e4dc6 made by Martin Kersten mk@cwi.nl in the MonetDB repo, refers to this bug.
For complete details, see https//devmonetdborg/hg/MonetDB?cmd=changeset;node=dc63791e4dc6
Changeset description:
Comment 25638
Date: 2017-09-17 09:45:27 +0200
From: @njnes
reimplementated declared tables. Each call now uses the mal call stack, solving the isolation problem.
Comment 25640
Date: 2017-09-17 18:01:00 +0200
From: MonetDB Mercurial Repository <>
Changeset 9ccae5c8d830 made by Niels Nes niels@cwi.nl in the MonetDB repo, refers to this bug.
For complete details, see https//devmonetdborg/hg/MonetDB?cmd=changeset;node=9ccae5c8d830
Changeset description:
The text was updated successfully, but these errors were encountered: