diff options
author | Brion Vibber <brion@status.net> | 2010-08-10 11:45:34 -0700 |
---|---|---|
committer | Brion Vibber <brion@status.net> | 2010-08-10 11:45:34 -0700 |
commit | 6a2659ed67577b3f33c5c4d55067744a4b812a06 (patch) | |
tree | 6b89c07e28031f1740d5b1a2e494f7f86eb5a9de | |
parent | 09dee24cbeadfb1fef797d38265e2ece09266bb0 (diff) |
Workaround for index setup on SubMirror until I'm done w/ arbitrary index support for Schema setup.
-rw-r--r-- | lib/mysqlschema.php | 2 | ||||
-rw-r--r-- | plugins/SubMirror/SubMirrorPlugin.php | 3 | ||||
-rw-r--r-- | plugins/SubMirror/classes/SubMirror.php | 16 |
3 files changed, 20 insertions, 1 deletions
diff --git a/lib/mysqlschema.php b/lib/mysqlschema.php index 464c718f9..f9552c1dc 100644 --- a/lib/mysqlschema.php +++ b/lib/mysqlschema.php @@ -333,7 +333,7 @@ class MysqlSchema extends Schema } if (empty($name)) { - $name = "$table_".implode("_", $columnNames)."_idx"; + $name = "{$table}_".implode("_", $columnNames)."_idx"; } $res = $this->conn->query("ALTER TABLE $table ". diff --git a/plugins/SubMirror/SubMirrorPlugin.php b/plugins/SubMirror/SubMirrorPlugin.php index 7289e7793..80c6c5a88 100644 --- a/plugins/SubMirror/SubMirrorPlugin.php +++ b/plugins/SubMirror/SubMirrorPlugin.php @@ -120,6 +120,9 @@ class SubMirrorPlugin extends Plugin { $schema = Schema::get(); $schema->ensureTable('submirror', SubMirror::schemaDef()); + + // @hack until key definition support is merged + SubMirror::fixIndexes($schema); return true; } diff --git a/plugins/SubMirror/classes/SubMirror.php b/plugins/SubMirror/classes/SubMirror.php index 4e7e005db..bd8fc80a5 100644 --- a/plugins/SubMirror/classes/SubMirror.php +++ b/plugins/SubMirror/classes/SubMirror.php @@ -77,6 +77,22 @@ class SubMirror extends Memcached_DataObject } /** + * Temporary hack to set up the compound index, since we can't do + * it yet through regular Schema interface. (Coming for 1.0...) + * + * @param Schema $schema + * @return void + */ + static function fixIndexes($schema) + { + try { + $schema->createIndex('submirror', array('subscribed', 'subscriber')); + } catch (Exception $e) { + common_log(LOG_ERR, __METHOD__ . ': ' . $e->getMessage()); + } + } + + /** * return key definitions for DB_DataObject * * DB_DataObject needs to know about keys that the table has; this function |