Go to the first, previous, next, last section, table of contents.
-
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.
-
Setting a TIMSTAMP to NULL in LOAD DATA INFILE... didn't set the current
time for the TIMESTAMP.
-
Fix that BETWEEN recognizes binary strings. Now BETWEEN is case
sensitive.
-
Added switch --skip-thread-priority for systems where mysqld's thread
scheduling doesn't work properly (BSDI 3.1).
-
Added ODBC functions DAYNAME() and MONTHNAME().
-
Added function TIME_FORMAT(). This works like DATE_FORMAT() but takes
a time string (HH:MM:DD) as argument.
-
Fixed unlikely(?) key optimizer bug when using ORs of key parts inside ANDs.
-
Added command 'variables' to mysqladmin.
-
A lot of small changes to the binary releases.
-
Fixed a bug in the new protocol from MySQL 3.21.20.
-
Changed ALTER TABLE to work with WIN32 (Win32 can't rename open files).
Fixed also a couple of small bugs in the WIN32 version.
-
All standard MySQL clients are now ported to MySQL-win32.
-
MySQL can now be started as a service on NT.
-
Starting with this version all MySQL distributions will be configured,
compiled and tested with crash-me and the benchmarks on the following
platforms: SunOS 5.6 sun4u, SunOS 5.5.1 sun4u, SunOS 4.14 sun4c,
SunOS 5.6 i86pc, IRIX 6.3 mips5k, HP-UX 10.20 hppa, AIX 4.2.1 ppc,
OSF1 V4.0 alpha, FreeBSD 2.2.2 i86pc and BSDI 3.1 i386.
-
Fix of count(*) problems when the WHERE clause didn't match any records.
(Bug from 3.21.17)
-
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
-
Fixed bug that core dumped when using many LEFT OUTER JOIN's.
-
Fixed bug in ORDER BY on string formula with possible NULL values.
-
Fixed problem in range optimizer when <= on sub index.
-
Added functions DAYOFYEAR(), DAYOFMONTH(), MONTH(), YEAR(), WEEK(),
QUARTER(), HOUR(), MINUTE(), SECOND() and FIND_IN_SET().
-
Added command SHOW VARIABLES.
-
Added support of 'long constant strings' from ANSI SQL:
select 'first ' 'second'; -> 'first second';
-
Upgraded mSQL-Mysql-modules to 1.1825
-
Upgraded mysqlaccess to 2.02
-
Fixed problem with Russian character set and LIKE.
-
Ported to openbsd 2.1
-
New Dutch error messages
-
Configure changes for some OS.
-
Fixed optimizer bug when using
'WHERE data_field=date_field2 and date_field2=constant'
-
Added command 'show status'
-
Removed manual.ps from the source distribution to make it smaller.
-
Changed maximum table name and column name lengths from 32 to 64.
-
Aliases can now be of 'any' length.
-
Fixed that 'mysqladmin stat' returns right number of queries.
-
Changed protocol (downward compatible) to mark if a column is
auto_increment or a timestamp. This is needed for the new Java driver.
-
Added hebrew sorting order by Zeev Suraski.
-
Solaris 2.6: Fixed configure bugs and increased maximum table size from 2G to 4G
-
Upgraded DBD to 1823. This version implements mysql_use_result in DBD-Mysql.
-
Benchmarks updated for empress (by Luuk)
-
Fixed a case of slow range searching.
-
Configure fixes (Docs directory).
-
Added function
REVERSE()
(by Zeev Suraski)
-
Give error message if client C functions are called in wrong order.
-
Added automatic reconnect to the libmysql.c library. If a write command
fails a automatic reconnect is done.
-
Small sort sets doesn't use temporary files anymore.
-
Upgraded DBI to 0.91
-
Fixed a couple of problems with LEFT OUTER JOIN.
-
Added CROSS JOIN syntax. CROSS is now a reserved word.
-
Recoded yacc/bison stack allocation to be even safer and allow MySQL
to handle even bigger expressions.
-
Fixed a couple of problems with the update log.
-
ORDER BY was slow when used with key ranges.
-
Changed documentation string of --with-unix-socket-path to avoid confusion.
-
Added ODBC and ANSI SQL style
LEFT OUTER JOIN
.
-
The following are new reserved words:
LEFT
, NATURAL
,
USING
-
The client library is now using the environment variable
MYSQL_HOST
as the default host if it's defined.
-
SELECT column, SUM(expr)
now returns NULL
for column when
there are matching rows.
-
Fixed problem with compare of binary strings and blobs with ASCII
characters over 127.
-
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.
-
Optimized key block caching. This will be quicker than the old one when
using bigger key caches.
-
Added ODBC 2.0 & 3.0 functions:
POWER()
, SPACE()
,
COT()
, DEGREES()
, RADIANS()
, ROUND(2 arg)
and TRUNCATE()
.
-
WARNING INCOMPATIBLE CHANGE!!.
LOCATE()
parameters where
swapped according to ODBC standard. Fixed.
-
Added function
TIME_TO_SEC()
.
-
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.
-
Allow empty strings as default values for
BLOB
and TEXT
to
be compatible with mysqldump.
-
WARNING INCOMPATIBLE CHANGE!! mysqlperl is now from
Msql-Mysql-modules. This means that the connect() now takes
host,database,user,password ! The old version took
host,database,password,user.
-
Allow
DATE '1997-01-01'
, TIME '12:10:10'
and
TIMESTAMP '1997-01-01 12:10:10'
formats required by ANSI SQL.
WARNING INCOMPATIBLE CHANGE!! This has the unfortunate
side-effect that one can't have columns named DATE
, TIME
or TIMESTAMP
anymore :( Old columns can only be accessed with
'tablename.columnname'!
-
Changed Makefiles to hopefully work better with BSD systems. Also
manual.dvi is now included in the distribution to avoid having stupid
makes trying to rebuild it.
-
Readline library upgraded to version 2.1
-
A new sortorder german-1. That is a normal iso-latin1 with a german sort
order.
-
Perl DBI/DBD is now included in the distribution. DBI is now the
recommended way to connect to MySQL from perl.
-
New portable benchmark suite with DBD, with test results from mSQL 2.0.3,
MySQL, PostgreSQL 6.2.1 and Solid server 2.2.
-
crash-me is now included with the benchmarks; This is a perl program
designed to find as many limits as possible in a SQL server. Tested with
mSQL, postgreSQL, Solid and MySQL.
-
Fixed bug in range-optimiser that crashed mysql on some queries.
-
Table and column name completion for mysql command line tool, by Zeev
Suraski and Andi Gutmans.
-
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
.
-
make_binary_distribution now includes libgcc.a in libmysqlclient.a. This
should make linking work for people without gcc.
-
Changed
net_write()
to my_net_write()
because of name
conflict with sybase.
-
New function
DAYOFWEEK()
compatible with ODBC.
-
Stack checking and bison memory overrun checking to get MySQL
safer with weird queries.
-
Fixed a couple of small configure problems on some platforms.
-
Ported to SCO Openserver 5.0.4 with FSU-threads.
-
HP/UX 10.20 should work.
-
Added new functions DATE_FORMAT() and DATE_ADD_MM()..
-
Added NOT IN.
-
Added automatic removal of 'ODBC function conversions': {fn now() }
-
Handle ODBC 2.50.3 option flags.
-
Fixed compare of DATE and TIME with NULL.
-
Changed language name from germany to german to be consistent with
the other language names.
-
Fixed sorting problem on functions returning a float. Before the values
was converted to a int before sorting.
-
Fixed slow sorting when sorting on key field when using KEY_COLUMN=constant.
-
SORTING on calculated DOUBLE values sorted on integer results instead.
-
'mysql' doesn't need a database argument anymore.
-
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.
-
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 lots of limit checks to make it safer when running with too little
memory or when doing weird queries.
-
Added retry of interrupted reads and clearing of errno.
This makes Linux systems much safer!
-
Fixed locking bug when using many alias on the same table in the same select.
-
Fixed bug with LIKE on number key.
-
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.
-
Added --table option to mysql to print in table format.
Moved time and row information after query result.
Added automatic reconnect of lost connections.
-
Added != as an alias for <>.
-
Added function VERSION() to make easier logs.
-
New multi-user test 'tests/fork_test.pl' to put some strain on the
thread library.
-
Fixed ftruncate() call in MIT-threads. This made isamchk() destroy the .ISM
files on (Free)BSD systems 2.#
-
Fixed broken __P_ patch in MIT-threads
-
Many memory overrun checks. All string functions now return
NULL
if the returned string should be longer than max_allowed_packet
.
-
Changed the name if the
INTERVAL
type to ENUM
, because
INTERVAL
is used in ANSI SQL.
-
In some cases doing a JOIN + GROUP + INTO OUTFILE, the result wasn't
grouped.
-
LIKE with '_' as last character didn't work. Fixed
-
Added extended ANSI SQL
TRIM()
function.
-
Added
CURTIME()
.
-
Added
ENCRYPT()
function by Zeev Suraski.
-
Fixed better
FOREIGN KEY
syntax skipping. New reserved words:
MATCH
, FULL
, PARTIAL
-
mysqld now allows ip and hostname to the
--bind-address
option.
-
Added "SET OPTION CHARACTER SET cp1251_koi8" to enable conversions off
data to/from cp1251_koi8.
-
Lots of changes for Win95 port. In theory this version should now be
easily portable to Win95.
-
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.
-
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)
-
Fixed core dump when updating as user with only select privilege.
-
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 Russian error messages.
-
In some cases doing a join + group + INTO OUTFILE, the result wasn't
grouped.
-
Configure changes.
-
MySQL new works with the new thread library on BSD/OS 3.0.
-
Added new group functions: BIT_OR() and BIT_AND().
-
Added compatibility functions: CHECK, REFERENCES. CHECK is now a
reserved word.
-
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.
-
Added partly translated dutch messages.
-
Fixed bug in ORDER BY and GROUP BY with NULL columns
-
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,
but can be used by any client.
-
Added option '--flush-logs' to mysqladmin.
-
Added command 'status' to mysql.
-
Fixed problem with order/group by because of bug in gcc.
-
Fixed problem with INSERT ... SELECT .. GROUP BY.
-
New mysqlaccess.
-
CREATE supports now all ODBC types and the mSQL
TEXT
type. All
ODBC 2.5 functions is also supported (added REPAT). This gives better
portability.
-
Added text types:
TINYTEXT
, TEXT
, MIDDLETEXT
and
LONGTEXT
. These are actually blobs, but all searching is done
case independent.
-
All old
BLOB
fields are now TEXT
fields. This only
changes that all searching on strings are case independent. One have to
do a ALTER TABLE and change the field to BLOB if one wants to have tests
done case dependent.
-
Fixed some configure issues.
-
Made the locking code a bit safer. Fixed very unlikely
dead lock situation.
-
Fixed a couple of bugs in the range optimiser. Now the new range benchmark
test-select works.
-
Added --enable-unix-socket=pathname arg to configure.
-
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).
-
Most things ported to FSU threads, which should allow MySQL to
run on SCO. See section SCO notes..
-
Works now in Solaris 2.6
-
Added handling of calculation of sum() functions.
One can now use for example: SUM(column)/COUNT(column)
-
Added handling of trigometric functions: PI(), ACOS(), ASIN(), ATAN(),
COS(), SIN() and TAN().
-
New languages: norwegian, norwegian-ny and portuguese.
-
Fixed parameter bug in net_print in procedure.cc.
-
Fixed a cople of memory leaks.
-
Now allow also the old SELECT ... INTO OUTFILE syntax.
-
Fixed bug with group by and select on key with many values.
-
mysql_fetch_lengths() returned sometimes wrong lengths when one used
mysql_use_result(). This affected at least some cases of mysqldump --quick.
-
Allow TIME, DATE and TIMESTAMP as column names.
-
Fixed bug in optimisation of WHERE const op field.
-
Fixed problem when sorting on NULL fields.
-
Fixed a couple of 64bit (Alpha) problems
-
Added option --pid-file=# to mysqld
-
Added date formating to from_unixtime(), originally by Zeev Suraski.
-
Fixed bug in BETWEEN in range optimiser (Did only test = of the first
argument).
-
Added machine dependent files for mit-pthreads i386-SCO. There is probably
more to do to get this to work on SCO 3.5.
-
Changed to Makefile.am to take advantage of automake 1.2.
-
Added the beginnings of a benchmark suite.
-
Added more secure password handling.
-
Added new client function: mysql_errno() to get the error number of
the error message. This makes error checking in the client much easier.
This makes the new server incompatible with the 3.20.# server when running
without --old-protocol. The client code is backward compatible.
More information can be found in the README file!
-
Fixed some problems when using very long, illegal names.
-
Fixed more portability issues (wrong sigwait and sigset define)
-
configure should now be able to detect the last argument to accept().
-
Should now work at FreeBSD 3.0 if one used the FreeBSD-3.0-libc_r-1.0.diff
which can be found at http://www.tcx.se/patches.
-
Added new option to mysqld: -O tmp_table_size=#
-
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.
-
new function: substring_index(), originally by Zeev Suraski.
-
Should now configure and compile on OSF1 4.0 with the Dec compiler.
-
configure and compile on BSD/OS 3.0 works, but due to some bugs in
BSD/OS 3.0, mysqld doesn't work on it yet.
-
configure and compile on FreeBSD 3.0, but I couldn't get pthread_create to
work.
-
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!)
-
Added check of too long table names for alias.
-
Added check if database name is okey.
-
Addded check if too long table names.
-
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.
-
Applied patch from Jochen Wiedmann that fixes that query() in mysqlperl
now can take queries with \0 in it.
-
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.
-
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.
-
The range optimiser is cooded, but only 85% tested. It can be enabled with
--new, but it crashes core a lot yet...
-
More portable. Should compile one AIX and alpha-digital.
At least the isam library should be relative 64 bit clean.
-
New isamchk which can detect and fix more problems.
-
New options for isamlog.
-
Using new version of automake
-
Many small portability changes (from the AIX and alpha-digital port)
Better checking of pthread(s) library.
-
czech error messages by snajdr@pvt.net
-
'mysql' now shows thread id when starting or doing a reconnect.
-
Decresed some buffers to get less problems on system with little memory.
Also added more checks to handle 'out of memory' problems
-
mysqladmin: One can now do 'mysqladmin kill 5,6,7,8'
-
When the max connection limit is reached, one extra connection by a user with
the PROCESS_ACL privilege is granted.
-
Added new mysqld option: -O backlog=#
-
Increased max packet size from 512K to 1024K for client.
-
Almost all of the functions code is now tested in the intern test suite.
-
ALTER TABLE now returns warnings from field conversions.
-
Port changed to 3306 (got it reserved from ISI).
-
Added a fix for Visual Fox Base so that any schema name from a table
specification is automaticly removed.
-
New function ASCII.
-
Removed the between() function. On should use the 'col BETWEEN a AND b'
syntax instead.
-
MySQL now doesn't anymore have to use a extra temporary table when sorting
on functions or SUM functions.
-
Fixed bug that one couldn't use 'table_name.field_name' in UPDATE.
-
Fixed SELECT DISTINCT when using 'hidden group'. For example:
SELECT DISTINCT MOD(some_field,10) FROM test GROUP BY some_field;
Note: some_field is normally in the select part. ANSI SQL should require
it.
-
New keywords used: INTERVAL, EXPLAIN, READ, WRITE, BINARY
-
Added ODBC functions CHAR(num,...) and ASCII(string).
-
Removed function BETWEEN(a,b,c). One should use the standard ANSI SYNTAX:
expr BETWEEN expr AND expr.
-
New operator IN. This uses a binary search to find a match.
-
New command
LOCK TABLES table_name [AS alias] (READ | WRITE), ...
-
New server option
mysqld --log-update
to get a log suitable for
incremental updates
-
new command: EXPLAIN SELECT ... to get info about how the optimzier
will do the join.
-
For easier client code, the client shouldn't anymore use
FIELD_TYPE_TINY_BLOB
, FIELD_TYPE_MEDIUM_BLOB
,
FIELD_TYPE_LONG_BLOB
or FIELD_TYPE_VAR_STRING
(as
previously returned by mysql_list_fields). One should instead only use
FIELD_TYPE_BLOB
or FIELD_TYPE_STRING
. If one wants exact
types one should use the command SHOW FIELDS
.
-
Added varbinary syntax:
0x######
which can be used as a string
(default) or a number.
-
FIELD_TYPE_CHAR
is renamed to FIELD_TYPE_TINY
.
-
Changed all fields to C++ classes.
-
Removed FORM struct.
-
A field with a
DEFAULT
doesn't have to be NOT NULL
anymore.
-
New field types:
INTERVAL
-
A string with only can take a couple of defined values. The value is
stored as a 1-3 byte number that automaticly is mapped to a string.
This is sorted according to string positions!
SET
-
A string with may have one or many string values separated with ','.
The string is stored as a 1,2,3,4 or 8 byte number where each bit stands
for a specific string. This is sorted according to unsigned bit value
if SET.
-
Now all function calculation is done with double or long long. This
will give one the full 64 bits range with bit functions and fix some
conversions that previously could give precision losses. One should
avoid using 'unsigned long long' columns with full 64 bits range
(numbers bigger than 9223372036854775807) because calculations is done
with signed long long.
-
ORDER BY will now put NULL fields first. GROUP BY will also work with NULL.
-
Full WHERE with expressions.
-
New range optimiser with can resolve ranges when some prefix keypart is
constant. Example:
SELECT * FROM table_name WHERE key_part_1="customer" and key_part_2 >= 10 AND
key_part_2 <= 10)
Changes from 3.20.18 to 3.20.32b are not documented here since the the
3.21 release bransched here. And the relevant changes are also
documented as changes to the 3.21 version.
-
Added -p# (remove # directories from path) to isamlog.
All files are written with a relative path from the database directory
Now mysqld shouldn't crash on shutdown when using --log-isam.
-
New mysqlperl version. Is now compatible with msqlperl-0.63.
-
New DBD module available in Contrib/
-
Added group function STD() (standard derivation).
-
The mysql server is now by default compiled without debugging information.
This will make the daemon smaller and faster.
-
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.
-
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
-
The test of using MYSQL_PWD was reversed. Now MYSQL_PWD is enabled as default
in the default release.
-
Fixed convert bug which got mysqld to core dump with Aritmetic error on
Sparc-386
-
Added option --unbuffered to mysql. (For new mysqlaccess)
-
When using overlapping (unnecessary keys) and join over many tables
the optimiser could get confused and return 0 records.
-
One can now use BLOBs columns and the functions IS NULL and IS NOT NULL
in the WHERE clause.
-
All communication packages and row buffers are now alloced dynamicly on
demand. The default
max_allowed_packet
is now 65K for the server
and 512K for the client. This is mainly used to catch wrong packets that
could trash all memory. The server limit may be changed when it is
started.
-
Changed stack usage to use less memory.
-
Changed safe_mysqld to check for running daemon.
-
The
ELT()
function is renamed to FIELD()
. The new
ELT()
function returns a value based on an index: FIELD()
is the invers of ELT()
Example: ELT(2,"A","B","C")
returns
"B"
. FIELD("B","A","B","C")
returns 2
;
-
COUNT(field) where field could have a NULL value now works.
-
A couple of bug fixed in SELECT .. GROUP BY.
-
Fixed memory overrun bug in WHERE with many unoptimisable brace levels.
-
Fixed some small bugs in the grant code.
-
If hostname isn't found by get_hostname, only the IP is checked. Before one
one got 'Access denies'
-
Inserts of timestamps with values didn't always work.
-
INSERT INTO ... SELECT .. WHERE could give the error
'Dupplicated field'
-
Added some tests to safe_mysqld to make it 'safer'
-
LIKE was case sensitive in some places and case insensitive in other.
Now
LIKE
is always case insensitive.
-
mysql.cc; Allow '#' anywhere on the line.
-
New command 'SET OPTION SQL_SELECT_LIMIT=#'. Se the FAQ for more details.
-
New version of the mysqlaccess script
-
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.
-
Added new function unix_timestamp(timestamp_column);
-
More changes in MIT threads to get them safer. Fixed also some link
bugs at least in SUNOS.
-
Changed mysqld to go around a bug in MIT threads. This makes multiple
small selects 20 times faster. Now lock_test.pl should work.
-
Added mysql_FetchHash(handle) to mysqlperl
-
The mysqlbug script is now distributed built to allow for reporting
bugs that appear during the build with it.
-
Changed libmysql.c to prefer to use getpwuid() insted of cuserid().
-
Fixed bug in select optimiser when using many tables with the same
column used as key to different tables.
-
mysql.cc; Allow '#' anywhere on the line.
-
Added new latin2 and Russian KOI8 character tables.
-
Added support for a dummy GRANT command satisfy Powerbuilder.
-
Fixed fatal bug 'packets out of order' when using MIT threads.
-
Removed possible loop when thread waits for command from client
and fcntl() fails. Thanks to Mike Bretz for finding this bug
-
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 some syntax errors for at least BSD and Linux.
-
Fixed bug when doing a select as superuser without a database.
-
Fixed bug when doing SELECT with group calculation to outfile.
-
If one gives '-p' or -password to mysql without an argument,
the password will be asked from the tty.
-
Added default password from MYSQL_PWD. (by Elmar Haneke)
-
Added commando 'kill' to mysqladmin to kill a specific mysql thread.
-
Sometimes when doing a reconnect on a down connection this succeeded
first on second try.
-
Fixed adding a auto_increment key with ALTER_TABLE.
-
AVG() gave too small value on some selects with GROUP BY and ORDER BY.
-
Added new DATETIME type (by Giovanni Maruzzelli <maruzz@matrice.it>)
-
Fixed that define 'DONT_USE_DEFAULT_FIELDS' works
-
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>)
-
Allow anything for CREATE INDEX.
-
Add prezeros when packing numbers to DATE, TIME and TIMESTAMP.
-
Fixed a bug in OR of multiple tables (Gave empty set).
-
Added many patches to MIT threads. This fixes at least one lookup bug.
-
Added ANSI SQL94 DATE and TIME types.
-
Fixed bug in select with and-or levels.
-
Added support for Slovenian characters. The Contrib directory contains
source and instructions to add other character sets.
-
Fixed bug with limit and order by.
-
Allow order and group on items that isn't in the select list.
(Thanks to Wim Bonis <bonis@kiss.de> for pointing this out)
-
Allow setting of timestamp values in INSERT.
-
Fixed bug with SELECT ... WHERE ... = NULL.
-
Added changes for glibc 2.0. To get glibc to work one should add the
gibc-2.0-sigwait-patch before compiling glibc.
-
Fixed bug in alter table when changeing a not null field to allow NULLs.
-
Added some ANS92 synonyms as field types to CREATE TABLE.
CREATE TABLE now allows FLOAT(4) and FLOAT(8) to mean FLOAT and DOUBLE.
-
new utility program mysqlaccess by Yves.Carlier@rug.ac.be.
This program shows the access rights for a specific user and the grant
rows which determinate this grant.
-
Added WHERE const op field (by bonis@kiss.de)
-
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.
-
Extended ALTER TABLE according to SQL92.
-
Some minor compability changes.
-
Added --port and --socket to all utility programs and mysqld.
-
Fixed MIT threads readdir_r(). Now mysqladmin create database and drop
database should work.
-
Changed MIT threads to use our tempnam. This should fix the 'sort aborted' bug.
-
Added sync of records count in sql_update. This fixed slow updates on first
connection. (Thanks to Vaclav Bittner for the test)
-
New insert type: INSERT INTO ... SELECT ...
-
mediumblob fixed.
-
Fixed bug in ALTER TABLE and BLOBs.
-
SELECT ... INTO OUTFILE now creates the file in the current database directory.
-
DROP TABLE can now take a list of tables.
-
Oracle synonym DESCRIBE (DESC)
-
Changes to make_binary_distribution
-
Added some comments about conifgures c++ link test to installation
instructions.
-
Added --without-perl to configure.
-
Lot's of small portability changes.
-
Alter table didn't copy null bit. This resulted that NULL fields where
always NULL.
-
CREATE didn't take numbers as DEFAULT.
-
Some compatibility changes for SunOS.
-
Removed config.cache from old distribution.
-
Fixed bug with ALTER TABLE and multi part keys.
-
New commands: ALTER TABLE, SELECT ... INTO OUTFILE and LOAD DATA INFILE.
-
New functions: NOW()
-
Added new field: file_priv to mysql/user table.
-
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.
-
Fixed bug in locking code, with made lock_test.pl test fail.
-
new files NEW and BUGS
-
Changed select_test.c and insert_test.c to include config.h
-
Added command 'status' to mysqladmin for short logging.
-
Increased max keys to 16 and max key parts to 15.
-
Use of sub keys. A key may now be a prefix of a string field.
-
Added option -k for mysqlshow to get key info for table.
-
Added long options to mysqldump.
-
The configure source now compiles a thread free client library
-lmysqlclient
. This is the only library that needs to be linked
with client applications. When using the binary releases one have to
link with -lmysql -lmysys -ldbug -lstrings
as before.
-
New readline from bash-2.0.
-
LOTS of small changes to configure and makefiles (and related source).
-
There should now be possible to compile in another directory using
vpath. Tested with GNU Make 3.75.
-
safe_mysqld and mysql.server changed to be more compatible between
the source and the binary releases.
-
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.
Changed sql function INTERVALL() to INTERVAL().
-
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.
-
mysqladmin.c: Added client version to version info.
-
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.
-
Bug fixes in concat(), weekday()
-
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 regarded as an identifier and a '('
-
The source distribution is done with configure and automake:
It will make porting much easier. Readline is included in the
distribution.
-
Separate client compilation:
The client code should be very easy to compile on system which
doesn't have threads.
-
The old perl interface code is automaticly compiled and installed.
Automatic compiling of DBD will follow when the new DBD code is ported.
-
Dynamic language support: mysqld can now be started with Swedish
or English (default) error messages.
-
new functions: INSERT(),RTRIM(),LTRIM() and FORMAT().
-
mysqldump now works correctly for all field types (even
auto_increment). The format for 'show fields from table' is changed
so the 'type' column contains info suitable for 'CREATE TABLE'.
In previous releases some CREATE TABLE info had to be patched to
when recreating tables
-
Some parser bugs from 3.19.5 (blob and timestamp) are corrected.
Timestamp now returns different date info depending of it's
create length.
-
Changed parser to allow a database name, table name and field name to
start with a number or '_'.
-
All old C code from UNIREG changed to c++ and cleaned up. This makes
the daemon a little smaller and easier to understand.
-
A lot of small bug fixes done.
-
New INSTALL files (not final version) and some info regarding porting.
-
Some new functions, some more optimisation on joins.
-
Should now compile clean on Linux (2.0.x)
-
Added functions DATABASE(),USER(),POW(),LOG10() (needed for ODBC).
-
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.
-
mysqldump: Didn't send password to server.
-
Fixed horrible locking bug when inserting in one thread and reading
on another thread.
-
Fixed one-off decimal bug. 1.00 was output 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.
-
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.
-
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.
Go to the first, previous, next, last section, table of contents.
Casa de Bender