maria:bb-11.1-ycp

Last commit made on 2023-10-13
Get this branch:
git clone -b bb-11.1-ycp https://git.launchpad.net/maria

Branch merges

Branch information

Name:
bb-11.1-ycp
Repository:
lp:maria

Recent commits

46ccd9a... by Yuchen Pei <email address hidden>

MDEV-29502 Fix some issues with spider direct aggregate

The direct aggregate mechanism sems to be only intended to work when
otherwise a full table scan query will be executed from the spider
node and the aggregation done at the spider node too. Typically this
happens in sub_select(). In the test spider.direct_aggregate_part
direct aggregate allows to send COUNT statements directly to the data
nodes and adds up the results at the spider node, instead of iterating
over the rows one by one at the spider node.

By contrast, the group by handler (GBH) typically sends aggregated
queries directly to data nodes, in which case DA does not improve the
situation here.

That is why we should fix it by disabling DA when GBH is used.

There are other reasons supporting this change. First, the creation of
GBH results in a call to change_to_use_tmp_fields() (as opposed to
setup_copy_fields()) which causes the spider DA function
spider_db_fetch_for_item_sum_funcs() to work on wrong items. Second,
the spider DA function only calls direct_add() on the items, and the
follow-up add() needs to be called by the sql layer code. In
do_select(), after executing the query with the GBH, it seems that the
required add() would not necessarily be called.

Disabling DA when GBH is used does fix the bug. There are a few
other things included in this commit to improve the situation with
spider DA:

1. Add a session variable that allows user to disable DA completely,
this will help as a temporary measure if/when further bugs with DA
emerge.

2. Move the increment of direct_aggregate_count to the spider DA
function. Currently this is done in rather bizarre and random
locations.

3. Fix the spider_db_mbase_row creation so that the last of its row
field (sentinel) is NULL. The code is already doing a null check, but
somehow the sentinel field is on an invalid address, causing the
segfaults. With a correct implementation of the row creation, we can
avoid such segfaults.

3f962ae... by Yuchen Pei <email address hidden>

MDEV-31673 MDEV-29502 Remove spider_db_handler::need_lock_before_set_sql_for_exec

This function trivially returns false

cdee97e... by Yuchen Pei <email address hidden>

MDEV-31117 Fix spider connection info parsing

Spider connection string is a comma-separated parameter definitions,
where each definition is of the form "<param_title> <param_value>",
where <param_value> is quote delimited on both ends, with backslashes
acting as an escaping prefix.

Despite the simple syntax, the existing spider connection string
parser was poorly-written, complex, hard to reason and error-prone,
causing issues like the one described in MDEV-31117. For example it
treated param title the same way as param value when assigning, and
have nonsensical fields like delim_title_len and delim_title.

Thus as part of the bugfix, we clean up the spider comment connection
string parsing, including:

- Factoring out some code from the parsing function
- Simplify the struct `st_spider_param_string_parse`
- And any necessary changes caused by the above changes

05d850d... by Sergei Golubchik

Merge branch '11.0' into 11.1

3f6bccb... by Sergei Golubchik

Merge branch '10.11' into 11.0

8044606... by VladislavVaintroub

MDEV-32252 "Backup Utilities" not available to install on windows

Commit 738d4604b723237681cacbffd0fb88da14ed314a changed component name
from "backup" to "Backup". Use the new name now.

034848c... by Sergei Golubchik

Merge branch '10.10' into 10.11

11c6917... by Sergei Golubchik

fix galera.galera_as_slave_gtid_myisam for 10.10+

f031889... by Sergei Golubchik

Merge branch '11.0' into 11.1

9880006... by Sergei Golubchik

update wsrep.wsrep_provider_plugin_defaults to 26.4.16