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)
allow several -e on the command line
clarify --help text
make -B to work as advertised
in force mode execute the rest of multi-statement line in case of error in one statement
client/my_readline.h:
allow several -e on the command line
client/readline.cc:
allow several -e on the command line
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).
and a comment update
mysql-test/r/rpl_server_id2.result:
result update
mysql-test/t/rpl_server_id2.test:
We stop the slave before cleaning up otherwise we'll get
'drop table t1' executed twice, so an error in the slave.err
(not critical).
sql/slave.cc:
update comment about 4.1 now that 4.1 is fixed (in a few minutes, exactly)
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