PDA

View Full Version : MySQL 4.0 (Alpha) released


Chris Schreiber
Mon 15th Oct '01, 11:20pm
Hi!

MySQL 4.0.0-alpha is now available at:
http://www.mysql.com/downloads/mysql-4.0.html

You can find information about upgrading from MySQL 3.23 to 4.0 at:
http://www.mysql.com/doc/U/p/Upgrading-from-3.23.html

The MySQL 4.0 release includes a lot of new exciting features, like
MySQL as an embedded library, InnoDB (transactions) as standard table
type, UNION, multi table delete and much more.

MySQL 4.0 is basically a 'reconstruction release' that will enable us to
easier add new features to MySQL in the future. The intention is to
quickly add features list at:

http://www.mysql.com/doc/T/O/TODO_MySQL_4.0.html

and then start to work on the 4.1 branch while 4.0 stabilizes.

Changes in release 4.0.0
------------------------

* Added documentation for `libmysqld', the embedded MySQL server
library. Also added example programs (a `mysql' client and
`mysqltest' test program) which use `libmysqld'.

* Removed all Gemini hooks from MySQL.

* Removed `my_thread_init()' and `my_thread_end()' from mysql_com.h,
and added `mysql_thread_init()' and `mysql_thread_end()' to
mysql.h.

* Secure connections (with SSL).

* Unsigned `BIGINT' constants now work. `MIN()' and `MAX()' now
handles signed and unsigned `BIGINT' numbers correctly.

* New character set `latin_de' which provides correct German sorting.

* `TRUNCATE TABLE' and `DELETE FROM table_name' are now separate
functions. One bonus is that `DELETE FROM table_name' now returns
the number of deleted rows.

* `DROP DATABASE' now executes a `DROP TABLE' on all tables in the
database, which fixes a problem with InnoDB tables.

* Added support for `UNION'.

* A new `HANDLER' interface to `MyISAM' tables.

* Added support for `INSERT' on `MERGE' tables. Patch from Benjamin
Pflugmann.

* Changed `WEEK(#,0)' to match the calender in the USA.

* `COUNT(DISTINCT)' is about 30% faster.

* Speed up all internal list handling.

* Speed up `IS NULL()' and some other internal primitives.

* Creating full text indexes are now much faster.

* Tree-like cache to speed up bulk inserts and
`myisam_bulk_insert_tree_size' variable.

* Searching on packed (`CHAR'/`VARCHAR') keys are now much faster.

* Optimized queries of type: `SELECT DISTINCT * from table_name
ORDER by key_part1 LIMIT #'

* `SHOW CREATE TABLE' now shows all table attributes.

* `ORDER BY ... DESC' can now use keys.

* `LOAD DATA FROM MASTER' "auto-magically" sets up a slave.

* Renamed `safe_mysqld' to `mysqld_safe'.

* Added support for symbolic links to `MyISAM' tables. Symlink
handling is now enabled by default for Windows.

* `LOAD DATA FROM MASTER' "auto-magically" sets up a slave.

* Added `SQL_CALC_FOUND_ROWS' and `FOUND_ROWS()'. This makes it
possible to know how many rows a query would have returned without
a `LIMIT' clause.

* Changed output format of `SHOW OPEN TABLES'.

* Allow `SELECT expression LIMIT ...'.

* Added `IDENTITY' as a synonym for `AUTO_INCREMENT' (like Sybase).

* Added `ORDER BY' syntax to `UPDATE' and `DELETE'.

* `SHOW INDEXES' is now a synonym for `SHOW INDEX'.

* Added `ALTER TABLE table_name DISABLE KEYS' and `ALTER TABLE
table_name ENABLE KEYS' commands.

* Allow one to use `IN' instead of `FROM' in `SHOW' commands.

* Allow ANSI SQL syntax `X'hexadecimal-number''

* Cleaned up global lock handling for `FLUSH TABLES WITH READ LOCK'

* Fixed problem with `DATETIME = constant' in `WHERE' optimization.

* Added options `--master-data' and `--no-autocommit' to `mysqldump'
(Thanks to Brian Aker for this).

* Added script `mysql_explain_log.sh' to distribution. (Thanks to
mobile.de).

eva2000
Tue 16th Oct '01, 8:58am
nice... i'm not gonna be able to keep up with mysql :o

TommyBALL
Tue 16th Oct '01, 10:07am
Originally posted by Chris Schreiber
InnoDB (transactions) as standard table typeOH, YESSSS!!!! :D

eva2000: Well, you'll still have some time till they define it as "recomended" and "stable release" :D

Regards
- TommyBALL

Chris Schreiber
Tue 16th Oct '01, 10:38am
Yes I would say we are still a month or two from a stable beta release... I may play around with this now, but will hold out on trying it in production for a while yet. Nothing really exciting in it yet, other then some good speed improvements.... it is nice to see InnoDB as standard now.... it looks like Gemini will be a fork now as well (since they've even removed the handler code ha_gemini.cc)

Dave#
Tue 16th Oct '01, 10:57am
anyone got any indications on the impact on performance of this release?

Chris Schreiber
Tue 16th Oct '01, 11:02am
Originally posted by Dave#
anyone got any indications on the impact on performance of this release?

Well just the ~30% increase speed from count(distinct) should be very helpful.... I haven't installed it yet though since if I do run it on my server, it will be on a different port apart from my 3.23 installation.... not sure if I want to go through that hassle yet with a .0 release :)

mnewcomb
Thu 3rd Jan '02, 3:09pm
I've configured mysql-4.0.1-alpha. I've compiled the example in the documentation. When I run it, I get the following error:

mnewcomb@tacsimunc1-> test_libmysqld
InnoDB: Warning: operating system error number 2 in a file operation.
InnoDB: Cannot continue operation.
mnewcomb@tacsimunc1->

The only thing I have not done is run install-sh. But, I am just a user on the system not the admin, so if I must do this, I need to know the parameters to pass to config so it will install in my user directory.

Thanks,
Michael

Chris Schreiber
Thu 3rd Jan '02, 6:13pm
Originally posted by mnewcomb
InnoDB: Warning: operating system error number 2 in a file operation.
Error code 2: No such file or directory

Maybe that helps?

Pingu
Thu 3rd Jan '02, 6:41pm
I've got it installed on a W2K server, but haven't had time yet to play with it. But so far it's going smooth