Changes in release 3.20.6
-------------------------
* Portable to more systems because of MIT-pthreads, which will be
used automatically if `configure' cannot find a `-lpthreads'
library.
* Added GNU-style long options to almost all programs. Test with
`program --help'.
* Some shared library support for Linux.
* The FAQ is now in `.texi' format and is available in `.html',
`.txt' and `.ps' formats.
* Added new SQL function `RAND([init])'.
* Changed `sql_lex' to handle `\0' unquoted, but the client can't
send the query through the C API, because it takes a str pointer.
You must use `mysql_real_query()' to send the query.
* Added API function `mysql_get_client_info()'.
* `mysqld' now uses the `N_MAX_KEY_LENGTH' from `nisam.h' as the
maximum allowed key length.
* The following now works:
mysql> SELECT filter_nr,filter_nr FROM filter ORDER BY filter_nr;
Previously, this resulted in the error: `Column: 'filter_nr' in
order clause is ambiguous'.
* `mysql' now outputs `'\0'', `'\t'', `'\n'' and `'\\'' when
encountering ASCII 0, tab, newline or `'\'' while writing
tab-separated output. This is to allow printing of binary data in
a portable format. To get the old behavior, use `-r' (or `--raw').
* Added german error messages (60 of 80 error messages translated).
* Added new API function `mysql_fetch_lengths(MYSQL_RES *)', which
returns an array of column lengths (of type `uint').
* Fixed bug with `IS NULL' in `WHERE' clause.
* Changed the optimizer a little to get better results when
searching on a key part.
* Added `SELECT' option `STRAIGHT_JOIN' to tell the optimizer that
it should join tables in the given order.
* Added support for comments starting with `'--'' in `mysql.cc'
(Postgres syntax).
* You can have `SELECT' expressions and table columns in a `SELECT'
which are not used in the group part. This makes it efficient to
implement lookups. The column that is used should be a constant
for each group because the value is calculated only once for the
first row that is found for a group.
mysql> SELECT id,lookup.text,sum(*) FROM test,lookup
WHERE test.id=lookup.id GROUP BY id;
* Fixed bug in `SUM(function)' (could cause a core dump).
* Changed `AUTO_INCREMENT' placement in the SQL query:
INSERT into table (auto_field) values (0);
inserted 0, but it should insert an `AUTO_INCREMENT' value.
* `mysqlshow.c': Added number of records in table. Had to change the
client code a little to fix this.
* `mysql' now allows doubled `''' or `""' within strings for
embedded `'' or `"'.
* New math functions: `EXP()', `LOG()', `SQRT()', `ROUND()',
`CEILING()'.