Commit graph

2749 commits

Author SHA1 Message Date
unknown
9480ec8289 Cleaning after removing LOG_INFO_PURGE_NO_ROTATE.
sql/sql_repl.cc:
  In my previous change I removed 'no_rotate' from MYSQL_LOG, so this made
  LOG_INFO_PURGE_NO_ROTATE useless (an error code which was never returned),
  so I remove it of the 'switch'.
2003-07-12 16:04:42 +02:00
unknown
5526d454fd Member no_rotate in MYSQL_LOG was always 0, I delete it.
sql/log.cc:
  Member no_rotate of MYSQL_LOG is useless; this shows it for sure:
  [guilhem@gbichot2 mysql-4.0]$ bk -r grep no_rotate
  sql/log.cc      1.83       no_rotate(0), need_start_event(1)
  sql/log.cc      1.75      if (no_rotate)
  sql/log.cc      1.89      if (!no_rotate)
  sql/sql_class.h 1.119     bool no_rotate;
  i.e. no_rotate is 0 all the time. So we don't need it.
  Biggest part of the patch is indentation change.
sql/sql_class.h:
  suppress no_rotate
2003-07-12 15:48:26 +02:00
unknown
543208de96 removed 2 small useless if().
sql/log.cc:
  a comment for the future.
sql/mysqld.cc:
  if (p) is not needed: fn_ext() always returns a valid pointed; the way
  to test if an extension was found is if (*p), not if (p).
  But here even if there's no extension, we still want to truncate opt_name
  to FN_REFLEN, so we always execute the code.
  By design, the test was always 'false' (because we strip the extension before
  testing if there's an extension) so log->set_no_rotate never executed.
sql/sql_class.h:
  remove set_no_rotate as we don't need it.
2003-07-12 15:06:40 +02:00
unknown
d974959b4f Fix for BUG#791:
a safer way of initing the mutexes in MYSQL_LOG.
is_open() is now always thread-safe.
See each file for details.


sql/handler.cc:
  is_open() with locks
sql/item_func.cc:
  is_open() with locks
sql/log.cc:
  No more 'inited'.
  We now always use is_open() in a thread-safe manner.
  This simplifies some functions (no more need to test is_open() twice).
sql/log_event.cc:
  is_open() with locks
sql/mysqld.cc:
  Init mutexes for the global MYSQL_LOG objects.
  We care about no_rotate, because we can't do it in open() anymore (because
  we don't have 'inited' anymore).
sql/repl_failsafe.cc:
  is_open() with locks
sql/slave.cc:
  init pthread objects (mutexes, conds) in the constructor of st_relay_log_info.
  Some better locking in rotate_relay_log().
sql/sql_base.cc:
  is_open() with locks
sql/sql_class.h:
  Before, we inited LOCK_log in MYSQL_LOG::open(), so in other places of the code
  when we were never 100% sure that it had been inited. For example, if the server
  was running without --log-bin, ::open() was not called so the mutex was not
  inited. We could detect it with !inited, but not safely as 'inited' was not
  protected by any mutex.
  So now:
  we *always* init the LOCK_log mutex, even if the log is not used. We can't init
  the mutex in MYSQL_LOG's constructor, because for global objects like
  mysql_bin_log, mysql_log etc, the constructor is called before MY_INIT(), but
  safe_mutex depends on MY_INIT(). So we have a new function MYSQL_LOG::init_pthread_objects
  which we call in main(), after MY_INIT().
  For the relay log, we call this function in the constructor of
  st_relay_log_info, which is called before any function tries to
  use the relay log (the relay log is always invoked as rli.relay_log).
  So now we should be safe in all cases and we don't need 'inited'.
sql/sql_db.cc:
  is_open() with locks
sql/sql_delete.cc:
  is_open() with locks
sql/sql_insert.cc:
  is_open() with locks
sql/sql_load.cc:
  is_open() with locks
sql/sql_parse.cc:
  is_open() with locks
sql/sql_rename.cc:
  is_open() with locks
sql/sql_repl.cc:
  is_open() with locks
sql/sql_table.cc:
  is_open() with locks
sql/sql_update.cc:
  is_open() with locks
2003-07-11 14:26:44 +02:00
unknown
3c268e59ec Cleanups
mysql-test/t/distinct.test:
  Cleanup
sql/log.cc:
  Cleanup
sql/slave.cc:
  Cleanup
sql/sql_delete.cc:
  Cleanup
sql/sql_parse.cc:
  Simple optimization
2003-07-09 00:55:07 +03:00
unknown
5e817c5313 Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into mashka.mysql.fi:/home/my/mysql-4.0


sql/mysqld.cc:
  Auto merged
2003-07-09 00:00:16 +03:00
unknown
e13e857cae Fixed bug in ALTER TABLE ... DISABLE/ENABLE KEYS
Removed double my_thread_end() which caused fatal error on windows if mysqld died on startup


myisam/mi_extra.c:
  Fixed bug in ALTER TABLE ... DISABLE/ENABLE KEYS
mysql-test/r/alter_table.result:
  Fixed bug in ALTER TABLE ... DISABLE/ENABLE KEYS
mysql-test/t/alter_table.test:
  Test DISABLE/ENABLE KEY
sql/ha_myisam.cc:
  Fixed bug in ALTER TABLE ... DISABLE/ENABLE KEYS
sql/mysqld.cc:
  Removed double my_thread_end() which caused fatal error on windows if mysqld died on startup
sql/sql_table.cc:
  Fixed bug in ALTER TABLE ... DISABLE/ENABLE KEYS
sql/table.cc:
  Fixed bug in ALTER TABLE ... DISABLE/ENABLE KEYS
sql/table.h:
  Fixed bug in ALTER TABLE ... DISABLE/ENABLE KEYS
2003-07-08 23:58:04 +03:00
unknown
f0f7eccc23 ha_innodb.cc:
Prevent the user from creating InnoDB tables with > 1000 columns


sql/ha_innodb.cc:
  Prevent the user from creating InnoDB tables with > 1000 columns
2003-07-08 20:51:45 +03:00
unknown
eed62d993d Fix for
BUG#797 "If query ignored on slave (replicate-ignore-table) the slave still checks if
the returned error (0) is the same as the one on the master, whereas it shouldn't
test this.
Plus a new test for BUG#797.


include/mysqld_error.h:
  New error code (can be sent only to the slave thread, not to normal clients).
sql/log.cc:
  removed comment from a previous debugging.
sql/log_event.cc:
  ER_SLAVE_IGNORED_TABLE is an ignorable error.
sql/share/czech/errmsg.txt:
  for BUG#797
sql/share/danish/errmsg.txt:
  for BUG#797
sql/share/dutch/errmsg.txt:
  for BUG#797
sql/share/english/errmsg.txt:
  for BUG#797
sql/share/estonian/errmsg.txt:
  for BUG#797
sql/share/french/errmsg.txt:
  for BUG#797
sql/share/german/errmsg.txt:
  for BUG#797
sql/share/greek/errmsg.txt:
  for BUG#797
sql/share/hungarian/errmsg.txt:
  for BUG#797
sql/share/italian/errmsg.txt:
  for BUG#797
sql/share/japanese/errmsg.txt:
  for BUG#797
sql/share/korean/errmsg.txt:
  for BUG#797
sql/share/norwegian-ny/errmsg.txt:
  for BUG#797
sql/share/norwegian/errmsg.txt:
  for BUG#797
sql/share/polish/errmsg.txt:
  for BUG#797
sql/share/portuguese/errmsg.txt:
  for BUG#797
sql/share/romanian/errmsg.txt:
  for BUG#797
sql/share/russian/errmsg.txt:
  for BUG#797
sql/share/slovak/errmsg.txt:
  for BUG#797
sql/share/spanish/errmsg.txt:
  for BUG#797
sql/share/swedish/errmsg.txt:
  for BUG#797
sql/share/ukrainian/errmsg.txt:
  for BUG#797
sql/sql_parse.cc:
  when in sql_parse in the slave thread we ignore the query because of replicate-do
  and replicate-ignore options, we return a specific error to the slave thread,
  so that it knows that the query has been ignored (which is different from a
  successful query).
  A small cleanup (test was done twice).
2003-07-08 15:50:57 +02:00
unknown
d0486f8abc typos fixed 2003-07-07 19:35:11 +02:00
unknown
c0d60e83a7 Merge bk-internal:/home/bk/mysql-4.0/
into serg.mylan:/usr/home/serg/Abk/mysql-4.0
2003-07-07 19:08:17 +02:00
unknown
a4c3f0d727 finally proper recursive descent for parsing expressions with MATCH ... AGAINST in add_ft_keys() 2003-07-07 19:02:58 +02:00
unknown
7ff9378a34 correct (finally) condition for MATCH >0, >=0 etc in add_ft_keys (SW#1647)
still no rec. descent
2003-07-07 16:45:19 +02:00
unknown
e639c5fec7 sql_delete.cc:
Fix bug: if a DELETE failed in a FOREIGN KEY error and it had already deleted some rows, then MySQL did not roll back the failed SQL statement, and also wrote it to the binlog


sql/sql_delete.cc:
  Fix bug: if a DELETE failed in a FOREIGN KEY error and it had already deleted some rows, then MySQL did not roll back the failed SQL statement, and also wrote it to the binlog
2003-07-07 16:39:53 +03:00
unknown
964c2fe083 Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/mysql_src/mysql-4.0


sql/mysql_priv.h:
  Auto merged
sql/slave.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
2003-07-06 18:01:39 +02:00
unknown
27601fc5ee WL#912 (more user control on relay logs):
FLUSH LOGS now rotates relay logs,
and a new variable max_relay_log_size.
Plus a very small bit of code cleaning.


libmysqld/lib_sql.cc:
  open_log has no default arguments anymore.
mysql-test/r/rpl_flush_log_loop.result:
  result update now that FLUSH LOGS rotates relay logs.
mysql-test/r/rpl_log.result:
  result update now that FLUSH LOGS rotates relay logs.
mysql-test/r/rpl_rotate_logs.result:
  result update now that max_binlog_size is 4096.
mysql-test/t/rpl_rotate_logs-master.opt:
  now max_binlog_size must be a multiple of 4096 (see change in mysqld.cc)
sql/log.cc:
  Got rid of default arguments of various MYSQL_LOG methods (the default arguments
  made code reading uneasy).
  Set max_size in ::init().
  New function set_max_size() to set max_size of a MYSQL_LOG on-the-fly.
  More DBUG info.
sql/mysql_priv.h:
  no defaults in open_log().
  New variables max_relay_log_size.
sql/mysqld.cc:
  New variable and option max_relay_log_size.
  max_binlog_size and max_relay_log_size are multiples of IO_SIZE.
  No more default arguments for log functions.
sql/set_var.cc:
  New variable max_relay_log_size.
  If it is 0, then max_binlog_size will apply to relay logs.
  When one of these variables is changed, fix_max_%log_size is called
  to update max_size of the binary and/or relay logs.
sql/slave.cc:
  New function rotate_relay_log().
sql/slave.h:
  New function rotate_relay_log().
sql/sql_class.h:
  New member max_size of MYSQL_LOG (for automatic rotation).
  New method set_max_size() for setting on-the-fly.
sql/sql_parse.cc:
  Flush the relay log in FLUSH LOGS.
2003-07-06 17:59:54 +02:00
unknown
57043e331c Merge sinisa@bk-internal.mysql.com:/home/bk/mysql-4.0
into sinisa.nasamreza.org:/mnt/work/mysql-4.0


sql/sql_parse.cc:
  Auto merged
2003-07-04 23:06:22 +03:00
unknown
778fec0c82 Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into narttu.mysql.fi:/my/mysql-4.0
2003-07-04 23:06:20 +03:00
unknown
40feb0c617 Merge bk-internal:/home/bk/mysql-4.0/
into serg.mylan:/usr/home/serg/Abk/mysql-4.0
2003-07-04 22:06:19 +02:00
unknown
4e61b75d8b Remove compiler warnings
Simple cleanup of previous pull


sql/item_strfunc.cc:
  Removed compiler warning
sql/sql_cache.cc:
  Indentation fix
sql/sql_handler.cc:
  Simple ptimization
sql/sql_parse.cc:
  Removed compiler warning
sql/log_event.h:
  Indentation fix
2003-07-04 23:06:19 +03:00
unknown
4e4ab26f53 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.r18.ru:/usr/home/ram/work/4.0
2003-07-05 01:06:18 +05:00
unknown
cdb44cd455 fixed bug #670 2003-07-04 16:06:17 -04:00
unknown
2848b0bed9 merge + order by (bug #515) temporary fix
properly fixed in 4.1
2003-07-04 14:42:57 +02:00
unknown
30341167c5 fix and test case for the bug #787: HANDLER without INDEX doesn't work with deleted rows
mysql-test/r/handler.result:
  test case for the bug #787: HANDLER without INDEX doesn't work with deleted rows
mysql-test/t/handler.test:
  test case for the bug #787: HANDLER without INDEX doesn't work with deleted rows
sql/sql_handler.cc:
  fix for the bug #787: HANDLER without INDEX doesn't work with deleted rows
2003-07-04 17:15:16 +05:00
unknown
b22a797631 Merge bk-internal:/home/bk/mysql-4.0/
into serg.mylan:/usr/home/serg/Abk/mysql-4.0


sql/sql_handler.cc:
  Auto merged
2003-07-04 12:55:46 +02:00
unknown
4b50f4f252 handler should be used with constant expressions only (or rand) 2003-07-04 12:55:25 +02:00
unknown
62be5b0f61 Fixed memory/lock leak from bug fix 2003-07-04 11:06:58 +03:00
unknown
fd29a5bc19 Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into narttu.mysql.fi:/my/mysql-4.0
2003-07-04 03:40:11 +03:00
unknown
2d5d754c8c Status query on killed mysql connection results in segmentation fault (Bug #738)
Added MAX_PASSWORD_LENGTH. This increased master-slave passwords to 32 bytes (Bug #766)
Fixed server crash on purge master logs or show master logs when binlog is off. (Bug #733)


client/mysql.cc:
  status query on killed mysql connection results in segmentation fault (Bug #738)
configure.in:
  Portability fix for Unixware
include/my_global.h:
  Removed wrong patch from previous changeset
sql/mysql_priv.h:
  Added MAX_PASSWORD_LENGTH. This increased master-slave passwords to 32 bytes
sql/slave.h:
  Optimized structure
sql/sql_repl.cc:
  Memory overrun safety fixes (not critical)
  Fixed server crash on purge master logs or show master logs when binlog is off. (Bug #733)
sql/sql_repl.h:
  Fixed to use right define
strings/strmake.c:
  Fixed comment
2003-07-04 03:18:15 +03:00
unknown
3ee7174fc1 Fix for bug #676
A security leak with SHOW TABLES/ TABLE STATUS FROM db ...
2003-07-03 23:41:07 +03:00
unknown
a29adff6b8 ha_innodb.cc:
Since the mysql interactive client or some other phase in communication cuts > 64 kB strings to very short, restrict the output of SHOW INNODB STATUS to at most 60 kB


sql/ha_innodb.cc:
  Since the mysql interactive client or some other phase in communication cuts > 64 kB strings to very short, restrict the output of SHOW INNODB STATUS to at most 60 kB
2003-07-03 22:48:13 +03:00
unknown
5dc1e4b98a Many files:
Remove potential starvation of a full log buffer flush: only flush up to the lsn which was the largest at the time when we requested the full log buffer flush
os0sync.h, os0sync.c:
  Fix a bug in os_event on Unix: even though we signaled the event, some threads could continue waiting if the event became nonsignaled quickly again; this made group commit less efficient than it should be


innobase/os/os0sync.c:
  Fix a bug in os_event on Unix: even though we signaled the event, some threads could continue waiting if the event became nonsignaled quickly again; this made group commit less efficient than it should be
innobase/include/os0sync.h:
  Fix a bug in os_event on Unix: even though we signaled the event, some threads could continue waiting if the event became nonsignaled quickly again; this made group commit less efficient than it should be
innobase/log/log0log.c:
  Remove potential starvation of a full log buffer flush: only flush up to the lsn which was the largest at the time when we requested the full log buffer flush
innobase/include/log0log.h:
  Remove potential starvation of a full log buffer flush: only flush up to the lsn which was the largest at the time when we requested the full log buffer flush
innobase/srv/srv0srv.c:
  Remove potential starvation of a full log buffer flush: only flush up to the lsn which was the largest at the time when we requested the full log buffer flush
innobase/row/row0mysql.c:
  Remove potential starvation of a full log buffer flush: only flush up to the lsn which was the largest at the time when we requested the full log buffer flush
innobase/trx/trx0trx.c:
  Remove potential starvation of a full log buffer flush: only flush up to the lsn which was the largest at the time when we requested the full log buffer flush
sql/ha_innodb.cc:
  Remove potential starvation of a full log buffer flush: only flush up to the lsn which was the largest at the time when we requested the full log buffer flush
innobase/btr/btr0btr.c:
  Remove potential starvation of a full log buffer flush: only flush up to the lsn which was the largest at the time when we requested the full log buffer flush
2003-07-03 21:25:55 +03:00
unknown
db5283b306 Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-4.0
into deer.(none):/home/hf/work/mysql-4.0.739
2003-07-03 23:25:54 +05:00
unknown
33c416f67e Fix for #739
check for negative count in RPAD added


mysql-test/r/func_str.result:
  Appropriate result
mysql-test/t/func_str.test:
  testcase added
sql/item_strfunc.cc:
  we return NULL if count < 0
2003-07-03 23:24:23 +05:00
unknown
1f0d470463 Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into narttu.mysql.fi:/my/mysql-4.0
2003-07-03 21:04:34 +03:00
unknown
25cd10cb87 Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into narttu.mysql.fi:/my/mysql-4.0
2003-07-03 19:23:29 +03:00
unknown
abe124e76b Fix for UNIXWARE 7
Remove unaligned warnings on Ia64 from client library when using --host
Fix for replication when using many file descriptors 


include/my_global.h:
  Fix for UNIXWARE 7
libmysql/libmysql.c:
  Portability fix (removes unaligned warnings on Ia64)
mysql-test/r/symlink.result:
  Updated results
sql/mini_client.cc:
  Ported connect timeout code from libmysql.c
2003-07-03 19:23:06 +03:00
unknown
8d7eb4a0e5 Proposed fix for #751
Fields in key_expr (mysql_ha_read) wasn't linked to tables.
Hmm. How did it work at all?


mysql-test/r/alias.result:
  It's better to delete table after the test
mysql-test/r/handler.result:
  appropriate result
mysql-test/t/alias.test:
  it's better to drop table after test
mysql-test/t/handler.test:
  test case for #751
sql/sql_handler.cc:
  fix_fields called
2003-07-03 20:57:51 +05:00
unknown
dc0fb6ea48 Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-4.0
into deer.(none):/home/hf/work/mysql-4.0
2003-07-03 19:02:11 +05:00
unknown
6805157498 Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-4.0
into deer.(none):/home/hf/work/mysql-4.0.717
2003-07-03 16:54:05 +05:00
unknown
c9dab0787c Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-4.0
into deer.(none):/home/hf/work/mysql-4.0.628


sql/item_strfunc.cc:
  Auto merged
2003-07-03 16:50:17 +05:00
unknown
a9df65e595 Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into narttu.mysql.fi:/my/mysql-4.0


mysql-test/r/innodb.result:
  Auto merged
mysql-test/t/innodb.test:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2003-07-03 11:56:30 +03:00
unknown
2373397e13 Cleaner implementation if INSERT ... SELECT with same tables
Tests cleanup (put drop database first in tests)


client/mysql.cc:
  Cleanup of code in last pull
include/config-win.h:
  Remove HAVE_CHSIZE on windows as it's not 64 bit clean
include/my_global.h:
  Portability fix
mysql-test/r/drop.result:
  Clean up results
mysql-test/r/flush.result:
  Clean up results
mysql-test/r/grant_cache.result:
  Clean up results
mysql-test/r/innodb.result:
  Clean up results
mysql-test/r/insert_select.result:
  Clean up results
mysql-test/r/merge.result:
  Clean up results
mysql-test/r/query_cache.result:
  Clean up results
mysql-test/t/drop.test:
  Clean up tests
mysql-test/t/flush.test:
  Clean up tests
mysql-test/t/grant_cache.test:
  Clean up tests
mysql-test/t/innodb.test:
  Clean up tests
mysql-test/t/insert_select.test:
  Added more tests
mysql-test/t/merge.test:
  Test of bug 515
mysql-test/t/query_cache.test:
  Clean up tests
mysql-test/t/symlink.test:
  Clean up tests
sql/mysql_priv.h:
  Cleaner implementation if INSERT ... SELECT with same tables
sql/sql_lex.h:
  Cleaner implementation if INSERT ... SELECT with same tables
sql/sql_list.h:
  Indentation cleanup
sql/sql_parse.cc:
  Cleaner implementation if INSERT ... SELECT with same tables
sql/sql_yacc.yy:
  Cleaner implementation if INSERT ... SELECT with same tables
2003-07-03 11:55:36 +03:00
unknown
d433fe5580 Proposed bugfix for #717
Current table is placed into read_tables set of the current join_tab->select
so get_mm_parts function thinks that current table's record is read and
tries to calculate WHERE condition with the fields of the record.
Result of these calculations is unpredictable.
Looks funny - outcome of the SELECT depends on the queries executed before.

Anyway i think we should have testcase on this part of the code.


mysql-test/r/sel000001.result:
  appropriate result added
mysql-test/t/sel000001.test:
  testcase added
sql/sql_select.cc:
  I think we should count current table out of read_tables set
2003-07-03 10:42:13 +05:00
unknown
e22a31f173 I committed the same changeset in my tree yesterday, but broke the tree since,
so I commit again in a fresh tree.
Fix for bug#763 (Relay_log_space too big by 4 bytes),
plus comments and DBUG_PRINT, and we don't start replication
if --bootstrap.


mysql-test/r/rpl_log.result:
  Result update
mysql-test/r/rpl_log_pos.result:
  Result update
sql/mysqld.cc:
  Don't start replication if in bootstrap mode (bootstrap isn't supposed to have
  several threads).
sql/slave.cc:
  Fix for bug 763 (Relay_log_space too big by 4 bytes).
  A DBUG_PRINT.
sql/sql_acl.cc:
  Replaced a return by DBUG_RETURN (happened to find this reading a debug log).
sql/sql_repl.cc:
  A comment.
2003-07-03 01:08:36 +02:00
unknown
c0eb448582 Added missing (char*) casts in bzero calls.
(Needed for platforms with the traditional bzero prototype.)
Fixes BUG#460.
2003-07-03 01:08:34 +02:00
unknown
cb151c2ab7 Merge bk-internal:/home/bk/mysql-4.0/
into serg.mylan:/usr/home/serg/Abk/mysql-4.0
2003-07-03 01:08:32 +02:00
unknown
34b4da78bc add comment for BUG 672 2003-07-02 19:08:31 -04:00
unknown
4872adb663 Merge bk-internal:/home/bk/mysql-4.0/
into serg.mylan:/usr/home/serg/Abk/mysql-4.0
2003-07-02 23:37:24 +02:00
unknown
8c113acf96 Merge eagle.mysql.r18.ru:/home/vva/work/mysql.orig/clear/mysql-4.0
into eagle.mysql.r18.ru:/home/vva/work/BUG_672/mysql-4.0


client/mysqlbinlog.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_repl.cc:
  Auto merged
2003-07-02 17:37:23 -04:00