a limitation of yesterday's implementation:
if there was an unfinished transaction (COMMIT not typed), and some MyISAM tables were
then updated, and then mysqld crashes, then at restart the server would use the too old
binlog offset known by InnoDB to cut the binlog, thus cutting the successful MyISAM
updates. We fix this by reporting the binlog offset into InnoDB even if InnoDB was not
affected at all by the update.
But the feature is still disabled until we decide if it can go into 4.1.3.
sql/handler.cc:
How we report the binlog offset into InnoDB:
- if the update affected InnoDB, it will happen naturally
- otherwise (for example MyISAM update not in an InnoDB transaction), we explicitely report it.
sql/handler.h:
removing warning (noticed this)
sql/log.cc:
clearer messages when truncating binlog.
sql/mysql_priv.h:
need to see opt_innodb_safe_binlog in handler.cc
sql/mysqld.cc:
No innodb-safe-binlog if no InnoDB.
Updating message as now we work with MyISAM.
mysql-test/r/union.result:
test of correct parser stack overflow handling
mysql-test/t/union.test:
test of correct parser stack overflow handling
sql/sql_parse.cc:
parameter of my_yyoverflow made independed from YYSIZE_T
sql/sql_yacc.yy:
parameter of my_yyoverflow made independed from YYSIZE_T
before being available to users. That will be the case in 4.1.4.
The "bk commit in mysqldoc" corresponding to this feature was not pushed.
Removing the 6 tests, they'll be pushed again later.
BitKeeper/deleted/.del-rpl_crash_binlog_ib_1a.result~c9ecac961121bd4e:
Delete: mysql-test/r/rpl_crash_binlog_ib_1a.result
BitKeeper/deleted/.del-rpl_crash_binlog_ib_1b.result~437e146cd203b120:
Delete: mysql-test/r/rpl_crash_binlog_ib_1b.result
BitKeeper/deleted/.del-rpl_crash_binlog_ib_2a.result~9a8bcdcc9218e280:
Delete: mysql-test/r/rpl_crash_binlog_ib_2a.result
BitKeeper/deleted/.del-rpl_crash_binlog_ib_2b.result~8d03dd3a2da8b228:
Delete: mysql-test/r/rpl_crash_binlog_ib_2b.result
BitKeeper/deleted/.del-rpl_crash_binlog_ib_3a.result~81a4b08a5259aef1:
Delete: mysql-test/r/rpl_crash_binlog_ib_3a.result
BitKeeper/deleted/.del-rpl_crash_binlog_ib_3b.result~ce5077d6b541e48c:
Delete: mysql-test/r/rpl_crash_binlog_ib_3b.result
BitKeeper/deleted/.del-rpl_crash_binlog_ib_1a-master.opt~f9cc9d326400bc96:
Delete: mysql-test/t/rpl_crash_binlog_ib_1a-master.opt
BitKeeper/deleted/.del-rpl_crash_binlog_ib_1a.test~ca1e5ae4b81c69ce:
Delete: mysql-test/t/rpl_crash_binlog_ib_1a.test
BitKeeper/deleted/.del-rpl_crash_binlog_ib_1b-master.opt~d8ad8b1c484b86c3:
Delete: mysql-test/t/rpl_crash_binlog_ib_1b-master.opt
BitKeeper/deleted/.del-rpl_crash_binlog_ib_1b.test~450096adbbe9214:
Delete: mysql-test/t/rpl_crash_binlog_ib_1b.test
BitKeeper/deleted/.del-rpl_crash_binlog_ib_2a-master.opt~d8e2c519c1a8d580:
Delete: mysql-test/t/rpl_crash_binlog_ib_2a-master.opt
BitKeeper/deleted/.del-rpl_crash_binlog_ib_2a.test~8a3a7646227ad59:
Delete: mysql-test/t/rpl_crash_binlog_ib_2a.test
BitKeeper/deleted/.del-rpl_crash_binlog_ib_2b-master.opt~5cb4dc88644cac71:
Delete: mysql-test/t/rpl_crash_binlog_ib_2b-master.opt
BitKeeper/deleted/.del-rpl_crash_binlog_ib_2b.test~95e00750688e5950:
Delete: mysql-test/t/rpl_crash_binlog_ib_2b.test
BitKeeper/deleted/.del-rpl_crash_binlog_ib_3a-master.opt~233787f10a34d70:
Delete: mysql-test/t/rpl_crash_binlog_ib_3a-master.opt
BitKeeper/deleted/.del-rpl_crash_binlog_ib_3a.test~c3cf56608fa38ab2:
Delete: mysql-test/t/rpl_crash_binlog_ib_3a.test
BitKeeper/deleted/.del-rpl_crash_binlog_ib_3b-master.opt~5a878d6ca9b620ba:
Delete: mysql-test/t/rpl_crash_binlog_ib_3b-master.opt
BitKeeper/deleted/.del-rpl_crash_binlog_ib_3b.test~d283dc272a38175:
Delete: mysql-test/t/rpl_crash_binlog_ib_3b.test
sql/mysqld.cc:
disabling the --innodb-safe-binlog option. It should be fixed to work with MyISAM too,
before being available to users. That will be the case in 4.1.4.
into mysql.com:/home/mysql_src/mysql-4.1-1717
client/mysqltest.c:
Auto merged
innobase/trx/trx0sys.c:
Auto merged
mysql-test/mysql-test-run.sh:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/ha_innodb.h:
Auto merged
sql/log.cc:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_class.h:
Auto merged
Final push. Printing some warnings at startup, as --innodb-safe-binlog requires
some other options, to work as expected.
Adding 6 new tests (3 pairs). If they fail on some platforms (so far they have been run only on my Linux),
they should be ignored for the 4.1.3 build (you can just
rm mysql-test/*/rpl_crash_*).
Now going to update doc.
mysql-test/misc/kill_master.sh:
If the mysqld process has already gone away, 'kill' will fail, so we need to explicitely
exit 0, so that the non-zero return code of kill does not make mysqltest stop.
sql/log.cc:
VC++ does not know (ulonglong)(-1)
sql/mysqld.cc:
When using --innodb-safe-binlog, some options need to automatically be turned on.
into sanja.is.com.ua:/home/bell/mysql/bk/work-innodb-4.1
sql/item_subselect.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_select.cc:
Auto merged
with ALTER TABLE and CREATE/DROP INDEX. (Bug #3109)
Make net_buffer_length visible for mysql clients (Bug #4206)
include/mysql.h:
Make net_buffer_length visible for mysql clients
libmysql/libmysql.c:
Make net_buffer_length visible for mysql clients
mysql-test/mysql-test-run.sh:
Don't give warning for some common 'safe' warnings
mysql-test/r/lowercase_table2.result:
Test name conversion with ALTER TABLE / CREATE INDEX (Bug #3109)
mysql-test/t/lowercase_table2.test:
Test name conversion with ALTER TABLE / CREATE INDEX (Bug #3109)
scripts/mysql_install_db.sh:
Removed not used variable
sql/sql_table.cc:
lower_case_table_names=2 (Keep case for table names) was not honored
with ALTER TABLE and CREATE/DROP INDEX. (Bug #3109)
configure.in:
Auto merged
mysql-test/Makefile.am:
Auto merged
mysql-test/r/fulltext.result:
Auto merged
sql/field.cc:
Auto merged
sql/ha_berkeley.cc:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/ha_innodb.h:
Auto merged
sql/handler.cc:
Auto merged
sql/handler.h:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/lex.h:
Auto merged
sql/opt_range.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_cache.cc:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_help.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_update.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/table.cc:
Auto merged
sql/unireg.cc:
Auto merged
sql/Makefile.am:
Final solution to mysql_tzinfo_to_sql problem:
We can't put it in extra/ directory since it depends on sql/sql_yacc.h and
sql/ directory depends on extra/comp_err. So this utility have to stay in
sql/ for a while.
BitKeeper/etc/ignore:
Added sql/mysql_tzinfo_to_sql_tztime.cc to the ignore list
Original test case was too big to add it.
Unfortunately I didn't manage to reduce it.
sql/sql_select.cc:
a fix (Bug #4237: Server crash with a subquery SELECT).
mysql-test/r/alter_table.result:
Test case for BUG#3899
mysql-test/t/alter_table.test:
Test case for BUG#3899
sql/sql_yacc.yy:
Fix for BUG#3899: call ALTER_INFO::reset to clear ALTER_INFO::drop_list and ALTER_INFO::alter_list
mysql_tzinfo_to_sql converter was moved to extra/ directory and its build was made
compatible with older automake versions.
extra/Makefile.am:
mysql_tzinfo_to_sql converter was moved to extra/ directory and its build was made
compatible with older automake versions.
sql/Makefile.am:
mysql_tzinfo_to_sql converter was moved to extra/ directory and its build was made
compatible with older automake versions.
BitKeeper/etc/ignore:
Added extra/tztime.cc extra/mysql_tzinfo_to_sql to the ignore list
mysql-test/r/ps.result:
New test case for BUG#3486.
mysql-test/t/ps.test:
New test case for BUG#3486.
sql/item_create.cc:
Create an Item_func_found_rows() at parse time, not an Item_int.
sql/item_func.cc:
Added val_int() method for new Item_func_found_rows class.
sql/item_func.h:
New class Item_func_found_rows for FOUND_ROWS() function.
sql/sql_select.cc:
Don't reset thd->limit_found_rows too early, or FOUND_ROWS() wont work.
into brandersnatch.localdomain:/home/dlenev/src/mysql-4.1-bg4200
sql/item_cmpfunc.cc:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/sql_yacc.yy:
Auto merged
dded code to clear the tail of the reference buffer if the actual key length
is less than the maximum key length.
mysql-test/r/bdb.result:
bug#2688 - Wrong index_merge query results for BDB table with variable length primary key.
Added the test case results.
mysql-test/t/bdb.test:
bug#2688 - Wrong index_merge query results for BDB table with variable length primary key.
Added the test case.
sql/ha_berkeley.cc:
bug#2688 - Wrong index_merge query results for BDB table with variable length primary key.
Added code to clear the tail of the reference buffer if the actual key length
is less than the maximum key length.
Now ESCAPE in LIKE will accept not only string literal but constant
delimited expression.
mysql-test/r/func_like.result:
Added test for bug# 4200 "Parse error on LIKE ESCAPE with parameter binding"
mysql-test/t/func_like.test:
Added test for bug# 4200 "Parse error on LIKE ESCAPE with parameter binding"
sql/item_cmpfunc.cc:
Added support for accepting of constant delimited expression as ESCAPE argument to
Item_func_like.
sql/item_cmpfunc.h:
Now ESCAPE clause in LIKE will accept not only string literal but constant delimited
expression. Thus added member to Item_func_like for storing Item corresponding to this
expression and changed third argument of cons to be Item* instead of char*.
sql/sql_help.cc:
Item_func_like now accepts Item* as third argument.
sql/sql_yacc.yy:
Now ESCAPE clause of LIKE accepts not only string literal but constant delimited expression
(the most important case is prepared statement parameter of course).
on many platforms (the other option was providing portable setenv() replacement).
sql/Makefile.am:
Removed building of test_time since it was not needed/used really and caused problems on
many platforms.