Using wrong filling value may cause unneeded extra bit rewriting.
Fix: use proper value to fill uneven bits.
mysql-test/r/type_bit.result:
Fix for bug #22271: data casting may affect data stored in the next column(s?)
- test case.
mysql-test/t/type_bit.test:
Fix for bug #22271: data casting may affect data stored in the next column(s?)
- test result.
sql/field.cc:
Fix for bug #22271: data casting may affect data stored in the next column(s?)
- use ((1 << bit_len) - 1) instead of 0xff to fill uneven bits
in order not to change other's bits.
Dumps are created for the tables in each specified database then for the views in each specified database. This bug occurs when any database's views depend on the mysql database's table data while being restored.
Added command line option --flush-privileges to the mysqldump utility which causes a FLUSH PRIVILIGES statement to be written to the dump after the mysql database.
client/mysqldump.c:
When the flush-privileges command line option is specified, make sure to FLUSH PRIVILEGES after only the mysql database's tables' data is restored so that grant tables are current.
mysql-test/r/mysqldump.result:
Added Results.
mysql-test/t/mysqldump.test:
Expanded existing test case for bug 21527 to also test for bug 21424.
Exercises new --flush-priviliges command line option.
Test ignores log tables.
BitKeeper/etc/ignore:
Exclude files created during the Windows build process.
BitKeeper/triggers/post-commit:
post-commit trigger writes emails to file in the BitKeeper/tmp directory before sending in case of failure.
Now uses bk sendmail instead of hardcoded /usr/sbin/sendmail to send message.
The column's NOT NULL flag doesn't affect what we should print. Remove the
wrong logic that does check it.
Also, verify that this and the previous two tests print the same data as
other output formats.
client/mysql.cc:
Don't check the column's NOT NULL flag when determining whether to print
"NULL" or not.
mysql-test/r/mysql.result:
Add results and confirm that the other output forms give the same results
for other similar tests.
mysql-test/t/mysql.test:
Add regression tests for this bug and two similar bugs.
The cause of the bug was an incomplete fix for bug 18080.
The problem was that setup_tables() unconditionally reset the
name resolution context to its 'tables' argument, which pointed
to the first table of an SQL statement.
The bug fix limits resetting of the name resolution context in
setup_tables() only in the cases when the context was not set
by earlier parser/optimizer phases.
mysql-test/r/insert_select.result:
Test for BUG#21774.
mysql-test/t/insert_select.test:
Test for BUG#21774.
sql/sql_base.cc:
Do not reset the name resolution contect unconditionally.
Instead set the context to 'tables' only if it was not
set before calling setup_tables().
sql/sql_insert.cc:
Added asserts to make sure that in the case of INSERT ... VALUES ...
statements it is not necessary to reset the name resolution context
to the first table, because there is only one table in the list of
tables anyway. The actual code is not removed in order not to
confuse it with the actual bug fix.
sql/sql_parse.cc:
Removed unnecessary reset of the name resolution context.
The context is anyway unconditionally reset in mysql_insert()
and mysql_prepare_insert().
- Change the configure test looking for 'isinf' so the value returned from isinf is used. That avoids the call to isinf being optimized away.
configure.in:
Use the value returned from isinf so it's not optimized away by the compiler(i.e gcc 4.1)