This is an automated email from the ASF dual-hosted git repository.
alamb pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/datafusion.git
The following commit(s) were added to refs/heads/main by this push:
new 22a242c15d docs: Added Special Functions Page (#13102)
22a242c15d is described below
commit 22a242c15deafc78f5e6b42eb98408181979cf00
Author: Jonathan Chen <[email protected]>
AuthorDate: Sat Oct 26 06:30:34 2024 -0400
docs: Added Special Functions Page (#13102)
* Added special function page
* Add index entry, tweak wording
* Improve example
* Update docs/source/user-guide/sql/special_functions.md
---------
Co-authored-by: Andrew Lamb <[email protected]>
Co-authored-by: Oleks V <[email protected]>
---
docs/source/user-guide/sql/index.rst | 1 +
docs/source/user-guide/sql/scalar_functions.md | 77 ------------------
docs/source/user-guide/sql/special_functions.md | 100 ++++++++++++++++++++++++
3 files changed, 101 insertions(+), 77 deletions(-)
diff --git a/docs/source/user-guide/sql/index.rst
b/docs/source/user-guide/sql/index.rst
index 6eb451c83b..8b8afc7b04 100644
--- a/docs/source/user-guide/sql/index.rst
+++ b/docs/source/user-guide/sql/index.rst
@@ -35,5 +35,6 @@ SQL Reference
window_functions_new
scalar_functions
scalar_functions_new
+ special_functions
sql_status
write_options
diff --git a/docs/source/user-guide/sql/scalar_functions.md
b/docs/source/user-guide/sql/scalar_functions.md
index 2034114287..a8e25930be 100644
--- a/docs/source/user-guide/sql/scalar_functions.md
+++ b/docs/source/user-guide/sql/scalar_functions.md
@@ -72,51 +72,8 @@ See [date_part](#date_part).
## Array Functions
-- [unnest](#unnest)
- [range](#range)
-### `unnest`
-
-Transforms an array into rows.
-
-#### Arguments
-
-- **array**: Array expression to unnest.
- Can be a constant, column, or function, and any combination of array
operators.
-
-#### Examples
-
-```
-> select unnest(make_array(1, 2, 3, 4, 5));
-+------------------------------------------------------------------+
-| unnest(make_array(Int64(1),Int64(2),Int64(3),Int64(4),Int64(5))) |
-+------------------------------------------------------------------+
-| 1 |
-| 2 |
-| 3 |
-| 4 |
-| 5 |
-+------------------------------------------------------------------+
-```
-
-```
-> select unnest(range(0, 10));
-+-----------------------------------+
-| unnest(range(Int64(0),Int64(10))) |
-+-----------------------------------+
-| 0 |
-| 1 |
-| 2 |
-| 3 |
-| 4 |
-| 5 |
-| 6 |
-| 7 |
-| 8 |
-| 9 |
-+-----------------------------------+
-```
-
### `range`
Returns an Arrow array between start and stop with step. `SELECT range(2, 10,
3) -> [2, 5, 8]` or
@@ -165,40 +122,6 @@ are not allowed
- generate_series
-## Struct Functions
-
-- [unnest](#unnest-struct)
-
-For more struct functions see the new documentation [
-`here`](https://datafusion.apache.org/user-guide/sql/scalar_functions_new.html)
-
-### `unnest (struct)`
-
-Unwraps struct fields into columns.
-
-#### Arguments
-
-- **struct**: Object expression to unnest.
- Can be a constant, column, or function, and any combination of object
operators.
-
-#### Examples
-
-```
-> select * from foo;
-+---------------------+
-| column1 |
-+---------------------+
-| {a: 5, b: a string} |
-+---------------------+
-
-> select unnest(column1) from foo;
-+-----------------------+-----------------------+
-| unnest(foo.column1).a | unnest(foo.column1).b |
-+-----------------------+-----------------------+
-| 5 | a string |
-+-----------------------+-----------------------+
-```
-
## Other Functions
See the new documentation
[`here`](https://datafusion.apache.org/user-guide/sql/scalar_functions_new.html)
diff --git a/docs/source/user-guide/sql/special_functions.md
b/docs/source/user-guide/sql/special_functions.md
new file mode 100644
index 0000000000..7c9efbb662
--- /dev/null
+++ b/docs/source/user-guide/sql/special_functions.md
@@ -0,0 +1,100 @@
+<!---
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+# Special Functions
+
+## Expansion Functions
+
+- [unnest](#unnest)
+- [unnest(struct)](#unnest-struct)
+
+### `unnest`
+
+Expands an array or map into rows.
+
+#### Arguments
+
+- **array**: Array expression to unnest.
+ Can be a constant, column, or function, and any combination of array
operators.
+
+#### Examples
+
+```sql
+> select unnest(make_array(1, 2, 3, 4, 5)) as unnested;
++----------+
+| unnested |
++----------+
+| 1 |
+| 2 |
+| 3 |
+| 4 |
+| 5 |
++----------+
+```
+
+```sql
+> select unnest(range(0, 10)) as unnested_range;
++----------------+
+| unnested_range |
++----------------+
+| 0 |
+| 1 |
+| 2 |
+| 3 |
+| 4 |
+| 5 |
+| 6 |
+| 7 |
+| 8 |
+| 9 |
++----------------+
+```
+
+### `unnest (struct)`
+
+Expand a struct fields into individual columns.
+
+#### Arguments
+
+- **struct**: Object expression to unnest.
+ Can be a constant, column, or function, and any combination of object
operators.
+
+#### Examples
+
+```sql
+> create table foo as values ({a: 5, b: 'a string'}), ({a:6, b: 'another
string'});
+
+> create view foov as select column1 as struct_column from foo;
+
+> select * from foov;
++---------------------------+
+| struct_column |
++---------------------------+
+| {a: 5, b: a string} |
+| {a: 6, b: another string} |
++---------------------------+
+
+> select unnest(struct_column) from foov;
++------------------------------------------+------------------------------------------+
+| unnest_placeholder(foov.struct_column).a |
unnest_placeholder(foov.struct_column).b |
++------------------------------------------+------------------------------------------+
+| 5 | a string
|
+| 6 | another string
|
++------------------------------------------+------------------------------------------+
+```
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]