Commit graph

68191 commits

Author SHA1 Message Date
Michael Widenius
b653115c8e Fixed valgrind error when storing db_name_length in query_cache.
- Changed storage to be 2 bytes instead of sizeof(size_t) (simple optimization)
- Fixed bug when using query_cache_strip_comments and query that started with '('
- Fixed DBUG_PRINT() that used wrong (not initialized) variables.


mysql-test/mysql-test-run.pl:
  Added some space to make output more readable.
mysql-test/r/query_cache.result:
  Updated test results
mysql-test/t/query_cache.test:
  Added test with query_cache_strip_comments
sql/mysql_priv.h:
  Added QUERY_CACHE_DB_LENGTH_SIZE
sql/sql_cache.cc:
  Fixed bug when using query_cache_strip_comments and query that started with '('
  Store db length in 2 characters instead of size_t.
  Get db length from correct position (earlier we had an error when query started with ' ')
  Fixed DBUG_PRINT() that used wrong (not initialized) variables.
2011-12-13 14:00:20 +02:00
Igor Babaev
63d32c115d Fixed LP bug #901709.
The cause of the reported assertion failure was a division of a double value by 0.
2011-12-11 19:41:53 -08:00
Igor Babaev
9b4cd1b0ae Merge 2011-12-11 14:38:14 -08:00
Igor Babaev
fa29f18ffb Fixed LP bug #901478.
If the duplicate elimination strategy is used for a semi-join and potentially
one of the block-based join algorithms can be employed to join the inner
tables of the semi-join then sorting of the head (first non-constant) table
for a query with ORDER BY / GROUP BY cannot be used.
2011-12-11 12:56:06 -08:00
Igor Babaev
81d390ac86 Adjusted the results of pbxt.subselect after the latest merge 5.1->5.2->5.3. 2011-12-11 12:42:43 -08:00
Michael Widenius
24e452a208 Merge with 5.1 & fixes to IGNORE handling 2011-12-11 19:28:05 +02:00
Michael Widenius
1485874619 Rewrite IGNORE handling:
- Instead of supressing all errors, only suppress safe ones like:
ER_DUP_KEY, ER_BAD_NULL_ERROR, ER_SUBQUERY_NO_1_ROW, ER_ROW_IS_REFERENCED_2
2011-12-11 18:39:33 +02:00
Michael Widenius
6d4224a31c Merge with 5.2.
no_error handling for select (used by INSERT ... SELECT) still needs to be fixed, but I will do that in a separate commit
2011-12-11 11:34:44 +02:00
Igor Babaev
8a09adb3ea Fixed LP bug #901312.
The function setup_sj_materialization_part1() forgot to set the value
of TABLE::map for any materialized IN subquery. 
This could lead to wrong results for queries with subqueries that were
converted to queries with semijoins.
2011-12-09 14:30:50 -08:00
Alexey Botchkov
fc9d34cabf bug #901655 ST_BUFFER asserts with a coplicated shape.
Coinciding nodes can appear as a result of DOUBLE inaccuracy.
        We should test that before we start the loop.

        Also the spatial relations can be calculated faster if we check
        MBR relations first. And we do have the shape's MBR-s now.

per-file comments:
  sql/gcalc_slicescan.cc
        set_extent() method added.
bug #901655 ST_BUFFER asserts with a coplicated shape.
  sql/gcalc_slicescan.h
        set_extent() method declared.
bug #901655 ST_BUFFER asserts with a coplicated shape.
  sql/gcalc_tools.cc
bug #901655 ST_BUFFER asserts with a coplicated shape.
        checks for equal nodes added.
  sql/item_geofunc.cc
bug #901655 ST_BUFFER asserts with a coplicated shape.
        MBR for the shapes calculated, and MBR checks added before we
        start the heavy calculations.
  sql/spatial.h
bug #901655 ST_BUFFER asserts with a coplicated shape.
        MBR::buffer() method implemented.
2011-12-08 16:29:45 +04:00
Sergey Petrunya
ae480437ce Small semi-join optimization improvement:
- if we're considering FirstMatch access with one inner table, and 
  @@optimizer_switch has semijoin_with_cache flag, calculate costs
  as if we used join cache (because we will be able to do so)
2011-12-08 04:22:38 +04:00
Sergey Petrunya
8e96081764 Merge fix for BUG#868908 2011-12-08 02:47:54 +04:00
Sergey Petrunya
49ecc88069 BUG#901032: Wrong result for MIN/MAX on an indexed column with materialization and semijoin
- opt_sum_query() should not assume that join tables from sj-materialization
  have known numbers of rows.
2011-12-08 02:12:48 +04:00
Sergey Petrunya
cdd1197060 Remove garbage assignments causing failures on Windows 2011-12-07 23:15:57 +04:00
Sergey Petrunya
a1b4eadf89 BUG#868908: Crash in check_simple_equality() with semijoin + materialization + prepared statement
- Part2: safety and code cleanup
2011-12-07 19:21:51 +04:00
Igor Babaev
7414a0b6d6 Fixed LP bug #900469.
The execution plan cannot use sorting on the first table from the
sequence of the joined tables if it plans to employ the block-based
hash join algorithm.
2011-12-06 13:42:18 -08:00
Sergey Petrunya
8e25dcfcd7 BUG#868908: Crash in check_simple_equality() with semijoin + materialization + prepared statement
- Part 1 of the fix: for semi-join merged subqueries, calling child_join->optimize() until we're done with all
  PS-lifetime optimizations in the parent.
2011-12-07 01:03:00 +04:00
Igor Babaev
b4c9fa321d Fixed LP bug #899509.
The optimizer must ignore any possible hash join key when looking for the 
query execution plan with join_cache_level set to 0.
2011-12-06 02:46:42 -08:00
Igor Babaev
62e4c73ebb Merge 2011-12-05 18:52:50 -08:00
Igor Babaev
c28d7cbe70 Merge 2011-12-05 18:51:56 -08:00
Sergey Petrunya
136408b1cf Bug #899962: materialized subquery with join_cache_level=3
- Make create_tmp_table() set KEY_PART_INFO attributes for the keys it creates.
  This wasn't needed before but is needed now, when temp. tables that are 
  results of SJ-Materialization are being used for joins.
  This particular bug depended on HA_VAR_LENGTH_PART being set,
  but also added code to set HA_BLOB_PART and HA_NULL_PART when appropriate.
2011-12-06 01:04:27 +04:00
Igor Babaev
7d1f41265c Fixed LP bug #899777.
KEYUSE elements for a possible hash join key are not sorted by field
numbers of the second table T of the hash join operation. Besides
some of these KEYUSE elements cannot be used to build any key as their
key expressions depend on the tables that are planned to be accessed
after the table T. 
The code before the patch did not take this into account and, as a result,
execition of a query the employing block-based hash join algorithm could
cause a crash or return a wrong result set.
2011-12-05 09:50:24 -08:00
Sergey Petrunya
a85454def8 Update test result missed in the previous cset 2011-12-05 10:24:14 +04:00
Sergey Petrunya
255fd6c929 Make subquery Materialization, as well as semi-join Materialization be shown
in EXPLAIN as select_type==MATERIALIZED. 

Before, we had select_type==SUBQUERY and it was difficult to tell materialized
subqueries from uncorrelated scalar-context subqueries.
2011-12-05 01:31:42 +04:00
Igor Babaev
b5a05df61e Fixed LP bug #899696.
If has been decided that the first match strategy is to be used to join table T
from a semi-join nest while no buffer can be employed to join this table
then no join buffer can be used to join any table in the join sequence between
the first one belonging to the semi-join nest and table T.
2011-12-04 07:43:33 -08:00
Michael Widenius
3e2cb35e11 Added handler and temporary table usage to mytop
Fixed prompt on reconnect in mysql client

client/mysql.cc:
  Free server_version for reconnect.
  This ensures that prompt is correct if reconnecting to a different server.
scripts/mytop.sh:
  Added handler and temporary table usage
2011-12-03 23:06:16 +02:00
Michael Widenius
701c0f822a Merge with 5.1 2011-12-03 20:47:25 +02:00
Michael Widenius
ef841d4c87 Fixed buildbot warnings
mysql-test/suite/maria/t/compat_aliases-master.opt:
  Fixed wrong limit
storage/example/ha_example.cc:
  Fixed compiler warning
2011-12-03 20:44:54 +02:00
Michael Widenius
2e34f1828e Added suppressions
Fixed feedback_plugin_send to not generate a random number of lines.


mysql-test/t/feedback_plugin_send.test:
  Don't print more than 4 lines (sometimes there are 6 feedback lines in the log...)
mysql-test/valgrind.supp:
  Added suppression for failure on work
support-files/compiler_warnings.supp:
  Suppress warning from xtradb
2011-12-03 20:29:15 +02:00
Michael Widenius
c0311edfb9 Fixed some Aria limits to be more sane 2011-12-02 18:10:54 +02:00
Michael Widenius
90f877ccbd Merge 2011-12-02 17:32:56 +02:00
Michael Widenius
9d0ea0ab4b Fixed bug where automaticly zerofilled table was not part of recovery if crash happended before next checkpoint.
mysql-test/suite/maria/r/maria-autozerofill.result:
  Updated test case
storage/maria/ha_maria.cc:
  Write create_rename_lsn for auto_zerofilled tables.
storage/maria/ma_delete.c:
  Added DBUG_ASSERT() to find errors when deleting pages.
storage/maria/ma_locking.c:
  Fixed typo
storage/maria/ma_open.c:
  Don't regard file as movable if create_rename_lsn is not LSN_NEEDS_NEW_STATE_LSNS
2011-12-02 17:22:17 +02:00
Michael Widenius
921004e79d Added new file (for netware)
Added some file to ignore
2011-12-02 00:36:55 +02:00
Michael Widenius
55f0e6bf0c Fixes for netware by Guenter Knauf 2011-12-02 00:34:59 +02:00
Michael Widenius
ffab2a90dc Patch to get MariaDB to compile on CYGWIN; By Guenter Knauf
Increased number of locks in thr_lock (used only when testing)


include/my_global.h:
  Patch for CYGWIN
mysys/my_getsystime.c:
  Patch for CYGWIN
mysys/thr_lock.c:
  Increase number of locks for testing
2011-12-02 00:24:58 +02:00
Vladislav Vaintroub
1054de8699 Fix intermittently failing variables-notembedded test case.
After sending packet that is too large, clienrt can get either an error packet with 
ER_NET_PACKET_TOO_LARGE, or a socket error. Both cases are valid, since the
server does not ensure reply was fully read by client, before shutting down  and closing 
the socket.
2011-12-01 22:37:45 +01:00
Michael Widenius
02963d45e3 Fixed compiler warning 2011-12-01 20:21:11 +02:00
Vladislav Vaintroub
926dc1e65c merge 2011-12-01 19:20:57 +01:00
Vladislav Vaintroub
125e22e782 merge 2011-12-01 19:18:45 +01:00
Vladislav Vaintroub
a01c955793 Fix main.merge testcase on Windows 2011-12-01 19:15:09 +01:00
Michael Widenius
7ee1790976 Merge with 5.1 2011-12-01 20:14:53 +02:00
Michael Widenius
dad1322940 Fixed that --with-libedit --without-readline works
Fixed buildbot failures (compiler warnings, failing tests)

cmd-line-utils/libedit/map.c:
  Fixed compiler warning
cmd-line-utils/libedit/terminal.c:
  Fixed compiler warning
cmd-line-utils/libedit/tty.c:
  Fixed compiler warning
configure.in:
  Fixed that --with-libedit --without-readline works
mysql-test/suite/innodb_plugin/t/innodb_misc1.test:
  Fixed test that failed when characterset was missing
2011-12-01 20:11:41 +02:00
Michael Widenius
efcfb195e3 Merge with 5.1 2011-11-30 22:57:18 +02:00
Michael Widenius
6378bdbf47 Fixed compiler warning and errors
mysql-test/suite/funcs_1/t/is_engines_federated.test:
  Corrected path
storage/xtradb/fil/fil0fil.c:
  Fixed compiler warning
2011-11-30 20:57:09 +02:00
Igor Babaev
2f9734172f Fixed LP bug #898073.
The tables from the same semi-join or outer join nest cannot use
join buffers if in the join sequence of the query execution plan
they are separated by a table that is planned to be joined without
usage of a join buffer.
2011-11-30 10:22:53 -08:00
Michael Widenius
692fcba403 Fixed compiler warnings and other bugs found by buildbot.
client/mysqltest.cc:
  Free mutex after usage (fixes valgrind warnings in embedded server)
mysql-test/include/gis_keys.inc:
  Fixed failure in innodb.gis_test
mysql-test/r/gis.result:
  Updated result
mysql-test/suite/innodb/r/innodb_gis.result:
  Updated results
mysql-test/suite/innodb/t/innodb_bug38231.test:
  Added handling of timeouts (happend on some servers in buildbot)
mysql-test/suite/innodb_plugin/r/innodb_gis.result:
  Updated results
mysql-test/suite/innodb_plugin/t/innodb.test:
  Use error names instead of numbers
mysql-test/suite/innodb_plugin/t/innodb_misc1.test:
  This test requires utf8
mysql-test/suite/innodb_plugin/t/innodb_mysql.test:
  This test requires Xtradb
sql/sql_base.cc:
  Don't print table names for placeholders.
sql/sql_show.cc:
  Temporary fix:
  Save and restore db and table_name in mysqld_show_create (to get rid of valgrind warning)
  A better solution that needs to be investgated is to not change these fields in mysql_derived_prepare()
sql/sql_view.cc:
  Fixed valgrind warning
storage/xtradb/handler/ha_innodb.cc:
  Don't access THD directly
2011-11-30 18:44:51 +02:00
Sergei Golubchik
ca5b1b5431 test both federated and federatedX in the federated suite.
mysql-test/lib/My/Options.pm:
  My::Options::is_set() now matches both option names and values!
mysql-test/lib/mtr_cases.pm:
  1. don't merge --plugin-load here, it's too early
  2. don't skip combinations that set --plugin-load just because the test needs another --plugin-load.
     Skip *only* if test's --plugin-load matches *exactly* --plugin-load of one of the combinations.
  3. if skipping all combinations but one, still assign the test to the combination
mysql-test/mysql-test-run.pl:
  1. remove dead code - don't set variables that aren't used.
  2. bugfix: allow one-letter combination names
  3. in the command line, merge all --plugin-load options in one
storage/federated/ha_federated.cc:
  bugfix: garbage character in the generated SELECT query
2011-11-30 11:37:28 +01:00
unknown
be505e3ebf Cherrypick into XtraDB: Bug#13002783 PARTIALLY UNINITIALIZED CASCADE UPDATE VECTOR
We merged the test case for this into MariaDB 5.1, but the fix
was not yet part of XtraDB.
2011-11-30 13:53:25 +01:00
unknown
3a7f28793f Merge the fix of bug lp:825051 2011-11-30 08:28:40 +02:00
Michael Widenius
47575bd0e0 Fixed compiler warnings
dbug/tests.c:
  Added __attribute__((unused)) to get rid of compiler warning
server-tools/instance-manager/guardian.cc:
  Added __attribute__((unused)) to get rid of compiler warning
sql/filesort.cc:
  Added __attribute__((unused)) to get rid of compiler warning
sql/slave.cc:
  Added __attribute__((unused)) to get rid of compiler warning
sql/sql_load.cc:
  Added __attribute__((unused)) to get rid of compiler warning
sql/sql_table.cc:
  Added __attribute__((unused)) to get rid of compiler warning
storage/maria/ma_blockrec.c:
  Added __attribute__((unused)) to get rid of compiler warning
storage/maria/ma_check.c:
  Added missing cast
storage/maria/ma_loghandler.c:
  Added __attribute__((unused)) to get rid of compiler warning
storage/maria/ma_recovery.c:
  Added __attribute__((unused)) to get rid of compiler warning
storage/pbxt/src/cache_xt.cc:
  Added __attribute__((unused)) to get rid of compiler warning
storage/xtradb/fil/fil0fil.c:
  Removed not used variable
storage/xtradb/handler/ha_innodb.cc:
  Use unused variable
vio/viosocket.c:
  Remove usage of not used variable
vio/viosslfactories.c:
  Added cast
2011-11-30 00:34:05 +02:00