1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-27 18:02:13 +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

@ -557,9 +557,9 @@ pthread_handler_decl(handle_one_connection,arg)
pthread_detach_this_thread();
#if !defined( __WIN__) && !defined(OS2) /* Win32 calls this in pthread_create */
if (my_thread_init()) // needed to be called first before we call
// DBUG_ macros
#if !defined( __WIN__) && !defined(OS2) // Win32 calls this in pthread_create
// The following calls needs to be done before we call DBUG_ macros
if (my_thread_init())
{
close_connection(&thd->net,ER_OUT_OF_RESOURCES);
statistic_increment(aborted_connects,&LOCK_thread_count);
@ -568,13 +568,13 @@ pthread_handler_decl(handle_one_connection,arg)
}
#endif
// handle_one_connection() is the only way a thread would start
// and would always be on top of the stack
// therefore, the thread stack always starts at the address of the first
// local variable of handle_one_connection, which is thd
// we need to know the start of the stack so that we could check for
// stack overruns
/*
handle_one_connection() is the only way a thread would start
and would always be on top of the stack, therefore, the thread
stack always starts at the address of the first local variable
of handle_one_connection, which is thd. We need to know the
start of the stack so that we could check for stack overruns.
*/
DBUG_PRINT("info", ("handle_one_connection called by thread %d\n",
thd->thread_id));
// now that we've called my_thread_init(), it is safe to call DBUG_*
@ -634,12 +634,12 @@ pthread_handler_decl(handle_one_connection,arg)
if (net->error && net->vio != 0)
{
if (!thd->killed && opt_warnings)
sql_print_error(ER(ER_NEW_ABORTING_CONNECTION),
thd->thread_id,(thd->db ? thd->db : "unconnected"),
thd->user ? thd->user : "unauthenticated",
thd->host_or_ip,
(net->last_errno ? ER(net->last_errno) :
ER(ER_UNKNOWN_ERROR)));
sql_print_error(ER(ER_NEW_ABORTING_CONNECTION),
thd->thread_id,(thd->db ? thd->db : "unconnected"),
thd->user ? thd->user : "unauthenticated",
thd->host_or_ip,
(net->last_errno ? ER(net->last_errno) :
ER(ER_UNKNOWN_ERROR)));
send_error(net,net->last_errno,NullS);
thread_safe_increment(aborted_threads,&LOCK_thread_count);
}
@ -1216,7 +1216,6 @@ mysql_execute_command(void)
#endif
}
thread_safe_increment(com_stat[lex->sql_command],&LOCK_thread_count);
/*
Skip if we are in the slave thread, some table rules have been given
and the table list says the query should not be replicated