Commit graph

111 commits

Author SHA1 Message Date
Sergei Golubchik
227510e039 parser cleanup: don't store field properties in LEX, use Create_field directly
length/dec/charset are still in LEX, because they're also used
for CAST and dynamic columns.

also
1. fix "MDEV-7041 COLLATION(CAST('a' AS CHAR BINARY)) returns a wrong result"
2. allow BINARY modifier in stored function RETURN clause
3. allow "COLLATION without CHARSET" in SP/SF (parameters, RETURN, DECLARE)
4. print correct variable name in error messages for stored routine parameters
2014-12-04 16:09:34 +01:00
Sergei Golubchik
902491c397 * change the test to use is_embedded.inc instead of a direct check
* remove is_embedded.require
2013-12-22 17:11:38 +01:00
Sergei Golubchik
ffa8c4cfcc Percona-Server-5.6.14-rel62.0 merge
support ha_innodb.so as a dynamic plugin.
* remove obsolete *,innodb_plugin.rdiff files
* s/--plugin-load=/--plugin-load-add=/
* MYSQL_PLUGIN_IMPORT glob_hostname[]
* use my_error instead of push_warning_printf(ER_DEFAULT)
* don't use tdc_size and tc_size in a module

update test cases (XtraDB is 5.6.14, InnoDB is 5.6.10)
* copy new tests over
* disable some tests for (old) InnoDB
* delete XtraDB tests that no longer apply

small compatibility changes:
* s/HTON_EXTENDED_KEYS/HTON_SUPPORTS_EXTENDED_KEYS/
* revert unnecessary InnoDB changes to make it a bit closer to the upstream

fix XtraDB to compile on Windows (both as a static and a dynamic plugin)

disable XtraDB on Windows (deadlocks) and where no atomic ops are available (e.g. CentOS 5)


storage/innobase/handler/ha_innodb.cc:
  revert few unnecessary changes to make it a bit closer to the original InnoDB
storage/innobase/include/univ.i:
  correct the version to match what it was merged from
2013-12-22 17:06:50 +01:00
Sergei Golubchik
0fdb3bcfdb 10.0-base merge (roles) 2013-10-29 15:08:44 +01:00
Sergei Golubchik
13cca92de4 fix funcs_1.is_engines_federated failure when no ha_federatex.so is present 2013-10-18 13:17:27 -07:00
Sergei Golubchik
9af177042e 10.0-base merge.
Partitioning/InnoDB changes are *not* merged (they'll come from 5.6)
TokuDB does not compile (not updated to 10.0 SE API)
2013-09-21 10:14:42 +02:00
Sergei Golubchik
6755944d08 remove PBXT 2013-08-30 11:25:49 +02:00
Sergei Golubchik
a9035be5b7 10.0-base merge 2013-04-15 15:09:22 +02:00
Michael Widenius
de5d2550af OPTION is now a valid identifier (not a reserved word)
mysql-test/r/keywords.result:
  Test that option works as table/column/variable
mysql-test/suite/funcs_1/r/storedproc.result:
  OPTION is now a valid identifier
mysql-test/suite/funcs_1/t/storedproc.test:
  OPTION is now a valid identifier
mysql-test/t/keywords.test:
  Test that option works as table/column/variable
sql/sql_yacc.yy:
  OPTION is now a valid identifier
2013-03-14 18:39:22 +02:00
Sergei Golubchik
2217717ff6 MDEV-3860 backport --plugin-load-add (and related mysql-test changes)
revno: 3383
  revision-id: georgi.kodinov@oracle.com-20110818083108-qa3h3ufqu4zne80a
  committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
  timestamp: Thu 2011-08-18 11:31:08 +0300
  message:

  Bug #11766001: 59026: ALLOW MULTIPLE --PLUGIN-LOAD OPTIONS
  
  Implemented support for a new command line option :
  --plugin-load-add=<comma-separated-name-equals-value-list>
  This option takes the same type of arguments that --plugin-load does
  and complements --plugin-load (that continues to operate as before) by
  appending its argument to the list specified by --plugin-load.
  So --plugin-load can be considered a composite option consisting of 
  resetting the plugin load list and then calling --plugin-load-add to process
  the argument.
  Note that the order in which you specify --plugin-load and --plugin-load-add 
  is important : "--plugin-load=x --plugin-load-add=y" will be equivalent to
  "--plugin-load=x,y" whereas "--plugin-load-add=y --plugin-load=x" will be 
  equivalent to "plugin-load=x".
  
  Incompatible change : the --help --verbose command will no longer print the 
  --plugin-load variable's values (as it doesn't have one). Otherwise both --plugin-load 
  and --plugin-load-add are mentioned in it.
2012-12-15 18:24:11 +01:00
Michael Widenius
f277f27ae2 Fixing test cases
Added missing system tables used in 5.6
2012-08-23 00:32:25 +03:00
Vladislav Vaintroub
c5e1fb6720 Fix several buildot errors on Windows
- do not attempt loading federatedx dynamically - does not work on Windows embedded
- race condition in rpl_start_stop_slave
- fix exclusion rule to catch warning in partition test
2012-03-16 17:47:31 +01:00
Sergei Golubchik
e293bdb2c1 instead of having win/notwin tests that only differ in results,
use one test with two combinations (win/unix), where only one is enabled.
Apply this technique to mysqld--help.
2012-02-23 09:24:11 +01:00
Sergei Golubchik
3cda92aece don't even try to run xtradb-only tests with innodb, use have_xtradb.combinations. 2012-02-23 09:18:48 +01:00
Sergei Golubchik
c39877071a overlay support for mysql-test-run and mysqltest
mysql-test-run auto-disables all optional plugins.


mysql-test/include/default_client.cnf:
  no @OPT.plugindir anymore
mysql-test/include/default_mysqld.cnf:
  don't disable plugins manually - mtr can do it better
mysql-test/suite/innodb/t/innodb_bug47167.test:
  mtr now uses suite-dir as an include path
mysql-test/suite/innodb/t/innodb_file_format.test:
  mtr now uses suite-dir as an include path
mysql-test/t/partition_binlog.test:
  this test uses partitions
storage/example/mysql-test/mtr/t/source.result:
  update results. as mysqltest includes the correct overlayed include
storage/innobase/handler/ha_innodb.cc:
  the assert is wrong
2012-02-23 07:50:11 +01:00
Sergei Golubchik
6d48dfae99 move --secure-file-priv from hardcoded to a template. remove redundant suite.opt 2012-02-06 20:28:56 +01:00
Sergei Golubchik
4f435bddfd 5.3 merge 2012-01-13 15:50:02 +01: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
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
Michael Widenius
6920457142 Merge with MariaDB 5.1 2011-11-24 18:48:58 +02:00
Michael Widenius
a8d03ab235 Initail merge with MySQL 5.1 (XtraDB still needs to be merged)
Fixed up copyright messages.
2011-11-21 19:13:14 +02:00
Sergei Golubchik
949027f7c7 fix embedded tests.
temporarily disable pbxt in embedded
2011-10-28 20:30:42 +02:00
Sergei Golubchik
72e144a470 Sergey Petrunya fixes for subselect* tests,
and other misc test fixes
2011-10-22 01:07:39 +02:00
Sergei Golubchik
b3223453f7 post-merge changes to the mysql-test suite
mysql-test/include/check_ipv6.inc:
  don't try to connect to ipv6 address - the server isn't necessarily listening
  (e.g. a master doesn't, but a slave does. or vice versa)
mysql-test/include/default_mysqld.cnf:
  move hard-coded values from ConfigFactory.pm to a template.
  really disable syncs
mysql-test/include/have_archive_plugin.inc:
  wrong test. plugin is loaded in the test, it cannot be available before it
mysql-test/include/have_blackhole_plugin.inc:
  wrong test. plugin is loaded in the test, it cannot be available before it
mysql-test/include/have_federated_plugin.inc:
  wrong test. plugin is loaded in the test, it cannot be available before it
mysql-test/lib/My/ConfigFactory.pm:
  move hard-coded values from ConfigFactory.pm to a template.
  really disable syncs
mysql-test/mysql-test-run.pl:
  formatting
mysql-test/suite/funcs_1/t/is_engines_federated.opt:
  federated can be a plugin
mysql-test/suite/innodb/suite.pm:
  don't load xtradb plugin in embedded server - it lacks some symbols that xtradb needs
mysql-test/suite/unit/suite.pm:
  don't run unit tests in --embedded-server
  (for simplicity and speed)
2011-10-19 23:01:15 +02:00
Sergei Golubchik
76f0b94bb0 merge with 5.3
sql/sql_insert.cc:
  CREATE ... IF NOT EXISTS may do nothing, but
  it is still not a failure. don't forget to my_ok it.
  ******
  CREATE ... IF NOT EXISTS may do nothing, but
  it is still not a failure. don't forget to my_ok it.
sql/sql_table.cc:
  small cleanup
  ******
  small cleanup
2011-10-19 21:45:18 +02:00
Sergei Golubchik
9809f05199 5.5-merge 2011-07-02 22:08:51 +02:00
Anitha Gopi
099fbeb93d Changed to Oracle bug numbers 2011-05-24 12:08:13 +05:30
Michael Widenius
35352d4da6 mysql-test/suite/funcs_1/r/storedproc.result:
Fixed test failure
mysql-test/suite/funcs_1/t/storedproc.test:
  Fixed test failure
  (The error changed as syntax for alter changed with ALTER ONLINE)
storage/maria/ha_maria.cc:
  fixed compiler warning
2011-05-02 13:25:53 +03:00
Michael Widenius
3358cdd504 Merge with 5.1 to get in changes from MySQL 5.1.55 2011-02-28 19:39:30 +02:00
Michael Widenius
58bb0769bd Merge with MySQL 5.1.55
- Fixed some issues with partitions and connection_string, which also fixed lp:716890 "Pre- and post-recovery crash in Aria"
- Fixed wrong assert in Aria

Now need to merge with latest xtradb before pushing 

sql/ha_partition.cc:
  Ensure that m_ordered_rec_buffer is not freed before close.
sql/mysqld.cc:
  Changed to use opt_stack_trace instead of opt_pstack.
  Removed references to pstack
sql/partition_element.h:
  Ensure that connect_string is initialized
storage/maria/ma_key_recover.c:
  Fixed wrong assert
2011-02-20 18:51:43 +02:00
Guilhem Bichot
b5cedcaa18 merge from 5.1; now this test is not experimental anymore 2010-12-31 12:14:48 +01:00
Guilhem Bichot
3997d4c694 Test which runs slowly on some machines, is marked as big
so will be run only weekly; this closes BUG#50595.
2010-12-31 12:07:34 +01:00
Anitha Gopi
283630356c BUG #59055: RQG was broken after the checkin that removed rpl and rpl_ndb suites. RQG uses MTR V1 and that still has these in the default suite. Removing these from V1. Also removing references to ndb tests in some more disabled.def files 2010-12-21 23:14:48 +05:30
Anitha Gopi
894ea29b99 Bug #59055 : Remove ndb tests from repository. Removal of tests from sys_vars is pending. It has some issues that are yet to be resolved 2010-12-20 19:49:35 +05:30
Sergei Golubchik
65ca700def merge.
checkpoint.
does not compile.
2010-11-25 18:17:28 +01:00
Sergei Golubchik
e246077bcf rename maria to aria 2010-09-12 18:40:01 +02:00
Sergei Golubchik
a3d80d952d merge with 5.1 2010-09-11 20:43:48 +02:00
Michael Widenius
b74cd1b6b6 Fixed failing test cases after update of xtradb
mysql-test/r/not_partition.result:
  Test result changed after I fixed the error message for not existing engine
mysql-test/suite/funcs_1/r/is_columns_is.result:
  Updated results
mysql-test/suite/funcs_1/r/is_engines_innodb.result:
  Updated results
mysql-test/suite/funcs_1/r/is_tables_is.result:
  Updated results
mysql-test/suite/funcs_1/t/is_tables_is.test:
  Test requires innodb as results depends on innodb
mysql-test/suite/innodb_plugin/t/disabled.def:
  Disable test as it shows errors in valgrind
mysql-test/suite/innodb_plugin/t/innodb-use-sys-malloc.test:
  Test can't be run under valgrind as mysql-test-run resets the innodb_use_sys_malloc flag
storage/xtradb/buf/buf0buf.c:
  Fixed compiler warning by adding casts
2010-09-05 13:52:33 +03:00
Michael Widenius
58a75bb18b Automerge with 5.1 2010-08-25 01:44:50 +03:00
Sergei Golubchik
8da7be6302 generalization of mtr to support suite.pm extensions:
* no automatic --loose-skip-innodb added by mtr based on the test name.
  instead loose-skip-innodb is now in the default_mysqld.cnf
* have_innodb_plugin.inc is changed to give a verbose "skip" message
  (instead of "require: true")
* My::Suite class. It's support in mtr, and everywhere
* support for suite.pm
* when sorting tests, take combinations into account
* support for SUITENAME_COMBINATIONS
* no special treatment for innodb_plugin in mtr_cases.pm
* two special pre-created config groups: ENV and OPT
* allow option names to start from #
* allow magic option to have an argument
* remove dead code
* fix @-substitution to works as expected
* new processes take the value of $opt_verbose automatically, no need to pass it to a constructor
* innodb_plugin suite uses suite.pm and combinations file to test as much as possible
  (innodb plugin, xtradb plugin, xtradb static - whatever available)
* besides test-master.opt and test-slave.opt a test.opt file is also
  loaded, both for master and slave
* .opt files for all included files are loaded too
* progress report in the xterm titlebar
2010-08-17 11:14:46 +04:00
Georgi Kodinov
9705711596 WL#1054: Pluggable authentication support
Merged the implementation to a new base tree.
2010-08-09 11:32:50 +03:00
Michael Widenius
d042146e5b Merge with MariaDB 5.1.49
Removed references to HA_END_SPACE_KEY (which has been 0 for a long time)
2010-08-05 22:56:11 +03:00
Michael Widenius
ca0e296b94 Merge with 5.1-merge (new XTRADB code updated up to MySQL 5.1.47)
Fixed tests cases.
2010-08-05 14:40:54 +03:00
Michael Widenius
1f5b93e772 Fixed compiler warnings
Fixed some wrong test cases
Fixed bug in null handling in XtraDB


extra/comp_err.c:
  Fixed compiler warnings
extra/my_print_defaults.c:
  Fixed compiler warnings
mysql-test/suite/binlog/t/binlog_killed.test:
  Added support for timeouts
mysql-test/suite/funcs_1/r/is_columns_is.result:
  Updated results (INNODB_SYS_TABLES had got new column)
scripts/mysql_install_db.sh:
  Fixed typo
sql/mysql_priv.h:
  Removed not needed argument for compare_record()
sql/sql_insert.cc:
  Removed not needed argument for compare_record()
sql/sql_update.cc:
  Removed not needed argument for compare_record()
  The argument is not needed becasue we copy the full record[0] to record[1] and the comparison should work even if all columns are not read
sql/table.cc:
  The comparison of rows is independent of HA_PARTIAL_COLUMN_READ
storage/maria/maria_chk.c:
  Fixed compiler warnings
storage/maria/maria_read_log.c:
  Fixed compiler warnings
storage/myisam/myisamchk.c:
  Fixed compiler warnings
storage/myisam/myisampack.c:
  Fixed compiler warnings
storage/xtradb/dict/dict0load.c:
  Fixed compiler warnings
storage/xtradb/row/row0sel.c:
  Fixed null handling in XtraDB. (See comment)
storage/xtradb/trx/trx0sys.c:
  Fixed compiler warnings
support-files/compiler_warnings.supp:
  Fixed compiler warnings
2010-08-04 21:36:11 +03:00
Michael Widenius
7b4bd6dfce Fixed some test failures after last push (failing tests and valgrind warnings)
Added --strace support to mysql-test-run

mysql-test/mysql-test-run.pl:
  Added support for --strace (usefull for example to check how much memory mysqld was using)
mysql-test/suite/funcs_1/t/is_engines_innodb.test:
  Fixed test case to also work with xtradb
mysql-test/suite/innodb_plugin/t/innodb.test:
  Don't run if we don't have the used character sets.
mysql-test/suite/innodb_plugin/t/innodb_mysql.test:
  Don't run if we don't have the used character sets.
sql/sql_show.cc:
  Extended comment to 160 characters to get full comment from xtradb
storage/xtradb/handler/ha_innodb.cc:
  Fixed valgrind warning.
2010-08-04 13:19:18 +03:00
Alexander Nozdrin
4333980a49 Patch for Bug#21818 (Return value of ROW_COUNT() is incorrect
for ALTER TABLE, LOAD DATA).

ROW_COUNT is now assigned according to the following rules:

  - In my_ok():
    - for DML statements: to the number of affected rows;
    - for DDL statements: to 0.

  - In my_eof(): to -1 to indicate that there was a result set.

    We derive this semantics from the JDBC specification, where int
    java.sql.Statement.getUpdateCount() is defined to (sic) "return the
    current result as an update count; if the result is a ResultSet
    object or there are no more results, -1 is returned".

  - In my_error(): to -1 to be compatible with the MySQL C API and
    MySQL ODBC driver.

  - For SIGNAL statements: to 0 per WL#2110 specification. Zero is used
    since that's the "default" value of ROW_COUNT in the diagnostics area.

sql/protocol.cc:
  Fix a typo.
sql/sql_class.h:
  - Introduce THD::get_row_count_func() / THD::set_row_count_func();
  - Remove the CF_HAS_ROW_COUNT define
sql/sql_parse.cc:
  CF_HAS_ROW_COUNT was eliminated.
2010-05-14 09:28:51 +04:00
Michael Widenius
056cebe61a Automatic merge with 5.1 2009-10-28 16:56:07 +02:00
Michael Widenius
d271502048 Updated test suite results with new information schemas 2009-10-26 13:55:49 +02:00
Michael Widenius
5bddbc44c6 Fixed compiler warning message
- Added checking of return value for system(), freopen(), fgets() and chown()
- Ensure that calls that require a format strings gets a format string
- Other trivial things
Updated test suite results (especially for pbxt and embedded server)
Removed warning for "Invalid (old?) table or database name 'mysqld.1'" from pbxt tests
Speed up some pbxt tests by inserting begin ; commit; around "while loops with inserts"
Added mysqld startup option '--debug-flush'
Create maria_recovery.trace in data directory instead of current directory

client/mysql.cc:
  Check return value from system()
client/mysql_upgrade.c:
  Check return value from fgets()
client/mysqladmin.cc:
  Check return value from fgets()
client/mysqlslap.c:
  Check return value from system() (but ignore it, as it's not critical)
extra/yassl/src/crypto_wrapper.cpp:
  Check return value from fgets() (but ignore it, as it's internal file)
extra/yassl/taocrypt/src/aes.cpp:
  Added extra {} to remove compiler warning
extra/yassl/taocrypt/src/blowfish.cpp:
  Added extra {} to remove compiler warning
extra/yassl/taocrypt/src/misc.cpp:
  Ifdef not used code
include/mysys_err.h:
  Added error message for failing chown()
mysql-test/mysql-test-run.pl:
  Don't give warning for skipping ndbcluster (never enabled in MariaDB)
mysql-test/suite/funcs_1/r/is_columns_is_embedded.result:
  Update with new information schema information
mysql-test/suite/funcs_1/r/is_tables_is_embedded.result:
  New test
mysql-test/suite/funcs_1/r/is_tables_myisam_embedded.result:
  Update test results (has not been tested for a long time)
mysql-test/suite/funcs_1/r/is_tables_mysql_embedded.result:
  Update test results (has not been tested for a long time)
mysql-test/suite/funcs_1/t/is_tables_is.test:
  Don't run with embedded server (as results differ)
  I added a new test for embedded server
mysql-test/suite/funcs_1/t/is_tables_is_embedded.test:
  New test
mysql-test/suite/pbxt/my.cnf:
  Allow one to run pbxt tests without having to specify --mysqld=--default-storage-engine=pbxt
mysql-test/suite/pbxt/t/count_distinct3.test:
  Speed up test by inserting begin; ... commit;
mysql-test/suite/pbxt/t/subselect.test:
  Speed up test by inserting begin; ... commit;
mysys/errors.c:
  Added error message for failing chown()
mysys/my_copy.c:
  Added error message for failing chown()
mysys/my_redel.c:
  Added error message for failing chown()
mysys/safemalloc.c:
  Added cast to get rid of compiler warning
sql/ha_partition.cc:
  Fixed wrong argument to sql_print_error() (it requires a format string)
sql/log.cc:
  Test return value of freopen()
sql/mysqld.cc:
  Test return value of freopen()
  Added startup option '--debug-flush' to be used when one gets a core dump (easy to explain to people on IRC)
sql/rpl_rli.cc:
  Fixed wrong argument to sql_print_error() (it requires a format string)
sql/set_var.cc:
  Added {} to get rid of compiler warnings
sql/slave.cc:
  Fixed wrong argument to mi->report() and sql_print...() (they require a format string)
sql/sql_cache.cc:
  Fixed wrong argument to sql_printinformation() (it requires a format string)
sql/sql_parse.cc:
  Test return value of fgets()
sql/sql_plugin.cc:
  Fixed wrong argument to sql_print_error() (it requires a format string)
sql/sql_select.cc:
  Use unique table name for internal temp tables instead of full path
  (Simple speed & space optimization)
sql/udf_example.c:
  Removed compiler warning about not used variable
storage/maria/ha_maria.cc:
  Fixed wrong argument to sql_print_error() and ma_check_print_error() (they require a format string)
storage/maria/ma_recovery.c:
  Create maria_recovery.trace in data directory instead of current directory
storage/maria/unittest/ma_test_loghandler-t.c:
  Fixed wrong argument to ok();  Requires a format string
storage/pbxt/src/strutil_xt.cc:
  Detect temporary tables by checking if that path for the table is in the mysql data directory.
  The database for temporary tables is after this patch, from PBXT point of view, ""
  This is needed to stop PBXT from calling filename_to_tablename() with the base directory as an argument, which caused
  ERROR: Invalid (old?) table or database name 'mysqld.1'" in the log when running the test suite.
tests/mysql_client_test.c:
  Fixed compiler warnings
unittest/mysys/base64-t.c:
  Fixed wrong argument to diag() (it requires a format string)
  Added a comment that the current 'print' of differing buffers doesn't print the right thing,
  but didn't fix this as it's not important (unless we find a bug in the real code)
2009-10-26 13:35:42 +02:00