release-24.1: sql: only re-use resolved routine type when flag is set #143638
+44
−11
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Backport 1/1 commits from #143170.
/cc @cockroachdb/release
This commit adds a
RoutineUseResolvedType
flag to theSemaContext
properties to indicate that type-checking for a routine that has already been resolved to a concrete type should short-circuit. This is used to determine the column type for aValues
operator which depends on a RECORD-returning routine, which only determines its type after the body is built. This will prevent regressions in other code paths that do not desire this short-circuiting behavior.Fixes #142615
Release note (bug fix): Fixed a bug in
v24.1.14
,v24.3.7
,v24.3.8
, andv25.1
which could cause a nil-pointer error when a column's default expression contained a volatile expression (likenextval
) as a UDF argument.Release justification: fix for regression due to previously backported fix