Replace the remaining Knowledge Base links with their MariaDB
Documentation equivalents, including the 838 URLs in the help tables.
Only URLs change in fill_help_tables.sql.
Merging upward: fill_help_tables.sql conflicts at 10.11->11.4 and
11.8->12.3. At those two merges keep the target branch's version,
since 11.4, 11.8 and 12.3 each carry their own URL fix. From 12.3 to
13.1 and 13.1 to main it merges cleanly; take the incoming change.
.github/pull_request_template.md is deleted in 12.3; keep the deletion.
1. Relax InnoDB rename assertion for partitions
row_rename_table_for_mysql() asserted that RENAME_IGNORE_FK is never
used to rename a table to a temporary name:
ut_ad(fk != RENAME_IGNORE_FK || !new_is_tmp);
But EXCHANGE PARTITION renames a partition to a temporary #sql-exchange
name, and during DDL-log recovery with lower_case_table_names=1 this
reaches the partition retry in innobase_rename_table(), which passes
RENAME_IGNORE_FK. So relax the assertion for partition names.
This fixes an assertion failure in parts.partition_debug_innodb during
crash recovery; debug-only change.
2. Fix diff in parts.alter_table
Guard the lower_case_table_names combinations in include/lcase_names.inc
with the matching include/have_lowercaseN.inc,
so each is skipped unless the server actually ended up in that mode.
mtr can be run (and on one CI machine is run) with a forced
--mysqld=--lower_case_table_names, and the server does not always
honour the request (=2 is reset to 0 on a case-sensitive filesystem).
The "def" combination assumed lower_case_table_names=0; make that
explicit and rename it to lcase0 for symmetry with lcase1/lcase2. It
stays an empty combination, since an explicit =0 would make the server
refuse to start on a case-insensitive filesystem.
3. Make sure the parts suite is actually tested on CI on case-insensitive
filesystem
add it to buildbot_suites.bat. In addition, test on case-sensitive NTFS
directory (Github Actions builder)
Do not overload the machine. Huge reservation seem to stress
Windows on ARM64 memory management, so that random OOM can appear
when multiple processes are constantly allocating/deallocating
huge chunks of memory. Thus, reduce number of parallel threads to 2,
and do not run replication tests.
When making commits, the branches to target are not clearly defined in
public documentation, and frequently change. As the development branch
and the earliest maintained branches progress, it should be reflected in
CODING_STANDARDS.md.
All new code of the whole pull request, including one or several files
that are either new files or modified ones, are contributed under the
BSD-new license. I am contributing on behalf of my employer Amazon Web
Services.
The CODEOWNERS was added almost 3 years ago but never saw any adoption.
Only one person used it (me) to mark what files I maintain and for which
I wish to review commits. No other maintainers or code paths were added,
so clean it away for clarity.
Often there are small "nitpicky" changes that need to be done to a PR in order to
get it merged. To speed up the merge process, we will ask contributors
if they are ok with the reviewer making those changes.
Other fixups:
Improve PR template rendering in browser's textarea field. Line wrapping at 80
characters provides a bad user experience within the browser, which
handles word wrapping separately. Thus, prefer long lines in this
markdown file.
Remove the "backwards compatibility section". While the contributor
should ideally care about the impact of their patch on the server's
backwards compatibility, this is an advanced topic that is better
presented in a separate document.
This is intended to be the start of a (not complete) coding standards
document we can refer contributors to. This can be modified to add more
nuances and become stricter over time. It can also have additional
content for other file types (CMake, YACC, etc).
It does not cover plugins which should each individually have their own coding
standards.
Many recent PRs offer up shell scripts or example queries in the testing
section, when these could be easily and usefully be converted to automated
tests based on MTR. (https://github.com/MariaDB/server/pull/1888 and
https://github.com/MariaDB/server/pull/1940 are good examples of this.)
This modifies the PR template to more strongly encourage the contribution of
automated tests.