Commit graph

86687 commits

Author SHA1 Message Date
Olivier Bertrand
eca84a9b18 - Add (limited) support for UPDATE and DELETE to ODBC tables
(also provide the possibility to issue NOTE warnings)

modified:
  storage/connect/connect.cc
  storage/connect/ha_connect.cc
  storage/connect/ha_connect.h
  storage/connect/odbconn.cpp
  storage/connect/odbconn.h
  storage/connect/plgdbsem.h
  storage/connect/tabodbc.cpp
  storage/connect/tabodbc.h

- Return proper error number when modifying read only tables

modified:
  storage/connect/connect.cc
  storage/connect/ha_connect.cc
  storage/connect/ha_connect.h
  storage/connect/mysql-test/connect/r/bin.result
  storage/connect/mysql-test/connect/r/csv.result
  storage/connect/mysql-test/connect/r/dbf.result
  storage/connect/mysql-test/connect/r/fix.result
  storage/connect/mysql-test/connect/r/ini.result
  storage/connect/mysql-test/connect/r/vec.result
  storage/connect/mysql-test/connect/t/bin.test
  storage/connect/mysql-test/connect/t/csv.test
  storage/connect/mysql-test/connect/t/dbf.test
  storage/connect/mysql-test/connect/t/fix.test
  storage/connect/mysql-test/connect/t/ini.test
  storage/connect/mysql-test/connect/t/vec.test
  storage/connect/table.cpp
  storage/connect/taboccur.cpp
  storage/connect/tabpivot.cpp
  storage/connect/tabutil.cpp
  storage/connect/tabwmi.cpp
  storage/connect/tabxcl.cpp
2013-11-11 13:00:39 +01:00
Sergei Golubchik
80a523dbfb MDEV-5116 MariaDB upgrade breaks replication
mysql_upgrade should do --skip-write-binlog by default
2013-11-11 09:31:20 +01:00
Sergei Golubchik
feea10a453 MDEV-5101 INFORMATION_SCHEMA.PROCESSLIST reports an incorrect value for Time for connecting threads
by convention query execution time should be 0 if its start_time is 0
(this was lost when fixing MDEV-4578)
2013-11-11 09:31:17 +01:00
Sergei Golubchik
41fc2493ed MDEV-5186 /usr/bin/mysqld_safe doesn't have NUMA options support
port mysqld_safe numa extensions from percona-server: --flush-caches and --numa-interleave
2013-11-11 09:31:13 +01:00
Sergei Golubchik
e10d42d93b MDEV-5022 Strange message or wrong errno on mismatching versions of plugin and server
1. use an appropriate errno code
2. put a comma between the errno and the error message text
2013-11-11 09:31:09 +01:00
Sergei Golubchik
6971eaf3f0 MDEV-5030 RPM installation not running mysql_install_db if datadir exists
before running mysql_install_db check for the existence
of $datadir/mysql, not simply $datadir ($datadir might be mounted on
a separate device - exists, but empty)
2013-11-11 09:31:05 +01:00
Sergei Golubchik
d042e61f8e MDEV-5054 Failing test(s): main.mysqld--help sys_vars.character_sets_dir_basic
fix tests where a path was used as a regex.
revert changes to sys_vars.character_sets_dir_basic - we don't run it on windows anyway
2013-11-11 09:31:02 +01:00
Sergei Golubchik
e780bd9efa MDEV-4977 ./mysql-test/mysql-test-run.pl not identifying mariadb version
quote the path when using it in a regex - the path might contain wildcards (e.g. +)
2013-11-11 09:30:58 +01:00
Sergei Golubchik
db635ab590 MDEV-5124 cmake failure when fullhostname is not resolved
expand fullhostname inside the string, to have an empty string, not nothing,
when fullhostname is not defined
2013-11-11 09:30:48 +01:00
Sergei Golubchik
3d57c343e5 MDEV-5038 put tokudb into the server package 2013-11-11 09:30:35 +01:00
Elena Stepanova
668a5a4ab8 MDEV-5272 MTR/mysqltest overlays for included files do not work on Windows 2013-11-11 00:15:42 +04:00
Elena Stepanova
1f13733b50 MDEV-5272 MTR/mysqltest overlays for included files do not work on Windows
Modified according to the review comment
2013-11-10 23:19:21 +04:00
Sergei Golubchik
07d3fc5220 MDEV-201 - Assertion `!thd->spcont' failed in net_send_error on server shutdown
restore sergii@pisem.net-20120327141644-xue6r05x1giswwsm
that was lost in a merge
2013-11-10 17:51:26 +01:00
Sergei Golubchik
5ffa6904d2 MDEV-4880 Attempt to create a table without columns produces ER_ILLEGAL_HA instead of ER_TABLE_MUST_HAVE_COLUMNS 2013-11-10 17:51:20 +01:00
Sergei Golubchik
f3c63615d8 MDEV-4734 Adding ending / to a directory can fail when the directory ends with 0
+1 typo fixed
2013-11-10 17:51:13 +01:00
Sergei Golubchik
1c6394e503 MDEV-4931 Can't use SHUTDOWN in stored programs
keywords that a statement could start from can only be
in the 'keyword' list, never in the 'keyword_sp'
2013-11-10 17:51:06 +01:00
Sergei Golubchik
5e2b5510a4 MDEV-5260 discovery with sql is too restrictive
allow ENGINE=FOOBAR in the discovering create table statement,
as long as the discovering engine is FOOBAR too
2013-11-10 17:51:01 +01:00
Sergei Golubchik
09b63917be MDEV-5238 Server crashes in find_role_grant_pair on SHOW GRANTS for an anonymous user 2013-11-10 17:50:52 +01:00
Elena Stepanova
700397a8e2 Fix for overlayed include files on Windows and a test case 2013-11-10 14:37:32 +04:00
Olivier Bertrand
e5c589a8da - BUG fixed: When updating, to avoid skipped update, force the table
handler to retrieve write-only fields to be able to compare
  records and detect data change.

modified:
  storage/connect/ha_connect.cc

- Preparing UPDATE ad DELETE on ODBC tables
  (new function added but not used yet)

modified:
  storage/connect/tabodbc.cpp
  storage/connect/tabodbc.h
2013-11-09 17:32:57 +01:00
Sergei Golubchik
ab2bf1ad0b merge with 10.0.5 2013-11-09 11:05:51 +01:00
Sergei Golubchik
af22c45ec7 mariadb-tokudb-engine-10.0.deb 2013-11-09 11:04:54 +01:00
Michael Widenius
192678e7bf MDEV-5241: Collation incompatibilities with MySQL-5.6
- Character set code & tests from Alexander Barkov
- Integration with ALTER TABLE, REPAIR and open_table from Monty

The problem was that MySQL 5.6 added some croatian and vitanamese character set collations that are incompatible with MariaDB.

The fix is to move the MariaDB conflicting collation numbers out of the region that MySQL is likely to use.
mysql_upgrade, REPAIR TABLE or ALTER TABLE will fix the collations.
If one tries to access and old incompatible table, one will get the error "Table upgrade required...."
After this patch, MariaDB supports all the MySQL character set collations and the old MariaDB croatian collations, which are closer to the latest standard than the MySQL versions.

New character sets:
ucs2_croatian_mysql561_uca_ci
utf8_croatian_mysql561_uca_ci
utf16_croatian_mysql561_uca_ci
utf32_croatian_mysql561_uca_ci
utf8mb4_croatian_mysql561_uca_ci

Other things:
- Fixed some compiler warnings
- mysql_upgrade prints information about repaired tables.
- Increased version number

VERSION:
  Increased VERSION number
client/mysqlcheck.c:
  Print repaired table name when using --verbose
include/m_ctype.h:
  Add new MariaDB collation regions that are not likely to conflict with MySQL
include/my_base.h:
  Added flag to detect if table was opened for ALTER TABLE
mysql-test/r/ctype_ldml.result:
  Updated result
mysql-test/r/ctype_uca.result:
  Updated result
mysql-test/r/ctype_upgrade.result:
  Updated result
mysql-test/r/ctype_utf16_uca.result:
  Updated result
mysql-test/r/ctype_utf32_uca.result:
  Updated result
mysql-test/r/ctype_utf8mb4_uca.result:
  Updated result
mysql-test/std_data/ctype_upgrade:
  Test files for testing upgrading of conflicting collations
mysql-test/suite/engines/funcs/r/db_alter_collate_ascii.result:
  New collations added
mysql-test/suite/engines/funcs/r/db_alter_collate_utf8.result:
  New collations added
mysql-test/suite/innodb/r/innodb_ctype_ldml.result:
  Updated test result
mysql-test/suite/innodb/t/innodb_ctype_ldml.test:
  Updated test result
mysql-test/suite/plugins/r/show_all_plugins.result:
  Updated version number
mysql-test/suite/roles/create_and_drop_role_invalid_user_table.result:
  Updated version number
mysql-test/t/ctype_ldml.test:
  Updated test
mysql-test/t/ctype_uca.test:
  Testing of new collations
mysql-test/t/ctype_upgrade.test:
  Testing of upgrading tables with old collations
  The test ensures that:
  - We will get an error if we try to open a table with old collations.
  - CHECK TABLE will detect that the table needs to be upgraded.
  - ALTER TABLE and REPAIR will fix the table.
  - mysql_upgrade works as expected
mysql-test/t/ctype_utf16_uca.test:
  Testing of new collations
mysql-test/t/ctype_utf32_uca.test:
  Testing of new collations
mysql-test/t/ctype_utf8mb4_uca.test:
  Testing of new collations
mysys/charset-def.c:
  Added new character sets
mysys/charset.c:
  Always give an error, if requested, if a character set didn't exist
sql/handler.cc:
  - Added upgrade_collation() to check if collation is compatible with old version
  - check_collation_compatibility() checks if we are using an old collation from MariaDB 5.5 or MySQL 5.6
  - ha_check_for_upgrade() returns HA_ADMIN_NEEDS_ALTER if we have an incompatible collation
sql/handler.h:
  Added new prototypes
sql/sql_table.cc:
  - Mark that tables are opened for ALTER TABLE
  - If table needs to be upgraded, ensure we are not using online alter table.
sql/table.cc:
  - If we are using an old incompatible collation, change to use the new one and mark table as incompatible.
  - Give an error if we try to open an incompatible table.
sql/table.h:
  Added error that table needs to be rebuild
storage/connect/ha_connect.cc:
  Fixed compiler warning
strings/ctype-uca.c:
  New character sets
2013-11-09 00:20:07 +02:00
Alexander Barkov
8f0be1ad7c Merge 5.5 -> 10.0-base 2013-11-09 00:16:42 +04:00
Alexander Barkov
ef43b71fd2 Merge 5.3 -> 5.5 2013-11-08 23:14:26 +04:00
Alexander Barkov
542ce5a068 Merge 5.2 -> 5.3 2013-11-08 22:50:01 +04:00
Alexander Barkov
d5cd8cd724 Merge 5.1 -> 5.2 2013-11-08 22:22:25 +04:00
Alexander Barkov
a4dc526fc7 MDEV-5181 incorrect binary search in remove_status_vars()
The loop in the binary search in remove_status_vars() was
incorrectly implemented and could continue infinitely in some cases.
Rewrote the binary search code.
2013-11-08 22:19:24 +04:00
Alexander Barkov
e02ad98c63 Merge 5.5 -> 10.0-base 2013-11-08 20:59:08 +04:00
unknown
7876d53b5f MDEV-4506: Parallel replication.
Delete any left-over deferred_event from rpl_group_info when
deleting the parent object, to protect against memory leaks.
2013-11-08 15:14:18 +01:00
Alexander Barkov
4bf339453d A patch from Kristian:
Remove rpl_group_info from THD before freeing it,
to avoid access-after-free in THD.
2013-11-08 16:20:58 +04:00
unknown
2ea0e59937 MDEV-4506: Parallel replication
Tested manually that crash in the middle of writing transaction on the master
does correctly cause a rollback on slave, so remove the corresponding ToDo.
2013-11-08 11:41:13 +01:00
Alexander Barkov
d79d0c4045 merge 5.3 -> 5.5 2013-11-08 14:30:35 +04:00
Alexander Barkov
a33bb00144 MDEV-4842 STR_TO_DATE does not work with UCS2/UTF16/UTF32 2013-11-08 14:18:16 +04:00
Sergei Golubchik
80112232d1 misc fixes for buildbot 2013-11-07 14:30:21 +01:00
Elena Stepanova
3959be70b2 10.0-specific changes to storage_engine tests 2013-11-08 23:44:20 +04:00
Elena Stepanova
ae62e19f27 Various changes coming from 5.6 2013-11-08 23:25:06 +04:00
Elena Stepanova
54b443b9aa Some system tables have InnoDB engine 2013-11-08 23:24:27 +04:00
Elena Stepanova
317efa2a45 Semantics of ALTER ONLINE changed to mirror ALTER .. LOCK=NONE 2013-11-08 23:23:35 +04:00
Elena Stepanova
cb8889756a Virtual columns are supported in InnoDB 2013-11-08 23:22:59 +04:00
Elena Stepanova
5920d03d3f Fulltext search is supported in InnoDB 2013-11-08 23:22:25 +04:00
Elena Stepanova
aefded6302 Duplicate warnings were removed 2013-11-08 23:21:58 +04:00
Elena Stepanova
66ed34d6ed More comprehensive error messages and codes 2013-11-08 23:21:26 +04:00
Elena Stepanova
949cb948de InnoDB is built-in until XtraDB is merged 2013-11-08 23:20:50 +04:00
Sergei Golubchik
f0e06e31ff 10.0 version of MDEV-5254 2013-11-07 13:39:46 +01:00
Sergei Golubchik
d1f2ba3985 MDEV-5250 doesn't install on fedora if mysql is installed
when our package is to replace "mysql", it has both provide and obsolete it
2013-11-07 13:22:27 +01:00
Sergei Golubchik
0c6a40f2d5 increase the version 2013-11-07 13:22:19 +01:00
unknown
e05962000d MDEV-4506: Parallel replication
Fix access of freed memory in debug builds. When deleting serial_rgi,
safe_mutex was trying to access current_thd, when that thd had just been
deleted (I hate all this current_thd and other magic thread local storage crap
used all over the code). Now delete the serial_rgi before the thd.
2013-11-07 11:56:06 +01:00
unknown
273bcb92c1 Merge 10.0-base to 10.0 2013-11-07 07:52:40 +01:00
Elena Stepanova
e6c78988ed Fixes for storage_engine test suite 2013-11-07 04:31:52 +04:00