<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/mariadb-git.git/sql/sql_window.cc, branch preview-10.8-MDEV-14425-innodb</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>Merge branch '10.5' into 10.6</title>
<updated>2021-08-02T08:11:41+00:00</updated>
<author>
<name>Oleksandr Byelkin</name>
<email>sanja@mariadb.com</email>
</author>
<published>2021-08-02T08:11:41+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/mariadb-git.git/commit/?id=6efb5e9f5e3cd3ec811ae832a67e1878c14f0dea'/>
<id>6efb5e9f5e3cd3ec811ae832a67e1878c14f0dea</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch '10.4' into 10.5</title>
<updated>2021-07-31T21:19:51+00:00</updated>
<author>
<name>Oleksandr Byelkin</name>
<email>sanja@mariadb.com</email>
</author>
<published>2021-07-31T21:19:51+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/mariadb-git.git/commit/?id=ae6bdc6769646a09a8d4d08a42a69174ea677768'/>
<id>ae6bdc6769646a09a8d4d08a42a69174ea677768</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch '10.2' into 10.3</title>
<updated>2021-07-21T18:11:07+00:00</updated>
<author>
<name>Sergei Golubchik</name>
<email>serg@mariadb.org</email>
</author>
<published>2021-07-21T18:11:07+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/mariadb-git.git/commit/?id=6190a02f3593f82e2d4916ed660afb5e5d631a5a'/>
<id>6190a02f3593f82e2d4916ed660afb5e5d631a5a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>MDEV-25565 Crash on 2-nd execution of SP/PS for query calculating window functions</title>
<updated>2021-07-20T18:26:33+00:00</updated>
<author>
<name>Igor Babaev</name>
<email>igor@askmonty.org</email>
</author>
<published>2021-07-10T01:56:34+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/mariadb-git.git/commit/?id=4c387945f0f8d5df84ae987c4a4bba7675815c72'/>
<id>4c387945f0f8d5df84ae987c4a4bba7675815c72</id>
<content type='text'>
           from view

A crash of the server happened when executing a stored procedure whose the
only query calculated window functions over a mergeable view specified
as a select from non-mergeable view. The crash could be reproduced if
the window specifications of the window functions were identical and both
contained PARTITION lists and ORDER BY lists. A crash also happened on
the second execution of the prepared statement created for such query.
If to use derived tables or CTE instead of views the problem still
manifests itself crashing the server.

When optimizing the window specifications of a window function the
server can substitute the partition lists and the order lists for
the corresponding lists from another window specification in the case
when the lists are identical. This substitution is not permanent and should
be rolled back before the second execution. It was not done and this
ultimately led to a crash when resolving the column names at the second
execution of SP/PS.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
           from view

A crash of the server happened when executing a stored procedure whose the
only query calculated window functions over a mergeable view specified
as a select from non-mergeable view. The crash could be reproduced if
the window specifications of the window functions were identical and both
contained PARTITION lists and ORDER BY lists. A crash also happened on
the second execution of the prepared statement created for such query.
If to use derived tables or CTE instead of views the problem still
manifests itself crashing the server.

When optimizing the window specifications of a window function the
server can substitute the partition lists and the order lists for
the corresponding lists from another window specification in the case
when the lists are identical. This substitution is not permanent and should
be rolled back before the second execution. It was not done and this
ultimately led to a crash when resolving the column names at the second
execution of SP/PS.
</pre>
</div>
</content>
</entry>
<entry>
<title>Replace item-&gt;marker= # with Item-&gt;marker= DEFINE</title>
<updated>2021-05-26T19:12:49+00:00</updated>
<author>
<name>Monty</name>
<email>monty@mariadb.org</email>
</author>
<published>2021-05-25T12:58:46+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/mariadb-git.git/commit/?id=e8a54a376ad4c8166b411aef96c358be8e781cc2'/>
<id>e8a54a376ad4c8166b411aef96c358be8e781cc2</id>
<content type='text'>
- Better, easier to read code (no used of 'random' constants).
- All defines are now unique, so it is easier to find bugs if
  somethings goes wrong.

Other things:
- Created sub function of common code in Aggregator_distinct::setup() and
  Item_func_group_concat::setup() that set item-&gt;marker
- More documentation
- Folded a few long lines.
- Allmost all changes in item.cc, sql_lex.cc and sql_window.cc are done
  with 'replace'.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Better, easier to read code (no used of 'random' constants).
- All defines are now unique, so it is easier to find bugs if
  somethings goes wrong.

Other things:
- Created sub function of common code in Aggregator_distinct::setup() and
  Item_func_group_concat::setup() that set item-&gt;marker
- More documentation
- Folded a few long lines.
- Allmost all changes in item.cc, sql_lex.cc and sql_window.cc are done
  with 'replace'.
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove calls to current_thd() in Item functions</title>
<updated>2021-05-19T20:27:28+00:00</updated>
<author>
<name>Michael Widenius</name>
<email>monty@mariadb.org</email>
</author>
<published>2020-08-03T10:13:39+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/mariadb-git.git/commit/?id=9448548481c590257f1523731fa81327db8db4ae'/>
<id>9448548481c590257f1523731fa81327db8db4ae</id>
<content type='text'>
- Added THD argument to functions that calls current_thd() or
  new without a mem_root argument:
  make_same(), set_comparator_func(), set_cmp_func(), set_cmp_func*(),
  set_aggregator() and prepare_sum_aggregators()
- Changed "new Class" to "new (thd-&gt;mem_root) Class"

Almost all changes mechanical, no logic changes.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Added THD argument to functions that calls current_thd() or
  new without a mem_root argument:
  make_same(), set_comparator_func(), set_cmp_func(), set_cmp_func*(),
  set_aggregator() and prepare_sum_aggregators()
- Changed "new Class" to "new (thd-&gt;mem_root) Class"

Almost all changes mechanical, no logic changes.
</pre>
</div>
</content>
</entry>
<entry>
<title>Change bitfields in Item to an uint16</title>
<updated>2021-05-19T20:27:28+00:00</updated>
<author>
<name>Michael Widenius</name>
<email>monty@mariadb.org</email>
</author>
<published>2020-08-02T09:31:14+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/mariadb-git.git/commit/?id=3105c9e7a5eb3706f6520e1566ed4a2add06c6a5'/>
<id>3105c9e7a5eb3706f6520e1566ed4a2add06c6a5</id>
<content type='text'>
The reason for the change is that neither clang or gcc can do efficient
code when several bit fields are change at the same time or when copying
one or more bits between identical bit fields.
Updated bits explicitely with &amp; and | is MUCH more efficient than what
current compilers can do.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The reason for the change is that neither clang or gcc can do efficient
code when several bit fields are change at the same time or when copying
one or more bits between identical bit fields.
Updated bits explicitely with &amp; and | is MUCH more efficient than what
current compilers can do.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge 10.4 into 10.5</title>
<updated>2020-07-15T11:51:22+00:00</updated>
<author>
<name>Marko Mäkelä</name>
<email>marko.makela@mariadb.com</email>
</author>
<published>2020-07-15T11:51:22+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/mariadb-git.git/commit/?id=e67daa5653490074850bc9f5d2deef58f2a10d8e'/>
<id>e67daa5653490074850bc9f5d2deef58f2a10d8e</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-07-14T19:59:19+00:00</updated>
<author>
<name>Marko Mäkelä</name>
<email>marko.makela@mariadb.com</email>
</author>
<published>2020-07-14T14:13:37+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/mariadb-git.git/commit/?id=8a0944080c950349aaf7c81bc8f8c63b262f98eb'/>
<id>8a0944080c950349aaf7c81bc8f8c63b262f98eb</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>MDEV-22463: Element_type &amp;Bounds_checked_array&lt;Item *&gt;::operator[](size_t) [Element_type = Item *]: Assertion `n &lt; m_size' failed.</title>
<updated>2020-07-13T16:34:54+00:00</updated>
<author>
<name>Varun Gupta</name>
<email>varun.gupta@mariadb.com</email>
</author>
<published>2020-07-10T05:15:04+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/mariadb-git.git/commit/?id=b0df247db675a721198f2d4dbeb098cd57d932a3'/>
<id>b0df247db675a721198f2d4dbeb098cd57d932a3</id>
<content type='text'>
Allocate space for fields inside the window function (arguments, PARTITION BY and ORDER BY clause)
in the ref pointer array. All fields inside the window function are part of the temporary
table that is required for the window function computation.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Allocate space for fields inside the window function (arguments, PARTITION BY and ORDER BY clause)
in the ref pointer array. All fields inside the window function are part of the temporary
table that is required for the window function computation.
</pre>
</div>
</content>
</entry>
</feed>
