Fix bug #9314 in InnoDB true VARCHAR: InnoDB stored the 'position' of a row wrong in a column prefix primary key index; this could cause MySQL to complain 'ERROR 1032: Can't find record in ...' in an update of the primary key, and also some ORDER BY or DISTINCT queries
sql/ha_innodb.cc:
Fix bug #9314 in InnoDB true VARCHAR: InnoDB stored the 'position' of a row wrong in a column prefix primary key index; this could cause MySQL to complain 'ERROR 1032: Can't find record in ...' in an update of the primary key, and also some ORDER BY or DISTINCT queries
into serg.mylan:/usr/home/serg/Abk/mysql-5.0
innobase/include/trx0trx.h:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/handler.cc:
Auto merged
sql/item.cc:
Auto merged
sql/log_event.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
of SET ONE_SHOT; storing tz info directly in event (if this info is needed),
it's now allowed to have different global tz on master and slave.
client/mysqlbinlog.cc:
we need MAX_TIME_ZONE_NAME_LENGTH when processing log_event.h, and it's declared in mysql_priv.h
mysql-test/r/rpl_timezone.result:
result update
mysql-test/t/rpl_timezone-slave.opt:
Now that we can have different global value of timezone on master and slave, let's test it.
mysql-test/t/rpl_timezone.test:
Tests of the new replication of timezones: checking the output of mysqlbinlog,
replication of CONVERT_TZ().
sql/ha_innodb.cc:
No very fast shutdown on Netware (anyway it's disabled on all platforms,
but this is so that we don't forget to keep it disabled on Netware in the future).
sql/log.cc:
No more need to write SET ONE_SHOT to binlog for character set and timezone
(as we store this info directly nin the Query_log_event now).
sql/log_event.cc:
Exclude ::write() methods if MYSQL_CLIENT.
Storing timezone info in the Query_log_event in master. Re-reading it in slave.
Small code cleanups. I plan to not store the end 0 of catalog in binlog
events soon.
sql/log_event.h:
replication of time zones: a place for tz info in Query_log_event,
in LAST_EVENT_INFO. Plus if we are compiling a client, we don't need
the ::write() methods, so keeping them out (of mysqlbinlog.cc;
keeping them in, resulted in problem that mysqlbinlog does not know Timezone
structure).
sql/mysql_priv.h:
moving this define from tztime.h (tztime.h has things which are
too much for a client like mysqlbinlog).
sql/set_var.cc:
It's now allowed to change global value of charset or timezone even if using binlogging
or if being a slave.
Making CONVERT_TZ(,,@@session.time_zone) replicate.
sql/set_var.h:
these ::check()s are not needed anymore (changing global charset
or timezone is now allowed even if binlogging or slave)
sql/slave.cc:
No more need to check for same global timezone if master is 5.x
(ok, strictly speaking if it is > 5.0.3 but this is alpha).
sql/slave.h:
a function to wrap settings of charset to default.
sql/tztime.cc:
Adaptation of my_tz_find() to the case where it's not called from inside
a query (i.e. cannot join its tz tables to the query's ones): this variant
opens the tz tables itself, reads from them, and closes them. This is presently
only used by the slave SQL thread (when it sets the tz before executing a query).
sql/tztime.h:
declaration of new function, plus moving symbol to mysql_priv.h
for easier usage in mysqlbinlog (Dmitri, pardon me).
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
Fix bug: InnoDB created all indexes on true VARCHARs as column prefix keys because field->pack_length() for a true VARCHAR is bigger than key_part->length; FOREIGN KEYs could not be created on true VARCHARs then
sql/ha_innodb.cc:
Fix bug: InnoDB created all indexes on true VARCHARs as column prefix keys because field->pack_length() for a true VARCHAR is bigger than key_part->length; FOREIGN KEYs could not be created on true VARCHARs then
Fix a crash in a simple search with a key: the dtype->len of a true VARCHAR is the payload maximum len in bytes: it does not include the 2 bytes MySQL uses to store the string length
ha_innodb.cc:
Fix a crash in true VARCHARs in test-innodb: we passed a wrong pointer to the column conversion in an UPDATE
rowid_order_innodb.result, ps_3innodb.result, innodb.result, endspace.result:
Edit InnoDB test results to reflect the arrival of true VARCHARs
mysql-test/r/endspace.result:
Edit InnoDB test results to reflect the arrival of true VARCHARs
mysql-test/r/innodb.result:
Edit InnoDB test results to reflect the arrival of true VARCHARs
mysql-test/r/ps_3innodb.result:
Edit InnoDB test results to reflect the arrival of true VARCHARs
mysql-test/r/rowid_order_innodb.result:
Edit InnoDB test results to reflect the arrival of true VARCHARs
sql/ha_innodb.cc:
Fix a crash in true VARCHARs in test-innodb: we passed a wrong pointer to the column conversion in an UPDATE
innobase/row/row0sel.c:
Fix a crash in a simple search with a key: the dtype->len of a true VARCHAR is the payload maximum len in bytes: it does not include the 2 bytes MySQL uses to store the string length
innobase/include/data0type.h:
Fix a crash in a simple search with a key: the dtype->len of a true VARCHAR is the payload maximum len in bytes: it does not include the 2 bytes MySQL uses to store the string length
protect prepare-...-commit with a mutex to ensure that commits in binlog and in the innodb have the same order
store binlog position with the commit
innobase/include/trx0trx.h:
comment modified
sql/ha_innodb.cc:
protect prepare-...-commit with a mutex to ensure that commits in binlog and in the innodb have the same order
store binlog position with the commit
sql/handler.cc:
ha_prepare cannot return -1
calc_row_difference(): Use non-inlined functions to avoid linking error.
sql/ha_innodb.cc:
calc_row_difference(): Use non-inlined functions to avoid linking error.
into serg.mylan:/usr/home/serg/Abk/mysql-5.0
mysql-test/r/join_outer.result:
Auto merged
mysql-test/t/join_outer.test:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
Add a settable session variable innodb_support_xa; setting it to 0 can save up to 10 % of CPU time and 150 bytes of space in each undo log
trx0trx.h, trx0undo.c, trx0trx.c, trx0roll.c:
Enable XA if innodb_support_xa is not set to 0; make prepare to do log fsync's according to innodb_flush_log_at_trx_commit
innobase/trx/trx0roll.c:
Enable XA if innodb_support_xa is not set to 0; make prepare to do log fsync's according to innodb_flush_log_at_trx_commit
innobase/trx/trx0trx.c:
Enable XA if innodb_support_xa is not set to 0; make prepare to do log fsync's according to innodb_flush_log_at_trx_commit
innobase/trx/trx0undo.c:
Enable XA if innodb_support_xa is not set to 0; make prepare to do log fsync's according to innodb_flush_log_at_trx_commit
innobase/include/trx0trx.h:
Enable XA if innodb_support_xa is not set to 0; make prepare to do log fsync's according to innodb_flush_log_at_trx_commit
sql/sql_class.h:
Add a settable session variable innodb_support_xa; setting it to 0 can save up to 10 % of CPU time and 150 bytes of space in each undo log
sql/ha_innodb.cc:
Add a settable session variable innodb_support_xa; setting it to 0 can save up to 10 % of CPU time and 150 bytes of space in each undo log
sql/mysqld.cc:
Add a settable session variable innodb_support_xa; setting it to 0 can save up to 10 % of CPU time and 150 bytes of space in each undo log
sql/set_var.cc:
Add a settable session variable innodb_support_xa; setting it to 0 can save up to 10 % of CPU time and 150 bytes of space in each undo log
BitKeeper/etc/logging_ok:
auto-union
innobase/trx/trx0trx.c:
Auto merged
mysql-test/r/ctype_collate.result:
Auto merged
mysql-test/r/func_system.result:
Auto merged
mysql-test/r/type_blob.result:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_create.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_strfunc.cc:
Auto merged
sql/item_strfunc.h:
Auto merged
sql/opt_sum.cc:
Auto merged
innobase/ut/ut0mem.c:
e
merge from 4.1
mysql-test/r/func_group.result:
merge from 4.1
mysql-test/r/func_str.result:
merge from 4.1
mysql-test/t/func_group.test:
merge from 4.1
write_row(): Detect SQLCOM_OPTIMIZE, so that also OPTIMIZE TABLE
will commit at every 10,000 copied rows.
sql/ha_innodb.cc:
write_row(): Detect SQLCOM_OPTIMIZE, so that also OPTIMIZE TABLE
will commit at every 10,000 copied rows.
innobase/include/srv0srv.h:
Auto merged
innobase/srv/srv0srv.c:
Auto merged
myisam/mi_create.c:
Auto merged
myisam/mi_open.c:
Auto merged
myisam/myisamdef.h:
Auto merged
sql/ha_innodb.cc:
Auto merged
mysql-test/r/myisam.result:
SCCS merged
mysql-test/t/myisam.test:
SCCS merged
sql/ha_innodb.h:
SCCS merged
deadlock in MYSQL_LOG::new_file()
style fixes
mysql-test/r/innodb.result:
one more test for truncate
mysql-test/t/innodb.test:
one more test for truncate
sql/ha_innodb.cc:
bug#8151 - truncate leaves a transaction open
sql/handler.cc:
bug#8151 - truncate leaves a transaction open
sql/item.h:
style fix
sql/item_cmpfunc.cc:
style fix
sql/item_cmpfunc.h:
style fix
sql/item_func.cc:
style fix
sql/item_func.h:
style fix
sql/log.cc:
let new_file() to lock LOCK_index,
don't check for prepared_xids in rotate_and_purge()
increase thread_safe_increment when LOCK_log is taken
sql/log_event.cc:
mysqlbinlog now prints a warning if binlog was not closed properly
sql/sql_class.h:
comments
sql/sql_repl.cc:
DBUG_ENTER tag corrected
delete_all_rows(): Revert previous change.
The transaction has been marked started already
in external_lock().
sql/ha_innodb.cc:
delete_all_rows(): Revert previous change.
The transaction has been marked started already
in external_lock().
In TRUNCATE TABLE, MySQL may call innobase_xa_prepare() even though there is no active transaction because it was committed in ha_innobase::delete_all_rows(); in innobase_xa_prepare() InnoDB starts then a new transaction; let us adjust the trx->active_trans flag accordingly
sql/ha_innodb.cc:
In TRUNCATE TABLE, MySQL may call innobase_xa_prepare() even though there is no active transaction because it was committed in ha_innobase::delete_all_rows(); in innobase_xa_prepare() InnoDB starts then a new transaction; let us adjust the trx->active_trans flag accordingly
innobase/dict/dict0crea.c:
dict_truncate_index_tree(): Commit the mtr after deleting the
index tree. Add diagnostics for error cases. Let the caller update
SYS_INDEXES.PAGE_NO to the new root page number. Return the new
root page number, or FIL_NULL on error.
innobase/include/dict0crea.h:
dict_truncate_index_tree(): Commit the mtr after deleting the
index tree. Add diagnostics for error cases. Let the caller update
SYS_INDEXES.PAGE_NO to the new root page number. Return the new
root page number, or FIL_NULL on error.
innobase/include/page0page.ic:
page_mem_free(): Disable the memset() call, to make it possible to
recover some data if someone accidentally deletes a large number
of records from a table.
innobase/log/log0recv.c:
Do not disable InnoDB Hot Backup specific code in MySQL builds.
innobase/row/row0mysql.c:
row_truncate_table_for_mysql(): Remove an infinite loop in case
a SYS_INDEXES record has been deleted. Avoid deadlocks by committing
and restarting the mini-transaction.
sql/ha_innodb.cc:
ha_innobase::delete_all_rows(): set trx->active_trans = 1
CREATE INDEX and DROP INDEX every 10,000 rows,
similar to ALTER TABLE.
sql/ha_innodb.cc:
Commit inserts to the temporary tables created by
CREATE INDEX and DROP INDEX every 10,000 rows, similar
to ALTER TABLE.
sql/ha_innodb.h:
Remove duplicate declaration of srv_max_purge_lag.
until it has been comprehensive tested.
innobase/log/log0log.c:
Added general documentation of InnoDB redo-logs.
innobase/trx/trx0roll.c:
Prepared transactions are not rolled back in a recovery if
innobase_force_recovery = 0. But they are rolled back if
innobase_force_recovery > 0.
innobase/trx/trx0trx.c:
Disable the XA code in InnoDB crash recovery until it has been
comprehensive tested. SHOW INNODB STATUS now prints different
output for prepared transactions.
innobase/trx/trx0undo.c:
Do not unnecessary write X/Open XA XID. XID is written in the prepare.
Space for a XID should be reserved at this stage.
sql/ha_innodb.cc:
Remove error.
(Found during build process)
extra/comp_err.c:
Remove compiler warnings
extra/perror.c:
Remove compiler warnings
innobase/dict/dict0dict.c:
Remove compiler warnings
innobase/dict/dict0load.c:
Remove compiler warnings
innobase/pars/pars0sym.c:
Remove compiler warnings
innobase/row/row0row.c:
Remove compiler warnings
innobase/row/row0sel.c:
Remove compiler warnings
libmysqld/lib_sql.cc:
Remove not used variables
myisam/mi_key.c:
Remove compiler warnings
regex/engine.c:
Added comment
sql/derror.cc:
Remove not used variables
sql/examples/ha_archive.cc:
Fixed bug in blob handling
Removed not used variable
sql/field.cc:
Remove compiler warnings
Remove not used variables
sql/filesort.cc:
Remove compiler warnings
sql/ha_heap.cc:
Remove not used variable
sql/ha_innodb.cc:
Remove not used variables
Remove compiler warnings
sql/handler.cc:
Remove compiler warnings and remove not used variables
sql/item.cc:
Remove compiler warnings and remove not used variables
sql/item_subselect.cc:
Remove compiler warnings
sql/item_sum.cc:
Remove compiler warnings
sql/item_sum.h:
Remove compiler warnings and remove not used variables
sql/log.cc:
Remove compiler warnings and remove not used variables
sql/log_event.cc:
Remove compiler warnings
sql/mysqld.cc:
Remove compiler warnings and remove not used variables
sql/opt_range.cc:
Remove compiler warnings and remove not used variables
sql/slave.cc:
Remove compiler warnings and remove not used variables
sql/sp_pcontext.cc:
Remove compiler warnings and remove not used variables
sql/sql_acl.cc:
Remove compiler warnings and remove not used variables
sql/sql_analyse.cc:
Remove compiler warnings and remove not used variables
sql/sql_base.cc:
Remove compiler warnings and remove not used variables
sql/sql_db.cc:
Remove compiler warnings and remove not used variables
sql/sql_help.cc:
Remove compiler warnings and remove not used variables
sql/sql_insert.cc:
Remove compiler warnings and remove not used variables
sql/sql_load.cc:
Remove compiler warnings and remove not used variables
sql/sql_parse.cc:
Remove compiler warnings and remove not used variables
sql/sql_prepare.cc:
Remove compiler warnings and remove not used variables
sql/sql_select.cc:
Remove compiler warnings and remove not used variables
sql/sql_show.cc:
Remove compiler warnings and remove not used variables
sql/sql_table.cc:
Remove compiler warnings
sql/sql_union.cc:
Remove compiler warnings
sql/sql_update.cc:
Remove compiler warnings and remove not used variables
sql/sql_yacc.yy:
Remove compiler warnings and remove not used variables
sql/strfunc.cc:
Remove compiler warnings and remove not used variables
strings/ctype-ucs2.c:
Remove compiler warnings
tests/mysql_client_test.c:
Remove compiler warnings and remove not used variables
tools/mysqlmanager.c:
Remove compiler warnings and remove not used variables
include/my_sys.h:
sol9x86, sunfire100b, qnx compatibility
mysql-test/t/rpl_rotate_logs.test:
fix the test
sql/ha_innodb.cc:
don't bother
sql/handler.cc:
few more ways to crash mysqld :)
sql/handler.h:
gdb/safemalloc workaround
sql/log.cc:
rotate a binlog on heuristic recover
sql/mysqld.cc:
rotate a binlog on heuristic recover
Fixed failing myisam.test and rpl_rotate_logs.test on some configurations
mysql-test/r/myisam.result:
Portability fix
mysql-test/r/rpl_rotate_logs.result:
Portability fix
mysql-test/t/myisam.test:
Depending on if you compiled with -DHAVE_RAID or not, you could get different errors for this test
mysql-test/t/rpl_rotate_logs.test:
Portability fix
sql/ha_innodb.cc:
Fixed compiler warnings
Fix crash reported by Pekka Nousiainen if skip-innodb: do not try to release InnoDB's temporary latches if InnoDB has not been inited
sql/ha_innodb.cc:
Fix crash reported by Pekka Nousiainen if skip-innodb: do not try to release InnoDB's temporary latches if InnoDB has not been inited
into serg.mylan:/usr/home/serg/Abk/mysql-5.0-xa
mysql-test/r/ctype_ucs.result:
Auto merged
mysql-test/t/ctype_ucs.test:
Auto merged
mysql-test/t/strict.test:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_update.cc:
Auto merged
sql/examples/ha_archive.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
(Bug #5822)
sql/ha_innodb.cc:
innobase_mysql_tmpfile(): pass mysql_tmpdir to create_temp_file(),
so that the MySQL startup option tmpdir will be honored instead of
the environment variable TMPDIR. (Bug #5822)
client/mysqlbinlog.cc:
Auto merged
configure.in:
Auto merged
include/my_global.h:
Auto merged
include/my_pthread.h:
Auto merged
innobase/trx/trx0trx.c:
Auto merged
mysql-test/include/varchar.inc:
Auto merged
mysql-test/r/bdb.result:
Auto merged
mysql-test/r/myisam.result:
Auto merged
mysql-test/r/mysqlbinlog2.result:
Auto merged
mysql-test/t/ctype_ucs.test:
Auto merged
mysql-test/t/user_var.test:
Auto merged
mysys/hash.c:
Auto merged
sql/item_func.cc:
Auto merged
sql/log_event.cc:
Auto merged
sql/log_event.h:
Auto merged
sql/set_var.h:
Auto merged
sql/slave.cc:
Auto merged
sql/slave.h:
Auto merged
sql/sp_head.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_repl.cc:
Auto merged
sql/sql_repl.h:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_trigger.cc:
Auto merged
mysql-test/r/ctype_ucs.result:
ul
mysql-test/r/drop_temp_table.result:
ul
mysql-test/r/innodb.result:
ul
mysql-test/r/insert_select.result:
ul
mysql-test/r/mix_innodb_myisam_binlog.result:
ul
mysql-test/r/rpl_change_master.result:
ul
mysql-test/r/rpl_charset.result:
ul
mysql-test/r/rpl_error_ignored_table.result:
ul
mysql-test/r/rpl_flush_log_loop.result:
ul
mysql-test/r/rpl_flush_tables.result:
ul
mysql-test/r/rpl_loaddata.result:
ul
mysql-test/r/rpl_loaddata_rule_m.result:
ul
mysql-test/r/rpl_log.result:
ul
mysql-test/r/rpl_max_relay_size.result:
ul
mysql-test/r/rpl_relayrotate.result:
ul
mysql-test/r/rpl_replicate_do.result:
ul
mysql-test/r/rpl_rotate_logs.result:
ul
mysql-test/r/rpl_temporary.result:
ul
mysql-test/r/rpl_timezone.result:
ul
mysql-test/r/rpl_until.result:
ul
mysql-test/r/rpl_user_variables.result:
ul
mysql-test/r/user_var.result:
ul
Can't repeat information_schema test failure
Fix for lowercase_table3 only
mysql-test/r/lowercase_table3.result:
Fix for bug#8156:information_schema and lowercase_table3 fail on OSX
mysql-test/t/lowercase_table3.test:
Fix for bug#8156:information_schema and lowercase_table3 fail on OSX
sql/ha_innodb.cc:
Fix for bug#8156:information_schema and lowercase_table3 fail on OSX
Fix a glitch reported by Guilhem: release the memory allocated for innodb_internal_... if innobase_init() fails; cleanups: in ha_innodb, you should use the InnoDB formatting style for the source code
sql/ha_innodb.cc:
Fix a glitch reported by Guilhem: release the memory allocated for innodb_internal_... if innobase_init() fails; cleanups: in ha_innodb, you should use the InnoDB formatting style for the source code
suggested in review by Heikki.
innobase/include/data0type.h:
Improve comment of dtype_struct.
innobase/include/data0type.ic:
Rename innobase_get_mb_cset() to innobase_get_cset_width().
dtype_get_fixed_size(): Add an extra integrity check for
type->prtype, type->mbminlen and type->mbmaxlen.
sql/ha_innodb.cc:
Rename innobase_get_mb_cset() to innobase_get_cset_width()