- 24 Jun, 2019 1 commit
-
-
Alexander Barkov authored
-
- 22 Jun, 2019 2 commits
-
-
Alexander Barkov authored
-
Alexander Barkov authored
-
- 21 Jun, 2019 1 commit
-
-
Alexander Barkov authored
-
- 20 Jun, 2019 3 commits
-
-
Alexander Barkov authored
-
Marko Mäkelä authored
-
Alexander Barkov authored
-
- 19 Jun, 2019 4 commits
-
-
Vladislav Vaintroub authored
Use __builtin_ctzll on GCC/Clang and _BitScanForward/_BitScanForward64 on MSVC to speed up Table_map_iterator::next_bit(), up to 3 times in benchmarks
-
Vladislav Vaintroub authored
Removed Field_map, since it was used only in a single function. Fixed is_indexed_agg_distinct(), since it relied on initialization of Bitmap in constructor.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
- 18 Jun, 2019 9 commits
-
-
Daniel Bartholomew authored
-
Michael Widenius authored
The test cases for the MDEV found several independent bugs in MariaDB server and Aria: - If a temporary table was marked as crashed, it could never be deleted. - Opening of a crashed temporary table gave an error message but the error was never forwarded to the caller which caused an assert() in my_ok() - init_read_record() did mmap of all temporary tables, which is probably not a good idea as this area can potentially be very big. Changed code to only mmap internal temporary tables. - mmap-ed tables where not unmapped in case of repair/optimize which caused bad data in table and crashes if the original table files where replaced with new ones (as the old mmap was still in place). Fixed by removing the mmap in case of repair. - Cleaned up usage of code that disabled mmap in Aria
-
Sergei Golubchik authored
-
Michael Widenius authored
Problem was that in case of implicit rollback for alter table Aria did try to run commit twice. The test case for this is tricky to do in 10.2, so it will be added to 10.4 as part of BACKUP STAGE testing.
-
mkaruza authored
MDEV-18832 Galera: 10.4 node crashed with Assertion `state() == s_committing' if you create SEQUENCE, use it, then drop and recreate and use again (#1339) We could still end committing to binlog even in rollback. Do not proceed with WSREP commit in this case.
-
mkaruza authored
MDEV-18940 Galera: Rolling upgrade: all nodes except upgraded node5 failed with Assertion `meta->gtid.seqno == wsrep_thd_trx_seqno(thd)' with SEQUENCEs (#1342) Empty write sets will not trigger apply callback, and will not update thread wsrep_trx_meta.gtid.seqno. Because of that assert will be triggered when commit callback is called.
-
Marko Mäkelä authored
-
Vladislav Vaintroub authored
-
Alexander Barkov authored
In collaboration with Sergey Vojtovich <svoj@mariadb.org> The COMPRESSED clause is now a part of the data type and goes immediately after the data type and length, but before the CHARACTER SET clause, and before column attributes such as DEFAULT, COLLATE, ON UPDATE, SYSTEM VERSIONING, engine specific column attributes. In the old reduction, the COMPRESSED clause was a column attribute. New syntax: <varchar or text data type> <length> <compression> <character set> <column attributes> <varbinary or blob data type> <length> <compression> <column attributes> New syntax examples: VARCHAR(1000) COMPRESSED CHARACTER SET latin1 DEFAULT '' BLOB COMPRESSED DEFAULT '' Deprecate syntax examples: VARCHAR(1000) CHARACTER SET latin1 COMPRESSED DEFAULT '' TEXT CHARACTER SET latin1 DEFAULT '' COMPRESSED VARBINARY(1000) DEFAULT '' COMPRESSED As a side effect: - COMPRESSED is not valid as an SP label name in SQL/PSM routines any more (but it's still valid as an SP label name in sql_mode=ORACLE) - COMPRESSED is now allowed in combination with GENERATED ALWAYS AS: TEXT COMPRESSED GENERATED ALWAYS AS REPEAT('a',1000)
-
- 17 Jun, 2019 20 commits
-
-
Vladislav Vaintroub authored
- Do not scan registry to check if TCPIP is supported. - Do not read registry under HKEY_LOCAL_MACHINE\SOFTWARE\MySQL anymore. - Do not load threadpool function dynamically, it is available since Win7. - simplify win32_init_tcp_ip(), and return error of WSAStartup() fails. - Correct comment in my_parameter_handler()
-
Vladislav Vaintroub authored
No need to do dynamic loading and fallbacks anymore. We can safely assume Windows 7, and availability of all SRWLock functions.
-
Sergei Golubchik authored
followup for 0a43df4f
-
Sergei Golubchik authored
-
Vladislav Vaintroub authored
Do not check my_errno before it is set, check errno instead. Also, do not check errno, if prior pread() did not fail.
-
Vladislav Vaintroub authored
Restore the detection of default charset in command line utilities. It worked up to 10.1, but was broken by Connector/C. Moved code for detection of default charset from sql-common/client.c to mysys, and make command line utilities to use this code if charset was not specified on the command line.
-
Vladislav Vaintroub authored
-
Daniel Bartholomew authored
-
Michael Widenius authored
There was two separate problems: - Aria pagecache didn't properly handle re-reading of blocks that have given errors before (this triggered an assert) - temporary tables that where opened several times where not properly closed in ALTER, REPAIR or OPTIMIZE table Other things - Added a couple of asserts that will make it easier to find problems like this in the future.
-
Sergei Golubchik authored
post-merge fixes: * .gitignore * don't put the keyword COMPONENT into ${COMP} anymore * don't alias mytop, but do alias mysql_client_test * don't symlink manpages, use troff aliasing technique instead (symlinked manpages break rpm and out-of-source bintar builds) * move debian to use troff aliased manpages, fix typos in debian files, put aliases in the correct packages, add more aliases to match rpm/bintar packaging
-
Rasmus Johansson authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
in HEAP btree indexes, the address of a record in memory is part of the key. So, when inserting many identical keys, the actual btree shape is defined by how and where records in memory are allocated. records_in_range uses floats to estimate the size of the chunk of the btree between min and max records, it depends on the btree shape and, thus, is not portable either. As are optimizer decisions that are based on records_in_range estimations, if the number happens to be close to a tipping point. as a fix, reduce the number of matching rows, so that even with system-specific variations the optimizer would still pick the expected plan. Fixes heap.heap failure (range vs ALL) on ppc64
-
Sergei Golubchik authored
if ${CRC32_LIBRARY} target has no COMPILE_FLAGS yet, GET_TARGET_PROPERTY returns COMPILE_FLAGS-NOTFOUND, which doesn't work very well when it's later fed back into COMPILE_FLAGS. GET_PROPERTY() returns an empty string in this case.
-
Sergei Golubchik authored
-
Sergei Golubchik authored
MDEV-15526 SysV init service deployed file '/etc/init.d/mysql' prevents systemctl disable command to work correctly (mariadb|mysql naming support) (debian/ubuntu) mariadb service is controlled by systemd Do not install SysV init script on Debian/Ubuntu in /etc/init.d/ put it in /usr/share/mysql in case the user would need it for something. Use systemctl in pre/post scripts directly without funky conditionals and wrapper scripts
-
Sergei Golubchik authored
fixes MDEV-14732 mysql.db privileges evaluated on order of grants rather than hierarchically MDEV-8269 Correct fix for Bug #20181776 :- ACCESS CONTROL DOESN'T MATCH MOST SPECIFIC HOST WHEN IT CONTAINS WILDCARD reimplement the old ad hoc get_sort() function to use a wildcard pattern ordering logic that works correctly in may be all practical cases. get_sort() is renamed to catch merge errors at compilation time. moved to a separate included file, because of a long comment.
-
Sergei Golubchik authored
username can be empty, meaning anybody, or must match literally. only db and host names are matched with wildcards.
-
Georg Richter authored
Server and command line tools now support option --tls_version to specify the TLS version between client and server. Valid values are TLSv1.0, TLSv1.1, TLSv1.2, TLSv1.3 or a combination of them. E.g. --tls_version=TLSv1.3 --tls_version=TLSv1.2,TLSv1.3 In case there is a gap between versions, the lowest version will be used: --tls_version=TLSv1.1,TLSv1.3 -> Only TLSv1.1 will be available. If the used TLS library doesn't support the specified TLS version, it will use the default configuration. Limitations: SSLv3 is not supported. The default configuration doesn't support TLSv1.0 anymore. TLSv1.3 protocol currently is only supported by OpenSSL 1.1.0 (client and server) and GnuTLS 3.6.5 (client only). Overview of TLS implementations and protocols Server: +-----------+-----------------------------------------+ | Library | Supported TLS versions | +-----------+-----------------------------------------+ | WolfSSL | TLSv1.1, TLSv1,2 | +-----------+-----------------------------------------+ | OpenSSL | (TLSv1.0), TLSv1.1, TLSv1,2, TLSv1.3 | +-----------+-----------------------------------------+ | LibreSSL | (TLSv1.0), TLSv1.1, TLSv1,2, TLSv1.3 | +-----------+-----------------------------------------+ Client (MariaDB Connector/C) +-----------+-----------------------------------------+ | Library | Supported TLS versions | +-----------+-----------------------------------------+ | GnuTLS | (TLSv1.0), TLSv1.1, TLSv1.2, TLSv1.3 | +-----------+-----------------------------------------+ | Schannel | (TLSv1.0), TLSv1.1, TLSv1.2 | +-----------+-----------------------------------------+ | OpenSSL | (TLSv1.0), TLSv1.1, TLSv1,2, TLSv1.3 | +-----------+-----------------------------------------+ | LibreSSL | (TLSv1.0), TLSv1.1, TLSv1,2, TLSv1.3 | +-----------+-----------------------------------------+
-