Commit graph

1503 commits

Author SHA1 Message Date
guilhem@mysql.com
db2d812d1b Fix for BUG#2083
"EE_ error codes (EE_DELETE, EE_WRITE) end up in the binlog, making slave stop".
The problem was that during execution of the command on the master, an error
can occur (for example, not space left on device, then mysqld waits and when
there is space it completes successfully: so finally it worked but the error
EE_WRITE remains in thd->net.last_errno and thd->net.last_error).
To know if finally the command succeeded, we test the 'error' variable in
every place, and if it shows no failure we reset thd->net.last_err* using
the function THD::clear_error() which is backported from 4.1.
A new test to see if now only real errors get to the binlog (note: the test
uses "rm").

Also a bit of memory free/alloc saving in log_event.cc (do not free the whole
mem_root after every query in the slave SQL thread: we can keep the initial
block of it; which will be freed when the thread terminates).
2003-12-16 11:10:50 +01:00
gluh@gluh.mysql.r18.ru
88f0fc283b Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-4.0
into gluh.mysql.r18.ru:/home/gluh/mysql-4.0.defweek
2003-12-07 15:11:08 +04:00
gluh@gluh.mysql.r18.ru
4831778587 WL#1175: more default_week_formats for iso compatibility
New formats added for 'week()' function and 'default_week_format' option(4 - 7).
Next formats is supported now:
*Value* *Meaning*
  `0'     Week starts on Sunday; First Sunday of the year starts week 1.
  	  Week() returns 0-53.
  `1'     Week starts on Monday; Weeks numbered according to ISO 8601:1988.
	  Week() returns 0-53.
  `2'     Week starts on Sunday; First Sunday of the year starts week 1.
  	  Week() returns 1-53.
  `3'     Week starts on Monday; Weeks numbered according to ISO 8601:1988.
	  Week() returns 1-53.
  `4'     Week starts on Sunday; Weeks numbered according to ISO 8601:1988.
	  Week() returns 0-53.
  `5'     Week starts on Monday;  First Monday of the year starts week 1.
  	  Week() returns 0-53.
  `6'     Week starts on Sunday; Weeks numbered according to ISO 8601:1988.
	  Week() returns 1-53.
  `7'     Week starts on Monday;  First Monday of the year starts week 1.
  	  Week() returns 1-53.
2003-12-07 15:10:21 +04:00
gluh@gluh.mysql.r18.ru
0cc01e25b4 Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-4.0
into gluh.mysql.r18.ru:/home/gluh/mysql-4.0.pass
2003-12-07 13:36:29 +04:00
konstantin@mysql.com
cce3acfa16 Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/kostja/mysql/mysql-4.0-root
2003-12-05 01:29:20 +03:00
guilhem@mysql.com
c87747c39c Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/mysql_src/mysql-4.0
2003-12-04 22:44:13 +01:00
guilhem@mysql.com
dd2303ce07 - Fix for BUG#1858 "SQL-Thread stops working when using optimize table":
we change THD::system_thread from a 'bool' to a bitmap to be able to
distinguish between delayed-insert threads and slave threads.
- Fix for BUG#1701 "Update from multiple tables" (one line in sql_parse.cc,
plus a new test rpl_multi_update.test). That's just adding an initialization.
2003-12-04 22:42:18 +01:00
konstantin@mysql.com
a8c811e2db Merge mysql.com:/home/kostja/mysql/mysql-4.0-root
into mysql.com:/home/kostja/mysql/mysql-4.0-1790
2003-12-05 00:00:02 +03:00
monty@mysql.com
e36fd28447 Allow space in service names
move bdb/innodb tests to right places
2003-12-04 19:48:10 +02:00
gluh@gluh.mysql.r18.ru
132537accb Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-4.0
into gluh.mysql.r18.ru:/home/gluh/mysql-4.0.bugfssl
2003-12-04 14:16:32 +04:00
gluh@gluh.mysql.r18.ru
d626c313e5 Fix for bug#1944 'Function RPad() sometimes produce unexpected result' 2003-12-04 14:12:01 +04:00
sergefp@mysql.com
70ff7b8254 Fix for bug #1980 tests 2003-12-03 19:49:31 +03:00
sergefp@mysql.com
801126c60b Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/psergey/mysql-4.0
2003-12-02 21:16:57 +03:00
sergefp@mysql.com
486415233e Fix for bug #1980 2003-12-02 21:05:40 +03:00
dlenev@mysql.com
0add961061 Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/dlenev/src/mysql-4.0-tsbg
2003-12-02 20:30:10 +03:00
dlenev@mysql.com
dd37ef055b Fix for Bug #1448 "Date parsing fails, and fails to complain
about it". Now numbers representing illegal timestamps are 
converted to 0 value if they are stored as timestamp or 
datetime. This behaviour is consistent with manual and with 
behaviour of string -> timestamp conversion.
2003-12-02 20:25:45 +03:00
konstantin@mysql.com
cf192063d1 Post-review fixes for bug #1790 'BIT_AND() result in GROUP BY different when
SQL_BIG_RESULT used':
- BIT_AND now returns BIGINT UNSIGNED
- in case there were no matching rows BIT_AND returns 18446744073709551615 
(but not NULL), BIT_OR returns 0 (but not NULL). That's how Monty wants it
and how is described in our docs.
2003-12-02 19:39:51 +03:00
konstantin@mysql.com
21b506ba21 Merge mysql.com:/home/kostja/mysql/mysql-4.0-root
into mysql.com:/home/kostja/mysql/mysql-4.0-1790
2003-12-02 18:04:00 +03:00
serg@serg.mylan
77d137a24a Merge bk-internal:/home/bk/mysql-4.0/
into serg.mylan:/usr/home/serg/Abk/mysql-4.0
2003-11-28 18:18:58 +01:00
monty@mysql.com
4f42a47408 Fixed range optimzier bug (Bug #1828) 2003-11-28 15:45:34 +02:00
serg@serg.mylan
16e5b4f0ba bug #1945. item(expression)->name=0, crash in find_item_in_list 2003-11-28 12:36:45 +01:00
monty@mysql.com
5dca5c7d53 Fix test for binary builds 2003-11-23 21:03:10 +02:00
serg@serg.mylan
5443cba38e Merge bk-internal:/home/bk/mysql-4.0/
into serg.mylan:/usr/home/serg/Abk/mysql-4.0
2003-11-20 23:25:59 +01:00
serg@serg.mylan
8ca1836207 yet another trunc* bug 2003-11-20 23:15:07 +01:00
monty@mysql.com
41eda1c949 Revert patch for bigint handling in double context as it broke normal bigint handling
The right way to fix this is to change the Field::store(longlong) method to be
Field::store(longlong, bool unsigned_flag), but this is better to do in 4.1 than in 4.0
2003-11-21 00:11:50 +02:00
serg@serg.mylan
cb235f43c9 Merge 2003-11-20 23:07:31 +01:00
serg@sergbook.mylan
55182340ba more left join tests 2003-11-20 22:20:54 +01:00
konstantin@mysql.com
c4a9dc4f8b fix for bug #1790:
"BIT_AND() result in GROUP BY different when SQL_BIG_RESULT used"

return value of BIT_AND changed to BIGINT SIGNED
Also the patch fixes another bug: when temporary table is in use and one of
values in group is NULL, BIT_AND always returns zero.
Fixed it to always skip null values.
2003-11-21 00:03:04 +03:00
serg@serg.mylan
707e7e8992 Merge bk-internal:/home/bk/mysql-4.0/
into serg.mylan:/usr/home/serg/Abk/mysql-4.0
2003-11-19 23:13:48 +01:00
serg@serg.mylan
11f70bdfc4 Bug#1826, HANDLER+ALTER TABLE=crash (unfortunately, it cannot be tested in mysql-test suite)
more user variable tests
2003-11-18 22:06:47 +01:00
guilhem@mysql.com
a780924979 Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/mysql_src/mysql-4.0
2003-11-18 17:36:09 +01:00
guilhem@mysql.com
8377acc7d1 Fix for BUG#1870
"CHANGE MASTER makes SQL thread restart from coordinates of I/O thread".
    So, in CHANGE MASTER:
    when it seems reasonable that the user did not want to discontinue
    its replication (i.e. when he is not specifying host or port or master_log_file
    or master_log_pos; this will be documented), set the coordinates of the
    I/O thread to those of the SQL thread. This way, the SQL thread will see
    no discontinuity in the relay log (i.e. will skip no events), because
    the I/O thread will fill the brand new relay log with the events which
    are just after the position where the SQL thread had stopped
    (before CHANGE MASTER was issued).
    And a new test for this bug.
2003-11-18 17:31:17 +01:00
serg@serg.mylan
60d60a299e Item_uint::save_in_field() added to take into account bigint->decimal case 2003-11-16 17:37:15 +01:00
gluh@gluh.mysql.r18.ru
e78f51fbe9 Fix for bug #1564: CREATE TABLE + UNION + same table name = crash 2003-11-11 18:14:49 +04:00
serg@sergbook.mylan
05b3ff393f fulltext.test, fulltext.result:
one simple trunc* test
2003-11-08 15:39:10 +01:00
konstantin@mysql.com
8748cf96eb Merge kosipov@bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/kostja/mysql/mysql-4.0-root
2003-11-04 12:55:39 +03:00
konstantin@mysql.com
4eb255e60e Word Police law is abided 2003-11-04 12:38:09 +03:00
serg@serg.mylan
e1e82a4e00 Merge bk-internal:/home/bk/mysql-4.0/
into serg.mylan:/usr/home/serg/Abk/mysql-4.0
2003-11-03 23:19:20 +01:00
serg@serg.mylan
5505abe102 fixed a bug in boolean fts where a word queue was created based on min_word_len, while with trunc* operator one could get shorter words 2003-11-03 23:18:55 +01:00
konstantin@mysql.com
2aff1b520b Merge mysql.com:/home/kostja/mysql/mysql-4.0-root
into mysql.com:/home/kostja/mysql/mysql-4.0-1724
2003-11-03 22:53:42 +03:00
guilhem@mysql.com
19c2162bdc Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/mysql_src/mysql-4.0
2003-11-03 18:25:47 +01:00
guilhem@mysql.com
fbc54c139d When we delete the slave's temp tables from memory, we reset
rli->save_temporary_tables and slave_open_temp_tables
(in old 4.0 you could make "SHOW STATUS LIKE 'slave_open_temp_tables'" grow
indefinitely by doing RESET SLAVE and replicating always the same CREATE
TEMPORARY TABLE).
It's critical to reset save_temporary_tables to 0 (otherwise you may later
read memory which has been freed) so this changeset should go into 4.1.
2003-11-03 18:24:01 +01:00
konstantin@mysql.com
0143e48568 fix for bug #1724 'WHERE ... IN() optimizer behaviour
has changed since 4.0.14'
We need to calculate cost of RANGE
scan if it is present instead of cost of 
FULL scan.
2003-11-03 19:56:01 +03:00
monty@mysql.com
306ffd74b4 Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/my/mysql-4.0
2003-11-02 15:55:25 +02:00
monty@mysql.com
4668b54837 Call my_sync() after all data is written to .frm file
Added my_sync() to mysys which will do fsync/fdatasync/_commit() on a file.
2003-11-02 15:55:02 +02:00
guilhem@mysql.com
c1f7f33960 4 small items in this:
- when we don't have in_addr_t, use uint32.
- a forgotten initialization of slave_proxy_id in sql/log_event.cc (was not really "forgot", was
"we needn't init it there", but there was one case where we needed...).
- made slave_proxy_id always meaningful in THD and Log_event, so we can
rely more on it (no need to test if it's meaningful). THD::slave_proxy_id
is equal to THD::thread_id except for the slave SQL thread.
- clean up the slave's temporary table (i.e. free their memory) when slave
server shuts down.
2003-10-31 23:20:23 +01:00
guilhem@mysql.com
b99fd4beca Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/mysql_src/mysql-4.0
2003-10-30 16:13:38 +01:00
guilhem@mysql.com
80793657b4 Fix to be able to run
mysql-test-run --manager --valgrind
(without this fix, the manager fails to start mysqld and the tests hang).
2003-10-30 16:12:21 +01:00
guilhem@mysql.com
59d0872aa0 Fix for BUG#1686
"If 2 master threads with same-name temp table, slave makes bad binlog"
and (two birds with one stone) for
BUG#1240 "slave of slave breaks when STOP SLAVE was issud on parent slave
and temp tables".

Here is the design change:
in a slave running with --log-slave-updates, events are now logged with the
thread id they had on the master. So no more id conflicts between master threads,
but introduces id conflicts between one master thread and one normal 
client thread connected to the slave. This is solved by storing the server id
in the temp table's name.

New test which requires mysql-test-run to be run with --manager,
otherwise it will be skipped.

Undoing a Monty's change (hum, a chill runs down my spine ;) which was
"Cleanup temporary tables when slave ends" in ChangeSet 1.1572.1.1.
2003-10-29 14:23:35 +01:00
monty@narttu.mysql.fi
eaf9f35db8 Fix results after merge 2003-10-23 14:04:06 +03:00