Go to the first, previous, next, last section, table of contents.
Everything in this list is in the order it will be done. If you want to
affect the priority order, please register a licence or support us and
tell us what you want to have done more quickly. See section Licensing or When do I have/want to pay for MySQL?.
-
Optimized MIN(key) and MAX(key). Needed for sub select.
-
Subqueries. 'select id from t where grp in (select grp from g where u > 100)'
-
FreeBSD and MIT-threads; Do sleeping threads take CPU?
-
Allow join on key parts (optimising issue).
-
Check why 'delete' uses 'record check'
-
Fix that temporary HEAP tables is automatically converted to NISAM if
they get too big. At the moment one gets 'error 135' if one does a query
which has to use a big temporary table.
-
Add EXTRACT function
-
Change conv_blob to handle blob as a text field.
-
Entry for DECRYPT() and ENCRYPT();
-
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.
-
Remember FOREIGN key definitions in the .frm file.
-
Add GET_LOCK and RELEASE_LOCK commands to implement application level
locking. These locks are thought be tagged to a string to allow one to
use it in a very wide range of applications. The locks would be saved
in memory in the server and implemented with mutex for high speed.
-
Optimzie BIT type to take 1 bit (now BIT takes 1 char).
-
Check why MIT-threads 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 a IMAGE option to LOAD DATA INFILE to not update timestamps and auto
increment fields.
-
Demo procedure: analyze
-
HAVING + group functions without alias:
select name from company group by name having count(*) > 1
-
Automatic output from 'mysql' to netscape.
-
LOCK DATABASES. (with various options)
-
NATURAL JOIN
-
Change sort to alloc memory in 'hunks' to get better memory utilisation.
-
Add functions BIN(),HEX() and CONV(number,base)
-
Add functions MAKE_SET(), EXPORT_SET()
-
Implement a table optimiser by a analyze procedure call that returns a
table like show fields with min and max value and the best
MySQL type for that expression.
-
get_changed_tables(timeout,table1,table2,...)
-
Change the protocol to add more bits to field information. For example
AUTO_INCREMENT.
-
Optimize MIN() and MAX() to use keys for quick return.
-
New function: LAST_UPDATED(table_name)
-
Atomic updates; This includes a language that one can even use for
stored procedures.
-
Change reading through tables to use memmap when possible. Now only
compressed tables use memmap.
-
Make a SQL standard GRANT command with MySQL extensions.
-
Change CREATE INDEX to use ALTER TABLE or add secondary indexes.
-
Change DROP INDEX to use ALTER TABLE or use secondary indexes.
-
Add a new privilege 'Show_priv' for 'SHOW' commands.
-
Make the automatic timestamp code nicer. Add timestamps to the update
log with SET TIMESTAMP=#;
-
Optimize the autoincrement code.
-
Use read/write mutex in some places to get more speed.
-
Full foreign key support. One probably wants to implement a procedural
language first.
-
Simple views (first on one table, later on any expression).
-
Add DISTINC qualifier to COUNT(), SUM()...
-
Automatic close some tables if a table, temporary table or temporary files gets
error 23 (Not enough open files).
-
When one finds a field=#, change all occurrence of field to #. Now this
is only done for some simple cases.
-
Change all const expression with calculated expressions if possible.
-
Optimize key = expression. At the moment only key = field or key =
constant are optimised.
-
Join some of the copy functions for nicer code.
-
Change sql_yacc.y to an inline parser to get down it's size and get
better error messages (5 days)
-
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)
-
SQL_OPTION MAX_SELECT_TIME=#to put a time limit on a query.
-
Fix sorting and grouping of blobs (partly solved now).
-
Make the update log to a database.
-
Negative LIMIT to retrieve data from the end.
-
Alarm round client connect/read/write functions.
-
Add own hostname-ip memory table for cached reverse name lookup.
-
Make a mysqld version which isn't multithreaded (2-4 days).
-
Please note the changes to safe_mysqld: 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.
-
Add '--drop' command to mysqldump to start output with a drop of all tables.
-
Better dynamic record layout to avoid fragmentation.
-
UPDATE SET blob=read_blob_from_file('my_gif') where id=1;
-
Add long query count (configurable time limit) to mysqladmin status.
-
Allow sorting on RAND():
SELECT email,RAND() AS ran FROM info ORDER BY ran;
-
Test MySQL with egcs to get more speed on Pentium computers.
Time is given according to amount of work, not real time. TcX's main
business is the use of MySQL not the development of it. But
since TcX is a very flexible company and we have put a lot of resources
into the development of MySQL.
-
Transactions with rollback (we mainly do selects, and because we don't
do transactions we can be much quicker on everything else). We will
support some kind of atomic operations on multiple tables
though. Currently atomic operations can be done with
LOCK
TABLES
/UNLOCK TABLES
but we will make this more automatic in the
future.
Go to the first, previous, next, last section, table of contents.
Casa de Bender