1
0
mirror of https://github.com/MariaDB/server.git synced 2025-12-18 10:22:14 +03:00
Commit Graph

26074 Commits

Author SHA1 Message Date
Georgi Kodinov
1f2b5b3037 Bug #45386: Wrong query result with MIN function in field list,
WHERE and GROUP BY clause

Loose index scan may use range conditions on the argument of 
the MIN/MAX aggregate functions to find the beginning/end of 
the interval that satisfies the range conditions in a single go.
These range conditions may have open or closed minimum/maximum 
values. When the comparison returns 0 (equal) the code should 
check the type of the min/max values of the current interval 
and accept or reject the row based on whether the limit is 
open or not.
There was a wrong composite condition on checking this and it was
not working in all cases.
Fixed by simplifying the conditions and reversing the logic.
2009-06-12 15:38:55 +03:00
Satya B
2e8b439c8f Applying InnoDB snashot 5.1-ss5282, Add TestCase for BUG#40565
Merge the test case from 5.0 to 5.1 for BUG#40565

Detailed revision comments:

r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines
branches/5.1: Merge the test case from r5232 from branches/5.0:
  ------------------------------------------------------------------------
  r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines

  branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565
  (Update Query Results in "1 Row Affected" But Should Be "Zero Rows").

  Also, add a test case for Bug #40565.

  rb://128 approved by Heikki Tuuri
  ------------------------------------------------------------------------
2009-06-11 18:42:25 +05:30
Sergey Vojtovich
4581df7c7f Make innodb test suite pass with INNODB_PLUGIN. 2009-06-11 17:57:44 +05:00
inaam
99c57a5251 branches/zip rb://131
This patch changes the following defaults:

max_dirty_pages_pct: default from 90 to 75. max allowed from 100 to 99
additional_mem_pool_size: default from 1 to 8 MB
buffer_pool_size: default from 8 to 128 MB
log_buffer_size: default from 1 to 8 MB
read_io_threads/write_io_threads: default from 1 to 4

The log file sizes are untouched because of upgrade issues

Reviewed by: Heikki
2009-06-11 12:15:41 +00:00
Satya B
fedd37b5eb Remove the following tests and include files as they are already in
the mysql test suite.

Tests removed:
1. innodb_trx_weight.test
2. innodb_bug35220.test

Include files removed:
1. have_innodb.inc
2. ctype_innodb_like.inc
3. innodb_trx_weight.inc

Also add the missing opt file for the test innodb-use-sys-malloc.test
2009-06-11 16:50:53 +05:30
Satya B
635b4fe3d1 Add innodb plugin tests to a new mysql test suite 'innodb'.
Created a test suite 'innodb' under mysql-test/suite/innodb for the innodb plugin tests.
test suite 'innodb' has tests only which are not under any other mysql-test suites.

Total 14 testcases are added to the test suite.

Note: the patches in storage/innodb_plugin/mysql-test/patches are not applied yet
2009-06-10 19:21:20 +05:30
Martin Hansson
f7ae038230 Bug#44821: select distinct on partitioned table returns wrong results
Range analysis did not request sorted output from the storage engine,
which cause partitioned handlers to process one partition at a time
while reading key prefixes in ascending order, causing values to be 
missed. Fixed by always requesting sorted order during range analysis.
This fix is introduced in 6.0 by the fix for bug no 41136.
2009-06-10 11:56:00 +02:00
Vladislav Vaintroub
31b79618e3 Backport WL#3653 to 5.1 to enable bundled innodb plugin.
Remove custom DLL loader code from innodb plugin code, use 
symbols exported from mysqld.
2009-06-10 10:59:49 +02:00
Philip Stoev
f4cb42bca9 Bug #29971 status.test fails
This test uses SHOW STATUS and the like, which may be unstable in the face
of logging to table, since the CSV handler is actively executing operations
and thus incrementing the counters.

Fixed by disabling logging to table for the duration of the test and restoring
it afterwards. This causes various counters to properly start counting from zero
and never advance due to CSV operations.
2009-06-10 11:58:36 +03:00
Alexey Kopytov
08410f34dd Bug #45236: large blob inserts from mysqldump fail, possible
memory issue ? 
 
The mysql command line client could misinterpret some character 
sequences as commands under some circumstances. 
 
The upper limit for internal readline buffer was raised to 1 GB 
(the same as for server's max_allowed_packet) so that any input 
line is processed by add_line() as a whole rather than in 
chunks.
2009-06-10 11:24:47 +04:00
Davi Arnaut
799e9f9389 Define MASTER_MYSOCK for ndb tests.
Needed for substitution in some tests.
2009-06-09 19:32:32 -03:00
Matthias Leich
10df5ba520 Merge of latest changes into GCA tree, no conflicts 2009-06-09 21:05:31 +02:00
Davi Arnaut
20b938ec97 Remove assignments of the $MASTER_MYSOCK variable.
This variable is defined by default and one should not do it
directly as the socket variable is not available on Windows.
2009-06-09 13:09:16 -03:00
Matthias Leich
28d0eca847 Merge of fix for bug 44949 into GCA tree, no conflicts 2009-06-09 17:01:11 +02:00
Davi Arnaut
7a821d6682 Don't run funcs_1/myisam_views test case under valgrind, unless
the --big-test flag is supplied. Test is too resource intensive
under normal valgrind runs (takes more than 30min on powerful
hardware).
2009-06-09 11:36:14 -03:00
Davi Arnaut
edd9e2e7b8 Tag count_distinct3.test as a big test. 2009-06-08 20:03:01 -03:00
Davi Arnaut
2b5180b98b Test is very resource intensive under debug and valgrind runs.
Under a debug run, the trace file grows to a few gigabytes.
Under valgrind, takes more then 20 minutes due to the high
number of insert statements.
2009-06-08 19:18:31 -03:00
Davi Arnaut
8209a09ef6 Test is very resource intensive under debug and valgrind runs.
Under a debug run, the trace file grows to a few gigabytes.
Under valgrind, takes more then 20 minutes due to the high
number of insert statements.
2009-06-08 12:51:06 -03:00
Davi Arnaut
02a5dd38f3 Merge from 5.1 main. 2009-06-08 09:55:37 -03:00
Luis Soares
1d3daee450 BUG#42941: --database paramater to mysqlbinlog fails with RBR
mysqlbinlog --database parameter was being ignored when processing
row events. As such no event filtering would take place.
            
This patch addresses this by deploying a call to shall_skip_database
when table_map_events are handled (as these contain also the name of
the database). All other rows events referencing the table id for the
filtered map event, will also be skipped.
2009-06-07 23:28:08 +01:00
Gleb Shchepa
eecf06873e Bug #44886: SIGSEGV in test_if_skip_sort_order() -
uninitialized variable used as subscript

Grouping select from a "constant" InnoDB table (a table
of a single row) joined with other tables caused a crash.
2009-06-08 01:40:53 +05:00
Davi Arnaut
f3e8609960 Bug#44672: Assertion failed: thd->transaction.xid_state.xid.is_null()
The problem is that when a optimization of read-only transactions
(bypass 2-phase commit) was implemented, it removed the code that
reseted the XID once a transaction wasn't active anymore:

sql/sql_parse.cc:

-  bzero(&thd->transaction.stmt, sizeof(thd->transaction.stmt));
-  if (!thd->active_transaction())
-    thd->transaction.xid_state.xid.null();
+  thd->transaction.stmt.reset();

This mostly worked fine as the transaction commit and rollback
functions (in handler.cc) reset the XID once the transaction is
ended. But those functions wouldn't reset the XID in case of
a empty transaction, leading to a assertion when a new starting
a new XA transaction.

The solution is to ensure that the XID state is reset when empty
transactions are ended (by either commit or rollback). This is
achieved by reorganizing the code so that the transaction cleanup
routine is invoked whenever a transaction is ended.
2009-06-05 19:16:54 -03:00
Davi Arnaut
d5109c91a2 The valgrind suppression file (valgrind.supp) must be added to
a binary distribution of the server as the MTR valgrind option
relies on it to silence unmeaningful warnings.
2009-06-05 13:55:09 -03:00
Alexey Botchkov
e43df58ead Bug#43733 Select on processlist let the embedded server crash (concurrent_innodb_safelog)
the thread->mysys_var parameter should be empty for the idle
    embedded-server threads so that working threads can safely free
    this memory.

per-file comments:
  libmysqld/lib_sql.cc
Bug#43733      Select on processlist let the embedded server crash (concurrent_innodb_safelog)
    set thread->mysys_var= 0 after the query is handled

  mysql-test/include/concurrent.inc
Bug#43733      Select on processlist let the embedded server crash (concurrent_innodb_safelog)
    enable these for the embedded-server mode

  sql/sql_show.cc
Bug#43733      Select on processlist let the embedded server crash (concurrent_innodb_safelog)
    show thread lock status in the query result
2009-06-04 23:36:34 +05:00
Bernt M. Johnsen
f0ae92f471 Bug#15866 Split of main.sp and main.sp-fib. Merged from 5.0 gca 2009-06-04 16:13:16 +02:00
Bernt M. Johnsen
b0c815e214 Bug#15866 Split of main.sp and main.sp-fib. Merged from 5.1 gca 2009-06-04 16:10:18 +02:00
Bernt M. Johnsen
4d639b08ca Bug#15866 ported from 5.0-gca 2009-06-04 13:53:15 +02:00
Bernt M. Johnsen
5068840bd8 Bug#15866 main.sp-fib split from main.sp 2009-06-04 13:38:53 +02:00
Georgi Kodinov
8d1b2df635 merged 36995 to 5.1-bugteam 2009-06-04 13:26:18 +03:00
Georgi Kodinov
932c7a316c Bug #36995: valgrind error in remove_const during subquery executions
When copying the Item class one must copy its attributes as well.
2009-06-04 12:52:40 +03:00
Alexander Barkov
00792d3781 Bug#43827 Server closes connections and restarts
Problem:
  Crash happened with a user-defined utf8 collation,
  on attempt to insert a value longer than the column
  to store.
Reason:
  The "ctype" member was not initialized (NULL) when
  allocating a user-defined utf8 collation, so an attempt
  to call my_ctype(cs, *str) to check if we loose any important
  data when truncating the value made the server crash.
Fix:
  Initializing tge "ctype" member to a proper value.


mysql-test/r/ctype_ldml.result
  Adding tests

mysql-test/t/ctype_ldml.test
  Adding tests

strings/ctype-uca.c
  Adding initialization of "ctype" member.

modified:
  mysql-test/r/ctype_ldml.result
  mysql-test/t/ctype_ldml.test
  strings/ctype-uca.c
2009-06-04 14:35:29 +05:00
sunny
2db0bb1a06 branches/5.1: The version of the result file checked in was broken in r5243. 2009-06-04 06:16:24 +00:00
Sergey Glukhov
9379a4e0c0 5.0-bugteam->5.1-bugteam merge 2009-06-04 10:54:23 +05:00
Sergey Glukhov
1a1ffe7312 Bug#44798 MySQL engine crashes when creating stored procedures with execute_priv=N
The crash happens because of uninitialized
lex->ssl_cipher, lex->x509_subject, lex->x509_issuer variables.
The fix is to add initialization of these variables for
stored procedures&functions.
2009-06-04 10:28:45 +05:00
sunny
992a74f4d1 branches/5.1: When the InnoDB and MySQL data dictionaries go out of sync, before
the bug fix we would assert on missing autoinc columns. With this fix we allow
MySQL to open the table but set the next autoinc value for the column to the
MAX value. This effectively disables the next value generation. INSERTs will
fail with a generic AUTOINC failure. However, the user should be able to
read/dump the table, set the column values explicitly, use ALTER TABLE to
set the next autoinc value and/or sync the two data dictionaries to resume
normal operations.

Fix Bug#44030 Error: (1500) Couldn't read the MAX(ID) autoinc value from the
index (PRIMARY)

rb://118
2009-06-03 23:17:14 +00:00
Luis Soares
e6f15deb9c BUG#44270: RESET SLAVE does not reset Last_IO_Error or Last_IO_Errno
The server was not cleaning the last IO error and error number when
resetting slave.

This patch addresses this issue by backporting into 5.1 part of the
patch in BUG 34654. A fix for this issue had already been pushed into
6.0 as part of the aforementioned bug, however the patch also included
some refactoring. The fix for 5.1 does not take into account the
refactoring part.
2009-06-03 15:14:18 +01:00
marko
a4401ad069 branches/zip: Merge revisions 5148:5233 from branches/5.1:
------------------------------------------------------------------------
  r5150 | vasil | 2009-05-27 18:56:03 +0300 (Wed, 27 May 2009) | 4 lines

  branches/5.1:

  Whitespace fixup.
  ------------------------------------------------------------------------
  r5191 | vasil | 2009-05-30 17:46:05 +0300 (Sat, 30 May 2009) | 19 lines

  branches/5.1:

  Merge a change from MySQL (this fixes the failing innodb_mysql test):

    ------------------------------------------------------------
    revno: 1810.3894.10
    committer: Sergey Glukhov <Sergey.Glukhov@sun.com>
    branch nick: mysql-5.0-bugteam
    timestamp: Tue 2009-05-19 11:32:21 +0500
    message:
      Bug#39793 Foreign keys not constructed when column has a '#' in a comment or default value
      Internal InnoDN FK parser does not recognize '\'' as quotation symbol.
      Suggested fix is to add '\'' symbol check for quotation condition
      (dict_strip_comments() function).
    modified:
      innobase/dict/dict0dict.c
      mysql-test/r/innodb_mysql.result
      mysql-test/t/innodb_mysql.test
  ------------------------------------------------------------------------
  r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines

  branches/5.1: Merge the test case from r5232 from branches/5.0:
    ------------------------------------------------------------------------
    r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines

    branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565
    (Update Query Results in "1 Row Affected" But Should Be "Zero Rows").

    Also, add a test case for Bug #40565.

    rb://128 approved by Heikki Tuuri
    ------------------------------------------------------------------------
  ------------------------------------------------------------------------
2009-06-03 11:26:41 +00:00
marko
1a9e35d496 branches/5.1: Merge the test case from r5232 from branches/5.0:
------------------------------------------------------------------------
  r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines

  branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565
  (Update Query Results in "1 Row Affected" But Should Be "Zero Rows").

  Also, add a test case for Bug #40565.

  rb://128 approved by Heikki Tuuri
  ------------------------------------------------------------------------
2009-06-03 11:12:44 +00:00
Bjorn Munch
912f971849 Bug #45256 Enable 'auto' for mtr --parallel
Let the user specify 'auto' for parallel value
Also set --parallel=auto in default.push so we can get this tested.
2009-06-03 12:46:04 +02:00
Satya B
2fb243ea84 merge to 5.1-bugteam 2009-06-02 14:10:21 +05:30
Satya B
6999f40d75 merge to 5.1-bugteam tree 2009-06-02 13:44:41 +05:30
Bjorn Munch
5ce3d7a202 Bug #45190 mtr should report some statistics even if aborting after too many tests fail
Added calls to mtr_report_stats() also after timeout or too many failures
2009-06-02 10:00:45 +02:00
Sergey Glukhov
9800aa29e3 5.0-bugteam->5.1-bugteam merge 2009-06-02 12:00:37 +05:00
Sergey Glukhov
83ec6e0592 Bug#45152 crash with round() function on longtext column in a derived table
The crash happens due to wrong max_length value which is set on
Item_func_round::fix_length_and_dec() stage. The value is set to
args[0]->max_length which is too big in case of LONGTEXT(LONGBLOB) fields.
The fix is to set max_length using float_length() function.
2009-06-02 11:38:13 +05:00
Alexey Kopytov
00c5696391 Automerge. 2009-06-01 16:43:16 +04:00
Alexey Kopytov
8787989473 Automerge. 2009-06-01 16:42:24 +04:00
Alexey Kopytov
bdcce95f13 Manual merge. 2009-06-01 16:00:38 +04:00
He Zhenxing
83bc6db361 post fix of test result 2009-05-31 20:10:59 +08:00
He Zhenxing
6f84951044 Merge BUG#43263 from 5.0-bugteam to 5.1-bugteam 2009-05-31 13:44:41 +08:00
He Zhenxing
c0fde0eda7 BUG#43263 BEGIN skipped in some replicate-do-db cases
BEGIN/COMMIT/ROLLBACK was subject to replication db rules, and
caused the boundary of a transaction not recognized correctly 
when these queries were ignored by the rules.

Fixed the problem by skipping replication db rules for these
statements.
2009-05-31 11:26:58 +08:00