summaryrefslogtreecommitdiff
path: root/sql/mysql_priv.h
Commit message (Collapse)AuthorAgeFilesLines
* manual merge: mysql-5.1-rep+2 (bug tree) --> mysql-5.1-rep+2 (latest)Luis Soares2009-11-131-10/+29
|\ | | | | | | | | | | | | CONFLICTS ========= Text conflict in sql/sql_yacc.yy 1 conflicts encountered.
| * BUG#48048: Deprecated constructs need removal in BetonyLuis Soares2009-11-041-10/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | NOTE: Backport of: bzr log -r revid:sp1r-serg@sergbook.mysql.com-20070505200319-38337 ------------------------------------------------------------ revno: 2469.263.4 committer: serg@sergbook.mysql.com timestamp: Sat 2007-05-05 13:03:19 -0700 message: Removing deprecated features: --master-XXX command-line options log_bin_trust_routine_creators table_type BACKUP TABLE ... RESTORE TABLE ... SHOW PLUGIN LOAD TABLE ... FROM MASTER LOAD DATA FROM MASTER SHOW INNODB STATUS SHOW MUTEX STATUS SHOW TABLE TYPES ... TIMESTAMP(N) ... TYPE=engine RESET SLAVE don't reset connection parameters anymore LOAD DATA: check opt_secure_file_priv before access(filename) improved WARN_DEPRECATED macro
* | merging 5.1 main -> rpl+2. Some manual work required mostly due to bug46640Andrei Elkin2009-11-061-3/+3
|\ \ | |/ |/|
| * Addendum to the fix for bug 43029Georgi Kodinov2009-10-081-0/+1
| |
| * Bug#32430: 'show innodb status' causes errorsMattias Jonsson2009-09-251-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | Invalid (old?) table or database name in logs Problem was still not completely fixed, due to qouting. This is the server side only fix (in explain_filename), the change from filename_to_tablename to use explain_filename in the InnoDB code must be done before the bug is fixed.
* | BUG#40337 Fsyncing master and relay log to disk after every event is too slowAlfranio Correia2009-09-291-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | NOTE: Backporting the patch to next-mr. The fix proposed in BUG#35542 and BUG#31665 introduces a performance issue when fsyncing the master.info, relay.info and relay-log.bin* after #th events. Although such solution has been proposed to reduce the probability of corrupted files due to a slave-crash, the performance penalty introduced by it has made the approach impractical for highly intensive workloads. In a nutshell, the option --syn-relay-log proposed in BUG#35542 and BUG#31665 simultaneously fsyncs master.info, relay-log.info and relay-log.bin* and this is the main source of performance issues. This patch introduces new options that give more control to the user on what should be fsynced and how often: 1) (--sync-master-info, integer) which syncs the master.info after #th event; 2) (--sync-relay-log, integer) which syncs the relay-log.bin* after #th events. 3) (--sync-relay-log-info, integer) which syncs the relay.info after #th transactions. To provide both performance and increased reliability, we recommend the following setup: 1) --sync-master-info = 0 eventually the operating system will fsync it; 2) --sync-relay-log = 0 eventually the operating system will fsync it; 3) --sync-relay-log-info = 1 fsyncs it after every transaction; Notice, that the previous setup does not reduce the probability of corrupted master.info and relay-log.bin*. To overcome the issue, this patch also introduces a recovery mechanism that right after restart throws away relay-log.bin* retrieved from a master and updates the master.info based on the relay.info: 4) (--relay-log-recovery, boolean) which enables a recovery mechanism that throws away relay-log.bin* after a crash. However, it can only recover the incorrect binlog file and position in master.info, if other informations (host, port password, etc) are corrupted or incorrect, then this recovery mechanism will fail to work.
* | BUG#35542 Add option to sync master and relay log to disk after every eventAlfranio Correia2009-09-291-1/+2
| | | | | | | | | | | | | | | | | | | | | | BUG#31665 sync_binlog should cause relay logs to be synchronized NOTE: Backporting the patch to next-mr. Add sync_relay_log option to server, this option works for relay log the same as option sync_binlog for binlog. This option also synchronize master info to disk when set to non-zero value. Original patches from Sinisa and Mark, with some modifications
* | WL#4828 and BUG#45747Alfranio Correia2009-09-291-94/+0
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | NOTE: Backporting the patch to next-mr. WL#4828 Augment DBUG_ENTER/DBUG_EXIT to crash MySQL in different functions ------- The assessment of the replication code in the presence of faults is extremely import to increase reliability. In particular, one needs to know if servers will either correctly recovery or print out appropriate error messages thus avoiding unexpected problems in a production environment. In order to accomplish this, the current patch refactories the debug macros already provided in the source code and introduces three new macros that allows to inject faults, specifically crashes, while entering or exiting a function or method. For instance, to crash a server while returning from the init_slave function (see module sql/slave.cc), one needs to do what follows: 1 - Modify the source replacing DBUG_RETURN by DBUG_CRASH_RETURN; DBUG_CRASH_RETURN(0); 2 - Use the debug variable to activate dbug instructions: SET SESSION debug="+d,init_slave_crash_return"; The new macros are briefly described below: DBUG_CRASH_ENTER (function) is equivalent to DBUG_ENTER which registers the beginning of a function but in addition to it allows for crashing the server while entering the function if the appropriate dbug instruction is activate. In this case, the dbug instruction should be "+d,function_crash_enter". DBUG_CRASH_RETURN (value) is equivalent to DBUG_RETURN which notifies the end of a function but in addition to it allows for crashing the server while returning from the function if the appropriate dbug instruction is activate. In this case, the dbug instruction should be "+d,function_crash_return". Note that "function" should be the same string used by either the DBUG_ENTER or DBUG_CRASH_ENTER. DBUG_CRASH_VOID_RETURN (value) is equivalent to DBUG_VOID_RETURN which notifies the end of a function but in addition to it allows for crashing the server while returning from the function if the appropriate dbug instruction is activate. In this case, the dbug instruction should be "+d,function_crash_return". Note that "function" should be the same string used by either the DBUG_ENTER or DBUG_CRASH_ENTER. To inject other faults, for instance, wrong return values, one should rely on the macros already available. The current patch also removes a set of macros that were either not being used or were redundant as other macros could be used to provide the same feature. In the future, we also consider dynamic instrumentation of the code. BUG#45747 DBUG_CRASH_* is not setting the strict option --------- When combining DBUG_CRASH_* with "--debug=d:t:i:A,file" the server crashes due to a call to the abort function in the DBUG_CRASH_* macro althought the appropriate keyword has not been set.
* mergeMattias Jonsson2009-08-261-1/+2
|\
| * Bug#32430: 'show innodb status' causes errorsMattias Jonsson2009-08-071-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Invalid (old?) table or database name in logs Post push patch. Bug was that a non partitioned table file was not converted to system_charset, (due to table_name_len was not set). Also missing DBUG_RETURN. And Innodb adds quotes after calling the function, so I added one more mode where explain_filename does not add quotes. But it still appends the [sub]partition name as a comment. Also caught a minor quoting bug, the character '`' was not quoted in the identifier. (so 'a`b' was quoted as `a`b` and not `a``b`, this is mulitbyte characters aware.)
* | Merge mysql-5.1-innodb_plugin to mysql-5.1.Sergey Vojtovich2009-08-111-20/+36
|\ \ | |/ |/|
| * Merge 5.1-bugteam -> 5.1-innodb_plugin.Sergey Vojtovich2009-07-141-6/+23
| |\
| * | Backport WL#3653 to 5.1 to enable bundled innodb plugin.Vladislav Vaintroub2009-06-101-20/+36
| | | | | | | | | | | | | | | Remove custom DLL loader code from innodb plugin code, use symbols exported from mysqld.
* | | Code review for Bug#43587 Putting event_scheduler=1 in init SQL file crashes Konstantin Osipov2009-07-241-0/+1
| |/ |/| | | mysqld
* | Merge bug#45326Magnus Blåudd2009-06-051-5/+5
|\ \
| * | Bug#45326 Linker failure for libmysqld with VC++ 2008Magnus Blåudd2009-06-051-5/+5
| | | | | | | | | | | | | | | - Rename the functions in mysqld that conflict with the one in the external interface defined by mysql.h
* | | merge into mysql-5.1-bugteamMattias Jonsson2009-06-021-0/+10
|\ \ \
| * | | Bug#32430:'show innodb status' causes errors Invalid (old?) tableMattias Jonsson2009-06-021-0/+10
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | or database name in logs Problem was that InnoDB used filenam_to_tablename, which do not handle partitions (due to the '#' in the filename). Solution is to add a new function for explaining what the filename means: explain_filename. It expands the database, table, partition and subpartition parts and uses errmsg.txt for localization. It also converts from my_charset_filename to system_charset_info (i.e. human readable form for non ascii characters). http://lists.mysql.com/commits/70370 2773 Mattias Jonsson 2009-03-25 It has three different output styles. NOTE: This is the server side ONLY part (introducing the explain_filename function). There will be a patch for InnoDB using this function to solve the bug.
* | | merge to 5.1-bugteam treeSatya B2009-06-021-1/+2
|\ \ \
| * | | Fix for BUG#10206 - InnoDB: Transaction requiring Max_BinLog_Cache_size > 4GBSatya B2009-05-151-1/+2
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | always rollsback. The global variable max_binlog_cache_size cannot be set more than 4GB on 32 bit systems, limiting transactions of all storage engines to 4G of changes. The problem is max_binlog_cache_size is declared as ulong which is 4 bytes on 32 bit and 8 bytes on 64 bit machines. Fixed by using ulonglong for max_binlog_cache_size which is 8bytes on 32 and 64 bit machines.The range for max_binlog_cache_size on 32 bit and 64 bit systems is 4096-18446744073709547520 bytes.
* | | Manual merge.Alexey Kopytov2009-06-011-0/+6
|\ \ \ | |/ / |/| |
| * | Bug #44767: invalid memory reads in password() and Alexey Kopytov2009-05-271-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | old_password() functions The PASSWORD() and OLD_PASSWORD() functions could lead to memory reads outside of an internal buffer when used with BLOB arguments. String::c_ptr() assumes there is at least one extra byte in the internally allocated buffer when adding the trailing '\0'. This, however, may not be the case when a String object was initialized with externally allocated buffer. The bug was fixed by adding an additional "length" argument to make_scrambled_password_323() and make_scrambled_password() in order to avoid String::c_ptr() calls for PASSWORD()/OLD_PASSWORD(). However, since the make_scrambled_password[_323] functions are a part of the client library ABI, the functions with the new interfaces were implemented with the 'my_' prefix in their names, with the old functions changed to be wrappers around the new ones to maintain interface compatibility.
| * | Merge community up to enterprise, thus ending the community-serverChad MILLER2009-05-061-1/+23
| |\ \ | | | | | | | | | | | | adventure.
| | * | Pull 5.1 treatment of community features into 5.0.Chad MILLER2009-05-051-0/+2
| | | |
| | * | Merge 5.0.80 release and 5.0 community. Version left at 5.0.80.Chad MILLER2009-04-141-0/+2
| | |\ \
| | * \ \ Merge from Tim's 5.0.76-release tree to make 5.0.77 .Chad MILLER2009-01-211-2/+8
| | |\ \ \
| | * \ \ \ Merged from 5.0 (enterprise).Chad MILLER2008-12-171-4/+9
| | |\ \ \ \
| | * | | | | Bug#37428 Potential security issue with UDFs - linux shellcode execution.Alexey Botchkov2008-07-281-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | plugin_dir option backported from 5.1 per-file messages: sql/mysql_priv.h Bug#37428 Potential security issue with UDFs - linux shellcode execution. opt_plugin_dir and opt_plugin_dir_ptr declared. sql/mysqld.cc Bug#37428 Potential security issue with UDFs - linux shellcode execution. 'plugin_dir' option added sql/set_var.cc Bug#37428 Potential security issue with UDFs - linux shellcode execution. 'plugin_dir' option added. sql/sql_udf.cc Bug#37428 Potential security issue with UDFs - linux shellcode execution. opt_plugin_dir added to the udf->dl path. Warn if it's not specified. sql/unireg.h Bug#37428 Potential security issue with UDFs - linux shellcode execution. PLUGINDIR defined.
| | * | | | | Merge from 5.0 trunk.Chad MILLER2008-07-141-7/+14
| | |\ \ \ \ \
| | * \ \ \ \ \ Merge chunk from trunk.Chad MILLER2008-07-101-0/+2
| | |\ \ \ \ \ \
| | * \ \ \ \ \ \ Merge chunk from trunk.Chad MILLER2008-07-101-1/+1
| | |\ \ \ \ \ \ \
| | * \ \ \ \ \ \ \ Merge bk-internal.mysql.com:/home/bk/mysql-5.0cmiller@zippy.cornsilk.net2007-12-101-1/+21
| | |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0-community
| | | * | | | | | | | Push history-limiting code until after the code that adds new cmiller@zippy.cornsilk.net2007-11-141-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | history entries. Lazy deletion isn't smart or useful here. Backport from 5.1 .
| | | * | | | | | | | Merge bk-internal.mysql.com:/home/bk/mysql-5.0cmiller@zippy.cornsilk.net2007-09-101-1/+7
| | | |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0-community
| | | | * \ \ \ \ \ \ \ Merge mysqldev@production.mysql.com:my/mysql-5.0-releasecmiller@zippy.cornsilk.net2007-07-021-1/+7
| | | | |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0-community
| | | | | * \ \ \ \ \ \ \ Merge mysqldev@production.mysql.com:my/mysql-5.0-releasecmiller@zippy.cornsilk.net2007-04-261-1/+7
| | | | | |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0-community
| * | | | | \ \ \ \ \ \ \ \ Auto mergeHe Zhenxing2009-04-081-0/+5
| |\ \ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | | | BUG#37145 Killing a statement doing DDL may log binlog event with error code ↵He Zhenxing2009-03-271-0/+7
| | |_|_|_|_|_|_|_|_|_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1053 When the thread executing a DDL was killed after finished its execution but before writing the binlog event, the error code in the binlog event could be set wrongly to ER_SERVER_SHUTDOWN or ER_QUERY_INTERRUPTED. This patch fixed the problem by ignoring the kill status when constructing the event for DDL statements. This patch also included the following changes in order to provide the test case. 1) modified mysqltest to support variable for connection command 2) modified mysql-test-run.pl, add new variable MYSQL_SLAVE to run mysql client against the slave mysqld.
* | | | | | | | | | | | | | Automerge.Alexey Kopytov2009-03-271-0/+5
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ | |_|_|_|_|_|_|_|_|_|_|_|_|/ |/| | | | | | | | | | | | |
| * | | | | | | | | | | | | Manual merge.Alexey Kopytov2009-03-271-0/+5
| |\ \ \ \ \ \ \ \ \ \ \ \ \ | | | |/ / / / / / / / / / / | | |/| | | | | | | | | | |
| | * | | | | | | | | | | | Fix for bug #43432: Union on floats does unnecessary rounding Alexey Kopytov2009-03-271-0/+5
| | |/ / / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | UNION could convert fixed-point FLOAT(M,D)/DOUBLE(M,D) columns to FLOAT/DOUBLE when aggregating data types from the SELECT substatements. While there is nothing particularly wrong with this behavior, especially when M is greater than the hardware precision limits, it could be confusing in cases when all SELECT statements in a union have the same FLOAT(M,D)/DOUBLE(M,D) columns with equal precision specifications listed in the same position. Since the manual is quite vague on what data type should be returned in such cases, the bug was fixed by implementing the most 'expected' behavior: do not convert FLOAT(M,D)/DOUBLE(M,D) to anything else if all SELECT statements in a UNION have the same precision for that column.
* | | | | | | | | | | | | Fix wrong parameter name which caused compile failure on windowsSergey Petrunia2009-03-161-1/+1
| | | | | | | | | | | | |
* | | | | | | | | | | | | Merge Sergey Petrunia2009-03-141-0/+3
|\ \ \ \ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / / / /
| * | | | | | | | | | | | Bug#42610 Dynamic plugin broken in 5.1.31Sergey Glukhov2009-03-131-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | --added ability to obtain plugin variables from my.cnf on INSTALL PLUGIN stage --option 'ignore-builtin-innodb' disables all InnoDB builtin plugins (including I_S plugins)
* | | | | | | | | | | | | @@optimizer_switch backport and change from no_xxx to xx=on|off: post-review ↵Sergey Petrunia2009-03-141-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fixes
* | | | | | | | | | | | | Change optimizer_switch from no_xxx to xxx=on/xx=off.Sergey Petrunia2009-03-111-5/+16
| | | | | | | | | | | | |
* | | | | | | | | | | | | MergeSergey Petrunia2009-03-101-1/+2
|\ \ \ \ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / / / /
| * | | | | | | | | | | | merging.Alexey Botchkov2009-02-241-1/+2
| |\ \ \ \ \ \ \ \ \ \ \ \
| | * | | | | | | | | | | | Bug#39289 libmysqld.a calls exit() upon error Alexey Botchkov2008-10-271-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Several functions (mostly in mysqld.cc) directly call exit() function in case of errors, which is not a desired behaviour expecially in the embedded-server library. Fixed by making these functions return error sign instead of exiting. per-file comments: include/my_getopt.h Bug#39289 libmysqld.a calls exit() upon error added 'error' retvalue for my_getopt_register_get_addr libmysqld/lib_sql.cc Bug#39289 libmysqld.a calls exit() upon error unireg_clear() function implemented mysys/default.c Bug#39289 libmysqld.a calls exit() upon error error returned instead of exit() call mysys/mf_tempdir.c Bug#39289 libmysqld.a calls exit() upon error free_tmpdir() - fixed so it's not produce crash on uninitialized tmpdir structure mysys/my_getopt.c Bug#39289 libmysqld.a calls exit() upon error error returned instead of exit() call sql/mysql_priv.h Bug#39289 libmysqld.a calls exit() upon error unireg_abort definition fixed for the embedded server sql/mysqld.cc Bug#39289 libmysqld.a calls exit() upon error various functions fixed error returned instead of exit() call
* | | | | | | | | | | | | | - Backport @@optimizer_switch support from 6.0Sergey Petrunia2009-02-231-0/+6
|/ / / / / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Add support for setting it as a server commandline argument - Add support for those switches: = no_index_merge = no_index_merge_union = no_index_merge_sort_union = no_index_merge_intersection