[HyperDB] 1.0 soon

Andy Skelton skeltoac at gmail.com
Thu Jun 3 17:56:49 UTC 2010

I have tagged current trunk as 0.1. Trunk will be changing very
rapidly beginning now. These are the goals:
* Remove BackPress support
* Remove WPMU support in favor of WP 3.0
* Remove globals like $db_servers, $db_tables
* Remove $single_db (just use wpdb if no multiple DBs)
* class hyperdb extends wpdb (much easier to maintain)
* Move config function logic to hyperdb class
  - leave back-compat wrappers in config file for lazy upgrade
  - you can modify the wrappers
* Instantiate with DB constants before loading config
  - you can query that DB to determine how to configure hyperdb!
  - it's okay if you don't have those constants or they are empty
  - if you don't query, it won't connect. no performance hit.
* Remove get_ds_part_from_table
* Remove $hash
* Replace the two above with a plug-in system
  - you can define and register your own function in your config
  - function arg will be the query. it can use get_table_from_query.
  - function will return compact('dataset', 'partition', 'database')
  - db_connect will extract (overwrite) so it's quite powerful
  - no function registered, no performance hit
* Merge some custom wordpress.com db features into hyperdb 1.0
* Simplify installation procedure, make it atomic (safer)
  - Deploying only db.php has no effect (it falls back on wpdb)
  - Deploying db-config.php turns on hyperdb

The next few changesets will break WPMU and fix 3.0.

If you are using WPMU and not planning on migrating to WP 3.0 you will
be maintaining your own branch of hyperdb.

When you upgrade to 1.0 you will be REQUIRED to update your
configuration. The upgrade will most likely be copy/paste and
search/replace, two minutes with a text editor. I'm changing the
config file name to force you to take action.

Using a new config file name also makes the upgrade safer. You can
deploy the new config then deploy the new db.php for an atomic
upgrade. Naturally you should test before deploying to a production

If you are using any of the things I plan to remove please reply. I
will try to make it easy for everyone to upgrade.

To discuss any planned new features or requests please start a new subject.


More information about the HyperDB mailing list