Skip to content
Snippets Groups Projects
db-hash.php 486 B
Newer Older
  • Learn to ignore specific revisions
  • require_once(dirname(__FILE__) . '/flexihash.php');
    
    $wpdb->hash_map = new Flexihash();
    
    
    /* Hashing function to map blogs to databases.
     *
     * Implements a consistent hashing scheme using Flexihash.
     */
    function noblogs_db_callback($query, $wpdb) {
    
      $wpdb_hash = $wpdb->hash_map;
    
      if (preg_match("/^{$wpdb->base_prefix}(\d+)_/", $wpdb->table, $matches)) {
        $blog_id = $matches[1];
        return $wpdb_hash->lookup($blog_id);
      }
    }
    $wpdb->add_callback('noblogs_db_callback');