[hive] branch master updated: HIVE-27304: Exclude CTAS condition while forming storage handler url permissions in HS2 authorizer (Sai Hemanth Gantasala, reviewed by Attila Turoczy, Zhihua Deng, Janos

2023-08-15 Thread dengzh
This is an automated email from the ASF dual-hosted git repository.

dengzh pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hive.git


The following commit(s) were added to refs/heads/master by this push:
 new e4348422c6f HIVE-27304: Exclude CTAS condition while forming storage 
handler url permissions in HS2 authorizer (Sai Hemanth Gantasala, reviewed by 
Attila Turoczy, Zhihua Deng, Janos Kovacs)
e4348422c6f is described below

commit e4348422c6f3b1910a8600ea7c7bd839894dcd6f
Author: Sai Hemanth Gantasala 
<68923650+saihemanth-cloud...@users.noreply.github.com>
AuthorDate: Tue Aug 15 17:45:38 2023 -0700

HIVE-27304: Exclude CTAS condition while forming storage handler url 
permissions in HS2 authorizer (Sai Hemanth Gantasala, reviewed by Attila 
Turoczy, Zhihua Deng, Janos Kovacs)

Closes #4276
---
 .../authorization/command/CommandAuthorizerV2.java |   5 +-
 .../authorization_privilege_objects.q  |  45 ++
 .../llap/authorization_privilege_objects.q.out | 177 +
 3 files changed, 225 insertions(+), 2 deletions(-)

diff --git 
a/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/command/CommandAuthorizerV2.java
 
b/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/command/CommandAuthorizerV2.java
index c21dca345ef..08e016223e4 100644
--- 
a/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/command/CommandAuthorizerV2.java
+++ 
b/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/command/CommandAuthorizerV2.java
@@ -200,9 +200,10 @@ final class CommandAuthorizerV2 {
   if (table.getStorageHandler() != null && 
HiveConf.getBoolVar(SessionState.getSessionConf(),
   HiveConf.ConfVars.HIVE_AUTHORIZATION_TABLES_ON_STORAGEHANDLERS)) {
 //TODO: add hive privilege object for storage based handlers for 
create and alter table commands.
-if (hiveOpType == HiveOperationType.CREATETABLE ||
+if (privObject instanceof WriteEntity &&
+(hiveOpType == HiveOperationType.CREATETABLE ||
 hiveOpType == HiveOperationType.ALTERTABLE_PROPERTIES ||
-hiveOpType == HiveOperationType.CREATETABLE_AS_SELECT) {
+hiveOpType == HiveOperationType.CREATETABLE_AS_SELECT)) {
   try {
 String storageUri = 
table.getStorageHandler().getURIForAuth(table.getTTable()).toString();
 hivePrivObjs.add(new 
HivePrivilegeObject(HivePrivilegeObjectType.STORAGEHANDLER_URI, null, 
storageUri, null, null,
diff --git 
a/ql/src/test/queries/clientpositive/authorization_privilege_objects.q 
b/ql/src/test/queries/clientpositive/authorization_privilege_objects.q
index 79f8c90a492..2f80064c7e7 100644
--- a/ql/src/test/queries/clientpositive/authorization_privilege_objects.q
+++ b/ql/src/test/queries/clientpositive/authorization_privilege_objects.q
@@ -19,3 +19,48 @@ DROP TABLE test_auth_obj_db.test_privs2;
 set user.name=testuser;
 DROP TABLE test_auth_obj_db.test_privs;
 DROP DATABASE test_auth_obj_db;
+
+set user.name=hive_admin_user;
+set role admin;
+
+CREATE TEMPORARY FUNCTION dboutput AS 
'org.apache.hadoop.hive.contrib.genericudf.example.GenericUDFDBOutput';
+
+SELECT
+dboutput ( 
'jdbc:derby:;databaseName=${system:test.tmp.dir}/test_derby_as_external_table_db;create=true','','',
+'CREATE TABLE SIMPLE_DERBY_TABLE1 ("ikey" INTEGER, "bkey" BIGINT, "fkey" REAL, 
"dkey" DOUBLE)' );
+
+CREATE EXTERNAL TABLE ext_simple_derby_table_src
+(
+ ikey int,
+ bkey bigint,
+ fkey float,
+ dkey double
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "DERBY",
+"hive.sql.jdbc.driver" = 
"org.apache.derby.jdbc.EmbeddedDriver",
+"hive.sql.jdbc.url" = 
"jdbc:derby:;databaseName=${system:test.tmp.dir}/test_derby_as_external_table_db;create=true;collation=TERRITORY_BASED:PRIMARY",
+"hive.sql.dbcp.username" = "APP",
+"hive.sql.dbcp.password" = "mine",
+"hive.sql.table" = "SIMPLE_DERBY_TABLE1",
+"hive.sql.dbcp.maxActive" = "1"
+);
+
+create table ext_simple_derby_table_ctas as select * from 
ext_simple_derby_table_src;
+
+CREATE EXTERNAL TABLE default.jdbctable_from_ctas
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "DERBY",
+"hive.sql.jdbc.driver" = 
"org.apache.derby.jdbc.EmbeddedDriver",
+"hive.sql.jdbc.url" = 
"jdbc:derby:;databaseName=${system:test.tmp.dir}/test_derby_as_external_table_db;create=true;collation=TERRITORY_BASED:PRIMARY",
+"hive.sql.dbcp.username" = "APP",
+"hive.sql.dbcp.password" = "mine",
+"hive.sql.table" = "SIMPLE_DERBY_TABLE1",
+"hive.sql.dbcp.maxActive" = "1"
+) as select * from default.ext_simple_derby_table_ctas;
+
+drop table default.jdbctable_from_ctas;

[hive] branch master updated: HIVE-27578: Refactor genJoinRelNode to use genAllRexNode instead of genAllExprNodeDesc (Soumyakanti Das, reviewed by Stephen Carlin, Krisztian Kasa)

2023-08-15 Thread krisztiankasa
This is an automated email from the ASF dual-hosted git repository.

krisztiankasa pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hive.git


The following commit(s) were added to refs/heads/master by this push:
 new fc0cc1e99d2 HIVE-27578: Refactor genJoinRelNode to use genAllRexNode 
instead of genAllExprNodeDesc (Soumyakanti Das, reviewed by Stephen Carlin, 
Krisztian Kasa)
fc0cc1e99d2 is described below

commit fc0cc1e99d2f8ea38a1f49f033c127cc48fc87b9
Author: Soumyakanti Das 
AuthorDate: Tue Aug 15 09:58:52 2023 -0700

HIVE-27578: Refactor genJoinRelNode to use genAllRexNode instead of 
genAllExprNodeDesc (Soumyakanti Das, reviewed by Stephen Carlin, Krisztian Kasa)
---
 ql/src/java/org/apache/hadoop/hive/ql/parse/CalcitePlanner.java  | 5 +++--
 .../java/org/apache/hadoop/hive/ql/parse/type/JoinTypeCheckCtx.java  | 5 +++--
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/CalcitePlanner.java 
b/ql/src/java/org/apache/hadoop/hive/ql/parse/CalcitePlanner.java
index ed4e5467adc..75d52d5edd0 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/parse/CalcitePlanner.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/CalcitePlanner.java
@@ -2610,7 +2610,7 @@ public class CalcitePlanner extends SemanticAnalyzer {
   RexNode calciteJoinCond = null;
   List namedColumns = null;
   if (joinCond != null) {
-JoinTypeCheckCtx jCtx = new JoinTypeCheckCtx(leftRR, rightRR, 
hiveJoinType);
+JoinTypeCheckCtx jCtx = new JoinTypeCheckCtx(leftRR, rightRR, 
cluster.getRexBuilder(), hiveJoinType);
 jCtx.setOuterRR(outerRR);
 RowResolver input = jCtx.getInputRR();
 // named columns join
@@ -2673,7 +2673,8 @@ public class CalcitePlanner extends SemanticAnalyzer {
   }
   joinCond = count > 1 ? and : equal;
 } else if (unparseTranslator != null && unparseTranslator.isEnabled()) 
{
-  genAllExprNodeDesc(joinCond, input, jCtx);
+  jCtx.setUnparseTranslator(unparseTranslator);
+  genAllRexNode(joinCond, input, jCtx, conf);
 }
 Map exprNodes = RexNodeTypeCheck.genExprNodeJoinCond(
 joinCond, jCtx, cluster.getRexBuilder());
diff --git 
a/ql/src/java/org/apache/hadoop/hive/ql/parse/type/JoinTypeCheckCtx.java 
b/ql/src/java/org/apache/hadoop/hive/ql/parse/type/JoinTypeCheckCtx.java
index 8832c772ebb..9e779b38dab 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/parse/type/JoinTypeCheckCtx.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/type/JoinTypeCheckCtx.java
@@ -19,6 +19,7 @@ package org.apache.hadoop.hive.ql.parse.type;
 
 import java.util.List;
 
+import org.apache.calcite.rex.RexBuilder;
 import org.apache.hadoop.hive.ql.parse.JoinType;
 import org.apache.hadoop.hive.ql.parse.RowResolver;
 import org.apache.hadoop.hive.ql.parse.SemanticException;
@@ -51,9 +52,9 @@ public class JoinTypeCheckCtx extends TypeCheckCtx {
   private final ImmutableList inputRRLst;
   private final boolean outerJoin;
 
-  public JoinTypeCheckCtx(RowResolver leftRR, RowResolver rightRR, JoinType 
hiveJoinType)
+  public JoinTypeCheckCtx(RowResolver leftRR, RowResolver rightRR, RexBuilder 
rexBuilder, JoinType hiveJoinType)
   throws SemanticException {
-super(RowResolver.getCombinedRR(leftRR, rightRR), true, false, false, 
false, false, false, false, false,
+super(RowResolver.getCombinedRR(leftRR, rightRR), rexBuilder, true, false, 
false, false, false, false, false, false,
 true, false);
 this.inputRRLst = ImmutableList.of(leftRR, rightRR);
 this.outerJoin = (hiveJoinType == JoinType.LEFTOUTER) || (hiveJoinType == 
JoinType.RIGHTOUTER)



[hive] branch master updated: HIVE-27586: Parse dates from strings ignoring trailing (potentialy) invalid chars (#4545)

2023-08-15 Thread ngangam
This is an automated email from the ASF dual-hosted git repository.

ngangam pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hive.git


The following commit(s) were added to refs/heads/master by this push:
 new 1ceb8368803 HIVE-27586: Parse dates from strings ignoring trailing 
(potentialy) invalid chars (#4545)
1ceb8368803 is described below

commit 1ceb8368803ec3f1d47d815fb2fed9fbae9ebc57
Author: Stamatis Zampetakis 
AuthorDate: Tue Aug 15 16:24:32 2023 +0300

HIVE-27586: Parse dates from strings ignoring trailing (potentialy) invalid 
chars (#4545)

* Parse dates from strings ignoring trailing (potentialy) invalid chars

Without these changes the parser consumes fully the input string and if
the input does not match exactly the expected pattern null is returned.

However there are cases where the input string starts with a completely
valid date that matches the pattern but then it is followed by other
characters; for example timestamps.

The `DateParser` can handle `2023-08-03T16:02:00` but will return null
for `2023-08-03_16:02:00`. Interestingly, it also handles fine
`2023-08-03TGARBAGE` but not `2023-08-03_GARBAGE`.

With these changes the `DateParser` can now extract valid dates even if
there are trailing invalid chars after the expected pattern.

The changes restore backward compatibility when parting dates since
partial parsing used to work before HIVE-20007. At the same time, it
makes parsing more uniform since we do not treat 'T' or space (' ') as
special cases and simplifies the parsing code.

* Change date '12-01-2018' to '2018-01-12' in check_constraint.q

The dd-MM- format is not accepted by Hive so inserting such values may 
not have the desired effect. The inserted value may be null, 0012-01-20, or 
something completely off depending on how date handling changes.

The check_constraint.q is not about testing the validity of dates so 
changing the values to the common pattern accepted by Hive.

* Enrich TestDateParser with tests for valid dates with trailing digits

The test cases are interesting cause some common date formats, such as 
dd-MM-, may be interpreted as valid dates in yy-MM-dd format with trailing 
(invalid) digits.
---
 .../org/apache/hadoop/hive/common/type/Date.java   | 21 ++---
 .../apache/hive/common/util/TestDateParser.java| 16 ++
 .../test/queries/clientpositive/check_constraint.q | 12 
 .../clientpositive/llap/check_constraint.q.out | 36 +++---
 4 files changed, 49 insertions(+), 36 deletions(-)

diff --git a/common/src/java/org/apache/hadoop/hive/common/type/Date.java 
b/common/src/java/org/apache/hadoop/hive/common/type/Date.java
index 13e710c5d86..0f47ba513d4 100644
--- a/common/src/java/org/apache/hadoop/hive/common/type/Date.java
+++ b/common/src/java/org/apache/hadoop/hive/common/type/Date.java
@@ -19,6 +19,7 @@ package org.apache.hadoop.hive.common.type;
 
 import org.apache.hive.common.util.SuppressFBWarnings;
 
+import java.text.ParsePosition;
 import java.time.DateTimeException;
 import java.time.Instant;
 import java.time.LocalDate;
@@ -27,9 +28,11 @@ import java.time.ZoneId;
 import java.time.ZoneOffset;
 import java.time.format.DateTimeFormatter;
 import java.time.format.DateTimeFormatterBuilder;
+import java.time.format.DateTimeParseException;
 import java.time.format.ResolverStyle;
 import java.time.format.SignStyle;
 import java.time.temporal.ChronoField;
+import java.time.temporal.TemporalAccessor;
 import java.util.Objects;
 
 import static java.time.temporal.ChronoField.DAY_OF_MONTH;
@@ -175,22 +178,16 @@ public class Date implements Comparable {
*/
   public static Date valueOf(final String text) {
 String s = Objects.requireNonNull(text).trim();
-int idx = s.indexOf(" ");
-if (idx != -1) {
-  s = s.substring(0, idx);
-} else {
-  idx = s.indexOf('T');
-  if (idx != -1) {
-s = s.substring(0, idx);
-  }
-}
-LocalDate localDate;
+ParsePosition pos = new ParsePosition(0);
 try {
-  localDate = LocalDate.parse(s, PARSE_FORMATTER);
+  TemporalAccessor t = PARSE_FORMATTER.parseUnresolved(s, pos);
+  if (pos.getErrorIndex() >= 0) {
+throw new DateTimeParseException("Text could not be parsed to date", 
s, pos.getErrorIndex());
+  }
+  return new Date(LocalDate.of(t.get(YEAR), t.get(MONTH_OF_YEAR), 
t.get(DAY_OF_MONTH)));
 } catch (DateTimeException e) {
   throw new IllegalArgumentException("Cannot create date, parsing error");
 }
-return new Date(localDate);
   }
 
   public static Date ofEpochDay(int epochDay) {
diff --git a/common/src/test/org/apache/hive/common/util/TestDateParser.java 
b/common/src/test/org/apache/hive/common/util/TestDateParser.java
index 34695a469b3..f492ad52ead 100644
--- 

[hive-site] branch asf-site updated: deploy: 07028661978fe25f3d852ff07bf8752281ba7a54

2023-08-15 Thread github-bot
This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/hive-site.git


The following commit(s) were added to refs/heads/asf-site by this push:
 new b7b9133  deploy: 07028661978fe25f3d852ff07bf8752281ba7a54
b7b9133 is described below

commit b7b9133ba796568215cf5f62ebeeda78734f88c9
Author: zabetak 
AuthorDate: Tue Aug 15 06:21:24 2023 +

deploy: 07028661978fe25f3d852ff07bf8752281ba7a54
---
 docs/index.xml   | 2 +-
 docs/javadocs/index.html | 1 +
 general/downloads/index.html | 9 -
 general/index.xml| 2 +-
 index.xml| 2 +-
 5 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/docs/index.xml b/docs/index.xml
index 741cfb5..ded4676 100644
--- a/docs/index.xml
+++ b/docs/index.xml
@@ -1 +1 @@
-http://www.w3.org/2005/Atom;>Docs on Hive 
Sitehttps://hive.apache.org/docs/Recent 
content in Docs on Hive SiteHugo -- 
gohugo.ioen-usMon, 29 Aug 2022 
04:01:38 +0530https://hive.apache.org/docs/index.xml; rel="self" 
type="application/rss+xml"/>http://www.w3.org/2005/Atom;>Docs on Hive 
Sitehttps://hive.apache.org/docs/Recent 
content in Docs on Hive SiteHugo -- 
gohugo.ioen-usMon, 29 Aug 2022 
04:01:38 +0530https://hive.apache.org/docs/index.xml; rel="self" 
type="application/rss+xml"/>
 javadoc
 and sources jars for use in an IDE are also available via https://repository.apache.org/index.html#nexus-search;gav~org.apache.hive>Nexus
 
+https://svn.apache.org/repos/infra/websites/production/hive/content/javadocs//r4.0.0-beta-1/api/index.html>Hive
 4.0.0-beta-1 Javadocs
 https://svn.apache.org/repos/infra/websites/production/hive/content/javadocs//r4.0.0-alpha-2/api/index.html>Hive
 4.0.0-alpha-2 Javadocs
 https://svn.apache.org/repos/infra/websites/production/hive/content/javadocs/r3.1.3/api/index.html>Hive
 3.1.3 Javadocs
 https://svn.apache.org/repos/infra/websites/production/hive/content/javadocs/r4.0.0-alpha-1/api/index.html>Hive
 4.0.0-alpha-1 Javadocs
diff --git a/general/downloads/index.html b/general/downloads/index.html
index 49b2b99..f558ce3 100644
--- a/general/downloads/index.html
+++ b/general/downloads/index.html
@@ -123,7 +123,14 @@ directory.
 
 
 
-16 November 2022: 
release 4.0.0-alpha-2 available
+14 August 2023: release 
4.0.0-beta-1 available
+
+This release works with Hadoop 3.3.1
+You can look at the complete https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12353351=Text=12310843;>JIRA
 change log for this release.
+
+
+
+16 November 2022: 
release 4.0.0-alpha-2 available
 
 This release works with Hadoop 3.3.1
 You can look at the complete https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12351489=Html=12310843;>JIRA
 change log for this release.
diff --git a/general/index.xml b/general/index.xml
index e429478..cdaac2b 100644
--- a/general/index.xml
+++ b/general/index.xml
@@ -3,4 +3,4 @@ Old releases may be downloaded from Apache mirrors:
 Download an old release now!
 News 14 Feb, 2013: release 0.5.0 available This release introduces webhcat (a 
web services API to HCatalog), artifacts published in the maven central 
repository, and many improvements and bug 
fixes.Privacy 
Policyhttps://hive.apache.org/general/privacypolicy/Tue,
 13 Sep 2022 19:35:56 
+0530https://hive.apache.org/general/privacypolicy/Privacy
 Policy Information about your use of this website [...]
 The IP address from which you access the website; The type of browser and 
operating system you use to access our site; The date and time you access our 
site; The pages you visit; and The addresses of pages from where you followed a 
link to our 
site.Downloadshttps://hive.apache.org/general/downloads/Tue,
 13 Sep 2022 19:16:15 
+0530https://hive.apache.org/general/downloads/Downloads
 Releases  [...]
-News 16 November 2022: release 4.0.0-alpha-2 available This release works with 
Hadoop 3.3.1 You can look at the complete JIRA change log for this release. 08 
April 2022: release 3.
\ No newline at end of file
+News 14 August 2023: release 4.0.0-beta-1 available This release works with 
Hadoop 3.3.1 You can look at the complete JIRA change log for this release. 16 
November 2022: release 4.
\ No newline at end of file
diff --git a/index.xml b/index.xml
index 493e63b..79fb51e 100644
--- a/index.xml
+++ b/index.xml
@@ -12,4 +12,4 @@ User Mailing List The user list is for general discussion or 
questions on using
 Subscribe: user-subscr...@hive.apache.org Post: u...@hive.apache.org 
Unsubscribe: user-unsubscr...@hive.apache.org Archives: Apache Markmail 
Developer Mailing List The developer list is for Hive developers to discuss 
ongoing work, make decisions, and vote on technical 
issues.Version 
Controlhttps://hive.apache.org/developement/versioncontrol/Wed,
 14 Sep 2022 00:34:39 
+0530https://hive.apache.org/developement/v [...]
 Anonymous clone via http - https://github.com/apache/hive.git Authenticated 
clone via 

[hive-site] branch main updated: Apache Hive 4.0.0-beta-1 release

2023-08-15 Thread zabetak
This is an automated email from the ASF dual-hosted git repository.

zabetak pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/hive-site.git


The following commit(s) were added to refs/heads/main by this push:
 new 0702866  Apache Hive 4.0.0-beta-1 release
0702866 is described below

commit 07028661978fe25f3d852ff07bf8752281ba7a54
Author: Stamatis Zampetakis 
AuthorDate: Mon Aug 14 19:18:45 2023 +0300

Apache Hive 4.0.0-beta-1 release
---
 content/docs/javadocs.md | 1 +
 content/general/downloads.md | 7 ++-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/content/docs/javadocs.md b/content/docs/javadocs.md
index 7e076d0..d89bfbb 100644
--- a/content/docs/javadocs.md
+++ b/content/docs/javadocs.md
@@ -26,6 +26,7 @@ aliases: [/javadoc.html]
 ## Recent versions:
 ---
  javadoc and sources jars for use in an IDE are also available via 
[Nexus](https://repository.apache.org/index.html#nexus-search;gav~org.apache.hive)
+* [Hive 4.0.0-beta-1 
Javadocs](https://svn.apache.org/repos/infra/websites/production/hive/content/javadocs//r4.0.0-beta-1/api/index.html)
 * [Hive 4.0.0-alpha-2 
Javadocs](https://svn.apache.org/repos/infra/websites/production/hive/content/javadocs//r4.0.0-alpha-2/api/index.html)
 * [Hive 3.1.3 
Javadocs](https://svn.apache.org/repos/infra/websites/production/hive/content/javadocs/r3.1.3/api/index.html)
 * [Hive 4.0.0-alpha-1 
Javadocs](https://svn.apache.org/repos/infra/websites/production/hive/content/javadocs/r4.0.0-alpha-1/api/index.html)
diff --git a/content/general/downloads.md b/content/general/downloads.md
index 2e08cde..8973148 100644
--- a/content/general/downloads.md
+++ b/content/general/downloads.md
@@ -33,7 +33,11 @@ directory.
 
 ## News
 ---
-* ### 16 November 2022: release 4.0.0-alpha-2 available
+*  14 August 2023: release 4.0.0-beta-1 available
+* This release works with Hadoop 3.3.1
+* You can look at the complete [JIRA change log for this 
release][HIVE_4_0_0_B_1_CL].
+
+*  16 November 2022: release 4.0.0-alpha-2 available
 * This release works with Hadoop 3.3.1
 * You can look at the complete [JIRA change log for this 
release][HIVE_4_0_0_A_2_CL].
 
@@ -191,6 +195,7 @@ Hive users for these two versions are encouraged to upgrade.
   * You can look at the complete [JIRA change log for this 
release][HIVE_10_CL].
 
 [HIVE_DL]: http://www.apache.org/dyn/closer.cgi/hive/
+[HIVE_4_0_0_B_1_CL]: 
https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12353351=Text=12310843
 [HIVE_4_0_0_A_2_CL]: 
https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12351489=Html=12310843
 [HIVE_3_1_3_CL]: 
https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12346277=Html=12310843
 [HIVE_4_0_0_A_1_CL]: 
https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12351399=Html=12310843