Commit graph

21535 commits

Author SHA1 Message Date
unknown
ae49659711 Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-4.1
into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-4.1-bug9678
2006-10-13 14:44:21 +04:00
unknown
39b42b762b Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-4.0
into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-4.1-bug9678


BitKeeper/deleted/.del-lib_vio.c~d779731a1e391220:
  Use local.
include/violite.h:
  Use local.
sql/net_serv.cc:
  Use local.
vio/viosocket.c:
  Use local.
2006-10-13 14:26:28 +04:00
unknown
be831d7306 Optimize restarts by using --force-restart option 2006-10-13 11:53:19 +02:00
unknown
851e6fe44e Use 'my_strnncoll_simple' instead of 'strncasecmp' 2006-10-13 11:38:32 +02:00
unknown
b35617cdba Improve the function that parses test files looking for what features it uses
Now also detects "source nnnn;" command, previous version only detected
"--source"
2006-10-13 11:05:46 +02:00
unknown
a4c972bcf7 Improve function that finds the reason why test was skipped, the old version only looked at the ast line, but there might be some additional debug info there so it's better to scan the whole file.
There should be only one line that says "reason: <reason>"
2006-10-13 10:41:40 +02:00
unknown
e3516186d5 Add missing semicolon in test file
mysql-test/r/csv.result:
  Update result after add of missing semicolon
2006-10-13 08:48:47 +02:00
unknown
7a9085c68b Skip looking for ndbapi-examples in 4.1, not part of dist 2006-10-12 20:52:53 +02:00
unknown
23e9415055 Add ATTRIBUTE_FORMAT specifier to _db_doprnt, which is used by DBUG_PRINT
This will hopefully avoiid annoying crashes when running with --debug
Fix warnings  from the above in mysqltest.c


client/mysqltest.c:
  Fix format specifier warnings in mysqltest.c
include/my_dbug.h:
  Add ATTRIBUTE_FORMAT specifier to _db_doprnt, which is used by DBUG_PRINT
  This will hopefully avoiid annoying crashes when running with --debug
2006-10-12 20:15:56 +02:00
unknown
f371303eaf Merge bk-internal:/home/bk/mysql-4.1-maint
into  shellback.(none):/home/msvensson/mysql/mysql-4.1-maint
2006-10-12 18:48:03 +02:00
unknown
e203f0e578 Add missing semicolon 2006-10-12 16:17:09 +02:00
unknown
855c4e063d ndb - bug#23210
Fix race-condition between COPY_GCIREQ (GCP) and lcpSetActiveStatusEnd
  Solution is _not_ to copy sysfileData from COPY_GCIREQ from "self"


ndb/src/kernel/blocks/ERROR_codes.txt:
  Add error insert for dealying of copy sysfileData
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
  1) Add error insert for delaying of sysfileData
  2) Change to that master is _not_ copying sysfileData from COPY_GCIREQ
     as it might be updating it while COPY_GCIREQ is "in the fly"
2006-10-12 14:02:48 +02:00
unknown
7405e7792d Move the reconnect variable to beginning of function
Fix warning about value from "*ptr++" not being used. Changed it to ptr++
2006-10-12 13:50:50 +02:00
unknown
8461716962 Add win paths for mysql_client_test 2006-10-12 13:49:12 +02:00
unknown
1bb09d53ad Look for mysql_client_test in $path_client_bindir 2006-10-12 12:19:23 +02:00
unknown
72a997c0ea Merge polly.local:/tmp/maint/bug22728/my41-bug22728
into  polly.local:/home/kaa/src/maint/m41-maint--07OGk


sql/handler.cc:
  Auto merged
mysql-test/r/innodb_mysql.result:
  Manually merged
mysql-test/t/innodb_mysql.test:
  Manually merged
2006-10-12 13:39:52 +04:00
unknown
00f420db13 Fix unhandled exception in mysql-test-run.pl, creating a dir that already exist
mysql-test/lib/mtr_process.pl:
  Remove junk code/comments
  Moved the creation of var/log out of function mtr_kill_leftovers
mysql-test/mysql-test-run.pl:
  Rename 'kill_running_server' to more appropriate name 'kill_running_servers'
  If no var/log dir exists when mtr_kill_leftovers is started it should be created
  Remove "unless" syntax, too perlish
  Fix typo
2006-10-12 11:29:13 +02:00
unknown
1f837a5c76 Only print cur_file->filename if cur_file->file is set
MOve DBUG_ASSERT(result_file_name) to after DBUG_ENTER
Change type of "reconnect" variable from int to my_bool, reconnect didn't work on Solaris without that
2006-10-12 10:49:59 +02:00
unknown
6cbc74a706 Add DBUG_ASSERT to check that mysql is not null when mysql_reconnect is called
Add DBUG_PRINT to show the value of mysql->reconnect
2006-10-12 10:27:44 +02:00
unknown
403cc15508 Merge bk-internal.mysql.com:/home/bk/mysql-4.1-engines
into  chilla.local:/home/mydev/mysql-4.1-bug8283-one


include/my_sys.h:
  Auto merged
2006-10-11 22:28:06 +02:00
unknown
d6d4692372 Fixes for embedded server test
client/mysqltest.c:
  Fix typo
2006-10-11 21:53:43 +02:00
unknown
31754c57bd BUG#22562 - REPAIR TABLE .. USE_FRM causes server crash on Windows and server
hangs on Linux

If REPAIR TABLE ... USE_FRM is issued for table that is located in different
than default database server crash could happen.

In reopen_name_locked_table take database name from table_list (user specified
or default database) instead of from thd (default database).

Affects 4.1 only.


mysql-test/r/repair.result:
  A test case for BUG#22562.
mysql-test/t/repair.test:
  A test case for BUG#22562.
sql/sql_base.cc:
  In reopen_name_locked_table take database name from table_list (user specified
  or default database) instead of from thd (default database).
2006-10-11 20:34:20 +05:00
unknown
f29fb0415e Merge bk-internal.mysql.com:/home/bk/mysql-4.1-maint
into  polly.local:/home/kaa/src/maint/m41-maint--07OGk
2006-10-11 19:28:46 +04:00
unknown
6c0ad74127 mtr_im_stop returns 1 if all is well 2006-10-11 15:45:35 +02:00
unknown
89924c5874 Merge bk-internal.mysql.com:/home/bk/mysql-4.1-maint
into  polly.local:/home/kaa/src/maint/m41-maint--07OGk


sql/item_timefunc.cc:
  Auto merged
2006-10-11 17:19:19 +04:00
unknown
a008137880 Improve restart logic all code to detect restart is now in the functions
'run_testcase_need_master/slave_restart'
Remove the faulty qw
Only look for mysql_fix_privilege_tables if not windows


mysql-test/lib/mtr_cases.pl:
  Move all code to determine when to restart into 'run_testcase_need_master/slave_restart' 
  Add possibility to wite --force-restart in -master.opt file, this will force a restart and
  since master is not started with any special options there is no need to restart
  again afterwards.
mysql-test/mysql-test-run.pl:
  Remove the qw surrounding ENV{'LD_LIBRARY_PATH'}
  Only look for the sh script mysql_fix_privileges when not on windows
  Remove warnings about using unitialized variables
  Improve the restart logic, eall code to determine when to restart is
  now in run_testcase_need_master_restart and run_testcase_need_slave_restart
mysql-test/t/bdb-alter-table-2-master.opt:
  Use --force-restart
mysql-test/t/not_embedded_server-master.opt:
  Use --force-restart
2006-10-11 14:50:19 +02:00
unknown
e129548155 Merge perch.ndb.mysql.com:/home/jonas/src/mysql-4.1
into  perch.ndb.mysql.com:/home/jonas/src/mysql-4.1-ndb
2006-10-11 14:15:57 +02:00
unknown
536fe1fafa Merge perch.ndb.mysql.com:/home/jonas/src/41-work
into  perch.ndb.mysql.com:/home/jonas/src/mysql-4.1-ndb
2006-10-11 14:13:53 +02:00
unknown
175209d249 Merge ahristov@bk-internal.mysql.com:/home/bk/mysql-4.1-maint
into  example.com:/work/bug23074/my41-bug23074
2006-10-11 13:58:31 +02:00
unknown
18b91b023d Cset exclude: Kristofer.Pettersson@naruto.|ChangeSet|20060922092201|15946
sql/item_timefunc.cc:
  Exclude
2006-10-11 13:42:48 +02:00
unknown
5f513c5d83 Merge bk-internal:/home/bk/mysql-4.1-maint
into  neptunus.(none):/home/msvensson/mysql/mysql-4.1-maint
2006-10-11 13:39:00 +02:00
unknown
5623f2e9a6 Merge bk-internal.mysql.com:/home/bk/mysql-4.1-maint
into  polly.local:/home/kaa/src/maint/m41-maint--07OGk


sql/item_timefunc.cc:
  Auto merged
2006-10-11 14:57:09 +04:00
unknown
3baf203483 Merge polly.local:/tmp/maint/bug11655/my41-bug11655
into  polly.local:/home/kaa/src/maint/m41-maint--07OGk


sql/field.cc:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
mysql-test/r/func_time.result:
  Manually merged
mysql-test/t/func_time.test:
  Manually merged
2006-10-11 14:55:23 +04:00
unknown
ddc5ae3801 Bug#12240 - Rows Examined in Slow Log showing incorrect number?
Examined rows are counted for every join part. The per-join-part
counter was incremented over all iterations. The result variable
was replaced at the end of every iteration. The final result was
the number of examined rows by the join part that ended its
execution as the last one. The numbers of other join parts was
lost.

Now we reset the per-join-part counter before every iteration and
add it to the result variable at the end of the iteration. That
way we get the sum of all iterations of all join parts.

No test case. Testing this needs a look into the slow query log.
I don't know of a way to do this portably with the test suite.


sql/sql_select.cc:
  Bug#12240 - Rows Examined in Slow Log showing incorrect number?
  Fixed reseting and accumulation of examined rows counts.
2006-10-11 12:24:59 +02:00
unknown
3caef95e64 Fix some bad code in mysqltest.c which cause segfault
client/mysqltest.c:
  Remove vsnprintf() and DBUG_PRINT from die() function, as it's not portable to Windows, and it's not allowed to
  call vsnprintf() and then vfprintf() with the same args.
  Can't just print the buffer here, because the buffer is a fixed size.
  If the message is longer than will fit int he buffer, it would get
  truncated on Unix, and the full thing would be printed on Windows.
  This DBUG_PRINT isn't important enough for this hassle, so just get rid
  of it.
2006-10-11 11:21:44 +02:00
unknown
a4a319cf0c Fix a typo regarding checking whether HA_VAR_LENGTH_KEY is
set. This has always worked because when flag is !=0 then
HA_VAR_LENGTH_KEY is always set. Therefore, a test case cannot
reveal a faulty behavior.

Fix for bug#23074: typo in myisam/sort.c


myisam/sort.c:
  fix typo. Nevertheless, it has worked as expected
  because when a bit in flag is set HA_VAR_LENGTH_KEY has
  been always set too. Actually, no problem exposed through
  DDL.
2006-10-11 11:07:25 +02:00
unknown
ca126a2bbd Fix for bug #22728 "Handler_rollback value is growing".
The bug is present only in 4.1, will be null-merged to 5.0

For InnoDB, check value of thd->transaction.all.innodb_active_trans instead of thd->transaction.stmt.innobase_tid to see if we really need to rollback.


mysql-test/r/innodb_mysql.result:
  Added testcase for bug #22728 "Handler_rollback value is growing"
mysql-test/t/innodb_mysql.test:
  Added testcase for bug #22728 "Handler_rollback value is growing"
sql/handler.cc:
  For InnoDB, check value of thd->transaction.all.innodb_active_trans instead of thd->transaction.stmt.innobase_tid to see if we really need to rollback.
2006-10-11 12:44:03 +04:00
unknown
fedfd803ef Merge naruto.:C:/cpp/bug21811/my41-bug21811
into  naruto.:C:/cpp/mysql-4.1-maint


sql/item_timefunc.cc:
  Auto merged
2006-10-11 10:27:28 +02:00
unknown
1ba54cad96 Merge bk-internal:/home/bk/mysql-4.1-rpl
into  neptunus.(none):/home/msvensson/mysql/mysql-4.1
2006-10-11 10:12:59 +02:00
unknown
caa1d80231 Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-4.1-rpl
into  mysql.com:/usr/home/bar/mysql-4.1-rpl.b22052
2006-10-11 12:51:09 +05:00
unknown
aa788dce98 Merge mysql.com:/home/bkroot/mysql-4.1-rpl
into  mysql.com:/home/bk/MERGE/mysql-4.1-merge
2006-10-10 21:58:24 +02:00
unknown
c3627cdbe4 Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-4.1-runtime
into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-4.1-bug21354


mysql-test/r/ps.result:
  Manual merge.
mysql-test/t/ps.test:
  Manual merge.
2006-10-10 18:14:06 +04:00
unknown
3177e8ebc4 BUG#21354: (COUNT(*) = 1) not working in SELECT inside prepared
statement.

The problem was that during statement re-execution if the result was
empty the old result could be returned for group functions.

The solution is to implement proper cleanup() method in group
functions.


mysql-test/r/ps.result:
  Add result for bug#21354: (COUNT(*) = 1) not working in SELECT inside
  prepared statement.
mysql-test/t/func_gconcat.test:
  Add a comment that the test case is from bug#836.
mysql-test/t/ps.test:
  Add test case for bug#21354: (COUNT(*) = 1) not working in SELECT inside
  prepared statement.
sql/item_sum.cc:
  Call clear() in Item_sum_count::cleanup().
sql/item_sum.h:
  Add comments.
  Add proper cleanup() methods.
  Change Item_sum::no_rows_in_result() to call clear() instead of reset(),
  as the latter also issues add(), and there is nothing to add when there
  are no rows in result.
2006-10-10 17:08:47 +04:00
unknown
57efa768e9 Merge bk-internal.mysql.com:/home/bk/mysql-4.1-maint
into  zippy.cornsilk.net:/home/cmiller/work/mysql/bug17583/my41-bug17583


client/mysql.cc:
  Auto merged
2006-10-09 18:53:17 -04:00
unknown
76b353d307 Bug#17583: mysql drops connection when stdout is not writable
When the client program had its stdout file descriptor closed by the calling
shell, after some amount of work (enough to fill a socket buffer) the server 
would complain about a packet error and then disconnect the client.

This is a serious security problem.  If stdout is closed before the mysql is
exec()d, then the first socket() call allocates file number 1 to communicate
with the server.  Subsequent write()s to that file number (as when printing
results that come back from the database) go back to the server instead in 
the command channel.  So, one should be able to craft data which, upon being
selected back from the server to the client, and injected into the command
stream become valid MySQL protocol to do something nasty when sent /back/ to 
the server.

The solution is to close explicitly the file descriptor that we *printf() to, 
so that the libc layer and the OS layer both agree that the file is closed.


BitKeeper/etc/collapsed:
  BitKeeper file /home/cmiller/work/mysql/bug17583/my41-bug17583/BitKeeper/etc/collapsed
client/mysql.cc:
  If standard output is not open (specifically, if dup() of its file number 
  fails) then we explicitly close it so that future uses of the file descriptor
  behave correctly for a closed file.
mysql-test/r/mysql_client.result:
  Prove that the problem of writing SQL output to the command socket no longer
  exists.
mysql-test/t/mysql_client.test:
  Prove that the problem of writing SQL output to the command socket no longer
  exists.
2006-10-09 18:28:06 -04:00
unknown
679b5848f3 Merge chilla.local:/home/mydev/mysql-4.1-bug8283
into  chilla.local:/home/mydev/mysql-4.1-bug8283-one


myisam/mi_check.c:
  Auto merged
myisam/mi_packrec.c:
  Auto merged
myisam/sort.c:
  Auto merged
mysql-test/r/myisam.result:
  Bug#8283 - OPTIMIZE TABLE causes data loss
  Manual merge
mysql-test/t/myisam.test:
  Bug#8283 - OPTIMIZE TABLE causes data loss
  Manual merge
2006-10-09 19:40:16 +02:00
unknown
3109da7719 Bug#8283 - OPTIMIZE TABLE causes data loss
OPTIMIZE TABLE with myisam_repair_threads > 1 performs a non-quick 
parallel repair. This means that it does not only rebuild all 
indexes, but also the data file.

Non-quick parallel repair works so that there is one thread per 
index. The first of the threads rebuilds also the new data file.

The problem was that all threads shared the read io cache on the
old data file. If there were holes (deleted records) in the table,
the first thread skipped them, writing only contiguous, non-deleted
records to the new data file. Then it built the new index so that
its entries pointed to the correct record positions. But the other
threads didn't know the new record positions, but put the positions
from the old data file into the index.

The new design is so that there is a shared io cache which is filled
by the first thread (the data file writer) with the new contiguous
records and read by the other threads. Now they know the new record
positions.

Another problem was that for the parallel repair of compressed
tables a common bit_buff and rec_buff was used. I changed it so
that thread specific buffers are used for parallel repair.

A similar problem existed for checksum calculation. I made this
multi-thread safe too.


include/my_sys.h:
  Bug#8283 - OPTIMIZE TABLE causes data loss
  Redesign of io_cache_share.
include/myisam.h:
  Bug#8283 - OPTIMIZE TABLE causes data loss
  Redesign of checksum calculation in mi_check.c.
  'calc_checksum' is now in myisamdef.h:st_mi_sort_param.
myisam/mi_check.c:
  Bug#8283 - OPTIMIZE TABLE causes data loss
  Implemented a new parallel repair design.
  Using a synchronized shared read/write cache.
  Allowed for thread specific bit_buff, rec_buff, and calc_checksum.
myisam/mi_open.c:
  Bug#8283 - OPTIMIZE TABLE causes data loss
  Added DBUG output.
myisam/mi_packrec.c:
  Bug#8283 - OPTIMIZE TABLE causes data loss
  Allowed for thread specific bit_buff and rec_buff.
myisam/myisamdef.h:
  Bug#8283 - OPTIMIZE TABLE causes data loss
  Commented on checksum calculation variables.
  Allowed for thread specific bit_buff.
  Added DBUG output for better table crash detection.
myisam/sort.c:
  Bug#8283 - OPTIMIZE TABLE causes data loss
  Added implications of the new parallel repair design.
  Renamed 'info' -> 'sort_param'.
  Added DBUG output.
mysql-test/r/myisam.result:
  Bug#8283 - OPTIMIZE TABLE causes data loss
  Added test results.
mysql-test/t/myisam.test:
  Bug#8283 - OPTIMIZE TABLE causes data loss
  Added test cases.
mysys/mf_iocache.c:
  Bug#8283 - OPTIMIZE TABLE causes data loss
  Redesign of io_cache_share.
  We do now allow a writer to synchronize himself with the
  readers of a shared cache. When all threads join in the lock,
  the writer copies the data from his write buffer to the shared
  read buffer.
2006-10-09 19:26:55 +02:00
unknown
eab94fd0ba Print names of testcases that failed check_testcase, this makes it easier
to run the whole testcase to find wich testcases need to be checked more carefully
and the just "copy and paste" the suspicious test case names to 
a new mysql-test-run.pl command. 


mysql-test/mysql-test-run.pl:
  Mark test cases that fails "check_testcase"
  Make run_check_testcase return  value indicating if check failed
mysql-test/include/check-testcase.test:
  New BitKeeper file ``mysql-test/include/check-testcase.test''
2006-10-08 17:48:01 +02:00
unknown
ddf7e2a5f0 Do the check of special mysqld exe for master or slave after command line args have been parsed 2006-10-08 17:08:24 +02:00
unknown
127e401185 Move list of mysqls src dirs into lib/mtr_gcov.pl as it's only used from there 2006-10-08 17:05:17 +02:00