Implement function: get_changed_tables(timeout,table1,table2,...).
Change reading through tables to use memmap when possible. Now only compressed tables use memmap.
Make the automatic timestamp code nicer. Add timestamps to the update log with SET TIMESTAMP=#;.
Use read/write mutex in some places to get more speed.
Simple views (implemented in stepwise fashion up to full functionality). See ANSI diff Views.
Automatically close some tables if a table, temporary table, or temporary file gets error 23 (too many open files).
Better constant propagation. When an occurrence of col_name=n is found in an expression, for some constant n, replace other occurrences of col_name within the expression with n. Currently, this is done only for some simple cases.
Change all const expressions with calculated expressions if possible.
Optimize key = expression comparisons. At the moment only key = field or key = constant comparisons are optimized.
Join some of the copy functions for nicer code.
Change sql_yacc.yy to an inline parser to reduce its size and get better error messages.
Change the parser to use only one rule per different number of arguments in function.
Use of full calculation names in the order part (for ACCESS97).
MINUS, INTERSECT, and FULL OUTER JOIN. (Currently UNION [in 4.0] and LEFT|RIGHT OUTER JOIN are supported.)
Allow SQL_OPTION MAX_SELECT_TIME=#, for placing a time limit on a query.
Allow updates to be logged to a database.
Enhance LIMIT to allow retrieval of data from the end of a result set.
Alarm around client connect/read/write functions.
Please note the changes to mysqld_safe: according to FSSTND (which Debian tries to follow) PID files should go into /var/run/<progname>.pid and log files into /var/log. It would be nice if you could put the "DATADIR" in the first declaration of "pidfile" and "log", so the placement of these files can be changed with a single statement.
Allow a client to request logging.
Allow the LOAD DATA INFILE statement to read files that have been compressed with gzip.
Fix sorting and grouping of BLOB columns (partly solved now).
Change to use semaphores when counting threads. One should first implement a semaphore library for MIT-pthreads.
Add full support for JOIN with parentheses.
As an alternative to the one-thread-per-connection model, manage a pool of threads to handle queries.
Allow GET_LOCK() to obtain more than one lock. When doing this, one must also handle the possible deadlocks this change will introduce.