1
0
mirror of https://github.com/MariaDB/server.git synced 2025-11-22 17:44:29 +03:00
Files
mariadb/mysql-test/t
malff/marcsql@weblab.(none) f5ad4eed95 Bug#21904 (parser problem when using IN with a double "(())")
Before this fix, a IN predicate of the form: "IN (( subselect ))", with two
parenthesis, would be evaluated as a single row subselect: if the subselect
returns more that 1 row, the statement would fail.

The SQL:2003 standard defines a special exception in the specification,
and mandates that this particular form of IN predicate shall be equivalent
to "IN ( subselect )", which involves a table subquery and works with more
than 1 row.

This fix implements "IN (( subselect ))", "IN ((( subselect )))" etc
as per the SQL:2003 requirement.

All the details related to the implementation of this change have been
commented in the code, and the relevant sections of the SQL:2003 spec
are given for reference, so they are not repeated here.

Having access to the spec is a requirement to review in depth this patch.
2007-01-29 17:32:52 -07:00
..
2006-11-20 22:42:06 +02:00
2006-11-20 22:42:06 +02:00
2006-11-20 22:42:06 +02:00
2006-11-20 22:42:06 +02:00
2006-11-20 22:42:06 +02:00
2006-11-20 22:42:06 +02:00
2006-11-20 22:42:06 +02:00
2006-11-20 22:42:06 +02:00
2006-11-20 22:42:06 +02:00
2006-08-21 14:20:03 +04:00
2006-11-20 22:42:06 +02:00
2006-11-20 22:42:06 +02:00
2006-12-04 14:05:27 +03:00
2006-11-17 10:30:16 +04:00
2006-11-20 22:42:06 +02:00
2006-11-21 16:57:23 +03:00
2006-09-21 00:59:48 +02:00
2006-11-20 22:42:06 +02:00
2006-12-11 18:52:24 -07:00
2006-11-20 22:42:06 +02:00
2006-08-30 13:20:39 -07:00
2006-08-30 13:20:39 -07:00
2006-08-30 13:20:39 -07:00
2006-08-30 13:20:39 -07:00
2006-08-30 13:20:39 -07:00
2006-11-20 22:42:06 +02:00
2006-11-20 22:42:06 +02:00
2006-10-05 12:41:26 +02:00