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).
Document the handling of quoted strings
innobase/pars/pars0lex.l:
Document the handling of quoted strings
innobase/pars/lexyy.c:
Document the handling of quoted strings
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.
Drop t2 in the beginning.
,
mysql-test/r/auto_increment.result:
Drop t2 in the beginning.
,
mysql-test/t/auto_increment.test:
Drop t2 in the beginning.
,
Now we are using time zone abbreviations in debug builds or in utlities only.
Tried to remove warnings generated by compiler by using more proper types for
members of time zone describing structures. Removed unused variables.
Fixed test_time to be able to build on FreeBSD without much problems.
Portability fix: resolved ambiguity of abs() function.
(enum_shutdown_level is going to replace enum killed_state in 5.0).
VC++Files/winmysqladmin/mysql_com.h:
putting in place the 2 types of KILL of 5.0
include/mysql_com.h:
putting in place the two types of KILL of 5.0
Updated tests
After merge fix
mysql-test/r/func_time.result:
Updated tests
sql/field.cc:
After merge fix
Removed compiler warning
sql/field.h:
Field_geom should have same max_length as Field_blob
BitKeeper/etc/ignore:
auto-union
BitKeeper/etc/logging_ok:
auto-union
Build-tools/Do-compile:
Auto merged
include/my_global.h:
Auto merged
innobase/row/row0ins.c:
Auto merged
libmysql/libmysql.c:
Auto merged
libmysqld/Makefile.am:
Auto merged
mysql-test/mysql-test-run.sh:
Auto merged
mysql-test/r/func_time.result:
Auto merged
mysql-test/r/subselect.result:
Auto merged
scripts/mysql_install_db.sh:
Auto merged
sql/field.cc:
Auto merged
sql/field.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
innobase/fil/fil0fil.c:
merge (Use heikki's code)
Return NULL if a time argument is given to date_add(). (Warning will be shown after Dimitri's timezone patch is pushed)
client/mysqltest.c:
Added MAX_VAR_NAME which was lost in merge
Added more debugging
Fixed bug in 'eval'
innobase/data/data0type.c:
After merge fix
innobase/fil/fil0fil.c:
After merge fix
innobase/log/log0recv.c:
After merge fix
myisam/mi_unique.c:
Better checksum handling
mysql-test/r/func_time.result:
Return NULL if a time argument is given to date_add()
mysql-test/r/rpl_free_items.result:
After merge fix
mysql-test/r/rpl_get_lock.result:
Test was depending on when server was restarted.
mysql-test/r/type_date.result:
After merge fix
mysql-test/r/type_decimal.result:
After merge fix
mysql-test/t/func_time.test:
Removed comment that is not needed anymore
(After Dimitri's timezone patch is pushed, we should get a warning for the date_add(time...) entry)
mysql-test/t/rpl_get_lock.test:
Test was depending on when server was restarted.
mysql-test/t/type_date.test:
Addded missing explanation for bug
netware/mysqld_safe.c:
Removed end \r
Run program through indent-ex to get MySQL indentation
sql-common/client.c:
After merge fix
sql/field.cc:
Fixed that get_date(time) gives a warning
sql/field.h:
After merge fix
sql/net_serv.cc:
More debugging (if DEBUG_DATA_PACKETS is set)
sql/sql_class.cc:
Removed compiler warning
sql/table.cc:
Better comment
mysql-test/r/innodb_cache.result:
test of rollback one statement in transaction
mysql-test/t/innodb_cache.test:
test of rollback one statement in transaction
sql/handler.cc:
clear changed tables list only for total roll back
Won't be pushed as is - separate email sent for internal review.
WL#1717 "binlog-innodb consistency".
Now when mysqld starts, if InnoDB does a crash recovery, we use the binlog name
and position retrieved from InnoDB (corresponding to the last transaction
successfully committed by InnoDB) to cut any rolled back transaction from
the binary log. This is triggered by the --innodb-safe-binlog option.
Provided you configure mysqld to fsync() InnoDB at every commit (using
flush_log_at_trx_commit) and to fsync() the binlog at every write
(using --sync-binlog=1), this behaviour guarantees that a master always has
consistency between binlog and InnoDB, whenever the crash happens.
6 tests to verify that it works.
client/mysqltest.c:
New command require_os (only "unix" accepted for now).
innobase/include/trx0sys.h:
when InnoDB does crash recovery, we now save the binlog coords it prints, into variables for later use.
innobase/trx/trx0sys.c:
when InnoDB does crash recovery, we now save the binlog coords it prints, into variables for later use.
mysql-test/mysql-test-run.sh:
The tests which check that the binlog is cut at restart, need to not delete those binlogs, of course.
And not delete replication info, so that we can test that the slave does not receive anything
wrong from the cut binlog.
sql/ha_innodb.cc:
methods to read from InnoDB the binlog coords stored into it
sql/ha_innodb.h:
ethods to read from InnoDB the binlog coords stored into it
sql/log.cc:
Added my_sync() when we create a binlog (my_sync of the binlog and of the index file);
this is always done, whether --sync-binlog or not (binlog creation is rare, so no speed
problem, and I like to have the existence of the binlog always reliably recorded, even if
later content is not).
If --crash-binlog-innodb, crash between the binlog write and the InnoDB commit.
New methods:
- report_pos_in_innodb() to store the binlog name and position into InnoDB (used only when
we create a new binlog: at startup and at FLUSH LOGS)
- cut_spurious_tail() to possibly cut the tail of a binlog based on the info we read
from InnoDB (does something only if InnoDB has just done a crash recovery).
sql/mysql_priv.h:
new option, to crash (use for testing only)
sql/mysqld.cc:
New option --innodb-safe-binlog and --crash-binlog-innodb (the latter is for testing, it makes mysqld crash).
Just after opening the logs and opening the storage engines, cut any wrong statement from the binlog, based
on info read from InnoDB.
sql/sql_class.h:
new methods for MYSQL_LOG.
at each 'make' invocation (pushing as two devs tested that the patch is ok).
Makefile.am:
Fix for bug in build scripts making everything to be reconfigured
at each 'make' invocation.