1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

Add support for NULL=NULL in keys (Used in GROUP BY optimization)

Add ISAM to Windows version
Fix of test results
Fixes for NULL keys in HEAP tables.


Docs/manual.texi:
  Changelog
heap/hp_open.c:
  Add support for NULL=NULL in keys (for GROUP BY)
heap/hp_rkey.c:
  Cleanup
heap/hp_write.c:
  Cleanup
include/config-win.h:
  Add ISAM to Windows version
include/my_base.h:
  Add support for NULL=NULL in keys (for GROUP BY)
libmysqld/Makefile.am:
  Rename of innobase to innodb
myisam/mi_write.c:
  Add support for NULL=NULL in keys (for GROUP BY)
BitKeeper/etc/ignore:
  Added libmysqld/ha_innodb.cc to the ignore list
mysql-test/r/group_by.result:
  Test of NULL keys in HEAP tables
mysql-test/r/heap.result:
  Test of NULL keys in HEAP tables
mysql-test/r/null.result:
  Cleanup
mysql-test/r/order_by.result:
  Fix for result of new ORDER BY optimization
mysql-test/t/group_by.test:
  Test of NULL keys in HEAP tables
mysql-test/t/heap.test:
  Test of NULL keys in HEAP tables
mysql-test/t/null.test:
  Cleanup
sql/ha_heap.cc:
  Add support of NULL keys
sql/item_strfunc.h:
  Fix for BINARY and CAST functions
sql/item_timefunc.h:
  Fix for BINARY and CAST functions
sql/sql_parse.cc:
  Cleanup
sql/sql_select.cc:
  Add support for NULL=NULL in keys (for GROUP BY)
This commit is contained in:
unknown
2002-01-16 00:42:52 +02:00
parent 71a5af5b52
commit f015cbdc7e
21 changed files with 298 additions and 104 deletions

View File

@ -165,3 +165,29 @@ explain select * from t1 where btn="a" and new_col="a";
table type possible_keys key key_len ref rows Extra
t1 ref btn btn 11 const,const 10 where used
drop table t1;
CREATE TABLE t1 (
a int default NULL,
b int default NULL,
KEY a (a),
UNIQUE b (b)
) type=heap;
INSERT INTO t1 VALUES (NULL,99),(99,NULL),(1,1),(2,2),(1,3);
SELECT * FROM t1 WHERE a=NULL;
a b
explain SELECT * FROM t1 WHERE a IS NULL;
table type possible_keys key key_len ref rows Extra
t1 ref a a 5 const 10 where used
SELECT * FROM t1 WHERE a<=>NULL;
a b
NULL 99
SELECT * FROM t1 WHERE b=NULL;
a b
explain SELECT * FROM t1 WHERE b IS NULL;
table type possible_keys key key_len ref rows Extra
t1 ref b b 5 const 1 where used
SELECT * FROM t1 WHERE b<=>NULL;
a b
99 NULL
INSERT INTO t1 VALUES (1,3);
Duplicate entry '3' for key 1
DROP TABLE t1;