Copyright (C) 2000-2012 |
GNU Info (mysql.info)News-3.21.0Changes in release 3.21.0 ------------------------- * New reserved words used: `INTERVAL', `EXPLAIN', `READ', `WRITE', `BINARY'. * Added ODBC function `CHAR(num,...)'. * New operator `IN'. This uses a binary search to find a match. * New command `LOCK TABLES tbl_name [AS alias] {READ|WRITE} ...' * Added `--log-update' option to `mysqld', to get a log suitable for incremental updates. * New command `EXPLAIN SELECT ...' to get information about how the optimizer will do the join. * For easier client code, the client should no longer use `FIELD_TYPE_TINY_BLOB', `FIELD_TYPE_MEDIUM_BLOB', `FIELD_TYPE_LONG_BLOB' or `FIELD_TYPE_VAR_STRING' (as previously returned by `mysql_list_fields'). You should instead only use `FIELD_TYPE_BLOB' or `FIELD_TYPE_STRING'. If you want exact types, you should use the command `SHOW FIELDS'. * Added varbinary syntax: `0x######' which can be used as a string (default) or a number. * `FIELD_TYPE_CHAR' is renamed to `FIELD_TYPE_TINY'. * Changed all fields to C++ classes. * Removed FORM struct. * Fields with `DEFAULT' values no longer need to be `NOT NULL'. * New field types: `ENUM' A string which can take only a couple of defined values. The value is stored as a 1-3 byte number that is mapped automatically to a string. This is sorted according to string positions! `SET' A string which may have one or many string values separated with ','. The string is stored as a 1-, 2-, 3-, 4- or 8-byte number where each bit stands for a specific set member. This is sorted according to the unsigned value of the stored packed number. * Now all function calculation is done with `double' or `long long'. This will provide the full 64-bit range with bit functions and fix some conversions that previously could result in precision losses. One should avoid using `unsigned long long' columns with full 64-bit range (numbers bigger than 9223372036854775807) because calculations are done with `signed long long'. * `ORDER BY' will now put `NULL' field values first. `GROUP BY' will also work with `NULL' values. * Full `WHERE' with expressions. * New range optimizer that can resolve ranges when some keypart prefix is constant. Example: mysql> SELECT * FROM tbl_name WHERE key_part_1="customer" AND key_part_2>=10 AND key_part_2<=10; automatically generated by info2www version 1.2.2.9 |