<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/mariadb-git.git/sql/sql_insert.cc, branch bb-10.4-merge</title>
<subtitle>github.com: MariaDB/server.git
</subtitle>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/mariadb-git.git/'/>
<entry>
<title>MDEV-21697: Galera assertion !wsrep_has_changes(thd) || (thd-&gt;lex-&gt;sql_command == SQLCOM_CREATE_TABLE &amp;&amp; !thd-&gt;is_current_stmt_binlog_format_row())</title>
<updated>2021-03-25T09:14:50+00:00</updated>
<author>
<name>mkaruza</name>
<email>mario.karuza@galeracluster.com</email>
</author>
<published>2021-03-16T11:53:40+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/mariadb-git.git/commit/?id=d1ff2c583f452d8e1899f800609c329c998f0a33'/>
<id>d1ff2c583f452d8e1899f800609c329c998f0a33</id>
<content type='text'>
Prevent adding WSREP keys with CTAS when table is is not InnoDB.

Reviewed-by: Jan Lindström &lt;jan.lindstrom@mariadb.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Prevent adding WSREP keys with CTAS when table is is not InnoDB.

Reviewed-by: Jan Lindström &lt;jan.lindstrom@mariadb.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cleanup: THD::abort_current_cond_wait()</title>
<updated>2021-02-12T17:05:34+00:00</updated>
<author>
<name>Sergei Golubchik</name>
<email>serg@mariadb.org</email>
</author>
<published>2021-02-05T14:00:38+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/mariadb-git.git/commit/?id=259a1902a066d01547e5d70ba0e4837d1be62e7b'/>
<id>259a1902a066d01547e5d70ba0e4837d1be62e7b</id>
<content type='text'>
* reuse the loop in THD::abort_current_cond_wait, don't duplicate it
* find_thread_by_id should return whatever it has found, it's the
  caller's task not to kill COM_DAEMON (if the caller's a killer)

and other minor changes
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* reuse the loop in THD::abort_current_cond_wait, don't duplicate it
* find_thread_by_id should return whatever it has found, it's the
  caller's task not to kill COM_DAEMON (if the caller's a killer)

and other minor changes
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge 10.3 into 10.4</title>
<updated>2021-01-11T08:35:06+00:00</updated>
<author>
<name>Marko Mäkelä</name>
<email>marko.makela@mariadb.com</email>
</author>
<published>2021-01-11T08:35:06+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/mariadb-git.git/commit/?id=fd5e103aa4b97e080dd497b93992e5f32ef83fdf'/>
<id>fd5e103aa4b97e080dd497b93992e5f32ef83fdf</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>MDEV-17891 Assertion failure upon attempt to replace into a full table</title>
<updated>2021-01-07T04:53:41+00:00</updated>
<author>
<name>Nikita Malyavin</name>
<email>nikitamalyavin@gmail.com</email>
</author>
<published>2019-03-05T11:12:54+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/mariadb-git.git/commit/?id=d846b55d9b899b4ecd318567e75c9713ca44ba23'/>
<id>d846b55d9b899b4ecd318567e75c9713ca44ba23</id>
<content type='text'>
Problem: Assertion `transactional_table || !changed ||
thd-&gt;transaction.stmt.modified_non_trans_table' failed due REPLACE into a
versioned table.

It is not specific to system versioning/pertitioning/heap, but this
combination makes it much easier to reproduce.

The thing is to make first ha_update_row call succeed to make
info-&gt;deleted != 0. And then make REPLACE fail by any reason.

In this scenario we overflow versioned partition, so next ha_update_row
succeeds, but corresponding ha_write_row fails to insert history record.

Fix: modified_non_trans_table is set in one missed place
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem: Assertion `transactional_table || !changed ||
thd-&gt;transaction.stmt.modified_non_trans_table' failed due REPLACE into a
versioned table.

It is not specific to system versioning/pertitioning/heap, but this
combination makes it much easier to reproduce.

The thing is to make first ha_update_row call succeed to make
info-&gt;deleted != 0. And then make REPLACE fail by any reason.

In this scenario we overflow versioned partition, so next ha_update_row
succeeds, but corresponding ha_write_row fails to insert history record.

Fix: modified_non_trans_table is set in one missed place
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge 10.3 into 10.4</title>
<updated>2020-12-23T12:52:59+00:00</updated>
<author>
<name>Marko Mäkelä</name>
<email>marko.makela@mariadb.com</email>
</author>
<published>2020-12-23T12:52:59+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/mariadb-git.git/commit/?id=0aa02567dd62d96467f84ba96cc67b103f63c9e0'/>
<id>0aa02567dd62d96467f84ba96cc67b103f63c9e0</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>MDEV-24099: sql/sql_insert ip_len issue on AIX</title>
<updated>2020-12-15T21:46:58+00:00</updated>
<author>
<name>Etienne Guesnet</name>
<email>etienne.guesnet.external@atos.net</email>
</author>
<published>2020-12-15T21:44:58+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/mariadb-git.git/commit/?id=8de323f81acd830035a11058d5b76127d71616a4'/>
<id>8de323f81acd830035a11058d5b76127d71616a4</id>
<content type='text'>
ip_len has a different meaning on AIX so we use a
different variable name here not to conflict.

Backport from MDEV-20178 2f5d372444cff53914cfcd118e92a91f575cec35
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
ip_len has a different meaning on AIX so we use a
different variable name here not to conflict.

Backport from MDEV-20178 2f5d372444cff53914cfcd118e92a91f575cec35
</pre>
</div>
</content>
</entry>
<entry>
<title>MDEV-15532 after-merge fixes from Monty</title>
<updated>2020-12-02T14:16:29+00:00</updated>
<author>
<name>Marko Mäkelä</name>
<email>marko.makela@mariadb.com</email>
</author>
<published>2020-12-02T14:16:29+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/mariadb-git.git/commit/?id=24ec8eaf66ecd864529309c5edcb8dd6b685f2aa'/>
<id>24ec8eaf66ecd864529309c5edcb8dd6b685f2aa</id>
<content type='text'>
The Galera tests were massively failing with debug assertions.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The Galera tests were massively failing with debug assertions.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge 10.3 into 10.4</title>
<updated>2020-12-01T17:51:14+00:00</updated>
<author>
<name>Marko Mäkelä</name>
<email>marko.makela@mariadb.com</email>
</author>
<published>2020-12-01T17:51:14+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/mariadb-git.git/commit/?id=589cf8dbf3accf57673d7e2f7a4435f7eaf33565'/>
<id>589cf8dbf3accf57673d7e2f7a4435f7eaf33565</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge 10.2 into 10.3</title>
<updated>2020-12-01T12:55:46+00:00</updated>
<author>
<name>Marko Mäkelä</name>
<email>marko.makela@mariadb.com</email>
</author>
<published>2020-12-01T12:55:46+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/mariadb-git.git/commit/?id=81ab9ea63f5d3ad4909bb75552008d6b035a371b'/>
<id>81ab9ea63f5d3ad4909bb75552008d6b035a371b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>MDEV 15532 Assertion `!log-&gt;same_pk' failed in row_log_table_apply_delete</title>
<updated>2020-11-30T20:21:43+00:00</updated>
<author>
<name>Monty</name>
<email>monty@mariadb.org</email>
</author>
<published>2020-11-30T13:29:32+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/mariadb-git.git/commit/?id=828471cbf83774f4537a78551290b7a4a7f5d374'/>
<id>828471cbf83774f4537a78551290b7a4a7f5d374</id>
<content type='text'>
The reason for the failure is that
thd-&gt;mdl_context.release_transactional_locks()
was called after commit &amp; rollback even in cases where the current
transaction is still active.

For 10.2, 10.3 and 10.4 the fix is simple:
- Replace all calls to thd-&gt;mdl_context.release_transactional_locks() with
  thd-&gt;release_transactional_locks(). The thd function will only call
  the mdl_context function if there are no active transactional locks.
  In 10.6 we will better fix where we will change the return value for
  some trans_xxx() functions to indicate if transaction did close the
  transaction or not. This will avoid the need of the indirect call.

Other things:
- trans_xa_commit() and trans_xa_rollback() will automatically
  call release_transactional_locks() if the transaction is closed.
- We can't do that for the other functions as the caller of many of these
  are doing additional work (like close_thread_tables) before calling
  release_transactional_locks().
- Added missing abort_result_set() and missing DBUG_RETURN in
  select_create::send_eof()
- Fixed wrong indentation in injector::transaction::commit()
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The reason for the failure is that
thd-&gt;mdl_context.release_transactional_locks()
was called after commit &amp; rollback even in cases where the current
transaction is still active.

For 10.2, 10.3 and 10.4 the fix is simple:
- Replace all calls to thd-&gt;mdl_context.release_transactional_locks() with
  thd-&gt;release_transactional_locks(). The thd function will only call
  the mdl_context function if there are no active transactional locks.
  In 10.6 we will better fix where we will change the return value for
  some trans_xxx() functions to indicate if transaction did close the
  transaction or not. This will avoid the need of the indirect call.

Other things:
- trans_xa_commit() and trans_xa_rollback() will automatically
  call release_transactional_locks() if the transaction is closed.
- We can't do that for the other functions as the caller of many of these
  are doing additional work (like close_thread_tables) before calling
  release_transactional_locks().
- Added missing abort_result_set() and missing DBUG_RETURN in
  select_create::send_eof()
- Fixed wrong indentation in injector::transaction::commit()
</pre>
</div>
</content>
</entry>
</feed>
