* feat: Support `FILTER` clause in aggregate window functions
* fix: Box `WindowFunction` in `ExprFuncKind` enum to reduce enum total size
As suggested by `clippy`:
```
warning: large size difference between variants
--> datafusion/expr/src/expr_fn.rs:772:1
|
772 | / pub enum ExprFuncKind {
773 | | Aggregate(AggregateFunction),
| | ---------------------------- the second-largest variant contains at least 72 bytes
774 | | Window(WindowFunction),
| | ---------------------- the largest variant contains at least 288 bytes
775 | | }
| |_^ the entire enum is at least 288 bytes
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant
= note: `#[warn(clippy::large_enum_variant)]` on by default
help: consider boxing the large fields to reduce the total size of the enum
|
774 - Window(WindowFunction),
774 + Window(Box<WindowFunction>),
|
```
* test: Add DataFrame API test for FILTER clause on aggregate window functions
* docs: Update aggregate and window function documentation with FILTER support
* docs: Link missing proto fields to github issue in TODO comment
* converting to ntile udwf
* updated the window functions documentation file
* wip: update the ntile udwf function
* fix the roundtrip_logical_plan.rs
* removed builtIn ntile function
* fixed field name issue
* fixing the return type of ntile udwf
* error if UInt64 conversion fails
* handling if null is found
* handling if value is zero or less than zero
* removed unused import
* updated prost.rs file
* removed dead code
* fixed clippy error
* added inner doc comment
* minor fixes and added roundtrip logical plan test
* removed parse_expr in ntile
* Fix 'Configuration Settings' link in write_options.md
* Fix multiple reference definition in scalar_functions.md
* Fix typo: 'contcat_ws' to 'concat_ws' in scalar_functions.md
* Add missing section 'array_contains' in scalar_functions.md
* Fix reference warnings in operators.md
* Remove unsupported syntax 'csv' from code blocks of adding-udfs.md
* Fix syntax tag in example-usage.md
* Change syntax tag of code blocks that contain multiple syntaxes of
cli.md
* Remove 'sql' syntax tags from code blocks
* Remove leading ❯ in sql code blocks
* User guide lists window functions
* prettier
* examples include range/rows -clauses
* Descriptions from Postgres docs; syntax described
* Describe named windows; RANGE & GROUPS require ORDER BY