1
0
mirror of https://github.com/MariaDB/server.git synced 2026-01-06 05:22:24 +03:00
Commit Graph

3113 Commits

Author SHA1 Message Date
unknown
a50761a565 Fix for BUG#2045 "Sending SIGHUP to mysqld crashes it if running with --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>).


sql/log.cc:
  A comment to warn that thd can be 0.
  The part about LOG_EVENT_FORCED_ROTATE_F is just to avoid segfault;
  this flag is already removed in 4.1 anyway.
sql/log_event.cc:
  A comment.
sql/log_event.h:
  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.
  This fixes BUG#2045 
  "Sending SIGHUP to mysqld crashes it if running with --log-bin"
2003-12-08 16:18:25 +01:00
unknown
da3e63e126 Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-4.0
into gluh.mysql.r18.ru:/home/gluh/mysql-4.0.defweek


sql/mysqld.cc:
  Auto merged
2003-12-07 15:11:08 +04:00
unknown
468dcb6092 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.


mysql-test/r/func_time.result:
  Test for 'default_week_format' option and 'week' function
mysql-test/t/func_time.test:
  Test for 'default_week_format' option and 'week' function
sql/item_timefunc.cc:
  WL#1175 more default_week_formats for iso compatibility
sql/mysql_priv.h:
  WL#1175 more default_week_formats for iso compatibility
sql/mysqld.cc:
  WL#1175 more default_week_formats for iso compatibility
sql/time.cc:
  WL#1175 more default_week_formats for iso compatibility
2003-12-07 15:10:21 +04:00
unknown
f35c834d2f Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-4.0
into gluh.mysql.r18.ru:/home/gluh/mysql-4.0.pass


sql/sql_parse.cc:
  Auto merged
2003-12-07 13:36:29 +04:00
unknown
cea764f387 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
unknown
1057ca5405 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
unknown
66927c51fa - 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.


sql/repl_failsafe.cc:
  comment to warn about this unused code
sql/slave.cc:
  Now thd->system_thread is a bitmap, not a bool.
sql/sql_class.h:
  'bool' for THD::system_thread is not accurate enough; sometimes we need
  to distinguish between delayed-insert threads and slave threads;
  so changing THD::system_thread to a bitmap (uint).
sql/sql_insert.cc:
  thd.system_thread is now a bitmap
sql/sql_parse.cc:
  We need to initialize thd->lex.select_lex.options in mysql_init_query();
  it's already initialized in dispatch_command() but replication calls
  mysql_parse() directly, thus bypassing dispatch_command().
  Not initing it here leads to a query influencing the next query,
  in the slave SQL thread.
  The initialization in dispatch_command() must be kept as this
  command uses the variable in tests, even when the command was not a
  query (i.e. when mysql_init_query() was not called).
2003-12-04 22:42:18 +01:00
unknown
0cc52bc7ca 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
unknown
3db325cbba Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/my/mysql-4.0
2003-12-04 19:48:35 +02:00
unknown
ee52d2925d Allow space in service names
move bdb/innodb tests to right places


mysql-test/r/bdb.result:
  Update results after test changes
mysql-test/r/innodb.result:
  Update results after test changes
mysql-test/r/multi_update.result:
  Update results after test changes
mysql-test/t/bdb.test:
  Move bdb tests here
mysql-test/t/innodb.test:
  Move innodb test here
mysql-test/t/multi_update.test:
  move bdb/innodb tests to repective test
sql/mysqld.cc:
  Allow space in service names
2003-12-04 19:48:10 +02:00
unknown
9d85f9919f Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/dlenev/src/mysql-4.0-tsbug
2003-12-04 19:03:20 +03:00
unknown
8f4ed1d72c Fix undeterministic behaviour of year check
if we failed to classify integer as datetime 
in Field_datetime::store().
Stylistic clean-ups.


sql/field.cc:
  Fix undeterministic behaviour of year check 
  if we failed to classify integer as datetime
  Stylistic clean-ups.
2003-12-04 19:02:48 +03:00
unknown
0a9ae10f9e Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/mysql_src/mysql-4.0
2003-12-04 15:31:14 +01:00
unknown
8479e5a379 Fix for BUG#2011 "rare race condition producing "binlog has bad magic number" error in slave".
The problem was that when the slave SQL thread reads a hot relay log (hot = the one being written to by the
slave I/O thread), it must have the LOCK_log. It already took it for read_log_event(), but needs
it also for check_binlog_magic().
This should fix all recently reported failures of the rpl_max_relay_size test in 4.1 and 5.0
(though the bug exists since 4.0, it showed up first in 5.0).


sql/slave.cc:
  Fix for BUG#2011 "rare race condition producing "binlog has bad magic number" error in slave".
  The problem was that when the slave SQL thread reads a hot relay log (hot = the one being written to by the
  slave I/O thread), it must have the LOCK_log. It already took it for read_log_event(), but needs
  it also for check_binlog_magic().
2003-12-04 15:30:14 +01:00
unknown
8f9baee625 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
unknown
c2b60a6f59 Fix for bug#1944 'Function RPad() sometimes produce unexpected result' 2003-12-04 14:12:01 +04:00
unknown
e8fc6d460c Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/mysql_src/mysql-4.0
2003-12-02 23:33:00 +01:00
unknown
25be07f051 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
unknown
8be4234f61 Fix for bug #1980
BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
2003-12-02 21:05:40 +03:00
unknown
465881c21a 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
unknown
f5d7229762 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.


mysql-test/r/type_datetime.result:
  Added test if ranges are checked during 
  integer, string -> timestamp conversion
mysql-test/r/type_timestamp.result:
  Added test if ranges are checked during 
  integer, string -> datetime conversion
mysql-test/t/type_datetime.test:
  Added test if ranges are checked during 
  integer, string -> datetime conversion
mysql-test/t/type_timestamp.test:
  Added test if ranges are checked during 
  integer, string -> timestamp conversion
sql/field.cc:
  Checks of month, day, hour, minute and second ranges were added
  to storing of integer into Field_datetime and Field_timestamp
  and so for integer -> datetime, timestamp conversion.
2003-12-02 20:25:45 +03:00
unknown
a2bdd6218c 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.




include/my_global.h:
  Added definition for ULONGLONG_MAX.
  This is also a check that ULL type specifier
  can be used on all supported platforms.
mysql-test/r/func_group.result:
  bug #1790, post-review work: test results fixed
sql/item_sum.cc:
  small cleanup
sql/item_sum.h:
  few style fixes.
  BIT_AND and BIT_OR now are both BIGINT UNSIGNED
2003-12-02 19:39:51 +03:00
unknown
b9418600bf There is no reason that Intvar_log_event's constructor calls Log_event::Log_event()
instead of Log_event::Log_event(THD*, ...) when the event is built in the master
to be written in the binlog.
Rand_log_event already used the good constructor, so there really is no reason
for Intvar_log_event to be an exception.
This fixes a test failure of last night (which appeared after I removed a useless
e.server_id=thd->server_id in log.cc; in fact this line was not useless because
it hid the bad constructor).
Replication tests pass, with Valgrind too.


sql/log_event.h:
  There is no reason that Intvar_log_event's constructor calls Log_event::Log_event()
  instead of Log_event::Log_event(THD*, ...) when the event is built in the master
  to be written in the binlog.
  Rand_log_event already used the good constructor, so there really is no reason
  for Intvar_log_event to be an exception.
  This fixes a test failure of last night (which appeared after I removed a useless
  e.server_id=thd->server_id in log.cc; in fact this line was not useless because
  it hid the bad constructor).
2003-12-02 16:49:46 +01:00
unknown
363c4e8a81 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
unknown
f0bc11177d Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/mysql_src/mysql-4.0
2003-12-01 15:21:42 +01:00
unknown
8764ca94c9 Removing unneeded code: the Intvar_log_event constructor calls the Log_event constructor
which does e.server_id=thd.server_id.


sql/log.cc:
  unneeded: the Intvar_log_event constructor calls the Log_event constructor
  which does e.server_id=thd.server_id.
2003-12-01 14:59:35 +01:00
unknown
6374baf7c1 Merge sinisa@bk-internal.mysql.com:/home/bk/mysql-4.0
into sinisa.nasamreza.org:/mnt/work/mysql-4.0
2003-12-01 13:47:05 +02:00
unknown
90fc2b973a 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
unknown
e5cc604eab Fixed range optimzier bug (Bug #1828)
mysql-test/r/range.result:
  test for range optimzier bug
mysql-test/t/range.test:
  test for range optimzier bug
2003-11-28 15:45:34 +02:00
unknown
7c8f81f3e9 Merge bk-internal:/home/bk/mysql-4.0/
into serg.mylan:/usr/home/serg/Abk/mysql-4.0
2003-11-28 12:51:15 +01:00
unknown
931f7a3566 bug #1945. item(expression)->name=0, crash in find_item_in_list 2003-11-28 12:36:45 +01:00
unknown
fa9047e280 Added compilation comment to 'show variables'
This makes it possible to check origin of binary from the output of 'show variables'


include/mysql_version.h.in:
  Added MYSQL_COMPILATION_COMMENT
sql/mysqld.cc:
  Added compilation comment to mysqld --version
sql/set_var.cc:
  Added compilation comment to 'show variables'
2003-11-26 03:30:00 +02:00
unknown
69ea14158b Merge sinisa@bk-internal.mysql.com:/home/bk/mysql-4.0
into sinisa.nasamreza.org:/mnt/work/mysql-4.0
2003-11-24 15:49:35 +02:00
unknown
d8e425c240 Fix for bug #1855: mysqld crashes with certain SSL connections 2003-11-24 13:57:49 +04:00
unknown
7c6ed73443 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


mysql-test/r/bigint.result:
  New tests to show how the last bigint patch broke MySQL
mysql-test/t/bigint.test:
  New tests to show how the last bigint patch broke MySQL
sql/item.cc:
  Revert patch for bigint handling in double context as it broke normal bigint handling
sql/item.h:
  Revert patch for bigint handling in double context as it broke normal bigint handling
2003-11-21 00:11:50 +02:00
unknown
3f355523ba 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.


mysql-test/r/func_group.result:
  bug #1790: test results fixed
sql/item_sum.cc:
  fix for bug #1790:
  update_field() rewritten to use add() and thus was moved
  to Item_sum_bit::update_field()
  Item_sum_bit::reset_field() was rewritten to take into account
  reset_bits.
sql/item_sum.h:
  fix for bug #1790:
  Item_sum::update_field() and Item_sum::reset_field() commented
  Item_sum_and changed to return BIGINT SIGNED
  Item_sum_and::update_field() and Item_sum_or::update_field)
  were replaced with generic Item_sum_bit::update_field()
2003-11-21 00:03:04 +03:00
unknown
cd878c2c8a added comments to simple_order, simple_group, no_order, skip_sort_order 2003-11-20 21:21:56 +03:00
unknown
03e04c02cd database invalidation invalidate queries only of given database (BUG#1898)
mysql-test/r/query_cache.result:
  test of drop database
mysql-test/t/query_cache.test:
  test of drop database
sql/sql_cache.cc:
  database invalidation invalidate queries only of given database
  every freed block header marked as FREE even if it will be merged to make moving & deleting tables block safe
  layout fixed (too long line)
2003-11-20 18:12:49 +02:00
unknown
24bdf95603 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
unknown
a36145a8f2 Bug#1826, HANDLER+ALTER TABLE=crash (unfortunately, it cannot be tested in mysql-test suite)
more user variable tests


mysql-test/r/user_var.result:
  more user variable tests (just to have this behaviour written down somewhere)
mysql-test/t/user_var.test:
  more user variable tests (just to have this behaviour written down somewhere)
sql/sql_handler.cc:
  Bug#1826, HANDLER+ALTER TABLE=crash
  (unfortunately, it cannot be tested in mysql-test suite)
2003-11-18 22:06:47 +01:00
unknown
40c951a01e 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
unknown
80649ee874 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.


mysql-test/r/rpl_loaddata.result:
  Now, after CHANGE MASTER the coordinates of the I/O thread are the last ones of the SQL thread, so result update.
sql/sql_repl.cc:
  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).
2003-11-18 17:31:17 +01:00
unknown
dcf29d5ec8 Fix for bug when zeros are to be prepended to decimal field 2003-11-18 15:58:27 +02:00
unknown
36eadc818a Fix for bug #1564: 'CREATE TABLE + UNION + same table name = crash'
(related to previous changeset)
2003-11-17 18:34:06 +04:00
unknown
c072804d51 Merge with 3.23 (only comment changes)
BUILD/compile-pentium-gcov:
  Use local file
mysys/thr_alarm.c:
  Get comment from 3.23
sql/mini_client.cc:
  Get comment from 3.23
2003-11-17 16:16:56 +02:00
unknown
b57a1dd227 Safety fix for alarms on windows.
mysys/thr_alarm.c:
  Safety fix for alarms on windows
sql/mini_client.cc:
  Added comments
2003-11-17 12:59:07 +02:00
unknown
069ec78c80 Item_uint::save_in_field() added to take into account bigint->decimal case
BitKeeper/etc/ignore:
  Added sql/udf_example.so to the ignore list
2003-11-16 17:37:15 +01:00
unknown
75392a0d2e make error message more detailed 2003-11-12 22:33:28 +01:00
unknown
1c45978512 Fix for bug #1564: CREATE TABLE + UNION + same table name = crash 2003-11-11 18:14:49 +04:00
unknown
bc296f9495 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