Skip to content

Commit

Permalink
Convert release notes source to markdown
Browse files Browse the repository at this point in the history
  • Loading branch information
mosabua committed Jun 2, 2023
1 parent 15b03bb commit eebd5e1
Show file tree
Hide file tree
Showing 414 changed files with 8,155 additions and 9,376 deletions.
25 changes: 25 additions & 0 deletions docs/src/main/sphinx/release/release-0.100.md
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.
29 changes: 0 additions & 29 deletions docs/src/main/sphinx/release/release-0.100.rst

This file was deleted.

75 changes: 75 additions & 0 deletions docs/src/main/sphinx/release/release-0.101.md
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.
:::
80 changes: 0 additions & 80 deletions docs/src/main/sphinx/release/release-0.101.rst

This file was deleted.

47 changes: 47 additions & 0 deletions docs/src/main/sphinx/release/release-0.102.md
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.
53 changes: 0 additions & 53 deletions docs/src/main/sphinx/release/release-0.102.rst

This file was deleted.

50 changes: 50 additions & 0 deletions docs/src/main/sphinx/release/release-0.103.md
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.
Loading

0 comments on commit eebd5e1

Please sign in to comment.