ajwerner
ajwerner
> No, at least in the foreseeable future. However, as I mentioned above, we have plans to add a public interface for pluggable storage-drivers. So, if someone want to take...
What was nil here was the `Name` of the UDT: https://github.com/cockroachdb/cockroach/blob/ddabd1890635ce088ec60af5cbf39bda2fe60ace/pkg/sql/types/types.go#L191-L192 I don't know that we have a proof that the type has been hydrated. I have a feeling that...
Okay, I did some digging. I think the core problem ends up being here: https://github.com/cockroachdb/cockroach/blob/9804737e205f7de96c1f0383d90340b974e1ed18/pkg/sql/sem/tree/type_name.go#L153-L157 In `TypeCheck` we call `ResolveType` and overwrite the reference to the type in the AST...
Err nevermind that does not make sense.
Doesn't your patch fail to actually hydrate the Array type with a name?
I solved the mystery! It took way too long :( The type hydration code short-circuits if the type is already hydrated. The determination as to whether it is hydrated is:...
https://github.com/cockroachdb/cockroach/blob/31ffb42b585d0b196a438cddfdae56b28ff0e674/pkg/sql/opt/norm/fold_constants_funcs.go#L397-L400
> any cast that has to read some mutable state should not be folded during normalization I remain meh on this take. I suspect that folding `regclass` casts is probably...
Alright in light of #74470, I agree that immutable is not fitting. Stable is fitting and folding these stable values may be important.
The `returnerrcheck` linter doesn't do anything if the function doesn't itself return an error. The optimizer doesn't really return errors, it panics them, so the linter does not trigger.