1
0
mirror of https://github.com/MariaDB/server.git synced 2026-01-06 05:22:24 +03:00
Files
mariadb/sql
unknown a4d840a09c subselect.result, subselect.test:
Added test cases for bug #7351.
item_cmpfunc.cc:
  Fixed bug #7351: incorrect result for a query with a
  subquery returning empty set.
  If in the predicate v IN (SELECT a FROM t WHERE cond)
  v is null, then the result of the predicate is either
  INKNOWN or FALSE. It is FALSE if the subquery returns
  an empty set.
item_subselect.cc:
  Fixed bug #7351: incorrect result for a query with a
  subquery returning empty set.
  The problem was due to not a quite legal transformation
  for 'IN' subqueries. A subquery containing a predicate
  of the form
  v IN (SELECT a FROM t WHERE cond)
  was transformed into
  EXISTS(SELECT a FROM t WHERE cond AND (a=v OR a IS NULL)).
  Yet, this transformation is valid only if v is not null.
  If v is null, then, in the case when
  (SELECT a FROM t WHERE cond) returns an empty set the value
  of the predicate is FALSE, otherwise the result of the
  predicate is INKNOWN.
  The fix resolves this problem by changing the result
  of the transformation to
  EXISTS(SELECT a FROM t WHERE cond AND (v IS NULL OR (a=v OR a IS NULL)))
  in the case when v is nullable.
  The new transformation prevents applying the lookup
  optimization for IN subqueries. To make it still
  applicable we have to introduce guarded access methods.


sql/item_subselect.cc:
  Fixed bug #7351: incorrect result for a query with a
  subquery returning empty set.
  The problem was due to not a quite legal transformation
  for 'IN' subqueries. A subquery containing a predicate
  of the form
  v IN (SELECT a FROM t WHERE cond)
  was transformed into
  EXISTS(SELECT a FROM t WHERE cond AND (a=v OR a IS NULL)).
  Yet, this transformation is valid only if v is not null.
  If v is null, then, in the case when
  (SELECT a FROM t WHERE cond) returns an empty set the value
  of the predicate is FALSE, otherwise the result of the
  predicate is INKNOWN.
  The fix resolves this problem by changing the result
  of the transformation to
  EXISTS(SELECT a FROM t WHERE cond AND (v IS NULL OR (a=v OR a IS NULL)))
  in the case when v is nullable.
  The new transformation prevents applying the lookup
  optimization for IN subqueries. To make it still
  applicable we have to introduce guarded access methods.
sql/item_cmpfunc.cc:
  Fixed bug #7351: incorrect result for a query with a
  subquery returning empty set.
  If in the predicate v IN (SELECT a FROM t WHERE cond)
  v is null, then the result of the predicate is either
  INKNOWN or FALSE. It is FALSE if the subquery returns
  an empty set.
mysql-test/t/subselect.test:
  Added test cases for bug #7351.
mysql-test/r/subselect.result:
  Added test cases for bug #7351.
2004-12-25 19:17:57 -08:00
..
2004-11-12 16:41:53 +01:00
2004-04-05 13:56:05 +03:00
2004-11-09 03:20:58 +02:00
2004-12-07 13:56:48 +03:00
2004-09-13 06:14:25 +04:00
2004-09-01 04:12:09 +03:00
2004-11-08 01:13:54 +02:00
2004-09-13 06:14:25 +04:00
2004-04-07 04:33:58 +03:00
2004-11-26 02:31:22 +02:00
2004-11-26 02:31:22 +02:00
2004-12-14 03:36:19 +03:00
2004-12-07 21:18:15 +02:00
2004-12-14 03:36:19 +03:00
2004-12-07 21:18:15 +02:00
2004-12-14 03:36:19 +03:00
2004-12-10 18:49:36 +01:00
2004-09-15 20:41:49 +02:00
2004-03-25 23:29:45 +02:00
2004-11-08 01:13:54 +02:00
2004-09-15 23:52:46 -07:00
2004-11-02 20:13:27 +02:00
2004-10-06 19:14:33 +03:00
2004-10-06 19:14:33 +03:00
2004-09-07 15:18:53 +02:00
2004-12-14 03:36:19 +03:00
2004-10-27 19:52:41 +03:00
2004-12-10 18:49:36 +01:00
2004-12-13 12:26:28 +00:00
2004-11-08 01:13:54 +02:00
2004-12-14 03:36:19 +03:00
2004-12-14 03:36:19 +03:00
2004-12-13 12:26:28 +00:00
2004-12-13 12:26:28 +00:00
2004-12-13 12:26:28 +00:00
2004-03-30 02:32:41 +03:00
2004-12-14 08:12:04 +00:00
2004-10-06 19:14:33 +03:00
2004-12-18 15:12:10 +00:00
2004-11-08 01:13:54 +02:00
2004-09-04 20:17:09 +02:00
2004-12-18 15:12:10 +00:00
2004-12-13 12:26:28 +00:00
2004-10-06 19:14:33 +03:00
2004-12-11 15:55:50 +03:00
2004-11-08 01:13:54 +02:00
2004-04-26 21:07:14 +02:00