Commit graph

7111 commits

Author SHA1 Message Date
unknown
5df8c7b0e2 ixed overflow bug in MyISAM and ISAM when using packed tables with a lot of fields and blobs
isam/open.c:
  Fixed overflow bug when using packed tables and blobs
isam/test_all.res:
  updated test results
myisam/mi_dynrec.c:
  pack_bits not needed here as we do it on open
myisam/mi_open.c:
  Fixed overflow bug when using packed tables and blobs
2003-08-28 12:27:35 +03:00
unknown
673922d365 Merge lgrimmer@build.mysql.com:/home/bk/mysql-4.0
into mysql.com:/space/my/mysql-4.0
2003-08-28 09:28:27 +02:00
unknown
572f2a0e20 Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into narttu.mysql.fi:/my/mysql-4.0
2003-08-28 06:13:44 +03:00
unknown
26bb50a19b Add detection of in_addr_t
Add pack_bits to pack_reclength for dynamic rows.  This solves buffer a possible buffer overflow on update.
(This will probably solve bug #563)
Fix test for available file descriptors in mysqltest
Fixed core dump bug in replication tests when running without transactional table support


acconfig.h:
  Add detection of in_addr_t
acinclude.m4:
  Add detection of in_addr_t
configure.in:
  Add detection of in_addr_t
extra/my_print_defaults.c:
  Cleanup
extra/resolveip.c:
  Add detection of in_addr_t
libmysql/dll.c:
  Fixed C++ commments
myisam/mi_dynrec.c:
  Add ASSERT if allocated record length is to small
myisam/mi_open.c:
  Add pack_bits to pack_reclength for dynamic rows.  This solves buffer a possible buffer overflow on update.
myisam/mi_test_all.sh:
  Added valgrind option to make it easier to verify tests
mysql-test/include/check_var_limit.inc:
  Fix test for available file descriptors
mysql-test/r/myisam.result:
  More tests
mysql-test/t/myisam.test:
  More tests
mysql-test/t/query_cache_merge.test:
  Fix test for available file descriptors
mysys/default.c:
  Cleanup
mysys/my_pthread.c:
  Remove C++ comments
sql/log.cc:
  Code cleanup
  Fixed core dump bug in replication tests when running without transactional table support.
2003-08-28 06:08:17 +03:00
unknown
aedee9d4b1 - replaced C++-style comments in .c file (Please try to avoid this, as
it breaks compilation on picky C compilers!)


fs/database.c:
   - replaced C++-style comments in .c file
2003-08-28 01:35:58 +02:00
unknown
235cb5ba37 btr0btr.c:
Fix bug: if the user created a prefix column key on a fixed length char column, then InnoDB claimed in CHECK TABLE that the table is corrupt
dict0dict.c:
  Fix bug 1151: if the user created a prefix column primary key on a fixed length char column, then InnoDB crashed in a simple SELECT


innobase/dict/dict0dict.c:
  Fix bug 1151: if the user created a prefix column primary key on a fixed length char column, then InnoDB crashed in a simple SELECT
innobase/btr/btr0btr.c:
  Fix bug: if the user created a prefix column key on a fixed length char column, then InnoDB claimed in CHECK TABLE that the table is corrupt
2003-08-28 02:00:46 +03:00
unknown
ad4fdb79cd Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into narttu.mysql.fi:/my/mysql-4.0
2003-08-27 22:13:26 +03:00
unknown
c637296cea Fixed unlikely stack bug when having a BIG expression of type 1+1-1+1-1... in certain combinations. Bug #871
sql-bench/limits/mysql.cfg:
  Updated limits
sql/item_cmpfunc.cc:
  Test for stack checking
sql/item_func.cc:
  Test for stack checking
2003-08-27 20:00:18 +03:00
unknown
9d64b924c9 Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into rhols221.adsl.netsonic.fi:/home/my/bk/mysql-4.0
2003-08-27 19:22:59 +03:00
unknown
d2f12f719f Updating translation for Spanish/Portuguese error messages files
sql/share/portuguese/errmsg.txt:
  Updating Translation
sql/share/spanish/errmsg.txt:
  Updating Translation
2003-08-27 12:22:42 -04:00
unknown
59de978b89 Added a warning to my_print_defaults if --verbose is given
and --defaults-file is a non-existing or non-regular file.
Bug#755


scripts/mysqld_safe.sh:
  Added a warning to my_print_defaults if --verbose is given
  and --defaults-file is a non-existing or non-regular file.
  
  Bug#755
2003-08-27 19:22:14 +03:00
unknown
9ed16ed13a - added missing file vio_priv.h to source distribution 2003-08-27 12:26:21 +02:00
unknown
b43a551e83 Add column names for metadata when running mysql with -T
Change metadata info so that that MIN() and code MAX() reports that they can return NULL. Bug #324


client/mysql.cc:
  Add column names for metadata when running with -T
mysql-test/r/show_check.result:
  test case for bug fix
mysql-test/t/show_check.test:
  test case for bug fix
sql/item_sum.cc:
  Change metadata info so that that MIN() and code MAX() reports that they can return NULL. Bug #324
sql/sql_load.cc:
  Removed not needed line
2003-08-27 10:26:03 +03:00
unknown
522a32203a Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into narttu.mysql.fi:/my/mysql-4.0
2003-08-27 02:52:27 +03:00
unknown
59806e1004 vio ssl structure renames (to get rid of ending _)
Added TCP/IP read/write timeout for windows
Check on windows if second server is started with same TCP/IP port


BitKeeper/deleted/.del-have_openssl_2.inc~8c9f1a45676b698f:
  Delete: mysql-test/include/have_openssl_2.inc
BitKeeper/deleted/.del-have_openssl_2.require~53bbdfc136fb514:
  Delete: mysql-test/r/have_openssl_2.require
BitKeeper/deleted/.del-openssl_2.test~f2dfa927f19d14f8:
  Delete: mysql-test/t/openssl_2.test
BitKeeper/etc/ignore:
  added libmysql/vio_priv.h libmysql_r/vio_priv.h
client/mysql.cc:
  vio ssl structure renames
include/violite.h:
  Cleanup violite.h interface (move things to vio_priv.h)
libmysql/Makefile.am:
  Use vio_priv.h
libmysql/Makefile.shared:
  Use vio_priv.h
libmysqld/lib_vio.c:
  Added timeout for windows
mysys/my_getopt.c:
  Indentaion cleanup
sql/item_cmpfunc.cc:
  Remove compiler warnings
sql/item_func.cc:
  Remove compiler warnings
sql/mini_client.cc:
  vio ssl structure renames
sql/mysqld.cc:
  Check on windows if second server is started with same TCP/IP port
sql/net_serv.cc:
  Add read/write timeouts for windows
sql/sql_acl.cc:
  vio ssl structure renames
sql/sql_show.cc:
  vio ssl structure renames
vio/vio.c:
  Added timeouts for windows
vio/viosocket.c:
  Added timeouts for windows
vio/viossl.c:
  Added timeouts for windows
  Cleaned up structure element names
vio/viosslfactories.c:
  Added timeouts for windows
  Cleaned up structure element names
2003-08-27 02:51:39 +03:00
unknown
d1be872edf do not try to "analyze" or "sort index" in the table that has no indexes or no records if --check-only-changed option is used.
It's because such a table is never marked as "analyzed" or "sorted", so --check-only-changed doesn't work
2003-08-27 00:58:42 +02:00
unknown
b52da698f1 Merge bk-internal:/home/bk/mysql-4.0/
into serg.mylan:/usr/home/serg/Abk/mysql-4.0


myisam/mi_check.c:
  Auto merged
2003-08-26 23:57:14 +02:00
unknown
cc7b3c8269 fix ANALYZE TBALE to never generate rec_per_key_part < 1, as it prevent the table from being marked as analyzed (and the value is meaningless anyway) 2003-08-26 23:52:15 +02:00
unknown
70631cff85 Fixed a very rarge memory overrun bug in the myisamlog program. 2003-08-26 22:02:58 +03:00
unknown
7a21caabab - Reverted a fix for bug#897, as it broke the installation on some
other operating systems - some implementations of "hostname" simply set
   the host name to "-f" instead of giving an error about an unkown option
2003-08-26 14:29:13 +02:00
unknown
2dacea3526 Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/mysql_src/mysql-4.0
2003-08-25 16:33:20 +02:00
unknown
e5b3d521f5 Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into narttu.mysql.fi:/my/mysql-4.0


sql/log_event.cc:
  Auto merged
2003-08-25 17:20:51 +03:00
unknown
3fdc38d4bb comments about mutexes in replication.
Don't start the SQL slave thread with SQL_BIG_SELECTS;
it's better to inhibate max_join_size instead.


sql/slave.cc:
  OPTION_BIG_SELECTS does more than ignoring max_join_size (talks to the optimiser),
  just ignore max_join_size.
sql/slave.h:
  comments
2003-08-25 16:20:21 +02:00
unknown
413b57e14c Better fix for myisamchk --sort-index on windows
Fixed deadlock bug when doing resize of key buffer while key buffer was in active use


myisam/mi_locking.c:
  Better fix for myisamchk --sort-index on windows
mysql-test/r/symlink.result:
  Update results
mysql-test/t/symlink.test:
  Update results
mysys/mf_keycache.c:
  Fixed deadlock bug when doing resize of key buffer while key buffer was in active use
sql/ha_myisam.cc:
  simple optimization
sql/sql_show.cc:
  Fixed theoretical buffer overrun
  Reset variable properly before calling update_create_info()
2003-08-25 17:19:44 +03:00
unknown
486495940c Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/mysql_src/mysql-4.0
2003-08-25 14:18:56 +02:00
unknown
c47ee56915 Clearer states in SHOW PROCESSLIST for replication threads.
For example the Binlog_dump thread (on the master) sometimes showed "Slave:".
And there were confusing messages where "binlog" was employed instead
of "relay log".


sql/log.cc:
  MYSQL_LOG::wait_for_update() is used by the binlog_dump and I/Oslave threads,
  and it updates thd->proc_info, so we need a bool to not show the same
  proc_info for 2 different things (previously we showed "Slave: etc" and that's
  bad for a binlog_dump thread).
sql/slave.cc:
  Clearer thd-proc_info for slave threads.
sql/sql_class.h:
  prototype change
sql/sql_repl.cc:
  clearer thd->proc_info for binlog_dump thread
2003-08-25 14:13:58 +02:00
unknown
e8007ae77b Update of VC++ project files (to remove link warnings)
Fix unlock error in myisamchk on windows when doing --sort-index
Use SetFilePointer instead of SetFilePointerEx


VC++Files/client/mysql.dsp:
  Update of project files
VC++Files/client/mysqladmin.dsp:
  Update of project files
VC++Files/client/mysqlclient.dsp:
  Update of project files
VC++Files/client/mysqldump.dsp:
  Update of project files
VC++Files/client/mysqlimport.dsp:
  Update of project files
VC++Files/client/mysqlshow.dsp:
  Update of project files
VC++Files/comp_err/comp_err.dsp:
  Update of project files
VC++Files/innobase/innobase.dsp:
  Update of project files
VC++Files/isamchk/isamchk.dsp:
  Update of project files
VC++Files/libmysql/libmysql.dsp:
  Update of project files
VC++Files/libmysqld/libmysqld.dsp:
  Update of project files
VC++Files/libmysqltest/myTest.dsp:
  Update of project files
VC++Files/my_print_defaults/my_print_defaults.dsp:
  Update of project files
VC++Files/myisamlog/myisamlog.dsp:
  Update of project files
VC++Files/mysql.dsw:
  Update of project files
VC++Files/mysqlbinlog/mysqlbinlog.dsp:
  Update of project files
VC++Files/mysqlcheck/mysqlcheck.dsp:
  Update of project files
VC++Files/mysqldemb/mysqldemb.dsp:
  Update of project files
VC++Files/mysqlmanager/MySqlManager.dsp:
  Update of project files
VC++Files/mysqlserver/mysqlserver.dsp:
  Update of project files
VC++Files/mysqlshutdown/mysqlshutdown.dsp:
  Update of project files
VC++Files/mysys/mysys.dsp:
  Update of project files
VC++Files/pack_isam/pack_isam.dsp:
  Update of project files
VC++Files/perror/perror.dsp:
  Update of project files
VC++Files/replace/replace.dsp:
  Update of project files
VC++Files/sql/mysqld.dsp:
  Update of project files
VC++Files/test1/test1.dsp:
  Update of project files
VC++Files/thr_test/thr_test.dsp:
  Update of project files
VC++Files/vio/vio.dsp:
  Update of project files
VC++Files/zlib/zlib.dsp:
  Update of project files
myisam/mi_check.c:
  Fix unlock error in myisamchk on windows when doing --sort-index
myisam/mi_locking.c:
  Fix unlock error in myisamchk on windows when doing --sort-index
myisam/myisamchk.c:
  New comment
mysys/my_chsize.c:
  Use SetFilePointer instead of SetFilePointerEx, as the first is more portable
sql/handler.cc:
  Fix compiler warning
sql/log_event.cc:
  Fix compiler warning
2003-08-25 14:27:32 +03:00
unknown
3a068e5724 os0file.c:
strerror() does not work in Windows


innobase/os/os0file.c:
  strerror() does not work in Windows
2003-08-24 03:44:16 +03:00
unknown
89e95d0c26 The slave threads MUST not care about max_join_size, we start them with
OPTION_BIG_SELECTS.


sql/slave.cc:
  The slave threads MUST not care about max_join_size.
  I can imagine the case of a slave where users can connect and do SELECTs, but
  DBA does not want them to issue crazy SELECTs, but he/she still wants replication
  to work.
  Before, this just printed a warning to the error log (not fatal) but that
  was still annoying.
2003-08-23 17:41:43 +02:00
unknown
9438655af9 Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/mysql_src/mysql-4.0
2003-08-23 16:54:22 +02:00
unknown
6e10224d71 * Fix for a potential bug:
when the SQL thread stops, set rli->inside_transaction to 0. This is needed if the user
later restarts replication from a completely different place where there are only autocommit
statements.
* Detect the case where the master died while flushing the binlog cache to the binlog
and stop with error. Cannot add a testcase for this in 4.0 (I tested it manually)
as the slave always runs with --skip-innodb.


sql/log_event.cc:
  Detect the case where the master died while flushing the binlog cache to the binlog:
  in that case, we have a BEGIN with no COMMIT/ROLLBACK in the relay log; we detect
  this with rli->inside_transaction in Rotate_log_event::exec_event() (which is the
  only right place to detect this, see comments). When we see it, we stop with error.
  In 4.1, I had put code in Start_log_event::exec_event(); I'll remove it next time
  I push in the 4.1 tree.
sql/slave.cc:
  * Use slave_print_error instead of sql_print_error, to put the info in SHOW SLAVE STATUS too.
  * Fix for a potential bug:
  when the SQL thread stops, set rli->inside_transaction to 0. This is not needed if
  replication later restarts from the same position; but this is needed if the user
  restarts replication from a completely different place where there are only autocommit
  statements (in that case, if we didn't set to 0, the position would never increment in SHOW
  SLAVE STATUS, even if queries are processed well).
2003-08-23 16:53:04 +02:00
unknown
2ad17fa6e0 Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into narttu.mysql.fi:/my/mysql-4.0


sql/mysql_priv.h:
  Auto merged
sql/sql_table.cc:
  Auto merged
2003-08-23 12:26:08 +03:00
unknown
af9b771a32 show symlinked directories in SHOW CREATE TABLE 2003-08-23 12:25:39 +03:00
unknown
2d2f576545 After merge fixes
mysql-test/r/func_test.result:
  Auto merged
mysql-test/r/grant.result:
  Auto merged
mysql-test/t/func_test.test:
  Auto merged
mysql-test/t/grant.test:
  Auto merged
sql/ha_innodb.cc:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2003-08-22 18:43:46 +03:00
unknown
11fbbe44ac grant.result, grant.test, sql_acl.cc:
Fix for a bug #878


sql/sql_acl.cc:
  Fix for a bug #878
mysql-test/t/grant.test:
  Fix for a bug #878
mysql-test/r/grant.result:
  Fix for a bug #878
2003-08-22 18:32:11 +03:00
unknown
e3563c7911 Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/mysql_src/mysql-4.0
2003-08-22 15:42:22 +02:00
unknown
fdfb10f2fb 2 minor edits, plus
fix for BUG#1113 "INSERT into non-trans table SELECT ; ROLLBACK" does not send warning"
and
fix for BUG#873 "In transaction, INSERT to non-trans table is written too early to binlog".
Now we don't always write the non-trans update immediately to the binlog;
if there is something in the binlog cache we write it to the binlog cache
(because the non-trans update could depend on a trans table which was modified
earlier in the transaction); then in case of ROLLBACK, we write the binlog
cache to the binlog, wrapped with BEGIN/ROLLBACK.
This guarantees that the slave does the same updates.
For ROLLBACK TO SAVEPOINT: when we execute a SAVEPOINT command we write it
to the binlog cache. At ROLLBACK TO SAVEPOINT, if some non-trans table was updated,
we write ROLLBACK TO SAVEPOINT to the binlog cache; when the transaction
terminates (COMMIT/ROLLBACK), the binlog cache will be flushed to the binlog
(because of the non-trans update) so we'll have SAVEPOINT and ROLLBACK TO
SAVEPOINT in the binlog.

Apart from this rare case of updates of mixed table types in transaction, the
usual way is still clear the binlog cache at ROLLBACK, or chop it at
ROLLBACK TO SAVEPOINT (meaning the SAVEPOINT command is also chopped, which
is fine).
Note that BUG#873 encompasses subbugs 1) and 2) of BUG#333 "3 binlogging bugs when doing INSERT with mixed InnoDB/MyISAM".


client/mysqldump.c:
  Minor edit: one CHANGE MASTER with 2 arguments instead of 2 CHANGE MASTER with one argument each.
mysql-test/r/rpl_loaddata.result:
  result update
mysql-test/t/rpl_loaddata.test:
  minor edit: simplifying the test.
sql/handler.cc:
  Fix for BUG#873. See comments in code, and the description of the changeset.
sql/log.cc:
  * Previously, if a query updated a non-transactional table we wrote it immediately
  to the real binlog. This causes a bug when the update is done inside a transaction
  and uses the content of an updated transactional table (because this makes
  a wrong order of queries in the binlog). So if the binlog cache is not empty,
  we write the query to the binlog cache; otherwise we can write it to the binlog.
  * Previously, when we flushed the binlog cache to the binlog, we wrapped it
  with BEGIN/COMMIT. Now it's also possible to wrap it with BEGIN/ROLLBACK, to handle
  transactions which update both transactional and non-transactional tables.
sql/log_event.cc:
  The slave thread can leave a transaction if COMMIT or if ROLLBACK.
sql/sql_class.h:
  prototype
sql/sql_insert.cc:
  Fix for BUG#1113:
  this was because the INSERT SELECT code did not set OPTION_STATUS_NO_TRANS_UPDATE.
sql/sql_parse.cc:
  Don't send ER_WARNING_NOT_COMPLETE_ROLLBACK if this is the SQL slave thread (see comments).
2003-08-22 15:39:24 +02:00
unknown
e3ceec7136 Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into narttu.mysql.fi:/my/mysql-4.0


client/mysqltest.c:
  Auto merged
sql/sql_load.cc:
  Auto merged
2003-08-22 04:08:16 +03:00
unknown
64393d7e24 Move test that uses many tables (in query_cache.test) to separate test so that we can get it 'skipped' instead of 'failed' on system where we can't open many files.
client/mysqltest.c:
  Fix that LET can be used with queries that return multiple columns
libmysql/errmsg.c:
  Extend socket name to 100 characters in error messages
libmysql/libmysql.c:
  Reset some variables to make ensure that we can call mysql_server_init()/mysql_server_end() many times
mysql-test/mysql-test-run.sh:
  Set open-files-limit to 1024
mysql-test/r/loaddata.result:
  Add test case for LOAD DATA bug report (was not a bug)
mysql-test/r/query_cache.result:
  Move test with many tables to separate test
mysql-test/r/select_safe.result:
  Make test repeatable
mysql-test/t/loaddata.test:
  Add test case for LOAD DATA bug report (was not a bug)
mysql-test/t/query_cache.test:
  Move test with many tables to separate test
mysql-test/t/select_safe.test:
  Make test repeatable
sql/field.cc:
  Portability fix for gcc 3.3
sql/mysqld.cc:
  Store in open_files_limit the true number of files we can open (if system supports it)
sql/sql_load.cc:
  Safety fix
2003-08-22 04:07:40 +03:00
unknown
ec4d0edf85 merged
extra/resolveip.c:
  Auto merged
sql/item.cc:
  Auto merged
2003-08-21 21:39:22 +02:00
unknown
b8de463ea1 Bug #1064: SHOW CREATE TABLE: avoid allocations for simple tables, old client compatibility
sql/item.h:
  fixups
sql/sql_show.cc:
  avoid allocations for simple tables
  old client compatibility
2003-08-21 21:14:02 +02:00
unknown
8b2bc4362c Merge bk-internal:/home/bk/mysql-3.23/
into serg.mylan:/usr/home/serg/Abk/mysql
2003-08-21 20:21:36 +02:00
unknown
87b1e4cec6 fix for SHOW CREATE TABLE to report corerct second field's length 2003-08-21 20:21:07 +02:00
unknown
11b6ebf193 Merge bk-internal:/home/bk/mysql-4.0/
into serg.mylan:/usr/home/serg/Abk/mysql-4.0
2003-08-21 20:15:42 +02:00
unknown
c7614597ab crash BUG#1116 fixed 2003-08-21 20:13:26 +02:00
unknown
77a688766f - added missing option "--without-embedded" to be able to compile without
the embedded server (it was missing in the previous push)
2003-08-21 12:15:22 +02:00
unknown
943233632e Merge bk-internal:/home/bk/mysql-4.0/
into serg.mylan:/usr/home/serg/Abk/mysql-4.0
2003-08-21 10:45:43 +02:00
unknown
c7f517b53f sorted 2003-08-21 10:44:17 +02:00
unknown
fd9b177564 Yesterday I removed process_io_create_file; I shouldn't have.
Let's say the lack of comments did not help me ;)
Copying it back again and adding comments; now 3.23->4.0
replication of LOAD DATA INFILE works again.


sql/slave.cc:
  Enabling again process_io_create_file
2003-08-21 10:24:37 +02:00
unknown
eb1fb90006 Result updates after Dmitri's and my changes to logging with --log-slave-updates.
Since my changes, rpl_log.test, whose result file depends on file_id, became
non-repeatable, i.e. file_id on slave in SHOW BINLOG EVENTS
changed depending on the order of tests (sometimes 1, sometimes 5).
Which is logical: as now the slave does not copy Create_file and Exec_load from
the relay log (i.e from the master's binlog) to the slave's binlog, but
instead lets mysql_load() do the logging, the file_id is now the one whic
was used on the slave. Before it was the one which was used on the master,
and by chance the master was always restarted for this test because there's
a -master.opt file, so file_id on the master is always 1. But now file_id is
from the slave so we need to restart the slave. That's why I add an (empty)
-slave.opt file. I could have used 'server_stop/start slave', but this
would have required the manager, so most of the time mysql-test-run silently
skip the test which makes it useless. And I want this test to be run !


mysql-test/r/rpl_loaddata.result:
  Orig_log_pos is like Pos since Dmitri's good change for BUG#1086
mysql-test/r/rpl_log.result:
  Orig_log_pos is like Pos now, because Exec_load events are not directly copied
  by the slave from the relay log to the slave's binary log (these events
  are written by mysql_load() now).
mysql-test/t/rpl_log.test:
  A comment
2003-08-21 00:23:39 +02:00