Commit graph

759 commits

Author SHA1 Message Date
unknown
a8e6eb8983 Fix for Bug#14515.
sql/set_var.cc:
  Fix for Bug#14515. These modes do not need restrictions, they're handled
  separately in sql_show.cc
2006-04-30 16:01:34 +03:00
unknown
c9ba9ffbe3 Fix merge
sql/set_var.cc:
  Fix merge.
2006-04-27 17:42:55 -04:00
unknown
79a8f373fe Merge mysql.com:/home/emurphy/src/mysql/bk-clean/tmp_merge2
into  mysql.com:/home/emurphy/src/mysql/bk-clean/mysql-5.1-merge-tiny


sql/set_var.cc:
  Manual merge.
2006-04-27 17:16:27 -04:00
unknown
8d1230c6ad Merge shellback.(none):/home/msvensson/mysql/mysql-5.0
into  shellback.(none):/home/msvensson/mysql/mysql-5.0-maint


client/mysql.cc:
  Auto merged
configure.in:
  Auto merged
extra/yassl/include/openssl/rsa.h:
  Auto merged
extra/yassl/include/yassl_int.hpp:
  Auto merged
extra/yassl/include/yassl_types.hpp:
  Auto merged
extra/yassl/src/template_instnt.cpp:
  Auto merged
extra/yassl/taocrypt/include/integer.hpp:
  Auto merged
extra/yassl/taocrypt/include/misc.hpp:
  Auto merged
extra/yassl/taocrypt/src/algebra.cpp:
  Auto merged
extra/yassl/taocrypt/src/template_instnt.cpp:
  Auto merged
mysql-test/t/disabled.def:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
extra/yassl/include/openssl/ssl.h:
  Manual merge
extra/yassl/src/handshake.cpp:
  Manual merge
extra/yassl/src/yassl_int.cpp:
  Manual merge
extra/yassl/taocrypt/include/runtime.hpp:
  Manual merge
extra/yassl/taocrypt/src/integer.cpp:
  Manual merge
mysql-test/mysql-test-run.pl:
  Manual merge
mysql-test/r/trigger.result:
  Manual merge
mysql-test/t/trigger.test:
  Manual merge
2006-04-27 17:35:29 +02:00
unknown
66b56724ff Merge polar.kitebird.com:/src/extern/MySQL/bk/mysql-4.1
into  polar.kitebird.com:/src/extern/MySQL/bk/mysql-5.0


sql/set_var.cc:
  Auto merged
2006-04-27 07:53:15 -05:00
unknown
f0e7abfcc1 set_var.cc:
System variable was added out of lexical order.


sql/set_var.cc:
  System variable was added out of lexical order.
2006-04-27 07:51:56 -05:00
unknown
eae76a32b2 Merge bk@192.168.21.1:mysql-5.1-new
into mysql.com:/home/hf/work/mysql-5.1.18518


include/my_global.h:
  Auto merged
sql/log.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
2006-04-27 15:07:36 +05:00
unknown
8d52b8a6b7 Merge mysql.com:/home/jimw/my/mysql-5.0-12792
into  mysql.com:/home/jimw/my/mysql-5.0-clean


sql/item_func.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
mysql-test/r/variables.result:
  Resolve conflict
mysql-test/t/variables.test:
  Resolve conflict
2006-04-26 11:39:48 -07:00
unknown
19cae2e699 Merge mysql.com:/home/jimw/my/mysql-5.0-16195
into  mysql.com:/home/jimw/my/mysql-5.0-clean


sql/set_var.cc:
  Auto merged
mysql-test/r/variables.result:
  Resolve conflict
mysql-test/t/variables.test:
  Resolve conflict
2006-04-26 11:34:45 -07:00
unknown
130c26a02a Bug #17849: sql_big_selects not shown in SHOW VARIABLES output
This patch simply adds sql_big_selects to the list of variables
  output by SHOW VARIABLES.


mysql-test/r/variables.result:
  Update results
mysql-test/t/variables.test:
  Add new regression test (and make end-of-tests marker add output)
sql/set_var.cc:
  Add sql_big_selects to SHOW VARIABLES output
2006-04-26 09:21:53 -07:00
unknown
e0da8f43d2 The fix for bug#17248 accidentally removed the sync_binlog variable.
This patch restores sync_binlog.


sql/set_var.cc:
  restoring sync_binlog variable
2006-04-26 11:55:26 -04:00
unknown
7e52383d61 bug #18518 (embedded server crashes starting)
The problem is that now server works properly only with the 
row-based replication


config/ac-macros/ha_ndbcluster.m4:
  WITH_NDB_BINLOG instead of HAVE_NDB_BINLOG in config.h
config/ac-macros/replication.m4:
  WITH_ROW_BASED_REPLICATION instead of HAVE_ROW_BASED_REPLICATION in
  config.h
sql/log.cc:
  some #ifdef HAVE_ROW_BASED_REPLICATION added
sql/mysqld.cc:
  some #ifdef HAVE_ROW_BASED_REPLICATION added
sql/set_var.cc:
  some #ifdef HAVE_ROW_BASED_REPLICATION added
sql/sql_base.cc:
  some #ifdef HAVE_ROW_BASED_REPLICATION added
sql/sql_class.cc:
  some #ifdef HAVE_ROW_BASED_REPLICATION added
sql/sql_class.h:
  some #ifdef HAVE_ROW_BASED_REPLICATION added
sql/sql_parse.cc:
  some #ifdef HAVE_ROW_BASED_REPLICATION added
2006-04-24 19:39:33 +05:00
unknown
e0f275ecb4 After merge fixes. 2006-04-21 14:21:17 -04:00
unknown
4e5bed78df Bug #12792: @@system_time_zone is not SELECTable
Bug #15684: @@version_* are not all SELECTable

  Added the appropriate information as read-only system variables, and
  also removed some special-case handling of @@version along the way.

  @@version_bdb was added, but isn't included in the test because it
  depends on the presence of BDB.


mysql-test/r/variables.result:
  Update results
mysql-test/t/variables.test:
  Fix error from setting @@version, reset sql_select_limit to avoid confusion
  in later tests, and add new regression tests.
sql/item_func.cc:
  Remove special-case handling of VERSION, it's just a read-only server
  variable like the others now.
sql/set_var.cc:
  Add system_time_zone and various version-related system variables
2006-04-20 21:56:53 -07:00
unknown
a4b042c1e6 Bug #16195: SHOW VARIABLES doesn't report correctly sql_warnings and sql_notes values
SQL_WARNINGS and SQL_NOTES were being displayed with SHOW_BOOL, but they
  are system variables that need SHOW_SYS to be used.


mysql-test/r/variables.result:
  Add new results
mysql-test/t/variables.test:
  Add new regression test
sql/set_var.cc:
  Fix display of sql_notes and sql_warnings in SHOW VARIABLES.
2006-04-20 20:41:12 -07:00
unknown
222cd6e891 Merge mysql.com:/opt/local/work/tmp_merge
into  mysql.com:/opt/local/work/mysql-5.1-merge


mysql-test/r/ps.result:
  Auto merged
mysql-test/t/ps.test:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/set_var.cc:
  Manual merge.
sql/set_var.h:
  Manual merge.
sql/share/errmsg.txt:
  Manual merge.
2006-04-19 21:12:24 +04:00
unknown
f539e5880b Merge neptunus.(none):/home/msvensson/mysql/mysql-5.0
into  neptunus.(none):/home/msvensson/mysql/bug18564/my50-bug18564


sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
2006-04-18 17:07:35 +02:00
unknown
365f6f6f03 foo2
sql/ha_innodb.cc:
  Import patch foo2
sql/ha_innodb.h:
  Import patch foo2
sql/handler.cc:
  Import patch foo2
sql/handler.h:
  Import patch foo2
sql/mysqld.cc:
  Import patch foo2
sql/set_var.cc:
  Import patch foo2
sql/sql_class.h:
  Import patch foo2
sql/sql_repl.cc:
  Import patch foo2
2006-04-13 17:22:56 +09:30
unknown
ce33555014 foo1
sql/ha_innodb.cc:
  Import patch foo1
sql/ha_innodb.h:
  Import patch foo1
sql/handler.cc:
  Import patch foo1
sql/handler.h:
  Import patch foo1
sql/mysqld.cc:
  Import patch foo1
sql/set_var.cc:
  Import patch foo1
sql/sql_class.h:
  Import patch foo1
sql/sql_repl.cc:
  Import patch foo1
2006-04-13 17:20:33 +09:30
unknown
e46a193be8 Merge mysql.com:/opt/local/work/mysql-4.1-16365
into  mysql.com:/opt/local/work/mysql-5.0-merge


sql/set_var.cc:
  Auto merged
mysql-test/r/ps.result:
  Manual merge.
mysql-test/t/ps.test:
  Manual merge.
sql/item_row.cc:
  Manual merge.
sql/item_row.h:
  Manual merge.
sql/mysql_priv.h:
  Manual merge.
sql/mysqld.cc:
  Manual merge.
sql/set_var.h:
  Manual merge.
sql/sql_class.cc:
  Manual merge.
sql/sql_class.h:
  Manual merge.
sql/sql_prepare.cc:
  Manual merge.
2006-04-12 18:30:54 +04:00
unknown
0a8d876d14 Bug#18564 Test failure due to test not checking preconditions
- Add variable "have_dynamic_loading" and use it to check if the udf test should be run.


mysql-test/include/have_udf.inc:
  Use variable "have_dynamic_loading" to to determine if there is support for udf's
mysql-test/r/have_udf.require:
  Use variable "have_dynamic_loading" to to determine if there is support for udf's
mysql-test/t/disabled.def:
  Remove udf from disabled
sql/mysql_priv.h:
  Add have_dlopen variable
sql/mysqld.cc:
  Add have_dlopen variable
sql/set_var.cc:
  Add have_dlopen variable and name it "have_dynamic_loading" in "SHOW VARIABLES"
2006-04-12 15:13:16 +02:00
unknown
5b5530daa5 A fix and a test case for Bug#16365 "Prepared Statements: DoS with
too many open statements". The patch adds a new global variable
@@max_prepared_stmt_count. This variable limits the total number
of prepared statements in the server. The default value of
@@max_prepared_stmt_count is 16382. 16382 small statements
(a select against 3 tables with GROUP, ORDER and LIMIT) consume 
100MB of RAM. Once this limit has been reached, the server will 
refuse to prepare a new statement and return ER_UNKNOWN_ERROR 
(unfortunately, we can't add new errors to 4.1 without breaking 5.0). The limit is changeable after startup
and can accept any value from 0 to 1 million. In case
the new value of the limit is less than the current
statement count, no new statements can be added, while the old
still can be used. Additionally, the current count of prepared 
statements is now available through a global read-only variable 
@@prepared_stmt_count.


mysql-test/r/ps.result:
  Test results fixed (a test case for Bug#16365)
mysql-test/t/ps.test:
  A test case for Bug#16365 "Prepared Statements: DoS with too many 
  open statements". Also fix statement leaks in other tests.
sql/mysql_priv.h:
  Add declarations for new global variables.
sql/mysqld.cc:
  Add definitions of max_prepared_stmt_count, prepared_stmt_count.
sql/set_var.cc:
  Implement support for @@prepared_stmt_count and 
  @@max_prepared_stmt_count. Currently these variables are queried
  without acquiring LOCK_prepared_stmt_count due to limitations of
  the set_var/sys_var class design. Updates are, however, protected 
  with a lock.
sql/set_var.h:
  New declarations to add support for @@max_prepared_stmt_count.
  Implement a new class, where the lock to be used when updating
  a variable is a parameter.
sql/sql_class.cc:
  Add accounting of the total number of prepared statements in the
  server to the methods of Statement_map.
sql/sql_class.h:
  Add accounting of the total number of prepared statements in the
  server to the methods of Statement_map.
sql/sql_prepare.cc:
  Statement_map::insert will now send a message in case of an
  error.
2006-04-07 23:37:06 +04:00
unknown
59eaf292de Fixed compiler and valgrind warnings
Added missing DBUG_xxx_RETURN statements
Fixed some usage of not initialized variables (as found by valgrind)
Ensure that we don't remove locked tables used as name locks from open table cache until unlock_table_names() are called.
This was fixed by having drop_locked_name() returning any table used as a name lock so that we can free it in unlock_table_names()
This will allow Tomas to continue with his work to use namelocks to syncronize things.

Note: valgrind still produces a lot of warnings about using not initialized code and shows memory loss errors when running the ndb tests


BitKeeper/etc/ignore:
  added mysql-test/r/*.log
client/mysqltest.c:
  Change type of variables to get rid of compiler warnings
  More debugging
  Fix memory leak
mysql-test/mysql-test-run.sh:
  Collect warnings about missing DBUG_RETURN statements
mysql-test/r/lock_multi.result:
  Add test of new code
mysql-test/r/ndb_condition_pushdown.result:
  Drop used tables before test
mysql-test/t/lock_multi.test:
  Add test of new code
mysql-test/t/ndb_condition_pushdown.test:
  Drop used tables before test
mysql-test/valgrind.supp:
  Ignore 'safe' warnings from libz (when used with archive)
sql/event.cc:
  More comments
  Simplify code
  Fixed memory leak found by valgrind
sql/ha_archive.cc:
  Remove compiler warnings (Wrong handlerton structure and signed/unsigned comparison)
sql/ha_berkeley.cc:
  Fixed compiler warning
sql/ha_blackhole.cc:
  Fixed compiler warning
sql/ha_federated.cc:
  Fixed compiler warning
sql/ha_heap.cc:
  Fixed compiler warning
sql/ha_myisam.cc:
  Fixed compiler warning
sql/ha_myisammrg.cc:
  Fixed compiler warning
sql/ha_ndbcluster.cc:
  Fixed compiler warnings
sql/ha_partition.cc:
  Fixed compiler warning
  Fixed error noticed by valgrind in ha_partition::rnd_init()
sql/handler.cc:
  Fixed compiler warning
sql/handler.h:
  Fixed compiler warning
sql/item.cc:
  Fixed compiler warning
sql/item_xmlfunc.cc:
  Fixed warning from valgrind when calling memcpy with wrong address
sql/lock.cc:
  More debugging
sql/log.cc:
  Fixed compiler warning
  Indentation fixes
sql/log.h:
  Fixed compiler warning
sql/mysql_priv.h:
  Changed prototype for 'drop_locked_tables'
sql/opt_range.cc:
  Indentation fix
sql/password.c:
  Removed compiler warnings
sql/set_var.cc:
  Fixed compiler warning
sql/slave.cc:
  Fixed compiler warning
sql/sp_head.cc:
  Fixed compiler warning
sql/sql_acl.cc:
  Fixed compiler warning
sql/sql_analyse.cc:
  Added missing DBUG_RETURN statements
sql/sql_base.cc:
  Removed de-reference of not initialized pointer
  More comments
  drop_locked_tables() changed to not delete tables used for name locking
  Fixed compiler warnings
sql/sql_delete.cc:
  Fixed usage of not initialized variable
  (deleted could be referenced in some not common error conditions)
sql/sql_parse.cc:
  Added missing DBUG_VOID_RETURN
  Simplify code
sql/sql_partition.cc:
  Fixed usage of wrong variable (noticed by valgrind)
sql/sql_plugin.cc:
  Removed compiler warning
sql/sql_show.cc:
  Removed compiler warning
sql/sql_table.cc:
  Ensure that we don't remove locked tables used as name locks from open table cache until unlock_table_names() are called.
  This was fixed by having drop_locked_name() returning any table used as a name lock so that we can free it in unlock_table_names()
  This will allow Tomas to continue with his work to use namelocks to syncronize things.
  
  Fixed wrong test of 'table_type' (path_length could otherwise be accessed uninitialized)
  
  Remove compile warnings about not initialized variables.
sql/sql_yacc.yy:
  Ensure that no_write_to_binlog is properly initialized
  (Was accessed uninitialized by partition code)
sql/table.cc:
  Removed valgrind warnings (not fatal)
  Removed compiler warnings
sql/tztime.cc:
  Removed valgrind warning
storage/ndb/include/ndbapi/NdbIndexStat.hpp:
  Removed compiler warning
2006-03-29 14:27:36 +03:00
unknown
ae7974b112 Bug#11835 CREATE FUNCTION crashes server
- Update for 5.1
 - Add "have_dlopen"
 - Remove requirement to load udf's only in "opt_plugin_dir" 


include/my_global.h:
  Remove duplicate defines
mysql-test/include/have_udf.inc:
  Use "have_dlopen" to check if we "have udf"
mysql-test/r/have_udf.require:
  Use "have_dlopen" to check if we "have udf"
mysql-test/r/udf.result:
  Update for new error message "function"->"symbol"
sql/item_func.cc:
  Remove "evil" dbug printour that checks args[0] even if arg_count is 0
sql/mysql_priv.h:
  Add "have_dlopen"
sql/mysqld.cc:
  Add "have_dlopen"
  Move HAVE_DLOPEN defined to only surround "udf_free" and "udf_init"
sql/set_var.cc:
  Add "have_dlopen"
sql/sql_plugin.cc:
  Surround 'dlclose' with HAVE_DLOPEN
sql/sql_udf.cc:
  Remove the requirement to load udf's only from "opt_plugin_dir".
  Fix spelling error
2006-03-21 10:54:26 +01:00
unknown
b9f6f9bc64 Fixes to the replication mixed mode (patch approved by Monty):
- detect the need for row-based binlogging not at execution stage but earlier at parsing stage; needed for example for CREATE TABLE SELECT UUID().
- more tests of this mixed mode.


mysql-test/r/rpl_switch_stm_row_mixed.result:
  result update
mysql-test/t/rpl_switch_stm_row_mixed.test:
  testing more scenarios for the mixed replication mode.
  Added support for manual testing of UDFs vs the mixed mode (behind a variable in the test).
  Changing old file names to better ones.
sql/item_create.cc:
  at parse time, when we see a UUID(), put up a flag in LEX to say this binlogs properly only with row-based binlogging.
sql/item_func.cc:
  it's not perfect to put up the flag at this execution stage, better do it at parse stage.
sql/item_strfunc.cc:
  it's not perfect to put up the flag at this execution stage, better do it at parse stage
sql/set_var.cc:
  this assertion is wrong, this piece of code can happen in RBR mode too.
sql/sql_lex.cc:
  when we reinitialize the LEX members before every query, we have to reinitialize the new flag
sql/sql_lex.h:
  A new flag, set at parsing stage, which tells if some items seen during parsing stage require row-based replication to binlog/replicate correctly
  when this statement is later executed.
  It has to be in LEX and not directly in THD, for this to work in prepared statements.
sql/sql_parse.cc:
  Parsing stage happened at some time in the past and set up the flag in LEX, now that we execute the statement we actually turn on row-based binlogging
  if the thread's binlog format is "mixed". We then turn it off when leaving mysql_execute_command().
  Some cleanup code was not executed if leaving mysql_execute_command() at the "error" label, fixing this. A better fix than the "goto end" would be
  to modify each "goto error" to "res=1; goto end" but it required changing many lines which I don't want to do now ("make smallest possible patch").
sql/sql_yacc.yy:
  When at parsing stage we see a UDF we put up a flag to say that row-based binlogging is preferred.
2006-03-13 15:34:30 +01:00
unknown
baa7cf94e1 Merge pchardin@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  mysql.com:/home/cps/mysql/devel/5.1-cleanup


sql/mysql_priv.h:
  Auto merged
sql/set_var.cc:
  Auto merged
2006-03-04 11:52:02 +03:00
unknown
422d11c218 Remove unused thd->options's flag -- OPTION_UPDATE_LOG
The update log itself was removed back in 5.0. Recommit
with post-review fixes.


sql/log.cc:
  OPTION_UPDATE_LOG was set in all threads but replication ones.
  So, it seems that the check filtered out slow log records from
  replication threads. Now we do it with explicit check.
sql/mysql_priv.h:
  remove unused define
sql/mysqld.cc:
  Do not set OPTION_UPDATE_LOG. It is not used anymore.
sql/set_var.cc:
  We never check for OPTION_UPDATE_LOG. So, we should not bother setting it.
2006-03-04 11:20:56 +03:00
unknown
a28368f2c2 for every deprecated feature say when it will be removed.
restore CREATE TABLE ... TYPE=engine until 5.2
2006-03-01 21:36:05 +01:00
unknown
7cac0ddfd0 WL#2977 and WL#2712 global and session-level variable to set the binlog format (row/statement),
and new binlog format called "mixed" (which is statement-based except if only row-based is correct,
in this cset it means if UDF or UUID is used; more cases could be added in later 5.1 release):
SET GLOBAL|SESSION BINLOG_FORMAT=row|statement|mixed|default;
the global default is statement unless cluster is enabled (then it's row) as in 5.1-alpha.
It's not possible to use SET on this variable if a session is currently in row-based mode and has open temporary tables (because CREATE
TEMPORARY TABLE was not binlogged so temp table is not known on slave),  or if NDB is enabled (because
NDB does not support such change on-the-fly, though it will later), of if in a stored function (see below).
The added tests test the possibility or impossibility to SET, their effects, and the mixed mode,
including in prepared statements and in stored procedures and functions.
Caveats:
a) The mixed mode will not work for stored functions: in mixed mode, a stored function will
always be binlogged as one call and in a statement-based way (e.g. INSERT VALUES(myfunc()) or SELECT myfunc()).
b) for the same reason, changing the thread's binlog format inside a stored function is
refused with an error message.
c) the same problems apply to triggers; implementing b) for triggers will be done later (will ask
Dmitri).
Additionally, as the binlog format is now changeable by each user for his session, I remove the implication
which was done at startup, where row-based automatically set log-bin-trust-routine-creators to 1
(not possible anymore as a user can now switch to stmt-based and do nasty things again), and automatically
set --innodb-locks-unsafe-for-binlog to 1 (was anyway theoretically incorrect as it disabled
phantom protection).
Plus fixes for compiler warnings.


mysql-test/r/rpl_row_4_bytes.result:
  update
mysql-test/t/rpl_row_4_bytes.test:
  don't influence next tests
sql/ha_archive.cc:
  please pay attention to this structure when you change it...
sql/ha_berkeley.cc:
  please pay attention to this structure when you change it...
sql/ha_blackhole.cc:
  please pay attention to this structure when you change it...
sql/ha_federated.cc:
  please pay attention to this structure when you change it...
sql/ha_heap.cc:
  please pay attention to this structure when you change it...
sql/ha_innodb.cc:
  please pay attention to this structure when you change it...
sql/ha_myisam.cc:
  please pay attention to this structure when you change it...
sql/ha_myisammrg.cc:
  please pay attention to this structure when you change it...
sql/ha_ndbcluster_binlog.cc:
  no more global 'binlog_row_based'
sql/ha_partition.cc:
  please pay attention to this structure when you change it...
sql/handler.cc:
  please pay attention to this structure when you change it...
sql/handler.h:
  it's good to initialize statically (to get no compiler warning) even if to a null value.
sql/item_func.cc:
  UDFs require row-based if this is the "mixed" binlog format.
sql/item_strfunc.cc:
  UUID() requires row-based binlogging if this is the "mixed" binlog format
sql/log.cc:
  binlog_row_based -> thd->current_stmt_binlog_row_based
sql/log.h:
  the enum enum_binlog_format moves to log.h from mysqld.cc as we need it in several places.
sql/log_event.cc:
  binlog_row_based -> thd->current_stmt_binlog_row_based
sql/log_event.h:
  this global variable not used anymore
sql/mysql_priv.h:
  these global variables not used anymore
sql/mysqld.cc:
  simplification in the handling of --binlog-format (but with no user-visible change), thanks to
  the new global system variable.
  RBR does not anymore turn on --log-bin-trust-function-creators and --innodb-locks-unsafe-for-binlog
  as these are global options and RBR is now settable per session.
sql/partition_info.cc:
  compiler warnings
sql/set_var.cc:
  new class of thread's variable, to handle the binlog_format (like sys_var_thd_enum except
  that is_readonly() is overriden for more checks before update).
  compiler warnings (ok'd by Serg)
sql/set_var.h:
  new class for the thread's binlog_format (see set_var.cc)
sql/share/errmsg.txt:
  some messages for when one can't toggle from one binlog format to another
sql/sp_head.cc:
  binlog_row_based -> thd->current_stmt_binlog_row_based
sql/sql_base.cc:
  binlog_row_based -> thd->current_stmt_binlog_row_based
sql/sql_class.cc:
  When a THD is initialized, we set its current_stmt_binlog_row_based
sql/sql_class.h:
  new THD::variables.binlog_format (the value of the session variable set by SET
  or inherited from the global value), and THD::current_stmt_binlog_row_based which tells if the
  current statement does row-based or statement-based binlogging. Both members are needed
  as the 2nd one cannot be derived only from the first one (the statement's type plays a role too),
  and the 1st one is needed to reset the 2nd one.
sql/sql_delete.cc:
  binlog_row_based -> thd->current_stmt_binlog_row_based
sql/sql_insert.cc:
  binlog_row_based -> thd->current_stmt_binlog_row_based
sql/sql_load.cc:
  binlog_row_based -> thd->current_stmt_binlog_row_based.
sql/sql_parse.cc:
  when we are done with a statement, we reset the current_stmt_binlog_row_based to the value
  derived from THD::variables.binlog_format.
sql/sql_partition.cc:
  compiler warning
sql/sql_show.cc:
  compiler warning
sql/sql_table.cc:
  binlog_row_based -> thd->current_stmt_binlog_row_based
tests/mysql_client_test.c:
  compiler warning
mysql-test/r/ndb_binlog_basic2.result:
  new result
mysql-test/r/rpl_switch_stm_row_mixed.result:
  new result
mysql-test/t/ndb_binlog_basic2.test:
  new test to verify that if cluster is enabled, can't change binlog format on the fly.
mysql-test/t/rpl_switch_stm_row_mixed.test:
  test to see if one can switch between SBR, RBR, and "mixed" mode, and when one cannot,
  and test to see if the switching, and the mixed mode, work properly (using UUID() to test,
  as using UDFs is not possible in the testsuite for portability reasons).
2006-02-25 22:21:03 +01:00
unknown
16bc37632c Merge mysql.com:/home/mysql_src/mysql-5.0
into  mysql.com:/home/mysql_src/mysql-5.1-new; will fix manually sp_head.cc and mysqld.cc later soon.


mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test:
  Auto merged
mysql-test/r/binlog_stm_mix_innodb_myisam.result:
  Auto merged
mysql-test/r/rpl_sp.result:
  Auto merged
mysql-test/r/sql_mode.result:
  Auto merged
mysql-test/t/rpl_sp-slave.opt:
  Auto merged
mysql-test/t/rpl_sp.test:
  Auto merged
mysql-test/t/sql_mode.test:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/log.cc:
  auto merged
sql/mysqld.cc:
  will fix manually
sql/sp_head.cc:
  will fix manually
2006-02-18 19:07:32 +01:00
unknown
8dc567dbed Fix for BUG#13897 "failure to do SET SQL_MODE=N where N is a number > 31" (the original bug's title isn't the simplest
symptom). sys_var::check_set() was wrong. mysqlbinlog makes use of such SET SQL_MODE=N
(where N is interpreted like if SQL_MODE was a field of type SET), so
this bug affected recovery from binlogs if the server was running with certain SQL_MODE values,
for example the default values on Windows (STRICT_TRANS_TABLES); to work around this bug people
had to edit mysqlbinlog's output.


mysql-test/r/sql_mode.result:
  result update
mysql-test/t/sql_mode.test:
  test for various numeric SQL_MODE values
sql/set_var.cc:
  For a set, it does not make sense to test if the supplied argument exceeds the number of elements in the set
  (such test would make sense for an enum), but rather to check if it exceeds 2^this (to verify
  that only reasonable bits are set).
2006-02-18 17:32:15 +01:00
unknown
bdf18f4331 Merge mysql.com:/home/jimw/my/mysql-5.0-7955
into  mysql.com:/home/jimw/my/mysql-5.1-clean


sql/set_var.cc:
  Auto merged
sql/set_var.h:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
mysql-test/r/bdb.result:
  Resolve conflict
mysql-test/t/bdb.test:
  Resolve conflict
sql/share/errmsg.txt:
  Resolve conflict
2006-02-17 11:03:34 -08:00
unknown
ea8a26c6f3 build fixes
sql/event.cc:
  - make this not unsigned. gcc complains
sql/event_timed.cc:
  acl_getroot_no_password() is not there in libmysqld, disable it's usage
  in this case.
sql/set_var.cc:
  fix for the broken build of Serg. gcc seems to be pretty happy without
  the return and returns the value of the last statement
2006-02-15 23:43:11 +01:00
unknown
832dd46f49 Automerge
sql/ha_ndbcluster.cc:
  Auto merged
sql/ha_ndbcluster_binlog.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/set_var.h:
  Auto merged
sql/sql_plugin.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
tests/mysql_client_test.c:
  Auto merged
client/mysqlslap.c:
  SCCS merged
configure.in:
  SCCS merged
libmysql/libmysql.c:
  SCCS merged
mysys/my_init.c:
  SCCS merged
2006-02-15 00:01:46 +01:00
unknown
d3ee9abf2a dbug changes:
1. dbug state is now local to a thread
2. new macros: DBUG_EXPLAIN, DBUG_EXPLAIN_INITIAL,
   DBUG_SET, DBUG_SET_INITIAL, DBUG_EVALUATE, DBUG_EVALUATE_IF
3. macros are do{}while(0) wrapped
4. incremental modifications to the dbug state (e.g. "+d,info:-t")
5. dbug code cleanup, style fixes
6. _db_on_ and DEBUGGER_ON/OFF removed
7. rest of MySQL code fixed because of 3 (missing ;) and 6
8. dbug manual updated
9. server variable @@debug (global and local) to control dbug from SQL!
a. -#T to print timestamps in the log


BitKeeper/deleted/.del-readme.prof~2f3bae1550a0038d:
  Delete: dbug/readme.prof
client/mysqlslap.c:
  typo fixed
configure.in:
  test for sleep() too
dbug/dbug.c:
  thread local dbug settings
  DBUG_EXPLAIN,DBUG_EXPLAIN_INITIAL,DBUG_SET,DBUG_SET_INITIAL
  style changes to be more in line with MySQL code
  cleanup (many mallocs removed)
  incremental modification of dbug state (e.g. DBUG_PUSH("+t:-d,info"))
  DBUG_SET, _db_explain_
  -#T
dbug/monty.doc:
  obsolete and duplicate docs removed
dbug/user.r:
  new features documented
include/my_dbug.h:
  correct do{}while wrapping
  thread local dbug settings
  DBUG_EXPLAIN,DBUG_EXPLAIN_INITIAL,DBUG_SET,DBUG_SET_INITIAL
  DBUG_EVALUATE,DBUG_EVALUATE_IF
libmysql/libmysql.c:
  remove _db_on_ and DEBUGGER_ON/OFF
mysys/my_init.c:
  missed DBUG_RETURN
mysys/my_thr_init.c:
  bugfix - transaction id's are unsigned
mysys/testhash.c:
  remove _db_on_ and DEBUGGER_ON/OFF
sql/ha_myisammrg.cc:
  missed ;
sql/ha_ndbcluster.cc:
  remove _db_on_ and DEBUGGER_ON/OFF
  missed ;
sql/ha_ndbcluster_binlog.cc:
  remove _db_on_ and DEBUGGER_ON/OFF
  missed ;
sql/item_cmpfunc.cc:
  missed ;
sql/lock.cc:
  missed DBUG_RETURN
sql/log_event.cc:
  missed ;
sql/mysqld.cc:
  remove _db_on_ and DEBUGGER_ON/OFF
  missed ;
  DBUG_SET_INITIAL
sql/opt_range.cc:
  remove _db_on_ and DEBUGGER_ON/OFF
sql/set_var.cc:
  class sys_var_thd_dbug and "debug" server variable
sql/set_var.h:
  class sys_var_thd_dbug and "debug" server variable
sql/slave.cc:
  missed ;
sql/sql_cache.cc:
  missed ;
sql/sql_plugin.cc:
  missed ;
sql/sql_select.cc:
  remove _db_on_ and DEBUGGER_ON/OFF
storage/heap/hp_test2.c:
  remove _db_on_ and DEBUGGER_ON/OFF
storage/myisam/ft_eval.c:
  remove _db_on_ and DEBUGGER_ON/OFF
storage/myisam/ft_test1.c:
  remove _db_on_ and DEBUGGER_ON/OFF
storage/myisam/mi_open.c:
  remove _db_on_ and DEBUGGER_ON/OFF
  missed ;
storage/myisam/mi_test1.c:
  remove _db_on_ and DEBUGGER_ON/OFF
storage/myisam/mi_test2.c:
  remove _db_on_ and DEBUGGER_ON/OFF
storage/myisam/mi_test3.c:
  remove _db_on_ and DEBUGGER_ON/OFF
storage/ndb/src/ndbapi/DictCache.cpp:
  missed ;
storage/ndb/src/ndbapi/NdbTransaction.cpp:
  missed ;
tests/mysql_client_test.c:
  remove _db_on_ and DEBUGGER_ON/OFF
2006-02-14 22:36:11 +01:00
unknown
3c9952a1ae Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/usr/home/bar/mysql-5.0.cs_fs


sql/set_var.cc:
  Auto merged
2006-02-14 08:25:09 +04:00
unknown
7ce3b2a381 Many files:
Backporting character_set_filesystem from 5.0 to 5.1.


sql/mysqld.cc:
  Backporting character_set_filesystem from 5.0 to 5.1.
sql/set_var.cc:
  Backporting character_set_filesystem from 5.0 to 5.1.
sql/set_var.h:
  Backporting character_set_filesystem from 5.0 to 5.1.
sql/sql_class.cc:
  Backporting character_set_filesystem from 5.0 to 5.1.
sql/sql_class.h:
  Backporting character_set_filesystem from 5.0 to 5.1.
sql/sql_yacc.yy:
  Backporting character_set_filesystem from 5.0 to 5.1.
mysql-test/t/variables.test:
  Backporting character_set_filesystem from 5.0 to 5.1.
mysql-test/r/variables.result:
  Backporting character_set_filesystem from 5.0 to 5.1.
2006-02-14 08:24:01 +04:00
unknown
01e880ede6 set_var.cc:
Fix out-of-order system variable.


sql/set_var.cc:
  Fix out-of-order system variable.
2006-02-13 11:20:15 -06:00
unknown
d8817c63c1 Removing unused variable (old have_isam).
sql/mysql_priv.h:
  Removing isam option
sql/mysqld.cc:
  Removing isam option
sql/set_var.cc:
  Removing isam option.
2006-02-12 22:43:59 -08:00
unknown
dc11d498b2 Merge baker@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  zim.tangent.org:/home/brian/raid/mysql-5.1-new


sql/ha_myisam.cc:
  Auto merged
sql/ha_partition.cc:
  Auto merged
sql/handler.h:
  Auto merged
sql/lex.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/table.cc:
  Auto merged
sql/sql_yacc.yy:
  SCCS merged
2006-02-11 17:26:32 -08:00
unknown
88aa9b1310 This patch is to further remove the RAID code. We removed support for people creating tables with RAID. This patch remove most of the source for this.
sql/ha_myisam.cc:
  Remove RAID code
sql/ha_partition.cc:
  Remove RAID code.
sql/handler.h:
  Remove RAID code
sql/lex.h:
  Remove RAID code.
sql/mysqld.cc:
  Remove RAID code.
sql/set_var.cc:
  Remove RAID code.
sql/sql_show.cc:
  Remove RAID code
sql/sql_yacc.yy:
  Remove more of the RAID code
sql/table.cc:
  Remove RAID code.
2006-02-11 17:21:01 -08:00
unknown
402b7e1243 remove volatile. fixes windows build
WL#1034 (Internal CRON)


sql/set_var.cc:
  remove volatile. fixes windows build
2006-02-09 23:15:48 +01:00
unknown
fd03e915ea Merge jamppa@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  a193-229-222-105.elisa-laajakaista.fi:/home/my/bk/mysql-5.1-new


configure.in:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
2006-02-05 11:06:29 +02:00
unknown
d497966a18 Several Netware specific fixes.
configure.in:
  To configure InnoDB for cross compilation.
include/config-netware.h:
  NetWare specific change to fix the compilation errors caused by event.h
  NetWare specific change required for WINE PATH and for new versions LibC(Jun 05)
  and zlib(1.2.3)
netware/BUILD/compile-AUTOTOOLS:
  Netware specific change reflecting the change in source code
  directory structure.
netware/BUILD/compile-linux-tools:
  Netware specific change to fix the location where gen_lex_hash
  gets created. Fixed also directory structure reflecting changes.
netware/BUILD/compile-netware-END:
  Netware specific change for creating mysqld_error.h
netware/BUILD/mwenv:
  Netware specific change required for WINE PATH and for
  new versions LibC(Jun 05) and zlib(1.2.3).
netware/BUILD/nwbootstrap:
  NetWare Specific change to produce absoulte path for XDC file.
netware/Makefile.am:
  Netware specific changes to fix to match new
  directory structure.
netware/my_manage.h:
  Netware specific change required for WINE PATH and for new versions
  LibC(Jun 05) and zlib(1.2.3).
netware/mysql_test_run.c:
  Netware specific change, added --autoclose option for mysql_test_run.nlm.
scripts/make_binary_distribution.sh:
  Fix to reflect change in directory structure.
sql/mysqld.cc:
  Stacksize change for Netware.
  Netware specific change to fix the compilation errors caused by event.h
sql/set_var.cc:
  Minor indending related fix.
sql/sql_class.cc:
  Added #ifdef HAVE_EXPLICIT_TEMPLATE_INSTANTIATION macro.
storage/innobase/os/os0thread.c:
  Netware specific change to increase the thread stack size.
storage/myisam/mi_locking.c:
  Enclosed MMAP related code under HAVE_MMAP preprocessor directive.
2006-02-02 16:22:31 +02:00
unknown
97dae00306 Merge mysql.com:/home/kostja/mysql/tmp_merge
into  mysql.com:/home/kostja/mysql/mysql-5.1-merge


client/mysqlbinlog.cc:
  Auto merged
client/mysqldump.c:
  Auto merged
include/my_base.h:
  Auto merged
libmysql/libmysql.c:
  Auto merged
sql/field.h:
  Auto merged
sql/ha_myisam.cc:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/opt_range.h:
  Auto merged
sql/repl_failsafe.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/slave.cc:
  Auto merged
sql/slave.h:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_db.cc:
  Auto merged
sql/sql_handler.cc:
  Auto merged
sql/sql_help.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_repl.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_test.cc:
  Auto merged
sql-common/client.c:
  Auto merged
sql/table.cc:
  Auto merged
storage/myisam/mi_delete.c:
  Auto merged
storage/myisam/myisampack.c:
  Auto merged
storage/myisam/sort.c:
  Auto merged
mysys/my_bitmap.c:
  Manual merge
sql/field.cc:
  e
  Manual merge
sql/item.cc:
  Manual merge (new Field_bit_as_char constructor signature)
sql/item_func.cc:
  Manual merge: use local
sql/sql_insert.cc:
  Manual merge: add VOID() around bitmap_init
2006-02-02 16:57:34 +03:00
unknown
ab88a598ca Windows compile fixes in preparation for 5.1.6 beta.
VC++Files/client/mysqldump.vcproj:
  Add missing source file.
VC++Files/mysql.sln:
  Fix configuration mismatch.
VC++Files/sql/mysqld.vcproj:
  Enable row-based replication.
  Add missing source files.
scripts/make_win_src_distribution.sh:
  Add copying of missing directory.
sql/event.h:
  Fix type conflict only visible on Windows.
sql/event_executor.cc:
  Fix non-portable thread stuff.
sql/event_timed.cc:
  Fix type conflict only visible on Windows.
sql/ha_archive.cc:
  Add cast needed for Windows.
sql/handler.h:
  Fix Windows byte * <-> char * mismatch.
sql/opt_range.cc:
  Fix Windows byte * <-> char * mismatch.
sql/set_var.cc:
  BUG#16811
  Fix Windows compilation by making the cast-away of volatile implicit
  (Windows linker does not like volatile <-> non-volatile mismatch, in
  contrast to Unix)
sql/sql_partition.cc:
  Fix Windows byte * <-> char * mismatch.
2006-01-30 13:09:08 +01:00
unknown
456524c060 Rename of my_strdup_with_lenght to match the more common "strndup" method. Soo its now my_strndup().
my_stat() gettinng the correct parameter list may be next :)


client/mysqlslap.c:
  rename
extra/comp_err.c:
  rename
include/my_sys.h:
  replace
mysys/mf_tempdir.c:
  replace
mysys/my_malloc.c:
  replace
mysys/safemalloc.c:
  replace
sql/ha_federated.cc:
  replace
sql/log_event.cc:
  replace
sql/set_var.cc:
  replace
sql/set_var.h:
  replace
storage/myisam/ft_stopwords.c:
  replace
2006-01-25 19:54:42 -08:00
unknown
03c2cc072b Bug# 16718 partitioning support status variable has incorrect name
change status variable from have_partition_engine to have_partitioning.


mysql-test/include/have_partition.inc:
  updated to use new status variable
mysql-test/r/have_partition.require:
  updated to use new status variable
sql/set_var.cc:
  change status variable from have_partition_engine to have_partitioning.
2006-01-23 08:42:32 -06:00
unknown
74f499fade Applied patch recieved from Marko:
Make innodb_flush_log_at_trx_commit a settable global variable.


innobase/include/srv0srv.h:
  Change the type of srv_flush_log_at_trx_commit.
innobase/srv/srv0srv.c:
  Change the type of srv_flush_log_at_trx_commit.
sql/ha_innodb.cc:
  Remove innobase_flush_log_at_trx_commit.
   (Set srv_flush_log_at_trx_commit directly).
sql/ha_innodb.h:
  Remove innobase_flush_log_at_trx_commit.
   (Set srv_flush_log_at_trx_commit directly).
sql/mysqld.cc:
  Bypass the variable innobase innobase_flush_log_at_trx_commit.
sql/set_var.cc:
  Make innodb_flush_log_at_trx_commit a settable global variable.
2006-01-18 15:02:03 +03:00
unknown
137ae7907c loaddata.result, loaddata.test:
Adding test case.
sql_yacc.yy:
  Adding TEXT_STRING_filesystem, which
  converts from character_set_client to
  character_set_conversion.
  Replacing TEXT_STRING_sys to TEXT_STRING_filesystem
  in LOAD DATA and SELECT INTO OUTFILE contexts.
sql_class.h, sql_class.cc:
  Adding character_set_filesystem variable,
  and charset_is_character_set_filesystem
  flag (to avoid conversion when it's not necessary).
set_var.h, set_var.cc:
  Adding sys_var_character_set_filesystem
mysqld.cc:
  Adding --character-set-filesystem startup option.


sql/mysqld.cc:
  Adding --character-set-filesystem startup option.
sql/set_var.cc:
  Adding sys_var_character_set_filesystem
sql/set_var.h:
  Adding sys_var_character_set_filesystem
sql/sql_class.cc:
  Adding character_set_filesystem variable,
  and charset_is_character_set_filesystem
  flag (to avoid conversion when it's not necessary).
sql/sql_class.h:
  Adding character_set_filesystem variable,
  and charset_is_character_set_filesystem
  flag (to avoid conversion when it's not necessary).
sql/sql_yacc.yy:
  Adding TEXT_STRING_filesystem, which
  converts from character_set_client to
  character_set_conversion.
  Replacing TEXT_STRING_sys to TEXT_STRING_filesystem
  in LOAD DATA and SELECT INTO OUTFILE contexts.
mysql-test/t/loaddata.test:
  Adding test case.
mysql-test/r/loaddata.result:
  Adding test case.
2006-01-18 12:55:38 +04:00