Release Notes - Hive - Version 4.0.1

** Sub-task
    * [HIVE-28254] - CBO (Calcite Return Path): Multiple DISTINCT leads to wrong results
    * [HIVE-28349] - SHOW TABLES with invalid connector, giving 0 results, instead of failing
    * [HIVE-28350] - Drop remote database succeeds but fails while deleting data under



** Bug
    * [HIVE-23964] - SemanticException in query 30 while generating logical plan
    * [HIVE-26018] - The result of UNIQUEJOIN on Hive on Tez is inconsistent with that of MR
    * [HIVE-26339] - Vectorized LIKE UDF optimization
    * [HIVE-27357] - Map-side SMB Join returns incorrect result when it 2 tables have different bucket size
    * [HIVE-27498] - Support custom delimiter in SkippingTextInputFormat
    * [HIVE-27653] - Iceberg: Add conflictDetectionFilter to validate concurrently added data and delete files
    * [HIVE-27847] -  Prevent query Failures on Numeric <-> Timestamp
    * [HIVE-27995] - Fix inconsistent behavior of LOAD DATA command for partitioned and non-partitioned tables
    * [HIVE-28006] - Materialized view with aggregate function incorrectly shows it allows incremental rebuild
    * [HIVE-28042] - DigestMD5 token expired or does not exist error while opening a new connection to HMS
    * [HIVE-28082] - HiveAggregateReduceFunctionsRule could generate an inconsistent result
    * [HIVE-28098] - Fails to copy empty column statistics of materialized CTE
    * [HIVE-28121] - Use direct SQL for transactional altering table parameter
    * [HIVE-28129] - Execute statement doesnot report the correct query string information
    * [HIVE-28143] - After HIVE-27492 fix, some HPLSQL built-in functions like trim, lower are not working when used in insert statement.
    * [HIVE-28161] - Incorrect Copyright years in META-INF/NOTICE files
    * [HIVE-28166] - Iceberg: Truncate on branch operates on the main table
    * [HIVE-28167] - Full table deletion fails when converting to truncate for Iceberg and ACID tables
    * [HIVE-28173] - Issues with staging dirs with materialized views on HDFS encrypted table
    * [HIVE-28190] - Materialized view rebuild lock heart-beating is broken
    * [HIVE-28202] - Incorrect projected column size after ORC upgrade to v1.6.7 
    * [HIVE-28207] - NullPointerException is thrown when checking column uniqueness
    * [HIVE-28214] - HPLSQL not using the hive variables passed through beeline using --hivevar option
    * [HIVE-28215] - Signalling CONDITION HANDLER is not working in HPLSQL.
    * [HIVE-28217] - The default jdbc port does not take effect
    * [HIVE-28225] - Iceberg: Delete on entire table fails on COW mode
    * [HIVE-28239] - Fix bug on HMSHandler#checkLimitNumberOfPartitions
    * [HIVE-28247] - Execute immediate 'select count(*) from tbl' throwing ClassCastException in hplsql mode.
    * [HIVE-28253] - Unable to set the value for hplsql.onerror in hplsql mode.
    * [HIVE-28260] - CreateTableEvent wrongly skips authorizing DFS_URI for managed table 
    * [HIVE-28262] - Single column use MultiDelimitSerDe parse column error
    * [HIVE-28264] - OOM/slow compilation when query contains SELECT clauses with nested expressions
    * [HIVE-28266] - Iceberg: select count(*) from data_files metadata tables gives wrong result
    * [HIVE-28270] - Fix missing partition paths  bug on drop_database
    * [HIVE-28271] - DirectSql fails for AlterPartitions
    * [HIVE-28278] - Iceberg: Stats: IllegalStateException Invalid file: file length 0
    * [HIVE-28282] - Merging into iceberg table fails with copy on write when values clause has a function call
    * [HIVE-28285] - Exception when querying JDBC tables with Hive/DB column types mismatch
    * [HIVE-28287] - Attempt make the scratch directory writable before failing
    * [HIVE-28291] - Fix Partition spec is incorrect in getPartitionsByFilter RPC
    * [HIVE-28300] - ALTER TABLE CONCATENATE on a List Bucketing Table fails when using Tez.
    * [HIVE-28305] - ProfileServlet: add html to output formats and prepare for profiler 3.0
    * [HIVE-28307] - Fast return when database exists and IF NOT EXISTS clause is enabled
    * [HIVE-28309] - Task Execution Summary duration is not displayed
    * [HIVE-28325] - Lack of "owner" in HivePrivilegeObject causes Ranger slowness at compilation time
    * [HIVE-28326] - Enabling hive.stageid.rearrange causes NullPointerException
    * [HIVE-28327] - Missing null-check in TruncDateFromTimestamp
    * [HIVE-28334] - Support queries with function expression in the prepare execute workflow
    * [HIVE-28337] - Process timestamps at UTC timezone instead of local timezone in MetaStoreUtils
    * [HIVE-28338] - Client connection count is not correct in HiveMetaStore#close
    * [HIVE-28347] - Make a UDAF 'collect_set' work with complex types, even when map-side aggregation is disabled.
    * [HIVE-28353] - Iceberg: Reading *Files Metadata table files if the column is of TIMESTAMP type
    * [HIVE-28355] - Fix intermittent failure of TestHplSqlViaBeeLine#testUNIX_TIMESTAMPHplSQLFunction
    * [HIVE-28360] - Upgrade jersey to version 1.19.4,
    * [HIVE-28368] - Iceberg: Unable to read PARTITIONS Metadata table
    * [HIVE-28369] - LLAP proactive eviction fails with NullPointerException
    * [HIVE-28431] - Fix RexLiteral to ExprNode conversion if the literal is an empty string
    * [HIVE-28436] - Incorrect syntax in Hive schema file for table MIN_HISTORY_LEVEL
    * [HIVE-28439] - Iceberg: Bucket partition transform with DECIMAL can throw NPE
    * [HIVE-28451] - JDBC: TableName matcher fix in GenericJdbcDatabaseAccessor#addBoundaryToQuery
    * [HIVE-28456] - ObjectStore updatePartitionColumnStatisticsInBatch can cause connection starvation 
    * [HIVE-28480] - Disable SMB on partition hash generator mismatch across join branches in previous RS
    * [HIVE-28482] - Iceberg: CTAS, CTLT query failure while fetching URI for authorization
    * [HIVE-28483] - CAST string to date should return null when format is invalid
    * [HIVE-28484] - SharedWorkOptimizer leaves residual unused operator tree that send DPP events to unknown operators
    * [HIVE-28487] - Outdated MetastoreSchemaTool class reference in schemaTool.sh
    * [HIVE-28515] - Iceberg: Concurrent queries fail during commit with ValidationException




** Improvement
    * [HIVE-19741] - Update documentation to reflect list of reserved words
    * [HIVE-26537] - Deprecate older APIs in the HMS
    * [HIVE-28028] - Remove duplicated proto reader/writer classes introduced in HIVE-19288
    * [HIVE-28062] - Optimize get_partitions_by_names in direct sql
    * [HIVE-28119] - Iceberg: Allow insert clause with a column list in Merge query not_matched condition
    * [HIVE-28134] - Improve SecureCmdDoAs
    * [HIVE-28196] - Preserve column stats when applying UDF upper/lower.
    * [HIVE-28200] - Improve get_partitions_by_filter/expr when partition limit enabled
    * [HIVE-28205] - Implement direct sql for get_partitions_ps_with_auth api
    * [HIVE-28315] - Missing classes while using hive jdbc standalone jar
    * [HIVE-28352] - Schematool fails to upgradeSchema on dbType=hive
    * [HIVE-28399] - Improve the fetch size in HiveConnection
    * [HIVE-28428] -  Map hash aggregation performance degradation
    * [HIVE-28434] - Upgrade to tez 0.10.4



** Task
    * [HIVE-28087] - Iceberg: Timestamp partition columns with transforms are not correctly sorted during insert
    * [HIVE-28158] - Add ASF license header in non-java files
    * [HIVE-28204] - Remove some HMS obsolete scripts
    * [HIVE-28211] - Restore hive-exec-core jar
    * [HIVE-28249] - Parquet legacy timezone conversion converts march 1st to 29th feb and fails with not a leap year exception
    * [HIVE-28310] - Disable hive.optimize.join.disjunctive.transitive.predicates.pushdown by default

