D.1.4 Modifications de la version 3.23.0

    A new table handler library (MyISAM) with a lot of new features. 10.18 Types de tables MySQL.
  • You can create in-memory HEAP tables which are extremely fast for lookups.
  • Support for big files (63 bit) on OSes that support big files.
  • New function LOAD_FILE(filename) to get the contents of a file as a string value.
  • New operator <=> which will act as = but will return TRUE if both arguments are NULL. This is useful for comparing changes between tables.
  • Added the ODBC 3.0 EXTRACT(interval FROM datetime) function.
  • Columns defined as FLOAT(4) or FLOAT(8) are not rounded on storage and may be in scientific notation (1.0 E+10) when retrieved.
  • REPLACE is now faster than before.
  • Changed LIKE character comparison to behave as =; This means that 'e' LIKE 'é' is now true.
  • SHOW TABLE STATUS returns a lot of information about the tables.
  • Added LIKE to the SHOW STATUS command.
  • Added privilege column to SHOW COLUMNS.
  • Added columns packed and comment to SHOW INDEX.
  • Added comments to tables (with CREATE TABLE ... COMMENT "xxx").
  • Added UNIQUE, as in CREATE TABLE table_name (col int not null UNIQUE)
  • New create syntax: CREATE TABLE SELECT ....
  • New create syntax: CREATE TABLE IF NOT EXISTS ...
  • Allow creation of CHAR(0) columns.
  • DATE_FORMAT() now requires % before any format character.
  • DELAYED is now a reserved word (sorry about that :( ).
  • An example procedure is added: analyse, file: `sql_analyse.c'. This will describe the data in your query. Try the following:
    SELECT ... FROM ... WHERE ... PROCEDURE ANALYSE([max elements,[max memory]])
    
    This procedure is extremely useful when you want to check the data in your table!
  • BINARY cast to force a string to be compared case sensitively.
  • Added option --skip-show-databases to mysqld.
  • Check if a row has changed in an UPDATE now also works with BLOB/TEXT columns.
  • Added the INNER join syntax. NOTE: This made INNER an reserved word!
  • Added support for netmasks to the hostname in the MySQL tables. You can specify a netmask using the IP/NETMASK syntax.
  • If you compare a NOT NULL DATE/DATETIME column with IS NULL, this is changed to a compare against 0 to satisfy some ODBC applications. (By shreeve@uci.edu).
  • NULL IN (...) now returns NULL instead of 0. This will ensure that null_column NOT IN (...) doesn't match NULL values.
  • Fix storage of floating point values in TIME columns.
  • Changed parsing of TIME strings to be more strict. Now the fractional second part is detected (and currently skipped). The following formats are supported:
    [[DAYS] [H]H:]MM:]SS[.fraction]
    [[[[[H]H]H]H]MM]SS[.fraction]
  • Detect (and ignore) second fraction part from DATETIME.
  • Added the LOW_PRIORITY attribute to LOAD DATA INFILE.
  • The default index name now uses the same case as the used column name.
  • Changed default number of connections to 100.
  • Use bigger buffers when using LOAD DATA INFILE.
  • DECIMAL(x,y) now works according to ANSI SQL.
  • Added aggregate UDF functions. Thanks to Andreas F. Bobak
  • LAST_INSERT_ID() is now updated for INSERT INTO ... SELECT.
  • Some small changes to the join table optimizer to make some joins faster.
  • SELECT DISTINCT is much faster; It uses the new UNIQUE functionality in MyISAM. One difference compared to MySQL 3.22 is that the output of DISTINCT is not sorted anymore.
  • All C client API macros are now functions to make shared libraries more reliable. Because of this, you can no longer call mysql_num_fields() on a MYSQL object, you must use mysql_field_count() instead.
  • Added use of LIBEWRAP; Patch by Henning P . Schmiedehausen.
  • Don't allow AUTO_INCREMENT for other than numerical columns.
  • Using AUTO_INCREMENT will now automatically make the column NOT NULL.
  • Show NULL as the default value for AUTO_INCREMENT columns.
  • Added SQL_BIG_RESULT; SQL_SMALL_RESULT is now default.
  • Added a shared library RPM. This enchancement was contributed by David Fox (dsfox@cogsci.ucsd.edu).
  • Added a --enable-large-files/--disable-large-files switch to configure. See `configure.in' for some systems where this is automatically turned off because of broken implementations.
  • Upgraded readline to 4.0.
  • New CREATE TABLE options: PACK_KEYS and CHECKSUM.
  • Added mysqld option --default-table-type.