Presto 329 Documentation

12.54. Release 0.192

12.54. Release 0.192

General Changes

  • Fix performance regression in split scheduling introduced in 0.191. If a query scans a non-trivial number of splits (~1M splits in an hour), the coordinator CPU utilization can be very high, leading to elevated communication failures.
  • Fix correctness issue in the geometry_to_bing_tiles() function that causes it to return irrelevant tiles when bottom or right side of the bounding box of the geometry is aligned with the tile border.
  • Fix handling of invalid WKT (well-known text) input in geospatial functions.
  • Fix an issue that can cause long-running queries to hang when writer scaling is enabled.
  • Fix cast from REAL or DOUBLE to DECIMAL to conform to the SQL standard. For example, previously cast (double '100000000000000000000000000000000' as decimal(38)) would return 100000000000000005366162204393472. Now it returns 100000000000000000000000000000000.
  • Fix bug in validation of resource groups that prevented use of the WEIGHTED_FAIR policy.
  • Fail queries properly when the coordinator fails to fetch data from workers. Previously, it would return an HTTP 500 error to the client.
  • Improve memory tracking for queries involving DISTINCT or row_number() that could cause over-committing memory resources for short time periods.
  • Improve performance for queries involving grouping().
  • Improve buffer utilization calculation for writer scaling.
  • Remove tracking of per-driver peak memory reservation.
  • Add resource-groups.max-refresh-interval config option to limit the maximum acceptable staleness of resource group configuration.
  • Remove dictionary-processing-joins-enabled configuration option and dictionary_processing_join session property.

Web UI Changes

  • Fix incorrect reporting of input size and positions in live plan view.

CLI Changes

  • Fix update of prompt after USE statement.
  • Fix correctness issue when rendering arrays of Bing tiles that causes the first entry to be repeated multiple times.

Hive Changes

  • Fix reading partitioned table statistics from newer Hive metastores.
  • Do not treat file system errors as corruptions for ORC.
  • Prevent reads from tables or partitions with object_not_readable attribute set.
  • Add support for validating ORC files after they have been written. This behavior can be turned on via the hive.orc.writer.validate configuration property.
  • Expose ORC writer statistics via JMX.
  • Add configuration options to control ORC writer min/max rows per stripe and row group, maximum stripe size, and memory limit for dictionaries.
  • Allow reading empty ORC files.
  • Handle ViewFs when checking file system cache expiration.
  • Improve error reporting when the target table of an insert query is dropped.
  • Remove retry when creating Hive record reader. This can help queries fail faster.

MySQL Changes

  • Remove support for TIME WITH TIME ZONE and TIMESTAMP WITH TIME ZONE types due to MySQL types not being able to store timezone information.
  • Add support for REAL type, which maps to MySQL’s FLOAT type.

PostgreSQL Changes

  • Add support for VARBINARY type, which maps to PostgreSQL’s BYTEA type.

MongoDB Changes

  • Fix support for pushing down inequality operators for string types.
  • Add support for reading documents as MAP values.
  • Add support for MongoDB’s Decimal128 type.
  • Treat document and array of documents as JSON instead of VARCHAR.

JMX Changes

  • Allow nulls in history table values.

SPI Changes

  • Remove SliceArrayBlock class.
  • Add offset and length parameters to Block.getPositions().