Commit graph

66799 commits

Author SHA1 Message Date
Michael Widenius
3bc932ec17 Merge with 5.1 2012-03-28 13:49:07 +03:00
Michael Widenius
74b0649332 Fixed lp:944422 "mysql_upgrade destroys Maria tables?"
The issue was that check/optimize/anaylze did not zerofill the table before they started to work on it.
Added one more element to not often used function handler::auto_repair() to allow handler to decide when to auto repair.


mysql-test/suite/maria/r/maria-autozerofill.result:
  Test case for lp:944422
mysql-test/suite/maria/t/maria-autozerofill.test:
  Test case for lp:944422
sql/ha_partition.cc:
  Added argument to auto_repair()
sql/ha_partition.h:
  Added argument to auto_repair()
sql/handler.h:
  Added argument to auto_repair()
sql/table.cc:
  Let auto_repair() decide which errors to trigger auto-repair
storage/archive/ha_archive.h:
  Added argument to auto_repair()
storage/csv/ha_tina.h:
  Added argument to auto_repair()
storage/maria/ha_maria.cc:
  Give better error & warning messages for auto-repaired tables.
storage/maria/ha_maria.h:
  Added argument to auto_repair()
  Always auto-repair in case of moved table.
storage/maria/ma_open.c:
  Remove special handling of HA_ERR_OLD_FILE (this is now handled in auto_repair())
storage/myisam/ha_myisam.h:
  Added argument to auto_repair()
2012-03-28 13:22:21 +03:00
Sergei Golubchik
c88e2679c6 merge 2012-03-21 18:30:34 +01:00
Sergei Golubchik
d1f3117999 lp:933959 Assertion `0' failed in net_end_statement(THD*) on concurrent SELECT FROM I_S.INNODB_SYS_INDEXES and ALTER TABLE
Workaround: report a generic error if an I_S plugin failed silently.
2012-03-21 18:22:02 +01:00
Vladislav Vaintroub
eb30253d69 Fix access to uninitialized variable in innodb error message in case WriteFile() fails. 2012-03-15 15:06:06 +01:00
Sergei Golubchik
44ea4e7c1f restore my_safe_printf_stderr for "crash-safe sigsegv handler"
use vsnprintf()
use write() on windows, not WriteFile or fwrite()
localtime_r is still a problem
2012-03-14 21:16:24 +01:00
unknown
e638e60589 test suite for LP bug#694450 2012-03-14 12:09:03 +02:00
Vladislav Vaintroub
32d45425e9 merge 2012-03-12 12:15:55 +01:00
Vladislav Vaintroub
3886fdf009 LP952607: Do not show MySQL services preinstalled by Dell in the upgrade wizard 2012-03-12 12:14:04 +01:00
Vladislav Vaintroub
8245178f5d LP953714: Fix formatting of the crash messages in signal/exception handler 2012-03-12 11:31:40 +01:00
Igor Babaev
8c08349882 Fixed LP bug #930814.
This bug was introduced into mariadb 5.2 in the December 2010 with
the patch that added a new engine property: the ability to support
virtual columns.    
As a result of this bug the information from frm files for tables 
that contained virtual columns did not appear in the information schema
tables.
2012-03-09 15:37:16 -08:00
Michael Widenius
028523e94d Added test case for lp:905782 "Assertion `pageno < ((1ULL) << 40)' failed at ma_pagecache.c:3438: pagecache_read or table corruption on INSERT into a ucs2 table"
The orignal bug has been fixed earlier
2012-03-09 14:28:02 +02:00
unknown
ea736c9375 Added ucs2 test moved from maria3.test. (MDEV-167) 2012-03-09 14:06:17 +02:00
Igor Babaev
af7213d5d4 Fixed LP bug #884175.
If in the where clause of the a query some comparison conditions on the
field under a MIN/MAX aggregate function contained constants whose sizes
exceeded the size of the field then the query could return a wrong result
when the optimizer had chosen to apply the MIN/MAX optimization.
With such conditions the MIN/MAX optimization still could be applied, yet
it would require a more thorough analysis of the keys built to find
the value of MIN/MAX aggregate functions with index look-ups.   
The current patch just prohibits using the MIN/MAX optimization in this
situation.
2012-03-08 22:33:01 -08:00
Vladislav Vaintroub
026161370f merge 2012-03-06 01:48:38 +01:00
Vladislav Vaintroub
be8cd3e8df LP947631: Uninstall wipes HeidiSQL settings, even if HeidiSQL is installed prior to MariaDB
Fixed detection of installed HeidiSQL in the machine, prevent installing own copy if HeidiSQL is already installed.

On deinstallation, do not remove settings if official HeidiSQL is detected.
2012-03-06 01:46:32 +01:00
unknown
bb4b0c1a44 Return original checksum value inside the test.
Move ucs2 test in separate file (MDEV-167).
2012-03-01 09:27:42 +02:00
Michael Widenius
adf3deda88 Automatic merge 2012-02-28 13:50:30 +02:00
Michael Widenius
cf06b29f60 Fixed lp:905716 "Assertion `page->size <= share->max_index_block_size'"
The issue was that Aria allowed too long keys to be created (so that the internal buffer was not big enough to hold the whole key).
Key lengths is now limited to HA_MAX_KEY_LENGTH (1000), as for MyISAM.
Fixed failure in  "_ma_apply_redo_index: Assertion `new_page_length == 0", as found by buildbot.

mysql-test/suite/maria/r/maria.result:
  Updated results
mysql-test/suite/maria/r/maria3.result:
  Updated results. Added test for bug fix
mysql-test/suite/maria/t/maria3.test:
  Updated results. Added test for bug fix
mysql-test/suite/maria/t/optimize.test:
  Updated test for new max key length
storage/maria/ha_maria.cc:
  Limit key to HA_MAX_KEY_LENGTH.
storage/maria/ma_key_recover.c:
  Limit used page length to max page size (this is in line with the code that writes the entry to the log).
  This fixes failure in  "_ma_apply_redo_index: Assertion `new_page_length == 0", as found by buildbot.
storage/maria/ma_search.c:
  Extra DBUG
storage/maria/ma_write.c:
  Added test to detect errors earlier.
2012-02-28 13:39:02 +02:00
Igor Babaev
5db67c721a Fixed LP bug #939866.
The field key_cache_mem_size of the KEY_CACHE structure must be
initialized in the function init_key_cache() and updated in the
function resize_key_cache().
2012-02-25 17:10:07 -08:00
unknown
6a72fbe396 Fix of LP bug:938518 (also LP bug:791761 and LP bug:806955)
Cause of the bug is uninitialized items before evaluation HAVING clasue in case of empty result.
2012-02-25 09:03:06 +02:00
Michael Widenius
0919edf32d Automatic merge 2012-02-24 17:21:44 +02:00
Michael Widenius
60aad31422 Fix for lp:909635: MariaDB crashes on a select with long varchar and blob fields
Problem was a crash in internal temporary (Maria) files when row length exceeded 65535

mysql-test/suite/maria/r/maria3.result:
  Added test case
mysql-test/suite/maria/t/maria3.test:
  Added test case
storage/maria/ma_open.c:
  Added support for row length > 65535.
  This fixes crash when using tables with longer row lengths.
2012-02-24 17:01:47 +02:00
Igor Babaev
e0a5319db3 Back-ported the fix and test cases for bugs #59487 and #43368 from
the mysql-5.6 code line.
2012-02-22 00:10:39 -08:00
Michael Widenius
86eebf33e3 Automatic merge with 5.1 2012-02-21 17:48:15 +02:00
Michael Widenius
70e6f0d854 Fixed suppression expression. 2012-02-21 14:17:33 +02:00
Michael Widenius
3608ec3036 Fixed wrong test case
mysql-test/suite/innodb_plugin/t/innodb_gis.test:
  Don't run test if innodb_plugin isn't used.
2012-02-21 09:35:46 +02:00
Michael Widenius
bebf3d1d8b Merge with 5.1 2012-02-21 01:55:12 +02:00
Michael Widenius
8d7e105f16 Automatic merge 2012-02-21 01:51:55 +02:00
Michael Widenius
d7283f54fe Automatic merge 2012-02-21 01:49:14 +02:00
Michael Widenius
f4885c092e Added missing signal values to signal_handler.cc
sql/signal_handler.cc:
  Added missing signal values.
2012-02-21 01:46:51 +02:00
Michael Widenius
7ed4806b11 More general handling of memory loss in dlclose (backported from 5.2)
Fixed supression in mysql-test-run so it also works on windows.

mysql-test/mysql-test-run.pl:
  Fixed supression so it also works on windows.
mysql-test/valgrind.supp:
  More general handling of memory loss in dlclose (backported from 5.2)
sql/signal_handler.cc:
  Added newlines around link to how to do bug reports
2012-02-21 01:44:50 +02:00
Vladislav Vaintroub
df8befc08c merge 2012-02-20 18:46:22 +01:00
Vladislav Vaintroub
e7fef1df58 Fix compilation on Windows, and various Windows related mistakes introduced by
"safe exception patch".
Remove misleading comments suggesting about signal() Windows, the routine here
is part of a exception handler, and sig parameter is an exception code.
2012-02-20 18:07:38 +01:00
Michael Widenius
522b289607 Merge with 5.1 2012-02-20 17:58:00 +02:00
Michael Widenius
54cad2aae3 Fixed compiler warnings 2012-02-20 17:56:47 +02:00
Michael Widenius
038b739c98 Merge with MariaDB 5.1 and MySQL 5.1.61 2012-02-20 17:49:21 +02:00
Michael Widenius
ae07ec6cbf Merge with MYSQL 5.1.61
Fixed README with link to source
Merged InnoDB change to XtraDB

README:
  Added information of where to find MariaDB code
storage/archive/ha_archive.cc:
  Removed memset() of rows, a MariaDB checksum's doesn't touch not used data.
2012-02-20 16:23:18 +02:00
Michael Widenius
3c07d04580 Fixed lp:902654 "MariaDB consistently crashes in collect_tables on Aria checkpoint execution"
This happend when you have more than 1024 open Aria tables during checkpoint.


mysql-test/mysql-test-run.pl:
  Fixed that variable names are consistent between external and internal server.
mysql-test/suite/maria/suite.pm:
  Test for aria-block-size instead of 'aria' as 'aria' is not set for embedded server.
  This should be ok for aria tests, as aria is never disabled for these.
storage/maria/ma_checkpoint.c:
  Fixed bug when there are more than 1024 open Aria tables during checkpoint.
2012-02-20 14:03:44 +02:00
Igor Babaev
c563ea0717 Fixed LP bug #933117.
The bug was fixed with the code back-ported from the patch for LP bug 800184
pushed into mariadb-5.3.
2012-02-16 16:06:49 -08:00
Vladislav Vaintroub
0c265a5eb8 Use newly released HeidiSQL 7.0 in the MSI installer 2012-02-12 23:02:56 +01:00
Vladislav Vaintroub
0c568a99df merge 2012-02-11 16:42:46 +01:00
Vladislav Vaintroub
e777a6cc57 merge 2012-02-11 15:05:07 +01:00
Vladislav Vaintroub
e2cb03c980 Fix for MDEV-140, LPBug#930145 - broken SSL connectivity for some connectors 2012-02-11 14:57:44 +01:00
Vladislav Vaintroub
b3e15f8389 A recent change in the server protocol code broke SSL connection for some client libraries.
Protocol documentation (http://forge.mysql.com/wiki/MySQL_Internals_ClientServer_Protocol)
says that initial packet sent by client if client wants SSL, consists of client capability flags only
(4 bytes or 2 bytes edependent on protocol versionl). 
Some clients happen to send more in the initial SSL packet (C client, Python connector), while others (Java, .NET) follow the docs and send only client capability flags.

A change that broke Java client was a newly introduced check that frst client packet
has 32 or more bytes. This is generally wrong, if client capability flags contains CLIENT_SSL.

Also, fixed the code such that read max client packet size and charset in the first packet prior to SSL handshake.  With SSL, clients do not have to send this info, they can only send client flags.

This is now fixed such that max packet size and charset are not read prior to SSL handshake, in case of SSL they are read from the "complete" client authentication packet after SSL initialization.
2012-02-11 03:25:49 +01:00
unknown
52d4103ccc Fixed DELETE issues of view over view over table. 2012-02-03 12:24:55 +02:00
unknown
b9616d815d Added 5.2 test result delimiter 2012-02-03 10:31:30 +02:00
unknown
d6e1377ac2 Fix check of view updatability in case of underlying view changes its updatability.
For single table update/insert added deep check of single tables (single_table_updatable()).
For multi-table view insert added additional check of target table (check_view_single_update).
Multi-update was correct.

Test suite for all cases added.
2012-02-03 10:28:23 +02:00
Sergei Golubchik
8fedf8ac75 mtr runs only "big" tests, if --big-test is repeated twice 2012-01-25 11:34:43 +01:00
Sergei Golubchik
81690cf326 MDEV-106 my_gethwaddr() does not compile on Solaris 11 2012-01-23 11:43:28 +01:00