- 11 Sep, 2024 4 commits
-
-
Monty authored
Add support for removing the Content-Type header to the S3 engine. This is required for compatibility with some S3 providers. This also adds a provider option to the S3 engine which will turn on relevant compatibility options for specific providers. This was required for getting MariaDB S3 engine to work with "Huawei Cloud S3". To get Huawei S3 storage to work on has set one of the following S3 options: s3_provider=Huawei s3_ssl_no_verify=1 Author: Andrew Hutchings <andrew@mariadb.org>
-
Sergei Petrunia authored
-
Yuchen Pei authored
-
Daniel Black authored
The 10.5->10.6 merge commit 3bc98a4e casts the arg to an int16 pointer in set_extraction_flag_processor(). This matched the previous commit c76eabfb where set_extraction_flag was changed to have int16 arg instead of int. The commit a5e4c349 for MDEV-29363 added a call to set_extraction_flag_processor on IMMUTABLE_FL (MARKER_IMMUTABLE in 10.6). The subsequent 10.5->10.6 merge f071b762 did not cast the flag to int16 when merging this change. The result is big-endian processors cleared the immutable flag rather than set the flag, resulting in MDEV-29363 being unfixed on big-endian processors.
-
- 10 Sep, 2024 22 commits
-
-
Yuchen Pei authored
The functions called in blocks protected by this macro remain undefined as of 11.5 c96b23f9
-
Yuchen Pei authored
It's virtually empty now
-
Yuchen Pei authored
-
Yuchen Pei authored
-
Yuchen Pei authored
Show::Column() was added in MDEV-19772 4156b1a2
-
Yuchen Pei authored
handler::pre_calculate_checksum was added in MDEV-16249 be5c432a
-
Yuchen Pei authored
get_negated() was introduced in MDEV-16707
-
Yuchen Pei authored
sql_cache was moved to lex in MDEV-11953 in de745ecf
-
Yuchen Pei authored
{STRING|INT|REAL|DECIMAL|DATE}_ITEM were replaced with CONST_ITEM in MDEV-14630 c20cd68e
-
Yuchen Pei authored
MDEV-16246 was fixed long ago. And this macro was removed in other versions too
-
Yuchen Pei authored
handler::need_info_for_auto_inc() was added in MDEV-7720 / MDEV-7726 in commit dc17ac16
-
Yuchen Pei authored
This macro is unused, and not in 11.5 c96b23f9
-
Yuchen Pei authored
This macro is unused
-
Yuchen Pei authored
The flag argument was added to handler::start_bulk_insert() in the MDEV-539 commit ca2cdaad
-
Yuchen Pei authored
new_data is const since at least 2017: a05a610d
-
Yuchen Pei authored
handler has can_use_for_auto_inc_init() since at latest 2017: dc17ac16
-
Yuchen Pei authored
-
Yuchen Pei authored
HA_EXTRA_USE_CMP_REF is undefined, and remains so as of 11.5 c96b23f9
-
Yuchen Pei authored
HA_EXTRA_STARTING_ORDERED_INDEX_SCAN was added latest 2018: 921c5e93
-
Yuchen Pei authored
net has thd since 2015 in 56aa1998 for MDEV-6152
-
Yuchen Pei authored
arg_count was protected since 2015 in commit afa17734
-
Yuchen Pei authored
unifdef -DSPIDER_HAS_HASH_VALUE_TYPE -m storage/spider/spd_* storage/spider/ha_spider.* storage/spider/hs_client/*
-
- 09 Sep, 2024 1 commit
-
-
Marko Mäkelä authored
-
- 08 Sep, 2024 1 commit
-
-
Sergei Petrunia authored
(Variant 4, with @@optimizer_adjust_secondary_key_costs, reuse in two places, and conditions are replaced with equivalent simpler forms in two more) In best_access_path(), ReuseRangeEstimateForRef-3, the check for whether "all used key_part_i used key_part_i=const" was incorrect: it may produced a "NO" answer for cases when we had: key_part1= const // some key parts are usable key_part2= value_not_in_join_prefix //present but unusable key_part3= non_const_value // unusable due to gap in key parts. This caused the optimizer to fail to apply ReuseRangeEstimateForRef heuristics. The consequence is poor query plan choice when the index in question has very skewed data distribution. The fix is enabled if its @@optimizer_adjust_secondary_key_costs flag is set.
-
- 07 Sep, 2024 2 commits
- 06 Sep, 2024 7 commits
-
-
Monty authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
In the bug report MDEV-32817 it occurred that the function row_mysql_get_table_status() is outputting a fil_space_t* as if it were a numeric tablespace identifier. ib_push_warning(): Remove. Let us invoke push_warning_printf() directly. innodb_decryption_failed(): Report a decryption failure and set the dict_table_t::file_unreadable flag. This code was being duplicated in very many places. We return the constant value DB_DECRYPTION_FAILED in order to avoid code duplication in the callers and to allow tail calls. innodb_fk_error(): Report a FOREIGN KEY error. dict_foreign_def_get(), dict_foreign_def_get_fields(): Remove. This code was being used in dict_create_add_foreign_to_dictionary() in an apparently uncovered code path. That ib_push_warning() call would pass the integer i+1 instead of a pointer to NUL terminated string ("%s"), and therefore the call should have resulted in a crash. dict_print_info_on_foreign_key_in_create_format(), innobase_quote_identifier(): Add const qualifiers. row_mysql_get_table_error(): Replaces row_mysql_get_table_status(). Display no message on DB_CORRUPTION; it should be properly reported at the SQL layer anyway.
-
Yuchen Pei authored
-
Yuchen Pei authored
-
Yuchen Pei authored
MDEV-33858 Assertion `(mem_root->flags & 4) == 0' fails on 2nd execution of PS with -DWITH_PROTECT_STATEMENT_MEMROOT=ON Simply adding tests as the bug is fixed with a backport of MDEV-34447
-
Yuchen Pei authored
The memory leak happened on second execution of a prepared statement that runs UPDATE statement with correlated subquery in right hand side of the SET clause. In this case, invocation of the method table->stat_records() could return the zero value that results in going into the 'if' branch that handles impossible where condition. The issue is that this condition branch missed saving of leaf tables that has to be performed as first condition optimization activity. Later the PS statement memory root is marked as read only on finishing first time execution of the prepared statement. Next time the same statement is executed it hits the assertion on attempt to allocate a memory on the PS memory root marked as read only. This memory allocation takes place by the sequence of the following invocations: Prepared_statement::execute mysql_execute_command Sql_cmd_dml::execute Sql_cmd_update::execute_inner Sql_cmd_update::update_single_table st_select_lex::save_leaf_tables List<TABLE_LIST>::push_back To fix the issue, add the flag SELECT_LEX::leaf_tables_saved to control whether the method SELECT_LEX::save_leaf_tables() has to be called or it has been already invoked and no more invocation required. Similar issue could take place on running the DELETE statement with the LIMIT clause in PS/SP mode. The reason of memory leak is the same as for UPDATE case and be fixed in the same way.
-
- 05 Sep, 2024 3 commits
-
-
Ian Gilfillan authored
-
Daniel Black authored
From e735cf2ed7cefb2af36f10f3cb47dfc060789df3, the PCRE_INCLUDES changed to PCRE_INCLUDE_DIRS for consistency. The columnstore module depends on the old name. Create a mapping for the columnstore submodule. 10.6+ fix for submodule is: * https://github.com/mariadb-corporation/mariadb-columnstore-engine/pull/3304
-
Daniel Black authored
Taking both the FreeBSD[1] and Alpine[1] patch concepts; provide non-GLIBC definations for HMT_*. Provide FreeBSD ASM base for __ppc_get_timebase. On alternately use __builtin_ppc_get_timebase which is described on https://gcc.gnu.org/onlinedocs/gcc/Basic-PowerPC-Built-in-Functions-Available-on-all-Configurations.html an not depended on glibc/musl. [1] https://github.com/freebsd/freebsd-ports/blob/15d22e1c70da81aaa5751ad0d82f92e9451c4d81/databases/mariadb106-server/files/patch-include_my__cpu.h [2] https://gitlab.alpinelinux.org/alpine/aports/-/blob/master/main/mariadb/ppc-remove-glibc-dep.patch
-