diff options
| author | 2024-11-25 13:48:59 +0000 | |
|---|---|---|
| committer | 2024-11-25 14:48:59 +0100 | |
| commit | cac9d65029e972af9440ff79a2617d5c524a9d64 (patch) | |
| tree | 87353498b2d6bb29679cd4af8744d5b3f7cd3423 /internal/processing | |
| parent | [chore]: Bump github.com/stretchr/testify from 1.9.0 to 1.10.0 (#3564) (diff) | |
| download | gotosocial-cac9d65029e972af9440ff79a2617d5c524a9d64.tar.xz | |
[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
Diffstat (limited to 'internal/processing')
| -rw-r--r-- | internal/processing/preferences.go | 2 | ||||
| -rw-r--r-- | internal/processing/status/create.go | 2 | ||||
| -rw-r--r-- | internal/processing/timeline/notification.go | 4 | ||||
| -rw-r--r-- | internal/processing/workers/surfacenotify.go | 2 | 
4 files changed, 5 insertions, 5 deletions
diff --git a/internal/processing/preferences.go b/internal/processing/preferences.go index 0a5f566ae..fb445ec5b 100644 --- a/internal/processing/preferences.go +++ b/internal/processing/preferences.go @@ -46,7 +46,7 @@ func (p *Processor) PreferencesGet(ctx context.Context, accountID string) (*apim  func mastoPrefVisibility(vis gtsmodel.Visibility) string {  	switch vis {  	case gtsmodel.VisibilityPublic, gtsmodel.VisibilityDirect: -		return string(vis) +		return vis.String()  	case gtsmodel.VisibilityUnlocked:  		return "unlisted"  	default: diff --git a/internal/processing/status/create.go b/internal/processing/status/create.go index fbc2dadf7..ef8f8aa56 100644 --- a/internal/processing/status/create.go +++ b/internal/processing/status/create.go @@ -372,7 +372,7 @@ func (p *Processor) processVisibility(  	// Fall back to account default, set  	// this back on the form for later use. -	case accountDefaultVis != "": +	case accountDefaultVis != 0:  		status.Visibility = accountDefaultVis  		form.Visibility = p.converter.VisToAPIVis(ctx, accountDefaultVis) diff --git a/internal/processing/timeline/notification.go b/internal/processing/timeline/notification.go index 34e6d865d..92dbf851f 100644 --- a/internal/processing/timeline/notification.go +++ b/internal/processing/timeline/notification.go @@ -41,8 +41,8 @@ func (p *Processor) NotificationsGet(  	sinceID string,  	minID string,  	limit int, -	types []string, -	excludeTypes []string, +	types []gtsmodel.NotificationType, +	excludeTypes []gtsmodel.NotificationType,  ) (*apimodel.PageableResponse, gtserror.WithCode) {  	notifs, err := p.state.DB.GetAccountNotifications(  		ctx, diff --git a/internal/processing/workers/surfacenotify.go b/internal/processing/workers/surfacenotify.go index 872ccca65..1520d2ec0 100644 --- a/internal/processing/workers/surfacenotify.go +++ b/internal/processing/workers/surfacenotify.go @@ -542,7 +542,7 @@ func getNotifyLockURI(  ) string {  	builder := strings.Builder{}  	builder.WriteString("notification:?") -	builder.WriteString("type=" + string(notificationType)) +	builder.WriteString("type=" + notificationType.String())  	builder.WriteString("&target=" + targetAccount.URI)  	builder.WriteString("&origin=" + originAccount.URI)  	if statusID != "" {  | 
