@@ -211,6 +211,25 @@ message ExtensionDefinition {
211211 WindowProperties window_function = 9 ;
212212 }
213213
214+ // For table functions, when defined; to be added to above oneof.
215+ reserved 10 ;
216+
217+ // Nullability behavior that the function was declared with. Note that the
218+ // patterns have already been desugared to represent this, so this can be
219+ // ignored; it exists only for completeness.
220+ oneof consistency {
221+ // Nullability of toplevel binding and data type patterns of all argument
222+ // and return types was overridden to `??nullable`.
223+ google.protobuf.Empty mirror = 11 ;
224+
225+ // Nullability of toplevel binding and data type patterns of all argument
226+ // types was overridden to `??nullable`.
227+ google.protobuf.Empty declared_output = 12 ;
228+
229+ // No desugaring overrides were applied.
230+ google.protobuf.Empty discrete = 13 ;
231+ }
232+
214233 // Properties common to aggregate and window functions.
215234 message AggregateProperties {
216235 // When specified, the function is decomposable.
@@ -250,9 +269,8 @@ message ExtensionDefinition {
250269 }
251270 }
252271
253- // Represents a parameter pack for a user-defined compound type class or a
254- // function argument slot list. In the latter case, the patterns will only
255- // ever be passed typenames.
272+ // Represents a positional parameter pack for a user-defined compound type
273+ // class or a function argument slot list.
256274 //
257275 // The order of operations for the various patterns is:
258276 //
@@ -303,7 +321,7 @@ message ExtensionDefinition {
303321 // for aggregate and window functions.
304322 google.protobuf.Empty literal = 6 ;
305323
306- // An data value must be bound to the slot. This is done by means of
324+ // A data value must be bound to the slot. This is done by means of
307325 // binding an expression, but the expression can always be evaluated or
308326 // reduced before the function is invoked. This is used for value
309327 // function arguments that are not marked as constant. The data type of
@@ -350,6 +368,18 @@ message ExtensionDefinition {
350368 // The maximum number of arguments that can be bound to the slot. Zero
351369 // is treated as unspecified/no upper limit.
352370 uint64 maximum = 2 ;
371+
372+ // Consistency that the variadic slot was declared with. Note that the
373+ // patterns have already been desugared to represent this, so this can be
374+ // ignored; it exists only for completeness.
375+ oneof consistency {
376+ // No desugaring overrides were applied.
377+ google.protobuf.Empty consistent = 3 ;
378+
379+ // All consistent bindings in the last argument slot were overridden to
380+ // inconsistent bindings.
381+ google.protobuf.Empty inconsistent = 4 ;
382+ }
353383 }
354384
355385 // Optional additional constraints to apply when determining whether a
0 commit comments