[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
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)
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)
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
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
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