Skip to content
Open

V0.15 #103

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions NEWS.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
# Release Notes

## v0.15.1

* Support OrderedCollections v2.


## v0.15.0

* **Breaking change:** when a query is used in a scalar context, such as
Expand Down
4 changes: 2 additions & 2 deletions Project.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name = "FunSQL"
uuid = "cf6cc811-59f4-4a10-b258-a8547a8f6407"
authors = ["Kirill Simonov <xi@resolvent.net>", "Clark C. Evans <cce@clarkevans.com>"]
version = "0.15.0"
version = "0.15.1"

[deps]
DBInterface = "a10d1c49-ce27-4219-8d33-6db1a4562965"
Expand All @@ -16,7 +16,7 @@ Tables = "bd369af6-aec1-5ad0-b16a-f7cc5008161c"
DBInterface = "2.5"
DataAPI = "1.13"
LRUCache = "1.3"
OrderedCollections = "1.4"
OrderedCollections = "1.4, 2"
PrettyPrinting = "0.3.2, 0.4"
Tables = "1.6"
julia = "1.6"
4 changes: 2 additions & 2 deletions docs/src/guide/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -403,7 +403,7 @@ The following tabular operations are available in FunSQL.
| [`With`](@ref) | assign a name to a temporary dataset |


## `From`, `Select`, and `Define`
## Using `From`, `Select`, and `Define`

The [`From`](@ref) node outputs the content of a database table. The
constructor takes one argument, the name of the table.
Expand Down Expand Up @@ -539,7 +539,7 @@ To add a new column while preserving existing output columns, we use the
=#


## `Join`
## Using `Join`

The [`Join`](@ref) node correlates the rows of two input datasets.
Predominantly, `Join` is used for looking up table records by key. In the
Expand Down
40 changes: 20 additions & 20 deletions docs/src/test/nodes.md
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ Ill-formed queries are detected.
=#


## `@funsql`
## `@funsql` Tests

The `@funsql` macro provides alternative notation for specifying FunSQL queries.

Expand Down Expand Up @@ -289,7 +289,7 @@ An ill-formed `@funsql` query triggers an error.
=#


## Literals
## Tests for Literals

A SQL value is created with `Lit()` constructor.

Expand Down Expand Up @@ -334,7 +334,7 @@ Such plain literals could also be used in `@funsql` notation.
=#


## Attributes
## Tests for Attributes

To reference a table attribute, we use the `Get` constructor.

Expand Down Expand Up @@ -810,7 +810,7 @@ column.
=#


## Functions and Operators
## Tests for Functions and Operators

A function or an operator invocation is created with the `Fun` constructor.

Expand Down Expand Up @@ -1190,7 +1190,7 @@ FunSQL can simplify logical expressions.
=#


## Scalar Subqueries
## Tests for Scalar Subqueries

In SQL, a scalar expression may contain a subquery. This subquery should select
one column and should produce zero or one row (unless used as an argument of
Expand Down Expand Up @@ -1307,7 +1307,7 @@ If no columns are selected, a column containing `NULL` is added.
=#


## Variables
## Tests for Variables

A query variable is created with the `Var` constructor.

Expand Down Expand Up @@ -1465,7 +1465,7 @@ An empty `Bind` can be created.
=#


## `Append`
## Tests for `Append`

The `Append` constructor creates a subquery that concatenates the output of
multiple queries.
Expand Down Expand Up @@ -1730,7 +1730,7 @@ columns of the nested queries.
=#


## `Iterate`
## Tests for `Iterate`

The `Iterate` constructor creates an iteration query. In the argument of
`Iterate`, the `From(^)` node refers to the output of the previous iteration.
Expand Down Expand Up @@ -1929,7 +1929,7 @@ produced by the base query and the iterator query.
=#


## `As`
## Tests for `As`

An alias to an expression can be added with the `As` constructor.

Expand Down Expand Up @@ -1981,7 +1981,7 @@ The `=>` shorthand is supported by `@funsql`.
=#


## `From`
## Tests for `From`

The `From` constructor creates a subquery that selects columns from the
given table.
Expand Down Expand Up @@ -2264,7 +2264,7 @@ All the columns of a tabular function must have distinct names.
=#


## `With`, `Over`, and `WithExternal`
## Tests for `With`, `Over`, and `WithExternal`

We can create a temporary dataset using `With` and refer to it with `From`.

Expand Down Expand Up @@ -2564,7 +2564,7 @@ Datasets defined by `WithExternal` must have a unique label.
=#


## `Group`
## Tests for `Group`

The `Group` constructor creates a subquery that summarizes the rows partitioned
by the given keys.
Expand Down Expand Up @@ -3027,7 +3027,7 @@ corresponding `Group` could be determined unambiguously.
=#


## `Partition`
## Tests for `Partition`

The `Partition` constructor creates a subquery that partitions the rows by the
given keys.
Expand Down Expand Up @@ -3267,7 +3267,7 @@ example which calculates non-overlapping visits.
=#


## `Join`
## Tests for `Join`

The `Join` constructor creates a subquery that correlates two nested subqueries.

Expand Down Expand Up @@ -3638,7 +3638,7 @@ its right branch.
=#


## `Order`
## Tests for `Order`

The `Order` constructor creates a subquery for sorting the data.

Expand Down Expand Up @@ -3801,7 +3801,7 @@ Sort decorations can be created with `@funsql`.
=#


## `Limit`
## Tests for `Limit`

The `Limit` constructor creates a subquery that takes a fixed-size slice of the
dataset.
Expand Down Expand Up @@ -3945,7 +3945,7 @@ A `Limit` node can be created with `@funsql` notation.
=#


## `Select`
## Tests for `Select`

The `Select` constructor creates a subquery that fixes the output columns.

Expand Down Expand Up @@ -4007,7 +4007,7 @@ creates a complete subquery.
=#


## `Where`
## Tests for `Where`

The `Where` constructor creates a subquery that filters by the given condition.

Expand Down Expand Up @@ -4132,7 +4132,7 @@ Several `Where` operations in a row are collapsed to a single `WHERE` clause.
=#


## Highlighting
## Tests for Highlighting

To highlight a node on the output, wrap it with `Highlight`.

Expand Down Expand Up @@ -4178,7 +4178,7 @@ A `Highlight` node can be created with `@funsql` notation.
=#


## Debugging
## Tests for Debug Logging

Enable debug logging to get some insight on how FunSQL translates a query
object into SQL. Set the `JULIA_DEBUG` environment variable to the name of
Expand Down
8 changes: 4 additions & 4 deletions docs/src/test/other.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Other Tests


## `SQLConnection` and `SQLStatement`
## Tests for `SQLConnection` and `SQLStatement`

A `SQLConnection` object encapsulates a raw database connection together
with the database catalog.
Expand Down Expand Up @@ -66,7 +66,7 @@ by name.
DBInterface.close!(conn)


## `SQLCatalog`, `SQLTable`, and `SQLColumn`
## Tests for `SQLCatalog`, `SQLTable`, and `SQLColumn`

In FunSQL, tables and table-like entities are represented using `SQLTable`
objects. Their columns are represented using `SQLColumn` objects.
Expand Down Expand Up @@ -301,7 +301,7 @@ FunSQL metadata supports DataAPI metadata interface.
#-> "Person ID"


## `SQLDialect`
## Tests for `SQLDialect`

In FunSQL, properties and capabilities of a particular SQL dialect
are encapsulated in a `SQLDialect` object.
Expand Down Expand Up @@ -343,7 +343,7 @@ A completely custom dialect can be specified.
#-> SQLDialect(name = :my, identifier_quotes = ('<', '>'))


## `SQLString`
## Tests for `SQLString`

`SQLString` represents a serialized SQL query.

Expand Down
Loading