From cda95c3958858ea50f54979e5dfdee5289dad6c7 Mon Sep 17 00:00:00 2001 From: Simon Martens Date: Tue, 11 Feb 2025 21:55:07 +0100 Subject: [PATCH] Added nocollate indeces --- dbmodels/functions.go | 13 ++++++++++++- migrations/1738936568_agents.go | 2 +- migrations/1738936648_items.go | 6 +++--- migrations/1738942133_contents.go | 1 + pages/index.go | 2 +- 5 files changed, 18 insertions(+), 6 deletions(-) diff --git a/dbmodels/functions.go b/dbmodels/functions.go index 0dfc706..656e56a 100644 --- a/dbmodels/functions.go +++ b/dbmodels/functions.go @@ -21,7 +21,7 @@ func SetNotesAndAnnotationsField(fieldlist *core.FieldsList) { } func AddMusenalmIDIndex(collection *core.Collection) { - AddIndex(collection, MUSENALMID_FIELD, true) + AddIndexNoCollate(collection, MUSENALMID_FIELD, true) } func AddIndex(collection *core.Collection, field string, unique bool) { @@ -35,6 +35,17 @@ func AddIndex(collection *core.Collection, field string, unique bool) { collection.Indexes = append(collection.Indexes, itext) } +func AddIndexNoCollate(collection *core.Collection, field string, unique bool) { + name := collection.Name + iname := "idx_" + name + "_" + field + u := "" + if unique { + u = "UNIQUE " + } + itext := "CREATE " + u + "INDEX " + iname + " ON " + name + " (" + field + ")" + collection.Indexes = append(collection.Indexes, itext) +} + func RelationTableName(collection1, collection2 string) string { return "R_" + collection1 + "_" + collection2 } diff --git a/migrations/1738936568_agents.go b/migrations/1738936568_agents.go index 49be48f..0ceb280 100644 --- a/migrations/1738936568_agents.go +++ b/migrations/1738936568_agents.go @@ -51,5 +51,5 @@ func agentsFields() core.FieldsList { func agentsIndexes(collection *core.Collection) { dbmodels.AddMusenalmIDIndex(collection) dbmodels.AddIndex(collection, dbmodels.AGENTS_NAME_FIELD, false) - dbmodels.AddIndex(collection, dbmodels.URI_FIELD, false) + dbmodels.AddIndexNoCollate(collection, dbmodels.URI_FIELD, false) } diff --git a/migrations/1738936648_items.go b/migrations/1738936648_items.go index 6570c6e..86facbf 100644 --- a/migrations/1738936648_items.go +++ b/migrations/1738936648_items.go @@ -68,7 +68,7 @@ func itemsFields(app core.App) core.FieldsList { func itemsIndexes(collection *core.Collection) { dbmodels.AddIndex(collection, dbmodels.ITEMS_CONDITION_FIELD, false) dbmodels.AddIndex(collection, dbmodels.ITEMS_OWNER_FIELD, false) - dbmodels.AddIndex(collection, dbmodels.ITEMS_LOCATION_FIELD, false) - dbmodels.AddIndex(collection, dbmodels.ITEMS_IDENTIFIER_FIELD, false) - dbmodels.AddIndex(collection, dbmodels.URI_FIELD, false) + dbmodels.AddIndexNoCollate(collection, dbmodels.ITEMS_LOCATION_FIELD, false) + dbmodels.AddIndexNoCollate(collection, dbmodels.ITEMS_IDENTIFIER_FIELD, false) + dbmodels.AddIndexNoCollate(collection, dbmodels.URI_FIELD, false) } diff --git a/migrations/1738942133_contents.go b/migrations/1738942133_contents.go index 8359bc3..2e256a5 100644 --- a/migrations/1738942133_contents.go +++ b/migrations/1738942133_contents.go @@ -133,4 +133,5 @@ func partialsIndexes(collection *core.Collection) { dbmodels.AddIndex(collection, dbmodels.PLACE_STMT_FIELD, false) dbmodels.AddIndex(collection, dbmodels.PUBLICATION_STMT_FIELD, false) dbmodels.AddIndex(collection, dbmodels.YEAR_FIELD, false) + dbmodels.AddIndexNoCollate(collection, dbmodels.ENTRIES_TABLE, false) } diff --git a/pages/index.go b/pages/index.go index 81c914b..78bbd75 100644 --- a/pages/index.go +++ b/pages/index.go @@ -35,7 +35,7 @@ func (p *IndexPage) Down(app core.App) error { func (p *IndexPage) Setup(router *router.Router[*core.RequestEvent], app core.App, engine *templating.Engine) error { router.GET("/{$}", func(e *core.RequestEvent) error { var builder strings.Builder - err := engine.Render(&builder, "/", nil) + err := engine.Render(&builder, "/", nil, "blank") if err != nil { return err }