The bug was introduced in a patch in the 4.1.2 source tree.
mysql-test/r/key.result:
New result
mysql-test/t/key.test:
Added test case for bug in key read
sql/sql_select.cc:
Fixed wrong key usage which caused wrong result for some "WHERE primary_key=constant" queries where MySQL could use 'only index' (Bug #3666)
as the I/O thread filters on the server id, we must test replicate_same_server_id in it (on top of in the SQL thread).
mysql-test/r/rpl_server_id2.result:
result update
sql/slave.cc:
As the I/O thread filters on the server id, we must test replicate_same_server_id in it (on top of in the SQL thread).
into sanja.is.com.ua:/home/bell/mysql/bk/work-ndb-4.1
mysql-test/r/subselect.result:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_union.cc:
Auto merged
sql/sql_update.cc:
Auto merged
SQL_SELECT_LIMIT as default will be applied only for SELECT statement if there was not explicit LIMIT clause
correct table list passed to class constructor of select_update
mysql-test/r/subselect.result:
do not show limit if it is not explicit
mysql-test/r/union.result:
test of LIMIT + ORDER
mysql-test/t/union.test:
test of LIMIT + ORDER
sql/ha_isammrg.h:
caching of queries with isammerge tables forbiden
sql/sql_cache.cc:
removed check on isammerge
sql/sql_lex.cc:
tag of explicit limit in statement
sql/sql_lex.h:
tag of explicit limit in statement
sql/sql_parse.cc:
blanks in empty line removed
no limit by default (SQL_SELECT_LIMIT as default will be applied only for SELECT statement if there was not explicit LIMIT clause)
sql/sql_union.cc:
reverted incorrect patch
sql/sql_update.cc:
reverted incorrect patch
correct table list passed to class constructor
sql/sql_yacc.yy:
explicit LIMIT marked
into mysql.com:/home/my/mysql-4.1
mysql-test/r/subselect.result:
Auto merged
sql/item.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_update.cc:
Auto merged
tests/client_test.c:
Auto merged
sql/sql_parse.cc:
Delete Items created during Prepared Stat (memory leak bug)
sql/sql_prepare.cc:
Delete Items created during Prepared Stat (memory leak bug)
We didn't use 'only index' for tables of type 'const'. (Bug #3497)
mysql-test/r/func_str.result:
New testfin
mysql-test/r/key.result:
New test
mysql-test/r/key_primary.result:
Update after "We didn't use 'only index' for tables of type 'const'" fix.
mysql-test/r/null_key.result:
Update after "We didn't use 'only index' for tables of type 'const'" fix.
mysql-test/r/subselect.result:
Update after "We didn't use 'only index' for tables of type 'const'" fix.
mysql-test/t/func_str.test:
Updated bug texts
Added test for conversion of long string value to integer (Bug #3472)
mysql-test/t/key.test:
Test of key read with primary key (Bug #3497)
sql/item.cc:
Added assert
sql/sql_base.cc:
Fixed crashing bug with alter table when table was in use (Bug #3643)
sql/sql_load.cc:
Indentation fixes
sql/sql_select.cc:
We didn't use 'only index' for tables of type 'const'. (Bug #3497)
(Bug #3596)
innobase/srv/srv0srv.c:
Truncate "<datadir>/innodb.status.<pid>" to its actual size (Bug #3596)
sql/ha_innodb.cc:
Truncate "<datadir>/innodb.status.<pid>" to its actual size (Bug #3596)
sql/ha_ndbcluster.h:
fixed layout
prohibit using query cache with ndb tables
sql/handler.h:
new caching type
sql/sql_cache.cc:
support of new caching type (caching prohibited)
"mysql_send_long_data() API call is completely broken".
Now we are resetting some members (long_data_supplied/null_value...) of Item_param to its
initial state after each execution of prepared statement. We also manipulating
Item_param::maybe_null/null_value only via Item_param::set_* setters which makes code a bit
more robust.
sql/item.cc:
Now we are assuming that Item_param may be NULL until we know this fact exactly.
Added non-empty implementation of Item_param::reset() method which should be used
for restoring Item_param state after each statment execution. (We need to clear
long_data_supplied flag, we also clear some other Item_param members here since it
makes code simpler.)
sql/item.h:
Now Item_param::reset() method really does something.
sql/sql_prepare.cc:
Now we are calling Item_param::reset() for each parameter after execution for resetting Item_param
to initial state. So we no longer don't need Prepared_statement::long_data_flag. We also
set Item_param::null_value/maybe_null value in Item_param::set_* and reset() methods
instead of doing it explicitly in insert_params_* functions (this by the way lowers
probability that we will forget to update one of such functions).
tests/client_test.c:
Added test for Bug#1664 "mysql_send_long_data() API call is broken".
just for beauty of truth.
sql/mysqld.cc:
correcting sentence (even if option is not really usable,
as it depends on report-user and report-password which are undocumented
(and will stay like this)).
sql/slave.cc:
report password when you must report password.
in hard-coded replication messages, always put small-length info (error codes, explanation of the error) at the beginning,
so that it is not cut by truncation if the query is very long (which happens if the query goes first).
sql/log_event.cc:
in hard-coded replication messages, always put small-length info (error codes, explanation of the error) at the beginning,
so that it is not cut by truncation if the query is very long (which happens if the query goes first).
Fixed security problem that password was temporarly reset when someone changed GRANT for a user. (Bug #3404)
Fixed problem with PROCEDURE analyse() and impossible WHERE (Bug #2238)
Don't auto-repair tables in mysqlcheck if table type doesn't support 'check' command.
Docs/mysqld_error.txt:
Updated error values
client/mysqlcheck.c:
Don't cause auto-repair on 'note' (Tables that doesn't support 'check')
libmysql/libmysql.c:
Fix to handle unsigned data in prepared statements (Bug #3447)
mysql-test/r/analyse.result:
Test of analyze + impossible where (Bug #2238)
mysql-test/r/bdb.result:
Update results
mysql-test/r/ctype_ujis.result:
Update results
mysql-test/r/isam.result:
Update results
mysql-test/r/repair.result:
Update results
mysql-test/t/analyse.test:
Test of analyze + impossible where (Bug #2238)
mysql-test/t/ctype_ujis.test:
Added test for LIKE (Bug #3438)
sql/sql_acl.cc:
Fixed security problem that password was temporarly reset when someone changed GRANT for a user. (Bug #3404)
sql/sql_select.cc:
Fixed problem with PROCEDURE analyse() and impossible WHERE (Bug #2238)
sql/sql_table.cc:
Changed 'error' to 'note' when table doesn't support admin command.
sql/sql_update.cc:
Indentaion cleanup
tests/client_test.c:
Added test for handling unsigned/signed strings with prepared statements
Hopefully last one
ndb/config/Defs.LINUX.x86.GCC.mk:
Only use __cxa_pure_virtual for binaries / so's
ndb/src/common/util/new.cpp:
Remove __cxa_pure_virtual from here
mysql-test/r/union.result:
Results for a test case for bug involving UNION's and
SET SQL_SELECT_LIMIT
mysql-test/t/union.test:
Test case for bug involving UNION's and
SET SQL_SELECT_LIMIT
sql/sql_union.cc:
Patch for a bug involving UNION's and SET SQL_SELECT_LIMIT
Introduced a new free blocks list. Free blocks are now re-used before
new blocks are allocated from the pool. There is a new status variable
which can be queried by "show status like key_blocks_unused".
include/keycache.h:
WL#1700 - Properly count key_blocks_used and key_blocks_current.
free_block_list is the new free blocks list. It is implemented like a stack (LIFO).
blocks_unused holds the number of never used blocks plus the number of blocks in the free list.
Removed the variable global_blocks_used, as it was always the same as blocks_used.
mysql-test/r/key_cache.result:
WL#1700 - Properly count key_blocks_used and key_blocks_current.
Inserted some commands which show how key_blocks_used and key_blocks_unused work.
mysql-test/t/key_cache.test:
WL#1700 - Properly count key_blocks_used and key_blocks_current.
Inserted some commands which show how key_blocks_used and key_blocks_unused work.
mysys/mf_keycache.c:
WL#1700 - Properly count key_blocks_used and key_blocks_current.
Introduced a new free blocks list. The introductory comment says it all (I hope).
Removed the variable global_blocks_used, as it was always the same as blocks_used.
sql/mysqld.cc:
WL#1700 - Properly count key_blocks_used and key_blocks_current.
The blocks_unused count can be queried by "show status like key_blocks_unused".
Removed the variable global_blocks_used, as it was always the same as blocks_used.
Introduced SHOW_KEY_CACHE_CONST_LONG for status variables that
must not be modified (i.e. flushed to zero).
sql/sql_show.cc:
WL#1700 - Properly count key_blocks_used and key_blocks_current.
Introduced SHOW_KEY_CACHE_CONST_LONG for status variables that
must not be modified (i.e. flushed to zero).
sql/sql_test.cc:
WL#1700 - Properly count key_blocks_used and key_blocks_current.
Removed the variable global_blocks_used, as it was always the same as blocks_used.
sql/structs.h:
WL#1700 - Properly count key_blocks_used and key_blocks_current.
Introduced SHOW_KEY_CACHE_CONST_LONG for status variables that
must not be modified (i.e. flushed to zero).
sql/sql_union.cc:
return table list of fake_select in empty state to prevent using TABLE_LIST allocated on stack in next execution of PS
tests/client_test.c:
test of UNIONS with PS