 |

-
One way replication
-
Transactions
-
Subqueries.
select id from t where grp in (select grp from g where u > 100)
-
Allow
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).
-
Entry for
DECRYPT() .
-
Remember
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
an INSERT that doesn't contain a column that doesn't have a
DEFAULT .
-
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.
-
Optimize
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.
-
Add
ORDER BY to update. This would be handy with functions like:
generate_id(start,step) .
-
Add an
IMAGE option to LOAD DATA INFILE to not update
TIMESTAMP and AUTO_INCREMENT fields.
-
Make
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
IGNORE text_field3
-
Add true
VARCHAR support (There is already support for this in MyISAM).
-
Automatic output from
mysql to netscape.
-
LOCK DATABASES . (with various options)
-
NATURAL JOIN .
-
Change sort to allocate memory in ``hunks'' to get better memory utilization.
-
DECIMAL and NUMERIC types can't read exponential numbers;
Field_decimal::store(const char *from,uint len) must be recoded
to fix this.
-
Fix
mysql.cc to do fewer malloc() calls when hashing field
names.
-
Functions:
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 LEFT JOIN .
-
Add full support for
unsigned long long type.
-
Function
CASE .
-
Many more variables for
show status . Counts for:
INSERT /DELETE /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).
ORDER BY , 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.
-
NATURAL JOIN .
-
Oracle like
CONNECT BY PRIOR ... to search hierarchy structures.
-
RENAME DATABASE
-
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.
|