It was a forgotten ltime->neg=0 (neg was the only forgotten variable).
I scanned field.cc for other places where we would forget to set neg, found none.
A test for the bug.
mysql-test/r/date_formats.result:
result update
mysql-test/t/date_formats.test:
a test for BUG#1960 "date_format() returns spurious '-' for valid dates"
sql/field.cc:
When preparing ltime from the 3-byte date, don't forget to set ltime->neg to 0
(otherwise it remains unitialized).
Dates are not allowed to be negative (only times can be, when they mean a time interval),
so it's ok to always set neg to 0.
Removed FLUSH_REMOVE flag (replaced it by FLUSH_RELEASE).
my_sys.h:
Removed FLUSH_REMOVE flag.
include/my_sys.h:
Removed FLUSH_REMOVE flag.
myisam/mi_keycache.c:
Removed FLUSH_REMOVE flag (replaced it by FLUSH_RELEASE).
Fixed typo that caused blocking key cache usage after resize.
Removed wrong re-initialization of resize queue in init_key_cache.
mysys/mf_keycache.c:
Fixed typo that caused blocking key cache usage after resize.
Removed wrong re-initialization of resize queue in init_key_cache.
temporary table BLOB now is longblob
mysql-test/r/create.result:
blob size changed for safety
mysql-test/r/type_blob.result:
blob size changed for safety
mysql-test/r/type_ranges.result:
blob size changed for safety
mysql-test/r/union.result:
blob size changed for safety
new tests of UNION types merging
mysql-test/t/union.test:
new tests of UNION types merging
sql/field.h:
blob size changed for safety
sql/item.cc:
processing of collation added
added comment
sql/item.h:
joining of UNION fields may failed now, because of incompatibility of collations
sql/sql_union.cc:
joining of UNION fields may failed now, because of incompatibility of collations
ibbackup --apply-log must be able to rename a table based only on the space id
innobase/fil/fil0fil.c:
ibbackup --apply-log must be able to rename a table based only on the space id
innobase/include/fil0fil.h:
ibbackup --apply-log must be able to rename a table based only on the space id
Fix for the resize key cache operation.
include/keycache.h:
Fix for the resize key cache operation.
mysys/mf_keycache.c:
Fix for the resize key cache operation.
Docs/Makefile.am:
Auto merged
mysql-test/t/rpl_change_master.test:
Auto merged
mysys/my_getopt.c:
Auto merged
scripts/make_binary_distribution.sh:
Auto merged
scripts/make_win_src_distribution.sh:
Auto merged
support-files/mysql.spec.sh:
Auto merged
mysql-test/r/rpl_change_master.result:
merged - ul
after it was removed from manual.texi (where it was automatically
generated from).
Docs/Makefile.am:
- don't create COPYING.LIB anymore (was removed from manual.texi)
Makefile.am:
- Removed COPYING.LIB from the source distribution
scripts/make_binary_distribution.sh:
- Removed COPYING.LIB from the binary distribution
scripts/make_win_src_distribution.sh:
- Removed COPYING.LIB from the windows source distribution
support-files/mysql.spec.sh:
- Removed COPYING.LIB from the Server RPM
It can appear as a result of manual modifications with INSERT/UPDATE/DELETE
This script converts privilege table to the state that could be created
with GRANT commands only (with the exception of the short password)
This is necessary for 5.0
"You can always mysql_real_query a query with placeholders
after mysql_prepare()"
sql/sql_class.cc:
prepare_command removed
sql/sql_class.h:
prepare_command removed
sql/sql_prepare.cc:
prepare_command removed
sql/sql_yacc.yy:
prepare_command removed
tests/client_test.c:
added test for bug #1946: "You can always
mysql_real_query a query with placeholders after mysql_prepare()"
libexec support in install_test_db
--start-from in mysql-test-run
mysql-test/install_test_db.sh:
libexec support in install_test_db
mysql-test/mysql-test-run.sh:
--start-from in mysql-test-run
Marko's patch: check the position of some system table columns already at C compile time
innobase/dict/dict0boot.c:
Marko's patch: check the position of some system table columns already at C compile time
confuses RPM's Perl module dependency checking (it adds a bogus
requirement to "Perl(the)", as "use" is a Perl keyword). (BUG#1931)
scripts/mysqlaccess.sh:
- Rephrased option help text so it does not start with "use" as this
confuses RPM's Perl module dependency checking (it adds a bogus
requirement to "Perl(the)", as "use" is a Perl keyword). (BUG#1931)
sql-bench/bench-init.pl.sh:
- Rephrased option help text so it does not start with "use" as this
confuses RPM's Perl module dependency checking (it adds a bogus
requirement to "Perl(the)", as "use" is a Perl keyword). (BUG#1931)
mysql-test/r/union.result:
new tests, more correct results for old one
mysql-test/t/union.test:
new tests, more correct results for old one
sql/field.cc:
new way to make field types csting
sql/field.h:
new way to make field types csting
sql/item.cc:
new way to make field types csting
sql/sql_derived.cc:
fixed typo
sql/sql_lex.h:
comment added
Now the I/O thread (in flush_master_info()) flushes the relay log to disk
after reading every event. Slower but provides additionnal safety in case
of brutal crash.
I had to make the flush optional (i.e. add a if(some_bool_argument) in the function)
because sometimes flush_master_info() is called when there is no usable
relay log (the relay log's IO_CACHE is not initialized so can't be flushed).
mysql-test/r/rpl_loaddata_rule_m.result:
avoid a harmless error in the .err file; we don't need a slave in this test
(even though it's called 'rpl' because it's testing binlog-ignore-db).
mysql-test/t/rpl_loaddata_rule_m.test:
result update
sql/repl_failsafe.cc:
update call to flush_master_info() according to new prototype.
sql/slave.cc:
- Now the I/O thread (in flush_master_info()) flushes the relay log to disk
after reading every event. Slower but provides additionnal safety in case
of brutal crash.
I had to make the flush optional (i.e. add a if(some_bool_argument) in the function)
because sometimes flush_master_info() is called when there is no usable
relay log (the relay log's IO_CACHE is not initialized so can't be flushed).
- Update version in message.
- Remove warning about bug as it's not true anymore (since this changeset).
sql/slave.h:
new prototype
sql/sql_repl.cc:
update call to flush_master_info() according to new prototype.
mysql-test/r/union.result:
new results with max union field length detecting
type conversion tests
mysql-test/t/union.test:
type conversion tests
sql/field.h:
field converion support
sql/item.cc:
fixed printing field of internal temporary table of SELECT (reference from HAVING clause)
layout fix
new item for storing field type
sql/item.h:
new item for storing field type
sql/item_subselect.cc:
new subquery item length/dec detecting
sql/mysql_priv.h:
we do not need pre-inited tables and fields
sql/sql_base.cc:
we do not need double fix_fielding
sql/sql_class.h:
we do not need double fix_fielding
sql/sql_derived.cc:
preparing moved before temporary table creation
sql/sql_lex.h:
we do not need pre-inited tables and fields
new lists to store fields types and fields of temporary table
sql/sql_parse.cc:
we do not need pre-inited tables and fields
sql/sql_prepare.cc:
we do not need pre-inited tables and fields
sql/sql_select.cc:
we do not need pre-inited tables and fields
support mysql_select call from derived tables after it preparing (in derived table routing)
support of crreating temporary table fields from Item_type_holder
sql/sql_select.h:
we do not need pre-inited tables and fields
sql/sql_union.cc:
we do not need pre-inited tables and fields
check of columns number in union moved to prepare()
prepering of SELECTS moved before temporary table creation, fixed union columns type/length detecting
sql/sql_update.cc:
we do not need pre-inited tables and fields
We treat Item_param whose value is not set as non-const.
This allows us to avoid use of Item_param's value (not yet existing) in
those fix_fields and fix_length_and_dec that do calculations if their
Items arguments are const. So we can call fix_fields for such items from
mysql_prepare safely.
sql/item.cc:
Now Item_param is non-constant (const_item()==FALSE) until its value is set.
sql/item.h:
Added Item::const_during_execution() method which indicates constants that will be known
during execution phase (but they may be not known during preparing phase for example parameters
of prep. statements.)
Made Item_param non-constant until its is value set, so its value won't be requested during
prepare statement step.
sql/item_func.cc:
Fulltext search AGAINST clause now allows prepared statement parameter as its argument.
Removed duplicate used_tables_cache update in Item_func_match::fix_fields()
(it is set during Item_func::fix_fields).
tests/client_test.c:
Added test for bug #1500 "Server crash with mysql_prepare"