Release 0.213-e#

Update 0.1#

General changes#

  • Fix bug where the CLI throws a vague error Query gone(server restarted?) instead of actual Exception message.

  • Support prepared statements that are longer than 4K bytes.

  • Cost based optimization for partial aggregation that conditionally depending on cost redistributes data before partial aggregation.

  • Add security audit logging.

  • Add CloudWatch Agent compatible logger.

  • Add ANALYZE SQL command.

  • Improve planning and query performance for queries with TINYINT, SMALLINT and VARBINARY literals.

  • Fix issue where queries containing distributed ORDER BY and aggregation could sometimes fail to make progress when data was spilled.

  • Make top N row number optimization work in some cases when columns are pruned.

  • Add session property optimize-top-n-row-number and configuration property optimizer.optimize-top-n-row-number to toggle the top N row number optimization.

  • Split reporting of raw input data and processed input data for source operators.

  • Correctly report processed input data for source stages in EXPLAIN ANALYZE.

  • Don’t report raw input data for Values, Local Exchange and Local Merge Sort operators.

  • Add experimental support for Spill to disk for OrderBy. The feature needs to be explicitly enabled.

  • Add experimental support for Spill to disk for WindowOperator. The feature needs to be explicitly enabled.

  • Add Generic JDBC connector.

  • Print join enumeration stats in explain analyze.

  • Flip the default value of deprecated.legacy-char-to-varchar-coercion property to true, so that CHAR to VARCHAR implicit coersion is allowed (and not the opposite). This returns the code to the state from Presto version 0.206.

  • Fix memory leak for failed queries.

Security changes#

  • The LDAP properties internal-communication.authentication.ldap.user and internal-communication.authentication.ldap.password are no longer supported. If the LDAP authentication is enabled along with HTTPS for internal communication, then for successful communication between nodes you need to also enable SSL client certificate or Kerberos or JWT authentication.

  • Support refreshing of FileBasedAccessControl and FileBasedSystemAccessControl with an optional property security.refresh-period.

  • Support LDAP with anonymous bind disabled

Hive connector changes#

  • Implement ROLE management support.

  • Allow partitions without files for bucketed tables (via hive.empty-bucketed-partitions.enabled).

  • Allow multiple files per bucket for bucketed tables (via hive.multi-file-bucketing.enabled). There must be one or more files per bucket. File names must match the Hive naming convention.

  • Allow reading incompletely bucketed tables with missing files (via hive.empty-bucketed-partitions.enabled).

  • Add support for Azure Blob Storage

  • Add support for Azure Azure Data Lake Storage (ADLS)

  • Add Hive metastore API recording tool for remote debugging purposes.

  • Support CSV table storage format.

  • Support Apache Ranger authorization (requires licence).

  • Support Apache Sentry authorization (requires licence).

  • Add support for column statistics in Glue.

  • Support predicate pushdown for DATE type with Parquet.

  • Support tables located in HDFS encryption zones managed with Hadoop KMS.

  • Fix query failure when querying partitioned Avro table with very long column type definition.

  • Support Avro tables with avro.schema.url in kerberized HDFS.

MySQL, PostgreSQL, Redshift, and SQL Server changes#

  • Support schemas, tables and columns with names that are upper-case or mixed-case.

Web UI changes#

  • Make Cumulative Memory usage reporting consistent on query list and query details pages.

  • Fix Live Plan UI for index joins.

  • Fix filtering in query list when sort order is changed.

Server RPM changes#

  • Fix parsing of in the init script when there are duplicate entries in the properties file.

Update 0.2#

General changes#

  • The experimental timestamp is still not recommended to be used. It’s gradually being removed in preparation for a new implementation in the future. For any issues contact Starburst Support.

Security changes#

  • Support complex expressions including subqueries in row filtering.

Hive connector changes#

  • Capturing client ip and SQL query in Ranger audit.

Update 0.3#

Security changes#

  • Add ldap.bind-dn and ldap.bind-password LDAP properties to allow LDAP authentication access LDAP server using service account.

Hive connector changes#

  • Add hive.temporary-staging-directory-enabled configuration property and matching hive.temporary_staging_directory_enabled session property to control if temporary staging directory should be used (whenever possible) for write operations.

  • Add hive.temporary-staging-directory-location configuration property and matching hive.temporary_staging_directory_location session property to control the path of temporary staging directory for write operations. ${USER} placeholder can be used to select different location for each user.

  • Add hive.s3.upload-acl-type configuration property to specify the type of ACL to use while uploading files to S3.

  • Add textfile_field_separator and textfile_field_separator_escape table properties to control field separator and field separator characters for tables with TEXTFILE format.

  • Allow to create table with external_location property pointing to an empty S3 directory that was created from AWS web console.

Update 0.4#

Security changes#

  • Fix column masking in Ranger.

Update 0.5#

Hive connector changes#

  • Add Glue support for private subnets.

Update 0.6#

Security changes#

  • Add Ranger System Access Control to control the access to User Defined functions.

  • Add Ranger ranger.wild-card-resource-matching-for-row-filtering configuration property to enable resource fields wild card matching for row filtering.

  • Add Ranger ranger.wild-card-resource-matching-for-column-masking configuration property to enable resource fields wild card matching for column masking.

Hive connector changes#

  • Fix Parquet predicate pushdown for SMALLINT and TINYINT types.

  • Add support for user impersonation when communicating with Hive Metastore.

MongoDB connector#

  • Fix queries involving joins or aggregations on ObjectId type.

Update 0.7#

General changes#

  • Add JDBC-based Google BigQuery connector

Update 0.8#

General changes#

  • Add Oracle compatibility functions

Update 0.9#

General changes#

  • Disable Airlift’s “admin” servlet port, which was not used for anything in Presto.