1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-04 01:23:45 +03:00
Commit Graph

106 Commits

Author SHA1 Message Date
559efad44e Merge 10.4 into 10.5 2021-04-27 09:10:47 +03:00
90a306a7ab Merge 10.3 into 10.4 2021-04-27 08:53:50 +03:00
29b2f3dbb5 MDEV-24545 Sequence created by one connection remains invisible to another
row_merge_is_index_usable(): Allow access to any SEQUENCE, even if it was
created after the read view. SQL sequences are no-rollback tables with no
history at all.
2021-04-27 08:44:28 +03:00
25d9d2e37f Merge branch 'bb-10.4-release' into bb-10.5-release 2021-02-15 16:43:15 +01:00
00a313ecf3 Merge branch 'bb-10.3-release' into bb-10.4-release
Note, the fix for "MDEV-23328 Server hang due to Galera lock conflict resolution"
was null-merged. 10.4 version of the fix is coming up separately
2021-02-12 17:44:22 +01:00
c207f04ecc MDEV-21785: sequences used as default by other table not dumped in right order by mysqldump
Dump sequences first.

This atch made to keep it small and
to keep number of queries to the server the same.

Order of tables in a dump can not be changed
(except sequences first) because mysql_list_tables
uses SHOW TABLES and I used SHOW FULL TABLES.
2021-01-26 10:41:02 +01:00
02e7bff882 Merge commit '10.4' into 10.5 2021-01-06 10:53:00 +01:00
0aa02567dd Merge 10.3 into 10.4 2020-12-23 14:52:59 +02:00
86fc37b668 MDEV-19273: Server crash in MDL_ticket::has_stronger_or_equal_type or Assertion `thd->mdl_context.is_lock_owner(MDL_key::TABLE, table->db.str, table->table_name.str, MDL_SHARED)' failed in mysql_rm_table_no_locks
Early report error in case of DROP SEQUENCE <non-sequence>

Do not use error variable for other purposes except error.
2020-12-09 12:31:12 +01:00
898521e2dd Merge 10.4 into 10.5 2020-10-30 11:15:30 +02:00
7b2bb67113 Merge 10.3 into 10.4 2020-10-29 13:38:38 +02:00
e183aec1d7 MDEV-24018: SIGSEGV in Item_func_nextval::update_table on SELECT SETVAL
Reviewed-by: wlad@mariadb.com
2020-10-27 15:17:54 +01:00
81870e499f MDEV-21786 mysqldump will forget sequence definition details on --no-data dump
- Original patch was contributed by Jani Tolonen <jani.k.tolonen@gmail.com>
https://github.com/an3l/server/commits/bb-10.3-anel-MDEV-21786-dump-sequence
which distinguishes data structure (linked list) of sequences from
tables.
- Added standard sql output to prevent future changes
of sequences and disabled locks for sequences.
- Added test case for `MDEV-20070: mysqldump won't work correct on
sequences` where table column depends on sequence value.
- Restore sequence last value in the following way:
  - Find `next_not_cached_value` and use it to `setval()`
  - We just need for logical restore, so don't execute `setval()`
  - `setval()` should be showed also in case of `--no-data` option.

Reviewed-by: daniel@mariadb.org
2020-10-23 09:06:56 +02:00
25ede13611 Merge branch '10.4' into 10.5 2020-09-29 16:59:36 +05:30
ce845b7a2f Merge branch '10.3' into 10.4 2020-09-28 17:55:39 +05:30
a6987d9fb9 MDEV-23823 Crash in SELECT NEXT VALUE on locked view
Make open_table() fail if sequence should be opened, but it turns out to
be locked view.
2020-09-28 09:49:46 +02:00
4ec032b492 Merge 10.4 into 10.5 2020-07-21 17:33:16 +03:00
b1538f4d60 Merge 10.3 into 10.4 2020-07-21 16:36:47 +03:00
e26c822aa0 MDEV-16929 Assertion ... in close_thread_tables upon killing connection
Problem was that the code didn't handle a transaction created in innodb
as part of a failed mysql_lock_tables()
2020-07-21 15:12:53 +03:00
dfb41fddf6 Make error messages from DROP TABLE and DROP TABLE IF EXISTS consistent
- IF EXISTS ends with a list of all not existing object, instead of a
  separate note for every not existing object
- Produce a "Note" for all wrongly dropped objects
  (like trying to do DROP SEQUENCE for a normal table)
- Do not write existing tables that could not be dropped to binlog

Other things:
MDEV-22820 Bogus "Unknown table" warnings produced upon attempt to drop
           parent table referenced by FK
This was caused by an older version of this commit patch and later fixed
2020-06-14 19:39:42 +03:00
d3681335b1 Merge 10.4 into 10.5 2020-06-08 12:58:11 +03:00
57022dfb25 Merge 10.3 into 10.4 2020-06-08 11:45:28 +03:00
a9bee9884a Don't allow ALTER TABLE ... ORDER BY on SEQUENCE objects
MDEV-19320 Sequence gets corrupted and produces ER_KEY_NOT_FOUND
           (Can't find record) after ALTER .. ORDER BY
2020-06-07 16:32:00 +03:00
e6a6382f15 Don't allow illegal create options for SEQUENCE
MDEV-19977 Assertion `(0xFUL & mode) == LOCK_S ||
           (0xFUL & mode) == LOCK_X' failed in lock_rec_lock
2020-06-07 16:32:00 +03:00
496d0372ef Merge 10.4 into 10.5 2020-04-29 15:40:51 +03:00
b63446984c Merge 10.3 into 10.4 2020-04-27 17:38:17 +03:00
f7437d8a3c Flag a result dependency on PLUGIN_PERFSCHEMA 2020-04-27 14:29:23 +03:00
fbe2712705 Merge 10.4 into 10.5
The functional changes of commit 5836191c8f
(MDEV-21168) are omitted due to MDEV-742 having addressed the issue.
2020-04-25 21:57:52 +03:00
af91266498 Merge 10.3 into 10.4
In main.index_merge_myisam we remove the test that was added in
commit a2d24def8c because
it duplicates the test case that was added in
commit 5af12e4635.
2020-04-16 12:12:26 +03:00
84db10f27b Merge 10.2 into 10.3 2020-04-15 09:56:03 +03:00
7af733a5a2 perfschema compilation, test and misc fixes 2020-03-10 19:24:23 +01:00
a15234bf4b Merge branch '10.3' into 10.4 2019-12-09 15:09:41 +01:00
1fbd9bb2c5 Merge pull request #1261 from robertbindar/mdev-17978
MDEV-17978 Server crash in SHOW CREATE SEQUENCE on a broken view
2019-12-05 18:26:52 +02:00
4670a23957 Re-record sql_sequence.rebuild with sorted_result 2019-12-03 14:37:45 +02:00
8d2a57b4b7 MDEV-15977 Assertion !thd->in_sub_stmt failed in trans_commit_stmt 2019-12-02 13:43:16 +02:00
ec40980ddd Merge 10.3 into 10.4 2019-11-01 15:23:18 +02:00
de2186dd2f MDEV-20074: Lost connection on update trigger
Instead of checking lex->sql_command which does not corect in case of triggers
mark tables for insert.
2019-10-17 17:32:14 +02:00
b5615eff0d Write information about restart in .result
Idea comes from MySQL which does something similar
2019-04-01 19:47:24 +03:00
d30124e844 MDEV-17503 CREATE SEQUENCE failed with innodb_force_primary_key =1
Fixed by adding table flag HA_WANTS_PRIMARY_KEY, which is like
HA_REQUIRE_PRIMARY_KEY but tells SQL upper layer that the storage engine
internally can handle tables without primary keys (for example for
sequences or trough user variables)
2018-10-29 16:12:52 +02:00
7aa80ba66b Sequences with negative numbers and auto_increment_increment crashes
This also fixes MDEV-16313 Assertion `next_free_value % real_increment == offset' fails upon CREATE SEQUENCE in galera cluster

Fixed by adding llabs() to assert.
Also adjusted auto_increment_offset to mod auto_increment_increment.
2018-08-30 17:38:01 +03:00
d6976a7e52 MDEV-16234 CREATE TABLE .. SELECT LASTVAL breaks replication
Fixed by marking NEXTVAL() and LASTVAL() to be replicated row based
2018-05-22 18:33:18 +03:00
1cb4caa66d MDEV-15970 Crash when doing truncate on locked sequence
Problem was that we used table->s->db_type() for accessing
handlerton of opened file instead of table->file->ht

Other bug fixed:
- Ensure that we set error if reopen_tables() fails
  (This was the cause of assert)
2018-05-14 10:08:05 +03:00
2deb17fd54 sql_sequence.debug_sync fails upon server startup
Debug command-line option should be loose, otherwise the test
fails before it has a chance to be skipped
2018-05-09 02:05:25 +03:00
a536664e80 Added test case for MDEV-13029
MDEV 13029 Assertion `ds_control' failed in debug_sync upon closing connection
after creating temporary sequence

This test doesn't fail anymore. Adding it to ensure that the bug doesn't
appear again.
2018-05-08 13:29:41 +03:00
bd09c5ca86 Added test case for MDEV-13007 ALTER .. ENGINE on temporary sequence may go wrong
Looks like the bug was fixed some time ago (at least I can't repeat it).
I added the test case just have this case tested properly.
2018-05-07 16:39:53 +03:00
a22a339f8e MDEV-13024: Server crashes in my_store_ptr upon DELETE from sequence in multi-table format
It is test only (fix was done by Monty in ha_sequence::open by allocating ref)
2018-05-06 22:21:55 +02:00
0bfd45f634 Fix for MDEV-15812 Assert in SEQUENCE when forcing STATEMEMT format
The bug was the we copied the lock type to the underlying engine even when
external_lock failed.
2018-05-06 19:39:48 +03:00
57c3dd991b MDEV-15106 Unexpected ER_WRONG_INSERT_INTO_SEQUENCE upon INSERT with multiple locks on sequences
Fixed by removing the check of single lock in sequence insert and let MDL
code handle deadlock detection
2018-05-03 17:49:39 +03:00
0bdc15d86e MDEV-15732: Assertion `next_free_value % real_increment == offset && next_free_value >= reserved_until' failed in sequence_definition::adjust_values upon SETVAL for sequence with INCREMENT 0
there was a problem with "next_free_value >= reserved_until" condition:
SEQUENCE::set_value handle next_free_value & reserved_until after adjust_values() call, so it is incorect to put assert on it in adjust_values()
2018-04-26 15:38:16 +02:00
1730ac5c4a MDEV-15348 Failure to load CREATE SEQUENCE...ROW_FORMAT=REDUNDANT
dict_sys_tables_type_valid(): Do not reject NO_ROLLBACK (sequence)
in ROW_FORMAT=REDUNDANT.

dict_load_table_low(): When flagging an error, assign *table = NULL.
Failure to do so could cause a crash if an error was flagged when
accessing INFORMATION_SCHEMA.INNODB_SYS_TABLES.
2018-04-07 04:22:44 +03:00