[performance] convert enum strings to ints (#3558)

* convert statuses.visibility and notifications.notification_type columns from type string -> int for performance / space savings

* fix test trying to compare string to int

* fix instance count query using string literal instead of gtsmodel const type

* ensure a default value is always set

* also migrate the account settings and sin bin status tables

* initialize maps outside loops and place into singular enum mapping creation func

* use int16 for enum types

* update sinbinstatus creation to be from a snapshot at initial creation

* add snapshot of poll type at creation time
This commit is contained in:
kim 2024-11-25 13:48:59 +00:00 committed by GitHub
commit cac9d65029
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
32 changed files with 940 additions and 91 deletions

View file

@ -41,7 +41,7 @@ func APIVisToVis(m apimodel.Visibility) gtsmodel.Visibility {
case apimodel.VisibilityNone:
return gtsmodel.VisibilityNone
}
return ""
return 0
}
func APIMarkerNameToMarkerName(m apimodel.MarkerName) gtsmodel.MarkerName {

View file

@ -1862,7 +1862,7 @@ func (c *Converter) NotificationToAPINotification(
return &apimodel.Notification{
ID: n.ID,
Type: string(n.NotificationType),
Type: n.NotificationType.String(),
CreatedAt: util.FormatISO8601(n.CreatedAt),
Account: apiAccount,
Status: apiStatus,