Commit 65d4c846 authored by monty@hundin.mysql.fi's avatar monty@hundin.mysql.fi
Browse files

Fixed problem with t1 LEFT_JOIN t2 ... WHERE t2.date_column IS NULL when...

Fixed problem with t1 LEFT_JOIN t2 ... WHERE t2.date_column IS NULL when date_column is declared as NOT NULL.
parent 8cd4c235
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -303,3 +303,5 @@ support-files/mysql.server
support-files/mysql.spec
tags
tmp/*
bdb/include/db_ext.h
bdb/include/mutex_ext.h
+1 −1
Original line number Diff line number Diff line
@@ -48,7 +48,7 @@ fast_cflags="-O3 -fno-omit-frame-pointer"
# this is one is for someone who thinks 1% speedup is worth not being
# able to backtrace
reckless_cflags="-O3 -fomit-frame-pointer "
debug_cflags="-DEXTRA_DEBUG -DFORCE_INIT_OF_VARS -DSAFEMALLOC -DSAFE_MUTEX -O0"
debug_cflags="-DEXTRA_DEBUG -DFORCE_INIT_OF_VARS -DSAFEMALLOC -DSAFE_MUTEX -O1"

base_cxxflags="-felide-constructors -fno-exceptions -fno-rtti"

+3 −0
Original line number Diff line number Diff line
@@ -46844,6 +46844,9 @@ not yet 100% confident in this code.
@appendixsubsec Changes in release 3.23.45
@itemize @bullet
@item
Fixed problem with @code{t1 LEFT_JOIN t2 ... WHERE t2.date_column IS NULL} when
date_column was declared as @code{NOT NULL}.
@item
Fixed bug with BDB tables and keys on @code{BLOB}'s.
@item
Fixed bug in @code{MERGE} tables on OS with 32 bit file pointers.
+5 −0
Original line number Diff line number Diff line
@@ -22,3 +22,8 @@ a
2
a	a	b
2	2	3
d	d
2001-08-01	NULL
0000-00-00	NULL
d
0000-00-00
+11 −3
Original line number Diff line number Diff line
@@ -106,9 +106,17 @@ INSERT INTO t1 VALUES (1,1),(1,2),(1,3),(1,4),(1,5),(1,6),(1,7),(2,3);
CREATE TABLE t2 (
  a int(11) default NULL
) TYPE=MyISAM;
 
INSERT INTO t2 VALUES (2),(3);
 
SELECT t1.a,t2.a,b FROM t1,t2 WHERE t1.a=t2.a AND (t1.a=1 OR t1.a=2) AND b>=1 AND b<=3;
DROP TABLE t1, t2;

#
# TEST LEFT JOIN with DATE columns
#

CREATE TABLE t1 (d DATE NOT NULL);
CREATE TABLE t2 (d DATE NOT NULL);
INSERT INTO t1 (d) VALUES ('2001-08-01'),('0000-00-00');
SELECT * FROM t1 LEFT JOIN t2 USING (d) WHERE t2.d IS NULL;
SELECT * from t1 WHERE t1.d IS NULL;
DROP TABLE t1,t2;
Loading