summaryrefslogtreecommitdiff
path: root/sql/log.cc
Commit message (Collapse)AuthorAgeFilesLines
* log.cc:rburnett@build.mysql.com2004-09-081-1/+1
| | | | Changed label on INFORMATION log items to NOTE
* mergedserg@serg.mylan2004-09-071-28/+6
|\
| * Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0guilhem@mysql.com2004-09-061-16/+0
| |\ | | | | | | | | | into mysql.com:/home/mysql_src/mysql-4.0-opt
| | * Replacing class Disable_binlog by macros. Patch already approved by Monty.guilhem@mysql.com2004-09-061-16/+0
| | |
| * | bug#5389 merge.test fails on qnx - uninitalized variable in myrg_open()serg@serg.mylan2004-09-061-7/+13
| |/
* | Merge with 4.0monty@mysql.com2004-09-011-68/+89
|\ \ | |/
| * log.cc:rburnett@build.mysql.com2004-08-301-1/+1
| | | | | | | | Fixed missing * in comment in setup_windows_event_source
| * Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0guilhem@mysql.com2004-08-291-5/+17
| |\ | | | | | | | | | into mysql.com:/home/mysql_src/mysql-4.0
| | * Fix for BUG#4500 "set character set replicates incorrectly"guilhem@mysql.com2004-08-291-5/+17
| | | | | | | | | | | | | | | | | | | | | | | | We must not reset the charset in slave after each statement, otherwise the SET CHARACTER SET is cancelled immediately. Instead, we write a SET CHARACTER SET DEFAULT to the master's binlog when needed (like we already do for SET FOREIGN_KEY_CHECKS); such writing is not necessary in 4.1 (in 4.1 the bug does not exist, as the SET ONE_SHOT syntax is used). I have written a test and it works, but I'm not pushing the test as it requires building with all charsets. I have noticed differences between what is inserted in the master's table in 4.0 and 4.1, and alerted Bar.
| * | Code style fixes.monty@mysql.com2004-08-281-82/+89
| |/ | | | | | | Initialize LOG_error_log before get_options to not use an uninitalized mutex in case of an error from handle_options()
* | after mergeserg@serg.mylan2004-08-261-19/+19
| |
* | mergedserg@serg.mylan2004-08-261-22/+172
|\ \ | |/
| * Merge bk-internal.mysql.com:/home/bk/mysql-4.0rburnett@build.mysql.com2004-08-251-21/+174
| |\ | | | | | | | | | into build.mysql.com:/users/rburnett/mysql-4.0
| | * Bug #4466 Nothing in .err when mysql service ends because of malformed ↵rburnett@build.mysql.com2004-08-191-32/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | my.ini options mysqld.cc: Changed LOGLEVEL enum to loglevel mysql_priv.h, log.cc: Changed LOGLEVEL to loglevel. Removed startup_ from some of the DBUG_ENTER macros. Removed the print_msg_to_log function as it was unused. my_getopt.c, my_getopt.h: Renamed LOGLEVEL to loglevel to match coding standards
| | * BUG# 4466 - Nothing in .err when mysql service ends because of malformed ↵rburnett@build.mysql.com2004-08-181-69/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | my.ini options mysqld.cc: Changed option_error_reporter to match new function header that includes LOGLEVEL enum mysql_priv.h: Removed the MY_ERROR style bitmask. Changed function headers to use new LOGLEVEL enum log.cc: Changed print_buffer_to_log to print_buffer_to_file. Remove the timestamp bool and now all log entries written to stderr are timestamped. Removed some unused commented code. changed to use the new LOGLEVEL enum. my_getopt.c: Changed functions to use the new LOGLEVEL enum and changed the included error reporter to be default_reporter. This reporter is used in handle_options if a reporter is not given my_getopt.h: changed typedefs to use better naming convention. Moved error bitmask into the LOGLEVEL enum and included it here.
| | * mysql_priv.h:rburnett@build.mysql.com2004-08-141-22/+184
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added declarations for print_msg_to_log and vprint_msg_to_log. sql_print_error are simple functions that wrap calls to print_msg_to_log. Define the different error types with MY_ERROR_TYPE, MY_WARNING_TYPE, and MY_INFORMATION_TYPE gen_lex_hash.cc: Added NULL error reporting parameter to handle_options log.cc: Add print_msg_to_log, print_buffer_to_log, and vprint_msg_to_log. Print_msg_to_log will write the message to the windows event log if on NT. We now have error, warning, and information versions of sql_print_xxxx. T his is a variation of a similar changeset WAX did. mysqld.cc: Added option_error_reporter callback function and pass that into handle_options mysql.cc: Added NULL as error reporter arg to the end of handle_options Many files: Added NULL error reporter parameter as the last paramter to handle_options my_getopt.c: Added second function pointer to server as an error reporting callback. Added local function report_option_error that will either write the error to stderr or to the error reporting callback. changed all calls in handle_options from fprintf(stderr, ... ) to report_option_error my_getopt.h: Changed declaration of handle_options to use typedefs for the two function pointers. added second function pointer to server as an error reporting callback mysqld.dsp: Added custom build step for compiling message file and added message resource file (output of mc)
* | | mergedserg@serg.mylan2004-08-201-3/+2
|\ \ \ | |/ /
| * | Fix for BUG#4971 "CREATE TABLE ... TYPE=HEAP SELECT ... stops slave (wrong ↵guilhem@mysql.com2004-08-191-0/+16
| |/ | | | | | | | | | | | | | | | | DELETE in binlog)": replacing the no_log argument of mysql_create_table() by some safer method (temporarily setting OPTION_BIN_LOG to 0) which guarantees that even the automatic DELETE FROM heap_table does not get into the binlog when a not-yet-existing HEAP table is opened by mysql_create_table().
* | (manual port from 4.0 - was needed)guilhem@mysql.com2004-08-191-0/+14
| | | | | | | | | | | | | | | | Fix for BUG#4971 "CREATE TABLE ... TYPE=HEAP SELECT ... stops slave (wrong DELETE in binlog)": replacing the no_log argument of mysql_create_table() by some safer method (temporarily setting OPTION_BIN_LOG to 0) which guarantees that even the automatic DELETE FROM heap_table does not get into the binlog when a not-yet-existing HEAP table is opened by mysql_create_table().
* | manually mergedserg@serg.mylan2004-08-181-8/+2
|\ \ | |/
| * Fix for:guilhem@mysql.com2004-07-311-7/+2
| | | | | | | | | | | | Bug #4810 "deadlock with KILL when the victim was in a wait state" (I included mutex unlock into exit_cond() for future safety) and BUG#4827 "KILL while START SLAVE may lead to replication slave crash"
| * Avoiding a theoretically possible crash (pthread_mutex_lock(0)) which could ↵guilhem@mysql.com2004-07-301-1/+0
| | | | | | | | | | | | | | | | | | (at least in POSIX Threads books) happen on SMP machines, when a thread is going to wait on a condition and it is KILLed at the same time. Cleaning code a bit by adding a test in enter_cond() that we have the mutex (was already the case in all places where it's called except one which is fixed here).
* | New handler::index_flags() definition to make it easy to check the full used ↵monty@mysql.com2004-07-081-3/+4
| | | | | | | | | | | | | | key and a specific key part. Added key part to optimize_range() to fix problems when using fields in key parts.
* | Final part of WL#1717 "innodb/binlog consistency". This is to resolveguilhem@mysql.com2004-06-241-4/+11
| | | | | | | | | | | | | | | | | | | | 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.
* | Merge gbichot@213.136.52.20:/home/bk/mysql-4.1guilhem@mysql.com2004-06-231-4/+181
|\ \ | | | | | | | | | into mysql.com:/home/mysql_src/mysql-4.1-1717
| * | WL#1717 "binlog/innodb consistency".guilhem@mysql.com2004-06-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | Robustness feature.guilhem@mysql.com2004-06-201-4/+181
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | log.cc:bar@mysql.com2004-06-231-6/+6
|/ / | | | | | | rpl_charset failed on Linux/AMD64.
* | WL#1264 "Per-thread time zone support infrastructure".dlenev@brandersnatch.localdomain2004-06-181-2/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added basic per-thread time zone functionality (based on public domain elsie-code). Now user can select current time zone (from the list of time zones described in system tables). All NOW-like functions honor this time zone, values of TIMESTAMP type are interpreted as values in this time zone, so now our TIMESTAMP type behaves similar to Oracle's TIMESTAMP WITH LOCAL TIME ZONE (or proper PostgresSQL type). WL#1266 "CONVERT_TZ() - basic time with time zone conversion function". Fixed problems described in Bug #2336 (Different number of warnings when inserting bad datetime as string or as number). This required reworking of datetime realted warning hadling (they now generated at Field object level not in conversion functions). Optimization: Now Field class descendants use table->in_use member instead of current_thd macro.
* | WL#1595 "Optionally fsync() the binlog after every statement":guilhem@mysql.com2004-06-101-3/+12
| | | | | | | | | | | | | | | | | | | | New option --sync-binlog=x (and global settable variable) which will fsync the binlog after every x-th disk write to it. That is, if in autocommit mode, after every x-th statement written to the binlog; if using transactions, after every x-th transaction written to the binlog. x==0 means no fsync. x==1 is the slowest. There is no test added for this, I have just checked that it works as --sync-binlog=1 dramatically slows down mysqld. Made sync-frm a global settable variable.
* | Implementation of WL#1824 "Add replication of character set variables in 4.1",guilhem@mysql.com2004-06-031-0/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | by binlogging some SET ONE_SHOT CHARACTER_SETetc, which will be enough until we have it more compact and more complete in 5.0. With the present patch, replication will work ok between 4.1.3 master and slaves, as long as: - master and slave have the same GLOBAL.COLLATION_SERVER - COLLATION_DATABASE and CHARACTER_SET_DATABASE are not used - application does not use the fact that table is created with charset of the USEd db (BUG#2326). all of which are not too hard to fulfill. ONE_SHOT is reserved for internal use of mysqlbinlog|mysql and works only for charsets, so we give error if used for non-charset vars. Fix for BUG#3875 "mysqlbinlog produces wrong ouput if query uses variables containing quotes" and BUG#3943 "Queries with non-ASCII literals are not replicated properly after SET NAMES". Detecting that master and slave have different global charsets or server ids.
* | Fixed problems noticed with last buildmonty@mysql.com2004-04-091-0/+2
| |
* | Fixed many compiler warningsmonty@mysql.com2004-04-051-1/+0
| | | | | | | | | | | | Fixed bugs in group_concat with ORDER BY and DISTINCT (Bugs #2695, #3381 and #3319) Fixed crash when doing rollback in slave and the io thread catched up with the sql thread Set locked_in_memory properly
* | Changing SET SQL_LOG_BIN so that it explicitely throws an error ifguilhem@mysql.com2004-03-261-7/+2
| | | | | | | | | | user is not SUPER, instead of setting the value but ignoring it silently internally.
* | merge with 4.0 to get security fixes and latest bug fixesmonty@mashka.mysql.fi2004-02-201-18/+23
|\ \ | |/
| * Fixed usage of strxnmov() in recent changesetsmonty@mysql.com2004-02-191-9/+12
| |
| * potential problem fixed afer some reasoningserg@serg.mylan2004-02-191-6/+9
| |
* | Merge with 4.0.17monty@mysql.com2003-12-171-5/+1
|\ \ | |/
| * Fix for BUG#2045 "Sending SIGHUP to mysqld crashes it if running with ↵guilhem@mysql.com2003-12-081-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | --log-bin". The constructor of Rotate_log_event used when we are rotating our binlog or relay log, should not assume that there is a nonzero THD available. For example, when we are reacting to SIGHUP, the THD is 0. In fact we don't need to use the THD in this constructor; we can do like for Stop_log_event, and use the minimal Log_event constructor. If we were allowed to put Unix-specific commands in the testsuite, I'd add a test for this (<sigh>).
| * Removing unneeded code: the Intvar_log_event constructor calls the Log_event ↵guilhem@mysql.com2003-12-011-4/+0
| | | | | | | | | | | | constructor which does e.server_id=thd.server_id.
* | Added missing SSL library (Should be in source distribution)monty@mysql.com2003-11-281-2/+2
| | | | | | | | | | | | | | Fixed compiler warnings (a lot of hidden variables detected by the Forte compiler) Added a lot of 'version_xxx' strings to 'show variables' Prevent copying of TMP_TABLE_PARAM (This caused core dump bug on Solaris) Fixed problem with printing sub selects to debug log
* | Change word order of a few PROCESSLIST messages to correspondpaul@teton.kitebird.com2003-11-211-1/+1
| | | | | | | | to order used in START SLAVE syntax.
* | Merge with 4.0.16monty@narttu.mysql.fi2003-10-071-4/+4
|\ \ | |/
| * Optimized code for setting user variables with := and fixed some bugs in old ↵monty@mishka.mysql.fi2003-10-031-3/+3
| | | | | | | | | | | | code (Bug #1194) Use forced close of socket to make mysqld shutdown faster when used under valgrind
| * Fix forguilhem@mysql.com2003-09-241-1/+1
| | | | | | | | | | | | Bug #1392 "On Win, slave leaves one temp file after successf. replicating LOAD DATA INFILE" Windows-specific bug (we forgot to close a file before deleting it). Patch written by me, tested by Miguel (thanks!) and it works.
* | WL #562: Change format of slow log in 4.1ram@gw.mysql.r18.ru2003-10-071-2/+2
| |
* | bugfix for #1375hf@deer.(none)2003-09-291-2/+2
| |
* | Mergehf@deer.(none)2003-09-261-4/+10
|\ \
| * | SCRUM:hf@deer.(none)2003-09-261-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | WL#604 Privileges in embedded library code added to check privileges in embedded library NO_EMBEDDED_ACCESS_CHECKS macros inserted in code so we can exclude access-checking parts. Actually we now can exclude these parts from standalone server as well. Do we need it? Access checks are disabled in embedded server by default. One should edit libmysqld/Makefile manually to get this working. We definitely need the separate configure for embedded server
* | | Merge bk-internal.mysql.com:/home/bk/mysql-4.1monty@mashka.mysql.fi2003-09-141-1/+0
|\ \ \ | |/ / |/| | | | | into mashka.mysql.fi:/home/my/mysql-4.1