Fix assertion failure reported by Alex Kiernan when we compile with the SUN Forte Developer 7 C 5.4 compiler
innobase/log/log0log.c:
Fix assertion failure reported by Alex Kiernan when we compile with the SUN Forte Developer 7 C 5.4 compiler
Add functions SetFilePointerEx and SetEndOfFile for huge
tables instead of chsize
Move chsize to right place
include/config-win.h:
add HAVE_SETFILEPOINTER
mysys/my_chsize.c:
Add functions SetFilePointerEx and SetEndOfFile for huge tables
Move chsize to right place
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
myisamchk.c:
help text clarified
mi_check.c:
allow one to "analyze" empty table :)
myisam/mi_check.c:
allow one to "analyze" empty table :)
myisam/myisamchk.c:
help text clarified
mysql-test/r/query_cache.result:
test of many merged tales
mysql-test/t/query_cache.test:
test of many merged tales
sql/sql_cache.h:
query with merged tables can depend of more then 255 tables
ignorant about ssl_type attribute
sql/sql_acl.cc:
Now acl_getroot() honors ssl_type attribute even if we compile without openssl
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
Fix bug introduced in 4.0.13 and reported by Emic: if a CREATE TABLE ended in a comment, a memory overrun could happen
innobase/dict/dict0dict.c:
Fix bug introduced in 4.0.13 and reported by Emic: if a CREATE TABLE ended in a comment, a memory overrun could happen
innodb_fast_shutdown CAN take an argument though it was not specified so in mysqld.cc
sql/mysqld.cc:
innodb_fast_shutdown CAN take an argument though it was not specified so in mysqld.cc
binary logging.
sql/repl_failsafe.cc:
If the master is running without --log-bin, SHOW MASTER STATUS will return
"empty set", i.e. row==0; we must test this before invoking row[0], or
segfault.
so that it really tests replication of SET FOREIGN_KEY_CHECKS (previously
it used MyISAM).
mysql-test/r/rpl_insert_id.result:
result update
mysql-test/t/rpl_insert_id.test:
Make test use InnoDB, and added foreign keys to the table, so that it really tests
replication of FOREIGN_KEY_CHECKS.
--disable_warnings because 4.1 prints a warning when the table type
is not available.
Merge
trx0trx.c:
Print more info about a trx in SHOW INNODB status; try to find the bug reported by Plaxo
buf0buf.c:
Check that page log sequence numbers are not in the future
log0recv.c, log0log.c:
Fixed a bug: if you used big BLOBs, and your log files were relatively small, InnoDB could in a big BLOB operation temporarily write over the log produced AFTER the latest checkpoint. If InnoDB would crash at that moment, then the crash recovery would fail, because InnoDB would not be able to scan the log even up to the latest checkpoint. Starting from this version, InnoDB tries to ensure the latest checkpoint is young enough. If that is not possible, InnoDB prints a warning to the .err log
innobase/log/log0log.c:
Fixed a bug: if you used big BLOBs, and your log files were relatively small, InnoDB could in a big BLOB operation temporarily write over the log produced AFTER the latest checkpoint. If InnoDB would crash at that moment, then the crash recovery would fail, because InnoDB would not be able to scan the log even up to the latest checkpoint. Starting from this version, InnoDB tries to ensure the latest checkpoint is young enough. If that is not possible, InnoDB prints a warning to the .err log
innobase/log/log0recv.c:
Fixed a bug: if you used big BLOBs, and your log files were relatively small, InnoDB could in a big BLOB operation temporarily write over the log produced AFTER the latest checkpoint. If InnoDB would crash at that moment, then the crash recovery would fail, because InnoDB would not be able to scan the log even up to the latest checkpoint. Starting from this version, InnoDB tries to ensure the latest checkpoint is young enough. If that is not possible, InnoDB prints a warning to the .err log
innobase/buf/buf0buf.c:
Check that page log sequence numbers are not in the future
innobase/trx/trx0trx.c:
Print more info about a trx in SHOW INNODB status; try to find the bug reported by Plaxo
innobase/fil/fil0fil.c:
Merge
innobase/fsp/fsp0fsp.c:
Merge
innobase/include/fil0fil.h:
Merge
innobase/include/log0log.h:
Merge
innobase/include/log0recv.h:
Merge
innobase/os/os0file.c:
Merge
innobase/srv/srv0srv.c:
Merge
just a flush_relay_log_info() at the end of CHANGE MASTER
(there was already flush_master_info()).
sql/sql_repl.cc:
Comments.
Flush relay-log.info after CHANGE MASTER, or the changes
to the relay log parameters (relay log name and position, and
the corresponding master's binlog name and position) will be
lost if the slave mysqld is shutdown immediately after the
CHANGE MASTER (without the slave threads being started).
I extended the task to cleaning error messages, making them look nicer,
and making the output of SHOW SLAVE STATUS (column Last_error) be as complete
as what's printed on the .err file;
previously we would have, for a failure of a replicated LOAD DATA INFILE:
- in the .err, 2 lines:
"duplicate entry 2708 for key 1"
"failed loading SQL_LOAD-5-2-2.info"
- and in SHOW SLAVE STATUS, only:
"failed loading SQL_LOAD-5-2-2.info".
Now SHOW SLAVE STATUS will contain the concatenation of the 2 messages.
sql/log_event.cc:
Print the default database when replication stops because of an error. Previously, we had:
"error "Duplicate entry 87987 for key 1", query 'insert into t values(87987)'", ie the db
was not mentioned, making it hard for cases where the same table name is used in
several databases.
Lengthened some error messages (for failing replication of LOAD DATA: mention the table
and the db).
Changes so that SHOW SLAVE STATUS reports as complete errors as the .err file.
sql/slave.cc:
Removed a useless declaration (the rewrite_db() function is already declared in slave.h).
Added missing ')' in error messages.
Tried to make error messages look nicer (previously we had
"do START SLAVE;, error_code=1062"
now we'll have
"do START SLAVE; . Error_code=1062".
This form has been discussed, I agree it's no panacea, but it's still more readable
like this. To be improved in the future :)
sql/slave.h:
declarations.
Here is fix for bug 554.
Added configure options
--with-openssl-includes[=DIR] and --with-openssl-libs[=DIR]
acinclude.m4:
Bug #554: Support for --with-openssl[=DIR]
Fix bug: if there was a 'record too long' error in an insert, InnoDB forgot to free reserved file space extents; they were only freed in mysqld restart
innobase/btr/btr0cur.c:
Fix bug: if there was a 'record too long' error in an insert, InnoDB forgot to free reserved file space extents; they were only freed in mysqld restart
Fix bug reported by Dyego Souza do Carmo: if a row becomes too long, > 8000 bytes, in an update, then InnoDB simply removes the clustered index record and does not report of table handler error 139
innobase/btr/btr0cur.c:
Fix bug reported by Dyego Souza do Carmo: if a row becomes too long, > 8000 bytes, in an update, then InnoDB simply removes the clustered index record and does not report of table handler error 139
myisam/mi_locking.c:
Here we use F_EXTRA_LCK
myisam/myisamchk.c:
lines of "locking - emulation" replaced with mi_lock_database call
myisam/myisamdef.h:
no need for MI_TEMPORARY_TABLE
sql/ha_myisam.cc:
We use F_WRLCK instead MI_TEMPORARY_TABLE
acinclude.m4:
Fixed problem with openssl on RedHat 9
vio/viosocket.c:
Removed compiler warning
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
myisam/mi_check.c:
Fixed memory overrun in _mi_put_key_in_record
myisam/mi_key.c:
Fixed unnecessary memory allocation
mysql-test/r/insert_select.result:
Added test case for memory corruption
mysql-test/t/insert_select.test:
Added test case for memory corruption
mysys/safemalloc.c:
Removed compiler warnings
sql/sql_acl.cc:
Fixed core dump when running with --debug