Optimize Drafts retrieval
This adds a database index to speed up retrieval of Drafts. It is untested with SQLite.
This commit is contained in:
parent
e51e58386e
commit
5de4d2086b
2 changed files with 30 additions and 0 deletions
|
@ -63,6 +63,7 @@ var migrations = []Migration{
|
||||||
New("support slack oauth", oauthSlack), // V4 -> v5
|
New("support slack oauth", oauthSlack), // V4 -> v5
|
||||||
New("support ActivityPub mentions", supportActivityPubMentions), // V5 -> V6
|
New("support ActivityPub mentions", supportActivityPubMentions), // V5 -> V6
|
||||||
New("support oauth attach", oauthAttach), // V6 -> V7 (v0.12.0)
|
New("support oauth attach", oauthAttach), // V6 -> V7 (v0.12.0)
|
||||||
|
New("optimize drafts retrieval", optimizeDrafts), // V7 -> V8
|
||||||
}
|
}
|
||||||
|
|
||||||
// CurrentVer returns the current migration version the application is on
|
// CurrentVer returns the current migration version the application is on
|
||||||
|
|
29
migrations/v8.go
Normal file
29
migrations/v8.go
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
/*
|
||||||
|
* Copyright © 2020 A Bunch Tell LLC.
|
||||||
|
*
|
||||||
|
* This file is part of WriteFreely.
|
||||||
|
*
|
||||||
|
* WriteFreely is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU Affero General Public License, included
|
||||||
|
* in the LICENSE file in this source code package.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package migrations
|
||||||
|
|
||||||
|
func optimizeDrafts(db *datastore) error {
|
||||||
|
t, err := db.Begin()
|
||||||
|
|
||||||
|
_, err = t.Exec(`ALTER TABLE posts ADD INDEX(owner_id, id)`)
|
||||||
|
if err != nil {
|
||||||
|
t.Rollback()
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
err = t.Commit()
|
||||||
|
if err != nil {
|
||||||
|
t.Rollback()
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue