Skip to content

Commit b634f95

Browse files
committed
fix: improve function return type resolution to correctly handle 'any' prefixes and 'record' types.
1 parent 4e2ba51 commit b634f95

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

internal/compiler/resolve.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"fmt"
55
"log/slog"
66
"strconv"
7+
"strings"
78

89
"github.com/sqlc-dev/sqlc/internal/sql/ast"
910
"github.com/sqlc-dev/sqlc/internal/sql/astutils"
@@ -155,7 +156,7 @@ func (comp *Compiler) resolveCatalogRefs(qc *QueryCatalog, rvs []*ast.RangeVar,
155156
}
156157
if funcCallSide != nil {
157158
fun, ferr := c.ResolveFuncCall(funcCallSide)
158-
if ferr == nil && fun.ReturnType != nil && fun.ReturnType.Name != "any" {
159+
if ferr == nil && fun.ReturnType != nil && !strings.HasPrefix(fun.ReturnType.Name, "any") && fun.ReturnType.Name != "record" {
159160
defaultP := named.NewInferredParam(ref.name, true)
160161
p, isNamed := params.FetchMerge(ref.ref.Number, defaultP)
161162
a = append(a, Parameter{

0 commit comments

Comments
 (0)