wp_should_upgrade_global_tables

The timeline below displays how wordpress function wp_should_upgrade_global_tables has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

WordPress Version: 5.7

/**
 * Determine if global tables should be upgraded.
 *
 * This function performs a series of checks to ensure the environment allows
 * for the safe upgrading of global WordPress database tables. It is necessary
 * because global tables will commonly grow to millions of rows on large
 * installations, and the ability to control their upgrade routines can be
 * critical to the operation of large networks.
 *
 * In a future iteration, this function may use `wp_is_large_network()` to more-
 * intelligently prevent global table upgrades. Until then, we make sure
 * WordPress is on the main site of the main network, to avoid running queries
 * more than once in multi-site or multi-network environments.
 *
 * @since 4.3.0
 *
 * @return bool Whether to run the upgrade routines on global tables.
 */
function wp_should_upgrade_global_tables()
{
    // Return false early if explicitly not upgrading.
    if (defined('DO_NOT_UPGRADE_GLOBAL_TABLES')) {
        return false;
    }
    // Assume global tables should be upgraded.
    $should_upgrade = true;
    // Set to false if not on main network (does not matter if not multi-network).
    if (!is_main_network()) {
        $should_upgrade = false;
    }
    // Set to false if not on main site of current network (does not matter if not multi-site).
    if (!is_main_site()) {
        $should_upgrade = false;
    }
    /**
     * Filters if upgrade routines should be run on global tables.
     *
     * @since 4.3.0
     *
     * @param bool $should_upgrade Whether to run the upgrade routines on global tables.
     */
    return apply_filters('wp_should_upgrade_global_tables', $should_upgrade);
}

WordPress Version: 5.4

/**
 * Determine if global tables should be upgraded.
 *
 * This function performs a series of checks to ensure the environment allows
 * for the safe upgrading of global WordPress database tables. It is necessary
 * because global tables will commonly grow to millions of rows on large
 * installations, and the ability to control their upgrade routines can be
 * critical to the operation of large networks.
 *
 * In a future iteration, this function may use `wp_is_large_network()` to more-
 * intelligently prevent global table upgrades. Until then, we make sure
 * WordPress is on the main site of the main network, to avoid running queries
 * more than once in multi-site or multi-network environments.
 *
 * @since 4.3.0
 *
 * @return bool Whether to run the upgrade routines on global tables.
 */
function wp_should_upgrade_global_tables()
{
    // Return false early if explicitly not upgrading.
    if (defined('DO_NOT_UPGRADE_GLOBAL_TABLES')) {
        return false;
    }
    // Assume global tables should be upgraded.
    $should_upgrade = true;
    // Set to false if not on main network (does not matter if not multi-network).
    if (!is_main_network()) {
        $should_upgrade = false;
    }
    // Set to false if not on main site of current network (does not matter if not multi-site).
    if (!is_main_site()) {
        $should_upgrade = false;
    }
    /**
     * Filters if upgrade routines should be run on global tables.
     *
     * @param bool $should_upgrade Whether to run the upgrade routines on global tables.
     */
    return apply_filters('wp_should_upgrade_global_tables', $should_upgrade);
}

WordPress Version: 4.6

/**
 * Determine if global tables should be upgraded.
 *
 * This function performs a series of checks to ensure the environment allows
 * for the safe upgrading of global WordPress database tables. It is necessary
 * because global tables will commonly grow to millions of rows on large
 * installations, and the ability to control their upgrade routines can be
 * critical to the operation of large networks.
 *
 * In a future iteration, this function may use `wp_is_large_network()` to more-
 * intelligently prevent global table upgrades. Until then, we make sure
 * WordPress is on the main site of the main network, to avoid running queries
 * more than once in multi-site or multi-network environments.
 *
 * @since 4.3.0
 *
 * @return bool Whether to run the upgrade routines on global tables.
 */
function wp_should_upgrade_global_tables()
{
    // Return false early if explicitly not upgrading
    if (defined('DO_NOT_UPGRADE_GLOBAL_TABLES')) {
        return false;
    }
    // Assume global tables should be upgraded
    $should_upgrade = true;
    // Set to false if not on main network (does not matter if not multi-network)
    if (!is_main_network()) {
        $should_upgrade = false;
    }
    // Set to false if not on main site of current network (does not matter if not multi-site)
    if (!is_main_site()) {
        $should_upgrade = false;
    }
    /**
     * Filters if upgrade routines should be run on global tables.
     *
     * @param bool $should_upgrade Whether to run the upgrade routines on global tables.
     */
    return apply_filters('wp_should_upgrade_global_tables', $should_upgrade);
}

WordPress Version: 4.3

/**
 * Determine if global tables should be upgraded.
 *
 * This function performs a series of checks to ensure the environment allows
 * for the safe upgrading of global WordPress database tables. It is necessary
 * because global tables will commonly grow to millions of rows on large
 * installations, and the ability to control their upgrade routines can be
 * critical to the operation of large networks.
 *
 * In a future iteration, this function may use `wp_is_large_network()` to more-
 * intelligently prevent global table upgrades. Until then, we make sure
 * WordPress is on the main site of the main network, to avoid running queries
 * more than once in multi-site or multi-network environments.
 *
 * @since 4.3.0
 *
 * @return bool Whether to run the upgrade routines on global tables.
 */
function wp_should_upgrade_global_tables()
{
    // Return false early if explicitly not upgrading
    if (defined('DO_NOT_UPGRADE_GLOBAL_TABLES')) {
        return false;
    }
    // Assume global tables should be upgraded
    $should_upgrade = true;
    // Set to false if not on main network (does not matter if not multi-network)
    if (!is_main_network()) {
        $should_upgrade = false;
    }
    // Set to false if not on main site of current network (does not matter if not multi-site)
    if (!is_main_site()) {
        $should_upgrade = false;
    }
    /**
     * Filter if upgrade routines should be run on global tables.
     *
     * @param bool $should_upgrade Whether to run the upgrade routines on global tables.
     */
    return apply_filters('wp_should_upgrade_global_tables', $should_upgrade);
}