Skip to content

Commit

Permalink
#279: Handle "fractionalSecondsPrecision" (#282)
Browse files Browse the repository at this point in the history
  • Loading branch information
kaklakariada committed Apr 24, 2024
1 parent 7241857 commit 65e10c5
Show file tree
Hide file tree
Showing 18 changed files with 756 additions and 622 deletions.
5 changes: 4 additions & 1 deletion doc/changes/changes_17.1.0.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Common Module of Exasol Virtual Schemas Adapters 17.1.0, released 2024-??-??
# Common Module of Exasol Virtual Schemas Adapters 17.1.0, released 2024-04-24

Code name: Add `WIDTH_BUCKET`

Expand All @@ -8,6 +8,8 @@ This release adds support for scalar function [`WIDTH_BUCKET`](https://docs.exas
* `ScalarFunctionCapability.WIDTH_BUCKET`
* `ScalarFunction.WIDTH_BUCKET`

The release also adds support for `TIMESTAMP` precision.

**Breaking Changes:** This release removes the following deprecated fields/methods from class `com.exasol.adapter.AdapterProperties`:
* Constant `EXCEPTION_HANDLING_PROPERTY`
* Method `getExceptionHandling()`
Expand All @@ -19,6 +21,7 @@ This release adds support for scalar function [`WIDTH_BUCKET`](https://docs.exas

## Features

* #279: Added support for `TIMESTAMP` precision field `fractionalSecondsPrecision` with default 3.
* #278: Added support for scalar function `WIDTH_BUCKET`

## Dependency Updates
Expand Down
98 changes: 49 additions & 49 deletions doc/development/api/aggregate_functions_api.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,43 +13,43 @@ This page describes how Exasol aggregate functions map to the Virtual Schemas pu

The aggregate functions from the table below support an optional [`distinct` field](#functions-with-distinct-field). For this field they require an additional capability `*_DISTINCT`.

| Function Name | Required Set-Function Capabilities |
|---------------|--------------------------------------------|
| AVG | `AVG` and `AVG_DISTINCT` |
| COUNT | `COUNT` and `COUNT_DISTINCT` |
| GROUP_CONCAT | `GROUP_CONCAT` and `GROUP_CONCAT_DISTINCT` |
| LISTAGG | `LISTAGG` and `LISTAGG_DISTINCT` |
| MUL | `MUL` and `MUL_DISTINCT` |
| STDDEV | `STDDEV` and `STDDEV_DISTINCT` |
| STDDEV_POP | `STDDEV_POP` and `STDDEV_POP_DISTINCT` |
| STDDEV_SAMP | `STDDEV_SAMP` and `STDDEV_SAMP_DISTINCT` |
| SUM | `SUM` and `SUM_DISTINCT` |
| VARIANCE | `VARIANCE` and `VARIANCE_DISTINCT` |
| VAR_POP | `VAR_POP` and `VAR_POP_DISTINCT` |
| VAR_SAMP | `VAR_SAMP` and `VAR_SAMP_DISTINCT` |
| Function Name | Required Set-Function Capabilities |
|-----------------|--------------------------------------------|
| `AVG` | `AVG` and `AVG_DISTINCT` |
| `COUNT` | `COUNT` and `COUNT_DISTINCT` |
| `GROUP_CONCAT` | `GROUP_CONCAT` and `GROUP_CONCAT_DISTINCT` |
| `LISTAGG` | `LISTAGG` and `LISTAGG_DISTINCT` |
| `MUL` | `MUL` and `MUL_DISTINCT` |
| `STDDEV` | `STDDEV` and `STDDEV_DISTINCT` |
| `STDDEV_POP` | `STDDEV_POP` and `STDDEV_POP_DISTINCT` |
| `STDDEV_SAMP` | `STDDEV_SAMP` and `STDDEV_SAMP_DISTINCT` |
| `SUM` | `SUM` and `SUM_DISTINCT` |
| `VARIANCE` | `VARIANCE` and `VARIANCE_DISTINCT` |
| `VAR_POP` | `VAR_POP` and `VAR_POP_DISTINCT` |
| `VAR_SAMP` | `VAR_SAMP` and `VAR_SAMP_DISTINCT` |

### Special Cases of Aggregate Functions

This section contains functions that have a special API mapping.

| Function Name | API Mapping Link |
|---------------------|----------------------------------------------------|
| COUNT | [COUNT function](#count) |
| GROUP_CONCAT | [GROUP_CONCAT function](#group_concat) |
| LISTAGG | [LISTAGG function](#listagg) |
| `COUNT` | [`COUNT` function](#count) |
| `GROUP_CONCAT` | [`GROUP_CONCAT` function](#group_concat) |
| `LISTAGG` | [`LISTAGG` function](#listagg) |

### Aggregate Functions Not Included in the API

| Function Name | Comment |
|---------------------|-----------------------------------------|
| ANY | The API uses the SOME function. |
| CORR | Not included in the API. |
| COVAR_POP | Not included in the API. |
| COVAR_SAMP | Not included in the API. |
| GROUPING | Not included in the API. |
| PERCENTILE_CONT | Not included in the API. |
| PERCENTILE_DISC | Not included in the API. |
| REGR_* | Not included in the API. |
| `ANY` | The API uses the SOME function. |
| `CORR` | Not included in the API. |
| `COVAR_POP` | Not included in the API. |
| `COVAR_SAMP` | Not included in the API. |
| `GROUPING` | Not included in the API. |
| `PERCENTILE_CONT` | Not included in the API. |
| `PERCENTILE_DISC` | Not included in the API. |
| `REGR_*` | Not included in the API. |

## Aggregate Functions API

Expand All @@ -62,9 +62,9 @@ An aggregate function with a single argument (consistent with multiple argument
"type": "function_aggregate",
"name": "<function name>",
"arguments": [
{
...
}
{
...
}
]
}
```
Expand All @@ -78,12 +78,12 @@ An aggregate function with multiple arguments:
"type": "function_aggregate",
"name": "<function name>",
"arguments": [
{
...
},
{
...
}
{
...
},
{
...
}
]
}
```
Expand All @@ -105,7 +105,7 @@ An aggregate function with multiple arguments:
}
```

### COUNT
### `COUNT`

`COUNT(*)`
(Requires set-function capability `COUNT_STAR`. Please notice, that the set-function capability `COUNT` is not required in this case.)
Expand All @@ -129,20 +129,20 @@ An aggregate function with multiple arguments:
"name": "COUNT",
"distinct": true,
"arguments": [
{
...
},
{
...
}
{
...
},
{
...
}
]
}
```

Notes:
* `distinct`: Optional. Requires set-function capability `COUNT_DISTINCT.`

### GROUP_CONCAT
### `GROUP_CONCAT`

`GROUP_CONCAT([DISTINCT] arg [orderBy] [SEPARATOR 'separator'])`
(requires set-function capability `GROUP_CONCAT`)
Expand All @@ -153,9 +153,9 @@ Notes:
"name": "GROUP_CONCAT",
"distinct": true,
"arguments": [
{
...
}
{
...
}
],
"orderBy" : [
...
Expand All @@ -173,7 +173,7 @@ Notes:
* `orderBy`: Optional. The requested order-by clause, a list of `order_by_element` elements. Requires the set-function capability `GROUP_CONCAT_ORDER_BY`.
* `separator`: Optional. Requires set-function capability `GROUP_CONCAT_SEPARATOR`.

### LISTAGG
### `LISTAGG`

`LISTAGG([DISTINCT] arg[, 'separator'] ON OVERFLOW {ERROR | TRUNCATE ['truncationFiller'] {WITH | WITHOUT} COUNT}) [WITHIN GROUP (orderBy)]`
(requires set-function capability `LISTAGG`)
Expand All @@ -184,9 +184,9 @@ Notes:
"name": "LISTAGG",
"distinct": true,
"arguments": [
{
...
}
{
...
}
],
"separator":
{
Expand Down

0 comments on commit 65e10c5

Please sign in to comment.