mirror of
https://github.com/Theodor-Springmann-Stiftung/musenalm.git
synced 2025-10-29 17:25:32 +00:00
ft5 table creation
This commit is contained in:
@@ -4,6 +4,84 @@ import "github.com/pocketbase/pocketbase/tools/types"
|
||||
|
||||
var EDITORSTATE_VALUES = []string{"Unknown", "ToDo", "Seen", "Partially Edited", "Waiting", "Review", "Edited"}
|
||||
|
||||
var SERIES_FTS5_FIELDS = []string{
|
||||
SERIES_TITLE_FIELD,
|
||||
SERIES_PSEUDONYMS_FIELD,
|
||||
ANNOTATION_FIELD,
|
||||
COMMENT_FIELD,
|
||||
}
|
||||
|
||||
var AGENTS_FTS5_FIELDS = []string{
|
||||
AGENTS_NAME_FIELD,
|
||||
AGENTS_BIOGRAPHICAL_DATA_FIELD,
|
||||
AGENTS_PSEUDONYMS_FIELD,
|
||||
ANNOTATION_FIELD,
|
||||
COMMENT_FIELD,
|
||||
}
|
||||
|
||||
var PLACES_FTS5_FIELDS = []string{
|
||||
PLACES_NAME_FIELD,
|
||||
PLACES_PSEUDONYMS_FIELD,
|
||||
URI_FIELD,
|
||||
ANNOTATION_FIELD,
|
||||
COMMENT_FIELD,
|
||||
}
|
||||
|
||||
var ITEMS_FTS5_FIELDS = []string{
|
||||
ITEMS_LOCATION_FIELD,
|
||||
ITEMS_OWNER_FIELD,
|
||||
ITEMS_MEDIA_FIELD,
|
||||
ITEMS_CONDITION_FIELD,
|
||||
ITEMS_IDENTIFIER_FIELD,
|
||||
URI_FIELD,
|
||||
ANNOTATION_FIELD,
|
||||
COMMENT_FIELD,
|
||||
}
|
||||
|
||||
var ENTRIES_FTS5_FIELDS = []string{
|
||||
PREFERRED_TITLE_FIELD,
|
||||
VARIANT_TITLE_FIELD,
|
||||
PARALLEL_TITLE_FIELD,
|
||||
TITLE_STMT_FIELD,
|
||||
SUBTITLE_STMT_FIELD,
|
||||
INCIPIT_STMT_FIELD,
|
||||
RESPONSIBILITY_STMT_FIELD,
|
||||
PUBLICATION_STMT_FIELD,
|
||||
PLACE_STMT_FIELD,
|
||||
EDITION_FIELD,
|
||||
YEAR_FIELD,
|
||||
EXTENT_FIELD,
|
||||
DIMENSIONS_FIELD,
|
||||
REFERENCES_FIELD,
|
||||
PLACES_TABLE,
|
||||
AGENTS_TABLE,
|
||||
SERIES_TABLE,
|
||||
MUSENALMID_FIELD,
|
||||
ANNOTATION_FIELD,
|
||||
COMMENT_FIELD,
|
||||
}
|
||||
|
||||
var CONTENTS_FTS5_FIELDS = []string{
|
||||
PREFERRED_TITLE_FIELD,
|
||||
VARIANT_TITLE_FIELD,
|
||||
PARALLEL_TITLE_FIELD,
|
||||
TITLE_STMT_FIELD,
|
||||
SUBTITLE_STMT_FIELD,
|
||||
INCIPIT_STMT_FIELD,
|
||||
RESPONSIBILITY_STMT_FIELD,
|
||||
PUBLICATION_STMT_FIELD,
|
||||
PLACE_STMT_FIELD,
|
||||
YEAR_FIELD,
|
||||
EXTENT_FIELD,
|
||||
DIMENSIONS_FIELD,
|
||||
NUMBERING_FIELD,
|
||||
ENTRIES_TABLE,
|
||||
AGENTS_TABLE,
|
||||
MUSENALMID_FIELD,
|
||||
ANNOTATION_FIELD,
|
||||
COMMENT_FIELD,
|
||||
}
|
||||
|
||||
var ITEM_TYPE_VALUES = []string{
|
||||
"Original",
|
||||
"Reproduktion",
|
||||
@@ -416,6 +494,8 @@ var PUBLIC_VIEW_RULE = types.Pointer("")
|
||||
var PUBLIC_LIST_RULE = types.Pointer("")
|
||||
|
||||
const (
|
||||
FTS5_PREFIX = "fts5_"
|
||||
|
||||
PLACES_TABLE = "places"
|
||||
AGENTS_TABLE = "agents"
|
||||
SERIES_TABLE = "series"
|
||||
|
||||
@@ -97,3 +97,19 @@ func GetFields(records []*core.Record, field string) []any {
|
||||
}
|
||||
return fields
|
||||
}
|
||||
|
||||
func CreateFTS5TableQuery(tablename string, fields ...string) string {
|
||||
if len(fields) == 0 {
|
||||
return ""
|
||||
}
|
||||
|
||||
str := "CREATE VIRTUAL TABLE IF NOT EXISTS " + FTS5_PREFIX + tablename + " USING fts5(id, "
|
||||
for i, f := range fields {
|
||||
str += f
|
||||
if i < len(fields)-1 {
|
||||
str += ", "
|
||||
}
|
||||
}
|
||||
str += ")"
|
||||
return str
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user