@@ -158,7 +158,7 @@ pub enum Arity {
158158pub enum TypeSignature {
159159 /// One or more arguments of a common type out of a list of valid types.
160160 ///
161- /// For functions that take no arguments (e.g. `random()` see [`TypeSignature::Nullary`]).
161+ /// For functions that take no arguments (e.g. `random()`), see [`TypeSignature::Nullary`]).
162162 ///
163163 /// # Examples
164164 ///
@@ -184,38 +184,39 @@ pub enum TypeSignature {
184184 Uniform ( usize , Vec < DataType > ) ,
185185 /// One or more arguments with exactly the specified types in order.
186186 ///
187- /// For functions that take no arguments (e.g. `random()`) use [`TypeSignature::Nullary`].
187+ /// For functions that take no arguments (e.g. `random()`), use [`TypeSignature::Nullary`].
188188 Exact ( Vec < DataType > ) ,
189189 /// One or more arguments belonging to the [`TypeSignatureClass`], in order.
190190 ///
191191 /// [`Coercion`] contains not only the desired type but also the allowed
192192 /// casts. For example, if you expect a function has string type, but you
193193 /// also allow it to be casted from binary type.
194194 ///
195- /// For functions that take no arguments (e.g. `random()`) see [`TypeSignature::Nullary`].
195+ /// For functions that take no arguments (e.g. `random()`), see [`TypeSignature::Nullary`].
196196 Coercible ( Vec < Coercion > ) ,
197197 /// One or more arguments coercible to a single, comparable type.
198198 ///
199199 /// Each argument will be coerced to a single type using the
200- /// coercion rules described in [`comparison_coercion_numeric `].
200+ /// coercion rules described in [`comparison_coercion `].
201201 ///
202202 /// # Examples
203203 ///
204204 /// If the `nullif(1, 2)` function is called with `i32` and `i64` arguments
205205 /// the types will both be coerced to `i64` before the function is invoked.
206206 ///
207207 /// If the `nullif('1', 2)` function is called with `Utf8` and `i64` arguments
208- /// the types will both be coerced to `Utf8` before the function is invoked.
208+ /// the types will both be coerced to `Int64` before the function is invoked
209+ /// (numeric is preferred over string).
209210 ///
210211 /// Note:
211- /// - For functions that take no arguments (e.g. `random()` see [`TypeSignature::Nullary`]).
212+ /// - For functions that take no arguments (e.g. `random()`), see [`TypeSignature::Nullary`]).
212213 /// - If all arguments have type [`DataType::Null`], they are coerced to `Utf8`
213214 ///
214- /// [`comparison_coercion_numeric `]: crate::type_coercion::binary::comparison_coercion_numeric
215+ /// [`comparison_coercion `]: crate::type_coercion::binary::comparison_coercion
215216 Comparable ( usize ) ,
216217 /// One or more arguments of arbitrary types.
217218 ///
218- /// For functions that take no arguments (e.g. `random()`) use [`TypeSignature::Nullary`].
219+ /// For functions that take no arguments (e.g. `random()`), use [`TypeSignature::Nullary`].
219220 Any ( usize ) ,
220221 /// Matches exactly one of a list of [`TypeSignature`]s.
221222 ///
@@ -233,7 +234,7 @@ pub enum TypeSignature {
233234 ///
234235 /// See [`NativeType::is_numeric`] to know which type is considered numeric
235236 ///
236- /// For functions that take no arguments (e.g. `random()`) use [`TypeSignature::Nullary`].
237+ /// For functions that take no arguments (e.g. `random()`), use [`TypeSignature::Nullary`].
237238 ///
238239 /// [`NativeType::is_numeric`]: datafusion_common::types::NativeType::is_numeric
239240 Numeric ( usize ) ,
@@ -246,7 +247,7 @@ pub enum TypeSignature {
246247 /// For example, if a function is called with (utf8, large_utf8), all
247248 /// arguments will be coerced to `LargeUtf8`
248249 ///
249- /// For functions that take no arguments (e.g. `random()` use [`TypeSignature::Nullary`]).
250+ /// For functions that take no arguments (e.g. `random()`), use [`TypeSignature::Nullary`]).
250251 String ( usize ) ,
251252 /// No arguments
252253 Nullary ,
0 commit comments