MDEV-33750: Rework MyISAM recovery script

Make small adjustment to MyISAM recovery function
SQL statement and how to handle it.
This commit is contained in:
Tuukka Pasanen 2024-05-06 12:30:29 +03:00 committed by Daniel Black
parent af124c4f1c
commit 7ae9505106

View file

@ -3,7 +3,7 @@
# This file is included by /etc/mysql/debian-start
#
## Check MyISAM and Aria unclosed tables.
## Is there MyISAM or Aria unclosed tables.
# - Requires the server to be up.
# - Is supposed to run silently in background.
function check_for_crashed_tables() {
@ -31,14 +31,13 @@ function check_for_crashed_tables() {
# Note that inside single quotes must be quoted with '\'' (to be outside of single quotes).
set +e
# The $MARIADB is intentionally used to expand into a command and arguments
# shellcheck disable=SC2086
LC_ALL=C echo '
echo '
SELECT CONCAT("select count(*) into @discard from '\''", TABLE_SCHEMA, "'\''.'\''", TABLE_NAME, "'\''")
FROM information_schema.TABLES WHERE TABLE_SCHEMA<>"INFORMATION_SCHEMA" AND TABLE_SCHEMA<>"PERFORMANCE_SCHEMA"
AND (ENGINE="MyISAM" OR ENGINE="Aria")
' | \
$MARIADB --skip-column-names --batch | \
xargs -i $MARIADB --skip-column-names --silent --batch --force -e "{}" &> "${tempfile}"
LC_ALL=C "$MARIADB" --skip-column-names --batch | \
xargs --no-run-if-empty -i "$MARIADB" --skip-column-names --silent --batch --force -e "{}" &> "${tempfile}"
set -e
if [ -s "$tempfile" ]