pre_schema_upgrade()
- Since
- 2.9.0
- Source
wp-admin/includes/upgrade.php:3698
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
- Scaling
- Constant
- Instructions
- 11–149
- Plugin surface
- None
- Called by
- 1
Reaches the database via ->get_var().
No loop in the body: the same number of instructions runs whatever you pass in.
Executed per call on PHP 8.5, depending on the branch taken. The body compiles to 149.
Nothing here hands control to plugin code.
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 callbacks
apply_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.
| When | Instructions | Calls it makes |
|---|---|---|
!$wp_current_db_version | 11 | none |
!is_multisite() | 14 | is_multisite() |
is_multisite() | 17–21 | is_multisite(), wp_should_upgrade_global_tables() |
!->get_var() | 19 | ->get_var() |
!is_multisite() && !->get_var() | 22 | is_multisite(), ->get_var() |
is_multisite() && !->get_var() | 25–29 | is_multisite(), wp_should_upgrade_global_tables(), ->get_var() |
->get_var() && !->get_results() | 27 | ->get_var(), ->get_results() |
!is_multisite() && ->get_var() && !->get_results() | 30 | is_multisite(), ->get_var(), ->get_results() |
is_multisite() && ->get_var() && !->get_results() | 33–37 | is_multisite(), wp_should_upgrade_global_tables(), ->get_var(), ->get_results() |
| always | 35 | ->query(), ->query(), ->query() |
is_multisite() && wp_should_upgrade_global_tables() | 35 | is_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() | 42 | is_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() | 43 | is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->get_var() |
is_multisite() && ->get_var() && ->get_results() | 45–49 | is_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() | 49 | is_multisite(), ->query(), ->query(), ->query(), ->query(), ->query() |
is_multisite() && wp_should_upgrade_global_tables() | 49 | is_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() | 51 | is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->get_var(), ->get_results() |
!is_multisite() && !wp_should_upgrade_global_tables() | 52 | is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query() |
| always | 52 | is_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() | 55 | is_multisite(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query() |
is_multisite() | 55–59 | is_multisite(), wp_should_upgrade_global_tables(), is_multisite(), ->query(), ->query(), ->query(), ->query(), ->query() |
is_multisite() && !->get_var() | 57 | is_multisite(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var() |
is_multisite() && wp_should_upgrade_global_tables() && !->get_var() | 57 | is_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–62 | 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() | 59 | ->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query() |
!is_multisite() && wp_should_upgrade_global_tables() | 59 | is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->query() |
!is_multisite() && !wp_should_upgrade_global_tables() && !->get_var() | 60 | is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var() |
!->get_var() | 60 | is_multisite(), is_multisite(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var() |
!is_multisite() && wp_should_upgrade_global_tables() | 62 | is_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() | 63 | 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() | 63 | is_multisite(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var() |
is_multisite() && !->get_var() | 63–67 | is_multisite(), wp_should_upgrade_global_tables(), is_multisite(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var() |
is_multisite() && ->get_var() && !->get_results() | 65 | is_multisite(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results() |
is_multisite() && wp_should_upgrade_global_tables() && ->get_var() && !->get_results() | 65 | is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results() |
wp_should_upgrade_global_tables() | 65–69 | is_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–70 | 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() | 67 | ->query(), ->query(), ->query(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->get_var() |
!is_multisite() && wp_should_upgrade_global_tables() && !->get_var() | 67 | 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() | 68 | is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results() |
->get_var() && !->get_results() | 68 | is_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() | 70 | 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() && !->get_results() | 71 | is_multisite(), is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), ->query(), ->query(), ->query(), ->get_var(), ->get_results() |
is_multisite() && ->get_var() && !->get_results() | 71–75 | is_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() | 73 | is_multisite(), wp_should_upgrade_global_tables(), ->query(), ->query(), is_multisite(), ->query(), ->query(), ->query(), ->query(), ->query() |
wp_should_upgrade_global_tables() && !->get_var() | 73–77 | is_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–78 | 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() | 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() | 75 | is_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() |
| always | 76 | ->query(), ->query(), ->query(), is_multisite(), is_multisite(), ->query(), ->query(), ->query(), ->query(), ->query() |
| always | 76 | 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() | 77 | 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() | 77 | 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() | 78 | 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() | 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() | 80 | is_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() | 80 | is_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() | 81 | 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() && !->get_results() | 81–85 | is_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() | 83 | is_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–87 | 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() | 83 | is_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() | 84 | is_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–90 | 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() | 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() | 87 | 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() | 87 | is_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() | 89 | 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() | 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() | 90 | 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() |
| always | 90 | is_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() | 91 | is_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() | 92 | 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_should_upgrade_global_tables() && ->get_var() && ->get_results() | 93–97 | 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() |
$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() | 95 | is_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() | 97 | 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 && 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() | 98 | 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_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() | 99 | 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() |
| always | 100 | ->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() | 101 | 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_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() | 103 | is_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() | 104 | 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() |
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() | 105 | 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 && 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() | 106 | 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_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() | 111 | 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() |
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() | 113 | 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() | 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() |
| always | 114 | ->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() | 115 | 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_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() | 118 | 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 && 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() | 125 | 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() |
$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
- is_multisite()Determines whether Multisite is enabled.
- wp_should_upgrade_global_tables()Determine if global tables should be upgraded.
- maybe_convert_table_to_utf8mb4()If a table only contains utf8 or utf8mb4 columns, convert it to utf8mb4.
Used by · 1
- wp_upgrade()Runs WordPress Upgrade functions.
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.
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.