wppaste
WordPress

pre_schema_upgrade()

Since
2.9.0
Source
wp-admin/includes/upgrade.php:3698
Runs before the schema is upgraded.

Compatibility

WordPress
since 2.9.0
PHP
7.4–8.6-dev
  • 6.7.7
  • 6.8.8
  • 6.9.7
  • 7.0.4
  • 7.1.0

Present in every tracked release (6.7.7 to 7.1.0), and compiles on PHP 7.4 through 8.6-dev.

Performance profile

How much work a call to pre_schema_upgrade() does, and what it touches: the algorithmic scaling, the Zend instruction count per call across PHP versions, the hooks it hands control to, and the core code that calls it. Measured from the compiled opcodes, not a stopwatch, so every number is identical on any machine running the same PHP version, and every function in core is ranked by cost.

Cost class
Heavy

Reaches the database via ->get_var().

Scaling
Constant

No loop in the body: the same number of instructions runs whatever you pass in.

Instructions
11–149

Executed per call on PHP 8.5, depending on the branch taken. The body compiles to 149.

Plugin surface
None

Nothing here hands control to plugin code.

Called by
1

1 place in core call this, so the cost is paid more often than your own code shows.

What it touches

  • sqldatabase query->get_var()called directly
  • hookthird-party callbacksapply_filters()one call below pre_schema_upgrade()

What one call costs · 160 distinct outcomes

One number would be a lie: the work depends on which branch runs. These are every distinct cost pre_schema_upgrade() can have, taken from its control-flow graph on PHP 8.5.

WhenInstructionsCalls it makes
!$wp_current_db_version11none
!is_multisite()14is_multisite()
is_multisite()17–21is_multisite(), wp_should_upgrade_global_tables()
!->get_var()19->get_var()
!is_multisite() && !->get_var()22is_multisite(), ->get_var()
is_multisite() && !->get_var()25–29is_multisite(), wp_should_upgrade_global_tables(), ->get_var()
->get_var() && !->get_results()27->get_var(), ->get_results()
!is_multisite() && ->get_var() && !->get_results()30is_multisite(), ->get_var(), ->get_results()
is_multisite() && ->get_var() && !->get_results()33–37is_multisite(), wp_should_upgrade_global_tables(), ->get_var(), ->get_results()
always35->query(), ->query(), ->query()
is_multisite() && wp_should_upgrade_global_tables()35is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query()
!is_multisite()38->query(), ->query(), ->query(), is_multisite()
148 further outcomes, up to 149 instructions
->get_var() && ->get_results()39->get_var(), ->get_results(), ->query(), maybe_convert_table_to_utf8mb4()
is_multisite()41–45->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables()
!is_multisite() && ->get_var() && ->get_results()42is_multisite(), ->get_var(), ->get_results(), ->query(), maybe_convert_table_to_utf8mb4()
!->get_var()43->query(), ->query(), ->query(), ->get_var()
is_multisite() && wp_should_upgrade_global_tables() && !->get_var()43is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->get_var()
is_multisite() && ->get_var() && ->get_results()45–49is_multisite(), wp_should_upgrade_global_tables(), ->get_var(), ->get_results(), ->query(), maybe_convert_table_to_utf8mb4()
!is_multisite() && !->get_var()46->query(), ->query(), ->query(), is_multisite(), ->get_var()
is_multisite()49is_multisite(), ->query(), ->query(), ->query(), ->query(), ->query()
is_multisite() && wp_should_upgrade_global_tables()49is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query()
is_multisite() && !->get_var()49–53->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->get_var()
->get_var() && !->get_results()51->query(), ->query(), ->query(), ->get_var(), ->get_results()
is_multisite() && wp_should_upgrade_global_tables() && ->get_var() && !->get_results()51is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->get_var(), ->get_results()
!is_multisite() && !wp_should_upgrade_global_tables()52is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query()
always52is_multisite(), is_multisite(), ->query(), ->query(), ->query(), ->query(), ->query()
!is_multisite() && ->get_var() && !->get_results()54->query(), ->query(), ->query(), is_multisite(), ->get_var(), ->get_results()
!is_multisite() && !wp_should_upgrade_global_tables()55is_multisite(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query()
is_multisite()55–59is_multisite(), wp_should_upgrade_global_tables(), is_multisite(), ->query(), ->query(), ->query(), ->query(), ->query()
is_multisite() && !->get_var()57is_multisite(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var()
is_multisite() && wp_should_upgrade_global_tables() && !->get_var()57is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->get_var()
is_multisite() && ->get_var() && !->get_results()57–61->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->get_var(), ->get_results()
!wp_should_upgrade_global_tables()58–62is_multisite(), wp_should_upgrade_global_tables(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query()
is_multisite() && wp_should_upgrade_global_tables()59->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query()
!is_multisite() && wp_should_upgrade_global_tables()59is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->query()
!is_multisite() && !wp_should_upgrade_global_tables() && !->get_var()60is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var()
!->get_var()60is_multisite(), is_multisite(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var()
!is_multisite() && wp_should_upgrade_global_tables()62is_multisite(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->query()
->get_var() && ->get_results()63->query(), ->query(), ->query(), ->get_var(), ->get_results(), ->query(), maybe_convert_table_to_utf8mb4()
is_multisite() && wp_should_upgrade_global_tables() && ->get_var() && ->get_results()63is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->get_var(), ->get_results(), ->query(), maybe_convert_table_to_utf8mb4()
!is_multisite() && !wp_should_upgrade_global_tables() && !->get_var()63is_multisite(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var()
is_multisite() && !->get_var()63–67is_multisite(), wp_should_upgrade_global_tables(), is_multisite(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var()
is_multisite() && ->get_var() && !->get_results()65is_multisite(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results()
is_multisite() && wp_should_upgrade_global_tables() && ->get_var() && !->get_results()65is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results()
wp_should_upgrade_global_tables()65–69is_multisite(), wp_should_upgrade_global_tables(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->query()
!is_multisite() && ->get_var() && ->get_results()66->query(), ->query(), ->query(), is_multisite(), ->get_var(), ->get_results(), ->query(), maybe_convert_table_to_utf8mb4()
!wp_should_upgrade_global_tables() && !->get_var()66–70is_multisite(), wp_should_upgrade_global_tables(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var()
is_multisite() && wp_should_upgrade_global_tables() && !->get_var()67->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->get_var()
!is_multisite() && wp_should_upgrade_global_tables() && !->get_var()67is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var()
!is_multisite() && !wp_should_upgrade_global_tables() && ->get_var() && !->get_results()68is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results()
->get_var() && !->get_results()68is_multisite(), is_multisite(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results()
is_multisite() && ->get_var() && ->get_results()69–73->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->get_var(), ->get_results(), ->query(), maybe_convert_table_to_utf8mb4()
!is_multisite() && wp_should_upgrade_global_tables() && !->get_var()70is_multisite(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var()
!is_multisite() && !wp_should_upgrade_global_tables() && ->get_var() && !->get_results()71is_multisite(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results()
is_multisite() && ->get_var() && !->get_results()71–75is_multisite(), wp_should_upgrade_global_tables(), is_multisite(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results()
is_multisite()73->query(), ->query(), ->query(), is_multisite(), ->query(), ->query(), ->query(), ->query(), ->query()
is_multisite() && wp_should_upgrade_global_tables()73->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query()
is_multisite() && wp_should_upgrade_global_tables()73is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), is_multisite(), ->query(), ->query(), ->query(), ->query(), ->query()
wp_should_upgrade_global_tables() && !->get_var()73–77is_multisite(), wp_should_upgrade_global_tables(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var()
!wp_should_upgrade_global_tables() && ->get_var() && !->get_results()74–78is_multisite(), wp_should_upgrade_global_tables(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results()
is_multisite() && wp_should_upgrade_global_tables() && ->get_var() && !->get_results()75->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->get_var(), ->get_results()
!is_multisite() && wp_should_upgrade_global_tables() && ->get_var() && !->get_results()75is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results()
!is_multisite() && !wp_should_upgrade_global_tables()76->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query()
always76->query(), ->query(), ->query(), is_multisite(), is_multisite(), ->query(), ->query(), ->query(), ->query(), ->query()
always76is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query()
is_multisite() && ->get_var() && ->get_results()77is_multisite(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results(), ->query(), maybe_convert_table_to_utf8mb4()
is_multisite() && wp_should_upgrade_global_tables() && ->get_var() && ->get_results()77is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results(), ->query(), maybe_convert_table_to_utf8mb4()
!is_multisite() && wp_should_upgrade_global_tables() && ->get_var() && !->get_results()78is_multisite(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results()
!is_multisite() && !wp_should_upgrade_global_tables()79->query(), ->query(), ->query(), is_multisite(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query()
is_multisite()79–83->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), is_multisite(), ->query(), ->query(), ->query(), ->query(), ->query()
!is_multisite() && !wp_should_upgrade_global_tables() && ->get_var() && ->get_results()80is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results(), ->query(), maybe_convert_table_to_utf8mb4()
->get_var() && ->get_results()80is_multisite(), is_multisite(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results(), ->query(), maybe_convert_table_to_utf8mb4()
is_multisite() && !->get_var()81->query(), ->query(), ->query(), is_multisite(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var()
is_multisite() && wp_should_upgrade_global_tables() && !->get_var()81->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->get_var()
is_multisite() && wp_should_upgrade_global_tables() && !->get_var()81is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), is_multisite(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var()
wp_should_upgrade_global_tables() && ->get_var() && !->get_results()81–85is_multisite(), wp_should_upgrade_global_tables(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results()
!wp_should_upgrade_global_tables()82–86->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query()
!is_multisite() && wp_should_upgrade_global_tables()83->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->query()
!is_multisite() && !wp_should_upgrade_global_tables() && ->get_var() && ->get_results()83is_multisite(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results(), ->query(), maybe_convert_table_to_utf8mb4()
is_multisite() && ->get_var() && ->get_results()83–87is_multisite(), wp_should_upgrade_global_tables(), is_multisite(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results(), ->query(), maybe_convert_table_to_utf8mb4()
wp_should_upgrade_global_tables()83is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->query()
!is_multisite() && !wp_should_upgrade_global_tables() && !->get_var()84->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var()
$wp_current_db_version && !->get_var()84->query(), ->query(), ->query(), is_multisite(), is_multisite(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var()
!->get_var()84is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var()
!is_multisite() && wp_should_upgrade_global_tables()86->query(), ->query(), ->query(), is_multisite(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->query()
!wp_should_upgrade_global_tables() && ->get_var() && ->get_results()86–90is_multisite(), wp_should_upgrade_global_tables(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results(), ->query(), maybe_convert_table_to_utf8mb4()
is_multisite() && wp_should_upgrade_global_tables() && ->get_var() && ->get_results()87->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->get_var(), ->get_results(), ->query(), maybe_convert_table_to_utf8mb4()
!is_multisite() && wp_should_upgrade_global_tables() && ->get_var() && ->get_results()87is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results(), ->query(), maybe_convert_table_to_utf8mb4()
is_multisite() && wp_should_upgrade_global_tables()87is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), is_multisite(), ->query(), ->query(), ->query(), ->query(), ->query()
$wp_current_db_version && !is_multisite() && !wp_should_upgrade_global_tables() && !->get_var()87->query(), ->query(), ->query(), is_multisite(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var()
$wp_current_db_version && is_multisite() && !->get_var()87–91->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), is_multisite(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var()
is_multisite() && ->get_var() && !->get_results()89->query(), ->query(), ->query(), is_multisite(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results()
is_multisite() && wp_should_upgrade_global_tables() && ->get_var() && !->get_results()89->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results()
is_multisite() && wp_should_upgrade_global_tables() && ->get_var() && !->get_results()89is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), is_multisite(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results()
wp_should_upgrade_global_tables()89–93->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->query()
!is_multisite() && wp_should_upgrade_global_tables() && ->get_var() && ->get_results()90is_multisite(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results(), ->query(), maybe_convert_table_to_utf8mb4()
always90is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query()
$wp_current_db_version && !wp_should_upgrade_global_tables() && !->get_var()90–94->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var()
!is_multisite() && wp_should_upgrade_global_tables() && !->get_var()91->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var()
wp_should_upgrade_global_tables() && !->get_var()91is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var()
!is_multisite() && !wp_should_upgrade_global_tables() && ->get_var() && !->get_results()92->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results()
$wp_current_db_version && ->get_var() && !->get_results()92->query(), ->query(), ->query(), is_multisite(), is_multisite(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results()
->get_var() && !->get_results()92is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results()
wp_should_upgrade_global_tables() && ->get_var() && ->get_results()93–97is_multisite(), wp_should_upgrade_global_tables(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results(), ->query(), maybe_convert_table_to_utf8mb4()
$wp_current_db_version && !is_multisite() && wp_should_upgrade_global_tables() && !->get_var()94->query(), ->query(), ->query(), is_multisite(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var()
is_multisite() && wp_should_upgrade_global_tables() && !->get_var()95is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), is_multisite(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var()
$wp_current_db_version && !is_multisite() && !wp_should_upgrade_global_tables() && ->get_var() && !->get_results()95->query(), ->query(), ->query(), is_multisite(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results()
$wp_current_db_version && is_multisite() && ->get_var() && !->get_results()95–99->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), is_multisite(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results()
is_multisite() && wp_should_upgrade_global_tables()97->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), is_multisite(), ->query(), ->query(), ->query(), ->query(), ->query()
wp_should_upgrade_global_tables()97is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->query()
$wp_current_db_version && wp_should_upgrade_global_tables() && !->get_var()97–101->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var()
!->get_var()98is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var()
$wp_current_db_version && !wp_should_upgrade_global_tables() && ->get_var() && !->get_results()98–102->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results()
!is_multisite() && wp_should_upgrade_global_tables() && ->get_var() && !->get_results()99->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results()
wp_should_upgrade_global_tables() && ->get_var() && !->get_results()99is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results()
always100->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query()
is_multisite() && ->get_var() && ->get_results()101->query(), ->query(), ->query(), is_multisite(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results(), ->query(), maybe_convert_table_to_utf8mb4()
is_multisite() && wp_should_upgrade_global_tables() && ->get_var() && ->get_results()101->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results(), ->query(), maybe_convert_table_to_utf8mb4()
is_multisite() && wp_should_upgrade_global_tables() && ->get_var() && ->get_results()101is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), is_multisite(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results(), ->query(), maybe_convert_table_to_utf8mb4()
$wp_current_db_version && !is_multisite() && wp_should_upgrade_global_tables() && ->get_var() && !->get_results()102->query(), ->query(), ->query(), is_multisite(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results()
is_multisite() && wp_should_upgrade_global_tables() && ->get_var() && !->get_results()103is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), is_multisite(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results()
!is_multisite() && !wp_should_upgrade_global_tables() && ->get_var() && ->get_results()104->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results(), ->query(), maybe_convert_table_to_utf8mb4()
$wp_current_db_version && ->get_var() && ->get_results()104->query(), ->query(), ->query(), is_multisite(), is_multisite(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results(), ->query(), maybe_convert_table_to_utf8mb4()
->get_var() && ->get_results()104is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results(), ->query(), maybe_convert_table_to_utf8mb4()
is_multisite() && wp_should_upgrade_global_tables() && !->get_var()105->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), is_multisite(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var()
wp_should_upgrade_global_tables() && !->get_var()105is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var()
$wp_current_db_version && wp_should_upgrade_global_tables() && ->get_var() && !->get_results()105–109->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results()
->get_var() && !->get_results()106is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results()
$wp_current_db_version && !is_multisite() && !wp_should_upgrade_global_tables() && ->get_var() && ->get_results()107->query(), ->query(), ->query(), is_multisite(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results(), ->query(), maybe_convert_table_to_utf8mb4()
$wp_current_db_version && is_multisite() && ->get_var() && ->get_results()107–111->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), is_multisite(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results(), ->query(), maybe_convert_table_to_utf8mb4()
wp_should_upgrade_global_tables()107->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->query()
!->get_var()108->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var()
$wp_current_db_version && !wp_should_upgrade_global_tables() && ->get_var() && ->get_results()110–114->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results(), ->query(), maybe_convert_table_to_utf8mb4()
!is_multisite() && wp_should_upgrade_global_tables() && ->get_var() && ->get_results()111->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results(), ->query(), maybe_convert_table_to_utf8mb4()
is_multisite() && wp_should_upgrade_global_tables()111->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), is_multisite(), ->query(), ->query(), ->query(), ->query(), ->query()
wp_should_upgrade_global_tables() && ->get_var() && ->get_results()111is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results(), ->query(), maybe_convert_table_to_utf8mb4()
is_multisite() && wp_should_upgrade_global_tables() && ->get_var() && !->get_results()113->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), is_multisite(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results()
wp_should_upgrade_global_tables() && ->get_var() && !->get_results()113is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results()
$wp_current_db_version && !is_multisite() && wp_should_upgrade_global_tables() && ->get_var() && ->get_results()114->query(), ->query(), ->query(), is_multisite(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results(), ->query(), maybe_convert_table_to_utf8mb4()
always114->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query()
is_multisite() && wp_should_upgrade_global_tables() && ->get_var() && ->get_results()115is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), is_multisite(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results(), ->query(), maybe_convert_table_to_utf8mb4()
wp_should_upgrade_global_tables() && !->get_var()115->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var()
->get_var() && !->get_results()116->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results()
$wp_current_db_version && wp_should_upgrade_global_tables() && ->get_var() && ->get_results()117–121->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results(), ->query(), maybe_convert_table_to_utf8mb4()
->get_var() && ->get_results()118is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results(), ->query(), maybe_convert_table_to_utf8mb4()
$wp_current_db_version && is_multisite() && wp_should_upgrade_global_tables() && !->get_var()119->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), is_multisite(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var()
wp_should_upgrade_global_tables()121->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->query()
$wp_current_db_version && !->get_var()122->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var()
wp_should_upgrade_global_tables() && ->get_var() && !->get_results()123->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results()
is_multisite() && wp_should_upgrade_global_tables() && ->get_var() && ->get_results()125->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), is_multisite(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results(), ->query(), maybe_convert_table_to_utf8mb4()
wp_should_upgrade_global_tables() && ->get_var() && ->get_results()125is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results(), ->query(), maybe_convert_table_to_utf8mb4()
$wp_current_db_version && is_multisite() && wp_should_upgrade_global_tables() && ->get_var() && !->get_results()127->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), is_multisite(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results()
->get_var() && ->get_results()128->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results(), ->query(), maybe_convert_table_to_utf8mb4()
$wp_current_db_version && wp_should_upgrade_global_tables() && !->get_var()129->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var()
$wp_current_db_version && ->get_var() && !->get_results()130->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results()
wp_should_upgrade_global_tables() && ->get_var() && ->get_results()135->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results(), ->query(), maybe_convert_table_to_utf8mb4()
$wp_current_db_version && wp_should_upgrade_global_tables() && ->get_var() && !->get_results()137->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results()
$wp_current_db_version && is_multisite() && wp_should_upgrade_global_tables() && ->get_var() && ->get_results()139->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), is_multisite(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results(), ->query(), maybe_convert_table_to_utf8mb4()
$wp_current_db_version && ->get_var() && ->get_results()142->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results(), ->query(), maybe_convert_table_to_utf8mb4()
$wp_current_db_version && wp_should_upgrade_global_tables() && ->get_var() && ->get_results()149->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results(), ->query(), maybe_convert_table_to_utf8mb4()

Across PHP versions

Compiles the same on PHP 7.4, 8.1, 8.2, 8.3, 8.4, 8.5 and 8.6-dev: 149 instructions, 11–149 executed per call, 12 branches. The work does not change between versions.

An instruction is not a fixed amount of time, so a matching count is not necessarily the same speed; what it rules out is a difference in the work itself.

Uses · 3

Used by · 1

Source code

function pre_schema_upgrade() {	global $wp_current_db_version, $wpdb; 	// Upgrade versions prior to 2.9.	if ( $wp_current_db_version < 11557 ) {		// Delete duplicate options. Keep the option with the highest option_id.		$wpdb->query( "DELETE o1 FROM $wpdb->options AS o1 JOIN $wpdb->options AS o2 USING (`option_name`) WHERE o2.option_id > o1.option_id" ); 		// Drop the old primary key and add the new.		$wpdb->query( "ALTER TABLE $wpdb->options DROP PRIMARY KEY, ADD PRIMARY KEY(option_id)" ); 		// Drop the old option_name index. dbDelta() doesn't do the drop.		$wpdb->query( "ALTER TABLE $wpdb->options DROP INDEX option_name" );	} 	// Multisite schema upgrades.	if ( $wp_current_db_version < 25448 && is_multisite() && wp_should_upgrade_global_tables() ) { 		// Upgrade versions prior to 3.7.		if ( $wp_current_db_version < 25179 ) {			// New primary key for signups.			$wpdb->query( "ALTER TABLE $wpdb->signups ADD signup_id BIGINT(20) NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST" );			$wpdb->query( "ALTER TABLE $wpdb->signups DROP INDEX domain" );		} 		if ( $wp_current_db_version < 25448 ) {			// Convert archived from enum to tinyint.			$wpdb->query( "ALTER TABLE $wpdb->blogs CHANGE COLUMN archived archived varchar(1) NOT NULL default '0'" );			$wpdb->query( "ALTER TABLE $wpdb->blogs CHANGE COLUMN archived archived tinyint(2) NOT NULL default 0" );		}	} 	// Upgrade versions prior to 4.2.	if ( $wp_current_db_version < 31351 ) {		if ( ! is_multisite() && wp_should_upgrade_global_tables() ) {			$wpdb->query( "ALTER TABLE $wpdb->usermeta DROP INDEX meta_key, ADD INDEX meta_key(meta_key(191))" );		}		$wpdb->query( "ALTER TABLE $wpdb->terms DROP INDEX slug, ADD INDEX slug(slug(191))" );		$wpdb->query( "ALTER TABLE $wpdb->terms DROP INDEX name, ADD INDEX name(name(191))" );		$wpdb->query( "ALTER TABLE $wpdb->commentmeta DROP INDEX meta_key, ADD INDEX meta_key(meta_key(191))" );		$wpdb->query( "ALTER TABLE $wpdb->postmeta DROP INDEX meta_key, ADD INDEX meta_key(meta_key(191))" );		$wpdb->query( "ALTER TABLE $wpdb->posts DROP INDEX post_name, ADD INDEX post_name(post_name(191))" );	} 	// Upgrade versions prior to 4.4.	if ( $wp_current_db_version < 34978 ) {		// If compatible termmeta table is found, use it, but enforce a proper index and update collation.		if ( $wpdb->get_var( "SHOW TABLES LIKE '{$wpdb->termmeta}'" ) && $wpdb->get_results( "SHOW INDEX FROM {$wpdb->termmeta} WHERE Column_name = 'meta_key'" ) ) {			$wpdb->query( "ALTER TABLE $wpdb->termmeta DROP INDEX meta_key, ADD INDEX meta_key(meta_key(191))" );			maybe_convert_table_to_utf8mb4( $wpdb->termmeta );		}	}}

Changelog

Introduced in 2.9.0. Unchanged from 6.7.7 through 7.1.0.

  1. 6.7.7
  2. 6.8.8
  3. 6.9.7
  4. 7.0.4
  5. 7.1.0

Signature, return type and hooks compared across 5 parsed releases.

About this page

Parsed data
Generated from the wordpress-develop 6.8.8 tag, from src/wp-admin/includes/upgrade.php, and regenerated for each WordPress release so it tracks the code rather than a snapshot of it.
Corrections
Something wrong on this page? Report it and it gets fixed in the next regeneration.