-
Notifications
You must be signed in to change notification settings - Fork 3.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Convert release notes source to markdown
- Loading branch information
Showing
414 changed files
with
8,155 additions
and
9,376 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
# Release 0.100 | ||
|
||
## System connector | ||
|
||
The {doc}`/connector/system` now works like other connectors: global system | ||
tables are only available in the `system` catalog, rather than in a special | ||
schema that is available in every catalog. Additionally, connectors may now | ||
provide system tables that are available within that connector's catalog by | ||
implementing the `getSystemTables()` method on the `Connector` interface. | ||
|
||
## General | ||
|
||
- Fix `%f` specifier in {func}`date_format` and {func}`date_parse`. | ||
- Add `WITH ORDINALITY` support to `UNNEST`. | ||
- Add {func}`array_distinct` function. | ||
- Add {func}`split` function. | ||
- Add {func}`degrees` and {func}`radians` functions. | ||
- Add {func}`to_base` and {func}`from_base` functions. | ||
- Rename config property `task.shard.max-threads` to `task.max-worker-threads`. | ||
This property sets the number of threads used to concurrently process splits. | ||
The old property name is deprecated and will be removed in a future release. | ||
- Fix referencing `NULL` values in {ref}`row-type`. | ||
- Make {ref}`map-type` comparable. | ||
- Fix leak of tasks blocked during query teardown. | ||
- Improve query queue config validation. |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
# Release 0.101 | ||
|
||
## General | ||
|
||
- Add support for {doc}`/sql/create-table` (in addition to {doc}`/sql/create-table-as`). | ||
- Add `IF EXISTS` support to {doc}`/sql/drop-table` and {doc}`/sql/drop-view`. | ||
- Add {func}`array_agg` function. | ||
- Add {func}`array_intersect` function. | ||
- Add {func}`array_position` function. | ||
- Add {func}`regexp_split` function. | ||
- Add support for `millisecond` to {func}`date_diff` and {func}`date_add`. | ||
- Fix excessive memory usage in {func}`map_agg`. | ||
- Fix excessive memory usage in queries that perform partitioned top-N operations | ||
with {func}`row_number`. | ||
- Optimize {ref}`array-type` comparison operators. | ||
- Fix analysis of `UNION` queries for tables with hidden columns. | ||
- Fix `JOIN` associativity to be left-associative instead of right-associative. | ||
- Add `source` column to `runtime.queries` table in {doc}`/connector/system`. | ||
- Add `coordinator` column to `runtime.nodes` table in {doc}`/connector/system`. | ||
- Add `errorCode`, `errorName` and `errorType` to `error` object in REST API | ||
(`errorCode` previously existed but was always zero). | ||
- Fix `DatabaseMetaData.getIdentifierQuoteString()` in JDBC driver. | ||
- Handle thread interruption in JDBC driver `ResultSet`. | ||
- Add `history` command and support for running previous commands via `!n` to the CLI. | ||
- Change Driver to make as much progress as possible before blocking. This improves | ||
responsiveness of some limit queries. | ||
- Add predicate push down support to JMX connector. | ||
- Add support for unary `PLUS` operator. | ||
- Improve scheduling speed by reducing lock contention. | ||
- Extend optimizer to understand physical properties such as local grouping and sorting. | ||
- Add support for streaming execution of window functions. | ||
- Make `UNION` run partitioned, if underlying plan is partitioned. | ||
- Add `hash_partition_count` session property to control hash partitions. | ||
|
||
## Web UI | ||
|
||
The main page of the web UI has been completely rewritten to use ReactJS. It also has | ||
a number of new features, such as the ability to pause auto-refresh via the "Z" key and | ||
also with a toggle in the UI. | ||
|
||
## Hive | ||
|
||
- Add support for connecting to S3 using EC2 instance credentials. | ||
This feature is enabled by default. To disable it, set | ||
`hive.s3.use-instance-credentials=false` in your Hive catalog properties file. | ||
- Treat ORC files as splittable. | ||
- Change PrestoS3FileSystem to use lazy seeks, which improves ORC performance. | ||
- Fix ORC `DOUBLE` statistic for columns containing `NaN`. | ||
- Lower the Hive metadata refresh interval from two minutes to one second. | ||
- Invalidate Hive metadata cache for failed operations. | ||
- Support `s3a` file system scheme. | ||
- Fix discovery of splits to correctly backoff when the queue is full. | ||
- Add support for non-canonical Parquet structs. | ||
- Add support for accessing Parquet columns by name. By default, columns in Parquet | ||
files are accessed by their ordinal position in the Hive table definition. To access | ||
columns based on the names recorded in the Parquet file, set | ||
`hive.parquet.use-column-names=true` in your Hive catalog properties file. | ||
- Add JMX stats to PrestoS3FileSystem. | ||
- Add `hive.recursive-directories` config option to recursively scan | ||
partition directories for data. | ||
|
||
## SPI | ||
|
||
- Add connector callback for rollback of `INSERT` and `CREATE TABLE AS`. | ||
- Introduce an abstraction for representing physical organizations of a table | ||
and describing properties such as partitioning, grouping, predicate and columns. | ||
`ConnectorPartition` and related interfaces are deprecated and will be removed | ||
in a future version. | ||
- Rename `ConnectorColumnHandle` to `ColumnHandle`. | ||
|
||
:::{note} | ||
This is a backwards incompatible change with the previous connector SPI. | ||
If you have written a connector, you will need to update your code | ||
before deploying this release. | ||
::: |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
# Release 0.102 | ||
|
||
## Unicode support | ||
|
||
All string functions have been updated to support Unicode. The functions assume | ||
that the string contains valid UTF-8 encoded code points. There are no explicit | ||
checks for valid UTF-8, and the functions may return incorrect results on | ||
invalid UTF-8. Invalid UTF-8 data can be corrected with {func}`from_utf8`. | ||
|
||
Additionally, the functions operate on Unicode code points and not user visible | ||
*characters* (or *grapheme clusters*). Some languages combine multiple code points | ||
into a single user-perceived *character*, the basic unit of a writing system for a | ||
language, but the functions will treat each code point as a separate unit. | ||
|
||
## Regular expression functions | ||
|
||
All {doc}`/functions/regexp` have been rewritten to improve performance. | ||
The new versions are often twice as fast and in some cases can be many | ||
orders of magnitude faster (due to removal of quadratic behavior). | ||
This change introduced some minor incompatibilities that are explained | ||
in the documentation for the functions. | ||
|
||
## General | ||
|
||
- Add support for partitioned right outer joins, which allows for larger tables to | ||
be joined on the inner side. | ||
- Add support for full outer joins. | ||
- Support returning booleans as numbers in JDBC driver | ||
- Fix {func}`contains` to return `NULL` if the value was not found, but a `NULL` was. | ||
- Fix nested {ref}`row-type` rendering in `DESCRIBE`. | ||
- Add {func}`array_join`. | ||
- Optimize map subscript operator. | ||
- Add {func}`from_utf8` and {func}`to_utf8` functions. | ||
- Add `task_writer_count` session property to set `task.writer-count`. | ||
- Add cast from `ARRAY(F)` to `ARRAY(T)`. | ||
- Extend implicit coercions to `ARRAY` element types. | ||
- Implement implicit coercions in `VALUES` expressions. | ||
- Fix potential deadlock in scheduler. | ||
|
||
## Hive | ||
|
||
- Collect more metrics from `PrestoS3FileSystem`. | ||
- Retry when seeking in `PrestoS3FileSystem`. | ||
- Ignore `InvalidRange` error in `PrestoS3FileSystem`. | ||
- Implement rename and delete in `PrestoS3FileSystem`. | ||
- Fix assertion failure when running `SHOW TABLES FROM schema`. | ||
- Fix S3 socket leak when reading ORC files. |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
# Release 0.103 | ||
|
||
## Cluster resource management | ||
|
||
There is a new cluster resource manager, which can be enabled via the | ||
`experimental.cluster-memory-manager-enabled` flag. Currently, the only | ||
resource that's tracked is memory, and the cluster resource manager guarantees | ||
that the cluster will not deadlock waiting for memory. However, in a low memory | ||
situation it is possible that only one query will make progress. Memory limits can | ||
now be configured via `query.max-memory` which controls the total distributed | ||
memory a query may use and `query.max-memory-per-node` which limits the amount | ||
of memory a query may use on any one node. On each worker, the | ||
`resources.reserved-system-memory` flags controls how much memory is reserved | ||
for internal Presto data structures and temporary allocations. | ||
|
||
## Task parallelism | ||
|
||
Queries involving a large number of aggregations or a large hash table for a | ||
join can be slow due to single threaded execution in the intermediate stages. | ||
This release adds experimental configuration and session properties to execute | ||
this single threaded work in parallel. Depending on the exact query this may | ||
reduce wall time, but will likely increase CPU usage. | ||
|
||
Use the configuration parameter `task.default-concurrency` or the session | ||
property `task_default_concurrency` to set the default number of parallel | ||
workers to use for join probes, hash builds and final aggregations. | ||
Additionally, the session properties `task_join_concurrency`, | ||
`task_hash_build_concurrency` and `task_aggregation_concurrency` can be | ||
used to control the parallelism for each type of work. | ||
|
||
This is an experimental feature and will likely change in a future release. It | ||
is also expected that this will eventually be handled automatically by the | ||
query planner and these options will be removed entirely. | ||
|
||
## Hive | ||
|
||
- Removed the `hive.max-split-iterator-threads` parameter and renamed | ||
`hive.max-global-split-iterator-threads` to `hive.max-split-iterator-threads`. | ||
- Fix excessive object creation when querying tables with a large number of partitions. | ||
- Do not retry requests when an S3 path is not found. | ||
|
||
## General | ||
|
||
- Add {func}`array_remove`. | ||
- Fix NPE in {func}`max_by` and {func}`min_by` caused when few rows were present in the aggregation. | ||
- Reduce memory usage of {func}`map_agg`. | ||
- Change HTTP client defaults: 2 second idle timeout, 10 second request | ||
timeout and 250 connections per host. | ||
- Add SQL command autocompletion to CLI. | ||
- Increase CLI history file size. |
Oops, something went wrong.