Commit graph

60628 commits

Author SHA1 Message Date
Michael Widenius
fee40e2773 Fixed some compiler warnings
include/m_ctype.h:
  MY_UNICASE_INFO already includes 'const'
plugin/auth/dialog.c:
  Fixed parameters to have correct signed/unsigned type
sql/sql_acl.cc:
  old_password_plugin is not used for EMBEDDED_LIBRARY
storage/pbxt/src/ha_pbxt.cc:
  Remove not used variable
2010-03-31 21:37:45 +03:00
unknown
515c2db030 Compiler warnings removed.
storage/maria/ma_loghandler.c:
  compiler warnings removed.
2010-03-30 15:35:15 +03:00
unknown
8272a47fa0 Remove compiler warning
storage/maria/ma_loghandler.c:
  Remove compiler warning.
2010-03-30 11:41:25 +03:00
unknown
2b1c719a9a Atomic operation removed because we do not need it. 2010-03-29 21:53:18 +03:00
Sergei Golubchik
cbcbb05265 tell autoconf about --with-plugin options to avoid
configure: WARNING: unrecognized options: --without-plugin-xxx
2010-03-29 17:14:28 +02:00
Sergei Golubchik
291fd96983 pluggable auth with plugin examples
Makefile.am:
  add new API files to the check_abi rule,
  remove duplicates
client/CMakeLists.txt:
  now a client can use dlopen too
client/Makefile.am:
  be csh-friendly
include/my_global.h:
  add dummy plugs for dlopen and co.
  for the code that needs them to work in static builds
mysys/Makefile.am:
  be csh-friendly
plugin/auth/dialog.c:
  typo fixed
2010-03-29 17:13:53 +02:00
Sergei Golubchik
3e13f97bd4 yet another valgrind suppression for nptl_pthread_exit_hack_handler 2010-02-19 09:12:25 +01:00
Sergei Golubchik
1b24185341 mtr: it's not silent if you say it.
don't set breakpoints automatically, it was needed many years ago but not anymore
2010-02-19 09:10:05 +01:00
Sergei Golubchik
eb30bb8579 bugfix: change_user should only take the password
of the previous user if it takes the username too.
otherwise it can never change to a passwordless account
2010-02-19 09:08:05 +01:00
Sergei Golubchik
ddfcec2cf9 make force really force 2010-02-19 09:06:33 +01:00
Michael Widenius
2c77c9ea25 simple speed & space optimization:
- Avoid full inline of mark_trx_read_write() for many functions
- Avoid somewhat expensive tests for every write/update/delete row 

sql/handler.h:
  Adde ha_start_of_new_statement() to reset internal variables as part of the code in "open_table" that resets TABLE object for the new statement
  Faster mark_trx_read_write_part()
sql/sql_base.cc:
  Don't manipulate table->file internal structs directly
2010-03-25 15:33:39 +02:00
Sergei Golubchik
2b17c453a7 portability fix for vcol.vcol_partition_myisam test 2010-03-23 10:22:33 +01:00
Sergei Golubchik
b0ce621d13 status_user.test fix for rbr 2010-03-21 21:58:19 +01:00
Sergei Golubchik
78897611b2 flush tables before the crash in the crashing test
to close all system tables
2010-03-20 15:12:53 +01:00
Sergei Golubchik
a117dfb087 fixes for the status_user.test in ps protocol
sql/sql_class.cc:
  reset userstat_running after the data were colleced to prevent double accounting.
  don't assert for COM_QUERY, many more are possible.
  don't update_stats() here, it's too late, lex->sql_command may be already reset
sql/sql_parse.cc:
  update_stats() here, when the current arena is still valid
2010-03-16 13:38:35 +01:00
Igor Babaev
5f47217e2e Merge 2010-03-19 00:42:47 -07:00
Igor Babaev
ba4f663e11 Made the vcol suite independent on time zone. 2010-03-18 23:23:32 -07:00
unknown
fc38eb207e Fix merge errors in configure.in
Add vcol test suite to `make dist`.
2010-03-18 13:08:39 +01:00
Igor Babaev
014ec6db2e Fixed bug #539643.
The cause of the problem is a bad merge MariaDB-5.1=>MariaDB-5.2.

Added the vcol suite to the list of the default suites run 
by mysql-test-run.pl.
2010-03-16 19:32:31 -07:00
Sergei Golubchik
f09ca00e08 merged 2010-03-15 12:51:23 +01:00
Sergei Golubchik
71b3e46b01 1. don't crash on failing to load a plugin with newer MYSQL_PLUGIN_INTERFACE_VERSION
2. don't copy st_mysql_plugin structure unnecessary (sizeof hasn't changed)
2010-03-12 20:05:21 +01:00
Sergei Golubchik
edfd875fc1 Fix myisam checksum patch to check for HA_OPTION_CHECKSUM after it was set, not before 2010-03-12 20:03:37 +01:00
Michael Widenius
e14291c1ff Fix for Bug #534626 MyISAM table created in MariaDB not readable by MySQL
storage/myisam/mi_create.c:
  Don't set HA_OPTION_NULL_FIELDS if table is not using CHECKSUM as this makes the table incompatible with MySQL.
2010-03-10 21:00:34 +02:00
Michael Widenius
7e26959277 Automatic merge 2010-03-10 15:55:40 +02:00
Michael Widenius
77afc2be46 Fix for: Bug#44987 DELETE IGNORE and FK constraint
- Now DELETE IGNORE skips over rows with a foreign key constraints (as it was supposed to do)


mysql-test/r/foreign_key.result:
  Test case for Bug#44987 DELETE IGNORE and FK constraint
mysql-test/t/foreign_key.test:
  Test case for Bug#44987 DELETE IGNORE and FK constraint
sql/sql_delete.cc:
  Firx for Bug#44987 DELETE IGNORE and FK constraint
  Now DELETE IGNORE skips over rows with a foreign key constraints (as it was supposed to do)
  Bug fix inspired by: Moritz Mertinkat
2010-03-10 15:39:02 +02:00
unknown
3e32ba3ff1 Fix some compiler warnings seen in Buildbot.
Add some extra error output and code cleanup in an attempt to fix/debug
a rare random testsuite problem in check_warnings, where the exit code
from mysqltest is somehow corrupted inside mysql-test-run.pl.

include/my_global.h:
  Fix compiler warnings on some platforms.
mysql-test/lib/My/SafeProcess.pm:
  Move dereference of $? subprocess exit code closer to where it is generated,
  to make the code more robust and on the chance that this will fix the
  occasional problems in check_warnings we see in Buildbot.
mysql-test/mysql-test-run.pl:
  When check_warnings failed, also log the mysqld server for which it failed.
sql/sql_lex.cc:
  Fix compiler warning about possibly uninitialised value, by rewriting a for()
  loop that is always executed at least once into a do .. while() loop with an
  assert.
sql/table.cc:
  Fix compiler warning about uninitialised value.
storage/federatedx/ha_federatedx.cc:
  Fix uninitialised variable.
storage/maria/ma_delete.c:
  Fix compiler warning about uninitialised value.
storage/maria/ma_loghandler.c:
  Fix compiler warning about uninitialised value.
storage/myisam/ft_stopwords.c:
  Fix compiler warning.
storage/myisam/mi_write.c:
  Fix compiler warning about possibly uninitialised value, by rewriting a while()
  loop that is always executed at least once into a do .. while() loop with an
  assert.
storage/xtradb/btr/btr0cur.c:
  Fix compiler warning about possibly uninitialised value.
support-files/compiler_warnings.supp:
  Fix warning suppression to cover all cases in yassl.
vio/viossl.c:
  Fix compiler warning.
2010-03-10 11:32:14 +01:00
unknown
4d7b6a6ea1 Automerge MySQL 5.1.44 merge into latest MariaDB trunk. 2010-03-10 10:12:23 +01:00
unknown
b1a6297986 Fixes for two test failures in Buildbot.
- Adjust timing in test case, to avoid test failures caused by high load
   on machines and consequent race conditions in the test case.

 - Add another variant of Valgrind suppressions for memory leak in system
   libraries when unloading dynamic object files.


mysql-test/r/information_schema.result:
  Adjust timing to avoid test failures due to races.
mysql-test/t/information_schema.test:
  Adjust timing to avoid test failures due to races.
mysql-test/valgrind.supp:
  Add another variant of valgrind suppression for leak in system libs.
2010-03-10 10:11:02 +01:00
unknown
0230d51be8 Fix a buildbot memory leak due to JOIN::destroy() not being called for EXPLAIN
query:
- When subquery is located in ORDER BY, EXPLAIN will run as follows:
  select_describe() will run JOIN::prepare()/optimize() for the subquery;
  then at some point subselect_single_select_engine::prepare() will be called,
  which will create another join and run join->prepare().

  In mainline mysql this is not a problem because subquery's join will be 
  destroyed after the first call. 
  In MariaDB, it won't (table elimination needs to keep JOIN objects around
  for longer in order to know which tables were eliminated when constructing
  EXPLAIN EXTENDED warning).

  Fix the problem of memory leak by calling select_lex->cleanup() in 
  subselect_single_select_engine::prepare().
2010-03-09 20:29:05 +01:00
unknown
214edde888 Automerge MySQL 5.1.44 merge into MariaDB trunk. 2010-03-09 20:23:30 +01:00
Michael Widenius
292f6568fa Added count of my_sync calls (to SHOW STATUS)
tmp_table_size can now be set to 0 (to disable in memory internal temp tables)
Improved speed for internal Maria temp tables:
- Don't use packed keys, except with long text fields.
- Don't copy key all accessed pages during key search.
Some new benchmark tests to sql-bench (for group by)

BUILD/compile-pentium64-gcov:
  Update script to use same pentium_config flags as other tests
BUILD/compile-pentium64-gprof:
  Update script to use same pentium_config flags as other tests
include/my_sys.h:
  Added count of my_sync calls
mysql-test/r/variables.result:
  tmp_table_size can now be set to 0
sql-bench/test-select.sh:
  Added some new test for GROUP BY on a not key field and group by with different order by
sql/mysqld.cc:
  Added count of my_sync calls
  tmp_table_size can now be set to 0 (to disable in memory internal temp tables)
sql/sql_select.cc:
  If tmp_table_size is 0, don't use in memory temp tables (good for benchmarking MyISAM/Maria temp tables)
  Don't pack keys for Maria tables;  The 8K page size makes packed keys too slow for temp tables.
storage/maria/ma_key_recover.h:
  Moved definition to maria_def.h
storage/maria/ma_page.c:
  Moved code used to simplify comparing of identical Maria tables to own function (page_cleanup())
  Fixed that one can read a page with a read lock.
storage/maria/ma_rkey.c:
  For not exact key reads, cache the page where we found key (to speed up future read-next/read-prev calls)
storage/maria/ma_search.c:
  Moved code to cache last key page to separate function.
  Instead of copying pages, only get a link to the page. This notable speeds up key searches on bigger tables.
storage/maria/ma_write.c:
  Added comment
storage/maria/maria_def.h:
  Moved page_cleanup() to separate function.
2010-03-09 21:22:24 +02:00
unknown
c9dffa993a A number of after-merge fixes following merge of MySQL 5.1.44 into MariaDB.
Bug#46949: memory leak with failed alter table to create partitions based on extract()

Bug#51830: Incorrect partition pruning on range partition (regression)

Fixed valgrind failure in select_describe(), read of uninitialized 
  Item_subselect::eliminated.

PBXT test file updates to reflect changes done in MySQL.

mysql-test/suite/pbxt/r/partition_error.result:
  Result file update following MySQL 5.1.44 changes.
mysql-test/suite/pbxt/r/partition_pruning.result:
  Result file update following MySQL 5.1.44 changes.
mysql-test/suite/pbxt/t/partition_error.test:
  Test file update following MySQL 5.1.44 changes.
sql/item_subselect.cc:
    Fixed valgrind failure in select_describe(), read of uninitialized 
    Item_subselect::eliminated: 
    - it turns out we can call select_describe() without having fixed 
      subquery items for child subselects. These are not the kind of subqueries
      that we could eliminate, so the fix is to ensure that 
      item_subselect->eliminated==FALSE even before fix_fields is called.
      Also added code to reset item_subselect->eliminated back to FALSE in
      Item::reset() call.
sql/item_subselect.h:
    Fixed valgrind failure in select_describe(), read of uninitialized 
    Item_subselect::eliminated: 
    - it turns out we can call select_describe() without having fixed 
      subquery items for child subselects. These are not the kind of subqueries
      that we could eliminate, so the fix is to ensure that 
      item_subselect->eliminated==FALSE even before fix_fields is called.
      Also added code to reset item_subselect->eliminated back to FALSE in
      Item::reset() call.
sql/sql_partition.cc:
  Fix Bug#51830: Revert part of the patch for Bug#49742, which caused the regression.
sql/table.cc:
  Fix Bug#46949: memory leak in failed ALTER TABLE with partitioning.
2010-03-09 16:03:54 +01:00
Sergei Golubchik
700e2155f2 do not take LOCK_plugin for built-in plugins 2010-03-08 18:05:09 +01:00
Sergei Golubchik
f0cf48a0c4 small code cleanup - "good ifdef is no ifdef" 2010-03-08 14:57:32 +01:00
Sergey Petrunya
81424b5bda LPBUG#524025 Running RQG outer_join test leads to crash
Save no-records constant tables in JOIN::const_table_map before we invoke
eliminate_tables(). Failure to do so caused crash when the same table was
marked as constant two times

mysql-test/r/table_elim.result:
  LPBUG#524025 Running RQG outer_join test leads to crash
  - Testcase
mysql-test/t/table_elim.test:
  LPBUG#524025 Running RQG outer_join test leads to crash
  - Testcase
sql/sql_select.cc:
  LPBUG#524025 Running RQG outer_join test leads to crash
  Save no-records constant tables in JOIN::const_table_map before we invoke eliminate_tables(). Failure to do so caused crash when the same table was marked as constant two times.
2010-03-06 15:09:02 +03:00
unknown
4bf849c23c Merge MySQL 5.1.44 into MariaDB. 2010-03-04 09:03:07 +01:00
Sergei Golubchik
2ceaffc467 mwl:98 - libservices 2010-03-03 15:44:14 +01:00
Sergei Golubchik
f04cf03f75 fix for a possible DoS in the my_net_skip_rest() 2010-02-23 13:04:58 +01:00
Michael Widenius
2840821cc9 Fixed LP#524679: make test ORDER BY date_ord ASC
(Problem was missing time_zone setting)
2010-02-23 14:06:41 +02:00
Sergey Petrunya
2df35ba9a1 LPBUG#523593: Merge 2010-02-19 17:13:49 +03:00
Sergey Petrunya
69028d5127 LPBUG#523593: Running RQG optimizer_no_subquery crashes MariaDB
- When analying multiple equalities, take into account that they 
  may not have a single table field that belongs to one of the tables
  that we're trying to eliminate (and they are not useful for table
  elimination in that case)

mysql-test/r/table_elim.result:
  LPBUG#523593: Running RQG optimizer_no_subquery crashes MariaDB
  - Testcase
mysql-test/t/table_elim.test:
  LPBUG#523593: Running RQG optimizer_no_subquery crashes MariaDB
  - Testcase
2010-02-18 15:03:52 +03:00
Hakan Kuecuekyilmaz
84e1866181 Increased loop counts of sql-bench tests to get run times around
5 minutes on current machines. Tested on a Xeon machine and a new dual core laptop.
2010-02-17 21:10:02 +01:00
unknown
62db6839b8 configure.in
- Changes to the banner text
 - Use older AC_PROG_LIBTOOL (Bug#51009)

scripts/mysql_install_db.sh
 - Changes to banner text
2010-02-17 18:39:28 +01:00
Michael Widenius
6e7241caa5 Fix for LPBUG#516148 Test maria.maria3 fails when --without-maria-tmp-tables is set
mysql-test/suite/maria/r/maria3.result:
  Updated test results
mysql-test/suite/maria/t/maria3.test:
  Don't show maria_used_for_temp_tables, as it's value is depending on configure options
2010-02-12 16:21:13 +02:00
unknown
abb87914ec Group commit for maria engine.
mysql-test/suite/maria/r/group_commit.result:
  Test of gruoup commit.
mysql-test/suite/maria/r/maria3.result:
  The new variables added.
mysql-test/suite/maria/t/group_commit.test:
  Test of group commit.
randgen:
  Randon query generator tests.
randgen/conf:
  Random query generator tests.
randgen/conf/maria_group_commit.yy:
  Random query generator test for group commit.
storage/maria/ha_maria.cc:
  New variables and support procedures for group commit added.
storage/maria/ma_init.c:
  Correct shutdown of group commit service thread and group commit.
storage/maria/ma_loghandler.c:
  Group commit added.
  Initialization of variables for embeded server edded.
storage/maria/ma_loghandler.h:
  Group commit types and routines.
2010-02-12 15:12:28 +02:00
Sergei Golubchik
b6d030edbf merged 2010-02-12 09:47:31 +01:00
Michael Widenius
6e0d92419e Fix for LPBug#520243: useability bug of thread pool configuration
Now mysqld --help --verbose shows the value for thread-handling
Fixed also that mysqld --one-thread works as expected.
2010-02-11 21:15:24 +02:00
Michael Widenius
af51917d1e Added option --temporary-tables to test speed of temporary tables
mysql-test/suite/parts/t/partition_repair_myisam-master.opt:
  Added missing file from last push
sql-bench/bench-init.pl.sh:
  Added options:
  --temporary-tables to test speed of temporary tables
sql-bench/server-cfg.sh:
  Added limit for number of temporary tables one can create
sql-bench/test-connect.sh:
  Skip test that doesn't work with temporary tables.
sql-bench/test-create.sh:
  Added limit for number of temporary tables one can create
2010-02-10 23:26:06 +02:00
Michael Widenius
d77e3cde5f When one does a drop table, the indexes are not flushed to disk before drop anymore (with MyISAM/Maria)
myisam-recover options changed from OFF to 'DEFAULT' to get less change of data loss when using MyISAM.
(The disadvantage is that changed MyISAM tables will be checked at access time; Use --myisam-recover=OFF for old behavior)
Don't call extra(HA_EXTRA_FORCE_REOPEN) in ALTER TABLE if table is locked as this will mark table as crashed!
Added assert to detect if we accidently would use MyISAM versioning in MySQL

include/my_base.h:
  Mark NOT_USED as USED, as we now use this as a flag to not call extra()
mysql-test/mysql-test-run.pl:
  Don't write all options when there is something wrong with the arguments
mysql-test/r/sp-destruct.result:
  Add missing flush of mysql.proc (as the test copied live tables)
mysql-test/r/variables.result:
  myisam-recover options changed to 'default'
mysql-test/r/view.result:
  Don't show create time in result
mysql-test/suite/maria/t/maria-recovery2-master.opt:
  Don't run test with myisam-recover (as this produces extra warnings during simulated death)
mysql-test/t/sp-destruct.test:
  Add missing flush of mysql.proc (as the test copied live tables)
mysql-test/t/view.test:
  Don't show create time in result
sql/lock.cc:
  Added marker if table was deleted to argument list
sql/mysql_priv.h:
  Added marker if table was deleted to argument list
sql/mysqld.cc:
  myisam-recover options changed from OFF to 'DEFAULT' to get less change of data loss when using MyISAM
  Allow one to specify OFF as argument to myisam-recover (was default before but one couldn't specify it)
sql/sql_base.cc:
  Mark if table is going to be deleted
sql/sql_delete.cc:
  Mark if table is going to be deleted
sql/sql_table.cc:
  Mark if table is going to be deleted
  Don't call extra(HA_EXTRA_FORCE_REOPEN) in ALTER TABLE if table is locked as this will mark table as crashed!
sql/table.cc:
  Signal to handler if table is getting deleted as part of getting droped from table cache.
sql/table.h:
  Added marker if table is going to be deleted.
storage/maria/ha_maria.cc:
  Don't search for transaction handler if file is not transactional or outside of transaction
  (Fixed possible core dump)
storage/maria/ma_blockrec.c:
  Don't write changed information if table is going to be deleted.
storage/maria/ma_close.c:
  Don't write changed information if table is going to be deleted.
storage/maria/ma_extra.c:
  Mark tables that are deleted as crased, to ensure good behavior on restart if we suddenly crash.
storage/maria/ma_locking.c:
  Cleanup
storage/maria/ma_recovery.c:
  We need trnman to be inited during redo phase (to be able to open tables checked with maria_chk)
storage/maria/maria_def.h:
  Added marker if table is going to be deleted.
storage/myisam/mi_close.c:
  Don't write changed information if table is going to be deleted.
storage/myisam/mi_extra.c:
  Mark tables that are deleted as crased, to ensure good behavior on restart if we suddenly crash.
storage/myisam/mi_open.c:
  Added assert to detect if we accidently would use MyISAM versioning in MySQL
storage/myisam/myisamdef.h:
  Added marker if table is going to be deleted.
2010-02-10 21:06:24 +02:00
Michael Widenius
d474428c9a Added --connect-command="sql-string" to sql-bench test suite.
This allows one to send an extra command to the mysql server to setup the environment before starting tests.
2010-02-09 19:17:04 +02:00