Functionality added or changed:
localhost
.
REPAIR
of MyISAM tables now uses less temporary disk space when
sorting char columns.
DATE
/DATETIME
checking is now a bit stricter to support the
ability to automatically distinguish between date, datetime, and time
with microseconds. For example, dates of type YYYYMMDD HHMMDD
are no
longer supported; one must either have separators between each
DATE
/TIME
part or not at all.
help
week
in the mysql
client and get help for the week()
function.
mysql_get_server_version()
.
record_in_range()
method to MERGE
tables to be
able to choose the right index when there are many to choose from.
RAND()
and user variables @var
.
ANSI_QUOTES
on the fly.
EXPLAIN SELECT
now can be killed. See section 4.5.6 KILL
Syntax.
REPAIR TABLE
now can be killed. See section 4.5.6 KILL
Syntax.
USE|IGNORE|FORCE INDEX
.
DROP TEMPORARY TABLE
now only drops temporary tables and doesn't
end transactions.
UNION
in derived tables.
TIMESTAMP
is now returned as a string of type
'YYYY-MM-DD HH:MM:SS'
and different timestamp lengths are not supported.
This change was necessary for SQL standards compliance. In a future
version, a further change will be made (backward compatible with this
change), allowing the timestamp length to indicate the desired number
of digits of fractions of a second.
MYSQL_FIELD
structure.
CREATE TABLE foo (a INT not null primary key)
the
PRIMARY
word is now optional.
CREATE TABLE
the attribute SERIAL
is now an alias for
BIGINT NOT NULL AUTO_INCREMENT UNIQUE
.
SELECT ... FROM DUAL
is an alias for SELECT ...
.
(To be compatible with some other databases).
CHAR
/VARCHAR
it's now
automatically changed to TEXT
or BLOB
; One will get a
warning in this case.
BLOB
/TEXT
types with the
syntax BLOB(length)
and TEXT(length)
. MySQL will
automatically change it to one of the internal BLOB
/TEXT
types.
CHAR BYTE
is an alias for CHAR BINARY
.
VARCHARACTER
is an alias for VARCHAR
.
integer MOD integer
and integer DIV integer
.
SERIAL DEFAULT VALUE
added as an alias for AUTO_INCREMENT
.
TRUE
and FALSE
added as alias for 1 and 0, respectively.
SELECT .. LIMIT 0
to return proper row count for
SQL_CALC_FOUND_ROWS
.
--tmpdir=dirname1:dirname2:dirname3
.
SELECT * from t1 where t1.a=(SELECT t2.b FROM t2)
.
SELECT a.col1, b.col2 FROM (SELECT MAX(col1) AS col1 FROM root_table) a, other_table b WHERE a.col1=b.col1;
BTREE
index on HEAP
tables.
CREATE TABLE
.
SHOW FULL COLUMNS FROM table_name
shows column comments.
ALTER DATABASE
.
SHOW [COUNT(*)] WARNINGS
shows warnings from the last command.
CREATE TABLE
... SELECT
by defining the column in the CREATE
part.
CREATE TABLE foo (a tinyint not null) SELECT b+1 AS 'a' FROM bar;
expr SOUNDS LIKE expr
same as SOUNDEX(expr)=SOUNDEX(expr)
.
VARIANCE(expr)
returns the variance of expr
CREATE
[TEMPORARY] TABLE [IF NOT EXISTS] table (LIKE table)
. The table can
be either normal or temporary.
--reconnect
and disable-reconnect
for the
mysql
client, to reconnect automatically or not if the
connection is lost.
START SLAVE
(STOP SLAVE
) no longer returns an error
if the slave is already started (stopped); it returns a
warning instead.
SLAVE START
and SLAVE STOP
are no longer accepted by the query
parser; use START SLAVE
and STOP SLAVE
instead.
Posted by [name withheld] on Tuesday November 26 2002, @4:22pm | [Delete] [Edit] |
It would be nice if more attention were spent on the
embedded server; there are many people who I'm
sure aren't quite satiated with level of progress at
the moment...a shared library (DLL) would be
helpful, for instance. Also, it'd be useful if an
embedded server could be accessed via TCP/IP or
sockets (this would be a compile-time option, so as
not to bloat the normal version).
Posted by Mark Fleeson on Wednesday January 22 2003, @3:35pm | [Delete] [Edit] |
I would like to encourage the work on the primary linux server first, not the embedded one (with reference to the previous comment). As a user of mysql since it's first version to get sub-select into a production version would be fantastic. We're currently a very large user of replication, one master - 18 slaves, getting the reliability of 4.1 will be great. Please keep up the good work.
Thanks
Mark
www.cd-wow.com
Posted by neil on Sunday February 9 2003, @1:48pm | [Delete] [Edit] |
I think that the change in TIMESTAMP format was unfortunate. The first I knew about it was when my hosting company upgraded the server last week (they didn't tell me of course) - I got a call about my sites yesterday. Lots of scripts either threw up errors or didn't display properly. Having just tracked this down, I have a lot of work to do this week trying to fix stuff.
Posted by gabriel on Wednesday March 19 2003, @1:16pm | [Delete] [Edit] |
More advanced REPLICATION is also important to me, and my company.
Posted by Chris Lamb on Tuesday March 25 2003, @9:20am | [Delete] [Edit] |
I am cheered by the very needed inclusion of subqueries and derived tables. Very badly missed by myself, particularly. I am not demanding flawless,enterprise resilience - I find MySQL handles my web apps very well, and the featureset being enhanced is a great benefit.
Posted by Derek Gabriel on Wednesday April 9 2003, @8:45pm | [Delete] [Edit] |
Bravo gentlemen! Keep up the great work.
Posted by Ludger Kluitmann on Wednesday April 9 2003, @11:33pm | [Delete] [Edit] |
You did a great job. In reference to previous messages I agree. The most important things are advanced replication, sub queries and derived tables.
Posted by Adam Sanderson on Wednesday April 23 2003, @4:47pm | [Delete] [Edit] |
Just wanted to mention that adding sub selects will be greatly appreciated. They're very usefull for multi step data processing tasks.
I hope 4.1 reaches some level of stability soon :)
.netghost
Posted by Joeri Willems on Thursday May 15 2003, @7:16am | [Delete] [Edit] |
Great addition of the awaited subqueries!!
But oh nooo, now i finally worked out an update that makes use of them, and now suddenly i spot the TIMESTAMP 'bug'. I'm completely in trouble now, as i am running MySQL on a Windows host, and there is no ODBC driver out yet that can 'read' the new TIMESTAMPS... Please upload the compatible ODBC driver to the database!
Posted by cesaralcaide on Thursday May 22 2003, @1:50am | [Delete] [Edit] |
Enhorabuena. Estabamos esperando las SUBQUERIES para poner MySQL en producción. Muchas gracias al equipo de desarrollo.
English: thanks very much, mysql development team
Posted by [name withheld] on Tuesday July 22 2003, @11:41pm | [Delete] [Edit] |
Please enable setting AUTOCOMMIT on database startup!