D.3.47 Modifications de la version 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 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().