Commit graph

6719 commits

Author SHA1 Message Date
unknown
16bb14180b Portability fixes for Redhat 9
acinclude.m4:
  Fixed problem with openssl on RedHat 9
vio/viosocket.c:
  Removed compiler warning
BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
2003-07-18 12:35:29 +03:00
unknown
42346bf9d1 Merge bk-internal:/home/bk/mysql-4.0/
into serg.mylan:/usr/home/serg/Abk/mysql-4.0
2003-07-18 10:39:43 +02:00
unknown
a2813df5ed Merge lgrimmer@build.mysql.com:/home/bk/mysql-4.0
into mysql.com:/space/my/mysql-4.0
2003-07-18 10:13:41 +02:00
unknown
995fe9f13a Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into narttu.mysql.fi:/my/mysql-4.0
2003-07-18 04:38:05 +03:00
unknown
a25c63ce74 Removed wrong "Found lock of type # that is write and read locked" warnings. 2003-07-18 04:37:37 +03:00
unknown
06517dfed3 Fixed memory overrun when doing REPAIR on table with multi-part auto_increment key where one part was a packed CHAR
myisam/mi_check.c:
  Fixed memory overrun in _mi_put_key_in_record
myisam/mi_key.c:
  Fixed unnecessary memory allocation
mysql-test/r/insert_select.result:
  Added test case for memory corruption
mysql-test/t/insert_select.test:
  Added test case for memory corruption
mysys/safemalloc.c:
  Removed compiler warnings
sql/sql_acl.cc:
  Fixed core dump when running with --debug
2003-07-18 04:04:24 +03:00
unknown
9942e0c7c6 my_strnncoll_latin1_de rewritten from scratch. Bug with overlapping combos went away.
mysql-test/r/ctype_latin1_de.result:
  testing overlapping combos
mysql-test/t/ctype_latin1_de.test:
  testing overlapping combos
2003-07-17 20:17:46 +02:00
unknown
a9da5a8d8c Merge mysql.com:/space/my/mysql-4.0
into mysql.com:/space/my/mysql-4.0-build
2003-07-17 00:21:57 +02:00
unknown
88534d0063 Merge eagle.mysql.r18.ru:/home/vva/work/mysql.orig/clear/mysql-4.0
into eagle.mysql.r18.ru:/home/vva/work/BUG_683/mysql-4.0
2003-07-16 18:21:56 -04:00
unknown
1793513891 fixed bug Bug #683 (Prompt for password doesn't go to console for Windows) 2003-07-16 18:15:35 -04:00
unknown
3ea4fb3812 - heavily reworked the comments and layout of the new sample my.cnf file
as requested by PeterZ


support-files/my-innodb-heavy-4G.cnf.sh:
   - heavily reworked the comments and layout as requested by PeterZ
2003-07-16 17:13:45 +02:00
unknown
dc4e41dcae - fixed the automatic generation of support-files/MacOSX/ReadMe.txt -
a node name was changed in manual.texi which resulted in a very large
   ReadMe.txt file, as the generating script could not find the (renamed)
   ending node. Fixed the ending node name in Docs/Makefile.am and the 
   Docs/Support/generate-text-files.pl Perl script to make sure this does
   not happen again (I only discovered this because the Do-pkg script was
   not able to add the ReadMe.txt to the Apple Disk image because it ran out
   of disk space due to the size of the file)


Docs/Makefile.am:
   - Fixed a node name that was changed in manual.texi and resulted in
     the generation of a _very_ large ReadMe.txt file (down to the very end
     of the manual, since the ending node was not found)
Docs/Support/generate-text-files.pl:
   - added a safeguard: if the ending node was not found, abort with an error
     to indicate that the generated text file might be too large (as it would
     contain the whole manual, down from the starting node)
   - made some cosmetical changes
2003-07-16 12:06:55 +02:00
unknown
47d9c95f9c Merge bk-internal:/home/bk/mysql-4.0/
into serg.mylan:/usr/home/serg/Abk/mysql-4.0


sql/handler.cc:
  Auto merged
2003-07-15 20:44:29 +02:00
unknown
b40895f9d2 bug #702 - ALTER TABLE tm UNION=(t1,t2) doesn't work if t1.MYD is compressed
myisammrg/myrg_open.c:
  never mark merge table as readonly even if all underlying myisam tables are readonly,
  otherwise ALTER TABLE merge UNION=(t1,t2,t3,...) will not work
sql/handler.cc:
  map EACCES to ER_OPEN_AS_READONLY.
  can only happen on modifying merge table that has (some) read-only myisam tables
2003-07-15 20:43:57 +02:00
unknown
b1646502dd - removed options sort_buffer and key_buffer from calls to (my)isamchk
in mysqld_safe (commented out by default), to not override any options
   defined in my.cnf (thanks to Axel Schwenke from Jobpilot.de for the
   suggestion)
2003-07-15 12:50:17 +02:00
unknown
6159cd27bf Portability fixes
acinclude.m4:
  Made test for compress more reliable (for Solaris)
sql/item_strfunc.cc:
  Portability fix (for Linux Alpha)
2003-07-15 13:10:20 +03:00
unknown
c36c37c339 merge
mysql-test/r/rpl_max_relay_size.result:
  Auto merged
2003-07-14 23:52:17 +03:00
unknown
e97b2766e1 Fixed wrong test in LOG::close
Fixed test for binary build


mysql-test/r/rpl_max_relay_size.result:
  Fixed test for binary build
mysql-test/t/rpl_max_relay_size.test:
  Fixed test for binary build
sql/log.cc:
  Fixed wrong test in close
2003-07-14 23:49:19 +03:00
unknown
45db29dbc2 Added missing --replace_result for ports in SHOW SLAVE STATUS.
mysql-test/r/rpl_max_relay_size.result:
  result update
mysql-test/t/rpl_max_relay_size.test:
  port-independent test
2003-07-14 22:02:26 +02:00
unknown
aa70f48264 errmsg.txt:
Correct a misleading error message about max row length


sql/share/english/errmsg.txt:
  Correct a misleading error message about max row length
2003-07-14 16:04:20 +03:00
unknown
66672ad185 ha_innodb.h:
Revert the previous patch: MySQL would not allow creation of VARCHAR columns whose total max length is > 8000 bytes, though InnoDB can easily store them as trailing spaces are removed


sql/ha_innodb.h:
  Revert the previous patch: MySQL would not allow creation of VARCHAR columns whose total max length is > 8000 bytes, though InnoDB can easily store them as trailing spaces are removed
2003-07-14 15:53:50 +03:00
unknown
666d4717cb ha_innodb.h:
Fix wrong error message: If one tried to create table with a very big row len, MySQL claimed the max len is 64 kB for InnoDB, while it normally is 8000 bytes


sql/ha_innodb.h:
  Fix wrong error message: If one tried to create table with a very big row len, MySQL claimed the max len is 64 kB for InnoDB, while it normally is 8000 bytes
2003-07-14 15:38:20 +03:00
unknown
128feded87 Better fix for bug #791: At binlog rotation, INSERTs may not find their way into the binlog
mysql-test/t/rpl_flush_log_loop.test:
  Add timer to avoid problem when 'flush logs' is executed before we have read all data from master
sql/log.cc:
  Better fix for bug #791:
  Mark log as LOG_TO_BE_OPENED instead of LOG_CLOSED when it's closed and opened.
sql/mysqld.cc:
  Better startup message
sql/slave.cc:
  Fix argument to close()
sql/sql_class.h:
  Better handling of log.close()
2003-07-14 14:59:26 +03:00
unknown
02808985dd Proposed bugfix for #712
Monty revoked any locks for temporary tables in
ha_myisam::external_lock()
But further code bans using write cache on nonlocked tables
this makes operations much slower


myisam/mi_locking.c:
  Handling of MI_TEMPORARY_TABLE lock
myisam/myisamdef.h:
  defining of MI_TEMPORARY_TABLE
sql/ha_myisam.cc:
  now we lock temporary tables using MI_TEMPORARY_TABLE lock
2003-07-14 12:40:58 +05:00
unknown
c4daa71614 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.r18.ru:/usr/home/ram/work/4.0
2003-07-14 12:40:13 +05:00
unknown
e45b9ab481 backport fix for the bug #803: INTERVAL(NULL, ....) 2003-07-14 12:39:10 +05:00
unknown
3611f70a25 Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into mashka.mysql.fi:/home/my/mysql-4.0
2003-07-14 10:18:04 +03:00
unknown
e1a3069603 Safety and speedup fixes:
Changed is_open() to work as before.
Added back inited argument to LOG


mysql-test/r/rpl_flush_log_loop.result:
  Fixed results (probably bug in previous rpatch)
sql/handler.cc:
  Changed is_open() to work as before
sql/item_func.cc:
  Changed is_open() to work as before
sql/log.cc:
  Part revert of previous patch.
  The reason for adding back 'inited' is that is that we can't be 100 % sure that init_pthread_objects() is called before mysqld dies (for example on windows)
  I removed mutex lock handling in is_open() as the new code didn't have ANY affect except beeing slower.
  Added back checking of is_open() to some functions as we don't want to do a mutex lock when we are not using logging.
  Indentation/comment fixes
sql/log_event.cc:
  Changed is_open() to work as before
sql/repl_failsafe.cc:
  Changed is_open() to work as before
sql/sql_base.cc:
  Changed is_open() to work as before
sql/sql_class.h:
  Changed is_open() to work as before. Added back 'inited' variable
sql/sql_db.cc:
  Changed is_open() to work as before
sql/sql_delete.cc:
  Changed is_open() to work as before
sql/sql_insert.cc:
  Changed is_open() to work as before
sql/sql_load.cc:
  Changed is_open() to work as before
sql/sql_parse.cc:
  Changed is_open() to work as before
sql/sql_rename.cc:
  Changed is_open() to work as before
sql/sql_repl.cc:
  Changed is_open() to work as before
sql/sql_table.cc:
  Changed is_open() to work as before
sql/sql_update.cc:
  Changed is_open() to work as before
2003-07-14 10:12:05 +03:00
unknown
c4381bb0c6 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.r18.ru:/usr/home/ram/work/4.0
2003-07-14 11:23:36 +05:00
unknown
d1b9076e51 srv0srv.c:
Put back a 50 millisecond sleep in too high concurrency situations which I removed in the previous push; count also such sleeping threads to the InnoDB queue in SHOW INNODB STATUS


innobase/srv/srv0srv.c:
  Put back a 50 millisecond sleep in too high concurrency situations which I removed in the previous push; count also such sleeping threads to the InnoDB queue in SHOW INNODB STATUS
2003-07-13 18:50:43 +03:00
unknown
706dc59f58 srv0srv.c:
Fix a benign bug introduced in 4.0.14: InnoDB could complain 'Error: trying to declare trx to enter InnoDB' if several threads tried to init the auto-inc counter for the same table at the same time; in theory, the bug could even lead to a hang of the server, but that shuld be extremely improbable


innobase/srv/srv0srv.c:
  Fix a benign bug introduced in 4.0.14: InnoDB could complain 'Error: trying to declare trx to enter InnoDB' if several threads tried to init the auto-inc counter for the same table at the same time; in theory, the bug could even lead to a hang of the server, but that shuld be extremely improbable
2003-07-13 17:18:06 +03:00
unknown
bc479783c4 srv0start.c, srv0srv.h, os0file.h, os0file.c:
Allow also O_DIRECT as innodb_flush_method; it only affects writing to data files


innobase/os/os0file.c:
  Allow also O_DIRECT as innodb_flush_method; it only affects writing to data files
innobase/include/os0file.h:
  Allow also O_DIRECT as innodb_flush_method; it only affects writing to data files
innobase/include/srv0srv.h:
  Allow also O_DIRECT as innodb_flush_method; it only affects writing to data files
innobase/srv/srv0start.c:
  Allow also O_DIRECT as innodb_flush_method; it only affects writing to data files
2003-07-13 00:17:02 +03:00
unknown
91eb7ce162 perror.c:
fix typo.


extra/perror.c:
  fix typo.
BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
2003-07-12 11:45:43 -05:00
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
351a03df7a Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/mysql_src/mysql-4.0
2003-07-12 15:25:08 +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
1c5773add4 - fixed an error in the rpl_error_ignored_table test suite: the master
port number can be different from 3306 when doing the release builds
   with Do-compile, therefore it has to be replaced with the correct
   value during the test run using the "--replace_result" function.


mysql-test/r/rpl_error_ignored_table.result:
   - replaced hard-coded master port number with MASTER_PORT variable, since
     the port number is different when running the test suite during the 
     release builds with "Do-compile".
mysql-test/t/rpl_error_ignored_table.test:
   - replaced hard-coded master port number with MASTER_PORT variable, since
     the port number is different when running the test suite during the 
     release builds with "Do-compile".
2003-07-11 22:18:53 +02:00
unknown
aa28da79c1 - fixed a typo in previous push
Build-tools/Bootstrap:
   - duh!
2003-07-11 19:32:29 +02:00
unknown
762b13468d - fixed a bug in Bootstrap script: simply searching for the last tagged
ChangeSet was not sufficient to get the full ChangeLog between two
   released versions (when using "--changelog=last") as merging between 
   trees also merges the BK tags. Now we explicitely search for the last
   tagged ChangeSet that matches our major+minor version number, which 
   should match the last ChangeSet used for the previous release.


Build-tools/Bootstrap:
   - fixed a bug: simply searching for the last tagged ChangeSet was not
     sufficient to get the full ChangeLog between two released versions
     (when using "--changelog=last") as merging between trees also merges
     the BK tags. Now we explicitely search for the last tagged ChangeSet
     that matches our major+minor version number, which should match the
     last ChangeSet used for the previous release.
2003-07-11 18:24:13 +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
1a45c83972 Fix for the bug #801: create table t1 select x'41'; doesn't work 2003-07-11 14:17:18 +05:00
unknown
3a894149a7 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.r18.ru:/usr/home/ram/work/4.0
2003-07-11 13:29:25 +05:00
unknown
f200fa15db Fix for BUG#812
"mysqlhotcopy fails to copy tables but does not indicate a failure"
("does not indicate a failure");
this is about "mysqlhotcopy fails to copy tables".


mysql-test/t/rpl_error_ignored_table-slave.opt:
  added a missing newline
scripts/mysqlhotcopy.sh:
  Fix for BUG#812.
  The problem was that with many tables to copy (10000 in the bug's example),
  the generated 'cp' command line was 1MB long, whereas (at least on my Linux) it
  should not exceed 128 kB. Testing the 'cp' in a shell terminal gives
  "arguments list too long".
  So we issue several small (100 kB) 'cp' command lines instead of a big one.
  Of course, this will still fail on systems where the limit is below 100 kB.
  We now have safe_system() which cuts the command line in pieces,
  and calls safe_simple_system() (execution) for each piece.
2003-07-10 16:03:29 +02:00
unknown
830e53c8b1 Fix for the bug #803.
Now INTERVAL(NULL, N1, N2, ...) returns NULL.
2003-07-10 15:27:02 +05:00
unknown
8a1a63de90 Merge mysql.com:/space/my/mysql-4.0
into mysql.com:/space/my/mysql-4.0-build
2003-07-09 15:51:57 +02:00
unknown
a71c2b3bb3 - enhanced the RPM spec file (use more RPM macros, cleanups, allow to
override CC/CXX when using a special compiler)
 - the RPM should now build on AMD64 and IA64, too


support-files/MySQL-shared-compat.spec.sh:
   - use %_libdir macro instead of hardcoded value (required on AMD64,
     where %_libdir is /usr/lib64 instead)
support-files/mysql.spec.sh:
   - removed the GIF Icon (file was not included in the sources anyway)
   - removed unused variable %shared_lib_version
   - do not run automake before building the standard binary
     (should not be necessary)
   - add server suffix '-standard' to standard binary (to be in line
     with the binary tarball distributions)
   - Use more RPM macros (_exec_prefix, _sbindir, _libdir, _sysconfdir,
     _datadir, _includedir) throughout the spec file (using _libdir was
     required to be used anyway to be able to build on AMD64).
   - allow overriding CC and CXX (required when building with other compilers)
2003-07-09 15:51:31 +02:00
unknown
08843dd197 Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into mashka.mysql.fi:/home/my/mysql-4.0
2003-07-09 00:57:38 +03: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
075fd01fba Merge lgrimmer@build.mysql.com:/home/bk/mysql-4.0
into mysql.com:/space/my/mysql-4.0
2003-07-08 23:31:10 +02:00