BitKeeper/etc/logging_ok:
auto-union
client/mysql.cc:
Auto merged
client/mysqltest.c:
Auto merged
innobase/btr/btr0btr.c:
Auto merged
innobase/dict/dict0dict.c:
Auto merged
innobase/dict/dict0load.c:
Auto merged
innobase/eval/eval0eval.c:
Auto merged
innobase/ibuf/ibuf0ibuf.c:
Auto merged
innobase/include/ut0mem.h:
Auto merged
innobase/lock/lock0lock.c:
Auto merged
innobase/row/row0ins.c:
Auto merged
innobase/row/row0mysql.c:
Auto merged
innobase/row/row0sel.c:
Auto merged
innobase/row/row0umod.c:
Auto merged
innobase/row/row0upd.c:
Auto merged
innobase/trx/trx0trx.c:
Auto merged
innobase/ut/ut0dbg.c:
Auto merged
innobase/ut/ut0mem.c:
Auto merged
myisam/mi_dynrec.c:
Auto merged
mysql-test/r/innodb.result:
Auto merged
mysql-test/t/fulltext.test:
Auto merged
mysql-test/t/rpl_rotate_logs.test:
Auto merged
scripts/make_binary_distribution.sh:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_show.cc:
Auto merged
innobase/os/os0file.c:
Merge with 4.0.20
Ensure that we call F_UNLCK for files on which we call F_WRLCK.
This is to ensure that this code will be portable accross most platforms.
myisam/ft_boolean_search.c:
Merge with 4.0.20 (keep original file)
myisam/ft_parser.c:
Merge with 4.0.20 (keep original file)
myisam/ftdefs.h:
Merge with 4.0.20 (keep original file)
New records_in_range() interface (similar to read_range())
Macros for faster bitmap handling
Simplify read_range() code (#WL1786)
New general key_cmp() function to compare keys
heap/hp_hash.c:
New records_in_range() interface
include/heap.h:
New records_in_range() interface
include/my_base.h:
Moved 'key_range' here so that all table handlers can use it
include/my_bitmap.h:
Make some bitmap functions inline for faster usage in one thread
include/myisam.h:
New records_in_range() interface
include/myisammrg.h:
New records_in_range() interface
myisam/mi_range.c:
New records_in_range() interface
myisam/mi_test2.c:
New records_in_range() interface
myisam/rt_test.c:
New records_in_range() interface
Indentation fixes
myisam/sp_test.c:
New records_in_range() interface
Indentation fixes
myisammrg/myrg_range.c:
New records_in_range() interface
mysys/my_bitmap.c:
Make some bitmap functions inline for faster usage in one thread
sql/examples/ha_example.cc:
New records_in_range() interface
sql/field.cc:
Fixed indentation
sql/ha_berkeley.cc:
New records_in_range() interface
sql/ha_berkeley.h:
New records_in_range() interface
sql/ha_heap.cc:
New records_in_range() interface
sql/ha_heap.h:
New records_in_range() interface
sql/ha_innodb.cc:
New records_in_range() interface
sql/ha_innodb.h:
New records_in_range() interface
sql/ha_isam.cc:
New records_in_range() interface
sql/ha_isam.h:
New records_in_range() interface
sql/ha_myisam.cc:
New records_in_range() interface
sql/ha_myisam.h:
New records_in_range() interface
sql/ha_myisammrg.cc:
New records_in_range() interface
sql/ha_myisammrg.h:
New records_in_range() interface
sql/ha_ndbcluster.cc:
New records_in_range() interface
sql/ha_ndbcluster.h:
New records_in_range() interface
sql/handler.cc:
Simplify read_range() interface:
- Add 'eq_range' to read_range_first
- Remove 'eq_range' parameer from read_range_next()
- Trust values from index_next_same()
- Simplfy compare_key() by moving key_comparision to key.cc (as this code can be reused from other places)
sql/handler.h:
Move key_range to my_base.h to be used by external table handlers
Simplify read_range() interface
New records_in_range() interface
sql/key.cc:
Rename key_cmp() to key_cmp_if_same() to make it more descriptive
Add new key_cmp() function usable from range and handler code.
sql/mysql_priv.h:
Prototypes for new functions
sql/opt_range.cc:
New records_in_range() interface
Simplify cmp_prev()
(We can in 5.0 simplify cmp_next() the same way)
sql/opt_range.h:
Added key_part_info to QUICK_SELECT to be able to use key_cmp() in get_next()
sql/opt_sum.cc:
key_cmp -> key_cmp_if_same
sql/sql_acl.cc:
key_cmp -> key_cmp_if_same
sql/sql_select.cc:
key_cmp -> key_cmp_if_same
libmysql/libmysql.c:
code to fix#3772
counting of field->max_length moved to mysql_store_stmt_result so
it will work in libmysqld also
libmysqld/lib_sql.cc:
to fix#3771 and #3775
stmt->affected_rows specifying added
code getting default values changed so it will add terminating /0 to
values
sql/sql_parse.cc:
to fix#3773
silly mistake here :\
sql/sql_prepare.cc:
to fix#3774 and #3776
special function for datetime values in embedded server added
unsigned flag now specified for values in embedded server
tests/client_test.c:
this test fails if privilege-checking pars are disabled
(it's the default for libmysqld)
mysql-test/r/func_gconcat.result:
test of Bug #3752
mysql-test/t/func_gconcat.test:
test of Bug #3752
sql/sql_base.cc:
check of item name presence in find_item_in_list
Fix remaining cases of Bug #3596: fix possible races caused by an obsolete value of thd->query_length in SHOW PROCESSLIST and SHOW INNODB STATUS; this fix depends on the fact that thd->query is always set to NULL before setting it to point to a new query
sql/sql_class.h:
Fix remaining cases of Bug #3596: fix possible races caused by an obsolete value of thd->query_length in SHOW PROCESSLIST and SHOW INNODB STATUS; this fix depends on the fact that thd->query is always set to NULL before setting it to point to a new query
sql/ha_innodb.cc:
Fix remaining cases of Bug #3596: fix possible races caused by an obsolete value of thd->query_length in SHOW PROCESSLIST and SHOW INNODB STATUS; this fix depends on the fact that thd->query is always set to NULL before setting it to point to a new query
sql/log_event.cc:
Fix remaining cases of Bug #3596: fix possible races caused by an obsolete value of thd->query_length in SHOW PROCESSLIST and SHOW INNODB STATUS; this fix depends on the fact that thd->query is always set to NULL before setting it to point to a new query
sql/slave.cc:
Fix remaining cases of Bug #3596: fix possible races caused by an obsolete value of thd->query_length in SHOW PROCESSLIST and SHOW INNODB STATUS; this fix depends on the fact that thd->query is always set to NULL before setting it to point to a new query
sql/sql_db.cc:
Fix remaining cases of Bug #3596: fix possible races caused by an obsolete value of thd->query_length in SHOW PROCESSLIST and SHOW INNODB STATUS; this fix depends on the fact that thd->query is always set to NULL before setting it to point to a new query
sql/sql_parse.cc:
Fix remaining cases of Bug #3596: fix possible races caused by an obsolete value of thd->query_length in SHOW PROCESSLIST and SHOW INNODB STATUS; this fix depends on the fact that thd->query is always set to NULL before setting it to point to a new query
sql/sql_show.cc:
Fix remaining cases of Bug #3596: fix possible races caused by an obsolete value of thd->query_length in SHOW PROCESSLIST and SHOW INNODB STATUS; this fix depends on the fact that thd->query is always set to NULL before setting it to point to a new query
into sanja.is.com.ua:/home/bell/mysql/bk/work-explain-4.1
mysql-test/r/subselect.result:
Auto merged
mysql-test/t/subselect.test:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_union.cc:
Auto merged
mysql-test/r/subselect.result:
Auto merged
mysql-test/r/union.result:
Auto merged
sql/item.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_union.cc:
SCCS merged
Fix bug #3749: if there were several indexs that made an automatically generated FOREIGN KEY index redundant, then MySQL miscalculated the number of keys, and the AUTO_INCREMENT flag was forgotten by MySQL from a PRIMARY KEY. There were probably a multitude of other errors caused by this.
sql/sql_table.cc:
Fix bug #3749: if there were several indexs that made an automatically generated FOREIGN KEY index redundant, then MySQL miscalculated the number of keys, and the AUTO_INCREMENT flag was forgotten by MySQL from a PRIMARY KEY. There were probably a multitude of other errors caused by this.
Reserve the MySQL LOCK_thread_count mutex when printing thd->query of
an arbitrary transaction; if we are printing thd->query of a transaction that
we know is currently executing inside InnoDB, then we know that MySQL cannot
meanwhile change thd->query, and no need to reserve the MySQL mutex; note
that this patch still leaves open the possibility of races in MySQL's
thd->query_len
innobase/trx/trx0trx.c:
Reserve the MySQL LOCK_thread_count mutex when printing thd->query of an arbitrary transaction; if we are printing thd->query of the a transaction that we know is currently executing inside InnoDB, then we know that MySQL cannot meanwhile change thd->query, and no need to reserve the MySQL mutex; note that thsi patch still leaves aopen the possibility of races in MySQL's thd->query_len
innobase/lock/lock0lock.c:
Reserve the MySQL LOCK_thread_count mutex when printing thd->query of an arbitrary transaction; if we are printing thd->query of the a transaction that we know is currently executing inside InnoDB, then we know that MySQL cannot meanwhile change thd->query, and no need to reserve the MySQL mutex; note that thsi patch still leaves aopen the possibility of races in MySQL's thd->query_len
innobase/include/trx0trx.h:
Reserve the MySQL LOCK_thread_count mutex when printing thd->query of an arbitrary transaction; if we are printing thd->query of the a transaction that we know is currently executing inside InnoDB, then we know that MySQL cannot meanwhile change thd->query, and no need to reserve the MySQL mutex; note that thsi patch still leaves aopen the possibility of races in MySQL's thd->query_len
sql/ha_innodb.cc:
Reserve the MySQL LOCK_thread_count mutex when printing thd->query of an arbitrary transaction; if we are printing thd->query of the a transaction that we know is currently executing inside InnoDB, then we know that MySQL cannot meanwhile change thd->query, and no need to reserve the MySQL mutex; note that thsi patch still leaves aopen the possibility of races in MySQL's thd->query_len
A flawed fix of the thd->query race in SHOW INNODB STATUS; see the comments in code about how to fix this properly; we cannot use LOCK_thread_count to protect thd->query, because that will cause a deadlock of threads
sql/ha_innodb.cc:
A flawed fix of the thd->query race in SHOW INNODB STATUS; see the comments in code about how to fix this properly; we cannot use LOCK_thread_count to protect thd->query, because that will cause a deadlock of threads
into neptunus.(none):/home/magnus/mysql-4.1
ndb/src/ndbapi/NdbScanOperation.cpp:
Auto merged
sql/sql_table.cc:
Auto merged
BitKeeper/deleted/.del-regression.sh~c19f771726612629:
Auto merged
- New solution after discussions with Sergei, no handler specific code or error messages should be in sql layer.
next_result, only check for error if check is -1
Improved index_read
include/mysqld_error.h:
New error codes ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG, update number to 298.
Removed prevoius ER_NDB_ERROR, handler specific error should not be here.
sql/ha_ndbcluster.cc:
Removed print_error from ha_ndbcluster, added code to handler::print_error to ask handler::get_error_message for message for an error.
Fix bug in next_result, only check for error if -1 is returned.
Make index_read easier, special case where pk_read or unique_index_read is detected and as default do ordered_index_scan
sql/ha_ndbcluster.h:
Remplace print_error with get_error_message
sql/handler.cc:
Add new function get_error_message usedc to ask handler for a message for an error.
Call get_error_message from print_error if error code is not known.
sql/handler.h:
Add new function get_error_message
sql/share/czech/errmsg.txt:
Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/danish/errmsg.txt:
Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/dutch/errmsg.txt:
Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/english/errmsg.txt:
Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/estonian/errmsg.txt:
Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/french/errmsg.txt:
Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/german/errmsg.txt:
Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/greek/errmsg.txt:
Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/hungarian/errmsg.txt:
Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/italian/errmsg.txt:
Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/korean/errmsg.txt:
Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/norwegian-ny/errmsg.txt:
Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/norwegian/errmsg.txt:
Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/polish/errmsg.txt:
Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/portuguese/errmsg.txt:
Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/romanian/errmsg.txt:
Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/russian/errmsg.txt:
Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/serbian/errmsg.txt:
Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/slovak/errmsg.txt:
Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/spanish/errmsg.txt:
Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/swedish/errmsg.txt:
Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/ukrainian/errmsg.txt:
Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
scripts/mysql_install_db.sh:
Portability fix (! is not portable)
sql/item_func.cc:
Use my_strtoll10() instead of strtoull()
sql/repl_failsafe.cc:
Use my_strtoll10() instead of strtoull()
sql/sql_analyse.cc:
Use my_strtoll10() instead of strtoull()
sql/sql_yacc.yy:
Use my_strtoll10() instead of strtoull()
strings/my_strtoll10.c:
Fix compiler warnings
sql/examples/ha_example.cc:
Documentation updates (lots of comments in the code).
sql/examples/ha_example.h:
Documenation update, lots of comments in the code.
Prefer not automatic keys before automatic keys. If there is two conf
BitKeeper/etc/ignore:
added *.d
include/my_base.h:
Added flag for automaticly generated key
mysql-test/r/constraints.result:
Update tests after bug fix
mysql-test/r/create.result:
Update tests after bug fix
mysql-test/r/innodb.result:
Added test of automatic creation of foreign keys
mysql-test/t/innodb.test:
Added test of automatic creation of foreign keys
mysql-test/t/key_cache.test:
Portability fixes (64 BIT os)
sql/sql_acl.cc:
Indentation fixes
sql/sql_class.cc:
Fix key comparison to handle prefix and optionally key segments in different order.
sql/sql_class.h:
Added flag for automaticly generated keys
sql/sql_parse.cc:
Added flag for automaticly generated keys
sql/sql_table.cc:
Don't automaticly generate a new key for a foreign key constraint if there is already a usable key.
Prefer not automatic keys before automatic keys. If there is two conflicting automatic keys, prefer the longer one.
sql/sql_yacc.yy:
Added flag for automaticly generated keys
strings/strings-x86.s:
Portability fix.
- Close an open scan if index_read is called without closing the previous one.
- Removed some errors that occured during previous merge
include/mysqld_error.h:
Added two new error messages for NDB
sql/ha_ndbcluster.cc:
Added more error code mappings, from NDB code to MySQL
Added function to print out the error message when an NDB error occurs.
Added two new error codes, which will represent either a permanent or temporary NDB error.
Modev get_ndb_lock_type from class to local function
Removed some merge errors
New function close_scan, to close an open scan.
sql/ha_ndbcluster.h:
Added print_error function, overrides handler::print_error
Added close_scan
Moved get_ndb_lock_type from class to local function
sql/share/czech/errmsg.txt:
Added two new error messages for NDB
sql/share/danish/errmsg.txt:
Added two new error messages for NDB
sql/share/dutch/errmsg.txt:
Added two new error messages for NDB
sql/share/english/errmsg.txt:
Added two new error messages for NDB
sql/share/estonian/errmsg.txt:
Added two new error messages for NDB
sql/share/french/errmsg.txt:
Added two new error messages for NDB
sql/share/german/errmsg.txt:
Added two new error messages for NDB
sql/share/greek/errmsg.txt:
Added two new error messages for NDB
sql/share/hungarian/errmsg.txt:
Added two new error messages for NDB
sql/share/italian/errmsg.txt:
Added two new error messages for NDB
sql/share/japanese/errmsg.txt:
Added two new error messages for NDB
sql/share/korean/errmsg.txt:
Added two new error messages for NDB
sql/share/norwegian-ny/errmsg.txt:
Added two new error messages for NDB
sql/share/norwegian/errmsg.txt:
Added two new error messages for NDB
sql/share/polish/errmsg.txt:
Added two new error messages for NDB
sql/share/portuguese/errmsg.txt:
Added two new error messages for NDB
sql/share/romanian/errmsg.txt:
Added two new error messages for NDB
sql/share/russian/errmsg.txt:
Added two new error messages for NDB
sql/share/serbian/errmsg.txt:
Added two new error messages for NDB
sql/share/slovak/errmsg.txt:
Added two new error messages for NDB
sql/share/spanish/errmsg.txt:
Added two new error messages for NDB
sql/share/swedish/errmsg.txt:
Added two new error messages for NDB
sql/share/ukrainian/errmsg.txt:
Added two new error messages for NDB
BitKeeper/deleted/.del-regression.sh~c19f771726612629:
Delete: ndb/bin/regression.sh
sql/ha_ndbcluster.cc:
Change index flags, remove HA_WRONG_ASCII_ORDER and HA_ONLY_WHOLE_INDEX.
HA_WRONG_ASCII_ORDER was used in field::optimize_range and if it was set, the index was hardly ever used.
Correct check of start_key and start_key->flag != HA_READ_KEY_EXACT, ignore end-Key in suc a case
Updated implementation o read_range_first
Made the calculation of number of bytes par batch easier to underatsn and easier to configure. The value bytesperbatch can be made a config variable.
AReduce the number of bytes sent per batch, don't overload.
Increase the value returned from scan_time in order to make it clear to optimizer that scanning is the worst alternative. Always use index if available.
sql/ha_ndbcluster.cc:
Modified next_result to process fetched records cached in NdbApi before asking NDB for more.
It should also NoCommit any pending operations before contacting NDB again.
Added utility function define_read_attrs to set the fields that should be read.
sql/ha_ndbcluster.h:
Add function define_read_attrs, used to set the fields to read
Add get_nd_lock_type funciton ,to convert MySQL lock type to NDB lock type
Always compile filtered scan function even if it's not used yet.
Add variable ops_pending to keep track of "pending" update/delete operations.