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: 2014-03-28 17:31:18 +0100
From: Martin van Dinther <<martin.van.dinther>>
To: SQL devs <>
Version: 11.17.9 (Jan2014)
CC: @njnes
Last updated: 2014-05-22 09:52:29 +0200
Comment 19715
Date: 2014-03-28 17:31:18 +0100
From: Martin van Dinther <<martin.van.dinther>>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:27.0) Gecko/20100101 Firefox/27.0
Build Identifier:
The SQL query:
SELECT * FROM SYS.ARGS
WHERE FUNC_ID NOT IN (SELECT * FROM SYS.FUNCTIONS)
is accepted by MonetDB and even executed!
However the where-clause is invalid as
SELECT * FROM SYS.FUNCTIONS
returns multiple columns which cannot be mapped to 1 col: FUNC_ID
This invalid SQL query should be detected by the SQL parser/executor and reported as an SQL error.
Instead MonetDB executes it returns 3401 rows, same data as when executing:
SELECT * FROM SYS.ARGS;
Reproducible: Always
Steps to Reproduce:
start mserver5
start SQuirreL connecting to demo database
execute SQL query:
SELECT * FROM SYS.ARGS
WHERE FUNC_ID NOT IN (SELECT * FROM SYS.FUNCTIONS)
Actual Results:
MonetDB executes it returns 3401 rows.
Same data as when executing: SELECT * FROM SYS.ARGS;
Expected Results:
An SQL syntax error (invalid subquery as it returns more than 1 col)
The correct SQL query:
SELECT * FROM SYS.ARGS
WHERE FUNC_ID NOT IN (SELECT ID FROM SYS.FUNCTIONS)
works fine and returns 0 rows as expected.
Date: 2014-03-28 17:31:18 +0100
From: Martin van Dinther <<martin.van.dinther>>
To: SQL devs <>
Version: 11.17.9 (Jan2014)
CC: @njnes
Last updated: 2014-05-22 09:52:29 +0200
Comment 19715
Date: 2014-03-28 17:31:18 +0100
From: Martin van Dinther <<martin.van.dinther>>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:27.0) Gecko/20100101 Firefox/27.0
Build Identifier:
The SQL query:
SELECT * FROM SYS.ARGS
WHERE FUNC_ID NOT IN (SELECT * FROM SYS.FUNCTIONS)
is accepted by MonetDB and even executed!
However the where-clause is invalid as
SELECT * FROM SYS.FUNCTIONS
returns multiple columns which cannot be mapped to 1 col: FUNC_ID
This invalid SQL query should be detected by the SQL parser/executor and reported as an SQL error.
Instead MonetDB executes it returns 3401 rows, same data as when executing:
SELECT * FROM SYS.ARGS;
Reproducible: Always
Steps to Reproduce:
SELECT * FROM SYS.ARGS
WHERE FUNC_ID NOT IN (SELECT * FROM SYS.FUNCTIONS)
Actual Results:
MonetDB executes it returns 3401 rows.
Same data as when executing: SELECT * FROM SYS.ARGS;
Expected Results:
An SQL syntax error (invalid subquery as it returns more than 1 col)
The correct SQL query:
SELECT * FROM SYS.ARGS
WHERE FUNC_ID NOT IN (SELECT ID FROM SYS.FUNCTIONS)
works fine and returns 0 rows as expected.
Comment 19718
Date: 2014-03-29 14:20:50 +0100
From: @njnes
properly check correct types (ie also number of columns should match)
Comment 19721
Date: 2014-03-29 14:24:04 +0100
From: MonetDB Mercurial Repository <>
Changeset c5338ccd7803 made by Niels Nes niels@cwi.nl in the MonetDB repo, refers to this bug.
For complete details, see http//devmonetdborg/hg/MonetDB?cmd=changeset;node=c5338ccd7803
Changeset description:
The text was updated successfully, but these errors were encountered: