Function1N is a function that takes at least one parameter. This is different from a SQL variadic function, as the additional parameters may have different types (that do not contribute to type deduction like with `anyelement`), and is only usable by C-language functions (notably built-in ones such
| 86 | // is only usable by C-language functions (notably built-in ones such as `concat`). The field `paramsAndReturn` works |
| 87 | // similarly to standard functions, with the last type being the return type. |
| 88 | type Function1N struct { |
| 89 | Name string |
| 90 | Return *pgtypes.DoltgresType |
| 91 | Parameters [1]*pgtypes.DoltgresType |
| 92 | IsNonDeterministic bool |
| 93 | Strict bool |
| 94 | SRF bool |
| 95 | Callable func(ctx *sql.Context, paramsAndReturn []*pgtypes.DoltgresType, val1 any, vals []any) (any, error) |
| 96 | } |
| 97 | |
| 98 | // Function2 is a function that takes two parameters. The parameter and return types are passed into the Callable |
| 99 | // function when the parameters (and possibly return type) have at least one polymorphic type. The return type is the |
nothing calls this directly
no outgoing calls
no test coverage detected