| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Oracle-like CONNECT BY PRIOR ... to search tree-like (hierarchical)
structures.
Add all missing standard SQL and ODBC 3.0 types.
Add SUM(DISTINCT).
INSERT SQL_CONCURRENT and mysqld --concurrent-insert to do
a concurrent insert at the end of a table if the table is read-locked.
Allow variables to be updated in UPDATE statements. For example:
UPDATE TABLE foo SET @a=a+b,a=@a, b=@a+c.
Change when user variables are updated so that you can use them with
GROUP BY, as in the following example:
SELECT id, @a:=COUNT(*), SUM(sum_col)/@a FROM tbl_name GROUP BY id.
Add an IMAGE option to LOAD DATA INFILE to not update
TIMESTAMP and AUTO_INCREMENT fields.
Add LOAD DATA INFILE ... UPDATE syntax that works like this:
For tables with primary keys, if an input record contains a primary key value, existing rows matching that primary key value are updated from the remainder of the input columns. However, columns corresponding to columns that are missing from the input record are not touched.
For tables with primary keys, if an input record does not contain the primary
key value or is missing some part of the key, the record is treated as
LOAD DATA INFILE ... REPLACE INTO.
Make LOAD DATA INFILE understand syntax like:
LOAD DATA INFILE 'file_name.txt' INTO TABLE tbl_name
TEXT_FIELDS (text_field1, text_field2, text_field3)
SET table_field1=CONCAT(text_field1, text_field2),
table_field3=23
IGNORE text_field3
|
This can be used to skip over extra columns in the text file, or update columns based on expressions of the read data.
New functions for working with SET type columns:
ADD_TO_SET(value,set)
REMOVE_FROM_SET(value,set)
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 storage engine interface for table information so that 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.
Allow SELECT a FROM tbl_name1 LEFT JOIN tbl_name2 USING (a); in this
case a is assumed to come from the tbl_name1 table.
DELETE and REPLACE options to the UPDATE statement
(this will delete rows when a duplicate-key error occurs while updating).
Change the format of DATETIME to store fractions of seconds.
Make it possible to use the new GNU regexp library instead of the current
one (the new library should be much faster than the current one).
Don't add automatic DEFAULT values to columns. Produce an error for
any INSERT statement that is missing a value for a column that has no
DEFAULT.
Add ANY(), EVERY(), and SOME() group functions. In
standard SQL, these work only on boolean columns, but we can extend these to
work on any columns or expressions by treating 0 values as FALSE and non-zero
values as TRUE.
Fix the type of MAX(column) to be the same as the column type:
mysql> CREATE TABLE t1 (a DATE); mysql> INSERT INTO t1 VALUES (NOW()); mysql> CREATE TABLE t2 SELECT MAX(a) FROM t1; mysql> SHOW COLUMNS FROM t2; |
Don't allow more than a defined number of threads to run MyISAM
recovery at the same time.
Change INSERT ... SELECT to optionally use concurrent inserts.
Add an option to periodically flush key pages for tables with delayed keys if they haven't been used in a while.
Allow join on key parts (optimization issue).
Add a log file analyzer that can parse out information about which tables are hit most often, how often multiple-table joins are executed, and so on. This should help users identify areas of table design that could be optimized to execute much more efficient queries.
Return the original column types when doing
SELECT MIN(column) ... GROUP BY.
Make it possible to specify long_query_time with a granularity
in microseconds.
Link the myisampack code into the server so that it can perform
PACK or COMPRESS operations.
Add a temporary key buffer cache during INSERT/DELETE/UPDATE so that we
can gracefully recover if the index file gets full.
If you perform an ALTER TABLE on a table that is symlinked to another
disk, create temporary tables on that disk.
Implement a DATE/DATETIME type that handles time zone information
properly, to make dealing with dates in different time zones easier.
Fix configure so that all libraries (like MyISAM)
can be compiled without threads.
Allow SQL variables as LIMIT arguments; for example,
LIMIT @a,@b.
Automatic output from mysql to a Web browser.
LOCK DATABASES (with various options).
Many more variables for SHOW STATUS. Records reads and
updates. Selects on a single table and selects with joins. Mean number of
tables in select. Number of ORDER BY and GROUP BY queries.
mysqladmin copy database new-database; this requires a COPY
operation to be added to mysqld.
Processlist output should indicate the number of queries/threads.
SHOW HOSTS for printing information about the hostname cache.
Change table names from empty strings to NULL for calculated columns.
Don't use Item_copy_string on numerical values to avoid
number->string->number conversion in case of:
SELECT COUNT(*)*(id+0) FROM tbl_name GROUP BY id
Change so that ALTER TABLE doesn't abort clients
that execute INSERT DELAYED.
Fix so that when columns are referenced in an UPDATE clause,
they contain the old values from before the update started.
Port the MySQL clients to LynxOS.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This document was generated on July, 26 2004 using texi2html 1.70.