Make WordPress Core


Ignore:
Timestamp:
02/05/2010 05:59:24 PM (15 years ago)
Author:
wpmuguru
Message:

Reduce DB queries by half during MU signup, props donncha, see #12140

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-includes/functions.php

    r12961 r12973  
    336336    }
    337337
    338     $alloptions = wp_load_alloptions();
     338    if ( ! defined( 'WP_INSTALLING' ) ) {
     339        $alloptions = wp_load_alloptions();
     340    }
    339341
    340342    if ( isset( $alloptions[$setting] ) ) {
     
    496498
    497499    do_action( 'update_option', $option_name, $oldvalue, $newvalue );
    498     $alloptions = wp_load_alloptions();
    499     if ( isset( $alloptions[$option_name] ) ) {
    500         $alloptions[$option_name] = $newvalue;
    501         wp_cache_set( 'alloptions', $alloptions, 'options' );
    502     } else {
    503         wp_cache_set( $option_name, $newvalue, 'options' );
     500    if ( ! defined( 'WP_INSTALLING' ) ) {
     501        $alloptions = wp_load_alloptions();
     502        if ( isset( $alloptions[$option_name] ) ) {
     503            $alloptions[$option_name] = $newvalue;
     504            wp_cache_set( 'alloptions', $alloptions, 'options' );
     505        } else {
     506            wp_cache_set( $option_name, $newvalue, 'options' );
     507        }
    504508    }
    505509
     
    561565    $autoload = ( 'no' === $autoload ) ? 'no' : 'yes';
    562566    do_action( 'add_option', $name, $value );
    563     if ( 'yes' == $autoload ) {
    564         $alloptions = wp_load_alloptions();
    565         $alloptions[$name] = $value;
    566         wp_cache_set( 'alloptions', $alloptions, 'options' );
    567     } else {
    568         wp_cache_set( $name, $value, 'options' );
     567    if ( ! defined( 'WP_INSTALLING' ) ) {
     568        if ( 'yes' == $autoload ) {
     569            $alloptions = wp_load_alloptions();
     570            $alloptions[$name] = $value;
     571            wp_cache_set( 'alloptions', $alloptions, 'options' );
     572        } else {
     573            wp_cache_set( $name, $value, 'options' );
     574        }
    569575    }
    570576
     
    607613    // expected_slashed ($name)
    608614    $wpdb->query( "DELETE FROM $wpdb->options WHERE option_name = '$name'" );
    609     if ( 'yes' == $option->autoload ) {
    610         $alloptions = wp_load_alloptions();
    611         if ( isset( $alloptions[$name] ) ) {
    612             unset( $alloptions[$name] );
    613             wp_cache_set( 'alloptions', $alloptions, 'options' );
     615    if ( ! defined( 'WP_INSTALLING' ) ) {
     616        if ( 'yes' == $option->autoload ) {
     617            $alloptions = wp_load_alloptions();
     618            if ( isset( $alloptions[$name] ) ) {
     619                unset( $alloptions[$name] );
     620                wp_cache_set( 'alloptions', $alloptions, 'options' );
     621            }
     622        } else {
     623            wp_cache_delete( $name, 'options' );
    614624        }
    615     } else {
    616         wp_cache_delete( $name, 'options' );
    617625    }
    618626    do_action( 'deleted_option', $name );
     
    666674        $value = wp_cache_get($transient, 'transient');
    667675    } else {
    668         $transient_option = '_transient_' . esc_sql($transient);
    669         // If option is not in alloptions, it is not autoloaded and thus has a timeout
    670         $alloptions = wp_load_alloptions();
    671         if ( !isset( $alloptions[$transient_option] ) ) {
    672             $transient_timeout = '_transient_timeout_' . esc_sql($transient);
    673             if ( get_option($transient_timeout) < time() ) {
    674                 delete_option($transient_option);
    675                 delete_option($transient_timeout);
    676                 return false;
     676        if ( ! defined( 'WP_INSTALLING' ) ) {
     677            $transient_option = '_transient_' . esc_sql($transient);
     678            // If option is not in alloptions, it is not autoloaded and thus has a timeout
     679            $alloptions = wp_load_alloptions();
     680            if ( !isset( $alloptions[$transient_option] ) ) {
     681                $transient_timeout = '_transient_timeout_' . esc_sql($transient);
     682                if ( get_option($transient_timeout) < time() ) {
     683                    delete_option($transient_option);
     684                    delete_option($transient_timeout);
     685                    return false;
     686                }
    677687            }
    678688        }
     
    17431753
    17441754    $suppress = $wpdb->suppress_errors();
    1745     $alloptions = wp_load_alloptions();
     1755    if ( ! defined( 'WP_INSTALLING' ) ) {
     1756        $alloptions = wp_load_alloptions();
     1757    }
    17461758    // If siteurl is not set to autoload, check it specifically
    17471759    if ( !isset( $alloptions['siteurl'] ) )
Note: See TracChangeset for help on using the changeset viewer.