because old behaviour was somewhat nonsensical (kind of bug). Changes are that if repl threads are
down or disconnected the column will be NULL, and if master is idle the column will not grow indefinitely anymore.
sql/slave.cc:
mi->slave_running and rli->slave_running now uints (was needed only for mi but because of start_slave_thread() usage,
had to change both).
So mi->slave_running can now take 3 values: not running, running & not connected, running and connected.
The last value serves for calculation of Seconds_Behind_Master in SHOW SLAVE STATUS.
Changing this column's behaviour: if SQL or I/O thread is not running, or if I/O thread is not connected
(for example if it is reconnecting), it's NULL (to mean "unknown"). And if master is idle, the column will
not grow indefinitely like it used to (that was meaningless); this is fixed by forcing a value of 0
when the slave SQL thread has hit EOF of relay log (which has only a limited number of caveats explained
in comments in code).
sql/slave.h:
slave_running used to be bool but we need to distinguish, for the I/O slave thread, between
"running & connected" and "running & not connected" ("running" means the thread exists).
sql/sql_repl.cc:
we don't need anymore to set rli->last_master_timestamp to 0 (we used that to make Seconds_Behind_Master
be NULL) in RESET SLAVE and CHANGE MASTER, as these commands imply that slave threads are not running
and so Seconds_Behind_Master is already NULL because of that.
ndb/src/kernel/vm/Configuration.cpp:
changed back to just restricting mac meta objects in dict to make sure we can "always" confiure ourselves out of unforseen limits
UPDATE clause conflicts with SELECT for use of item_list field.
Alter UPDATE clause to use new lex field update_list
Tests included
mysql-test/r/insert_update.result:
WL#2274
New tests for INSERT..SELECT..UPDATE
mysql-test/t/insert_update.test:
WL#2274
New tests for INSERT..SELECT..UPDATE
sql/mysql_priv.h:
Remove function - insert_select_precheck()
sql/sql_class.h:
WL#2274
New constructor for class select_insert
sql/sql_insert.cc:
WL#2274
Move code into mysql_prepare_insert
Add checks as param values may be NULL
sql/sql_lex.cc:
WL#2274
initialize lex->update_list
sql/sql_lex.h:
WL#2274
New field in LEX: update_list
sql/sql_parse.cc:
WL#2274
INSERT..UPDATE clause now populates lex->update_list
Remove redundant function: insert_select_precheck()
sql/sql_prepare.cc:
WL#2274
invoke insert_precheck() instead of insert_select_precheck()
sql/sql_yacc.yy:
WL#2274
Enable INSERT..SELECT..UPDATE syntax
New rule - insert_update_list, to populate lex->update_list
added start backup parameter to enable setting wait state
and set different timeouts depending on waitstate
moved listen of backup event out of backup and into separete thread
thread created at connect() and destroyed at disconnect()
added start backup command options "nowait" "wait completed" "wait started"
fixed log level settings
ndb/include/mgmapi/mgmapi.h:
added start backup parameter to enable setting wait state
ndb/src/common/debugger/EventLogger.cpp:
changed to unsigned printout
ndb/src/mgmapi/mgmapi.cpp:
added start backup parameter to enable setting wait state,
and set different timeouts depending on waitstate
ndb/src/mgmclient/CommandInterpreter.cpp:
moved listen of backup event out of backup and into separete thread
thread created at connect() and destroyed at disconnect()
added start backup command options "nowait" "wait completed" "wait started"
ndb/src/mgmsrv/MgmtSrvr.cpp:
added more options to start backup to set wait state
+ set timeout depending on wait state
+ some debug printouts
ndb/src/mgmsrv/MgmtSrvr.hpp:
added more options to start backup to set wait state
ndb/src/mgmsrv/Services.cpp:
removed old backup code
added use of stard backup otions
fixed log level settings
ndb/test/src/NdbBackup.cpp:
adopted to new wait state option in start backup
refernces if subqueri is not in HAVING clause (BUG#7079)
and the same used for subquery transformetion
mysql-test/r/subselect.result:
reference on changable fields from subquery
mysql-test/t/subselect.test:
reference on changable fields from subquery
sql/item.cc:
new reference which refer to current value not to result used
sql/item.h:
new reference which refer to current value not to result used
sql/item_subselect.cc:
new reference which refer to current value not to result used
Call mark_as_null_row in join_read_const and join_read_system.
mysql-test/r/multi_update.result:
Testcase for BUG#5837
mysql-test/t/multi_update.test:
Testcase for BUG#5837
sql/table.h:
Added comments
innobase/dict/dict0dict.c:
Auto merged
innobase/include/dict0dict.h:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/log.cc:
Auto merged
sql/sql_class.cc:
SCCS merged
innobase/dict/dict0dict.c:
Auto merged
innobase/include/dict0dict.h:
Auto merged
sql/log.cc:
Auto merged
sql/ha_innodb.cc:
SCCS merged
sql/sql_class.cc:
SCCS merged
Fix for the 0xA0 character problem in the InnoDB FOREIGN KEY parser: if my_isspace() treats 0xA0 as space, then let InnoDB do the same; this might break some multi-byte charset id's, though for big5, ujis, sjis this seems not to change the current behavior (I checked the tables in /share/charsets); this fix must NOT be merged to 4.1 because in 4.1 everything is in UTF-8
sql/ha_innodb.cc:
Fix for the 0xA0 character problem in the InnoDB FOREIGN KEY parser: if my_isspace() treats 0xA0 as space, then let InnoDB do the same; this might break some multi-byte charset id's, though for big5, ujis, sjis this seems not to change the current behavior (I checked the tables in /share/charsets); this fix must NOT be merged to 4.1 because in 4.1 everything is in UTF-8
innobase/dict/dict0dict.c:
Fix for the 0xA0 character problem in the InnoDB FOREIGN KEY parser: if my_isspace() treats 0xA0 as space, then let InnoDB do the same; this might break some multi-byte charset id's, though for big5, ujis, sjis this seems not to change the current behavior (I checked the tables in /share/charsets); this fix must NOT be merged to 4.1 because in 4.1 everything is in UTF-8
innobase/include/dict0dict.h:
Fix for the 0xA0 character problem in the InnoDB FOREIGN KEY parser: if my_isspace() treats 0xA0 as space, then let InnoDB do the same; this might break some multi-byte charset id's, though for big5, ujis, sjis this seems not to change the current behavior (I checked the tables in /share/charsets); this fix must NOT be merged to 4.1 because in 4.1 everything is in UTF-8
In the FOREIGN KEY parser, do not cut 0xC2A0 from the end of an identifier if it was quoted
innobase/dict/dict0dict.c:
In the FOREIGN KEY parser, do not cut 0xC2A0 from the end of an identifier if it was quoted
to reuse test results for both server and --embedded-server
versions.
BitKeeper/deleted/.del-ctype_big5.result.es~f75ebc9f8836316f:
Delete: mysql-test/r/ctype_big5.result.es
BitKeeper/deleted/.del-ctype_uca.result.es~9fab42f7561fa166:
Delete: mysql-test/r/ctype_uca.result.es
Moved "../regex/libregex.a" before "../libmysql/libmysqlclient.la"
when linking. For -all-static linking libtool put -lc after the .la
file and this put the libc regex functions before our regex functions
when linking on Linux.
client/Makefile.am:
Moved "../regex/libregex.a" before "../libmysql/libmysqlclient.la"
when linking, for static linking libtool put -lc after the .la
and this put the libc regex functions before out regex functions
in the link on Linux.