summaryrefslogtreecommitdiff
path: root/sql/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'sql/ChangeLog')
-rw-r--r--sql/ChangeLog3268
1 files changed, 3268 insertions, 0 deletions
diff --git a/sql/ChangeLog b/sql/ChangeLog
new file mode 100644
index 00000000000..81ce83aa243
--- /dev/null
+++ b/sql/ChangeLog
@@ -0,0 +1,3268 @@
+2000-07-11 Michael Widenius <monty@mysql.com>
+
+* Extended safe_mysqld; Patch by Christian Hammers
+
+2000-07-04 Michael Widenius <monty@mysql.com>
+
+* Changed the update log to take the query length argument; This
+ should make the update log \0 safe.
+
+2000-06-21 Michael Widenius <monty@mysql.com>
+
+* Added net_read_timeout and net_write_timeout as startup parameters to mysqld
+
+2000-06-19 Michael Widenius <monty@mysql.com>
+
+* Changed the copyright of MySQL to GPL and LGPL.
+* Added myisampack and pack_isam to the MySQL distribution.
+
+2000-06-01 Michael Widenius <monty@mysql.com>
+
+* Added "FLUSH TABLES WITH READ LOCK" command
+
+2000-05-31 Michael Widenius <monty@mysql.com>
+
+* Added table locks to Berkeley DB.
+
+2000-05-28 Michael Widenius <monty@mysql.com>
+
+* Allow ON and USING with INNER JOIN.
+
+2000-05-23 Sasha
+
+* Fix that USE INDEX with 'PRIMARY' keys works.
+
+2000-05-20 Michael Widenius <monty@tik.pp.sci.fi>
+
+* Added symbolic links support for Win32.
+
+2000-05-19 Michael Widenius <monty@tik.pp.sci.fi>
+
+* Changed protocol to let client know if the server is in AUTOCOMMIT mode
+ and if there is a pending transaction. If there is a pending transaction
+ the client library will give an error before reconnecting to the server to
+ let the client know that the server did a rollback.
+ The protocol is still backward compatible with old clients
+* 'kill' now works on a thread that is locked on a 'write' to a dead client.
+
+2000-05-18 Michael Widenius <monty@tik.pp.sci.fi>
+
+* unlock tables before sending last packet of SELECT ... result to client.
+
+2000-05-16 Michael Widenius <monty@mysql.com>
+
+* split Item_bool_func2::compare function into individual functions to get more
+ speed.
+* Small optimizations of do_select() to get more speed.
+
+2000-05-15 Michael Widenius <monty@mysql.com>
+
+* CHECK will update the statistics for the keys.
+* Fixed bug in REPAIR TABLE when the table was used by other threads.
+
+2000-05-11 Michael Widenius <monty@mysql.com>
+
+* put CREATE TEMPORARY TABLE commands in the update log.
+* UPDATE IGNORE will not abort if an update gives a DUPLICATE_KEY error.
+* Ensure that all fn_format() or unpack_filename() is called for all
+ generated filenames.
+
+2000-05-05 Michael Widenius <monty@mysql.com>
+
+* Added timzone variable to SHOW VARIABLES.
+
+2000-05-04 Michael Widenius <monty@mysql.com>
+
+* Don't write INSERT DELAYED to update log if SQL_LOG_UPDATE=0
+
+2000-05-03 Michael Widenius <monty@mysql.com>
+
+* Fixed problem with REPLACE on HEAP tables.
+
+2000-04-26 Michael Widenius <monty@mysql.com>
+
+* Added 'Writing to net' and 'Reading from net' as 'status' to
+ mysqladmin processlist.
+
+2000-04-23 Michael Widenius <monty@mysql.com>
+
+* Added CREATE DATABASE and DROP DATABASE to the update log
+* Fixed problem when doing a GROUP BY on an enum column with MANY
+ value combinations.
+* Avoid sorting for some simple GROUP BY queries.
+
+2000-04-22 Michael Widenius <monty@mysql.com>
+
+* Fixed problems in update log when using LAST_INSERT_ID() to update
+ an table with an auto_increment key.
+* New function: 'NULLIF(expr1,expr2)'
+
+2000-04-14 Michael Widenius <monty@tik.pp.sci.fi>
+
+* UPDATE and DELETE on UNIQUE keys, where the whole key is used in the WHERE
+ part, are now faster than before.
+
+* Added optimisation to skip ORDER BY parts where the order by column
+ is a constant expression in the WHERE part. ORDER BY will also
+ be skipped if ORDER BY matches a key where the key parts that are
+ missing in the ORDER BY is constants:
+
+ In the following case the ORDER BY will be removed:
+ SELECT * FROM foo WHERE column=constant ORDER BY column;
+
+ In the following case the first key will be used to solve the ORDER BY:
+ SELECT * FROM foo WHERE key_part1=const ORDER BY key_part2;
+
+2000-04-10 Michael Widenius <monty@mysql.com>
+
+* Changed mysql.server to wait until the pid file is deleted on stop
+* Clients will automaticly be set to the same character set as the
+ server if one hasn't specified a character set with mysql_option()
+ or in the my.cnf files.
+
+2000-04-09 Michael Widenius <monty@mysql.com>
+
+* Release of 3.23.14
+* Fixed bug where complex CONCAT() use returned the wrong result.
+
+2000-04-07 Michael Widenius <monty@mysql.com>
+
+* Added some optimization to LIMIT when the used KEY matches almost all
+ rows in the table. (SELECT * from table where key_column > "a" LIMIT 1).
+* REPLACE now honors the LOW_PRIORITY_UPDATES flag.
+
+2000-04-05 Michael Widenius <monty@mysql.com>
+
+* Fixed that DROP TABLE is logged in the update log.
+* Fixed problem when searching on DECIMAL() key field
+ where the column data contained pre-zeros.
+
+2000-04-02 Michael Widenius <monty@mysql.com>
+
+* Fix bug in myisamchk when the auto_increment isn't the first key.
+
+2000-03-30 "Thimble Smith" <tim@mysql.com>
+
+* Allow DATETIME in ISO8601 format: 2000-03-12T12:00:00
+
+2000-03-30 Michael Widenius <monty@mysql.com>
+
+* Added UMASK_DIR environment variable.
+* Fixed problem with seek and RAID tables.
+
+2000-03-29 Michael Widenius <monty@mysql.com>
+
+* slow_queries log wasn't flushed on FLUSH LOGS.
+
+2000-03-28 Michael Widenius <monty@mysql.com>
+
+* Fix that DELETE FROM table_name; works on RAID tables.
+* Fix that DROP DATABASE works correctly with RAID tables.
+
+2000-03-27 Michael Widenius <monty@mysql.com>
+
+* Added function CONNECTION_ID()
+
+2000-03-26 Michael Widenius <monty@mysql.com>
+
+* When using = on BLOB or VARCHAR BINARY keys where only a part of the column
+ was indexed, the whole column of the result row wasn't compared.
+
+2000-03-24 takeshi@SoftAgency.co.jp
+
+* Fix for sjis & order by
+
+2000-03-23 Michael Widenius <monty@mysql.com>
+
+* Added patches to allow client library to compile on BEOS.
+
+2000-03-16 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Added STDCALL to some functions in libmysql that missed this.
+* When running in ANSI mode, don't allow one to use columns that isn't in
+ the GROUP BY part.
+
+2000-03-14 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Release of 3.23.13
+* Removed end space from double/float numbers in results from temporary
+ tables.
+
+2000-03-13 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Fixed automatic removal of table locks if doing a DROP TABLE on the last
+ locked table.
+
+2000-03-13 Sasha
+
+* Added CHECK TABLE command.
+
+2000-03-12 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Changed int2str and longlong2str to use the optimized
+ int10_to_str / longlong10_to_str functions.
+
+2000-03-09 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Fixed bug so that mysqladmin shutdown will wait for the local server to close
+ down.
+* Fixed a possible endless loop when calculating timestamp.
+
+2000-02-27 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Release of 3.23.12
+* Changed that mysql_ping() doesn't increment the 'questions' status variable.
+* Fixed that mysql -D database doesn't kill 'mysql'.
+
+2000-02-24 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Only allow SHOW GRANTS if you have a privilege on the mysql
+ tables
+* Fixed bug when storing 0 into a timestamp.
+
+2000-02-23 Michael Widenius <monty@monty.pp.sci.fi>
+
+* When doing mysqladmin shutdown on a local connection, mysqladmin now
+ waits until the pidfile is gone before doing an shutdown.
+* Changed that the pid file is not removed until all threads have died.
+
+2000-02-23 Matt Wagner
+
+* When doing mysqladmin shutdown on a local connection, mysqladmin now
+ waits until the pidfile is gone before doing an shutdown.
+
+2000-02-23 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Fixed problem with LEFT JOIN and key_field IS NULL.
+
+2000-02-23 Sasha
+
+* Fixed core dump with some COUNT(DISTINCT ...) queries.
+
+2000-02-21 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Added options USE KEYS (key_list) and IGNORE KEYS (key_list) as
+ join parameters in SELECT.
+* DROP of table is now done through the handler.
+
+2000-02-17 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Added ANSI SQL syntax ALTER TABLE ADD (column_def1, column_def2 ...)
+
+2000-02-16 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Fixed problem with optimizer that could sometimes use wrong keys
+
+2000-02-15 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Fixed that GRANT/REVOKE ALL PRIVILEGES doesn't affect GRANT OPTION
+* Removed extra ) from the output of SHOW GRANTS
+
+2000-02-13 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Fixed problem when storing numbers in timestamps.
+* Fix problem with timezones that has half hour offsets.
+* Storage of numbers in timestamp columns are now faster.
+
+2000-02-11 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Allow the syntax UNIQUE INDEX in CREATE statements.
+
+2000-02-10 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Added options --i-am-a-dummy and --safe-updates to mysql.cc
+* Added variables select_limit and max_join_size to mysql.cc
+* Added sql variables: SQL_MAX_JOIN_SIZE and SQL_SAFE_UPDATES
+* Added READ_LOCAL lock that doesn't lock the table for concurrent inserts
+* Changed that LOCK TABLES .. READ doesn't anymore allow concurrent inserts
+* Added option --skip-delay-key-write to mysqld.
+
+2000-02-09 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Fixed security problem in the protocol regarding password checking.
+
+2000-02-03 Michael Widenius <monty@tik.pp.sci.fi>
+
+* Allow 'end' as a field name.
+* Added _rowid as an alias for an auto_increment column.
+
+2000-01-28 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Ignore empty queries in mysql when running in batch mode
+ (To be able to handle rows with double ';' chars).
+
+2000-01-27 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Fixed problem with timestamps and INSERT DELAYED
+
+2000-01-26 Michael Widenius <monty@tik.pp.sci.fi>
+
+* Fixed problem that affected queries that did arithmetic on GROUP functions.
+
+2000-01-24 Michael Widenius <monty@tik.pp.sci.fi>
+
+* Don't give a unnecessary GRANT error when using tables from many
+ databases in the same query.
+
+2000-01-20 Michael Widenius <monty@tik.pp.sci.fi>
+
+* Fixed that 'date_column BETWEEN const_date AND const_date' works.
+
+2000-01-19 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Fixed problem when only changing a 0 to NULL in a table with BLOB/TEXT
+ columns.
+* Fixed bug in range optimizer when using many key parts and or on the middle
+ key parts: WHERE K1=1 and K3=2 and (K2=2 and K4=4 or K2=3 and K4=5)
+* Added the virtual VIO interface to the mysql connection streams.
+ (This will make it possible to use SSL through the VIO classe interface)
+
+2000-01-14 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Added command 'source' to mysql to allow reading of batch files inside
+ mysql. Original patch by Matthew Vanecek.
+
+2000-01-12 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Fixed bug that a change of all VARCHAR columns to CHAR columns didn't change
+ row type from dynamic to fixed.
+
+2000-01-11 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Added print of default arguments options to all clients.
+* Added --log-slow-queries to mysqld to log all queries that takes a
+ long time to a separate log file with a time of how long the query took.
+* Fixed critical problem with the WITH GRANT OPTION option.
+* Added read-next-on-key to HEAP tables. This should fix all
+ problems with HEAP tables when using not UNIQUE keys.
+* Disabled floating point exceptions for FreeBSD to fix core dump when
+ doing SELECT floor(pow(2,63));
+
+2000-01-07 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Fixed core dump when doing WHERE key_column=RAND(...)
+ (Note that this query can never use keys as the RAND() function must be
+ re-evaluated for each row)
+2000-01-04 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Fixed optimization bug in SELECT .. LEFT JOIN ... key_column IS NULL, when
+ key_column could contain NULL values.
+* Fixed problem with 8 bit characters as separators in LOAD DATA INFILE.
+
+2000-01-02 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Release of 3.23.8
+
+1999-12-31 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Fixed GRANT problem when doing 'CREATE TABLE ... SELECT'
+
+1999-12-30 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Fixed problem with timezones that are < GMT -11
+* Fixed problem with ISAM when doing some ORDER BY .. DESC queries.
+
+1999-12-28 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Fixed bug when doing a join on a text key which didn't covert the whole key.
+* Option --delay-key-write didn't enable delayed key writing
+* Fixed update of TEXT column which only involved case changes.
+
+1999-12-27 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Fixed that INSERT DELAYED doesn't update timestamps that are given.
+
+1999-12-25 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Added function yearweek() and options 'x', 'X', 'v' and 'V' to date_format()
+
+1999-12-22 Michael Widenius <monty@tik.pp.sci.fi>
+
+* Fixed problem with MAX(indexed_column) and HEAP tables.
+* Fixed problem with BLOB NULL keys and LIKE "prefix%".
+
+1999-12-20 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Fixed problem with MyISAM and fixed length rows < 5 bytes.
+
+1999-12-10 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Added RAID support (patch from Tõnu Samuel)
+
+1999-12-02 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Added -O interactive_timeout to mysqld.
+* Changed the argument of mysql_data_seek to ulonglong from ulong.
+
+1999-11-30 Michael Widenius <monty@monty.pp.sci.fi>
+
+Fixed bug in replace() on Alpha. Patch by 'Tom Holroyd'
+Fixed bug in LOAD DATA LOCAL INFILE on Alpha. Patch by 'Tom Holroyd'
+
+1999-11-29 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Added detection of pthread_attr_stacksize() in configure.
+* Added variable net_retry_count (needed for FreeBSD).
+
+Sun Nov 28 20:55:45 1999 Michael Widenius <monty@bitch.pp.sci.fi>
+
+* Added option '--verbose' to mysqladmin
+
+1999-11-28 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Fixed problem when converting heap to myisam.
+* Fixed bug in HEAP tables when doing insert + delete + insert + scan the
+ table.
+
+1999-11-23 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Fix core dump when releasing a lock from a non existing table
+* Remove locks on tables before starting to remove duplicates.
+* Added patch to make most string functions multi-byte safe (by Wei He)
+* Added Bytes_recieived/Bytes_sent statistics (by Sasha Pachev)
+* Added optimization of read_next() with MyISAM
+* Changed MyISAM to use concurrent inserts.
+
+1999-11-21 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Inverted flag 'delayed_key_write' on 'show variables'
+
+1999-11-20 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Added variable max_write_lock_count
+
+1999-11-13 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Release of 3.23.6
+* Made floor() overflow safe on FREEBSD.
+* Allow quoting of identifers with `
+* Temporary tables now start with #sql
+* Added option --quote-names to mysqldump.
+* Added option --ansi to change " to a identifier delimiter and || to
+ string concatenation.
+* Fixed INTO DUMPFILE to give better error messages. NULL is now written
+ as an empty string.
+* Changed Field_double and double->string to use snprintf() to avoid overflows.
+* Fixed bug that one could make a part of a PRIMARY KEY not null.
+* Fixed encrypt() to be thread safe and not reuse buffer.
+
+1999-11-11 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Changed that FLOAT(X) where X <= 24 -> FLOAT and X <= 53 -> DOUBLE.
+* Changed DECIMAL(X) to be DECIMAL(X,0) and DECIMAL to be DECIMAL(10,0)
+
+1999-11-09 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Added mysqld option -O lower_case_table_names=[0|1] to force table
+ names to lower case.
+* Added mysql_odbc_escape_string() function to support big5 characters in
+ MyOBC.
+
+1999-11-08 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Added patch by Sasha for user defined variables.
+* Changed that FLOAT and DOUBLE (without any length modifiers) are
+ not anymore fixed decimal point numbers.
+
+1999-10-22 Michael Widenius <monty@tik.pp.sci.fi>
+
+* Added option ROW_FORMAT=[default, dynamic, static, compressed] to
+ CREATE_TABLE
+
+1999-10-20 Michael Widenius <monty@monty.pp.sci.fi>
+
+* 'DELETE FROM table_name' didn't work on temporary tables
+
+1999-10-18 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Release of MySQL 3.23.5
+* Fixed problem with LIKE "%const"
+
+1999-10-17 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Added bit function ~ (neg)
+
+1999-10-14 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Added support for the GBK Chinese character set (by Wei He)
+
+1999-10-13 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Storage of date results is now much faster to date and datetime columns.
+
+1999-10-12 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Fixed bug when using DISTINCT + ORDER BY RAND()
+* new option --relative to mysqladmin.
+
+1999-10-11 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Added some error messages in mysqld.cc
+* Allow use of NATIONAL and NCHAR when defining character columns.
+ (They don't do anything)
+* Don't allow NULL columns in PRIMARY KEY:s (only in UNIQUE keys)
+
+1999-10-10 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Clear LAST_INSERT_ID if in uses this in ODBC context:
+ WHERE auto_increment_column IS NULL;
+* 'SET SQL_AUTO_IS_NULL=0|1' now turns off/on the above handling of
+ auto_increment columns
+
+1999-10-09 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Added parameter 'concurrency' for Solaris.
+
+1999-10-07 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Fixed problem when using an auto_increment column in two keys
+
+1999-10-06 Michael Widenius <monty@monty.pp.sci.fi>
+
+* AS on fieldname with CREATE TABLE table_name SELECT ... didn't work.
+
+1999-10-01 Michael Widenius <monty@tik.pp.sci.fi>
+
+* LIKE with many % ("%xxx%yy%zz%") are now much faster.
+
+1999-09-24 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Fix privilege check for LOAD DATA REPLACE .
+
+1999-09-22 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Added SHOW GRANT FOR user (by Sinisa)
+* Added date + INTERVALL # date_interval_type
+
+1999-09-19 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Fixed problem with index optimzation with 'WHERE index is not null'
+
+* Allow creation of temporary tables with same name as original table.
+* When granting user a grant option for a database, he couldn't grant
+ privileges to other users.
+
+1999-09-17 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Inserting a DATETIME into a TIME column will not anymore try to store 'days'
+ in it.
+* Fixed problem with storage of float/double on low endian machines.
+
+1999-09-08 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Release of 3.23.3
+* Added limit to UPDATE
+* Added client library function: mysql_change_user()
+
+1999-09-07 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Added character set to 'show variables'
+* Added support of '--[white-space]' as comment
+* Allow 'INSERT into table_name VALUES ();'
+
+1999-09-03 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Add mysqld option --delay-key-write to mysqld.cc
+
+1999-08-30 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Fixed problem with COUNT(DISTINCT) and GROUP BY
+
+1999-08-29 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Added /*!version */
+* Fixed core dump with empty blob to reverse()
+* Fixed problem with year(now()) and year(curdate()).
+
+1999-08-28 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Added construct:
+
+ CASE value WHEN [compare-value] THEN result
+ [WHEN [compare-value] THEN result ...]
+ [ELSE result]
+ END
+
+ CASE WHEN [condition] THEN result
+ [WHEN [condition] THEN result ...]
+ [ELSE result]
+ END
+1999-08-19 Michael Widenius <monty@tik.pp.sci.fi>
+
+* Added check of arguments to acos() and asin().
+* unique_column IS NULL only returned the first row with NULL.
+
+1999-08-12 Michael Widenius <monty@tik.pp.sci.fi>
+
+* REGEXP(...,NULL) will not return an error anymore.
+
+* Removed ifdef mSQL_COMPLIANT when comparing NULL to NULL
+
+1999-08-05 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Fix problem with LOCK TABLES and DELETE FROM table.
+
+1999-08-04 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Don't pack all keys even if one key is packed when not using PACK_KEYS=1.
+
+1999-08-03 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Fixed core-dump bug when inserting table or column grant on user name ""
+
+1999-08-02 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Fix problem with LOCK TABLES when no database is selected.
+* New functions: MD5(), (by Tõnu Samuel) and EXPORT_SET (by Sasha Pachev)
+* Changed Socket to my_socket (to avoid conflicts)
+
+1999-07-29 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Fixed problem with DISTINCT on BLOB column
+* new keywords: CASE, THEN, WHEN, ELSE, END
+* The CASE operator (by Tõnu Samuel) (not yet working)
+* set SQL_LOW_PRIORITY_UPDATES=# didn't work
+* Fixed range optimizer bug in
+ SELECT * FROM table_name WHERE key_part1 >= const AND (key_part2 = const OR key_part2 = const)
+
+1999-07-26 Michael Widenius <monty@tik.pp.sci.fi>
+
+* One can now update indexes columns that are used in the WHERE clause.
+ UPDATE tbl_name SET KEY=KEY+1 WHERE KEY > 100;
+
+1999-07-25 Michael Widenius <monty@tik.pp.sci.fi>
+
+* Added get_date() function to all item and fields. This makes date handling
+ a lot faster!
+* Added handling of fuzzy dates (dates where day or month is 0)
+
+1999-07-21 Michael Widenius <monty@tik.pp.sci.fi>
+
+* Fixed optimization of SELECT ... WHERE key_part1=const1 and key_part_2=const2 and key_part1=const4 and key_part2=const4
+ (indextype should be range instead of ref)
+
+1999-07-20 Michael Widenius <monty@tik.pp.sci.fi>
+
+* Changed handling of 'const_item' to allow handling of
+ ORDER BY RAND().
+* MyISAM tables now allows keys on NULL and BLOB columns.
+* Optimize the following LEFT JOIN:
+ SELECT ... FROM t1 LEFT JOIN t2 ON ... WHERE t2.not_null_column IS NULL
+
+1999-07-19 Michael Widenius <monty@tik.pp.sci.fi>
+
+* Added ORDER BY and GROUP BY with functions
+* Changed all handling of tables in sql_select.cc to use table_map instead
+ of table_nr.
+* Added use of column_name = formula to use keys
+* column_name = column_name2 don't anymore have to have identical packing
+* field IS NULL can now use keys
+
+1999-07-16 Michael Widenius <monty@tik.pp.sci.fi>
+
+* Changed heap tables to be stored in low_byte_first order (to make it easy
+ to convert to MyISAM tables)
+* Automatic change of HEAP temporary tables to MYISAM tables in case of
+ 'table is full' errors.
+* Added option --init-file=file_name to mysqld
+
+1999-07-15 Michael Widenius <monty@tik.pp.sci.fi>
+
+* Added COUNT(DISTINCT value,[value,...])
+
+1999-07-14 Michael Widenius <monty@tik.pp.sci.fi>
+
+* changed name of temporary table to include getpid().
+* Added full support for CREATE TEMPORARY
+
+1999-07-04 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Added CREATE TABLE options 'CHECKSUM' and 'PACK_KEYS'
+* Added mysqld option --default-table-type
+* Added column 'packed' to 'show index'
+* Added pack_keys and checksum to show table status
+
+1999-07-01 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Release of 3.23.0
+* Show NULL as the default value for AUTO_INCREMENT columns.
+* Fixed optimizer bug with tables with only one row.
+* Fixed bug when using LOCK TABLES table_name READ; FLUSH TABLES;
+
+1999-06-30 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Added use of LIBWRAP (by "Henning P . Schmiedehausen" <hps@tanstaafl.de>)
+
+1999-06-28 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Don't allow AUTO_INCREMENT for other than numerical columns
+* Using AUTO_INCREMENT will now automaticly make the column NOT NULL.
+
+1999-06-22 Michael Widenius <monty@tik.pp.sci.fi>
+
+* Added privilege column to 'show columns'
+
+1999-07-13 Michael Widenius <monty@tik.pp.sci.fi>
+
+* Added SQL_BIG_RESULT (SQL_SMALL_RESULT is now default)
+* Use the MYISAM UNIQUE constraint to solve SELECT DISTINCT faster.
+
+1999-06-06 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Changed most macros in the libmysql library to functions to avoid many
+ versions of shared libraries.
+
+1999-05-16 Michael Widenius <monty@tik.pp.sci.fi>
+
+* Added "Row_type" to SHOW TABLE STATUS.
+
+1999-05-15 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Added option IF NOT EXISTS to CREATE TABLE
+* Allow creation of CHAR(0) columns.
+
+1999-05-14 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Added more error checking of errors from the table handler.
+
+1999-05-13 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Added the '<=>' operator which will act as '=' but will return TRUE if both
+ arguments are NULL.
+
+1999-05-12 Michael Widenius <monty@monty.pp.sci.fi>
+
+* The default base for the log, update-log and pid-file name is now
+ 'hostname' with everything after the first '.' removed.
+
+1999-05-11 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Require '%' before format characters in DATE_FORMAT().
+* Add logging of GRANT and SET PASSWORD in the update log.
+
+1999-05-10 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Changed LIKE compare to behave as =; This means that 'e' LIKE 'é' is now
+ true.
+
+1999-05-10 Michael Widenius <monty@tik.pp.sci.fi>
+
+* REPLACE now used direct read to find dupplicate row instead of key read;
+ This makes REPLACE a lot faster.
+
+1999-05-05 Michael Widenius <monty@tik.pp.sci.fi>
+
+* New option: CREATE TABLE SELECT ....
+* Added syntax for CREATE TEMPORARY TABLE (not yet implemented)
+
+1999-05-03 Michael Widenius <monty@tik.pp.sci.fi>
+
+@code{DESCRIBE TABLE} returns a lot of information about the tables
+
+1999-05-02 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Added comments to tables
+* Added UNIQUE, in CREATE TABLE table_name (col int not null UNIQUE);
+
+1999-04-29 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Use auto_increment value provided by MYISAM
+* Use key_part statistics if available
+
+1999-04-28 Michael Widenius <monty@monty.pp.sci.fi>
+
+* null bits are now stored at start of row instead at the end.
+ (Now we only need one bit to mark a row deleted)
+
+* DELAYED is now a reserved words. (because of conflicts from yacc)
+
+1999-04-20 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Added patches for DEC_3_2 by "Andrea Suatoni" <and@itaca.it>
+
+1999-04-19 Jani Tolonen <jani@monty.pp.sci.fi>
+
+* Added load_file() function
+
+1999-04-15 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Added option --skip-show-databases to mysqld.
+
+1999-04-10 Michael Widenius <monty@monty.pp.sci.fi>
+
+* set start time when connection.
+
+1999-04-03 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Fixed problem with 'DELETE FROM TABLE' when table was locked by another
+ thread.
+
+1999-04-03 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Check if rows has changed now also works with BLOB/TEXT.
+* Added the INNER JOIN syntax; This made 'INNER' a reserved word.
+
+1999-04-02 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Fixed problem with 'Host '..' is not allowed to connect to this MySQL
+ server' after one had inserted a new MySQL user with a GRANT command.
+
+1999-04-01 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Added support for netmasks to the hostname in the MySQL tables.
+
+1999-03-31 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Changed net.cc to use TCP_NODELAY also on Linux.
+* If one compares 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)
+
+1999-03-30 Michael Widenius <monty@monty.pp.sci.fi>
+
+* NULL IN (...) now returns NULL instead of 0.
+ This will ensure that 'null_column NOT IN (...)' doesn't match NULL values.
+* Changed the mysql.db entry to char(60).
+
+1999-03-16 Michael Widenius <monty@monty.pp.sci.fi>
+
+* 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] and [[[[H]H]H]H]MM]SS[.fraction]
+* Detect (and ignore) second fraction part from DATETIME
+
+1999-03-10 Michael Widenius <monty@monty.pp.sci.fi>
+
+* On Win32 detect --basedir automaticly from path to mysqld.
+* Added option --skip-column-names to mysql.
+* Added some memory checks in sql_string.cc
+
+1999-03-08 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Added the ODBC 3.0 EXTRACT(interval FROM datetime) function
+* Added lots of 'out of memory' checks for SELECT statements.
+
+1999-03-05 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Fixed std() for big tables when result should be 0.
+
+1999-03-04 Michael Widenius <monty@monty.pp.sci.fi>
+
+* INSERT DELAYED had some garbage at end in the update log.
+
+1999-03-03 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Added a lot of casts in filesort.cc to make it more portable.
+
+1999-02-28 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Changed default size of key_buffer to 4M
+* Fixed problem with queries that needed temporary tables with blobs.
+
+1999-02-26 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Added LOAD DATA [LOW_PRIORITY] INFILE.
+* Added option 'flush-time' to force MySQL-Win32 version to flush
+ the tables once in a while.
+* On Linux all process didn't die on shutdown.
+
+1999-02-18 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Fixed a core dump problem when using --log-update and connecting
+ without a default database.
+* Added more error check if one get an error writing to the log files.
+
+1999-02-16 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Fixed some configure errors
+* If one used @code{LEFT JOIN} on tables that had circular dependencies this
+ caused mysqld to hang forever.
+
+1999-02-05 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Release of 3.22.16
+* mysqladmin processlist could core dump mysqld if a new user logged in.
+* DELETE FROM table_name WHERE key_column=column_name didn't find any matching
+ rows.
+* The default index name is now using the same case as the used column name.
+
+1999-02-03 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Added the MODIFY attribute to ALTER TABLE (to be compatible with some other
+ SQL databases)
+* Added LIKE to 'show status'
+
+1999-01-31 Michael Widenius <monty@monty.pp.sci.fi>
+
+* DATE_ADD(column,...) didn't work.
+* INSERT DELAYED could deadlock with status 'upgrading lock'
+
+1999-01-30 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Extended item_encrypt() to take longer salt strings than 2 characters.
+ (for FreeBSD)
+
+1999-01-26 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Release of 3.22.15
+* LIKE on binary strings didn't work if one used a multi-byte character set.
+* mysqladmin -w will now wait for the server to come up if it's killed.
+
+Tue Jan 26 00:06:10 1999 Michael Widenius <monty@bitch.pp.sci.fi>
+
+* Fixed problem with ORDER BY whith 'only index' optimzation when there
+ where multiple key definitions for an used column.
+* GRANT with password didn't update in memory GRANT table before
+ 'mysqladmin flush'
+
+1999-01-20 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Updating BLOB/TEXT through formulas didn't work for short (< 256 char)
+ strings.
+* Changed option --extended_insert-insert to --extended-insert in mysqldump
+
+1999-01-19 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Lots of changes to support INSERT DELAYED.
+
+1999-01-17 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Changed unpacking of DATE and DATETIME; These are now about 5 times faster.
+
+1999-01-16 Michael Widenius <monty@monty.pp.sci.fi>
+
+* DATE_ADD with now() or curdate() reused the same string.
+* Added BENCHMARK(loop-count,expression) function to time expressions.
+
+1999-01-14 Michael Widenius <monty@monty.pp.sci.fi>
+
+* LEFT JOIN USING (col1,col2) gave an error if one used it with tables
+ from 2 different databases.
+* LOAD DATA LOCAL INFILE didn't work in the unix version because of a missing
+ file in the sql directory
+* Fixed problems with VARCHAR/BLOB on very short rows (< 4 bytes); One
+ could get error 127 when deleting rows.
+
+1999-01-13 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Nicer error messages for table types.
+* Changed default number of connections to 100
+
+1999-01-11 Michael Widenius <monty@monty.pp.sci.fi>
+
+* When one did a GRANT on a new host mysqld could die on the first connect
+ from this host.
+* Use as default bigger buffers when using 'load data infile'.
+
+1999-01-06 Michael Widenius <monty@monty.pp.sci.fi>
+
+* All blob pointers have now reserved 8 bytes in the .frm files; This makes
+ the .frm files portable to 64 bit architectures.
+
+* DECIMAL(x,y) now works according to ANSI SQL.
+
+1998-12-30 Michael Widenius <monty@monty.pp.sci.fi>
+
+* If one used ORDER BY on column name that was the same name as an alias,
+ the ORDER BY was done on the alias.
+
+1998-12-29 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Added aggregate UDF functions. Thanks to
+ Andreas F. Bobak <bobak@relog.ch> for this !
+
+1998-12-28 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Changed sql_crypt() a bit to make it a bit more secure; This will make old
+ string stored with the old decrypt() function unreadable!
+
+1998-12-27 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Allow empty arguments to mysqld to make it easier to start it
+ from shell scripts!
+
+1998-12-23 Michael Widenius <monty@monty.pp.sci.fi>
+
+* last_insert_id() is now updated for INSERT INTO ... SELECT
+* Setting a TIMESTAMP column to NULL didn't record the timestamp
+ value in the update log.
+
+1998-12-21 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Fixed lock handler bug when one did:
+ INSERT INTO TABLE ... SELECT ... GROUP BY.
+* Added a patch for localtime_r() on Win32 that it will not crash anymore
+ if your date is > 2039, but instead it will return a time of all zero.
+* UDF function names are not longer case sensitive.
+* Added escape of '^Z' to \Z as ^Z doesn't work with pipes on Win32
+* Changed optimizer to not use 'range search' in some cases.
+* Changed optimizer to use result form 'check_range' in optimization of
+ searching of part keys.
+
+1998-12-16 Michael Widenius <monty@monty.pp.sci.fi>
+
+* SELECT COUNT(*) didn't work on LEFT JOIN queries with only had expressions
+ in the ON part and there where no WHERE clause.
+* Added optional support for crypted frm files.
+
+1998-12-13 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Saving NOW(), CURDATE() or CURTIME() directly in a column didn't work.
+* SELECT COUNT(*) didn't work on LEFT JOIN queries with only had expressions
+ in the ON part and no WHERE clause.
+
+1998-12-09 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Fixed a bug in sql_list.h that made ALTER TABLE dump a core in some context.
+
+1998-12-08 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Allow use of negative real numbers without a decimal point.
+* day number is now adjusted to max days in month if the resulting month
+ after DATE_ADD/DATE_SUB() doesn't have enough days.
+
+1998-12-07 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Fix that GRANT compares columns case insensitive.
+* Add / to TMPDIR if needed.
+
+1998-12-06 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Allow GLOBAL as a table or database name.
+
+Thu Dec 3 10:29:11 1998 Michael Widenius <monty@tik>
+
+* Added option SQL_SMALL_RESULT to SELECT to force use of fast temporary
+ tables when one knows that the result set will be small!
+
+1998-11-27 Michael Widenius <monty@monty.pp.sci.fi>
+
+* The hostname in user@hostname can now include '.' and '-' without quotes.
+
+1998-11-26 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Fixed problem when using DATE_ADD()/DATE_SUB() in a WHERE clause.
+* One can now set the password for a user with the
+ GRANT ... user IDENTIFIED BY 'password' syntax.
+* Fixed bug in GRANT checking with SELECT on many tables.
+* Removed some 'no Database selected' errors.
+* Release of 3.22.11
+
+1998-11-21 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Changed USER() to return user@host
+* New command: FLUSH STATUS ; to reset most status variables.
+* New status variables: aborted_threads and aborted_connects.
+
+1998-11-20 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Fixed bug in ORDER BY on FIELD()
+* New function make_set() (70% by Jani Tolonen)
+
+1998-11-18 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Added functions encrypt() and decrypt(). Because of endspace stripping of
+ CHAR() and VARCHAR() these should only be used with fixed size strings or
+ with BLOB/TEXT columns.
+
+1998-11-17 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Silently remove DEFAULT values from AUTO_INCREMENT columns.
+* Added new variable to mysqld: connection_timeout
+
+1998-11-13 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Better error message when table doesn't exists.
+
+1998-11-12 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Added option SET SQL_WARNINGS=1 to get a warning count also for simple
+ inserts.
+* IS NULL on a AUTO_INCREMENT column in a LEFT JOIN didn't work.
+* MySQL now uses SIGTERM instead of SIGQUIT with shutdown to work better
+ on FreeBSD.
+* Added option \G (print vertically) to mysql
+* SELECT HIGH_PRIORITY ... killed mysqld.
+
+1998-11-11 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Added grant checking to 'show tables'
+* Large changes to get grants integrated with the current privilege system.
+
+1998-11-10 Michael Widenius <monty@monty.pp.sci.fi>
+
+* SELECT .. WHERE t1.id1=t2.id2 could fail if t1.id1 and t1.id2 was keys
+ and of radically differently types.
+* Changed get_password to use getpass function. (Patch by Jaromir
+ Dolecek <dolecek@ics.muni.cz>)
+
+1998-11-04 Michael Widenius <monty@analytik>
+
+* Release of 3.22.10
+* Changed +, - (sign and minus), *, /, % and ABS() to be BIGINT aware.
+* ALTER TABLE and UPDATE now writes out the values of any duplicated keys.
+
+1998-11-03 Michael Widenius <monty@monty.pp.sci.fi>
+
+* ADABASD like INSERT statement:
+ INSERT INTO table_name SET column=value,column=value...
+* The client flag option 'CLIENT_IGNORE_SPACE' didn't work properly.
+* Fixed bug in ALTER TABLE that caused a core dump.
+* Added optimization of SELECT ... FROM table ORDER BY key_part1 LIMIT ...
+ This query will now use indexes instead of sorting the table.
+
+Mon Nov 2 20:52:15 1998 Jani Tolonen <jani@bitch.pp.sci.fi>
+
+* Added more variables to SHOW STATUS and changed format of output
+* Added command extended-status to mysqladmin which will show the
+ new status
+
+1998-10-30 Michael Widenius <monty@monty.pp.sci.fi>
+
+* columns of type date, date_time and 'set' are now stored a little
+ more efficient if they are 0, NULL or ''.
+
+1998-10-26 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Most errors are now printed through sql_write_error() which will add
+ date, time and thread id to the .err log.
+
+1998-10-25 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Added option MYSQL_INIT_COMMAND to mysql_options() to make a query
+ on connect or reconnect.
+* Added option MYSQL_READ_DEFAULT_FILE and MYSQL_READ_DEFAULT_GROUP to
+ mysql_option() to read the following parameters from the my.cnf file:
+ "port", "socket", "compress", "password", "pipe", "timeout", "user",
+ "init-command", "host" and "database"
+
+* Added maybe_null to the UDF structure
+
+1998-10-22 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Added IGNORE to INSERT with many rows.
+* Added SQL GRANT commands
+* Release of 3.22.9
+
+1998-10-18 Michael Widenius <monty@monty.pp.sci.fi>
+
+* One can new set the last_insert_id() value in an update with
+ LAST_INSERT_ID(expr). This makes it possible to return a value for things
+ like:
+ UPDATE table SET COUNT=LAST_INSERT_ID(COUNT+1) WHERE primary_key_col=#
+* display key name used by 'range' in the 'key' column in 'show processlist'
+* new SQL command: FLUSH [ TABLES | HOSTS | LOGS | PRIVILEGES ] [, ...]
+* new SQL command: KILL thread_id
+
+Thu Oct 15 18:57:15 1998 Michael Widenius <monty@tik>
+
+* Reuse memory for identical set and enum fields.
+
+1998-10-14 Michael Widenius <monty@analytik>
+
+* Added open file information to mysqladmin debug
+* Fixed conversion problem when using ALTER TABLE from a INT to a short CHAR()
+ column.
+* Added 'SELECT HIGH_PRIORITY'; This will get a lock for the SELECT even if
+ there is a thread waiting another SELECT to get a WRITE LOCK.
+ NOTE: This makes HIGH_PRIORITY a reserved word
+
+1998-10-12 Michael Widenius <monty@analytik>
+
+* Moved wild_compare to string class to be able to use LIKE on BLOB/TEXT columns with \0
+* Added ESCAPE option to LIKE
+
+1998-10-08 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Update for AIX: Added a cast to all bzero() calls and changed to use
+ my_gethostbyname_r instead of gethostbyname_r.
+
+1998-10-03 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Release of 3.22.8
+* Added an extra thread signal loop on shutdown to avoid some error messages
+ from the client.
+* MySQL now uses the next available number as extension for the update
+ log file.
+
+1998-09-25 Michael Widenius <monty@monty.pp.sci.fi>
+
+* MySQL clients on NT will now by default first try to connect with named pipes
+ and after this with TCP/IP.
+
+1998-09-24 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Fixed problems with TIME columns and negative strings.
+* Added a new column 'state' to 'mysqladmin proc' that gives some
+ information what the thread is doing.
+
+* DATE_ADD() and DATE_SUB() didn't work with group functions.
+
+1998-09-23 Michael Widenius <monty@monty.pp.sci.fi>
+
+* 'mysql' will now also try to reconnect on 'use database' commands.
+
+* Fix problem with ORDER BY and LEFT JOIN and const tables.
+
+1998-09-22 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Fixed problem with ORDER BY if the first ORDER BY column was a key and
+ the rest wasn't.
+
+1998-09-17 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Release of 3.22.7
+* OPTIMIZE TABLE table_name can now be used to reclaim disk space
+ after many deletes. This uses currently ALTER TABLE to re-generate
+ the table, but in the future it will use an integrated isamchk
+ for more speed.
+
+1998-09-16 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Added functions for perfect hashing of symbols. Moved some other things
+ to the LEX structure for faster setup.
+* Changed libmysql.dll on Win32 to use TLS to get better multi-threading
+
+1998-09-15 Michael Widenius <monty@monty.pp.sci.fi>
+* Added --where to mysqldump (patch by Jim Faucette).
+* Fixed slow UPDATE/DELETE when using DATETIME or DATE keys.
+
+1998-09-14 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Changed some optimizations parameters to make better joins.
+* Anyone can now use 'mysqladmin proc' to check ones own
+ threads. Only users with the 'Process_priv' privilege can get
+ information about all threads.
+* Fixed very unlikely optimizer bug in the range optimizer
+ (bug introduced in 3.22.6)
+* Added handling of formats YYMMDD, YYYYMMDD, YYMMDDHHMMSS to
+ DATETIME/TIMESTAMP when using numbers. (Before these formats only worked
+ with strings).
+
+1998-09-06 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Added connect option CLIENT_IGNORE_SPACE to allow one to use
+ space after the function name and before '(' (Powerbuilder requires this).
+ This will make all function names reserved words.
+* comments that start with /*! are now interpreted as commands. This feature
+ allows one to use MySQL extensions like:
+ 'SELECT /*! STRAIGHT_JOIN */ * from table1,table1'
+ in a portable manor.
+
+1998-09-04 Michael Widenius <monty@analytik>
+
+* Added SET OPTION INSERT_ID=# to force use of specific INSERT_ID. This is
+ usable with new --log-long-format option.
+
+1998-08-31 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Fixed problem when INSERTING into TIME fields.
+
+1998-08-29 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Added key cache and handler statistic to 'mysqladmin debug'.
+* changed UPDATE and DELETE to not use 'index only' range detection.
+ (Fixed slow update_key in the benchmarks)
+* Changed the insert benchmark because it was impossible to use it with
+ postgreSQL (to slow).
+
+Thu Aug 27 15:38:23 1998 Michael Widenius <monty@bitch.pp.sci.fi>
+
+* mysqldump will automaticly use LOAD DATA LOCAL INFILE if one uses
+ an TCP/IP connection.
+
+1998-08-27 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Added support of local files with LOAD DATA LOCAL INFILE ..
+* Save history if one kills mysql with ^C. Save history in MYSQL_HISTFILE.
+ Modfied patch by Tommy Larsen <tommy@mix.hive.no>
+
+1998-08-26 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Fixed a possible problem with mysql_refresh().
+
+Tue Aug 18 14:07:53 1998 Michael Widenius <monty@bitch.pp.sci.fi>
+
+* Give an error for queries that mix GROUP columns and fields when there
+ is no GROUP BY specification.
+
+1998-08-17 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Changed sql_yacc.yy to allow field attributes in any order.
+
+1998-08-15 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Increased max_allowed_packed to 1M as default.
+* LOAD DATA INFILE didn't copy single field separators in some case:
+ "Hello"Atif"!"
+
+1998-08-13 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Fixed fatal bug in lpad().
+
+Thu Aug 13 01:00:44 1998 Michael Widenius <monty@bitch.pp.sci.fi>
+
+* REGEXP can now take a expression as the second argument.
+
+1998-08-12 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Changed LIKE to be faster in some cases with many '%': LIKE '%c%ompiler%'
+
+1998-08-11 Michael Widenius <monty@monty.pp.sci.fi>
+
+* All table lock handing is changed to avoid some very subtitle
+ deadlocks when using DROP TABLE, ALTER TABLE, DELETE FROM TABLE and
+ mysqladmin flush-tables under heavy usage.
+
+1998-08-10 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Allow one to use the syntax 'CONSTRAINT symbol' before FOREIGN KEY.
+* new mysqld option '--low-priority-insert' to give inserts lower priority
+ than selects.
+* One can now use {INSERT | REPLACE} LOW_PRIORITY INTO ...
+ One side effect is that LOW_PRIORITY is now a reserved word :(
+* Changed locking code to get better handling of locks of different types.
+
+1998-08-09 Michael Widenius <monty@monty.pp.sci.fi>
+
+* mysqld will now ignore trailing ';' characters in queries. This is to
+ make it easier to emigrate from some other SQL servers that require the
+ end ';'
+* One can now use a LIMIT value with DELETE to make it return after deleting
+ a given number of rows.
+* Fix for corrupted output of fixed format and SELECT INTO OUTFILE:
+ select * from test into outfile "/tmp/test.txt" fields terminated by '' enclosed by ''
+
+1998-08-04 Michael Widenius <monty@monty.pp.sci.fi>
+
+* new mysqld option: '-O max_connect_errors=#'.
+ Connect errors are now reset for each correct connection.
+* Add support for INSERT INTO table ... VALUES(...),(...),(...)
+
+1998-08-03 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Added Oracle GREATEST() and LEAST() functions. One must now use
+ these instead if the MAX() and MIN() functions to get the biggest/smallest
+ value from a list of values. These can now handle real, bigint and
+ string values.
+* The following query now uses indexing instead of sorting the table:
+ SELECT ... FROM table ORDER BY key_part1 desc,key_part2 desc,...
+* Added check that the error message file has enough error messages.
+* DAYOFWEEK() had offset 0 for Sunday. Changed the offset to 1.
+
+1998-08-02 Michael Widenius <monty@monty.pp.sci.fi>
+
+* new option to mysql: '--vertical' to print results in vertical mode.
+* All count structures in the client (affected_rows, insert_id...) are now of
+ type BIGINT to allow one to use 64 bit values.
+ This required a minor change in the MySQL protocol which may affect
+ old clients when using tables with auto_increment values > 24M.
+* The return type of mysql_fetch_lengths() has changed from uint *
+ to ulong *. This may give a warning for old clients but should work
+ on most machines.
+
+Thu Jul 30 15:29:05 1998 Michael Widenius <monty@tik>
+
+* COUNT(), STD() and AVG() are extended to handle more than 4G rows.
+
+Wed Jul 29 10:36:05 1998 Michael Widenius <monty@tik>
+
+* Added new option:
+ SET OPTION SQL_LOG_UPDATE=[0,1] to allow users with process_priv
+ privilege to bypass the update log.
+ (Modified patch from Sergey A Mukhin <violet@rosnet.net>)
+
+Thu Jul 23 15:58:13 1998 Michael Widenius <monty@tik>
+
+* Initialize line buffer in mysql.cc to make blob readings from pipes safer.
+
+Tue Jul 21 22:04:43 1998 Michael Widenius <monty@tik>
+
+* One can now store -838:59:59 <= x <= 838:59:59 in a TIME column.
+* TIME_TO_SEC() and SEC_TO_TIME() can now handle negative times and hours
+ up to 32767.
+
+Mon Jul 20 20:34:33 1998 Michael Widenius <monty@tik>
+
+* Change mysys/dbug to allocate all thread varibles in one struct.
+ This makes it easier to make a threaded libmysql.dll
+
+Sun Jul 19 12:54:45 1998 Michael Widenius <monty@tik>
+
+* Changed ALTER TABLE to make it more multi-thread safe.
+* normal INSERT INTO TABLE are now also cached when used with
+ LOCK TABLES. (previously only INSERT ... SELECT and LOAD DATA INFILE
+ was cached)
+
+Fri Jul 17 20:53:23 1998 Michael Widenius <monty@tik>
+
+* Allow group functions with HAVING:
+ SELECT col FROM table GROUP BY col HAVING COUNT(*)>0;
+
+Tue Jul 14 15:11:52 1998 Michael Widenius <monty@tik>
+
+* Use the result from 'gethostname' as the name for pid files
+ (instead of uname()).
+
+Sun Jul 12 12:38:45 1998 Michael Widenius <monty@tik>
+
+* Index only optimization; Some queries are now resolved using
+ only indexes. Until MySQL 4.0 this works only for number columns.
+
+ SELECT key_part1,key_part2 FROM table WHERE key_part1=#
+ SELECT COUNT(*) FROM table WHERE key_part1=# and key_part2=#
+ SELECT key_part2 FROM table GROUP BY key_part1;
+ SELECT * FROM table ORDER BY key_part2;
+
+1998-07-07 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Added function DATE_ADD() and DATE_SUB()
+
+1998-07-06 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Added function SUBSTRING() with 2 arguments.
+
+1998-07-05 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Added optimization to remove const reference tables from ORDER BY and
+ GROUP BY.
+* Allow '$' in table and column names.
+
+1998-07-04 Michael Widenius <monty@monty.pp.sci.fi>
+
+* new option --tmpdir for mysqld.
+
+1998-07-03 Michael Widenius <monty@monty.pp.sci.fi>
+
+* MySQL now automaticly changes a query from an ODBC client:
+ SELECT ... from table WHERE auto_increment_column IS NULL
+ to
+ SELECT ... from table WHERE auto_increment_column == LAST_INSERT_ID().
+ This allows some ODBC programs (Delphi, Access) to retrieve the newly
+ inserted row to fetch the auto_increment id.
+* Drop table now waits for all users to free a table before deleting it
+
+1998-07-02 Michael Widenius <monty@monty.pp.sci.fi>
+
+* New functions: BIN(), HEX() and CONV() for converting between different
+ number bases.
+
+1998-07-01 Michael Widenius <monty@monty.pp.sci.fi>
+
+* If one created a table with smaller record length than 5, one couldn't
+ delete rows from this table
+* mysqld now automaticly disables system locking on Linux, Win32 and if
+ one uses MIT-threads. One can force the use of locking by doing:
+ --enable-locking.
+* Added new mysqld option --console, to force a console window (for error
+ messages) when using Win32.
+* Removed a useless check in the ISAM delete code; Delete should now be
+ a bit faster.
+
+1998-06-28 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Release of MySQL 3.22.3
+* New flag to mysqld: --one-thread for debugging with linuxthreads (or glibc)
+
+1998-06-27 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Added the LEX structure to THD to get a bit more speed.
+* Added DROP TABLE IF EXISTS to not get an error if the table doesn't exists.
+* IF and EXISTS are now reserved words (they would have to be sooner or later)
+
+1998-06-26 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Added lots of new options to mysqldump.
+
+Wed Jun 24 23:33:35 1998 Michael Widenius <monty@tik>
+
+* Server error messages are now in mysqld_errror.h
+* Added compression server/client protocol. (By Sinisa).
+
+1998-06-22 Michael Widenius <monty@monty.pp.sci.fi>
+
+* New functions: <<, >>, rpad() and lpad().
+* Fixed a core-dump bug in the range optimizer.
+
+Fri Jun 19 01:51:09 1998 Michael Widenius <monty@tik>
+
+* One can now save default options (like passwords) in a config file (my.cnf).
+
+1998-06-17 Michael Widenius <monty@monty.pp.sci.fi>
+
+* searching on multiple constant keys that matched > 30 % of the rows didn't
+ always use the best possible key.
+
+1998-06-16 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Lot's of small changes to get ORDER BY to work when no records are found
+ when using fields that are not in GROUP BY (MySQL extension)
+* Added new option --chroot to mysqld to start mysqld in a chroot environment
+ (by Nikki Chumakov <nikkic@cityline.ru>)
+
+1998-06-15 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Add option --one-database to mysql to only update one database
+ from a update log.
+
+1998-06-13 Michael Widenius <monty@monty.pp.sci.fi>
+
+* end space is now ignored when comparing case sensitive strings;
+ This should fix some problems with ODBC!
+* mysql_free_result() now automaticly handles a mysql_use_result() set that
+ is not completely read.
+
+1998-06-10 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Release of MySQL 3.22.1
+* Fixed problems with date_format() and wrong dates.
+* enum() and set() columns was compared binary; Changed to be case insensitive.
+
+1998-06-08 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Added new API functions: mysql_init() and mysql_options().
+ One MUST now call mysql_init() before one calls mysql_real_connect().
+ One doesn't have to call mysql_init if one only calls mysql_connect().
+* LEFT JOIN core dumped if the second table is used with a constant
+ WHERE/ON expression with uniquely identifies one record.
+
+1998-06-07 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Range optimizer is not used anymore when comparing a string column
+ to a number. This will make such compares slower but safer.
+
+Sun Jun 7 04:47:14 1998 Michael Widenius <monty@tik>
+
+* UPDATE now returns a update information about how many rows was
+ matched, updated and if one got any 'warnings' when doing the update.
+
+Sat Jun 6 22:58:02 1998 Michael Widenius <monty@tik>
+
+* Fixed wrong result from 'format(-100,2)'.
+
+1998-06-06 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Added new C-API function: mysql_ping().
+* Added options AFTER column and FIRST to ALTER TABLE ... ADD columns.
+ This makes is possible to add a new column at some specific location
+ in an old table.
+* Fixed problem with find_in_set().
+
+1998-05-18 Michael Widenius <monty@analytik>
+
+* Added new API function: mysql_ping().
+
+1998-05-15 Michael Widenius <monty@monty.pp.sci.fi>
+
+* WEEK() now takes an optional argument to allow handling of weeks when the
+ first day of the week = Sunday (default or 0) or Monday ( extra argument is
+ 1). WEEK() now returns the week number in the range 0-53 for the used
+ year.
+
+1998-05-13 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Added flag -T32 to mysqld for running all queries under the main thread.
+ This makes it possible to debug mysqld under Linux with gdb!
+ (This is now called --one-thread)
+
+1998-05-12 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Added optimization of 'not_null_column IS NULL' (needed for some Access
+ queries)
+* Made all time functions 'more streamlined'.
+
+1998-05-09 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Allow one to use STRAIGHT_JOIN between two tables to force the optimizer
+ to join them in a specific order.
+
+Fri May 8 02:35:00 1998 Michael Widenius <monty@bitch.pp.sci.fi>
+
+* Added SET OPTION PASSWORD='new_crypted_password' and
+ SET OPTION PASSWORD= 'host' : 'user' : 'new_password'. The last version
+ only works for users with write access to the mysql database.
+ One can also use: SET OPTION PASSWORD=PASSWORD("new_password");
+
+Tue May 5 14:41:47 1998 Michael Widenius <monty@bitch.pp.sci.fi>
+
+* String functions now return VARCHAR() instead of CHAR() and
+ the column type is now VARCHAR() for fields saved as VARCHAR().
+ This should make the MyODBC driver better, but may break some old
+ MySQL clients that doesn't handle FIELD_TYPE_VARCHAR identical as
+ FIELD_TYPE_CHAR.
+
+Mon May 4 00:33:27 1998 Michael Widenius <monty@bitch.pp.sci.fi>
+
+* Added BOOL as a synonym for BIT and DISTINCTROW as a synonym for DISTINCT.
+* CREATE INDEX and DROP INDEX are now implemented trough ALTER TABLE.
+ CREATE TABLE is still the recommended (fast) way to create indexes.
+* Added option SET OPTION PASSWORD='new_password'.
+ mysqladmin can now be used by not anonymous users to change their
+ password.
+
+Sun May 3 18:47:24 1998 Michael Widenius <monty@bitch.pp.sci.fi>
+
+* Added option wait_timeout to mysqld.
+
+Sat Apr 18 14:14:23 1998 Michael Widenius <monty@bitch.pp.sci.fi>
+
+* Added hashing of fieldnames for tables with many fields.
+* The most frequently used string functions are now in assembler (Linux-intel).
+
+Thu Apr 16 16:14:14 1998 Michael Widenius <monty@bitch.pp.sci.fi>
+
+* Added quick checking if ok host.
+* Changed the interface for field->val_str() to better use stack buffers.
+
+Thu Apr 9 20:02:26 1998 Michael Widenius <monty@bitch.pp.sci.fi>
+
+* One can now reference to tables in different databases with:
+ table@database or database.table
+* Added cacheing of users & access rights (for faster access rights checking)
+
+1998-04-08 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Save of command line history to file in mysql client.
+ by Tommy Larsen <tommy@mix.hive.no>
+
+1998-04-07 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Added time column to 'mysqladmin processes' to show how long a query
+ has taken or how long a thread has sleeped.
+
+1998-04-06 Michael Widenius <monty@monty.pp.sci.fi>
+
+* 'show variables' now gives the correct path for 'datadir'.
+* Added logging and update_log to "show variables"
+
+1998-03-29 Michael Widenius <monty@analytik>
+
+* Added new type: YEAR. YEAR is stored on 1 byte with range 0, 1901-2155.
+* Added new DATE type that is stored on 3 bytes instead of 4. All new
+ tables will created with the new date type if one doesn't use
+ --old-protocol.
+* Fixed bug in record caches; One could get 'Error from table handler: #'
+ on some OS from some queries.
+
+1998-03-27 Michael Widenius <monty@monty.pp.sci.fi>
+
+* mysql (the command line tool) striped start space from new rows.
+
+1998-03-25 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Added user level locks: GET_LOCK(string,timeout), RELEASE_LOCK(string)
+* Fixed bug in range optimizer when using:
+ WHERE key_part_1 >= something and key_part_2 <= something_else
+* Changed connect timeout to 3 seconds to make it somewhat harder
+ for crackers to kill mysqld trough telnet + TCP/IP.
+
+1998-03-24 Michael Widenius <monty@monty.pp.sci.fi>
+
+* new mysqld option --big-selects:
+ Allow big result sets by saving all temporary sets on file.
+ (Solves most 'table full' errors)
+
+1998-03-21 Michael Widenius <monty@monty.pp.sci.fi>
+
+* WHERE with string-column-key = constant-string didn't always find all rows
+ if the column had many values differing only with characters of the same sort
+ value (like e and é).
+* Added opened_tables to 'show status'.
+* Strings keys looked up with 'ref' was not compared case sensitively.
+* Added flag '--big-selects' to avoid 'Table is full' errors.
+ Using this will slow down some queries thought.
+* Added umask() to make log_files non-readable for normal users.
+* Fixed some odd cases with queries that uses group functions where
+ the WHERE or HAVING didn't match anything.
+* Ignore users with old password (8 byte) on startup if not using
+ --old-protocol.
+* Changed name of the sql_memory allocation system and moved this to
+ the mysys library.
+
+1998-03-17 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Added use of current_date, current_time and current_timestamp functions
+ without (). This automaticly made these reservered words :(
+
+Tue Mar 10 12:34:50 1998 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Changed mysql_real_connect() to include possible db for faster connection
+ to a new db.
+* select which matched all key fields returned the values in the same
+ case as the matched values instead of the found values.
+* Release of 3.21.26
+* In DATE_FORMAT() PM and AM was swapped for hours 00 and 12.
+
+Mon Mar 9 14:15:00 1998 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Added some tests to the table order optimizer to get some cases with
+ 'SELECT ... FROM many_tables' much faster.
+* Added a retry loop around accept() to possible fix some problems on some
+ Linux machines.
+
+Fri Mar 6 01:18:47 1998 Michael Widenius <monty@monty.pp.sci.fi>
+
+* from_days(0) now returns "0000-00-00"
+* Enchanted mysql_connect protocol to allow one to specify database
+ on connection. This will make MySQL twice as fast to connect to a database
+ for new clients.
+
+Thu Mar 5 18:09:45 1998 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Updated record_cache code to be aligned for more speed.
+* New tests to crash-me
+* Extended the default max key size to 256.
+
+Wed Mar 4 00:02:16 1998 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Fixed bug when using BLOB/TEXT in GROUP BY with many tables.
+
+Mon Mar 2 18:58:10 1998 Michael Widenius <monty@monty.pp.sci.fi>
+
+* A enum field that is not declared NOT NULL has NULL as default value.
+ (Before the default value was the first enum option)
+
+Tue Feb 24 20:11:30 1998 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Fixed bug in the join optimizer code when using many part keys
+ on the same key: INDEX (Organisation,Surname(35),Initials(35)).
+
+Mon Feb 23 16:15:39 1998 Michael Widenius <monty@monty.pp.sci.fi>
+
+* One can now kill threads that are waiting for 'disk full'.
+* Fixed some problems with UDF functions.
+* ALTER TABLE + IGNORE now returns right number of affected rows.
+* Fixed a bug when using 8 bytes long (alpha); filesort() didn't work.
+ Affects DISTINCT, ORDER BY and GROUP BY on 64 bit processors.
+
+Sat Feb 21 15:36:48 1998 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Changed typedef string to my_string because of C++ new string class.
+* now one can kill threads that's are waiting on 'disk full'.
+
+Fri Feb 13 23:19:23 1998 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Release of MySQL 3.21.24
+* Fixed problem with LEFT JOIN and constant expressions in the ON part.
+
+Thu Feb 12 02:54:57 1998 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Added much more descriptive error messages to mysqladmin if connect failed.
+* Dynamic loadable functions. Based on source from:
+ Alexis Mikhailov <root@medinf.chuvashia.su>
+
+Thu Feb 5 15:19:14 1998 <monty@monty.pp.sci.fi>
+
+* One couldn't delete from a table if no one had done a select on the table.
+* Fixed problem with range optimizer which many OR's on key parts inside
+ each other.
+
+Tue Feb 3 14:34:32 1998 <monty@monty.pp.sci.fi>
+
+* Changed default umask for new files from 0664 to 0660.
+
+Fri Jan 30 23:58:19 1998 <monty@monty.pp.sci.fi>
+
+* Release of MySQL 3.21.23
+* Changed ALTER TABLE to work with WIN32 (Win32 can't rename open files)
+
+Thu Jan 29 20:37:50 1998 <monty@monty.pp.sci.fi>
+
+* Fixed that the following symbols are not reserved words:
+ TIME DATE TIMESTAMP TEXT BIT ENUM NO ACTION CHECK YEAR MONTH DAY HOUR
+ MINUTE SECOND STATUS VARIABLES.
+* Changed string handling in sql_yacc.yy and sql_lex.cc to be faster.
+* Setting a TIMSTAMP to NULL in LOAD DATA INFILE... didn't set the current
+ time for the TIMESTAMP.
+* Fixed that key conversions are tested in the WHERE clause
+* LOAD DATA INFILE .... REPLACE INTO ... had wrong 'skipped' count
+
+Tue Jan 27 15:24:50 1998 <monty@monty.pp.sci.fi>
+
+* Added switch --skip-thread-prior for systems where mysqld's thread
+ scheduling doesn't work properly. At least BSDI 3.1 works better with
+ this!
+* Added ODBC functions DAYNAME() and MONTHNAME().
+* Fixed unlikely(?) key optimizer bug when using ORs inside ANDs.
+
+Sat Jan 24 03:35:46 1998 <monty@monty.pp.sci.fi>
+
+* Release of 3.21.22
+* Added support of 'long constant strings' from ANSI SQL:
+ select 'first ' 'second'; -> 'first second';
+
+Mon Jan 19 17:59:49 1998 <monty@monty.pp.sci.fi>
+
+* Fixed problem with Russian character set and LIKE.
+* Fixed bug in ORDER BY on string formula with possible NULL values.
+* Added functions DAYOFYEAR(), DAYOFMONTH(), MONTH(), YEAR(), WEEK(),
+ QUARTER(), HOUR(), MINUTE(), SECOND() and FIND_IN_SET().
+* Changed weighting, when using many key parts, in join optimizer to avoid
+ full joins for a couple of cases.
+
+Sun Jan 18 21:16:06 1998 <monty@monty.pp.sci.fi>
+
+* Removed that NULL = NULL is true. Now one must use IS NULL or IS NOT NULL
+ to test if a value is NULL. (This is according to ANSI SQL but may break
+ old applications that are ported from mSQL)
+ One can get the old behaviour by compiling with -DmSQL_COMPLIANT
+* Fix of count(*) problems when the WHERE clause didn't match any records.
+* Added function DAYOFMONTH()
+
+1998-01-14 Michael Widenius <monty@analytik>
+
+* Fixed mysqladmin.c to display only the used socket or TCP/IP port.
+
+Mon Jan 12 19:32:31 1998 <monty@monty.pp.sci.fi>
+
+* Changed SHOW FIELDS to return NULL as default value for TIMESTAMP
+ (This removes the DEFAULT "" entry for timestamps in mysqldump)
+* Release of MySQL 3.21.21
+* Added commands SHOW STATUS and SHOW VARIABLES.
+* Fixed optimizer bug when using
+ 'WHERE data_field=date_field2 and date_field2=constant'
+
+Sun Jan 11 05:07:59 1998 <monty@monty.pp.sci.fi>
+
+* Release of MySQL 3.21.20
+* Added long comments to MySQL /* */
+* Changed lex parsing to be a bit faster in some cases.
+
+Sat Jan 10 15:17:44 1998 <monty@monty.pp.sci.fi>
+
+* Fixed bug when using SELECT DISTINCT + NULL values.
+
+Fri Jan 9 16:45:26 1998 <monty@monty.pp.sci.fi>
+
+* Changed maximum table name and column name lengths from 32 to 64.
+* Aliases can now be of 'any' length.
+
+Thu Jan 8 02:28:11 1998 <monty@monty.pp.sci.fi>
+
+* Now one gets an error if one tries to create an INDEX or UNIQUE
+ on a column that allows NULL values. (Before the column was silently
+ made NOT NULL).
+
+Wed Jan 7 23:19:11 1998 <monty@monty.pp.sci.fi>
+
+* Changed protocol (downward compatible) to mark if a column
+ is auto_increment or a timestamp. This is needed for the
+ new java driver.
+* One can now in the clients check if a column is a automatic
+ TIMESTAMP or a AUTO_INCREMENT field.
+
+Sun Jan 4 20:10:21 1998 <monty@monty.pp.sci.fi>
+
+* Added update of big5 by jou@pdlc.ieo.nctu.edu.tw
+* Added hebrew sorting order by Zeev Suraski.
+
+Thu Jan 1 12:57:04 1998 <monty@monty.pp.sci.fi>
+
+* Release of 3.21.19
+* unique key fields was not marked as unique keys in mysqlshow.
+* Added function REVERSE() (by Zeev Suraski)
+* Changed ni_range() to fixed a case of slow range searching.
+
+Wed Dec 31 15:46:25 1997 <monty@monty.pp.sci.fi>
+
+* Release of 3.21.18a
+* Fixed problem with new filesort code from 3.21.18 on Linux
+
+Mon Dec 29 10:02:24 1997 <monty@monty.pp.sci.fi>
+
+* Added CROSS JOIN syntax. CROSS is now a reserved word
+* USE database was not always written to output log.
+* mysqladmin command 'status' doesn't increment 'Questions' anymore.
+
+Sun Dec 28 13:20:20 1997 <monty@monty.pp.sci.fi>
+
+* Recoded yacc/bison stack allocation to be even safer and allow MysQL
+ to handle even bigger expressions.
+
+Sat Dec 27 15:28:39 1997 <monty@monty.pp.sci.fi>
+
+* last_insert_id and used timestamp is now written to update log file.
+ timestamps, calculations with time and LAST_INSERT_ID() will now work
+ correctly when updating from the update log.
+
+Fri Dec 26 17:03:14 1997 <monty@monty.pp.sci.fi>
+
+* Give error message if client C functions are called in wrong order.
+* Added automatic reconnect of clients for some cases.
+
+Mon Dec 22 00:25:34 1997 <monty@monty.pp.sci.fi>
+
+* Range optimizer didn't solve ranges of type:
+ key_part1= x AND key_part2 > y. This forced some ORDER BY queries to
+ do a full table scan when used with where like above.
+* Small sort sets doesn't use temporary files anymore.
+
+Fri Dec 19 16:30:24 1997 <monty@monty.pp.sci.fi>
+
+* Release of MySQL 3.21.17a
+* Fixed problem with compare of binary strings and blobs with ASCII
+ characters over 127.
+
+Thu Dec 18 00:33:25 1997 <monty@monty.pp.sci.fi>
+
+* Fixed core dump in first() when chaning some very specific AND and OR
+ key columns.
+* Fixed lock problem: When freeing a read lock on a table with multiple
+ read locks, a thread waiting for write lock would have given the lock.
+ This shouldn't affect data integrity, but could possible make mysqld
+ to restart if one thread was reading data that another thread modified.
+* LIMIT offset,count didn't work in INSERT ... SELECT.
+
+Wed Dec 17 12:35:11 1997 <monty@monty.pp.sci.fi>
+
+* optimized key block caching. This will be quicker than the old one when
+ using bigger key caches.
+
+Tue Dec 16 23:33:24 1997 <monty@monty.pp.sci.fi>
+
+* Changed bool to my_bool in some item structures to use less memory.
+* Changed optimizer to use array references. This made the code 'nicer'
+
+Mon Dec 15 17:03:43 1997 <monty@monty.pp.sci.fi>
+
+* Release of Mysql 3.21.17
+* mysql: Added ouput of line number on errors when running batch.
+* SELECT column,SUM(expr) now returns NULL for column when there is no
+ matching rows.
+
+Sun Dec 14 14:59:46 1997 <monty@monty.pp.sci.fi>
+
+* Fixed create problem with fixed length records of exactly 256 bytes.
+ (One couldn't insert more than 1 record in such a table).
+
+Fri Dec 12 18:31:32 1997 <monty@monty.pp.sci.fi>
+
+* Added ODBC and ANSI SQL style LEFT OUTER JOIN.
+ The following are new reserved words: LEFT, NATURAL, USING
+* Changed use of table bits and key bits to use typedefs to make it easy
+ to extend join tables and keys to 64.
+* The client library is now using the environment variable MYSQL_HOST as
+ the default host if it's defined.
+
+Wed Dec 10 01:29:11 1997 <monty@monty.pp.sci.fi>
+
+* Release of 3.21.16a
+* Field type SET with 33-55 elements didn't work.
+* Release of 3.21.16
+* Fixed bug in ALTER TABLE when copying from DATETIME to TIMESTAMP.
+ (All TIMESTAMP where set to current time).
+
+Tue Dec 9 14:53:15 1997 <monty@monty.pp.sci.fi>
+
+* Added function TIME_TO_SEC()
+
+Mon Dec 8 09:56:44 1997 <monty@monty.pp.sci.fi>
+
+* Allow empty strings as default values for BLOB and TEXT to be compatible with
+ mysqldump.
+* Added ODBC 2.0 & 3.0 functions: POWER(), SPACE(), COT(), DEGREES(), RADIANS(),
+ ROUND(2 arg) and TRUNCATE().
+* Added optional (ignored) argument to CURRENT_TIME() and CURRENT_TIMESTAMP().
+* LOCATE() parameters where swapped according to ODBC standard. Fixed.
+* Added detection of all ODBC 3.0 functions to crash-me
+* In some cases default values was not used for NOT NULL fields.
+* Timestamp wasn't updated in UPDATE SET... if the timestamp was used as
+ a value or in the WHERE clause.
+
+Sun Nov 30 04:06:31 1997 <monty@monty.pp.sci.fi>
+
+* Renamed version.h to mysql_version.h
+
+Sat Nov 29 10:50:28 1997 <monty@monty.pp.sci.fi>
+
+* Added dayofweek() for ODBC.
+* Allow DATE '1997-01-01', TIME '12:10:10' and TIMESTAMP '1997-01-01 12:10:10'
+ formats required by ANSI SQL.
+ This has the unfortunate side-effect that one can't have columns named
+ DATE, TIME or TIMESTAMP anymore :(
+* Changed net_write() to my_net_write() because of name conflict with sybase.
+* Added --no-auto-rehash option to mysql.
+* Added VARBINARY as synonym for VARCHAR BINARY
+
+Wed Nov 26 12:53:41 1997 <monty@monty.pp.sci.fi>
+
+* Added framework for multiple character sorting
+
+Tue Nov 25 04:03:29 1997 <monty@monty.pp.sci.fi>
+
+* Added extra client flag to mysql_real_connect to be compatible with
+ MyODBC.
+* Zeev fixed bug in DATE_FORMAT: It forgot to reset the null marker.
+
+Mon Nov 24 20:19:18 1997 <monty@monty.pp.sci.fi>
+
+* Fixed problem with wrong result order when using all of
+ DISTINCT + JOIN + ORDER BY + LIMIT.
+
+Sun Nov 23 14:29:54 1997 <monty@monty.pp.sci.fi>
+
+* mysql: edit command now allows one to edit last query in a editor;
+ (patch by Zeev Suraski)
+* Recoded all delete item to avoid use of stack space for deletes.
+ (For crash-me)
+* Added command: SET SQL_LOG_OFF=1 to not log commands to standard log.
+ This will only affect users with process list privileges.
+
+Sat Nov 22 13:08:55 1997 <monty@monty.pp.sci.fi>
+
+* Added stack checking for crash-me :)
+ The following failed before: select 1+1+1+1+1+.... (687 times)
+
+Fri Nov 21 01:50:34 1997 <monty@monty.pp.sci.fi>
+
+* Added new patch for Chinese Big5 code.
+* Change that blobs returns the max length for a blob instead of 8192
+ to the client as field_length.
+
+Thu Nov 20 15:37:05 1997 <monty@monty.pp.sci.fi>
+
+* fixed bug in range-optimizer that crashed mysql on some queries.
+* table and column name completion for mysql by
+ Zeev Suraski and Andi Gutmans
+* Fixed problem with queries that didn't find any records: This happens only
+ when using multiple part keys where the first part is a number and some
+ other part is a char or varchar.
+* Removed some wrong warning messages from range optimizer
+
+Wed Nov 19 16:41:14 1997 <monty@monty.pp.sci.fi>
+
+* Added new command REPLACE, which works like INSERT but replaces conflicting
+ records with the new record. REPLACE INTO TABLE ... SELECT ... works also.
+* Added new commands: CREATE DATABASE db_name and DROP DATABASE db_name
+* Added RENAME option to ALTER TABLE: ALTER TABLE name RENAME AS new_name
+
+Sun Nov 16 21:41:32 1997 <monty@monty.pp.sci.fi>
+
+* The thread stack was overwritten if one tried to create a table with too many
+ fields (more than 1000).
+- Table scanning was a bit slower when using LOCK TABLE xxx WRITE. Fixed.
+
+Thu Nov 13 03:12:54 1997 <monty@monty.pp.sci.fi>
+
+* ALTER TABLE forgot BINARY attribute for strings and BLOBS
+* Change comparision of strings to integer to compare as floats instead
+ of as integers.
+* Added printing of Access denied errors to log.
+* Fixed some not 100% portable typedefs in mysql_com.h
+* Added Luuk de Boers defines for interval handling.
+ This isn't compleat yet.
+
+Wed Nov 12 00:28:58 1997 <monty@monty.pp.sci.fi>
+
+* Added automatic removal of 'ODBC function conversions': {fn now() }
+* Added new function DATE_FORMAT(date_expr,format). The format string is the
+ same one that was previously integrated with from_unix_timestamp().
+* Changed from_unix_timestamp() to call function DATE_FORMAT() with format
+ element.
+
+Mon Nov 10 18:17:39 1997 <monty@monty.pp.sci.fi>
+
+* Added flag for stupid ODBC applications (like access) that wants found_rows
+ instead of affected_rows.
+* Added basic functions for handling av ANSI INTERVAL.
+
+Sat Nov 8 01:20:03 1997 <monty@monty.pp.sci.fi>
+
+* compare with DATE and TIME with NULL didn't work. (IS NULL worked)
+* Added many changes from the Win32 port.
+* new function: DATE_ADD_MM().
+
+Wed Nov 5 13:10:10 1997 Michael Widenius <monty@analytik>
+
+* SORTING on calculated DOUBLE values sorted on integer results instead.
+* SELECT ... WHERE KEY=constant ORDER BY ... didn't use key to retrieve
+ records. This was slow because everything was sorted..
+* CHECK isn't a reserved word anymore.
+
+Mon Nov 3 07:55:47 1997 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Allow start of mysqld.cc without a current database.
+* Changed server version to include -debug and -log if compiled with debugging
+ and to show that one has a logging enabled.
+
+Sat Nov 1 13:08:00 1997 <monty@monty.pp.sci.fi>
+
+* Added missing expression 'NOT IN'
+* Changed the place where HAVING should be. According to ANSI it should be
+ after GROUP BY but before ORDER BY. MySQL 3.20 had it wrongly last.
+* Added Sybase command: USE DATABASE to start using another database.
+* Fixed core dump when one had a wrong password in the password column.
+* Added automatic adjusting of number of connections and table cache size
+ if the maximum number of files that can be opened are less than needed.
+ This should fix that mysqld doesn't crash even if one hasn't done a
+ ulimit -n 256 before starting mysqld.
+* Added limit checks for create table.
+* Added more checks of different errors from net_read for SCO port.
+
+Tue Oct 28 14:30:31 1997 <monty@monty.pp.sci.fi>
+
+* Fixed problem when using big table_caches; MySQL could previously only
+ open 256 files.
+
+Mon Oct 27 10:02:19 1997 <monty@monty.pp.sci.fi>
+
+* Added options LINE STARTING WITH to LOAD DATA INFILE and
+ SELECT ... into outfile. Now one can do:
+
+ LOAD DATA INFILE '/tmp/syslog.sql' INTO TABLE uptime
+ FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED by "'"
+ LINES STARTING WITH 'VALUES (' LINES TERMINATED by ');\n' ignore 100 lines
+
+and
+ SELECT * from uptime into outfile '/tmp/syslog2.sql'
+ FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED by "'"
+ LINES STARTING WITH 'INSERT INTO uptime VALUES (' LINES TERMINATED by ');\n'
+
+* Added IGNORE # LINES to LOAD DATA INFILE.
+
+* Allow \N as a shorthand of NULL in SQL statements.
+
+Sun Oct 26 11:34:38 1997 <monty@monty.pp.sci.fi>
+
+* More memory checking.
+* Fixed grouping of functions with many from tables.
+
+Sat Oct 25 01:46:27 1997 <monty@monty.pp.sci.fi>
+
+* New error message so one can check if the connection was lost while
+ the command was running or if the connection was down from the start.
+* The mysql command tool now does a automatic reconnect if the connection
+ was lost when it does a query.
+* new command: 'mysqladmin debug'. This forces the server to dump out some
+ useful information to stdout. Currently it prints all lock information.
+* Rewrite lexer to be faster and more easy to extend.
+
+Fri Oct 24 13:57:06 1997 <monty@monty.pp.sci.fi>
+
+* Fixed bug when like on number key.
+* Added --table option to mysql to print in table format.
+ Moved time and row information after query result.
+* Added != as an alias for <>.
+
+Thu Oct 23 16:00:22 1997 <monty@monty.pp.sci.fi>
+
+* Added function VERSION() to make easier logs.
+
+Tue Oct 21 00:09:13 1997 <monty@monty.pp.sci.fi>
+
+* Relase of 3.21.12
+* Added memory checks to all string functions to return NULL if some
+ string gets bigger than max_allowed_packet. This is to make MySQL more
+ secure.
+* Fixed core dump bug on range optimizer.
+* In some cases doing a join + group + INTO OUTFILE, the result wasn't
+ grouped.
+* Now SQL_BIG_TABLES + DISTINCT is also optimized.
+* Changed the syntax of ALTER TABLE ... ALTER COLUMN ident SET DEFAULT ...
+ (The DEFAULT keyword wasn't allowed or required before).
+* Added russian error messages.
+
+Mon Oct 20 04:10:53 1997 <monty@monty.pp.sci.fi>
+
+* LIKE with '_' as last character didn't work. Fixed
+* Added many error checks for 'end of memory'
+* Added ENCRYPT() function by Zeev Suraski.
+* Fixed better FOREIGN KEY syntax skipping.
+ New reserved words: MATCH, FULL, PARTIAL
+
+Sun Oct 19 23:13:50 1997 <monty@monty.pp.sci.fi>
+
+* Force .log to logfile-name if one uses hostname as logfile.
+* mysqld now allows ip and hostname to the --bind-address option.
+
+Sat Oct 18 22:02:36 1997 <monty@monty.pp.sci.fi>
+
+* Added "SET OPTION CHARACTER SET cp1251_koi8" to enable conversions off
+ data to/from different character sets. Currently cp1251_koi8 is the only
+ one, but it's now trivial to add others.
+ Conversions: strings in the query -> intern set
+ fields and items in result -> terminal set
+ One can get back to the old one with:
+ SET OPTION CHARACTER SET DEFAULT
+* Lots of changes for Win95 port
+
+Fri Oct 17 15:29:44 1997 <monty@monty.pp.sci.fi>
+
+* Changed the create column syntax off NOT NULL to be after the DEFAULT value
+ as specified in the ANSI SQL standard. This will make mysqldump with
+ NOT NULL and default values incompatible with MySQL 3.20.
+* New reserved words are: BOTH, FOR, LEADING and TRAILING
+* Added a lot of function name alias so one can use the functions with
+ ODBC or ANSI SQL92 syntax.
+* Fixed ALTER TABLE person ALTER COLUMN phone SET DEFAULT NULL syntax.
+* Added CHAR and BIT as a synonyms for CHAR(1)
+* Changed the name if the INTERVAL type to ENUM, because INTERVAL is used in
+ ANSI SQL.
+* Added extended ANSI SQL TRIM() function.
+* Added CURTIME().
+
+Thu Oct 16 17:26:48 1997 <monty@monty.pp.sci.fi>
+
+* Fixed core dump when updating as user with only select privilige.
+
+Wed Oct 15 04:25:47 1997 <monty@monty.pp.sci.fi>
+
+* INSERT ... SELECT ... GROUP BY didn't work in some cases. On got
+ 'Invalid use of group function'
+* When using LIMIT, SELECT now always uses keys instead of record scan.
+ This will give better performance on SELECT and a WHERE that matches many
+ rows.
+* Added function last_insert_id() to retreive last auto_increment value.
+ This is for clients to ODBC that can't use the mysql_insert_id API function.
+* Added option '--flush-logs' to mysqladmin.
+* Added command 'status' to mysql.
+* Moved some messages from libmysql.c to errmsg.c
+
+Mon Oct 13 18:38:01 1997 <monty@monty.pp.sci.fi>
+
+* Tested on BSDI 3.0 with the newest pthread library.
+* Added new group functions: BIT_OR() and BIT_AND().
+* Added compatibility functions: CHECK, REFERENCES.
+* Added BIT as a synonym for CHAR(1) to get better compatibility.
+* Added option ALL to GRANT for better compatibility. (GRANT is still
+ a dummy fuction.
+* CHECK is now a reserved word.
+
+Fri Oct 10 17:01:25 1997 <monty@monty.pp.sci.fi>
+
+* Added partly translated dutch messages.
+* Fixed bug in ORDER BY and GROUP BY with NULL columns
+
+Thu Oct 9 10:26:47 1997 <monty@monty.pp.sci.fi>
+
+* Added test of create of table without columns.
+* Release of 3.21.10
+* Fixed a couple of bugs in the range optimizer. Now test-select works.
+
+Tue Sep 30 02:40:42 1997 <monty@monty.pp.sci.fi>
+
+* Added new function: REPEAT(string,count).
+* Added patch of support of Chinese(BIG5).
+* Fixed awful slowdown of libmysql.c when configuring using '--with-debug=yes'
+ This affected all clients that got large results from the server.
+ (This didn't affect using --quick or mysql_use_result).
+
+Sun Sep 28 20:59:41 1997 <monty@monty.pp.sci.fi>
+
+* Made a new function: mysql_real_connect, that takes two extra arguments:
+ port and socket to use on connection.
+* Added text types: TINYTEXT, TEXT, MIDDLETEXT and LONGTEXT.
+ These are actually blobs, but all searching is done text independent.
+ All old BLOB fields are now TEXT fields.
+* LONG VARCHAR is a synonym for TEXT. LONG BINARY is a synonym for BLOB.
+* 'LONG' is now a reserved word.
+
+Fri Sep 26 16:11:34 1997 <monty@monty.pp.sci.fi>
+
+* Release of 3.21.9
+* Fixed a couple of portable problems with include files.
+* Fixed bug in range calculation that could return empty
+ set when searching on multiple key with only one entry (very rare).
+
+Wed Sep 24 15:51:37 1997 <monty@monty.pp.sci.fi>
+
+* Changed thread scope from PROCESS to SYSTEM. This should give better
+ scheduling (performance) on Solaris.
+* Fixed duplicated free bug in sql_base with io_cache.
+
+Tue Sep 23 13:05:23 1997 <monty@monty.pp.sci.fi>
+
+* Allow also the old SELECT ... INTO OUTFILE syntax.
+* Fixed bug with group by and select on key with many values.
+
+Mon Sep 22 14:54:00 1997 <monty@monty.pp.sci.fi>
+
+* mysql_fetch_lengths() returned sometimes wrong lengths when one used
+ mysql_use_result(). This affected at least some cases of mysqldump --quick.
+
+Sun Sep 21 20:50:07 1997 <monty@monty.pp.sci.fi>
+
+* Fixed memory leak bug in range optimizer.
+
+Sat Sep 20 00:03:51 1997 <monty@monty.pp.sci.fi>
+
+* Allow TIME, DATE and TIMESTAMP as column names.
+* Fixed bug in optimization of WHERE const op field.
+
+Fri Sep 19 12:06:37 1997 <monty@monty.pp.sci.fi>
+
+* Fixed problem when sorting on NULL fields.
+* Added handling of calculation of sum() functions.
+* Added handling of trigometric functions: PI(), ACOS(), ASIN(), ATAN(),
+ COS(), SIN() and TAN().
+* Fixed sorting of big tables for 64 bit integers (Alpha).
+
+Fri Aug 29 13:06:32 1997 Michael Widenius <monty@analytik>
+
+* Added option --pid-file=# to mysqld
+* Added date formating to from_unixtime(), originally by Zeev Suraski.
+
+Wed Aug 27 01:35:18 1997 <monty@monty.pp.sci.fi>
+
+* Fixed bug when using 'unsigned long' on Alpa.
+
+Tue Aug 26 03:23:28 1997 <monty@monty.pp.sci.fi>
+
+* Added option --bind-address to mysqld.
+* Changed 'Access denied' to return username and password usage.
+* Changed 'Access to database denied' to return username and database.
+
+Sun Aug 24 22:55:24 1997 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Changed password crypt from 31 bits to 62 bits to make passwords more
+ secure.
+* Changed protocol to allow for passing of mysql_errno to client.
+
+Fri Aug 22 18:14:00 1997 <monty@monty.pp.sci.fi>
+
+* Fixed bug in BETWEEN in range optimizer (Did only test = of the first
+ argument).
+
+Thu Aug 21 16:40:21 1997 <monty@monty.pp.sci.fi>
+
+* Version 3.21.6
+* Enabled range optimizer for update and delete. Now update and delete can
+ use keys again.
+* Fixed bug when using unknown field in group clause.
+
+Tue Aug 19 00:49:13 1997 <monty@monty.pp.sci.fi>
+
+* The range optimizer is now enabled as default. Use msyqld --skip-new
+ to disable it.
+* numerous small fixes to the range optimzer and a couple if fixes to
+ group and where handling.
+* Added patch from JOERG_HENNE@Non-HP-Germany-om88.om.hp.com to allow
+ mit-threads to work on HPUX10. (This patch is regarded alpha)
+
+Fri Aug 15 02:29:21 1997 <monty@monty.pp.sci.fi>
+
+* Remove reverse lookup of hostnames because this takes 2 seconds
+ one some machines for every connection!
+ This can be enabled with the --secure option to mysqld.
+
+Thu Aug 14 22:40:15 1997 <monty@monty.pp.sci.fi>
+
+* remove HAVING -> WHERE optimization. To fix this one has to change
+ all Item_ref fields to Item_fields.
+* Added patch for fast TCP/IP on FreeBSD.
+
+Wed Aug 13 17:14:50 1997 <monty@monty.pp.sci.fi>
+
+* Add optimizing of SELECT DISTINCT .... LIMIT # when there is no
+ GROUP or ORDER BY.
+* Changed mysql to only print time information if not silent or if -vvv.
+* Added polish error messages
+
+Sun Aug 10 11:31:10 1997 <monty@monty.pp.sci.fi>
+
+* new function: substring_index(), originally by Zeev Suraski.
+* Added new option to mysqld: -O tmp_table_size=#
+* Removed all use of PTHREAD_MUTEX_INIT and PTHREAD_COND_INIT for
+ porting to FreeBSD 3.0 and HPUX.
+
+Thu Aug 7 01:24:50 1997 <monty@monty.pp.sci.fi>
+
+* New function from_unixtime(timestamp) which returns a date string in
+ YYYY-MM-DD HH:MM:DD format.
+* New function sec_to_time(seconds) which returns a string in H:MM:SS format.
+
+Sat Aug 2 17:18:22 1997 <monty@monty.pp.sci.fi>
+
+* Fixed some porting issues for OSF1 and for Alpha.
+ Now MySQL is know to configure on OSF1 with the Dec compiler,
+ after changeing one line in config.h:
+ #define SOCKET_SIZE_TYPE int
+
+Wed Jul 30 11:05:39 1997 <monty@monty.pp.sci.fi>
+
+* Added reverse check lookup of hostnames to get better security.
+* Fixed some possible buffer overflows if one uses too long filenames.
+* mysqld doesn't accept hostnames that starts with digits followed by a '.'
+ because the hostname may look like a IP.
+* Added option --skip-networking to only allow socket connections.
+ (This will not work with MIT threads!)
+
+Tue Jul 29 10:38:55 1997 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Removed wrong free() that killed the server on 'create/drop database'.
+* Changed the name of some mysqld -O options to better names.
+* Added option '-O join_cache_size=#'.
+* Added option '-O max_join_size=#' to be able to set a limit how big queries
+ (in this case big = slow) one should be able to handle without specifying
+ 'SQL_OPTION OPTION_BIG_SELECTS=1'.
+ A # = is about 10 examined records. The default is 'unlimited'.
+* When comparing a TIME, DATE, DATETIME or TIMESTAMP column to a
+ constant the constant is converted to a time value before comparing.
+ This will make it easier to get ODBC and particularly Access97 to work with
+ the above types. It should also make dates easier to use and the compares
+ should be quicker than before.
+* added check of too long table names for alias.
+
+Mon Jul 21 16:09:47 1997 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Applied patch from Jochen Wiedmann that fixes that query() in mysqlperl now
+ can take queries with \0 in it.
+
+Sat Jul 19 01:11:38 1997 Michael Widenius <monty@monty.pp.sci.fi>
+
+* Store of timestamp with 2 digit year YYMMDD didn't work.
+* Fix that timestamp isn't automaticly updated if set in a update clause.
+* Now the automatic timestamp field is the FIRST timestamp field.
+
+Thu Jul 3 13:34:26 1997 <monty@monty.pp.sci.fi>
+
+* Added check if database name is okey.
+* Addded check if too long table names.
+* SELECT * INTO OUTFILE, which didn't correctly if the outfile already existed.
+* 'mysql' now shows thread id when starting or doing a reconnect.
+* Changed the default sort buffer size from 2M to 1M.
+
+Mon Jun 30 10:18:39 1997 <monty@monty.pp.sci.fi>
+
+* mysqladmin: One can now do 'mysqladmin kill 5,6,7,8'
+* Fixed 'Packets out of order' message. This error come sometimes when the
+ server was out of threads/memory. Now the correct message is retrieved by
+ the client.
+* Added more checks with thread create for 'out of memory' errors.
+* Added more checks if threads is killed to get faster kill.
+* Changed the default record cache from 512K to 128K to get less problem on
+ systems with little memory.
+
+Sat Jun 28 00:18:02 1997 <monty@monty.pp.sci.fi>
+
+* When the max connection limit is reached, one extra connection by a user with
+ the PROCESS_ACL privilege is granted.
+
+Fri Jun 27 22:03:24 1997 <monty@monty.pp.sci.fi>
+
+* Added new mysqld option: -O backlog=#
+
+Tue Jun 24 22:08:58 1997 <monty@monty.pp.sci.fi>
+
+* Fixed SELECT DISTINCT when using 'hidden group'. For example:
+ SELECT DISTINCT MOD(some_field,10) FROM test GROUP BY some_field;
+* Increased max packet size from 512K to 1024K for client.
+* Removed a lot of unused functions
+
+Mon Jun 23 22:58:07 1997 <monty@monty.pp.sci.fi>
+
+* Changed key_parts to have own field for shortened keys. This gives much
+ nicer code in select.
+
+Thu Jun 19 13:09:14 1997 <monty@monty.pp.sci.fi>
+
+* ALTER TABLE now returns warnings from field conversions.
+ Changed all numerical fields to check for correct number and
+ increment warning counts if the value is wrong.
+
+Wed Jun 18 22:14:36 1997 <monty@monty.pp.sci.fi>
+
+* Fixed buffer overflow when retrieving big packets.
+
+Tue Jun 17 03:26:27 1997 <monty@monty.pp.sci.fi>
+
+* Port changed to 3306 (got it reserved from ISI).
+
+Mon Jun 16 15:46:42 1997 <monty@monty.pp.sci.fi>
+
+* All double are now rounded before storad as integer values.
+* Fixed bug when using: SELECT WHERE A=const1 OR A=const2 OR A=const3,
+ and const1 = const3. In this case a key over A=const1 was wrongly used and
+ A=const2 wasn't used.
+* Added a fix for Visual Fox Base so that any schema name from a table
+ specification is automaticly removed.
+
+Sun Jun 15 12:47:23 1997 <monty@monty.pp.sci.fi>
+
+* The thr_alarm array is now initialized based on number of connections
+* Changed some memcpy() to bmove() to get rid of some warnings from purify.
+* Changed the sql_yacc.c to drop schema name from table name. This is a crude
+ patch to get VFP
+
+Sat Jun 14 12:04:59 1997 <monty@monty.pp.sci.fi>
+
+* fixed missed ptr variable in filesort.
+* Fixed wrong tablename and record count EXPLAIN.
+* Changed the 'key use' test to prefere keys even more over full join.
+* Fixed LIKE to work for binary strings.
+
+Fri Jun 13 13:38:14 1997 <monty@monty.pp.sci.fi>
+
+* New function char(num,....).
+
+Wed Jun 11 14:53:17 1997 <monty@monty.pp.sci.fi>
+
+* All field types tested with extrema values. date_time and timestamp
+ now require at least year, month and day on insert.
+
+Mon Jun 9 01:23:36 1997 <monty@monty.pp.sci.fi>
+
+* Added French error messages (by Therrien, Gilbert). English is still default.
+* Added option '--skip-name-resolve' to get mysqld to use only IP's to
+ autenticate a host. 'localhost' will still be used for local UNIX sockets.
+* Removed the between() function. On should use the 'col BETWEEN a AND b'
+ syntax instead.
+
+Sun Jun 8 11:05:46 1997 <monty@monty.pp.sci.fi>
+
+* New function ASCII.
+
+Sat May 31 01:00:18 1997 <monty@monty.pp.sci.fi>
+
+* host names are now compared case insensitive.
+
+Wed May 28 13:04:00 1997 <monty@monty.pp.sci.fi>
+
+* HAVING is added to WHERE if there is no grouping.
+* MySQL now doesn't anymore have to use a extra temporary table when sorting
+ on functions or SUM functions.
+
+Tue May 27 00:54:51 1997 <monty@monty.pp.sci.fi>
+
+* Added function to print a item for debugging purposes.
+* Fixed bug that one couldn't use 'table_name.field_name' in UPDATE.
+* Removed init code with reset some of the mysqld -O variables to default after
+ they where set by start options.
+
+Thu May 22 14:52:26 1997 <monty@monty.pp.sci.fi>
+
+* Added varbinary syntax: 0x###### which can be used as a string (default) or a
+ number.
+
+Sun May 18 22:00:58 1997 <monty@bitch.sci.fi>
+
+* mysqldump: added options to lock tables and specify many tables to dump
+* Add support of NULL fields in filesort
+* SELECT with COUNT(),MIN() .... with no matching rows now returns 1 row.
+
+Sat May 17 22:06:29 1997 <monty@bitch.sci.fi>
+
+* New operator IN. This uses a binary search to find a match.
+* Added 'SET OPTION SQL_BIG_TABLES= (0 | 1). Setting this to 1 will force
+ all temporary tables to disk. This will allow one to do big selects that
+ ordinary would give a 'table full' error.
+
+Fri May 16 18:53:21 1997 <monty@bitch.sci.fi>
+
+* New command LOCK TABLES table_name [alias] (READ | WRITE), ....
+
+Wed May 14 14:33:07 1997 <monty@bitch.sci.fi>
+
+* Renamed FIELD_TYPE_CHAR to FIELD_TYPE_TINY
+
+Mon May 12 09:54:24 1997 <monty@bitch.sci.fi>
+
+* Added command --log-update to get a update log for incremental backups.
+* log file rotation for mysqld.
+* log file for incremental backups
+* new command: DESCRIBE SELECT ....
+* Removed mysql_reload() and added mysql_refresh() instead.
+ Left a define to get old source to compile.
+
+Fri May 9 10:41:36 1997 <monty@bitch.sci.fi>
+
+* All functions now regards a binary type as 'sticky'.
+* The time is now only requested once at start of each query.
+* Splitted item_func.cc in two tables to get around that gcc uses too
+ much memory compiling it.
+* Changed MIN() and MAX() to return the original type.
+* Fixed bug in acl with anonymous user: Now if one gets accepted by the user
+ table as a empty user name, the user name is set to '' when checking against
+ the 'db' and 'host' tables.
+* calculate all const expressions in the first optimizer pass.
+
+Tue May 6 19:16:56 1997 <monty@bitch.sci.fi>
+
+* Fixed ORDER BY bug when selecting on very small tables that made the
+ optimizer use a full join.
+
+Mon May 5 00:15:52 1997 <monty@bitch.sci.fi>
+
+* Added use of table alias in insert, delete and update.
+* Removed FIELD_TYPE_TINY_BLOB, FIELD_TYPE_MEDIUM_BLOB, FIELD_TYPE_LONG_BLOB,
+ FIELD_TYPE_VAR_STRING from client code.
+* Change syntax of SELECT .. WHERE ... INTO OUTFILE .. to the more standard
+ SELECT .. INTO OUTFILE 'name' WHERE ...
+
+Thu May 1 23:16:14 1997 <monty@bitch.sci.fi>
+
+* Added new API functions:
+ mysql_row_seek(),mysql_row_tell() and mysql_field_tell().
+ mysql_field_seek() now returns old offset.
+* Added expr BETWEEN expr2 AND expr3.
+
+Sun Apr 27 16:16:17 1997 <monty@bitch.sci.fi>
+
+* Changed range() detection to get queries on prefix to works faster.
+ Now SELECT name FROM table WHERE name="prefix" is quick even if there
+ are lots of rows where name starts with prefix.
+* Fixed crash with shutdown and --log-isam
+* Added group function STD() (standard derivation).
+* mysql.cc: Fixed that NULL columns are always at least 4 wide for nicer output
+ of NULL values.
+* Fixed that calculations that are not in GROUP BY works as expected.
+ (ANSI SQL extension)
+ Example: SELECT id,id+1 FROM table GROUP BY id
+
+Thu Apr 24 13:41:01 1997 Michael Widenius TcX DataKonsulter AB <monty@analytik>
+
+* Fixed convert bug which got mysqld to core dump with Aritmetic error on
+ Sparc-386
+
+Wed Apr 23 12:11:05 1997 Michael Widenius TcX DataKonsulter AB <monty@analytik>
+
+* Added tty password to mysqlshow.c
+
+Tue Apr 22 15:44:11 1997 Michael Widenius TcX DataKonsulter AB <monty@analytik>
+
+* The test of using MYSQL_PWD was reversed. Now MYSQL_PWD is enabled as default
+ in the default release
+
+Sun Apr 20 14:36:39 1997 <monty@bitch.sci.fi>
+
+* Now one usually only have to give --basedir to mysqld. All other paths
+ are relative in a normal installation.
+* BLOBs contained sometimes garbage when used with a SELECT on more than
+ one table and ORDER BY.
+* Added option --unbuffered to mysql. (For new mysqlaccess)
+* 'select *' without tables crashed server.
+* When using overlapping (unnecessary keys) and join over many tables
+ the optimizer could get confused and return 0 records.
+* Changed safe_mysqld to allow one to move installed releases.
+
+Sun Apr 13 10:40:50 1997 <monty@bitch.sci.fi>
+
+* Release 3.20.17
+* Added new function unix_timestamp([timestamp_column])
+
+Sat Apr 12 11:27:57 1997 <monty@bitch.sci.fi>
+
+* Fixed memory over run bug when using selects with many brace levels.
+* Change from_days() and weekday() to also take a full timestamp or
+ a datetime as argument. Before they only took a number of type YYYYMMDD or
+ YYMMDD.
+
+Wed Apr 9 13:22:24 1997 Michael Widenius <monty@bitch.sci.fi>
+
+* Changed stack usage to use less memory.
+* All communication packages and row buffers are now alloced on demand.
+ The default communication buffers are now smaller than before.
+* count(field) where field could have a NULL value didn't work.
+* IS NULL and IS NOT NULL now work in the WHERE.
+* BLOBs now work in the WHERE.
+* Remove pre-space from numbers when writing decimal() coulmns to file.
+* INSERT INTO ... SELECT .. WHERE could give the error 'Dupplicated field'
+
+Tue Apr 8 16:14:54 1997 Michael Widenius <monty@bitch.sci.fi>
+
+* Added commands SET OPTION SQL_SELECT_LIMIT=# to provide framework
+ for options and to get some ODBC things to work.
+* Fixed bug in SELECT ... two tables ... GROUP BY
+* Fixed bug in INSERT ... SELECT ... GROUP BY
+* Fixed bug in acl: To use FILE_PRIV one also had to have SELECT PRIV
+ in the user grant table.
+* Fixed fatal bug in ranged querie with OR when one part of the query didn't
+ have any matching records.
+
+Mon Apr 7 16:03:00 1997 Michael Widenius <monty@bitch.sci.fi>
+
+* Now connections are allowed even if hostname isn't found.
+ In this case all hostname checks are done on IP.
+* When doing insert on timestamps, the timestamp was set to the
+ current time even if updated by a value.
+* Fixed LOAD DATA.. that if one has COLUMN TERMINATED BY to be same as
+ LINE TERMINATED BY, then LINE TERMINATED BY is set to a empty string.
+ This wasn't a bug, but a common mistake when reading columns separated
+ with newlines.
+
+Sun Apr 6 22:37:53 1997 Michael Widenius <monty@bitch.sci.fi>
+
+* Changed definition of function ELT as it should have been:
+ ELT(index,element,element,element....) now returns the index:s
+ element in the list. The first element has index 1.
+ FIELD(find,string,string,string) searches after the 'find' string
+ in the string list and returns a index to the found string.
+ The strings are compared case insensitive.
+* Added some tests to safe_mysqld to make it 'safer'
+
+Fri Apr 4 02:17:40 1997 Michael Widenius <monty@bitch.sci.fi>
+
+* When sorting the db grant table, host wasn't sorted.
+
+Wed Apr 2 03:00:14 1997 Michael Widenius <monty@bitch.sci.fi>
+
+* Fixed case 'WHERE key_num_column = "string"'
+* LIKE was case sensitive in some places and case insensitive in other.
+ Now LIKE is always case insensitive.
+* Fixed bug in select optimizer when using many tables with the same
+ column used as key to different tables.
+
+Sun Mar 30 21:22:39 1997 Michael Widenius <monty@bitch.sci.fi>
+
+* mysql.cc; Allow '#' anywhere on the line.
+
+Thu Mar 27 02:42:12 1997 Michael Widenius <monty@bitch.sci.fi>
+
+* Added new latin2 and Russian KOI8 character tables.
+* Added support for a dummy GRANT command satisfy Powerbuilder.
+
+Wed Mar 26 03:03:07 1997 Michael Widenius <monty@bitch.sci.fi>
+
+* Release of 3.20.15
+* Removed possible loop when thread waits for command from client
+ and fcntl() fails. Thanks to Mike Bretz for finding this bug
+
+Tue Mar 25 18:03:15 1997 Michael Widenius <monty@bitch.sci.fi>
+
+* Changed alarm loop in mysqld.cc because shutdown didn't always
+ succeed in Linux.
+* Removed use of termbits from mysql.cc This conflicted with glibc 2.0
+* Fixed syntax error in get_password.c (for BSD). Added flush of line.
+* Added test if 'linux' style gethostbyaddr_r in mysqld.cc
+* Fixed bug when doing a select as superuser without a database.
+* Fixed bug when doing SELECT with group calculation to outfile.
+
+Mon Mar 24 16:03:01 1997 Michael Widenius <monty@bitch.sci.fi>
+
+* Release of 3.20.14
+* Added new function SOUNDEX()
+* If one gives '-p' or -password to mysql or mysqladmin without an argument,
+ the password will be asked from the tty.
+
+Sun Mar 23 00:19:42 1997 Michael Widenius <monty@bitch.sci.fi>
+
+* Sometimes when doing a reconnect on a down connection this succeded
+ first on second try. Fixed by removing handling of SIGPIPE in client.
+* When adding a auto_increment key with ALTER_TABLE on got the error:
+ 'Can't write, duplicate key'.
+
+Sat Mar 22 22:55:12 1997 Michael Widenius <monty@bitch.sci.fi>
+
+* AVG() gave too small value on some selects with GROUP BY and ORDER BY.
+
+Fri Mar 21 12:27:32 1997 Michael Widenius <monty@bitch.sci.fi>
+
+* Added new DATETIME type (by Giovanni Maruzzelli <maruzz@matrice.it>)
+* Fixed that define 'DONT_USE_DEFAULT_FIELDS' works
+* Added default password from MYSQL_PWD. (by Elmar Haneke)
+* Changed C++ code to be compatible with Sun Workshop
+
+Thu Mar 20 12:28:06 1997 Michael Widenius TcX DataKonsulter AB <monty@analytik>
+
+* Changed to use a thread to handle alarms instead of signals on Solaris to
+ avoid race conditions.
+* Fixed default length of signed numbers. (George Harvey <georgeh@pinacl.co.uk>)
+* Added commando 'kill' to mysqladmin to kill a specific mysql thread.
+
+Wed Mar 19 12:21:33 1997 Michael Widenius TcX DataKonsulter AB <monty@analytik>
+
+* sql_base.cc: Allow anything for CREATE INDEX.
+
+Mon Mar 17 19:54:11 1997 Michael Widenius TcX DataKonsulter AB <monty@analytik>
+
+* Add prezeros when packing numbers to DATE, TIME and TIMESTAMP.
+* Fixed the OR bug for good.
+
+Fri Mar 14 11:46:54 1997 Michael Widenius <monty@bitch.sci.fi>
+
+* Release 3.20.13
+* Added changes by bonis@kiss.de to allow WHERE const op field
+* Fixed bug in mysql.c when reading long commands from batch.
+* mysqldump.c
+ Changed newlines, return and ASCII 0 to "\n", "\r" and "\0",
+ to allow restoring of columns with these.
+
+Thu Mar 13 20:02:53 1997 Michael Widenius <monty@bitch.sci.fi>
+
+* Fixed bug in select with and-or levels.
+
+Mon Mar 10 04:04:03 1997 Michael Widenius <monty@bitch.sci.fi>
+
+* Added support for Slovenian characters.
+* Fixed bug with limit and order by.
+* Allow order and group on items that isn't in the select list.
+
+Sun Mar 9 00:21:36 1997 Michael Widenius <monty@bitch.sci.fi>
+
+* Added ANSISQL94 DATE and TIME types. Changed TIMESTAMP fields to work better
+ when updateing it with a number.
+
+Sat Mar 8 20:19:21 1997 Michael Widenius <monty@bitch.sci.fi>
+
+* Allow setting of timestamp values in INSERT.
+* Fixed bug with SELECT ... WHERE ... = NULL.
+* Added changes for glibc 2.0
+
+Fri Mar 7 07:53:01 1997 Michael Widenius <monty@bitch.sci.fi>
+
+* Fixed bug in alter table when changeing a not null field to allow NULLs.
+* Added HAVE_READDIR_R as a define which can be removed if one has
+ a broken readdir_r implementation (Sparc/Linux).
+
+Thu Mar 6 21:06:02 1997 Michael Widenius <monty@bitch.sci.fi>
+
+* Added some ANS92 synonyms as field types to CREATE TABLE.
+ CREATE TABLE now allows FLOAT(4) and FLOAT(8) to mean FLOAT and DOUBLE.
+
+Wed Mar 5 00:41:29 1997 Michael Widenius <monty@bitch.sci.fi>
+
+* Release 3.20.11
+* Added sync of records count in sql_update. This fixed slow updates on first
+ connection. (Thanks to Vaclav Bittner for the test)
+* Changed temporary file prefix from UN to MY.
+* When using SELECT .... INTO OUTFILE all temporary tables are ISAM instead of
+ HEAP to allow big dumps.
+* Changed date functions to be 'string functions'. This fixed some 'funny'
+ side effects when sorting on dates.
+
+Tue Mar 4 23:07:03 1997 Michael Widenius <monty@bitch.sci.fi>
+
+* Changed FOREIGN KEY to not create a key. Now it's only for compability.
+* Extended ALTER TABLE according to SQL92.
+* Some minor compability changes.
+* Added --port and --socket to all utility programs and mysqld.
+
+Sat Feb 15 01:27:51 1997 Michael Widenius <monty@bitch.sci.fi>
+
+* Added Oracle command DESCRIBE (DESC) as a synomym for some SHOW commands:
+ DESC table_name <==> SHOW FIELDS FROM table_name
+ DESC table_name column <==> SHOW FIELDS FROM table_name LIKE 'column'
+ DESC table_name 'column' <==> SHOW FIELDS FROM table_name LIKE 'column'
+ mysql.cc thought that tinyblob, mediumblob and longblob was numerical.
+ (Was right adjusted)
+
+Thu Feb 13 00:49:29 1997 Michael Widenius <monty@bitch.sci.fi>
+
+* mediumblob didn't work.
+* Fixed safe_mysqld and make_binary_distribution to work better.
+* ALTER TABLE and changeing a BLOB to a CHAR() added some garabage at
+ string end.
+
+Wed Feb 12 16:10:49 1997 Michael Widenius <monty@bitch.sci.fi>
+
+* new insert type: INSERT INTO ... SELECT ....;
+
+Tue Feb 11 12:58:36 1997 Michael Widenius <monty@bitch.sci.fi>
+
+* Fixed some defines to get mysql to compile on freebsd 2.0 (intel)
+* Removed all _A() from prototype declaration.
+* Removed use of ulong in mysql.h and mysql_com.h
+* Changed mysqldump to dump keynames.
+* SELECT ... INTO OUTFILE 'test' create the file in the base directory
+ instead in database directory (if one didn't give a full path)
+* A primary key is now defined as a key with name PRIMARY or the first
+ unique key if there doesn't exist a key with name PRIMARY.
+
+Mon Feb 10 00:40:48 1997 Michael Widenius <monty@bitch.sci.fi>
+
+* Fixed leak bug when using LOAD DATA into a blob with is sometimes NULL.
+* DROP TABLE can now take a list of tables.
+* If a databas was crashed, in some cases a read of the wrong record
+ was used as a 'end of file', instead of returning an error.
+
+Sat Feb 8 00:16:07 1997 Michael Widenius <monty@bitch.sci.fi>
+
+* merged structs field_t and FIELD to FIELD.
+
+Fri Feb 7 12:49:01 1997 Michael Widenius <monty@bitch.sci.fi>
+
+* version 3.20.9
+* Alter table didn't copy null bit. This resulted that NULL fields where
+ always NULL.
+* CREATE didn't take numbers as DEFAULT.
+
+Wed Feb 5 13:28:19 1997 Michael Widenius <monty@bitch.sci.fi>
+
+* New scripts 'add_file_priv' which add the new field 'file_priv'
+ to the user table. This scripts must be executed if one wants to
+ use the new SELECT ... INTO and LOAD DATA INFILE... commands
+ with a version of mysql less than 3.20.7.
+* Found bug in locking code when another thread got a table opened
+ by another thread. This could make a thread block forever wating
+ for a write lock.
+
+Tue Feb 4 00:57:24 1997 Michael Widenius <monty@bitch.sci.fi>
+
+* Changed select_test.c and insert_test.c to include config.h
+
+Mon Feb 3 00:42:08 1997 Michael Widenius <monty@bitch.sci.fi>
+
+* Add an optional keyname for all key declarators.
+
+Sat Feb 1 19:02:43 1997 Michael Widenius <monty@bitch.sci.fi>
+
+* Added command 'status' to mysqladmin for short logging.
+* Increased max keys to 16 and max key parts to 15.
+
+Fri Jan 31 00:05:23 1997 Michael Widenius <monty@bitch.sci.fi>
+
+* Added ANSI92 extended ALTER TABLE statement.
+* Changed all locking code to detect ALTER table after one got a lock.
+ Tables are automaticly reopened if ALTERed.
+* Changed some structs to classes to get better code when using CREATE TABLE.
+
+Thu Jan 30 01:12:13 1997 Michael Widenius <monty@bitch.sci.fi>
+
+* Added new privilege to the user grant table: file_priv
+* Added some compitibility changes to mysql.cc
+* Added new syntax for creating keys with is a sub part of some field.
+* Did a lot of changes to get around bug when comparing fields of
+ different lengths. Hope I didn't break something else :)
+* Added long options to mysqldump.
+* Added new function NOW().
+
+Wed Jan 29 15:51:22 1997 Michael Widenius <monty@bitch.sci.fi>
+
+* Added option -k for mysqlshow to get key info for table.
+* Changed some definitions from int to uint in mysql.h to get fewer warning
+ with prolint.
+
+Mon Jan 27 02:01:29 1997 Michael Widenius <monty@bitch.sci.fi>
+
+* Added sql command 'load data infile...' for export from textfiles.
+* Added new API function mysql->info to pass info to client.
+* Added INTO OUTFILE as option to select to get result to file.
+
+Fri Jan 24 14:56:19 1997 Michael Widenius <monty@bitch.sci.fi>
+
+* Relase 3.20.5-beta
+* Got first version to work which MIT-threads.
+* Added long options to mysqld
+* mysqld now starts without system locking if compiled with MIT threads.
+* 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.
+ one have to use mysql_real_query() to send the query.
+
+Thu Jan 23 00:33:26 1997 Michael Widenius <monty@bitch.sci.fi>
+
+* Added API function: mysql_get_client_info
+* mysqld now uses the N_MAX_KEY_LENGTH from nisam.h as the max allowed key
+ length.
+* The following now works: "select filter_nr,filter_nr from filter order by
+ filter_nr"
+ Before you got the error: "Column: 'filter_nr' in order clause is ambiguous"
+
+Wed Jan 22 14:48:58 1997 Michael Widenius <monty@bitch.sci.fi>
+
+* Changed fctnl flag O_NDELAY to O_NONBLOCK (Posix, and to get MIT threads
+ to work)
+
+Tue Jan 21 12:31:17 1997 Michael Widenius <monty@bitch.sci.fi>
+
+* mysql now outputs \0 \t \n and \\ when writing tab separated output.
+ when encountering ascii 0, tab, newline or \. This is to allow printing of
+ binary data in a portable format.
+ To get old behavior use -r (or --raw).
+* Added long options to mysqladmin, mysql and mysqlshow.
+* Added german error messages (60 of 80 error messages translated)
+* Added new api function: mysql_fetch_lengths(MYSQL_RES *) which
+ returns a array of of column lengths (of type uint).
+
+Sat Jan 18 23:59:53 1997 Michael Widenius <monty@bitch.sci.fi>
+
+* Fixed bug with IS NULL in where clause.
+
+Fri Jan 17 12:14:38 1997 Michael Widenius <monty@bitch.sci.fi>
+
+* 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.
+
+Thu Jan 16 00:55:41 1997 Michael Widenius <monty@bitch.sci.fi>
+
+* Added support of comment starting with '--' in mysql.cc (Postgres syntax)
+* You can now have select_expressions and table columns in a select which
+ are not used in the group part. This makes it efficient to implement lookups.
+ If the not used column is not a constant for the group the column value
+ is unspecified.
+ Example: SELECT id,lookup.text,sum(*) FROM test,lookup
+ WHERE test.id=lookup.id group by id;
+
+* Fixed bug in sum(function) (Could make core dump)
+* Changed auto_increment according to SQL_SYNTAX:
+ INSERT into table (auto_field) values (0) inserted 0, but the SQL_SYNTAX
+ statied it should insert a auto_incremnt value.
+
+Wed Jan 15 10:42:09 1997 Michael Widenius <monty@bitch.sci.fi>
+
+* mysqlshow.c: Added number of records in table. Had to change the client code a
+ little to fix this.
+* mysql now allows double '' or "" in strings for embedded ' or ".
+* Changed copyright text in mysqlshow and mysqladmin.
+
+Mon Jan 13 02:33:09 1997 Michael Widenius <monty@bitch.sci.fi>
+
+* Relase 3.20.3
+* Using the new readline library from bash.
+* Updated a lot of text files.
+* safe_mysqld and mysql.server changed to be more compatible between the
+ source and the binary releases.
+
+Sun Jan 12 18:23:30 1997 Michael Widenius <monty@bitch.sci.fi>
+
+* LIMIT takes now one or two numerical arguments.
+ If one argument the argument indicates the maximum number of rows in a result.
+ If two arguments the first arguments says the offset to the first row to return,
+ the second is the maximum number of rows.
+ With this it's easy to do a poor mans next page/previous page www application.
+* Changed name of SQL function FIELDS to ELT.
+* Made SHOW COLUMNS a synonym for SHOW FIELDS.
+ Added compatibility syntax FRIEND KEY to create table. This creates in mysql
+ a non unique key on the given columns.
+* Added CREATE INDEX and DROP INDEX as compatibility functions. In mysql
+ CREATE INDEX only checks if the index exists and gives an error if it doesn't
+ exists. DROP INDEX always succeeds.
+
+Sat Jan 11 00:44:29 1997 Michael Widenius <monty@bitch.sci.fi>
+
+* mysqladmin.c: Added client version to version info.
+
+Fri Jan 10 20:30:04 1997 Michael Widenius <monty@bitch.sci.fi>
+
+* Fixed core dump bug in sql_acl (core on new connection).
+* Removed host,user and db tables from database test in the distribution.
+* FIELD_TYPE_CHAR can now be signed (-128 - 127) or unsigned (0 - 255)
+ Before it was always unsigned.
+
+Thu Jan 9 00:02:03 1997 Michael Widenius <monty@bitch.sci.fi>
+
+* Changed name from mysqllib to mysqlclient for mysql client lib.
+* The following failed: concat(1,concat(2),2).
+ Could not call a variable argument function in a variable argument count
+ function. Fixed.
+
+Wed Jan 8 15:58:49 1997 Michael Widenius <monty@bitch.sci.fi>
+
+* weekday() returned wrong day 6 of 7 times.
+
+Mon Jan 6 23:49:31 1997 Michael Widenius <monty@bitch.sci.fi>
+
+* changed a lot of source to get mysqld to be compiled with SUNPRO compiler.
+* sql functions must now have a '(' directly after the function name.
+ user '(' is now regarders as an identifier and a '('
+
+Fri Jan 3 12:18:14 1997 Michael Widenius <monty@bitch.sci.fi>
+
+* Fixed possible bug when sorting with float and double.
+ Changed static sort_length to thread variable. This may have caused some
+ big sorts to fail when running two simultaneous sorts.
+* Changed sql function INTERVALL() to INTERVAL().
+
+Wed Jan 1 16:18:30 1997 Michael Widenius <monty@bitch.sci.fi>
+
+* Added some portability files for testing with RTS threads.
+* Lot of changes for configure.
+
+Sun Dec 29 13:26:52 1996 Michael Widenius <monty@bitch.sci.fi>
+
+* Remove Makefile-linux-pl and Makefile-solaris-pl from the binary distribution.
+ Now only Makefile.PL is needed.
+
+Sat Dec 28 22:41:09 1996 Michael Widenius <monty@bitch.sci.fi>
+
+* Fixed that insert with a timestamp set to NULL works. (This is for a cleaner
+ syntax)
+
+Fri Dec 27 01:28:02 1996 Michael Widenius <monty@bitch.sci.fi>
+
+* mysqld now has english & swedish error messages.
+* unireg files moved to sql directory changed to c++.
+
+Thu Dec 26 11:57:57 1996 Michael Widenius <monty@bitch.sci.fi>
+
+* mysqld: Added option 'b' for mysql basedir. All given directories is
+ prefixed with this if not given with hard path.
+ added option '-L' (language). Default is 'english/'
+ Moved all unireg files to sql directory.
+
+Fri Dec 20 11:05:37 1996 Michael Widenius TcX DataKonsulter AB <monty@ozelot>
+
+* Changed lex to allow a database name, table name and field name to start with
+ number or '_'.
+
+* mysqldump should now be able to dump all field types.
+ Changed 'show fields from table' to be fully compatible with create.
+* Some bugs when parsing 'create table' fixed. (Blobs and timestamps was effected)
+* Fixed one possible dead lock bug when using many tables.
+* Changed a lot for configure
+
+Sun Dec 15 02:29:53 1996 Michael Widenius <monty@bitch.sci.fi>
+
+* Added new functions: INSERT(),RTRIM(),LTRIM(),FORMAT().
+
+* New relase 3.19.5
+* Added functions DATABASE(),USER(),POW(),LOG10() (needed for ODBC).
+
+Sat Dec 14 10:10:42 1996 Michael Widenius <monty@bitch.sci.fi>
+
+* In a WHERE with a ORDER BY on fields from only one table the table is
+ now preferred as first table in a multi-join.
+* HAVING and IS NULL or IS NOT NULL now works.
+* a group on one column and a sort on a group function (SUM,AVG...) didn't
+ work together. Fixed.
+
+Fri Dec 13 07:20:47 1996 Michael Widenius <monty@bitch.sci.fi>
+
+* mysqldump: Didn't send password to server.
+
+* New relase 3.19.4
+* Fixed horrible locking bug when inserting in one thread and reading
+ on another thread.
+* Fixed one-off decimal bug. 1.00 was outputed as 1.0
+* Added attribute 'Locked' to process list as info if a query is
+ locked by another query.
+* Fixed full magic timestamp. Timestamp length may now be 14,12,10,8,6,4 or 2.
+
+Thu Dec 12 18:14:57 1996 Michael Widenius <monty@bitch.sci.fi>
+
+* sort on some number functions could be sorted wrong on last number.
+* if(arg,syntax_error,syntax_error) crashed.
+* added functions ceiling() and round(), exp(), log() and sqrt()
+* enchanted BETWEEN to handle strings.
+
+Wed Dec 11 09:09:02 1996 Michael Widenius <monty@bitch.sci.fi>
+
+* MYODBC: Sometimes password test failed because of faulty charactermap in
+ windows.
+
+Mon Dec 9 12:50:56 1996 Michael Widenius <monty@bitch.sci.fi>
+
+* new relase 3.19.3
+* Fixed that select with grouping on blob's doesn't return wrong blob info.
+ grouping, sorting and distinct on blobs will not yet work as expected
+ (Probably it will group/sort by the first 7 characters in the blob)
+ Groping on formulas with a fixed string size (use mid on blob) should work.
+* When doing a full join (no direct keys) on multiple tables with blob fields,
+ the blob was garbage on output.
+* Fixed distinct with calculated columns.
+
+Sun Dec 8 19:53:24 1996 Michael Widenius <monty@bitch.sci.fi>
+
+* Fixed bug when allocation string for group
+* new release 3.19.2
+* mysqldump.c: Didn't output ' around blobs.
+
+Sat Dec 7 13:00:43 1996 Michael Widenius <monty@bitch.sci.fi>
+
+* Added user flag to mysqldump & mysqlshow.
+* ODBC: Added full support of SQLGetInfo(). Fixed limit bug (from 1.0.3).
+ myodbc-1.0.4 released
+
+Fri Dec 6 01:35:22 1996 Michael Widenius <monty@bitch.sci.fi>
+
+* ODBC: Added more support SetStmtOptions(). Added more debugging code
+ myodbc-1.0.3 released
+
+Tue Dec 3 22:12:30 1996 Michael Widenius <monty@bitch.sci.fi>
+
+* Added 'max_connections' and 'table_cache' as start variables to mysqld.
+* Changed weights in join optimizer: Now prefers to use keys even more:
+ Before the optimizer would prefer to do a full join on small tables
+ (< 300 records), even if there was a usable key.
+
+Mon Dec 2 00:17:42 1996 Michael Widenius <monty@bitch.sci.fi>
+
+* new release 3.19.1
+* Fixed bug when joining tables without keys and null fields and varchars.
+ (mysqld hang)
+* Fixed output of 'mysql show'. All fields was 'unsigned zerofill'.
+
+* new release 3.19.0
+* Added new column specifier AUTO_INCREMENT.
+* Changed format of sql command 'show fields'.
+* Changed mysqlshow to use sql command 'show fields' to get more info.
+* Added synonym RLIKE for REGEXP to be compatible with mSQL
+
+Sun Dec 1 12:53:05 1996 Michael Widenius <monty@bitch.sci.fi>
+
+* item_func.cc (fix_fields): Fixed new bug when calculation and levels.
+ Crashed stack when optimizing where! (fatal bug in 3.18.1)
+
+Fri Nov 29 00:32:09 1996 Michael Widenius <monty@bitch.sci.fi>
+
+* Distribution 3.18.1
+* Fixed optimizeing bug.
+* New ODBC version with traceing in all functions with isn't supported yet
+ for easier debugging. Added NO WARRANTY info.
+ Released as 1.0.2
+
+Wed Nov 27 17:18:51 1996 Michael Widenius TcX DataKonsulter AB <monty@ozelot>
+
+* Added Henry Spencer's regexp in 'field REGEXP string'. Can only be used
+ in select_expression or HAVING until I fix the where clause.
+
+Mon Nov 25 20:01:05 1996 Michael Widenius TcX DataKonsulter AB <monty@ozelot>
+
+* Created files: CREDITS, PUBLIC. Updated FAQ, README, TODO, SQL_SYNTAX...
+* Done a lot of testing on HAVING.
+
+Sun Nov 24 00:45:07 1996 Michael Widenius <monty@bitch.sci.fi>
+
+* mysql didn't stop on error in batch mode even if -f wasn't used.
+* Fixed DBD Makefile.PL for linux
+* Added a function.tst & function.res (test and result file of mysql functions)
+* libmysql.c: Added some checking for calls after connection has gone done.
+* Implemented HAVING with full expr syntax
+* Changed operators '=,
+
+Sat Nov 23 20:52:42 1996 Michael Widenius <monty@bitch.sci.fi>
+
+* SQL_SYNTAX added 'like' as a boolean expression in select.
+* mysqladmin.c: 'mysqladmin garbage' didn't give an error.
+* sql_insert.cc: If one read a deleted record and did a insert with all fields
+ then the new record was marked deleted.
+* perl DBI interface ported.
+
+Thu Nov 21 00:58:44 1996 Michael Widenius <monty@bitch.sci.fi>
+
+* mysql only used the TCP connection, no socket was ever created
+* There was a bug in when reading from getenv(MYSQL_TCP_PORT)
+* Added some more start-logging to check for port & socket.
+* If something got wrong at startup some threads was kept alive in Linux
+* If argument -h to mysqld is a relative path, change it to './'
+* Search after the 'unireg' directory from: current dir,
+ mysqld program dir/.. and in env(MY_BASEDIR_VERSION)
+* Added longlong support to Linux
+* Added copyright notices to all files. Everything should be ready for
+ distribution.
+
+Wed Nov 20 19:03:02 1996 Michael Widenius <monty@bitch.sci.fi>
+
+* Added function IF.
+* Added select without FROM clause (for easy test of functions)
+
+Tue Nov 19 11:48:55 1996 Michael Widenius <monty@bitch.sci.fi>
+
+* mysql.c: Sometimes 'in-string' was not initialized.
+* linux distribution
+
+Mon Nov 18 13:47:09 1996 Michael Widenius <monty@bitch.sci.fi>
+
+* Fixed blob:s to work (as varchar) in ODBC (myodbc-1.0.1.zip)
+* Added option -O to set buffer sizes to mysqld
+
+Wed Nov 13 15:21:14 1996 Michael Widenius <monty@monty.pp.sci.fi>
+
+* New sql functions: REPLACE, LCASE and UCASE
+* hacked search on '%xxx' to work.
+
+Tue Nov 12 00:52:35 1996 Michael Widenius <monty@monty.pp.sci.fi>
+
+* mysql.cc: Fixed problems with strings containing not backslashed ' or ".
+
+Mon Nov 11 14:52:30 1996 Michael Widenius <monty@monty.pp.sci.fi>
+
+* added braces to where clause. Change where to use items.
+
+Wed Nov 6 00:17:37 1996 Michael Widenius <monty@analytikerna.se>
+
+* added PRIMARY KEY, KEY and UNIQUE to sql create.