summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* MDEV-18358: Server crash when using SET STATEMENT max_statement_timebb-10.4-MDEV-18358Oleksandr Byelkin2019-03-044-4/+21
| | | | Do not init lex before choosing main select.
* Long Index is only allowed for unique keys not normal index.bb-10.4-blob-index-finalsachin2019-02-253-3/+35
|
* fix embedded server testmariadb-10.4.3Oleksandr Byelkin2019-02-242-23/+23
|
* MDEV-18668 Server crash or ASAN use-after-poison in Item_equal_iterator /Igor Babaev2019-02-243-1/+30
| | | | | | | st_select_lex::pushdown_from_having_into_where upon query with impossible WHERE condition Do not push from HAVING into impossible WHERE
* MDEV-18681 Server crashes in embedding_sjmIgor Babaev2019-02-243-8/+49
| | | | | Do not do substitution for best equal field in HAVING conditions. It's not needed.
* Server maturity changeOleksandr Byelkin2019-02-231-1/+1
|
* Stabilize the test.Oleksandr Byelkin2019-02-233-0/+20
|
* make windows compiler happyOleksandr Byelkin2019-02-221-2/+2
|
* Fix buildbot Windows and bintar compile failuresachin2019-02-222-3/+3
|
* MDEV-371 Unique Index for long columnsSergei Golubchik2019-02-2211-134/+133
| | | | post-merge fixes
* mysql_prepare_create_table() inconsistencySergei Golubchik2019-02-222-2/+8
| | | | | | | | sql_field->key_length was 0 for blob fields when a field was being added, but Field_blob::character_octet_length() on subsequent ALTER TABLE's (when the Field object in the old table already existed). This means mysql_prepare_create_table() couldn't reliably detect if the keyseg was a prefix.
* MDEV-371 Unique Index for long columnsSachin2019-02-2246-98/+4118
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch implements engine independent unique hash index. Usage:- Unique HASH index can be created automatically for blob/varchar/test column whose key length > handler->max_key_length() or it can be explicitly specified. Automatic Creation:- Create TABLE t1 (a blob unique); Explicit Creation:- Create TABLE t1 (a int , unique(a) using HASH); Internal KEY_PART Representations:- Long unique key_info will have 2 representations. (lets understand this with an example create table t1(a blob, b blob , unique(a, b)); ) 1. User Given Representation:- key_info->key_part array will be similar to what user has defined. So in case of example it will have 2 key_parts (a, b) 2. Storage Engine Representation:- In this case there will be only one key_part and it will point to HASH_FIELD. This key_part will be always after user defined key_parts. So:- User Given Representation [a] [b] [hash_key_part] key_info->key_part ----^ Storage Engine Representation [a] [b] [hash_key_part] key_info->key_part ------------^ Table->s->key_info will have User Given Representation, While table->key_info will have Storage Engine Representation.Representation can be changed into each other by calling re/setup_keyinfo_hash function. Working:- 1. So when user specifies HASH_INDEX or key_length is > handler->max_key_length(), In mysql_prepare_create_table One extra vfield is added (for each long unique key). And key_info->algorithm is set to HA_KEY_ALG_LONG_HASH. 2. In init_from_binary_frm_image values for hash_keypart is set (like fieldnr , field and flags) 3. In parse_vcol_defs, HASH_FIELD->vcol_info is created. Item_func_hash is used with list of Item_fields, When Explicit length is given by user then Item_left is used to concatenate Item_field values. 4. In ha_write_row/ha_update_row check_duplicate_long_entry_key is called which will create the hash key from table->record[0] and then call ha_index_read_map , if we found duplicated hash , we will compare the result field by field.
* fix test to pass on embedded sereverOleksandr Byelkin2019-02-212-4/+4
|
* mysql_install_db: make sure the variable's value is visibleSergei Golubchik2019-02-211-5/+5
| | | | | move the assignment out of a function, so that it wouldn't happen in a subshell
* MDEV-18677 clang-cl 7 fails to compile innodbMarko Mäkelä2019-02-211-5/+11
| | | | | | ib_counter_element_t: Declare as struct, not union. Based on patch by Vladislav Vaintroub
* MDEV-12484 Enable unix socket authentication by defaultSergei Golubchik2019-02-214-167/+17
| | | | | | | | Debian part. Do not ask to set a root password, do not create debian-sys-maint user (but preserve an existing one on upgrades - user scripts might be relying on it). Just create an empty /etc/mysql/debian.cnf for --defaults-file not to fail
* don't invoke error interceptors for fatal errorsSergei Golubchik2019-02-212-26/+2
| | | | | | | | and, again, *don't use thd->clear_error()* this fixed main.sp_notembedded failure on various amd64 platforms (where ER_STACK_OVERRUN_NEED_MORE happens to fire in open_stat_tables() under Dummy_error_handler)
* MDEV-18297 clarify mysql_install_db help textSergei Golubchik2019-02-211-0/+10
|
* MDEV-18297 How to reset a forgotten root passwordSergei Golubchik2019-02-215-40/+62
| | | | | | | | | After FLUSH PRIVILEGES remember if the connection started under --skip-grant-tables and keep it all-powerful, not a lowly anonymous. One could use this connection to reset passwords as needed. Also fix a crash in SHOW CREATE USER
* don't consider the password "expired" if authentication is passwordlessSergei Golubchik2019-02-213-2/+35
|
* MDEV-7597 Expiration of user passwordsSergei Golubchik2019-02-2121-359/+251
| | | | | | | | | | | | | | | | | post-merge changes: * handle password expiration on old tables like everything else - make changes in memory, even if they cannot be done on disk * merge "debug" tests with non-debug tests, they don't use dbug anyway * only run rpl password expiration in MIXED mode, it doesn't replicate anything, so no need to repeat it thrice * restore update_user_table_password() prototype, it should not change ACL_USER, this is done in acl_user_update() * don't parse json twice in get_password_lifetime and get_password_expired * remove LEX_USER::is_changing_password, see if there was any auth instead * avoid overflow in expiration calculations * don't initialize Account_options in the constructor, it's bzero-ed later * don't create ulong sysvars - they're not portable, prefer uint or ulonglong * misc simplifications
* MDEV-7597 Expiration of user passwordsRobert Bindar2019-02-2134-99/+1259
| | | | | | | | | | | | | | | | | This patch adds support for expiring user passwords. The following statements are extended: CREATE USER user@localhost PASSWORD EXPIRE [option] ALTER USER user@localhost PASSWORD EXPIRE [option] If no option is specified, the password is expired with immediate effect. If option is DEFAULT, global policy applies according to the default_password_lifetime system var (if 0, password never expires, if N, password expires every N days). If option is NEVER, the password never expires and if option is INTERVAL N DAY, the password expires every N days. The feature also supports the disconnect_on_expired_password system var and the --connect-expired-password client option. Closes #1166
* try harder to link unix_socket plugin staticallySergei Golubchik2019-02-2112-50/+14
| | | | fix unix_socket tests to work if unix_socket is a built-in
* update C/CSergei Golubchik2019-02-211-0/+0
|
* store string lengths in frm in 1-3 bytesSergei Golubchik2019-02-213-66/+65
|
* don't allow TIME columns in PERIOD specificationSergei Golubchik2019-02-213-1/+8
|
* UPDATE FOR PERIOD OF: don't crash on multi-table viewsSergei Golubchik2019-02-215-6/+32
|
* update sql_yacc_ora.yy to match sql_yacc.yySergei Golubchik2019-02-212-14/+60
|
* misc cleanupsSergei Golubchik2019-02-2110-100/+95
|
* testsSergei Golubchik2019-02-2110-141/+316
| | | | | | * don't suppress output unnecessary * only run system versioning tests with two innodb combinations * show results of delete/update (add SELECTs as needed)
* MDEV-16975 Application-time periods: ALTER TABLENikita Malyavin2019-02-2117-53/+533
| | | | | * implicit period constraint is hidden and cannot be dropped independently * create...like and create...select support
* MDEV-16974 Application-time periods: UPDATENikita Malyavin2019-02-218-25/+579
|
* MDEV-16973 Application-time periods: DELETENikita Malyavin2019-02-2115-128/+1048
| | | | | | | * inject portion of time updates into mysql_delete main loop * triggered case emits delete+insert, no updates * PORTION OF `SYSTEM_TIME` is forbidden * `DELETE HISTORY .. FOR PORTION OF ...` is forbidden as well
* MDEV-17082 Application-time periods: CREATENikita Malyavin2019-02-2118-189/+617
| | | | | * add syntax `CREATE TABLE ... PERIOD FOR <apptime>` * add table period entity
* move aws_sdk to extra/Sergei Golubchik2019-02-213-7/+3
|
* Merge branch '10.3' into 10.4Oleksandr Byelkin2019-02-21217-1985/+6121
|\
| * Merge branch 'bb-10.3-release' into 10.3Oleksandr Byelkin2019-02-201-27/+0
| |\
| | * remove aws-key management pluginmariadb-10.3.13Oleksandr Byelkin2019-02-201-27/+0
| | |
| * | MDEV-18663 Tests : use --core-file if mariabackup output is redirected to a fileVladislav Vaintroub2019-02-204-4/+4
| |/ | | | | | | This is done in order to help debugging buildbot failures.
| * Updated list of unstable tests for 10.3.13 releaseElena Stepanova2019-02-201-139/+121
| |
| * make compatible parser in sync with main oneOleksandr Byelkin2019-02-191-12/+29
| |
| * Merge branch '10.2' into bb-10.3-mergeOleksandr Byelkin2019-02-195-8/+14
| |\
| | * Merge branch '10.1' into 10.2Oleksandr Byelkin2019-02-195-8/+14
| | |\
| | | * 1. centos has symlinks /bin->usr/bin and /sbin -> usr/sbin,Oleksandr Byelkin2019-02-191-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | but even if this script called as /bin/mysql_install_db it is still standard install and scripts are in /usr/share/ (but not in the /share/) 2. fix of bindir path
| | | * Don't build aws_key_management plugin by defaultSergei Golubchik2019-02-194-3/+9
| | | |
| * | | Merge branch '10.3' into bb-10.3-mergeOleksandr Byelkin2019-02-1937-322/+386
| |\ \ \
| | * \ \ Merge 10.2 into 10.3Marko Mäkelä2019-02-19211-2061/+6208
| | |\ \ \ | | | |/ /
| | | * | MDEV-18639 Assertion failure upon attempt to start with lower number of undo ↵Thirunarayanan Balathandayuthapani2019-02-193-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | tablespaces trx_rseg_t::is_persistent(): Correct a bogus debug assertion.
| | | * | Merge 10.1 into 10.2Marko Mäkelä2019-02-193-6/+3
| | | |\ \ | | | | |/
| | | | * Fixed bug in macro _ma_mark_page_with_transid()Monty2019-02-193-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | | By pure chance the macro worked in the cases it was used, but better to get this fixed!