<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/mariadb-git.git/sql/select_handler.cc, branch 10.56-MDEV-30986</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>Added detection of memory overwrite with multi_malloc</title>
<updated>2023-02-27T17:25:44+00:00</updated>
<author>
<name>Monty</name>
<email>monty@mariadb.org</email>
</author>
<published>2023-02-26T16:33:10+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/mariadb-git.git/commit/?id=57c526ffb852fb027e25fdc77173d45bdc60b8a2'/>
<id>57c526ffb852fb027e25fdc77173d45bdc60b8a2</id>
<content type='text'>
This patch also fixes some bugs detected by valgrind after this
patch:

- Not enough copy_func elements was allocated by Create_tmp_table() which
  causes an memory overwrite in Create_tmp_table::add_fields()
  I added an ASSERT() to be able to detect this also without valgrind.
  The bug was that TMP_TABLE_PARAM::copy_fields was not correctly set
  when calling create_tmp_table().
- Aria::empty_bits is not allocated if there is no varchar/char/blob
  fields in the table.  Fixed code to take this into account.
  This cannot cause any issues as this is just a memory access
  into other Aria memory and the content of the memory would not be used.
- Aria::last_key_buff was not allocated big enough. This may have caused
  issues with rtrees and ma_extra(HA_EXTRA_REMEMBER_POS) as they
  would use the same memory area.
- Aria and MyISAM didn't take extended key parts into account, which
  caused problems when copying rec_per_key from engine to sql level.
- Mark asan builds with 'asan' in version strihng to detect these in
  not_valgrind_build.inc.
  This is needed to not have main.sp-no-valgrind fail with asan.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch also fixes some bugs detected by valgrind after this
patch:

- Not enough copy_func elements was allocated by Create_tmp_table() which
  causes an memory overwrite in Create_tmp_table::add_fields()
  I added an ASSERT() to be able to detect this also without valgrind.
  The bug was that TMP_TABLE_PARAM::copy_fields was not correctly set
  when calling create_tmp_table().
- Aria::empty_bits is not allocated if there is no varchar/char/blob
  fields in the table.  Fixed code to take this into account.
  This cannot cause any issues as this is just a memory access
  into other Aria memory and the content of the memory would not be used.
- Aria::last_key_buff was not allocated big enough. This may have caused
  issues with rtrees and ma_extra(HA_EXTRA_REMEMBER_POS) as they
  would use the same memory area.
- Aria and MyISAM didn't take extended key parts into account, which
  caused problems when copying rec_per_key from engine to sql level.
- Mark asan builds with 'asan' in version strihng to detect these in
  not_valgrind_build.inc.
  This is needed to not have main.sp-no-valgrind fail with asan.
</pre>
</div>
</content>
</entry>
<entry>
<title>MDEV-23825 Join select_handler and Pushdown_select + XPand changes</title>
<updated>2020-09-27T06:30:23+00:00</updated>
<author>
<name>Alexander Barkov</name>
<email>bar@mariadb.com</email>
</author>
<published>2020-09-26T14:04:17+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/mariadb-git.git/commit/?id=080522dcd7177a0008824802cd58a36ee8048d8f'/>
<id>080522dcd7177a0008824802cd58a36ee8048d8f</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.4 into 10.5</title>
<updated>2020-03-27T07:39:15+00:00</updated>
<author>
<name>Marko Mäkelä</name>
<email>marko.makela@mariadb.com</email>
</author>
<published>2020-03-27T07:39:15+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/mariadb-git.git/commit/?id=53aabda6b5ac6af989a97a00ff97efda9ff8772e'/>
<id>53aabda6b5ac6af989a97a00ff97efda9ff8772e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>MDEV-21887: federatedx crashes on SELECT ... INTO query in select_handler code</title>
<updated>2020-03-26T12:01:44+00:00</updated>
<author>
<name>Sergei Petrunia</name>
<email>psergey@askmonty.org</email>
</author>
<published>2020-03-26T12:01:44+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/mariadb-git.git/commit/?id=af4b2ae8588bd51cc17e66cfc8210c3225992fbe'/>
<id>af4b2ae8588bd51cc17e66cfc8210c3225992fbe</id>
<content type='text'>
Backport to 10.4:

- Don't try to push down SELECTs that have a side effect

- In case the storage engine did support pushdown of SELECT with an INTO
  clause, write the rows we've got from it into select-&gt;join-&gt;result,
  and not thd-&gt;protocol.  This way, SELECT ... INTO ... FROM
  smart_engine_table will put the result into where instructed, and
  NOT send it to the client.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Backport to 10.4:

- Don't try to push down SELECTs that have a side effect

- In case the storage engine did support pushdown of SELECT with an INTO
  clause, write the rows we've got from it into select-&gt;join-&gt;result,
  and not thd-&gt;protocol.  This way, SELECT ... INTO ... FROM
  smart_engine_table will put the result into where instructed, and
  NOT send it to the client.
</pre>
</div>
</content>
</entry>
<entry>
<title>MDEV-21887: federatedx crashes on SELECT ... INTO query in select_handler code</title>
<updated>2020-03-06T22:14:41+00:00</updated>
<author>
<name>Sergei Petrunia</name>
<email>psergey@askmonty.org</email>
</author>
<published>2020-03-06T22:14:41+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/mariadb-git.git/commit/?id=cbbe4971b6b26a5017a7da5ebfd89e3aee9f4387'/>
<id>cbbe4971b6b26a5017a7da5ebfd89e3aee9f4387</id>
<content type='text'>
- Don't try to push down SELECTs that have a side effect

- In case the storage engine did support pushdown of SELECT with an INTO
  clause, write the rows we've got from it into select-&gt;join-&gt;result,
  and not thd-&gt;protocol.  This way, SELECT ... INTO ... FROM
  smart_engine_table will put the result into where instructed, and
  NOT send it to the client.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Don't try to push down SELECTs that have a side effect

- In case the storage engine did support pushdown of SELECT with an INTO
  clause, write the rows we've got from it into select-&gt;join-&gt;result,
  and not thd-&gt;protocol.  This way, SELECT ... INTO ... FROM
  smart_engine_table will put the result into where instructed, and
  NOT send it to the client.
</pre>
</div>
</content>
</entry>
<entry>
<title>MDEV-18553: MDEV-16327 pre-requisits part 3: move kill check in one place</title>
<updated>2019-10-13T07:40:41+00:00</updated>
<author>
<name>Oleksandr Byelkin</name>
<email>sanja@mariadb.com</email>
</author>
<published>2019-09-30T15:20:28+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/mariadb-git.git/commit/?id=a6de6408042267558d9fb1f8efa884f8d09d1a34'/>
<id>a6de6408042267558d9fb1f8efa884f8d09d1a34</id>
<content type='text'>
Kill check moved from send_data() methids in its wrapper:
send_data_with_check().
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Kill check moved from send_data() methids in its wrapper:
send_data_with_check().
</pre>
</div>
</content>
</entry>
<entry>
<title>MDEV-19831 find_select_handler() now tries its best to find a</title>
<updated>2019-08-24T17:49:15+00:00</updated>
<author>
<name>Roman Nozdrin</name>
<email>roman.nozdrin@mariadb.com</email>
</author>
<published>2019-08-24T17:47:24+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/mariadb-git.git/commit/?id=9fce94287827eee4c1bcddd70a4aacff96314871'/>
<id>9fce94287827eee4c1bcddd70a4aacff96314871</id>
<content type='text'>
handlerton that is able to processes the whole query. For that it
traverses tables from subqueries.

Select_handler now cleans up temporary table structures on dctor call.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
handlerton that is able to processes the whole query. For that it
traverses tables from subqueries.

Select_handler now cleans up temporary table structures on dctor call.
</pre>
</div>
</content>
</entry>
<entry>
<title>MDEV-17096 Pushdown of simple derived tables to storage engines</title>
<updated>2019-02-13T06:56:24+00:00</updated>
<author>
<name>Igor Babaev</name>
<email>igor@askmonty.org</email>
</author>
<published>2019-02-13T06:56:24+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/mariadb-git.git/commit/?id=27c3abde3071ad2010cbcda5b07435ad15364a70'/>
<id>27c3abde3071ad2010cbcda5b07435ad15364a70</id>
<content type='text'>
MDEV-17631 select_handler for a full query pushdown

Added comments and file headers for files introduced in these tasks.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
MDEV-17631 select_handler for a full query pushdown

Added comments and file headers for files introduced in these tasks.
</pre>
</div>
</content>
</entry>
<entry>
<title>MDEV-17096 Pushdown of simple derived tables to storage engines</title>
<updated>2019-02-10T06:54:26+00:00</updated>
<author>
<name>Igor Babaev</name>
<email>igor@askmonty.org</email>
</author>
<published>2019-02-10T06:54:26+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/mariadb-git.git/commit/?id=d11be23933def394585fae83a6f1ab561e3736f2'/>
<id>d11be23933def394585fae83a6f1ab561e3736f2</id>
<content type='text'>
Resolved the problem of forming a proper query string for FEDERATEDX.
Added test cases.

Cleanup of extra spaces.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Resolved the problem of forming a proper query string for FEDERATEDX.
Added test cases.

Cleanup of extra spaces.
</pre>
</div>
</content>
</entry>
<entry>
<title>MDEV-17096 Pushdown of simple derived tables to storage engines</title>
<updated>2019-02-07T01:02:44+00:00</updated>
<author>
<name>Igor Babaev</name>
<email>igor@askmonty.org</email>
</author>
<published>2018-10-09T09:36:09+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/mariadb-git.git/commit/?id=16327fc2e76e9215059894b461e8aca7f989da00'/>
<id>16327fc2e76e9215059894b461e8aca7f989da00</id>
<content type='text'>
MDEV-17631 select_handler for a full query pushdown

Interfaces + Proof of Concept for federatedx with test cases.

The interfaces have been developed for integration of ColumnStore engine.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
MDEV-17631 select_handler for a full query pushdown

Interfaces + Proof of Concept for federatedx with test cases.

The interfaces have been developed for integration of ColumnStore engine.
</pre>
</div>
</content>
</entry>
</feed>
