Fixes for updating indices, charset/collation and engine type on plugin-created tables.
Under MySQL, new tables will be created as InnoDB with UTF-8 (utf8/utf8_bin) same as core tables. Existing plugin tables will have table engine and default charset/collation updated, and string columns will have charset updated, at checkschema time. Switched from 'DESCRIBE' to INFORMATION_SCHEMA for pulling column information in order to get charset. A second hit to INFORMATION_SCHEMA is also needed to get table properties. Indices were only being created at table creation time, which ain't so hot. Now also adding/dropping indices when they change. Fixed up some schema defs in OStatus plugin that were a bit flaky, causing extra alter tables to be run. TODO: Generalize this infrastructure a bit more up to base schema & pg schema classes.
This commit is contained in:
@@ -110,7 +110,7 @@ class FeedSub extends Memcached_DataObject
|
||||
/*size*/ null,
|
||||
/*nullable*/ false,
|
||||
/*key*/ 'PRI',
|
||||
/*default*/ '0',
|
||||
/*default*/ null,
|
||||
/*extra*/ null,
|
||||
/*auto_increment*/ true),
|
||||
new ColumnDef('uri', 'varchar',
|
||||
@@ -450,3 +450,4 @@ class FeedSub extends Memcached_DataObject
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
@@ -77,7 +77,7 @@ class HubSub extends Memcached_DataObject
|
||||
new ColumnDef('topic', 'varchar',
|
||||
/*size*/255,
|
||||
/*nullable*/false,
|
||||
/*key*/'KEY'),
|
||||
/*key*/'MUL'),
|
||||
new ColumnDef('callback', 'varchar',
|
||||
255, false),
|
||||
new ColumnDef('secret', 'text',
|
||||
|
@@ -70,7 +70,7 @@ class Magicsig extends Memcached_DataObject
|
||||
static function schemaDef()
|
||||
{
|
||||
return array(new ColumnDef('user_id', 'integer',
|
||||
null, true, 'PRI'),
|
||||
null, false, 'PRI'),
|
||||
new ColumnDef('keypair', 'varchar',
|
||||
255, false),
|
||||
new ColumnDef('alg', 'varchar',
|
||||
@@ -230,4 +230,4 @@ function base64_url_encode($input)
|
||||
function base64_url_decode($input)
|
||||
{
|
||||
return base64_decode(strtr($input, '-_', '+/'));
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user