Commit graph

21401 commits

Author SHA1 Message Date
kaa@polly.local
737e13e526 Merge bk-internal.mysql.com:/home/bk/mysql-4.1-maint
into  polly.local:/home/kaa/src/maint/m41-maint--07OGk
2006-10-11 14:57:09 +04:00
kaa@polly.local
a050de9837 Merge polly.local:/tmp/maint/bug11655/my41-bug11655
into  polly.local:/home/kaa/src/maint/m41-maint--07OGk
2006-10-11 14:55:23 +04:00
istruewing@chilla.local
296d64dbc3 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.
2006-10-11 12:24:59 +02:00
msvensson@shellback.(none)
f807b6e893 Fix some bad code in mysqltest.c which cause segfault 2006-10-11 11:21:44 +02:00
andrey@example.com
a846909e6a 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
2006-10-11 11:07:25 +02:00
kaa@polly.local
456fe01d7e 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.
2006-10-11 12:44:03 +04:00
Kristofer.Pettersson@naruto.
79f1355b06 Merge naruto.:C:/cpp/bug21811/my41-bug21811
into  naruto.:C:/cpp/mysql-4.1-maint
2006-10-11 10:27:28 +02:00
msvensson@neptunus.(none)
5dded17489 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
lars@mysql.com/black.(none)
89b1b45b11 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
kroki/tomash@moonlight.intranet
9bbc9bb5de Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-4.1-runtime
into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-4.1-bug21354
2006-10-10 18:14:06 +04:00
kroki/tomash@moonlight.intranet
fbf6507cf7 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.
2006-10-10 17:08:47 +04:00
cmiller@zippy.cornsilk.net
0ab343a7dc Merge bk-internal.mysql.com:/home/bk/mysql-4.1-maint
into  zippy.cornsilk.net:/home/cmiller/work/mysql/bug17583/my41-bug17583
2006-10-09 18:53:17 -04:00
cmiller@zippy.cornsilk.net
4812d81eab 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.
2006-10-09 18:28:06 -04:00
istruewing@chilla.local
1daa6a710d Merge chilla.local:/home/mydev/mysql-4.1-bug8283
into  chilla.local:/home/mydev/mysql-4.1-bug8283-one
2006-10-09 19:40:16 +02:00
istruewing@chilla.local
5f08a83186 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.
2006-10-09 19:26:55 +02:00
msvensson@shellback.(none)
bf762c2d9e 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.
2006-10-08 17:48:01 +02:00
msvensson@shellback.(none)
55e6f74525 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
msvensson@shellback.(none)
ca611ed679 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
msvensson@shellback.(none)
8a84753acf vsnprintf is not available on win2003-x86 host, as this is just a debug functionality - disable it for now. 2006-10-08 16:19:23 +02:00
msvensson@shellback.(none)
b896bd0a6e When looking for client binary directories it necessary to look for the one s that are "deep down" first. 2006-10-08 16:11:55 +02:00
msvensson@shellback.(none)
5fa22794fd Reorder the order of feature checks a bit
Make the mysqld_variables hash global so it can be used throughout the program
2006-10-08 15:50:16 +02:00
svoj@may.pils.ru
b7f016dbd3 Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-4.1
into  may.pils.ru:/home/svoj/devel/bk/mysql-4.1-engines
2006-10-08 15:11:17 +05:00
msvensson@neptunus.(none)
6f3f15c7bb Fix spelling error 2006-10-07 20:16:57 +02:00
msvensson@neptunus.(none)
65d3205959 Init "saved_expected_errors" at program start, avoids crash where --error is first command
strcmp -> strncmp
2006-10-07 20:14:21 +02:00
msvensson@neptunus.(none)
dedea59a6c Add comment and remove strange assignment in 'do_exec' 2006-10-07 19:47:42 +02:00
msvensson@neptunus.(none)
804d2effa2 Improve sort algorithm for reorder, all test with smae name except for ending digit should be run after each other.
Example of that is ndb_autodiscover[1-3]
2006-10-07 19:11:37 +02:00
msvensson@neptunus.(none)
487e2506c0 Two implementations of "get_err_code_from_name", one use if mysqld_ername.h is available and oe if it's not
Declare "to_ptr" first in block
2006-10-07 19:09:40 +02:00
msvensson@neptunus.(none)
7ba1880369 Add error handling of failure to start server to "run_testcase_start_servers" 2006-10-06 17:15:26 +02:00
msvensson@neptunus.(none)
738ba624d3 Fix problem with specifying vardir, mysql_version_id was not yet available when vardir arguments is checked
Move the code to look for exe_mysqld earlier => to initial_setup
Fix warnings detected by running with "diagnostics"
Remove unused option "opt_result_ext"
Init "path_ndb_examples_dir"
2006-10-06 16:26:17 +02:00
jonas@perch.ndb.mysql.com
007311c6fd ndb - bug#22893
Add checking of REDO to earlier during SR
      so take-over of node can be performed
      if it can't be restarted using logs
      (which btw is really weird...as it _should_ be able to use logs of other node in node group)

  Otherwise cluster could be started and 1 fragment on one node could not have been restored
  Making the cluster inconsisten, VERY BAD
2006-10-06 16:05:46 +02:00
msvensson@neptunus.(none)
076526577a Merge neptunus.(none):/home/msvensson/mysql/same_tools/my41-same_tools
into  neptunus.(none):/home/msvensson/mysql/mysql-4.1-maint
2006-10-06 13:35:02 +02:00
msvensson@neptunus.(none)
d3bc5df837 Modify regex for parsing mysqld version as the mysqld is sometimes a libtool wrapper and
the "mysqld --version" command will print "/path/.libs/lt-mysqld  Ver x.x.x"
2006-10-06 13:33:12 +02:00
msvensson@neptunus.(none)
37be4fdff6 Merge neptunus.(none):/home/msvensson/mysql/same_tools/my41-same_tools
into  neptunus.(none):/home/msvensson/mysql/mysql-4.1-maint
2006-10-06 13:18:52 +02:00
msvensson@neptunus.(none)
9d5b871f16 Always need restart for im_* tests 2006-10-06 12:46:21 +02:00
svoj@mysql.com/april.(none)
09b2a2a056 Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/BUG22937/mysql-4.1-engines
2006-10-06 15:18:25 +05:00
svoj@mysql.com/april.(none)
1e82044cd6 BUG#22937 - Valgrind failure in 'merge' test (ha_myisammrg.cc:329)
This is addition to fix for bug21617. Valgrind reports an error when
opening merge table that has underlying tables with less indexes than
in a merge table itself.

Copy at most min(file->keys, table->key_parts) elements from rec_per_key array.
This fixes problems when merge table and subtables have different number of keys.
2006-10-06 15:17:42 +05:00
msvensson@neptunus.(none)
a0fd2ad5d4 Only print thesort order debug printout if using script-debug 2006-10-06 11:49:31 +02:00
svoj@mysql.com/april.(none)
6a1a765b5d Per discussion with pekka removed non-deterministic test case for bug#21381. 2006-10-06 14:47:58 +05:00
kroki/tomash@moonlight.intranet
ee0cebf9a7 BUG#21726: Incorrect result with multiple invocations of LAST_INSERT_ID.
Note: bug#21726 does not directly apply to 4.1, as it doesn't have stored
procedures.  However, 4.1 had some bugs that were fixed in 5.0 by the
patch for bug#21726, and this patch is a backport of those fixes.
Namely, in 4.1 it fixes:

  - LAST_INSERT_ID(expr) didn't return value of expr (4.1 specific).

  - LAST_INSERT_ID() could return the value generated by current
    statement if the call happens after the generation, like in

      CREATE TABLE t1 (i INT AUTO_INCREMENT PRIMARY KEY, j INT);
      INSERT INTO t1 VALUES (NULL, 0), (NULL, LAST_INSERT_ID());

  - Redundant binary log LAST_INSERT_ID_EVENTs could be generated.
2006-10-06 13:34:07 +04:00
msvensson@neptunus.(none)
22f1cc58c2 Improve 'run_testcase_need_master_restart' to require restart if master is not already started
Improve 'run_testcase_need_slave_restart' to detect if a slave restart really is necessary. 
So far all rpl test requires a slave restart, but for all other tests it can be skipped
Improve the sort order used by --reorder
2006-10-06 11:23:19 +02:00
svoj@mysql.com/april.(none)
c67aa031d6 Addition to fix for bug#10974. Fixed spelling. 2006-10-06 10:54:47 +05:00
msvensson@neptunus.(none)
f638be87cb Rename "snapshot_setup" to "datadir_setup" as that is what is done by it.
Move call f dunction into "initialize_servers" so it's called also
in stress and bench mode
2006-10-06 01:22:33 +02:00
msvensson@neptunus.(none)
ae4df31df4 Add printout of file in which warning was detected
Cleanup .progress, .reject, .log and .warnings files produced by mysqltest
2006-10-06 00:57:10 +02:00
msvensson@neptunus.(none)
15ffeaa093 Add target to Makefile which uses the much faster --mem switch to mysql-test-run.pl 2006-10-05 23:19:32 +02:00
msvensson@neptunus.(none)
babde331a4 Print the newly found version number in human readable format 2006-10-05 22:29:16 +02:00
msvensson@neptunus.(none)
76c63e716f Open input file with "<" not ">>" 2006-10-05 22:06:29 +02:00
msvensson@neptunus.(none)
02693c37d9 Add policy directive about keeping mysqltest framework tools identical in all versions 2006-10-05 22:05:42 +02:00
msvensson@neptunus.(none)
42e60f5e90 No need to pass --valgrind to mysqltest anymore, the simple task of
creating an environment variable is handled directly from the perl code.
2006-10-05 20:45:16 +02:00
msvensson@neptunus.(none)
c03c618dd8 Make use of $opt_mem" and let 4.1 allow --vardir to be set. Still relies on the var/ directory
but having it on tmpfs gives a big speedup.
2006-10-05 20:21:11 +02:00
msvensson@neptunus.(none)
ab862ca2dc Use same --slave-load-tmpdir in all versions(backport from 5.0) 2006-10-05 18:29:59 +02:00