wp_should_upgrade_global_tables() WordPress Function

The wp_should_upgrade_global_tables() function checks whether the global tables need to be upgraded. This is determined by the value of the global $wp_current_db_version variable. If the global $wp_current_db_version is greater than the value of $wp_db_version in wp-includes/version.php, then the global tables need to be upgraded.

wp_should_upgrade_global_tables() #

Determine if global tables should be upgraded.


Description

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.


Top ↑

Return

(bool) Whether to run the upgrade routines on global tables.


Top ↑

Source

File: wp-admin/includes/upgrade.php

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 );
}


Top ↑

Changelog

Changelog
VersionDescription
4.3.0Introduced.

The content displayed on this page has been created in part by processing WordPress source code files which are made available under the GPLv2 (or a later version) license by theĀ Free Software Foundation. In addition to this, the content includes user-written examples and information. All material is subject to review and curation by the WPPaste.com community.