mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
MDEV-16249 CHECKSUM TABLE for a spider table is not parallel and saves all data in memory in the spider head by default (#1328)
followup for be5c432a42
ha_partition::calculate_checksum() has to invoke calculate_checksum()
for partitions unconditionally, not under (HA_HAS_OLD_CHECKSUM | HA_HAS_NEW_CHECKSUM).
Because the server uses ::info() to ask for a live checksum, while
calculate_checksum() must, precisely, calculate it the slow way,
also for tables that don't have the live checksum at all.
Also, fix the compilation on Windows (ha_checksum/ulonglong type mix).
This commit is contained in:
@@ -1142,9 +1142,9 @@ int spider_db_mbase_result::fetch_simple_action(
|
||||
if (mysql_row[position])
|
||||
{
|
||||
spider->checksum_val =
|
||||
(ulonglong) my_strtoll10(mysql_row[position], (char**) NULL,
|
||||
(ha_checksum) my_strtoll10(mysql_row[position], (char**) NULL,
|
||||
&error_num);
|
||||
DBUG_PRINT("info", ("spider checksum=%llu", spider->checksum_val));
|
||||
DBUG_PRINT("info", ("spider checksum=%llu", (ulonglong)spider->checksum_val));
|
||||
spider->checksum_null = FALSE;
|
||||
} else {
|
||||
spider->checksum_null = TRUE;
|
||||
|
Reference in New Issue
Block a user