The bug was that if you have two TL_WRITE_DELAYED at the same time,
mi_lock_databases() could be done in the wrong order and we could write the wrong header to the MyISAM index file.
sql/mysql_priv.h:
Fix bug in insert delayed with prepared statements
sql/sql_base.cc:
Fix bug in insert delayed with prepared statements
sql/sql_prepare.cc:
Fix bug in insert delayed with prepared statements
The bug was that if you have two TL_WRITE_DELAYED at the same time,
mi_lock_databases() could be done in the wrong order and we could write the wrong header to the MyISAM index file.
Merge from 4.0: Fix a theoretical hang over the adaptive hash latch in InnoDB if one runs INSERT ... SELECT ... (binlog not enabled), or a multi-table UPDATE or DELETE, and only the read tables are InnoDB type, the rest are MyISAM; this also fixes bug #7879 for InnoDB type tables
sql/ha_innodb.cc:
Merge from 4.0: Fix a theoretical hang over the adaptive hash latch in InnoDB if one runs INSERT ... SELECT ... (binlog not enabled), or a multi-table UPDATE or DELETE, and only the read tables are InnoDB type, the rest are MyISAM; this also fixes bug #7879 for InnoDB type tables
of log_10 array.
sql/field.cc:
Avoid pointless calculation for really short fields, and what could be
an attempt to access outside the bounds of the log_10 array.
absolute value of the float is less than 1, and also fix calculation of
length for negative values. (Bug #7774)
sql/field.cc:
Fix handling of negative values and fabs(values> < 1 in Field_str::store
mysql-test/r/type_float.result:
Add results
mysql-test/r/type_float.result.es:
Add results
mysql-test/t/type_float.test:
Add test for conversion of floats to character field
case will be added to client_test in 4.1
sql/sql_parse.cc:
A fix for bug #6761: "mysql_list_fields() does not work": init
thd->query_length, which is used next line. Remove a stale comment.
into hundin.mysql.fi:/home/marko/k/mysql-4.1
innobase/include/row0mysql.h:
Auto merged
innobase/row/row0sel.c:
Auto merged
sql/ha_innodb.cc:
Auto merged
mysql-test/r/func_sapdb.result:
Added test for bug #7586 "TIMEDIFF for sec+microsec not working
properly". Corrected previously wrong results of couple other
statements.
mysql-test/t/func_sapdb.test:
Added test for bug #7586 "TIMEDIFF for sec+microsec not working
properly".
sql/item_timefunc.cc:
Item_func_timediff::val_str():
Use simplier and less error-prone implementation. Now we are counting
difference between time values in microseconds and convert it to time
value (instead of using seconds and taking difference in "second_part"s
into account).
mode".
Changed grammar rule for "type" token. Now we have one branch with
optional length specification for TIMESTAMP type instead of two separate
branches.
mysql-test/r/type_timestamp.result:
Added test case for bug #7418 "TIMESTAMP not always converted to DATETIME
in MAXDB mode".
mysql-test/t/type_timestamp.test:
Added test case for bug #7418 "TIMESTAMP not always converted to DATETIME
in MAXDB mode".
sql/sql_yacc.yy:
Changed rule for "type" token. Now we have one branch with optional
length specification for TIMESTAMP type instead of two separate branches.
This also gives us consistent behavior for TIMETSAMP in MAXDB mode.
mysql_admin_table() attempted to write to a vio which was 0. I could have fixed mysql_admin_table()
but fixing my_net_write() looked more future-proof.
sql/net_serv.cc:
If no VIO, no write.
mysql-test/r/ndb_index_ordered.result:
wl-1442 fix Time. adds new type id 25
mysql-test/t/ndb_index_ordered.test:
wl-1442 fix Time. adds new type id 25
ndb/include/kernel/signaldata/DictTabInfo.hpp:
wl-1442 fix Time. adds new type id 25
ndb/include/ndbapi/NdbDictionary.hpp:
wl-1442 fix Time. adds new type id 25
ndb/include/util/NdbSqlUtil.hpp:
wl-1442 fix Time. adds new type id 25
ndb/src/common/util/NdbSqlUtil.cpp:
wl-1442 fix Time. adds new type id 25
ndb/src/ndbapi/NdbDictionary.cpp:
wl-1442 fix Time. adds new type id 25
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
wl-1442 fix Time. adds new type id 25
ndb/test/include/NdbSchemaOp.hpp:
wl-1442 fix Time. adds new type id 25
ndb/tools/restore/consumer.cpp:
wl-1442 fix Time. adds new type id 25
sql/ha_ndbcluster.cc:
wl-1442 fix Time. adds new type id 25
mysql-test/r/ndb_index_ordered.result:
wl-1442 fix Date. reuses old unused Timespec type id
mysql-test/t/ndb_index_ordered.test:
wl-1442 fix Date. reuses old unused Timespec type id
ndb/include/kernel/signaldata/DictTabInfo.hpp:
wl-1442 fix Date. reuses old unused Timespec type id
ndb/include/ndbapi/NdbDictionary.hpp:
wl-1442 fix Date. reuses old unused Timespec type id
ndb/include/util/NdbSqlUtil.hpp:
wl-1442 fix Date. reuses old unused Timespec type id
ndb/src/common/util/NdbSqlUtil.cpp:
wl-1442 fix Date. reuses old unused Timespec type id
ndb/src/ndbapi/NdbDictionary.cpp:
wl-1442 fix Date. reuses old unused Timespec type id
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
wl-1442 fix Date. reuses old unused Timespec type id
ndb/test/include/NdbSchemaOp.hpp:
wl-1442 fix Date. reuses old unused Timespec type id
ndb/tools/restore/consumer.cpp:
wl-1442 fix Date. reuses old unused Timespec type id
sql/ha_ndbcluster.cc:
wl-1442 fix Date. reuses old unused Timespec type id
tables that support multiple index types. (Bug #7235)
sql/sql_show.cc:
Always output 'TYPE <indextype>' for indexes on tables with multiple index types
mysql-test/r/ctype_utf8.result:
Fix results for test