One way replication
select id from t where grp in (select grp from g where u > 100)
mysqld to support many character sets at the same time.
If you perform an
ALTER TABLE on a table that is symlinked to another
disk, create temporary tables on this disk.
RENAME table as table, table as table [,...]
FreeBSD and MIT-pthreads; Do sleeping threads take CPU?
Allow join on key parts (optimization issue).
FOREIGN key definitions in the `.frm' file.
Server side cursors.
Allow users to change startup options.
Add --ansi option to MySQL (to change || -> CONCAT())
Don't add automatic
DEFAULT values to columns. Give an error when using
INSERT that doesn't contain a column that doesn't have a
Caching of queries and results. This should be done as a separated
module that examines each query and if this is query is in the cache
the cached result should be returned. When one updates a table one
should remove as few queries as possible from the cache.
This should give a big speed bost on machines with much RAM where
queries are often repeated (like WWW applications).
One idea would be to only cache queries of type:
SELECT CACHED ....
Fix `libmysql.c' to allow two
mysql_query() commands in a row
without reading results or give a nice error message when one does this.
BIT type to take 1 bit (now
BIT takes 1 char).
Check why MIT-pthreads
ctime() doesn't work on some FreeBSD systems.
Check if locked threads take any CPU.
ORDER BY to update. This would be handy with functions like:
IMAGE option to
LOAD DATA INFILE to not update
LOAD DATA INFILE understand a syntax like:
LOAD DATA INFILE 'file_name.txt' INTO TABLE tbl_name
TEXT_FIELDS (text_field1, text_field2, text_field3)
SET table_field1=concatenate(text_field1, text_field2), table_field3=23
VARCHAR support (There is already support for this in MyISAM).
Automatic output from
mysql to netscape.
LOCK DATABASES. (with various options)
Change sort to allocate memory in ``hunks'' to get better memory utilization.
NUMERIC types can't read exponential numbers;
Field_decimal::store(const char *from,uint len) must be recoded
to fix this.
mysql.cc to do fewer
malloc() calls when hashing field
ADD_TO_SET(value,set) and REMOVE_FROM_SET(value,set)
Add use of
t1 JOIN t2 ON ... and
t1 JOIN t2 USING ...
Currently, you can only use this syntax with
Add full support for
unsigned long long type.
Many more variables for
show status. Counts for:
UPDATE statements. Records reads and
updated. Selects on 1 table and selects with joins. Mean number of
tables in select. Key buffer read/write hits (logical and real).
GROUP BY, temporary tables created.
If you abort
mysql in the middle of a query, you should open
another connection and kill the old running query.
Alternatively, an attempt should be made to detect this in the server.
Add a handler interface for table information so you can use it as a system
table. This would be a bit slow if you requested information about all tables,
but very flexible.
SHOW INFO FROM tbl_name for basic table information
should be implemented.
Add support for UNICODE.
CONNECT BY PRIOR ... to search hierarchy structures.
mysqladmin copy database new-database.
Processlist should show number of queries/thread.
IGNORE option to the
UPDATE statement (this will delete
all rows that gets a dupplicate key error while updating).
Change the format of
DATETIME to store fractions of seconds.
Add all missing ANSI92 and ODBC 3.0 types.
Change table names from empty strings to
NULL for calculated columns.