Functionality added or changed:
Incompatible change:
MyISAM
and InnoDB
tables
created with DECIMAL
columns in MySQL 5.0.3
to 5.0.5 will appear corrupt after an upgrade to MySQL 5.0.6.
Dump such tables with mysqldump before
upgrading, and then reload them after upgrading. (The same
incompatibility will occur for these tables created in MySQL
5.0.6 after a downgrade to MySQL 5.0.3 to 5.0.5.) (Bug#10465,
Bug#10625)
Added the div_precision_increment
system
variable, which indicates the number of digits of precision by
which to increase the result of division operations performed
with the /
operator.
Added the log_bin_trust_routine_creators
system variable, which applies when binary logging is enabled.
It controls whether stored routine creators can be trusted not
to create stored routines that will cause unsafe events to be
written to the binary log.
Added the --log-bin-trust-routine-creators
server option for setting the
log_bin_trust_routine_creators
system
variable from the command line.
Implemented the STMT_ATTR_PREFETCH_ROWS
option for the mysql_stmt_attr_set()
C API
function. This sets how many rows to fetch at a time when
using cursors with prepared statements.
The GRANT
and REVOKE
statements now support an
object_type
clause to be used for
disambiguating whether the grant object is a table, a stored
function, or a stored procedure. Use of this clause requires
that you upgrade your grant tables. See
Sección 2.10.2, “Aumentar la versión de las tablas de privilegios”. (Bug#10246)
Added REFERENCED_TABLE_SCHEMA
,
REFERENCED_TABLE_NAME
, and
REFERENCED_COLUMN_NAME
columns to the
KEY_COLUMN_USAGE
table of
INFORMATION_SCHEMA
. (Bug#9587)
Added a --show-warnings
option to
mysql to cause warnings to be shown after
each statement if there are any. This option applies to
interactive and batch mode. In interactive mode,
\w
and \W
may be used to
enable and disable warning display. (Bug#8684)
Removed a limitation that prevented use of FIFOs as logging targets (such as for the general query log). This modification does not apply to the binary log and the relay log. (Bug#8271)
Added a --debug
option to
my_print_defaults.
When the server cannot read a table because it cannot read the
.frm
file, print a message that the table
was created with a different version of MySQL. (This can
happen if you create tables that use new features and then
downgrade to an older version of MySQL.) (Bug#10435)
SHOW VARIABLES
now shows the
slave_compressed_protocol
,
slave_load_tmpdir
and
slave_skip_errors
system variables. (Bug#7800)
Removed unused system variable
myisam_max_extra_sort_file_size
.
Changed default value of
myisam_data_pointer_size
from 4 to 6. This
allows us to avoid table is full
errors for
most cases.
The variable concurrent_insert
now takes 3
values. Setting this to 2 changes MyISAM to do concurrent
inserts to end of table if table is in use by another thread.
New /*>
prompt for
mysql. This prompt indicates that a
/* ... */
comment was begun on an earlier
line and the closing */
sequence has not
yet been seen. (Bug#9186)
If strict SQL mode is enabled, VARCHAR
and
VARBINARY
columns with a length greater
than 65,535 no longer are silently converted to
TEXT
or BLOB
columns.
Instead, an error occurs. (Bug#8295, Bug#8296)
The INFORMATION_SCHEMA.SCHEMATA
table now
has a DEFAULT_COLLATION_NAME
column. (Bug#8998)
InnoDB
: When the maximum length of
SHOW INNODB STATUS
output would be
exceeded, truncate the beginning of the list of active
transactions, instead of truncating the end of the output.
(Bug#5436)
InnoDB
: If
innodb_locks_unsafe_for_binlog
option is
set and the isolation level of the transaction is not set to
serializable then InnoDB
uses a consistent
read for select in clauses like INSERT INTO ...
SELECT
and UPDATE ... (SELECT)
that do not specify FOR UPDATE
or
IN SHARE MODE
. Thus no locks are set to
rows read from selected table.
Updated version of libedit
to 2.9. (Bug#2596)
Removed mysqlshutdown.exe
and
mysqlwatch.exe
from the Windows “With
Installer” distribution.
Bugs fixed:
An error in the implementation of the
MyISAM
compression algorithm caused
myisampack
to fail with very large sets of
data (total size of all the records in a single column needed
to be >= 3 GB in order to trigger this issue). (Bug#8321)
Statements that create and use stored routines were not being written to the binary log, which affects replication and data recovery options. (Bug#2610) Stored routine-related statements now are logged, subject to the issues and limitations discussed in Sección 19.3, “Registro binario de procedimientos almacenados y disparadores”
Disabled binary logging within stored routines to avoid
writing spurious extra statements to the binary log. For
example, if a routine p()
executes an
INSERT
statement, then for CALL
p()
, the CALL
statement appears
in the binary log, but not the INSERT
statement. (Bug#9100)
Statements that create and drop triggers were not being written to the binary log, which affects replication and data recovery options. (Bug#10417) Trigger-related statements now are logged, subject to the issues and limitations discussed in Sección 19.3, “Registro binario de procedimientos almacenados y disparadores”
The mysql_stmt_execute()
and
mysql_stmt_reset()
C API functions now
close any cursor that is open for the statement, which
prevents a server crash. (Bug#9478)
The mysql_stmt_attr_set()
C API function
now returns an error for option values that are defined in
mysql.h
but not yet implemented, such as
CURSOR_TYPE_SCROLLABLE
. (Bug#9643)
MERGE
tables could fail on Windows due to
incorrect interpretation of pathname separator characters for
filenames in the .MRG
file. (Bug#10687)
Fixed a server crash for INSERT ... ON DUPLICATE KEY
UPDATE
with MERGE
tables, which
do not have unique indexes. (Bug#10400)
Fix FORMAT()
to do better rounding for
double values (for example, FORMAT(4.55,1)
returns 4.6
, not 4.5
).
(Bug#9060)
Disallow use of SESSION
or
GLOBAL
for user variables or local
variables in stored routines. (Bug#9286)
Fixed a server crash when using GROUP BY ... WITH
ROLLUP
on an indexed column in an
InnoDB
table. (Bug#9798)
In strict SQL mode, some assignments to numeric columns that
should have been rejected were not (such as the result of an
arithmetic expression or an explicit CAST()
operation). (Bug#6961)
CREATE TABLE t AS SELECT UUID()
created a
VARCHAR(12)
column, which is too small to
hold the 36-character result from UUID()
.
(Bug#9535)
Fixed a server crash in the BLACKHOLE
storage engine. (Bug#10175)
Fixed a server crash resulting from repeated calls to
ABS()
when the argument evaluated to
NULL
. (Bug#10599)
For a user-defined function invoked from within a prepared
statement, the UDF's initialization routine was invoked for
each execution of the statement, but the deinitialization
routine was not. (It was invoked only when the statement was
closed.) Similarly, when invoking a UDF from within a trigger,
the initialization routine was invoked but the
deinitialization routine was not. For UDFs that have an
expensive deinit function (such as myperl
,
this bugfix will have negative performance consequences. (Bug#9913)
Portability fix for Cygwin: Don't use #pragma
interface
in source files. (Bug#10241)
Fix CREATE TABLE ... LIKE
to work when
lower_case_table_names
is set on a
case-sensitive filesystem and the source table name is not
given in lowercase. (Bug#9761)
Fixed a server crash resulting from a CHECK
TABLE
statement where the arguments were a view name
followed by a table name. (Bug#9897)
Within a stored procedure, attempting to update a view defined
as an inner join failed with a Table
'
error. (Bug#9481)
tbl_name
' was locked with a READ
lock and can't be updated
Fixed a problem with INFORMATION_SCHEMA
tables being inaccessible depending on lettercase used to
refer to them. (Bug#10018)
my_print_defaults was ignoring the
--defaults-extra-file
option or crashing when
the option was given. (Bug#9136, Bug#9851)
The INFORMATION_SCHEMA.COLUMNS
table was
missing columns of views for which the user has access. (Bug#9838)
Fixed a mysqldump crash that occurred with
the --complete-insert
option when dumping
tables with a large number of long column names. (Bug#10286)
Corrected a problem where DEFAULT
values
where not assigned properly to BIT(1)
or
CHAR(1)
columns if certain other columns
preceded them in the table definition. (Bug#10179)
For MERGE
tables, avoid writing absolute
pathnames in the .MRG
file for the names
of the constituent MyISAM
tables so that if
the data directory is moved, MERGE
tables
will not break. For mysqld, write just the
MyISAM
table name if it is in the same
database as the MERGE
table, and a path
relative to the data directory otherwise. For the embedded
servers, absolute pathnames may still be used. (Bug#5964)
Corrected a problem resolving outer column references in correlated subqueries when using the prepared statements. (Bug#10041)
Corrected the error message for exceeding the
MAX_CONNECTIONS_PER_HOUR
limit to say
max_connections_per_hour
instead of
max_connections
. (Bug#9947)
Fixed incorrect memory block allocation for the query cache in the embedded server. (Bug#9549)
Corrected an inability to select from a view within a stored procedure. (Bug#9758)
Fixed a server crash resulting from use of
AVG(DISTINCT)
with GROUP BY ...
WITH ROLLUP
. (Bug#9799)
Fixed a server crash resulting from use of DISTINCT
AVG()
with GROUP BY ... WITH
ROLLUP
. (Bug#9800)
Fixed a server crash resulting from use of a
CHAR
or VARCHAR
column
with MIN()
or MAX()
and
GROUP BY ... WITH ROLLUP
. (Bug#9820)
Fixed a server crash resulting from use of SELECT
DISTINCT
with a prepared statement that uses a
cursor. (Bug#9520)
Fixed server crash resulting from multiple calls to a stored
procedure that assigned the result of a subquery to a variable
or compared it to a value with IN
. (Bug#5963)
Selecting from a single-table view defined on multiple-table views caused a server crash. (Bug#8528)
If the file named by a --defaults-extra-file
option does not exist or is otherwise inaccessible, an error
now occurs. (Bug#5056)
net_read_timeout
and
net_write_timeout
were not being respected
on Windows. (Bug#9721)
SELECT
from
INFORMATION_SCHEMA
tables failed if the
statement has a GROUP BY
clause and an
aggregate function in the select list. (Bug#9404)
Corrected some failures of prepared statements for SQL
(PREPARE
plus EXECUTE
)
to return all rows for some SELECT
statements. (Bug#9096, Bug#9777)
Remove extra slashes in --tmpdir
value (for
example, convert /var//tmp
to
/var/tmp
, because they caused various
errors. (Bug#8497)
Added Create_routine_priv
,
Alter_routine_priv
, and
Execute_priv
privileges to the
mysql.host
privilege table. (They had been
added to mysql.db
in MySQL 5.0.3 but not to
the host
table.) (Bug#8166)
Fixed configure to properly recognize whether NTPL is available on Linux. (Bug#2173)
Incomplete results were returned from
INFORMATION_SCHEMA.COLUMNS
for
INFORMATION_SCHEMA
tables for
non-root
users. (Bug#10261)
Fixed a portability problem in compiling
mysql.cc
with VC++ on
Windows. (Bug#10245)
SELECT 0/0
returned 0
rather than NULL
. (Bug#10404)
MAX()
for an INT
UNSIGNED
(unsigned 4-byte integer) column could
return negative values if the column contained values larger
than 2^31. (Bug#9298)
SHOW CREATE VIEW
got confused and could not
find the view if there was a temporary table with the same
name as the view. (Bug#8921)
Fixed a deadlock resulting from use of FLUSH TABLES
WITH READ LOCK
while an INSERT
DELAYED
statement is in progress. (Bug#7823)
The optimizer was choosing suboptimal execution plans for
certain outer joins where the right table of a left join (or
left table of a right join) had both ON
and
WHERE
conditions. (Bug#10162)
RENAME TABLE
for an
ARCHIVE
table failed if the
.arn
file was not present. (Bug#9911)
Invoking a stored function that executed a
SHOW
statement resulted in a server crash.
(Bug#8408)
Fixed problems with static variables and do not link with
libsupc++
to allow building on FreeBSD 5.3.
(Bug#9714)
Fixed some awk script portability problems in cmd-line-utils/libedit/makelist.sh. (Bug#9954)
Fixed a problem with mishandling of NULL
key parts in hash indexes on VARCHAR
columns, resulting in incorrect query results. (Bug#9489, Bug#10176)
InnoDB
: Fixed a critical bug in InnoDB
AUTO_INCREMENT
: it could assign the same
value for several rows. (Bug#10359)
InnoDB
: All InnoDB bug fixes from 4.1.12
and earlier versions, and also the fixes to bugs #10335 and
#10607 listed in the 4.1.13 change notes.
Ésta es una traducción del manual de referencia de MySQL, que puede encontrarse en dev.mysql.com. El manual de referencia original de MySQL está escrito en inglés, y esta traducción no necesariamente está tan actualizada como la versión original. Para cualquier sugerencia sobre la traducción y para señalar errores de cualquier tipo, no dude en dirigirse a mysql-es@vespito.com.