1
0
mirror of https://github.com/MariaDB/server.git synced 2025-11-21 06:21:35 +03:00
Files
mariadb/sql
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-17 10:30:16 +04:00
2006-11-17 10:30:16 +04: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-17 10:30:16 +04:00
2006-11-17 10:30:16 +04:00
2006-11-17 10:30:16 +04:00
2006-10-03 20:28:59 +02:00
2006-11-28 18:08:30 +01:00
2006-09-01 10:32:12 +02:00
2006-11-20 22:42:06 +02:00
2006-11-20 22:42:06 +02:00
2006-07-08 04:07:43 +04:00
2006-06-27 00:47:52 +04:00
2006-11-20 22:42:06 +02:00
2006-11-20 22:42:06 +02:00
2006-08-21 16:21:48 +04:00
2006-10-18 00:14:14 +04:00
2006-09-27 19:21:29 +05: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-06-14 23:54:08 +04:00
2006-11-27 16:25:52 +01:00
2006-10-31 17:31:56 -08:00
2006-11-20 22:42:06 +02:00
2006-11-20 22:42:06 +02:00