jackc/pgx · error

StructArgs requires a struct or pointer to struct, got nil

Error message

StructArgs requires a struct or pointer to struct, got nil

What it means

Error "StructArgs requires a struct or pointer to struct, got nil" thrown in jackc/pgx.

Source

Thrown at named_args.go:76

		return errorQueryRewriter{err: err}
	}
	return NamedArgs(args)
}

// StrictStructArgs is like StructArgs but uses StrictNamedArgs rewriting
// semantics (i.e. errors if the SQL query references missing arguments or if
// extra arguments are provided).
func StrictStructArgs(sa any) QueryRewriter {
	args, err := structArgs(sa)
	if err != nil {
		return errorQueryRewriter{err: err}
	}
	return StrictNamedArgs(args)
}

func structArgs(sa any) (map[string]any, error) {
	if sa == nil {
		return nil, fmt.Errorf("StructArgs requires a struct or pointer to struct, got nil")
	}

	v := reflect.ValueOf(sa)
	t := v.Type()

	if t.Kind() == reflect.Pointer {
		if v.IsNil() {
			return nil, fmt.Errorf("StructArgs requires a non-nil pointer to struct")
		}
		v = v.Elem()
		t = v.Type()
	}

	if t.Kind() != reflect.Struct {
		return nil, fmt.Errorf("StructArgs requires a struct or pointer to struct, got %s", t)
	}

	out := make(map[string]any, t.NumField())

View on GitHub (pinned to ec1a0befd2)

When it happens

Trigger: Thrown at named_args.go:76 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of jackc/pgx@ec1a0befd2 (2026-08-04). Data as JSON: /data/errors/d7d0dab03975ad84.json. Report an issue: GitHub.