From ea5b2b8fc2713d135f3a0de91647a6c2fea526de Mon Sep 17 00:00:00 2001 From: Henrik Hautakoski Date: Tue, 28 May 2024 13:30:21 +0200 Subject: [PATCH] internal/server/helpers.go fix a bug in isVariant() where v.Elem() was called on non interface/pointer --- internal/server/helpers.go | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/internal/server/helpers.go b/internal/server/helpers.go index 13fb386..e35bb92 100644 --- a/internal/server/helpers.go +++ b/internal/server/helpers.go @@ -112,11 +112,10 @@ func isVariant(v reflect.Value) bool { return false } - if !isVariantName(v.Index(0).Elem().String()) { - return false + for v = v.Index(0); v.Kind() == reflect.Interface || v.Kind() == reflect.Pointer; v = v.Elem() { } - return true + return v.Kind() == reflect.String && isVariantName(v.String()) } func parseTableDeltaData(v any) (map[string]interface{}, error) {